.auth-screen{background:linear-gradient(135deg,#16344a 0%,#1f4e6b 40%,#2d6a8e 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.auth-screen:before{content:"";opacity:.8;background-image:radial-gradient(circle,#ffffff0f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.auth-screen:after{content:"";pointer-events:none;background:radial-gradient(circle at 18% 22%,#4a8ab059 0%,#0000 42%),radial-gradient(circle at 82% 78%,#3e826640 0%,#0000 45%);position:absolute;inset:0}.auth-card{z-index:2;width:420px;max-width:92vw;animation:authIn .7s var(--ease) both;background:#fff;border-radius:16px;padding:42px 44px 36px;position:relative;box-shadow:0 30px 80px #00000052,0 4px 12px #00000029}@keyframes authIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.auth-brand .brand-logo{background:linear-gradient(135deg, var(--accent) 0%, #4a8ab0 100%);color:#fff;border-radius:10px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 6px 18px #2d6a8e4d}.auth-brand .brand-logo svg{width:22px;height:22px}.auth-brand-text .brand-name{letter-spacing:-.01em;font-size:18px;font-weight:700}.auth-brand-text .brand-sub{color:var(--text-muted);font-size:11.5px}.auth-title{letter-spacing:-.02em;margin-bottom:4px;font-size:22px;font-weight:700}.auth-sub{color:var(--text-muted);margin-bottom:26px;font-size:13px}.auth-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.auth-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.auth-field input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt);color:var(--text);transition:all .12s var(--ease);width:100%;padding:11px 13px;font-size:13.5px}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer);background:#fff;outline:none}.auth-row{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:20px;font-size:11.5px;display:flex}.auth-row a{color:var(--accent);font-weight:500;text-decoration:none}.auth-row a:hover{text-decoration:underline}.auth-btn{background:var(--accent);color:#fff;border-radius:var(--radius);width:100%;transition:all .15s var(--ease);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:13.5px;font-weight:600;display:flex;box-shadow:0 2px 6px #2d6a8e40}.auth-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn svg{width:14px;height:14px}.auth-error{background:var(--danger-soft);border-radius:var(--radius);color:var(--danger);border:1px solid #e8c8c8;margin-top:14px;padding:10px 12px;font-size:12px}.auth-hint{text-align:center;color:#ffffffb8;letter-spacing:.02em;z-index:2;font-size:11.5px;position:absolute;bottom:32px;left:0;right:0}.auth-hint b{color:#fff;font-weight:600}.auth-onboarding-link{text-align:center;color:#ffffff8c;letter-spacing:.3px;z-index:2;font-size:11px;text-decoration:none;transition:color .2s;position:absolute;bottom:10px;left:0;right:0}.auth-onboarding-link:hover{color:#ffffffe6}.auth-btn-google{color:#3c4043;border-radius:var(--radius);cursor:pointer;width:100%;transition:all .15s var(--ease);background:#fff;border:1px solid #dadce0;justify-content:center;align-items:center;gap:10px;margin-bottom:14px;padding:11px 14px;font-size:13.5px;font-weight:500;display:flex}.auth-btn-google:hover:not(:disabled){background:#f7f9fb;border-color:#c0c4ca;box-shadow:0 1px 4px #0000000f}.auth-btn-google:disabled{opacity:.6;cursor:not-allowed}.auth-btn-google svg{flex-shrink:0}.auth-divider{color:var(--text-muted);letter-spacing:.02em;align-items:center;gap:10px;margin:4px 0 18px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{white-space:nowrap}.auth-alt-link{text-align:center;color:var(--text-muted);margin-top:20px;font-size:12px}.auth-alt-link a{color:var(--accent);font-weight:500;text-decoration:none}.auth-alt-link a:hover{text-decoration:underline}.auth-success{border-radius:var(--radius);color:#1d5a3a;background:#228b500f;border:1px solid #228b5040;margin-top:14px;padding:12px 14px;font-size:12.5px;line-height:1.5}
