:root[data-theme="dark"]{--bg:#0b1020;--card:#11172b;--text:#e8eefb;--muted:#9fb2d9;--primary:#4da3ff;--success:#39c07f;--danger:#ff5d6c;}
:root[data-theme="light"]{--bg:#f5f7fb;--card:#fff;--text:#0b1020;--muted:#516079;--primary:#2563eb;--success:#16a34a;--danger:#dc2626;}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}
a{color:var(--primary)}.container{max-width:1100px;margin:0 auto;padding:16px}
.header{background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06)}.header .row{display:flex;align-items:center;justify-content:space-between}
.brand a{color:var(--text)}.footer{margin-top:40px;padding:24px 0;color:var(--muted);border-top:1px solid rgba(255,255,255,.06)}
.card{background:var(--card);padding:16px;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:10px}
input,select,textarea,button{width:100%;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0f1527;color:var(--text)}
button{background:var(--primary);color:#fff;border:none;cursor:pointer}button.success{background:var(--success)}button.danger{background:var(--danger)}
.button{display:inline-block;padding:10px 14px;background:var(--primary);color:#fff;border-radius:10px}
table{width:100%;border-collapse:collapse;margin-top:12px;background:var(--card);border-radius:12px;overflow:hidden}
th,td{padding:12px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left}
.row{display:flex;align-items:center;gap:12px}.row.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:800px){.grid2,.grid3{grid-template-columns:1fr}}
.badge{display:inline-block;padding:4px 8px;background:rgba(255,255,255,.08);border-radius:999px;margin-right:6px;font-size:12px}
.pre{white-space:pre-wrap;background:#0f1527;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.06)}
/* Status colors explicitly */
.status{padding:4px 10px;border-radius:999px;font-size:12px;background:rgba(255,255,255,.08)}
.status.pending{background:rgba(255,165,0,.25);color:#ffb74d}
.status.approved{background:rgba(57,192,127,.25);color:#39c07f}
.status.rejected{background:rgba(255,93,108,.25);color:#ff5d6c}

/* Highlight rejected rows */
tr.rejected-row { background: rgba(220, 38, 38, 0.06); }
