/* APEX CAMPUS — split login surface with light and dark themes. */
:root{--login-navy:#10254f;--login-blue:#2563eb;--login-blue-deep:#1d4ed8;--login-line:#d9e5f4;--login-ink:#10254f;--login-muted:#64748b}

body{background:radial-gradient(circle at 96% 6%,rgba(196,220,255,.72),transparent 28rem),radial-gradient(circle at 2% 94%,rgba(218,238,255,.78),transparent 26rem),#f7faff}
.shell{min-height:calc(100vh - 32px);max-width:1540px;margin:16px auto;overflow:hidden;border:1px solid rgba(195,214,239,.95);border-radius:26px;box-shadow:0 26px 80px rgba(25,62,119,.15);background:rgba(255,255,255,.82)}
.brand-panel{padding:52px clamp(42px,6vw,104px);background:radial-gradient(circle at 98% 20%,rgba(66,225,225,.48),transparent 19rem),radial-gradient(circle at 7% 95%,rgba(47,180,234,.38),transparent 20rem),linear-gradient(150deg,#081b43 0%,#0c3474 54%,#0e5b92 100%)}
.brand-panel::before{content:'';position:absolute;top:16%;right:-12%;width:340px;height:340px;border:1px solid rgba(219,246,255,.28);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 96px rgba(255,255,255,.024)}
.brand-panel::after{right:-270px;bottom:-250px}
.brand img{width:min(225px,70%);filter:drop-shadow(0 6px 18px rgba(0,0,0,.14))}
.eyebrow{color:#c6eaff;opacity:1}
.hero-copy h1{font-size:clamp(42px,4.5vw,68px);letter-spacing:-2.9px}
.hero-copy h1 span{color:#d5f4ff}
.hero-copy p{max-width:430px;color:#d6e8fc;font-size:17px;line-height:1.65}
.features{display:flex;gap:12px;max-width:565px}
.features div{flex:1;min-height:124px;padding:18px 15px;display:flex;align-items:flex-start;flex-direction:column;gap:16px;color:#e9f5ff;border:1px solid rgba(221,245,255,.17);border-radius:16px;background:rgba(235,250,255,.09);backdrop-filter:blur(12px);font-size:13px;line-height:1.25}
.features div.feature-active{color:#132a55;background:rgba(255,255,255,.96);box-shadow:0 12px 26px rgba(2,18,45,.22)}
.features b{height:28px;width:28px;background:rgba(255,255,255,.18);font-size:12px}
.features .feature-active b{background:#17243c;color:#fff}
.copyright{color:#cae6fb;opacity:.72}

.auth-panel{max-width:680px;padding:46px clamp(30px,6vw,92px);background:rgba(255,255,255,.92)}
.topbar{justify-content:space-between;margin-bottom:42px}
.auth-home{border:0;background:none;color:var(--login-muted);font:700 11px Inter;cursor:pointer;padding:8px 0}
.auth-home:hover{color:var(--login-blue)}
.theme-toggle{border-color:var(--login-line);background:#f8fbff;color:#465b7c;padding:9px 13px;box-shadow:0 4px 14px rgba(51,87,138,.07)}
.portal-badge{color:#1d4ed8;background:#eef5ff;border:1px solid #d9e9ff;border-radius:999px;padding:8px 12px;margin-bottom:15px}
.heading h2{color:var(--login-ink);font-size:34px;letter-spacing:-1.45px}
.heading p{color:var(--login-muted);font-size:13px;line-height:1.7}
.auth-panel input:not([type=checkbox]){height:50px;border-color:var(--login-line);border-radius:11px;background:#fbfdff}
.auth-panel input:not([type=checkbox]):focus{border-color:#5d91f4;background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.11)}
.primary{height:51px;border-radius:11px;background:linear-gradient(135deg,var(--login-blue),#3678f2);box-shadow:0 12px 24px rgba(37,99,235,.23)}
.primary:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 15px 28px rgba(37,99,235,.3)}
.switch button,.form-row a{color:var(--login-blue)}
.portal-note{margin-top:16px;border-color:#dce8fb!important;background:#f4f8ff!important;border-radius:11px}

body.dark{background:radial-gradient(ellipse at 8% 3%,rgba(217,159,255,.22),transparent 37rem),radial-gradient(ellipse at 93% 4%,rgba(255,185,126,.15),transparent 36rem),radial-gradient(ellipse at 74% 100%,rgba(88,208,196,.13),transparent 34rem),linear-gradient(118deg,transparent 12%,rgba(255,255,255,.038) 48%,transparent 82%),linear-gradient(135deg,#141419 0%,#202027 48%,#15151a 100%)}
body.dark .shell{border-color:rgba(255,255,255,.12);box-shadow:0 28px 84px rgba(0,0,0,.48);background:#1c1c22}
body.dark .brand-panel{background:radial-gradient(circle at 91% 17%,rgba(255,185,126,.18),transparent 19rem),radial-gradient(circle at 8% 91%,rgba(119,207,196,.16),transparent 22rem),radial-gradient(circle at 45% 26%,rgba(202,147,238,.16),transparent 22rem),linear-gradient(150deg,#17161c 0%,#29252f 56%,#1b2023 100%)}
body.dark .auth-panel{background:rgba(27,27,33,.96)}
body.dark .heading h2{color:#f0f6ff}
body.dark .heading p,body.dark .switch,body.dark .auth-home{color:#bdb7c8}
body.dark .auth-home:hover{color:#e2b8ff}
body.dark .auth-panel label{color:#d7d1de}
body.dark .auth-panel input:not([type=checkbox]){background:#27252d;border-color:rgba(255,255,255,.16);color:#f6f1f9}
body.dark .auth-panel input:not([type=checkbox])::placeholder{color:#928c9e}
body.dark .theme-toggle{background:#292731;border-color:rgba(255,255,255,.16);color:#eee9f2}
body.dark .portal-badge{background:rgba(157,112,198,.16);border-color:rgba(219,177,248,.23);color:#e5c7fa}
body.dark .portal-note{background:rgba(82,72,101,.28)!important;border-color:rgba(226,184,255,.17)!important}
body.dark .features div{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
body.dark .features div.feature-active{background:#f5f0f7;color:#312b37}

@media(max-width:850px){body{background:#f7faff}.shell{min-height:100vh;margin:0;border:0;border-radius:0;box-shadow:none}.auth-panel{max-width:630px}.topbar{margin-bottom:34px}.auth-home{display:none}}

/* v129: fit account screens at normal 100% browser zoom without reducing text. */
.register-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.register-field-grid .two-col{grid-column:1/-1}.register-field-grid>div{min-width:0}.register-field-grid label{display:block}.register-field-grid input{width:100%}
@media (max-height:900px) and (min-width:851px){.shell{min-height:calc(100dvh - 20px);margin:10px auto}.brand-panel{padding-top:32px;padding-bottom:28px}.auth-panel{padding-top:25px;padding-bottom:25px}.topbar{margin-bottom:23px}.heading p{margin-bottom:18px}.auth-panel form{gap:6px}.auth-panel label{margin-top:5px}.form-row{margin:3px 0 9px}.switch{margin-top:12px}.portal-note{margin-top:10px}.register-field-grid{gap:6px 12px}.register-field-grid label{margin-top:0}.register-field-grid .two-col{gap:12px}}
@media (max-width:850px){.register-field-grid{grid-template-columns:1fr}.register-field-grid .two-col{grid-column:auto}}

/* Keep browser autofill consistent with the dark login screen. */
body.dark .auth-panel input:-webkit-autofill,
body.dark .auth-panel input:-webkit-autofill:hover,
body.dark .auth-panel input:-webkit-autofill:focus,
body.dark .auth-panel input:-webkit-autofill:active{
  -webkit-text-fill-color:#eef6ff;
  caret-color:#eef6ff;
  -webkit-box-shadow:0 0 0 1000px #102946 inset;
  box-shadow:0 0 0 1000px #102946 inset;
  transition:background-color 9999s ease-out 0s;
}

/* v140 — account screens share the APEX CAMPUS arrival language. */
body:not(.landing-mode){background:radial-gradient(circle at 88% 8%,rgba(247,197,248,.52),transparent 27%),radial-gradient(circle at 10% 90%,rgba(152,194,255,.42),transparent 29%),#f8f8ff}.shell{position:relative;overflow:hidden;background:rgba(255,255,255,.62);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.brand-panel{background:radial-gradient(circle at 82% 16%,rgba(255,255,255,.22),transparent 22rem),radial-gradient(circle at 8% 88%,rgba(122,177,255,.31),transparent 22rem),linear-gradient(140deg,#1b2033,#30304f 58%,#4b3f6b)}.brand-panel::before{animation:account-orbit 12s ease-in-out infinite alternate}.brand img{width:min(280px,76%);padding:16px;border-radius:24px;background:rgba(255,255,255,.9)}.auth-panel{background:rgba(255,255,255,.76);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:account-panel-in .55s cubic-bezier(.2,.8,.2,1) both}.heading,.auth-panel form,.switch,.portal-note{animation:account-panel-in .65s .09s cubic-bezier(.2,.8,.2,1) both}.primary{background:#252a3d;box-shadow:0 16px 28px rgba(31,37,58,.21)}.primary:hover{background:#3d3556;box-shadow:0 18px 32px rgba(59,48,87,.28)}.theme-toggle{border-radius:14px}.portal-badge{color:#5d48a8;background:rgba(238,232,255,.82);border-color:rgba(137,112,204,.19)}@keyframes account-panel-in{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}@keyframes account-orbit{to{transform:translate3d(-20px,16px,0) rotate(8deg)}}
body.dark:not(.landing-mode){background:radial-gradient(circle at 88% 8%,rgba(106,67,160,.32),transparent 27%),radial-gradient(circle at 10% 90%,rgba(19,112,148,.24),transparent 29%),#121218}body.dark .brand-panel{background:radial-gradient(circle at 82% 16%,rgba(255,255,255,.09),transparent 22rem),linear-gradient(140deg,#15151b,#252232 58%,#302343)}body.dark .brand img{background:rgba(255,255,255,.94)}body.dark .auth-panel{background:rgba(25,24,31,.82)}body.dark .primary{background:linear-gradient(135deg,#e8d9f7,#bda7d9);color:#282231}body.dark .primary:hover{background:linear-gradient(135deg,#f3e7ff,#cdb7e8)}
@media(prefers-reduced-motion:reduce){.brand-panel::before,.auth-panel,.heading,.auth-panel form,.switch,.portal-note{animation:none}}

/* v142 — exact dark split account design for Login and Register. */
body:not(.landing-mode),body.dark:not(.landing-mode){background:#08090b;color:#f7f5fa}.shell{grid-template-columns:1.06fr .94fr;max-width:1368px;min-height:calc(100dvh - 104px);margin:52px auto;padding:30px;gap:0;border:0;border-radius:34px;background:linear-gradient(115deg,#15151b,#201e24);box-shadow:0 28px 90px rgba(0,0,0,.58)}.brand-panel,body.dark .brand-panel{padding:0 52px 48px;justify-content:flex-end;border-radius:30px 0 0 30px;background:radial-gradient(circle at 80% 10%,rgba(226,190,241,.9),transparent 13%),radial-gradient(circle at 76% 15%,rgba(120,102,241,.82),transparent 35%),radial-gradient(circle at 75% 28%,rgba(57,127,210,.52),transparent 48%),linear-gradient(155deg,#282632,#30303d 58%,#252f35)}.brand-panel::before{display:none}.brand-panel::after{display:none}.brand-panel .brand{display:none}.hero-copy{margin:0;max-width:490px}.eyebrow{color:#d9d1df;font-size:.76rem;letter-spacing:.12em}.hero-copy h1{margin:18px 0 0;color:#fff;font-size:clamp(2.6rem,4.5vw,4.2rem);line-height:1.06;letter-spacing:-.07em}.hero-copy h1 span{color:#fff}.hero-copy p,.features,.copyright{display:none}.auth-panel,body.dark .auth-panel{position:relative;max-width:none;margin:0;padding:28px clamp(44px,6vw,112px) 34px;border-radius:0 30px 30px 0;background:#201f27;color:#f7f5fa;justify-content:flex-start}.topbar{justify-content:flex-start;margin:0 0 58px}.mobile-logo{display:block;width:170px;height:auto;padding:0;background:transparent;filter:none}.auth-home,.theme-toggle{position:absolute;right:30px;top:26px;color:#bfb8c8}.theme-toggle{right:28px;top:25px;opacity:.72}.auth-home{right:118px}.portal-badge{display:none}.heading h2,body.dark .heading h2{color:#fff;font-size:clamp(2rem,3vw,3rem);letter-spacing:-.06em}.heading p,body.dark .heading p{max-width:470px;color:#beb8c5;font-size:1rem;line-height:1.5}.auth-panel label,body.dark .auth-panel label{margin-top:13px;color:#ddd7e2;font-size:.78rem}.auth-panel input:not([type=checkbox]),body.dark .auth-panel input:not([type=checkbox]){height:53px;border-color:rgba(255,255,255,.15);border-radius:13px;background:#2a2933;color:#fff}.auth-panel input:not([type=checkbox]):focus,body.dark .auth-panel input:not([type=checkbox]):focus{border-color:#a989df;box-shadow:0 0 0 4px rgba(164,127,222,.16);background:#2e2c37}.primary,body.dark .primary{height:54px;margin-top:16px;border-radius:14px;background:linear-gradient(100deg,#4c70e7,#9467cd);color:#fff;box-shadow:none}.primary:hover,body.dark .primary:hover{background:linear-gradient(100deg,#5b7ff0,#a476db);box-shadow:0 12px 28px rgba(103,83,198,.26)}.form-row,.switch{color:#bbb5c2}.switch button,.form-row a{color:#d5c0f4}.portal-note{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.1)!important}.password-wrap .eye{color:#c5bfcd}
@media(max-width:850px){.shell{display:block;min-height:100dvh;margin:0;padding:0;border-radius:0}.brand-panel{display:flex;min-height:240px;padding:34px 28px;border-radius:0;justify-content:flex-end}.auth-panel,body.dark .auth-panel{min-height:calc(100dvh - 240px);padding:30px 24px 44px;border-radius:0}.topbar{margin-bottom:38px}.auth-home{display:block;right:105px;top:28px}.theme-toggle{right:20px;top:26px}.mobile-logo{width:145px}.hero-copy h1{font-size:2.7rem}}

/* v144 — Shared authentication surfaces with softened edges. */
body:not(.landing-mode) .shell{border-radius:42px;background:linear-gradient(115deg,rgba(30,29,37,.96),rgba(39,37,47,.96));box-shadow:0 34px 108px rgba(0,0,0,.46),0 1px 0 rgba(255,255,255,.08) inset}
body:not(.landing-mode) .brand-panel{border-radius:38px 0 0 38px}body:not(.landing-mode) .auth-panel,body.dark:not(.landing-mode) .auth-panel{border-radius:0 38px 38px 0;background:linear-gradient(120deg,rgba(32,31,39,.96),rgba(37,35,45,.94))}
body:not(.landing-mode) .auth-panel input:not([type=checkbox]),body.dark:not(.landing-mode) .auth-panel input:not([type=checkbox]){border-color:rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
body:not(.landing-mode) .theme-toggle,body:not(.landing-mode) .auth-home{border-color:transparent;background:rgba(255,255,255,.055);box-shadow:0 7px 18px rgba(0,0,0,.12)}
@media(max-width:850px){body:not(.landing-mode) .shell,body:not(.landing-mode) .brand-panel,body:not(.landing-mode) .auth-panel,body.dark:not(.landing-mode) .auth-panel{border-radius:0}}

/* v145 — Distinct light and dark account themes for Login and Register. */
body:not(.landing-mode):not(.dark){background:radial-gradient(circle at 88% 8%,rgba(247,197,248,.60),transparent 27%),radial-gradient(circle at 10% 90%,rgba(152,194,255,.48),transparent 29%),#f8f8fc;color:#232635}
body:not(.landing-mode):not(.dark) .shell{background:rgba(255,255,255,.70);box-shadow:0 30px 90px rgba(56,62,94,.16),0 1px 0 rgba(255,255,255,.88) inset}
body:not(.landing-mode):not(.dark) .brand-panel{background:radial-gradient(circle at 80% 10%,rgba(255,216,239,.90),transparent 13%),radial-gradient(circle at 76% 15%,rgba(163,125,231,.79),transparent 35%),radial-gradient(circle at 75% 28%,rgba(88,143,221,.48),transparent 48%),linear-gradient(155deg,#292733,#383343 58%,#283037)}
body:not(.landing-mode):not(.dark) .auth-panel{background:linear-gradient(120deg,rgba(255,255,255,.88),rgba(250,249,255,.92));color:#252839}
body:not(.landing-mode):not(.dark) .auth-home,body:not(.landing-mode):not(.dark) .theme-toggle{color:#596178;background:rgba(255,255,255,.66);box-shadow:0 8px 20px rgba(55,59,94,.08)}
body:not(.landing-mode):not(.dark) .heading h2{color:#272a3a}body:not(.landing-mode):not(.dark) .heading p{color:#747c91}body:not(.landing-mode):not(.dark) .auth-panel label{color:#5c6377}
body:not(.landing-mode):not(.dark) .auth-panel input:not([type=checkbox]){border-color:rgba(116,125,154,.16);background:rgba(255,255,255,.72);color:#252839;box-shadow:inset 0 1px 0 rgba(255,255,255,.88)}
body:not(.landing-mode):not(.dark) .auth-panel input:not([type=checkbox]):focus{border-color:rgba(109,100,202,.52);box-shadow:0 0 0 4px rgba(117,105,208,.10),inset 0 1px 0 rgba(255,255,255,.88);background:#fff}
body:not(.landing-mode):not(.dark) .primary{background:linear-gradient(100deg,#3e60cf,#8064ba);box-shadow:0 13px 26px rgba(84,77,168,.20)}body:not(.landing-mode):not(.dark) .primary:hover{background:linear-gradient(100deg,#4f72e2,#916fce);box-shadow:0 17px 30px rgba(84,77,168,.25)}
body:not(.landing-mode):not(.dark) .form-row,body:not(.landing-mode):not(.dark) .switch{color:#7b8294}body:not(.landing-mode):not(.dark) .switch button,body:not(.landing-mode):not(.dark) .form-row a{color:#6256aa}body:not(.landing-mode):not(.dark) .portal-note{background:rgba(243,240,255,.62)!important;border-color:rgba(135,115,205,.10)!important;color:#596178}

body.dark:not(.landing-mode){background:radial-gradient(circle at 88% 8%,rgba(116,78,185,.35),transparent 28%),radial-gradient(circle at 10% 90%,rgba(27,126,159,.24),transparent 30%),#121218;color:#f6f1f9}
body.dark:not(.landing-mode) .shell{background:linear-gradient(115deg,rgba(21,20,27,.97),rgba(32,30,38,.97));box-shadow:0 36px 108px rgba(0,0,0,.58),0 1px 0 rgba(255,255,255,.05) inset}
body.dark:not(.landing-mode) .brand-panel{background:radial-gradient(circle at 80% 10%,rgba(234,197,248,.78),transparent 13%),radial-gradient(circle at 76% 15%,rgba(133,105,213,.73),transparent 35%),radial-gradient(circle at 75% 28%,rgba(59,127,210,.45),transparent 48%),linear-gradient(155deg,#24222c,#302e3a 58%,#232c31)}
body.dark:not(.landing-mode) .auth-panel{background:linear-gradient(120deg,rgba(31,30,38,.98),rgba(38,35,46,.96));color:#f7f5fa}
body.dark:not(.landing-mode) .auth-home,body.dark:not(.landing-mode) .theme-toggle{color:#d0c8d9;background:rgba(255,255,255,.055);box-shadow:0 8px 20px rgba(0,0,0,.18)}
body.dark:not(.landing-mode) .heading h2{color:#fff}body.dark:not(.landing-mode) .heading p{color:#c0bac8}body.dark:not(.landing-mode) .auth-panel label{color:#ded7e5}
body.dark:not(.landing-mode) .auth-panel input:not([type=checkbox]){border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.055);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
body.dark:not(.landing-mode) .auth-panel input:not([type=checkbox]):focus{border-color:rgba(180,139,235,.62);box-shadow:0 0 0 4px rgba(164,127,222,.15),inset 0 1px 0 rgba(255,255,255,.05);background:rgba(255,255,255,.08)}
body.dark:not(.landing-mode) .primary{background:linear-gradient(100deg,#4c70e7,#9467cd);color:#fff;box-shadow:0 13px 26px rgba(79,71,169,.22)}body.dark:not(.landing-mode) .primary:hover{background:linear-gradient(100deg,#5b7ff0,#a476db);box-shadow:0 17px 30px rgba(102,83,198,.30)}

/* v146 — One-screen account layouts at normal desktop and laptop heights. */
@media(min-width:851px) and (max-height:900px){
  body:not(.landing-mode) .shell{height:calc(100dvh - 32px);min-height:0;margin:16px auto;padding:20px}
  body:not(.landing-mode) .brand-panel{padding:0 42px 34px}
  body:not(.landing-mode) .auth-panel,body.dark:not(.landing-mode) .auth-panel{padding:20px clamp(34px,5vw,72px) 24px;overflow:hidden}
  body:not(.landing-mode) .topbar{margin:0 0 24px}
  body:not(.landing-mode) .mobile-logo{width:132px}
  body:not(.landing-mode) .auth-home,body:not(.landing-mode) .theme-toggle{top:18px}
  body:not(.landing-mode) .auth-home{right:106px}body:not(.landing-mode) .theme-toggle{right:18px}
  body:not(.landing-mode) .heading h2{font-size:clamp(1.9rem,3vw,2.45rem);margin-bottom:6px}
  body:not(.landing-mode) .heading p{margin-bottom:14px;font-size:.88rem;line-height:1.38}
  body:not(.landing-mode) .auth-panel label{margin-top:4px;font-size:.68rem}
  body:not(.landing-mode) .auth-panel input:not([type=checkbox]){height:40px;border-radius:11px}
  body:not(.landing-mode) .auth-panel form{gap:3px}
  body:not(.landing-mode) .form-row{margin:2px 0 5px}
  body:not(.landing-mode) .primary{height:43px;min-height:43px;margin-top:7px}
  body:not(.landing-mode) .switch{margin:9px 0 0}
  body:not(.landing-mode) .register-field-grid{gap:4px 10px}
  body:not(.landing-mode) .terms{margin:5px 0!important;line-height:1.2}
  body:not(.landing-mode) .portal-note{margin-top:7px;padding:7px 9px;font-size:.66rem;line-height:1.25}
  body:not(.landing-mode) .portal-note strong{font-size:.7rem}
}
@media(min-width:851px) and (max-height:720px){
  body:not(.landing-mode) .shell{height:calc(100dvh - 20px);margin:10px auto;padding:14px}
  body:not(.landing-mode) .brand-panel{padding:0 30px 24px}
  body:not(.landing-mode) .hero-copy h1{font-size:clamp(2rem,3.6vw,3rem)}
  body:not(.landing-mode) .auth-panel,body.dark:not(.landing-mode) .auth-panel{padding:14px clamp(26px,4vw,48px) 16px}
  body:not(.landing-mode) .topbar{margin-bottom:14px}body:not(.landing-mode) .mobile-logo{width:112px}
  body:not(.landing-mode) .heading h2{font-size:1.72rem}body:not(.landing-mode) .heading p{margin-bottom:8px;font-size:.79rem}
  body:not(.landing-mode) .auth-panel input:not([type=checkbox]){height:35px}
  body:not(.landing-mode) .primary{height:38px;min-height:38px;margin-top:4px}
  body:not(.landing-mode) .portal-note{display:none}
}

/* Restore a generous visual scale on normal laptop and desktop windows. */
@media(min-width:851px) and (min-height:761px) and (max-height:900px){
  body:not(.landing-mode) .shell{height:calc(100dvh - 40px);margin:20px auto;padding:24px}
  body:not(.landing-mode) .brand-panel{padding:0 48px 42px}
  body:not(.landing-mode) .auth-panel,body.dark:not(.landing-mode) .auth-panel{padding:26px clamp(42px,5.5vw,88px) 30px}
  body:not(.landing-mode) .topbar{margin-bottom:38px}
  body:not(.landing-mode) .mobile-logo{width:152px}
  body:not(.landing-mode) .auth-home,body:not(.landing-mode) .theme-toggle{top:23px}
  body:not(.landing-mode) .auth-home{right:116px}body:not(.landing-mode) .theme-toggle{right:24px}
  body:not(.landing-mode) .heading h2{font-size:clamp(2.2rem,3.2vw,2.85rem);margin-bottom:8px}
  body:not(.landing-mode) .heading p{margin-bottom:20px;font-size:.98rem;line-height:1.45}
  body:not(.landing-mode) .auth-panel label{margin-top:8px;font-size:.75rem}
  body:not(.landing-mode) .auth-panel input:not([type=checkbox]){height:47px;border-radius:13px}
  body:not(.landing-mode) .auth-panel form{gap:5px}
  body:not(.landing-mode) .form-row{margin:4px 0 9px}
  body:not(.landing-mode) .primary{height:49px;min-height:49px;margin-top:10px}
  body:not(.landing-mode) .switch{margin:13px 0 0;font-size:.78rem}
  body:not(.landing-mode) .register-field-grid{gap:6px 11px}
  body:not(.landing-mode) .terms{margin:8px 0!important}
  body:not(.landing-mode) .portal-note{margin-top:10px;padding:9px 11px;font-size:.72rem;line-height:1.3}
}

/* v147 — Deliberately larger working controls on full-size screens. */
@media(min-width:851px) and (min-height:761px){
  body:not(.landing-mode) .shell{max-width:min(1660px,calc(100vw - 40px))}
  body:not(.landing-mode) .auth-panel{padding-left:clamp(52px,6vw,112px);padding-right:clamp(52px,6vw,112px)}
  body:not(.landing-mode) .mobile-logo{width:178px}
  body:not(.landing-mode) #loginView .heading h2{font-size:clamp(2.75rem,4vw,3.55rem);letter-spacing:-.07em}
  body:not(.landing-mode) #loginView .heading p{font-size:1.08rem;margin-bottom:25px}
  body:not(.landing-mode) #loginView .auth-panel label,body:not(.landing-mode) #loginView label{font-size:.86rem}
  body:not(.landing-mode) #loginView input:not([type=checkbox]){height:58px;font-size:1rem;border-radius:15px;padding-left:18px}
  body:not(.landing-mode) #loginView .eye{top:14px;right:15px;font-size:.78rem}
  body:not(.landing-mode) #loginView .form-row{margin:8px 0 13px;font-size:.84rem}
  body:not(.landing-mode) #loginView .primary{height:60px;min-height:60px;margin-top:10px;font-size:1.04rem;border-radius:16px}
  body:not(.landing-mode) #loginView .switch{margin-top:16px;font-size:.86rem}
  body:not(.landing-mode) #registerView .heading h2{font-size:clamp(2.35rem,3.25vw,3rem)}
  body:not(.landing-mode) #registerView .heading p{font-size:1rem}
  body:not(.landing-mode) #registerView .auth-panel label,body:not(.landing-mode) #registerView label{font-size:.76rem}
  body:not(.landing-mode) #registerView input:not([type=checkbox]){height:45px;font-size:.88rem}
  body:not(.landing-mode) #registerView .primary{height:48px;min-height:48px;font-size:.95rem}
}

/* v149 — supplied prismatic artwork for the account-story panel. */
body:not(.landing-mode) .brand-panel,
body.dark:not(.landing-mode) .brand-panel{
  background:
    linear-gradient(138deg,rgba(5,7,12,.72),rgba(8,10,16,.28) 54%,rgba(4,6,11,.68)),
    url("auth-prismatic.jpg") center 48% / cover no-repeat;
}

/* v148 — Let the desktop login form occupy the full right-hand workspace. */
@media(min-width:851px) and (min-height:761px){
  body:not(.landing-mode) .auth-panel:has(#loginView:not(.hidden)){display:flex;flex-direction:column;justify-content:flex-start}
  body:not(.landing-mode) .auth-panel:has(#loginView:not(.hidden)) #loginView{display:flex;flex:1;width:min(100%,720px);min-height:0;align-self:center;flex-direction:column;justify-content:center;padding:0 0 18px}
  body:not(.landing-mode) .auth-panel:has(#loginView:not(.hidden)) .topbar{flex:none;margin-bottom:0}
  body:not(.landing-mode) #loginView .heading{margin:0}
  body:not(.landing-mode) #loginView .heading h2{font-size:clamp(3rem,4.25vw,3.8rem);line-height:1.02}
  body:not(.landing-mode) #loginView .heading p{font-size:1.12rem;line-height:1.48;margin:13px 0 0}
  body:not(.landing-mode) #loginView form{gap:7px}
  body:not(.landing-mode) #loginView label{font-size:.9rem;margin-top:0}
  body:not(.landing-mode) #loginView input:not([type=checkbox]){height:64px;font-size:1.06rem;border-radius:16px;padding-left:20px}
  body:not(.landing-mode) #loginView .eye{top:18px;right:18px;font-size:.82rem}
  body:not(.landing-mode) #loginView .form-row{margin:10px 0 16px;font-size:.88rem}
  body:not(.landing-mode) #loginView .primary{height:66px;min-height:66px;margin-top:0;font-size:1.08rem;border-radius:17px}
  body:not(.landing-mode) #loginView .switch{margin:0;font-size:.9rem}
}

/* v151 — Centre the complete desktop login workspace, not only its controls. */
@media(min-width:851px) and (min-height:690px){
  body:not(.landing-mode) .auth-panel{display:flex!important;flex-direction:column!important}
  body:not(.landing-mode) .auth-panel>.topbar{flex:none!important}
  body:not(.landing-mode) .auth-panel>#loginView:not(.hidden){display:flex!important;flex:1 1 auto!important;width:min(100%,720px)!important;min-height:0!important;align-self:center!important;flex-direction:column!important;justify-content:center!important;padding:0 0 26px!important}
}

/* v152 — Light mode uses the supplied pearl-prismatic wallpaper; dark keeps the night artwork. */
body:not(.landing-mode):not(.dark) .brand-panel{
  background:
    linear-gradient(148deg,rgba(255,255,255,.18),rgba(245,248,255,.08) 52%,rgba(255,255,255,.32)),
    url("auth-prismatic-light.png") center 48% / cover no-repeat;
}
body:not(.landing-mode):not(.dark) .brand-panel .eyebrow{color:#34415a;text-shadow:0 1px 14px rgba(255,255,255,.92)}
body:not(.landing-mode):not(.dark) .brand-panel .hero-copy h1,
body:not(.landing-mode):not(.dark) .brand-panel .hero-copy h1 span{color:#172338;text-shadow:0 2px 18px rgba(255,255,255,.78)}

/* v153 — Keep the official dark-lettered logo crisp on dark account screens. */
body.dark:not(.landing-mode) .mobile-logo{
  box-sizing:content-box;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:17px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(235,239,250,.94));
  box-shadow:0 12px 28px rgba(0,0,0,.28),0 1px 0 rgba(255,255,255,.84) inset;
  filter:drop-shadow(0 2px 5px rgba(9,15,34,.14));
}
