.invoice-page{--ink:#111827;--ink-2:#6b7280;--ink-label:#9ca3af;--ink-divider:#e5e7eb;--ink-ref-bg:#f9fafb;--ink-brand:#1b4332;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:var(--radius,12px);max-width:820px;color:var(--ink);background:#fff;margin:0 auto;padding:clamp(20px,5vw,48px);font-size:13px;line-height:1.45;box-shadow:0 1px 3px #0000001f,0 8px 24px #00000014}.invoice-page hr{border:0;border-top:1px solid var(--ink-divider);margin:16px 0}.inv-label{letter-spacing:.08em;color:var(--ink-label);font-size:10px;font-weight:700}.inv-muted{color:var(--ink-2);font-size:11.5px}.inv-lines{white-space:pre-line}.inv-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.inv-from{min-width:0}.inv-logo{object-fit:contain;max-width:160px;max-height:80px;margin-bottom:8px;display:block}.inv-business{color:var(--ink-brand);overflow-wrap:anywhere;margin-bottom:4px;font-size:22px;font-weight:700}.inv-title{text-align:right;flex:none}.inv-word{font-size:18px;font-weight:700}.inv-number{font-weight:500}.inv-billto{justify-content:space-between;gap:16px;display:flex}.inv-client{margin-top:4px;font-size:14px;font-weight:700}.inv-dates{flex:none;min-width:120px}.inv-dates .inv-label:not(:first-child){margin-top:8px}.inv-ref{background:var(--ink-ref-bg);border-radius:8px;padding:12px}.inv-ref-title{margin-top:4px;font-size:15px;font-weight:700}.inv-items{border-collapse:collapse;width:100%}.inv-items th{text-align:left;padding:0 0 8px}.inv-items td{border-top:1px solid var(--ink-divider);vertical-align:top;padding:8px 0}.inv-items tbody tr:first-child td{border-top:0}.inv-items .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:12px}.inv-item-name{font-weight:600}.inv-totals{max-width:340px;margin-left:auto}.inv-total-row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;padding:3px 0;display:flex}.inv-total-row.grand{border-top:1px solid var(--ink-divider);margin-top:6px;padding-top:9px;font-size:15px;font-weight:700}.inv-terms{margin-top:6px;font-size:12px;line-height:1.5}@media (width<=480px){.invoice-page{font-size:12px}.inv-business{font-size:18px}.inv-items .num{padding-left:8px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#1b4332;--brand-light:#6dbd8e;--primary:#1b4332;--on-primary:#fff;--primary-container:#6dbd8e;--on-primary-container:#003820;--bg:#f8f9fa;--surface:#fff;--surface-variant:#f3f4f6;--border:#e5e7eb;--text:#111827;--text-secondary:#6b7280;--placeholder:#9ca3af;--warning-bg:#fff4e5;--warning-fg:#8a4b00;--warning-border:#f5c27a;--danger:#c62828;--success:#166534;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #0000000f, 0 1px 3px #00000014;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sidebar-w:232px;--bottom-nav-h:64px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#00d26a;--on-primary:#003820;--primary-container:#1b4332;--on-primary-container:#9ef6b5;--bg:#1a1d23;--surface:#22262e;--surface-variant:#2a2e38;--border:#2d3240;--text:#fff;--text-secondary:#8b95a1;--placeholder:#8b95a1;--warning-bg:#3a2c12;--warning-fg:#ffcf87;--warning-border:#6b4f1d;--danger:#ff6b6b;--success:#86efac;--shadow:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#00d26a;--on-primary:#003820;--primary-container:#1b4332;--on-primary-container:#9ef6b5;--bg:#1a1d23;--surface:#22262e;--surface-variant:#2a2e38;--border:#2d3240;--text:#fff;--text-secondary:#8b95a1;--placeholder:#8b95a1;--warning-bg:#3a2c12;--warning-fg:#ffcf87;--warning-border:#6b4f1d;--danger:#ff6b6b;--success:#86efac;--shadow:none}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.45}h1,h2,h3{margin:0;line-height:1.2}a{color:var(--primary)}[hidden]{display:none!important}.btn{border-radius:var(--radius-sm);min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;text-decoration:none;transition:filter .15s,background .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:not(:disabled):hover{filter:brightness(1.1)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:not(:disabled):hover{background:var(--surface-variant)}.btn-danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn-block{width:100%}.btn-sm{min-height:32px;padding:0 12px;font-size:13px}.shell{min-height:100dvh}.sidebar{display:none}.bottom-nav{z-index:20;height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;inset:auto 0 0}.bottom-nav a{color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--primary);font-weight:600}.main{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px))}.topbar{z-index:10;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar-title{flex:1;min-width:0;font-size:20px;font-weight:700}.content{max-width:960px;margin:0 auto;padding:16px}@media (width>=900px){.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:20px 12px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{color:var(--text);align-items:center;gap:10px;padding:4px 12px 20px;font-size:18px;font-weight:800;text-decoration:none;display:flex}.sidebar-brand img{border-radius:8px;width:32px;height:32px}.sidebar a.nav{border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:12px;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}.sidebar a.nav:hover{background:var(--surface-variant)}.sidebar a.nav.active{background:var(--surface-variant);color:var(--primary);font-weight:600}.bottom-nav{display:none}.main{margin-left:var(--sidebar-w);padding-bottom:0}.topbar{padding:14px 24px}.content{padding:24px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.section{margin-bottom:24px}.section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:0 4px 8px;font-size:12px;font-weight:700}.row{border:0;border-top:1px solid var(--border);width:100%;min-height:56px;color:var(--text);font:inherit;text-align:left;background:0 0;align-items:center;gap:12px;padding:12px 16px;display:flex}.row:first-child{border-top:0}button.row{cursor:pointer}button.row:hover:not(:disabled){background:var(--surface-variant)}button.row:disabled{opacity:.5;cursor:default}.row-main{flex:1;min-width:0}.row-label{font-size:15px}.row-sub{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12.5px}.row.danger .row-label{color:var(--danger)}.row svg{color:var(--text-secondary);flex:none}.segmented{border-radius:var(--radius-sm);background:var(--surface-variant);padding:3px;display:inline-flex}.segmented button{min-height:32px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 12px;font-size:13px}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.chip{border:1px solid var(--border);background:var(--surface);max-width:260px;min-height:34px;color:var(--text-secondary);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:inline-flex}.chip span{text-overflow:ellipsis;overflow:hidden}.chip .dot{background:var(--success);border-radius:50%;flex:none;width:8px;height:8px}.chip.warn{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-fg)}.chip.warn .dot{background:currentColor}.chip.busy .dot{background:var(--text-secondary);animation:1s infinite alternate pulse}@keyframes pulse{to{opacity:.3}}.banner{border-radius:var(--radius);border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-fg);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:16px;padding:12px 16px;display:flex}.banner p{flex:240px;margin:0}dialog.modal{border:1px solid var(--border);background:var(--surface);width:min(440px,100vw - 32px);color:var(--text);border-radius:16px;padding:24px}dialog.modal::backdrop{background:#00000073}dialog.modal h2{margin-bottom:8px;font-size:18px}dialog.modal p{color:var(--text-secondary);margin:0 0 8px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.toasts{left:50%;bottom:calc(var(--bottom-nav-h) + 16px + env(safe-area-inset-bottom,0px));z-index:50;flex-direction:column;gap:8px;width:min(420px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}@media (width>=900px){.toasts{bottom:24px}}.toast{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#111827;padding:12px 16px;box-shadow:0 4px 16px #00000040}.toast.error{background:#7f1d1d}.center-screen{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.gate{text-align:center;width:min(460px,100%)}.gate img{border-radius:18px;width:72px;height:72px}.gate h1{margin:16px 0 8px;font-size:26px}.gate .lead{color:var(--text-secondary);margin:0 0 24px}.gate .actions{flex-direction:column;gap:10px;display:flex}.gate .note{color:var(--text-secondary);margin-top:20px;font-size:13px}.gate .error-box{border-radius:var(--radius-sm);border:1px solid var(--danger);color:var(--danger);text-align:left;margin-bottom:16px;padding:12px;font-size:14px}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--text-secondary);padding:48px 16px}.empty svg{margin-bottom:8px}.empty h2{color:var(--text);margin-bottom:6px;font-size:17px}.topbar-slot{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.topbar-actions{gap:8px;margin-left:auto;display:flex}.icon-btn{width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin-left:-8px;display:inline-grid}.icon-btn:hover{background:var(--surface-variant)}.topbar-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=559px){.topbar:has(.topbar-actions) .chip span:not(.dot){display:none}.topbar:has(.topbar-actions) .chip{padding:0 12px}}.list-controls{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.search{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:46px;color:var(--text-secondary);align-items:center;gap:10px;padding:0 14px;display:flex}.search:focus-within{border-color:var(--primary)}.search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1}.filter-chips{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.filter-chip{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:13px;display:inline-flex}.filter-chip[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:var(--on-primary);font-weight:600}.filter-chip .count{background:var(--surface-variant);min-width:20px;color:var(--text-secondary);text-align:center;border-radius:999px;padding:0 6px;font-size:11.5px;font-weight:600}.filter-chip[aria-pressed=true] .count{color:inherit;background:#fff3}.card-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (width>=700px){.card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.list-end{text-align:center;color:var(--text-secondary);padding:24px 0 8px;font-size:13px}.avatar{color:#1f2937;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.client-card{color:inherit;text-decoration:none;transition:border-color .15s;display:block}.client-card:hover{border-color:var(--primary)}.client-card-main{align-items:center;gap:14px;padding:14px 16px;display:flex}.client-card-text{flex:1;min-width:0}.client-card-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.client-card-sub{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.client-card-footer{border-top:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:6px;padding:8px 16px;font-size:13px;display:flex}.badge{color:#fff;background:#3b5bdb;border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:600}.fab{right:16px;bottom:calc(var(--bottom-nav-h) + 16px + env(safe-area-inset-bottom,0px));z-index:15;background:var(--primary);min-height:52px;color:var(--on-primary);border-radius:16px;align-items:center;gap:8px;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex;position:fixed;box-shadow:0 4px 14px #00000038}.fab:hover{filter:brightness(1.1)}@media (width>=900px){.fab{bottom:32px;right:32px}}.content:has(.fab){padding-bottom:96px}.details-header{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:8px 0 24px;display:flex}.details-header h2{margin-top:8px;font-size:22px}.details-header p{color:var(--text-secondary);margin:0}.muted{color:var(--placeholder)}.form{max-width:720px;margin:0 auto}.form-card{flex-direction:column;gap:16px;padding:16px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{font-size:13.5px;font-weight:600}.field .req{color:var(--danger)}.field input,.field textarea,.field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-variant);width:100%;min-height:46px;color:var(--text);font:inherit;padding:10px 12px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--placeholder)}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:#0000}.field.has-error input,.field.has-error textarea{border-color:var(--danger)}.field-error{color:var(--danger);font-size:12.5px}.address-input{position:relative}.address-input input{padding-right:40px}.address-spinner{border-width:2px;width:18px;height:18px;margin-top:-9px;position:absolute;top:50%;right:12px}.address-suggestions{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 4px 16px #00000029}.address-suggestions ul{margin:0;padding:4px 0;list-style:none}.address-suggestions li{cursor:pointer;overflow-wrap:anywhere;padding:10px 12px}.address-suggestions li[aria-selected=true]{background:var(--surface-variant)}.address-attribution{border-top:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;font-size:11.5px}.field-row{gap:16px;display:grid}@media (width>=560px){.field-row{grid-template-columns:1fr 1fr}}.form-actions{flex-direction:column;gap:10px;display:flex}@media (width>=560px){.form-actions{flex-direction:row-reverse;justify-content:flex-start}}.danger-zone{border-top:1px solid var(--border);margin-top:32px;padding-top:20px}.empty p{margin:0 0 16px}@media (width<=899px){.shell:has(.fab) .toasts{bottom:calc(var(--bottom-nav-h) + 84px + env(safe-area-inset-bottom,0px))}}.status-badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-badge.in-progress{color:#fff;background:#3b5bdb}.status-badge.completed{color:#86efac;background:#166534}.priority-tag{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.priority-dot{border-radius:50%;width:7px;height:7px}.wo-number{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600}.stats{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.stat{color:var(--text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat strong{font-size:28px;line-height:1.1}.order-card{color:inherit;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;transition:border-color .15s;display:flex}.order-card:hover{border-color:var(--primary)}.order-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.order-card-title{font-size:16.5px;font-weight:700}.order-card-meta{color:var(--text-secondary);flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.order-card-loc{align-items:center;gap:4px;display:inline-flex}.order-card-bottom{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.wo-details{max-width:720px;margin:0 auto}.wo-status-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.wo-title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.wo-title-row h2{font-size:22px}.wo-schedule{border-left:4px solid var(--primary);margin-bottom:24px;padding:14px 16px}.wo-schedule-date{font-size:17px;font-weight:600}.wo-client-name{color:var(--primary);font-weight:600;text-decoration:none}.card-pad{padding:14px 16px}.prewrap{white-space:pre-wrap}.wo-actions{flex-direction:column;gap:10px;display:flex}@media (width>=560px){.wo-actions{flex-direction:row}.wo-actions .btn{flex:1}}.section-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.section-head .section-title{margin-bottom:0}.line-items{margin:0;padding:0;list-style:none}.line-items li{border-top:1px solid var(--border);align-items:center;gap:4px;padding:12px 16px;display:flex}.line-items li:first-child{border-top:0}.line-item-edit{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.li-main{flex-direction:column;flex:1;min-width:0;display:flex}.li-name{font-weight:600}.li-desc{color:var(--text-secondary);font-size:13px}.li-total{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.line-items-empty{color:var(--placeholder);text-align:center;margin:0;padding:16px}.line-items-footer{border-top:1px solid var(--border);background:var(--surface-variant);border-radius:0 0 var(--radius) var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.line-items-empty+.line-items-footer{justify-content:center}.field-label{font-size:13.5px;font-weight:600}.checkbox{cursor:pointer;align-items:center;gap:10px;font-weight:500;display:flex}.checkbox input{width:18px;height:18px;accent-color:var(--primary)}.plain-fieldset{border:0;flex-direction:column;gap:16px;min-width:0;margin:0;padding:0;display:flex}.plain-fieldset:disabled input{opacity:.7}.dialog-form{flex-direction:column;gap:14px;display:flex}.dialog-form .modal-actions{margin-top:4px}.dialog-total{border-radius:var(--radius-sm);background:var(--surface-variant);justify-content:space-between;padding:10px 12px;display:flex}a.row{color:var(--text);text-decoration:none}a.row:hover{background:var(--surface-variant)}.form-intro{color:var(--text-secondary);margin:0 4px 20px}.logo-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.logo-preview{border:1px dashed var(--border);border-radius:var(--radius-sm);background:#fff;place-items:center;width:140px;height:90px;padding:8px;display:grid}.logo-preview img{object-fit:contain;max-width:124px;max-height:74px}.logo-actions{flex-wrap:wrap;flex:220px;align-items:center;gap:8px;display:flex}.logo-actions .row-sub{flex-basis:100%}.quick-picks{flex-wrap:wrap;gap:6px;display:flex}.quick-picks .filter-chip{min-height:28px;padding:0 10px}.preview-banner{border-radius:var(--radius-sm);background:var(--primary-container);max-width:820px;color:var(--on-primary-container);text-align:center;margin:0 auto 16px;padding:8px 12px;font-size:13px}.invoice-toolbar{flex-direction:column;gap:12px;max-width:820px;margin:0 auto 20px;display:flex}.invoice-toolbar .banner{margin:0}.invoice-actions{flex-wrap:wrap;gap:10px;max-width:820px;margin:20px auto 0;display:flex}.invoice-actions.top{margin:0 auto 16px}.invoice-actions .btn{flex:180px}.invoice-email{max-width:820px;color:var(--text-secondary);margin:0 auto 16px;font-size:13.5px}.invoice-email .btn{vertical-align:middle;margin-left:6px}.dash-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.dash-header h2{font-size:20px}.dash-nav{align-items:center;gap:2px;display:flex}.dash-nav .icon-btn{margin:0}.dash-nav .btn{margin-left:6px}.day-strip{scroll-snap-type:x proximity;scrollbar-width:thin;gap:8px;margin:0 -16px 20px;padding:4px 16px 8px;display:flex;overflow-x:auto}.day-chip{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:52px;color:var(--text);font:inherit;cursor:pointer;scroll-snap-align:center;flex-direction:column;flex:none;align-items:center;gap:2px;padding:8px 0 6px;display:flex}.day-chip-wd{color:var(--text-secondary);text-transform:uppercase;font-size:11px}.day-chip-num{font-size:17px;font-weight:700}.day-chip-dot{background:var(--primary);border-radius:50%;width:5px;height:5px}.day-chip.today{border-color:var(--primary)}.day-chip[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.day-chip[aria-pressed=true] .day-chip-wd{color:inherit;opacity:.85}.day-chip[aria-pressed=true] .day-chip-dot{background:var(--on-primary)}.dash-day{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.dash-day h3{font-size:17px}.dash-empty{padding:28px 16px}.dash-empty p{margin:0}.untimed-row{gap:12px}.priority-bar{border-radius:2px;flex:none;align-self:stretch;width:4px}.timeline{position:relative;overflow:hidden}.timeline-hour{border-top:1px solid var(--border);height:0;position:absolute;left:0;right:0}.timeline-hour span{background:var(--surface);color:var(--text-secondary);font-variant-numeric:tabular-nums;padding-right:6px;font-size:11px;position:absolute;top:-8px;left:8px}.timeline-events{position:absolute;inset:0 8px 0 64px}.timeline-card{background:var(--surface-variant);color:var(--text);box-shadow:var(--shadow);border-left:4px solid;border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;text-decoration:none;display:flex;position:absolute;overflow:hidden}.timeline-card:hover{filter:brightness(.97)}.timeline-card.done{opacity:.6}.timeline-card-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.timeline-card-meta{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.timeline-now{pointer-events:none;background:#ef4444;height:2px;position:absolute;left:-6px;right:0}.timeline-now:before{content:"";background:#ef4444;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.category-badge{color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.expense-row{gap:12px}.expense-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.filter-chips.wrap{flex-wrap:wrap;overflow:visible}.receipt-box{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:14px;display:flex}.receipt-empty-text{color:var(--text);flex-direction:column;flex:200px;display:flex}.receipt-actions{flex-wrap:wrap;gap:8px;display:flex}.receipt-thumb{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:zoom-in;background:#fff;flex:none;width:96px;height:96px;padding:0;overflow:hidden}.receipt-thumb img{object-fit:cover;width:100%;height:100%}dialog.receipt-viewer{width:min(900px,100vw - 32px);max-height:calc(100dvh - 32px);padding:12px}.receipt-viewer-bar{align-items:center;gap:8px;margin-bottom:8px;display:flex}.receipt-viewer-bar h2{flex:1;margin:0 0 0 4px}.receipt-viewer-bar .icon-btn{margin:0}.receipt-viewer img{border-radius:var(--radius-sm);max-width:100%;max-height:calc(100dvh - 120px);margin:0 auto;display:block}.banner.banner-info{border-color:var(--primary);background:var(--surface);color:var(--text)}.btn-google svg{flex:none}.drive-files{max-height:50dvh;margin:12px 0;overflow-y:auto}dialog.modal .btn-block+.card,dialog.modal .card+.btn-block{margin-top:12px}.row>svg:first-child{flex:none}
