.auth-page{background:radial-gradient(circle at 50% 0, var(--ru-accent-soft), transparent 31rem), var(--ru-canvas);min-height:100vh;color:var(--ru-text);place-items:center;padding:28px;display:grid}.auth-shell{width:min(100%,390px)}.auth-brand{text-align:center;margin-bottom:22px}.auth-card{border:1px solid var(--ru-border);border-radius:var(--ru-radius-lg);background:var(--ru-surface);box-shadow:var(--ru-shadow-md);padding:30px}.auth-title{letter-spacing:-.03em;margin:0 0 6px;font-size:23px;font-weight:730}.auth-subtitle{color:var(--ru-text-muted);margin:0 0 25px;font-size:13px;line-height:1.55}.auth-field{margin-bottom:15px}.auth-field-row{gap:12px;display:flex}.auth-field-row .auth-field{flex:1;min-width:0}@media (max-width:380px){.auth-field-row{flex-direction:column;gap:0}}.auth-label{color:var(--ru-text-muted);margin-bottom:6px;font-size:12px;font-weight:650;display:block}.auth-input{border:1px solid var(--ru-border-strong);border-radius:var(--ru-radius-sm);background:var(--ru-surface);width:100%;min-height:42px;color:var(--ru-text);padding:9px 11px;font-size:14px}.auth-input:focus{border-color:var(--ru-accent);outline:3px solid var(--ru-accent-ring)}.auth-error{border:1px solid color-mix(in srgb, var(--ru-down) 45%, var(--ru-border));border-radius:var(--ru-radius-sm);background:var(--ru-down-soft);color:var(--ru-down);margin-bottom:15px;padding:9px 11px;font-size:13px}.auth-button{border-radius:var(--ru-radius-sm);background:var(--ru-accent);width:100%;min-height:42px;color:var(--ru-accent-text);cursor:pointer;border:0;margin-top:6px;font-size:14px;font-weight:680}.auth-button:hover{background:var(--ru-accent-hover)}.auth-button:disabled{cursor:not-allowed;opacity:.55}.auth-footer{color:var(--ru-text-muted);text-align:center;margin:19px 0 0;font-size:13px}.auth-footer a{color:var(--ru-accent);font-weight:650}.oauth-buttons{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.oauth-button{border:1px solid var(--ru-border-strong);border-radius:var(--ru-radius-sm);background:var(--ru-surface);min-height:42px;color:var(--ru-text);justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:620;text-decoration:none;display:flex}.oauth-button:hover{background:var(--ru-canvas)}.oauth-button:focus-visible{border-color:var(--ru-accent);outline:3px solid var(--ru-accent-ring)}.auth-divider{color:var(--ru-text-muted);align-items:center;gap:10px;margin:20px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--ru-border);flex:1;height:1px}.auth-error-state{border:1px solid color-mix(in srgb, var(--ru-down) 45%, var(--ru-border));border-radius:var(--ru-radius-sm);background:var(--ru-down-soft);margin:-6px -6px 0;padding:16px}.auth-error-state-label{margin:0 0 var(--ru-eyebrow-gap);font-family:var(--ru-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ru-down);font-size:11px;font-weight:650}.auth-error-state-title{letter-spacing:-.02em;color:var(--ru-down);margin:0 0 6px;font-size:20px;font-weight:730}.auth-error-state-body{color:var(--ru-text);margin:0 0 14px;font-size:13px;line-height:1.55}.auth-error-state-link{color:var(--ru-accent);font-size:13px;font-weight:650;text-decoration:underline;display:inline-block}
