@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/big-shoulders-display-latin-600-normal-DBjJvcBA.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-600-normal-DVaYP2lT.woff)format("woff")}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-800-normal-DDUD9Xuh.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-800-normal-CI0lhnTM.woff)format("woff")}@font-face{font-family:Noto Nastaliq Urdu;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-nastaliq-urdu-arabic-400-normal-BVDOj1dq.woff2)format("woff2"),url(/assets/noto-nastaliq-urdu-arabic-400-normal-Df9iHKj9.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Nastaliq Urdu;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-nastaliq-urdu-latin-ext-400-normal-ULxojL9g.woff2)format("woff2"),url(/assets/noto-nastaliq-urdu-latin-ext-400-normal-BwovpPbk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Nastaliq Urdu;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-nastaliq-urdu-latin-400-normal-uocoWRvS.woff2)format("woff2"),url(/assets/noto-nastaliq-urdu-latin-400-normal-BlOzo2Ia.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui:"Instrument Sans Variable", "Instrument Sans", system-ui, "Segoe UI", sans-serif;--font-display:"Big Shoulders Display", "Arial Narrow", "Segoe UI", sans-serif;--paper:#f3f5f7;--surface:#fff;--surface-2:#f8f9fb;--sunken:#e9edf1;--ink:#0f1b2d;--ink-2:#33415a;--muted:#5f6b7c;--line:#dce1e7;--line-strong:#c3cbd5;--action:#183a66;--action-hover:#102b4e;--action-ink:#fff;--amber:#e39b2d;--amber-ink:#8a5300;--amber-soft:#fcefd8;--focus:#d9881a;--rail:#0f1b2d;--rail-2:#172741;--rail-ink:#e6ecf4;--rail-muted:#93a2b8;--brand-hand:#e39b2d;--good:#17704a;--good-soft:#e1f2e9;--warn:#8a5a00;--warn-soft:#fcefd6;--bad:#b3302a;--bad-soft:#fbe6e4;--info:#285ba0;--info-soft:#e5eefa;--idle:#5b6676;--idle-soft:#eaedf1;--shadow-lift:0 1px 0 #0f1b2d0a, 0 12px 32px -18px #0f1b2d47;--radius-sm:6px;--radius:10px;--radius-lg:16px;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#0e1520;--surface:#151e2b;--surface-2:#192433;--sunken:#0b111a;--ink:#e8edf3;--ink-2:#c3ccd8;--muted:#94a1b2;--line:#263345;--line-strong:#34445a;--action:#f0ac45;--action-hover:#f7c06a;--action-ink:#1a1306;--amber:#f0ac45;--amber-ink:#f6c477;--amber-soft:#3a2a10;--focus:#f6c477;--rail:#0a1019;--rail-2:#131d2b;--rail-ink:#e6ecf4;--rail-muted:#8796ab;--good:#5fcf97;--good-soft:#10301f;--warn:#f2bb5c;--warn-soft:#382707;--bad:#ff8a80;--bad-soft:#3a1513;--info:#8bb5f2;--info-soft:#14243b;--idle:#a3adbb;--idle-soft:#1e2835;--shadow-lift:0 1px 0 #0000004d, 0 16px 40px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--paper:#0e1520;--surface:#151e2b;--sunken:#0b111a;--ink:#e8edf3;--ink-2:#c3ccd8;--muted:#94a1b2;--line:#263345;--line-strong:#34445a;--action:#f0ac45;--action-hover:#f7c06a;--action-ink:#1a1306;--rail:#0a1019;--rail-2:#131d2b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root.kiosk-light[data-theme],:root.kiosk-light{--paper:#fff;--surface:#fff;--surface-2:#fff;--sunken:#fff;--ink:#0f1b2d;--ink-2:#33415a;--muted:#5f6b7c;--line:#dce1e7;--line-strong:#c3cbd5;--action:#183a66;--action-hover:#102b4e;--action-ink:#fff;--amber-ink:#8a5300;--rail-muted:#5f6b7c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.kiosk-light .timecard{box-shadow:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;transition:background-color .25s var(--ease), color .25s var(--ease);margin:0;font-size:15px;line-height:1.5}h1,h2,h3,p,dl,dd,ol,ul,figure{margin:0}ol,ul{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img,svg{display:block}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}code{background:var(--sunken);border-radius:4px;padding:1px 5px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.86em}::selection{background:var(--amber-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.skip-link{z-index:100;background:var(--action);color:var(--action-ink);border-radius:var(--radius-sm);padding:10px 14px;font-weight:600;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}.kicker{color:var(--amber-ink);margin-bottom:6px;font-size:13px;font-weight:600}.lede{color:var(--muted);max-width:68ch}.fineprint{color:var(--muted);max-width:72ch;font-size:13px}.note-line{align-items:flex-start;gap:8px;margin-top:16px;display:flex}.note-line svg{flex:none;margin-top:2px}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.tabular{font-variant-numeric:tabular-nums;white-space:nowrap}td.num,th.num{text-align:right}.code{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:600}.nowrap{white-space:nowrap}.wrap{white-space:normal;min-width:180px;max-width:360px}.brand{color:var(--ink);align-items:flex-end;gap:8px;display:inline-flex}.brand-logo{aspect-ratio:978/186;background:currentColor;width:98px;display:block;-webkit-mask:url(/brand/shrug-wordmark.png) 50%/contain no-repeat;mask:url(/brand/shrug-wordmark.png) 50%/contain no-repeat}.brand-word{font-family:var(--font-display);letter-spacing:.04em;color:var(--amber-ink);font-size:19px;font-weight:600;line-height:.82}.brand-inverse{color:var(--rail-ink)}.brand-inverse .brand-word,:root[data-theme=dark] .brand-default .brand-word{color:var(--amber)}.brand-link{border-radius:var(--radius-sm);display:inline-flex}.button{border-radius:var(--radius-sm);white-space:nowrap;min-height:40px;transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), transform .12s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--action);color:var(--action-ink)}.button.primary:hover:not(:disabled){background:var(--action-hover)}.button.secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.button.secondary:hover:not(:disabled){border-color:var(--ink-2);background:var(--surface-2)}.button.ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.button.ghost:hover{border-color:var(--ink)}.button.danger{background:var(--bad);color:#fff}:root[data-theme=dark] .button.danger{color:#2a0b09}.button.danger:hover:not(:disabled){filter:brightness(1.08)}.button.small{min-height:32px;padding:0 12px;font-size:13px}.button.large{border-radius:8px;min-height:52px;padding:0 24px;font-size:16px}.button.full{width:100%}.button-row{flex-wrap:wrap;gap:10px;display:flex}.quiet-button{border-radius:var(--radius-sm);color:var(--action);white-space:nowrap;background:0 0;border:0;padding:6px 8px;font-size:13px;font-weight:600}:root[data-theme=dark] .quiet-button{color:var(--amber-ink)}.quiet-button:hover:not(:disabled){background:var(--sunken)}.quiet-button.danger-text{color:var(--bad)}.icon-button{border-radius:var(--radius-sm);width:38px;height:38px;color:inherit;background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid}.icon-button:hover{background:var(--sunken)}.text-link{color:var(--action);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}:root[data-theme=dark] .text-link{color:var(--amber-ink)}.text-link:hover{text-underline-offset:3px;text-decoration:underline}.form-stack{gap:14px;display:grid}.form-stack>.button:not(.full){justify-self:start}.form-stack.separated{border-top:1px dashed var(--line-strong);margin-top:20px;padding-top:20px}label{color:var(--ink-2);gap:6px;font-size:13px;font-weight:600;display:grid}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:40px;color:var(--ink);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:8px 11px;font-size:14px;font-weight:450}textarea{resize:vertical;min-height:76px;line-height:1.45}input:hover,select:hover,textarea:hover{border-color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 28%, transparent);outline:none}input[readonly]{background:var(--sunken);color:var(--ink-2)}input[type=checkbox],input[type=radio]{width:auto;min-height:0}input[type=file]{padding:7px}fieldset{border:1px solid var(--line);border-radius:var(--radius);gap:12px;margin:0;padding:16px;display:grid}legend{padding:0 6px;font-size:14px;font-weight:700}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-field{align-items:center;gap:8px;font-size:13px;display:inline-flex}.inline-field input,.inline-field select{width:auto;min-height:36px}.search-box{align-items:center;min-width:min(320px,100%);display:flex;position:relative}.search-box svg{color:var(--muted);pointer-events:none;position:absolute;left:11px}.search-box input{min-height:38px;padding-left:34px}.period-controls,.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.period-controls select{width:auto;min-height:36px}.inline-form{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.inline-form label{min-width:200px}.file-drop{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;padding:14px;display:flex}.file-drop input{background:0 0;border:0;flex:1;min-width:220px}.segmented{border:0;gap:0;padding:0;display:flex}.segmented legend{color:var(--ink-2);margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.segmented label{border:1px solid var(--line-strong);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;font-size:14px;display:flex}.segmented label:first-of-type{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.segmented label:last-of-type{border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-left:-1px}.segmented label.active{background:var(--action);color:var(--action-ink);border-color:var(--action);position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.switch{flex:none;width:44px;height:26px;display:inline-flex;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.switch>span[aria-hidden]{background:var(--line-strong);transition:background .2s var(--ease);border-radius:99px;position:absolute;inset:0}.switch>span[aria-hidden]:after{content:"";width:20px;height:20px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+span[aria-hidden]{background:var(--action)}.switch input:checked+span[aria-hidden]:after{transform:translate(18px)}.switch input:focus-visible+span[aria-hidden]{outline:2px solid var(--focus);outline-offset:2px}.theme-switch{background:var(--sunken);border:1px solid var(--line);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.theme-switch button{height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.theme-switch.compact button{justify-content:center;width:32px;padding:0}.theme-switch button:hover{color:var(--ink)}.theme-switch button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0f1b2d1f}.theme-switch button.active svg{color:var(--amber)}.callout{border-radius:var(--radius-sm);border:1px solid;align-items:flex-start;gap:10px;margin-bottom:16px;padding:11px 14px;font-size:14px;display:flex}.callout svg{flex:none;margin-top:1px}.callout strong{font-weight:700}.callout-good{background:var(--good-soft);color:var(--good);border-color:color-mix(in srgb, var(--good) 25%, transparent)}.callout-bad{background:var(--bad-soft);color:var(--bad);border-color:color-mix(in srgb, var(--bad) 25%, transparent)}.callout-warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 25%, transparent)}.form-stack .callout,.modal .callout{margin-bottom:0}.badge{white-space:nowrap;background:var(--idle-soft);height:24px;color:var(--idle);border-radius:5px;align-items:center;gap:6px;padding:0 9px 0 8px;font-size:12px;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:2px;width:6px;height:6px}.badge-present{background:var(--good-soft);color:var(--good)}.badge-late{background:var(--warn-soft);color:var(--warn)}.badge-absent{background:var(--bad-soft);color:var(--bad)}.badge-incomplete{background:var(--info-soft);color:var(--info)}.badge-leave{background:var(--idle-soft);color:var(--idle)}.empty-state{text-align:center;color:var(--muted);justify-items:center;gap:6px;padding:44px 20px;display:grid}.empty-state b{color:var(--ink);font-size:16px}.empty-state p{max-width:42ch;font-size:14px}.empty-icon{background:var(--sunken);width:48px;height:48px;color:var(--ink-2);border-radius:12px;place-items:center;margin-bottom:6px;display:grid}.empty-row{color:var(--muted);text-align:center;padding:28px 12px!important}.status-line{color:var(--warn);align-items:center;gap:8px;margin-top:12px;font-size:14px;font-weight:600;display:flex}.shell{background:linear-gradient(to right, var(--rail) 252px, transparent 252px);grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:var(--rail);height:100vh;color:var(--rail-ink);z-index:30;flex-direction:column;gap:4px;padding:20px 14px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.rail-top{justify-content:space-between;align-items:center;padding:0 6px;display:flex}.rail-close{color:var(--rail-ink);display:none}.rail-clock{border-radius:var(--radius);background:var(--rail-2);border:1px solid #ffffff0f;margin:22px 6px 6px;padding:12px 14px}.rail-label{color:var(--rail-muted);padding:18px 10px 8px;font-size:12px;font-weight:600}.rail nav{gap:2px;display:grid}.rail nav a{height:40px;color:var(--rail-muted);transition:background-color .15s var(--ease), color .15s var(--ease);border-radius:8px;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:550;display:flex;position:relative}.rail nav a:hover{color:var(--rail-ink);background:#ffffff0d}.rail nav a.active{color:var(--rail-ink);background:var(--rail-2)}.rail nav a.active:before{content:"";background:var(--amber);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-14px}.rail nav a.active svg{color:var(--amber)}.rail-bottom{gap:8px;margin-top:auto;padding-top:16px;display:grid}.rail-action{height:36px;color:var(--rail-ink);background:0 0;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:600;display:flex}.rail-action:hover{background:#ffffff0f}.rail-user{border-radius:var(--radius);background:var(--rail-2);align-items:center;gap:10px;padding:10px;display:flex}.rail-user .icon-button{color:var(--rail-muted)}.rail-user .icon-button:hover{color:var(--rail-ink);background:#ffffff14}.rail-user-meta{flex:1;min-width:0;line-height:1.25;display:grid}.rail-user-meta b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.rail-user-meta small{color:var(--rail-muted);text-transform:capitalize;font-size:12px}.rail .avatar{background:var(--amber);color:#1a1306}.scrim{display:none}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:12px;height:60px;padding:0 32px;display:flex;position:sticky;top:0}.crumb{color:var(--muted);flex:1;font-size:14px}.crumb span{color:var(--line-strong);margin:0 6px}.crumb b{color:var(--ink)}.menu-button{display:none}.content{outline:none;flex:1;width:100%;max-width:1320px;padding:32px 32px 48px}.app-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding:18px 32px;font-size:12px;display:flex}.scroll-progress{z-index:60;pointer-events:none;height:2px;position:fixed;inset:0 0 auto}.scroll-progress div{background:var(--amber);transform-origin:0;height:100%;transform:scaleX(0)}.loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--amber);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-heading h1{font-family:var(--font-display);letter-spacing:.005em;text-wrap:balance;margin-bottom:10px;font-size:clamp(34px,4.2vw,50px);font-weight:800;line-height:.98}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;margin-bottom:20px;padding:20px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.panel-head h2{letter-spacing:-.01em;font-size:18px;font-weight:700}.panel-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.panel>.lede{margin-bottom:14px}.split{grid-template-columns:minmax(280px,.75fr) minmax(0,1.8fr);align-items:start;gap:20px;display:grid}.split>.panel{margin-bottom:20px}.stack{align-content:start;display:grid}.action-bar{border-radius:var(--radius-sm);background:var(--sunken);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;font-size:14px;display:flex}.subsection{border-top:1px solid var(--line);gap:12px;margin-top:22px;padding-top:20px;display:grid}.subsection h3{align-items:center;gap:8px;font-size:15px;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 16px;position:relative;overflow:hidden}.stat:after{content:"";background:var(--line-strong);width:3px;position:absolute;top:0;bottom:0;left:0}.stat.tone-good:after{background:var(--good)}.stat.tone-warn:after{background:var(--amber)}.stat.tone-bad:after{background:var(--bad)}.stat.tone-info:after{background:var(--info)}.stat-top{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;display:flex}.stat-top p{font-size:13px;font-weight:600}.stat strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:8px 0 2px;font-size:34px;font-weight:800;line-height:1;display:block}.stat span{color:var(--muted);font-size:12px}.presence{border-radius:var(--radius);background:var(--rail);color:var(--rail-ink);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;margin-bottom:16px;padding:18px 22px;display:grid}.presence-figure{align-items:baseline;gap:12px;display:flex}.presence-figure strong{font-family:var(--font-display);color:var(--amber);font-variant-numeric:tabular-nums;font-size:64px;font-weight:800;line-height:.9}.presence-figure span{color:var(--rail-muted);max-width:16ch;font-size:14px;line-height:1.3}.presence-side{border-left:1px solid #ffffff1a;gap:2px;padding-left:24px;display:grid}.presence-side span{color:var(--rail-muted);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.presence-side strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:30px;font-weight:800;line-height:1.05}.presence-side small{color:var(--rail-muted);font-size:12px}.presence-meter{background:#ffffff14;border-radius:4px;height:18px;position:relative;overflow:hidden}.presence-fill{width:var(--progress,0%);background:var(--amber);transition:width .9s var(--ease);border-radius:4px;position:absolute;inset:0 auto 0 0}.presence-ticks{justify-content:space-between;padding:0 1px;display:flex;position:absolute;inset:0}.presence-ticks i{background:#0f1b2d59;width:1px}:root[data-theme=dark] .presence-ticks i{background:#00000073}.table-scroll{outline:none;margin:0 -20px;padding:0 20px;position:relative;overflow-x:auto}.table-scroll:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:0 12px 10px;font-size:12px;font-weight:600}tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 12px}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background-color .12s var(--ease)}tbody tr:hover{background:var(--surface-2)}:root[data-theme=dark] tbody tr:hover{background:#ffffff06}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}td small,.cell-secondary{color:var(--muted);font-size:12px;display:block}td.negative,td .negative{color:var(--bad)}td .positive{color:var(--good)}.row-actions{text-align:right}.row-actions>.quiet-button,.row-actions>button,.row-actions>a{margin:2px 0 2px 6px}.muted-row td{color:var(--muted)}.person{align-items:center;gap:10px;min-width:150px;display:flex}.person b{font-weight:600;line-height:1.25;display:block}.person small{color:var(--muted);font-size:12px;display:block}.avatar{background:var(--sunken);width:32px;height:32px;color:var(--ink-2);letter-spacing:.02em;border-radius:8px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.shift-bar{background:var(--sunken);border-radius:3px;width:96px;height:8px;position:relative;overflow:hidden}.shift-bar span{top:0;bottom:0;left:var(--left,0%);width:var(--width,0%);background:var(--action);border-radius:3px;position:absolute}:root[data-theme=dark] .shift-bar span{background:var(--amber)}.mix-bar{background:var(--sunken);border-radius:3px;gap:1px;width:160px;height:10px;display:flex;overflow:hidden}.mix-bar span{width:var(--share,0%)}.mix-present{background:var(--good)}.mix-late{background:var(--amber)}.mix-absent{background:var(--bad)}.mix-incomplete{background:var(--info)}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-bottom:12px;font-size:12px;display:flex}.legend span{background:0 0;align-items:center;gap:6px;display:inline-flex}.legend span:before{content:"";border-radius:2px;width:10px;height:10px}.legend .mix-present:before{background:var(--good)}.legend .mix-late:before{background:var(--amber)}.legend .mix-absent:before{background:var(--bad)}.legend .mix-incomplete:before{background:var(--info)}.approval-list{gap:12px;display:grid}.approval{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:16px}.approval header{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.approval h3{margin:6px 0 4px;font-size:16px}.approval-summary{color:var(--ink);max-width:72ch;margin:0 0 6px;font-size:14.5px}.approval-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.approval-actions{align-items:flex-start;gap:8px;display:flex}.approval-details{border-top:1px dashed var(--line-strong);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 18px;margin-top:14px;padding-top:14px;display:grid}.approval-details dt{color:var(--muted);font-size:12px}.approval-details dd{overflow-wrap:anywhere;font-size:14px;font-weight:600}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.settings-grid>.panel{margin-bottom:0}.settings-grid .stack>.panel{margin-bottom:20px}.span-2{grid-column:1/-1}.facts{gap:10px;display:grid}.facts div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.facts dt{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.facts dd{overflow-wrap:anywhere;text-align:right;font-weight:600}.row-list{border:1px solid var(--line);border-radius:var(--radius-sm);margin:4px 0 14px;display:grid}.row-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.row-list li:last-child{border-bottom:0}.row-list small{color:var(--muted);font-size:12px;display:block}.row-list-tools{align-items:center;gap:8px;display:flex}.pref-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.pref-row:last-child{border-bottom:0}.pref-row>span{align-items:flex-start;gap:12px;display:flex}.pref-row>span>svg{color:var(--amber-ink);flex:none;margin-top:2px}.pref-row b{font-size:14px;display:block}.pref-row small{color:var(--muted);max-width:40ch;font-size:13px;display:block}.export-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.export-controls label{width:180px}.modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .18s var(--ease);background:#080e188c;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(560px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-lift);animation:modal-in .24s var(--ease);padding:26px;position:relative;overflow-y:auto}.modal-lg{width:min(820px,100%)}.modal h2{font-family:var(--font-display);margin:0 40px 8px 0;font-size:30px;font-weight:800;line-height:1}.modal>.lede{margin-bottom:18px;font-size:14px}.modal-close{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.modal-close:hover{background:var(--sunken);color:var(--ink)}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}.timecard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%);position:relative}.timecard:before{content:"";background:linear-gradient(225deg, transparent 50%, var(--line-strong) 50%);width:26px;height:26px;position:absolute;top:0;right:0}.timecard-stub{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:14px 40px 14px 22px;font-size:13px;font-weight:600;display:flex}.timecard-stub .live-clock{flex-direction:row;align-items:baseline;gap:10px}.timecard-stub .clock-date{display:none}.perforation{background-image:radial-gradient(circle, var(--paper) 3.2px, transparent 3.6px);border-top:1px dashed var(--line-strong);background-position:50%;background-repeat:repeat-x;background-size:14px 12px;height:12px;margin:0 14px}.live-clock{font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;display:flex}.live-clock time{align-items:baseline;gap:6px;display:flex}.live-clock .digits{font-family:var(--font-display);letter-spacing:.02em;font-size:32px;font-weight:800;line-height:1}.live-clock .seconds{font-family:var(--font-display);color:var(--amber);font-size:16px;font-weight:600}.live-clock .period{font-family:var(--font-display);letter-spacing:.04em;font-size:14px;font-weight:600}.timecard-stub .live-clock .period{font-size:12px}.live-clock .colon{font-style:normal;animation:2s step-end infinite blink}.live-clock .clock-date{color:var(--rail-muted);font-size:12px}.timecard-stub .live-clock .digits{color:var(--ink);font-size:22px}.timecard-stub .live-clock .seconds{font-size:13px}.live-clock-hero{padding:22px 26px 28px}.live-clock-hero .digits{color:var(--ink);font-size:clamp(88px,13vw,168px);line-height:.82}.live-clock-hero .seconds{font-size:clamp(28px,3.4vw,44px)}.live-clock-hero .clock-date{color:var(--muted);margin-top:14px;font-size:16px;font-weight:600}@keyframes blink{50%{opacity:.25}}.kiosk,.login{flex-direction:column;min-height:100vh;display:flex}.kiosk-header{justify-content:space-between;align-items:center;gap:12px;padding:20px clamp(16px,4vw,48px);display:flex}.kiosk-header-tools{align-items:center;gap:12px;display:flex}.kiosk main{flex:1}.kiosk-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(28px,5vw,72px);max-width:1240px;margin:0 auto;padding:clamp(24px,6vh,72px) clamp(16px,4vw,48px) clamp(48px,10vh,112px);display:grid}.kiosk-hero h1{font-family:var(--font-display);letter-spacing:.002em;text-wrap:balance;margin-bottom:18px;font-size:clamp(52px,7vw,96px);font-weight:800;line-height:.9}.kiosk-hero .lede{max-width:34ch;font-size:18px}.kiosk-home{align-content:center;display:grid}.kiosk-hero-action{border-radius:var(--radius);gap:12px;width:min(100%,420px);min-height:84px;margin-top:32px;padding:0 32px;font-size:22px}.kiosk-device-note{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;font-size:14px;font-weight:600;display:flex}.kiosk-device-note .dot{background:var(--line-strong);border-radius:50%;width:9px;height:9px}.kiosk-device-note.is-paired{color:var(--good)}.kiosk-device-note.is-paired .dot{background:var(--good);box-shadow:0 0 0 4px var(--good-soft);animation:2.4s ease-in-out infinite breathe}@keyframes breathe{0%,to{box-shadow:0 0 0 3px var(--good-soft);transform:scale(1)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--good-soft) 40%, transparent);transform:scale(1.25)}}.day-track{padding:0 26px 24px}.day-track-bar{border-bottom:2px solid var(--line-strong);justify-content:space-between;align-items:flex-end;height:30px;display:flex;position:relative}.day-track-bar:before{content:"";width:var(--at,0%);background:var(--amber);height:2px;position:absolute;bottom:-2px;left:0}.day-track-bar i{background:var(--line-strong);width:1px;height:8px}.day-track-bar i.major{background:var(--muted);width:2px;height:16px}.day-track-now{left:var(--at,0%);background:var(--amber);width:12px;height:12px;box-shadow:0 0 0 4px var(--amber-soft);border-radius:50%;margin-left:-6px;position:absolute;bottom:-7px}.day-track-labels{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:10px;font-size:12px;font-weight:600;display:flex}.day-track-labels span:first-child{margin-left:-6px}.day-track-labels span:last-child{margin-right:-6px}.kiosk-hero .timecard{animation:card-in .8s var(--ease) both}@keyframes card-in{0%{opacity:0;transform:translateY(18px)rotate(-1.2deg)}}.kiosk-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px clamp(16px,4vw,48px);font-size:13px;display:flex}.kiosk-check-wrap,.login-main{flex:1;place-items:center;padding:16px 16px 64px;display:grid}.check-card,.login-card{width:min(540px,100%)}.check-body,.login-body{gap:16px;padding:18px 26px 28px;display:grid}.check-body h1,.login-body h1{font-family:var(--font-display);font-size:clamp(36px,5vw,48px);font-weight:800;line-height:.95}.check-body .callout{margin:0}.check-mark{background:var(--sunken);width:60px;height:60px;color:var(--ink-2);transition:background-color .3s var(--ease), color .3s var(--ease);border-radius:14px;place-items:center;display:grid}.state-checking .check-mark{background:var(--amber-soft);color:var(--amber-ink);animation:pulse 1.2s var(--ease) infinite}.state-verified .check-mark{background:var(--good-soft);color:var(--good)}.state-failed .check-mark{background:var(--bad-soft);color:var(--bad)}@keyframes pulse{50%{transform:scale(.94)}}.divider-text{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.divider-text:before,.divider-text:after{content:"";background:var(--line);flex:1;height:1px}.input-large{letter-spacing:.04em;min-height:56px;font-size:22px;font-weight:600}.face-frame{aspect-ratio:4/3;background:var(--sunken);border:2px solid var(--line);width:min(100%,360px);transition:border-color .3s var(--ease);border-radius:18px;margin:0 auto;position:relative;overflow:hidden}.face-frame.enrol{width:100%;max-width:420px}.face-frame video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.face-frame.phase-idle video,.face-frame.phase-done video,.face-frame.phase-error video{visibility:hidden}.face-frame.phase-scanning,.face-frame.phase-starting{border-color:var(--amber)}.face-frame.phase-scanning:after{content:"";border:2px dashed color-mix(in srgb, var(--amber) 80%, transparent);pointer-events:none;border-radius:50%;position:absolute;inset:12% 24%}.face-placeholder{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.face-status{text-align:center;gap:8px;font-weight:600;display:grid}.face-progress{background:var(--sunken);border-radius:3px;height:6px;overflow:hidden}.face-progress div{height:100%;width:var(--progress,0%);background:var(--amber);transition:width .3s var(--ease)}.check-row{color:var(--ink);align-items:flex-start;gap:10px;font-weight:500;display:flex}.check-row input{flex:none;width:18px;height:18px;margin-top:3px}.code-input{text-transform:uppercase;letter-spacing:.18em;font-variant-numeric:tabular-nums}.kiosk-main-action{width:100%;min-height:72px;font-size:20px}.kiosk-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.kiosk-row .button{width:100%;min-height:60px;font-size:17px}.kiosk-confirm{animation:fade-in .25s var(--ease);gap:14px;display:grid}.kiosk-confirm .kicker,.kiosk-confirm .muted{margin:0}.kiosk-confirm-who{grid-template-columns:1fr auto;align-items:center;gap:20px;display:grid}.kiosk-confirm-who>div:first-child{gap:8px;min-width:0;display:grid}.kiosk-photo,.photo-preview{aspect-ratio:1;border-radius:var(--radius);border:2px solid var(--line-strong);background:var(--sunken);place-items:center;width:clamp(120px,22vw,168px);display:grid;overflow:hidden}.kiosk-photo img,.photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.kiosk-photo span,.photo-placeholder{font-family:var(--font-display);color:var(--muted);font-size:44px;font-weight:800}.photo-preview{justify-self:center;width:200px}.photo-pick{cursor:pointer;justify-self:center}.kiosk-choose{animation:fade-in .25s var(--ease);gap:16px;display:grid}.kiosk-choose-who{color:var(--ink-2);margin:0;font-size:17px}.punch-squares{grid-template-columns:1fr 1fr;gap:clamp(32px,9vw,64px);display:grid}.punch-square{aspect-ratio:1;border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-display);transition:transform .15s var(--ease), box-shadow .15s var(--ease);border:3px solid;place-content:center;justify-items:center;gap:12px;font-size:clamp(22px,4vw,30px);font-weight:800;display:grid}.punch-square:hover{box-shadow:var(--shadow-lift)}.punch-square:active{transform:scale(.97)}.punch-square:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.punch-square-in{background:var(--good-soft);color:var(--good);border-color:var(--good)}.punch-square-out{background:var(--info-soft);color:var(--info);border-color:var(--info)}.kiosk-cancel{justify-self:center}.punch-card .timecard-stub>span:first-child{align-items:center;gap:6px;display:inline-flex}.punch-result{animation:fade-in .25s var(--ease);justify-items:start;gap:10px;display:grid}.punch-result .check-mark{background:var(--good-soft);color:var(--good)}.punch-result-name{font-family:var(--font-display);font-size:34px;font-weight:800;line-height:1}.punch-result-line{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;font-size:17px;display:flex}.pairing-code{font-family:var(--font-display);letter-spacing:.08em;text-align:center;border-radius:var(--radius);background:var(--sunken);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;margin:4px 0 12px;padding:18px 12px;font-size:clamp(40px,9vw,64px);font-weight:800}.text-link.inline{display:inline}.quiet-button svg{vertical-align:-2px;margin-right:4px;display:inline}.motion-ready [data-reveal]{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transform:translateY(16px)}.motion-ready [data-reveal].is-revealed,.motion-ready .stat-grid[data-reveal]{opacity:1;transform:none}.motion-ready .stat-grid[data-reveal] .stat{opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transform:translateY(12px)}.motion-ready .stat-grid[data-reveal].is-revealed .stat{opacity:1;transform:none}.motion-ready .stat-grid .stat:nth-child(2){transition-delay:40ms}.motion-ready .stat-grid .stat:nth-child(3){transition-delay:80ms}.motion-ready .stat-grid .stat:nth-child(4){transition-delay:.12s}.motion-ready .stat-grid .stat:nth-child(5){transition-delay:.16s}.motion-ready .stat-grid .stat:nth-child(6){transition-delay:.2s}.motion-ready .stat-grid .stat:nth-child(7){transition-delay:.24s}.motion-ready .presence[data-reveal]:not(.is-revealed) .presence-fill{width:0}.cursor-ring,.cursor-dot{z-index:90;pointer-events:none;opacity:0;position:fixed;top:0;left:0}.cursor-ring{border:1.5px solid var(--amber);width:34px;height:34px;transition:opacity .2s var(--ease), width .2s var(--ease), height .2s var(--ease), margin .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease);border-radius:50%;margin:-17px 0 0 -17px}.cursor-dot{background:var(--amber);width:5px;height:5px;transition:opacity .2s var(--ease);border-radius:50%;margin:-2.5px 0 0 -2.5px}.cursor-ring.visible,.cursor-dot.visible{opacity:1}.cursor-ring.over-action{background:color-mix(in srgb, var(--amber) 14%, transparent);border-color:#0000;width:50px;height:50px;margin:-25px 0 0 -25px}.cursor-ring.pressed{width:26px;height:26px;margin:-13px 0 0 -13px}.cursor-ring.over-text,.cursor-dot.over-text{opacity:0}@media (pointer:coarse),(hover:none){.cursor-ring,.cursor-dot{display:none}}html.custom-pointer,html.custom-pointer body{cursor:url(/cursors/arrow.svg) 4 3,default}html.custom-pointer :is(a[href],button,select,summary,label,[role=button],[role=radio],[role=switch],[role=tab],input[type=checkbox],input[type=radio],input[type=file],input[type=date],input[type=datetime-local],input[type=month],.switch){cursor:url(/cursors/action.svg) 4 3,pointer}html.custom-pointer :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=date]):not([type=datetime-local]):not([type=month]),textarea,[contenteditable=true]){cursor:text}html.custom-pointer :is(:disabled,[aria-disabled=true]){cursor:not-allowed}html.custom-pointer .cursor-dot{display:none}@media (width<=1240px){.stat-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1100px){.split,.settings-grid{grid-template-columns:1fr}}@media (width<=1279px){.shell{background:0 0;grid-template-columns:1fr}.rail{width:min(290px,86vw);transition:transform .25s var(--ease);box-shadow:var(--shadow-lift);position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.rail.open{transform:none}.rail-close,.menu-button{display:inline-grid}.scrim{z-index:25;background:#080e1880;border:0;display:block;position:fixed;inset:0}}@media (width<=960px){.topbar{padding:0 16px}.content{padding:24px 16px 40px}.app-footer{flex-direction:column;padding:16px}.kiosk-hero{grid-template-columns:1fr}.presence{grid-template-columns:1fr;gap:14px}.presence-side{border-top:1px solid #ffffff1a;border-left:0;padding:14px 0 0}.shell{background:0 0}}@media (width<=640px){body{font-size:14px}.field-grid,.field-grid.three{grid-template-columns:1fr}.panel{padding:16px}.table-scroll{margin:0 -16px;padding:0 16px}.page-heading{margin-bottom:20px}.page-actions,.page-actions .button{width:100%}.modal{padding:20px}.modal-actions .button{flex:1}.crumb{font-size:13px}.kiosk-header .theme-switch{display:none}.export-controls label{width:100%}.presence-figure strong{font-size:52px}.stat-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}.person{min-width:150px}.live-clock-hero{padding:16px 18px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.live-clock .colon{animation:none}}.print-only{display:none}@media print{@page{size:A4 landscape;margin:12mm}.rail,.topbar,.app-footer,.scroll-progress,.cursor-ring,.cursor-dot,.page-actions,.row-actions,.no-print,.skip-link,.callout,.stat-grid,.page-heading,.panel-tools,.note-line{display:none!important}:root,:root[data-theme=dark]{--ink:#000;--ink-2:#222;--muted:#444;--line:#bbb;--surface:#fff;--surface-2:#fff;--paper:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{color:#000;background:#fff!important}.shell,.main,.content{background:0 0;margin:0;padding:0;display:block}.panel{box-shadow:none;break-inside:auto;border:0;padding:0}.print-sheet .panel-head h2{display:none}.print-only{display:block}.print-header{border-bottom:2px solid #000;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:10px;display:flex}.print-header img{filter:invert();height:38px}.print-header div{gap:2px;display:grid}.print-header b{font-size:18px}.print-header span{color:#444;font-size:11px}.table-scroll{margin:0;padding:0;overflow:visible}#root table{width:100%;font-size:11px}#root th,#root td{padding:5px 6px!important}#root tr{break-inside:avoid}#root thead{display:table-header-group}#root tfoot{display:table-row-group}.avatar{display:none}.badge{border:1px solid #888;color:#000!important;background:0 0!important}[data-reveal]{opacity:1!important;transform:none!important}}.time-pair{gap:14px;display:grid}.field-with-action{gap:6px;min-width:0;display:grid}.field-with-action>label{color:var(--ink-2);font-size:13px;font-weight:600}.input-row{align-items:stretch;gap:6px;display:flex}.input-row input{flex:1;min-width:0}.chip-button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);min-height:36px;color:var(--amber-ink);font:inherit;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.chip-button:hover{border-color:var(--amber);background:var(--amber-soft)}:root[data-theme=dark] .chip-button{color:var(--amber)}.reason-cell{max-width:260px;color:var(--ink-2);font-size:13px}.table-skeleton{gap:10px;padding:8px 0;display:grid}.table-skeleton span{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--sunken), var(--surface-2), var(--sunken));background-size:200% 100%;height:38px;animation:1.2s linear infinite skeleton}@keyframes skeleton{to{background-position:-200% 0}}.totals-line{color:var(--muted);flex-wrap:wrap;gap:18px;margin:0 0 10px;font-size:13px;display:flex}.totals-line b{font-variant-numeric:tabular-nums;margin-left:6px}.positive{color:var(--good)}.totals-line .negative{color:var(--bad)}tfoot th,tfoot td{border-top:2px solid var(--line-strong);padding-top:12px;font-weight:700}tfoot th{text-align:left;font-size:13px}.kiosk-declare{animation:fade-in .25s var(--ease);gap:18px;display:grid}.kiosk-declare-text{border-radius:var(--radius);border:2px solid var(--amber);background:var(--amber-soft);color:var(--ink);white-space:pre-line;gap:12px;padding:18px 20px;display:grid}.kiosk-declare-text p{margin:0;font-size:16px;line-height:1.5}.kiosk-declare-text p:first-child{font-size:19px;font-weight:700;line-height:1.35}@media screen and (width<=900px){.table-scroll{margin:0;padding:0;overflow-x:visible}.table-scroll table,.table-scroll tbody,.table-scroll tr,.table-scroll td{width:100%;display:block}.table-scroll thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.table-scroll tbody tr{border-bottom:1px solid var(--line);padding:12px 0}.table-scroll tbody tr:last-child{border-bottom:0}.table-scroll tbody tr:hover{background:0 0}.table-scroll tbody td{text-align:right;border:0;justify-content:space-between;align-items:baseline;gap:16px;padding:4px 0;display:flex}.table-scroll tbody td:before{content:attr(data-label);text-align:left;max-width:45%;color:var(--muted);flex:none;font-size:12px;font-weight:600}.table-scroll tbody td:first-child{text-align:left;justify-content:flex-start;padding-bottom:6px;font-weight:600}.table-scroll tbody td:first-child:before,.table-scroll tbody td[data-label=""]:before,.table-scroll tbody td.empty-row:before{content:none}.table-scroll tbody td>small,.table-scroll tbody td .cell-secondary{display:block}.table-scroll tbody td.row-actions{text-align:left;flex-wrap:wrap;justify-content:flex-start;gap:6px;padding-top:8px}.table-scroll tbody td.row-actions>*{margin:0}.table-scroll tbody td.empty-row{text-align:center;display:block}.table-scroll tfoot{display:block}.table-scroll tfoot tr{flex-wrap:wrap;gap:8px 16px;padding-top:12px;display:flex}.table-scroll tfoot td,.table-scroll tfoot th{border:0;padding:0;display:block}}.field-grid>*,.field-grid input,.field-grid select{min-width:0}.field-grid input,.field-grid select{width:100%}@media screen and (width<=900px){.table-scroll tbody td.row-actions:before{content:none}}.pending-note{color:var(--warn);margin-top:4px;font-weight:600}:root{--font-urdu:"Noto Nastaliq Urdu", "Jameel Noori Nastaleeq", "Urdu Typesetting", serif;--over:var(--info);--over-soft:var(--info-soft)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.nowrap{flex-wrap:nowrap}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.stack{gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.grid-2>.panel,.grid-3>.panel{margin-bottom:0}.panel-body{padding:0}.panel-body+.panel-body,.panel .spread.panel-body{margin-top:14px}.panel-intro{color:var(--muted);max-width:70ch;margin-top:3px;font-size:13px}.panel-head h2{font-size:18px}.small{font-size:13px}.num{font-variant-numeric:tabular-nums}.v-short{color:var(--bad);font-weight:700}.v-over{color:var(--info);font-weight:700}.v-open{color:var(--warn)}.urdu{font-family:var(--font-urdu);direction:rtl;line-height:2.2}.page-stack{gap:20px;display:grid}.page-stack>.panel{margin-bottom:0}.content>.page{gap:20px;display:grid}.content>.page>.panel,.content>.page>.stat-grid{margin-bottom:0}.content>.page>.page-heading{margin-bottom:8px}@media (width<=960px){.grid-3{grid-template-columns:1fr 1fr}}@media (width<=760px){.grid-2,.grid-3{grid-template-columns:1fr}}.field{gap:6px;min-width:0;display:grid}.field>span:first-child{color:var(--ink-2);font-size:13px;font-weight:600}.field-hint{color:var(--muted);font-size:12px;font-weight:450}.field-error{color:var(--bad);font-size:12px;font-weight:600}.field.grow{flex:200px}input.compact,select.compact,.compact input{min-height:34px;padding:5px 9px;font-size:13.5px}.num-input{text-align:right;font-variant-numeric:tabular-nums}.affix{align-items:stretch;min-width:0;display:flex}.affix>em{border:1px solid var(--line-strong);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--sunken);color:var(--muted);letter-spacing:.02em;border-right:0;align-items:center;padding:0 10px;font-size:12px;font-style:normal;font-weight:700;display:flex}.affix>input{border-radius:0 var(--radius-sm) var(--radius-sm) 0;min-width:0}.affix.suffix>input{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.affix.suffix>em{border:1px solid var(--line-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:0}.check{color:var(--ink);cursor:pointer;grid-template-columns:none;align-items:flex-start;gap:10px;font-weight:500;display:flex}.check input{width:18px;height:18px;accent-color:var(--action);flex:none;margin-top:2px}.check .field-hint{display:block}fieldset.plain{border:0;padding:0}.seg{background:var(--sunken);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button,.seg .seg-link{min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.seg button:hover:not(:disabled),.seg .seg-link:hover{color:var(--ink)}.seg button[aria-pressed=true],.seg button[aria-selected=true],.seg .seg-link[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0f1b2d1f}.seg .seg-link[aria-selected=true] svg{color:var(--amber)}.section-tabs{margin-bottom:4px}.badge-good{background:var(--good-soft);color:var(--good)}.badge-bad{background:var(--bad-soft);color:var(--bad)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-void{color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0;text-decoration:line-through}.callout{margin-bottom:0}.callout-info{background:var(--info-soft);color:var(--info);border-color:color-mix(in srgb, var(--info) 25%, transparent)}.callout-body{color:var(--ink-2)}.callout strong+.callout-body{margin-top:2px}.callout ul{margin:4px 0 0;padding-left:18px;list-style:outside}.spinner.small{border-width:2px;width:14px;height:14px}.button.primary .spinner{border-color:color-mix(in srgb, var(--action-ink) 35%, transparent);border-top-color:var(--action-ink)}tbody tr.is-short td:first-child,tbody tr.is-over td:first-child,tbody tr.attention td:first-child{position:relative}tbody tr.is-short td:first-child:after,tbody tr.is-over td:first-child:after,tbody tr.attention td:first-child:after{content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-20px}tbody tr.is-short td:first-child:after{background:var(--bad)}tbody tr.is-over td:first-child:after{background:var(--info)}tbody tr.attention td:first-child:after{background:var(--amber)}tbody tr.clickable{cursor:pointer}.issue-list{gap:2px;margin-top:4px;display:grid}.issue-list li{color:var(--warn);font-size:12px;font-weight:600}.issue-list li:before{content:"• "}tfoot td{font-weight:700}.list{display:grid}.list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:14px;display:flex}.list li:last-child{border-bottom:0}.list li>span:last-child{color:var(--muted);font-size:13px}.presence-steps{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.presence-steps i{background:#ffffff14;border-radius:4px;height:18px}.presence-steps i.done{background:var(--amber)}.presence-steps-labels{color:var(--rail-muted);grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px;font-size:11.5px;font-weight:600;display:grid}.presence-steps-labels span.done{color:var(--rail-ink)}.checklist{gap:0;display:grid}.checklist li{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.checklist li:last-child{border-bottom:0}.checklist .tick{background:var(--sunken);width:28px;height:28px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.checklist li.done .tick{background:var(--good-soft);color:var(--good)}.checklist b{font-size:14px;display:block}.checklist small{color:var(--muted);font-size:12.5px;display:block}.docket-card{position:sticky;top:76px}.docket-card .timecard-stub b{font-family:var(--font-display);color:var(--ink);letter-spacing:.01em;font-size:20px;font-weight:800}.docket-body{padding:6px 22px 20px}.docket-method{border-bottom:1px dashed var(--line-strong);padding:14px 0}.docket-method:last-child{border-bottom:0}.docket-line{color:var(--ink-2);justify-content:space-between;gap:16px;padding:2px 0;font-size:13px;display:flex}.docket-line span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.docket-line.total{color:var(--ink);font-weight:700}.docket-diff{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:8px;display:flex}.docket-diff>span{align-items:center;gap:8px;font-weight:700;display:inline-flex}.docket-diff b{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.005em;font-size:34px;font-weight:800;line-height:.95}.docket-diff.short b{color:var(--bad)}.docket-diff.over b{color:var(--info)}.docket-diff.open b{color:var(--warn);font-size:22px}.docket-needs{color:var(--warn);margin-top:6px;font-size:12px;font-weight:600}.cash-layout{grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:start;gap:20px;display:grid}.cash-layout .panel{margin-bottom:20px}@media (width<=1100px){.cash-layout{grid-template-columns:1fr}.docket-card{position:static}}.line-editor{grid-template-columns:150px minmax(0,1fr) 190px auto;align-items:end;gap:10px;display:grid}@media (width<=760px){.line-editor{grid-template-columns:1fr 1fr}.line-editor>:nth-child(2){grid-column:1/-1}}.mic{background:var(--action);min-height:52px;color:var(--action-ink);box-shadow:0 10px 24px -14px color-mix(in srgb, var(--action) 80%, transparent);border:0;border-radius:999px;align-items:center;gap:12px;padding:0 24px 0 18px;font-size:15px;font-weight:700;display:inline-flex}.mic:hover{background:var(--action-hover)}.mic.listening{background:var(--bad);color:#fff}.mic .pulse{opacity:.85;background:currentColor;border-radius:50%;width:10px;height:10px}.mic.listening .pulse{animation:1s ease-in-out infinite mic-pulse}@keyframes mic-pulse{50%{opacity:.35;transform:scale(1.7)}}.heard{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);min-height:52px;padding:14px 16px;font-size:15px}.voice-hint{border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--ink);padding:12px 14px;font-size:13.5px}.voice-hint b{color:var(--amber-ink)}.modal-body{gap:14px;display:grid}.unit-inputs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.unit-inputs .affix{width:168px}.unit-inputs .affix input{text-align:right}.module-tabs{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.toasts{z-index:80;gap:8px;width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius);background:var(--rail);color:var(--rail-ink);box-shadow:var(--shadow-lift);border-left:3px solid var(--amber);animation:modal-in .2s var(--ease);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;font-weight:500;display:flex}.toast svg{color:var(--amber);flex:none;margin-top:1px}.toast-error{border-left-color:var(--bad)}.toast-error svg{color:var(--bad)}.rail .theme-switch{background:#ffffff0d;border-color:#ffffff14}.rail .theme-switch button{color:var(--rail-muted)}.rail .theme-switch button.active{background:var(--rail-2);color:var(--rail-ink)}.rail-label{text-transform:none}.passkey-row{align-items:center;gap:12px;display:flex}.passkey-row .avatar{background:var(--amber-soft);color:var(--amber-ink)}.login-note{text-align:center;color:var(--muted);margin-top:14px;font-size:13px}@media print{.docket-card{box-shadow:none;clip-path:none;position:static}.toasts,.module-tabs,.seg{display:none!important}}.affix{gap:0}.seg{width:fit-content;max-width:100%}@media (width<=640px){tbody tr.is-short td:first-child:after,tbody tr.is-over td:first-child:after,tbody tr.attention td:first-child:after{left:-16px}}td.row-actions{white-space:nowrap}.docket-total-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.docket-total-pair>span{border-radius:var(--radius-sm);background:var(--sunken);gap:2px;padding:10px 12px;display:grid}.docket-total-pair small{color:var(--muted);font-size:12px;font-weight:600}.docket-total-pair b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1}.sheet-root{visibility:hidden;pointer-events:none;width:190mm;position:fixed;top:0;left:-10000px}.sheet,.cash-print{--p-ink:#0f1b2d;--p-muted:#5f6b7c;--p-line:#d5dbe2;--p-soft:#f3f5f7;--p-navy:#0f1b2d;--p-amber:#e39b2d;--p-short:#b3302a;--p-short-soft:#fbe6e4;--p-over:#285ba0;--p-over-soft:#e5eefa;--p-even:#17704a;--p-even-soft:#e1f2e9;--p-open:#8a5a00;--p-open-soft:#fcefd6;width:190mm;color:var(--p-ink);font-family:var(--font-ui);-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;font-size:11.5px;line-height:1.4}.sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.cp-head{background:var(--p-navy);color:#fff;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:12px 16px;display:grid}.cp-brand{align-items:flex-end;gap:6px;display:inline-flex}.cp-logo{aspect-ratio:978/186;background:#fff;width:84px;display:block;-webkit-mask:url(/brand/shrug-wordmark.png) 50%/contain no-repeat;mask:url(/brand/shrug-wordmark.png) 50%/contain no-repeat}.cp-word{font-family:var(--font-display);color:var(--p-amber);font-size:17px;font-weight:600;line-height:.82}.cp-title{gap:1px;display:grid}.cp-title b{font-family:var(--font-display);letter-spacing:.01em;font-size:21px;font-weight:800;line-height:1}.cp-title span{color:#c9d3e0;font-size:11.5px}.cp-status{color:var(--p-navy);background:#fff;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700}.cp-status-draft{background:var(--p-open-soft);color:var(--p-open)}.cp-status-reviewed{background:var(--p-over-soft);color:var(--p-over)}.cp-status-finalized{background:var(--p-even-soft);color:var(--p-even)}.cp-status-superseded{color:var(--p-muted);background:#eaedf1}.cp-note{border-radius:6px;margin:10px 0 0;padding:7px 10px;font-size:11px}.cp-note-warn{background:var(--p-open-soft);color:var(--p-open)}.cp-methods{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;display:grid}.cp-method{border:1px solid var(--p-line);border-top:4px solid var(--p-line);border-radius:8px;align-content:start;gap:3px;padding:10px 12px;display:grid}.cp-method.short{border-top-color:var(--p-short)}.cp-method.over{border-top-color:var(--p-over)}.cp-method.even{border-top-color:var(--p-even)}.cp-method.open{border-top-color:var(--p-amber)}.cp-method-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.cp-method-head b{font-family:var(--font-display);font-size:17px;font-weight:800}.cp-chip{border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700}.cp-chip.short{background:var(--p-short-soft);color:var(--p-short)}.cp-chip.over{background:var(--p-over-soft);color:var(--p-over)}.cp-chip.even{background:var(--p-even-soft);color:var(--p-even)}.cp-chip.open{background:var(--p-open-soft);color:var(--p-open)}.cp-row{color:#33415a;justify-content:space-between;gap:8px;font-size:10.5px;display:flex}.cp-row span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.cp-diff{border-top:1px dashed var(--p-line);justify-content:space-between;align-items:baseline;margin-top:6px;padding-top:6px;display:flex}.cp-diff small{color:var(--p-muted);font-weight:700}.cp-diff b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.cp-method.short .cp-diff b{color:var(--p-short)}.cp-method.over .cp-diff b{color:var(--p-over)}.cp-method.open .cp-diff b{color:var(--p-open);font-size:15px}.cp-missing{color:var(--p-open);font-size:10px;font-weight:600}.cp-totals{grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:8px;margin-top:10px;display:grid}.cp-total{background:var(--p-soft);border-radius:8px;gap:2px;padding:8px 10px;display:grid}.cp-total small{color:var(--p-muted);font-size:10px;font-weight:700}.cp-total b{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:17px;font-weight:800}.cp-total.short{background:var(--p-short-soft)}.cp-total.short b{color:var(--p-short)}.cp-total.over{background:var(--p-over-soft)}.cp-total.over b{color:var(--p-over)}.cp-block{margin-top:12px}.cp-block h3{margin:0 0 4px;font-size:12px}.cp-table{border-collapse:collapse;width:100%;font-size:10.5px}.cp-table th{text-align:left;color:var(--p-muted);border-bottom:1.5px solid var(--p-ink);background:var(--p-soft);padding:3px 6px;font-size:10px}.cp-table td{border-bottom:1px solid var(--p-line);color:var(--p-ink);padding:3px 6px}.cp-table .num{text-align:right;font-variant-numeric:tabular-nums}.cp-notes p{white-space:pre-line;margin:2px 0;font-size:11px}.cp-people{color:var(--p-muted);flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:10.5px;display:flex}.cp-people b{color:var(--p-ink)}.cp-signatures{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:34px;display:grid}.cp-signatures div{border-top:1px solid var(--p-ink);text-align:center;color:var(--p-muted);padding-top:5px;font-size:10.5px}.cp-foot{text-align:center;color:var(--p-muted);margin:14px 0 0;font-size:9.5px}@media print{html.printing-sheet #root,html.printing-sheet .toasts,html.printing-sheet .cursor-ring,html.printing-sheet .cursor-dot{display:none!important}html.printing-sheet,html.printing-sheet body{background:#fff!important}html.printing-sheet .sheet-root{visibility:visible;page:sheet;width:190mm;position:static;left:auto}html.printing-sheet[data-sheet-mode=fit] .sheet-root{height:276mm;overflow:hidden}html.printing-sheet .sheet{zoom:var(--sheet-scale,1)}html.printing-sheet[data-sheet-mode=flow] .sheet thead{display:table-header-group}html.printing-sheet[data-sheet-mode=flow] .sheet tr{break-inside:avoid}}@page sheet{size:A4 portrait;margin:10mm}@media print{html.printing-sheet,html.printing-sheet[data-theme=dark]{--paper:#fff;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important;background:#fff!important}}.paste-preview{max-height:46vh;overflow-y:auto}.paste-preview thead th{background:var(--surface);z-index:1;position:sticky;top:0}.paste-preview tbody td,.paste-preview tfoot td{padding-top:6px;padding-bottom:6px}.plain-link{color:inherit;text-decoration:none}.balance-open{color:var(--ink);font-weight:700}.ledger-table td small{margin-top:2px;display:block}.voided-row td{color:var(--muted)}.voided-row td.num,.voided-row td>b{text-decoration:line-through}.bill-lines{border-radius:var(--radius-sm);background:var(--sunken);gap:1px;margin-top:6px;padding:6px 8px;font-size:12.5px;display:grid}.bill-lines li{justify-content:space-between;gap:12px;display:flex}.bill-lines li span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.bill-editor{justify-items:start;gap:10px;display:grid}.bill-editor .table-scroll{width:100%;margin:0;padding:0}@media print{.ledger-table th.sr-only,.ledger-table td.row-actions{display:none!important}}.ledger-print .ls-party{border:1px solid var(--p-line);border-radius:8px;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:12px;padding:10px 12px;display:flex}.ledger-print .ls-party small{color:var(--p-muted);font-size:10px;font-weight:700;display:block}.ledger-print .ls-party b{font-family:var(--font-display);font-size:22px;font-weight:800;line-height:1.05;display:block}.ledger-print .ls-party span{color:var(--p-muted);font-size:11px}.ledger-print .ls-dates{text-align:right;gap:2px;display:grid}.ledger-print .ls-dates b{font-family:var(--font-ui);color:var(--p-ink);font-size:11px;font-weight:700;display:inline}.ledger-print .ls-totals{grid-template-columns:1fr 1fr 1.2fr}.ledger-print .ls-balance b{font-size:21px}.ledger-print .ls-table{margin-top:12px}.ledger-print .ls-table td{vertical-align:top;padding:5px 6px}.ledger-print .ls-table tr.payment td{background:#f6fbf8}.ledger-print .ls-table tr.voided td{color:#9aa4b1}.ledger-print .ls-table tr.voided td.num{text-decoration:line-through}.ledger-print .ls-table tfoot td{border-top:1.5px solid var(--p-ink);background:var(--p-soft);border-bottom:0;padding:6px;font-weight:700}.ledger-print .ls-run{font-weight:700}.ledger-print .ls-kind{border-radius:4px;padding:0 6px;font-size:9.5px;font-weight:700;display:inline-block}.ledger-print .ls-kind.bill{background:var(--p-open-soft);color:var(--p-open)}.ledger-print .ls-kind.payment{background:var(--p-even-soft);color:var(--p-even)}.ledger-print .ls-kind.void{color:var(--p-muted);background:#eaedf1}.ledger-print .ls-muted{color:var(--p-muted);font-size:10px}.ledger-print .ls-lines{border-left:2px solid var(--p-line);color:#33415a;gap:1px;margin-top:3px;padding:3px 6px;font-size:10px;display:grid}.ledger-print .ls-lines div{justify-content:space-between;gap:10px;display:flex}.ledger-print .ls-lines div span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.ledger-print .ls-empty{text-align:center;color:var(--p-muted);padding:14px}.ledger-print .ls-closing{background:var(--p-soft);border-radius:8px;margin:12px 0 0;padding:8px 12px;font-size:12px;font-weight:700}
