@font-face{font-family:'Plus Jakarta Sans';font-weight:400 500;font-display:swap;src:url(../../fonts/PlusJakartaSans-Medium.ttf) format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:600 700;font-display:swap;src:url(../../fonts/PlusJakartaSans-Bold.ttf) format('truetype')}
:root{--navy:#0A1733;--blue:#0052CC;--light:#EEF3FF;--muted:#52607A;--line:#D5DEEE;--bg:#F3F6FC;--green:#16C784;--warn:#C0341D;--orange:#FF8A00}
*{box-sizing:border-box}
body{margin:0;font-family:'Plus Jakarta Sans',system-ui,Arial,sans-serif;font-size:14px;color:var(--navy);background:var(--bg)}
header{background:var(--navy);color:#fff;display:flex;align-items:center;gap:14px;padding:10px 20px;flex-wrap:wrap}
header img{height:30px}header .brand{font-weight:700;font-size:18px}header .sp{flex:1}
header select,header button{width:auto;background:#132B5C;color:#fff;border:1px solid #213562;border-radius:8px;padding:6px 10px;font:inherit}
nav{background:#fff;border-bottom:1px solid var(--line);display:flex;gap:2px;padding:0 16px;overflow-x:auto}
nav a{padding:12px 14px;color:var(--muted);text-decoration:none;font-weight:500;border-bottom:3px solid transparent;white-space:nowrap;cursor:pointer}
nav a.on{color:var(--blue);border-color:var(--blue)}
main{padding:20px;max-width:1400px;margin:auto}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}
h2{margin:0 0 12px;font-size:18px}h3{font-size:15px;margin:14px 0 8px}
.btn{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer}
.btn.sec{background:var(--light);color:var(--blue)}.btn.warn{background:var(--warn)}.btn.green{background:var(--green)}
.btn:disabled{opacity:.5;cursor:not-allowed}
input,select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:7px;width:100%;background:#fff;color:var(--navy)}
label{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-bottom:3px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
th{background:var(--light);font-weight:600;font-size:12px;position:sticky;top:0}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
table.inp input{padding:4px 6px;min-width:76px;text-align:right}
.scroll{overflow:auto;max-height:70vh}
.row{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.row>*{flex:0 0 auto}
.tag{display:inline-block;padding:1px 8px;border-radius:99px;font-size:11px;font-weight:600;background:var(--light);color:var(--blue)}
.tag.m{background:#FFEFD9;color:#A85400}.tag.f{background:#DDF7EC;color:#0A7A50}
.note{background:#FFF8E6;border:1px solid #F5D78A;border-radius:8px;padding:10px 12px;font-size:12.5px;margin:10px 0}
.err{color:var(--warn);font-weight:600}.muted{color:var(--muted)}
.login{max-width:380px;margin:60px auto}
dialog{border:0;border-radius:12px;padding:20px;max-width:900px;width:95vw}dialog::backdrop{background:#0B1F4488}
.doc{background:#fff;color:#000;padding:24px;max-width:800px;margin:0 auto 20px;border:1px solid var(--line);font-size:12.5px;page-break-after:always}
.doc h1{font-size:16px;margin:0}.doc table td,.doc table th{border:1px solid #999;padding:4px 6px}.doc th{background:#eee;position:static}
.doc .hdr{display:flex;justify-content:space-between;border-bottom:3px solid var(--navy);padding-bottom:8px;margin-bottom:10px}
#print{display:none}
@media print{body{background:#fff}body>*:not(#print){display:none!important}#print{display:block!important}.doc{border:0;margin:0;max-width:none}}

header a.home{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px}header a.app{color:#fff;opacity:.8;text-decoration:none;font-size:13px}
#langs{display:inline-flex;gap:4px}header #langs button.on{background:#fff;color:#0052CC;border-color:#fff}
