:root{--ink:#1e1a15;--muted:#6b6259;--faint:#b8ae9b;--line:#e3dccf;--line-strong:#cfc6b5;--bg:#f4f1ea;--surface:#fffdf9;--accent:#8a6d3b;--accent-soft:#f3e9d4;--danger:#a1412b;--radius:10px;--sans:Manrope, "Noto Sans SC", system-ui, sans-serif;--serif:"Noto Serif SC", Georgia, serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px;line-height:1.5}h1,h2,.brand{font-family:var(--serif);margin:0 0 8px;font-weight:600}h1{font-size:24px}h2{font-size:18px}a{color:var(--accent);text-decoration:none}.muted{color:var(--muted)}.error{color:var(--danger);margin:0}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.nowrap{white-space:nowrap}.app-header{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:12px 24px;display:flex}.app-header nav{flex-wrap:wrap;flex:1;gap:4px 16px;display:flex}.app-header nav a{color:var(--ink);font-weight:600}.app-header nav a,.app-header .button{white-space:nowrap}.app-header .brand{color:var(--ink);margin:0;font-size:18px}.freshness{background:var(--surface);border-bottom:1px solid var(--line);padding:4px 24px;font-size:12px}.stale-banner{background:var(--accent);color:var(--surface);padding:8px 24px;font-size:13px}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.tile .label{color:var(--muted);font-size:12px}.tile .value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.total{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:32px;font-weight:600}.entry{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.entry:hover{border-color:var(--accent)}.entry .sub{color:var(--muted);font-size:13px}.entry .amount{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-weight:700}.entry.selected{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}.payroll-grid{align-items:start;gap:16px;display:grid}@media (min-width:900px){.payroll-grid{grid-template-columns:280px minmax(0,1fr)}}.negative{color:var(--danger)}.chip.settled{color:#2f6b3d;background:#dcefe0}.chip.locked{background:var(--ink);color:var(--bg)}.chip.included{background:var(--accent-soft);color:#6b4f1e}.chip.draft{color:var(--muted);background:#efe7d6}.chip.pending{border:1px solid var(--accent);color:var(--accent);background:0 0}.facts{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.page{max-width:1100px;margin:0 auto;padding:24px 16px 64px}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}.narrow{width:100%;max-width:380px}.narrow-page{max-width:760px}.stack{gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.check{align-items:flex-start;gap:8px;display:flex}.check input{margin-top:3px}.field{color:var(--muted);gap:4px;font-size:13px;display:grid}input,select{font:inherit;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:8px;min-width:0;padding:8px 10px}input:focus,select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.button{font:inherit;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;padding:8px 14px;font-weight:600}.button.primary{background:var(--ink);border-color:var(--ink);color:var(--surface)}.button.link{color:var(--accent);background:0 0;border:0;padding:4px}.button:disabled{opacity:.5;cursor:default}.chip{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}fieldset{border:1px solid var(--line);border-radius:10px;min-width:0;margin:0;padding:8px 12px}fieldset legend{padding:0 4px}.chip.off{background:var(--line);color:var(--muted)}.chip.warn{color:var(--danger);background:#f6e1da}.usage-add{grid-template-columns:1fr auto auto;align-items:center;gap:8px;display:grid}.usage-add .error{grid-column:1/-1}.usage-row{border-top:1px solid var(--line);padding-top:8px}@media (max-width:640px){.usage-add{grid-template-columns:1fr auto}.usage-add select{grid-column:1/-1}}table{border-collapse:collapse;background:var(--surface);width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}th{color:var(--muted);font-size:12px;font-weight:600}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow-x:auto}@media (max-width:1023px){.narrow-scroll th,.narrow-scroll .short,.narrow-scroll .chip,.narrow-scroll .button{word-break:keep-all}.narrow-scroll .prose{min-width:12em}}@media (max-width:640px){.app-header{flex-wrap:wrap;gap:4px 12px;padding:10px 16px}.app-header nav{flex-basis:100%;order:1}.app-header nav a{padding:4px 0}.app-header>.row{margin-left:auto}.freshness,.stale-banner{padding-left:16px;padding-right:16px}.page{padding:16px 16px 48px}.narrow-scroll th,.narrow-scroll .short,.narrow-scroll .chip,.narrow-scroll .button{white-space:nowrap}.narrow-scroll .prose{min-width:14em}}.app-header nav a[aria-current=page],.nav-more>button[aria-current=page]{color:var(--accent);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.nav-more{display:inline-flex;position:relative}.nav-more>button{font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600}.nav-menu{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:2px;min-width:170px;padding:6px;display:grid;position:absolute;top:calc(100% + 10px);left:-12px;box-shadow:0 8px 24px #1e1a1524}.app-header nav .nav-menu a{border-radius:6px;padding:8px 10px}.app-header nav .nav-menu a:hover{background:var(--bg)}@media (max-width:640px){.nav-more>button{padding:4px 0}.app-header nav{position:relative}.nav-more{position:static}.nav-menu{top:calc(100% + 4px);left:0;right:0}}.admin p,.admin h1,.admin h2,.admin h3,.admin dl,.admin ul{margin:0}.admin h3{font-family:var(--serif);font-size:16px;font-weight:600}.admin ul{padding:0;list-style:none}.admin ul.bullets{padding-left:18px;list-style:outside}.admin .stack>:not(input[type=hidden])~h2,.admin .stack>:not(input[type=hidden])~h3,.admin .stack>:not(input[type=hidden])~section:not(.card){margin-top:16px}.admin .stack>:not(input[type=hidden])~.spread:has(>h2){margin-top:16px}.admin .stack>.chip{justify-self:start}.admin .narrow-page{width:100%;margin-inline:auto}.admin .stack>a:first-child:not([class]){justify-self:start}.admin input:not([type=checkbox]):not([type=radio]):not([type=file]),.admin select{height:40px;padding:0 12px;font-size:14px}.admin input[type=checkbox],.admin input[type=radio]{width:16px;height:16px;accent-color:var(--ink);flex:none;margin:0}.admin .check input{margin-top:3px}.admin .button{text-align:center;justify-content:center;align-items:center;min-height:40px;padding:8px 16px;font-size:14px;line-height:1.3;display:inline-flex}.admin .button.link{min-height:0;padding:4px;display:inline}@media (min-width:1024px){.admin .button{white-space:nowrap}}.admin input[type=file]{width:100%;height:40px;color:var(--muted);border-style:dashed;padding:4px;font-size:14px}.admin input[type=file]::file-selector-button{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;margin-right:10px;padding:4px 10px;font-size:13px;font-weight:600}.fields{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.fields>.wide{grid-column:span 2}.admin .field>input:not([type=checkbox]):not([type=radio]),.admin .field>select{width:100%}.admin .stack>.field,.admin .stack>.fields,.admin .stack>fieldset{max-width:720px}.admin .stack>.field>input[type=date]{width:170px}.admin .stack>.field>select{justify-self:start;width:auto;min-width:220px;max-width:100%}.suffixed{color:var(--muted);align-items:center;gap:6px;display:flex}.suffixed>input{flex:1;width:100%}.admin fieldset{border:0;border-radius:0;padding:0}.admin fieldset legend{margin-bottom:6px;padding:0;font-size:13px}.admin fieldset.stack{gap:8px}.admin fieldset.row{gap:8px 20px}.role-row{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.role-row>strong{flex:0 0 220px}.role-row select{min-width:0;max-width:100%}.inline-form{align-items:center;gap:8px;display:flex}.inline-form>input,.inline-form>select{flex:1;min-width:0}.inline-form>input[size]{flex:none;width:110px}.inline-form>.error{flex-basis:100%}@media (max-width:640px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.filters{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));align-items:end;gap:10px 8px;display:grid}.filters>.wide{grid-column:span 2}.admin .filters select{padding:0 4px 0 8px}.filters>.button{justify-self:start}.filters>.check{min-height:40px;color:var(--muted);align-items:center}.filters>.check input{margin-top:0}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0 24px;display:flex}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 2px 10px;font-weight:600}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.segmented{border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;justify-self:start;gap:2px;padding:3px;display:inline-flex}.segmented a{color:var(--muted);white-space:nowrap;border-radius:7px;padding:5px 12px;font-size:14px;font-weight:600}.segmented a[aria-current=true]{background:var(--ink);color:var(--surface)}.pills{flex-wrap:wrap;gap:6px;display:flex}.pill{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.pill:hover{border-color:var(--accent)}.pill[aria-current=true]{border-color:var(--accent);background:var(--accent-soft);color:#6b4f1e}.pill .count{color:var(--muted);font-weight:500}.note{border:1px solid #e6d7b6;border-left:3px solid var(--accent);color:#5a4520;background:#faf3e3;border-radius:8px;padding:10px 14px;font-size:14px}.note.warn{border-color:#ecc9bf;border-left-color:var(--danger);color:#7a3220;background:#fbeee9}.card.quiet{background:0 0;border-style:dashed}.admin th{word-break:keep-all}@media (min-width:641px){.admin th.num{white-space:normal}}@media (max-width:1099px){.admin th,.admin td{padding-left:8px;padding-right:8px}}.admin table:not(:has(tfoot)) tbody tr:last-child>*{border-bottom:0}.admin tfoot tr>*,.admin tr.total-row>*{border-top:2px solid var(--line-strong);color:var(--ink);background:#faf6ec;border-bottom:0;font-size:15px;font-weight:700}.admin .w-s{width:1%}@media (min-width:1024px){.admin .w-s{white-space:nowrap}}@media (min-width:1100px){.admin .table-wrap.sticky-head{overflow:clip}.admin .table-wrap.sticky-head th{z-index:1;background:var(--surface);box-shadow:inset 0 -1px 0 var(--line);position:sticky;top:0}}.kpi{align-content:start;gap:4px;display:grid}.kpi .value{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1.2}.kpi .delta{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.kpi .delta.up{color:#2f6b3d}.kpi .delta.down{color:var(--danger)}.admin .small{font-size:13px}.admin .payroll-grid{grid-template-columns:minmax(0,1fr)}@media (min-width:1100px){.admin .payroll-grid{grid-template-columns:250px minmax(0,1fr)}}.admin .payroll-grid>nav{min-width:0}.period{gap:4px;min-width:0;padding:12px 14px;display:grid}.period .spread{flex-wrap:nowrap}.changes{overflow-wrap:anywhere;gap:2px;padding:6px 0 0 14px;font-size:13px;display:grid}.admin details>summary{cursor:pointer}.id{overflow-wrap:anywhere;font-size:12px}
