/* Sign-in, password, setup and import pages — same colours and type as the 4C app. */
:root{
  --plum:#4d148c; --plum-ink:#3a0f6b; --gold:#ffba00;
  --bg:#f6f4f9; --surface:#ffffff; --surface-2:#efeaf5; --line:#ddd5e8; --fg:#1f1a29; --muted:#6a6178;
  --good:#1d7a46; --good-bg:#e3f3ea; --bad:#b3261e; --bad-bg:#fbe5e3; --warn:#b26a00; --warn-bg:#fdf1dc; --focus:#ffba00;
  --font-ui:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif; --font-num:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --plum:#b58cf0; --gold:#ffc83d; --bg:#141019; --surface:#1d1825; --surface-2:#272031; --line:#3a3047; --fg:#ece7f3; --muted:#a79cb7;
  --good:#5fc98a; --good-bg:#183326; --bad:#f08079; --bad-bg:#3d1a19; --warn:#f0b43a; --warn-bg:#3a2c10; color-scheme:dark}}
:root[data-theme="dark"]{
  --plum:#b58cf0; --gold:#ffc83d; --bg:#141019; --surface:#1d1825; --surface-2:#272031; --line:#3a3047; --fg:#ece7f3; --muted:#a79cb7;
  --good:#5fc98a; --good-bg:#183326; --bad:#f08079; --bad-bg:#3d1a19; --warn:#f0b43a; --warn-bg:#3a2c10; color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 var(--font-ui)}
header.bar{background:#3a0f6b;color:#fff}
header.bar .in{max-width:1240px;margin:0 auto;padding:12px 16px;display:flex;align-items:baseline;gap:10px}
header.bar b{font-weight:800;font-size:17px}
header.bar .c3b{background:#ffba00;color:#3a0f6b;font-weight:800;border-radius:6px;padding:1px 7px;font-size:13px}
header.bar span.sub{color:#d9c8f0;font-size:12px}
main{max-width:460px;margin:40px auto;padding:0 16px}
main.wide{max-width:900px}
.card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:12px;padding:22px}
h1{font-size:20px;margin:0 0 6px}
p.lead{color:var(--muted);margin:0 0 18px}
label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:14px}
label .hint{text-transform:none;letter-spacing:0;font-weight:500}
input,textarea,select{font:15px var(--font-ui);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.btn{font:700 14px var(--font-ui);border-radius:8px;padding:10px 16px;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer}
.btn.primary{background:var(--plum);border-color:var(--plum);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.primary{background:#6b2bb8;border-color:#6b2bb8}}
.btn:disabled{opacity:.5;cursor:not-allowed}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.msg{border-radius:8px;padding:10px 12px;margin:0 0 14px;font-weight:600}
.msg.bad{background:var(--bad-bg);color:var(--bad)}
.msg.good{background:var(--good-bg);color:var(--good)}
.msg.warn{background:var(--warn-bg);color:var(--warn)}
.muted{color:var(--muted)} .small{font-size:12.5px}
a{color:var(--plum)}
pre.report{font:12.5px/1.5 var(--font-num);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:12px;overflow:auto;white-space:pre}
.check{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-weight:600;color:var(--fg)}
.check input{width:auto}
[hidden]{display:none!important}
