:root { color-scheme: dark; }
body { margin:0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background:#10141c; color:#eef2ff; }
header { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.4rem; border-bottom:1px solid #2a3348; }
.brand { color:#fff; font-weight:700; text-decoration:none; letter-spacing:.02em; }
nav { display:flex; gap:.9rem; align-items:center; font-size:.92rem; }
nav a { color:#9aa6c3; text-decoration:none; }
nav a:hover { color:#fff; }
.who { color:#7aa2ff; }
main { max-width:760px; margin:2rem auto; padding:0 1rem 3rem; }
.card { background:#1a2130; border:1px solid #2a3348; border-radius:12px; padding:1.25rem 1.4rem; }
label { display:block; margin:.7rem 0 .25rem; color:#9aa6c3; font-size:.9rem; }
input, textarea, select { width:100%; box-sizing:border-box; padding:.55rem .7rem; border-radius:8px; border:1px solid #33405a; background:#0e1420; color:#eef2ff; }
button, .btn { display:inline-block; margin-top:.9rem; padding:.55rem .95rem; border:0; border-radius:8px; background:#3b6fe0; color:#fff; cursor:pointer; text-decoration:none; }
.flash { background:#2a1f14; border:1px solid #8a5a20; padding:.7rem 1rem; border-radius:8px; }
.row { display:flex; gap:1rem; }
.row > * { flex:1; }
table { width:100%; border-collapse:collapse; font-size:.92rem; }
th, td { text-align:left; padding:.45rem .3rem; border-bottom:1px solid #2a3348; }
code { word-break:break-all; }
.muted { color:#9aa6c3; font-size:.88rem; }
.mfa-or { text-align:center; margin:1.05rem 0 .15rem; color:#9aa6c3; font-size:.88rem; }
.totp-enroll { display:flex; gap:1.2rem; align-items:flex-start; margin:1rem 0; flex-wrap:wrap; }
.totp-qr { background:#fff; border-radius:8px; padding:8px; width:180px; height:180px; }
fieldset.expire { border:1px solid #33405a; border-radius:10px; margin:1.1rem 0 0; padding:.85rem 1rem 1rem; }
fieldset.expire legend { color:#eef2ff; font-weight:600; padding:0 .35rem; }
.expire-choice { display:flex; align-items:flex-start; gap:.7rem; margin:.75rem 0 0; color:#eef2ff; }
.expire-choice input[type="radio"] { width:auto; margin-top:.35rem; }
.expire-choice span { flex:1; }
.expire-choice strong { display:block; margin-bottom:.35rem; }
.expire-choice input[type="number"] { max-width:8rem; }
.expire-choice:has(input[type="radio"]:not(:checked)) input[type="number"] { opacity:.45; }
