/* Sign-in and enrol pages (public, standalone: app.css is behind the gate). BCP tokens as in app.css. */
:root,:root[data-theme="dark"]{
  --bg:#150d22; --panel:#211631; --panel-border:#3d2c57; --text:#f5f2f9; --text-dim:#c3b8d3;
  --accent:#00a7e1; --accent-ink:#04121a; --link:#5cc8f0; --header-bg:#392050; --rule:#00a7e1;
  --ok:#2dd4bf; --err:#ff7a90; --glow:rgba(0,167,225,.45); --shadow:0 10px 30px rgba(0,0,0,.35);
  --font:"Manrope","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#f3f2f1; --panel:#ffffff; --panel-border:#b1b4b6; --text:#0b0c0c; --text-dim:#505a5f;
  --accent:#392050; --accent-ink:#ffffff; --link:#1d70b8; --ok:#0a7a6a; --err:#c2185b;
  --shadow:0 6px 20px rgba(11,12,12,.08); color-scheme:light;
}
*,*::before,*::after{ box-sizing:border-box; }
body.auth-body{ margin:0; min-height:100vh; display:grid; place-items:center; padding:24px 16px; background:var(--bg);
  color:var(--text); font-family:var(--font); font-size:16px; line-height:1.5; }
:root[data-theme="dark"] body.auth-body{
  background:radial-gradient(1000px 500px at 85% -10%, rgba(0,167,225,.12), transparent 60%),
             radial-gradient(800px 500px at -10% 110%, rgba(57,32,80,.6), transparent 60%), var(--bg); }
a{ color:var(--link); }
:focus-visible{ outline:3px solid #ffdd00; outline-offset:2px; box-shadow:0 0 0 5px #0b0c0c; }
.auth-card{ width:100%; max-width:480px; background:var(--panel); border:1px solid var(--panel-border); border-radius:12px;
  box-shadow:var(--shadow); overflow:hidden; }
.auth-card > section, .auth-card > p, .auth-card > noscript{ display:block; padding:0 26px; }
.auth-card > section{ padding-top:22px; }
.auth-card > section[hidden]{ display:none; }
.auth-brand{ display:flex; align-items:center; gap:18px; background:var(--header-bg); color:#fff; padding:14px 22px 20px;
  box-shadow:inset 0 -6px 0 var(--rule); }
.logo-clear{ display:block; padding:6px; flex:none; }
.bcp-logo{ display:block; width:52px; height:auto; outline:1px solid #fff; }
.brand-text{ display:flex; flex-direction:column; line-height:1.15; padding-left:16px; border-left:1px solid rgba(255,255,255,.28); }
.brand-text strong{ font-size:21px; font-weight:800; }
.brand-text small{ color:#e7def0; font-size:13px; font-weight:500; letter-spacing:.04em; }
h1{ font-size:26px; font-weight:800; margin:0 0 .3em; letter-spacing:-0.01em; }
h2{ font-size:18px; font-weight:800; margin:0 0 .3em; }
p{ margin:0 0 12px; color:var(--text-dim); }
.auth-btn{ font:inherit; font-weight:800; font-size:16px; padding:11px 18px; border-radius:6px; cursor:pointer; min-height:46px;
  background:var(--accent); color:var(--accent-ink); border:1px solid var(--accent); display:inline-flex; align-items:center;
  gap:10px; text-decoration:none; }
.auth-btn:hover{ filter:brightness(1.08); box-shadow:0 0 16px var(--glow); }
.auth-btn:disabled{ opacity:.6; cursor:progress; }
.auth-btn svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.auth-msg{ min-height:1.5em; margin:12px 0 0; font-weight:700; color:var(--text-dim); }
.auth-msg.ok{ color:var(--ok); }
.auth-msg.err{ color:var(--err); }
.auth-boot{ margin-top:20px; border-top:1px solid var(--panel-border); padding-bottom:4px; }
.auth-boot form{ display:grid; gap:10px; }
label{ display:flex; flex-direction:column; gap:4px; font-size:14px; font-weight:700; color:var(--text-dim); }
.auth-field{ margin:6px 0 14px; }
input[type=text],input[type=email]{ font:inherit; font-size:16px; padding:9px 10px; border-radius:6px; background:var(--bg);
  color:var(--text); border:2px solid var(--text-dim); min-height:44px; }
.auth-steps{ margin:0 0 14px; padding-left:22px; color:var(--text); }
.auth-steps li{ margin:3px 0; }
.auth-foot{ font-size:14px; border-top:1px solid var(--panel-border); margin-top:22px !important; padding:14px 26px 18px !important; }
