@font-face{font-family:Barlow;font-weight:400;font-display:swap;src:url(/fonts/barlow-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Barlow;font-weight:600;font-display:swap;src:url(/fonts/barlow-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:800;font-display:swap;src:url(/fonts/barlow-condensed-latin-800-normal.woff2) format('woff2')}
:root{color-scheme:light;--bg:#f7f9fd;--card:#fff;--ink:#14213a;--mute:#5a6780;--line:#d6dce8;--brand:#17488a;--brand-dk:#0b2347;--brand-ink:#fff;--accent:#e0a526;--ok:#23783f;--warn:#b26a00;--err:#b3261e;--soft:#e6ecf6;--shadow:0 1px 2px rgba(15,47,87,.08),0 8px 22px -10px rgba(15,47,87,.22)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);background-image:repeating-linear-gradient(0deg,transparent 0 31px,color-mix(in srgb,var(--brand) 3.5%,transparent) 31px 32px);color:var(--ink);font:16px/1.45 Barlow,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
h1,h2,h3{margin:0;line-height:1.2}h2{font-family:'Barlow Condensed',Barlow,sans-serif;font-weight:800;font-size:1.35rem;letter-spacing:.02em;color:var(--brand);text-transform:uppercase}h3{font-size:1.02rem}
a{color:var(--brand)}button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
header.top{position:relative;background:linear-gradient(115deg,#fff 30%,#dfeafa 100%);color:var(--brand-dk);padding:14px 0 16px;overflow:hidden;border-bottom:4px solid var(--accent)}
header.top::before{content:"";position:absolute;inset:0;opacity:.45;background:url(/office.svg) right bottom/auto 100% no-repeat}
header.top.hero::before{opacity:.95;background-size:auto 96%;background-position:right 10px bottom}
header.top .wrap{position:relative;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
header.top .logo{background:#fff;border-radius:14px;padding:5px 7px;display:flex;border:1px solid var(--line);box-shadow:0 2px 10px rgba(15,47,87,.15)}header.top .logo img{height:54px;display:block}
header.top .titles{flex:1;min-width:210px}
header.top small{display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
header.top h1{color:var(--brand);font-family:'Barlow Condensed',Barlow,sans-serif;font-weight:800;font-size:1.75rem;letter-spacing:.03em;text-transform:uppercase;margin-top:2px}
header.top.hero{padding:34px 0 38px}header.top.hero .logo img{height:78px}header.top.hero h1{font-size:2rem}
header.top .who{font-size:.85rem;text-align:right}header.top .who b{display:block;font-size:.95rem}
header.top button{background:#fff;color:var(--brand);border:1px solid var(--line);padding:7px 14px;border-radius:999px;cursor:pointer;font-size:.85rem}header.top button:hover{background:var(--soft)}
header.top select{width:auto;background:#fff;color:var(--brand);border:1px solid var(--line);border-radius:999px;padding:6px 10px}
.chip{display:inline-block;background:var(--accent);color:#2b1c00;border-radius:999px;padding:2px 11px;font-weight:700;font-size:.82rem;letter-spacing:.04em}
.ro{background:#fff3cd;color:#664d03;border-radius:10px;padding:8px 12px;margin:0 0 12px;font-size:.9rem}
nav.tabs{display:flex;gap:2px;overflow-x:auto;padding:10px 0 0;border-bottom:1px solid var(--line);margin-bottom:16px;scrollbar-width:thin}
nav.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 13px;cursor:pointer;white-space:nowrap;color:var(--mute);font-weight:600}
nav.tabs button[aria-selected=true]{color:var(--brand);border-color:var(--accent)}nav.tabs button:hover{color:var(--brand)}
main{padding-bottom:50px}
.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--brand),var(--accent))}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.sp{justify-content:space-between}.grow{flex:1}
.mute{color:var(--mute);font-size:.9rem}.sm{font-size:.85rem}
label.f{display:block;font-size:.85rem;color:var(--mute);margin:10px 0 4px}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card)}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:0}
.row input,.row select{width:auto}input[type=checkbox]{width:auto}
.btn{background:var(--brand);color:var(--brand-ink);border:0;padding:9px 16px;border-radius:999px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-block}
.btn:hover{filter:brightness(1.1)}.btn.sec{background:var(--soft);color:var(--brand)}.btn.danger{background:var(--err);color:#fff}.btn.sm{padding:5px 12px;font-size:.85rem}.btn[disabled]{opacity:.5;cursor:default}
.alert{padding:10px 12px;border-radius:10px;margin:10px 0;font-size:.92rem}.alert.err{background:#fde7e5;color:#7a1a14}.alert.ok{background:#e1f3e6;color:#17542a}.alert.warn{background:#fff3cd;color:#664d03}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}
.kpi b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:2.1rem;line-height:1;color:var(--brand)}.kpi span{font-size:.82rem;color:var(--mute)}.kpi.bad b{color:var(--err)}.kpi.good b{color:var(--ok)}
.bars{display:grid;gap:7px}.bar{display:grid;grid-template-columns:150px 1fr 90px;gap:8px;align-items:center;font-size:.9rem}
.bar i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--brand),var(--accent));min-width:2px}.bar .track{background:var(--soft);border-radius:6px;overflow:hidden}.bar.over i{background:var(--err)}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%}
th,td{padding:8px 9px;border-bottom:1px solid var(--line);text-align:left;font-size:.92rem;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);background:var(--soft);white-space:nowrap}
tr.click{cursor:pointer}tr.click:hover td{background:color-mix(in srgb,var(--accent) 12%,transparent)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.tag{display:inline-block;border-radius:999px;padding:1px 9px;font-size:.76rem;font-weight:600;background:var(--soft);color:var(--brand)}.tag.ok{background:#e1f3e6;color:#17542a}.tag.off{background:#eceff3;color:#5a6780}.tag.warn{background:#fff3cd;color:#664d03}
.serie-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.serie-code{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.9rem;color:var(--brand);min-width:2.6rem}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}
.pager{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:10px}
ul.src{margin:6px 0 0;padding-left:20px}ul.src li{margin:3px 0}
dialog{border:0;border-radius:16px;padding:0;max-width:min(680px,94vw);width:100%;background:var(--card);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(7,16,34,.55)}
dialog .box{padding:20px 22px;max-height:88vh;overflow:auto}dialog h2{margin-bottom:6px}
.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media(max-width:700px){header.top::before{opacity:.18}header.top.hero::before{opacity:.5}}
@media(max-width:560px){.cols2{grid-template-columns:1fr}.bar{grid-template-columns:90px 1fr 70px}header.top h1{font-size:1.35rem}}
#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(30px);background:var(--brand-dk);color:#fff;padding:10px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:99;max-width:90vw}#toast.show{opacity:1;transform:translateX(-50%)}
.login{max-width:410px;margin:-26px auto 0;position:relative}.loading{padding:40px;text-align:center;color:var(--mute)}
footer.foot{text-align:center;color:var(--mute);font-size:.8rem;padding:6px 16px 30px}
.print-only{display:none}
@media print{header.top,nav.tabs,.no-print,footer.foot,#toast{display:none!important}body{background:#fff;color:#000}.card{box-shadow:none;break-inside:avoid;border-color:#999}.print-only{display:block}}
dialog .actions{position:sticky;bottom:-20px;background:var(--card);padding:10px 0 4px;margin-bottom:-4px}
.card>h3:first-child{margin-bottom:8px}

.bars.wide .bar{grid-template-columns:150px 1fr 150px}@media(max-width:560px){.bars.wide .bar{grid-template-columns:80px 1fr 118px}}
nav.tabs button{padding:10px 11px}
