:root{--font:"Merriweather", Georgia, "Times New Roman", serif;--n-50:#fefbf2;--n-100:#f7f2e5;--n-150:#e9e2d2;--n-200:#dbd1ba;--n-300:#c9bfa7;--n-400:#b7ad95;--n-500:#8e8776;--n-600:#706a5e;--n-700:#4b4842;--n-800:#2f2f2e;--n-900:#1c1c1c;--yellow:#ffbf66;--yellow-dark:#d49e54;--orange:#ff6f40;--orange-dark:#c76342;--green:#636e50;--green-dark:#535a46;--blue:#1a5083;--blue-dark:#00396f;--purple:#6f3985;--purple-dark:#5e326f;--danger:#b3412b;--bg:var(--n-50);--surface:#fffdf7;--surface-2:var(--n-100);--surface-3:var(--n-150);--border:var(--n-200);--border-soft:var(--n-150);--text:var(--n-900);--text-2:var(--n-600);--text-3:var(--n-500);--link:var(--blue);--header-bg:var(--n-800);--header-text:var(--n-50);--grid-line:#2f2f2e14;--grid-line-strong:#2f2f2e24;--work-bg:#fffdf7;--off-bg:var(--n-100);--today-bg:#ffbf661a;--shadow-sm:0 1px 2px #1c1c1c0f, 0 1px 1px #1c1c1c0a;--shadow:0 6px 20px #1c1c1c1a, 0 2px 6px #1c1c1c0f;--shadow-lg:0 24px 60px #1c1c1c38, 0 6px 18px #1c1c1c1a;--radius:10px;--radius-sm:6px;--ease:cubic-bezier(.2, .8, .2, 1);--gutter:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-weight:300}[data-theme=dark]{--bg:#1c1c1c;--surface:#242423;--surface-2:#2a2a29;--surface-3:#353533;--border:#45423b;--border-soft:#35332f;--text:#fefbf2;--text-2:#cfc7b4;--text-3:#9a917e;--link:#8ab6e0;--header-bg:#141414;--grid-line:#fefbf20f;--grid-line-strong:#fefbf21c;--work-bg:#242423;--off-bg:#1f1f1e;--today-bg:#ffbf660f;--shadow:0 6px 20px #0006;--shadow-lg:0 24px 60px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-size:13px;line-height:1.45;overflow:hidden}body.dragging,body.dragging *{-webkit-user-select:none!important;user-select:none!important;cursor:grabbing!important}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--link)}h1,h2,h3,h4{margin:0;font-style:italic;font-weight:700}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}::selection{background:#ffbf6680}.muted{color:var(--text-3)}.small{font-size:11.5px}.grow{flex:1}.hint{color:var(--text-3);margin:8px 0 0;font-size:11px;font-style:italic}kbd{background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-size:11px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--n-300);background-clip:content-box;border:3px solid #0000;border-radius:10px}[data-theme=dark] ::-webkit-scrollbar-thumb{background-color:var(--n-700)}.btn{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:12.5px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s,border-color .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn.small{height:30px;padding:0 12px;font-size:12px}.btn.block{width:100%}.btn.primary{background:var(--orange);color:#fff;box-shadow:0 2px 8px #ff6f404d}.btn.primary:hover:not(:disabled){background:var(--orange-dark)}.btn.subtle{background:var(--surface-2);color:var(--text);border-color:var(--border-soft)}.btn.subtle:hover:not(:disabled){background:var(--surface-3)}.btn.outline{border-color:var(--border);color:var(--text)}.btn.outline:hover:not(:disabled){border-color:var(--orange);color:var(--orange-dark)}.btn.on-dark{color:var(--header-text);border-color:#fefbf233}.btn.on-dark:hover:not(:disabled){background:#fefbf21a}.btn.ai{color:var(--n-900);background:linear-gradient(120deg, var(--yellow), #ffd49a 40%, var(--orange) 120%);background-size:200% 100%;box-shadow:0 2px 10px #ffbf6659}.btn.ai:hover:not(:disabled){background-position:100% 0}.btn.ai.loading{animation:1.2s linear infinite shimmer-bg}.btn.ai.loading svg{animation:1s linear infinite spin}.icon-btn{width:30px;height:30px;color:var(--text-2);border-radius:8px;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-btn.on-dark{color:#fefbf2bf}.has-badge{position:relative}.count-badge{background:var(--n-900);min-width:16px;height:16px;color:var(--yellow);box-shadow:0 0 0 2px var(--header-bg);text-align:center;animation:pop .25s var(--ease);border-radius:8px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-3px;right:-4px}@keyframes pop{0%{transform:scale(.4)}}.icon-btn.on-dark:hover:not(:disabled){color:var(--header-text);background:#fefbf21a}.icon-btn.danger:hover:not(:disabled){color:var(--danger);background:#b3412b1a}.icon-btn.accept{color:var(--green)}.icon-btn.accept:hover{color:var(--green);background:#636e5026}.ghost-btn{color:var(--text-3);border-radius:6px;align-items:center;gap:3px;padding:2px 5px;display:inline-flex}.ghost-btn:hover{color:var(--orange-dark);background:#ffbf6640}.ghost-btn.tiny{font-size:10.5px}.app{height:100vh;transition:grid-template-columns .35s var(--ease);background:var(--bg);grid-template-columns:272px minmax(0,1fr) 0;display:grid}.app.ai-open{grid-template-columns:272px minmax(0,1fr) 380px}.main{flex-direction:column;min-width:0;min-height:0;display:flex;container-type:inline-size}.sidebar{border-right:1px solid var(--border-soft);background:var(--surface-2);flex-direction:column;gap:14px;min-height:0;padding:0 14px 16px;display:flex;overflow-y:auto}.brand{background:var(--header-bg);height:60px;color:var(--header-text);z-index:2;flex:none;align-items:center;gap:8px;margin:0 -14px;padding:0 4px 0 18px;display:flex;position:sticky;top:0}.brand .logomark{color:var(--orange);flex:none}.brand-mark{letter-spacing:.01em;font-family:Century Gothic,Futura,Avenir Next,Segoe UI,system-ui,sans-serif;font-size:21px;font-weight:800;line-height:1}.brand-sub{color:var(--yellow);font-size:14px;font-style:italic;font-weight:700}.brand-stripe{gap:2px;height:18px;display:inline-flex}.brand-stripe i{background:var(--n-900);border-radius:1px;width:4px}.brand-stripe i:nth-child(2){background:var(--yellow)}.brand-stripe i:nth-child(3){background:var(--orange)}.brand-stripe i:nth-child(4){background:var(--green)}.brand-stripe i:nth-child(5){background:var(--blue)}.brand-stripe i:nth-child(6){background:var(--purple)}[data-theme=dark] .brand-stripe i:first-child{background:var(--n-50)}.side-foot{border-radius:var(--radius);background:var(--n-900);color:var(--n-300);flex:none;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:10px 12px;font-size:11px;display:flex}.side-foot em{color:var(--n-50);font-weight:700}.integrations-btn{position:relative}.dot-ok{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #636e5033}.panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:12px}.panel-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-head h3,.panel-head h4{align-items:center;gap:6px;font-size:13px;display:flex}.panel-toggle{all:unset;cursor:pointer;align-items:center;gap:6px;display:flex}.panel-toggle:focus-visible{outline-offset:2px;outline:2px solid}.mini-head{align-items:center;gap:2px;margin-bottom:6px;display:flex}.mini-title{flex:1;font-size:13px;font-style:italic;font-weight:700}.mini-head .icon-btn{width:24px;height:24px}.mini-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mini-dow{color:var(--text-3);padding:2px 0;font-size:10px}.mini-day{border-radius:7px;height:28px;font-size:11.5px;transition:background .12s;position:relative}.mini-day:hover{background:var(--surface-3)}.mini-day.other{color:var(--text-3);opacity:.6}.mini-day.in-range{background:#ffbf6647;border-radius:0}.mini-day.today{background:var(--orange);color:#fff;border-radius:7px;font-weight:700}.mini-dot{background:var(--green);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:3px;left:50%}.mini-day.today .mini-dot{background:#fff}.billable-split{align-items:center;gap:8px;margin-bottom:10px;display:flex}.split-bar{background:var(--surface-3);border-radius:99px;flex:1;height:8px;display:flex;overflow:hidden}.split-bar>*{background:var(--green);height:100%;transition:width .4s var(--ease)}.bill-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.bill-row{--c:var(--n-400);text-align:left;border-radius:8px;grid-template-rows:auto 3px;grid-template-columns:10px 1fr auto;align-items:center;gap:4px 8px;width:100%;padding:6px 8px;transition:background .12s,opacity .2s;display:grid}.bill-row:hover{background:var(--surface-2)}.bill-row.active{background:color-mix(in srgb, var(--c) 14%, transparent)}.bill-row.faded{opacity:.45}.bill-cust{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.bill-cust small{color:var(--text-3);letter-spacing:.04em;margin-left:6px;font-size:9.5px}.bill-hours{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.bill-bar{background:var(--surface-3);border-radius:99px;grid-column:2/4;height:3px;overflow:hidden}.bill-bar>*{background:var(--c);border-radius:99px;height:100%;display:block}.bill-dot{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.empty{padding:6px 8px;list-style:none}.jira-empty{background:linear-gradient(160deg, var(--surface), color-mix(in srgb, var(--blue) 7%, var(--surface)));flex-direction:column;align-items:flex-start;gap:8px;display:flex}.jira-empty p{margin:0}.search{background:var(--surface-2);border:1px solid var(--border-soft);height:32px;color:var(--text-3);border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:flex}.search:focus-within{border-color:var(--orange)}.search input{background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:12px}.issue-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.issue{--c:var(--n-400);border:1px solid var(--border-soft);border-left:3px solid var(--c);background:var(--surface);cursor:grab;border-radius:8px;gap:6px;padding:8px 8px 8px 6px;transition:transform .12s,box-shadow .15s;display:flex}.issue:hover{box-shadow:var(--shadow-sm);transform:translate(2px)}.issue:active{cursor:grabbing}.issue .grip{color:var(--text-3);flex:none;margin-top:2px}.issue-main{flex:1;min-width:0}.issue-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.issue-key{color:var(--blue);font-size:11px;font-weight:700}[data-theme=dark] .issue-key{color:var(--link)}.issue-status{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:99px;padding:1px 6px;font-size:9.5px}.issue-status.s-inprogress{color:var(--blue);background:#1a508324}.issue-status.s-inreview{color:var(--purple);background:#6f398524}.issue-status.s-done{color:var(--green);background:#636e5029}.issue-sum{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 3px;font-size:12px;display:-webkit-box;overflow:hidden}.issue-cust{color:var(--text-3);align-items:center;gap:5px;font-size:10.5px;display:flex}.topbar{background:var(--header-bg);height:60px;color:var(--header-text);flex:none;align-items:center;gap:14px;padding:0 16px;display:flex}.brand{border-bottom:3px solid var(--header-bg)}.topbar{border-bottom:3px solid;border-image:linear-gradient(90deg, var(--yellow) 0 20%, var(--orange) 0 40%, var(--green) 0 60%, var(--blue) 0 80%, var(--purple) 0) 1}.tb-left,.tb-center,.tb-right{align-items:center;gap:8px;display:flex}.tb-left{flex:1;min-width:150px}.tb-right{flex:1;justify-content:flex-end}.tb-nav{flex:none;align-items:center;gap:2px;display:flex}.tb-title{white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;font-size:17px;display:flex;overflow:hidden}.tb-title em{color:var(--yellow);font-size:12px;font-weight:300}.tb-title small,.tb-title .muted{color:#fefbf28c;font-size:12px;font-style:normal;font-weight:300}.tb-sep{background:#fefbf226;width:1px;height:22px}.segmented{background:#fefbf214;border-radius:999px;padding:3px;display:inline-flex}.segmented button{white-space:nowrap;color:#fefbf2b3;border-radius:999px;align-items:center;gap:5px;height:28px;padding:0 12px;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.segmented button:hover{color:var(--header-text)}.segmented button.active{background:var(--n-50);color:var(--n-900);font-style:italic;font-weight:700}.kbd-btn{color:#fefbf2b3;border:1px solid #fefbf22e;border-radius:8px;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:11px;display:inline-flex}.kbd-btn:hover{color:var(--header-text);background:#fefbf214}.kbd-btn kbd{color:inherit;background:#fefbf21a;border-color:#fefbf233}.sync-pill{color:#fefbf2bf;white-space:nowrap;border:1px solid #fefbf22e;border-radius:999px;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:11px;display:inline-flex}.sync-pill:hover{background:#fefbf214}.user-chip{color:#fefbf2b3;border:1px solid #fefbf22e;border-radius:999px;align-items:center;gap:4px;height:30px;padding:0 8px 0 3px;display:inline-flex}.user-chip span{background:var(--yellow);width:24px;height:24px;color:var(--n-900);border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.user-chip:hover{color:var(--header-text);background:#fefbf214}.signin{background:radial-gradient(circle at 20% 15%, #ffbf6640, transparent 45%), radial-gradient(circle at 85% 90%, #ff6f402e, transparent 40%), var(--header-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.signin-card{background:var(--surface);width:min(400px,100%);color:var(--text);box-shadow:var(--shadow-lg);text-align:center;animation:pop-in .35s var(--ease);border-radius:16px;padding:36px 32px}.signin-card h1{margin:14px 0 8px;font-size:26px}.signin-card p{opacity:.75;margin:0 0 22px;line-height:1.55}.signin-card .btn{justify-content:center;width:100%}.signin-logo{background:var(--orange);color:#fff;border-radius:14px;place-items:center;width:56px;height:56px;display:inline-grid}.signin-error{border-radius:var(--radius-sm);color:var(--danger);text-align:left;word-break:break-word;background:#b3412b1a;margin-bottom:16px;padding:10px 12px;font-size:12px}.grid-scroll{background:var(--off-bg);flex:1;min-height:0;position:relative;overflow:auto}.grid-head{z-index:20;grid-template-columns:var(--gutter) repeat(var(--days), minmax(120px, 1fr));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);min-width:fit-content;display:grid;position:sticky;top:0}.gutter-head{justify-content:center;align-items:flex-end;padding-bottom:8px;display:flex}.tz{color:var(--text-3);font-size:9.5px}.day-head{border-left:1px solid var(--grid-line);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.day-head-main{text-align:left;border-radius:8px;align-items:baseline;gap:6px;margin:-2px -4px;padding:2px 4px;transition:background .12s;display:flex}.day-head-main:hover{background:var(--surface-2)}.dow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-size:11px}.dnum{font-size:22px;font-style:italic;font-weight:700;line-height:1}.day-head.today .dnum{color:var(--orange)}.day-head.today .dow{color:var(--orange-dark);font-weight:700}.day-head.weekend{opacity:.75}.day-progress{background:var(--surface-3);border-radius:99px;height:4px;overflow:hidden}.day-progress .bar{background:var(--yellow);height:100%;transition:width .4s var(--ease);border-radius:99px}.day-progress .bar.full{background:var(--green)}.day-sum{color:var(--text-2);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;font-size:11px;display:flex}.grid-body{grid-template-columns:var(--gutter) 1fr;min-width:fit-content;display:grid;position:relative}.gutter{background:var(--surface);border-right:1px solid var(--border-soft);position:relative}.gutter-hour{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10px;position:absolute;right:8px;transform:translateY(-50%)}.gutter-hour:first-child{display:none}.cols{grid-template-columns:repeat(var(--days), minmax(120px, 1fr));cursor:crosshair;display:grid;position:relative}.col{border-left:1px solid var(--grid-line-strong);position:relative}.col.weekend{background:repeating-linear-gradient(-45deg, transparent 0 8px, var(--grid-line) 8px 9px)}.col.today{background-color:var(--today-bg)}.work-hours{background:var(--work-bg);pointer-events:none;position:absolute;left:0;right:0}.col.today .work-hours{background:color-mix(in srgb, var(--work-bg) 80%, var(--yellow));opacity:.85}.col.weekend .work-hours{display:none}.hour-line{border-top:1px solid var(--grid-line-strong);pointer-events:none;position:absolute;left:0;right:0}.hour-line:after{content:"";left:0;right:0;top:calc(var(--hour) / 2);border-top:1px dashed var(--grid-line);position:absolute}.hover-slot{pointer-events:none;background:#ffbf662e;border:1px dashed #c7634259;border-radius:6px;animation:.15s fade;position:absolute}body.dragging .hover-slot{display:none}.now-line{border-top:2px solid var(--orange);z-index:15;pointer-events:none;height:0;position:absolute;left:-1px;right:0}.now-dot{background:var(--orange);border-radius:50%;width:12px;height:12px;animation:2s ease-in-out infinite pulse;position:absolute;top:-7px;left:-6px;box-shadow:0 0 0 4px #ff6f4040}.card{--c:var(--n-400);z-index:5;background:color-mix(in srgb, var(--c) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--c) 35%, transparent);border-left:4px solid var(--c);color:var(--text);box-shadow:var(--shadow-sm);cursor:grab;animation:pop-in .25s var(--ease);touch-action:none;border-radius:8px;transition:box-shadow .15s,transform .15s,opacity .2s,filter .2s;position:absolute;overflow:visible}[data-theme=dark] .card{background:color-mix(in srgb, var(--c) 26%, var(--surface))}.card:hover{z-index:8;box-shadow:var(--shadow)}.card.selected{z-index:9;box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--c), var(--shadow)}.card.dim{opacity:.22;filter:grayscale(.7)}.card-body{border-radius:inherit;flex-direction:column;gap:1px;height:100%;padding:4px 7px;display:flex;position:relative;overflow:hidden}.card-row{white-space:nowrap;align-items:center;gap:5px;min-width:0;display:flex}.card-meta{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:10px}.card-dur{color:color-mix(in srgb, var(--c) 70%, var(--text));margin-left:auto;font-weight:700}.card-status{place-items:center;display:inline-grid}.card-title{-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;flex-shrink:0;font-size:12px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.card-bill{color:var(--text-2);font-size:10.5px}.card-bill .bill-dot{width:6px;height:6px}.bill-name{text-overflow:ellipsis;overflow:hidden}.nonbill{color:var(--text-3);font-size:9px;font-style:italic}.card-project{text-overflow:ellipsis;font-size:10px;overflow:hidden}.chip{border-radius:99px;align-self:flex-start;align-items:center;gap:4px;margin-top:2px;padding:1px 6px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.jira-chip{color:var(--blue);background:#1a50831f}[data-theme=dark] .jira-chip{color:var(--link);background:#8ab6e026}.jira-chip:hover{background:var(--blue);color:#fff}.card-title .jira-chip{line-height:1;display:inline}.card.size-xs .card-body{flex-direction:row;align-items:center;gap:6px;padding:0 6px}.card.size-xs .card-meta{flex:none}.card.size-xs .card-dur,.card.size-xs .card-bill{display:none}.card.size-xs .card-title{-webkit-line-clamp:1;font-size:11px}.card.size-sm .card-title{-webkit-line-clamp:1}.card.status-pending-approval{border-style:dashed dashed dashed solid}.card.status-pending-approval .card-status{color:var(--orange-dark)}.card.status-approved .card-status{color:var(--green)}.card.status-denied{border-color:var(--danger)}.card.status-denied .card-status{color:var(--danger)}.card.status-denied:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(-45deg,#0000 0 6px,#b3412b14 6px 12px);position:absolute;inset:0}.card.status-posted,.card.status-unified{filter:saturate(.6)}.card.locked{cursor:default}.card.locked .card-title:before{content:""}.handle{cursor:ns-resize;z-index:2;height:8px;position:absolute;left:0;right:0}.handle.top{top:-3px}.handle.bottom{bottom:-3px}.handle:after{content:"";background:var(--c);opacity:0;border-radius:99px;width:24px;height:3px;margin-left:-12px;transition:opacity .15s;position:absolute;top:3px;left:50%}.card:hover .handle:after{opacity:.8}.card.drag-source{opacity:.3}.card.drag-source-copy{opacity:.8}.card.dragging{z-index:30;box-shadow:var(--shadow-lg);cursor:grabbing;pointer-events:none;animation:none;transform:scale(1.03)rotate(-.6deg)}.card.dragging.copying:before{content:"+";background:var(--green);color:#fff;z-index:3;border-radius:50%;place-items:center;width:20px;height:20px;font-weight:700;display:grid;position:absolute;top:-9px;right:-9px}.card.resizing{z-index:30;box-shadow:var(--shadow);animation:none}.create-preview{--c:var(--orange);z-index:25;border:2px dashed var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);color:color-mix(in srgb, var(--c) 70%, var(--text));pointer-events:none;border-radius:8px;flex-direction:column;gap:2px;padding:4px 8px;font-size:11px;font-weight:700;display:flex;position:absolute;overflow:hidden}.create-preview.drop{animation:pop-in .15s var(--ease);border-style:solid}.card.suggestion{background:color-mix(in srgb, var(--c) 6%, var(--surface));border:1.5px dashed color-mix(in srgb, var(--c) 70%, transparent);cursor:default;animation:suggest-in .5s var(--ease) backwards;opacity:.92;border-left-width:1.5px}.card.suggestion:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffbf6659 50%,#0000 70%) 0 0/250% 100%;animation:2.8s ease-in-out infinite shimmer;position:absolute;inset:-1px}.card.suggestion:hover{opacity:1;z-index:12}.spark{color:var(--orange);flex:none}.confidence{background:var(--surface-3);border-radius:99px;flex:none;width:28px;height:4px;margin-left:auto;overflow:hidden}.confidence span{background:linear-gradient(90deg, var(--yellow), var(--orange));height:100%;display:block}.suggestion-actions{opacity:0;z-index:3;gap:2px;transition:opacity .15s,transform .15s;display:flex;position:absolute;bottom:4px;right:4px;transform:translateY(4px)}.card.suggestion:hover .suggestion-actions{opacity:1;transform:none}.suggestion-actions .icon-btn{background:var(--surface);width:24px;height:24px;box-shadow:var(--shadow-sm)}.suggestion-actions .icon-btn.accept{background:var(--green);color:#fff}.suggestion-actions .icon-btn.dismiss:hover{color:var(--danger)}.card.size-xs .suggestion-actions{top:50%;bottom:auto;transform:translateY(-50%)}.why{border-radius:var(--radius);background:var(--n-800);width:230px;color:var(--n-100);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;z-index:40;padding:10px 12px;font-size:11.5px;line-height:1.5;transition:opacity .15s .25s,transform .15s .25s,visibility 0s .4s;position:absolute;top:0;left:calc(100% + 8px);transform:translate(-4px)}.col:nth-last-child(-n+2) .why{left:auto;right:calc(100% + 8px)}.card.suggestion:hover .why{opacity:1;visibility:visible;transition-delay:.35s;transform:none}.why-head{color:var(--yellow);align-items:center;gap:6px;margin-bottom:4px;font-weight:700;display:flex}.ai-panel{background:var(--surface);border-left:1px solid var(--border-soft);flex-direction:column;width:380px;min-width:0;min-height:0;display:flex;overflow:hidden}.ai-head{background:var(--header-bg);height:60px;color:var(--header-text);flex:none;align-items:center;gap:10px;padding:0 12px 0 16px;display:flex}.ai-head h2,.ai-head h3{flex:1;font-size:15px}.ai-head .icon-btn{color:#fefbf2bf}.ai-head .icon-btn:hover{color:var(--header-text);background:#fefbf21a}.ai-orb{width:30px;height:30px;color:var(--n-900);background:conic-gradient(from 0deg, var(--yellow), var(--orange), var(--purple), var(--yellow));border-radius:50%;flex:none;place-items:center;animation:8s linear infinite spin;display:grid}.ai-orb>*{animation:8s linear infinite reverse spin}.ai-section{border-bottom:1px solid var(--border-soft);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.ai-section h4{font-size:12.5px}.prompt-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);transition:border-color .15s,box-shadow .15s}.prompt-box:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px #ff6f4026}.prompt-box textarea{resize:none;background:0 0;border:none;outline:none;width:100%;min-height:64px;padding:10px 12px 4px;font-size:12.5px}.prompt-foot{color:var(--text-3);justify-content:space-between;align-items:center;gap:8px;padding:4px 6px 6px 12px;font-size:10.5px;display:flex}.examples{flex-wrap:wrap;gap:6px;display:flex}.example{color:var(--orange-dark);background:#ffbf6633;border-radius:99px;padding:4px 10px;font-size:11px;font-style:italic;transition:background .15s}.example:hover{background:#ffbf6666}.sources{flex-wrap:wrap;gap:6px;display:flex}.source{border:1px solid var(--border);border-radius:99px;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;display:inline-flex}.source.on{color:var(--green);background:#636e501a;border-color:#636e5059}[data-theme=dark] .source.on{color:#a8b591}.source.off{color:var(--text-3);border-style:dashed}.source.off:hover{color:var(--blue);border-color:var(--blue)}.count{background:var(--orange);color:#fff;border-radius:99px;place-items:center;min-width:20px;height:18px;padding:0 6px;font-size:10.5px;font-style:normal;font-weight:700;display:inline-grid}.ai-list{border-bottom:none;flex:1;min-height:0;overflow-y:auto}.ai-list ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.thinking{flex-direction:column;gap:8px;display:flex}.shimmer{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;height:58px;animation:1.2s linear infinite shimmer-bg}.ai-empty{text-align:center;color:var(--text-3);flex-direction:column;align-items:center;gap:8px;padding:30px 10px;display:flex}.ai-empty svg{color:var(--yellow)}.ai-empty p{margin:0}.sugg-row{--c:var(--n-400);border-radius:var(--radius);border:1px solid var(--border-soft);border-left:3px solid var(--c);background:var(--surface);animation:slide-in .35s var(--ease) backwards;gap:10px;padding:10px;transition:box-shadow .15s;display:flex}.sugg-row:hover{box-shadow:var(--shadow-sm)}.sugg-time{width:52px;color:var(--text-3);font-variant-numeric:tabular-nums;flex-direction:column;flex:none;font-size:10.5px;display:flex}.sugg-time strong{color:var(--text);font-size:12px}.sugg-main{flex:1;min-width:0}.sugg-desc{font-size:12.5px;font-weight:700}.sugg-meta{color:var(--text-2);align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.conf{color:var(--orange-dark);background:#ffbf6640;border-radius:99px;margin-left:auto;padding:0 6px;font-size:10px;font-weight:700}.sugg-reason{color:var(--text-3);margin-top:4px;font-size:10.5px;font-style:italic}.sugg-actions{flex-direction:column;gap:2px;display:flex}.sugg-actions .icon-btn{width:26px;height:26px}.ai-foot{border-top:1px solid var(--border-soft);background:var(--surface-2);flex:none;gap:8px;padding:12px 16px;display:flex}.scrim{z-index:50;background:#1c1c1c47;animation:.2s fade;position:fixed;inset:0}.drawer{--c:var(--n-400);z-index:51;background:var(--surface);width:min(440px,100vw);box-shadow:var(--shadow-lg);animation:drawer-in .3s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-head{align-items:center;gap:8px;padding:18px 16px 12px 20px;display:flex;position:relative}.drawer-head .icon-btn{margin-left:auto}.drawer-accent{background:var(--c);height:5px;position:absolute;top:0;left:0;right:0}.status-pill,.source-pill{background:var(--surface-3);color:var(--text-2);border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:10.5px;font-weight:700;display:inline-flex}.status-pill.s-pending-approval{color:var(--orange-dark);background:#ffbf664d}.status-pill.s-approved{color:var(--green);background:#636e5029}.status-pill.s-denied{color:var(--danger);background:#b3412b1f}.status-pill.s-posted{background:var(--n-800);color:var(--n-50)}.month-view{background:var(--off-bg);flex-direction:column;flex:1;min-height:0;padding:12px 20px 16px;display:flex;overflow:hidden}.month-grid{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex:1 1 0;grid-template-columns:repeat(7,minmax(0,1fr));min-height:150px;display:grid;overflow:hidden}.split-handle{cursor:row-resize;touch-action:none;flex:none;height:14px;position:relative}.split-handle:after{content:"";background:var(--border);border-radius:99px;width:44px;height:4px;margin-left:-22px;transition:background .15s,width .15s,margin .15s;position:absolute;top:5px;left:50%}.split-handle:hover:after,.split-handle:focus-visible:after,body.resizing-rows .split-handle:after{background:var(--orange);width:72px;margin-left:-36px}.split-handle:focus-visible{outline:none}body.resizing-rows,body.resizing-rows *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}.month-dow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);border-bottom:1px solid var(--grid-line-strong);padding:8px 10px;font-size:11px}.month-cell{text-align:left;background:var(--work-bg);border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);flex-direction:column;gap:2px;min-width:0;min-height:0;padding:4px 6px 6px;transition:background .12s;display:flex;overflow:hidden}.month-cell:nth-child(7n){border-right:none}.month-cell.weekend{background:var(--off-bg)}.month-cell:hover{background:var(--surface-2)}.month-cell.other>*{opacity:.4}.month-cell.selected{background:var(--today-bg);box-shadow:inset 0 0 0 2px var(--yellow)}.month-cell-head{justify-content:space-between;align-items:baseline;gap:4px;display:flex}.month-dnum{font-size:14px;font-style:italic;font-weight:700}.month-cell.today .month-dnum{color:var(--orange)}.month-hours{color:var(--text-2);font-size:11px;font-weight:700}.month-progress{background:var(--surface-3);border-radius:99px;height:3px;margin-bottom:2px;overflow:hidden}.month-progress span{background:var(--yellow);height:100%;display:block}.month-progress span.full{background:var(--green)}.month-chip{border-left:3px solid var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:1px 6px;font-size:10.5px;overflow:hidden}.month-more{color:var(--text-3);padding-left:4px;font-size:10px}.month-chip.dim{opacity:.3}.day-detail{flex-direction:column;flex:0 380px;min-height:180px;padding:0;display:flex;overflow:hidden}.day-detail-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.day-detail-head h2{margin:0 0 2px;font-size:17px;font-style:italic}.day-detail-actions{flex:none;gap:8px;display:flex}.day-timeline{flex-direction:column;flex:1;min-height:0;display:flex}.day-timeline .grid-head{display:none}.source-pill{color:var(--orange-dark);background:#ffbf662e}.banner{background:var(--surface-2);color:var(--text-2);border-radius:8px;align-items:center;gap:8px;margin:0 20px 8px;padding:10px 12px;font-size:12px;display:flex}.drawer-body{border:none;flex-direction:column;flex:1;gap:16px;min-width:0;margin:0;padding:4px 20px 20px;display:flex;overflow-y:auto}.desc-input{border:none;border-bottom:2px solid var(--border-soft);resize:none;background:0 0;outline:none;width:100%;padding:6px 0;font-size:19px;font-style:italic;font-weight:700;transition:border-color .15s}.desc-input:focus{border-color:var(--c)}.time-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.drawer input,.drawer select,.bc-picker input,.bc-picker select,.modal input,.modal select{border:1px solid var(--border);background:var(--surface);border-radius:8px;outline:none;min-width:0;height:36px;padding:0 10px;font-size:12.5px;transition:border-color .15s,box-shadow .15s}.drawer input:focus,.drawer select:focus,.bc-picker input:focus,.bc-picker select:focus,.modal input:focus,.modal select:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ff6f4026}.time-row input[type=date]{flex:100%}.combo{flex-direction:column;display:flex;position:relative}.combo-list{z-index:70;background:var(--surface);border:1px solid var(--border-soft);max-height:260px;box-shadow:var(--shadow-lg);border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combo-list li{cursor:pointer;border-radius:6px;padding:7px 10px;font-size:12.5px}.combo-list li.active{background:var(--surface-2)}.combo-list .combo-empty{color:var(--text-2);cursor:default}.time-row select{flex:1}.qty{align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.time-row .qty input{text-align:right;width:4.5em;font-weight:700}.time-row .qty.bad input{border-color:var(--danger);color:var(--danger)}.billed-card{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--c) 35%, var(--border-soft));background:linear-gradient(135deg, color-mix(in srgb, var(--c) 10%, var(--surface)), var(--surface));flex-direction:column;gap:10px;padding:12px 14px;display:flex}.billed-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);align-items:center;gap:6px;font-size:10.5px;display:flex}.billed-main{align-items:center;gap:12px;display:flex}.billed-main>div{flex-direction:column;flex:1;min-width:0;display:flex}.billed-main strong{font-size:15px;font-style:italic}.billed-main small{color:var(--text-3);font-size:11px}.billed-avatar{background:var(--c);color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:grid}.billed-foot{color:var(--text-3);align-items:center;gap:6px;font-size:10.5px;font-style:italic;display:flex}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field-row .field{flex:1}.btn.primary kbd{color:inherit;background:#fff3;border:none;font-size:10px}.field>span{color:var(--text-2);align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.field-row{gap:10px;display:flex}.switch{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;font-size:11.5px;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch>span{background:var(--n-300);border-radius:99px;flex:none;width:34px;height:20px;transition:background .2s;position:relative}.switch>span:after{content:"";width:16px;height:16px;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translate(14px)}.switch input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}.switch.row{width:100%;display:flex}.swatches,.menu-swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:2px solid var(--surface);width:24px;height:24px;box-shadow:0 0 0 1px var(--border);border-radius:50%;transition:transform .12s,box-shadow .12s}.swatch:hover{transform:scale(1.12)}.swatch.active{box-shadow:0 0 0 2px var(--text)}.swatch.auto{background:conic-gradient(var(--yellow), var(--orange), var(--purple), var(--blue), var(--green), var(--yellow));color:#fff;text-shadow:0 1px 2px #0006;font-size:10px;font-weight:700}.drawer-foot{border-top:1px solid var(--border-soft);background:var(--surface-2);align-items:center;gap:6px;padding:12px 16px;display:flex}.menu-backdrop{z-index:60;position:fixed;inset:0}.bc-target-wrap{position:relative}.bc-target span{text-overflow:ellipsis;max-width:180px;overflow:hidden}.bc-picker{z-index:61;border-radius:var(--radius);background:var(--surface);width:280px;color:var(--text);border:1px solid var(--border-soft);box-shadow:var(--shadow-lg);animation:pop-in .15s var(--ease);transform-origin:100% 0;flex-direction:column;gap:10px;padding:8px 12px 12px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.bc-picker .menu-title{margin-bottom:0;padding:4px 0 8px}.bc-picker-error{color:var(--red,#d64545);margin:0;font-size:11.5px}.bc-picker-actions{justify-content:flex-end;gap:8px;display:flex}.menu{z-index:61;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-soft);min-width:210px;box-shadow:var(--shadow-lg);animation:pop-in .15s var(--ease);transform-origin:0 0;padding:6px;position:fixed}.menu-title{border-bottom:1px solid var(--border-soft);text-overflow:ellipsis;white-space:nowrap;max-width:260px;margin-bottom:4px;padding:6px 10px 8px;font-size:12px;font-style:italic;font-weight:700;overflow:hidden}.menu>button,.menu button:not(.swatch){text-align:left;border-radius:6px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:12.5px;display:flex}.menu button:not(.swatch):hover:not(:disabled){background:var(--surface-2)}.menu button kbd{margin-left:auto;font-size:10px}.menu hr{border:none;border-top:1px solid var(--border-soft);margin:4px 0}.menu .danger{color:var(--danger)}.menu .danger:hover{background:#b3412b1a!important}.menu-swatches{padding:6px 10px}.menu-swatches .swatch{width:20px;height:20px}.modal-wrap{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c1c1c66;place-items:center;padding:24px;animation:.2s fade;display:grid;position:fixed;inset:0}.modal-wrap.top{place-items:start center;padding-top:12vh}.modal{background:var(--surface);width:min(620px,100%);max-height:86vh;box-shadow:var(--shadow-lg);animation:pop-in .25s var(--ease);border-radius:14px;outline:none;padding:22px 24px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.modal-head h2{font-size:20px}.modal-head p{margin:4px 0 0}.integration-card{border:1px solid var(--border);border-radius:12px;padding:16px;transition:border-color .2s,box-shadow .2s}.integration-card.connected{border-color:#636e5080;box-shadow:0 0 0 4px #636e5014}.int-head{align-items:flex-start;gap:12px;display:flex}.int-head h3{font-size:15px}.int-head p{margin:2px 0 0}.int-logo{background:var(--surface-2);width:42px;height:42px;color:var(--blue);border-radius:10px;flex:none;place-items:center;display:grid}.jira-card .int-logo{background:#1a50831f}.int-body{flex-direction:column;gap:12px;margin-top:14px;display:flex}.int-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.connected-pill{color:var(--green);white-space:nowrap;background:#636e5026;border-radius:99px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.form-error{color:var(--danger);background:#b3412b1a;border-radius:8px;padding:8px 12px;font-size:12px;animation:.35s shake}.account{background:var(--surface-2);border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.account small{color:var(--text-3);display:block}.avatar{background:var(--blue);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.coming-title{color:var(--text-2);margin:22px 0 10px;font-size:13px}.coming-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.integration-card.mini{opacity:.8;border-style:dashed;align-items:center;gap:10px;padding:10px 12px;display:flex}.integration-card.mini .int-logo{width:32px;height:32px;color:var(--text-2)}.integration-card.mini strong{font-size:12px;display:block}.palette{background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow-lg);animation:pop-in .2s var(--ease);border-radius:14px;overflow:hidden}.palette-input{border-bottom:1px solid var(--border-soft);height:52px;color:var(--text-3);align-items:center;gap:10px;padding:0 16px;display:flex}.palette-input input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:15px}.palette ul{max-height:50vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.palette li button{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;display:flex}.palette li button.active{background:#ffbf6640}.pal-group{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);flex:none;width:72px;font-size:10px}.pal-label{flex:1}.pal-hint{color:var(--text-3);font-family:ui-monospace,Consolas,monospace;font-size:11px}.pal-empty{text-align:center;padding:18px}.shortcuts{width:min(760px,100%)}.shortcut-cols{grid-template-columns:1fr 1fr;gap:24px;display:grid}.shortcut-cols h4{color:var(--orange-dark);margin-bottom:8px;font-size:13px}.shortcut-cols dl{margin:0}.shortcut-cols dl>div{border-bottom:1px dashed var(--border-soft);justify-content:space-between;gap:12px;padding:6px 0;font-size:12px;display:flex}.shortcut-cols dd{color:var(--text-2);text-align:right;margin:0}.toasts{z-index:90;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--n-800);min-width:260px;max-width:520px;color:var(--n-50);box-shadow:var(--shadow-lg);animation:toast-in .3s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:8px 8px 8px 16px;font-size:12.5px;display:flex}.toast>span:first-child{flex:1}.toast.success>svg:first-child{color:#a8b591}.toast.warn>svg:first-child{color:var(--yellow)}.toast.info>svg:first-child{color:#8ab6e0}.toast .icon-btn{color:#fefbf299;width:26px;height:26px}.toast .icon-btn:hover{color:#fff;background:#fefbf21a}.toast-action{color:var(--yellow);border-radius:99px;margin-left:auto;padding:4px 10px;font-weight:700}.toast-action:hover{background:#ffbf6626}.spin{animation:.9s linear infinite spin}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}}@keyframes suggest-in{0%{opacity:0;filter:blur(3px);transform:translateY(-6px)scale(.97)}}@keyframes drawer-in{0%{opacity:0;transform:translate(40px)}}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)scale(.96)}}@keyframes slide-in{0%{opacity:0;transform:translate(14px)}}@keyframes fade{0%{opacity:0}}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-100% 0}}@keyframes shimmer-bg{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@container (width<=1280px){.kbd-btn,.tb-sep,.tb-title em{display:none}}@container (width<=1060px){.tb-title{display:none}}@media (width<=1100px){.app,.app.ai-open{grid-template-columns:minmax(0,1fr)}.sidebar,.app:not(.ai-open) .ai-panel{display:none}.app.ai-open .ai-panel{z-index:45;box-shadow:var(--shadow-lg);position:fixed;top:0;bottom:0;right:0}.kbd-btn{display:none}}.side-nav{background:var(--surface-3);border-radius:999px;gap:4px;padding:3px;display:flex}.side-nav button{height:30px;color:var(--text-2);border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.side-nav button:hover{color:var(--text)}.side-nav button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-style:italic;font-weight:700}.overview{flex-direction:column;height:100%;min-height:0;display:flex}.preview-badge{color:var(--yellow);border:1px dashed #fefbf259;border-radius:999px;padding:4px 10px;font-size:11px}.ov-body{animation:ov-in .35s var(--ease);flex:1;grid-template-columns:repeat(12,minmax(0,1fr));align-content:start;gap:16px;padding:20px;display:grid;overflow-y:auto}@keyframes ov-in{0%{opacity:0;transform:translateY(6px)}}.ov-kpis{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.ov-kpi{--c:var(--n-600);border-top:3px solid var(--c);flex-direction:column;gap:2px;padding:16px;display:flex;position:relative}.ov-kpi.green{--c:var(--green)}.ov-kpi.orange{--c:var(--orange)}.ov-kpi.blue{--c:var(--blue)}.ov-kpi small{text-transform:uppercase;letter-spacing:.06em;color:var(--n-500);font-size:11px}.ov-kpi strong{font-size:28px;line-height:1.2}.ov-kpi-icon{color:var(--c);opacity:.8;position:absolute;top:14px;right:14px}.ov-trend{grid-column:1/-1}.ov-legend{color:var(--n-500);align-items:center;gap:6px;font-size:11px;display:inline-flex}.ov-legend i{border-radius:3px;width:10px;height:10px;margin-left:6px}.lg-billable,.ov-bar-stack .b{background:var(--green)}.lg-internal,.ov-bar-stack .nb{background:var(--n-400)}.ov-bars{align-items:flex-end;gap:4px;height:200px;padding-top:8px;display:flex}.ov-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.ov-bar small{color:var(--n-500);white-space:nowrap;font-size:10px}.ov-bar-stack{width:100%;max-width:36px;transition:height .4s var(--ease), opacity .15s;border-radius:4px 4px 2px 2px;flex-direction:column;display:flex;overflow:hidden}.ov-bar:hover .ov-bar-stack{opacity:.8}.ov-bar-stack span{flex-basis:0}.ov-customers{grid-column:span 7}.ov-side{grid-column:span 5}.ov-list,.ov-status{flex-direction:column;gap:10px;list-style:none;display:flex}.ov-list li,.ov-status li{--c:var(--n-400);grid-template-columns:auto minmax(0,1.2fr) minmax(0,1fr) 52px 34px;align-items:center;gap:10px;font-size:12.5px;display:grid}.ov-status li{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) 52px}.ov-list li.me{font-weight:700}.ov-list strong,.ov-status strong,.ov-list li>small{text-align:right}.ov-period button{height:24px;padding:0 9px;font-size:11px}.ov-name{white-space:nowrap;text-overflow:ellipsis;flex-direction:column;display:flex;overflow:hidden}.ov-name small{color:var(--n-500);font-size:10.5px}.ov-meter{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.ov-meter span{border-radius:inherit;background:var(--c);height:100%;transition:width .4s var(--ease);display:block}.ov-meter.green span{background:var(--green)}.ov-status .ov-meter span{background:var(--n-600)}.ov-avatar{background:var(--surface-3);border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;font-weight:700;display:grid}.ov-list li.me .ov-avatar{background:var(--yellow);color:var(--n-900)}.ov-status-dot{background:var(--n-400);border-radius:50%;width:10px;height:10px}.ov-status-dot.s-new{background:var(--yellow)}.ov-status-dot.s-pendingapproval{background:var(--orange)}.ov-status-dot.s-approved{background:var(--green)}.ov-status-dot.s-denied{background:var(--danger)}.ov-status-dot.s-posted,.ov-status-dot.s-unified{background:var(--blue)}.ov-powerbi{border:2px dashed var(--border);border-radius:var(--radius);color:var(--n-500);grid-column:1/-1;align-items:center;gap:14px;padding:22px;display:flex}.ov-powerbi strong{color:var(--text)}@container (width<=900px){.ov-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-customers,.ov-side{grid-column:1/-1}}.modal .color-input{border:2px solid var(--surface);width:24px;height:24px;box-shadow:0 0 0 2px var(--text);appearance:none;cursor:pointer;border-radius:50%;padding:0;overflow:hidden}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:50%}.color-input::-moz-color-swatch{border:none;border-radius:50%}.field-row>.combo{flex:1}.modal.colours{overflow:visible}.colours-list{flex-direction:column;gap:6px;max-height:40vh;padding:4px;display:flex;overflow-y:auto}.side-panels{flex-direction:column;gap:6px;padding:0 12px;font-size:12.5px;display:flex}.side-panels label{cursor:pointer;align-items:center;gap:8px;display:flex}.side-panels h4{color:var(--text-3);margin:6px 0 0;font-size:11px}.hide-card-time .card-time,.hide-card-customer .card-bill,.hide-card-project .card-project{display:none}@media (width<=640px){.topbar{flex-wrap:wrap;gap:8px;height:auto;padding:8px 10px}.tb-right{flex-wrap:wrap;flex-basis:100%;gap:4px}.tb-theme,.bc-target>span,.user-chip svg{display:none}.user-chip{padding:0 3px}.bc-picker{width:auto;position:fixed;top:56px;left:8px;right:8px}.tb-left{flex:none;order:2;min-width:0}.tb-center{flex:1;order:3}.tb-center .segmented{flex:1}.tb-center .segmented button{flex:1;padding:0 6px}.tb-right .btn.small{padding:0 10px}.kbd-btn{padding:0 8px;display:inline-flex}.kbd-btn kbd{display:none}.app.ai-open .ai-panel{width:100vw}.modal-wrap,.modal-wrap.top{place-items:stretch stretch;padding:0}.modal{border-radius:0;width:100%;max-height:none;padding:16px}}
