/* Self-service auth: one fixed viewport and one scrollable form region. */
html.auth-viewport,body.auth-mode{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:pan-y}
.auth-mode .app-main{position:fixed;inset:0;min-height:0;height:100%;overflow:hidden;background:#09111f}
.auth-layout.auth-panel{position:fixed;left:0;right:0;top:var(--auth-top,0px);height:var(--auth-height,100dvh);min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr;background:#09111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;touch-action:pan-y}
.auth-panel .auth-column{min-width:0;min-height:0;height:100%;padding:0;gap:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 20% 0%,#172233 0%,#0b1422 55%)}
.auth-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;height:76px;padding:16px 28px;border-bottom:1px solid #ffffff09}
.auth-topbar>a:first-child{display:inline-flex;align-items:center}
.auth-panel .auth-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff10;background:#ffffff05;border-radius:50%;color:#b4c0d2}
.auth-panel .auth-close svg{width:18px;height:18px}
.auth-panel .auth-form-area{display:flex;flex-direction:column;flex:1;align-items:stretch;justify-content:flex-start;min-height:0;width:100%;max-width:520px;margin:0 auto;padding:0;overflow:hidden}
.auth-panel .auth-tabs{display:flex;flex:none;align-items:center;gap:4px;width:calc(100% - 48px);max-width:none;margin:20px 24px 0;padding:4px;background:#070e19;border:1px solid #ffffff0b;border-radius:12px}
.auth-panel .auth-tabs button{display:flex;align-items:center;justify-content:center;flex:1;height:40px;min-height:40px;padding:8px;border:1px solid transparent;border-radius:8px;background:none;color:#94a5bc;font:600 14px/20px Inter,ui-sans-serif,system-ui,sans-serif}
.auth-panel .auth-tabs button[aria-selected=true]{border-color:#f0d09129;background:#e8c67916;color:#f6d898;box-shadow:0 2px 6px #0002}
.auth-panel .auth-form{display:flex;flex-direction:column;flex:1;gap:0;width:100%;max-width:none;min-height:0;max-height:none;margin:0;padding:0;overflow:hidden}
.auth-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#43516a transparent;scroll-padding:20px;padding:24px 24px 20px;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.auth-panel .auth-heading{align-items:flex-start;gap:8px;text-align:left;margin:0 0 24px}
.auth-eyebrow{font-size:10px;font-weight:700;line-height:1.4;letter-spacing:.14em;color:#d9bb75}
.auth-panel .auth-heading h1{font:700 32px/1.15 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.04em;text-transform:none;color:#f5f7fb}
.auth-panel .auth-heading p{font:400 13px/1.6 Inter,ui-sans-serif,system-ui,sans-serif;text-wrap:pretty;color:#9eacc0}
.auth-panel .auth-heading b{color:#edce8b}
.auth-group{min-width:0;margin:0 0 24px;padding:0;border:0}
.auth-group>legend{display:flex;align-items:center;gap:9px;width:100%;margin:0 0 14px;padding:0;font:600 14px/20px Inter,ui-sans-serif,system-ui,sans-serif;color:#f0f3f9}
.auth-group>legend>span{display:grid;place-items:center;width:24px;height:24px;border:1px solid #d9bc7830;border-radius:7px;background:#d9bc780b;color:#d9bc78;font-size:10px;font-weight:600;letter-spacing:.02em}
.auth-field-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.auth-panel .auth-field{display:flex;flex-direction:column;gap:7px;min-width:0;width:100%;margin:0;font:500 12px/17px Inter,ui-sans-serif,system-ui,sans-serif;color:#d5deeb}
.auth-panel .auth-field>span:first-child{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.auth-panel .auth-field b{color:#e7c477;font-weight:500}
.auth-panel .auth-field small{margin-left:3px;color:#7f90a7;font-size:10px;font-weight:400}
.auth-panel .auth-field input{display:block;min-width:0;width:100%;height:48px;min-height:48px;padding:11px 13px;border:1px solid #2a374b;border-radius:10px;background:#101c2d;color:#edf2f9;font:400 16px/24px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:0;box-shadow:none;outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.auth-panel .auth-field input::placeholder{color:#61758f;font-size:14px;opacity:1}
.auth-panel .auth-field input:focus{border-color:#e2c27e;box-shadow:0 0 0 3px #e2c27e13;background:#122035}
.auth-panel .auth-field input:-webkit-autofill{-webkit-text-fill-color:#edf2f9;box-shadow:0 0 0 100px #122035 inset}
.auth-panel .auth-input-wrap{position:relative;display:block;min-width:0;width:100%}
.auth-panel .auth-input-wrap input{padding-right:49px}
.auth-panel .auth-field button[data-auth-password]{position:absolute;top:2px;right:2px;display:grid;place-items:center;min-height:44px;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#9aabc0}
.auth-panel .auth-field button[data-auth-password] svg{width:19px;height:19px;stroke-width:1.6}
.auth-panel .auth-field button[data-auth-password]:hover{background:#ffffff08;color:#e9c983}
.auth-hint{margin:9px 0 0;color:#8fa1ba;font:400 11px/1.55 Inter,ui-sans-serif,system-ui,sans-serif}
.auth-panel .auth-consents{display:grid;gap:14px;min-width:0;margin:0;padding:16px;border:1px solid #ffffff0c;border-radius:12px;background:#070f1b66}
.auth-panel .auth-consents legend{padding:0 5px;color:#c9d5e6;font:600 12px/1.5 Inter,ui-sans-serif,system-ui,sans-serif}
.auth-panel .auth-consents label{display:flex;align-items:flex-start;gap:10px;min-height:24px;font:400 12px/1.6 Inter,ui-sans-serif,system-ui,sans-serif;color:#9eacc0}
.auth-panel .auth-consents label strong{color:#dde5f1;font-weight:500}
.auth-panel .auth-consents input{flex:none;width:19px;height:19px;min-height:19px;margin:1px 0 0;padding:0;accent-color:#e4c177}
.auth-panel .auth-actions{flex:none;z-index:1;margin:0;padding:14px 24px max(14px,env(safe-area-inset-bottom));border-top:1px solid #ffffff0b;background:#0c1523;box-shadow:0 -10px 24px #09111f66}
.auth-panel .auth-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:48px;min-height:48px;padding:12px 18px;border:1px solid #ffdfa055;border-radius:11px;background:linear-gradient(110deg,#f0d696,#d9b265);color:#192016;font:700 15px/22px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.01em;box-shadow:0 4px 14px #d1a94c16}
.auth-panel .auth-submit svg{width:18px;height:18px;stroke-width:1.8}
.auth-panel .auth-submit:hover{filter:brightness(1.06)}
.auth-panel .auth-footer-note{margin:9px 0 0;text-align:center;color:#778ba5;font:400 10px/1.5 Inter,ui-sans-serif,system-ui,sans-serif}
.auth-panel .form-error{margin:0 0 10px;max-height:65px;overflow:auto;color:#ffb4bb;font:400 12px/1.5 Inter,ui-sans-serif,system-ui,sans-serif}
.auth-panel .form-error:empty{display:none}
.auth-panel .auth-image{display:none}
@media(min-width:360px){.auth-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-field-grid>.auth-field{grid-column:1/-1}.auth-field-grid>.auth-half{grid-column:auto}}
@media(min-width:1024px){.auth-layout.auth-panel{grid-template-columns:52% 48%}.auth-panel .auth-image{position:relative;display:block;background:#051420 url('/skin-assets/assets/brand/banners/welcome-ai-v1-1040.webp') no-repeat 68% 72%;background-size:auto 70%;border-left:1px solid #ffffff0a}.auth-panel .auth-image>div{position:absolute;top:8%;left:10%;right:8%;color:#f5f1df}.auth-panel .auth-image span{display:block;margin-bottom:16px;font-size:11px;letter-spacing:.2em;color:#e6c577}.auth-panel .auth-image strong{font:600 clamp(28px,3.1vw,48px)/1.15 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.045em}}
@media(max-width:767px){.auth-topbar{height:62px;padding:12px 20px;padding-top:max(12px,env(safe-area-inset-top))}.auth-topbar .brasaplay-wordmark{font-size:25px}.auth-panel .auth-tabs{width:calc(100% - 40px);margin:14px 20px 0}.auth-panel .auth-tabs button{height:37px;min-height:37px;font-size:13px}.auth-scroll{padding:21px 20px 22px}.auth-panel .auth-heading{margin-bottom:22px}.auth-panel .auth-heading h1{font-size:29px}.auth-panel .auth-actions{padding:12px 20px max(12px,env(safe-area-inset-bottom))}.auth-keyboard-open .auth-topbar{height:44px;padding-top:6px;padding-bottom:6px}.auth-keyboard-open .auth-topbar .brasaplay-wordmark{font-size:22px}.auth-keyboard-open .auth-topbar .auth-close{height:30px;width:30px}.auth-keyboard-open .auth-tabs{margin-top:8px}.auth-keyboard-open .auth-footer-note{display:none}.auth-keyboard-open .auth-actions{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.auth-keyboard-open .auth-submit{height:44px;min-height:44px}}
@media(max-width:359px){.auth-topbar{padding-left:16px;padding-right:16px}.auth-panel .auth-tabs{width:calc(100% - 32px);margin-left:16px;margin-right:16px}.auth-scroll{padding-left:16px;padding-right:16px}.auth-panel .auth-actions{padding-left:16px;padding-right:16px}.auth-panel .auth-heading h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){.auth-panel input{transition:none}}
