.auth-page{background:var(--background);justify-content:center;align-items:flex-start;min-height:100vh;padding:100px clamp(1rem,4vw,2rem) 2rem;display:flex}.auth-card{background:var(--background-paper,var(--background));border:1px solid var(--color-border);border-radius:18px;width:100%;max-width:400px;padding:clamp(1.75rem,5vw,2.25rem);animation:.3s cubic-bezier(.22,1,.36,1) both slideUp;box-shadow:0 4px 24px #00000012}html.dark .auth-card{box-shadow:0 4px 32px #00000059}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-greeting{color:var(--foreground);letter-spacing:-.03em;margin:0 0 1.5rem;font-size:clamp(1.5rem,4vw,1.875rem);font-weight:800;line-height:1.15}.auth-signup-school-btn{border:1px solid var(--color-accent);color:var(--color-accent);letter-spacing:-.01em;background-color:#0000;border-radius:10px;justify-content:center;align-items:center;margin-bottom:20px;padding:11px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.auth-signup-school-btn:hover{background-color:var(--color-accent);color:#fff}.auth-back-home{width:100%;max-width:420px;margin-bottom:12px}.auth-back-home-link{color:var(--color-muted);letter-spacing:-.01em;font-size:12.5px;text-decoration:none;transition:color .15s}.auth-back-home-link:hover{color:var(--color-text)}.role-segment-picker{background:var(--color-secondary);border-radius:11px;gap:3px;margin-bottom:1.5rem;padding:3px;display:flex}.segment-item{color:var(--color-text-secondary);cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;padding:9px 12px;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.segment-item.active{background:var(--background-paper,var(--background));color:var(--color-primary);box-shadow:0 1px 6px #0000001a}html.dark .segment-item.active{box-shadow:0 1px 6px #0006}.segment-item:hover:not(.active):not(:disabled){color:var(--foreground)}.segment-item:disabled{opacity:.5;cursor:not-allowed}.auth-field{flex-direction:column;gap:6px;margin-bottom:1rem;display:flex}.auth-field-label{color:var(--foreground);font-size:.8125rem;font-weight:600;display:block}.auth-input-wrap{border:1.5px solid var(--color-border);background:var(--color-secondary);border-radius:10px;align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.auth-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent)}.auth-input{min-width:0;color:var(--foreground);appearance:none;background:0 0;border:none;outline:none;flex:1;padding:.8125rem .9375rem;font-family:inherit;font-size:.9375rem;line-height:1.2}.auth-input::placeholder{color:var(--foreground);opacity:.3}.auth-input:disabled{cursor:not-allowed}.auth-input:-webkit-autofill{caret-color:var(--foreground);transition:background-color 9999s;-webkit-box-shadow:0 0 0 1000px var(--color-secondary) inset!important;-webkit-text-fill-color:var(--foreground)!important}.auth-input:-webkit-autofill:hover{caret-color:var(--foreground);transition:background-color 9999s;-webkit-box-shadow:0 0 0 1000px var(--color-secondary) inset!important;-webkit-text-fill-color:var(--foreground)!important}.auth-input:-webkit-autofill:focus{caret-color:var(--foreground);transition:background-color 9999s;-webkit-box-shadow:0 0 0 1000px var(--color-secondary) inset!important;-webkit-text-fill-color:var(--foreground)!important}.auth-eye-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 .875rem;transition:color .15s;display:flex}.auth-eye-btn:hover{color:var(--color-primary)}.auth-skeleton{background:linear-gradient(90deg, var(--color-secondary) 25%, var(--color-border) 50%, var(--color-secondary) 75%);background-size:200% 100%;border-radius:10px;height:46px;animation:1.3s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-error{background:#dc26260f;border:1px solid #dc262633;border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:1rem;padding:.75rem .875rem;animation:.2s both errIn;display:flex}html.dark .auth-error{background:#ef44441a;border-color:#ef444440}@keyframes errIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-error-icon{color:#dc2626;flex-shrink:0;margin-top:1px}html.dark .auth-error-icon{color:#f87171}.auth-error-text{color:#dc2626;font-size:.875rem;font-weight:500;line-height:1.4}html.dark .auth-error-text{color:#f87171}.auth-utilities{margin:.5rem 0 1.25rem}.auth-remember{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;width:fit-content;display:flex}.auth-remember span{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.auth-switch{background:var(--color-border);cursor:pointer;border-radius:99px;flex-shrink:0;width:40px;height:22px;transition:background .2s;position:relative}.auth-switch:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent);outline:none}.auth-switch.on{background:var(--color-primary)}.auth-switch-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.auth-switch.on .auth-switch-thumb{transform:translate(18px)}.auth-submit{background:var(--color-primary);color:#fff;cursor:pointer;letter-spacing:-.01em;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;padding:.875rem 1rem;font-family:inherit;font-size:.9375rem;font-weight:700;transition:opacity .15s,transform .15s;display:flex}.auth-submit:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-google{border:1.5px solid var(--color-border);width:100%;min-height:48px;color:var(--foreground);cursor:pointer;letter-spacing:-.01em;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:10px;margin-top:.75rem;padding:.875rem 1rem;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:flex}.auth-google:hover:not(:disabled){background:var(--color-secondary);border-color:var(--color-primary);transform:translateY(-1px)}.auth-google:active:not(:disabled){transform:translateY(0)}.auth-google:disabled{opacity:.5;cursor:not-allowed}.sp-wrap{width:100%;position:relative}.sp-disabled{pointer-events:none;opacity:.5}.sp-input-wrap{background:var(--color-secondary);border:1.5px solid var(--color-border);cursor:text;border-radius:10px;align-items:center;gap:8px;width:100%;padding:.8125rem .9375rem;transition:border-color .15s,box-shadow .15s;display:flex}.sp-wrap.sp-open .sp-input-wrap{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);border-bottom-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0}.sp-input-wrap:hover:not(:disabled){border-color:var(--color-text-secondary)}.sp-wrap.sp-open .sp-input-wrap:hover{border-color:var(--color-primary)}.sp-search-icon{color:var(--color-text-secondary);flex-shrink:0}.sp-input{min-width:0;color:var(--foreground);cursor:inherit;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.9375rem;line-height:1.2}.sp-input::placeholder{color:var(--foreground);opacity:.35}.sp-clear{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:1.125rem;line-height:1;transition:color .15s}.sp-clear:hover{color:var(--foreground)}.sp-chevron{color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;transition:transform .2s}.sp-chevron-up{transform:rotate(180deg)}.sp-panel{z-index:200;background:var(--background-paper,var(--background));border:1.5px solid var(--color-primary);border-top:none;border-bottom-right-radius:10px;border-bottom-left-radius:10px;animation:.15s both spOpen;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}html.dark .sp-panel{box-shadow:0 8px 32px #00000073}@keyframes spOpen{0%{opacity:0;transform:translateY(5px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.sp-list{overscroll-behavior:contain;max-height:220px;margin:0;padding:.375rem 0;list-style:none;overflow-y:auto}.sp-list::-webkit-scrollbar{width:4px}.sp-list::-webkit-scrollbar-track{background:0 0}.sp-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.sp-option{color:var(--foreground);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:.625rem .9375rem;font-size:.9rem;transition:background .1s;display:flex}.sp-option-active{background:var(--color-secondary)}.sp-option-selected{color:var(--color-primary);font-weight:600}.sp-option-selected svg{color:var(--color-primary);flex-shrink:0}.sp-empty{color:var(--color-text-secondary);text-align:center;padding:1rem .9375rem;font-size:.875rem}@media (max-width:480px){.auth-card{border-radius:14px;padding:1.5rem 1.25rem}.auth-input,.sp-input{font-size:16px}}@media (prefers-reduced-motion:reduce){.auth-card,.auth-error,.sp-panel{animation:none}.auth-skeleton{background:var(--color-secondary);animation:none}.auth-switch,.auth-switch-thumb,.sp-chevron,.auth-submit,.auth-google{transition:none}}html.dark .auth-field-label,html.dark .segment-item,html.dark .auth-remember span,html.dark .auth-link-secondary,html.dark .sp-search-icon,html.dark .sp-input::placeholder,html.dark .sp-empty,html.dark .auth-eye-btn{color:#fff!important;opacity:1!important}html.dark .segment-item.active{color:var(--color-primary)!important}.auth-card--wide{max-width:520px}.wizard-steps{justify-content:center;align-items:flex-start;margin-bottom:1.75rem;display:flex}.wizard-step{flex-direction:column;align-items:center;gap:6px;display:flex}.wizard-step-dot{border:2px solid var(--color-border);width:32px;height:32px;color:var(--color-text-secondary);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;transition:all .25s;display:flex}.wizard-step-dot.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 18%, transparent)}.wizard-step-dot.completed{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.wizard-step-label{color:var(--color-text-secondary);white-space:nowrap;text-align:center;letter-spacing:.02em;font-size:.6875rem;font-weight:600}.wizard-step-label.active{color:var(--color-primary)}.wizard-connector{background:var(--color-border);flex:1;min-width:36px;max-width:64px;height:2px;margin:16px 6px 0;transition:background .3s}.wizard-connector.completed{background:var(--color-primary)}.wizard-step-content{animation:.28s cubic-bezier(.22,1,.36,1) both wizardIn}@keyframes wizardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wizard-back-btn{border:1.5px solid var(--color-border);color:var(--foreground);cursor:pointer;white-space:nowrap;background:0 0;border-radius:10px;padding:.875rem 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:600;transition:border-color .15s,background .15s}.wizard-back-btn:hover:not(:disabled){border-color:var(--color-text-secondary);background:var(--color-secondary)}.wizard-back-btn:disabled{opacity:.4;cursor:not-allowed}.wizard-nav{gap:10px;margin-top:1.5rem;display:flex}.auth-select-wrap{position:relative}.auth-select-wrap:after{content:"";pointer-events:none;border-left:5px solid #0000;border-right:5px solid #0000;border-top:6px solid var(--color-text-secondary);width:0;height:0;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.auth-select{background:var(--color-secondary);border:1.5px solid var(--color-border);width:100%;color:var(--foreground);appearance:none;cursor:pointer;border-radius:10px;outline:none;padding:.8125rem 2.25rem .8125rem .9375rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.auth-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent)}.auth-type-pills{flex-wrap:wrap;gap:8px;display:flex}.auth-type-pill{border:1.5px solid var(--color-border);background:var(--color-secondary);min-width:80px;color:var(--foreground);cursor:pointer;text-align:center;border-radius:10px;flex:1;padding:10px 14px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .15s}.auth-type-pill.selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-primary)}.auth-type-pill:hover:not(.selected):not(:disabled){border-color:var(--color-text-secondary)}.auth-two-col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.auth-phone-outer{background:var(--color-secondary);border:1.5px solid var(--color-border);border-radius:10px;padding:4px 10px;transition:border-color .15s,box-shadow .15s}.auth-phone-outer:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent)}.terms-box{background:var(--color-secondary);border:1.5px solid var(--color-border);height:210px;color:var(--color-text-secondary);border-radius:10px;margin-bottom:1rem;padding:1rem 1.125rem;font-size:.8125rem;line-height:1.65;overflow-y:auto}.terms-box::-webkit-scrollbar{width:4px}.terms-box::-webkit-scrollbar-track{background:0 0}.terms-box::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.auth-terms-check{cursor:pointer;border:1.5px solid var(--color-border);background:var(--color-secondary);-webkit-user-select:none;user-select:none;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;transition:border-color .15s;display:flex}.auth-terms-check:has(input:checked){border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.role-question-row{border:1.5px solid var(--color-border);background:var(--color-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:12px;margin-bottom:10px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.role-question-row.checked{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.role-question-check{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.role-question-text{flex:1}.role-question-title{color:var(--foreground);font-size:.9375rem;font-weight:600;display:block}.role-question-sub{color:var(--color-text-secondary);margin-top:1px;font-size:.8125rem;display:block}.role-tooltip-wrap{flex-shrink:0;position:relative}.role-tooltip-btn{border:1.5px solid var(--color-text-secondary);width:20px;height:20px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:.75rem;font-weight:700;line-height:1;transition:border-color .15s,color .15s;display:flex}.role-tooltip-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.role-tooltip-popup{background:var(--background-paper,var(--background));border:1px solid var(--color-border);width:230px;color:var(--foreground);z-index:200;pointer-events:none;border-radius:10px;padding:10px 12px;font-size:.8125rem;line-height:1.5;animation:.15s both spOpen;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 8px 24px #00000021}html.dark .role-tooltip-popup{box-shadow:0 8px 32px #00000073}.btn-signup{border:1.5px solid var(--color-primary);color:var(--color-primary);letter-spacing:-.01em;white-space:nowrap;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:9px 18px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,transform .15s;display:inline-flex}.btn-signup:hover{background:var(--color-primary);color:#fff;transform:translateY(-1px)}@media (max-width:560px){.auth-card--wide{max-width:100%}.auth-two-col{grid-template-columns:1fr}.wizard-connector{min-width:20px;max-width:40px}}
