*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#1d2940;font:15px/1.5 system-ui,-apple-system,Segoe UI,Arial,sans-serif}.topbar{height:72px;background:#071d62;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:4;box-shadow:0 3px 14px #06194a25}.brand{display:flex;align-items:center;gap:12px}.brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:50%}.brand b{display:block;letter-spacing:.4px}.brand small{display:block;color:#d5dcf4}.top-right{display:flex;align-items:center;gap:16px;font-size:13px}.layout{display:flex;min-height:calc(100vh - 72px)}.sidebar{width:245px;background:#fff;border-right:1px solid #e5eaf2;padding:22px 14px;flex-shrink:0}.sidebar a{display:block;text-decoration:none;color:#42516b;padding:10px 13px;border-radius:9px;margin:3px 0;font-weight:550}.sidebar a:hover,.sidebar a.active{background:#eaf0ff;color:#082879}.side-label{font-size:10px;letter-spacing:1.2px;color:#94a0b5;font-weight:800;padding:18px 12px 5px}.content{padding:28px;max-width:1500px;width:100%;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.page-head h1{font-size:26px;margin:0;color:#10265d}.page-head p{margin:4px 0 0;color:#7a879b}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat,.panel{background:#fff;border:1px solid #e8edf5;border-radius:13px;box-shadow:0 4px 15px #18305a08}.stat{padding:20px}.stat span,.stat small{display:block;color:#77849a}.stat b{display:block;font-size:32px;color:#10265d;margin:7px 0}.stat b.year{font-size:22px}.panel{padding:20px;margin-bottom:20px}.panel-title{display:flex;justify-content:space-between;align-items:center}.panel h2{font-size:18px;margin:0 0 15px;color:#14295b}.panel-title h2{margin:0 0 12px}.text-link{color:#1645a4;text-decoration:none}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid #edf0f5;font-size:13px}th{background:#f7f9fd;color:#69768c;font-weight:700;white-space:nowrap}td{color:#34425a}td small{display:block;color:#9aa4b5}.empty{text-align:center;color:#8995a8;padding:28px}.badge{display:inline-block;padding:4px 9px;border-radius:20px;font-size:11px;font-weight:700;background:#eef1f6;color:#647187}.badge.blue{background:#e7edff;color:#183c9b}.badge.good{background:#e5f7ed;color:#147443}.badge.warn{background:#fff2d9;color:#97600a}.badge.muted{background:#eef0f3;color:#737d8d}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:10px 15px;font-weight:700;text-decoration:none;cursor:pointer;font-size:13px}.btn.primary{background:#12388f;color:#fff}.btn.secondary{background:#e8efff;color:#12388f}.btn.light{background:#edf1f7;color:#40506a}.btn.small{padding:7px 11px}.btn.full{width:100%;margin-top:18px}.actions{display:flex;gap:8px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid label,.login-card label,.filter label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#56647a}.form-grid input,.form-grid select,.form-grid textarea,.login-card input,.filter input{width:100%;border:1px solid #dce3ed;border-radius:8px;padding:11px;background:#fff;color:#26354e;font:inherit}.form-actions{display:flex;gap:8px;align-items:end}.filter{display:flex;align-items:end;gap:12px}.filter label{min-width:210px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:16px}.alert.success{background:#e7f8ed;color:#146b3b}.alert.danger{background:#ffeded;color:#a32c2c}.muted-note{color:#7d899b;font-size:12px;margin-top:15px}.login-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#06164c,#123c99)}.login-card{background:#fff;border-radius:18px;padding:32px;width:min(420px,92vw);box-shadow:0 20px 60px #0003}.login-card.wide{width:min(520px,94vw);max-height:94vh;overflow:auto}.login-card h1{text-align:center;color:#10265d;font-size:21px;margin:10px 0 0}.login-card p{text-align:center;color:#7b8799;margin:4px 0 22px}.login-card label{margin:12px 0 5px}.login-card small{display:block;text-align:center;color:#8a95a5;margin-top:18px}.brand-logo{display:flex;justify-content:center;align-items:center}.brand-logo img{height:65px;width:65px;object-fit:contain}.brand-logo span{font-weight:900;color:#12388f;font-size:23px}.login-card h3{color:#12388f;margin:22px 0 5px}.login-card form .btn{margin-top:20px}footer{text-align:center;color:#9aa4b3;font-size:11px;padding:25px 0 8px}.printable h2{margin:0}.printable p{color:#69768c}.full{width:100%}@media(max-width:900px){.sidebar{width:205px}.content{padding:20px}.stats{grid-template-columns:repeat(2,1fr)}.form-grid.compact{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.topbar{padding:0 12px;height:64px}.brand b{font-size:11px}.brand small{font-size:10px}.brand img{width:38px;height:38px}.top-right span{display:none}.layout{display:block}.sidebar{width:100%;display:flex;overflow:auto;padding:7px;gap:4px;border-right:0;border-bottom:1px solid #e5eaf2}.sidebar a{white-space:nowrap;font-size:12px;padding:8px}.side-label{display:none}.content{padding:15px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:22px}.stats{gap:9px}.stat{padding:13px}.stat b{font-size:25px}.stat b.year{font-size:17px}.form-grid,.form-grid.compact{grid-template-columns:1fr}.panel{padding:14px}.filter{align-items:stretch;flex-direction:column}.actions{width:100%}.actions .btn{flex:1}}@media print{.topbar,.sidebar,.page-head .actions,.filter,footer{display:none!important}.layout{display:block}.content{padding:0}.panel{box-shadow:none;border:0}.printable{display:block}}
