.auth-page{background:#fbf9f5;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-container{--line:#dedbd4;--paper:#fffefa;--soft:#f0efec;width:100%;max-width:440px}.auth-logo{justify-content:center;margin-bottom:32px;display:flex}.auth-logo img{width:auto;height:48px}.auth-card{background:var(--paper);padding:40px;box-shadow:0 8px 22px #0000000f}.auth-header{text-align:center;margin-bottom:32px}.auth-title{letter-spacing:-.01em;color:var(--ink);margin-bottom:8px;font-size:28px;font-weight:600}.auth-subtitle{color:var(--muted);font-size:16px}.auth-form{flex-direction:column;gap:20px;display:flex}.user-type-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.user-type-option{cursor:pointer;background:var(--soft);border:1px solid #0000;flex-direction:column;align-items:center;padding:16px 12px;transition:border-color .15s,background .15s;display:flex}.user-type-option:hover{border-color:var(--muted)}.user-type-option.selected{border-color:var(--accent);background:var(--paper)}.user-type-option input{display:none}.user-type-icon{margin-bottom:8px;font-size:32px}.user-type-label{color:var(--ink);text-align:center;font-size:13px;font-weight:600}.user-type-desc{color:var(--muted);text-align:center;margin-top:4px;font-size:11px}.auth-checkbox{cursor:pointer;align-items:center;gap:12px;display:flex}.auth-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--accent)}.auth-checkbox span{color:var(--muted);-webkit-user-select:none;user-select:none;font-size:14px}.form-link{color:var(--ink);border-bottom:1px solid;padding-bottom:1px;font-weight:600;transition:color .15s}.form-link:hover{color:var(--accent)}.auth-hint{color:var(--muted);margin-top:6px;font-size:13px;display:block}.auth-hint--suggestion strong{color:var(--ink)}.suggestion-button{color:var(--ink);cursor:pointer;background:0 0;border:none;border-bottom:1px solid;margin-left:8px;padding:2px 0;font-size:13px;font-weight:700}.suggestion-button:hover{color:var(--accent)}.auth-submit{color:#fff;background:var(--ink);border:1px solid var(--ink);cursor:pointer;border-radius:1px;width:100%;height:52px;margin-top:8px;font-size:16px;font-weight:600;transition:background .15s}.auth-submit:hover:not(:disabled){background:#2b2b2b;border-color:#2b2b2b}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-divider{align-items:center;gap:16px;margin:24px 0;display:flex}.auth-divider-line{background:var(--line);flex:1;height:1px}.auth-divider-text{color:var(--muted);font-size:14px}.auth-footer{text-align:center;border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.auth-footer-text{color:var(--muted);font-size:14px}.auth-footer-link{color:var(--ink);border-bottom:1px solid;padding-bottom:1px;font-weight:600;transition:color .15s}.auth-footer-link:hover{color:var(--accent)}.auth-alert{border-left:2px solid var(--line);background:var(--soft);color:var(--ink);margin-bottom:20px;padding:12px 16px;font-size:14px}.auth-alert--error{border-left-color:#dc2626}.auth-alert--success{border-left-color:#16a34a}.error-message{background:var(--soft);color:var(--ink);border-left:2px solid #dc2626;margin-bottom:20px;padding:12px 16px;font-size:14px}.auth-content{margin-top:8px}.success-message{text-align:center;padding:8px 0 16px}.success-icon{color:#16a34a;width:40px;height:40px;margin:0 auto 16px}.success-message h3{color:var(--ink);margin-bottom:8px;font-size:18px;font-weight:600}.success-message p{color:var(--muted);font-size:14px;line-height:1.6}.success-message .hint{margin-top:4px;font-size:13px}.success-message .auth-link{color:var(--ink);border-bottom:1px solid;margin-top:20px;padding-bottom:1px;font-size:14px;font-weight:600;display:inline-block}.success-message .auth-link:hover{color:var(--accent)}.auth-link{color:var(--ink);border-bottom:1px solid;padding-bottom:1px;font-weight:600}.auth-link:hover{color:var(--accent)}.auth-back{justify-content:center;margin-top:24px;display:flex}.back-link{color:var(--muted);align-items:center;gap:8px;font-size:14px;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--ink)}.back-link svg{width:16px;height:16px}@media (max-width:480px){.auth-card{padding:24px}.auth-title{font-size:24px}.user-type-grid{grid-template-columns:1fr}.user-type-option{flex-direction:row;gap:12px;padding:12px 16px}.user-type-icon{margin-bottom:0;font-size:24px}.user-type-content{text-align:left}}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-primary);font-size:14px;font-weight:600}.form-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--neutral-white);width:100%;height:48px;color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);padding:12px 16px;font-family:inherit;font-size:16px}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.form-input::placeholder{color:var(--text-tertiary)}.form-input--error{border-color:#dc2626}.form-error{color:#dc2626;margin-top:4px;font-size:13px}.form-select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--neutral-white);width:100%;height:48px;color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;padding:12px 44px 12px 16px;font-family:inherit;font-size:16px}.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}
