:root{--bg:#f6f7f9;--surface:#fff;--ink:#1b2430;--muted:#5d6b7a;--line:#dfe3e8;--accent:#1f5f8b;--accent-ink:#fff;--ok:#1e7a4c;--ok-bg:#e5f4ec;--warn:#8a5a00;--warn-bg:#fdf1d8;--bad:#a3271f;--bad-bg:#fbe5e3;--info-bg:#e7eff6;--radius:8px;color:var(--ink);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0;font-size:15px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 4px;font-size:22px}h2{margin:28px 0 10px;font-size:17px}h3{margin:18px 0 8px;font-size:15px}p{margin:6px 0}.muted{color:var(--muted)}.small{font-size:13px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;padding:10px 24px;display:flex}.brand{letter-spacing:.2px;font-weight:700}.brand span{color:var(--muted);font-weight:500}.nav{flex:1;gap:16px;display:flex}.nav a{color:var(--ink);font-weight:500}.who{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}main{max-width:1180px;margin:0 auto;padding:24px 16px 64px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:16px}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.kv{grid-template-columns:170px 1fr;gap:4px 12px;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}th{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:#fafbfc;font-size:12px}tr:last-child td{border-bottom:none}.chip{background:var(--info-bg);color:var(--accent);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.gray{color:var(--muted);background:#eef0f3}.banner{border-radius:var(--radius);margin-bottom:16px;padding:10px 14px;font-size:14px}.banner.error{background:var(--bad-bg);color:var(--bad)}.banner.ok{background:var(--ok-bg);color:var(--ok)}form.inline{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:inline-flex}form.stack{gap:10px;max-width:520px;display:grid}form.row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}label{color:var(--muted);gap:4px;font-size:13px;display:grid}input,select,textarea{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;min-width:0;padding:7px 9px;font-size:14px}textarea{min-height:64px}button,.btn{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;white-space:nowrap;border-radius:6px;padding:7px 12px;font-size:14px}button.secondary,.btn.secondary{color:var(--accent);background:#fff}button.link{color:var(--accent);background:0 0;border:none;padding:0}button.danger{color:var(--bad);border-color:var(--bad);background:#fff}button.small,.btn.small{padding:3px 8px;font-size:12px}details>summary{cursor:pointer;color:var(--accent);font-size:13px}details[open]>summary{margin-bottom:8px}.auth{max-width:400px;margin:72px auto}.auth .card{padding:24px}.qr{border:1px solid var(--line);background:#fff;border-radius:6px;width:200px;height:200px;padding:8px}.stat{font-size:26px;font-weight:700}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.doc{border:1px solid var(--line);border-radius:var(--radius);background:#fff;max-width:820px;margin:0 auto;padding:40px 48px}.doc h1{font-size:24px}.doc h2{border-bottom:1px solid var(--line);margin-top:24px;padding-bottom:4px;font-size:16px}.doc table td.num,.doc table th.num{text-align:right;white-space:nowrap}.doc .total td{font-weight:700}@media print{body{background:#fff}.topbar,.no-print,.banner{display:none!important}main{max-width:none;padding:0}.doc{border:none;max-width:none;padding:0}a{color:inherit}}
