.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:var(--bg,#EFEEF1)}.auth-card{width:100%;max-width:380px;background:var(--surface,#fff);border:1px solid var(--border-2,#f1f3f5);border-radius:var(--r-lg,16px);box-shadow:0 12px 32px rgba(30,41,59,.12);padding:28px}.auth-brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:22px}.auth-brand__env{font:500 10px/14px var(--font-mono);color:var(--ink-4,#6A7486);display:block}.auth-title{font:700 18px/24px var(--font-display);color:var(--ink,#1A202C);letter-spacing:-.02em;margin:0 0 4px}.auth-sub{font:400 13px/20px var(--font-sans);color:var(--ink-3,#4A5568);margin:0 0 20px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-error{font:400 12px/18px var(--font-sans);color:var(--neg,#9F1239);background:var(--neg-soft,#FFF1F4);border:1px solid var(--accent-border,#fbcfe0);border-radius:var(--r-sm,8px);padding:8px 10px}.auth-submit{width:100%;justify-content:center}.auth-foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--border-2,#f1f3f5);font:400 12px/18px var(--font-sans);color:var(--ink-3,#4A5568);text-align:center}.auth-foot a{color:var(--accent-ink,#284F76);font-weight:500;text-decoration:none}.auth-foot a:hover{text-decoration:underline}.auth-hint{margin-top:16px;border-radius:var(--r-sm,8px);background:var(--surface-sunken,#F5F4F7);border:1px dashed var(--border-strong,#d5dadf);padding:10px 12px;font:400 11px/17px var(--font-mono);color:var(--ink-3,#4A5568)}.auth-hint b{color:var(--ink-2,#2D3748);font-weight:600}