*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f4f6f9;color:#1f2933;font-size:15px}
a{color:#1b5fa8}
.top{background:#1b3a5c;color:#fff;padding:10px 16px;display:flex;align-items:center;gap:12px}
.top .who{margin-left:auto;font-size:13px}.top a{color:#ffd37a}
.burger{display:none;background:none;border:0;color:#fff;font-size:22px}
.layout{display:flex;min-height:calc(100vh - 46px)}
.side{width:220px;background:#fff;border-right:1px solid #dde3ea;padding:10px 0;flex-shrink:0}
.side a{display:block;padding:9px 16px;text-decoration:none;color:#1f2933}
.side a:hover{background:#eef3f9}.side a.on{background:#1b3a5c;color:#fff}
.extname{padding:6px 16px 10px;font-weight:700;color:#1b3a5c}
.extswitch{padding:6px 12px}.extswitch select{width:100%}
main{flex:1;padding:18px;min-width:0}
h1{margin:0 0 14px;font-size:22px;color:#1b3a5c}h2{font-size:17px;margin:22px 0 8px;color:#1b3a5c}
.card{background:#fff;border:1px solid #dde3ea;border-radius:8px;padding:14px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.stat{background:#fff;border:1px solid #dde3ea;border-radius:8px;padding:12px}.stat b{display:block;font-size:24px;color:#1b3a5c}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:7px 9px;border-bottom:1px solid #e6ebf0;text-align:left;vertical-align:top}
th{background:#eef3f9;font-size:13px}
.tw{overflow-x:auto}
label{display:block;font-size:13px;margin:8px 0 3px;color:#52606d}
input,select,textarea{width:100%;padding:8px;border:1px solid #c5cdd6;border-radius:6px;font:inherit;background:#fff}
input[type=checkbox]{width:auto}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.btn,button.btn{display:inline-block;background:#1b5fa8;color:#fff;border:0;border-radius:6px;padding:8px 14px;cursor:pointer;text-decoration:none;font:inherit}
.btn.sec{background:#6b7885}.btn.red{background:#b3261e}.btn.sm{padding:4px 9px;font-size:13px}
.flash{padding:10px 14px;border-radius:6px;margin-bottom:14px}.flash.ok{background:#e3f6e8;color:#14532d}.flash.err{background:#fde8e8;color:#8a1c1c}
.tag{display:inline-block;background:#e6eef8;border-radius:10px;padding:1px 8px;font-size:12px}
.warn{background:#fff6dd;border:1px solid #f0d78a;border-radius:6px;padding:9px 12px;margin-bottom:12px}
.tabs a{display:inline-block;padding:7px 14px;background:#e6eef8;border-radius:6px 6px 0 0;text-decoration:none;margin-right:3px}.tabs a.on{background:#1b5fa8;color:#fff}
.msg{border-left:4px solid #1b5fa8;background:#fff;padding:9px 12px;margin-bottom:9px;border-radius:4px}.msg small{color:#66727f}
.center{max-width:420px;margin:8vh auto;padding:0 14px}
@media(max-width:760px){.burger{display:block}.side{display:none;position:absolute;z-index:5;height:100%}body.nav-open .side{display:block}.top .who{font-size:11px}}
@media print{.top,.side,.noprint,.btn,form{display:none!important}main{padding:0}.card{border:0}}
