:root{--navy:#13203b;--gold:#c9a227;--bg:#f4f6fa;--red:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#1b2434;font:14px/1.5 Inter,system-ui,sans-serif}header{height:64px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:2}header a{color:#fff;text-decoration:none;margin-left:18px}.brand{font-size:20px;font-weight:800}.brand small{font-weight:400;color:#e8cc66}.layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 64px)}aside{background:#fff;border-right:1px solid #dde2ea;padding:20px 12px}aside a{display:block;padding:11px 14px;border-radius:8px;color:#334155;text-decoration:none;margin-bottom:4px}aside a:hover,aside a.active{background:#eef1f7;color:var(--navy);font-weight:700}main{padding:28px;min-width:0}h1{margin-top:0}h2{margin-top:0}.panel{background:#fff;border:1px solid #e2e7ef;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #14213d0a}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin-bottom:20px}.card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e2e7ef}.card b{display:block;font-size:30px;color:var(--navy)}.card span{color:#64748b}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .wide,.form-grid button{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-weight:600}input,textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:7px;font:inherit;background:#fff}textarea{resize:vertical}button{border:0;border-radius:7px;background:var(--navy);color:#fff;padding:10px 15px;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.15)}button.secondary{background:#64748b}button.danger{background:var(--red)}.narrow{max-width:480px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:left;padding:11px;border-bottom:1px solid #edf0f4;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#64748b}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions form{margin:0}.actions button{padding:7px 9px;font-size:12px}.message{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #edf0f4;padding:14px 0}.message p{margin:6px 0}.message small,.muted{color:#64748b}.badge{font-size:12px;background:#e8ecf4;padding:3px 8px;border-radius:999px}.alert{padding:12px 15px;border-radius:8px;margin-bottom:16px}.alert.ok{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#101b34,#273a65)}.login-card{width:min(92vw,400px);background:#fff;border-radius:16px;padding:30px;box-shadow:0 25px 70px #0005}.login-card img{width:100px;height:70px;object-fit:contain;display:block;margin:auto}.login-card h1{text-align:center}.login-card form{display:grid;gap:16px}.login-card button{width:100%}.hint{text-align:center;color:#64748b}@media(max-width:760px){.layout{grid-template-columns:1fr}aside{display:flex;overflow:auto;padding:10px;border-right:0;border-bottom:1px solid #ddd}aside a{white-space:nowrap;margin:0 3px}main{padding:18px}.form-grid{grid-template-columns:1fr}.message{display:block}.message .actions{margin-top:10px}}
