:root{--accent: #111;--accent-hover: #333;--muted: #6b7280;--border: #e5e7eb;--border-focus: #111;--error: #dc2626;--error-bg: #fef2f2;--success: #16a34a;--radius: 999px;--radius-sm: 12px;--transition: .15s cubic-bezier(.22, 1, .36, 1)}.auth-app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#f8f9fa}.auth-card{width:100%;max-width:420px;background:#fff;border-radius:24px;padding:40px 32px;box-shadow:0 1px 3px #0000000a,0 8px 32px #0000000f;animation:auth-fade-up .4s cubic-bezier(.22,1,.36,1) both}@keyframes auth-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo a{font-size:24px;font-weight:900;letter-spacing:-.03em;color:#111}.auth-logo em{color:#888;font-weight:400;font-style:normal}.auth-title{font-size:22px;font-weight:800;text-align:center;margin-bottom:4px}.auth-subtitle{font-size:14px;color:var(--muted);text-align:center;margin-bottom:28px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-field label{font-size:12px;font-weight:600;color:#555}.auth-field input,.auth-field select{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;background:#fff;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.auth-field input::placeholder{color:#b0b0b0}.auth-field input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #11111114}.auth-field input.has-error{border-color:var(--error)}.auth-field input.has-error:focus{box-shadow:0 0 0 3px #dc26261f}.auth-field input:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.auth-field-error{font-size:12px;color:var(--error);animation:auth-shake .35s cubic-bezier(.22,1,.36,1)}@keyframes auth-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.password-wrapper{position:relative}.password-wrapper input{padding-right:44px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted);transition:background var(--transition),color var(--transition)}.password-toggle:hover{background:#f3f4f6;color:#111}.password-toggle:focus-visible{outline:2px solid #111;outline-offset:2px}.password-strength{margin-top:4px}.password-strength-bar{height:3px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin-bottom:4px}.password-strength-fill{height:100%;border-radius:999px;transition:width .3s cubic-bezier(.22,1,.36,1),background .3s}.password-strength-label{font-size:11px;color:var(--muted)}.password-requirements{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:2px}.password-requirements li{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px;transition:color var(--transition)}.password-requirements li.met{color:var(--success)}.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-row label{font-size:13px;color:#555;display:flex;align-items:center;gap:6px;cursor:pointer}.auth-row input[type=checkbox]{width:16px;height:16px;accent-color:#111;cursor:pointer}.auth-link{font-size:13px;color:var(--muted);cursor:pointer;transition:color var(--transition)}.auth-link:hover{color:#111}.auth-link.coming-soon{cursor:default;opacity:.5}.auth-link.coming-soon:hover{color:var(--muted)}.auth-btn{width:100%;padding:13px 24px;border-radius:var(--radius);font-size:14px;font-weight:600;transition:all var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-btn-primary{background:var(--accent);color:#fff}.auth-btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.auth-btn-primary:focus-visible{outline:2px solid #111;outline-offset:2px}.auth-btn-social{background:#fff;color:#333;border:1.5px solid var(--border);font-size:13px}.auth-btn-social:hover:not(:disabled){border-color:#c8c8c8;background:#fafafa}.auth-btn-social:disabled{opacity:.4;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:4px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-footer{text-align:center;font-size:13px;color:var(--muted);margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.auth-footer a{color:#111;font-weight:600;transition:opacity var(--transition)}.auth-footer a:hover{opacity:.7}.account-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-type-card{padding:14px 12px;border:2px solid var(--border);border-radius:var(--radius-sm);text-align:center;cursor:pointer;transition:all var(--transition);-webkit-user-select:none;user-select:none}.account-type-card:hover{border-color:#c8c8c8}.account-type-card.selected{border-color:#111;background:#fafafa}.account-type-card:focus-visible{outline:2px solid #111;outline-offset:2px}.account-type-card-icon{font-size:22px;margin-bottom:4px;line-height:1}.account-type-card-label{font-size:12px;font-weight:600;color:#333}.auth-consent{font-size:12px;color:var(--muted);display:flex;align-items:flex-start;gap:8px}.auth-consent input[type=checkbox]{width:16px;height:16px;accent-color:#111;cursor:pointer;margin-top:2px;flex-shrink:0}.auth-consent a{color:#111;font-weight:600;text-decoration:underline;text-underline-offset:2px}.auth-error-banner{padding:10px 14px;border-radius:var(--radius-sm);background:var(--error-bg);color:var(--error);font-size:13px;text-align:center;animation:auth-fade-up .25s cubic-bezier(.22,1,.36,1)}@media (max-width: 480px){.auth-app{padding:40px 12px 12px;align-items:flex-start}.auth-card{padding:28px 20px;border-radius:16px;box-shadow:none}.auth-title{font-size:20px}.account-type-grid{gap:8px}}@media (prefers-reduced-motion: reduce){.auth-card,.auth-field-error,.auth-error-banner{animation:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
