:root{--bg:#DCE6EE;--ink:#0A0A0A;--muted:#506070;--line:#BCCBD7;--c1:#fff;--c2:#ECF2F7;--field:#F3F7FA;--blue:#3FB6D6;--blue2:#1E9BC0;--blue3:#136F8D;--ok:#157A57;--warn:#9A5B00;--bad:#B3261E;--trough:#C9D6E0;--hd:'Archivo','Arial Narrow',Arial,sans-serif;--bd:'Public Sans',system-ui,Arial,sans-serif}
[data-theme=dark]{--bg:#0B1218;--ink:#EAF2F8;--muted:#9BAEBF;--line:#243543;--c1:#18232D;--c2:#111B24;--field:#0C141B;--ok:#4CC29A;--warn:#F0B14A;--bad:#FF8A80;--trough:#0A1015}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--bd);line-height:1.55}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
a{color:var(--blue2)}
header{background:linear-gradient(#2B2F33,#0A0A0A 60%);border-bottom:3px solid var(--blue);box-shadow:0 4px 14px rgba(0,0,0,.35)}
header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:14px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.plate{display:flex;align-items:center;background:linear-gradient(#fff,#E3EAF0);border-radius:12px;border:1px solid #B9C8D4;box-shadow:inset 0 1px 0 #fff,0 3px 0 #7E93A4,0 8px 16px rgba(0,0,0,.45);padding:5px 12px}
.plate img{display:block;height:58px;width:auto}.plate.big{padding:16px 24px;border-radius:18px}.plate.big img{height:170px}
nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
nav a{color:#C9D7E2;text-decoration:none;font-weight:600;font-size:14px;padding:8px 12px;border-radius:7px}
nav a:hover,nav a.on{background:#000;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.8)}
.tg{border:1px solid #3A444D;background:linear-gradient(#3A3F44,#0A0A0A);color:#fff;font:600 13px var(--bd);padding:8px 13px;border-radius:99px;cursor:pointer;margin-left:6px}
.btn{display:inline-block;border:1px solid var(--blue3);background:linear-gradient(#86D8EE,#2AA2C6);color:#04141F;font:700 15px var(--hd);padding:11px 20px;cursor:pointer;border-radius:8px;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 3px 0 var(--blue3),0 6px 10px rgba(0,0,0,.25)}
.btn:active{transform:translateY(3px);box-shadow:0 0 0 var(--blue3)}
.btn.dark{background:linear-gradient(#3A3F44,#0A0A0A);color:#fff;border-color:#000;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 3px 0 #000}
.btn.sm{padding:6px 12px;font-size:13px}
.hero{background:radial-gradient(900px 300px at 80% 0,rgba(63,182,214,.35),transparent 70%),linear-gradient(#15191D,#050505);color:#fff;padding:52px 0 46px}
.hg{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
@media(max-width:860px){.hg{grid-template-columns:1fr}.plate.big{display:none}}
.hero h1{font:800 clamp(32px,6vw,54px)/1.05 var(--hd);margin:0 0 14px;max-width:14em}.hero h1 em{font-style:normal;color:var(--blue)}
.hero p{color:#B7C7D4;font-size:18px;max-width:34em;margin:0 0 26px}
.search{display:flex;gap:8px;background:linear-gradient(#E4EBF1,#C4D1DC);padding:8px;border-radius:12px;max-width:640px;box-shadow:0 6px 0 #8FA3B3,0 12px 24px rgba(0,0,0,.5)}
.search input{flex:1;min-width:0;border:0;padding:14px 16px;font:500 17px var(--bd);color:#0A0A0A;background:#F7FAFC;border-radius:8px;box-shadow:inset 0 3px 6px rgba(0,0,0,.28);outline:none}
.card{background:linear-gradient(var(--c1),var(--c2));border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px rgba(10,30,50,.16);margin-bottom:20px}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:18px}
h2{font-family:var(--hd);margin:0 0 6px;font-size:26px}h3{font-family:var(--hd);margin:0 0 10px}
.muted,.head small{color:var(--muted);font-size:14px}.head small{display:block}
.badge{align-self:flex-start;font-weight:700;font-size:13px;padding:6px 13px;border-radius:99px;white-space:nowrap;color:#04141F;background:linear-gradient(#8FDCEF,#3FB6D6)}
.badge.ok{color:#fff;background:linear-gradient(#35B28A,#157A57)}
.route{display:flex;align-items:center;gap:12px;font-weight:600;font-size:15px}
.bar{flex:1;height:12px;background:var(--trough);border-radius:8px;position:relative;box-shadow:inset 0 2px 4px rgba(0,0,0,.4)}
.bar b{position:absolute;left:2px;top:2px;bottom:2px;min-width:8px;border-radius:6px;background:linear-gradient(#9CE3F3,#2AA8CC);box-shadow:0 0 8px rgba(63,182,214,.8)}
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:20px 0;padding:16px;background:var(--field);border-radius:10px;box-shadow:inset 0 2px 6px rgba(0,0,0,.18)}
.meta span{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
ol.tl{list-style:none;margin:0;padding:0}ol.tl li{position:relative;padding:0 0 20px 34px}
ol.tl li:before{content:"";position:absolute;left:7px;top:10px;bottom:-10px;width:4px;border-radius:2px;background:var(--trough)}ol.tl li:last-child:before{display:none}
ol.tl li:after{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#9FB2C2 60%,#6F8496);box-shadow:0 2px 3px rgba(0,0,0,.4)}
ol.tl li.now:after{background:radial-gradient(circle at 35% 30%,#E2F8FD,#3FB6D6 55%,#136F8D);box-shadow:0 0 0 3px rgba(63,182,214,.35)}
ol.tl h4{margin:0;font-size:16px}ol.tl p{margin:2px 0 0;color:var(--muted);font-size:14px}
.lock{font-size:11px;font-weight:700;color:#fff;background:#0A0A0A;border-radius:4px;padding:2px 7px;margin-left:8px}
.err{border-left:5px solid var(--bad)}.okb{border-left:5px solid var(--ok)}
.alert{padding:12px 16px;border-radius:10px;margin-bottom:16px;background:var(--field);font-weight:500}
.sec{padding:56px 0}.sec.alt{background:linear-gradient(var(--c1),var(--c2));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.g3 .card{margin:0}
label{display:block;font-size:13px;font-weight:600;margin:0 0 4px;color:var(--muted)}
input[type=text],input[type=password],input[type=date],select,textarea{width:100%;font:15px var(--bd);padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);box-shadow:inset 0 2px 5px rgba(0,0,0,.2)}
textarea{min-height:70px}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fg .full{grid-column:1/-1}
@media(max-width:600px){.fg{grid-template-columns:1fr}}
.auth{max-width:460px;margin:40px auto}
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px}.filters>div{min-width:150px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px}
.stat{background:linear-gradient(var(--c1),var(--c2));border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 6px 14px rgba(10,30,50,.14)}
.stat span{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.stat strong{font:800 32px var(--hd)}
.charts{display:grid;grid-template-columns:2fr 1fr;gap:20px}@media(max-width:800px){.charts{grid-template-columns:1fr}}
.cv{position:relative;height:260px}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
footer{background:linear-gradient(#15191D,#000);border-top:3px solid var(--blue);color:#B7C7D4;padding:24px 0;font-size:14px}
main.pg{padding:32px 0 48px}
