:root{ --nav:#053867; --royal:#253985; --gold:#F7BA23; --goldLight:#F3CE49; --bg:#f6f8fb; --ink:#0b2c4d; }
*{ box-sizing:border-box; font-family:Poppins, system-ui, Arial; }
body{ margin:0; background:var(--bg); color:var(--ink); }
.container{ max-width:1080px; margin:0 auto; padding:16px; }
.header{ background:var(--nav); color:#fff; }
.header .container{ display:flex; align-items:center; justify-content:space-between; }
.nav a{ color:#fff; text-decoration:none; margin-left:12px; }
.card{ background:#fff; border-radius:14px; box-shadow:0 8px 20px rgba(0,0,0,.06); padding:16px; margin:12px 0; }
.grid{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.btn{ background:var(--gold); color:var(--nav); padding:10px 14px; border-radius:10px; border:none; cursor:pointer; }
.btn:hover{ background:var(--goldLight); }
label{ display:block; margin:8px 0; }
input, select{ width:100%; padding:10px; border:1px solid #e2e8f0; border-radius:10px; }
.table{ width:100%; border-collapse:collapse; background:#fff; }
.table th,.table td{ padding:10px; border-bottom:1px solid #eee; text-align:left; }
.flash{ background:#fff8e6; border:1px solid #ffe2a1; padding:10px 12px; border-radius:10px; }
.footer{ text-align:center; color:#516389; padding:24px; }
.badge{ display:inline-block; padding:4px 8px; border-radius:999px; background:#eef2ff; color:#3730a3; font-size:12px; }