.auth-page{place-items:center;min-height:100vh;padding:40px 20px;display:grid;position:relative;overflow:hidden}.auth-card{z-index:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);padding:40px;position:relative}.auth-logo{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;margin-bottom:32px;font-size:18px;font-weight:600;text-decoration:none;display:inline-flex}.auth-logo .mark{background:linear-gradient(135deg, var(--violet-500), var(--violet-700));color:#fff;border-radius:9px;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 4px 12px -2px #7565a880,inset 0 1px #ffffff59}.auth-card h1{letter-spacing:-.025em;margin-bottom:8px;font-size:32px;font-weight:500}.auth-card .auth-sub{color:var(--muted);margin-bottom:32px;font-size:15px}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--ink-2);letter-spacing:-.005em;font-size:13px;font-weight:500}.auth-field input{font:inherit;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);transition:all .2s var(--ease);padding:12px 14px;font-size:14.5px}.auth-field input:focus{border-color:var(--violet-500);background:var(--surface);outline:none;box-shadow:0 0 0 3px #7565a81f}.auth-field input::placeholder{color:var(--muted-2)}.auth-error{color:#991b1b;border-radius:var(--r-md);background:#fef2f2;border:1px solid #fca5a5;padding:10px 14px;font-size:13.5px}.auth-success{color:#166534;border-radius:var(--r-md);background:#f0fdf4;border:1px solid #86efac;padding:10px 14px;font-size:13.5px}.auth-notice{border-radius:var(--r-md);background:#fff7ed;border:1px solid #fed7aa;flex-direction:column;gap:10px;margin:4px 0 18px;padding:14px 16px;display:flex}.auth-notice-text{color:#7c2d12;font-size:13.5px;line-height:1.45}.auth-notice-action{background:var(--surface);color:#7c2d12;border-color:#fed7aa;align-self:flex-start}.auth-notice-action:hover{background:#ffedd5;border-color:#fdba74}.auth-submit{justify-content:center;width:100%;margin-top:8px}.auth-submit:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.25)}.auth-consents{gap:14px;margin-top:4px}.auth-consent{cursor:pointer;color:var(--ink-2);letter-spacing:0;align-items:flex-start;gap:10px;font-size:14px;font-weight:400;line-height:1.45;display:flex}.auth-consent>input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--violet-500);flex-shrink:0;margin-top:2px}.auth-consent a{color:var(--violet-600);text-underline-offset:2px;text-decoration:underline}.auth-consent a:hover{color:var(--violet-700)}.auth-divider{color:var(--muted-2);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:20px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-magic{justify-content:center;width:100%}.auth-footer{text-align:center;color:var(--muted);margin-top:28px;font-size:14px}.auth-footer a{color:var(--violet-600);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-forgot-link{color:var(--violet-700);transition:color .15s var(--ease);font-size:12.5px;font-weight:500;text-decoration:none}.auth-forgot-link:hover{color:var(--violet-500);text-decoration:underline}.auth-bottom-link{text-align:center;margin-top:24px;font-size:13.5px}.auth-bottom-link a{color:var(--violet-700);font-weight:500;text-decoration:none}.auth-bottom-link a:hover{text-decoration:underline}.auth-success-state,.auth-error-state{text-align:center;padding:8px 0 4px}.auth-success-icon{color:#1e6b3a;background:#ecf8f0;border:1px solid #d6efde;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:24px;font-weight:600;display:grid}.auth-error-icon{color:#92400e;background:#fef6e7;border:1px solid #fbe7bd;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:22px;display:grid}.auth-success-state h2,.auth-error-state h2{letter-spacing:-.01em;color:var(--ink);margin:0 0 10px;font-size:18px;font-weight:600}.auth-success-state p,.auth-error-state p{color:var(--ink-2);margin:0 0 6px;font-size:13.5px;line-height:1.5}.auth-success-hint{color:var(--muted)!important;margin-top:10px!important;font-size:12.5px!important}.auth-loading{text-align:center;color:var(--muted);padding:32px 0;font-size:13.5px}
