/* UI2046 — independent authentication surfaces. Existing forms and server rules remain authoritative. */
:root{--u46-bg:#080c0d;--u46-panel:#111819;--u46-raised:#182223;--u46-text:#edf4ef;--u46-muted:#93a8a1;--u46-line:rgba(191,225,210,.13);--u46-accent:#bbf4d4;--u46-accent-ink:#10271e;--u46-good:#98d5b5;--u46-warning:#e2c391;--u46-danger:#e5a6a6}
html:has(body.ui2046-auth){color-scheme:dark;background:var(--u46-bg)}
body.ui2046-auth{margin:0;min-height:100svh;background:var(--u46-bg);color:var(--u46-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;isolation:isolate}
body.ui2046-auth::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 16% 38%,rgba(142,197,172,.075),transparent 48%),radial-gradient(ellipse at 95% 10%,rgba(225,239,229,.035),transparent 43%),linear-gradient(116deg,transparent 45%,rgba(195,229,215,.022) 45.1%,transparent 75%)}
body.ui2046-auth::after{content:"";position:fixed;inset:0;z-index:-1;opacity:.22;pointer-events:none;background-image:linear-gradient(rgba(171,211,191,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(171,211,191,.06) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#000,transparent 67%)}
body.ui2046-auth *,body.ui2046-auth *::before,body.ui2046-auth *::after{box-sizing:border-box}
body.ui2046-auth a{color:var(--u46-accent);text-decoration:none;text-underline-offset:4px;transition:color .18s,background .18s,border-color .18s}
body.ui2046-auth a:hover{color:#e7fff0}
body.ui2046-auth :is(a,button,input,select):focus-visible{outline:2px solid var(--u46-accent);outline-offset:4px}
body.ui2046-auth :is(input,select,button){font:inherit}
body.ui2046-auth .auth-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);align-items:center;gap:clamp(60px,8vw,160px);width:min(1240px,calc(100% - 112px));min-height:100svh;margin:0 auto;padding:72px 0;background:none;border:0;box-shadow:none;overflow:visible}
body.ui2046-auth .login-auth-shell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:100svh;padding:64px 24px 80px;isolation:isolate}
body.ui2046-auth .login-auth-stack{position:relative;display:flex;flex-direction:column;align-items:center;gap:30px;width:min(390px,100%);max-width:none;min-height:0;margin:0;transform:none}
body.ui2046-auth .login-auth-stack::before{content:"";position:absolute;z-index:-1;top:calc(50% - 280px);left:calc(50% - 280px);width:560px;height:560px;border:1px solid rgba(191,225,210,.075);border-radius:50%;box-shadow:0 0 0 38px rgba(191,225,210,.018),0 0 0 90px rgba(191,225,210,.009);pointer-events:none}
body.ui2046-auth .login-auth-stack::after{content:"";position:absolute;z-index:-1;top:50%;left:-130px;right:-130px;height:1px;background:linear-gradient(90deg,transparent,rgba(191,225,210,.09),transparent);transform:rotate(-36deg);pointer-events:none}
body.ui2046-auth .login-logo-link{display:block;align-self:center;justify-self:center;max-width:100%;width:220px;margin:0;padding:0}
body.ui2046-auth .login-logo-link img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;object-position:center}
body.ui2046-auth .u46-auth-edition{position:fixed;left:40px;right:40px;bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#6f857d;font-size:9px;font-weight:500;letter-spacing:.12em;pointer-events:none}
body.ui2046-auth .u46-auth-edition span:last-child{display:flex;align-items:center;gap:8px}
body.ui2046-auth .u46-auth-edition span:last-child::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--u46-good)}
body.ui2046-auth:not(.login-auth-page) .u46-auth-edition{position:static;width:calc(100% - 80px);margin:-34px auto 26px}
body.ui2046-auth .section-kicker{margin:0 0 20px;color:var(--u46-muted);font-size:10px;font-weight:600;line-height:1.4;letter-spacing:.16em;text-transform:uppercase}
body.ui2046-auth .auth-panel{position:relative;width:100%;max-width:none;margin:0;padding:38px;border:1px solid rgba(191,225,210,.16);border-radius:20px!important;background:linear-gradient(145deg,rgba(30,43,41,.6),rgba(16,24,24,.95) 48%);box-shadow:0 28px 90px #0005,inset 0 1px 0 rgba(231,249,239,.055);backdrop-filter:blur(18px);overflow:hidden}
body.ui2046-auth .login-auth-panel{width:100%;align-self:center;padding:32px;border-radius:16px!important}
body.ui2046-auth .auth-panel::before{content:"";position:absolute;top:0;left:38px;right:38px;height:1px;background:linear-gradient(90deg,transparent,rgba(213,241,224,.32),transparent)}
body.ui2046-auth .auth-panel .section-kicker{margin-bottom:10px;color:var(--u46-accent);font-size:9px;letter-spacing:.18em}
body.ui2046-auth .auth-panel h2{margin:0 0 28px;color:var(--u46-text);font-size:29px;font-weight:500;letter-spacing:-.045em;line-height:1.25}
body.ui2046-auth .auth-panel form{display:grid;gap:21px;margin:0}
body.ui2046-auth .auth-panel label{display:grid;gap:9px;margin:0;color:#b4c8bf;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.01em}
body.ui2046-auth .auth-panel :is(input:not([type=checkbox]):not([type=hidden]),select){width:100%;min-width:0;height:47px;margin:0;padding:0 13px;border:1px solid rgba(178,214,196,.17);border-radius:9px!important;background:#0b1213;color:var(--u46-text);box-shadow:inset 0 1px 3px #0002;font-size:14px;font-weight:400;line-height:1.3;transition:border-color .2s,background .2s,box-shadow .2s}
body.ui2046-auth .auth-panel input::placeholder{color:#5d756b;opacity:1}
body.ui2046-auth .auth-panel input:hover,.ui2046-auth .auth-panel select:hover{border-color:rgba(191,225,210,.3)}
body.ui2046-auth .auth-panel input:focus,.ui2046-auth .auth-panel select:focus{outline:none;border-color:rgba(187,244,212,.7);background:#0f1918;box-shadow:0 0 0 3px rgba(187,244,212,.065)}
body.ui2046-auth input:-webkit-autofill{box-shadow:0 0 0 1000px #101c18 inset!important;-webkit-text-fill-color:var(--u46-text)!important;caret-color:var(--u46-accent)}
body.ui2046-auth .auth-secondary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}
body.ui2046-auth .auth-panel label.inline{display:flex;align-items:center;gap:8px;margin:0;color:var(--u46-muted);font-size:11px;cursor:pointer}
body.ui2046-auth input[type=checkbox]{appearance:none;-webkit-appearance:none;width:15px;height:15px;min-height:15px;margin:0;padding:0;border:1px solid #4c6458;border-radius:4px!important;background:#0b1511;box-shadow:none;accent-color:var(--u46-accent);cursor:pointer}
body.ui2046-auth input[type=checkbox]:checked{border-color:var(--u46-accent);background:var(--u46-accent);box-shadow:inset 0 0 0 3px #10271e}
body.ui2046-auth input[type=checkbox]:focus{box-shadow:0 0 0 3px rgba(187,244,212,.09)}
body.ui2046-auth .forgot-link{font-size:11px;color:var(--u46-muted)}
body.ui2046-auth .auth-panel button[type=submit],body.ui2046-auth .auth-panel .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:47px;width:100%;padding:11px 18px;border:1px solid rgba(231,255,242,.2);border-radius:9px!important;background:linear-gradient(120deg,#d0f8df,#b4e8cc);color:var(--u46-accent-ink);box-shadow:0 3px 14px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.35);font-size:12px;font-weight:650;letter-spacing:.035em;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s}
body.ui2046-auth .auth-panel button[type=submit]:hover{background:linear-gradient(120deg,#e1ffec,#c4f3d8);box-shadow:0 5px 20px rgba(114,174,143,.12),inset 0 1px 0 rgba(255,255,255,.4);transform:translateY(-1px)}
body.ui2046-auth .auth-panel button[type=submit]:active{transform:translateY(0);box-shadow:inset 0 2px 4px rgba(4,30,18,.15)}
body.ui2046-auth .auth-panel button:disabled{opacity:.45;cursor:not-allowed;transform:none}
body.ui2046-auth .auth-divider{display:flex;align-items:center;gap:12px;margin:25px 0 16px;padding:0;background:none;border:0;color:#70877b;font-size:9px;letter-spacing:.07em;text-align:center}
body.ui2046-auth .auth-divider::before,body.ui2046-auth .auth-divider::after{content:"";height:1px;background:var(--u46-line);flex:1}
body.ui2046-auth .auth-divider span{flex:none;padding:0;background:none}
body.ui2046-auth .auth-wide-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;margin:0;padding:10px 14px;border:1px solid var(--u46-line);border-radius:8px!important;background:rgba(201,229,215,.025);color:var(--u46-muted);box-shadow:none;font-size:11px;font-weight:500}
body.ui2046-auth .auth-wide-link:hover{color:var(--u46-text);background:rgba(201,229,215,.065);border-color:rgba(191,225,210,.3)}
body.ui2046-auth .alert{margin:0 0 22px;padding:12px 14px;border:1px solid rgba(229,166,166,.25);border-radius:8px!important;background:rgba(229,166,166,.07);color:var(--u46-danger);font-size:12px;line-height:1.65;overflow-wrap:anywhere;box-shadow:none}
body.ui2046-auth .alert.success{color:var(--u46-good);background:rgba(152,213,181,.07);border-color:rgba(152,213,181,.25)}
body.ui2046-auth .auth-help-copy{margin:-14px 0 25px;color:var(--u46-muted);font-size:12px;line-height:1.8}
body.ui2046-auth .muted-copy,body.ui2046-auth .muted-inline{color:var(--u46-muted);font-weight:400}
body.ui2046-auth .auth-note{font-size:10px;line-height:1.8;margin:15px 0 21px}
body.ui2046-auth .social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.ui2046-auth .social-button{padding:10px;border:1px solid var(--u46-line);border-radius:7px;background:var(--u46-raised);color:var(--u46-muted);box-shadow:none;font-size:11px}
body.ui2046-auth .auth-hero{align-self:start;padding:50px 0;background:none;border:0;box-shadow:none}
body.ui2046-auth .auth-hero .brand-link{display:inline-flex;align-items:center;margin-bottom:70px;color:var(--u46-text);font-size:13px;font-weight:600;letter-spacing:.09em}
body.ui2046-auth .auth-hero .brand-link::before{display:none}
body.ui2046-auth .auth-hero .brand-link img{width:265px;height:auto}
body.ui2046-auth .auth-hero h1{max-width:480px;margin:0 0 22px;color:var(--u46-text);font-size:clamp(32px,3.7vw,52px);font-weight:500;line-height:1.3;letter-spacing:-.045em}
body.ui2046-auth .auth-hero p{max-width:380px;color:var(--u46-muted);font-size:13px;line-height:1.9}
body.ui2046-auth .auth-meter{width:220px;height:1px;margin-top:40px;background:var(--u46-line)}
body.ui2046-auth .auth-meter span{display:block;width:45%;height:1px;background:linear-gradient(90deg,var(--u46-accent),rgba(187,244,212,.1));box-shadow:none}
body.ui2046-auth #us-login-language{height:37px;margin-bottom:22px;font-size:11px;background:#131e1b}
body.ui2046-auth .u46-password-panel{width:min(440px,calc(100% - 40px));max-width:none!important;margin:10vh auto!important;padding:32px!important}
body.ui2046-auth .u46-password-panel h1{margin:8px 0 12px;color:var(--u46-text);font-size:27px;font-weight:500;letter-spacing:-.035em}
body.ui2046-auth .u46-password-panel>p{margin:0 0 25px;color:var(--u46-muted);font-size:12px}
body.ui2046-auth .u46-password-panel p[role=alert]{padding:10px 12px;border:1px solid rgba(229,166,166,.2);border-radius:7px;background:rgba(229,166,166,.06);color:var(--u46-danger)}
body.ui2046-auth .u46-security-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px;color:var(--u46-muted);font-size:9px;letter-spacing:.12em}
body.ui2046-auth .u46-security-brand img{display:block;width:150px;height:auto}
@media(min-width:1700px){body.ui2046-auth .auth-shell:not(.login-auth-shell){width:min(1280px,calc(100% - 160px))}body.ui2046-auth .auth-panel{padding:38px}body.ui2046-auth .login-auth-stack{width:410px}}
@media(max-width:1000px){body.ui2046-auth .auth-shell:not(.login-auth-shell){width:calc(100% - 64px);column-gap:40px;grid-template-columns:minmax(0,1fr) 390px}body.ui2046-auth .auth-panel{padding:30px}body.ui2046-auth .u46-auth-edition{left:24px;right:24px}}
@media(max-width:760px){body.ui2046-auth::after{mask-image:linear-gradient(#000,transparent 80%)}body.ui2046-auth .auth-shell:not(.login-auth-shell){display:block;width:min(440px,calc(100% - 40px));min-height:100svh;padding:40px 0 64px}body.ui2046-auth .login-auth-shell{padding:32px 20px 64px;overflow:hidden}body.ui2046-auth .login-auth-stack{gap:24px;width:min(390px,100%)}body.ui2046-auth .login-logo-link{width:200px}body.ui2046-auth .auth-panel{padding:28px;border-radius:15px!important;backdrop-filter:none}body.ui2046-auth .auth-panel h2{font-size:25px;margin-bottom:26px}body.ui2046-auth .auth-panel :is(input:not([type=checkbox]):not([type=hidden]),select){font-size:16px;width:100%}body.ui2046-auth .auth-secondary-row{flex-direction:row;align-items:center}body.ui2046-auth .u46-auth-edition{position:static;width:min(440px,calc(100% - 40px));margin:-32px auto 22px;font-size:8px;letter-spacing:.08em}body.ui2046-auth .auth-hero{padding:0 0 28px}body.ui2046-auth .auth-hero .brand-link{margin-bottom:28px}body.ui2046-auth .auth-hero .brand-link img{width:200px}body.ui2046-auth .auth-hero h1{font-size:28px;margin-bottom:14px}body.ui2046-auth .auth-hero p{font-size:11px}body.ui2046-auth .auth-meter{display:none}body.ui2046-auth .u46-password-panel{margin:6vh auto!important;padding:28px!important}}
@media(max-width:380px){body.ui2046-auth .auth-shell:not(.login-auth-shell){width:calc(100% - 28px);padding-top:24px}body.ui2046-auth .login-auth-shell{padding:24px 14px 60px}body.ui2046-auth .auth-panel{padding:23px}body.ui2046-auth .u46-auth-edition span:first-child{display:none}body.ui2046-auth .u46-auth-edition{justify-content:center}}
@media(max-height:660px) and (min-width:761px){body.ui2046-auth .login-auth-shell{padding-top:30px;padding-bottom:60px}body.ui2046-auth .login-auth-stack{gap:18px}body.ui2046-auth .login-logo-link{width:180px}body.ui2046-auth .u46-auth-edition{position:static;width:calc(100% - 80px);margin:-30px auto 20px}}
@media(prefers-reduced-motion:reduce){body.ui2046-auth *,body.ui2046-auth *::before,body.ui2046-auth *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
