/* Auth-only styling keeps the unlocked vault independent. */
html.auth-embedded #authView>.auth-header,html.auth-embedded #authView .hero{display:none!important}
html.auth-embedded #authView{min-height:100dvh;background:#14181D!important}
html.auth-embedded #authView .auth-layout{display:flex!important;min-height:100dvh;padding:0!important;align-items:flex-start;justify-content:center}
html.auth-embedded #authView .auth-card{max-width:none;border:0!important;border-radius:0!important;box-shadow:none!important;background:#14181D!important;padding:18px 32px 28px!important}
#authView,#authView input,#authView button{font-family:'Segoe UI',system-ui,sans-serif!important}
#authView .auth-layout{background:transparent!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
#authView .auth-layout::before{display:none!important}
#authView .hero,#authView .auth-card{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
body:not(.vault-open){background:#0C0F13!important}
body:not(.vault-open)>.topbar,body:not(.vault-open)>footer{display:none!important}
body:not(.vault-open)>main{width:100%;max-width:none;margin:0;padding:0}
#authView{min-height:100dvh;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:radial-gradient(ellipse at 15% 45%,#34578f26,transparent 55%),radial-gradient(ellipse at 90% 10%,#24378e21,transparent 45%),#0C0F13!important;box-shadow:none!important}
#authView>.auth-header{display:flex!important;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:26px 40px;position:relative;z-index:30}
#authView .auth-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#E0E5EB;font-size:22px;font-weight:750}
#authView .auth-brand img{width:36px;height:36px;object-fit:contain}
#authView .login-language{position:relative!important;inset:auto!important;width:auto;min-width:0}
#authView .language-trigger{min-width:0!important;width:auto!important;height:42px!important;padding:0 12px!important;border-radius:14px!important;background:#ffffff05!important;border-color:#ffffff18!important}
#authView .language-options{inset-inline-start:auto;inset-inline-end:0;min-width:215px;background:#171C23;border-color:#303844}
#authView .auth-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 420px;gap:90px;align-items:center;min-height:calc(100dvh - 100px);max-width:1100px!important;margin:auto!important;padding:28px 40px 60px!important}
#authView .hero{display:block!important;padding:0;background:none;border:0;box-shadow:none;text-align:start}
#authView .hero .eyebrow{color:#BFC8D4;letter-spacing:3px;font-size:11px;margin-bottom:24px}
#authView .hero h1{font-size:clamp(38px,4.6vw,62px);line-height:1.09;letter-spacing:-2px;margin:0 0 24px;color:#E0E5EB}
#authView .hero h1 span{background:linear-gradient(110deg,#C8D0DB,#B7C1CF);background-clip:text;color:transparent}
#authView .hero>p{color:#9ba2ad;font-size:16px;line-height:1.8;max-width:390px}
#authView .trust-row{display:flex;gap:26px;margin-top:38px;padding-top:24px;border-top:1px solid #ffffff12;background:none}
#authView .trust-row>div{padding:0;background:none;border:0;box-shadow:none}
#authView .trust-row b{display:block;font-size:13px;color:#DADFE7}
#authView .trust-row small{display:block;font-size:11px;margin-top:6px;color:#858f9f}
#authView .auth-card{width:100%;max-width:420px;padding:32px!important;border-radius:24px!important;background:linear-gradient(150deg,#1E242D,#14181D)!important;border:1px solid #97b5e52a!important;box-shadow:0 24px 80px #0004!important;text-align:start}
#authView .auth-app-logo{display:none}
#authView .auth-card h2{font-size:29px;letter-spacing:-.6px;margin:0 0 8px;color:#E0E5EB}
#authView .auth-card>.muted{font-size:13px;color:#9ca3af;margin:0 0 28px}
#authView #loginForm{display:grid;gap:17px}
#authView #loginForm label{display:grid;gap:9px;margin:0;font-size:12px;text-transform:none;color:#bfc7d5}
#authView #loginForm input{width:100%;height:49px;padding:0 14px;background:#101317!important;border:1px solid #ffffff15!important;border-radius:11px!important;font-size:14px;color:#E0E5EB!important}
#authView #loginForm input:focus{border-color:#ADB9C9!important;outline:2px solid #87afef20;outline-offset:0}
#authView #loginForm .primary{display:flex;align-items:center;justify-content:space-between;width:100%;height:49px;padding:0 18px;margin:5px 0 0;background:linear-gradient(110deg,#9AA8BB,#798BA5)!important;border:1px solid #9ac1ff40;border-radius:11px!important;font-size:14px;box-shadow:0 6px 20px #5687d520}
#authView .divider{margin:22px 0;color:#757f8f;font-size:11px}
#authView .google{width:100%;height:45px;display:flex;justify-content:center;align-items:center;gap:10px;margin:9px 0;padding:10px;background:#ffffff04!important;border:1px solid #ffffff13!important;border-radius:11px!important;color:#DBE0E7;font-size:12px;box-shadow:none}
#authView .social-icon{width:17px;height:17px;object-fit:contain}
#authView button:hover{filter:brightness(1.1)}
#authView .text-button{display:block;width:auto;margin:20px auto 0;padding:0;background:none;border:0;color:#BCC5D2;font-size:12px}
#authView .message:empty{display:none}
#authView .legal{margin:25px 0 0;padding-top:20px;border-top:1px solid #ffffff0c;font-size:10px;line-height:1.6;color:#757f8e;text-align:center}
#authView .checkout-intent{padding:12px;border-radius:12px;background:#72a1ed12;border:1px solid #72a1ed30;margin-bottom:20px;font-size:12px}
@media(max-width:850px){#authView .auth-layout{grid-template-columns:1fr;gap:0;min-height:calc(100dvh - 90px);padding:15px 22px 40px!important;justify-items:center}#authView .hero{display:none!important}#authView>.auth-header{padding:22px}#authView .auth-card{padding:28px!important}}
@media(prefers-reduced-motion:reduce){#authView *{animation:none!important;transition:none!important}}

#authView .social-row{display:block;margin-top:10px}
#authView .gsi-material-button{position:relative;display:flex;align-items:center;justify-content:center;width:100%!important;height:48px!important;margin:0!important;padding:0 18px!important;overflow:hidden;border:1px solid #747775!important;border-radius:24px!important;background:#fff!important;color:#1f1f1f!important;box-shadow:none!important;font-size:14px!important;font-weight:600!important;letter-spacing:.1px;cursor:pointer}
#authView .gsi-material-button:hover{background:#f7f8f8!important;filter:none!important}
#authView .gsi-material-button-state{position:absolute;inset:0;background:#4285f4;opacity:0;transition:opacity .15s}
#authView .gsi-material-button:hover .gsi-material-button-state{opacity:.08}
#authView .gsi-material-button-content-wrapper{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;z-index:1}
#authView .gsi-material-button-icon{display:flex;width:20px;height:20px;flex:0 0 20px}
#authView .gsi-material-button-icon svg{display:block;width:20px;height:20px}
#authView .gsi-material-button-contents{white-space:nowrap}
#authView .gsi-material-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;background-color:#fff;background-image:none;box-sizing:border-box;color:#1f1f1f;cursor:pointer;font-family:Roboto,Arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;position:relative;text-align:center;transition:background-color .218s,border-color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;min-width:min-content}
#authView .gsi-material-button .gsi-material-button-icon{height:20px;margin:0;padding:0;min-width:20px;width:20px}
#authView .gsi-material-button .gsi-material-button-content-wrapper{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;height:100%;justify-content:center;position:relative;width:100%}
#authView .gsi-material-button .gsi-material-button-contents{flex-grow:0;font-family:Roboto,Arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}
#authView .gsi-material-button .gsi-material-button-state{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .218s}
#authView .gsi-material-button:not(:disabled):active .gsi-material-button-state,#authView .gsi-material-button:not(:disabled):focus .gsi-material-button-state{background-color:#303030;opacity:.12}
#authView .gsi-material-button:not(:disabled):hover{box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15)}
#authView .gsi-material-button:not(:disabled):hover .gsi-material-button-state{background-color:#303030;opacity:.08}
#authView .gsi-material-button:disabled{cursor:default;background-color:#ffffff61;border-color:#1f1f1f1f}
#authView .gsi-material-button:disabled .gsi-material-button-contents,#authView .gsi-material-button:disabled .gsi-material-button-icon{opacity:.38}
#authView>.auth-header{width:100%!important;max-width:none!important;display:flex!important;justify-content:space-between!important;align-items:center;padding:14px 18px!important;box-sizing:border-box}
#authView .login-language{margin-left:auto;position:relative!important}
#authView .language-trigger{min-width:96px!important;padding:0 20px!important;gap:12px!important}
#authView .language-trigger .language-flag{width:28px!important;height:20px!important}
#authView .social-row{display:block!important}

/* Logo-only social buttons: no box, large marks */
#authView .gsi-material-button:hover{transform:none!important}

/* centered embedded login */
html.auth-embedded #authView{position:fixed!important;inset:0;display:flex!important;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;height:100dvh;overflow:hidden}
html.auth-embedded #authView>.auth-header{position:absolute;top:0;left:0;right:0}
html.auth-embedded #authView .auth-layout{flex:0 1 auto!important;width:100%;min-height:0!important;display:flex!important;align-items:center;justify-content:center;padding:0 18px!important;margin:0!important}
html.auth-embedded #authView .auth-card{margin:auto!important;max-width:420px!important;width:100%}

/* modern validation tip */
.zp-invalid-tip{position:fixed;z-index:99999;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:16px;background:rgba(26,31,38,.92);color:#E0E5EB;font:600 13.5px/1.2 system-ui,sans-serif;border:1px solid rgba(255,107,107,.45);box-shadow:0 14px 40px rgba(0,0,0,.45),0 0 0 4px rgba(255,107,107,.08);backdrop-filter:blur(14px);opacity:0;transform:translateY(-6px) scale(.97);transition:opacity .2s,transform .2s;pointer-events:none;max-width:calc(100vw - 20px)}
.zp-invalid-tip.on{opacity:1;transform:none}
.zp-invalid-tip span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;font-weight:800;flex:none}
.zp-invalid-tip:before{content:'';position:absolute;top:-6px;left:var(--arrow,20px);width:10px;height:10px;background:inherit;border-left:1px solid rgba(255,107,107,.45);border-top:1px solid rgba(255,107,107,.45);transform:rotate(45deg)}
input.zp-invalid{border-color:#ff6b6b!important;box-shadow:0 0 0 4px rgba(255,107,107,.15)!important;animation:zpShake .3s}
@keyframes zpShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
