@import"https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--msu-blue: #0B2545;--msu-blue-hover: #123257;--msu-blue-light: #2A4E86;--msu-blue-50: rgba(11, 37, 69, .05);--msu-blue-100: rgba(11, 37, 69, .12);--msu-gold: #F37021;--msu-gold-hover: #D85F12;--msu-gold-50: rgba(243, 112, 33, .1);--google-red: #B23A48;--google-yellow: #C9A24C;--google-green: #5F7A4A;--google-blue: #0B1E3F;--accent-teal: #406B72;--accent-emerald: #5F7A4A;--accent-violet: #5B4A7C;--accent-rose: #B23A48;--accent-amber: #C9A24C;--ora-ink: #0B1E3F;--ora-parchment: #F4EFE7;--ora-rule: #3A3A3A;--gradient-primary: linear-gradient(135deg, #0B2545 0%, #123257 100%);--gradient-gold: linear-gradient(135deg, #F37021 0%, #D85F12 100%);--gradient-subtle: linear-gradient(180deg, #F6F8FB 0%, #EEF2F7 100%);--gradient-glass: linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(246,248,251,.86) 100%);--gradient-mesh: radial-gradient(at 40% 20%, rgba(11, 37, 69, .03) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(243, 112, 33, .04) 0px, transparent 50%), radial-gradient(at 0% 80%, rgba(11, 37, 69, .02) 0px, transparent 50%);--gradient-google: linear-gradient(135deg, #0B2545, #2A4E86, #F37021);--bg-body: #F6F8FB;--bg-card: #FFFFFF;--bg-card-hover: #EEF2F7;--bg-elevated: #FFFFFF;--bg-input: #FFFFFF;--text-main: #0B2545;--text-secondary: #64748B;--text-tertiary: #94A3B8;--border-color: #E2E8F0;--border-subtle: #EDF1F6;--border-focus: #2A4E86;--shadow-xs: 0 1px 2px rgba(11, 30, 63, .06);--shadow-sm: 0 1px 3px rgba(11, 30, 63, .08), 0 1px 2px rgba(11, 30, 63, .05);--shadow-md: 0 4px 10px rgba(11, 30, 63, .08), 0 1px 3px rgba(11, 30, 63, .05);--shadow-lg: 0 8px 24px rgba(11, 30, 63, .1), 0 2px 6px rgba(11, 30, 63, .06);--shadow-xl: 0 18px 40px rgba(11, 30, 63, .12), 0 4px 10px rgba(11, 30, 63, .06);--shadow-2xl: 0 28px 56px rgba(11, 30, 63, .14);--shadow-glow: 0 0 18px rgba(201, 162, 76, .2);--shadow-gold-glow: 0 0 18px rgba(201, 162, 76, .22);--shadow-inner: inset 0 1px 3px rgba(11, 30, 63, .06);--transition-fast: .12s ease;--transition-normal: .22s cubic-bezier(.4, 0, .2, 1);--transition-slow: .36s cubic-bezier(.4, 0, .2, 1);--transition-spring: .55s cubic-bezier(.34, 1.56, .64, 1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;--font-serif: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Menlo", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 14px;--radius-2xl: 18px;--radius-full: 9999px}body.dark{--bg-body: #0E1626;--bg-card: #15203A;--bg-card-hover: #1C2A48;--bg-elevated: #1A2640;--bg-input: #1C2A48;--text-main: #ECE5D7;--text-secondary: #B3A989;--text-tertiary: #7A7363;--border-color: #2B3858;--border-subtle: #1F2A45;--border-focus: #C9A24C;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45);--shadow-md: 0 4px 10px rgba(0, 0, 0, .45);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 18px 40px rgba(0, 0, 0, .55);--shadow-2xl: 0 28px 56px rgba(0, 0, 0, .6);--shadow-glow: 0 0 18px rgba(201, 162, 76, .22);--shadow-gold-glow: 0 0 18px rgba(201, 162, 76, .25);--shadow-inner: inset 0 1px 3px rgba(0, 0, 0, .35);--gradient-subtle: linear-gradient(180deg, #15203A 0%, #0E1626 100%);--gradient-glass: linear-gradient(135deg, rgba(21, 32, 58, .96) 0%, rgba(14, 22, 38, .9) 100%);--gradient-mesh: radial-gradient(at 40% 20%, rgba(201, 162, 76, .06) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(30, 68, 128, .08) 0px, transparent 50%), radial-gradient(at 0% 80%, rgba(201, 162, 76, .04) 0px, transparent 50%);--gradient-primary: linear-gradient(135deg, #1E4480 0%, #2F5DA8 100%)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{height:100%;width:100%;overflow-x:hidden;font-size:16px;-webkit-text-size-adjust:100%}body{height:100%;width:100%;font-family:var(--font-sans);background:var(--bg-body);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01";transition:background-color .3s ease,color .3s ease;overflow-x:hidden}body *{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}#root{min-height:100vh;width:100%;display:flex;flex-direction:column}.btn-primary{background:var(--gradient-primary);color:#fff;padding:10px 24px;border-radius:var(--radius-md);border:none;font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;display:inline-flex;align-items:center;gap:8px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-normal)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg),0 0 20px #4285f433}.btn-primary:hover:before{opacity:1}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-main);padding:10px 24px;border-radius:var(--radius-md);border:1.5px solid var(--border-color);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-normal)}.btn-secondary:hover{border-color:var(--msu-blue);color:var(--msu-blue);background:var(--msu-blue-50);box-shadow:var(--shadow-sm)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}input,textarea,select{background:var(--bg-input);color:var(--text-main);border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.9rem;transition:all var(--transition-normal)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--msu-blue-50)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}body.dark ::-webkit-scrollbar-thumb{background:#3c4043}body.dark ::-webkit-scrollbar-thumb:hover{background:#5f6368}.app-layout{display:flex;min-height:calc(100vh - 70px);margin-top:70px;width:100%;max-width:100vw;overflow-x:hidden;background:var(--bg-body)}.page-content{position:fixed;top:70px;left:280px;right:0;bottom:0;background:var(--bg-body);overflow-y:auto;overflow-x:hidden;z-index:1;transition:left .25s cubic-bezier(.4,0,.2,1)}body.sidebar-collapsed .page-content{left:0;overflow-x:hidden}@media (max-width: 768px){.page-content{left:0!important}}::selection{background:#4285f426;color:var(--text-main)}body.dark ::selection{background:#8ab4f833}.route-loading{display:flex;align-items:center;justify-content:center;min-height:60vh;width:100%}.route-loading:after{content:"";width:38px;height:38px;border:3px solid rgba(66,133,244,.2);border-top-color:#4285f4;border-radius:50%;animation:route-spin .8s linear infinite}@keyframes route-spin{to{transform:rotate(360deg)}}.route-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:24px;gap:6px;color:var(--text-main, #0B2545)}.route-error h2{margin:0;font-size:1.25rem}.route-error p{margin:0;color:var(--text-secondary, #64748B);max-width:32ch}.route-error button{margin-top:14px;padding:10px 24px;border:none;border-radius:8px;background:#0b2545;color:#fff;font-weight:600;cursor:pointer}.route-error button:hover{background:#123257}.navbar{position:sticky;top:0;z-index:1000;width:100%;background:#ffffffd1;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(0,0,0,.06);transition:all .3s cubic-bezier(.4,0,.2,1);height:70px;display:flex;align-items:center}.navbar.scrolled{box-shadow:0 1px 12px #0000000f;border-bottom-color:transparent}.nav-container{width:100%;padding:0 24px;display:flex;justify-content:space-between;align-items:center}.navbar-left{display:flex;align-items:center;gap:12px;text-decoration:none;transition:opacity .2s ease,background .2s ease;border-radius:8px;padding:4px 8px;margin:-4px -8px}.navbar-left:hover{opacity:.9;background:#4285f40a}.navbar-left:active{opacity:.75}.logo-hamburger-toggle{position:relative;width:50px;height:50px;background:transparent;border:none;cursor:pointer;padding:0;overflow:hidden;border-radius:8px;transition:all .3s ease}.logo-hamburger-toggle:hover{background:#4285f414}.nav-logo-image{width:100%;height:100%;object-fit:contain;transition:opacity .3s ease,transform .3s ease;opacity:1}.hamburger-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--msu-blue);opacity:0;transform:scale(.8);transition:opacity .3s ease,transform .3s ease}.logo-hamburger-toggle:hover .nav-logo-image{opacity:0;transform:scale(1.2)}.logo-hamburger-toggle:hover .hamburger-overlay{opacity:1;transform:scale(1)}.nav-logo{height:50px;width:auto;object-fit:contain}.nav-title{display:flex;flex-direction:column;line-height:1.1;font-family:var(--font-sans)}.brand-main{font-family:var(--font-serif, "DM Serif Display", "Georgia", serif);font-weight:400;color:var(--text-main);font-size:1.4rem;letter-spacing:-.005em;line-height:1}.brand-sub{font-size:.62rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin-top:4px}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:.95rem;padding:8px 16px;border-radius:8px;transition:all .2s ease}.nav-link:hover{background-color:#4285f414;color:var(--msu-blue)}.nav-link.active{background-color:#4285f41a;color:var(--msu-blue);font-weight:600}.try-free-link{color:#ff6b00!important;font-weight:600}.try-free-link:hover{background-color:#ff6b001a!important;color:#e55c00!important}.nav-cta{text-decoration:none;margin-left:8px}.navbar-right{display:flex;align-items:center;gap:12px;margin-left:auto}.navbar-forms-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:18px;background:#fff;border:1.5px solid #dadce0;color:#3c4043;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s ease}.navbar-forms-btn:hover{background:#4285f40f;border-color:var(--msu-blue, #4285F4);color:var(--msu-blue, #4285F4);transform:translateY(-1px)}.navbar-forms-btn:active{transform:translateY(0)}body.dark .navbar-forms-btn{background:#ffffff0f;border-color:#ffffff29;color:#ffffffd9}body.dark .navbar-forms-btn:hover{background:#4285f42e;border-color:var(--msu-blue, #4285F4);color:#fff}@media (max-width: 640px){.navbar-forms-btn{padding:0 10px}.navbar-forms-label{display:none}}.profile-icon-btn{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #dadce0;color:#5f6368;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;overflow:hidden;padding:0;position:relative;box-shadow:0 1px 3px #3c404326}.profile-avatar{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;position:relative;z-index:1}.profile-icon-fallback{position:absolute;top:0;left:0;width:100%;height:100%;display:none;align-items:center;justify-content:center;background:linear-gradient(135deg,#4285f4,#34a853);color:#fff;z-index:0}.profile-icon-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #3c404333;border-color:#4285f4;background:#4285f40a}.profile-icon-btn:active{transform:translateY(0)}.profile-icon-btn:focus{outline:none;box-shadow:0 0 0 3px #4285f433}.admin-nav-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--msu-blue);color:#fff;border:2px solid var(--msu-blue);border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #4285f433}.admin-nav-btn:hover{background:var(--msu-blue-hover);border-color:var(--msu-blue-hover);transform:translateY(-2px);box-shadow:0 4px 12px #4285f44d}.admin-nav-btn:active{transform:translateY(0)}.dark .navbar{background:#1f1f1fe0;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom-color:#ffffff0f}.dark .navbar.scrolled{box-shadow:0 1px 8px #0000004d;border-bottom-color:transparent}.dark .navbar-left:hover{background:#8ab4f814}.dark .hamburger-overlay{color:#8ab4f8}.dark .profile-icon-btn{background:#3c4043;border-color:#ffffff1f;box-shadow:0 2px 6px #0006;color:#e8eaed}.dark .profile-icon-btn:hover{border-color:#8ab4f866;box-shadow:0 4px 12px #8ab4f833;background:#4c4c4c;transform:translateY(-2px)}.dark .profile-icon-fallback{background:#8ab4f826;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark .admin-nav-btn{background:#8ab4f8;border-color:#8ab4f8;color:#202124}.dark .admin-nav-btn:hover{background:#aecbfa;border-color:#aecbfa;box-shadow:0 4px 12px #8ab4f84d}@media (min-width: 1440px){.nav-container{padding:0 40px}.navbar{height:75px}.logo-hamburger-toggle{width:55px;height:55px}.nav-logo{height:55px}.brand-main{font-size:1.2rem}.brand-sub{font-size:.8rem}}@media (max-width: 1279px) and (min-width: 1024px){.nav-container{padding:0 20px}.brand-main{font-size:1.05rem}.nav-link{font-size:.9rem;padding:6px 12px}}@media (max-width: 1023px) and (min-width: 768px){.nav-container{padding:0 16px}.navbar{height:65px}.logo-hamburger-toggle{width:45px;height:45px}.nav-logo{height:45px}.brand-main{font-size:1rem}.brand-sub{font-size:.7rem}.nav-links{gap:4px}.nav-link{font-size:.85rem;padding:6px 10px}.profile-icon-btn{width:38px;height:38px}.admin-nav-btn{padding:8px 14px;font-size:.85rem}}@media (max-width: 767px){.nav-container{padding:0 12px}.navbar{height:60px}.navbar-left{gap:8px}.logo-hamburger-toggle{width:40px;height:40px}.nav-logo{height:40px}.brand-main{font-size:.95rem}.brand-sub{display:none}.nav-links{gap:2px}.nav-link{font-size:.8rem;padding:6px 8px}.profile-icon-btn{width:36px;height:36px}.profile-icon-fallback svg{width:16px;height:16px}.admin-nav-btn{padding:6px 10px;font-size:.8rem;gap:6px}.admin-nav-btn svg{width:14px;height:14px}}@media (max-width: 480px){.nav-container{padding:0 10px}.navbar{height:56px}.logo-hamburger-toggle{width:36px;height:36px}.nav-logo{height:36px}.brand-main{font-size:.9rem}.nav-title{display:none}.nav-links{display:flex;gap:2px}.nav-link{font-size:.72rem;padding:5px 7px}.nav-cta{margin-left:2px}.profile-icon-btn{width:34px;height:34px}.admin-nav-btn{padding:6px 8px;font-size:.75rem}.admin-nav-btn span{display:none}}@media (max-width: 374px){.nav-container{padding:0 8px}.navbar{height:52px}.logo-hamburger-toggle{width:32px;height:32px}.nav-logo{height:32px}.profile-icon-btn{width:32px;height:32px}}.mobile-history-fab{display:none}@media (max-width: 768px){.mobile-history-fab{position:fixed;top:68px;left:10px;z-index:450;display:inline-flex;align-items:center;gap:6px;padding:7px 13px 7px 10px;background:var(--msu-blue, #002D72);color:#fff;border:none;border-radius:999px;box-shadow:0 3px 10px #0000002e;cursor:pointer;font-size:.8rem;font-weight:700;letter-spacing:.01em;-webkit-tap-highlight-color:transparent}.mobile-history-fab:active{transform:scale(.96)}.mobile-history-fab-label{line-height:1}body:not(.sidebar-collapsed) .mobile-history-fab{display:none}}.chat-sidebar{position:fixed;top:70px;left:0;width:280px;height:calc(100vh - 70px);background:var(--bg-card);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);z-index:500;color:var(--text-main);overflow:hidden}body.sidebar-collapsed .chat-sidebar{width:0;transform:translate(-100%);border-right:none}.sidebar-top{padding:16px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px}.sidebar-action-btn{display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:10px;color:var(--text-primary, #333);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s;width:100%}.sidebar-action-btn:hover{background:#0000000d}body.dark .sidebar-action-btn:hover{background:#ffffff14}.sidebar-action-btn.new-chat{background:var(--msu-blue);color:#fff;font-weight:600;border-radius:var(--radius-full, 9999px);padding:12px 16px;margin-bottom:4px}.sidebar-action-btn.new-chat:hover{background:var(--msu-blue-hover);transform:translateY(-1px);box-shadow:0 2px 8px #4285f44d}.sidebar-action-btn.curriculum-link{position:relative;z-index:10;pointer-events:auto;color:var(--text-secondary, #666);font-size:.85rem;padding:9px 12px}.search-container{position:relative;width:100%}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.search-input{width:100%;padding:10px 14px 10px 38px;background:transparent;border:none;border-bottom:1px solid var(--border-color);border-radius:8px;color:var(--text-main);font-size:.875rem;transition:all .2s}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{outline:none;background:var(--bg-card);border-color:var(--border-focus);box-shadow:0 0 0 3px var(--msu-blue-50)}.sidebar-middle{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:16px 0;min-height:0}.section-header{padding:8px 16px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:4px}.date-group-header{padding:10px 16px 4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.chat-history-section{padding:0 12px;margin-bottom:16px}.chat-history-list{flex:1;overflow-y:auto;padding:0 12px}.chat-history-item{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:2px;border-radius:8px;cursor:pointer;transition:all .2s;color:var(--text-secondary);font-size:.875rem;position:relative}.chat-history-item:hover{background:var(--bg-card-hover)}.chat-history-item.active{background:linear-gradient(90deg,#4285f41f,#4285f40a);color:var(--msu-blue);font-weight:600;border-left:3px solid var(--msu-blue);padding-left:9px}.chat-history-item:not(.active):hover{transform:translate(2px)}.pin-icon{color:var(--msu-gold);flex-shrink:0}.chat-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-menu-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:6px;border-radius:4px;opacity:0;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-history-item:hover .chat-menu-btn{opacity:1}.chat-time{flex-shrink:0;font-size:.72rem;color:var(--text-tertiary);opacity:.75;font-variant-numeric:tabular-nums;white-space:nowrap;transition:opacity .2s}.chat-history-item:hover .chat-time{opacity:0}.chat-history-item.active .chat-time{color:var(--msu-blue);opacity:.7}.chat-menu-btn:hover{background:var(--bg-card-hover);color:var(--text-main)}.rename-input{flex:1;background:var(--bg-input);border:1px solid var(--border-focus);border-radius:4px;padding:6px 8px;color:var(--text-main);font-size:.875rem;outline:none}.context-menu{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;padding:4px;min-width:200px;box-shadow:var(--shadow-xl);z-index:10000!important}.context-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:6px;color:var(--text-main);font-size:.875rem;cursor:pointer;transition:all .2s;text-align:left}.context-menu-item:hover{background:var(--bg-card-hover)}.context-menu-item.danger{color:#ef4444}.context-menu-item.danger:hover{background:#ef44441a}.context-menu-divider{height:1px;background:var(--border-subtle);margin:4px 0}.empty-state{padding:20px 16px;text-align:center;color:var(--text-tertiary);font-size:.875rem}.archived-section-container{margin-top:16px;padding:12px 12px 0;border-top:1px solid var(--border-subtle)}.archived-header{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:var(--text-tertiary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.archived-header:hover{background:var(--bg-card-hover);color:var(--text-main)}.archived-header .chevron-icon{margin-left:auto;transition:transform .2s ease}.archived-header .chevron-icon.rotated{transform:rotate(90deg)}.archived-list{margin-top:4px;animation:slideDownFade .2s ease}.chat-history-item.archived-item{opacity:.6}.chat-history-item.archived-item:hover{opacity:1}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sidebar-bottom{padding:0;border-top:1px solid var(--border-subtle);background:var(--bg-body)}.sidebar-settings-wrapper{display:flex;flex-direction:column;gap:8px;padding:12px;border-bottom:1px solid var(--border-subtle)}.sidebar-settings-row{display:flex;gap:8px}.sidebar-settings{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--border-subtle)}.setting-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.setting-btn:hover{background:var(--bg-card-hover);border-color:var(--border-color);color:var(--text-main)}.setting-btn.install-app-btn{border-color:var(--msu-blue);color:var(--msu-blue)}.setting-btn.install-app-btn:hover{background:var(--msu-blue-50);border-color:var(--msu-blue)}.user-profile{display:flex;align-items:center;gap:12px;padding:12px;border-radius:0;transition:all .2s;cursor:pointer}.user-profile:hover{background:var(--bg-card-hover)}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;overflow:hidden;position:relative}.user-avatar .profile-picture{width:100%;height:100%;object-fit:cover;border-radius:50%;position:absolute;top:0;left:0;z-index:2}.fallback-user-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;z-index:1}.user-info{flex:1;min-width:0}.user-email{font-size:.875rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-status{font-size:.75rem;color:var(--text-tertiary)}.logout-icon-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.logout-icon-btn:hover{background:#ef44441a;color:#ef4444}.chat-history-list::-webkit-scrollbar{width:6px}.chat-history-list::-webkit-scrollbar-track{background:transparent}.chat-history-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.chat-history-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.setting-btn.doc-btn{border-color:var(--msu-blue);color:var(--text-secondary)}.setting-btn.doc-btn:hover{background:var(--msu-blue-50);border-color:var(--msu-blue);color:var(--msu-blue)}.setting-btn.support-btn{border-color:var(--msu-blue);color:var(--text-secondary)}.setting-btn.support-btn:hover{background:var(--msu-blue-50);border-color:var(--msu-blue);color:var(--msu-blue)}.setting-btn.full-width{width:100%;flex:none}.ticket-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ticket-modal{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:16px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ticket-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-subtle)}.ticket-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-main)}.ticket-close-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.ticket-close-btn:hover{background:var(--bg-card-hover);color:var(--text-main)}.ticket-form{padding:24px;display:flex;flex-direction:column;gap:20px}.ticket-field{display:flex;flex-direction:column;gap:8px}.ticket-field label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.category-options{display:flex;gap:8px}.category-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.category-btn:hover{background:var(--bg-card-hover);border-color:var(--border-color)}.category-btn.active{background:var(--msu-blue-50);border-color:var(--msu-blue);color:var(--msu-blue)}.category-btn svg{font-size:1.25rem}.ticket-field input,.ticket-field textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:10px;padding:12px 16px;color:var(--text-main);font-size:.9rem;font-family:inherit;transition:all .2s;resize:none}.ticket-field input::placeholder,.ticket-field textarea::placeholder{color:var(--text-tertiary)}.ticket-field input:focus,.ticket-field textarea:focus{outline:none;border-color:var(--border-focus);background:var(--bg-card);box-shadow:0 0 0 3px var(--msu-blue-50)}.attachment-area{display:flex;align-items:center;gap:8px}.attachment-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-input);border:1px dashed var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s;flex:1}.attachment-btn:hover{background:var(--bg-card-hover);border-color:var(--text-tertiary);color:var(--text-main)}.remove-attachment{background:#ef44441a;border:none;color:#ef4444;padding:8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-attachment:hover{background:#ef444433}.ticket-submit-btn{background:var(--msu-blue);border:none;border-radius:10px;padding:14px 24px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.ticket-submit-btn:hover:not(:disabled){background:var(--msu-blue-hover);transform:translateY(-1px)}.ticket-submit-btn:disabled{opacity:.6;cursor:not-allowed}.ticket-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:16px}.ticket-success .success-icon{color:#22c55e;animation:scaleIn .3s ease}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.ticket-success h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-main)}.ticket-success p{margin:0;color:var(--text-secondary);font-size:.9rem}body.dark .chat-history-item.active{background:linear-gradient(90deg,#8ab4f824,#8ab4f80a);color:#8ab4f8;border-left-color:#8ab4f8}@media (max-width: 768px){.chat-sidebar{transform:translate(-280px)}body:not(.sidebar-collapsed) .chat-sidebar{transform:translate(0)}.sidebar-settings{flex-direction:column;gap:6px}.setting-btn{width:100%}.ticket-modal{width:95%;max-height:85vh}.category-options{flex-direction:column}.category-btn{flex-direction:row;justify-content:center}}@media (max-width: 480px){.chat-sidebar{width:85vw;max-width:280px;top:60px;height:calc(100vh - 60px)}body.sidebar-collapsed .chat-sidebar{transform:translate(-100%)}body:not(.sidebar-collapsed):after{content:"";position:fixed;top:60px;left:0;right:0;bottom:0;background:#00000080;z-index:499;animation:fadeIn .2s ease}.sidebar-top{padding:12px;gap:6px}.sidebar-action-btn{padding:10px 14px;font-size:.85rem;gap:10px}.search-input{padding:9px 12px 9px 36px;font-size:.85rem}.section-header{padding:6px 14px;font-size:.7rem}.chat-history-item{padding:9px 10px;font-size:.85rem}.chat-title{font-size:.85rem}.sidebar-settings-wrapper{padding:10px;gap:6px}.sidebar-settings-row{gap:6px}.setting-btn{padding:9px 10px;font-size:.8rem;gap:6px}.user-profile{padding:10px;gap:10px}.user-avatar{width:32px;height:32px}.user-email{font-size:.8rem}.user-status{font-size:.7rem}.logout-icon-btn{padding:6px}.context-menu{min-width:180px}.context-menu-item{padding:9px 10px;font-size:.85rem;gap:10px}.ticket-modal{width:95%;max-width:100%;margin:10px;max-height:80vh}.ticket-header{padding:16px}.ticket-header h2{font-size:1.1rem}.ticket-form{padding:16px;gap:16px}.ticket-field input,.ticket-field textarea{padding:10px 14px;font-size:.85rem}.ticket-submit-btn{padding:12px 20px;font-size:.9rem}}@media (max-width: 380px){.chat-sidebar{width:90vw}.sidebar-top{padding:10px}.sidebar-action-btn{padding:9px 12px;font-size:.8rem}.setting-btn{padding:8px;font-size:.75rem}.user-profile{padding:8px}.user-avatar{width:28px;height:28px}.user-email{font-size:.75rem}}.sidebar-top-row{display:flex;align-items:center;gap:6px;width:100%}.sidebar-toggle-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;color:var(--text-secondary, #888);cursor:pointer;transition:all .15s}.sidebar-toggle-btn:hover{background:#0000000f;color:var(--text-primary, #333)}body.dark .sidebar-toggle-btn:hover{background:#ffffff14;color:#ddd}.sidebar-opensource-badge{display:flex;align-items:center;justify-content:center;gap:4px;padding:2px 0;margin:0 8px 6px;border:none;color:var(--text-tertiary, #bbb);font-size:10px;font-weight:400;text-decoration:none;opacity:.5;transition:opacity .15s ease}.sidebar-opensource-badge:hover{opacity:.8}[data-theme=dark] .sidebar-opensource-badge{color:var(--text-tertiary, #555)}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;animation:cmdk-fade-in .15s ease}@keyframes cmdk-fade-in{0%{opacity:0}to{opacity:1}}.cmdk-container{width:100%;max-width:640px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-xl);overflow:hidden;animation:cmdk-slide-in .2s cubic-bezier(.34,1.56,.64,1)}@keyframes cmdk-slide-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}[cmdk-input]{width:100%;padding:16px 20px;font-size:16px;font-family:inherit;border:none;border-bottom:1px solid var(--border-color);background:transparent;color:var(--text-main);outline:none}[cmdk-input]::placeholder{color:var(--text-secondary)}[cmdk-list]{max-height:320px;overflow-y:auto;padding:8px}[cmdk-group-heading]{padding:8px 12px 4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}[cmdk-item]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--text-main);transition:background .15s ease}[cmdk-item][data-selected=true]{background:var(--msu-blue-50, rgba(66, 133, 244, .08))}[cmdk-item]:hover{background:var(--bg-card-hover)}[cmdk-item] svg{color:var(--text-secondary);flex-shrink:0}[cmdk-empty]{padding:24px;text-align:center;color:var(--text-secondary);font-size:.9rem}@media (max-width: 680px){.cmdk-container{margin:0 16px;max-width:calc(100% - 32px)}.cmdk-overlay{padding-top:12vh}}.chat-sidebar{background:#0b2545!important;color:#ffffffd1!important;border-right:1px solid rgba(255,255,255,.07)!important}.chat-sidebar .sidebar-bottom,.chat-sidebar .sidebar-settings-wrapper,.chat-sidebar .sidebar-settings{background:#0b2545!important;border-color:#ffffff14!important}.chat-sidebar .setting-btn{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.12)!important;color:#ffffffd1!important}.chat-sidebar .setting-btn:hover{background:#ffffff1a!important;border-color:#fff3!important;color:#fff!important}.chat-sidebar .setting-btn.install-app-btn{border-color:#ffffff38!important;color:#ffffffe6!important}.chat-sidebar .setting-btn svg{color:inherit!important}.chat-sidebar .section-header,.chat-sidebar .chat-history-section,.chat-sidebar .sidebar-action-btn{color:#fffc!important}.chat-sidebar .sidebar-action-btn:hover{background:#ffffff12!important;color:#fff!important}.chat-sidebar .user-info .user-email{color:#fff!important}.chat-sidebar .user-info .user-status{color:#ffffffb8!important}.chat-sidebar .profile-name{color:#fff!important}.chat-sidebar .profile-email,.chat-sidebar .logout-icon-btn{color:#fff9!important}.chat-sidebar .logout-icon-btn:hover{background:#ffffff1a!important;color:#fff!important}.new-chat{background:#f37021!important;color:#fff!important;border:none!important;font-weight:700!important}.new-chat:hover{background:#d85f12!important}.date-group-header{color:#ffffff6b!important}.chat-history-item{color:#ffffffb8!important}.chat-history-item:hover,.chat-history-item:not(.active):hover{background:#ffffff0f!important;color:#fff!important}.chat-history-item.active{background:#ffffff1a!important;color:#fff!important}.chat-history-item.active:before{background:#f37021!important}.chat-title{color:inherit!important}.chat-time{color:#ffffff6b!important}.empty-state{color:#ffffff8c!important}.chat-sidebar .search-container input{background:#ffffff0f!important;color:#fff!important;border-color:#ffffff1a!important}.chat-sidebar .search-container input::placeholder{color:#fff6!important}.context-menu,.context-menu-item,.archived-list,.ticket-form,.category-options,.category-btn{color:#0b2545!important}.context-menu,.ticket-form,.category-options{background:#fff!important}.message.user .message-bubble{background:#0b2545!important;color:#fff!important;border:none!important;border-radius:16px 16px 5px!important;box-shadow:0 1px 6px #0b25452e!important}.message.bot .message-bubble{background:#fff!important;color:#334155!important;border:1px solid #E2E8F0!important;border-radius:16px 16px 16px 5px!important;box-shadow:0 1px 2px #0b25450f!important}.message.bot .message-bubble strong,.message.bot .message-bubble h1,.message.bot .message-bubble h2,.message.bot .message-bubble h3{color:#0b2545!important}.message.bot .message-bubble a,.message.bot .message-bubble code{color:#1b3a6b!important}.message-sources-label{color:#64748b!important;letter-spacing:.06em;text-transform:uppercase;font-weight:700!important}.message-sources-list a,.message-link{color:#1b3a6b!important;background:#f0f4f9!important;border-color:#e2e8f0!important}.message-sources-list a:hover{background:#e3e9f2!important}.chat-input-wrapper{background:#fff!important;border:1.5px solid #E2E8F0!important;border-radius:16px!important;box-shadow:0 1px 3px #0b254514!important}.chat-input-wrapper:focus-within{border-color:#4c6fa5!important;box-shadow:0 4px 12px #0b25451a!important}.send-btn:not(:disabled){background:#f37021!important;color:#fff!important}.send-btn:hover:not(:disabled){background:#d85f12!important}.welcome-title{color:#0b2545!important}.suggestion-btn{border-left-color:#f37021!important}.suggestion-btn:nth-child(4n+1),.suggestion-btn:nth-child(4n+2),.suggestion-btn:nth-child(4n+3),.suggestion-btn:nth-child(4n+4){border-left-color:#f37021!important}.suggestion-btn:hover:not(:disabled){border-color:#8aa0c2!important}@media (max-width: 768px){html,body,#root{max-width:100vw!important;overflow-x:hidden!important}.chat-input-field{font-size:16px!important}.message-bubble{max-width:86vw!important}.suggestions{grid-template-columns:1fr!important}}.proposals-subtitle{color:#64748b!important}.proposals-header h1,.proposals-header-detail h1{color:#0b2545!important}.proposals-new-btn,.proposals-upload-btn.primary{background:#f37021!important;color:#fff!important;border:none!important}.proposals-new-btn:hover{background:#d85f12!important}.proposals-upload-btn,.proposals-back-btn{background:#fff!important;color:#0b2545!important;border:1px solid #E2E8F0!important}.proposals-upload-btn:hover,.proposals-back-btn:hover{border-color:#8aa0c2!important;background:#f0f4f9!important}.proposals-critique-btn{background:#0b2545!important;color:#fff!important;border:none!important}.proposals-critique-btn:hover{background:#123257!important}.proposal-card{background:#fff!important;border:1px solid #E2E8F0!important;border-radius:12px!important;box-shadow:0 1px 3px #0b254514!important;transition:box-shadow .2s,transform .2s!important}.proposal-card:hover{box-shadow:0 4px 12px #0b25451a!important;transform:translateY(-2px)!important}.proposal-card-sponsor,.proposal-detail-sponsor{color:#1b3a6b!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important}.proposal-card-title,.proposal-detail-title-row h1{color:#0b2545!important}.proposal-card-countdown{padding:3px 10px!important;border-radius:999px!important;font-weight:700!important;font-size:11.5px!important}.proposal-card-countdown:not(.overdue):not(.urgent){background:#e7f4ec!important;color:#15663e!important}.proposal-card-countdown.urgent{background:#fcf1de!important;color:#9a5b00!important}.proposal-card-countdown.overdue{background:#fbe9e9!important;color:#9b2c2c!important}.proposal-progress-bar{background:#eef2f7!important}.proposal-progress-fill{background:#f37021!important}.status-pill.status-active{background:#eaf0f8!important;color:#1b3a6b!important}.status-pill.status-submitted{background:#e7f4ec!important;color:#15663e!important}.status-pill.status-withdrawn{background:#eef2f7!important;color:#64748b!important}.task-check-icon-done{color:#1f9254!important}.task-check-icon-pending{color:#8aa0c2!important}.proposals-modal .btn-primary{background:#0b2545!important;color:#fff!important}.proposals-modal .btn-primary:hover{background:#123257!important}.proposals-modal-header h2{color:#0b2545!important}.forms-subtitle{color:#64748b!important}.forms-header h1{color:#0b2545!important}.forms-search-input{border:1.5px solid #E2E8F0!important;border-radius:8px!important}.forms-search-input:focus{outline:none!important;border-color:#1b3a6b!important;box-shadow:0 0 0 3px #2b4e8638!important}.forms-result-meta{color:#64748b!important}.form-card{background:#fff!important;border:1px solid #E2E8F0!important;border-radius:12px!important;box-shadow:0 1px 3px #0b254514!important;transition:box-shadow .2s,transform .2s!important}.form-card:hover{box-shadow:0 4px 12px #0b25451a!important;transform:translateY(-2px)!important}.form-card-title{color:#0b2545!important}.form-card-summary{color:#64748b!important}.form-card-icon-wrap.pdf,.form-card-icon.pdf{background:#fbe9e9!important;color:#9b2c2c!important}.form-card-icon-wrap.excel,.form-card-icon.excel{background:#e7f4ec!important;color:#15663e!important}.form-card-icon-wrap.word,.form-card-icon.word,.form-card-icon-wrap.docusign,.form-card-icon.docusign{background:#eaf0f8!important;color:#1b3a6b!important}.form-card-icon-wrap.generic,.form-card-icon.generic{background:#eef2f7!important;color:#64748b!important}.form-tag-category{background:#e3e9f2!important;color:#1b3a6b!important}.form-tag-sponsor{background:#fef3eb!important;color:#c25313!important}.form-tag-role{background:#eef2f7!important;color:#64748b!important}.form-card-open{color:#8aa0c2!important}.form-card:hover .form-card-open{color:#f37021!important}.form-card-source{background:#f6f8fb!important;border-top:1px solid #EDF1F6!important}.form-card-source-label{color:#94a3b8!important}.form-card-source-link{color:#1b3a6b!important}.forms-filter-group .active,.forms-filter-group button.active{background:#0b2545!important;color:#fff!important;border-color:#0b2545!important}.profile-section,.admin-section{background:#fff!important;border:1px solid #E2E8F0!important;border-radius:12px!important;box-shadow:0 1px 3px #0b254514!important}.profile-header h1,.profile-header h2,.profile-section .section-header,.profile-section h2,.profile-section h3{color:#0b2545!important}.profile-page .profile-email{color:#64748b!important}.edit-btn,.admin-access-btn{background:#0b2545!important;color:#fff!important;border:none!important}.edit-btn:hover,.admin-access-btn:hover{background:#123257!important}.save-btn{background:#f37021!important;color:#fff!important;border:none!important}.save-btn:hover{background:#d85f12!important}.cancel-btn,.back-button{background:#fff!important;color:#0b2545!important;border:1px solid #E2E8F0!important}.cancel-btn:hover,.back-button:hover{background:#f0f4f9!important}.logout-btn{background:#fff!important;color:#9b2c2c!important;border:1px solid #F2CACA!important}.logout-btn:hover{background:#fbe9e9!important}.form-group label{color:#0b2545!important;font-weight:700!important}.form-group input,.form-group select,.form-group textarea{border:1.5px solid #E2E8F0!important;border-radius:8px!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none!important;border-color:#1b3a6b!important;box-shadow:0 0 0 3px #2b4e8638!important}.profile-picture-wrapper{border-color:#e2e8f0!important}.AdminDashboard .card,.cache-tier-card,.feedback-card,.chart-container{background:#fff!important;border:1px solid #E2E8F0!important;border-radius:12px!important;box-shadow:0 1px 3px #0b254514!important}.admin-tabs button.active,.admin-tabs .active{background:#0b2545!important;color:#fff!important;border-color:#0b2545!important}.AdminDashboard .btn-primary{background:#f37021!important;color:#fff!important;border:none!important}.AdminDashboard .btn-primary:hover{background:#d85f12!important}.action-btn{color:#fff!important}.action-btn.secondary{color:#0b2545!important}.action-btn.danger{color:#fff!important}.action-btn svg{color:inherit!important}.admin-table thead,.admin-table th{background:#0b2545!important;color:#fff!important}.admin-table td{border-color:#edf1f6!important}.chart-bar{background:#f37021!important}.chart-value,.feedback-header,.AdminDashboard .section-header{color:#0b2545!important}.back-home-btn{background:#fff!important;color:#0b2545!important;border:1px solid #E2E8F0!important}
