@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap);.toast-container{display:flex;flex-direction:column;gap:.6rem;pointer-events:none;position:fixed;right:1.2rem;top:1.2rem;z-index:9999}.toast{align-items:center;animation:toastSlideIn .35s cubic-bezier(.21,1.02,.73,1) forwards;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;box-shadow:0 12px 40px #00000026;display:flex;gap:.7rem;max-width:440px;min-width:300px;padding:.85rem 1rem;pointer-events:auto}.toast-success{background:linear-gradient(135deg,#16a34af2,#22c55eeb);color:#fff}.toast-error{background:linear-gradient(135deg,#dc2626f2,#ef4444eb);color:#fff}.toast-info{background:linear-gradient(135deg,#2563ebf2,#3b82f6eb);color:#fff}.toast-icon{display:flex;flex-shrink:0;font-size:1.15rem}.toast-message{flex:1 1;font-size:.9rem;font-weight:500;line-height:1.4}.toast-close{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fffc;cursor:pointer;display:flex;flex-shrink:0;font-size:.82rem;padding:.3rem;transition:background .15s ease}.toast-close:hover{background:#ffffff59}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(60px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}@media (max-width:500px){.toast-container{left:1rem;right:1rem}.toast{max-width:100%;min-width:0}}.notif-bell-wrap{display:inline-flex}.notif-bell-btn,.notif-bell-wrap{align-items:center;position:relative}.notif-bell-btn{background:none;border:none;border-radius:999px;color:#334155;color:var(--ink-700,#334155);cursor:pointer;display:flex;padding:.4rem .6rem;transition:background .2s ease,color .2s ease,transform .2s ease}.notif-bell-btn:hover{background:#94a3b826;background:var(--hover-bg,#94a3b826);color:#4338ca;color:var(--brand-700,#4338ca);transform:translateY(-1px)}.notif-bell-icon{font-size:1.25rem;line-height:1}.notif-badge{align-items:center;background:#ef4444;border-radius:9999px;color:#fff;font-size:.62rem;font-weight:700;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 3px;right:2px;top:2px}.notif-badge,.notif-dropdown{display:flex;position:absolute}.notif-dropdown{background:#1e293b;background:var(--card-bg,#1e293b);border:1px solid #ffffff14;border:1px solid var(--card-border,#ffffff14);border-radius:14px;box-shadow:0 8px 30px #0000004d;flex-direction:column;max-height:400px;overflow:hidden;right:0;top:calc(100% + 8px);width:300px;z-index:9999}.notif-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--card-border,#ffffff14);color:#f1f5f9;color:var(--ink-900,#f1f5f9);display:flex;font-size:.9rem;font-weight:700;justify-content:space-between;padding:.8rem 1rem}.notif-all-read{color:#94a3b8;color:var(--ink-500,#94a3b8);font-size:.75rem;font-weight:400}.notif-list{flex:1 1;overflow-y:auto}.notif-item{border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--card-border,#ffffff0d);cursor:default;padding:.7rem 1rem;transition:background .15s}.notif-item-top{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.notif-remove-btn{align-items:center;background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;color:#94a3b8;color:var(--ink-500,#94a3b8);cursor:pointer;display:inline-flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.notif-remove-btn:hover{background:#b91c1c40;border-color:#f8717180;color:#fecaca}.notif-item:hover{background:#94a3b814;background:var(--surface-200,#94a3b814)}.notif-unread{background:#6366f10f;border-left:3px solid #6366f1}.notif-title{color:#e2e8f0;color:var(--ink-800,#e2e8f0);font-size:.83rem;font-weight:600;margin:0 0 .2rem}.notif-msg{color:#94a3b8;color:var(--ink-600,#94a3b8);font-size:.78rem;line-height:1.4;margin:0 0 .3rem}.notif-time{color:#64748b;color:var(--ink-400,#64748b);font-size:.7rem}.notif-empty{color:#94a3b8;color:var(--ink-500,#94a3b8);font-size:.85rem;padding:1.5rem;text-align:center}.logout-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.logout-modal-content{animation:slideUp .3s cubic-bezier(.16,1,.3,1);background:#1e293b;background:var(--card-bg,#1e293b);border:1px solid #ffffff14;border:1px solid var(--card-border,#ffffff14);border-radius:16px;box-shadow:0 20px 40px #0000004d;max-width:400px;padding:2rem;position:relative;text-align:center;width:90%}.logout-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#94a3b8;color:var(--ink-500,#94a3b8);cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:all .2s ease}.logout-modal-close:hover{background:#94a3b81a;background:var(--surface-200,#94a3b81a);color:#f8fafc;color:var(--ink-900,#f8fafc)}.logout-modal-header{margin-bottom:1rem}.logout-icon-wrapper{align-items:center;background:#ef44441a;border-radius:50%;color:#ef4444;display:flex;font-size:1.8rem;height:60px;justify-content:center;margin:0 auto 1.2rem;width:60px}.logout-modal-header h2{color:#f8fafc;color:var(--ink-900,#f8fafc);font-size:1.4rem;font-weight:700;margin:0}.logout-modal-body{color:#94a3b8;color:var(--ink-600,#94a3b8);font-size:.95rem;line-height:1.5;margin-bottom:2rem}.logout-modal-actions{display:flex;gap:1rem}.logout-modal-actions button{border-radius:10px;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:.8rem 1rem;transition:all .2s ease}.btn-cancel{background:#0000;border:1px solid #ffffff1a;border:1px solid var(--card-border,#ffffff1a);color:#cbd5e1;color:var(--ink-800,#cbd5e1)}.btn-cancel:hover{background:#94a3b81a;background:var(--surface-200,#94a3b81a);color:#f8fafc;color:var(--ink-900,#f8fafc)}.btn-confirm-logout{background:#ef4444;border:1px solid #ef4444;color:#fff}.btn-confirm-logout:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 4px 12px #ef444440}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--header-bg);border-bottom:1px solid var(--header-border);position:-webkit-sticky;position:sticky;top:0;transition:background .3s ease,border-color .3s ease;z-index:1000}.header-container{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;margin:0 auto;max-width:1200px;padding:.9rem 2rem}.logo{color:var(--ink-900);display:flex;flex-direction:column;gap:.15rem}.logo-mark{font-size:1.3rem;font-weight:700}.logo-subtitle{color:var(--ink-300);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.header-right-controls{align-items:center;display:flex;gap:.6rem}.theme-toggle{align-items:center;background:var(--surface-200);border:1px solid var(--card-border);border-radius:999px;color:var(--ink-700);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem;padding:.45rem .9rem;transition:all .25s ease;white-space:nowrap}.theme-toggle:hover{background:var(--hover-bg);border-color:var(--brand-600);color:var(--brand-700);transform:translateY(-1px)}.theme-toggle svg{font-size:.95rem;transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(30deg)}.mobile-toggle{background:none;border:none;border-radius:8px;color:var(--ink-700);cursor:pointer;display:none;font-size:1.4rem;padding:.3rem;transition:color .2s ease}.mobile-toggle:hover{color:var(--brand-700)}.nav-menu{align-items:center;display:flex;flex-wrap:nowrap;gap:.8rem}.nav-link{align-items:center;border-radius:999px;color:var(--ink-700);display:inline-flex;font-weight:500;gap:.45rem;padding:.4rem .6rem;position:relative;transition:background .2s ease,color .2s ease,transform .2s ease;white-space:nowrap}.nav-link:hover{background:var(--hover-bg);color:var(--brand-700);transform:translateY(-1px)}.nav-active{background:var(--badge-soft-bg);color:var(--brand-700);font-weight:600}.profile-menu{border-left:1px solid var(--divider);margin-left:.6rem;padding-left:.8rem;position:relative}.profile-trigger{align-items:center;background:#0000;border:none;border-radius:999px;color:var(--ink-700);cursor:pointer;display:inline-flex;font-size:1.75rem;justify-content:center;padding:.1rem;transition:color .2s ease,transform .2s ease}.profile-trigger:hover{color:var(--brand-700);transform:scale(1.1)}.profile-dropdown{animation:dropdownFade .2s ease;background:var(--dropdown-bg);border:1px solid var(--card-border);border-radius:14px;box-shadow:var(--dropdown-shadow);min-width:270px;padding:.55rem;position:absolute;right:0;top:calc(100% + .55rem);z-index:30}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-summary{border-bottom:1px solid var(--divider);display:flex;flex-direction:column;gap:.15rem;margin-bottom:.35rem;padding:.5rem .65rem .65rem}.profile-summary strong{color:var(--ink-900);font-size:.98rem}.profile-summary span{color:var(--ink-500);font-size:.86rem;word-break:break-word}.profile-role{background:var(--badge-soft-bg);border-radius:20px;color:var(--brand-700);display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;margin-top:.3rem;padding:.15rem .55rem;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.profile-item{align-items:center;background:#0000;border:none;border-radius:9px;color:var(--ink-700);cursor:pointer;display:inline-flex;font-size:.93rem;gap:.55rem;padding:.55rem .65rem;text-align:left;transition:background .15s ease,color .15s ease;width:100%}.profile-item:hover{background:var(--hover-bg);color:var(--brand-700)}.logout-item{border-top:1px solid var(--divider);color:#dc2626;margin-top:.2rem;padding-top:.7rem}.logout-item:hover{background:var(--danger-soft-bg);color:#dc2626}.auth-links{display:flex;gap:.75rem}.register-btn{background:var(--brand-700);color:#fff!important}.register-btn:hover{background:var(--brand-600)}@media (max-width:900px){.mobile-toggle{display:flex}.nav-menu{animation:mobileSlide .25s ease;background:var(--dropdown-bg);border-bottom:1px solid var(--card-border);box-shadow:var(--shadow-1);display:none;flex-direction:column;gap:.3rem;left:0;padding:1rem 1.5rem;position:absolute;right:0;top:100%}.nav-menu.nav-open{display:flex}.nav-link{border-radius:10px;padding:.65rem .8rem;width:100%}.auth-links{flex-direction:column;width:100%}.auth-links .nav-link{justify-content:center;width:100%}.profile-menu{border-left:none;border-top:1px solid var(--divider);margin-left:0;padding-left:0;padding-top:.6rem;width:100%}.profile-trigger{font-size:1.2rem;gap:.6rem;justify-content:flex-start;padding:.5rem .8rem;width:100%}.profile-dropdown{border:none;box-shadow:none;min-width:0;padding:0;position:static}}@keyframes mobileSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.header-container{padding:1rem 1.2rem}.theme-toggle span{display:none}.theme-toggle{padding:.45rem .6rem}}.footer{background:linear-gradient(180deg,#0d1b2a,#0a1628);color:#ffffffbf;overflow:hidden;position:relative}.footer-glow{background:radial-gradient(ellipse,#1bb18a33 0,#0000 70%);height:240px;left:50%;pointer-events:none;position:absolute;top:-120px;transform:translateX(-50%);width:600px}.footer-container{margin:0 auto;max-width:1200px;padding:3.5rem 2rem 2rem;position:relative;z-index:1}.footer-top{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1.4fr 1fr}.footer-logo{color:#fff;display:flex;flex-direction:column;gap:.15rem;margin-bottom:1rem}.footer-logo-mark{font-family:Space Grotesk,sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:-.02em}.footer-logo-sub{color:#ffffff59;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.footer-college{align-items:center;color:#fff9;display:flex;font-size:.92rem;gap:.5rem;margin:0 0 .8rem}.footer-tagline{color:#ffffff73;font-size:.88rem;line-height:1.7;margin:0 0 1.2rem;max-width:380px}.footer-socials{display:flex;flex-wrap:wrap;gap:.8rem}.social-link{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;color:#ffffffb3;display:inline-flex;font-size:.82rem;font-weight:500;gap:.4rem;padding:.45rem .9rem;transition:all .2s ease}.social-link:hover{background:#1bb18a26;border-color:#1bb18a4d;color:#1bb18a;transform:translateY(-1px)}.footer-links-group{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.footer-col h4{color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.12em;margin:0 0 1rem;text-transform:uppercase}.footer-col a{color:#ffffff80;display:block;font-size:.88rem;padding:.3rem 0;transition:color .2s ease,padding-left .2s ease}.footer-col a:hover{color:#1bb18a;padding-left:.3rem}.footer-divider{background:linear-gradient(90deg,#0000,#ffffff1a 50%,#0000);height:1px;margin:2.2rem 0 1.5rem}.footer-bottom{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.footer-copyright,.footer-powered{color:#fff6;font-size:.82rem;margin:0}.footer-powered{align-items:center;display:flex;gap:.35rem}.heart-icon{animation:heartbeat 1.5s ease-in-out infinite;color:#ef4444;font-size:.75rem}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (max-width:820px){.footer-top{gap:2rem;grid-template-columns:1fr}.footer-links-group{grid-template-columns:repeat(3,1fr)}}@media (max-width:500px){.footer-links-group{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;text-align:center}}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1 1}.loading{color:var(--brand-700);display:flex;font-size:1.1rem;min-height:60vh}.btn,.loading{align-items:center;justify-content:center}.btn{border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;padding:.85rem 1.6rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.btn-primary{background:linear-gradient(135deg,var(--btn-primary-bg-start),var(--btn-primary-bg-end));box-shadow:0 6px 12px #0c15261a;color:var(--btn-primary-text)}.btn-primary:hover{box-shadow:0 8px 14px #0c152624;transform:translateY(-1px)}.btn-outline{background:#0000;border-color:var(--card-border);color:var(--ink-900)}.btn-outline:hover{transform:translateY(-1px)}.btn-outline:hover,.btn-soft{background:var(--surface-200)}.btn-soft{border:1px solid var(--card-border);color:var(--ink-900)}.btn-soft:hover{background:var(--hover-bg)}.card{background:var(--card-bg);border-radius:18px;box-shadow:var(--shadow-1);transition:background .3s ease}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#1bb18a99}.app-main>*{animation:pageEnter .4s ease}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:root{--ink-900:#0c1526;--ink-800:#1a2744;--ink-700:#2b3a55;--ink-500:#516078;--ink-300:#8a97ad;--surface-50:#fff;--surface-100:#fff;--surface-200:#f4f6f8;--surface-300:#eef1f5;--brand-700:#0b6e4f;--brand-600:#128c6f;--brand-500:#1bb18a;--accent-500:#ff8a3c;--accent-400:#ffb26b;--shadow-1:0 8px 18px #0c152614;--shadow-2:0 12px 26px #0c15261a;--bg-body:radial-gradient(circle at top left,#eef7f4 0%,#f6f7fb 40%,#fff 100%);--header-bg:#fffffff5;--header-border:#0c152614;--card-bg:#fff;--card-border:#0c152614;--input-bg:#fff;--input-border:#0c152624;--divider:#0c152614;--hover-bg:#0b6e4f14;--selection-bg:#1bb18a33;--scrollbar-track:#eef1f5;--scrollbar-thumb:#0b6e4f66;--table-row-hover:#0c152605;--dropdown-bg:#fff;--dropdown-shadow:0 14px 40px #0c152629;--badge-soft-bg:#1bb18a1f;--danger-soft-bg:#dc26260f;--text-on-card:var(--ink-900);--text-muted:var(--ink-500);--btn-primary-bg-start:#fff;--btn-primary-bg-end:#edf1f6;--btn-primary-text:#1a2744}[data-theme=dark]{--ink-900:#e8ecf1;--ink-800:#d0d7e2;--ink-700:#b8c2d0;--ink-500:#8a97ad;--ink-300:#5a6a80;--surface-50:#0f1724;--surface-100:#151e2e;--surface-200:#1a2538;--surface-300:#1f2d42;--brand-700:#22d3a0;--brand-600:#1bb18a;--brand-500:#16a076;--accent-500:#ff9f5a;--accent-400:#ffb880;--shadow-1:0 8px 22px #00000047;--shadow-2:0 12px 32px #00000057;--bg-body:#0b1120;--header-bg:#0f1724f5;--header-border:#ffffff0f;--card-bg:#151e2e;--card-border:#ffffff0f;--input-bg:#1a2538;--input-border:#ffffff1a;--divider:#ffffff0f;--hover-bg:#1bb18a1f;--selection-bg:#1bb18a4d;--scrollbar-track:#151e2e;--scrollbar-thumb:#1bb18a80;--table-row-hover:#ffffff08;--dropdown-bg:#1a2538;--dropdown-shadow:0 14px 40px #00000080;--badge-soft-bg:#1bb18a26;--danger-soft-bg:#dc26261f;--text-on-card:#e8ecf1;--text-muted:#8a97ad;--btn-primary-bg-start:#f6f8fc;--btn-primary-bg-end:#e6ebf3;--btn-primary-text:#17233a;color-scheme:dark}#root,body,html{height:100%;margin:0;padding:0;scroll-behavior:smooth;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top left,#eef7f4 0,#f6f7fb 40%,#fff 100%);background:var(--bg-body);color:#0c1526;color:var(--ink-900);font-family:DM Sans,Segoe UI,sans-serif;transition:background .3s ease,color .3s ease}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{color:#0c1526;color:var(--ink-900);font-family:Space Grotesk,Segoe UI,sans-serif;letter-spacing:-.02em}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{color:#0c1526;color:var(--ink-900);font-family:inherit}input,select,textarea{background:#fff;background:var(--input-bg);border-color:#0c152624;border-color:var(--input-border)}button,input,select,textarea{transition:all .2s cubic-bezier(.4,0,.2,1)}button{cursor:pointer}button:active{transform:scale(.96)}::placeholder{color:#516078;color:var(--ink-500);opacity:1}::selection{background:#1bb18a;background:var(--brand-500);color:#fff}
/*# sourceMappingURL=main.a8519643.css.map*/