.loading-screen{align-items:center;animation:loadingScreenFade .18s ease;background:linear-gradient(135deg,#16446f,#236baf 55%,#4491da);color:#fff;display:flex;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:1000}@keyframes loadingScreenFade{0%{opacity:0}to{opacity:1}}.loading-screen-card{align-items:center;display:flex;flex-direction:column;gap:1rem;max-width:22rem;text-align:center}.loading-screen-logo{align-items:center;background:#ffffff14;border-radius:16px;box-shadow:0 10px 30px -12px #00000073;display:flex;justify-content:center;padding:.35rem}.loading-screen-spinner{animation:loadingScreenSpin .85s linear infinite;border:3px solid #ffffff40;border-radius:50%;border-top-color:#fff;height:2.5rem;width:2.5rem}@keyframes loadingScreenSpin{to{transform:rotate(1turn)}}.loading-screen-title{font-size:clamp(15px,1.05rem,18px);font-weight:600;letter-spacing:.01em}.loading-screen-sub{color:#ffffffc7;font-size:clamp(13px,.85rem,15px);line-height:1.5}@media (prefers-reduced-motion:reduce){.loading-screen{animation:none}.loading-screen-spinner{animation-duration:2s}}:root{--color-bg:#f0f4fa;--color-surface:#fff;--color-surface-raised:#f0f4fa;--color-surface-sunken:#e8eef8;--color-border:#0d2b5a21;--color-border-strong:#0d2b5a38;--color-text:#0f1c35;--color-text-dim:#3a4f72;--color-text-mute:#7a90b4;--color-sidebar-bg:#0d2b5a;--color-sidebar-border:#081c3e;--color-topbar-bg:#fff;--color-topbar-border:#0d2b5a1a;--color-btn-bg:#eef2f9;--color-btn-border:#c8d5e8;--color-btn-hover:#dce7f8;--color-input-bg:#fff;--color-input-border:#0d2b5a24;--color-card-bg:#fff;--color-accent:#4491da;--color-accent-dark:#236baf;--color-accent-deeper:#16446f;--color-accent-light:#eef3fc;--color-accent-grad:linear-gradient(135deg,#1a3a7c,#2e6be6);--color-danger:#ef4444;--color-warning:#f59e0b;--color-success:#22c55e;--color-shadow:#0d2b5a1a;--color-shadow-md:#0d2b5a2e;--transition-theme:0.2s ease}[data-theme=dark]{--color-bg:#1a1d23;--color-surface:#22262d;--color-surface-raised:#2a2f38;--color-surface-sunken:#181b21;--color-border:#ffffff14;--color-border-strong:#ffffff24;--color-text:#e8edf5;--color-text-dim:#a8b4c8;--color-text-mute:#6b7a90;--color-sidebar-bg:#151820;--color-sidebar-border:#0e1015;--color-topbar-bg:#22262d;--color-topbar-border:#ffffff0f;--color-btn-bg:#2a2f38;--color-btn-border:#ffffff1f;--color-btn-hover:#343a45;--color-input-bg:#2a2f38;--color-input-border:#ffffff1f;--color-card-bg:#22262d;--color-accent:#4491da;--color-accent-dark:#236baf;--color-accent-deeper:#7fb4e6;--color-accent-light:#4491da26;--color-accent-grad:linear-gradient(135deg,#1a3a7c,#2e6be6);--color-danger:#f87171;--color-warning:#fbbf24;--color-success:#4ade80;--color-shadow:#00000040;--color-shadow-md:#0006;--transition-theme:0.2s ease}.main-content{--ai-surface:var(--color-surface);--ai-surface-raised:var(--color-surface-raised);--ai-border:var(--color-border);--ai-border-strong:var(--color-border-strong);--ai-text:var(--color-text);--ai-text-dim:var(--color-text-dim);--ai-text-mute:var(--color-text-mute);--ai-accent-grad:var(--color-accent-grad);--ai-glow-soft:0 4px 20px #1e50b41f}.avatar-img{border-radius:inherit;display:block;height:100%;object-fit:cover;width:100%}.sign-in{width:100vw}.container-left,.sign-in{display:flex;height:100vh;overflow:hidden}.container-left{background-position:50%;background-repeat:no-repeat;background-size:cover;flex:0 0 50%;flex-direction:column;max-width:50%;position:relative}.container-left:before{background:#0a286eb8;content:"";inset:0;position:absolute;z-index:1}.left-header{padding:1.75rem 2.25rem 0;position:relative;z-index:2}.brand-info,.left-header{align-items:center;display:flex}.brand-info{flex-direction:row;gap:.625rem}.brand-text{display:flex;flex-direction:column;gap:.125rem}.brand-name{color:#fff;font-size:1.0625rem;font-weight:700;letter-spacing:.2px}.brand-university{color:#fff9;font-size:.625rem;font-weight:500;letter-spacing:2px}.brand-icon{align-items:center;background:#0000;border:none;box-shadow:none;display:flex;flex-shrink:0;height:2.625rem;justify-content:center;padding:0;width:2.625rem}.left-content{display:flex;flex:1 1;flex-direction:column;justify-content:flex-end;padding:0 2.25rem 3.75rem;position:relative;z-index:2}.left-headline{color:#fff;font-size:2rem;font-weight:800;line-height:1.25;margin:0 0 2.25rem;text-align:left}.feature-list{display:flex;flex-direction:column;gap:1.125rem}.feature-item{align-items:flex-start;display:flex;gap:.875rem;text-align:left}.feature-arrow{align-items:center;background:#ffffff1f;border:1px solid #fff3;border-radius:.375rem;display:flex;flex-shrink:0;height:1.75rem;justify-content:center;margin-top:1px;width:1.75rem}.feature-text{display:flex;flex-direction:column;gap:.125rem}.feature-title{color:#fffffff2;font-size:.875rem;font-weight:600;text-align:left}.feature-desc{color:#ffffff80;font-size:.75rem;text-align:left}.left-footer{color:#ffffff59;font-size:.6875rem;padding:1rem 2.25rem;position:relative;z-index:2}.container-right{align-items:center;background:#f0f4fa;display:flex;flex:0 0 50%;height:100vh;justify-content:center;max-width:50%;overflow-y:auto;padding:1.5rem 1.25rem}.right-inner{display:flex;flex-direction:column;max-width:23.75rem;width:100%}.tab-toggle{background:#e2e8f4;border-radius:.625rem;display:flex;margin-bottom:1.25rem;padding:.25rem}.tab-btn{background:#0000;border:none;border-radius:.4375rem;color:#7a8bb0;cursor:pointer;flex:1 1;font-family:Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;padding:.5625rem 0;transition:all .2s}.tab-btn.tab-active{background:#1a3a7c;box-shadow:0 2px 8px #1a3a7c4d;color:#fff;font-weight:600}.welcome-title,.welcome-title-center{color:#1a2d5a;font-size:1.375rem;font-weight:700;margin:0 0 .25rem;text-align:left}.welcome-sub,.welcome-sub-center{color:#7a8bb0;font-size:.8125rem;margin:0 0 1rem;text-align:left}.field-group{display:flex;flex-direction:column;gap:.3125rem;margin-bottom:.625rem}.field-label,.field-label-center{color:#4a5880;font-size:.75rem;font-weight:500;text-align:left}.input-wrapper{position:relative}.input-icon,.input-wrapper{align-items:center;display:flex}.input-icon{left:.8125rem;pointer-events:none;position:absolute}.form-input{background:#fff;border:1.5px solid #d4ddf0;border-radius:.5625rem;color:#1a2d5a;font-family:Segoe UI,sans-serif;font-size:.8125rem;outline:none;padding:.625rem 2.625rem .625rem 2.5rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-input::placeholder{color:#b0bcd8}.form-input:focus{border-color:#1a3a7c;box-shadow:0 0 0 3px #1a3a7c1a}.toggle-password{align-items:center;background:none;border:none;cursor:pointer;display:flex;padding:0;position:absolute;right:.8125rem}.form-row{flex-wrap:wrap;justify-content:space-between;margin-bottom:.875rem}.form-row,.remember-label{align-items:center;display:flex;gap:.5rem}.remember-label{color:#4a5880;cursor:pointer;font-size:.8125rem}.remember-label input{accent-color:#1a3a7c;cursor:pointer;height:.9375rem;width:.9375rem}.forgot-link{color:#1a3a7c;font-size:.8125rem;font-weight:600;text-decoration:none}.forgot-link:hover{text-decoration:underline}.btn-submit{align-items:center;background:#1a3a7c;border:none;border-radius:.5625rem;color:#fff;cursor:pointer;display:flex;font-family:Segoe UI,sans-serif;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:.875rem;padding:.75rem;transition:background .2s;width:100%}.btn-submit:hover{background:#15316b}.btn-submit:active{transform:scale(.99)}.register-row{color:#7a8bb0;font-size:.8125rem;margin:0 0 1.25rem;text-align:center}.reg-prereg-note{background:#eef5fd;border:1px solid #c9dcf2;border-radius:10px;color:#16446f;font-size:.78rem;line-height:1.5;margin:0 0 1rem;padding:.65rem .8rem;text-align:left}.signin-privacy{align-items:flex-start;background:#f3f8fe;border:1px solid #d6e4f5;border-radius:10px;color:#4b6187;display:flex;font-size:.74rem;gap:8px;line-height:1.5;margin:.25rem 0 1rem;padding:.6rem .75rem;text-align:left}.signin-privacy svg{color:#236baf;flex-shrink:0;margin-top:2px}.signin-privacy a{color:#236baf;font-weight:600}.register-link{color:#1a3a7c;font-weight:700;text-decoration:none}.register-link:hover{text-decoration:underline}.footer-divider{background:#d4ddf0;height:1px;margin-bottom:.875rem}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.footer-links a{color:#9aaac8;font-size:.75rem;text-decoration:none}.footer-links a:hover{color:#1a3a7c}.footer-dot{color:#c0cce0;font-size:.75rem}@media (max-width:900px){.container-left{flex:0 0 45%;max-width:45%}.container-right{flex:0 0 55%;max-width:55%}.left-headline{font-size:1.625rem}.feature-desc{display:none}}@media (max-width:700px){.sign-in{flex-direction:column;height:auto;overflow-y:auto}.container-left{flex:none;height:240px;max-width:100%;width:100%}.left-content{padding:0 1.5rem 1.5rem}.left-headline{font-size:1.375rem;margin-bottom:1rem}.left-header{padding:1.25rem 1.5rem 0}.feature-desc{display:none}.left-footer{padding:.625rem 1.5rem}.container-right{align-items:flex-start;flex:none;height:auto;max-width:100%;padding:1.75rem 1.25rem 2.5rem;width:100%}.right-inner{max-width:100%}}@media (max-width:480px){.container-left{height:200px}.left-headline{font-size:1.25rem}.brand-name{font-size:.9375rem}.brand-icon{height:2.25rem;width:2.25rem}.feature-item{display:none}.welcome-title{font-size:1.25rem}.tab-btn{font-size:.8125rem;padding:.5625rem 0}.footer-links{gap:.375rem}.footer-links a{font-size:.6875rem}.password-row{flex-direction:column;gap:0}.modal-box{max-height:90vh}.modal-footer{flex-direction:column}.modal-btn-primary,.modal-btn-secondary{text-align:center;width:100%}}.form-input-error{background:#fff8f8;border-color:#e24b4a!important}.form-input-error:focus{border-color:#e24b4a!important;box-shadow:0 0 0 3px #e24b4a1a!important}.error-msg{color:#e24b4a;font-size:12px}.char-counter,.error-msg{display:block;line-height:1.4;margin-top:4px}.char-counter{font-feature-settings:"tnum";color:#8a97b1;font-size:11px;font-variant-numeric:tabular-nums;text-align:right}.char-counter-full{color:#b45309;font-weight:600}.strength-bar-wrap{align-items:center;display:flex;gap:8px;margin-top:6px}.strength-bar{display:flex;flex:1 1;gap:4px}.strength-segment{border-radius:2px;flex:1 1;height:4px;transition:background .3s}.strength-label{font-size:11px;font-weight:600;min-width:40px}.password-row{align-items:flex-start;display:flex;gap:12px;margin-bottom:4px}.terms-row{display:flex;flex-direction:column;margin-bottom:20px;margin-top:16px}.terms-row .remember-label{align-items:flex-start}.terms-row span{text-align:left!important}.modal-overlay{background:#0a1e5073}.modal-box{background:#fff;box-shadow:0 20px 60px #00000026}.modal-header{border-bottom:1px solid #e2e8f4}.modal-title{color:#1a2d5a}.modal-close{background:#f0f4fa;color:#5a6a8a}.modal-close:hover{background:#e2e8f4}.modal-section-title{color:#1a3a7c}.modal-text{color:#5a6a8a}.modal-footer{border-top:1px solid #e2e8f4}.modal-btn-secondary{background:#fff;border:1.5px solid #d4ddf0;color:#5a6a8a;transition:background .15s}.modal-btn-secondary:hover{background:#f0f4fa}.modal-btn-primary{background:#1a3a7c;transition:background .2s}.modal-btn-primary:hover{background:#15316b}.modal-success-icon{background:#1a3a7c}.auth-notice{align-items:flex-start;background:#f4f9ff;border:1px solid #cfe0f2;border-radius:.5625rem;display:flex;gap:.625rem;margin-bottom:.875rem;padding:.875rem}.auth-notice svg{flex-shrink:0;margin-top:.125rem}.auth-notice strong{color:#16446f;display:block;font-size:.875rem;font-weight:700;margin-bottom:.1875rem}.auth-notice p{color:#4a5880;font-size:.8125rem;line-height:1.5;margin:0}.auth-notice-bad{background:#fff8f8;border-color:#f3cdcd}.auth-notice-bad p{color:#7a4a4a}.auth-notice-email{color:#16446f;font-weight:600;word-break:break-all}.auth-hint{color:#7a8bb0;font-size:.75rem;line-height:1.5;margin:0 0 .875rem}.link-button{background:none;border:none;color:#236baf;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.8125rem;font-weight:600;padding:0}.link-button:hover{text-decoration:underline}.link-button-icon{align-items:center;display:inline-flex;gap:.375rem}.right-inner--wide{max-width:30rem}.sign-in--register .container-right{align-items:flex-start;padding-bottom:2rem;padding-top:2rem}.reg-type-group{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.reg-type{align-items:flex-start;background:#fff;border:1.5px solid #d4ddf0;border-radius:.5625rem;cursor:pointer;display:flex;flex-direction:column;font-family:Segoe UI,sans-serif;gap:.15rem;padding:.625rem .75rem;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s}.reg-type:hover{border-color:#4491da}.reg-type.is-active{background:#eef4fc;border-color:#236baf;box-shadow:0 0 0 3px #4491da2e}.reg-type:focus-visible{box-shadow:0 0 0 3px #4491da59;outline:none}.reg-type-label{color:#16446f;font-size:.8125rem;font-weight:700}.reg-type-desc{line-height:1.35}.field-hint,.reg-type-desc{color:#7a8bb0;font-size:.6875rem}.field-hint{line-height:1.4;text-align:left}.field-optional{color:#9aa7c4;font-weight:400}.form-select{background:#fff;border:1.5px solid #d4ddf0;border-radius:.5625rem;color:#1a2d5a;font-family:Segoe UI,sans-serif;font-size:.8125rem;outline:none;padding:.625rem .75rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-select:focus{border-color:#236baf;box-shadow:0 0 0 3px #236baf1f}.reg-form-error{background:#c0392b14;border-radius:.5rem;color:#c0392b;font-size:.8125rem;line-height:1.45;margin:0 0 .75rem;padding:.625rem .75rem;text-align:left}.btn-submit:disabled{cursor:progress;opacity:.7;transform:none}.reg-success{flex-direction:column;padding:.5rem 0 1rem;text-align:center}.reg-success,.reg-success-icon{align-items:center;display:flex}.reg-success-icon{background:#236baf;border-radius:50%;box-shadow:0 6px 18px #236baf4d;height:3.5rem;justify-content:center;margin-bottom:.75rem;width:3.5rem}.reg-success-title{text-align:center}.reg-success-text{color:#4a5880;font-size:.875rem;line-height:1.55;margin:.25rem 0 .75rem}.reg-success-steps{background:#fff;border:1px solid #d4ddf0;border-radius:.625rem;box-sizing:border-box;color:#1a2d5a;font-size:.8125rem;line-height:1.6;margin:0 0 .75rem;padding:.75rem 1rem .75rem 2rem;text-align:left;width:100%}.reg-success-note{color:#7a8bb0;font-size:.75rem;margin:0 0 .75rem}.reg-success-actions{display:flex;flex-direction:column;gap:.5rem;width:100%}.reg-success-signin{margin-bottom:0}.btn-secondary-outline{background:#fff;border:1.5px solid #a9c1db;border-radius:.5625rem;color:#16446f;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.8125rem;font-weight:600;padding:.6875rem;width:100%}.btn-secondary-outline:hover:not(:disabled){background:#eef4fc}.btn-secondary-outline:disabled{cursor:progress;opacity:.6}.reg-msg-ok{color:#2e7d52;font-size:.8125rem;font-weight:600;margin:.625rem 0 0}@media (max-width:480px){.reg-type-group{grid-template-columns:1fr}.reg-type{align-items:baseline;flex-direction:row;gap:.5rem}}.unreachable-screen{align-items:center;background:linear-gradient(135deg,#16446f,#236baf 55%,#4491da);color:#fff;display:flex;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;inset:0;justify-content:center;padding:1.5rem 1rem;position:fixed;z-index:1000}.unreachable-card{align-items:center;display:flex;flex-direction:column;gap:.9rem;max-width:26rem;text-align:center}.unreachable-logo{align-items:center;background:#ffffff14;border-radius:16px;box-shadow:0 10px 30px -12px #00000073;display:flex;justify-content:center;padding:.35rem}.unreachable-title{font-size:clamp(17px,1.25rem,21px);font-weight:650;letter-spacing:.01em;margin:0}.unreachable-note,.unreachable-text{color:#ffffffd9;font-size:clamp(13px,.9rem,15px);line-height:1.55;margin:0}.unreachable-note{background:#0a1f3347;border-radius:10px;padding:.6rem .8rem}.unreachable-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:.4rem}.unreachable-btn{background:#0000;border:1px solid #ffffff8c;border-radius:10px;color:#fff;cursor:pointer;font:inherit;font-weight:600;min-width:8.5rem;padding:.65rem 1.2rem}.unreachable-btn--primary{background:#fff;border-color:#fff;color:#16446f}.unreachable-btn:disabled{cursor:default;opacity:.6}.unreachable-btn:focus-visible{outline:3px solid #7fb4e6;outline-offset:2px}.modal-overlay{align-items:center;background:#0a1e5080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:999}.modal-box{animation:modalIn .2s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 20px 60px var(--color-shadow-md);display:flex;flex-direction:column;max-height:85vh;max-width:480px;transition:background var(--transition-theme),border-color var(--transition-theme);width:100%}.modal-box-sm{max-width:380px;padding:32px 28px 24px}.modal-box-wide{max-width:820px}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px 16px}.modal-title{color:var(--color-text);font-size:16px;font-weight:700;margin:0}.modal-close{align-items:center;background:var(--color-surface-raised);border:none;border-radius:7px;color:var(--color-text-dim);cursor:pointer;display:flex;height:30px;justify-content:center;transition:background .15s;width:30px}.modal-close:hover{background:var(--color-btn-hover)}.modal-body{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:20px 24px}.modal-section-title{color:var(--color-accent);font-size:13px;font-weight:700;margin:0}.modal-text{color:var(--color-text-dim);font-size:13px;line-height:1.6;margin:0}.modal-footer{border-top:1px solid var(--color-border);display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:16px 24px}.modal-btn-secondary{background:var(--color-surface);border:1.5px solid var(--color-btn-border);border-radius:8px;color:var(--color-text-dim);cursor:pointer;font-family:Segoe UI,sans-serif;font-size:14px;font-weight:500;padding:9px 20px;transition:background .15s,color var(--transition-theme)}.modal-btn-secondary:hover{background:var(--color-surface-raised)}.modal-btn-primary{background:var(--color-accent-grad);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:14px;font-weight:600;padding:9px 20px;transition:filter .15s}.modal-btn-primary:hover{filter:brightness(1.08)}.modal-success-icon{align-items:center;background:var(--color-accent-grad);border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto;width:64px}@media (max-width:480px){.password-row{flex-direction:column;gap:0}.modal-box{max-height:90vh}.modal-footer{flex-direction:column}.modal-btn-primary,.modal-btn-secondary{text-align:center;width:100%}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:clamp(12px,1.1vw,15px)}#root,body,html{border:none;height:100%;margin:0;max-width:100%;padding:0;text-align:inherit;width:100%}body{font-family:Segoe UI,sans-serif}