:root { --bg:#0b132b; --card:#1c2541; --ink:#e0e6f5; --muted:#a8b3cf; --accent:#5bc0be; --danger:#ef476f; }
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,Segoe UI,Roboto}
.wrap{max-width:960px;margin:0 auto;padding:1rem}
.topbar{background:#0f1a3a;border-bottom:1px solid #243b6b}
.topbar nav a{color:var(--ink);opacity:.9;margin-right:1rem;text-decoration:none}
.card{background:var(--card);border:1px solid #243b6b;border-radius:14px;padding:1rem;margin:1rem 0}
.btn{display:inline-block;padding:.6rem .9rem;border-radius:10px;border:1px solid #2f3f68;text-decoration:none;color:var(--ink)}
.btn.primary{background:var(--accent);color:#062b2a;border:0}
.btn.danger{background:var(--danger);color:white;border:0}
.input, select{width:100%;padding:.6rem;border-radius:10px;border:1px solid #2f3f68;background:#0f1a3a;color:var(--ink)}
.grid{display:grid;gap:1rem}
@media(min-width:800px){.grid.two{grid-template-columns:1fr 1fr}}
.muted{color:var(--muted)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid #243b6b;padding:.6rem;text-align:left}
.badge{padding:.2rem .5rem;border-radius:999px;background:#243b6b}
.status-submitted{background:#f0ad4e;color:#111}
.status-approved{background:#5cb85c;color:#111}
.status-denied{background:#d9534f}
