/* Unified dark visual layer for authentication and legacy portal screens. */
.guest--auth-dark{background:#071426;color:#edf6ff;isolation:isolate;position:relative;overflow:hidden}
.guest--auth-dark::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 82% 12%,rgba(20,160,213,.18),transparent 32%),radial-gradient(circle at 15% 75%,rgba(19,211,198,.12),transparent 30%);pointer-events:none;z-index:-1}
.guest--auth-dark .guest-top{position:absolute;z-index:5;inset:0 0 auto;background:transparent;padding:24px 0;overflow:visible}
.guest--auth-dark .guest-top::after{display:none}
.guest--auth-dark .guest-body{margin:0;min-height:100vh;background:linear-gradient(90deg,rgba(5,15,31,.12),rgba(5,15,31,.48)),url('/img/login-community-v2.png') center/cover no-repeat;padding:108px 0 54px;display:flex;align-items:center}
.guest--auth-dark .guest-body>.wrap{width:min(1380px,100% - 56px)}
.guest--auth-dark .guest-foot{position:absolute;left:0;right:0;bottom:10px;z-index:4;color:#8ea4c0;padding:0;font-size:.76rem}
.guest--auth-dark .guest-foot a{color:#bcd1e6}
.guest--auth-dark .brand img{width:48px;height:42px;filter:drop-shadow(0 0 14px rgba(34,211,227,.2))}
.guest--auth-dark .brand b{font-size:1.65rem}
.auth-showcase{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(430px,.75fr);gap:clamp(42px,7vw,110px);align-items:center}
.auth-story{align-self:end;max-width:780px;padding:38px 0 46px;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.auth-kicker{display:inline-flex;padding:7px 12px;border:1px solid rgba(34,211,227,.38);border-radius:999px;background:rgba(7,20,38,.5);color:#5ce8f1;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}
.auth-story h1{font-size:clamp(2.7rem,5.2vw,5.25rem);line-height:1.02;letter-spacing:-.052em;margin:22px 0;max-width:900px}
.auth-story h1 span{color:#29dce4}
.auth-story>p{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65;color:#d4e1ef;max-width:620px;margin:0}
.auth-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.auth-benefits span{padding:10px 14px;border-radius:12px;background:rgba(6,20,39,.64);border:1px solid rgba(95,191,232,.23);backdrop-filter:blur(12px);font-size:.84rem;font-weight:700;color:#e6f2fb}
.auth-benefits span::before{content:"✓";color:#29dce4;margin-right:8px;font-weight:900}
.auth-panel{background:rgba(7,23,44,.9);border:1px solid rgba(70,161,221,.4);border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden;backdrop-filter:blur(18px)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:rgba(9,31,57,.72);border-bottom:1px solid rgba(103,158,207,.2)}
.auth-tabs>*{display:flex;justify-content:center;align-items:center;min-height:62px;text-decoration:none;color:#aec1d7;font-weight:700;position:relative}
.auth-tabs .is-active{color:#fff;background:linear-gradient(180deg,rgba(22,211,227,.12),rgba(22,211,227,.03))}
.auth-tabs .is-active::after{content:"";position:absolute;height:3px;left:0;right:0;bottom:-1px;background:#22d3e3;box-shadow:0 0 16px #22d3e3}
.auth-panel-body{padding:34px 38px 36px}
.auth-eyebrow{margin:0 0 5px;color:#29dce4;font-size:.77rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.auth-panel h2{font-size:2rem;color:#fff;margin:0 0 3px;letter-spacing:-.03em}
.auth-panel .lead{color:#9fb2c9;margin:0 0 25px}
.auth-panel .field label{color:#dce8f4;font-size:.82rem}
.auth-panel .input{height:52px;background:#0d2340;border-color:rgba(104,156,207,.28);color:#fff;border-radius:12px}
.auth-panel .input::placeholder{color:#6f86a3}
.auth-panel .input:focus{border-color:#22d3e3;box-shadow:0 0 0 3px rgba(34,211,227,.13)}
.auth-options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-3px 0 17px}
.auth-options .check{padding:6px 0;color:#dce8f4}.auth-options .check input{accent-color:#22d3e3}
.auth-options a,.auth-register a{color:#31e2e9;text-decoration:none;font-weight:700}
.auth-submit{height:54px;border-radius:12px;font-size:1.02rem;background:linear-gradient(90deg,#18d9df,#32e8e8);color:#052c32;box-shadow:0 8px 26px rgba(34,211,227,.28)}
.auth-submit:hover{background:linear-gradient(90deg,#43e6e9,#5bf0ed);color:#052c32}
.auth-submit span{font-size:1.35rem;margin-left:5px}
.auth-register{text-align:center;color:#9fb2c9;margin:22px 0 0;font-size:.9rem}
.welcome-panel .auth-submit{display:flex;align-items:center;justify-content:center;text-decoration:none}
.welcome-steps{display:grid;gap:10px;margin:24px 0 4px;padding-top:20px;border-top:1px solid rgba(103,158,207,.2)}
.welcome-steps span{display:flex;align-items:center;gap:12px;color:#dce8f4;font-size:.9rem}
.welcome-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(34,211,227,.12);border:1px solid rgba(34,211,227,.3);color:#42e6ec}
.guest--terms-dark .guest-body{background:radial-gradient(circle at 80% 15%,rgba(24,181,211,.17),transparent 30%),radial-gradient(circle at 15% 85%,rgba(22,211,195,.11),transparent 32%),#071426}
.guest--terms-dark .guest-body>.wrap{display:flex;justify-content:center;align-items:center}
.terms-update-dark{width:min(680px,100%);margin:auto}
.terms-update-dark .auth-panel-body{padding:42px 46px}
.terms-update-dark h2{font-size:clamp(1.75rem,4vw,2.25rem);margin-bottom:8px}
.terms-update-dark .hint,.terms-update-dark .lead{color:#9fb2c9}
.terms-update-dark .hint{background:rgba(13,35,64,.7);border:1px solid rgba(104,156,207,.2);border-radius:12px;padding:13px 16px}
.terms-update-dark ul.hint{padding-left:34px}
.terms-update-dark a{color:#31e2e9}
.terms-update-dark .check{color:#e6f0f8;align-items:flex-start;padding:13px 0}
.terms-update-dark .check input{accent-color:#22d3e3;margin-top:3px}
.terms-update-dark .btn-primary{background:linear-gradient(90deg,#18d9df,#32e8e8);color:#052c32;border:0;box-shadow:0 8px 26px rgba(34,211,227,.24)}
.terms-update-dark form .link{color:#9fb2c9;background:none;border:0;padding:5px 0;cursor:pointer}
.terms-secure{color:#8fb1c9;font-size:.86rem;font-weight:700}

body.legacy-portal{--navy:#0a1426;--navy-2:#12213c;--navy-3:#1a3254;--teal:#16d3c3;--teal-ink:#16d3c3;--teal-soft:rgba(22,211,195,.12);--sky:#0a1426;--line:rgba(130,170,220,.16);--ink:#eaf2fb;--muted:#8ea2bf;--white:#12213c;--shadow:0 10px 30px rgba(0,0,0,.26);background:#0a1426;color:#eaf2fb}
.legacy-portal .topbar{background:rgba(10,20,38,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.legacy-portal .search input{background:#0f1d36;border:1px solid rgba(130,170,220,.2)}
.legacy-portal .shell{grid-template-columns:240px minmax(0,1fr) 300px;max-width:1320px}
.legacy-portal .sidenav{background:#12213c;border:1px solid var(--line);border-radius:20px;padding:10px;gap:3px}
.legacy-portal .sidenav a{color:#c9d6e8;border-radius:12px}
.legacy-portal .sidenav a:hover{background:rgba(255,255,255,.04);color:#fff}
.legacy-portal .sidenav a[aria-current]{background:linear-gradient(90deg,rgba(22,211,195,.2),rgba(22,211,195,.06));color:#fff;box-shadow:inset 0 0 0 1px rgba(22,211,195,.25)}
.legacy-portal .sidenav a[aria-current]::before{color:#16d3c3}
.legacy-portal .sidenav .btn-primary{background:#16d3c3;color:#05312e}
.legacy-portal .card,.legacy-portal .panel,.legacy-portal .post,.legacy-portal .gcard,.legacy-portal .pcard,.legacy-portal .list-row,.legacy-portal .notif,.legacy-portal .event-row,.legacy-portal .ride,.legacy-portal .conv-list,.legacy-portal .thread,.legacy-portal .composer,.legacy-portal .stat,.legacy-portal .table{background:#12213c;border:1px solid var(--line);box-shadow:var(--shadow);color:#eaf2fb}
.legacy-portal .card h1,.legacy-portal .card h2,.legacy-portal .card h3,.legacy-portal .fieldset legend,.legacy-portal .welcome h1,.legacy-portal .page-head h1{color:#fff}
.legacy-portal .lead,.legacy-portal .hint,.legacy-portal .card p,.legacy-portal .welcome p,.legacy-portal .page-head p{color:#8ea2bf}
.legacy-portal .input,.legacy-portal select.input,.legacy-portal textarea{background:#0f1d36;border-color:rgba(130,170,220,.22);color:#eaf2fb}
.legacy-portal .input:focus,.legacy-portal textarea:focus{border-color:#16d3c3;box-shadow:0 0 0 3px rgba(22,211,195,.12)}
.legacy-portal .check.optional{background:#0f1d36}.legacy-portal .check input{accent-color:#16d3c3}
.legacy-portal .btn-primary{background:#16d3c3;color:#05312e}.legacy-portal .btn-primary:hover{background:#43e0d3}
.legacy-portal .btn-ghost{background:transparent;color:#16d3c3;border-color:rgba(22,211,195,.5)}
.legacy-portal .menu-list{background:#172948;border:1px solid var(--line)}
.legacy-portal .menu-list a,.legacy-portal .menu-list button{color:#eaf2fb}
.legacy-portal .tabbar{background:#0d1a31;border-color:var(--line)}
@media(max-width:980px){.auth-showcase{grid-template-columns:1fr;max-width:720px;margin:auto}.auth-story{padding:20px 0 0}.auth-story h1{font-size:clamp(2.55rem,8vw,4.5rem)}.guest--auth-dark .guest-body{background-position:35% center}.auth-panel{max-width:600px;width:100%;margin:auto}.legacy-portal .shell{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.guest--auth-dark .guest-top{padding:16px 0}.guest--auth-dark .guest-body{padding:86px 0 70px;background-position:40% center}.guest--auth-dark .guest-body>.wrap{width:calc(100% - 28px)}.auth-story{padding-top:10px}.auth-story h1{font-size:2.45rem}.auth-story>p{font-size:.96rem}.auth-benefits{display:none}.auth-panel-body{padding:27px 20px 28px}.auth-panel h2{font-size:1.7rem}.auth-options{align-items:flex-start}.auth-options a{font-size:.82rem;padding-top:10px}.terms-update-dark .auth-panel-body{padding:28px 20px}.guest--auth-dark .guest-foot{position:relative;background:#071426;bottom:auto;padding:18px 14px}.legacy-portal .card{padding:22px 18px}}
