:root{--bg:#f6f6f4;--surface:#fff;--text:#1d1d1b;--muted:#6b6b66;--line:#e3e3de;--accent:#2457c5;--accent-text:#fff;--danger:#b3261e;--ok:#1e7a3c;--warn:#9a6400}@media (prefers-color-scheme:dark){:root{--bg:#151514;--surface:#1f1f1d;--text:#ececea;--muted:#a2a29c;--line:#34342f;--accent:#6d95ff;--accent-text:#0d0d0c;--danger:#ff8a80;--ok:#6fd08c;--warn:#f0b84c}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}header.top{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;padding:12px 16px;display:flex}header.top strong{margin-right:auto}header.top nav{gap:16px;display:flex}header.top nav a{color:var(--text);text-decoration:none}main{max-width:1040px;margin:0 auto;padding:20px 16px 60px}h1{margin:0 0 16px;font-size:1.5rem}.bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.bar h1{margin:0 auto 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:16px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}th{color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:600}td.num,th.num{text-align:right;white-space:nowrap}.table-wrap{overflow-x:auto}label{color:var(--muted);margin:10px 0 4px;font-size:.85rem;display:block}input,select,textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:6px;padding:8px 10px}textarea{min-height:70px}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px;display:grid}button,.btn{border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);font:inherit;cursor:pointer;border-radius:6px;padding:8px 14px;text-decoration:none;display:inline-block}button.ghost,.btn.ghost{color:var(--accent);background:0 0}button.danger{color:var(--danger);border-color:var(--danger);background:0 0}button:disabled{opacity:.5;cursor:default}.muted{color:var(--muted)}.err{color:var(--danger)}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tabs a{border:1px solid var(--line);color:var(--text);border-radius:999px;padding:4px 12px;text-decoration:none}.tabs a.on{background:var(--text);color:var(--bg);border-color:var(--text)}.badge{white-space:nowrap;border:1px solid;border-radius:999px;padding:2px 8px;font-size:.75rem}.badge.draft{color:var(--muted)}.badge.sent{color:var(--accent)}.badge.accepted{color:var(--ok)}.badge.rejected{color:var(--danger)}.totals{max-width:320px;margin-left:auto}.totals div{justify-content:space-between;padding:3px 0;display:flex}.totals .grand{border-top:1px solid var(--line);margin-top:4px;padding-top:6px;font-size:1.1rem;font-weight:700}.lines input,.lines select{min-width:70px;padding:6px}.doc{color:#111;background:#fff}.doc .head{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}@media print{header.top,.no-print{display:none!important}body,main{color:#111;background:#fff;max-width:none;padding:0}.card{border:0;padding:0}}.login{place-items:center;min-height:100dvh;padding:16px;display:grid}.login .card{width:100%;max-width:360px;margin:0;padding:28px 24px}.login h1{text-align:center;margin-bottom:4px}.login p.muted{text-align:center;margin:0 0 12px}header.top form{margin:0}.brand{align-items:center;gap:8px;display:flex}.brand img{object-fit:contain;width:auto;max-width:120px;height:28px}.login-logo{object-fit:contain;max-width:200px;max-height:72px;margin:0 auto 12px;display:block}.doc .issuer{align-items:flex-start;gap:14px;display:flex}.doc .issuer img{object-fit:contain;max-width:160px;max-height:80px}.logo-preview{object-fit:contain;max-width:200px;max-height:80px;margin:6px 0;display:block}.sheet{--brand:#2152a5;color:#222;background:#fff;flex-direction:column;width:100%;max-width:210mm;min-height:297mm;margin:0 auto 16px;font:14px/1.35 Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 6px #0000001f}.sheet .watermark{opacity:.06;pointer-events:none;filter:grayscale();width:75%;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.sheet-body{flex-direction:column;flex:1;padding:12mm 10mm 8mm;display:flex;position:relative}.sheet-head{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.sheet-brand img{object-fit:contain;max-width:330px;max-height:110px;display:block}.sheet-name{color:var(--brand);font-size:2.2rem;font-weight:800}.sheet-tagline{color:var(--brand);margin-top:2px;font-weight:700}.sheet-title{color:var(--brand);text-align:center;font-size:1.15rem;font-weight:700;text-decoration:underline}.sheet dl{grid-template-columns:auto auto;align-content:start;gap:1px 6px;margin:4px 0 0;display:grid}.sheet dt{text-align:right;font-weight:700}.sheet dd{margin:0}.sheet-parties{flex-wrap:wrap;justify-content:space-between;gap:16px;margin:28px 0 32px;display:flex}.sheet-issuer{text-transform:uppercase;font-size:1.05rem;font-weight:700}.sheet-lines{border-collapse:separate;border-spacing:0;width:calc(100% + 10mm);margin-left:-10mm}.sheet-lines thead tr{background:var(--brand)}.sheet-lines th{background:var(--brand);box-shadow:0 0 0 .5px var(--brand);color:#fff;text-transform:none;border:0;padding:12px 14px 12px 10mm;font-size:1.05rem}.sheet-lines th:last-child{border-top-right-radius:18px}.sheet-lines th.c,.sheet-lines td.c{text-align:center;white-space:nowrap;padding-left:6px}.sheet-lines td{border:0;padding:18px 6px 10px 10mm}.sheet-lines td strong{font-size:1.05rem}.sheet-lines .detail{white-space:pre-wrap;margin-top:8px;font-size:.9rem}.sheet-bottom{align-items:stretch;gap:20px;margin-top:auto;padding-top:24px;display:flex}.sheet-terms{flex:1;align-self:flex-end;padding-bottom:20px}.sheet-terms h3{color:var(--brand);margin:0 0 6px;font-size:1rem}.sheet-rule{background:var(--brand);width:1.5px;min-height:220px}.sheet-totals{border-collapse:collapse;align-self:flex-start;width:auto;margin-top:50px}.sheet-totals td{border:1px solid #222;min-width:110px;padding:2px 10px;font-size:1rem}.sheet-totals td:first-child{letter-spacing:.06em;min-width:130px}.sheet-footer{background:var(--brand);color:#fff;text-align:center;white-space:pre-line;padding:12px 6mm;font-size:.82rem;font-weight:700}@media (max-width:640px){.sheet{min-height:0;font-size:12px}.sheet-bottom{flex-wrap:wrap}.sheet-rule{display:none}}@media print{@page{size:A4;margin:0}.sheet{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:210mm;height:297mm;min-height:0;margin:0}}
