:root{color-scheme:light dark;--bg:light-dark(#f5f7f4,#0e1512);--panel:light-dark(#ffffff,#16201c);--surface:light-dark(#fbfcfb,#1b2723);--surface-raised:light-dark(#ffffff,#202e29);--surface-secondary:light-dark(#e8eeeb,#29372f);--surface-secondary-ink:light-dark(#23302c,#dbe7e1);--ink:light-dark(#17211e,#e8f0ec);--muted:light-dark(#66736e,#93a39b);--label:light-dark(#44504b,#adbbb4);--line:light-dark(#dce3df,#2d3b35);--green:light-dark(#167d5a,#1a8c64);--green-dark:light-dark(#0e5e44,#46c795);--red:light-dark(#b04444,#e58686);--blue:light-dark(#2f6fb4,#6ba6de);--accent-soft:light-dark(#eef8f4,#16302a);--accent-soft-line:light-dark(#cfe1d8,#22463a);--danger-soft:light-dark(#f5e3e3,#3a2323);--danger-panel-bg:light-dark(#fffafa,#221717);--danger-panel-line:light-dark(#e2a7a7,#5a3232);--shadow:0 18px 45px light-dark(rgba(24,33,31,0.08),rgba(0,0,0,0.5));--shadow-soft:0 8px 22px light-dark(rgba(24,33,31,0.06),rgba(0,0,0,0.4));--space-2xs:4px;--space-xs:6px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:32px}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:var(--text-base);line-height:1.5}body,h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.25}button,input,select,textarea{font:inherit}a.button,button{border:0;border-radius:6px;padding:10px var(--space-lg);min-height:40px;background:var(--green);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-weight:750;text-decoration:none;white-space:nowrap;transition:background .14s ease,box-shadow .14s ease,transform .14s ease}a.button:hover,button:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}a.secondary,button.secondary{background:var(--surface-secondary);color:var(--surface-secondary-ink)}button.danger{background:var(--danger-soft);color:var(--red)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface-raised);color:var(--ink);padding:10px var(--space-md);min-height:42px}input:focus,select:focus,textarea:focus{border-color:rgba(22,125,90,.55);box-shadow:0 0 0 3px rgba(22,125,90,.12);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--surface-secondary);color:var(--muted);cursor:not-allowed}label{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs);color:var(--label);font-size:var(--text-sm);font-weight:650}.login-page{min-height:100vh;display:grid;place-items:center;padding:var(--space-2xl)}.login-panel{width:min(460px,100%);border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:var(--space-3xl);box-shadow:var(--shadow);display:grid;grid-gap:var(--space-xl);gap:var(--space-xl)}.auth-buttons{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm)}.deletion-page{min-height:100vh;padding:clamp(var(--space-xl),5vw,56px) var(--space-xl)}.deletion-panel{width:min(720px,100%);margin:0 auto;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:clamp(var(--space-xl),5vw,48px);box-shadow:var(--shadow);display:grid;grid-gap:var(--space-2xl);gap:var(--space-2xl)}.deletion-panel h1{margin-top:var(--space-xs);font-size:clamp(28px,5vw,40px)}.deletion-panel h2{margin-bottom:var(--space-sm);font-size:var(--text-lg)}.deletion-list{margin:0;padding-left:var(--space-2xl)}.deletion-list li+li{margin-top:var(--space-xs)}.deletion-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:#13231e;color:#f8fbf8;padding:var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-2xl);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--space-md)}.brand-mark{width:44px;height:44px;border-radius:8px;background:var(--green);display:grid;place-items:center}.brand-mark img{width:26px;height:26px;filter:invert(1)}.brand h1,.login-panel h1{font-size:var(--text-2xl)}.brand p,.muted{color:var(--muted)}.sidebar .muted{color:#b5c4bd}.sidebar-user{font-size:var(--text-md);display:flex;align-items:center;gap:var(--space-sm)}.avatar{width:32px;height:32px;border-radius:50%;flex:0 0 auto;object-fit:cover;background:#25443a;color:#fff}.avatar-fallback{display:inline-grid;place-items:center;font-size:var(--text-sm);font-weight:800}.avatar-small{width:24px;height:24px}.nav{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs)}.nav a{border-radius:6px;padding:10px var(--space-md);color:#d6e2dc;text-decoration:none;display:flex;align-items:center;gap:10px;font-size:var(--text-md);line-height:1.3;transition:background .14s ease,color .14s ease}.nav a:hover{background:rgba(255,255,255,.08);color:#fff}.nav a.active{background:#25443a;color:#fff}.sidebar-footer{margin-top:auto;display:grid;grid-gap:10px;gap:10px}.sidebar-footer form button{width:100%}.theme-toggle{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-2xs);gap:var(--space-2xs);padding:var(--space-2xs);border-radius:8px;background:rgba(255,255,255,.06)}.theme-toggle button{min-height:36px;padding:var(--space-sm) 0;border-radius:6px;background:transparent;color:#d6e2dc}.theme-toggle button:hover{box-shadow:none;transform:none;background:rgba(255,255,255,.08)}.theme-toggle button.active{background:#25443a;color:#fff}main{padding:var(--space-3xl);min-width:0}main>*+*{margin-top:var(--space-2xl)}.entry-actions,.panel-head,.row,.topbar{display:flex;align-items:center;gap:var(--space-lg)}.topbar{justify-content:space-between;min-height:48px}.topbar .muted{font-size:var(--text-sm)}.topbar h2{margin-top:var(--space-2xs);font-size:var(--text-xl);font-weight:750}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:var(--space-2xl)}.panel>*+*{margin-top:var(--space-lg)}.panel h3{font-size:var(--text-lg);font-weight:750}.panel h3+p{margin-top:var(--space-2xs)}.danger-panel{border-color:var(--danger-panel-line);background:var(--danger-panel-bg)}.panel-head{justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid .wide{grid-column:1/-1}.grid>a.button,.grid>button{justify-self:start;align-self:end}.row>a.button,.row>button{flex:0 0 auto}.row input[type=file]{min-width:0}main>.grid{gap:var(--space-2xl)}.item-list{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.archived-list{margin-top:var(--space-lg)}.archived-list .entry,.archived-list .item{overflow:visible;position:relative}.archived-list .entry:has(.confirm-pop),.archived-list .item:has(.confirm-pop){z-index:30}.panel>details>summary{cursor:pointer;color:var(--label);font-weight:750}.item-list:empty,.source-list:empty{display:none}.loading-indicator{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-3xl) 0;color:var(--muted);font-size:var(--text-sm)}.spinner{width:18px;height:18px;flex:none;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spinner-turn .7s linear infinite}@keyframes spinner-turn{to{transform:rotate(1turn)}}.report-body{position:relative}.report-body>*+*{margin-top:var(--space-lg)}.report-body.is-loading>:not(.loading-overlay){opacity:.45;pointer-events:none}.loading-overlay{position:absolute;inset:0;margin-top:0;display:flex;align-items:center;justify-content:center}.entry,.item{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:var(--space-lg);box-shadow:0 1px 0 rgba(24,33,31,.03);min-width:0;overflow:hidden}.item{display:grid;grid-gap:10px;gap:10px;align-content:start}.entry.expanded{border-color:rgba(22,125,90,.45);box-shadow:var(--shadow-soft)}.entry-summary{width:100%;min-width:0;border-radius:6px;background:transparent;color:inherit;display:flex;align-items:center;gap:10px;min-height:34px;padding:0;text-align:left;box-shadow:none;overflow:hidden}.entry-summary:hover{box-shadow:none;transform:none}.entry-dot{width:10px;height:10px;border-radius:50%;background:var(--ink);flex:0 0 auto}.entry-dot.accent{background:var(--green)}.entry-desc{flex:0 1 auto;min-width:0;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;white-space:nowrap}.entry-desc.empty{color:var(--muted)}.entry-project{flex:0 1 auto;min-width:0;max-width:40%;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;white-space:nowrap;color:var(--green-dark);font-size:var(--text-sm);font-weight:700}.entry-range{flex:0 0 auto;margin-left:auto;color:var(--muted);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entry-title{min-width:0;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;white-space:nowrap;flex:1 1;font-size:var(--text-base);font-weight:750}.entry-duration{flex:0 0 auto;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entry-note{color:var(--muted);font-size:var(--text-sm);margin:var(--space-sm) 0 0 20px;display:flex;justify-content:space-between;gap:var(--space-lg);min-width:0}.entry-note span{min-width:0;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;white-space:nowrap}.entry-note span:first-child{flex:1 1 auto}.entry-note span:last-child{flex:0 0 auto}.entry-stats{color:var(--muted);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:var(--space-xs) 0 0 20px}.entry-actions{margin:var(--space-md) 0 0 20px}.entry-week{display:grid;grid-gap:var(--space-md);gap:var(--space-md);min-width:0;max-width:100%}.entry-week+.entry-week{margin-top:var(--space-2xl)}.entry-week-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-lg);padding:0 var(--space-2xs);min-width:0;max-width:100%}.entry-week-head h3{font-size:var(--text-lg);font-weight:750}.group-total{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.group-total strong{color:var(--ink);font-size:var(--text-base);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entries-body{position:relative;min-width:0;max-width:100%}.entries-body>*+*{margin-top:var(--space-md)}.entries-body.is-loading>:not(.loading-overlay){opacity:.45;pointer-events:none}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md) var(--space-lg);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--line)}.pagination-range{color:var(--muted);font-size:var(--text-sm)}.pagination-range strong{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pagination-size{display:flex;align-items:center;margin-left:auto;gap:var(--space-sm);white-space:nowrap}.pagination-size select{width:auto;min-height:38px;padding:var(--space-2xs) var(--space-sm)}.pagination-controls{display:flex;align-items:center;gap:var(--space-sm)}.pagination-controls button{min-height:38px;width:38px;padding:0}.pagination-controls button:disabled{opacity:.45;cursor:not-allowed}.pagination-controls button:disabled:hover{box-shadow:none;transform:none}.pagination-page{color:var(--muted);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.day-card{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow-soft);min-width:0;max-width:100%}.day-card>:last-child{border-radius:0 0 7px 7px}.day-card-head{border-radius:7px 7px 0 0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-xl);background:var(--surface);border-bottom:1px solid var(--line);color:var(--label);font-size:var(--text-sm);font-weight:700;min-width:0}.day-card-head>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-row{padding:var(--space-md) var(--space-xl);min-width:0;max-width:100%}.entry-row+.entry-row{border-top:1px solid var(--line)}.entry-row.expanded,.entry-row:hover{background:var(--surface)}.entry-row.expanded{padding-bottom:var(--space-xl)}.entry-line{display:flex;align-items:center;gap:var(--space-md);min-width:0;max-width:100%}.entry-line .entry-summary{flex:1 1;width:auto;min-width:0;max-width:100%;overflow:hidden}.entry-line .entry-desc,.entry-line .entry-project{min-width:0}.entry-line .entry-project{flex:1 1;max-width:none}.entry-line .entry-desc{flex:1 1}.entry-line .entry-duration{min-width:72px;text-align:right}.entry-stack-lead{flex:1 1;min-width:0;gap:10px}.entry-count,.entry-stack-lead{display:inline-flex;align-items:center}.entry-count{flex:0 0 auto;min-width:28px;height:24px;padding:0 6px;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--label);font-size:var(--text-sm);font-weight:700}.entry-stack .entry-summary:hover .entry-count{border-color:var(--green);color:var(--green)}.entry-row.entry-stack.open{background:var(--surface)}.entry-indent{flex:0 0 auto;width:28px}.entry-action-ghost{flex:0 0 auto;width:32px}.entry-billable,.entry-delete,.entry-resume{flex:0 0 auto;min-height:32px;width:32px;padding:0;border-radius:6px}.entry-billable{border:1px dashed var(--muted);background:var(--surface);color:var(--label)}.entry-billable.active{border-color:transparent;background:var(--green);color:#fff}.entry-billable:hover,.entry-delete:hover{box-shadow:none;transform:none;filter:brightness(.95)}.entry-billable.active:hover{box-shadow:none}.entry-delete:hover{background:var(--danger-soft)}.entry-billable:disabled,.entry-resume:disabled{opacity:.45;cursor:not-allowed}.confirm-wrap{position:relative;flex:0 0 auto}.confirm-pop{position:absolute;top:calc(100% + var(--space-xs));right:0;z-index:20;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);box-shadow:var(--shadow);white-space:nowrap}.confirm-pop span{color:var(--muted);font-size:var(--text-sm);font-weight:650}.confirm-pop button{min-height:32px;padding:var(--space-xs) var(--space-md);font-size:var(--text-sm)}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);background:light-dark(rgba(23,33,30,.4),rgba(0,0,0,.55))}.modal{width:min(680px,100%);max-height:calc(100vh - 2 * var(--space-xl));overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow);padding:var(--space-2xl)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xl)}.modal-close{min-height:34px;padding:var(--space-xs);background:transparent;color:var(--muted)}.modal-close:hover{box-shadow:none;transform:none;color:var(--ink)}.modal-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.modal-form>*{grid-column:span 2}.modal-form .half{grid-column:span 3}.modal-form .wide{grid-column:1/-1}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-2xl)}.modal-actions .confirm-wrap{margin-right:auto}.modal-actions .confirm-pop{top:auto;bottom:calc(100% + var(--space-xs));left:0;right:auto}.day-offset-badge{margin-left:var(--space-2xs);color:var(--green-dark)}.toast-stack{position:fixed;right:var(--space-xl);bottom:var(--space-xl);z-index:100;display:flex;flex-direction:column;gap:var(--space-sm);width:min(360px,calc(100vw - 2 * var(--space-xl)));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:8px;color:#fff;box-shadow:var(--shadow);font-size:var(--text-base);font-weight:650;animation:toast-in .16s ease}.toast span{flex:1 1 auto}.toast-icon{flex:0 0 auto;opacity:.9}.toast-success{background:var(--green)}.toast-error{background:#b23a3a}.toast-close{flex:0 0 auto;min-height:0;padding:var(--space-2xs);background:transparent;color:#fff;border-radius:4px;opacity:.85}.toast-close:hover{box-shadow:none;transform:none;opacity:1;background:rgba(255,255,255,.16)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.entry-edit{display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-lg);margin-top:var(--space-md);border-top:1px solid var(--line);padding-top:var(--space-md)}.entry-edit .wide{grid-column:1/-1}.entry-row.expanded .entry-edit{display:grid}.card-edit{display:none;gap:var(--space-md);margin-top:var(--space-md);border-top:1px solid var(--line);padding-top:var(--space-md)}.entry.expanded .card-edit{display:grid}.card-edit .grid{margin-top:0}.tracker-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md)}.tracker-bar .tracker-desc{flex:1 1 240px;min-width:200px}.tracker-bar select{width:180px}.running-timer{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,220px) auto;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:end;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:var(--space-lg)}.running-timer span{display:block;color:var(--muted);font-size:var(--text-xs)}.running-timer strong{display:block;margin-top:var(--space-2xs);font-size:var(--text-2xl);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timer-actions{display:flex;gap:var(--space-sm);align-items:end}.mode-toggle{margin-left:auto;display:flex;gap:var(--space-2xs);padding:var(--space-2xs);border:1px solid var(--line);border-radius:8px;background:var(--surface)}.mode-toggle button{min-height:34px;width:38px;padding:0;border-radius:6px;background:transparent;color:var(--muted)}.mode-toggle button:hover{box-shadow:none;transform:none;background:var(--surface-secondary);color:var(--surface-secondary-ink)}.mode-toggle button.active{background:var(--accent-soft);color:var(--green-dark)}.mode-toggle button:disabled{opacity:.45;cursor:not-allowed}.mode-toggle button:disabled:hover{background:transparent;color:var(--muted)}.time-adjust{display:grid;grid-template-columns:minmax(0,1fr) 34px;grid-gap:var(--space-xs);gap:var(--space-xs)}.time-adjust input{min-width:0}.time-buttons{display:grid;grid-gap:3px;gap:3px}.time-buttons button{min-height:19px;padding:0;border-radius:5px;background:var(--surface-secondary);color:var(--surface-secondary-ink);font-size:var(--text-sm);font-weight:850;line-height:1}.status-banner{border:1px solid var(--accent-soft-line);border-radius:8px;background:var(--accent-soft);color:var(--green-dark);padding:var(--space-md) var(--space-lg);font-weight:700}.account-list{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.account-row{border:1px solid var(--line);border-radius:8px;padding:var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);min-width:0}.account-label{min-width:0}.account-label p{overflow-wrap:anywhere}.account-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end}.filter-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg);padding:var(--space-lg)}.range-filter{grid-column:span 2;display:flex;align-items:flex-end;gap:var(--space-lg)}.range-filter label{flex:1 1;min-width:0}.report-filter-card{grid-template-columns:minmax(100px,.7fr) minmax(110px,.75fr) minmax(145px,1fr) minmax(145px,1fr) minmax(280px,1.5fr);gap:var(--space-md);align-items:end}.report-filter-card .range-filter{grid-column:auto;gap:var(--space-md)}.report-filter-card input,.report-filter-card select{min-height:38px;padding:var(--space-sm)}.report-filter-card .range-step button{min-height:38px;width:38px}.range-step{display:flex;gap:var(--space-xs)}.range-step button{min-height:42px;width:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:var(--surface-secondary);color:var(--surface-secondary-ink)}.filter-details{align-self:end}.disclosure summary,.filter-details summary{min-height:42px;border:1px solid var(--line);border-radius:6px;background:var(--surface-raised);cursor:pointer;display:flex;align-items:center;padding:10px var(--space-md);font-weight:750}.disclosure[open] summary,.filter-details[open] summary{border-color:rgba(22,125,90,.45)}.disclosure,.disclosure form,.filter-details .grid{margin-top:var(--space-md)}.disclosure h4{font-size:var(--text-base)}.share-empty{margin:var(--space-md) 0}.share-list,.source-list{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm)}.share-list{margin:var(--space-md) 0}.share-row,.source-row{border:1px solid var(--line);border-radius:6px;background:var(--surface-raised);min-height:44px}.share-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:10px var(--space-md)}.share-row strong,.source-row strong{display:block;font-size:var(--text-sm)}.share-row span,.source-row small{display:block;color:var(--muted);font-size:var(--text-xs);margin-top:2px}.source-row{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;padding:10px var(--space-md)}.source-row.selected{border-color:rgba(22,125,90,.45);background:var(--accent-soft)}.source-row input{width:16px;height:16px;min-height:16px;margin:0;padding:0}.small-button{min-height:32px;padding:var(--space-xs) 10px;font-size:var(--text-sm)}.search-combo{display:grid;grid-template-columns:minmax(0,1fr) 42px;grid-gap:var(--space-xs);gap:var(--space-xs)}.search-combo input{min-width:0}.icon-search{padding:0;min-height:42px;width:42px}.result-list{border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);display:grid;grid-gap:var(--space-xs);gap:var(--space-xs);padding:var(--space-sm)}.result-option{background:transparent;color:var(--ink);justify-content:space-between;min-height:44px;width:100%}.result-label{display:inline-flex;align-items:center;gap:var(--space-sm);min-width:0}.result-label span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.result-option.selected,.result-option:hover{background:var(--accent-soft);box-shadow:none;transform:none}.result-option strong{color:var(--green-dark);font-size:var(--text-xs)}.stepper-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);color:var(--muted);font-size:var(--text-xs);font-weight:750}.stepper-row span{border:1px solid var(--line);border-radius:999px;background:var(--surface-raised);padding:var(--space-2xs) 10px}.stepper-row .active{border-color:rgba(22,125,90,.45);background:var(--accent-soft);color:var(--green-dark)}.stepper-row .done{border-color:var(--accent-soft-line);color:var(--green-dark)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.metric{border:1px solid var(--line);border-radius:8px;padding:var(--space-lg);background:var(--surface)}.metric span{display:block;color:var(--muted);font-size:var(--text-xs)}.metric strong{display:block;margin-top:var(--space-xs);font-size:var(--text-xl)}.chart-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);grid-gap:var(--space-2xl);gap:var(--space-2xl)}.chart-card{border:1px solid var(--line);border-radius:8px;padding:var(--space-xl);background:var(--surface-raised)}.chart-card h3{font-size:var(--text-base);margin-bottom:var(--space-md)}.distribution{display:grid;grid-template-columns:220px 1fr;align-items:center;grid-gap:var(--space-2xl);gap:var(--space-2xl);min-height:260px}.pie{width:220px;aspect-ratio:1;border-radius:50%}.pie circle,.pie path{cursor:help}.pie circle:hover,.pie path:hover{filter:brightness(.9)}.pie.empty{background:var(--surface-secondary)}.legend{display:grid;grid-gap:10px;gap:10px}.legend span{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:var(--text-sm)}.legend i{width:14px;height:14px;border-radius:3px;flex:0 0 auto}.bar-chart{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:260px auto;grid-column-gap:var(--space-sm);column-gap:var(--space-sm);grid-row-gap:var(--space-sm);row-gap:var(--space-sm)}.bar-chart-yaxis{position:relative;grid-row:1;grid-column:1;width:46px}.bar-chart-yaxis span{position:absolute;right:0;transform:translateY(50%);color:var(--muted);font-size:var(--text-xs);white-space:nowrap}.bar-chart-plot{position:relative;grid-row:1;grid-column:2;display:flex;align-items:flex-end;gap:var(--space-2xs);border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.bar-chart-line{position:absolute;left:0;right:0;z-index:0;border-top:1px solid var(--line);opacity:.55}.bar-column{flex:1 1;min-width:0;height:100%;display:flex;align-items:flex-end}.bar{position:relative;z-index:1;width:100%;border-radius:3px 3px 0 0}.bar-chart-xaxis{grid-row:2;grid-column:2;display:flex;gap:var(--space-2xs);border-left:1px solid transparent}.bar-chart-xaxis span{flex:1 1;min-width:0;overflow:hidden;text-align:center;color:var(--muted);font-size:var(--text-xs);white-space:nowrap}.report-table{width:100%;border-collapse:collapse}.report-table td,.report-table th{border-bottom:1px solid var(--line);padding:var(--space-md) var(--space-lg);text-align:left}.report-table th{color:var(--muted);text-transform:uppercase;font-size:var(--text-xs)}.calendar-filter-card{grid-template-columns:minmax(280px,460px)}.calendar-filter-card .range-filter{grid-column:auto;gap:var(--space-md)}.calendar-filter-card input{min-height:38px;padding:var(--space-sm)}.calendar-filter-card .range-step button{min-height:38px;width:38px}.calendar-body{position:relative}.calendar-body.is-loading>:not(.loading-overlay){opacity:.45;pointer-events:none}.calendar-body .loading-overlay{z-index:6}.calendar-week{--calendar-hour-height:48px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised)}.calendar-columns{display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr))}.calendar-header{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--surface-raised);border-bottom:1px solid var(--line);border-radius:7px 7px 0 0}.calendar-day-head{border-left:1px solid var(--line);padding:var(--space-sm) var(--space-xs);text-align:center}.calendar-day-head span{display:block;color:var(--muted);font-size:var(--text-sm);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day-head strong{display:block;margin-top:2px;font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-day-head strong.empty{color:var(--muted);font-weight:650}.calendar-day-head.today span,.calendar-day-head.today strong{color:var(--green-dark)}.calendar-times{position:relative;height:calc(var(--calendar-hour-height) * 24)}.calendar-times span{position:absolute;right:var(--space-sm);transform:translateY(-50%);color:var(--muted);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-day-col{position:relative;height:calc(var(--calendar-hour-height) * 24);border-left:1px solid var(--line)}.calendar-day-col:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent var(--calendar-hour-height));opacity:.55;pointer-events:none}.calendar-entry{position:absolute;z-index:1;overflow:hidden;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:4px;background:var(--surface);padding:2px var(--space-xs);line-height:1.35;cursor:pointer}.calendar-entry:hover{z-index:4;box-shadow:var(--shadow-soft)}.calendar-entry-handle{position:absolute;left:0;right:0;height:5px;cursor:ns-resize}.calendar-entry-handle.top{top:0}.calendar-entry-handle.bottom{bottom:0}.calendar-entry.dragging{z-index:4;box-shadow:var(--shadow-soft)}.calendar-week.is-dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none}.calendar-week.is-dragging *{cursor:inherit}.calendar-week.drag-move{cursor:-webkit-grabbing;cursor:grabbing}.calendar-week.drag-end,.calendar-week.drag-start{cursor:ns-resize}.calendar-entry-desc,.calendar-entry-project{display:block;font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-entry-project{font-weight:700}.calendar-entry-duration{position:absolute;right:var(--space-xs);bottom:2px;display:inline-flex;align-items:center;gap:2px;padding-left:var(--space-2xs);background:var(--surface);color:var(--muted);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-entry.compact .calendar-entry-duration{top:2px;bottom:auto}.calendar-draft{position:absolute;left:2px;right:2px;z-index:3;display:flex;align-items:flex-start;justify-content:flex-end;border:1px dashed var(--green);border-radius:4px;background:var(--accent-soft);padding:2px var(--space-xs);pointer-events:none}.calendar-draft span{color:var(--green-dark);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-now{position:absolute;left:0;right:0;z-index:2;border-top:2px solid var(--blue);pointer-events:none}.calendar-now:before{content:"";position:absolute;left:-1px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--blue)}.token-row{align-items:center;justify-content:space-between}.download-actions,.token-row{display:flex;gap:var(--space-md)}.download-actions{flex-wrap:wrap}.settings-meta{color:var(--muted);font-size:var(--text-xs);font-weight:600;text-align:center;padding:var(--space-md) 0 var(--space-2xs);-webkit-user-select:text;-moz-user-select:text;user-select:text}.settings-meta code{font-size:inherit}.store-badge{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:8px 16px 8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--ink);color:var(--bg);text-decoration:none;transition:box-shadow .14s ease,transform .14s ease}a.store-badge:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.store-badge.disabled{background:var(--surface-secondary);color:var(--muted);cursor:not-allowed}.store-badge-glyph{width:26px;height:26px;flex:0 0 auto}.store-badge-text{display:grid;line-height:1.2;text-align:left}.store-badge-eyebrow{font-size:11px;font-weight:650;opacity:.82}.store-badge-label{font-size:17px;font-weight:800}@media (max-width:980px){.app-shell,.filter-card,.grid,.grid.two,.metrics{grid-template-columns:1fr}.report-filter-card .range-filter{grid-column:auto}.calendar-week{overflow-x:auto}.calendar-columns{min-width:840px}.sidebar{position:static;height:auto;overflow-y:visible}.panel-head,.row,.topbar{align-items:stretch;flex-direction:column}.tracker-bar .tracker-desc{flex-basis:100%;min-width:0}.tracker-bar select{width:100%;flex:1 1 100%}}@media (max-width:720px){main{padding:var(--space-xl)}main>*+*{margin-top:var(--space-xl)}.login-panel,.panel{padding:var(--space-xl)}.entry-summary{flex-wrap:wrap}.entry-edit{grid-template-columns:1fr}.modal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-form .half,.modal-form>*{grid-column:span 1}.modal-form .wide{grid-column:1/-1}.chart-grid,.distribution,.running-timer{grid-template-columns:1fr}}