:root{--bg:#f6f4f0;--card:#fff;--ink:#1c2233;--mut:#6b7185;--line:#e6e2da;--navy:#1a2238;--gold:#b8923a;--ok:#2e8b57;--warn:#d98e04;--bad:#c63d3d;--soft:#f0ece4;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
:root:not([data-theme="light"]){}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#12151f;--card:#1b2030;--ink:#eceae4;--mut:#9aa0b4;--line:#2b3247;--soft:#242a3d;--navy:#0d1019}}
:root[data-theme="dark"]{--bg:#12151f;--card:#1b2030;--ink:#eceae4;--mut:#9aa0b4;--line:#2b3247;--soft:#242a3d;--navy:#0d1019}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,system-ui,sans-serif}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;margin:0}
button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#app{display:flex;min-height:100vh}
aside{width:236px;background:var(--navy);color:#d9d6cc;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0;transition:.2s}
aside .brand{padding:20px 18px;border-bottom:1px solid #ffffff18}aside .brand b{font:700 22px 'Cormorant Garamond',serif;color:#fff;display:block}aside .brand span{font-size:11px;color:var(--gold)}
nav{flex:1;overflow:auto;padding:8px}nav a{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;color:#c5c2b8;text-decoration:none;cursor:pointer}nav a:hover{background:#ffffff0f}nav a.on{background:#ffffff16;color:#fff;box-shadow:inset 3px 0 var(--gold)}
.bdg{background:var(--gold);color:#1a1405;border-radius:99px;font-size:11px;padding:0 7px;font-weight:600}
.side-b{padding:12px 16px;border-top:1px solid #ffffff18;font-size:12px}.side-b select{width:100%;background:#ffffff12;border:0;border-radius:6px;padding:6px;color:#fff;margin-top:6px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:6px}
main{flex:1;min-width:0}
header{display:flex;gap:12px;align-items:center;padding:12px 24px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:5;flex-wrap:wrap}
header .t{flex:1;min-width:160px}header h1{font-size:26px}header small{color:var(--mut)}
.in{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 10px;min-width:0}
.btn{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 12px;cursor:pointer}.btn:hover{background:var(--soft)}
.btn.p{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.g{background:var(--gold);border-color:var(--gold);color:#1a1405;font-weight:600}.btn.s{padding:3px 8px;font-size:12px}.btn.d{color:var(--bad)}
#page{padding:24px;max-width:1400px}
.grid{display:grid;gap:16px}.k{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.c2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 1px 3px #1a223810}
.kpi small{color:var(--mut)}.kpi b{display:block;font:700 30px 'Cormorant Garamond',serif}.up{color:var(--ok);font-size:12px}.dn{color:var(--bad);font-size:12px}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:600;color:var(--mut);padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;font-size:12.5px}td{padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}tr:hover td{background:var(--soft)}
.tag{padding:2px 9px;border-radius:99px;font-size:12px;font-weight:500}.ok{background:#2e8b5720;color:var(--ok)}.warn{background:#d98e0422;color:var(--warn)}.bad{background:#c63d3d20;color:var(--bad)}.neu{background:var(--soft);color:var(--mut)}
.tb{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.tb .sp{flex:1}
.av{width:30px;height:30px;border-radius:50%;background:var(--navy);color:var(--gold);display:inline-grid;place-items:center;font-size:12px;font-weight:600;margin-right:8px;vertical-align:middle}
.bar{display:flex;align-items:flex-end;gap:10px;height:150px}.bar div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:11px;color:var(--mut);height:100%}.bar i{display:block;width:100%;background:var(--navy);border-radius:5px 5px 0 0;min-height:2px}.bar i.g{background:var(--gold)}
.ov{position:fixed;inset:0;background:#0009;display:grid;place-items:center;z-index:20;padding:16px}.md{background:var(--card);border-radius:14px;padding:22px;width:min(560px,100%);max-height:90vh;overflow:auto}
.f{display:grid;grid-template-columns:1fr 1fr;gap:12px}.f label{display:block;font-size:12px;color:var(--mut)}.f .in{width:100%;margin-top:3px}.f .err{color:var(--bad);font-size:11px}
#toast{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:30}#toast div{background:var(--navy);color:#fff;border-left:4px solid var(--gold);padding:10px 14px;border-radius:8px}
.flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.flow div{flex:1;min-width:130px;text-align:center}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal div{padding:8px 0;text-align:center;border-radius:6px;background:var(--soft);font-size:12px}
.steps{display:flex;gap:6px;margin-bottom:14px}.steps i{flex:1;height:5px;border-radius:3px;background:var(--line)}.steps i.on{background:var(--gold)}
#mb{display:none}.hid{display:none!important}.sbx,#bk2,#bd{display:none}aside .brand{position:relative}@media(max-width:860px){.sbx{display:block;position:absolute;right:12px;top:16px;background:#ffffff14;color:#fff;border:0;border-radius:8px;width:36px;height:36px;font-size:18px;cursor:pointer}#bk2.show{display:inline-block}#bd.on{display:block;position:fixed;inset:0;background:#0007;z-index:14}aside{width:260px}.btn,nav a{min-height:40px}}:root{color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark}}:root[data-theme="dark"]{color-scheme:dark}select option{background:var(--card);color:var(--ink)}a{color:var(--gold)}::placeholder{color:var(--mut);opacity:.8}.btn{color:var(--ink)}.btn.p{color:#fff}.btn.g{color:#1a1405}.btn.d{color:var(--bad)}#login{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:var(--navy);padding:16px;overflow:auto}#login .card{width:min(440px,100%)}#login label{font-size:12px;color:var(--mut);display:block}@media print{@page{size:A4;margin:14mm}
:root,:root[data-theme="dark"],:root:not([data-theme="light"]){--bg:#fff!important;--card:#fff!important;--ink:#111!important;--mut:#555!important;--line:#cfcfcf!important;--soft:#f4f2ed!important;color-scheme:light}
*{-webkit-print-color-adjust:exact;print-color-adjust:exact}
html,body{background:#fff!important;height:auto!important}
#app,#login,#toast,#bd,aside,header{display:none!important}
.ov{position:static!important;inset:auto!important;display:block!important;background:none!important;padding:0!important}
.md{width:100%!important;max-width:680px;margin:0 auto!important;max-height:none!important;overflow:visible!important;box-shadow:none!important;border:1px solid #bdbdbd;border-radius:0;padding:28px 32px;color:#111}
.md .tb,.md button,.md .btn{display:none!important}
.md table{width:100%}.md td{padding:10px 8px;border-bottom:1px solid #d9d9d9}.md tr:hover td{background:none}
.md .emb{filter:none}}
@media(max-width:860px){aside{position:fixed;left:-250px;z-index:15;height:100%}aside.open{left:0}#mb{display:inline-block}#page{padding:14px}.f{grid-template-columns:1fr}header{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.emb{filter:drop-shadow(-1px -1px 0 rgba(255,255,255,.7)) drop-shadow(1px 2px 1px rgba(60,40,0,.45)) drop-shadow(0 4px 5px rgba(0,0,0,.22))}
.plate{display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:linear-gradient(145deg,#fffefa,#e4ddcd);box-shadow:5px 6px 12px rgba(0,0,0,.38),-3px -3px 8px rgba(255,255,255,.14),inset 2px 2px 3px rgba(255,255,255,.95),inset -3px -3px 5px rgba(130,105,55,.28)}
.plate img{display:block;width:78%;height:auto}.plate.lg{width:132px;height:132px;margin:0 auto 10px}.plate.sm{width:54px;height:54px}
aside .brand{display:flex;align-items:center;gap:12px}aside .brand>div:not(.plate){min-width:0}aside .brand span{white-space:nowrap}@media(max-width:860px){aside .brand{padding-right:60px}}
#login h1{text-align:center}#login .tag-l{text-align:center;margin:0 0 16px;color:var(--mut)}

/* Phones: grid items may shrink below their content (wide tables scroll inside .tw instead of widening the page). */
.grid>*{min-width:0}.tw{overflow-x:auto;max-width:100%}.bar>div{min-width:0}.md{max-width:calc(100vw - 24px)}
.ico{vertical-align:-.15em}
