.auth-page{--background: #f9fafc;--foreground: #14151b;--card: #f9fafc;--card-foreground: #14151b;--surface: #f9fafc;--surface-raised: #fff;--surface-subtle: #f0eef6;--muted-foreground: #666975;--border: #d4d4de;--accent: #eee7fb;--accent-foreground: #59318a;--accent-strong: #684195;--accent-color: #684195;--accent-muted: #ad8dd9;--accent-soft: #f0eafa;--primary: #d0b7fa;--primary-dark: #bda0eb;--primary-foreground: #211433;--ring: #a78bfa50;--link: #684195;--auth-highlight: #8c61c2;--auth-grid: #d8d8e5;min-height:100dvh;color:var(--foreground);background:var(--background);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.dark .auth-page{--background: #090a0e;--foreground: #f4f4f7;--card: #090a0e;--card-foreground: #f4f4f7;--surface: #090a0e;--surface-raised: #101218;--surface-subtle: #17171f;--muted-foreground: #a2a3b0;--border: #393a46;--accent: #282133;--accent-foreground: #d0b7fa;--accent-strong: #d0b7fa;--accent-color: #d0b7fa;--accent-muted: #9174b6;--accent-soft: #20182b;--link: #d0b7fa;--auth-highlight: #d0b7fa;--auth-grid: #343541;--destructive: #fb8b9c;color-scheme:dark}.auth-page *,.auth-page *:before,.auth-page *:after{box-sizing:border-box}.auth-page a,.auth-page a:hover{text-decoration:none}.auth-page :focus-visible{outline:2px solid var(--auth-highlight);outline-offset:4px}.auth-header{height:78px;padding:0 3.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.auth-brand{display:inline-flex;align-items:center;gap:12px;color:var(--foreground);font-size:25px;font-weight:600;letter-spacing:-.05em}.auth-brand svg{width:35px;height:35px;color:var(--auth-highlight);stroke-width:1.5}.auth-header-actions{display:flex;align-items:center;gap:24px}.auth-home-link{color:var(--muted-foreground);display:flex;align-items:center;gap:8px;font-size:14px}.auth-home-link:hover{color:var(--foreground)}.auth-home-link svg{width:16px;height:16px}.auth-page .auth-theme-toggle{border:0;background:transparent;border-left:1px solid var(--border);border-radius:0;padding-left:20px;width:46px}.auth-theme-toggle svg{width:22px;height:22px}.auth-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:calc(100dvh - 78px);max-width:1720px;margin:0 auto}.auth-story{padding:clamp(52px,5.2vw,80px) clamp(32px,4.8vw,76px) 48px;border-right:1px solid var(--border)}.auth-story-content{position:sticky;top:54px;max-width:660px;margin:0 auto}.auth-story h2{margin:0;font-size:clamp(42px,4.25vw,66px);font-weight:600;line-height:1.16;letter-spacing:-.05em}.auth-story h2 span{color:var(--auth-highlight)}.auth-story p{margin:22px 0 0;color:var(--muted-foreground);font-size:clamp(15px,1.3vw,19px);line-height:1.65;letter-spacing:-.015em}.auth-story .auth-universities{margin-top:38px;font-size:14px}.auth-planner-perspective{perspective:1100px;margin:48px -6px 0}.auth-planner{background:var(--surface-raised);border:1px solid var(--border);border-radius:14px;box-shadow:0 28px 55px -34px #8d66c265;overflow:hidden;transform:rotateY(7deg) rotateX(5deg) rotate(-2deg);transition:transform .7s ease}@media(hover:hover){.auth-planner-perspective:hover .auth-planner{transform:rotateY(0) rotateX(0) rotate(0)}}.auth-planner-days{display:grid;grid-template-columns:54px repeat(5,minmax(0,1fr));border-bottom:1px solid var(--auth-grid);height:42px;align-items:stretch}.auth-planner-days span{display:grid;place-items:center;font-size:11px;color:var(--muted-foreground);border-left:1px solid var(--auth-grid)}.auth-planner-days span:first-child{border-left:0}.auth-planner-body{display:flex;height:clamp(285px,26vw,385px)}.auth-planner-times{width:54px;flex-shrink:0;display:grid;grid-template-rows:repeat(5,1fr)}.auth-planner-times span{font-size:10px;color:var(--muted-foreground);padding:12px 7px;text-align:center}.auth-planner-grid{position:relative;flex:1;border-left:1px solid var(--auth-grid);background-image:linear-gradient(to right,transparent calc(100% - 1px),var(--auth-grid) 1px),linear-gradient(to bottom,transparent calc(100% - 1px),var(--auth-grid) 1px);background-size:20% 100%,100% 10%}.auth-course{position:absolute;top:calc(var(--row) * 10%);left:calc(var(--day) * 20% + 4px);width:calc(20% - 8px);min-height:19%;padding:9px 6px;border-radius:5px;color:#211433;box-shadow:0 4px 18px -8px var(--course-color);background:var(--course-color);display:flex;flex-direction:column;gap:4px}.auth-course strong{font-size:clamp(9px,.81vw,12px);font-weight:650;letter-spacing:-.04em;white-space:nowrap}.auth-course span{font-size:clamp(8px,.67vw,10px);white-space:nowrap}.auth-course small{font-size:9px;line-height:1.3;opacity:.85}.auth-course--purple{--course-color: #d0b7fa}.auth-course--blue{--course-color: #a6d9f7}.auth-course--mint{--course-color: #a7e4d0}.auth-form-stage{padding:68px clamp(28px,5.4vw,84px) 30px;display:flex;flex-direction:column;justify-content:center;min-width:0}.auth-panel{width:100%;max-width:440px;margin:auto}.auth-page--register .auth-panel{max-width:490px;margin:0 auto auto}.auth-page--register .auth-form-stage{padding-top:32px}.auth-panel>.rounded-lg,.auth-page .auth-form-card{background:transparent;border:0;box-shadow:none;border-radius:0}.auth-page .auth-form-header{padding:0 0 22px}.auth-page .auth-form-content{padding:0}.auth-form-title{margin:0;font-size:clamp(30px,2.5vw,38px);line-height:1.2;letter-spacing:-.045em;font-weight:600}.auth-page .auth-form-description{margin:12px 0 0;color:var(--muted-foreground);font-size:15px;line-height:1.65}.auth-account-nav{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:28px;padding:4px;border:1px solid var(--border);border-radius:12px}.auth-account-nav a{display:grid;place-items:center;min-height:44px;border-radius:8px;font-size:14px;font-weight:600;color:var(--muted-foreground)}.auth-account-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-foreground);box-shadow:inset 0 0 0 1px var(--accent-muted)}.auth-account-nav a:focus-visible,.auth-university-options input:focus-visible+span{outline:2px solid var(--accent-color);outline-offset:3px}.auth-method-alternative,.auth-next-step{margin:16px 0 0;text-align:center;font-size:13px;line-height:1.6}.auth-next-step{color:var(--muted-foreground)}.auth-university-choice{min-width:0;padding:0;border:0}.auth-university-choice legend{margin-bottom:8px;font-size:13px;font-weight:500}.auth-university-options{display:flex;flex-wrap:wrap;gap:10px}.auth-university-options label{position:relative;flex:1 1 100px;cursor:pointer}.auth-university-options input{position:absolute;opacity:0;width:1px;height:1px}.auth-university-options span{display:grid;place-items:center;min-height:48px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:600}.auth-university-options input:checked+span{border-color:var(--accent-color);background:var(--accent-soft);color:var(--accent-foreground)}.auth-university-options input:disabled+span{opacity:.5;cursor:not-allowed}.auth-form-fields{display:flex;flex-direction:column;gap:20px}.auth-page--register .auth-form-fields{gap:17px}.auth-page .auth-field{display:flex;flex-direction:column;gap:8px;min-width:0}.auth-field label{font-size:13px;font-weight:500}.auth-field>p{margin:0}.auth-page .auth-field input:not([type=hidden]),.auth-page .auth-field button[role=combobox],.auth-page .auth-email-input{min-height:52px;height:52px;font-size:15px;border-radius:8px}.auth-page .auth-field input::placeholder{color:var(--muted-foreground);opacity:.85}.auth-page .auth-field input:focus-visible{outline:0}.auth-page .auth-email-input input{height:auto;min-height:0;border-radius:0;font-size:15px}.auth-page .auth-email-input span{font-size:12px;padding:0 10px}.auth-page .auth-field [role=combobox]+div,.auth-page .auth-field input[id$=-search]{background:var(--surface-raised)}.auth-page .auth-field input[id$=-search]{border-radius:0;padding-left:36px}.auth-password-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.auth-page .auth-password-toggle{width:36px;height:36px}.auth-password-help{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted-foreground);font-size:12px;line-height:1.6}.auth-password-help span{display:inline-flex;gap:6px;align-items:center}.auth-password-help svg{width:13px;height:13px}.auth-password-help .is-met{color:var(--accent-strong)}.auth-phone-fields{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:12px}.auth-page .auth-security{border:0;padding:0;background:transparent}.auth-security-title{display:none}.auth-page .auth-primary{min-height:50px;height:auto;width:100%;padding:13px 18px;border-radius:8px;background:var(--primary);color:#211433;font-size:14px;font-weight:600;border:1px solid #bea0ec;box-shadow:0 3px 14px -10px #a078df;justify-content:center;position:relative;transition:background .2s,transform .2s}.auth-page .auth-primary:hover{background:#c4a5f2;transform:translateY(-1px)}.auth-page .auth-primary:disabled{transform:none}.auth-primary>svg{position:absolute;right:18px;width:19px;height:19px}.auth-page .auth-alternate{margin:24px 0 0;color:var(--muted-foreground);font-size:14px;line-height:1.7;text-align:center}.auth-alternate a{color:var(--link);font-weight:500}.auth-recovery{text-align:right;font-size:13px}.auth-footer{text-align:center;color:var(--muted-foreground);font-size:12px;margin:48px auto 0;padding-top:22px;width:100%;max-width:490px;border-top:1px solid var(--border)}.auth-footer a{color:inherit}@media(min-width:821px){.auth-page--login .auth-panel{margin:clamp(50px,9vh,100px) auto auto}}@media(prefers-reduced-motion:no-preference){.auth-story h2,.auth-story-content>p{animation:auth-arrive .7s ease both}.auth-course{animation:auth-course-arrive .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--order) * 90ms + .18s)}}@keyframes auth-arrive{0%{opacity:.15;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-course-arrive{0%{opacity:0;transform:translateY(18px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@media(max-width:1100px){.auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.auth-story{padding:60px 30px}.auth-story h2{font-size:43px}.auth-story p{font-size:15px}.auth-form-stage{padding-left:30px;padding-right:30px}.auth-course small{display:none}.auth-planner-days{grid-template-columns:42px repeat(5,minmax(0,1fr))}.auth-planner-times{width:42px}}@media(max-width:820px){.auth-header{height:70px;padding:0 24px}.auth-layout{display:block;min-height:calc(100dvh - 70px)}.auth-story{display:none}.auth-form-stage,.auth-page--register .auth-form-stage{min-height:calc(100dvh - 70px);padding:48px 24px 24px}.auth-panel,.auth-page--register .auth-panel{max-width:460px;margin:0 auto}.auth-form-title{font-size:34px}.auth-footer{margin-top:40px;max-width:460px}.auth-page .auth-field input:not([type=hidden]),.auth-page .auth-field button[role=combobox],.auth-page .auth-email-input input{font-size:16px}}@media(max-width:440px){.auth-header{padding:0 20px}.auth-brand{font-size:22px;gap:8px}.auth-brand svg{width:30px;height:30px}.auth-header-actions{gap:10px}.auth-home-link span{display:none}.auth-home-link{width:32px;height:40px;justify-content:center}.auth-page .auth-theme-toggle{width:36px;padding-left:10px}.auth-form-stage,.auth-page--register .auth-form-stage{padding:36px 20px 24px}.auth-password-row{grid-template-columns:1fr;gap:17px}.auth-page .auth-email-input span{max-width:44%;overflow:hidden;font-size:11px;padding:0 8px}}@media(prefers-reduced-motion:reduce){.auth-page *,.auth-page *:before,.auth-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.auth-planner,.auth-planner-perspective:hover .auth-planner{transform:none}}
