.auth-wrap{min-height:60vh;display:flex;align-items:flex-start;justify-content:center;padding:var(--s12) var(--s4) var(--s16)}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--e2);padding:var(--s8) var(--s6)}.auth-title{margin:0;text-align:center}.auth-subtitle{margin:var(--s2) 0 var(--s6);text-align:center}.auth-error{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s4);padding:var(--s2) var(--s3);border-radius:var(--r-md);background:var(--danger-bg);color:var(--danger);font-size:var(--t-body-s);font-weight:600}.auth-error .ico{flex:none}.auth-form{gap:var(--s4)}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-label{font-weight:700;font-size:var(--t-body-s);color:var(--ink)}.auth-code-input{text-align:center;font-size:var(--t-h2);font-weight:800;letter-spacing:.4em;font-feature-settings:"tnum" 1}.auth-consent{display:flex;align-items:flex-start;gap:var(--s2);font-size:var(--t-body-s);color:var(--ink);cursor:pointer}.auth-consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--primary)}.auth-consent-note{margin:calc(-1 * var(--s2)) 0 0}.auth-devcode{margin:0;padding:var(--s2) var(--s3);border-radius:var(--r-md);background:var(--warning-bg);color:var(--warning);font-size:var(--t-body-s);font-weight:700;text-align:center}.auth-or{display:flex;align-items:center;gap:var(--s3);color:var(--text-3);font-size:var(--t-micro)}.auth-or:after,.auth-or:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-links{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}.auth-textlink{background:none;border:none;padding:0;color:var(--primary-dark);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}.auth-textlink:hover{color:var(--primary)}.auth-textlink:disabled{color:var(--text-3);cursor:default;text-decoration:none}.auth-textlink:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}@media (max-width:480px){.auth-wrap{padding:var(--s6) var(--s3) var(--s12)}.auth-card{padding:var(--s6) var(--s4);border-radius:var(--r-lg)}}