/* AuthView.swift / AuthMainCopy.swift: native authentication layout and metrics.
   Scoped to auth: the app's other native screens own their own presentation. */
.auth-screen{--accent:#4f46e5;--muted:#64748b;background:linear-gradient(to bottom,#4f46e5 0%,#7c3aed 50%,rgba(79,70,229,.8) 100%);height:var(--viewport,100dvh);min-height:0;padding:28px 20px max(8px,env(safe-area-inset-bottom));gap:24px;justify-content:safe center;overflow:hidden}
.auth-screen:before{width:200px;height:200px;left:-40px;top:-80px;background:rgba(255,255,255,.08)}
.auth-screen:after{width:150px;height:150px;right:-45px;top:60px;background:rgba(255,255,255,.05)}
.auth-screen .brand{width:100%;max-width:480px;padding:0 8px;flex:none}
.auth-screen .brand img{width:72px;height:72px;padding:5px;border-radius:20px;margin:0 auto 12px}
.auth-screen .brand h1{font-size:min(27px,6.05vw);font-weight:800;line-height:1.2;white-space:nowrap}
.auth-screen .brand p{font-size:15px;line-height:1.2;margin-top:12px;color:rgba(255,255,255,.8)}
.auth-screen .auth-card{width:100%;max-width:480px;border-radius:28px;padding:20px;gap:18px;box-shadow:0 10px 36px rgba(0,0,0,.12);flex:none;min-height:0;max-height:calc(var(--viewport,100dvh) - 200px);overflow:auto}
.auth-screen .native-auth-card{overflow:hidden}
.auth-screen .tabs{padding:3px;border-radius:12px;background:#f1f5f9;gap:0;flex:none}
.auth-screen .tabs button{min-height:46px;font-size:14px;font-weight:600;border-radius:9px;color:#64748b;box-shadow:none}
.auth-screen .tabs button[aria-selected=true]{background:#4f46e5;color:white;box-shadow:none}
.auth-screen .auth-form{gap:18px;min-height:0;display:flex;flex-direction:column}
.auth-screen .fields{gap:0;min-height:0;overflow:auto;overscroll-behavior:contain;flex:1 1 auto}
.auth-screen .field{background:white;border:1px solid rgba(128,128,128,.2);border-radius:14px;min-height:56px;padding:0 14px;gap:16px;flex:none}
.auth-screen .field input{padding:0;min-height:54px;font-size:16px;line-height:1.25;background:white;color:#151515;border-radius:0}
.auth-screen .field input::placeholder{color:#aeb0b4;opacity:1}
.auth-screen .field:focus-within{border-color:#4f46e5;box-shadow:0 0 0 2px rgba(79,70,229,.18)}
.auth-screen .field input:focus-visible{outline:none}
.auth-screen .field input:autofill{box-shadow:0 0 0 1000px white inset;color:#151515;font:inherit;font-size:16px}
.auth-screen .field input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px white inset;-webkit-text-fill-color:#151515;caret-color:#151515;font:inherit;font-size:16px}
.auth-screen .field-icon{width:24px;height:24px;flex:none;margin-left:0;color:#64748b;opacity:.65}
.auth-screen .field:has(input[name=name]){margin-bottom:12px}
.auth-screen .field:has(input[name=password]){margin-top:20px}
.auth-screen .password-toggle{width:24px;min-width:24px;height:44px;padding:0;display:flex;align-items:center;justify-content:center}
.auth-screen .password-toggle .native-icon{width:24px;height:24px;color:#64748b;opacity:.65}
.auth-screen .auth-messages{display:flex;flex-direction:column;gap:8px;text-align:center;flex:none}
.auth-screen .auth-messages:has(.error:empty):not(:has(.helper)){display:none}
.auth-screen .auth-messages .helper,.auth-screen .auth-messages .error{font-size:13px;line-height:1.35}
.auth-screen .auth-actions{display:flex;flex-direction:column;gap:8px;flex:none}
.auth-screen .auth-actions>.primary{height:46px;min-height:46px;padding:0 16px;font-size:14px;font-weight:600;border-radius:13px;background:#4f46e5}
.auth-screen .auth-actions>.primary:disabled{opacity:1;background:#e5e7eb;color:#808080}
.auth-screen .auth-actions>.text-button{height:44px;font-size:13px;font-weight:600;padding:0}
.auth-screen .providers{display:flex;flex-direction:column;gap:10px}
.auth-screen .provider{height:48px;min-height:48px;font-size:14px;font-weight:500;border-radius:12px;border:1px solid #747775;background:white;color:#1f1f1f;gap:8px;padding:0 16px}
.auth-screen .provider.apple{color:white;background:black;border-color:black;font-size:18px;font-weight:500}
.auth-screen .apple-icon{font-size:23px}
.auth-screen .provider img{width:20px;height:20px}
.auth-screen .google-provider{min-width:0;display:flex;justify-content:center}
.auth-screen .auth-provider-copy{font-size:11px;line-height:1.2;color:#64748b;text-align:center}
.auth-screen .legal{font-size:12px;line-height:1.2;color:#64748b;text-align:center}
.auth-screen .legal a{font-weight:600;text-decoration:underline;color:#4f46e5}
@media(min-width:490px){.auth-screen .providers{flex-direction:row}.auth-screen .providers>*{flex:1;min-width:0}}
@media(max-height:739px){.auth-screen{padding-top:12px;gap:12px}.auth-screen .brand img{width:48px;height:48px;border-radius:14px;margin-bottom:6px}.auth-screen .brand h1{font-size:min(22px,6.05vw)}.auth-screen .brand p{display:none}.auth-screen .auth-card{padding:16px;gap:12px;max-height:calc(var(--viewport,100dvh) - 113px)}.auth-screen .auth-form{gap:12px}.auth-screen .field{min-height:44px}.auth-screen .field input{min-height:42px}.auth-screen .field:has(input[name=password]){margin-top:10px}}
@media(max-height:579px){.auth-screen{padding-top:8px}.auth-screen .brand{display:none}.auth-screen .auth-card{padding:8px;gap:4px;max-height:calc(var(--viewport,100dvh) - 16px)}.auth-screen .auth-form{gap:4px}.auth-screen .tabs{padding:0}.auth-screen .tabs button{min-height:44px}.auth-screen .field:has(input[name=name]){margin-bottom:4px}.auth-screen .field:has(input[name=password]){margin-top:4px}.auth-screen .auth-actions{gap:4px}.auth-screen .auth-actions>.primary{height:44px;min-height:44px}.auth-screen .auth-provider-copy{display:none}.auth-screen .auth-actions>.text-button,.auth-screen .legal{font-size:11px}.auth-screen .auth-form>.fields{max-height:120px}}
@media(max-width:359px){.auth-screen{padding-left:12px;padding-right:12px}}

/* Keep both 48px provider controls readable inside the bounded auth card. */
.auth-screen .providers { flex-direction: column; }
.auth-screen .providers > * { flex: none; }
