/* Flightdeck authentication. Scoped to the signed-out surface. */
.auth-screen{display:grid;grid-template-columns:52% 48%;min-height:100vh;min-height:100svh;background:#fff;color:var(--dp-ink);font-size:16px;line-height:1.5}
.auth-brand{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:#244be3;color:#fff;padding:44px clamp(40px,5.1vw,90px)}
.auth-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.auth-brand-logo,.auth-brand-copy,.auth-brand-foot{position:relative;z-index:1}
.auth-brand-logo{display:inline-flex;align-items:center;min-height:48px}
.auth-brand-logo img{display:block;width:208px;height:72px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.auth-brand-copy{margin-top:clamp(70px,8vh,100px)}
.auth-tagline{font-size:clamp(42px,4.75vw,72px);line-height:1.08;letter-spacing:-.045em;font-weight:650}
.auth-tagline span{display:block;white-space:nowrap}
.auth-brand-description{font-size:clamp(18px,1.95vw,28px);line-height:1.4;max-width:490px;margin-top:30px;letter-spacing:-.02em}
.auth-brand-foot{position:absolute;bottom:58px;left:clamp(40px,5.1vw,90px);font-size:20px;letter-spacing:-.02em}
.auth-main{display:flex;flex-direction:column;min-width:0;padding:36px clamp(36px,4.6vw,84px) 60px;background:#fff}
.auth-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;width:100%;margin-bottom:52px}
.auth-home{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:14px;color:var(--dp-slate);white-space:nowrap}
.auth-home img{opacity:.68}
.auth-home:hover{color:var(--dp-blue)}
.auth-screen .language-picker{font-size:13px;padding:3px;border-radius:10px}
.auth-screen .language-picker button{min-width:44px;min-height:36px;padding:6px 9px;border-radius:7px}
.auth-mobile-logo{display:none}
.auth-content{width:100%;max-width:400px;margin:auto; padding:0 0 20px}
.auth-intro{margin-bottom:38px}
.auth-intro h1{font-size:clamp(34px,3.3vw,48px);font-weight:700;line-height:1.15;letter-spacing:-.045em;margin:0 0 16px}
.auth-intro>p{font-size:16px;line-height:1.6;color:var(--dp-slate);letter-spacing:-.015em}
.auth-screen .google-auth{position:relative;margin-bottom:26px;min-width:0}
.auth-screen .google-button{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%}
.auth-screen .google-button>div,.auth-screen .google-button>div>div{width:100%;max-width:100%}
.auth-screen .google-button [role="button"]{width:100%;max-width:400px}
.auth-screen .google-button svg{stroke:none;stroke-width:0;fill:initial}
.auth-screen .google-status,.auth-screen .google-error{font-size:13px;line-height:1.6;text-align:left}
.auth-screen .google-status:not(:empty){margin:10px 0 0;color:var(--dp-slate)}
.auth-screen .google-status:first-child:not(:empty){min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--dp-line);border-radius:8px;margin:0}
.auth-screen .google-auth[data-google-state="loading"] .google-status{position:absolute;top:0;left:0;width:100%;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--dp-line);border-radius:8px;margin:0;background:#fff}
.auth-screen .google-error{margin:10px 0 0;color:#b63428}
.auth-screen .google-retry{width:100%;min-height:44px;margin-top:12px;font-size:14px}
.auth-screen .auth-divider{font-size:13px;line-height:1.5;gap:18px;margin-top:28px;color:var(--dp-slate)}
.auth-screen .field{margin-bottom:24px}
.auth-screen label{font-size:14px;line-height:1.5;font-weight:600;color:var(--dp-ink);margin-bottom:9px}
.auth-screen input{height:50px;font-size:16px;line-height:1.5;padding:12px 15px;border:1px solid #cbd3e3;border-radius:8px;background:#fff;color:var(--dp-ink);box-shadow:0 1px 2px #13192703;transition:border-color .15s,box-shadow .15s}
.auth-screen input::placeholder{color:#7c869d;opacity:1}
.auth-screen input:hover{border-color:#a3afc9}
.auth-screen input:focus{border-color:var(--dp-blue);box-shadow:0 0 0 3px #335cff12}
.auth-password{position:relative}
.auth-password input{padding-right:52px}
.auth-password-toggle{position:absolute;right:4px;top:3px;width:44px;height:44px;display:grid;place-items:center;border-radius:6px}
.auth-password-toggle img{opacity:.65}
.auth-password-toggle:hover{background:var(--dp-cloud)}
.auth-hint{margin-top:8px;color:var(--dp-slate);font-size:12px}
.auth-screen #form-error{font-size:13px;color:#b63428;margin:0 0 18px;overflow-wrap:anywhere}
.auth-screen #form-error:empty{display:none}
.auth-screen .auth-submit{width:100%;min-height:50px;border-radius:8px;font-size:16px;font-weight:650;margin-top:7px;padding:12px 18px;box-shadow:0 2px 3px #335cff0a}
.auth-screen .auth-submit:disabled{opacity:.75;cursor:wait}
.auth-submit .auth-submit-pending,.auth-submit:disabled .auth-submit-label{display:none}
.auth-submit:disabled .auth-submit-pending{display:inline}
.auth-screen .auth-switch{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;column-gap:6px;row-gap:0;font-size:14px;line-height:1.8;color:var(--dp-slate);text-align:center;margin-top:28px}
.auth-screen .auth-switch button{color:var(--dp-blue);font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:4px 2px;text-decoration:underline;text-underline-offset:4px;font-weight:550;min-height:36px}
.auth-free-note{margin-top:16px;color:var(--dp-slate);font-size:12px;line-height:1.7;text-align:center}
.auth-screen .google-proof{margin-top:22px}
.auth-screen .google-proof .btn{width:100%;min-height:44px;font-size:14px}
html[lang="zh-CN"] .auth-tagline{letter-spacing:-.055em;font-size:clamp(37px,4.3vw,64px);line-height:1.25}
html[lang="zh-CN"] .auth-intro h1{letter-spacing:-.04em}
html[lang="zh-CN"] .auth-brand-description{font-size:24px}
@media(min-width:1600px){.auth-main{padding-right:7vw;padding-left:7vw}.auth-content{max-width:400px}}
@media(max-height:800px) and (min-width:901px){.auth-main{padding-top:24px;padding-bottom:32px}.auth-header{margin-bottom:32px}.auth-brand{padding-top:26px}.auth-brand-copy{margin-top:70px}.auth-brand-description{font-size:22px;margin-top:22px}.auth-brand-foot{bottom:32px;font-size:18px}.auth-content{padding-bottom:0}.auth-intro{margin-bottom:26px}.auth-intro h1{font-size:38px}.auth-screen .field{margin-bottom:20px}.auth-screen .auth-switch{margin-top:22px}}
@media(max-width:1100px) and (min-width:901px){.auth-main{padding-left:32px;padding-right:32px}.auth-tagline{font-size:46px}.auth-brand-description{font-size:22px}.auth-brand{padding-left:40px;padding-right:30px}.auth-brand-foot{left:40px}.auth-home{font-size:12px}.auth-header{gap:10px}.auth-screen .language-picker button{min-width:36px}}
@media(max-width:900px){.auth-screen{grid-template-columns:minmax(0,1fr)}.auth-brand{display:none}.auth-main{min-height:100vh;min-height:100svh;padding:18px 28px 40px}.auth-header{margin:0 0 26px}.auth-mobile-logo{display:block;align-self:center;margin-bottom:38px}.auth-mobile-logo img{display:block;width:160px;height:auto}.auth-content{margin:0 auto;padding:0;max-width:400px}.auth-intro{margin-bottom:30px}.auth-intro h1{font-size:36px}.auth-intro>p{font-size:15px}.auth-screen .google-auth{margin-bottom:24px}.auth-screen .auth-switch{margin-top:22px}}
@media(max-width:380px){.auth-main{padding-left:22px;padding-right:22px}.auth-intro h1{font-size:32px}.auth-home{font-size:12px}.auth-screen .language-picker{font-size:12px}.auth-screen .language-picker button{min-width:38px}}
@media(prefers-reduced-motion:reduce){.auth-screen *{transition:none!important}}
