:root{--surface: #fbf7ef;--surface-muted: #f2ede6;--text: #6f5534;--text-strong: #2a1f0e;--muted: #8c7a63;--border: #e0c98a;--soft-shadow: 0 18px 46px rgba(42, 31, 14, .08);--card: #fffdf8;--sidebar-bg: rgba(251, 247, 239, .92);--project-glow: rgba(217, 193, 154, .3);--gold-light: #f2e5cb;--gold-hover: #e8d7b5;--accent-maroon: #6b1e2a;--accent-hover: #50131d;--chart-primary: #6b1e2a;--chart-secondary: #a08050;--chart-grid: #e5d7bd;--bar-track: #eadfcf;--sync-ready-text: #5d4b27;--sync-ready-bg: #f4e5bf;--danger: #6b1e2a;--danger-bg: #f7e8df;--metric-1: #6b1e2a;--metric-2: #8c5f2f;--metric-3: #a08050;--metric-4: #c8a35a;--focus-ring: rgba(107, 30, 42, .18);font-family:"Source Sans 3",Source Sans Pro,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--surface-muted);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0}*{box-sizing:border-box}html{background:var(--surface-muted)}body{margin:0;min-width:320px}button,input,select,textarea{letter-spacing:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}h1,h2,h3,p{letter-spacing:0}.app-shell{min-height:100svh;background:radial-gradient(circle at top left,var(--project-glow),transparent 34rem),var(--surface-muted);color:var(--text);display:grid;grid-template-columns:304px minmax(0,1fr);animation:app-shell-enter .38s cubic-bezier(.16,1,.3,1) both}.app-shell.sidebar-collapsed{grid-template-columns:52px minmax(0,1fr)}.sidebar{min-height:100svh;width:304px;height:100svh;box-sizing:border-box;background:linear-gradient(var(--sidebar-bg),var(--sidebar-bg));color:var(--text-strong);padding:24px 18px;display:flex;flex-direction:column;gap:24px;position:fixed;left:0;top:0;bottom:0;z-index:30;border-right:1px solid var(--border);overflow-y:auto}.sidebar-collapsed .sidebar{width:52px;overflow:visible}.brand-block{display:flex;align-items:center;gap:12px;padding:4px 6px 12px}.sidebar-toggle{width:30px;height:30px;margin-left:auto;border:0;border-radius:8px;background:var(--gold-light);color:var(--accent-maroon);display:grid;place-items:center;cursor:pointer}.brand-mark{width:46px;height:34px;border:0;border-radius:7px;background:transparent;cursor:pointer;display:grid;place-items:center;overflow:hidden;padding:0}.brand-mark:hover{background:var(--gold-light)}.brand-mark img{width:100%;height:100%;display:block;object-fit:contain}.brand-block strong,.brand-block span{display:block}.brand-block strong{color:var(--text-strong);font-size:18px}.brand-block span{color:var(--muted);font-size:13px;margin-top:2px}.brand-copy .brand-name{color:var(--text-strong);font-size:16px;font-weight:500;line-height:1.1;margin:0;text-transform:none}.side-nav{display:grid;gap:8px}.side-nav button,.bottom-nav button{font:inherit;border:0;cursor:pointer}.side-nav button{min-height:38px;position:relative;color:var(--muted);background:transparent;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 12px;text-align:left}.side-nav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav button:hover,.side-nav button.active{background:var(--gold-light);color:var(--text-strong)}.sidebar-qr-card{margin-top:auto;border:0;border-radius:0;padding:0;background:transparent;display:grid;justify-items:center}.sidebar-qr-card img,.qr-placeholder{width:60%;aspect-ratio:1;border:0;border-radius:4px;background:transparent}.sidebar-qr-card img{display:block}.sidebar-controls{display:grid;gap:8px;width:100%}.sidebar-client-logo{display:grid;min-height:54px;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:0 10px 26px #2a1f0e12;padding:8px 10px;position:relative;text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.sidebar-client-logo:hover,.sidebar-client-logo:focus-visible{border-color:color-mix(in srgb,var(--accent-maroon) 38%,var(--border));box-shadow:0 12px 28px #2a1f0e1c;transform:translateY(-1px);outline:0}.sidebar-client-logo img{display:block;width:auto;max-width:138px;max-height:34px;object-fit:contain}.sidebar-controls .project-switcher,.sidebar-controls .user-switcher,.sidebar-settings-button{width:100%;min-height:38px;box-shadow:none}.sidebar-controls .project-switcher,.sidebar-controls .user-switcher{background:var(--card);padding:0 9px}.sidebar-controls .logout-switcher{position:relative;padding:0}.logout-menu-trigger{width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--text-strong);cursor:pointer;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 9px;font:inherit;font-weight:800}.logout-menu-trigger svg{color:var(--accent-maroon)}.logout-switcher.open .logout-menu-trigger,.logout-menu-trigger:hover,.logout-menu-trigger:focus-visible{background:var(--gold-light);outline:0}.logout-menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:80;min-width:132px;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:var(--soft-shadow);padding:6px}.logout-menu button{width:100%;min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--accent-maroon);cursor:pointer;font:inherit;font-weight:900;text-align:left;padding:0 10px}.logout-menu button:hover,.logout-menu button:focus-visible{background:var(--gold-light);outline:0}.sidebar-controls .project-switcher .switcher-label{display:none}.sidebar-controls .project-switcher select,.sidebar-controls .user-switcher select{width:100%;min-width:0;font-size:13px}.sidebar-settings-button{border:1px solid var(--border);border-radius:8px;color:var(--text-strong);background:var(--card);cursor:pointer;display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;padding:0 11px;font:inherit;font-weight:800}.sidebar-settings-button svg{color:var(--accent-maroon)}.sidebar-settings-button:hover,.sidebar-settings-button.active{color:#fff;background:var(--accent-maroon)}.sidebar-settings-button:hover svg,.sidebar-settings-button.active svg{color:#fff}.sidebar-collapsed .sidebar{align-items:center;padding-inline:5px}.sidebar-collapsed .brand-block{display:grid;justify-items:center;gap:8px;padding-inline:0}.sidebar-collapsed .brand-copy,.sidebar-collapsed .sidebar-qr-card,.sidebar-collapsed .side-nav button span{display:none}.sidebar-collapsed .sidebar-controls{display:grid;gap:8px;width:100%;margin-top:auto}.sidebar-collapsed .sidebar-client-logo{width:34px;min-height:34px;height:34px;justify-self:center;border-radius:8px;padding:4px;box-shadow:none}.sidebar-collapsed .sidebar-client-logo img{max-width:26px;max-height:24px}.sidebar-collapsed .sidebar-controls .project-switcher,.sidebar-collapsed .sidebar-controls .user-switcher,.sidebar-collapsed .sidebar-settings-button{width:34px;min-width:0;min-height:34px;height:34px;justify-self:center;justify-content:center;position:relative;overflow:visible;padding:0;box-shadow:none}.sidebar-collapsed .sidebar-controls .project-switcher select,.sidebar-collapsed .sidebar-controls .user-switcher select{position:absolute;inset:0;width:100%;min-width:0;opacity:0;cursor:pointer}.sidebar-collapsed .sidebar-controls .project-switcher .switcher-label,.sidebar-collapsed .sidebar-controls .project-switcher .project-color-dot,.sidebar-collapsed .logout-menu-trigger span,.sidebar-collapsed .sidebar-settings-button span{display:none}.sidebar-collapsed .logout-menu-trigger{min-height:34px;justify-content:center;padding:0}.sidebar-collapsed .logout-menu{left:calc(100% + 12px);right:auto;bottom:0}.sidebar-collapsed .sidebar-controls .project-switcher:hover:after,.sidebar-collapsed .sidebar-controls .project-switcher:focus-within:after,.sidebar-collapsed .sidebar-controls .user-switcher:hover:after,.sidebar-collapsed .sidebar-controls .user-switcher:focus-within:after,.sidebar-collapsed .sidebar-client-logo:hover:after,.sidebar-collapsed .sidebar-client-logo:focus-visible:after,.sidebar-collapsed .sidebar-settings-button:hover:after,.sidebar-collapsed .sidebar-settings-button:focus-visible:after{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);z-index:60;min-width:max-content;border:1px solid var(--border);border-radius:7px;background:var(--card);color:var(--text-strong);box-shadow:var(--soft-shadow);padding:7px 9px;font-size:12px;font-weight:900;pointer-events:none}.sidebar-collapsed .sidebar-client-logo:hover:after,.sidebar-collapsed .sidebar-client-logo:focus-visible:after{content:"REOS App"}.sidebar-collapsed .sidebar-controls .project-switcher:hover:after,.sidebar-collapsed .sidebar-controls .project-switcher:focus-within:after{content:"Choose project"}.sidebar-collapsed .sidebar-controls .user-switcher:hover:after,.sidebar-collapsed .sidebar-controls .user-switcher:focus-within:after{content:"Log out"}.sidebar-collapsed .sidebar-settings-button:hover:after,.sidebar-collapsed .sidebar-settings-button:focus-visible:after{content:"Settings"}.sidebar-collapsed .side-nav{width:100%}.sidebar-collapsed .side-nav button{min-height:34px;justify-content:center;padding:0}.sidebar-collapsed .side-nav button:hover:after,.sidebar-collapsed .side-nav button:focus-visible:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);z-index:60;min-width:max-content;border:1px solid var(--border);border-radius:7px;background:#fffdf8;background:var(--card);color:var(--text-strong);box-shadow:var(--soft-shadow);padding:7px 9px;font-size:12px;font-weight:900;pointer-events:none}.main-shell{grid-column:2;padding:10px 16px 16px;min-width:0}.main-shell.locked-page{height:100svh;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}.main-shell.locked-page>*{min-height:0}.qgo-share-shell{min-height:100svh;background:var(--surface-muted);color:var(--text-strong)}.qgo-share-main{grid-column:auto;padding:16px 24px 24px}.qgo-access-state{min-height:100svh;display:grid;place-items:center;padding:24px}.qgo-access-state section{width:min(420px,100%);display:grid;justify-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:var(--soft-shadow);padding:28px;text-align:center}.qgo-access-state svg{color:var(--accent-maroon)}.entry-logo{width:78px;height:auto;display:block;object-fit:contain}.qgo-access-state span{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.qgo-access-state h1{margin:0;color:var(--text-strong);font-family:Georgia,Times New Roman,serif;font-size:30px;line-height:1.1}.qgo-access-state p{margin:0;color:var(--muted);font-weight:700}.purchase-gate-shell{min-height:100svh;display:grid;place-items:start center;background:radial-gradient(circle at 18% 12%,var(--project-glow),transparent 34rem),linear-gradient(135deg,var(--surface-muted),#fffdf8);color:var(--text-strong);padding:10svh 24px 24px}.purchase-gate-card{width:min(860px,100%);min-height:430px;display:grid;grid-template-columns:minmax(260px,.82fr) minmax(320px,1fr);gap:0;border:1px solid var(--border);border-radius:28px;background:color-mix(in srgb,var(--card) 92%,#ffffff);box-shadow:0 24px 80px #2a1f0e21;overflow:hidden;padding:0;animation:purchase-gate-enter .52s cubic-bezier(.16,1,.3,1) both}.purchase-gate-brand-panel{position:relative;display:grid;align-content:center;justify-items:center;gap:34px;min-height:100%;border-right:1px solid color-mix(in srgb,var(--border) 68%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--gold-light) 72%,#fffdf8),color-mix(in srgb,var(--surface) 78%,#ffffff));padding:42px 30px;text-align:center}.purchase-gate-brand-panel:before{content:"";position:absolute;inset:0;opacity:.32;background-image:linear-gradient(30deg,rgba(255,253,248,.46) 12%,transparent 12.5%,transparent 87%,rgba(255,253,248,.46) 87.5%,rgba(255,253,248,.46)),linear-gradient(150deg,rgba(255,253,248,.46) 12%,transparent 12.5%,transparent 87%,rgba(255,253,248,.46) 87.5%,rgba(255,253,248,.46));background-position:0 0,0 0;background-size:56px 98px;pointer-events:none}.purchase-gate-brand-panel>*{position:relative}.purchase-gate-brand-panel .entry-logo{width:132px;animation:purchase-logo-enter .62s 90ms cubic-bezier(.16,1,.3,1) both}.purchase-gate-brand-copy{display:grid;gap:26px;justify-items:center}.purchase-gate-brand-panel span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.purchase-gate-card h1{margin:0;color:var(--text-strong);font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1.1;text-align:left}.purchase-gate-brand-panel h1{text-align:center;font-weight:500}.purchase-gate-title{display:inline-flex;justify-content:center}.purchase-gate-title span{color:inherit;font:inherit;opacity:0;text-transform:none;animation:purchase-title-letter .62s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.32s + var(--letter-index) * 72ms)}.purchase-gate-entry-panel{display:grid;align-content:center;gap:22px;padding:46px 58px}.purchase-gate-entry-panel>p{margin:0;color:var(--muted);font-size:15px;font-weight:700;line-height:1.45}.purchase-gate-error{margin:0;color:var(--danger);font-size:14px;font-weight:700;line-height:1.45;animation:purchase-error-enter .18s ease both}.purchase-gate-form{display:grid;gap:16px;animation:purchase-form-enter .5s .12s cubic-bezier(.16,1,.3,1) both}.purchase-gate-form input{width:100%;min-height:48px;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;background:#fffdf8;color:var(--text-strong);font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:400;outline:0;padding:0 13px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.purchase-gate-form input:focus{border-color:#a08050;box-shadow:0 0 0 3px var(--focus-ring);transform:translateY(-1px)}.purchase-gate-form .primary-button{min-height:52px;border-radius:999px;background:#d8bb78;color:#2a1f0e;margin-top:6px;font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:400;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.purchase-gate-form .primary-button:hover{background:#cfad66;box-shadow:0 10px 22px #84582129;transform:translateY(-1px)}.purchase-gate-form .primary-button:active{transform:translateY(0)}.purchase-gate-note{justify-self:center;color:var(--muted);font-size:12px;font-weight:800}.purchase-gate-loading{display:grid;grid-template-columns:18px auto;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:13px;font-weight:850;animation:purchase-loading-enter .18s ease both}.purchase-gate-loading span{width:18px;height:18px;border:2px solid color-mix(in srgb,var(--border) 70%,transparent);border-top-color:var(--accent-maroon);border-radius:999px;animation:purchase-loading-spin .8s linear infinite}@keyframes purchase-gate-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes purchase-logo-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes purchase-form-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes purchase-error-enter{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes purchase-loading-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes purchase-loading-spin{to{transform:rotate(360deg)}}@keyframes purchase-title-letter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes app-shell-enter{0%{opacity:0}to{opacity:1}}@keyframes bill-workspace-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bill-table-enter{0%{opacity:0;transform:translateY(6px) scale(.998)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.app-shell,.bill-workspace,.sheet-toolbar,.bill-sheet-scroll-shell,.bill-sheet{animation:none!important}.purchase-gate-card,.purchase-gate-header .entry-logo,.purchase-gate-form,.purchase-gate-error,.purchase-gate-loading,.purchase-gate-loading span,.purchase-gate-title span{animation:none!important;opacity:1}.purchase-gate-form input,.purchase-gate-form .primary-button{transition:none!important}}.scan-portal-shell{place-items:start center;padding-top:8svh}.scan-portal-stack{display:grid;width:min(860px,100%);justify-items:center;gap:18px}.scan-portal-card{width:100%;min-height:430px;display:grid;grid-template-columns:minmax(260px,.82fr) minmax(320px,1fr);gap:0;border:1px solid var(--border);border-radius:28px;background:color-mix(in srgb,var(--card) 92%,#ffffff);box-shadow:0 24px 80px #2a1f0e21;overflow:hidden;padding:0;animation:purchase-gate-enter .52s cubic-bezier(.16,1,.3,1) both}.scan-portal-brand-panel{gap:34px;background:linear-gradient(120deg,color-mix(in srgb,var(--gold-light) 88%,#d8bb78),color-mix(in srgb,var(--gold-light) 62%,#fffdf8))}.scan-portal-brand-panel .purchase-gate-title{font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400}.scan-portal-brand-panel .purchase-gate-title span{font-family:Georgia,Times New Roman,serif;font-weight:inherit}.scan-portal-brand-panel:before{content:none}.scan-portal-entry-panel{display:grid;align-content:center;gap:24px;padding:46px 50px}.scan-portal-logo-box{display:grid;min-height:76px;place-items:center;border:1px solid color-mix(in srgb,var(--border) 88%,#ffffff);border-radius:14px;background:linear-gradient(180deg,#fffdf8,color-mix(in srgb,var(--gold-light) 18%,#fffdf8));box-shadow:inset 0 1px #ffffffb8;padding:14px 18px}.scan-portal-logo-box img{display:block;width:auto;max-width:min(220px,82%);max-height:52px;object-fit:contain}.scan-portal-field span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.scan-portal-field{display:grid;gap:12px;position:relative}.scan-portal-field:after{content:"";position:absolute;right:18px;bottom:22px;width:9px;height:9px;border-right:2px solid color-mix(in srgb,var(--accent-maroon) 72%,var(--muted));border-bottom:2px solid color-mix(in srgb,var(--accent-maroon) 72%,var(--muted));pointer-events:none;transform:rotate(45deg)}.scan-portal-field select{appearance:none;-webkit-appearance:none;width:100%;min-height:56px;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--border) 88%,#ffffff);border-radius:14px;background:linear-gradient(180deg,#fffdf8,color-mix(in srgb,var(--gold-light) 16%,#fffdf8));color:var(--text-strong);font:inherit;font-size:14px;font-weight:400;outline:0;padding:0 44px 0 16px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.scan-portal-field select option{font-weight:400}.scan-portal-field select:focus{border-color:#a08050;box-shadow:0 0 0 3px var(--focus-ring);transform:translateY(-1px)}.scan-portal-dropzone{min-height:260px;border:1px dashed color-mix(in srgb,var(--accent-maroon) 50%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--gold-light) 34%,#fffdf8);color:var(--text-strong);cursor:pointer;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;text-align:center}.scan-portal-dropzone.drag-active{border-color:var(--accent-maroon);box-shadow:inset 0 0 0 3px var(--focus-ring)}.scan-portal-dropzone.busy{cursor:wait;opacity:.72}.scan-portal-dropzone svg{color:var(--accent-maroon)}.scan-portal-dropzone strong{font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:400}.scan-portal-dropzone span,.scan-portal-message{color:var(--muted);font-size:13px;font-weight:650}.scan-portal-dropzone input{display:none}.scan-portal-message{margin:0;color:var(--text-strong)}.scan-portal-login-link{width:max-content;justify-self:center;border:0;background:transparent;color:#2563eb;cursor:pointer;font:inherit;font-size:13px;font-weight:750;padding:0;text-decoration:none;transition:color .16s ease,transform .16s ease,text-decoration-color .16s ease}.scan-portal-login-link:hover,.scan-portal-login-link:focus-visible{color:#1d4ed8;outline:0;text-decoration:underline;text-underline-offset:4px;transform:scale(1.04)}.scan-portal-toast{display:grid;grid-template-columns:auto minmax(0,1fr);width:min(420px,calc(100vw - 36px));align-items:center;gap:12px;border:1px solid color-mix(in srgb,#22c55e 42%,var(--border));border-radius:16px;background:color-mix(in srgb,#f0fdf4 88%,#fffdf8);color:#14532d;box-shadow:0 24px 60px #14532d2e;padding:14px 16px;font-size:14px;font-weight:800;line-height:1.35;animation:scan-toast-enter .46s cubic-bezier(.16,1,.3,1) both}.scan-portal-toast-check{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;background:#22c55e;color:#fff;animation:scan-toast-check-pop .52s .14s cubic-bezier(.16,1,.3,1) both}.scan-portal-toast>span:last-child{animation:scan-toast-text-enter .52s .16s ease both}@keyframes scan-toast-enter{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scan-toast-check-pop{0%{opacity:0;transform:scale(.55)}70%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes scan-toast-text-enter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.eyebrow{color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase}.topbar h1{font-family:Georgia,Times New Roman,serif;font-size:32px;line-height:1.1;margin:5px 0 0}.topbar-actions{display:flex;align-items:center;gap:10px;min-width:0}.sync-pill{min-height:38px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--muted);padding:0 12px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:var(--soft-shadow)}.sync-pill.ready{color:var(--sync-ready-text);background:var(--sync-ready-bg)}.sync-pill.saving,.sync-pill.connecting{color:var(--metric-2)}.sync-pill.setup-needed,.sync-pill.error{color:var(--danger);background:var(--danger-bg)}.user-switcher,.project-switcher{min-height:44px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0 10px;box-shadow:var(--soft-shadow)}.user-switcher select,.project-switcher select{min-width:148px;border:0;background:transparent;color:var(--text-strong);font-weight:700;outline:0}.project-switcher select{min-width:170px}.project-switcher .switcher-label{color:var(--muted);font-size:13px;font-weight:900;white-space:nowrap}.project-color-dot{width:12px;height:12px;border:2px solid var(--card);border-radius:999px;box-shadow:0 0 0 1px var(--border);flex:0 0 auto}.project-color-dot.large{width:18px;height:18px}.topbar-settings.active{color:#fff;background:var(--accent-maroon)}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-modal-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#0f172a7a;padding:22px}.settings-modal-sheet{position:relative;width:min(1120px,calc(100vw - 44px));height:min(860px,calc(100svh - 44px));border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);box-shadow:0 24px 80px #0f172a47;padding:16px}.settings-modal-close{position:absolute;top:22px;right:22px;z-index:2}.settings-modal-sheet .settings-band{padding-right:68px}.settings-layout{min-height:0;height:100%;display:flex;flex-direction:column;gap:16px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.settings-band{flex:0 0 auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(135deg,var(--card),var(--surface)),var(--surface);box-shadow:var(--soft-shadow);padding:18px}.settings-band h2{margin:4px 0 0;color:var(--text-strong);font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1.1}.active-scheme-pill{min-height:52px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;background:var(--card);padding:0 14px}.active-scheme-pill strong,.active-scheme-pill span{display:block}.active-scheme-pill strong{color:var(--text-strong);font-size:14px}.active-scheme-pill span{color:var(--muted);font-size:12px;margin-top:2px}.settings-notice{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:8px;width:fit-content;border:1px solid var(--border);border-radius:8px;background:var(--sync-ready-bg);color:var(--sync-ready-text);padding:0 12px;font-weight:800}.settings-grid{flex:0 0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.settings-form-panel{min-height:238px;align-self:stretch;display:grid;grid-template-rows:auto 1fr}.settings-list-panel{background:var(--surface);flex:1;min-height:0;display:flex;flex-direction:column}.settings-form-panel .entry-form{height:100%;align-content:start}.settings-form-panel .primary-button{align-self:end;margin-top:auto}.qgo-share-panel{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 164px;gap:16px;align-items:center}.qgo-share-copy{min-width:0}.qgo-share-copy .panel-title{margin-bottom:8px}.qgo-share-copy p{margin:0 0 12px;color:var(--muted);font-size:13px;font-weight:700;line-height:1.45}.qgo-share-copy strong{color:var(--text-strong)}.netlify-build-panel{flex:0 0 auto}.netlify-build-copy{display:grid;gap:12px}.netlify-build-copy .panel-title{margin-bottom:0}.netlify-build-copy p{margin:0;color:var(--muted);font-size:13px;font-weight:700;line-height:1.45}.netlify-build-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.netlify-build-row .primary-button{min-width:176px}.netlify-build-path,.netlify-build-message{min-width:0;min-height:42px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:7px;background:#fffdf8;color:var(--text-strong);padding:0 11px;font-size:13px;font-weight:800}.netlify-build-path span,.netlify-build-message span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.netlify-build-message{width:fit-content;background:var(--sync-ready-bg);color:var(--sync-ready-text)}.netlify-build-panel.error .netlify-build-message{background:var(--sync-error-bg);color:var(--sync-error-text)}.netlify-build-spinner{animation:spin .9s linear infinite}.netlify-build-output{border:1px solid var(--border);border-radius:7px;background:#fffdf8;overflow:hidden}.netlify-build-output summary{cursor:pointer;padding:10px 12px;color:var(--text-strong);font-weight:900}.netlify-build-output pre{max-height:180px;margin:0;overflow:auto;border-top:1px solid var(--border);padding:12px;color:var(--text-strong);font-size:12px;white-space:pre-wrap}.qgo-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.qgo-link-row input{width:100%;min-width:0;height:42px;border:1px solid var(--border);border-radius:7px;background:#fffdf8;color:var(--text-strong);font:inherit;font-size:13px;outline:0;padding:0 11px}.qgo-link-row input:focus{border-color:var(--accent-maroon);box-shadow:0 0 0 3px var(--focus-ring)}.qgo-share-qr{justify-self:end;display:grid;justify-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:900}.qgo-share-qr img,.qgo-share-qr .qr-placeholder{width:128px;height:128px;border:1px solid var(--border);border-radius:8px;background:var(--card)}.settings-project-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:10px}.settings-project-row{border:1px solid var(--border);border-radius:8px;background:var(--card);padding:12px}.settings-project-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:12px;align-items:center}.settings-project-name{min-height:44px;display:flex;align-items:center}.project-select-button,.settings-user-row{border:0;border-radius:8px;color:var(--text-strong);background:transparent;cursor:pointer;font:inherit;text-align:left}.project-select-button{min-height:54px;display:flex;align-items:center;gap:10px;padding:8px 10px}.project-select-button:hover,.project-select-button.active,.settings-user-row:hover,.settings-user-row.active{background:var(--gold-light)}.project-select-button strong,.project-select-button span,.settings-project-name strong,.settings-project-name span,.settings-user-row strong,.settings-user-row span{display:block}.project-select-button strong,.settings-user-row strong,.settings-project-name strong{color:var(--text-strong);font-size:15px}.project-select-button div span,.settings-project-name span,.settings-user-row span{color:var(--muted);font-size:12px;margin-top:3px}.compact-select{min-height:44px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--muted);padding:0 10px}.compact-select select{width:100%;min-width:0;border:0;background:transparent;color:var(--text-strong);font:inherit;font-weight:800;outline:0}.palette-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.palette-choice{min-height:66px;display:grid;align-content:center;gap:7px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text-strong);cursor:pointer;font:inherit;padding:8px;text-align:left}.palette-choice:hover,.palette-choice.active{border-color:var(--choice-primary);box-shadow:0 0 0 3px var(--focus-ring)}.palette-choice strong{overflow:hidden;color:var(--text-strong);font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.palette-strip{height:12px;display:grid;grid-template-columns:1.2fr 1fr 1fr;overflow:hidden;border-radius:999px;background:var(--choice-surface)}.palette-strip i:nth-child(1){background:var(--choice-primary)}.palette-strip i:nth-child(2){background:var(--choice-secondary)}.palette-strip i:nth-child(3){background:var(--choice-surface)}.settings-user-row{min-height:58px;display:flex;align-items:center;gap:10px;padding:9px 10px}.settings-user-row svg{color:var(--accent-maroon)}.metric-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card,.panel,.bill-card,.labour-card,.document-card,.report-block{background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--soft-shadow)}.metric-card{min-height:150px;padding:16px;display:grid;align-content:space-between;gap:8px}.metric-card svg{color:var(--tone)}.metric-card span,.metric-card em{color:var(--muted);font-style:normal;font-size:13px}.metric-card strong{font-size:24px;line-height:1.12;color:var(--text-strong)}.metric-card.teal{--tone: var(--metric-1)}.metric-card.rose{--tone: var(--metric-2)}.metric-card.blue{--tone: var(--metric-3)}.metric-card.amber{--tone: var(--metric-4)}.panel{padding:16px;min-width:0}.span-2{grid-column:span 2}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-title>div{display:flex;align-items:center;gap:9px;min-width:0}.panel-title svg{color:var(--accent-maroon);flex:0 0 auto}.panel-title h2{font-size:18px;line-height:1.2;margin:0;color:var(--text-strong)}.chart-box{width:100%;height:310px}.chart-box.small{height:260px}.donut-wrap{display:grid;gap:10px}.legend-list{display:grid;gap:8px}.legend-row{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;font-size:13px}.legend-row span{width:10px;height:10px;border-radius:3px}.legend-row strong{color:var(--text-strong)}.legend-row em{color:var(--muted);font-style:normal}.bar-list,.queue-list,.audit-list{display:grid;gap:12px}.bar-row{display:grid;gap:8px}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px;color:var(--text-strong);font-size:14px}.bar-row span{color:var(--muted)}.bar-track{height:9px;background:var(--bar-track);border-radius:999px;overflow:hidden}.bar-track span{display:block;height:100%;background:var(--accent-maroon);border-radius:inherit}.queue-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--border);padding-bottom:12px}.queue-row:last-child{border-bottom:0;padding-bottom:0}.queue-row strong,.queue-row span{display:block}.queue-row strong{color:var(--text-strong)}.queue-row span{color:var(--muted);font-size:13px}.queue-row>div:last-child{text-align:right}.split-layout{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(0,1.3fr);gap:16px;align-items:start}.bill-workspace{display:flex;gap:0;align-items:stretch;min-height:0;height:100%;overflow:hidden;animation:bill-workspace-enter .46s .12s cubic-bezier(.16,1,.3,1) both}.scan-desk-panel{flex:0 0 0;width:0;min-width:0;max-width:min(72vw,920px);height:100%;min-height:0;position:relative;display:grid;grid-template-rows:minmax(300px,1fr) auto;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;margin-right:0;overflow-x:hidden;overflow-y:auto;opacity:0;transform:translate(-28px) scaleX(.94);transform-origin:left center;transition:flex-basis .68s cubic-bezier(.16,1,.3,1),margin-right .68s cubic-bezier(.16,1,.3,1),opacity .46s ease,transform .68s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.bill-workspace.scan-open .scan-desk-panel{flex-basis:clamp(320px,30vw,560px);width:clamp(320px,30vw,560px);margin-right:16px}.scan-desk-panel.open{opacity:1;transform:translate(0) scaleX(1)}.bill-workspace.scan-resizing,.bill-workspace.scan-resizing *{cursor:col-resize!important}.bill-workspace.scan-resizing .scan-desk-panel{transition:none;will-change:width,flex-basis}.scan-desk-panel.closing{pointer-events:none}.scan-desk-resize-handle{position:absolute;top:0;right:-10px;bottom:0;z-index:25;width:20px;border:0;background:transparent;cursor:col-resize!important;touch-action:none;padding:0}.scan-desk-resize-handle:after{content:"";position:absolute;top:50%;right:5px;width:3px;height:54px;border-radius:999px;background:color-mix(in srgb,var(--border) 72%,transparent);opacity:0;transform:translateY(-50%);transition:opacity .16s ease,background .16s ease}.scan-desk-panel:hover .scan-desk-resize-handle:after,.scan-desk-resize-handle:focus-visible:after,.scan-desk-resize-handle:hover:after{opacity:1;background:#6f4f2a}.bill-workspace.scan-resizing .scan-desk-resize-handle:after{opacity:1;background:#5b3f22}.sheet-entry-panel{flex:1 1 auto;min-width:0}.desk-scan-stage{position:relative;min-height:0;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--gold-light) 30%,transparent);overflow:hidden;display:grid;place-items:center}.desk-scan-stage.drop-ready{border-color:var(--accent-maroon);box-shadow:inset 0 0 0 3px var(--focus-ring)}.desk-scan-stage img{width:100%;height:100%;border:0;display:block}.desk-scan-stage img{object-fit:contain;transform-origin:center}.pdf-zoom-shell{position:relative;width:100%;height:100%;min-height:inherit;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y;display:block;background:color-mix(in srgb,var(--gold-light) 30%,transparent)}.pdf-zoom-shell::-webkit-scrollbar{width:0;height:0}.pdf-zoom-shell.zoomed{overflow:auto;touch-action:none}.pdf-bottom-controls{position:sticky;left:50%;bottom:12px;z-index:20;display:flex;width:max-content;gap:6px;align-items:center;margin:0 auto;transform:translate(-50%);border:1px solid rgba(84,84,84,.44);border-radius:8px;background:#2a2722d1;padding:5px;box-shadow:0 12px 28px #00000038;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pdf-bottom-controls button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:6px;background:#fffdf81f;color:#fffdf8;cursor:pointer;padding:0}.pdf-bottom-controls button:hover,.pdf-bottom-controls button:focus-visible{background:#fffdf83d;outline:0}.pdf-bottom-controls button:disabled{cursor:wait;opacity:.55}.pdf-zoom-frame{min-width:100%;min-height:100%;position:relative}.pdf-canvas-stack{position:relative;min-height:100%;display:grid;align-content:safe center;justify-items:center;gap:18px;padding:24px 16px}.pdf-zoom-shell.zoomed .pdf-canvas-stack{align-content:start}.pdf-canvas-stack canvas{width:100%;height:auto;max-width:100%;display:block;background:#fff;box-shadow:0 8px 22px #0000003d;opacity:0;transform:translateY(8px) scale(.992);transition:opacity .32s ease,transform .32s ease}.pdf-canvas-stack canvas.ready{opacity:1;transform:translateY(0) scale(1)}.pdf-render-error{align-self:center;justify-self:center;color:#fff;font-size:13px;font-weight:800}.pdf-loading-spinner{position:absolute;inset:0;z-index:1;display:grid;place-items:center;pointer-events:none}.pdf-loading-spinner span{position:relative;width:64px;height:64px;border-radius:50%;background:conic-gradient(from -38deg,color-mix(in srgb,var(--accent-maroon) 92%,var(--gold-light)) 0deg,color-mix(in srgb,var(--accent-maroon) 74%,var(--gold-hover)) 118deg,color-mix(in srgb,var(--border) 82%,#ffffff) 242deg,color-mix(in srgb,var(--gold-light) 88%,#ffffff) 318deg,transparent 319deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0);box-shadow:none;animation:pdf-ring-spin .9s linear infinite}.pdf-loading-spinner span:after{content:none}@keyframes pdf-ring-spin{to{transform:rotate(360deg)}}.receipt-drop-action{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;min-height:58px;border:1px dashed var(--border);border-radius:8px;background:#fffdf8f0;color:var(--text-strong);cursor:pointer;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;justify-content:center;gap:8px;padding:10px 12px;font:inherit;text-align:left;box-shadow:0 12px 30px #0f172a1f}.receipt-drop-action:disabled{cursor:wait}.receipt-drop-action.scanning{grid-template-columns:auto minmax(0,1fr);justify-content:stretch;border-style:solid;border-color:var(--accent-maroon)}.receipt-drop-action.scanning svg{animation:spin .9s linear infinite}.receipt-drop-action strong,.receipt-drop-action span{white-space:nowrap}.receipt-drop-action.scanning strong,.receipt-drop-action.scanning span{white-space:normal}.receipt-drop-action span{color:var(--muted);font-size:12px}.receipt-drop-action em{grid-column:1 / -1;height:5px;border-radius:999px;background:var(--bar-track);overflow:hidden;margin-top:2px}.receipt-drop-action em i{display:block;height:100%;border-radius:inherit;background:var(--accent-maroon);transition:width .18s ease}.receipt-drop-action:hover,.desk-scan-stage.drop-ready .receipt-drop-action{border-color:var(--accent-maroon);background:#fffdf8}@keyframes spin{to{transform:rotate(360deg)}}.receipt-import-note{min-height:36px;border:1px solid var(--border);border-radius:8px;background:var(--gold-light);color:var(--text-strong);display:flex;align-items:center;gap:8px;padding:8px 10px;margin-top:10px;font-size:12px;font-weight:800}.scan-desk-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.scan-desk-actions .primary-button,.scan-desk-actions .secondary-button{min-width:0;padding-inline:10px;white-space:nowrap}.scan-inbox-list{display:grid;gap:8px;margin-top:14px;max-height:180px;overflow:auto}.scan-inbox-list button,.scan-inbox-empty{width:100%;min-height:58px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;color:var(--text-strong);display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:10px;padding:10px;text-align:left}.scan-inbox-list button{cursor:pointer;font:inherit}.scan-inbox-list button.active{border-color:var(--accent-maroon);background:var(--gold-light)}.scan-inbox-list strong,.scan-inbox-list span{display:block}.scan-inbox-list strong{font-size:13px}.scan-inbox-list span{color:var(--muted);font-size:12px;margin-top:2px}.scan-dot{width:10px;height:10px;border-radius:999px;background:var(--accent-maroon)}.scan-dot.local{background:#a08050}.scan-inbox-empty{grid-template-columns:auto minmax(0,1fr);color:var(--muted)}.sheet-entry-panel{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:0;height:100%;overflow:hidden}.sheet-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-status-row strong{color:var(--muted);font-size:13px}.sheet-toolbar{display:grid;grid-template-columns:42px max-content minmax(240px,1fr) minmax(0,520px) max-content;width:100%;gap:10px;align-items:center;position:relative;z-index:120;animation:bill-workspace-enter .42s .18s cubic-bezier(.16,1,.3,1) both}.bill-workspace.scan-open .sheet-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}.bill-workspace.scan-open .bill-scan-panel-toggle{order:1;flex:0 0 36px}.bill-workspace.scan-open .bill-toolbar-title{order:2;flex:0 1 104px;min-width:78px;overflow:hidden;font-size:15px;text-overflow:ellipsis}.bill-workspace.scan-open .bill-search-box{order:3;flex:1 1 170px;min-width:118px}.bill-workspace.scan-open .bill-toolbar-actions{order:4;flex:0 0 auto}.bill-workspace.scan-open .bill-toolbar-filters{order:5;flex:1 0 282px}.bill-workspace.scan-open .toolbar-tooltip-control{flex:1 1 86px}.bill-workspace.scan-open .sheet-toolbar input,.bill-workspace.scan-open .sheet-toolbar select,.bill-workspace.scan-open .sheet-toolbar .icon-button,.bill-workspace.scan-open .sheet-toolbar .bill-scan-panel-toggle,.bill-workspace.scan-open .sheet-toolbar .igst-toggle-button{height:36px;min-height:36px}.bill-workspace.scan-open .sheet-toolbar input,.bill-workspace.scan-open .sheet-toolbar select{min-width:0;padding-inline:8px;font-size:12px;text-overflow:ellipsis}.bill-workspace.scan-open .bill-search-box input{padding-left:30px}.bill-workspace.scan-open .search-box svg{left:9px}.bill-workspace.scan-open .sheet-toolbar .icon-button,.bill-workspace.scan-open .sheet-toolbar .bill-scan-panel-toggle{width:36px}.bill-workspace.scan-open .sheet-toolbar .igst-toggle-button{width:48px;font-size:11px}.bill-toolbar-filters{display:grid;grid-template-columns:repeat(3,minmax(118px,1fr));min-width:0;gap:10px}.bill-workspace.scan-open .bill-toolbar-filters{grid-template-columns:repeat(3,minmax(86px,1fr));gap:6px}.bill-toolbar-actions{display:inline-flex;min-width:max-content;align-items:center;gap:10px}.bill-workspace.scan-open .bill-toolbar-actions{gap:6px}.bill-toolbar-title{display:inline-flex;align-items:center;gap:8px;color:var(--text-strong);font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:900;line-height:1.05;white-space:nowrap}.bill-toolbar-title svg{color:var(--accent-maroon);flex:0 0 auto}.bill-search-box{min-width:0;margin-left:0}.sheet-entry-panel.qgo-readonly .sheet-toolbar{grid-template-columns:38px max-content minmax(220px,1fr) minmax(0,490px)}.sheet-entry-panel.qgo-readonly{font-size:12px}.sheet-entry-panel.qgo-readonly .bill-toolbar-title{font-size:16px}.sheet-entry-panel.qgo-readonly .bill-search-box{margin-left:0}.sheet-entry-panel.qgo-readonly .sheet-toolbar input,.sheet-entry-panel.qgo-readonly .sheet-toolbar select{height:38px;min-height:38px;font-size:12px}.sheet-entry-panel.qgo-readonly .sheet-toolbar .icon-button,.sheet-entry-panel.qgo-readonly .sheet-toolbar .bill-scan-panel-toggle{width:38px;height:38px}.sheet-toolbar input,.sheet-toolbar select{width:100%;height:42px;min-height:42px;box-sizing:border-box;border:1px solid var(--border);border-radius:7px;color:var(--text-strong);background:#fffdf8;font:inherit;font-size:14px;line-height:1.2;outline:0;padding:0 11px}.sheet-toolbar .toolbar-tooltip-control{min-width:0}.sheet-toolbar .toolbar-tooltip-control select{display:block}.sheet-toolbar .icon-button,.sheet-toolbar .bill-scan-panel-toggle{width:42px;height:42px}.igst-toggle-button{width:58px;height:42px;border:1px solid var(--border);border-radius:7px;background:#fffdf8;color:var(--text-strong);cursor:pointer;font:inherit;font-size:12px;font-weight:900}.igst-toggle-button:hover,.igst-toggle-button:focus-visible,.igst-toggle-button.active{border-color:var(--accent-maroon);background:var(--gold-light);color:var(--accent-maroon);outline:0}.sheet-toolbar .icon-button,.sheet-toolbar .toolbar-tooltip-control,.sheet-toolbar .bill-scan-panel-toggle,.sheet-toolbar .igst-toggle-button{position:relative}.sheet-toolbar .icon-button[data-tooltip]:after,.sheet-toolbar .toolbar-tooltip-control[data-tooltip]:after,.sheet-toolbar .bill-scan-panel-toggle[data-tooltip]:after,.sheet-toolbar .igst-toggle-button[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);z-index:300;min-width:max-content;border:1px solid var(--border);border-radius:7px;background:var(--card);color:var(--text-strong);box-shadow:var(--soft-shadow);padding:7px 9px;font-size:12px;font-weight:900;line-height:1.2;opacity:0;pointer-events:none}.sheet-toolbar .bill-scan-panel-toggle[data-tooltip]:after{left:0;transform:none}.sheet-toolbar .icon-button[data-tooltip]:hover:after,.sheet-toolbar .icon-button[data-tooltip]:focus-visible:after,.sheet-toolbar .toolbar-tooltip-control[data-tooltip]:hover:after,.sheet-toolbar .toolbar-tooltip-control[data-tooltip]:focus-visible:after,.sheet-toolbar .bill-scan-panel-toggle[data-tooltip]:hover:after,.sheet-toolbar .bill-scan-panel-toggle[data-tooltip]:focus-visible:after,.sheet-toolbar .igst-toggle-button[data-tooltip]:hover:after,.sheet-toolbar .igst-toggle-button[data-tooltip]:focus-visible:after{opacity:1}.sheet-toolbar input:focus,.sheet-toolbar select:focus{border-color:var(--accent-maroon);box-shadow:0 0 0 3px #c8b48a38}.bill-sheet-scroll-shell{position:relative;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;overflow:hidden;animation:bill-table-enter .48s .24s cubic-bezier(.16,1,.3,1) both}.bill-sheet-scroll{position:relative;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;background:#fffdf8;overflow:auto;overscroll-behavior-x:none;overscroll-behavior-y:contain;scrollbar-gutter:auto;scrollbar-width:none;-ms-overflow-style:none}.bill-sheet-scroll::-webkit-scrollbar{width:0;height:0}.bill-sheet-scrollbar{position:absolute;z-index:24;border-radius:999px;background:color-mix(in srgb,var(--gold-hover) 72%,#ffffff);box-shadow:0 0 0 1px #fffdf8b8;cursor:grab;opacity:0;pointer-events:none;transition:opacity .14s ease}.bill-sheet-scrollbar.vertical{top:var(--bill-scrollbar-thumb-top, 6px);right:3px;width:8px;height:var(--bill-scrollbar-thumb-height, 0px)}.bill-sheet-scrollbar.horizontal{left:var(--bill-scrollbar-thumb-left, 6px);bottom:3px;width:var(--bill-scrollbar-thumb-width, 0px);height:8px}.bill-sheet-scroll-shell.scrollbar-visible .bill-sheet-scrollbar{opacity:1;pointer-events:auto}.bill-sheet-scrollbar:active{cursor:grabbing}.bill-sheet-scroll.drop-ready{border-color:var(--accent-maroon);box-shadow:inset 0 0 0 3px var(--focus-ring)}.bill-sheet-scroll.drop-ready:after{content:"Drop receipt PDF here";position:sticky;left:50%;bottom:18px;z-index:3;display:block;width:max-content;max-width:calc(100% - 32px);transform:translate(-50%);border:1px dashed var(--border);border-radius:8px;background:#fffdf8f0;color:var(--text-strong);padding:10px 14px;font-size:13px;font-weight:900;text-align:center;pointer-events:none;box-shadow:0 12px 30px #0f172a1f}.bill-sheet{width:100%;table-layout:fixed;border-collapse:collapse;animation:bill-table-enter .52s .28s cubic-bezier(.16,1,.3,1) both}.bill-sheet th,.bill-sheet td{border-right:1px solid #9a9a9a;border-bottom:1px solid #9a9a9a;padding:0}.bill-sheet th:first-child,.bill-sheet td:first-child{border-left:0}.bill-sheet th:last-child,.bill-sheet td:last-child{border-right:0}.bill-sheet th{position:sticky;top:0;z-index:1;background:#ead8b6;box-shadow:inset 0 -1px #9a9a9a;color:var(--text-strong);font-family:Georgia,Times New Roman,serif;font-size:11px;font-weight:700;text-align:center;white-space:nowrap;padding:14px 15px}.bill-sheet th>span{display:flex;width:100%;min-width:0;align-items:center;justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.bill-sheet th[data-bill-column=invoiceNumber]{text-align:center}.bill-sheet th[data-bill-column=sgstPercent],.bill-sheet th[data-bill-column=cgstPercent],.bill-sheet th[data-bill-column=igstPercent],.bill-sheet th[data-bill-column=roundedTo]{font-size:10px;padding-inline:6px}.bill-sheet th[data-bill-column=sgstPercent]>span,.bill-sheet th[data-bill-column=cgstPercent]>span,.bill-sheet th[data-bill-column=igstPercent]>span{white-space:nowrap;overflow-wrap:normal;word-break:normal}.bill-sheet th[data-bill-column=roundedTo]>span{line-height:1.05;white-space:pre-line;overflow-wrap:normal;word-break:normal}.bill-sheet th[data-bill-column=date],.bill-sheet th[data-bill-column=invoiceNumber],.bill-sheet td[data-bill-column=date],.bill-sheet td[data-bill-column=invoiceNumber]{font-size:11px}.sheet-entry-panel.qgo-readonly .bill-sheet th{font-size:9px;padding:12px}.bill-sheet th:first-child{padding-inline:0;text-align:center}.bill-sheet th .rupee-symbol{color:var(--text-strong)}.bill-scan-panel-toggle{display:inline-grid;width:30px;height:30px;place-items:center;border:1px solid rgba(42,31,14,.16);border-radius:6px;background:transparent;color:var(--accent-maroon);cursor:pointer;padding:0}.bill-scan-panel-toggle.active{border-color:var(--border);background:color-mix(in srgb,var(--gold-light) 58%,transparent)}.bill-scan-panel-toggle:hover,.bill-scan-panel-toggle:focus-visible{background:var(--gold-light);outline:0}.bill-sheet td{background:#fffdf8;overflow:hidden}.bill-sheet .party-autocomplete-cell,.bill-sheet .item-autocomplete-cell{position:relative;overflow:visible}.bill-sheet .saved-row td.party-autocomplete-cell,.bill-sheet .saved-row td.item-autocomplete-cell,.bill-sheet .saved-row td.percent-cell{overflow:visible}.bill-sheet .saved-row td.party-autocomplete-cell:focus-within,.bill-sheet .saved-row td.item-autocomplete-cell:focus-within,.bill-sheet .saved-row td.percent-cell:focus-within{position:relative;z-index:30}.bill-sheet td.amount-cell{font-weight:600;text-align:right}.bill-sheet td[data-bill-column=grossAmount],.bill-sheet td[data-bill-column=netAmount]{font-weight:700}.bill-sheet td[data-bill-column=category],.bill-sheet td[data-bill-column=category] input,.bill-sheet td[data-bill-column=category] textarea{font-size:12px}.bill-sheet td[data-bill-column=grossAmount] .accounting-amount,.bill-sheet td[data-bill-column=grossAmount] input,.bill-sheet td[data-bill-column=netAmount] .accounting-amount,.bill-sheet td[data-bill-column=netAmount] input{font-weight:700}.bill-sheet td[data-bill-column=sgstPercent],.bill-sheet td[data-bill-column=cgstPercent],.bill-sheet td[data-bill-column=igstPercent]{font-size:12px;text-align:center}.bill-sheet td[data-bill-column=sgstAmount],.bill-sheet td[data-bill-column=cgstAmount],.bill-sheet td[data-bill-column=igstAmount]{color:#657789;font-size:11px;font-weight:600;text-align:right}.bill-sheet td[data-bill-column=sgstPercent] input,.bill-sheet td[data-bill-column=cgstPercent] input,.bill-sheet td[data-bill-column=igstPercent] input{font-size:12px;text-align:center}.bill-sheet td[data-bill-column=sgstAmount] input,.bill-sheet td[data-bill-column=cgstAmount] input,.bill-sheet td[data-bill-column=igstAmount] input{font-size:11px;text-align:right}.bill-sheet td[data-bill-column=sgstAmount] .accounting-amount,.bill-sheet td[data-bill-column=cgstAmount] .accounting-amount,.bill-sheet td[data-bill-column=igstAmount] .accounting-amount{color:#657789;font-size:11px;justify-content:end}.bill-sheet td[data-bill-column=sgstAmount] .rupee-prefix,.bill-sheet td[data-bill-column=cgstAmount] .rupee-prefix,.bill-sheet td[data-bill-column=igstAmount] .rupee-prefix{font-size:11px}.percent-edit-cell{position:relative;display:inline-flex;width:min(100%,12ch);height:100%;min-height:25px;align-items:center;justify-content:center;gap:2px;overflow:visible}.bill-sheet .saved-row .percent-edit-cell input{width:min(100%,8ch);text-align:center}.percent-suffix{color:var(--muted);font-size:12px;font-weight:800}.accounting-amount{display:inline-grid;grid-template-columns:auto minmax(0,auto) auto;justify-content:end;align-items:center;column-gap:0;width:100%;max-width:100%;font-variant-numeric:proportional-nums;font-feature-settings:"tnum" 0,"pnum" 1;white-space:nowrap}.rupee-prefix,.rupee-symbol{color:var(--border);font-weight:400;font-variant-numeric:normal;line-height:inherit}.accounting-amount .rupee-prefix{margin-right:3px}.accounting-amount-whole{min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis}.accounting-amount-decimal{text-align:left}.bill-sheet input,.bill-sheet textarea,.bill-sheet select{width:100%;min-height:40px;border:0;border-radius:0;background:transparent;color:var(--text-strong);font:inherit;font-size:12px;outline:0;padding:0 8px}.bill-sheet input:focus,.bill-sheet textarea:focus,.bill-sheet select:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--accent-maroon)}.bill-sheet textarea{display:block;height:100%;resize:none;line-height:1.25;white-space:pre-wrap;overflow:auto}.bill-sheet input[type=number]{appearance:textfield;-moz-appearance:textfield}.bill-sheet input[type=number]::-webkit-outer-spin-button,.bill-sheet input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bill-sheet .entry-row td{background:#fffdf8}.bill-sheet .saved-row{cursor:pointer}.bill-sheet .saved-row.dragging td{opacity:.56}.bill-sheet .saved-row.drag-over td{box-shadow:inset 0 2px 0 var(--accent-maroon)}.bill-sheet .saved-row td{position:relative;height:35px;color:var(--text-strong);font-size:12px;font-weight:500;line-height:1.2;white-space:normal;background:#fffffe;padding:5px 8px;overflow:visible;overflow-wrap:anywhere;word-break:break-word;vertical-align:middle}.bill-sheet td[data-bill-column=invoiceNumber]{text-align:center}.bill-sheet td[data-bill-column=gstNumber]{font-size:11px;text-align:center}.bill-sheet td[data-bill-column=invoiceNumber] textarea{text-align:center}.bill-sheet td[data-bill-column=gstNumber] textarea{font-size:11px;text-align:center}.sheet-entry-panel.qgo-readonly .bill-sheet .saved-row td{font-size:10px}.bill-sheet .saved-row input,.bill-sheet .saved-row select{display:block;height:25px;min-height:25px;border:0;border-radius:0;appearance:none;-webkit-appearance:none;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;line-height:25px;padding:0;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-sheet .saved-row textarea{display:block;min-height:25px;line-height:1.2;resize:none;scrollbar-width:none;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.bill-sheet .saved-row textarea.cell-textarea-edit,.bill-sheet .saved-row textarea.item-edit-input{box-sizing:border-box;position:absolute;top:50%;left:8px;right:8px;width:calc(100% - 16px);height:var(--bill-edit-height, 1.25em);max-height:calc(100% - 10px);min-height:25px;line-height:1.2;overflow:hidden;padding:0;resize:none;transform:translateY(-50%);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.bill-sheet .saved-row textarea::-webkit-scrollbar{display:none}.bill-sheet .saved-row input::placeholder,.bill-sheet .saved-row textarea::placeholder{color:var(--text-strong);opacity:1}.bill-sheet .saved-row .item-edit-cell{position:relative;display:block;width:100%;height:100%;min-height:25px}.bill-sheet .saved-row .item-edit-input{width:100%}.bill-sheet .saved-row textarea.item-edit-input{position:static;left:0;right:0;width:100%;height:auto;max-height:none;text-align:left;transform:none}.bill-sheet .saved-row input:focus,.bill-sheet .saved-row textarea:focus,.bill-sheet .saved-row select:focus{background:transparent;box-shadow:none}.bill-sheet .saved-row .scan-info-button{min-height:0;color:var(--muted)}.bill-sheet .saved-row[draggable=true] .scan-info-button,.bill-sheet .saved-row[draggable=true] .scan-info-button:active{cursor:pointer}.bill-sheet .saved-row .scan-info-button:hover,.bill-sheet .saved-row .scan-info-button.active{background:transparent;color:var(--accent-maroon)}.money-edit-cell{display:flex;align-items:center;justify-content:flex-end;gap:3px;width:100%;height:100%;min-height:25px;min-width:0;overflow:hidden}.money-edit-cell>span{flex:0 0 auto}.bill-sheet .saved-row .money-edit-cell input{width:min(100%,14ch);min-width:0;flex:0 1 auto;text-align:right}.bill-sheet .saved-row .approval-status-select{width:100%;height:24px;min-height:24px;border:1px solid var(--border);border-radius:6px;appearance:auto;-webkit-appearance:auto;background:#fffdf8;color:var(--text-strong);cursor:pointer;font:inherit;line-height:1.2;padding:0 6px}.bill-sheet .saved-row .approval-status-select.paid{border-color:#16a34a73;background:#bbf7d099}.bill-sheet .saved-row .approval-status-select.unpaid{border-color:#dc262673;background:#fecaca99}.bill-sheet .saved-row .approval-status-select.partly-paid{border-color:#ca8a0473;background:#fef08a99}.bill-sheet .saved-row.active .approval-status-select{background:color-mix(in srgb,var(--gold-light) 72%,#ffffff)}.bill-sheet .saved-row.active .approval-status-select.paid{background:#bbf7d099}.bill-sheet .saved-row.active .approval-status-select.unpaid{background:#fecaca99}.bill-sheet .saved-row.active .approval-status-select.partly-paid{background:#fef08a99}.bill-sheet td.total-amount-cell,.bill-sheet td.approval-status-cell{position:relative}.bill-sheet td.partly-paid-status-cell:hover,.bill-sheet td.partly-paid-status-cell:focus-within{box-shadow:inset 0 0 0 2px #ca8a0494,0 0 0 2px #fef08a42}.partly-paid-tooltip{position:absolute;right:8px;bottom:calc(100% + 8px);z-index:80;display:grid;min-width:198px;gap:5px;border:1px solid var(--border);border-radius:7px;background:var(--card);color:var(--text-strong);box-shadow:var(--soft-shadow);padding:9px 10px;font-size:12px;line-height:1.2;text-align:left;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease}.partly-paid-tooltip:after{content:"";position:absolute;right:0;bottom:-10px;left:0;height:10px}.partly-paid-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.partly-paid-tooltip-header strong,.partly-paid-tooltip span{white-space:nowrap}.partly-paid-tooltip strong{font-weight:900}.partly-paid-tooltip span{color:var(--muted);font-weight:800}.partly-paid-edit-button{position:relative;z-index:1;display:inline-grid;width:24px;height:24px;place-items:center;border:1px solid rgba(202,138,4,.26);border-radius:999px;background:#fef08a42;color:#7a4a09;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.partly-paid-edit-button:hover{border-color:#ca8a0475;background:#fef08a80;transform:translateY(-1px)}.partly-paid-edit-button:disabled{cursor:wait;opacity:.62}.partly-paid-status-cell:hover .partly-paid-tooltip,.partly-paid-status-cell:focus-within .partly-paid-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}.bill-date-editor{position:relative;display:inline-grid;grid-template-columns:2ch 3ch 4ch;align-items:center;gap:.45ch;width:9.9ch;height:100%;min-height:25px;max-width:100%;min-width:0}.bill-sheet .saved-row .bill-date-editor input{width:100%;min-width:0;text-align:left;border-radius:4px;cursor:text}.bill-sheet .saved-row .bill-date-editor input:focus{background:#fffdf8b3;box-shadow:inset 0 -1px 0 var(--accent-maroon)}.bill-sheet .saved-row .date-edit-cell{overflow:visible;position:relative;z-index:4}.bill-date-menu{position:fixed;z-index:120;display:grid;gap:4px;width:max-content;max-width:none;max-height:248px;overflow-x:hidden;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--card);padding:6px;box-shadow:0 14px 36px #2a1f0e2e;scrollbar-color:transparent transparent;scrollbar-width:thin;overflow-wrap:normal;white-space:nowrap;word-break:normal}.bill-date-menu:hover,.bill-date-menu:focus-within{scrollbar-color:rgba(107,30,42,.38) transparent}.bill-date-menu::-webkit-scrollbar{width:5px;height:5px}.bill-date-menu::-webkit-scrollbar-track{background:transparent}.bill-date-menu::-webkit-scrollbar-thumb{border-radius:999px;background:transparent}.bill-date-menu:hover::-webkit-scrollbar-thumb,.bill-date-menu:focus-within::-webkit-scrollbar-thumb{background:#6b1e2a61}.bill-date-menu.day-menu{grid-template-columns:repeat(7,24px)}.bill-date-menu.month-menu{grid-template-columns:repeat(3,36px)}.bill-date-menu.year-menu{grid-template-columns:repeat(1,74px)}.bill-date-menu button{min-height:24px;border:0;border-radius:5px;background:transparent;color:var(--text-strong);cursor:pointer;font:inherit;font-size:11px;font-weight:700;line-height:1;overflow-wrap:normal;white-space:nowrap;word-break:normal}.bill-drop-buffer-space{width:100%;min-height:210px;background:#fffdf8;padding:14px 16px;box-sizing:border-box}.bill-filtered-totals{display:flex;align-items:center;justify-content:flex-end;gap:18px;color:var(--text-strong);font-size:12px;font-weight:700}.bill-filtered-totals span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.bill-filtered-totals strong{font-weight:750;white-space:nowrap}.bill-date-menu button:hover,.bill-date-menu button.active{background:var(--gold-light);color:var(--accent-maroon)}.bill-sheet .saved-row.active td{background:var(--gold-light)}.bill-sheet .saved-row.pending-scan-row td{background:color-mix(in srgb,#f6e7b8 62%,#fffdf8)}.bill-sheet .saved-row.pending-scan-row.active td{background:color-mix(in srgb,#efd894 72%,#fffdf8)}.party-suggestion-menu,.item-suggestion-menu,.percent-suggestion-menu{position:absolute;top:calc(100% + 2px);left:0;z-index:80;width:min(340px,max(100%,220px));max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:#fffffe;box-shadow:0 16px 38px #0f172a29;padding:5px}.party-suggestion-menu button,.item-suggestion-menu button,.percent-suggestion-menu button{display:grid;gap:2px;width:100%;min-height:38px;border:0;border-radius:6px;background:transparent;color:var(--text-strong);cursor:pointer;font:inherit;line-height:1.2;text-align:left;padding:6px 8px}.party-suggestion-menu button:hover,.party-suggestion-menu button:focus-visible,.item-suggestion-menu button:hover,.item-suggestion-menu button:focus-visible,.percent-suggestion-menu button:hover,.percent-suggestion-menu button:focus-visible{background:var(--gold-light);outline:0}.party-suggestion-menu span,.item-suggestion-menu span,.percent-suggestion-menu span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.percent-suggestion-menu{width:min(150px,max(100%,92px))}.percent-suggestion-menu button{min-height:30px;text-align:center}.party-suggestion-menu small{color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.cell-marquee{display:block;width:100%;overflow:visible;line-height:1.2;white-space:normal}.cell-marquee-track{display:block;max-width:100%;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.cell-multiline{display:block;width:100%;overflow:hidden;line-height:1.25;white-space:pre-wrap;word-break:break-word}.invoice-context-menu{position:fixed;z-index:70;width:138px;border:1px solid var(--border);border-radius:5px;background:var(--surface);box-shadow:0 11px 30px #0f172a29;padding:3px}.column-lock-context-menu{width:156px}.invoice-context-menu button{width:100%;min-height:22px;border:0;border-radius:4px;background:transparent;color:var(--text-strong);cursor:pointer;font:inherit;font-size:11.5px;font-weight:400;text-align:left;padding:0 6px}.invoice-context-menu button:hover{background:var(--gold-light)}.invoice-context-menu .delete-option{color:var(--danger)}.invoice-context-menu .delete-option:hover{background:var(--danger-bg)}.delete-invoice-backdrop,.approval-status-backdrop,.replace-pdf-backdrop{position:fixed;inset:0;z-index:75;background:#0f172a99;display:grid;place-items:center;padding:18px}.delete-invoice-sheet,.approval-status-sheet,.replace-pdf-sheet{width:min(520px,calc(100vw - 32px));border-radius:10px;background:var(--surface);box-shadow:0 24px 80px #0f172a47;overflow:hidden}.delete-invoice-body,.approval-status-body,.replace-pdf-body{display:grid;gap:14px;padding:16px}.delete-invoice-body>svg{color:var(--danger)}.approval-status-body>svg{color:var(--accent-maroon)}.partly-paid-sheet{width:min(560px,calc(100vw - 32px))}.partly-paid-body{display:grid;gap:16px;padding:16px}.partly-paid-field{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:12px}.partly-paid-field span,.partly-paid-calculation span{color:var(--muted);font-size:13px;font-weight:900}.partly-paid-field input{width:100%;min-height:42px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;color:var(--text-strong);font:inherit;font-weight:750;outline:0;padding:0 12px;text-align:right}.partly-paid-field input:focus{border-color:var(--accent-maroon);box-shadow:0 0 0 3px var(--focus-ring)}.partly-paid-calculation{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;padding:12px}.partly-paid-calculation strong{color:var(--text-strong);font-size:17px;text-align:right}.approval-status-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.replace-pdf-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;padding:12px}.replace-pdf-summary svg{color:var(--accent-maroon)}.replace-pdf-summary strong,.replace-pdf-summary span{display:block}.replace-pdf-summary span{color:var(--muted);font-size:13px;margin-top:2px}.replace-pdf-drop-zone{display:grid;justify-items:center;gap:8px;min-height:190px;border:1px dashed var(--border-strong);border-radius:9px;background:var(--gold-soft);color:var(--text-strong);padding:20px;text-align:center}.replace-pdf-drop-zone.drag-active{border-color:var(--accent-maroon);background:var(--gold-light)}.replace-pdf-drop-zone.busy{opacity:.72}.replace-pdf-drop-zone>svg{color:var(--accent-maroon)}.replace-pdf-drop-zone strong{font-size:16px}.replace-pdf-drop-zone span,.replace-pdf-message{color:var(--muted);font-size:13px}.replace-pdf-message{margin:0}.delete-invoice-body p,.approval-status-body p{margin:0;color:var(--muted);line-height:1.45}.approval-status-body p strong{color:var(--text-strong)}.delete-invoice-summary{border:1px solid var(--border);border-radius:8px;background:#fffdf8;padding:12px}.delete-invoice-summary strong,.delete-invoice-summary span{display:block}.delete-invoice-summary span{color:var(--muted);font-size:13px;margin-top:4px}.delete-invoice-body code{display:block;border:1px solid var(--border);border-radius:7px;background:var(--gold-light);color:var(--text-strong);padding:9px 10px;font-weight:900;white-space:normal}.delete-invoice-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.approval-confirm-check{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;width:max-content;max-width:100%;color:var(--text-strong);cursor:pointer;font-size:14px;font-weight:900;padding:2px 0}.approval-confirm-check input{width:18px;height:18px;accent-color:var(--accent-maroon)}.danger-button{min-height:42px;border:0;border-radius:8px;background:var(--danger);color:#fff;cursor:pointer;font:inherit;font-weight:900;padding:0 16px}.danger-button:disabled{cursor:not-allowed;opacity:.45}.scan-info-cell{position:relative;padding:0!important;text-align:center;vertical-align:middle}.bill-sheet .saved-row[draggable=true] .scan-info-cell{cursor:grab}.bill-sheet .saved-row[draggable=true] .scan-info-cell:active{cursor:grabbing}.scan-info-button{position:relative;z-index:4;width:30px;height:30px;min-height:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;display:inline-grid;place-items:center;padding:0}.scan-info-button:hover,.scan-info-button.active{color:var(--accent-maroon);background:var(--gold-light)}.serial-number-cell{color:var(--muted);font-weight:400!important;padding:0!important;position:relative;text-align:center;vertical-align:middle!important;white-space:nowrap!important}.serial-number-display{display:grid;width:100%;height:100%;min-height:25px;cursor:grab;place-items:center;font-variant-numeric:tabular-nums;line-height:1}.bill-sheet .saved-row[draggable=true] .serial-number-cell:active .serial-number-display{cursor:grabbing}.bill-sheet .saved-row .serial-number-cell input{display:block;width:100%;height:100%;min-height:25px;cursor:text;font-variant-numeric:tabular-nums;line-height:1;padding:0 4px;text-align:center}.column-resize-handle{position:absolute;top:0;right:-4px;z-index:3;width:8px;height:100%;border:0;background:transparent;cursor:col-resize;padding:0;touch-action:none}.column-resize-handle.locked{cursor:not-allowed;opacity:.35}.column-resize-handle:after{content:"";position:absolute;top:8px;bottom:8px;left:3px;width:1px;background:transparent}.column-resize-handle:hover:after,.column-resize-handle:focus-visible:after{background:var(--accent-maroon)}.column-resize-handle.locked:hover:after,.column-resize-handle.locked:focus-visible:after{background:transparent}.row-resize-handle{position:absolute;right:0;bottom:0;left:0;z-index:6;display:block;height:10px;border:0;background:transparent;cursor:ns-resize;padding:0;pointer-events:auto;touch-action:none}.row-resize-handle:after{content:"";position:absolute;right:7px;bottom:2px;left:7px;height:1px;background:transparent}.row-resize-handle:hover:after,.row-resize-handle:focus-visible:after{background:var(--accent-maroon)}.register-panel{grid-column:1 / -1}.form-panel{position:sticky;top:20px}.attached-scan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;padding:12px;margin-bottom:14px}.attached-scan-row strong,.attached-scan-row span{display:block}.attached-scan-row strong{color:var(--text-strong);font-size:14px}.attached-scan-row span{color:var(--muted);font-size:12px;margin-top:3px}.scan-input-hidden{position:fixed;right:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}.scan-capture-label,.scan-capture-action{position:relative;overflow:hidden;cursor:pointer}.scan-capture-label input,.scan-capture-action input{position:absolute;inset:0;opacity:0;cursor:pointer}.scan-zone{display:grid;gap:12px;margin-bottom:16px}.upload-tile{min-height:118px;border:1px dashed #94a3b8;border-radius:8px;background:#fffdf8;display:grid;place-items:center;gap:4px;text-align:center;cursor:pointer;color:var(--text-strong)}.upload-tile input,.upload-button input{display:none}.upload-tile span{color:var(--muted);font-size:13px}.scan-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scan-controls label{display:grid;gap:6px;color:var(--muted);font-size:13px}.scan-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.empty-scan,.scan-preview,.pdf-preview{border:1px solid var(--border);border-radius:8px;background:#fffdf8}.empty-scan{grid-column:1 / -1;height:86px;display:grid;place-items:center;color:var(--muted);font-size:13px}.scan-preview{position:relative;height:124px;overflow:hidden}.scan-preview img{width:100%;height:100%;object-fit:cover;display:block}.scan-preview small{position:absolute;left:6px;bottom:6px;background:#0f172ab8;color:#fff;border-radius:999px;padding:2px 7px}.pdf-preview{width:100%;height:100%;display:grid;place-items:center;color:var(--accent-maroon)}.scan-modal-backdrop{position:fixed;inset:0;z-index:40;background:#0f172a9e;display:grid;align-items:end}.document-modal-backdrop{align-items:center;justify-items:center;padding:14px}.scan-sheet{width:min(760px,100%);max-height:94svh;margin:0 auto;border-radius:18px 18px 0 0;background:var(--surface);overflow:auto;box-shadow:0 -24px 60px #0f172a40}.scan-viewer-sheet{width:min(920px,100%);max-height:94svh;margin:0 auto;border-radius:18px 18px 0 0;background:var(--surface);overflow:auto;box-shadow:0 -24px 60px #0f172a40}.scan-sheet-header{position:sticky;top:0;z-index:1;background:var(--surface);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px}.scan-sheet-header span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.scan-sheet-header h2{margin:2px 0 0;color:var(--text-strong);font-size:20px}.scan-editor-body{display:grid;gap:14px;padding:14px}.scan-crop-stage{height:min(58svh,520px);min-height:320px;border-radius:8px;border:1px solid var(--border);background:var(--gold-light);overflow:hidden;display:grid;place-items:center}.scan-crop-stage img{width:100%;height:100%;object-fit:cover;transform-origin:center}.scan-viewer-body{display:grid;gap:14px;padding:14px}.scan-viewer-stage{min-height:68svh;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--gold-light) 30%,transparent);overflow:hidden;display:grid;place-items:center}.scan-viewer-stage img,.scan-viewer-stage iframe{width:100%;height:100%;min-height:68svh;border:0;display:block}.scan-viewer-stage img{object-fit:contain;transform-origin:center}.webcam-stage{width:100%;height:100%;position:relative;display:grid;place-items:center;background:var(--gold-light)}.webcam-stage video{width:100%;height:100%;display:block;object-fit:cover}.webcam-status{position:absolute;left:14px;right:14px;bottom:14px;border-radius:999px;background:#0f172ac7;color:#fff;padding:8px 12px;font-size:12px;font-weight:900;text-align:center}.webcam-status.error{background:#6b1e2ae6}.empty-scan.large,.pdf-preview.large{width:100%;height:100%;border:0;border-radius:0;background:#fffdf8}.scan-page-strip{display:grid;grid-auto-flow:column;grid-auto-columns:70px;gap:8px;overflow-x:auto;padding-bottom:2px}.scan-page-strip button,.scan-page-strip .add-page-button{height:72px;position:relative;border:2px solid transparent;border-radius:8px;background:var(--gold-light);color:var(--text-strong);overflow:hidden;cursor:pointer}.scan-page-strip button.active,.scan-page-strip .add-page-button.active{border-color:var(--accent-maroon)}.scan-page-strip img{width:100%;height:100%;display:block;object-fit:cover}.scan-page-strip span{position:absolute;left:6px;bottom:5px;min-width:20px;border-radius:999px;background:#0f172ab8;color:#fff;font-size:11px;font-weight:900;padding:2px 6px}.scan-page-strip .add-page-button{display:grid;place-items:center;background:var(--gold-hover);color:var(--accent-maroon);font-weight:900}.scan-adjustments{display:grid;gap:10px}.scan-adjustments label{display:grid;gap:6px;color:var(--text-strong);font-size:13px;font-weight:800}.scan-debug-line{border:1px solid var(--border);border-radius:8px;background:#fffdf8;color:var(--muted);padding:9px 10px;font-size:12px;font-weight:800;overflow-wrap:anywhere}.scan-sheet-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}.scan-sheet-actions .primary-button,.scan-sheet-actions .secondary-button{min-width:0;padding-inline:10px;white-space:nowrap}.remove-button{width:26px;height:26px;position:absolute;top:6px;right:6px;border:0;border-radius:999px;display:grid;place-items:center;cursor:pointer;color:#fff;background:#0f172abf;z-index:1}.entry-form{display:grid;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field,.tax-field{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.field input,.field select,.field textarea,.tax-field input,.search-box input,.filter-row select{width:100%;min-height:42px;box-sizing:border-box;border:1px solid var(--border);border-radius:7px;color:var(--text-strong);background:var(--card);font:inherit;font-size:14px;outline:0;padding:0 11px}.field textarea{padding-top:10px;min-height:76px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.tax-field input:focus,.search-box input:focus,.filter-row select:focus{border-color:var(--accent-maroon);box-shadow:0 0 0 3px var(--focus-ring)}.tax-field{grid-template-columns:52px 70px minmax(0,1fr);align-items:end}.tax-field span{align-self:center;color:var(--muted)}.warning-line{min-height:38px;display:flex;align-items:center;gap:8px;color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;padding:0 10px;font-size:13px;font-weight:700}.primary-button,.secondary-button,.icon-button{border:0;cursor:pointer;font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button{min-height:44px;border-radius:8px;color:#fff;background:var(--accent-maroon);padding:0 16px;font-weight:800}.primary-button:hover{background:var(--accent-hover)}.secondary-button{min-height:38px;border-radius:7px;color:var(--accent-maroon);background:var(--gold-light);padding:0 12px;font-weight:800}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.icon-button{width:38px;height:38px;border-radius:8px;color:var(--text-strong);background:var(--gold-light)}.icon-button:hover{background:var(--gold-hover)}.filter-row{display:grid;grid-template-columns:minmax(180px,1fr) 144px 124px;gap:8px;margin-bottom:12px}.search-box{position:relative}.search-box svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-box input{padding-left:36px}.bill-list,.labour-list,.document-grid{display:grid;gap:10px}.bill-card{padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.bill-card h3,.labour-card h3,.document-card h3{margin:6px 0 4px;color:var(--text-strong);font-size:17px;line-height:1.2}.bill-card p,.labour-card p,.document-card p{color:var(--muted);margin:0;font-size:13px}.bill-card-side{text-align:right;display:grid;justify-items:end;gap:4px}.bill-card-side strong{color:var(--text-strong);display:block;font-size:17px}.bill-card-side span{color:var(--muted);font-size:12px}.scan-view-button{min-height:30px;border:0;border-radius:999px;background:var(--gold-light);color:var(--accent-maroon);display:inline-flex;align-items:center;gap:6px;padding:0 10px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.bill-card dl,.labour-card dl{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:2px 0 0}.bill-card dl div,.labour-card dl div{min-height:52px;border-radius:7px;background:#fffdf8;padding:8px;overflow:hidden}dt{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800}dd{margin:3px 0 0;color:var(--text-strong);font-size:13px;font-weight:800;overflow-wrap:anywhere}.status-pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:800;color:#5d4b27;background:#f4e5bf}.status-pill.unpaid{color:var(--accent-maroon);background:#f7e8df}.status-pill.part-paid{color:#8c5f2f;background:#fef3c7}.status-pill.paid,.status-pill.clear{color:#15803d;background:#dcfce7}.divider{height:1px;background:var(--border);margin:8px 0 2px}.check-line{min-height:42px;display:flex;align-items:center;gap:8px;color:var(--text-strong);font-weight:800;background:#fffdf8;border:1px solid var(--border);border-radius:7px;padding:0 11px}.check-line input{width:18px;height:18px}.labour-card{padding:14px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px}.avatar{width:52px;height:52px;border-radius:8px;overflow:hidden;display:grid;place-items:center;color:#fff;font-weight:900}.avatar img,.worker-photo img{width:100%;height:100%;display:block;object-fit:cover}.avatar.teal{background:var(--accent-maroon)}.avatar.amber{background:#a08050}.avatar.indigo{background:#5a4033}.labour-body{min-width:0;display:grid;gap:10px}.labour-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.document-chips{display:flex;flex-wrap:wrap;gap:6px}.document-chips span{background:var(--gold-light);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.document-upload-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:10px}.upload-button{min-width:140px}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px}.document-icon{width:48px;height:48px;border-radius:8px;display:grid;place-items:center;background:var(--gold-light);color:var(--accent-maroon)}.document-card span{color:var(--muted);display:block;margin-top:8px;font-size:12px}.vault-workspace{height:100%;min-height:0;display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:16px;align-items:stretch;overflow:hidden}.vault-sidebar-panel{min-height:0;height:100%;position:static;display:flex;flex-direction:column;gap:14px;overflow:hidden}.vault-sidebar-head{display:grid;gap:12px}.vault-sidebar-head .panel-title{margin-bottom:0}.vault-create-button{width:100%}.vault-create-form{display:grid;gap:10px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;padding:12px}.vault-list{flex:1;min-height:0;overflow:auto;display:grid;align-content:start;gap:10px}.vault-card{width:100%;min-height:92px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;color:var(--text);cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center;padding:13px;text-align:left;font:inherit}.vault-card:hover,.vault-card.active{border-color:var(--accent-maroon);background:var(--gold-light)}.vault-card span{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-strong);font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-card span svg{flex:0 0 auto;color:var(--accent-maroon)}.vault-card strong{min-width:34px;min-height:30px;border-radius:999px;background:#fffdf8;color:var(--accent-maroon);display:inline-grid;place-items:center;font-size:14px}.vault-card small{grid-column:1 / -1;color:var(--muted);font-size:12px;font-weight:800}.vault-timeline-panel{min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.vault-upload-actions{display:flex;align-items:end;gap:10px}.vault-upload-actions .field{width:140px;margin:0}.vault-upload-actions .field input{min-height:38px}.vault-meta-row{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;padding:0 12px;margin-bottom:16px}.vault-meta-row span{color:var(--muted);font-size:13px;font-weight:800}.vault-meta-row strong{color:var(--text-strong);font-size:13px}.document-timeline{flex:1;min-height:0;position:relative;display:grid;align-content:start;gap:12px;overflow:auto}.document-timeline-dropzone{min-height:520px;border:1px dashed transparent;border-radius:8px;padding:2px;transition:border-color .16s ease,background .16s ease}.document-timeline-dropzone:hover{border-color:var(--border);background:#f4e5bf42}.vault-empty-drop{min-height:100%;height:100%;border:1px dashed var(--border);border-radius:8px;background:#fffdf8}.document-timeline.has-documents:before{content:"";position:absolute;left:92px;top:8px;bottom:8px;width:2px;background:var(--border)}.timeline-document{position:relative;display:grid;grid-template-columns:82px 92px minmax(0,1fr);gap:12px;align-items:center;width:min(100%,1120px);border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:10px 12px;box-shadow:var(--soft-shadow)}.timeline-document:before{content:"";position:absolute;left:87px;top:50%;width:10px;height:10px;border:3px solid var(--accent-maroon);border-radius:999px;background:#fffdf8;transform:translateY(-50%)}.timeline-date{display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:800}.timeline-date svg{color:var(--accent-maroon)}.timeline-date strong{color:var(--text-strong);font-size:12px;line-height:1.2}.timeline-date span{color:var(--muted)}.document-thumb{width:92px;aspect-ratio:4 / 3;border:1px solid var(--border);border-radius:8px;background:#fffdf8;color:var(--accent-maroon);cursor:pointer;display:grid;place-items:center;overflow:hidden}.document-thumb img{width:100%;height:100%;display:block;object-fit:cover}.document-thumb:hover{border-color:var(--accent-maroon)}.timeline-document-copy{min-width:0}.timeline-document-copy h3{margin:0 0 4px;color:var(--text-strong);font-size:15px;line-height:1.2}.timeline-document-copy p{margin:0;color:var(--muted);font-size:12px}.document-viewer-sheet{width:min(1080px,calc(100vw - 56px));max-height:calc(100svh - 56px);justify-self:center;border-radius:8px;background:var(--surface);box-shadow:0 24px 80px #0f172a47;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.worker-card-viewer{width:min(780px,calc(100vw - 28px))}.document-viewer-stage{min-height:68svh;background:var(--gold-light);display:grid;place-items:center;overflow:hidden}.document-viewer-stage img,.document-viewer-stage iframe{width:100%;height:100%;border:0;display:block}.document-viewer-stage img{object-fit:contain}.document-viewer-stage iframe{background:#fff}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-block{padding:16px;display:grid;gap:8px}.report-block svg{color:var(--accent-maroon)}.report-block span,.report-block p{color:var(--muted);margin:0;font-size:13px}.report-block strong{color:var(--text-strong);font-size:24px}.action-pair{display:flex;gap:8px}.labour-workspace{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:16px;align-items:stretch;overflow:hidden}.labour-sheet-panel,.labour-calendar-panel{min-height:0;height:100%;display:flex;flex-direction:column;gap:14px;overflow:hidden}.labour-calendar-panel{overflow:auto}.labour-modal-backdrop{position:fixed;inset:0;z-index:45;background:#0f172a94;display:grid;place-items:center;padding:20px}.labour-modal-sheet{width:min(820px,calc(100vw - 32px));max-height:calc(100svh - 40px);border-radius:10px;background:var(--surface);box-shadow:0 24px 80px #0f172a47;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.rate-modal-sheet{width:min(680px,calc(100vw - 32px))}.labour-modal-sheet .labour-create-panel,.labour-modal-sheet .rate-fix-panel{border:0;border-radius:0;background:transparent;overflow:auto;padding:16px}.labour-modal-sheet .rate-fix-actions{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--border);margin:4px -16px -16px;padding:12px 16px 16px}.labour-date-bar{display:grid;grid-template-columns:38px 170px 38px;gap:8px;align-items:center}.labour-date-bar input,.labour-date-bar select,.labour-create-panel input,.labour-create-panel select,.labour-create-panel textarea,.worker-rate-strip input,.worker-type-add input,.attendance-sheet input,.attendance-sheet select,.labour-calendar-panel select{width:100%;min-height:38px;border:1px solid var(--border);border-radius:7px;background:#fffdf8;color:var(--text-strong);font:inherit;font-size:14px;outline:0;padding:0 10px}.labour-date-bar input:focus,.labour-date-bar select:focus,.labour-create-panel input:focus,.labour-create-panel select:focus,.labour-create-panel textarea:focus,.worker-rate-strip input:focus,.worker-type-add input:focus,.attendance-sheet input:focus,.attendance-sheet select:focus,.labour-calendar-panel select:focus{border-color:var(--accent-maroon);box-shadow:0 0 0 3px #c8b48a38}.labour-create-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;padding:12px}.labour-create-panel textarea{min-height:78px;padding-top:9px;resize:vertical}.labour-address-field,.labour-card-upload{grid-column:span 2}.labour-create-panel .primary-button{align-self:end;min-width:0}.rate-fix-panel{display:grid;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;padding:12px}.rate-fix-dates{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px}.rate-fix-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.rate-fix-actions span{color:var(--muted);font-size:13px;font-weight:900}.worker-rate-strip{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.worker-rate-strip label{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--gold-light);padding:7px}.worker-rate-strip span{color:var(--text-strong);font-size:13px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-rate-strip input{min-height:32px;padding-inline:8px}.worker-type-add{grid-column:1 / -1;display:grid;grid-template-columns:minmax(160px,1fr) 120px auto;gap:8px;align-items:center;border:1px dashed var(--border);border-radius:8px;background:#fffdf8;padding:8px}.worker-type-add input{min-height:36px}.worker-type-add .secondary-button{min-height:36px;white-space:nowrap}.attendance-sheet-scroll{flex:1;min-height:420px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;overflow:auto}.attendance-sheet{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed}.attendance-sheet .worker-name-col{width:30%}.attendance-sheet .worker-type-col{width:13%}.attendance-sheet .attendance-col{width:25%}.attendance-sheet .ot-col{width:12%}.attendance-sheet .rate-col,.attendance-sheet .amount-col{width:10%}.attendance-sheet th,.attendance-sheet td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:7px;vertical-align:middle}.attendance-sheet th:last-child,.attendance-sheet td:last-child{border-right:0}.attendance-sheet th{position:sticky;top:0;z-index:1;background:var(--gold-light);color:var(--text-strong);font-size:12px;font-weight:900;text-align:left;white-space:nowrap}.attendance-sheet td{background:#fffdf8;color:var(--text-strong);font-size:13px;font-weight:700}.attendance-sheet tr{cursor:pointer}.attendance-sheet tbody tr:hover td,.attendance-sheet tbody tr.active td{background:#fff7e4}.attendance-sheet td:first-child{min-width:0}.worker-cell{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center}.worker-photo{width:42px;height:42px;border-radius:999px;overflow:hidden;background:var(--accent-maroon);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900}.worker-cell strong,.worker-cell span{display:block}.worker-cell span{max-width:170px;margin-top:3px;color:var(--muted);font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-sheet input,.attendance-sheet select{min-height:34px;border-color:transparent;background:transparent;padding-inline:7px}.attendance-sheet input:focus,.attendance-sheet select:focus{background:#fff}.attendance-sheet input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--accent-maroon)}.attendance-toggle{display:grid;grid-template-columns:repeat(3,minmax(58px,1fr));gap:6px;-webkit-user-select:none;user-select:none}.attendance-toggle button{min-height:32px;border:1px solid var(--border);border-radius:7px;background:#fffdf8;color:var(--text-strong);cursor:pointer;font:inherit;font-size:12px;font-weight:900;touch-action:none}.attendance-toggle button.present{border-color:#a2e227;background:#a2e22738;color:#17210a}.attendance-toggle button.half{border-color:#f1bd2b;background:#f1bd2b38;color:#2a1d00}.attendance-toggle button.absent{border-color:#9c1216;background:#9c12162e;color:#5d0b0f}.attendance-toggle button.present:hover,.attendance-toggle button.present.active{background:#a2e22752;border-color:#6f9e16;box-shadow:inset 0 0 0 2px #17210a47}.attendance-toggle button.half:hover,.attendance-toggle button.half.active{background:#f1bd2b52;border-color:#9a720b;box-shadow:inset 0 0 0 2px #2a1d0042}.attendance-toggle button.absent:hover,.attendance-toggle button.absent.active{background:#9c121647;border-color:#64080b;box-shadow:inset 0 0 0 2px #5d0b0f38}.rate-cell{white-space:nowrap;font-weight:900}.empty-sheet{min-height:96px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:14px;font-weight:800;text-align:center;padding:16px}.empty-sheet svg{color:var(--muted)}.calendar-worker-summary{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--border);border-radius:8px;background:#fffdf8;padding:12px}.labour-calendar-panel .panel-title{align-items:stretch;flex-direction:column}.labour-calendar-panel .panel-title h2{font-size:17px;white-space:nowrap}.labour-calendar-panel .panel-title select{width:100%}.calendar-worker-summary strong,.calendar-worker-summary span{display:block}.calendar-worker-summary strong{color:var(--text-strong);font-size:16px}.calendar-worker-summary span{margin-top:3px;color:var(--muted);font-size:13px;font-weight:800}.attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;align-items:start}.calendar-day{min-width:0;min-height:0;aspect-ratio:1 / 1;border:1px solid var(--border);border-radius:8px;background:#fffdf8;color:var(--muted);cursor:pointer;display:grid;align-content:center;gap:3px;padding:0;text-align:center}.calendar-day strong,.calendar-day span{display:block}.calendar-day strong{color:var(--text-strong);font-size:16px}.calendar-day span{font-size:10px;font-weight:900;line-height:1.1}.worker-detail-card{position:relative;display:grid;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fffdf8;padding:12px}.worker-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.worker-detail-title .icon-button.active{color:#fff;background:var(--accent-maroon)}.worker-detail-title strong,.worker-detail-title span{display:block}.worker-detail-title strong{color:var(--text-strong);font-size:15px}.worker-detail-title span{margin-top:2px;color:var(--muted);font-size:12px;font-weight:800}.worker-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.worker-detail-address{grid-column:1 / -1}.worker-detail-address textarea{min-height:70px}.worker-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.worker-summary-list div{min-width:0;border:1px solid var(--border);border-radius:8px;background:#fffaf0;padding:9px}.worker-summary-list span,.worker-summary-list strong{display:block}.worker-summary-list span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.worker-summary-list strong{margin-top:3px;color:var(--text-strong);font-size:13px;line-height:1.25;overflow-wrap:anywhere}.worker-summary-list .worker-summary-wide{grid-column:1 / -1}.document-drop-zone{min-height:62px;border:1px dashed var(--border);border-radius:8px;background:var(--gold-light);color:var(--text-strong);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;text-align:center;font-size:13px;font-weight:900}.document-drop-zone:hover{border-color:var(--accent-maroon)}.document-drop-zone input{display:none}.worker-card-drop{min-height:72px}.worker-card-link{border:0;min-height:36px;border-radius:8px;background:#fff7e4;color:var(--accent-maroon);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;text-decoration:none;font-size:13px;font-weight:900;cursor:pointer}.worker-card-missing{min-height:36px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);display:grid;place-items:center;padding:0 12px;font-size:13px;font-weight:900}.calendar-day:hover,.calendar-day.selected{border-color:var(--accent-maroon);box-shadow:0 0 0 3px #c8b48a2e}.calendar-day.present{background:#a2e22738;border-color:#a2e227;color:#17210a}.calendar-day.half{background:#f1bd2b38;border-color:#f1bd2b;color:#2a1d00}.calendar-day.absent{background:#9c12162e;border-color:#9c1216;color:#5d0b0f}.calendar-day.present strong,.calendar-day.half strong{color:#17210a}.calendar-day.absent strong{color:#5d0b0f}.audit-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:8px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--border);font-size:13px}.audit-row:last-child{border-bottom:0;padding-bottom:0}.audit-row span,.audit-row em{color:var(--muted);font-style:normal}.audit-row strong{color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav{display:none}@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.palette-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.split-layout,.labour-workspace{grid-template-columns:1fr}.labour-sheet-panel,.labour-calendar-panel{min-height:auto}.labour-calendar-panel{max-width:none}.form-panel{position:static}}@media(max-width:820px){.purchase-gate-card{width:min(520px,100%);min-height:0;grid-template-columns:1fr}.scan-portal-card{width:min(560px,100%);min-height:0;grid-template-columns:1fr}.purchase-gate-brand-panel{min-height:230px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent);gap:18px;padding:34px 24px}.purchase-gate-brand-panel .entry-logo{width:108px}.purchase-gate-entry-panel,.scan-portal-entry-panel{padding:28px 24px 30px}.app-shell{display:block;padding-bottom:76px}.sidebar{display:none}.main-shell{padding:16px 12px 10px}.topbar{align-items:flex-start;flex-direction:column;margin-bottom:14px}.topbar-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px}.topbar h1{font-size:26px}.user-switcher,.project-switcher{min-height:40px;padding:0 8px;min-width:0}.user-switcher select,.project-switcher select{width:100%;min-width:0}.topbar-settings{width:40px;height:40px}.settings-band{align-items:flex-start;flex-direction:column}.settings-modal-backdrop{padding:12px}.settings-modal-sheet{width:calc(100vw - 24px);height:calc(100svh - 24px);padding:12px}.settings-modal-close{top:18px;right:18px}.settings-grid,.qgo-share-panel,.settings-project-head{grid-template-columns:1fr}.palette-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.metric-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.metric-card{min-height:122px}.chart-box{height:250px}.split-layout{gap:12px}.vault-workspace{grid-template-columns:1fr;gap:12px}.vault-sidebar-panel{min-height:auto;position:static}.vault-list{grid-template-columns:repeat(2,minmax(0,1fr))}.vault-upload-actions{width:100%;align-items:stretch;flex-direction:column}.vault-upload-actions .field,.vault-upload-actions .primary-button{width:100%}.document-timeline:before,.timeline-document:before{display:none}.timeline-document{grid-template-columns:88px minmax(0,1fr)}.timeline-date{grid-column:1 / -1;grid-template-columns:auto 1fr auto;align-items:center}.document-thumb{width:88px}.bill-workspace{grid-template-columns:1fr;gap:12px;min-height:auto}.scan-desk-panel{width:100%;min-width:0;max-width:none;height:auto;position:static;resize:none;overflow:visible}.desk-scan-stage{height:360px;min-height:320px}.receipt-drop-action{grid-template-columns:auto minmax(0,1fr);justify-content:stretch}.receipt-drop-action span{grid-column:2}.sheet-entry-panel{min-height:auto}.sheet-toolbar,.qgo-link-row{grid-template-columns:1fr}.qgo-share-qr{justify-self:center}.bill-search-box{margin-left:0}.panel{padding:13px}.labour-date-bar{grid-template-columns:38px minmax(0,1fr) 38px}.labour-date-bar select{grid-column:1 / -1}.labour-create-panel,.worker-rate-strip,.worker-type-add,.rate-fix-dates,.rate-fix-actions{grid-template-columns:1fr}.labour-address-field,.labour-card-upload,.worker-detail-address{grid-column:auto}.worker-detail-grid,.worker-summary-list{grid-template-columns:1fr}.attendance-sheet-scroll{margin-inline:-1px}.attendance-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.attached-scan-row{align-items:stretch;flex-direction:column}.scan-sheet-actions{grid-template-columns:1fr}.scan-sheet-actions:not(.has-scan-files) .scan-setup-action,.scan-sheet-actions:not(.has-scan-files) .scan-save-action{display:none}.scan-sheet-actions:not(.has-scan-files) .scan-take-photo-action{display:inline-flex;min-height:52px;font-size:16px}.scan-sheet-actions.has-scan-files{grid-template-columns:1fr}.scan-sheet-actions.has-scan-files .scan-setup-action{display:none}.scan-sheet-actions.has-scan-files .scan-save-action{grid-column:auto;min-height:52px;font-size:16px}.scan-page-strip.has-scan-files{display:none}.form-grid,.scan-controls,.filter-row,.document-upload-row,.document-grid,.report-grid{grid-template-columns:1fr}.scan-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-card,.labour-card{grid-template-columns:1fr}.bill-card-side{text-align:left}.bill-card dl,.labour-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.labour-head{align-items:flex-start}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fffffff5;border-top:1px solid var(--border);box-shadow:0 -8px 24px #0f172a14;padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.bottom-nav button,.bottom-nav .scan-fab{min-height:56px;border-radius:8px;background:transparent;color:var(--muted);display:grid;place-items:center;gap:2px;font-size:11px;font-weight:800}.bottom-nav button.active{color:var(--accent-maroon);background:var(--gold-light)}.bottom-nav .scan-fab{width:62px;height:62px;min-height:62px;justify-self:center;align-self:start;margin-top:-24px;border-radius:999px;color:#fff;background:var(--accent-maroon);box-shadow:0 14px 32px #6b1e2a52}.bottom-nav .scan-fab.has-scan{background:#a08050;box-shadow:0 14px 32px #b453095c}}@media(max-width:420px){.purchase-gate-shell{padding:18px 14px 14px}.purchase-gate-card h1{font-size:24px}.purchase-gate-entry-panel,.scan-portal-entry-panel{padding:24px 18px}.scan-portal-field select{min-height:52px;font-size:15px}.scan-portal-dropzone{min-height:220px}.topbar{gap:8px}.project-switcher .switcher-label{display:none}.topbar h1{font-size:23px}.settings-band h2{font-size:24px}.palette-choice-grid{grid-template-columns:1fr}.panel-title h2{font-size:16px}.metric-card strong,.report-block strong{font-size:21px}.scan-preview-grid,.bill-card dl,.labour-card dl{grid-template-columns:1fr}.attendance-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-day{grid-template-columns:1fr;align-items:center;justify-items:center;text-align:center;padding-inline:12px}.vault-list,.timeline-document{grid-template-columns:1fr}.document-thumb{width:100%}}
