@font-face{font-family:Geist;src:local(Geist)}
:root{font-family:Geist,"Segoe UI",sans-serif;color:#17253c;background:#f1f5fa;line-height:1.5;--primary:#1758cc;--subtle:#52627a;--border:#dce4ef}
*{box-sizing:border-box}
body{margin:0}
a{color:var(--primary)}
.dashboard{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
aside{display:flex;flex-direction:column;gap:28px;padding:32px 20px;background:#10213c;color:#fff}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:17px;overflow-wrap:anywhere}
.brand img,.mark{width:42px;height:42px;border-radius:10px;object-fit:contain;flex:none}
.mark{display:grid;place-items:center;background:#dceaff;color:#154689;font-size:22px}
small{display:block;color:var(--subtle);font-size:12px}
aside small{color:#b3c4df}
nav{display:grid;gap:5px}
nav a{padding:10px 12px;color:#d9e5f6;text-decoration:none;border-radius:8px;font-weight:600;font-size:14px}
nav a:hover,nav a[aria-current]{background:#253e64;color:white}
aside>form{margin-top:auto}
main{width:100%;max-width:1280px;padding:42px clamp(18px,4vw,55px)}
h1,h2,p{margin-top:0}
h1{margin-bottom:24px;font-size:clamp(28px,4vw,38px);letter-spacing:-.04em}
h2{font-size:19px;margin-bottom:18px}
.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:18px;box-shadow:0 6px 24px #152d4f08}
.card p:last-child{margin-bottom:0}
.muted{color:var(--subtle)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:16px}
.full{grid-column:1/-1}
.form-action{align-self:end}
label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
label.check{flex-direction:row;align-items:center}
input,select,textarea,button{font:inherit}
input,select,textarea{min-width:0;width:100%;height:42px;border:1px solid #b7c5d7;border-radius:8px;padding:8px 10px;background:#fff;color:#17253c}
input[type=checkbox]{width:auto;height:auto}
textarea{height:96px;resize:vertical}
button{min-height:42px;border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:#fff;padding:8px 14px;font-size:14px;font-weight:650;cursor:pointer}
button:hover{filter:brightness(.91)}
.secondary{color:#173c73;background:#f2f6fd;border-color:var(--border)}
:focus-visible{outline:3px solid #549aff;outline-offset:3px}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.table{overflow:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}
td,th{padding:12px 10px;border-bottom:1px solid var(--border)}
th{background:#f5f8fc;color:#43536e}
td{overflow-wrap:anywhere}
.status{display:inline-block;border-radius:20px;background:#e8f0ff;color:#193e73;padding:3px 10px;font-size:12px;font-weight:650}
article+article{border-top:1px solid var(--border);padding-top:14px;margin-top:14px}
.notice{padding:12px 16px;background:#e3f6ea;color:#17492d;border-radius:8px}
.error{background:#fce9e9;color:#811d24}
.login{display:grid;min-height:100vh;place-items:center;background:radial-gradient(ellipse at 85% 8%,#184783,#10213c 52%,#0a162b)}
.login main{max-width:485px;padding:24px}
.login-card{margin:0;padding:32px}
.login-card .brand{margin-bottom:24px}
.login-card form{display:grid;gap:15px}
@media(max-width:720px){
  .dashboard{grid-template-columns:1fr}
  aside{padding:16px;gap:12px}
  nav{display:flex;flex-wrap:wrap}
  main{padding-top:24px}
  .card{padding:16px}
}
