:root{--bg-canvas:#f4f8fd;--bg-canvas-gradient:linear-gradient(135deg, #f7faff 0%, #eef5fc 45%, #f1f6fd 100%);--bg-ambient-blue:#4d82e812;--bg-ambient-violet:#8b78e80d;--bg-ambient-cyan:#54d5d10f;--glass-surface-primary:#ffffffbd;--glass-surface-secondary:#ffffff94;--glass-surface-floating:#ffffffeb;--glass-surface-input:#ffffffbf;--glass-surface-input-focus:#fff;--glass-surface-hover:#fffffff2;--glass-surface-pill:#ffffffd9;--glass-sidebar-bg:linear-gradient(180deg, #ffffffd9 0%, #f6faffc7 100%);--glass-border-subtle:#c3daf5a6;--glass-border-strong:#b4d0f0e6;--glass-border-edge:#afcdeeb3;--glass-sidebar-border:#b4ceeebf;--glass-border-blue:#4d82e873;--glass-border-focus:#4d82e8bf;--font-family-primary:"Manrope", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--text-primary:#12243d;--text-secondary:#586982;--text-muted:#8b9bb0;--text-inverse:#fff;--accent-blue:#4d82e8;--accent-blue-hover:#3d72d8;--accent-blue-soft:#4d82e81f;--accent-blue-glow:#4d82e847;--accent-cyan:#26b9b4;--accent-cyan-soft:#26b9b41f;--accent-violet:#806ee3;--accent-violet-soft:#806ee31f;--accent-pink:#df6fa7;--accent-pink-soft:#df6fa71f;--accent-amber:#e59d3b;--accent-amber-soft:#e59d3b1f;--accent-emerald:#10b981;--accent-emerald-soft:#10b9811f;--shadow-soft:0 8px 30px #2d4e730f;--shadow-medium:0 18px 50px #2d4e7314;--shadow-floating:0 25px 70px #2d4e731f;--shadow-glow-blue:0 0 32px #4d82e838;--shadow-inner-light:inset 0 1px 1px 0 #ffffffe6;--blur-panel:22px;--blur-card:18px;--blur-control:12px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:26px;--radius-pill:9999px;--radius-circle:50%;--transition-fast:.16s cubic-bezier(.16, 1, .3, 1);--transition-base:.24s cubic-bezier(.16, 1, .3, 1);--transition-slow:.48s cubic-bezier(.16, 1, .3, 1)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes universalUpOrbPulse{0%{opacity:.8;transform:scale(.85)}to{opacity:1;filter:drop-shadow(0 0 6px #ef4444);transform:scale(1.15)}}@keyframes universalUpWaveAnim{0%{opacity:.6;transform:scaleY(.4)}to{opacity:1;transform:scaleY(1.3)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100vh;font-family:var(--font-family-primary);background-color:var(--bg-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}::selection{color:#12243d;background:#4d82e82e}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}button,input,select,textarea{color:inherit;font-family:inherit;font-size:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#91a0b359;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#91a0b38c}.atmospheric-background{pointer-events:none;z-index:0;background:var(--bg-canvas-gradient);width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.ambient-glow-container{width:100%;height:100%;position:absolute;inset:0}.ambient-orb{filter:blur(80px);opacity:.7;border-radius:50%;animation:22s ease-in-out infinite alternate floatAmbient;position:absolute;transform:translateZ(0)}.ambient-orb--primary{background:radial-gradient(circle,#a2c4ff73 0%,#dcebff26 55%,#0000 75%);width:650px;height:650px;top:-12%;left:10%}.ambient-orb--secondary{background:radial-gradient(circle,#c6b9ff59 0%,#d7ebff1f 55%,#0000 75%);width:750px;height:750px;animation-duration:28s;animation-direction:alternate-reverse;bottom:-15%;right:5%}.ambient-orb--cyan{background:radial-gradient(circle,#a5f3f04d 0%,#e6f8ff14 60%,#0000 75%);width:500px;height:500px;animation-duration:19s;top:40%;right:25%}.ambient-orb--amber{background:radial-gradient(circle,#fee9c647 0%,#f0f6ff0f 60%,#0000 75%);width:550px;height:550px;animation-duration:25s;bottom:10%;left:-5%}@keyframes floatAmbient{0%{transform:translate(0)scale(1)}50%{transform:translate(25px,-18px)scale(1.04)}to{transform:translate(-20px,15px)scale(.97)}}.flowing-wave-layer{opacity:.85;width:100%;height:100%;position:absolute;inset:0}.wave-svg{preserve-3d:true;width:100%;height:100%;position:absolute}.wave-ribbon{fill:none;stroke-linecap:round;transition:all .6s}.wave-ribbon--flow1{stroke-dasharray:2000;stroke-dashoffset:0;animation:18s ease-in-out infinite alternate wavePulse1}.wave-ribbon--flow2{stroke-dasharray:1800;animation:24s ease-in-out infinite alternate wavePulse2}.wave-ribbon--flow3{animation:21s ease-in-out infinite alternate-reverse wavePulse1}@keyframes wavePulse1{0%{opacity:.6;transform:translateY(0)scaleY(1)}50%{opacity:.85;transform:translateY(-12px)scaleY(1.03)}to{opacity:.65;transform:translateY(8px)scaleY(.98)}}@keyframes wavePulse2{0%{opacity:.55;transform:translateY(0)scaleX(1)}50%{opacity:.8;transform:translateY(14px)scaleX(1.02)}to{opacity:.5;transform:translateY(-10px)scaleX(.99)}}.light-node{fill:#fff;filter:drop-shadow(0 0 6px #4d82e8b3);animation:6s ease-in-out infinite alternate nodeTwinkle}@keyframes nodeTwinkle{0%{opacity:.4;r:2}50%{opacity:.9;r:3.2}to{opacity:.5;r:2.2}}.particle-layer{width:100%;height:100%;position:absolute;inset:0}.particle-dot{pointer-events:none;border-radius:50%;animation:linear infinite driftParticle;position:absolute}@keyframes driftParticle{0%{opacity:0;transform:translateY(0)translate(0)}15%{opacity:var(--p-opacity,.45)}85%{opacity:var(--p-opacity,.45)}to{transform:translateY(-80px) translateX(var(--drift-x,20px));opacity:0}}.sparkle-layer{width:100%;height:100%;position:absolute;inset:0}.four-point-sparkle{pointer-events:none;justify-content:center;align-items:center;animation:ease-in-out infinite alternate sparkleTwinkle;display:flex;position:absolute}.sparkle-svg{filter:drop-shadow(0 0 8px #78aaffd9);width:100%;height:100%}@keyframes sparkleTwinkle{0%{opacity:.25;transform:scale(.65)rotate(0)}50%{opacity:.95;transform:scale(1.15)rotate(5deg)}to{opacity:.3;transform:scale(.7)rotate(-3deg)}}.auth-navbar{z-index:10;-webkit-backdrop-filter:blur(16px);background:#ffffff73;border-bottom:1px solid #ffffffbf;justify-content:space-between;align-items:center;padding:16px 36px;display:flex;position:relative;box-shadow:0 4px 20px #2d4e7308}.auth-navbar__left{align-items:center;gap:20px;display:flex}.auth-navbar__divider{background:#b9d0eb80;width:1px;height:24px}.auth-navbar__campus-pill{color:var(--text-secondary);border-radius:var(--radius-pill);border:1px solid var(--glass-border-subtle);background:#ffffffb3;align-items:center;gap:8px;padding:6px 14px;font-size:12px;font-weight:600;display:flex}.auth-navbar__right{align-items:center;gap:14px;display:flex}.auth-navbar__status{color:var(--text-secondary);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.auth-navbar__pulse{background:#10b981;border-radius:50%;width:7px;height:7px;animation:2.2s infinite pulseGreen;box-shadow:0 0 8px #10b981}@keyframes pulseGreen{0%{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.25)}to{opacity:.7;transform:scale(.95)}}.auth-container{z-index:5;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:1320px;margin:0 auto;padding:32px 24px 48px;display:flex;position:relative}.auth-header-meta{align-items:center;gap:10px;margin-bottom:20px;display:flex}.auth-header-meta__pill{border:1px solid var(--glass-border-subtle);border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-blue);box-shadow:var(--shadow-soft);background:#ffffffbf;align-items:center;gap:6px;padding:5px 14px;font-size:11px;font-weight:700;display:inline-flex}.auth-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;width:100%;max-width:1180px;display:grid}.auth-hero-info{flex-direction:column;gap:24px;padding-right:12px;display:flex}.auth-hero-title{letter-spacing:-.03em;color:var(--text-primary);font-size:44px;font-weight:800;line-height:1.15}.auth-hero-title__highlight{background:linear-gradient(135deg,#1b3860 0%,#4d82e8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.auth-hero-desc{color:var(--text-secondary);max-width:500px;font-size:16px;font-weight:400;line-height:1.6}.auth-capabilities{flex-direction:column;gap:14px;margin-top:4px;display:flex}.capability-item{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:all var(--transition-fast);background:#ffffff85;border:1px solid #ffffffd9;align-items:flex-start;gap:14px;padding:14px 18px;display:flex;box-shadow:0 4px 16px #2d4e730a}.capability-item:hover{background:#ffffffc7;border-color:#4d82e859;transform:translate(3px);box-shadow:0 6px 20px #2d4e7312}.capability-item__icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.capability-item__icon--blue{color:#3b71d8;background:#4d82e81f}.capability-item__icon--cyan{color:#128a86;background:#26b9b41f}.capability-item__icon--violet{color:#6652cc;background:#806ee31f}.capability-item__content{flex-direction:column;gap:2px;display:flex}.capability-item__title{color:var(--text-primary);font-size:13.5px;font-weight:700}.capability-item__text{color:var(--text-secondary);font-size:12.5px;line-height:1.45}.login-card{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(24px);background:#ffffffb8;border:1px solid #ffffffe6;flex-direction:column;gap:22px;padding:36px 38px;display:flex;box-shadow:0 20px 60px #2d4e7317,inset 0 1px 1px #fff}.login-card__header{flex-direction:column;gap:6px;display:flex}.login-card__badge-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.login-card__title{color:var(--text-primary);letter-spacing:-.02em;font-size:22px;font-weight:800}.login-card__subtitle{color:var(--text-secondary);font-size:13px;line-height:1.4}.auth-tabs{border-radius:var(--radius-md);background:#e1ecf873;border:1px solid #c8dcf58c;padding:3px;display:flex}.auth-tab{color:var(--text-secondary);transition:all var(--transition-fast);text-align:center;border-radius:9px;flex:1;padding:8px 12px;font-size:12.5px;font-weight:600}.auth-tab--active{color:var(--text-primary);background:#fff;box-shadow:0 2px 8px #2d4e7314}.login-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label-row{justify-content:space-between;align-items:center;display:flex}.form-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:700}.form-forgot-link{color:var(--accent-blue);transition:color var(--transition-fast);font-size:12px;font-weight:600}.form-forgot-link:hover{color:#2b60ca;text-decoration:underline}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:14px}.form-input{border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-fast);background:#ffffffb3;border:1px solid #c3daf5b3;padding:12px 14px 12px 42px;font-size:14px;font-weight:500;box-shadow:inset 0 1px 2px #2d4e7308}.form-input::placeholder{color:var(--text-muted);font-weight:400}.form-input:focus{border-color:var(--accent-blue);background:#fff;outline:none;box-shadow:0 0 0 3px #4d82e829}.input-toggle-btn{color:var(--text-muted);transition:color var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;right:12px}.input-toggle-btn:hover{color:var(--text-primary)}.domain-hint-badge{color:#0b8e62;background:#10b98114;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;margin-top:3px;padding:3px 8px;font-size:11px;font-weight:600;display:flex}.form-options{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-weight:500;display:flex}.checkbox-input{width:16px;height:16px;accent-color:var(--accent-blue);cursor:pointer;border-radius:4px}.auth-divider{align-items:center;gap:12px;margin:2px 0;display:flex}.auth-divider__line{background:#c8dcf599;flex:1;height:1px}.auth-divider__text{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.role-quick-selector{border-radius:var(--radius-lg);background:#f0f7ffa6;border:1px solid #c8def8b3;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.role-quick-selector__header{justify-content:space-between;align-items:center;display:flex}.role-quick-selector__label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.role-quick-selector__info-btn{color:var(--accent-blue);cursor:pointer;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex}.role-chips-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.role-chip{border-radius:var(--radius-sm);color:var(--text-secondary);text-align:center;transition:all var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;background:#ffffffb3;border:1px solid #c3daf599;padding:7px 4px;font-size:11px;font-weight:600;overflow:hidden}.role-chip:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#fff;transform:translateY(-1px)}.role-chip--active{color:#1a3860;border-color:var(--accent-blue);background:#fff;font-weight:700;box-shadow:0 2px 8px #4d82e838}.persona-preview-box{border-radius:var(--radius-md);background:#ffffffd9;border:1px solid #bed7f5b3;flex-direction:column;gap:4px;padding:10px 14px;animation:.2s fadeIn;display:flex}.persona-preview-box__title{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.persona-preview-box__meta{color:var(--text-secondary);font-size:11px;line-height:1.35}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cockpit-active-state{text-align:center;border-radius:var(--radius-lg);background:#ffffffd9;border:1px solid #4d82e859;flex-direction:column;align-items:center;gap:16px;padding:24px 16px;display:flex;box-shadow:0 10px 30px #4d82e81f}.cockpit-avatar{color:#fff;background:linear-gradient(135deg,#4d82e8 0%,#806ee3 100%);border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;font-size:20px;font-weight:700;display:flex;box-shadow:0 8px 24px #4d82e859}.auth-trust-strip{flex-wrap:wrap;justify-content:center;align-items:center;gap:32px;margin-top:36px;display:flex}.trust-badge-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:11.5px;font-weight:600;display:flex}.trust-badge-item svg{color:var(--accent-blue)}.auth-footer{z-index:10;color:var(--text-muted);background:#ffffff4d;border-top:1px solid #ffffffa6;justify-content:space-between;align-items:center;padding:16px 36px;font-size:12px;display:flex;position:relative}.auth-footer__links{align-items:center;gap:20px;display:flex}.auth-footer__link:hover{color:var(--text-primary);text-decoration:underline}.modal-content{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:#ffffffeb;border:1px solid #fffffff2;flex-direction:column;gap:20px;width:100%;max-width:760px;max-height:85vh;padding:32px;display:flex;overflow-y:auto;box-shadow:0 25px 80px #2d4e732e}.modal-header{justify-content:space-between;align-items:flex-start;display:flex}.modal-close-btn{color:var(--text-muted);transition:all var(--transition-fast);border-radius:8px;padding:6px}.modal-close-btn:hover{color:var(--text-primary);background:#4d82e81a}.scope-table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);border:1px solid #c8def8a6;width:100%;font-size:12.5px;overflow:hidden}.scope-table th{text-align:left;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;background:#ebf4ffb3;border-bottom:1px solid #c8def8a6;padding:10px 14px;font-size:11px;font-weight:700}.scope-table td{color:var(--text-secondary);border-bottom:1px solid #dcebfa80;padding:12px 14px;line-height:1.4}.scope-table tr:last-child td{border-bottom:none}.scope-table tr:hover td{background:#f5faffcc}@media (width<=960px){.auth-grid{grid-template-columns:1fr;gap:32px}.auth-hero-info{text-align:center;align-items:center;padding-right:0}.auth-hero-desc{max-width:100%}.role-chips-grid{grid-template-columns:repeat(3,1fr)}.auth-navbar{padding:12px 20px}.auth-footer{text-align:center;flex-direction:column;gap:12px;padding:16px 20px}}.auth-container-simple{z-index:5;flex:1;justify-content:center;align-items:center;width:100%;padding:40px 20px;display:flex;position:relative}.login-card-simple{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(28px);background:#ffffffc2;border:1px solid #fffffff2;flex-direction:column;gap:20px;width:100%;max-width:480px;padding:36px 32px;animation:.3s ease-out fadeInCard;display:flex;box-shadow:0 24px 64px #2d4e731f,inset 0 1px 1px #fff}@keyframes fadeInCard{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-brand-pill{border-radius:var(--radius-pill);letter-spacing:.08em;color:#3b71d8;text-transform:uppercase;background:#4d82e814;border:1px solid #4d82e833;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:800;display:inline-flex}.login-brand-dot{background:#4d82e8;border-radius:50%;width:6px;height:6px}.role-selection-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.role-select-card{cursor:pointer;transition:all var(--transition-fast);text-align:left;background:#ffffffb3;border:1.5px solid #c8def8bf;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.role-select-card:hover{background:#fff;border-color:#4d82e8;transform:translateY(-1px);box-shadow:0 4px 14px #2d4e7314}.role-select-card--active{background:linear-gradient(135deg,#4d82e81f 0%,#806ee31f 100%),#fff;border-color:#4d82e8;box-shadow:0 6px 18px #4d82e833,inset 0 0 0 1px #4d82e8}.role-select-card__icon-wrapper{color:#3b71d8;width:34px;height:34px;transition:all var(--transition-fast);background:#4d82e81a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.role-select-card--active .role-select-card__icon-wrapper{color:#fff;background:linear-gradient(135deg,#4d82e8 0%,#3b71d8 100%);box-shadow:0 2px 8px #4d82e859}.role-select-card__info{flex-direction:column;min-width:0;display:flex}.role-select-card__label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.role-select-card__sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.password-toggle-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--text-primary)}.login-submit-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all var(--transition-fast);background:linear-gradient(135deg,#4d82e8 0%,#3b71d8 100%);border:none;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:13px 20px;font-size:14.5px;font-weight:700;display:flex;box-shadow:0 6px 20px #4d82e852}.login-submit-btn:hover{background:linear-gradient(135deg,#3b71d8 0%,#2b60ca 100%);transform:translateY(-1px);box-shadow:0 8px 24px #4d82e866}.login-submit-btn:active{transform:translateY(0)}.auth-error-banner{border-radius:var(--radius-sm);color:#b91c1c;background:#fef2f2f2;border:1px solid #f8717173;align-items:flex-start;gap:10px;margin-top:10px;padding:10px 14px;font-size:12.5px;line-height:1.45;animation:.35s ease-in-out authShake;display:flex;box-shadow:0 4px 14px #ef444414}.auth-error-banner__icon{flex-shrink:0;margin-top:1px}@keyframes authShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.auth-cred-helper{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:6px;font-size:11.5px;display:flex}.auth-cred-helper__btn{color:var(--accent-blue);cursor:pointer;text-underline-offset:2px;transition:opacity var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:11.5px;font-weight:600;text-decoration:underline}.auth-cred-helper__btn:hover{opacity:.8}.auth-session-redirect-banner{border-radius:var(--radius-sm);color:#1d4ed8;background:#eff6fff2;border:1px solid #93c5fd80;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.glass-card{background:var(--glass-surface-primary);border:1px solid var(--glass-border-subtle);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(var(--blur-card));box-shadow:var(--shadow-medium);box-shadow:var(--shadow-medium), var(--shadow-inner-light);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);position:relative;overflow:hidden}.glass-card--elevated{background:var(--glass-surface-floating);box-shadow:var(--shadow-floating), var(--shadow-inner-light)}.glass-card--interactive:hover{border-color:var(--glass-border-strong);box-shadow:var(--shadow-floating), var(--shadow-glow-blue);transform:translateY(-2px)}.glass-btn{font-family:var(--font-family-primary);letter-spacing:-.01em;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;display:inline-flex}.glass-btn:active{transform:scale(.985)}.glass-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.glass-btn--primary{color:#fff;background:linear-gradient(135deg,#4d82e8 0%,#3a71d8 100%);border:1px solid #ffffff73;box-shadow:0 4px 16px #4d82e847,inset 0 1px 1px #fff6}.glass-btn--primary:hover{background:linear-gradient(135deg,#5b8df0 0%,#467de0 100%);transform:translateY(-1px);box-shadow:0 6px 22px #4d82e861,inset 0 1px 1px #fff9}.glass-btn--secondary{color:var(--text-primary);border:1px solid var(--glass-border-subtle);-webkit-backdrop-filter:blur(var(--blur-control));backdrop-filter:blur(var(--blur-control));box-shadow:var(--shadow-soft), var(--shadow-inner-light);background:#ffffffd9}.glass-btn--secondary:hover{border-color:var(--glass-border-strong);color:#0c1a2d;background:#fff;transform:translateY(-1px);box-shadow:0 6px 18px #2d4e731a}.glass-btn--ghost{color:var(--text-secondary);border:1px solid var(--glass-border-subtle);-webkit-backdrop-filter:blur(var(--blur-control));backdrop-filter:blur(var(--blur-control));background:#ffffffb8;box-shadow:0 2px 8px #2d4e730a}.glass-btn--ghost:hover{border-color:var(--accent-blue);color:var(--text-primary);background:#fff;transform:translateY(-1px);box-shadow:0 4px 14px #4d82e824}.glass-btn--danger{color:#dc2626;background:#fef2f2eb;border:1px solid #ef444459;box-shadow:0 2px 8px #ef44441f}.glass-btn--danger:hover{color:#b91c1c;background:#fee2e2;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 4px 14px #ef444438}.glass-btn--success{color:#059669;background:#ecfdf5eb;border:1px solid #10b98159;box-shadow:0 2px 8px #10b9811f}.glass-btn--success:hover{color:#047857;background:#d1fae5;border-color:#10b981;transform:translateY(-1px);box-shadow:0 4px 14px #10b98138}.glass-btn--sso{width:100%;color:var(--text-primary);border:1px solid var(--glass-border-subtle);box-shadow:var(--shadow-soft), var(--shadow-inner-light);border-radius:var(--radius-md);background:#ffffffd9;padding:12px 18px;font-size:13.5px;font-weight:600}.glass-btn--sso:hover{border-color:var(--accent-blue);background:#fff;transform:translateY(-1px);box-shadow:0 8px 24px #4d82e829}.status-badge{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--glass-border-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffa6;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-badge__dot{border-radius:50%;width:6px;height:6px}.status-badge--blue{color:#3b71d8;background:#4d82e814;border-color:#4d82e840}.status-badge--blue .status-badge__dot{background:#4d82e8;box-shadow:0 0 6px #4d82e8b3}.status-badge--cyan{color:#128a86;background:#26b9b414;border-color:#26b9b440}.status-badge--cyan .status-badge__dot{background:#26b9b4;box-shadow:0 0 6px #26b9b4b3}.status-badge--violet{color:#6652cc;background:#806ee314;border-color:#806ee340}.status-badge--violet .status-badge__dot{background:#806ee3;box-shadow:0 0 6px #806ee3b3}.status-badge--amber{color:#b87417;background:#e59d3b17;border-color:#e59d3b47}.status-badge--amber .status-badge__dot{background:#e59d3b;box-shadow:0 0 6px #e59d3bb3}.status-badge--emerald{color:#0b8e62;background:#10b98114;border-color:#10b98140}.status-badge--emerald .status-badge__dot{background:#10b981;box-shadow:0 0 6px #10b981b3}.institution-logo{align-items:center;gap:12px;display:flex}.institution-logo__icon-box{width:42px;height:42px;color:var(--accent-blue);background:linear-gradient(135deg,#ffffffe6 0%,#e6f0ffb3 100%);border:1px solid #fffffff2;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 8px 20px #4d82e824,inset 0 1px 1px #fff}.institution-logo__text{flex-direction:column;display:flex}.institution-logo__title{color:var(--text-primary);letter-spacing:-.02em;font-size:16px;font-weight:700;line-height:1.2}.institution-logo__caption{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:10.5px;font-weight:600}.modal-overlay{z-index:99990;-webkit-backdrop-filter:blur(16px);background:#0f172a6b;justify-content:center;align-items:center;padding:20px;animation:.2s cubic-bezier(.16,1,.3,1) forwards modalFadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-2xl,20px);background:#fffffff5;border:1px solid #fffffff2;width:100%;max-width:900px;animation:.24s cubic-bezier(.16,1,.3,1) forwards modalScaleUp;position:relative;overflow:hidden;box-shadow:0 32px 80px #102a4347,0 0 0 1px #fffffff2}.modal-close-btn{border:1px solid var(--glass-border-subtle);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffffe6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #2d4e730f}.modal-close-btn:hover{border-color:var(--accent-blue);color:var(--text-primary);background:#fff;transform:scale(1.06);box-shadow:0 4px 14px #4d82e833}.sidebar-collapse-btn{width:28px;height:28px;color:var(--text-secondary,#475569);cursor:pointer;background:#ffffffb3;border:1px solid #94a3b84d;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.sidebar-collapse-btn:hover{color:var(--text-primary,#09090b);background:#fff;border-color:#6366f166;transform:scale(1.05);box-shadow:0 2px 8px #6366f126}.teacher-sidebar.teacher-sidebar--collapsed,.hod-sidebar.hod-sidebar--collapsed,.dean-sidebar.dean-sidebar--collapsed,.ops-sidebar.ops-sidebar--collapsed{transition:width .25s cubic-bezier(.16,1,.3,1);width:72px!important;min-width:72px!important}.teacher-sidebar,.hod-sidebar,.dean-sidebar,.ops-sidebar{transition:width .25s cubic-bezier(.16,1,.3,1)}.teacher-sidebar--collapsed .teacher-sidebar__brand,.hod-sidebar--collapsed .hod-sidebar__brand,.dean-sidebar--collapsed .dean-sidebar__brand,.ops-sidebar--collapsed .ops-sidebar__brand{flex-direction:column!important;align-items:center!important;gap:10px!important;padding:18px 8px!important;display:flex!important}.teacher-sidebar--collapsed .sidebar-collapse-btn,.hod-sidebar--collapsed .sidebar-collapse-btn,.dean-sidebar--collapsed .sidebar-collapse-btn,.ops-sidebar--collapsed .sidebar-collapse-btn{margin-left:0!important}.dean-sidebar--collapsed .dean-sidebar__logo-sub,.ops-sidebar--collapsed .ops-sidebar__logo-sub{display:none!important}.teacher-sidebar--collapsed .teacher-sidebar__nav,.hod-sidebar--collapsed .hod-sidebar__nav,.dean-sidebar--collapsed .dean-sidebar__nav,.ops-sidebar--collapsed .ops-sidebar__nav{align-items:center!important;padding:16px 8px!important}.teacher-sidebar--collapsed .teacher-nav-item,.hod-sidebar--collapsed .hod-nav-item,.dean-sidebar--collapsed .dean-nav-item,.ops-sidebar--collapsed .ops-nav-item{border-radius:10px!important;justify-content:center!important;align-items:center!important;width:44px!important;height:44px!important;padding:0!important;display:flex!important;position:relative!important}.teacher-sidebar--collapsed .teacher-nav-item span,.hod-sidebar--collapsed .hod-nav-item span,.dean-sidebar--collapsed .dean-nav-item span,.ops-sidebar--collapsed .ops-nav-item span{display:none!important}.teacher-sidebar--collapsed .teacher-nav-item__badge,.hod-sidebar--collapsed .hod-nav-item__badge,.ops-sidebar--collapsed .ops-nav-item__badge{border:1.5px solid #fff!important;border-radius:50%!important;width:7px!important;min-width:7px!important;height:7px!important;padding:0!important;font-size:0!important;position:absolute!important;top:6px!important;right:6px!important}.teacher-sidebar--collapsed .teacher-sidebar__footer,.hod-sidebar--collapsed .hod-sidebar__footer,.dean-sidebar--collapsed .dean-sidebar__footer,.ops-sidebar--collapsed .ops-sidebar__footer{flex-direction:column!important;align-items:center!important;gap:8px!important;padding:14px 8px!important;display:flex!important}.teacher-sidebar--collapsed .teacher-profile-info,.hod-sidebar--collapsed .hod-profile-info,.dean-sidebar--collapsed .dean-user-profile__info,.dean-sidebar--collapsed .dean-sidebar__tagline,.ops-sidebar--collapsed .ops-profile-info{display:none!important}.teacher-sidebar--collapsed .teacher-profile-card,.hod-sidebar--collapsed .hod-profile-card{background:0 0!important;border:none!important;justify-content:center!important;padding:0!important;display:flex!important}.universal-up-btn{z-index:10;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#1b0709 0%,#2c0d13 58%,#4d1019 100%);border:1px solid #f8717173;border-radius:9999px;align-items:center;gap:12px;height:48px;padding:6px 18px 6px 8px;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;box-shadow:0 8px 24px #02061759,0 0 18px #ef44443d,inset 0 1px 1px #ffffff38}.universal-up-btn:hover{border-color:#f87171c7;transform:translateY(-2px);box-shadow:0 12px 28px #02061773,0 0 26px #ef44446b,inset 0 1px 2px #ffffff59}.universal-up-btn:active{transform:translateY(0)}.universal-up-orb{background:radial-gradient(circle at 35% 30%,#fda4af 0%,#ef4444 48%,#1b0709 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative;box-shadow:0 0 14px #ef4444b3,inset 0 1px 2px #fecdd3}.universal-up-orb-core{background:radial-gradient(circle at 35% 30%,#fff 0%,#f87171 70%);border-radius:50%;width:14px;height:14px;animation:2.4s ease-in-out infinite alternate universalUpOrbPulse;box-shadow:0 0 8px #fff}.universal-up-info{text-align:left;flex-direction:column;gap:1px;display:flex}.universal-up-title{letter-spacing:.08em;color:#f8fafc;white-space:nowrap;font-size:11.5px;font-weight:800;line-height:1.15}.universal-up-title span{color:#f87171;font-weight:700}.universal-up-sub{color:#f0b3b3;letter-spacing:.01em;white-space:nowrap;font-size:9.5px}.universal-up-waveform{flex-shrink:0;align-items:center;gap:2.5px;height:18px;padding-left:6px;display:flex}.universal-up-wavebar{background:#ef4444;border-radius:2px;width:2.5px;animation:1.2s ease-in-out infinite alternate universalUpWaveAnim;box-shadow:0 0 6px #ef444499}.universal-up-wavebar:first-child{height:6px;animation-delay:.1s}.universal-up-wavebar:nth-child(2){height:13px;animation-delay:.3s}.universal-up-wavebar:nth-child(3){height:17px;animation-delay:.15s}.universal-up-wavebar:nth-child(4){height:11px;animation-delay:.4s}.universal-up-wavebar:nth-child(5){height:7px;animation-delay:.25s}
