:root{--surface:#fbf7ef;--surface-muted:#f2ede6;--text:#6f5534;--text-strong:#2a1f0e;--muted:#8c7a63;--border:#e0c98a;--soft-shadow:0 18px 46px #2a1f0e14;--card:#fffdf8;--sidebar-bg:#fbf7efeb;--project-glow:#d9c19a4d;--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:#6b1e2a2e;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;font-family:"Source Sans 3",Source Sans Pro,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--surface-muted)}body{min-width:320px;margin:0}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{background:radial-gradient(circle at top left, var(--project-glow), transparent 34rem), var(--surface-muted);min-height:100svh;color:var(--text);grid-template-columns:268px minmax(0,1fr);display:grid}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{box-sizing:border-box;background:linear-gradient(var(--sidebar-bg), var(--sidebar-bg));width:268px;height:100svh;min-height:100svh;color:var(--text-strong);z-index:30;border-right:1px solid var(--border);flex-direction:column;gap:24px;padding:24px 18px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-collapsed .sidebar{width:76px;overflow:visible}.brand-block{align-items:center;gap:12px;padding:4px 6px 12px;display:flex}.sidebar-toggle{background:var(--gold-light);width:34px;height:34px;color:var(--accent-maroon);cursor:pointer;border:0;border-radius:8px;place-items:center;margin-left:auto;display:grid}.brand-mark{cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:54px;height:40px;padding:0;display:grid;overflow:hidden}.brand-mark:hover{background:var(--gold-light)}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand-block strong,.brand-block span{display:block}.brand-block strong{color:var(--text-strong);font-size:18px}.brand-block span{color:var(--muted);margin-top:2px;font-size:13px}.brand-copy .brand-name{color:var(--text-strong);text-transform:none;margin:0;font-size:16px;font-weight:500;line-height:1.1}.side-nav{gap:8px;display:grid}.side-nav button,.bottom-nav button{font:inherit;cursor:pointer;border:0}.side-nav button{min-height:44px;color:var(--muted);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex;position:relative}.side-nav button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-nav button:hover,.side-nav button.active{background:var(--gold-light);color:var(--text-strong)}.sidebar-qr-card{background:0 0;border:0;border-radius:0;justify-items:center;margin-top:auto;padding:0;display:grid}.sidebar-qr-card img,.qr-placeholder{aspect-ratio:1;background:0 0;border:0;border-radius:4px;width:60%}.sidebar-qr-card img{display:block}.sidebar-controls{gap:8px;width:100%;display:grid}.sidebar-controls .project-switcher,.sidebar-controls .user-switcher,.sidebar-settings-button{width:100%;min-height:42px;box-shadow:none}.sidebar-controls .project-switcher,.sidebar-controls .user-switcher{background:var(--card);padding:0 9px}.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);color:var(--text-strong);background:var(--card);cursor:pointer;font:inherit;border-radius:8px;justify-content:flex-start;align-items:center;gap:9px;padding:0 11px;font-weight:800;display:inline-flex}.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:10px}.sidebar-collapsed .brand-block{justify-items:center;gap:10px;padding-inline:0;display:grid}.sidebar-collapsed .brand-copy,.sidebar-collapsed .sidebar-qr-card,.sidebar-collapsed .side-nav button span{display:none}.sidebar-collapsed .sidebar-controls{gap:8px;width:100%;margin-top:auto;display:grid}.sidebar-collapsed .sidebar-controls .project-switcher,.sidebar-collapsed .sidebar-controls .user-switcher,.sidebar-collapsed .sidebar-settings-button{width:44px;min-width:0;height:44px;min-height:44px;box-shadow:none;justify-content:center;justify-self:center;padding:0;position:relative;overflow:visible}.sidebar-collapsed .sidebar-controls .project-switcher select,.sidebar-collapsed .sidebar-controls .user-switcher select{opacity:0;cursor:pointer;width:100%;min-width:0;position:absolute;inset:0}.sidebar-collapsed .sidebar-controls .project-switcher .switcher-label,.sidebar-collapsed .sidebar-controls .project-switcher .project-color-dot,.sidebar-collapsed .sidebar-settings-button span{display:none}.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-settings-button:hover:after,.sidebar-collapsed .sidebar-settings-button:focus-visible:after{z-index:60;border:1px solid var(--border);background:var(--card);min-width:max-content;color:var(--text-strong);box-shadow:var(--soft-shadow);pointer-events:none;border-radius:7px;padding:7px 9px;font-size:12px;font-weight:900;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.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:"User"}.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{justify-content:center;padding:0}.sidebar-collapsed .side-nav button:hover:after,.sidebar-collapsed .side-nav button:focus-visible:after{content:attr(data-tooltip);z-index:60;border:1px solid var(--border);background:#fffdf8;background:var(--card);min-width:max-content;color:var(--text-strong);box-shadow:var(--soft-shadow);pointer-events:none;border-radius:7px;padding:7px 9px;font-size:12px;font-weight:900;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.main-shell{grid-column:2;min-width:0;padding:16px 24px 24px}.main-shell.locked-page{grid-template-rows:minmax(0,1fr);height:100svh;min-height:0;display:grid;overflow:hidden}.main-shell.locked-page>*{min-height:0}.qgo-share-shell{background:var(--surface-muted);min-height:100svh;color:var(--text-strong)}.qgo-share-main{grid-column:auto;padding:16px 24px 24px}.qgo-access-state{place-items:center;min-height:100svh;padding:24px;display:grid}.qgo-access-state section{border:1px solid var(--border);background:var(--card);width:min(420px,100%);box-shadow:var(--soft-shadow);text-align:center;border-radius:8px;justify-items:center;gap:10px;padding:28px;display:grid}.qgo-access-state svg{color:var(--accent-maroon)}.qgo-access-state span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900}.qgo-access-state h1{color:var(--text-strong);margin:0;font-family:Georgia,Times New Roman,serif;font-size:30px;line-height:1.1}.qgo-access-state p{color:var(--muted);margin:0;font-weight:700}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:72px;margin-bottom:20px;display:flex}.eyebrow{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:700}.topbar h1{margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:32px;line-height:1.1}.topbar-actions{align-items:center;gap:10px;min-width:0;display:flex}.sync-pill{border:1px solid var(--border);background:var(--card);min-height:38px;color:var(--muted);white-space:nowrap;box-shadow:var(--soft-shadow);border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.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{background:var(--surface);border:1px solid var(--border);min-height:44px;box-shadow:var(--soft-shadow);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.user-switcher select,.project-switcher select{min-width:148px;color:var(--text-strong);background:0 0;border:0;outline:0;font-weight:700}.project-switcher select{min-width:170px}.project-switcher .switcher-label{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:900}.project-color-dot{border:2px solid var(--card);width:12px;height:12px;box-shadow:0 0 0 1px var(--border);border-radius:999px;flex:none}.project-color-dot.large{width:18px;height:18px}.topbar-settings.active{color:#fff;background:var(--accent-maroon)}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-modal-backdrop{z-index:90;background:#0f172a7a;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.settings-modal-sheet{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;width:min(1120px,100vw - 44px);height:min(860px,100svh - 44px);padding:16px;position:relative;box-shadow:0 24px 80px #0f172a47}.settings-modal-close{z-index:2;position:absolute;top:22px;right:22px}.settings-modal-sheet .settings-band{padding-right:68px}.settings-layout{scrollbar-gutter:stable;flex-direction:column;gap:16px;height:100%;min-height:0;display:flex;overflow:hidden auto}.settings-band{border:1px solid var(--border);background:linear-gradient(135deg, var(--card), var(--surface)), var(--surface);min-height:88px;box-shadow:var(--soft-shadow);border-radius:8px;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.settings-band h2{color:var(--text-strong);margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1.1}.active-scheme-pill{border:1px solid var(--border);background:var(--card);border-radius:8px;align-items:center;gap:10px;min-height:52px;padding:0 14px;display:inline-flex}.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);margin-top:2px;font-size:12px}.settings-notice{border:1px solid var(--border);background:var(--sync-ready-bg);width:fit-content;min-height:42px;color:var(--sync-ready-text);border-radius:8px;flex:none;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:inline-flex}.settings-grid{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.settings-form-panel{grid-template-rows:auto 1fr;align-self:stretch;min-height:238px;display:grid}.settings-list-panel{background:var(--surface);flex-direction:column;flex:1;min-height:0;display:flex}.settings-form-panel .entry-form{align-content:start;height:100%}.settings-form-panel .primary-button{align-self:end;margin-top:auto}.qgo-share-panel{flex:none;grid-template-columns:minmax(0,1fr) 164px;align-items:center;gap:16px;display:grid}.qgo-share-copy{min-width:0}.qgo-share-copy .panel-title{margin-bottom:8px}.qgo-share-copy p{color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:700;line-height:1.45}.qgo-share-copy strong{color:var(--text-strong)}.netlify-build-panel{flex:none}.netlify-build-copy{gap:12px;display:grid}.netlify-build-copy .panel-title{margin-bottom:0}.netlify-build-copy p{color:var(--muted);margin:0;font-size:13px;font-weight:700;line-height:1.45}.netlify-build-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.netlify-build-row .primary-button{min-width:176px}.netlify-build-path,.netlify-build-message{border:1px solid var(--border);min-width:0;min-height:42px;color:var(--text-strong);background:#fffdf8;border-radius:7px;align-items:center;gap:8px;padding:0 11px;font-size:13px;font-weight:800;display:inline-flex}.netlify-build-path span,.netlify-build-message span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.netlify-build-message{background:var(--sync-ready-bg);width:fit-content;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:.9s linear infinite spin}.netlify-build-output{border:1px solid var(--border);background:#fffdf8;border-radius:7px;overflow:hidden}.netlify-build-output summary{cursor:pointer;color:var(--text-strong);padding:10px 12px;font-weight:900}.netlify-build-output pre{border-top:1px solid var(--border);max-height:180px;color:var(--text-strong);white-space:pre-wrap;margin:0;padding:12px;font-size:12px;overflow:auto}.qgo-link-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.qgo-link-row input{border:1px solid var(--border);width:100%;min-width:0;height:42px;color:var(--text-strong);font:inherit;background:#fffdf8;border-radius:7px;outline:0;padding:0 11px;font-size:13px}.qgo-link-row input:focus{border-color:var(--accent-maroon);box-shadow:0 0 0 3px var(--focus-ring)}.qgo-share-qr{color:var(--muted);justify-self:end;justify-items:center;gap:7px;font-size:12px;font-weight:900;display:grid}.qgo-share-qr img,.qgo-share-qr .qr-placeholder{border:1px solid var(--border);background:var(--card);border-radius:8px;width:128px;height:128px}.settings-project-list{align-content:start;gap:10px;min-height:0;display:grid;overflow:auto}.settings-project-row{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:12px}.settings-project-head{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:center;gap:12px;display:grid}.settings-project-name{align-items:center;min-height:44px;display:flex}.project-select-button,.settings-user-row{color:var(--text-strong);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px}.project-select-button{align-items:center;gap:10px;min-height:54px;padding:8px 10px;display:flex}.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);margin-top:3px;font-size:12px}.compact-select{border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.compact-select select{width:100%;min-width:0;color:var(--text-strong);font:inherit;background:0 0;border:0;outline:0;font-weight:800}.palette-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.palette-choice{border:1px solid var(--border);background:var(--card);min-height:66px;color:var(--text-strong);cursor:pointer;font:inherit;text-align:left;border-radius:8px;align-content:center;gap:7px;padding:8px;display:grid}.palette-choice:hover,.palette-choice.active{border-color:var(--choice-primary);box-shadow:0 0 0 3px var(--focus-ring)}.palette-choice strong{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.15;overflow:hidden}.palette-strip{background:var(--choice-surface);border-radius:999px;grid-template-columns:1.2fr 1fr 1fr;height:12px;display:grid;overflow:hidden}.palette-strip i:first-child{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{align-items:center;gap:10px;min-height:58px;padding:9px 10px;display:flex}.settings-user-row svg{color:var(--accent-maroon)}.metric-grid{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card,.panel,.bill-card,.labour-card,.document-card,.report-block{background:var(--card);border:1px solid var(--border);box-shadow:var(--soft-shadow);border-radius:8px}.metric-card{align-content:space-between;gap:8px;min-height:150px;padding:16px;display:grid}.metric-card svg{color:var(--tone)}.metric-card span,.metric-card em{color:var(--muted);font-size:13px;font-style:normal}.metric-card strong{color:var(--text-strong);font-size:24px;line-height:1.12}.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{min-width:0;padding:16px}.span-2{grid-column:span 2}.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-title>div{align-items:center;gap:9px;min-width:0;display:flex}.panel-title svg{color:var(--accent-maroon);flex:none}.panel-title h2{color:var(--text-strong);margin:0;font-size:18px;line-height:1.2}.chart-box{width:100%;height:310px}.chart-box.small{height:260px}.donut-wrap{gap:10px;display:grid}.legend-list{gap:8px;display:grid}.legend-row{grid-template-columns:12px 1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.legend-row span{border-radius:3px;width:10px;height:10px}.legend-row strong{color:var(--text-strong)}.legend-row em{color:var(--muted);font-style:normal}.bar-list,.queue-list,.audit-list{gap:12px;display:grid}.bar-row{gap:8px;display:grid}.bar-row>div:first-child{color:var(--text-strong);justify-content:space-between;gap:12px;font-size:14px;display:flex}.bar-row span{color:var(--muted)}.bar-track{background:var(--bar-track);border-radius:999px;height:9px;overflow:hidden}.bar-track span{background:var(--accent-maroon);border-radius:inherit;height:100%;display:block}.queue-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:12px;display:grid}.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{grid-template-columns:minmax(340px,.95fr) minmax(0,1.3fr);align-items:start;gap:16px;display:grid}.bill-workspace{align-items:stretch;gap:0;height:100%;min-height:0;display:flex;overflow:hidden}.scan-desk-panel{width:0;min-width:0;max-width:min(60vw,760px);height:100%;min-height:0;box-shadow:none;resize:horizontal;opacity:0;transform-origin:0;will-change:opacity, transform;background:0 0;border:0;border-radius:0;flex:0 0 0;grid-template-rows:minmax(300px,1fr) auto;margin-right:0;padding:0;transition:flex-basis .68s cubic-bezier(.16,1,.3,1),margin-right .68s cubic-bezier(.16,1,.3,1),opacity .46s,transform .68s cubic-bezier(.16,1,.3,1);display:grid;position:relative;overflow:hidden auto;transform:translate(-28px)scaleX(.94)}.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)}.scan-desk-panel.closing{pointer-events:none}.sheet-entry-panel{flex:auto;min-width:0}.desk-scan-stage{border:1px solid var(--border);background:color-mix(in srgb, var(--gold-light) 30%, transparent);border-radius:8px;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.desk-scan-stage.drop-ready{border-color:var(--accent-maroon);box-shadow:inset 0 0 0 3px var(--focus-ring)}.desk-scan-stage img{object-fit:contain;transform-origin:50%;border:0;width:100%;height:100%;display:block}.pdf-zoom-shell{width:100%;height:100%;min-height:inherit;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y;background:color-mix(in srgb, var(--gold-light) 30%, transparent);display:block;position:relative;overflow:hidden auto}.pdf-zoom-shell::-webkit-scrollbar{width:0;height:0}.pdf-zoom-shell.zoomed{touch-action:none;overflow:auto}.pdf-zoom-frame{min-width:100%;min-height:100%;position:relative}.pdf-canvas-stack{align-content:safe center;justify-items:center;gap:18px;min-height:100%;padding:24px 16px;display:grid;position:relative}.pdf-zoom-shell.zoomed .pdf-canvas-stack{align-content:start}.pdf-canvas-stack canvas{opacity:0;background:#fff;width:100%;max-width:100%;height:auto;transition:opacity .32s,transform .32s;display:block;transform:translateY(8px)scale(.992);box-shadow:0 8px 22px #0000003d}.pdf-canvas-stack canvas.ready{opacity:1;transform:translateY(0)scale(1)}.pdf-render-error{color:#fff;place-self:center;font-size:13px;font-weight:800}.pdf-loading-spinner{z-index:1;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.pdf-loading-spinner span{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%, #fff) 242deg, color-mix(in srgb, var(--gold-light) 88%, #fff) 318deg, transparent 319deg 360deg);width:64px;height:64px;box-shadow:none;border-radius:50%;animation:.9s linear infinite pdf-ring-spin;position:relative;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 0);mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 0)}.pdf-loading-spinner span:after{content:none}@keyframes pdf-ring-spin{to{transform:rotate(360deg)}}.receipt-drop-action{z-index:2;border:1px dashed var(--border);min-height:58px;color:var(--text-strong);cursor:pointer;font:inherit;text-align:left;background:#fffdf8f0;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr);justify-content:center;align-items:center;gap:8px;padding:10px 12px;display:grid;position:absolute;bottom:14px;left:14px;right:14px;box-shadow:0 12px 30px #0f172a1f}.receipt-drop-action:disabled{cursor:wait}.receipt-drop-action.scanning{border-style:solid;border-color:var(--accent-maroon);grid-template-columns:auto minmax(0,1fr);justify-content:stretch}.receipt-drop-action.scanning svg{animation:.9s linear infinite spin}.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{background:var(--bar-track);border-radius:999px;grid-column:1/-1;height:5px;margin-top:2px;overflow:hidden}.receipt-drop-action em i{border-radius:inherit;background:var(--accent-maroon);height:100%;transition:width .18s;display:block}.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{border:1px solid var(--border);background:var(--gold-light);min-height:36px;color:var(--text-strong);border-radius:8px;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;font-size:12px;font-weight:800;display:flex}.scan-desk-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.scan-desk-actions .primary-button,.scan-desk-actions .secondary-button{white-space:nowrap;min-width:0;padding-inline:10px}.scan-inbox-list{gap:8px;max-height:180px;margin-top:14px;display:grid;overflow:auto}.scan-inbox-list button,.scan-inbox-empty{border:1px solid var(--border);width:100%;min-height:58px;color:var(--text-strong);text-align:left;background:#fffdf8;border-radius:8px;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.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);margin-top:2px;font-size:12px}.scan-dot{background:var(--accent-maroon);border-radius:999px;width:10px;height:10px}.scan-dot.local{background:#a08050}.scan-inbox-empty{color:var(--muted);grid-template-columns:auto minmax(0,1fr)}.sheet-entry-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.sheet-status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-status-row strong{color:var(--muted);font-size:13px}.sheet-toolbar{grid-template-columns:max-content minmax(260px,1fr) minmax(150px,180px) minmax(150px,180px) 42px 42px;align-items:center;gap:10px;width:100%;display:grid}.bill-toolbar-title{color:var(--text-strong);white-space:nowrap;align-items:center;gap:8px;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:900;line-height:1.05;display:inline-flex}.bill-toolbar-title svg{color:var(--accent-maroon);flex:none}.bill-search-box{min-width:0;margin-left:0}.sheet-entry-panel.qgo-readonly .sheet-toolbar{grid-template-columns:max-content max-content minmax(260px,1fr) minmax(150px,180px) minmax(150px,180px) 42px}.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{width:38px;height:38px}.qgo-readonly-pill{border:1px solid var(--border);background:var(--gold-light);min-height:28px;color:var(--accent-maroon);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.sheet-entry-panel.qgo-readonly .qgo-readonly-pill{min-height:24px;font-size:10px}.sheet-toolbar input,.sheet-toolbar select{box-sizing:border-box;border:1px solid var(--border);width:100%;height:42px;min-height:42px;color:var(--text-strong);font:inherit;background:#fffdf8;border-radius:7px;outline:0;padding:0 11px;font-size:14px;line-height:1.2}.sheet-toolbar .toolbar-tooltip-control{min-width:0}.sheet-toolbar .toolbar-tooltip-control select{display:block}.sheet-toolbar .icon-button{width:42px;height:42px}.sheet-toolbar .icon-button,.sheet-toolbar .toolbar-tooltip-control{position:relative}.sheet-toolbar .icon-button[data-tooltip]:after,.sheet-toolbar .toolbar-tooltip-control[data-tooltip]:after{content:attr(data-tooltip);z-index:80;border:1px solid var(--border);background:var(--card);min-width:max-content;color:var(--text-strong);box-shadow:var(--soft-shadow);opacity:0;pointer-events:none;border-radius:7px;padding:7px 9px;font-size:12px;font-weight:900;line-height:1.2;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.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{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{border:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none;background:#fffdf8;border-radius:8px;min-height:0;position:relative;overflow:auto}.bill-sheet-scroll::-webkit-scrollbar{width:0;height:0}.bill-sheet-scroll.scrollbar-visible{scrollbar-width:thin;scrollbar-color:#58664a80 transparent}.bill-sheet-scroll.scrollbar-visible::-webkit-scrollbar{width:8px;height:8px}.bill-sheet-scroll.scrollbar-visible::-webkit-scrollbar-track{background:0 0}.bill-sheet-scroll.scrollbar-visible::-webkit-scrollbar-thumb{background:#58664a80;border-radius:999px}.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";z-index:3;border:1px dashed var(--border);width:max-content;max-width:calc(100% - 32px);color:var(--text-strong);text-align:center;pointer-events:none;background:#fffdf8f0;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:900;display:block;position:sticky;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0f172a1f}.bill-sheet{table-layout:fixed;border-collapse:collapse;width:100%}.bill-sheet th,.bill-sheet td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0}.bill-sheet th:last-child,.bill-sheet td:last-child{border-right:0}.bill-sheet th{z-index:1;color:var(--text-strong);text-align:center;white-space:nowrap;background:#ead8b6;padding:14px 15px;font-family:Georgia,Times New Roman,serif;font-size:12px;font-weight:700;position:sticky;top:0}.sheet-entry-panel.qgo-readonly .bill-sheet th{padding:12px;font-size:10px}.bill-sheet th:first-child{text-align:center;padding-inline:0}.bill-sheet th .rupee-symbol{color:var(--text-strong)}.bill-scan-panel-toggle{width:30px;height:30px;color:var(--accent-maroon);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid}.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{overflow:visible}.bill-sheet .saved-row td.party-autocomplete-cell:focus-within,.bill-sheet .saved-row td.item-autocomplete-cell:focus-within{z-index:30;position:relative}.bill-sheet td.amount-cell{text-align:right;font-weight:600}.bill-sheet td.total-amount-cell,.bill-sheet td.total-amount-cell .accounting-amount,.bill-sheet td.total-amount-cell .money-edit-cell input{font-weight:700}.accounting-amount{font-variant-numeric:tabular-nums;white-space:nowrap;grid-template-columns:auto minmax(0,auto) auto;justify-content:end;align-items:center;column-gap:0;width:100%;max-width:100%;display:inline-grid}.rupee-prefix,.rupee-symbol{color:var(--border);font-variant-numeric:normal;font-weight:400;line-height:inherit}.accounting-amount .rupee-prefix{margin-right:3px}.accounting-amount-whole{text-align:right;text-overflow:ellipsis;min-width:0;overflow:hidden}.accounting-amount-decimal{text-align:left}.bill-sheet input,.bill-sheet textarea,.bill-sheet select{width:100%;min-height:40px;color:var(--text-strong);font:inherit;background:0 0;border:0;border-radius:0;outline:0;padding:0 8px;font-size:13px}.bill-sheet input:focus,.bill-sheet textarea:focus,.bill-sheet select:focus{box-shadow:inset 0 0 0 2px var(--accent-maroon);background:#fff}.bill-sheet textarea{resize:none;white-space:pre-wrap;height:100%;line-height:1.25;display:block;overflow:auto}.bill-sheet input[type=number]{appearance:textfield}.bill-sheet input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.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{height:35px;color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;background:#fffffe;padding:5px 8px;font-size:13px;font-weight:500;line-height:1.2;position:relative;overflow:hidden}.sheet-entry-panel.qgo-readonly .bill-sheet .saved-row td{font-size:11px}.bill-sheet .saved-row input,.bill-sheet .saved-row textarea,.bill-sheet .saved-row select{appearance:none;height:25px;min-height:25px;color:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:0;padding:0;line-height:25px;display:block;overflow:hidden}.bill-sheet .saved-row textarea{resize:none;scrollbar-width:none;white-space:nowrap;height:25px;min-height:25px;line-height:25px;display:block}.bill-sheet .saved-row textarea.cell-textarea-edit.multiline{box-sizing:border-box;width:calc(100% - 16px);height:var(--bill-edit-height,1.25em);resize:none;white-space:pre-wrap;word-break:break-word;min-height:25px;max-height:calc(100% - 10px);padding:0;line-height:1.25;position:absolute;top:50%;left:8px;right:8px;overflow:hidden;transform:translateY(-50%)}.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{align-items:center;width:100%;height:100%;min-height:25px;display:flex;position:relative}.bill-sheet .saved-row .item-edit-input{width:100%}.bill-sheet .saved-row input:focus,.bill-sheet .saved-row textarea:focus,.bill-sheet .saved-row select:focus{box-shadow:none;background:0 0}.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{color:var(--accent-maroon);background:0 0}.money-edit-cell{justify-content:flex-end;align-items:center;gap:3px;width:100%;min-width:0;height:100%;min-height:25px;display:flex;overflow:hidden}.money-edit-cell>span{flex:none}.bill-sheet .saved-row .money-edit-cell input{text-align:right;flex:0 auto;width:min(100%,14ch);min-width:0}.bill-sheet .saved-row .approval-status-select{border:1px solid var(--border);appearance:auto;width:100%;height:24px;min-height:24px;color:var(--text-strong);cursor:pointer;font:inherit;background:#fffdf8;border-radius:6px;padding:0 6px;line-height:1.2}.bill-sheet .saved-row .approval-status-select.paid{background:#bbf7d099;border-color:#16a34a73}.bill-sheet .saved-row .approval-status-select.unpaid{background:#fecaca99;border-color:#dc262673}.bill-sheet .saved-row .approval-status-select.awaiting-approval{background:#fef08a99;border-color:#ca8a0473}.bill-sheet .saved-row.active .approval-status-select{background:color-mix(in srgb, var(--gold-light) 72%, #fff)}.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.awaiting-approval{background:#fef08a99}.bill-date-editor{grid-template-columns:2ch 3ch 4ch;align-items:center;gap:.45ch;width:9.9ch;min-width:0;max-width:100%;height:100%;min-height:25px;display:inline-grid;position:relative}.bill-sheet .saved-row .bill-date-editor input{text-align:left;cursor:text;border-radius:4px;width:100%;min-width:0}.bill-sheet .saved-row .bill-date-editor input:focus{box-shadow:inset 0 -1px 0 var(--accent-maroon);background:#fffdf8b3}.bill-sheet .saved-row .date-edit-cell{z-index:4;position:relative;overflow:visible}.bill-date-menu{z-index:120;border:1px solid var(--border);background:var(--card);scrollbar-color:transparent transparent;scrollbar-width:thin;border-radius:8px;gap:4px;width:max-content;max-width:none;max-height:248px;padding:6px;display:grid;position:fixed;overflow:hidden auto;box-shadow:0 14px 36px #2a1f0e2e}.bill-date-menu:hover,.bill-date-menu:focus-within{scrollbar-color:#6b1e2a61 transparent}.bill-date-menu::-webkit-scrollbar{width:5px;height:5px}.bill-date-menu::-webkit-scrollbar-track{background:0 0}.bill-date-menu::-webkit-scrollbar-thumb{background:0 0;border-radius:999px}.bill-date-menu:hover::-webkit-scrollbar-thumb{background:#6b1e2a61}.bill-date-menu:focus-within::-webkit-scrollbar-thumb{background:#6b1e2a61}.bill-date-menu.day-menu{grid-template-columns:repeat(7,28px)}.bill-date-menu.month-menu{grid-template-columns:repeat(3,44px)}.bill-date-menu.year-menu{grid-template-columns:repeat(1,74px)}.bill-date-menu button{min-height:28px;color:var(--text-strong);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:5px;font-size:12px;font-weight:700}.bill-drop-buffer-space{background:#fffdf8;width:100%;min-height:210px}.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)}.party-suggestion-menu,.item-suggestion-menu{z-index:80;border:1px solid var(--border);background:#fffffe;border-radius:8px;width:min(340px,max(100%,220px));max-height:220px;padding:5px;position:absolute;top:calc(100% + 2px);left:0;overflow:auto;box-shadow:0 16px 38px #0f172a29}.party-suggestion-menu button,.item-suggestion-menu button{width:100%;min-height:38px;color:var(--text-strong);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;gap:2px;padding:6px 8px;line-height:1.2;display:grid}.party-suggestion-menu button:hover,.party-suggestion-menu button:focus-visible,.item-suggestion-menu button:hover,.item-suggestion-menu button:focus-visible{background:var(--gold-light);outline:0}.party-suggestion-menu span,.item-suggestion-menu span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.party-suggestion-menu small{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:700}.cell-marquee{white-space:nowrap;width:100%;line-height:1.2;display:block;overflow:hidden}.cell-marquee-track{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.cell-multiline{white-space:pre-wrap;word-break:break-word;width:100%;line-height:1.25;display:block;overflow:hidden}.invoice-context-menu{z-index:70;border:1px solid var(--border);background:var(--surface);border-radius:5px;width:138px;padding:3px;position:fixed;box-shadow:0 11px 30px #0f172a29}.invoice-context-menu button{width:100%;min-height:22px;color:var(--text-strong);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:4px;padding:0 6px;font-size:11.5px;font-weight:400}.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{z-index:75;background:#0f172a99;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.delete-invoice-sheet,.approval-status-sheet,.replace-pdf-sheet{background:var(--surface);border-radius:10px;width:min(520px,100vw - 32px);overflow:hidden;box-shadow:0 24px 80px #0f172a47}.delete-invoice-body,.approval-status-body,.replace-pdf-body{gap:14px;padding:16px;display:grid}.delete-invoice-body>svg{color:var(--danger)}.approval-status-body>svg{color:var(--accent-maroon)}.replace-pdf-summary{border:1px solid var(--border);background:#fffdf8;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.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);margin-top:2px;font-size:13px}.replace-pdf-drop-zone{border:1px dashed var(--border-strong);background:var(--gold-soft);min-height:190px;color:var(--text-strong);text-align:center;border-radius:9px;justify-items:center;gap:8px;padding:20px;display:grid}.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{color:var(--muted);margin:0;line-height:1.45}.approval-status-body p strong{color:var(--text-strong)}.delete-invoice-summary{border:1px solid var(--border);background:#fffdf8;border-radius:8px;padding:12px}.delete-invoice-summary strong,.delete-invoice-summary span{display:block}.delete-invoice-summary span{color:var(--muted);margin-top:4px;font-size:13px}.delete-invoice-body code{border:1px solid var(--border);background:var(--gold-light);color:var(--text-strong);white-space:normal;border-radius:7px;padding:9px 10px;font-weight:900;display:block}.delete-invoice-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.approval-confirm-check{width:max-content;max-width:100%;color:var(--text-strong);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:2px 0;font-size:14px;font-weight:900;display:grid}.approval-confirm-check input{width:18px;height:18px;accent-color:var(--accent-maroon)}.danger-button{background:var(--danger);color:#fff;cursor:pointer;min-height:42px;font:inherit;border:0;border-radius:8px;padding:0 16px;font-weight:900}.danger-button:disabled{cursor:not-allowed;opacity:.45}.scan-info-cell{text-align:center;vertical-align:middle;position:relative;padding:0!important}.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{z-index:4;width:30px;height:30px;min-height:0;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid;position:relative}.scan-info-button:hover,.scan-info-button.active{color:var(--accent-maroon);background:var(--gold-light)}.serial-number-cell{color:var(--muted);text-align:center;vertical-align:middle!important;white-space:nowrap!important;padding:0!important;font-weight:400!important}.serial-number-display{font-variant-numeric:tabular-nums;place-items:center;width:100%;height:100%;min-height:25px;line-height:1;display:grid}.bill-sheet .saved-row .serial-number-cell input{cursor:text;font-variant-numeric:tabular-nums;text-align:center;width:100%;height:100%;min-height:25px;padding:0 4px;line-height:1;display:block}.column-resize-handle{z-index:3;cursor:col-resize;touch-action:none;background:0 0;border:0;width:8px;height:100%;padding:0;position:absolute;top:0;right:-4px}.column-resize-handle:after{content:"";background:0 0;width:1px;position:absolute;top:8px;bottom:8px;left:3px}.column-resize-handle:hover:after,.column-resize-handle:focus-visible:after{background:var(--accent-maroon)}.row-resize-handle{z-index:6;cursor:ns-resize;pointer-events:auto;touch-action:none;background:0 0;border:0;height:10px;padding:0;display:block;position:absolute;bottom:0;left:0;right:0}.row-resize-handle:after{content:"";background:0 0;height:1px;position:absolute;bottom:2px;left:7px;right:7px}.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{border:1px solid var(--border);background:#fffdf8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px;display:flex}.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);margin-top:3px;font-size:12px}.scan-input-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;bottom:0;right:0}.scan-capture-label,.scan-capture-action{cursor:pointer;position:relative;overflow:hidden}.scan-capture-label input,.scan-capture-action input{opacity:0;cursor:pointer;position:absolute;inset:0}.scan-zone{gap:12px;margin-bottom:16px;display:grid}.upload-tile{text-align:center;cursor:pointer;min-height:118px;color:var(--text-strong);background:#fffdf8;border:1px dashed #94a3b8;border-radius:8px;place-items:center;gap:4px;display:grid}.upload-tile input,.upload-button input{display:none}.upload-tile span{color:var(--muted);font-size:13px}.scan-controls{grid-template-columns:1fr 1fr;gap:10px;display:grid}.scan-controls label{color:var(--muted);gap:6px;font-size:13px;display:grid}.scan-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.empty-scan,.scan-preview,.pdf-preview{border:1px solid var(--border);background:#fffdf8;border-radius:8px}.empty-scan{height:86px;color:var(--muted);grid-column:1/-1;place-items:center;font-size:13px;display:grid}.scan-preview{height:124px;position:relative;overflow:hidden}.scan-preview img{object-fit:cover;width:100%;height:100%;display:block}.scan-preview small{color:#fff;background:#0f172ab8;border-radius:999px;padding:2px 7px;position:absolute;bottom:6px;left:6px}.pdf-preview{width:100%;height:100%;color:var(--accent-maroon);place-items:center;display:grid}.scan-modal-backdrop{z-index:40;background:#0f172a9e;align-items:end;display:grid;position:fixed;inset:0}.document-modal-backdrop{place-items:center;padding:14px}.scan-sheet{background:var(--surface);border-radius:18px 18px 0 0;width:min(760px,100%);max-height:94svh;margin:0 auto;overflow:auto;box-shadow:0 -24px 60px #0f172a40}.scan-viewer-sheet{background:var(--surface);border-radius:18px 18px 0 0;width:min(920px,100%);max-height:94svh;margin:0 auto;overflow:auto;box-shadow:0 -24px 60px #0f172a40}.scan-sheet-header{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex;position:sticky;top:0}.scan-sheet-header span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.scan-sheet-header h2{color:var(--text-strong);margin:2px 0 0;font-size:20px}.scan-editor-body{gap:14px;padding:14px;display:grid}.scan-crop-stage{border:1px solid var(--border);background:var(--gold-light);border-radius:8px;place-items:center;height:min(58svh,520px);min-height:320px;display:grid;overflow:hidden}.scan-crop-stage img{object-fit:cover;transform-origin:50%;width:100%;height:100%}.scan-viewer-body{gap:14px;padding:14px;display:grid}.scan-viewer-stage{border:1px solid var(--border);background:color-mix(in srgb, var(--gold-light) 30%, transparent);border-radius:8px;place-items:center;min-height:68svh;display:grid;overflow:hidden}.scan-viewer-stage img,.scan-viewer-stage iframe{border:0;width:100%;height:100%;min-height:68svh;display:block}.scan-viewer-stage img{object-fit:contain;transform-origin:50%}.webcam-stage{background:var(--gold-light);place-items:center;width:100%;height:100%;display:grid;position:relative}.webcam-stage video{object-fit:cover;width:100%;height:100%;display:block}.webcam-status{color:#fff;text-align:center;background:#0f172ac7;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;position:absolute;bottom:14px;left:14px;right:14px}.webcam-status.error{background:#6b1e2ae6}.empty-scan.large,.pdf-preview.large{background:#fffdf8;border:0;border-radius:0;width:100%;height:100%}.scan-page-strip{grid-auto-columns:70px;grid-auto-flow:column;gap:8px;padding-bottom:2px;display:grid;overflow-x:auto}.scan-page-strip button,.scan-page-strip .add-page-button{background:var(--gold-light);height:72px;color:var(--text-strong);cursor:pointer;border:2px solid #0000;border-radius:8px;position:relative;overflow:hidden}.scan-page-strip button.active,.scan-page-strip .add-page-button.active{border-color:var(--accent-maroon)}.scan-page-strip img{object-fit:cover;width:100%;height:100%;display:block}.scan-page-strip span{color:#fff;background:#0f172ab8;border-radius:999px;min-width:20px;padding:2px 6px;font-size:11px;font-weight:900;position:absolute;bottom:5px;left:6px}.scan-page-strip .add-page-button{background:var(--gold-hover);color:var(--accent-maroon);place-items:center;font-weight:900;display:grid}.scan-adjustments{gap:10px;display:grid}.scan-adjustments label{color:var(--text-strong);gap:6px;font-size:13px;font-weight:800;display:grid}.scan-debug-line{border:1px solid var(--border);color:var(--muted);overflow-wrap:anywhere;background:#fffdf8;border-radius:8px;padding:9px 10px;font-size:12px;font-weight:800}.scan-sheet-actions{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.scan-sheet-actions .primary-button,.scan-sheet-actions .secondary-button{white-space:nowrap;min-width:0;padding-inline:10px}.remove-button{cursor:pointer;color:#fff;z-index:1;background:#0f172abf;border:0;border-radius:999px;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:6px;right:6px}.entry-form{gap:12px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field,.tax-field{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.field input,.field select,.field textarea,.tax-field input,.search-box input,.filter-row select{box-sizing:border-box;border:1px solid var(--border);width:100%;min-height:42px;color:var(--text-strong);background:var(--card);font:inherit;border-radius:7px;outline:0;padding:0 11px;font-size:14px}.field textarea{resize:vertical;min-height:76px;padding-top:10px}.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{color:var(--muted);align-self:center}.warning-line{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 10px;font-size:13px;font-weight:700;display:flex}.primary-button,.secondary-button,.icon-button{cursor:pointer;font:inherit;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.primary-button{color:#fff;background:var(--accent-maroon);border-radius:8px;min-height:44px;padding:0 16px;font-weight:800}.primary-button:hover{background:var(--accent-hover)}.secondary-button{min-height:38px;color:var(--accent-maroon);background:var(--gold-light);border-radius:7px;padding:0 12px;font-weight:800}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.icon-button{width:38px;height:38px;color:var(--text-strong);background:var(--gold-light);border-radius:8px}.icon-button:hover{background:var(--gold-hover)}.filter-row{grid-template-columns:minmax(180px,1fr) 144px 124px;gap:8px;margin-bottom:12px;display:grid}.search-box{position:relative}.search-box svg{color:var(--muted);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-box input{padding-left:36px}.bill-list,.labour-list,.document-grid{gap:10px;display:grid}.bill-card{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.bill-card h3,.labour-card h3,.document-card h3{color:var(--text-strong);margin:6px 0 4px;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;justify-items:end;gap:4px;display:grid}.bill-card-side strong{color:var(--text-strong);font-size:17px;display:block}.bill-card-side span{color:var(--muted);font-size:12px}.scan-view-button{background:var(--gold-light);min-height:30px;color:var(--accent-maroon);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.bill-card dl,.labour-card dl{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:2px 0 0;display:grid}.bill-card dl div,.labour-card dl div{background:#fffdf8;border-radius:7px;min-height:52px;padding:8px;overflow:hidden}dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}dd{color:var(--text-strong);overflow-wrap:anywhere;margin:3px 0 0;font-size:13px;font-weight:800}.status-pill{color:#5d4b27;background:#f4e5bf;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.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{background:var(--border);height:1px;margin:8px 0 2px}.check-line{min-height:42px;color:var(--text-strong);border:1px solid var(--border);background:#fffdf8;border-radius:7px;align-items:center;gap:8px;padding:0 11px;font-weight:800;display:flex}.check-line input{width:18px;height:18px}.labour-card{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:14px;display:grid}.avatar{color:#fff;border-radius:8px;place-items:center;width:52px;height:52px;font-weight:900;display:grid;overflow:hidden}.avatar img,.worker-photo img{object-fit:cover;width:100%;height:100%;display:block}.avatar.teal{background:var(--accent-maroon)}.avatar.amber{background:#a08050}.avatar.indigo{background:#5a4033}.labour-body{gap:10px;min-width:0;display:grid}.labour-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.document-chips{flex-wrap:wrap;gap:6px;display:flex}.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{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:10px;display:grid}.upload-button{min-width:140px}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-card{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px;display:grid}.document-icon{background:var(--gold-light);width:48px;height:48px;color:var(--accent-maroon);border-radius:8px;place-items:center;display:grid}.document-card span{color:var(--muted);margin-top:8px;font-size:12px;display:block}.vault-workspace{grid-template-columns:minmax(250px,320px) minmax(0,1fr);align-items:stretch;gap:16px;height:100%;min-height:0;display:grid;overflow:hidden}.vault-sidebar-panel{flex-direction:column;gap:14px;height:100%;min-height:0;display:flex;position:static;overflow:hidden}.vault-sidebar-head{gap:12px;display:grid}.vault-sidebar-head .panel-title{margin-bottom:0}.vault-create-button{width:100%}.vault-create-form{border:1px solid var(--border);background:#fffdf8;border-radius:8px;gap:10px;padding:12px;display:grid}.vault-list{flex:1;align-content:start;gap:10px;min-height:0;display:grid;overflow:auto}.vault-card{border:1px solid var(--border);width:100%;min-height:92px;color:var(--text);cursor:pointer;text-align:left;font:inherit;background:#fffdf8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:13px;display:grid}.vault-card:hover,.vault-card.active{border-color:var(--accent-maroon);background:var(--gold-light)}.vault-card span{min-width:0;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-weight:900;display:flex;overflow:hidden}.vault-card span svg{color:var(--accent-maroon);flex:none}.vault-card strong{min-width:34px;min-height:30px;color:var(--accent-maroon);background:#fffdf8;border-radius:999px;place-items:center;font-size:14px;display:inline-grid}.vault-card small{color:var(--muted);grid-column:1/-1;font-size:12px;font-weight:800}.vault-timeline-panel{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.vault-upload-actions{align-items:end;gap:10px;display:flex}.vault-upload-actions .field{width:140px;margin:0}.vault-upload-actions .field input{min-height:38px}.vault-meta-row{border:1px solid var(--border);background:#fffdf8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;margin-bottom:16px;padding:0 12px;display:flex}.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;align-content:start;gap:12px;min-height:0;display:grid;position:relative;overflow:auto}.document-timeline-dropzone{border:1px dashed #0000;border-radius:8px;min-height:520px;padding:2px;transition:border-color .16s,background .16s}.document-timeline-dropzone:hover{border-color:var(--border);background:#f4e5bf42}.vault-empty-drop{border:1px dashed var(--border);background:#fffdf8;border-radius:8px;height:100%;min-height:100%}.document-timeline.has-documents:before{content:"";background:var(--border);width:2px;position:absolute;top:8px;bottom:8px;left:92px}.timeline-document{border:1px solid var(--border);background:var(--surface);width:min(100%,1120px);box-shadow:var(--soft-shadow);border-radius:8px;grid-template-columns:82px 92px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid;position:relative}.timeline-document:before{content:"";border:3px solid var(--accent-maroon);background:#fffdf8;border-radius:999px;width:10px;height:10px;position:absolute;top:50%;left:87px;transform:translateY(-50%)}.timeline-date{color:var(--muted);gap:4px;font-size:12px;font-weight:800;display:grid}.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{aspect-ratio:4/3;border:1px solid var(--border);width:92px;color:var(--accent-maroon);cursor:pointer;background:#fffdf8;border-radius:8px;place-items:center;display:grid;overflow:hidden}.document-thumb img{object-fit:cover;width:100%;height:100%;display:block}.document-thumb:hover{border-color:var(--accent-maroon)}.timeline-document-copy{min-width:0}.timeline-document-copy h3{color:var(--text-strong);margin:0 0 4px;font-size:15px;line-height:1.2}.timeline-document-copy p{color:var(--muted);margin:0;font-size:12px}.document-viewer-sheet{background:var(--surface);border-radius:8px;grid-template-rows:auto minmax(0,1fr);justify-self:center;width:min(1080px,100vw - 56px);max-height:calc(100svh - 56px);display:grid;overflow:hidden;box-shadow:0 24px 80px #0f172a47}.worker-card-viewer{width:min(780px,100vw - 28px)}.document-viewer-stage{background:var(--gold-light);place-items:center;min-height:68svh;display:grid;overflow:hidden}.document-viewer-stage img,.document-viewer-stage iframe{border:0;width:100%;height:100%;display:block}.document-viewer-stage img{object-fit:contain}.document-viewer-stage iframe{background:#fff}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.report-block{gap:8px;padding:16px;display:grid}.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{gap:8px;display:flex}.labour-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:stretch;gap:16px;height:100%;min-height:0;display:grid;overflow:hidden}.labour-sheet-panel,.labour-calendar-panel{flex-direction:column;gap:14px;height:100%;min-height:0;display:flex;overflow:hidden}.labour-calendar-panel{overflow:auto}.labour-modal-backdrop{z-index:45;background:#0f172a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.labour-modal-sheet{background:var(--surface);border-radius:10px;grid-template-rows:auto minmax(0,1fr);width:min(820px,100vw - 32px);max-height:calc(100svh - 40px);display:grid;overflow:hidden;box-shadow:0 24px 80px #0f172a47}.rate-modal-sheet{width:min(680px,100vw - 32px)}.labour-modal-sheet .labour-create-panel,.labour-modal-sheet .rate-fix-panel{background:0 0;border:0;border-radius:0;padding:16px;overflow:auto}.labour-modal-sheet .rate-fix-actions{background:var(--surface);border-top:1px solid var(--border);margin:4px -16px -16px;padding:12px 16px 16px;position:sticky;bottom:0}.labour-date-bar{grid-template-columns:38px 170px 38px;align-items:center;gap:8px;display:grid}.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{border:1px solid var(--border);width:100%;min-height:38px;color:var(--text-strong);font:inherit;background:#fffdf8;border-radius:7px;outline:0;padding:0 10px;font-size:14px}.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{border:1px solid var(--border);background:#fffdf8;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.labour-create-panel textarea{resize:vertical;min-height:78px;padding-top:9px}.labour-address-field,.labour-card-upload{grid-column:span 2}.labour-create-panel .primary-button{align-self:end;min-width:0}.rate-fix-panel{border:1px solid var(--border);background:#fffdf8;border-radius:8px;gap:12px;padding:12px;display:grid}.rate-fix-dates{grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px;display:grid}.rate-fix-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.rate-fix-actions span{color:var(--muted);font-size:13px;font-weight:900}.worker-rate-strip{grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;display:grid}.worker-rate-strip label{border:1px solid var(--border);background:var(--gold-light);border-radius:8px;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:8px;min-width:0;padding:7px;display:grid}.worker-rate-strip span{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.worker-rate-strip input{min-height:32px;padding-inline:8px}.worker-type-add{border:1px dashed var(--border);background:#fffdf8;border-radius:8px;grid-column:1/-1;grid-template-columns:minmax(160px,1fr) 120px auto;align-items:center;gap:8px;padding:8px;display:grid}.worker-type-add input{min-height:36px}.worker-type-add .secondary-button{white-space:nowrap;min-height:36px}.attendance-sheet-scroll{border:1px solid var(--border);background:#fffdf8;border-radius:8px;flex:1;min-height:420px;overflow:auto}.attendance-sheet{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px}.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);vertical-align:middle;padding:7px}.attendance-sheet th:last-child,.attendance-sheet td:last-child{border-right:0}.attendance-sheet th{z-index:1;background:var(--gold-light);color:var(--text-strong);text-align:left;white-space:nowrap;font-size:12px;font-weight:900;position:sticky;top:0}.attendance-sheet td{color:var(--text-strong);background:#fffdf8;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{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;display:grid}.worker-photo{background:var(--accent-maroon);color:#fff;border-radius:999px;place-items:center;width:42px;height:42px;font-size:12px;font-weight:900;display:grid;overflow:hidden}.worker-cell strong,.worker-cell span{display:block}.worker-cell span{max-width:170px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;font-weight:700;overflow:hidden}.attendance-sheet input,.attendance-sheet select{background:0 0;border-color:#0000;min-height:34px;padding-inline:7px}.attendance-sheet input:focus,.attendance-sheet select:focus{background:#fff}.attendance-sheet input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--accent-maroon)}.attendance-toggle{-webkit-user-select:none;user-select:none;grid-template-columns:repeat(3,minmax(58px,1fr));gap:6px;display:grid}.attendance-toggle button{border:1px solid var(--border);min-height:32px;color:var(--text-strong);cursor:pointer;font:inherit;touch-action:none;background:#fffdf8;border-radius:7px;font-size:12px;font-weight:900}.attendance-toggle button.present{color:#17210a;background:#a2e22738;border-color:#a2e227}.attendance-toggle button.half{color:#2a1d00;background:#f1bd2b38;border-color:#f1bd2b}.attendance-toggle button.absent{color:#5d0b0f;background:#9c12162e;border-color:#9c1216}.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;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:14px;font-weight:800;display:flex}.empty-sheet svg{color:var(--muted)}.calendar-worker-summary{border:1px solid var(--border);background:#fffdf8;border-radius:8px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.labour-calendar-panel .panel-title{flex-direction:column;align-items:stretch}.labour-calendar-panel .panel-title h2{white-space:nowrap;font-size:17px}.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{color:var(--muted);margin-top:3px;font-size:13px;font-weight:800}.attendance-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:7px;display:grid}.calendar-day{aspect-ratio:1;border:1px solid var(--border);min-width:0;min-height:0;color:var(--muted);cursor:pointer;text-align:center;background:#fffdf8;border-radius:8px;align-content:center;gap:3px;padding:0;display:grid}.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{border:1px solid var(--border);background:#fffdf8;border-radius:8px;gap:12px;padding:12px;display:grid;position:relative}.worker-detail-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.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{color:var(--muted);margin-top:2px;font-size:12px;font-weight:800}.worker-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.worker-detail-address{grid-column:1/-1}.worker-detail-address textarea{min-height:70px}.worker-summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.worker-summary-list div{border:1px solid var(--border);background:#fffaf0;border-radius:8px;min-width:0;padding:9px}.worker-summary-list span,.worker-summary-list strong{display:block}.worker-summary-list span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.worker-summary-list strong{color:var(--text-strong);overflow-wrap:anywhere;margin-top:3px;font-size:13px;line-height:1.25}.worker-summary-list .worker-summary-wide{grid-column:1/-1}.document-drop-zone{border:1px dashed var(--border);background:var(--gold-light);min-height:62px;color:var(--text-strong);cursor:pointer;text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:13px;font-weight:900;display:flex}.document-drop-zone:hover{border-color:var(--accent-maroon)}.document-drop-zone input{display:none}.worker-card-drop{min-height:72px}.worker-card-link{min-height:36px;color:var(--accent-maroon);cursor:pointer;background:#fff7e4;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.worker-card-missing{border:1px dashed var(--border);min-height:36px;color:var(--muted);border-radius:8px;place-items:center;padding:0 12px;font-size:13px;font-weight:900;display:grid}.calendar-day:hover,.calendar-day.selected{border-color:var(--accent-maroon);box-shadow:0 0 0 3px #c8b48a2e}.calendar-day.present{color:#17210a;background:#a2e22738;border-color:#a2e227}.calendar-day.half{color:#2a1d00;background:#f1bd2b38;border-color:#f1bd2b}.calendar-day.absent{color:#5d0b0f;background:#9c12162e;border-color:#9c1216}.calendar-day.present strong,.calendar-day.half strong{color:#17210a}.calendar-day.absent strong{color:#5d0b0f}.audit-row{border-bottom:1px solid var(--border);grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:8px;padding-bottom:10px;font-size:13px;display:grid}.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);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bottom-nav{display:none}@media (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 (width<=820px){.app-shell{padding-bottom:76px;display:block}.sidebar{display:none}.main-shell{padding:16px 12px 10px}.topbar{flex-direction:column;align-items:flex-start;margin-bottom:14px}.topbar-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;width:100%;display:grid}.topbar h1{font-size:26px}.user-switcher,.project-switcher{min-width:0;min-height:40px;padding:0 8px}.user-switcher select,.project-switcher select{width:100%;min-width:0}.topbar-settings{width:40px;height:40px}.settings-band{flex-direction:column;align-items:flex-start}.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{flex-direction:column;align-items:stretch;width:100%}.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{resize:none;width:100%;min-width:0;max-width:none;height:auto;position:static;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{flex-direction:column;align-items:stretch}.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{min-height:52px;font-size:16px;display:inline-flex}.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{z-index:20;border-top:1px solid var(--border);padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#fffffff5;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0f172a14}.bottom-nav button,.bottom-nav .scan-fab{min-height:56px;color:var(--muted);background:0 0;border-radius:8px;place-items:center;gap:2px;font-size:11px;font-weight:800;display:grid}.bottom-nav button.active{color:var(--accent-maroon);background:var(--gold-light)}.bottom-nav .scan-fab{color:#fff;background:var(--accent-maroon);border-radius:999px;place-self:start center;width:62px;height:62px;min-height:62px;margin-top:-24px;box-shadow:0 14px 32px #6b1e2a52}.bottom-nav .scan-fab.has-scan{background:#a08050;box-shadow:0 14px 32px #b453095c}}@media (width<=420px){.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{text-align:center;grid-template-columns:1fr;place-items:center;padding-inline:12px}.vault-list,.timeline-document{grid-template-columns:1fr}.document-thumb{width:100%}}
