.login-shell{background:var(--bg-base);grid-template-columns:minmax(0,1fr);place-items:center;min-height:100vh;padding:24px 16px;display:grid;position:relative;overflow:hidden}.login-card{gap:22px;width:100%;max-width:420px;padding:32px 28px;display:grid}.login-brand{align-items:center;gap:12px;display:flex}.login-brand-name{letter-spacing:-.3px;color:var(--text-primary);margin:0;font-size:18px;font-weight:800}.login-title{letter-spacing:-.5px;color:var(--text-primary);margin:0;font-size:22px;font-weight:800}.login-google{justify-content:center;align-items:center;gap:11px;width:100%;min-height:46px;display:flex}.login-who{gap:8px;margin:0;padding:0;list-style:none;display:grid}.login-who li{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.5}.login-who strong{color:var(--text-primary);font-size:13px;display:block}.login-admin{border-top:1px solid var(--border);padding-top:14px}.login-admin summary{cursor:pointer;text-align:center;color:var(--text-muted);font-size:12px}.login-form{gap:14px;margin-top:16px;display:grid}.login-password{position:relative}.login-password .ap-input{padding-right:46px}.login-eye{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login-brand{gap:0;display:grid}.login-card .retail-field span{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:12px;font-weight:600}.login-card .ap-input{min-height:44px}.login-card .login-form{margin-top:0}.login-card .login-form .retail-primary,.login-google{min-height:46px;font-size:14px;font-weight:700}.login-card .login-form .retail-primary{border-radius:10px}.login-or{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.login-or:before,.login-or:after{content:"";background:var(--border);flex:1;height:1px}.login-help{text-align:center;color:var(--text-muted);margin:0;font-size:12px;line-height:1.55}.login-dna{aspect-ratio:1;pointer-events:none;opacity:.34;-webkit-mask-mode:luminance;background:#14af9d;width:clamp(72rem,104vw,104rem);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask:url(/assets/ap-dna-flow.webp) 0/cover no-repeat;-webkit-mask-source-type:luminance;mask:url(/assets/ap-dna-flow.webp) 0/cover no-repeat luminance}.login-card{z-index:1;position:relative;box-shadow:0 1px 2px #0f172a0f,0 12px 32px #0f172a1a}@keyframes login-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.login-card{animation:.6s cubic-bezier(.22,1,.36,1) both login-fade-in}.login-dna{animation:1.2s ease-out both login-dna-in}@keyframes login-dna-in{0%{opacity:0}to{opacity:.34}}@media (prefers-reduced-motion:reduce){.login-card,.login-dna{animation:none}}.login-shell:after{content:"";pointer-events:none;background:radial-gradient(ellipse at center, transparent 35%, var(--bg-base) 100%);opacity:.55;position:fixed;inset:0}.login-card{gap:20px;max-width:400px;padding:36px 32px}.login-google{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary)}.login-google:hover:not(:disabled){background:var(--bg-elevated)}.login-card .ap-input{background:var(--bg-base)}.login-card .login-form .retail-primary{background:var(--accent)}.login-label{color:var(--text-primary);margin:0 0 -6px;font-size:13px;font-weight:700}
