.portal-shell{min-height:80vh;display:grid;place-items:center;padding:32px 16px;background:radial-gradient(circle at top,#18243b,#090d16 55%)}
.portal-card{width:min(620px,100%);background:rgba(17,24,39,.96);border:1px solid rgba(255,255,255,.09);border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.45);color:#fff}
.portal-brand{font-weight:900;letter-spacing:5px;color:#7dd3fc;margin-bottom:12px}.portal-card h1{font-size:26px;margin:0 0 8px}.portal-subtitle{color:#aeb8ca;line-height:1.9;margin-bottom:22px}
.portal-form{display:grid;gap:10px}.portal-form label{font-size:14px;color:#d7deea}.portal-form input{height:50px;border-radius:12px;border:1px solid #354157;background:#0b1220;color:#fff;padding:0 14px;outline:none}.portal-form input:focus{border-color:#38bdf8}.portal-form button{height:52px;border:0;border-radius:12px;background:linear-gradient(135deg,#0284c7,#2563eb);color:#fff;font-weight:800;cursor:pointer;margin-top:8px}
.portal-alert{background:#4c1d1d;border:1px solid #b91c1c;color:#fecaca;padding:12px 14px;border-radius:12px;margin-bottom:16px}.result-box{margin-top:24px;padding-top:22px;border-top:1px solid #2a3447}.status-pill{display:inline-flex;padding:8px 14px;border-radius:999px;font-weight:800;margin-bottom:16px}.status-pill.approved{background:#064e3b;color:#a7f3d0}.status-pill.rejected{background:#4c1d1d;color:#fecaca}.status-pill.pending{background:#422006;color:#fde68a}
dl{display:grid;gap:10px;margin:0}dl div{display:flex;justify-content:space-between;gap:15px;background:#0c1423;padding:12px;border-radius:10px}dt{color:#9aa7ba}dd{margin:0;font-weight:700}.reason{display:grid;gap:8px;margin-top:14px;background:#321b1b;border:1px solid #7f1d1d;padding:14px;border-radius:12px;color:#fecaca}
