:root{--navy:#1E2488;--yellow:#FFEF00;--sky:#0A8FCB;--bg:#F3F5FB;--line:#E1E5F0;--txt:#1b1f3a;--mut:#667}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--txt)}
a{color:var(--sky)}
.side{position:fixed;inset:0 auto 0 0;width:236px;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:16px 12px;z-index:20;overflow:auto}
.brand{display:flex;gap:10px;align-items:center;padding:4px 6px 16px;border-bottom:1px solid rgba(255,255,255,.15)}
.brand img{width:44px;height:48px;object-fit:contain}.brand b{display:block;font-size:14px}.brand small{opacity:.7}
.side nav{display:flex;flex-direction:column;gap:2px;margin:14px 0;flex:1}
.side nav a{color:#fff;text-decoration:none;padding:9px 12px;border-radius:9px;opacity:.85}
.side nav a:hover{background:rgba(255,255,255,.1)}
.side nav a.on{background:var(--yellow);color:var(--navy);font-weight:700;opacity:1}
.who{border-top:1px solid rgba(255,255,255,.15);padding-top:12px;font-size:13px}.who small{display:block;opacity:.7;text-transform:capitalize}
.who a{color:var(--yellow);display:inline-block;margin-top:6px}
.burger{display:none;position:fixed;top:10px;left:10px;z-index:30;background:var(--navy);color:#fff;border:0;border-radius:8px;font-size:20px;padding:6px 12px}
.main{margin-left:236px;padding:26px 28px;max-width:1200px}.main.solo{margin:0 auto;max-width:420px;padding-top:9vh}
h1{margin:0 0 4px;font-size:24px;color:var(--navy)}h2{font-size:17px;margin:0 0 12px;color:var(--navy)}
.sub{color:var(--mut);margin:0 0 18px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(30,36,136,.05)}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:16px}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.stat b{display:block;font-size:26px;color:var(--navy)}.stat span{color:var(--mut);font-size:13px}
table{width:100%;border-collapse:collapse}th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}
.scroll{overflow-x:auto}
label{display:block;font-size:13px;font-weight:600;margin:10px 0 4px}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid #cfd5e6;border-radius:9px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--sky);border-color:var(--sky)}
.row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.btn{display:inline-block;background:var(--navy);color:#fff;border:0;border-radius:9px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.15)}.btn.y{background:var(--yellow);color:var(--navy)}.btn.g{background:#fff;color:var(--navy);border:1px solid #cfd5e6}
.btn.r{background:#c0392b}.btn.s{padding:5px 10px;font-size:13px}
.flash{padding:10px 14px;border-radius:10px;margin-bottom:14px;background:#e6f6ec;color:#17623a}.flash.err{background:#fde8e6;color:#8c2118}
.tag{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:600;background:#e8ebf8;color:var(--navy)}
.tag.ok{background:#e0f5e8;color:#17623a}.tag.warn{background:#fff6c2;color:#7a6500}.tag.bad{background:#fde8e6;color:#8c2118}
.bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.bar form{display:flex;gap:8px;flex-wrap:wrap}.bar select,.bar input{width:auto}
.mut{color:var(--mut)}.right{text-align:right}.inline{display:inline}
.thumb{width:64px;height:48px;object-fit:cover;border-radius:6px}
.logo-login{display:block;margin:0 auto 12px;width:120px}
@media(max-width:820px){.side{transform:translateX(-100%);transition:.2s}.side.open{transform:none}.burger{display:block}.main{margin:0;padding:56px 14px 20px}}
@media print{.side,.burger,.bar,.btn,form{display:none!important}.main{margin:0;padding:0}.card{box-shadow:none;border:0}}
