*{box-sizing:border-box}
html{min-height:100%;-webkit-text-size-adjust:100%}
body{margin:0;background:#f3f5f9;color:#182235;font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.sidebar{position:fixed!important;z-index:100;left:0;top:0;bottom:0;width:250px;background:#111c32!important;color:#fff!important;padding:24px 16px;display:flex!important;flex-direction:column;box-shadow:4px 0 18px #15233b20;overflow-y:auto}
.brand{display:block;color:#fff!important;text-decoration:none!important;font-weight:850;letter-spacing:.035em;font-size:17px;line-height:1.35;padding:5px 10px 26px}
.brand span{display:block;color:#9fb5d7;font-size:12px;letter-spacing:.18em;margin-top:3px}
.sidebar-caption{font-size:11px;color:#8295b4;font-weight:800;letter-spacing:.14em;padding:8px 12px 10px}
.side-nav{display:flex!important;flex-direction:column!important;gap:6px}
.side-nav a,.sidebar-bottom a{display:flex!important;align-items:center;gap:13px;color:#dbe5f5!important;text-decoration:none!important;padding:12px;border-radius:9px;font-weight:650;white-space:nowrap}
.side-nav a:hover,.sidebar-bottom a:hover{background:#263a5c;color:#fff!important}
.nav-icon{display:inline-flex;width:22px;justify-content:center;color:#b8c9e4;font-size:19px}
.sidebar-bottom{margin-top:auto;border-top:1px solid #31415c;padding-top:12px}
.wrap{max-width:1100px;margin:28px auto;padding:0 18px;min-height:55vh}
.wrap.with-sidebar{margin:28px 24px 28px 274px;max-width:1100px}
.sidebar-toggle{display:none!important}
.sidebar-backdrop{display:none}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.stat,.panel{background:#fff;border:1px solid #e1e6ef;border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 4px 18px #15233b08}
.stat span,.muted{color:#68758b}.stat strong{display:block;font-size:30px;margin-top:6px}
.panel h2{margin-top:0;font-size:19px}h1{font-size:27px}
.narrow{max-width:440px;margin:8vh auto}
label{display:block;font-weight:650;margin:12px 0}
input,textarea,select{display:block;width:100%;padding:11px 12px;margin-top:6px;border:1px solid #ccd5e2;border-radius:8px;font:inherit;background:#fff;color:#182235}
button:not(.sidebar-toggle){background:#173b72;color:#fff;border:0;padding:11px 17px;border-radius:8px;font-weight:700;cursor:pointer}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid #e8edf3;vertical-align:top}
.tablewrap{overflow:auto}
.notice{background:#eef5ff;border:1px solid #cfe0fb;color:#24466f;padding:12px;border-radius:9px;margin:12px 0}
.error{color:#a51d2d}.foot{text-align:center;color:#748096;padding:28px}
.panel form button{margin-top:6px}
@media(max-width:760px){
 .sidebar{width:280px;max-width:85vw;transform:translateX(-105%)!important;transition:transform .22s ease;visibility:hidden}
 body.sidebar-open .sidebar{transform:translateX(0)!important;visibility:visible}
 .sidebar-backdrop{display:block;position:fixed;inset:0;background:#07122580;z-index:90;opacity:0;visibility:hidden;transition:opacity .2s}
 body.sidebar-open .sidebar-backdrop{opacity:1;visibility:visible}
 .sidebar-toggle{display:flex!important;align-items:center;justify-content:flex-start;gap:10px;position:sticky;top:0;z-index:80;background:#111c32!important;color:#fff!important;border:0!important;border-radius:0!important;padding:15px 18px;width:100%;font-size:17px;font-weight:750}
 .wrap,.wrap.with-sidebar{margin:18px auto;padding:0 16px;min-height:55vh}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stat{padding:14px}.stat strong{font-size:24px}
 .foot{padding:22px 16px}
}
