:root{--primary:#0056b3;--primary-dark:#004494;--dark:#0a192f;--bg:#f4f7fa;--text:#1e293b;--muted:#64748b;--line:#e2e8f0;--ok:#2e7d32;--warn:#e68a00;--bad:#c62828;
--sh-sm:0 4px 6px -1px rgba(0,0,0,.05);--sh-md:0 10px 15px -3px rgba(0,0,0,.08)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
h1,h2,h3{font-family:'Rajdhani',sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--dark);font-weight:700}
a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
header.top{background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--sh-sm);position:sticky;top:0;z-index:10}
header.top .wrap{display:flex;align-items:center;gap:28px;height:76px}
header.top img{height:56px;width:auto;display:block}
nav.main{display:flex;gap:26px;flex:1}
nav.main a{color:var(--text);font-weight:500;font-size:.95rem;padding:4px 0;border-bottom:2px solid transparent}
nav.main a.active,nav.main a:hover{color:var(--primary);border-color:var(--primary)}
nav.main span.soon{color:#a0aec0;font-size:.95rem;cursor:default}
.user{display:flex;align-items:center;gap:14px;font-size:.88rem;color:var(--muted)}
.user form{display:inline}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 22px;border-radius:6px;border:0;background:var(--primary);color:#fff;font:600 .95rem 'Inter',sans-serif;cursor:pointer;transition:all .3s ease}
.btn:hover{background:var(--primary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,86,179,.2)}
.btn.out{background:transparent;border:2px solid var(--primary);color:var(--primary);padding:6px 16px}
.btn.out:hover{background:var(--primary);color:#fff}
main{padding:32px 0 56px}
main h1{font-size:1.9rem;margin-bottom:4px}
.sub{color:var(--muted);margin-bottom:24px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:28px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:var(--sh-sm)}
.card .n{font-family:'Rajdhani',sans-serif;font-size:2.4rem;font-weight:700;color:var(--primary);line-height:1}
.card .l{color:var(--muted);font-size:.9rem;margin-top:6px}
.card.bad .n{color:var(--bad)}.card.warn .n{color:var(--warn)}
.panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh-sm);overflow:hidden}
.panel h2{background:var(--dark);color:#fff;font-size:1rem;padding:12px 20px}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:11px 20px;border-bottom:1px solid var(--line);font-size:.93rem}
th{background:var(--bg);color:var(--dark)}
tr:last-child td{border-bottom:0}
.tag{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.8rem;font-weight:600}
.tag.bad{background:#fdecec;color:var(--bad)}.tag.warn{background:#fff3dc;color:#a55f00}.tag.ok{background:#e8f5ec;color:var(--ok)}
.empty{padding:28px 20px;color:var(--muted)}
/* вход / установка пароля */
body.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(160deg,var(--dark) 0%,#12305c 60%,var(--primary) 100%)}
.box{background:#fff;border-radius:12px;box-shadow:var(--sh-md),0 20px 50px rgba(0,0,0,.25);width:100%;max-width:400px;padding:32px 28px}
.box .brand{text-align:center;margin-bottom:18px}
.box .brand img{height:84px}
.box .brand div{font-family:'Rajdhani',sans-serif;font-size:1.3rem;font-weight:700;color:var(--primary);text-transform:uppercase}
.box label{display:block;font-weight:600;font-size:.88rem;margin:14px 0 5px}
.box input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;font:1rem 'Inter',sans-serif}
.box input:focus{outline:2px solid rgba(0,86,179,.18);border-color:var(--primary)}
.box .btn{width:100%;margin-top:22px;padding:13px}
.err{background:#fdecec;color:var(--bad);border-radius:6px;padding:10px 12px;margin-top:14px;font-size:.9rem}
.hint{color:var(--muted);font-size:.8rem;margin-top:4px}
@media(max-width:720px){header.top .wrap{flex-wrap:wrap;height:auto;padding:10px 24px;gap:10px}nav.main{order:3;width:100%;gap:18px;overflow-x:auto}th,td{padding:9px 12px}}
.muted{color:var(--muted);font-size:.82rem}
.headrow{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn.sm{padding:4px 12px;font-size:.82rem}
a.card{display:block;color:inherit}a.card:hover{box-shadow:var(--sh-md);transform:translateY(-1px);transition:all .2s}
.tw{overflow-x:auto}
.tag+.tag{margin-left:6px}
.mstrip{display:flex;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.mchip{padding:6px 14px;border-radius:20px;font-size:.88rem;color:var(--text)}
.mchip b{font-family:'Rajdhani',sans-serif;font-size:1.2rem;margin-right:4px}
.mchip.bad{background:#fdecec;color:var(--bad)}.mchip.warn{background:#fff3dc;color:#a55f00}.mchip.ok{background:#e8f5ec;color:var(--ok)}
.flash{padding:12px 16px;border-radius:8px;margin-bottom:18px;font-size:.93rem;background:#e8f5ec;color:var(--ok);border:1px solid #cfe8d5}
.flash.error{background:#fdecec;color:var(--bad);border-color:#f3c9c9}
.formbox{padding:24px;max-width:760px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
.fld.wide{grid-column:1/-1}
.fld label{display:block;font-weight:600;font-size:.88rem;margin:12px 0 5px}
.fld input,.fld select,.fld textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font:1rem 'Inter',sans-serif;background:#fff}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid rgba(0,86,179,.18);border-color:var(--primary)}
.ferr{color:var(--bad);font-size:.82rem;margin-top:4px}
button.lnk{background:none;border:0;color:var(--muted);cursor:pointer;font:.82rem 'Inter',sans-serif;text-decoration:underline}
button.lnk:hover{color:var(--bad)}
@media(max-width:720px){.grid2{grid-template-columns:1fr}}
