
    :root {
      --ink: #13293B; --ink-muted: #687B88; --ink-soft: #92A0AB;
      --brand-950: #071B29; --brand-900: #0B2737; --brand-850: #0D3643; --brand-700: #0C5660;
      --teal: #12877E; --teal-strong: #0B736B; --teal-tint: #E7F5F1;
      --blue: #376FA6; --blue-tint: #EAF3FB;
      --line: #E3EAEE; --line-strong: #CAD7DD; --page: #F9FAFB; --card: #FFFFFF;
      --error: #BA4144; --error-bg: #FFF4F3; --success: #0E866D;
      --radius-card: 24px; --radius-input: 12px; --shadow: 0 28px 74px rgba(18,51,67,.045);
      --ease: cubic-bezier(.2,.7,.2,1);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { min-height: 100%; scroll-behavior: smooth; }
    body { margin: 0; min-height: 100vh; background: var(--page); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'PingFang SC', 'Microsoft YaHei', sans-serif; -webkit-font-smoothing: antialiased; }
    button,input,select { font: inherit; }
    button { cursor: pointer; }
    button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(36,162,153,.34); outline-offset: 3px; }
    button:disabled { cursor: wait; opacity: .55; }
    .hide { display: none !important; }
    .sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
    .icon { width: 18px; height: 18px; display: block; flex: none; stroke: currentColor; stroke-width: 1.7; fill: none; stroke-linecap: round; stroke-linejoin: round; }
    .icon-sm { width: 16px; height: 16px; } .icon-lg { width: 22px; height: 22px; }

    .page { min-height: 100svh; display: grid; grid-template-columns: minmax(0, 49%) minmax(0, 51%); }
    .brand-panel { background: radial-gradient(ellipse at 86% 2%, rgba(33,117,132,.24), transparent 47%), radial-gradient(ellipse at 7% 86%, rgba(33,118,109,.22), transparent 39%), linear-gradient(142deg,#071A29 0%,#092738 55%,#0A3440 100%); position: relative; color: #FFF; padding: 40px clamp(40px,4.6vw,84px) 34px; overflow: hidden; display: flex; flex-direction: column; isolation: isolate; min-height: 100svh; }
    .brand-panel::before { content: ''; position: absolute; inset: 0; opacity: .3; background: radial-gradient(circle at 36% 58%,rgba(119,225,214,.16),transparent 44%); pointer-events: none; }
    .brand-panel::after { content: ''; position: absolute; inset: 0; pointer-events:none; background: linear-gradient(90deg,rgba(225,255,252,.027) 1px,transparent 1px), linear-gradient(rgba(225,255,252,.027) 1px,transparent 1px); background-size: 60px 60px; opacity:.8; mask-image:linear-gradient(115deg,transparent,black 52%,transparent); }
    .brand-panel > * { position: relative; z-index: 1; }
    .brand-head { display: flex; align-items: center; gap: 13px; }
    .brand-logo { width: 42px; height: 42px; display: grid; place-items: center; background: rgba(226,255,248,.07); border: 1px solid rgba(205,255,243,.22); border-radius: 13px; box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
    .brand-name { letter-spacing:-.045em; font-weight: 700; font-size: 24px; line-height: 1; }
    .brand-sub { display: block; color: #96B8C0; font-size: 10px; letter-spacing:.16em; margin-top: 8px; font-weight: 600; }
    .hero-content { margin: auto 0; padding: clamp(48px,7vh,80px) 0 0; }
    .eyebrow { display:flex; gap:12px; align-items: center; color:#A2DDCF; font-size:10px; letter-spacing:.21em; font-weight: 750; }
    .eyebrow .dash { display:inline-block;width:24px;height:1px;background:#8ADACA; }
    .hero-title { margin: 21px 0 18px; font-size: clamp(36px, 3.35vw, 56px); line-height: 1.24; letter-spacing: -.045em; font-weight: 650; }
    .hero-title span { color: #A7E8D9; }
    .hero-subtitle { font-size: 14px; color:#A9C6CE; line-height: 1.92; max-width:440px; margin:0; letter-spacing:.012em; }
    .visual-stage { position:relative; width: min(100%, 660px); height: clamp(290px,39vh,388px); margin: 14px auto 0; isolation: isolate; }
    .visual-stage::before { content:''; position:absolute; inset:10% 8%; background:radial-gradient(ellipse at 50% 58%,rgba(83,228,208,.17),transparent 66%); filter:blur(25px); z-index:-1; animation:glowBreath 8s ease-in-out infinite; }
    .network-svg { position:absolute; inset:0; display:block; width:100%; height:100%; overflow:visible; }
    .orbit-outer { transform-origin: 50% 51%; animation: orbitLeft 48s linear infinite; }
    .orbit-mid { transform-origin: 50% 51%; animation: orbitRight 37s linear infinite; }
    .orbit-tiny { transform-origin: 50% 51%; animation: orbitLeft 29s linear infinite; }
    .network-bob { transform-origin: center; animation: visualFloat 9s ease-in-out infinite; }
    .beam-pulse { stroke-dasharray: 4 15; animation: beamFlow 15s linear infinite; }
    .point-a { animation: pointGlow 4.5s ease-in-out infinite; } .point-b {animation:pointGlow 5.4s ease-in-out -2s infinite;} .point-c {animation:pointGlow 4.8s ease-in-out -1s infinite;}
    .glass-card { position:absolute; z-index:2; border-radius:15px; padding:12px 14px; background:linear-gradient(130deg,rgba(25,72,85,.76),rgba(18,49,67,.59)); border:1px solid rgba(157,223,225,.2); box-shadow: 0 18px 42px rgba(0,12,25,.19), inset 0 1px 0 rgba(255,255,255,.065); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
    .glass-card.one { top:29px; left:-13px; width:146px; animation:cardHover 9s ease-in-out infinite; }
    .glass-card.two { top:75px; right:-2px; width:152px; animation:cardHover 10s ease-in-out -3s infinite; }
    .glass-card.three { bottom:19px; left:25px; width:172px; animation:cardHover 8s ease-in-out -5s infinite; }
    .glass-top { display:flex; align-items:center; gap:8px; text-transform:uppercase; color:#B7DFDF; font-size:9px; font-weight:720; letter-spacing:.13em; }
    .glass-top .light {height:6px;width:6px;background:#77E9C5;box-shadow:0 0 10px rgba(119,233,197,.8);border-radius:50%;}
    .glass-main { color:#EDFDFC; font-size:14px; font-weight:670; letter-spacing:.02em; margin:11px 0 3px; }
    .glass-note { font-size:10px; color:#9DBBC6; white-space:nowrap; }
    .brand-foot { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:11px; color:#83A9B3; border-top:1px solid rgba(204,255,247,.12); padding-top:18px; }
    .brand-foot .foot-left { display:flex; align-items:center; gap:9px; } .foot-pulse {width:6px;height:6px;border-radius:50%;background:#7BCEB8;box-shadow:0 0 0 4px rgba(123,206,184,.1)}

    .auth-panel { min-width: 0; position:relative; display:flex; flex-direction:column; padding:34px clamp(30px,5vw,94px) 30px; background:radial-gradient(ellipse 64% 43% at 100% 0%,#ECF4F2 0%,transparent 98%),#FCFDFD; }
    .auth-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .auth-top-label {display:flex;align-items:center;gap:8px;color:#70838A;font-size:11px;letter-spacing:.04em;font-weight:650}
    .top-mark {width:7px;height:7px;background:#219688;border-radius:50%;box-shadow:0 0 0 4px #E5F5EF}
    .help-button { border:1px solid #E4ECEF; color:#526D78; background:rgba(255,255,255,.78); border-radius:24px; display:flex;gap:8px;align-items:center;padding:9px 12px; font-size:12px; transition:background .2s,border-color .2s,transform .2s; }
    .help-button:hover {background:#FFF;border-color:#C5D8DC;transform:translateY(-1px)}
    .auth-center {width:min(100%, 420px);margin:auto; padding:40px 0 32px; }
    .auth-indicator {display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.07em;font-weight:690;color:var(--teal-strong);margin-bottom:18px}
    .auth-indicator .bar {width:18px;height:2px;border-radius:6px;background:#1EA597}
    .auth-title { font-size:clamp(31px,2.7vw,40px);line-height:1.23;letter-spacing:-.052em;font-weight:700;margin:0 0 13px; }
    .auth-caption {font-size:13px;line-height:1.87;color:var(--ink-muted);margin:0 0 34px;}
    .screen-enter {animation:screenIn .36s var(--ease) both;}
    .label {display:block;font-size:12px;font-weight:670;color:#304754;margin-bottom:11px}
    .input-shell {position:relative;display:flex;align-items:center;height:52px;background:#FFF;border:1px solid #DCE6E9;border-radius:12px;box-shadow:0 1px 2px rgba(20,60,70,.02);transition:border-color .2s,box-shadow .2s;}
    .input-shell:focus-within {border-color:#57B6A9;box-shadow:0 0 0 4px rgba(42,169,151,.09)}
    .input-shell.error {border-color:#CD7779;background:#FFFDFD}
    .input-glyph {width:18px;height:18px;margin:0 13px 0 16px;color:#99AAB1;flex:none}
    .input {border:0;outline:0;background:transparent;min-width:0;flex:1;width:100%;height:100%;font-size:14px;color:var(--ink);font-weight:530;letter-spacing:.01em}
    .input::placeholder {color:#A3B0B7;font-weight:400}.input:focus-visible{outline:0}
    .field {margin:0 0 22px}
    .field-note {margin:9px 0 0;font-size:11px;color:#92A0A7;line-height:1.6}
    .icon-button {background:transparent;border:0;color:#91A2AA;padding:12px;margin-right:3px;display:grid;place-items:center;border-radius:8px}.icon-button:hover{color:#1B695F;background:#F0F7F5}
    .primary-btn {width:100%;height:54px;display:flex;justify-content:center;align-items:center;gap:12px;background:linear-gradient(104deg,#0C3946,#0D5A5D);border:1px solid #0C4C57;border-radius:12px;color:#FFF;box-shadow:0 12px 24px rgba(12,71,76,.14);font-size:14px;font-weight:680;letter-spacing:.025em;transition:transform .24s,box-shadow .24s,filter .24s;position:relative;overflow:hidden}
    .primary-btn::after {content:'';position:absolute;top:0;bottom:0;width:90px;left:-130px;transform:skewX(-17deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transition:left .55s var(--ease)}
    .primary-btn:hover {transform:translateY(-2px);box-shadow:0 15px 26px rgba(12,71,76,.19);filter:saturate(1.08)} .primary-btn:hover::after{left:calc(100% + 140px)}
    .primary-btn:active{transform:translateY(0)}
    .text-button {padding:6px 0;border:0;background:transparent;font-weight:660;font-size:12px;color:#0D7971;transition:color .2s}
    .text-button:hover {color:#0A4A4D;text-decoration:underline;text-underline-offset:3px}
    .form-meta {margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:#8E9FA7;}
    .privacy-note {margin-top:34px;display:flex;gap:10px;align-items:flex-start;padding-top:23px;border-top:1px solid #E7EDEF;color:#91A1A7;font-size:11px;line-height:1.7}
    .privacy-note .icon {margin-top:1px;color:#789F9B}
    .auth-foot {display:flex;justify-content:space-between;align-items:center;gap:14px;color:#9DAAB1;font-size:10px;line-height:1.5}
    .auth-foot .voltmind-small {display:flex;align-items:center;gap:7px;font-size:11px;color:#83959D;font-weight:680;letter-spacing:-.02em}
    .mini-symbol {height:19px;width:19px;border-radius:7px;background:#E5F2F0;display:grid;place-items:center;color:#0B766F}
    .message {padding:12px 14px;border-radius:11px;border:1px solid transparent;font-size:12px;line-height:1.7;margin-bottom:18px;display:flex;align-items:flex-start;gap:8px}
    .message.error {background:var(--error-bg);color:var(--error);border-color:#F6DADB}
    .message.info {background:#EFF8F5;color:#1B7469;border-color:#D8EBE5}
    .account-preview {display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #E0EBEA;background:linear-gradient(115deg,#F7FBF9,#F1F7F5);border-radius:14px;padding:12px 14px;margin-bottom:22px}
    .account-info {display:flex;align-items:center;gap:12px;min-width:0}
    .account-avatar {width:35px;height:35px;display:grid;place-items:center;border-radius:11px;color:#24766C;background:#DDEFE8;font-size:14px;font-weight:750}
    .account-id{font-size:12px;font-weight:670;color:#31515A;overflow-wrap:anywhere}.account-org{font-size:11px;color:#779196;margin-top:4px;line-height:1.5}
    .section-kicker {font-size:11px;font-weight:750;letter-spacing:.11em;color:#18877E;margin-bottom:14px}
    .choice-stack {display:flex;flex-direction:column;gap:11px;margin-top:24px}
    .choice-card {display:flex;align-items:center;gap:15px;width:100%;text-align:left;border-radius:16px;border:1px solid #E2EAEF;background:#FFF;padding:15px 16px;position:relative;overflow:hidden;transition:border .22s,box-shadow .22s,transform .22s;}
    .choice-card::before{content:'';position:absolute;width:120px;height:120px;border-radius:50%;right:-66px;top:-77px;background:radial-gradient(circle,rgba(91,188,171,.1),transparent 70%);transition:transform .3s;pointer-events:none}
    .choice-card:hover {transform:translateY(-2px);border-color:#93CFC6;box-shadow:0 16px 30px rgba(20,69,79,.085)}
    .choice-card:hover::before{transform:scale(1.5)}
    .choice-icon{height:50px;width:50px;border-radius:14px;display:grid;place-items:center;flex:none;background:#E7F5F0;color:#0C8D7B}
    .choice-icon.trade{background:#EDF4FA;color:#3677AE}.choice-icon.tenant{background:#EDF2F6;color:#5F7A8C}
    .choice-title{font-size:14px;line-height:1.5;font-weight:700;margin:0 0 3px;color:#1C3744}
    .choice-subtitle{font-size:11px;line-height:1.55;color:#8797A0;margin:0}
    .choice-body{flex:1;min-width:0}
    .choice-arrow{width:30px;height:30px;border-radius:50%;background:#F6F9F9;color:#91A7B0;display:grid;place-items:center;flex:none;transition:transform .2s,background .2s}
    .choice-card:hover .choice-arrow{transform:translateX(2px);background:#E7F4F1;color:#0D766F}
    .choice-tag {display:inline-block;font-size:10px;font-weight:640;padding:3px 7px;background:#EAF5F1;color:#2A8276;border-radius:5px;margin-top:8px}
    .context-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #E7EEEE;border-radius:11px;background:#F7FAFA;margin:5px 0 17px}
    .context-bar small{display:block;font-size:10px;color:#8D9FA7;margin-bottom:3px}.context-bar strong{font-size:12px;color:#405761}
    .skeleton{height:59px;border-radius:13px;background:linear-gradient(90deg,#EDF3F4,#FAFCFC,#EDF3F4);background-size:220% 100%;animation:skeleton 1.9s linear infinite;margin:12px 0}.skeleton.short{width:67%}
    .state-icon {width:58px;height:58px;border-radius:16px;background:#EEF7F4;color:#258F80;display:grid;place-items:center;margin:0 0 24px}
    .state-icon.warn{background:#FFF5E7;color:#B58236}
    .state-icon svg{width:26px;height:26px}
    .workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
    .info-cell{background:#F7FAFA;border:1px solid #E8EFF0;border-radius:12px;padding:13px}
    .info-cell small{font-size:10px;color:#90A2AA;display:block;margin-bottom:7px}
    .info-cell strong{font-size:12px;font-weight:690;color:#2C4A57;overflow-wrap:anywhere;line-height:1.6;display:block}
    .route-box{background:#F4F8F7;border:1px solid #DCEAE6;border-radius:12px;padding:13px;font-size:11px;line-height:1.85;color:#6B858B;overflow-wrap:anywhere}.route-box code{color:#0D746B;display:block;margin-top:4px}
    .actions{display:flex;gap:9px;flex-wrap:wrap;margin:19px 0}
    .secondary-btn{padding:10px 12px;border:1px solid #D7E4E5;border-radius:10px;background:#FFF;color:#375A66;font-size:11px;font-weight:680;transition:background .2s,border-color .2s,transform .2s}
    .secondary-btn:hover{background:#F5FAF8;border-color:#A9CDCA;transform:translateY(-1px)}
    .status-pill{display:inline-flex;gap:7px;align-items:center;color:#1D8678;font-size:11px;font-weight:640;background:#E7F5EF;padding:7px 10px;border-radius:99px}.status-pill i{width:6px;height:6px;border-radius:50%;background:#32A98A}
    .toast {position:fixed;z-index:15;right:30px;top:30px;max-width:min(360px,calc(100vw - 40px));display:flex;gap:9px;padding:13px 17px;background:#153A48;color:#E9F8F6;border:1px solid rgba(255,255,255,.14);border-radius:12px;box-shadow:0 20px 50px rgba(5,31,45,.19);font-size:12px;line-height:1.65;animation:screenIn .3s both}

    /* Prototype controls are intentionally visually separate from the actual login UI. */
    .demo-launch {position:fixed;right:22px;bottom:20px;z-index:25;height:44px;border-radius:24px;border:1px solid #D5E5E7;background:rgba(255,255,255,.91);color:#526C77;display:flex;align-items:center;gap:8px;padding:0 14px;font-size:11px;font-weight:680;letter-spacing:.03em;box-shadow:0 8px 24px rgba(9,45,59,.1);backdrop-filter:blur(14px);transition:transform .2s,box-shadow .2s}
    .demo-launch:hover {transform:translateY(-2px);box-shadow:0 12px 30px rgba(9,45,59,.15)}
    .demo-launch .demo-dot{width:7px;height:7px;border-radius:50%;background:#33AD9D}
    .demo-overlay{position:fixed;inset:0;z-index:35;display:flex;align-items:stretch;justify-content:flex-end;background:rgba(5,19,30,.34);backdrop-filter:blur(4px);animation:fadeIn .22s ease-out both}
    .demo-drawer{background:#FFF;max-width:min(400px,100%);width:100%;height:100%;overflow:auto;padding:26px 26px 32px;box-shadow:-24px 0 60px rgba(5,19,30,.16);animation:drawerIn .3s var(--ease) both}
    .drawer-top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:19px;border-bottom:1px solid #E4ECEE}
    .drawer-top h2{margin:0;font-size:18px;letter-spacing:-.03em}.drawer-desc{color:#7A919D;font-size:12px;line-height:1.8;margin:18px 0 24px}
    .drawer-label{font-size:11px;color:#70858E;font-weight:720;letter-spacing:.07em;margin:20px 0 10px}
    .scenario-option{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 12px;background:#FFF;border:1px solid #E5EBEE;border-radius:11px;margin-bottom:8px;color:#344E5B;font-size:12px;font-weight:600;transition:background .2s,border-color .2s}
    .scenario-option:hover{background:#F7FBFA;border-color:#ABCDC8}.scenario-option[aria-pressed=true]{background:#EDF8F4;border-color:#6CB7A7;color:#0C786C}
    .scenario-radio{width:15px;height:15px;border:1.5px solid #BACCD1;border-radius:50%;flex:none}.scenario-option[aria-pressed=true] .scenario-radio{border:5px solid #188A7F}
    .drawer-note{color:#889AA1;font-size:11px;line-height:1.7;border-top:1px solid #E9EFF0;padding-top:20px;margin-top:24px}
    .drawer-close{height:34px;width:34px;border-radius:9px;border:1px solid #E0E9EC;color:#69808A;background:#FFF;display:grid;place-items:center}
    .drawer-close:hover{background:#F1F8F6}
    .demo-current{font-size:11px;color:#8999A2;margin-top:14px;line-height:1.8;overflow-wrap:anywhere}
    .return-link{display:flex;gap:7px;align-items:center;margin-bottom:14px}

    @keyframes orbitLeft {to{transform:rotate(360deg)}} @keyframes orbitRight {to{transform:rotate(-360deg)}}
    @keyframes glowBreath{0%,100%{opacity:.65;transform:scale(.98)}50%{opacity:1;transform:scale(1.07)}}
    @keyframes visualFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
    @keyframes pointGlow{0%,100%{opacity:.45}55%{opacity:1}}
    @keyframes beamFlow{to{stroke-dashoffset:-300}}
    @keyframes cardHover{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
    @keyframes skeleton{to{background-position:-220% 0}}
    @keyframes screenIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
    @keyframes drawerIn{from{transform:translateX(24px);opacity:.7}to{transform:translateX(0);opacity:1}}
    @keyframes fadeIn{from{opacity:0}to{opacity:1}}

    @media(max-width:1199px){ .brand-panel {padding-inline:42px} .auth-panel{padding-inline:48px}.glass-card.one{left:-8px}.glass-card.two{right:-8px} }
    @media(max-width:1010px){
      .page{grid-template-columns:44% 56%}
      .brand-panel{padding-inline:30px}.auth-panel{padding-inline:38px}
      .hero-title{font-size:clamp(34px,3.8vw,46px)}
      .visual-stage{height:310px}.glass-card.two{top:91px;width:140px}.glass-card.one{left:-14px}
    }
    @media(max-width:767px){
      .page{display:block;background:#FCFDFD}
      .brand-panel{min-height:0;padding:23px 22px 28px;overflow:hidden}
      .brand-head{gap:10px}.brand-logo{width:35px;height:35px;border-radius:10px}.brand-name{font-size:20px}.brand-sub{font-size:9px;margin-top:5px}
      .hero-content{padding:31px 0 0}.eyebrow{font-size:9px}.hero-title{font-size:31px;line-height:1.22;margin:15px 0 10px}.hero-subtitle{font-size:12px;line-height:1.75;max-width:330px}
      .visual-stage{position:absolute;right:-75px;top:54px;width:245px;height:225px;opacity:.36;pointer-events:none}.visual-stage .glass-card{display:none}
      .brand-foot{display:none}
      .auth-panel{padding:24px 22px 76px;min-height:calc(100svh - 240px)}
      .auth-center{padding:52px 0 35px;width:min(100%,440px)}.auth-title{font-size:31px}
      .auth-caption{margin-bottom:27px}.privacy-note{margin-top:32px}.auth-foot{font-size:9px}
      .demo-launch{bottom:13px;right:13px;padding:0 12px;height:40px}
      .toast{top:16px;right:16px}
    }
    @media(max-width:390px){.hero-title{font-size:28px}.hero-subtitle{max-width:260px}.visual-stage{opacity:.28}.auth-panel{padding-inline:17px}.auth-title{font-size:29px}.workspace-grid{grid-template-columns:1fr}}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
  

/* ---- Existing login state machine, restyled to V3 ---- */
[hidden] { display: none !important; }
.login-page { background: var(--page); }
.login-page .page { min-height: 100svh; }
.login-page .auth-panel { min-height: 100svh; }
.login-page .login-form-wrap {
  width: 100%; max-width: 420px; margin: 0 auto; padding: 0;
  animation: screenIn .36s var(--ease) both;
}
.login-page .login-form-wrap[hidden] { display: none !important; }
.login-page .login-form-header { margin: 0 0 30px; }
.login-page .login-form-header::before {
  content: "WELCOME BACK"; display: flex; align-items: center; gap: 8px;
  color: var(--teal-strong); font-size: 11px; letter-spacing: .12em; font-weight: 750; margin-bottom: 18px;
}
.login-page .login-form-header::after {
  content: ""; display: block; width: 18px; height: 2px; border-radius: 6px; background: #1EA597; margin-top: -11px;
}
.login-page .login-form-brand { display: none; }
.login-page #login-brand-name {
  font-size: clamp(31px, 2.7vw, 40px); line-height: 1.23; letter-spacing: -.052em;
  font-weight: 700; margin: 0 0 13px; color: var(--ink);
}
.login-page #login-brand-subtitle {
  font-size: 13px; line-height: 1.87; color: var(--ink-muted); margin: 0 0 30px;
}
.login-page .login-form { margin: 0; }
.login-page .login-form-fields { display: block; }
.login-page .login-field { margin: 0 0 22px; }
.login-page .login-field label {
  display: block; font-size: 12px; font-weight: 670; color: #304754; margin-bottom: 11px;
}
.login-page .login-input-wrap {
  position: relative; display: flex; align-items: center; height: 52px; background: #FFF;
  border: 1px solid #DCE6E9; border-radius: 12px; box-shadow: 0 1px 2px rgba(20,60,70,.02);
  transition: border-color .2s, box-shadow .2s;
}
.login-page .login-input-wrap:focus-within { border-color: #57B6A9; box-shadow: 0 0 0 4px rgba(42,169,151,.09); }
.login-page .login-field.is-invalid .login-input-wrap { border-color: #CD7779; background: #FFFDFD; }
.login-page .login-input-icon { width: 18px; height: 18px; margin: 0 13px 0 16px; color: #99AAB1; flex: none; display: grid; place-items: center; }
.login-page .login-input-icon svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.login-page .login-input-wrap input {
  border: 0; outline: 0; background: transparent; min-width: 0; flex: 1; width: 100%; height: 100%;
  font-size: 14px; color: var(--ink); font-weight: 530; letter-spacing: .01em; padding: 0 14px 0 0;
}
.login-page .login-input-wrap input::placeholder { color: #A3B0B7; font-weight: 400; }
.login-page .login-input-wrap input:focus-visible { outline: 0; }
.login-page .login-field-error { margin: 7px 0 0; color: var(--error); font-size: 11px; line-height: 1.5; }
.login-page .login-submit {
  width: 100%; min-height: 54px; display: inline-flex; justify-content: center; align-items: center; gap: 10px;
  background: linear-gradient(104deg,#0C3946,#0D5A5D); border: 1px solid #0C4C57; border-radius: 12px;
  color: #FFF; box-shadow: 0 12px 24px rgba(12,71,76,.14); font-size: 14px; font-weight: 680;
  letter-spacing: .025em; transition: transform .24s, box-shadow .24s, filter .24s; position: relative; overflow: hidden;
}
.login-page .login-submit:hover { transform: translateY(-2px); box-shadow: 0 15px 26px rgba(12,71,76,.19); filter: saturate(1.08); }
.login-page .login-submit:active { transform: translateY(0); }
.login-page .login-submit:disabled { opacity: .55; }
.login-page .login-submit--sso { margin-top: 12px; background: #FFF; color: var(--teal-strong); border-color: #BFDCD6; box-shadow: none; }
.login-page .login-submit--sso:hover { background: #F1FAF6; }
.login-page .login-secondary {
  display: block; width: 100%; min-height: 46px; margin-top: 10px; border: 1px solid #D7E4E5;
  border-radius: 10px; background: #FFF; color: #375A66; font-size: 12px; font-weight: 680;
  text-align: center; line-height: 44px; text-decoration: none; transition: background .2s,border-color .2s,transform .2s;
}
.login-page .login-secondary:hover { background: #F5FAF8; border-color: #A9CDCA; transform: translateY(-1px); }
.login-page .login-secondary--link { line-height: 44px; }
.login-page .login-error, .login-page .login-field-error { }
.login-page .login-error {
  padding: 12px 14px; border-radius: 11px; border: 1px solid #F6DADB; background: var(--error-bg);
  color: var(--error); font-size: 12px; line-height: 1.7; margin: 0 0 20px;
}
.login-page .login-error.is-success { background: #EFF8F5; color: #1B7469; border-color: #D8EBE5; }
.login-page .login-identity-summary {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 22px;
  padding: 12px 14px; background: linear-gradient(115deg,#F7FBF9,#F1F7F5); border: 1px solid #E0EBEA; border-radius: 14px;
  font-size: 12px; color: #31515A; font-weight: 670; overflow-wrap: anywhere;
}
.login-page .login-identity-summary button { border: 0; background: transparent; color: var(--teal-strong); font-size: 12px; font-weight: 660; }
.login-page .login-toggle-pwd {
  width: 42px; height: 42px; margin-right: 3px; border: 0; border-radius: 8px; background: transparent;
  color: #91A2AA; display: grid; place-items: center;
}
.login-page .login-toggle-pwd:hover { color: #1B695F; background: #F0F7F5; }
.login-page .login-toggle-pwd::before { content: "◉"; font-size: 14px; }
.login-page .login-toggle-pwd.is-visible::before { content: "◌"; }
.login-page .login-options { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -5px 0 20px; font-size: 12px; color: #8E9FA7; }
.login-page .login-remember { display: flex; align-items: center; gap: 7px; cursor: pointer; }
.login-page .login-remember input { accent-color: var(--teal-strong); width: 14px; height: 14px; }
.login-page .login-forgot, .login-page .text-button, .login-page .login-identity-summary button { color: var(--teal-strong); text-decoration: none; }
.login-page .login-forgot:hover { text-decoration: underline; text-underline-offset: 3px; }
.login-page .login-method-note { margin: 12px 0 0; color: #91A1A7; font-size: 11px; line-height: 1.7; }
.login-page .login-context-card {
  display: grid; gap: 10px; margin: 0 0 22px; padding: 15px; border: 1px solid #E7EEEE; border-radius: 12px; background: #F7FAFA;
}
.login-page .login-context-card div { display: flex; justify-content: space-between; gap: 14px; font-size: 12px; color: #6B858B; }
.login-page .login-context-card strong { color: #31515A; font-weight: 670; text-align: right; }
.login-page .login-enrollment { padding: 13px; border: 1px solid #D8EBE5; background: #EFF8F5; border-radius: 11px; margin: 0 0 18px; font-size: 12px; line-height: 1.7; color: #35605E; }
.login-page .login-enrollment code { display: block; margin-top: 8px; font-size: 14px; color: #0B6C62; overflow-wrap: anywhere; }
.login-page .login-recovery-codes pre { background: #F4F8F7; padding: 14px; border-radius: 10px; overflow: auto; font-size: 12px; }
.login-page .login-page-footer { display: none; }

/* Context selection cards generated by login.js */
.login-page .login-selection-list { display: flex; flex-direction: column; gap: 11px; margin-top: 22px; }
.login-page .login-selection-item {
  display: flex; align-items: center; gap: 15px; width: 100%; text-align: left; border-radius: 16px;
  border: 1px solid #E2EAEF; background: #FFF; padding: 15px 16px; position: relative; overflow: hidden;
  transition: border .22s, box-shadow .22s, transform .22s; cursor: pointer;
}
.login-page .login-selection-icon {
  width: 42px; height: 42px; border-radius: 13px; flex: none; display: grid; place-items: center;
  background: #E7F5F0; color: #0C8D7B;
}
.login-page .login-selection-icon svg { width: 22px; height: 22px; stroke: currentColor; }
.login-page .login-selection-item:hover { transform: translateY(-2px); border-color: #93CFC6; box-shadow: 0 16px 30px rgba(20,69,79,.085); }
.login-page .login-selection-copy { flex: 1; min-width: 0; }
.login-page .login-selection-item strong { display: block; font-size: 14px; line-height: 1.5; font-weight: 700; color: #1C3744; }
.login-page .login-selection-item .login-selection-copy span { display: block; font-size: 11px; line-height: 1.55; color: #8797A0; margin-top: 3px; }
.login-page .login-selection-arrow { margin-left: auto; color: #91A7B0; font-size: 24px; font-weight: 400; }

.login-page .auth-center { padding-top: 34px; padding-bottom: 30px; }
.login-page .auth-foot { gap: 18px; }
.login-page .auth-foot > span { text-align: right; }
@media (max-width: 767px) {
  .login-page .brand-panel { min-height: 310px; padding: 25px 24px 20px; }
  .login-page .hero-content { padding-top: 30px; }
  .login-page .hero-title { font-size: 31px; margin: 15px 0 10px; }
  .login-page .hero-subtitle { font-size: 12px; line-height: 1.75; max-width: 320px; }
  .login-page .visual-stage { position: absolute; inset: auto -20px -75px auto; width: 310px; height: 250px; opacity: .32; pointer-events: none; }
  .login-page .glass-card { display: none; }
  .login-page .brand-foot { display: none; }
  .login-page .auth-panel { padding: 24px 20px 22px; }
  .login-page .auth-top { margin-bottom: 6px; }
  .login-page .auth-center { margin: 0; padding: 30px 0 24px; }
  .login-page #login-brand-name { font-size: 31px; }
  .login-page .auth-foot { font-size: 9px; }
  .login-page .auth-foot > span { max-width: 200px; }
}
@media (max-width: 390px) {
  .login-page .auth-panel { padding-inline: 17px; }
  .login-page .brand-panel { min-height: 280px; }
  .login-page .hero-title { font-size: 28px; }
}
