*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}table{border-collapse:collapse}:root{--bg:#fafaf9;--surface:#fff;--surface-sunken:#f5f5f4;--border:#e7e5e4;--border-strong:#d6d3d1;--text:#1c1917;--text-secondary:#57534e;--text-muted:#78716c;--accent:#1c1917;--accent-contrast:#fff;--focus:#4f46e5;--created-bg:#f5f5f4;--created-fg:#57534e;--signed-bg:#d1fae5;--signed-fg:#047857;--dispatched-bg:#e0f2fe;--dispatched-fg:#0369a1;--assigned-bg:#fef3c7;--assigned-fg:#a16207;--partial-bg:#ffedd5;--partial-fg:#c2410c;--collected-bg:#dcfce7;--collected-fg:#15803d;--success:#15803d;--warn:#c2410c;--warn-soft:#a16207;--danger:#b91c1c;--danger-bg:#fef2f2;--danger-border:#fecaca;--hover-surface:#fdfdfc;--menu-shadow:0 8px 24px #1c191717;--money:#15803d;--age-1:#fdba74;--age-2:#ea580c;--age-3:#7c2d12;--chart-grid:#ededeb;--chart-rest:#e7e5e4;--radius:10px;--radius-sm:7px;--sidebar-w:236px;--page-max-w:1440px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0a0a0a;--surface:#121212;--surface-sunken:#1c1c1c;--border:#232323;--border-strong:#343434;--text:#ededed;--text-secondary:#a1a1a1;--text-muted:#8c8c8c;--accent:#ededed;--accent-contrast:#0a0a0a;--focus:#818cf8;--created-bg:#1c1c1c;--created-fg:#a1a1a1;--signed-bg:#062b20;--signed-fg:#6ee7b7;--dispatched-bg:#0c2233;--dispatched-fg:#7dd3fc;--assigned-bg:#2a2210;--assigned-fg:#fcd34d;--partial-bg:#2b1b10;--partial-fg:#fdba74;--collected-bg:#0f2618;--collected-fg:#86efac;--success:#4ade80;--warn:#fb923c;--warn-soft:#fbbf24;--danger:#f87171;--danger-bg:#241414;--danger-border:#3f1d1d;--hover-surface:#171717;--menu-shadow:0 8px 24px #0009;--money:#4ade80;--age-1:#9a3412;--age-2:#f97316;--age-3:#fdba74;--chart-grid:#232323;--chart-rest:#2a2a2a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}::selection{background:color-mix(in srgb, var(--focus) 24%, transparent)}:root{accent-color:var(--success);caret-color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}.mono{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.num{font-variant-numeric:tabular-nums}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:10px;padding:4px 8px 20px;display:flex}.brand-mark{background:var(--accent);width:30px;height:30px;color:var(--accent-contrast);letter-spacing:.02em;border-radius:8px;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.brand-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.brand-name{letter-spacing:-.01em;font-size:13.5px;font-weight:600}.brand-sub{color:var(--text-muted);font-size:11px}.sidebar-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:14px 0 6px;padding:0 8px;font-size:10.5px;font-weight:600}.sidebar-nav{flex-direction:column;gap:1px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:10px;padding:7px 8px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-item svg{opacity:.75;flex-shrink:0}.nav-item:hover{background:var(--surface-sunken);color:var(--text)}.nav-item.active{background:var(--surface-sunken);color:var(--text);font-weight:600}.nav-item.active svg{opacity:1}.nav-count{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11.5px}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:14px}.sidebar-user{align-items:center;gap:9px;min-width:0;padding:4px 8px 10px;display:flex}.user-avatar{background:var(--surface-sunken);border:1px solid var(--border);width:26px;height:26px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;place-items:center;font-size:10.5px;font-weight:600;display:grid}.user-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.nav-item.logout{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-family:inherit}.nav-item.logout:hover{color:var(--danger)}.footer-actions{align-items:center;gap:4px;display:flex}.footer-actions .nav-item.logout{flex:1}.icon-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;padding:0;display:grid}.icon-btn:hover{background:var(--surface-sunken);color:var(--text-secondary)}.icon-btn svg{width:15px;height:15px}.main-content{flex:1;min-width:0}.page{max-width:var(--page-max-w);margin-inline:auto;padding:32px 36px 56px}.page-head{margin-bottom:26px}.page h1{letter-spacing:-.025em;margin:0;font-size:24px;font-weight:600}.page-subtitle{color:var(--text-secondary);margin:5px 0 0;font-size:13.5px}.page-facts{color:var(--text-secondary);margin:6px 0 0;font-size:13.5px}.page-facts b{color:var(--text);font-weight:600}.page-facts-scale{color:var(--text-secondary);background:var(--surface-sunken);border-radius:999px;margin-left:8px;padding:2px 7px;font-size:11.5px;font-weight:600;display:inline-block}.muted{color:var(--text-muted);font-size:13.5px}.stats-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);margin-bottom:26px;display:grid;overflow:hidden}.stat-card{border-left:1px solid var(--border);flex-direction:column;gap:5px;min-width:0;padding:15px 18px 17px;display:flex}.stat-card:first-child{border-left:none}.stat-label{color:var(--text-secondary);font-size:11.5px;font-weight:500}.stat-value{letter-spacing:-.03em;font-size:26px;font-weight:600;line-height:1.1}.stat-meta{color:var(--text-muted);font-size:11.5px}.stat-accent-warn{color:var(--warn-soft)}.stat-accent-success{color:var(--success)}.rupee{color:var(--text-muted);margin-right:.06em;font-weight:500}.masthead{margin-bottom:22px}.masthead h1{letter-spacing:-.03em;margin:0;font-size:26px;font-weight:600}.masthead-year{color:var(--text-muted);font-weight:500}.masthead-line{color:var(--text-secondary);max-width:68ch;margin:7px 0 0;font-size:13.5px}.masthead-line b{color:var(--text);font-weight:600}.masthead-line .warn{color:var(--warn)}.masthead-rule{background:var(--border);height:1px;margin-top:18px}.board{grid-template-columns:1.55fr 1fr;gap:12px;margin-bottom:26px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:0;padding:16px 18px 14px;display:flex}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.panel-head h2{letter-spacing:-.01em;font-size:13.5px;font-weight:600}.panel-note{color:var(--text-muted);text-align:right;font-size:11.5px}.panel-figure{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.panel-value{letter-spacing:-.03em;font-size:26px;font-weight:600;line-height:1.1}.panel-scale{color:var(--text-secondary);background:var(--surface-sunken);border-radius:999px;padding:2px 7px;font-size:11.5px;font-weight:600}.panel-sub{color:var(--text-muted);font-size:12px}.chart{margin-top:14px;position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-foot{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:12px;font-size:11px;display:flex}.col-rest{fill:var(--text-muted);opacity:.55}.col-bar{fill:var(--money)}.col-zero{fill:var(--chart-grid)}.col-hit{fill:#0000;cursor:default}.chart g:hover .col-bar{fill:var(--money);filter:brightness(1.12)}.chart-baseline{stroke:var(--border);stroke-width:1px}.chart-tip{background:var(--text);color:var(--bg);pointer-events:none;white-space:nowrap;z-index:3;border-radius:6px;padding:5px 8px;font-size:11.5px;font-weight:500;line-height:1.35;position:absolute;transform:translate(-50%,-100%)}.chart-tip-day{opacity:.6;font-weight:400;display:block}.age-bar{gap:2px;height:12px;margin-top:16px;display:flex}.age-seg{border-radius:3px;min-width:4px}.cell-link{color:inherit;border-radius:3px}.cell-link:hover{text-underline-offset:2px;text-decoration:underline}.age-legend{margin:12px 0 0;padding:0;list-style:none}.age-row{border-top:1px solid var(--border);grid-template-columns:9px 1fr auto;align-items:baseline;gap:9px;padding:7px 0;font-size:12.5px;display:grid}.age-row:first-child{border-top:none}.age-swatch{border-radius:2px;width:9px;height:9px;transform:translateY(1px)}.age-name{color:var(--text-secondary);min-width:0}.age-count{color:var(--text-muted);font-size:11.5px}.age-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.panel-footnote{color:var(--text-muted);margin-top:auto;padding-top:12px;font-size:11.5px}.panel-footnote strong{color:var(--text-secondary);font-weight:600}.panel-empty{text-align:center;min-height:96px;color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius-sm);place-items:center;margin-top:14px;padding:14px;font-size:12.5px;display:grid}.section-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:28px 0 12px;font-size:11px;font-weight:600}.roster-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 20px;margin:30px 0 11px;display:flex}.roster-head .section-label{margin:0}.roster-facts{color:var(--text-muted);max-width:62ch;margin:0;font-size:12px}.roster-facts b{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.roster{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.roster-row{border-top:1px solid var(--border);color:inherit;grid-template-columns:34px minmax(132px,1fr) minmax(80px,1.7fr) auto 16px;grid-template-areas:"avatar id bar figure chev";align-items:center;gap:16px;padding:14px 18px;transition:background .12s;display:grid}.roster-row:first-child{border-top:none}a.roster-row:hover{background:var(--hover-surface)}a.roster-row:hover .roster-name{text-underline-offset:2px;text-decoration:underline}a.roster-row:hover .person-chevron{color:var(--text-secondary);transform:translate(2px)}.roster-avatar{grid-area:avatar;width:34px;height:34px;font-size:12px}.roster-id{grid-area:id;min-width:0}.roster-name,.roster-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-name{letter-spacing:-.012em;font-size:14.5px;font-weight:600;line-height:1.3}.roster-meta{color:var(--text-muted);margin-top:2px;font-size:11.5px}a.roster-row:focus-visible{outline-offset:-2px}.roster-bar{grid-area:bar;min-width:0}.roster-bar-fill{gap:2px;height:10px;display:flex}.roster-bar-in{background:var(--money);border-radius:3px;min-width:3px}.roster-bar-rest{background:var(--text-secondary);border-radius:3px;flex:1;min-width:3px}.roster-figure{text-align:right;grid-area:figure;min-width:102px}.roster-amount{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:19px;font-weight:600;line-height:1.15;display:block}.roster-foot{color:var(--text-muted);white-space:nowrap;margin-top:3px;font-size:11px}.roster-row .person-chevron{grid-area:chev}.roster-row-gap{background:var(--surface-sunken)}.roster-row-gap .roster-avatar{border-style:dashed;border-color:var(--warn);color:var(--warn);background:0 0}.roster-row-gap .roster-name{color:var(--warn)}.roster-row-gap .roster-bar-rest{background:var(--warn)}@media (width<=860px){.roster-row{grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"avatar id figure""bar bar bar";gap:12px;padding:13px 14px}.roster-row .person-chevron{display:none}.roster-figure{min-width:88px}.roster-amount{font-size:17px}}.person-top{align-items:center;gap:11px;display:flex}.person-avatar{background:var(--surface-sunken);border:1px solid var(--border);width:34px;height:34px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.person-id{flex:1;min-width:0}.person-name{letter-spacing:-.01em;font-size:14px;font-weight:600}.person-sub{color:var(--text-muted);font-size:12px}.person-headline{flex-shrink:0;margin-top:14px}.person-headline-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.2}.person-headline-value.warn{color:var(--warn)}.person-headline-value.success{color:var(--success)}.person-headline-value.muted{color:var(--text-muted)}.person-headline-label{color:var(--text-muted);font-size:11px}.person-chevron{color:var(--border-strong);flex-shrink:0;transition:transform .15s,color .15s}.person-bar-head{color:var(--text-muted);justify-content:space-between;align-items:baseline;margin-bottom:5px;font-size:11px;display:flex}.person-bar-pct{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:600}.person-body{border-top:1px solid var(--border);padding:15px 18px 16px}.metric-row{gap:8px;display:flex}.metric{flex:1;min-width:0}.metric-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:11px;overflow:hidden}.metric-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:16px;font-weight:600;line-height:1.2}.metric-value.success{color:var(--success)}.metric-value.warn{color:var(--warn)}.metric-value.muted{color:var(--text-muted)}.person-note{color:var(--text-secondary);align-items:center;gap:7px;margin-top:14px;font-size:12px;display:flex}.person-note svg{opacity:.45;flex-shrink:0}.person-note.alert{color:var(--warn)}.person-note.alert svg{opacity:.8}.person-list-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:16px 0 3px;font-size:11px;font-weight:600}.person-invoice{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:8px 0;font-size:12.5px;display:flex}.person-invoice:last-child{border-bottom:none}.person-invoice:hover .person-invoice-no{color:var(--focus)}.person-invoice-no{color:var(--text-secondary);white-space:nowrap;font-size:11.5px}.person-invoice-cust{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.person-invoice-amt{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.person-invoice-more{color:var(--text-muted);padding-top:9px;font-size:11.5px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:13px 18px;display:flex}.table-title{letter-spacing:-.01em;font-size:13.5px;font-weight:600}.table-scroll{overflow-x:auto}table.data{border-collapse:collapse;width:100%;min-width:720px}table.data th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);padding:10px 18px;font-size:11px;font-weight:600}table.data td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 18px;font-size:13.5px}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr{cursor:pointer;transition:background .1s}table.data tbody tr:hover{background:var(--surface-sunken)}.col-right,table.data th.col-right{text-align:right}.cell-invoice{white-space:nowrap;font-size:12.5px;font-weight:500}.cell-customer{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.cell-amount{white-space:nowrap;font-weight:600}.cell-person{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:12.5px;overflow:hidden}.cell-person.unset{color:var(--text-muted)}.cell-date{white-space:nowrap}@media (width<=620px){table.data.parties{min-width:0}table.data.parties th:nth-child(2),table.data.parties td:nth-child(2),table.data.parties th:nth-child(3),table.data.parties td:nth-child(3),table.data.parties th:nth-child(4),table.data.parties td:nth-child(4){display:none}table.data.parties th,table.data.parties td{padding-left:12px;padding-right:12px}.cell-customer{max-width:150px}}.cell-age{color:var(--text-secondary);white-space:nowrap}.cell-age.age-warn{color:var(--warn);font-weight:600}.cell-age.age-bad{color:var(--danger);font-weight:600}.cell-in-hand{color:var(--success);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;font-weight:600}.cell-overdue{color:var(--warn);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;font-weight:600}.table-title{align-items:center;gap:8px;display:inline-flex}.table-title .card-head-count{margin-left:0}.table-foot{border-top:1px solid var(--border);color:var(--text-muted);padding:11px 18px;font-size:12.5px}table.data td.cell-assign{cursor:default;padding-top:8px;padding-bottom:8px}select.row-select{background-position:right 8px center;width:auto;min-width:150px;max-width:200px;padding:5px 26px 5px 9px;font-size:12.5px}select.row-select.unset{color:var(--text-muted);border-style:dashed}select.row-select.failed{border-color:var(--danger);color:var(--danger)}select.row-select:disabled{opacity:.55;cursor:progress}select.row-select option{color:var(--text)}table.data.pin-end th:last-child,table.data.pin-end td:last-child{background:var(--surface);position:sticky;right:0;box-shadow:-10px 0 10px -10px #0000002e}table.data.pin-end tbody tr:hover td:last-child{background:var(--surface-sunken)}table.data.pin-end tr.day-row td:last-child{background:var(--surface-sunken);box-shadow:none;position:static}table.data tr.day-row .day-total{margin-left:0}table.data tbody tr.day-row{cursor:default}table.data tbody tr.day-row:hover{background:0 0}table.data tr.day-row td{background:var(--surface-sunken);border-bottom:1px solid var(--border);padding:8px 18px}.day-row-inner{align-items:baseline;gap:10px;display:flex}.status-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:14px;display:flex}.status-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;padding:9px 11px 11px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex;position:relative}.status-tab:after{content:"";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.status-tab:hover{color:var(--text)}.status-tab.active{color:var(--text);font-weight:600}.status-tab.active:after{background:var(--text)}.tab-count{font-variant-numeric:tabular-nums;color:var(--text-secondary);background:var(--surface-sunken);text-align:center;border-radius:999px;min-width:20px;padding:1px 6px;font-size:11px;font-weight:600}.status-tab.active .tab-count{background:var(--text);color:var(--surface)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.search{flex:220px;max-width:300px;position:relative}.search>svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:8px 30px 8px 34px;font-family:inherit;font-size:13px}.search input::placeholder{color:var(--text-muted)}.search input:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:#0000}.search-clear{background:var(--surface-sunken);width:18px;height:18px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;place-items:center;padding:0;font-size:12px;line-height:1;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.search-clear:hover{background:var(--border);color:var(--text)}.chip-wrap{position:relative}.chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:7px 10px;font-family:inherit;font-size:12.5px;display:inline-flex}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip svg{opacity:.5;flex-shrink:0}.chip-value{color:var(--text);background:var(--surface-sunken);text-overflow:ellipsis;border-radius:5px;max-width:130px;padding:1px 6px;font-weight:500;overflow:hidden}.chip.on{border-color:var(--text);color:var(--text)}.chip.on svg{opacity:.85}.chip.on .chip-value{background:var(--text);color:var(--surface)}.chip-wrap.plain .chip,.chip-wrap.plain .chip.on{background:0 0;border-color:#0000}.chip-wrap.plain .chip:hover{background:var(--surface-sunken)}.chip-caret{width:13px;height:13px;margin-left:-2px;opacity:.4!important}.chip-menu{z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:190px;max-height:280px;box-shadow:var(--menu-shadow);padding:4px;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto}.chip-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:7px 9px;font-family:inherit;font-size:13px;display:flex}.chip-menu-item:hover{background:var(--surface-sunken)}.chip-menu-item.selected{font-weight:600}.chip-menu-item .tick{opacity:0;flex-shrink:0;margin-left:auto}.chip-menu-item.selected .tick{opacity:1}.chip-menu-sep{background:var(--border);height:1px;margin:4px 2px}.clear-filters{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:7px 9px;font-family:inherit;font-size:12.5px;font-weight:500}.clear-filters:hover{background:var(--surface-sunken);color:var(--text)}.toolbar-end{align-items:center;gap:8px;margin-left:auto;display:flex}.toolbar-end .chip-menu{left:auto;right:0}.segmented{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);gap:2px;padding:2px;display:inline-flex}.segmented-item{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:6px;padding:5px 10px;font-family:inherit;font-size:12.5px;font-weight:500;display:inline-flex}.segmented-item svg{width:15px;height:15px}.segmented-item:hover{color:var(--text)}.segmented-item.active{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border)}.segmented-item:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.load-error{border:1px solid var(--danger-border);border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);align-items:flex-start;gap:10px;margin-bottom:18px;padding:13px 15px;font-size:13px;display:flex}.load-error svg{flex-shrink:0;margin-top:1px}.load-error strong{font-weight:600}.load-error-detail{color:var(--text-secondary);margin-top:3px}.pager{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:26px;padding-top:16px;display:flex}.pager-count{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12.5px}.pager-controls{align-items:center;gap:4px;display:flex}.pager-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-variant-numeric:tabular-nums;min-width:30px;height:30px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:12.5px;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.pager-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.pager-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.pager-btn:disabled{opacity:.4;cursor:default}.pager-gap{color:var(--text-muted);padding:0 2px;font-size:12.5px}.caret-left{transform:rotate(90deg)}.caret-right{transform:rotate(-90deg)}.day-group+.day-group{margin-top:28px}.day-head{z-index:3;background:var(--bg);border-bottom:1px solid var(--border);align-items:baseline;gap:10px;margin-bottom:14px;padding:10px 0 9px;display:flex;position:sticky;top:0}.day-label{letter-spacing:-.01em;margin:0;font-size:13px;font-weight:600}.day-count{color:var(--text-muted);font-size:12px}.day-total{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12.5px;font-weight:500}.tile-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.invoice-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;cursor:pointer;flex-direction:column;padding:17px 18px 0;transition:border-color .12s,background .12s;display:flex}.invoice-tile:hover{border-color:var(--border-strong);background:var(--hover-surface)}.tile-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;display:flex}.tile-invoice-no{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.tile-top .badge{flex-shrink:0}.tile-customer{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:14px;font-weight:500;overflow:hidden}.tile-amount{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:21px;font-weight:600;line-height:1.2}.tile-collected{color:var(--success);margin-top:5px;font-size:11.5px;font-weight:500}.tile-progress{background:var(--surface-sunken);border-radius:999px;height:4px;margin-top:9px;overflow:hidden}.tile-progress-fill{background:var(--success);border-radius:999px;height:100%}.tile-spacer{flex:1;min-height:15px}.tile-foot{border-top:1px solid var(--border);flex-direction:column;gap:7px;padding:12px 0 14px;display:flex}.tile-meta{color:var(--text-secondary);align-items:center;gap:7px;min-width:0;font-size:12px;display:flex}.tile-meta svg{opacity:.45;flex-shrink:0}.tile-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tile-meta.unset{color:var(--text-muted)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 7px;font-size:11.5px;font-weight:500;line-height:1.45;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.badge-created{background:var(--created-bg);color:var(--created-fg)}.badge-signed{background:var(--signed-bg);color:var(--signed-fg)}.badge-dispatched{background:var(--dispatched-bg);color:var(--dispatched-fg)}.badge-delivered_before_app{background:var(--signed-bg);color:var(--signed-fg)}.badge-assigned_for_collection{background:var(--assigned-bg);color:var(--assigned-fg)}.badge-partially_collected{background:var(--partial-bg);color:var(--partial-fg)}.badge-collected{background:var(--collected-bg);color:var(--collected-fg)}.back-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:18px;padding:0;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.back-link:hover{color:var(--text)}.detail-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;padding-bottom:22px;display:flex}.detail-head h1{margin-bottom:7px;font-size:22px}.detail-title-row{flex-wrap:wrap;align-items:center;gap:11px;display:flex}.detail-id{min-width:0}.detail-customer{color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:10px;font-size:13.5px;display:flex}.detail-party{border-radius:3px}.detail-party:hover{color:var(--text);text-underline-offset:2px;text-decoration:underline}.detail-phone{color:var(--text-secondary);padding-left:11px;position:relative}.detail-phone:before{content:"·";color:var(--text-muted);position:absolute;left:0}.detail-phone:hover{color:var(--text)}.detail-dates{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:0 14px;margin-top:8px;font-size:12px;display:flex}.detail-dates>span+span{padding-left:15px;position:relative}.detail-dates>span+span:before{content:"";opacity:.6;background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;top:.45em;left:0}.detail-overdue{color:var(--warn);font-weight:600}.detail-settled{color:var(--success);font-weight:600}.detail-money{flex-shrink:0;align-items:baseline;gap:9px;display:flex}.detail-amount{letter-spacing:-.03em;white-space:nowrap;font-size:25px;font-weight:600}@media (width>=901px){.detail-side{position:sticky;top:24px}}.detail-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.detail-col{flex-direction:column;gap:14px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-head{border-bottom:1px solid var(--border);align-items:center;gap:7px;padding:12px 16px;font-size:12.5px;font-weight:600;display:flex}.card-head svg{opacity:.55}.card-body{padding:15px 16px}.field-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px;font-size:11px;font-weight:600}.field+.field{margin-top:15px}.field-value{color:var(--text);overflow-wrap:anywhere;font-size:13.5px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.field-grid .field+.field{margin-top:0}.field+.field-grid,.field-grid+.field{margin-top:15px}.field-phone{font-variant-numeric:tabular-nums;border-radius:3px}.field-phone:hover{text-underline-offset:2px;text-decoration:underline}@media (width<=520px){.field-grid{grid-template-columns:minmax(0,1fr)}}.sig-slip{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;max-width:300px;padding:8px 12px;display:block}.sig-slip:hover{border-color:var(--text-muted)}.sig-slip img{object-fit:contain;object-position:left center;width:100%;max-height:86px;display:block}.card-note{border-top:1px solid var(--border);color:var(--text-muted);margin:13px 0 0;padding-top:11px;font-size:11.5px;line-height:1.5}select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);width:100%;color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a8a29e' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:8px 30px 8px 10px;font-family:inherit;font-size:13.5px}select:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:#0000}.badge-select{border:none;border-radius:999px;width:100%;padding:7px 30px 7px 11px;font-size:12px;font-weight:500}.doc-list{flex-direction:column;display:flex}.doc-row{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:11px 16px;font-size:13px;text-decoration:none;display:flex}.doc-row:last-child{border-bottom:none}.doc-row svg{opacity:.5;flex-shrink:0}a.doc-row:hover{background:var(--surface-sunken)}.doc-open{color:var(--focus);margin-left:auto;font-size:11.5px;font-weight:500}.doc-row.disabled,.doc-row.disabled .doc-open{color:var(--text-muted)}.btn-entered{border:1px solid var(--border-strong);background:var(--surface);font:inherit;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11.5px;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn-entered:before{content:"";background:var(--warn);border-radius:50%;flex-shrink:0;width:5px;height:5px}.btn-entered:hover{background:var(--collected-bg);border-color:var(--collected-fg);color:var(--collected-fg)}.btn-entered:hover:before{background:var(--collected-fg)}.btn-entered:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn-entered:active{transform:translateY(.5px)}.btn-entered-all{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);margin-left:auto}.btn-entered-all:before{background:var(--accent-contrast)}.btn-entered-all:hover{background:var(--collected-fg);border-color:var(--collected-fg);color:#fff}.btn-entered-all:hover:before{background:#fff}.muted.small.day-end-note{margin-bottom:28px}.pay-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pay-row+.pay-row{border-top:1px solid var(--border);margin-top:9px;padding-top:9px}.pay-key{color:var(--text-secondary);font-size:12.5px}.pay-val{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.pay-val.success{color:var(--success)}.pay-val.warn{color:var(--warn)}.pay-method{text-transform:capitalize;color:var(--text-secondary);font-weight:500}.progress{background:var(--surface-sunken);border-radius:999px;height:5px;margin-top:13px;overflow:hidden}.progress-fill{background:var(--success);border-radius:999px;height:100%;transition:width .3s}.empty{text-align:center;padding:56px 24px}.empty-title{color:var(--text-secondary);font-size:14px;font-weight:500}.empty-sub{color:var(--text-muted);margin-top:4px;font-size:12.5px}.login-wrap{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:348px;padding:34px 30px 30px}.login-box .brand-mark{border-radius:10px;width:36px;height:36px;margin-bottom:20px;font-size:12px}.login-box h2{letter-spacing:-.02em;margin:0 0 4px;font-size:18px;font-weight:600}.login-sub{color:var(--text-muted);margin:0 0 22px;font-size:13px}.login-box input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--surface);margin-bottom:9px;padding:10px 12px;font-family:inherit;font-size:13.5px}.login-box input::placeholder{color:var(--text-muted)}.login-box input:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:#0000}.login-box button{background:var(--accent);width:100%;color:var(--accent-contrast);border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:5px;padding:10px;font-family:inherit;font-size:13.5px;font-weight:500;transition:opacity .12s}.login-box button:hover{opacity:.88}.error-text{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-sm);margin:13px 0 0;padding:8px 11px;font-size:12.5px}@media (width<=1120px){.tile-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.tile-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=1120px){.board{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.app-shell{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:8px;width:100%;height:auto;padding:10px 14px;position:static}.sidebar-brand{padding:0 8px 0 0}.sidebar-label{display:none}.sidebar-nav{flex-direction:row}.sidebar-footer{border:none;margin:0 0 0 auto;padding:0}.sidebar-user{display:none}.page{padding:22px 18px 40px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card:nth-child(odd){border-left:none}.stat-card:nth-child(n+3){border-top:1px solid var(--border)}.masthead h1{font-size:22px}.tile-grid{grid-template-columns:repeat(2,1fr)}.search{max-width:none}.detail-layout{grid-template-columns:minmax(0,1fr)}.detail-head{flex-direction:column;gap:12px}}.person-avatar.lg{width:44px;height:44px;font-size:14px}.detail-head .person-top{gap:13px}.detail-amount.warn{color:var(--warn)}.detail-head .person-headline{flex-direction:column;align-items:flex-end;display:flex}.card-head-count{font-variant-numeric:tabular-nums;color:var(--text-secondary);background:var(--surface-sunken);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}table.data.compact{min-width:480px}table.data.compact th{padding:9px 16px}table.data.compact td{padding:11px 16px;font-size:13px}.stat-rows{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.stat-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.stat-row+.stat-row{margin-top:10px}.stat-row-key{color:var(--text-secondary);font-size:12.5px}.stat-row-val{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.stat-row-val.success{color:var(--success)}.stat-row-val.warn{color:var(--warn)}.stat-row-val.muted{color:var(--text-muted)}.card .person-note{margin-top:0}.party-hero{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;padding-bottom:20px;display:flex}.party-hero-id{min-width:0}.party-hero h1{letter-spacing:-.02em;overflow-wrap:anywhere;margin-bottom:9px;font-size:23px;line-height:1.25}.party-hero-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.party-hero-meta span{align-items:center;gap:5px;display:inline-flex}.party-hero-meta svg{opacity:.5}.party-tag{color:var(--text-secondary);background:var(--surface-sunken);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:500}.party-hero-amount{text-align:right;margin-left:auto}.party-amount{letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:30px;font-weight:600;line-height:1.1}.party-amount.owing{color:var(--warn)}.party-amount-label{color:var(--text-secondary);white-space:nowrap;margin-top:5px;font-size:12.5px}.party-strip{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;margin-bottom:20px;display:grid;overflow:hidden}.party-stat{background:var(--surface);flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.party-stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.party-stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere;font-size:18px;font-weight:600}.party-stat-value.warn{color:var(--warn)}.party-stat-meta{color:var(--text-muted);font-size:12px}.age-pill{font-variant-numeric:tabular-nums;color:var(--text-secondary);background:var(--surface-sunken);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.age-pill.old{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent)}.age-pill.done{color:var(--success);background:color-mix(in srgb, var(--success) 12%, transparent)}.doc-row-wrap{align-items:flex-start}.doc-row-wrap span{overflow-wrap:anywhere;line-height:1.5}.doc-row-wrap svg{margin-top:2px}.muted.small{margin:10px 0 0;font-size:12px;line-height:1.5}@media (width<=720px){.party-hero-amount{text-align:left;margin-left:0}}.row-settled td{color:var(--text-muted)}.row-settled .cell-invoice{color:var(--text-secondary)}.party-stat-sub{color:var(--text-muted);letter-spacing:0;font-size:13px;font-weight:500}td.num.success{color:var(--success)}table.data.items{min-width:460px}table.data.items th:not(:first-child),table.data.items td:not(:first-child){white-space:nowrap;width:1%}table.data.items td{vertical-align:top;padding:10px 16px}table.data.items tbody tr{cursor:default}table.data.items tbody tr:hover{background:0 0}.item-name{font-size:13px;font-weight:500;line-height:1.4}.item-sub{color:var(--text-muted);margin-top:1px;font-size:11.5px;line-height:1.4}.item-unit{color:var(--text-muted);font-variant-numeric:normal;margin-top:1px;font-size:11px;line-height:1.4}table.data.items tfoot td{border-top:none;border-bottom:none;padding:3px 16px;font-size:12.5px}table.data.items tfoot tr:first-child td{border-top:1px solid var(--border);padding-top:11px}table.data.items tfoot tr:last-child td{padding-bottom:13px}.item-foot-key{color:var(--text-secondary)}.item-foot-val{font-weight:600}.item-foot-val.strong{color:var(--text);font-size:14px}.field-link{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;text-decoration:none;display:flex}.field-link:hover{border-color:var(--border-strong)}.field-link .muted{color:var(--text-muted)}.field-locked{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.field-locked .doc-open{color:var(--text-muted)}.period-nav{align-items:center;gap:6px;display:flex}.period-label{text-align:center;min-width:128px;font-size:14px;font-weight:600}.roll{flex-direction:column;display:flex}.roll-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.roll-row:last-child{border-bottom:none}.roll-id{gap:1px}.roll-month{color:var(--text-muted);white-space:nowrap;font-size:12.5px}.roll-month strong{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.roll-month-absent{color:var(--warn)}.roll-note{color:var(--text-secondary);background:var(--surface-sunken);border-bottom:1px solid var(--border);padding:10px 18px;font-size:12.5px}.roll-toggle{border:1px solid var(--border-strong);background:var(--surface);min-width:118px;color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:8px 14px 8px 10px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.roll-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.roll-toggle:disabled{opacity:.6;cursor:progress}.roll-box{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:6px;flex-shrink:0;place-items:center;width:20px;height:20px;display:inline-grid}.roll-box svg{stroke-width:3px;width:13px;height:13px}.roll-toggle.on{background:var(--collected-bg);border-color:color-mix(in srgb, var(--collected-fg) 35%, transparent);color:var(--collected-fg)}.roll-toggle.on .roll-box{background:var(--collected-fg);border-color:var(--collected-fg);color:var(--surface)}.roll-toggle.off{background:color-mix(in srgb, var(--warn) 10%, var(--surface));border-color:color-mix(in srgb, var(--warn) 40%, transparent);color:var(--warn)}.roll-toggle.off .roll-box{border-color:color-mix(in srgb, var(--warn) 55%, transparent)}.roll-toggle.rest{color:var(--text-muted)}.roll-toggle:not(:disabled):hover{border-color:var(--text-secondary)}@media (width<=620px){.roll-row{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:12px 16px}.roll-month{display:none}.roll-toggle{min-width:0}}table.data.attendance{min-width:0}table.data.attendance tbody tr{cursor:default}table.data.attendance tbody tr:hover{background:0 0}table.data.attendance tbody tr:hover td.att-name{color:var(--text)}table.data.attendance th.att-day,table.data.attendance td.att-cell{text-align:center;min-width:28px;padding:0}table.data.attendance td.att-cell{height:44px}table.data.attendance .wk{border-left:1px solid var(--border)}.att-name{z-index:1;background:var(--surface);width:150px;min-width:130px;max-width:170px;box-shadow:inset -1px 0 var(--border);position:sticky;left:0}table.data.attendance td.att-name{padding:0 14px}table.data.attendance th.att-total-head,table.data.attendance td.att-total{width:56px;padding-left:12px;padding-right:16px}.att-worker{all:unset;cursor:pointer;flex-direction:column;min-width:0;max-width:100%;display:flex}.att-worker:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.att-worker-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.roll .att-worker-name{font-size:14px}.att-worker:hover .att-worker-name{color:var(--focus)}.att-worker-sub{color:var(--text-muted);white-space:nowrap;font-size:12px}.att-day-btn{all:unset;box-sizing:border-box;cursor:pointer;flex-direction:column;align-items:center;gap:3px;width:100%;padding:9px 0 8px;line-height:1.2;display:flex}.att-day-btn:disabled{cursor:default;opacity:.45}.att-day-btn:not(:disabled):hover .att-date{background:var(--surface-sunken);color:var(--text)}.att-day-btn:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.att-dow{letter-spacing:.04em;font-size:9.5px}.att-date{width:22px;height:22px;color:var(--text-secondary);letter-spacing:0;font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;font-size:12px;font-weight:600;display:inline-grid}.att-day.today .att-date,.att-day.today .att-day-btn:hover .att-date{background:var(--accent);color:var(--accent-contrast)}.att-day.sun,.att-cell.sun{background:color-mix(in srgb, var(--surface-sunken) 70%, transparent)}.att-cell.today{background:color-mix(in srgb, var(--focus) 6%, transparent)}.att-cell input[type=checkbox]{appearance:none;border:1.5px solid var(--border-strong);background:var(--surface);vertical-align:middle;cursor:pointer;border-radius:5px;place-content:center;width:17px;height:17px;margin:0;transition:background .1s,border-color .1s;display:inline-grid}.att-cell input[type=checkbox]:after{content:"";background:var(--collected-fg);opacity:0;width:10px;height:10px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat}.att-cell input[type=checkbox]:checked{background:var(--collected-bg);border-color:color-mix(in srgb, var(--collected-fg) 40%, transparent)}.att-cell input[type=checkbox]:checked:after{opacity:1}.att-cell input[type=checkbox]:hover{border-color:var(--text-secondary)}.att-cell input[type=checkbox]:disabled{cursor:progress;opacity:.5}.att-cell input[type=checkbox]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.att-cell.sun input[type=checkbox]:not(:checked){background:0 0;border-style:dashed}.att-cell.absent input[type=checkbox]{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, var(--surface))}.att-total{white-space:nowrap;font-weight:600}table.data.pay-sheet td{font-variant-numeric:tabular-nums}.pay-missed{color:var(--warn);font-weight:500}table.data.pay-sheet tfoot td{border-top:1px solid var(--border-strong);background:var(--surface-sunken);padding:11px 16px;font-size:13px;font-weight:600}.empty-action{margin-top:16px}.worker-form{margin-bottom:18px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}label.field-label{display:block}.form-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:8px 10px;font-size:13.5px}.form-input:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:#0000}.form-hint{color:var(--text-muted);margin-top:5px;font-size:11.5px}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;display:flex}.form-error{color:var(--danger);margin-right:auto;font-size:12.5px}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-sunken)}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn:disabled{opacity:.55;cursor:progress}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn.primary:hover{background:var(--accent);opacity:.88}.leave-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;margin-top:16px;padding:12px 14px;display:flex}.leave-panel.left{border-color:color-mix(in srgb, var(--warn) 35%, transparent)}.leave-text{flex-direction:column;flex:280px;gap:2px;min-width:0;display:flex}.leave-text strong{font-size:13px;font-weight:600}.leave-panel.left .leave-text strong{color:var(--warn)}.leave-text span{color:var(--text-secondary);font-size:12px;line-height:1.45}.btn.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.btn.warn:hover{background:color-mix(in srgb, var(--warn) 10%, var(--surface))}.att-cell.out:before{content:"";background:var(--border-strong);vertical-align:middle;border-radius:1px;width:8px;height:1.5px;display:inline-block}.former{margin-top:28px}.former-toggle{all:unset;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;align-items:center;gap:7px;margin-bottom:12px;font-size:11px;font-weight:600;display:inline-flex}.former-toggle:hover{color:var(--text-secondary)}.former-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.former-toggle svg{width:13px;height:13px}.former-toggle .card-head-count{text-transform:none;letter-spacing:0;margin-left:0}.muted-avatar{opacity:.6}.former-link{all:unset;color:var(--focus);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:500}.former-link:hover{text-decoration:underline}.former-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}
