:root{--surface:#eef0f3;--panel:#ffffff;--ink:#17202a;--muted:#5f6b78;--rule:#d7dce3;--rule-strong:#b9c1cb;--accent:#2b3a8f;--accent-ink:#ffffff;--accent-soft:#e6e9f7;--ok:#1f7a6b;--ok-soft:#e1f2ee;--warn:#9a6400;--warn-soft:#fbf0d6;--bad:#b3372d;--bad-soft:#f9e3e0;--mono:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;background:var(--surface);color:var(--ink);font:14px/1.45 -apple-system,Segoe UI,Inter,Roboto,system-ui,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;letter-spacing:-.01em;margin:0 0 4px}h1,h2{font-weight:650}h2{font-size:15px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.nav{background:var(--ink);color:#cfd6df;padding:18px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.brand{color:#fff;font-weight:700;font-size:18px;letter-spacing:.02em;margin-bottom:4px}.brand small{display:block;color:#8d99a7;font-weight:400;font-size:11px;letter-spacing:.08em}.brand small,.nav .grp{text-transform:uppercase}.nav .grp{margin-top:16px;font-size:10px;letter-spacing:.12em;color:#7d8896;padding:0 8px}.nav a{display:block;color:#cfd6df;padding:6px 8px;border-radius:4px}.nav a:hover{background:#26323f;text-decoration:none}.nav .who{margin-top:24px;padding:10px 8px;border-top:1px solid #2b3846;font-size:12px;color:#9fb0c1}.nav .who b{color:#fff;display:block}.main{padding:26px 32px 60px;max-width:1240px}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.head p{margin:0;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:16px 18px;margin-bottom:16px}.grid{display:grid;grid-gap:14px;gap:14px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.kpi{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:12px 14px}.kpi .l{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.kpi .v{font-size:20px;font-weight:650;margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--rule-strong)}td{padding:7px 8px;border-bottom:1px solid var(--rule);vertical-align:top}td.n,th.n{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.mono{font-family:var(--mono);font-size:12px}tr.total td{font-weight:650;border-top:2px solid var(--ink);border-bottom:none}.ledger td:first-child{color:var(--muted)}.ledger .dr{color:var(--ink)}.ledger .cr{padding-left:24px}.badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--accent-soft);color:var(--accent)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.muted{background:#e9ecf0;color:var(--muted)}.btn,button{font:inherit;background:var(--accent);color:var(--accent-ink);border:0;border-radius:4px;padding:7px 14px;cursor:pointer;font-weight:600}button:hover{filter:brightness(1.08)}.btn.ghost,button.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}button.danger{background:var(--bad)}button.small{padding:3px 9px;font-size:12px;font-weight:500}button.linklike{background:transparent;border:none;padding:0;font:inherit;cursor:pointer;color:var(--accent);text-decoration:underline}button.linklike.danger{color:var(--bad)}input,select,textarea{font:inherit;border:1px solid var(--rule-strong);border-radius:4px;padding:6px 8px;background:#fff;width:100%}input[type=number]{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}.field{margin-bottom:10px}.row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.row>*{flex:1 1}.row .fix{flex:0 0 auto}.flash{padding:10px 14px;border-radius:4px;margin-bottom:14px;font-weight:500}.flash.err{background:var(--bad-soft);color:var(--bad);border:1px solid #efc4bf}.flash.ok{background:var(--ok-soft);color:var(--ok)}.preview{border-left:4px solid var(--accent);background:var(--accent-soft);padding:12px 16px;border-radius:0 6px 6px 0}.note{color:var(--muted);font-size:12px}.trace{font-family:var(--mono);font-size:11px;white-space:pre-wrap;background:#f4f6f8;padding:10px;border-radius:4px;max-height:260px;overflow:auto}.login{max-width:520px;margin:80px auto}.login .u{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 0;border-bottom:1px solid var(--rule)}.tabs a{display:inline-block;padding:6px 12px;border-bottom:2px solid transparent;color:var(--muted)}.tabs a.on{color:var(--ink);border-color:var(--accent)}.att td{padding:2px 3px;text-align:center}.att select{padding:2px;font-size:11px;width:52px}.att .stick1,.att .stick2{position:-webkit-sticky;position:sticky;z-index:1;background:var(--panel)}.att .stick1{left:0;box-sizing:border-box;width:76px;min-width:76px;max-width:76px;overflow:hidden}.att .stick2{left:76px;box-shadow:1px 0 0 var(--rule)}.exc{font-size:12px;margin:2px 0}.exc.block{color:var(--bad)}.exc.warn{color:var(--warn)}.print-bar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.doc{max-width:900px;margin:0 auto;background:#fff;color:#17202a;padding:6px 2px}.doc .dhead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:24px;gap:24px;border-bottom:2px solid var(--ink);padding-bottom:16px;margin-bottom:18px}.doc .dhead .brandblock{justify-self:center;text-align:center}.doc .dhead .logo{height:92px;width:auto;display:block;margin:0 auto}.doc .dhead .dtitle{justify-self:end}.doc .company{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.2}.doc .cmeta{font-size:11px;color:var(--muted);margin-top:5px;white-space:pre-line;line-height:1.6;max-width:360px}.doc .dtitle{font-size:24px;font-weight:700;letter-spacing:.05em;text-align:right;white-space:nowrap}.doc h3{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 5px;font-weight:700}.doc .cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-bottom:14px}.doc .kv{display:grid;grid-template-columns:auto 1fr;grid-gap:2px 12px;gap:2px 12px;font-size:12px}.doc .kv .k{color:var(--muted)}.doc table.lines{border-collapse:collapse;width:100%;margin-bottom:12px}.doc table.lines td,.doc table.lines th{border:1px solid var(--rule-strong);padding:6px 8px;font-size:11.5px}.doc table.lines th{background:#f2f4f7;text-transform:none;letter-spacing:0;color:var(--ink);font-weight:700;border-bottom:1px solid var(--rule-strong)}.doc .tots{width:320px;margin-left:auto;font-size:12.5px}.doc .tots .r{display:flex;justify-content:space-between;padding:3px 2px}.doc .tots .grand{font-weight:700;font-size:14px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:6px 2px;margin:4px 0}.doc .words{border:1px solid var(--rule-strong);border-radius:4px;padding:8px 10px;margin:12px 0;font-size:12px}.doc .terms{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:14px;font-size:11px;color:var(--ink)}.doc .terms .body{white-space:pre-line;color:var(--muted);line-height:1.5}.doc .sign{margin-top:26px;text-align:right}.doc .sign .line{margin-top:34px;border-top:1px solid var(--ink);display:inline-block;padding-top:4px;min-width:240px}.doc .dfoot{margin-top:16px;padding-top:8px;border-top:1px solid var(--rule);font-size:11px;font-weight:700;letter-spacing:.03em;text-align:center}.doc .confidential{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bad);font-weight:700}@media print{.nav,.no-print,.print-bar{display:none!important}.shell{display:block!important}.main{padding:0!important;max-width:none!important}body,html{background:#fff!important}.doc{max-width:none}@page{size:A4;margin:12mm}}.btn[aria-disabled=true],button:disabled{opacity:.45;cursor:not-allowed}