*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f3f6fd;color:#222}
.top{position:fixed;top:0;left:0;right:0;height:64px;background:#fff;box-shadow:0 2px 10px #0001;display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:10}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:#2b3480}.brand img{height:42px}
.burger{display:none;border:0;background:none;font-size:26px;cursor:pointer}
.side{position:fixed;top:64px;bottom:0;left:0;width:240px;background:#fff;padding:14px 10px;overflow:auto}
.side a{display:flex;align-items:center;gap:14px;padding:12px 14px;margin-bottom:4px;border-radius:8px;color:#6b7280;text-decoration:none;font-weight:500}
.side a i{font-style:normal;width:20px;text-align:center}.side a.active,.side a:hover{background:#cc2b1d;color:#fff}
main{margin:64px 0 0 240px;padding:24px}.card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 2px 8px #0001}
h2{margin-top:0}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #eee;text-align:left;font-size:14px}
th{background:#fafbff}.tw{overflow-x:auto}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid #ccd;border-radius:6px;font-size:14px;font-family:inherit}
label{display:block;font-size:13px;font-weight:600;margin:12px 0 4px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.btn{display:inline-block;padding:9px 16px;border:0;border-radius:6px;background:#cc2b1d;color:#fff;text-decoration:none;cursor:pointer;font-size:14px}
.btn.sec{background:#2b3480}.btn.grey{background:#777}.btn.sm{padding:5px 10px;font-size:12px}
.alert{background:#e8f7ec;border:1px solid #9bd5a9;padding:10px;border-radius:6px;margin-bottom:14px}.err{background:#fde8e6;border-color:#f0a59d}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}
.stat{background:#f3f6fd;border-radius:12px;padding:16px}.stat b{display:block;font-size:26px;color:#cc2b1d}
form.inline{display:inline}.right{text-align:right}.mt{margin-top:16px}
@media(max-width:800px){.burger{display:block}.side{transform:translateX(-100%);transition:.2s;z-index:9}body.open .side{transform:none}main{margin-left:0;padding:14px}}
@media print{.top,.side,.noprint{display:none!important}main{margin:0;padding:0}.card{box-shadow:none}}
