:root,[data-theme=light],.theme-light{--bg-primary: #F8FAFC;--bg-secondary: #FFFFFF;--bg-card: #FFFFFF;--bg-elevated: #FFFFFF;--bg-input: #FFFFFF;--bg-input-focus: #FFFFFF;--bg-hover: #F1F5F9;--border-color: #E2E8F0;--gradient-primary: linear-gradient(135deg, #6C4BFF 0%, #2196F3 100%);--gradient-logo: linear-gradient(135deg, #6C4BFF 0%, #06B6D4 100%);--gradient-accent: linear-gradient(135deg, #8B5CF6 0%, #6C4BFF 100%);--gradient-card: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);--gradient-glow: radial-gradient(circle, rgba(108, 75, 255, .08) 0%, transparent 70%);--accent-primary: #6C4BFF;--accent-secondary: #2196F3;--accent-blue: #0284C7;--accent-purple: #7C3AED;--accent-violet: #8B5CF6;--accent-cyan: #06B6D4;--accent-highlight: #0284C7;--color-success: #16A34A;--color-success-bg: #DCFCE7;--color-success-border: #86EFAC;--color-warning: #F59E0B;--color-warning-bg: #FEF3C7;--color-warning-border: #FDE68A;--color-error: #DC2626;--color-error-bg: #FEE2E2;--color-error-border: #FECACA;--color-info: #0284C7;--color-info-bg: #E0F2FE;--color-info-border: #BAE6FD;--text-primary: #111827;--text-secondary: #475569;--text-muted: #64748B;--text-dim: #94A3B8;--text-inverse: #FFFFFF;--border-subtle: #E2E8F0;--border-medium: #CBD5E1;--border-focus: #6C4BFF;--border-hover: #94A3B8;--glow-primary: 0 4px 20px rgba(108, 75, 255, .2);--glow-accent: 0 0 25px rgba(6, 182, 212, .15);--glow-focus: 0 0 0 3px rgba(108, 75, 255, .2);--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .05), 0 1px 2px -1px rgba(0, 0, 0, .03);--shadow-modal: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .04);--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-smooth: .35s cubic-bezier(.16, 1, .3, 1);--transition-theme: background-color .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;--bg-sidebar: #0C1222;--bg-sidebar-header: #0C1222;--bg-sidebar-hover: rgba(255, 255, 255, .06);--sidebar-text: #94A3B8;--sidebar-text-hover: #F8FAFC;--sidebar-active-bg: #241E47;--sidebar-active-text: #C4B5FD;--sidebar-active-border: #8B5CF6;--sidebar-border: rgba(255, 255, 255, .08)}@media(prefers-reduced-motion:no-preference){body,.app-layout,.sidebar,.top-navbar,.card-panel,.c1-card,.modal-card,.c1-modal-card,.dropdown-menu,.search-modal-card,.campus-ai-panel,.c1-btn,.nav-item,input,select,textarea{transition:var(--transition-theme)}}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-blue);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:#7dd3fc}button{font-family:inherit;cursor:pointer;border:none;background:none}img,svg,canvas,video{max-width:100%;height:auto}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;max-width:100%}.table-responsive,.c1-table-responsive,.table-container,.timetable-grid-wrapper,.assignments-table-wrap,.submissions-table-wrap,.results-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.text-gradient{background:linear-gradient(135deg,#0f172a,#475569);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.text-gradient-brand{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.text-muted{color:var(--text-secondary)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.c1-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-card);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.c1-card:hover{border-color:var(--border-medium);box-shadow:0 4px 12px #0000000d}.c1-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.c1-card-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;margin-bottom:2px}.c1-card-subtitle{font-size:.8125rem;color:var(--text-secondary)}.c1-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.c1-table th{padding:12px 16px;background:var(--bg-hover);color:var(--text-secondary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.c1-table td{padding:14px 16px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle}.c1-table tr:hover td{background:var(--bg-hover)}.c1-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none}.c1-btn-gradient{background:var(--gradient-primary);color:#fff;box-shadow:var(--glow-primary);border:none}.c1-btn-gradient:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #6c4bff59}.c1-btn-gradient:active:not(:disabled){transform:translateY(0)}.c1-btn-secondary{background:#f8fafc;border:1px solid var(--border-medium);color:var(--text-primary)}.c1-btn-secondary:hover:not(:disabled){background:#f1f5f9;border-color:var(--accent-primary);color:var(--accent-primary)}.c1-btn:disabled{opacity:.55;cursor:not-allowed}.c1-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.02em}.c1-badge-primary{background:#6366f11f;color:var(--accent-blue);border:1px solid rgba(99,102,241,.25)}.c1-badge-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.c1-badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.c1-badge-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.c1-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;margin-bottom:16px;animation:alertFadeIn .3s var(--transition-smooth)}.c1-alert-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.c1-alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.c1-alert-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.c1-alert-info{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.c1-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.c1-form-label{display:block;font-size:13px;font-weight:600;color:var(--text-primary, #0f172a);margin-bottom:4px}.c1-form-label .required{color:#ef4444;margin-left:2px}.c1-form-input,.c1-input,.c1-form-textarea,.c1-textarea{width:100%;padding:10px 14px;font-size:13.5px;font-weight:500;color:var(--text-primary, #0f172a);background-color:var(--bg-input, #ffffff);border:1.5px solid var(--border-medium, #cbd5e1);border-radius:var(--radius-md, 10px);outline:none;transition:all .2s cubic-bezier(.16,1,.3,1);font-family:inherit;box-sizing:border-box;box-shadow:0 1px 2px #00000008}.c1-form-input::placeholder,.c1-input::placeholder,.c1-form-textarea::placeholder,.c1-textarea::placeholder{color:#94a3b8;font-weight:400}.c1-form-input:hover:not(:disabled),.c1-input:hover:not(:disabled),.c1-form-textarea:hover:not(:disabled),.c1-textarea:hover:not(:disabled){border-color:#94a3b8;background-color:#fff}.c1-form-input:focus,.c1-input:focus,.c1-form-textarea:focus,.c1-textarea:focus{border-color:var(--accent-primary, #6c4bff);box-shadow:0 0 0 3.5px #6c4bff26;background-color:#fff}.c1-select,.c1-form-select{width:100%;height:44px;padding:10px 38px 10px 14px;font-size:13.5px;font-weight:500;color:var(--text-primary, #0f172a);background-color:var(--bg-input, #ffffff);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2.2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:15px 15px;border:1.5px solid var(--border-medium, #cbd5e1);border-radius:var(--radius-md, 10px);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all .2s cubic-bezier(.16,1,.3,1);font-family:inherit;box-sizing:border-box;box-shadow:0 1px 2px #0000000a}.c1-select:hover:not(:disabled),.c1-form-select:hover:not(:disabled){border-color:var(--accent-primary, #6c4bff);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236c4bff' stroke-width='2.4'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");box-shadow:0 2px 6px #6c4bff14}.c1-select:focus,.c1-form-select:focus{border-color:var(--accent-primary, #6c4bff);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236c4bff' stroke-width='2.4'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");box-shadow:0 0 0 3.5px #6c4bff26}.c1-select:disabled,.c1-form-select:disabled,.c1-input:disabled,.c1-form-input:disabled{background-color:#f1f5f9;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed;opacity:.75}.c1-select option,.c1-form-select option{background-color:#fff;color:#0f172a;padding:10px 14px;font-weight:500}.academic-filters-card,.c1-filters-card,.filters-card{padding:20px 24px;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-xl, 16px);box-shadow:0 1px 3px #0000000a,0 1px 2px -1px #00000005;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.search-filter-input-wrap{position:relative;width:100%;display:flex;align-items:center}.search-filter-input-wrap .search-icon{position:absolute;left:16px;font-size:15px;color:#94a3b8;pointer-events:none;transition:color .2s ease;z-index:2}.search-filter-input-wrap:focus-within .search-icon{color:var(--accent-primary, #6c4bff)}.search-filter-input,.c1-input.search-filter-input{width:100%;height:46px;padding:10px 44px 10px 46px;font-size:14px;font-weight:500;background-color:#f8fafc;border:1.5px solid var(--border-color, #e2e8f0);border-radius:12px;transition:all .2s cubic-bezier(.16,1,.3,1);color:var(--text-primary, #0f172a)}.search-filter-input:hover:not(:focus),.c1-input.search-filter-input:hover:not(:focus){background-color:#fff;border-color:#cbd5e1}.search-filter-input:focus,.c1-input.search-filter-input:focus{background-color:#fff;border-color:var(--accent-primary, #6c4bff);box-shadow:0 0 0 3.5px #6c4bff1f}.clear-search-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background-color:#e2e8f0;color:#64748b;font-size:12px;border:none;cursor:pointer;transition:all .2s ease;z-index:2}.clear-search-btn:hover{background-color:#cbd5e1;color:#0f172a;transform:translateY(-50%) scale(1.08)}.filters-row-wrap{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;width:100%}.filter-select-item{flex:1 1 200px;min-width:170px;display:flex;flex-direction:column;gap:6px}.filter-select-item label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:0;display:flex;align-items:center;gap:5px}.filter-select-item .c1-select{width:100%;height:44px}.btn-clear-filters{height:44px;padding:0 18px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600;background-color:#f8fafc;color:#475569;border:1.5px solid #e2e8f0;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer;align-self:flex-end;white-space:nowrap}.btn-clear-filters:hover{background-color:#fee2e2;color:#dc2626;border-color:#fca5a5;transform:translateY(-1px);box-shadow:0 2px 8px #dc26261f}.btn-clear-filters i{font-size:12px}.c1-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04050fcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modalFadeIn .25s ease forwards}.c1-modal-card{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-2xl);max-width:520px;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:32px;box-shadow:var(--shadow-modal);animation:modalScaleUp .25s cubic-bezier(.16,1,.3,1) forwards;position:relative}.c1-modal-sm{max-width:400px}.c1-modal-md{max-width:540px}.c1-modal-lg{max-width:720px}.c1-modal-xl{max-width:900px}@media(max-width:640px){.c1-modal-overlay{padding:24px 12px 12px;align-items:flex-start}.c1-modal-card{padding:20px 16px;max-width:100%;border-radius:var(--radius-xl)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.toast-msg{position:fixed;bottom:28px;right:28px;z-index:99999;display:inline-flex;align-items:center;gap:12px;min-width:280px;max-width:440px;padding:14px 18px;background:#0f172a;color:#f8fafc;border-radius:var(--radius-lg, 12px);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 25px -5px #00000059,0 8px 10px -6px #0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:14px;font-weight:500;line-height:1.45;animation:toastSlideIn .32s cubic-bezier(.16,1,.3,1) forwards;pointer-events:auto}[data-theme=light] .toast-msg,.theme-light .toast-msg{background:#1e293b;color:#fff;border-color:#ffffff26}.toast-msg i.fa-solid,.toast-msg i.fa-regular{font-size:18px;flex-shrink:0}.toast-msg span{flex:1;word-break:break-word}.toast-msg.toast-success i{color:#34d399}.toast-msg.toast-success{border-left:4px solid #10b981}.toast-msg.toast-info i{color:#38bdf8}.toast-msg.toast-info{border-left:4px solid #0284c7}.toast-msg.toast-warning i{color:#fbbf24}.toast-msg.toast-warning{border-left:4px solid #f59e0b}.toast-msg.toast-error i{color:#f87171}.toast-msg.toast-error{border-left:4px solid #ef4444}.toast-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;color:#fff9;border-radius:var(--radius-sm, 6px);cursor:pointer;padding:0;font-size:13px;transition:all .18s ease;flex-shrink:0;margin-left:4px}.toast-close:hover{color:#fff;background:#ffffff26}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.toast-msg{left:16px;right:16px;bottom:20px;max-width:calc(100% - 32px)}}.exam-section-tabs,.tab-navigation-bar,.section-tabs-bar,.c1-tabs-header,.module-tabs-wrap{display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--border-color, #e2e8f0);margin-bottom:24px;padding-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.section-tab-btn,.tab-item-btn,.c1-tab-btn,.tab-nav-btn{padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--text-secondary, #64748b)!important;font-size:.875rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap;border-radius:8px 8px 0 0;text-decoration:none}.section-tab-btn i,.tab-item-btn i,.c1-tab-btn i,.tab-nav-btn i{font-size:14px;color:#94a3b8;transition:color .2s ease}.section-tab-btn:hover:not(.active),.tab-item-btn:hover:not(.active),.c1-tab-btn:hover:not(.active),.tab-nav-btn:hover:not(.active){color:var(--accent-primary, #6c4bff)!important;background:#6c4bff0d}.section-tab-btn:hover:not(.active) i,.tab-item-btn:hover:not(.active) i,.c1-tab-btn:hover:not(.active) i,.tab-nav-btn:hover:not(.active) i{color:var(--accent-primary, #6c4bff)}.section-tab-btn.active,.tab-item-btn.active,.c1-tab-btn.active,.tab-nav-btn.active{color:var(--accent-primary, #6c4bff)!important;border-bottom-color:var(--accent-primary, #6c4bff)!important;font-weight:700;background:#6c4bff14}.section-tab-btn.active i,.tab-item-btn.active i,.c1-tab-btn.active i,.tab-nav-btn.active i{color:var(--accent-primary, #6c4bff)!important}.category-tab-pill,.semester-tab-pill,.day-tab-pill{padding:8px 16px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:9999px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease;white-space:nowrap}.category-tab-pill:hover:not(.active),.semester-tab-pill:hover:not(.active),.day-tab-pill:hover:not(.active){background:#e2e8f0;color:#0f172a}.category-tab-pill.active,.semester-tab-pill.active,.day-tab-pill.active{background:linear-gradient(135deg,#6c4bff,#2196f3)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 4px 12px #6c4bff40;font-weight:700}.category-tab-pill.active .tab-count-tag,.semester-tab-pill.active .tab-count-tag,.day-tab-pill.active .tab-count-tag{background:#ffffff40;color:#fff}.cms-login-page{display:flex;width:100vw;min-height:100vh;margin:0;padding:0;background-color:#fff;font-family:Plus Jakarta Sans,Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden;box-sizing:border-box}.cms-hero-section{flex:1.85;min-height:100vh;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:60px 80px;box-sizing:border-box;overflow:hidden;background-color:#581c87}.cms-hero-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;filter:contrast(1.05) brightness(.95)}.cms-hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#6d28d9d1,#a855f7b8,#d946efc7);mix-blend-mode:multiply;z-index:2}.cms-hero-lighting{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 40% 50%,rgba(255,255,255,.15) 0%,transparent 65%);z-index:3;pointer-events:none}.cms-hero-content{position:relative;z-index:5;max-width:800px;width:100%}.cms-inst-name{font-size:26px;font-weight:800;color:#bae6fdd9;text-shadow:0 2px 10px rgba(0,0,0,.25);letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;display:block;-webkit-user-select:none;user-select:none}.cms-watermark-bg{position:absolute;top:50px;left:30px;font-size:38px;font-weight:900;color:#38bdf84d;letter-spacing:1px;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:-1;white-space:nowrap}.cms-welcome-lockup{display:flex;align-items:flex-start;gap:20px;margin-bottom:12px}.cms-vertical-bar{width:14px;height:130px;background-color:#fff;border-radius:4px;flex-shrink:0;box-shadow:0 4px 15px #0003}.cms-welcome-text-group{display:flex;flex-direction:column}.cms-welcome-title{font-size:68px;font-weight:900;color:#fff;letter-spacing:-1.5px;line-height:1;margin:0;text-shadow:0 4px 20px rgba(0,0,0,.3)}.cms-to-subtitle{font-size:36px;font-weight:600;color:#fff;margin:8px 0 6px;line-height:1.1;text-shadow:0 2px 10px rgba(0,0,0,.25)}.cms-system-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cms-logo-badge{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#0ea5e9,#6366f1,#ec4899);color:#fff;font-weight:900;font-size:13px;letter-spacing:.5px;box-shadow:0 4px 12px #00000040;border:2px solid rgba(255,255,255,.8);flex-shrink:0}.cms-system-name{font-size:34px;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.3);letter-spacing:-.5px}.cms-form-section{flex:1.15;min-height:100vh;background-color:#fff;display:flex;flex-direction:column;justify-content:center;padding:48px 56px;box-sizing:border-box;position:relative;z-index:10;box-shadow:-10px 0 30px #0000000d}.cms-form-container{max-width:400px;width:100%;margin:0 auto}.cms-header-row{display:flex;align-items:center;gap:12px;margin-bottom:32px}.cms-header-badge{width:32px;height:32px;border-radius:50%;background:#facc15;display:flex;align-items:center;justify-content:center;color:#854d0e;font-size:15px;font-weight:800;box-shadow:0 3px 10px #facc1566;flex-shrink:0}.cms-header-title{font-size:28px;font-weight:800;color:#0f172a;letter-spacing:-.5px;margin:0}.cms-alert-banner{background:#fef2f2;border-left:4px solid #ef4444;color:#991b1b;padding:10px 14px;border-radius:6px;font-size:13px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;animation:fadeIn .2s ease}.cms-alert-banner button{background:none;border:none;color:#991b1b;cursor:pointer;font-size:14px}.cms-auth-form{display:flex;flex-direction:column;gap:22px}.cms-field-group{display:flex;flex-direction:column;gap:8px}.cms-field-label{font-size:13.5px;font-weight:600;color:#475569;-webkit-user-select:none;user-select:none}.cms-select-wrapper{position:relative;width:100%}.cms-select-input{width:100%;padding:11px 36px 11px 14px;font-size:14px;font-weight:500;color:#1e293b;background-color:#fff;border:1.5px solid #cbd5e1;border-radius:6px;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;transition:all .2s ease;font-family:inherit;box-sizing:border-box}.cms-select-input:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.cms-select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#64748b;font-size:12px}.cms-input-wrapper{position:relative;display:flex;align-items:center}.cms-text-input{width:100%;padding:10px 14px;font-size:14px;font-weight:500;color:#0f172a;background-color:#fff;border:1.5px solid #cbd5e1;border-radius:6px;outline:none;transition:all .2s ease;font-family:inherit;box-sizing:border-box}.cms-text-input::placeholder{color:#94a3b8;font-weight:400}.cms-text-input:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.cms-field-group.has-error .cms-text-input,.cms-field-group.has-error .cms-select-input{border-color:#ef4444;background-color:#fff8f8}.cms-field-error-text{font-size:11.5px;color:#dc2626;font-weight:500;margin-top:2px}.cms-password-toggle{position:absolute;right:12px;background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;font-size:15px;transition:color .15s ease}.cms-password-toggle:hover{color:#0284c7}.cms-form-options{display:flex;align-items:center;justify-content:space-between;margin-top:-6px}.cms-checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.cms-checkbox-label input[type=checkbox]{accent-color:#0284c7;width:15px;height:15px;cursor:pointer}.cms-forgot-link{font-size:12.5px;font-weight:600;color:#0284c7;text-decoration:none;transition:opacity .15s ease}.cms-forgot-link:hover{text-decoration:underline}.cms-btn-submit{width:100%;padding:13px 28px;background:#0284c7;color:#fff;border:none;border-radius:9999px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px -3px #0284c773;transition:all .2s cubic-bezier(.16,1,.3,1);font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:6px}.cms-btn-submit:hover:not(:disabled){background:#0369a1;transform:translateY(-1.5px);box-shadow:0 10px 25px -3px #0284c78c}.cms-btn-submit:active:not(:disabled){transform:translateY(0)}.cms-btn-submit:disabled{opacity:.75;cursor:not-allowed}.cms-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.cms-quick-roles{margin-top:28px;padding-top:18px;border-top:1px dashed #e2e8f0}.cms-quick-roles-title{font-size:12px;font-weight:700;color:#64748b;margin-bottom:10px;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px}.cms-roles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cms-role-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:600;color:#334155;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .15s ease;font-family:inherit}.cms-role-btn:hover{background:#0284c7;color:#fff;border-color:#0284c7;transform:translateY(-1px)}.cms-role-btn i{font-size:13px}.cms-form-footer{margin-top:24px;text-align:center;font-size:12px;color:#94a3b8}@media(max-width:1024px){.cms-hero-section{padding:40px}.cms-welcome-title{font-size:52px}.cms-system-name{font-size:26px}.cms-form-section{padding:36px 28px}}@media(max-width:768px){.cms-login-page{flex-direction:column}.cms-hero-section{flex:none;min-height:320px;padding:32px 24px;justify-content:center}.cms-inst-name{font-size:18px;margin-bottom:12px}.cms-watermark-bg{display:none}.cms-welcome-title{font-size:40px}.cms-to-subtitle{font-size:24px}.cms-vertical-bar{height:80px;width:8px}.cms-system-name{font-size:20px}.cms-form-section{flex:none;min-height:auto;padding:32px 20px 48px}}.app-layout{display:flex;min-height:100vh;width:100vw;background-color:var(--bg-primary);color:var(--text-primary)}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;transition:padding-left var(--transition-speed)}.page-container{padding:30px;flex:1;overflow-y:auto;animation:pageFadeIn .4s ease}.sidebar{width:260px;height:100vh;background-color:var(--bg-sidebar, #0C1222);border-right:1px solid var(--sidebar-border, rgba(255, 255, 255, .08));display:flex;flex-direction:column;position:sticky;top:0;z-index:100;transition:width var(--transition-speed) cubic-bezier(.16,1,.3,1);overflow-x:hidden}.sidebar.collapsed{width:78px}.sidebar-header{padding:22px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-subtle);background-color:var(--bg-sidebar, #0C1222);white-space:nowrap}.sidebar.collapsed .sidebar-header{padding:22px 15px;justify-content:center}.brand-text{display:flex;flex-direction:column;transition:opacity .15s}.brand-text h1{font-size:18px;font-weight:800;letter-spacing:-.5px;line-height:1.2;color:#fff}.brand-text span{font-size:10px;color:#94a3b8;font-weight:600;letter-spacing:.2px}.sidebar.collapsed .brand-text{display:none}.sidebar-nav{flex:1;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:20px}.sidebar.collapsed .sidebar-nav{padding:16px 8px}.nav-group{display:flex;flex-direction:column;gap:4px}.nav-group-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.8px;margin-left:10px;margin-bottom:4px}.sidebar.collapsed .nav-group-label{display:none}.nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;color:#94a3b8;font-size:13.5px;font-weight:500;text-decoration:none;cursor:pointer;background:transparent;border:none;width:100%;text-align:left;transition:all .15s ease;position:relative}.nav-item i{font-size:15px;min-width:20px;text-align:center;display:flex;align-items:center;justify-content:center;opacity:.85}.nav-item:hover{color:#f8fafc;background-color:#ffffff0f}.nav-item:hover i{opacity:1}.nav-item.active{color:#c4b5fd;background-color:#241e47;border-left:3px solid #8B5CF6;padding-left:9px;font-weight:600;box-shadow:inset 0 0 0 1px #8b5cf633}.nav-item.active i{color:#a78bfa;opacity:1}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:11px}.sidebar.collapsed .nav-item.active{border-left:3px solid #8B5CF6;border-radius:0 8px 8px 0;padding-left:8px;background-color:#241e47}.sidebar-tooltip{position:absolute;left:78px;background:#0f172a;border:1px solid rgba(255,255,255,.15);color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;pointer-events:none;white-space:nowrap;box-shadow:0 4px 14px #0006;opacity:0;transform:translate(-8px);transition:all .2s ease;z-index:1000}.nav-item:hover .sidebar-tooltip{opacity:1;transform:translate(0)}.sidebar-footer{padding:12px 14px;border-top:1px solid var(--border-subtle);background-color:var(--bg-sidebar, #0C1222)}.sidebar-logout-btn{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;color:#ef4444;font-size:13.5px;font-weight:600;background:transparent;border:none;width:100%;cursor:pointer;transition:all .15s ease}.sidebar-logout-btn:hover{background:#ef44441f;color:#f87171}.top-navbar{height:68px;background-color:#fff;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:99;box-shadow:0 1px 2px #00000005}.navbar-left{display:flex;align-items:center;gap:16px}.btn-sidebar-toggle{background:transparent;border:none;color:#475569;font-size:18px;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-sidebar-toggle:hover{background:#f1f5f9;color:#0f172a}.page-title-area{display:flex;flex-direction:column}.page-title-area h2{font-size:16px;font-weight:800;color:#0f172a;letter-spacing:-.2px}.breadcrumb{font-size:11px;color:#64748b;display:flex;align-items:center;gap:6px;font-weight:500}.breadcrumb-separator{color:#94a3b8}.navbar-center-search{max-width:360px;width:100%;position:relative;margin:0 16px}.search-trigger-input{width:100%;height:40px;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:9999px;padding:0 14px 0 38px;color:#0f172a;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:space-between;outline:none;transition:all .2s ease;-webkit-user-select:none;user-select:none}.search-trigger-input:hover{border-color:#cbd5e1;background:#e2e8f0}.search-icon-nav{position:absolute;left:14px;color:#64748b;font-size:14px}.search-kbd-shortcut{background:#fff;border:1px solid #CBD5E1;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;color:#475569;font-family:inherit;box-shadow:0 1px 2px #0000000a}.navbar-right{display:flex;align-items:center;gap:12px}.btn-calendar-action{width:38px;height:38px;border-radius:8px;border:1px solid #E2E8F0;background:#fff;color:#475569;font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.btn-calendar-action:hover{background:#f8fafc;color:var(--accent-primary);border-color:var(--accent-primary)}.nav-gamification-group{display:flex;align-items:center;gap:8px}.nav-stat-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:9999px;font-size:12.5px;font-weight:700;border:1px solid transparent;-webkit-user-select:none;user-select:none;transition:transform .15s ease}.nav-stat-pill:hover{transform:translateY(-1px)}.xp-pill{background:#fef3c7;color:#b45309;border-color:#fde68a}.xp-circle{width:18px;height:18px;border-radius:50%;background:#f59e0b;color:#fff;font-size:9px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.streak-pill{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.rank-pill{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}.pill-emoji{font-size:13px}.pill-val{font-weight:700;letter-spacing:-.2px}.btn-nav-action{background:transparent;border:1px solid transparent;color:#475569;font-size:16px;cursor:pointer;width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;transition:all .15s ease}.btn-nav-action:hover{background:#f1f5f9;color:#0f172a}.btn-nav-action .badge-dot{position:absolute;top:7px;right:7px;width:8px;height:8px;background-color:var(--color-error);border-radius:50%;border:2px solid #FFFFFF}.user-menu-trigger{display:flex;align-items:center;gap:10px;padding:4px 8px;border-radius:10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease;position:relative}.user-menu-trigger:hover{background:#f1f5f9}.user-avatar-wrapper{position:relative}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6c4bff,#2196f3);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;box-shadow:0 2px 6px #6c4bff40}.user-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 2px 6px #6c4bff40;border:1.5px solid #6C4BFF}.avatar-smart-tag{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);background:#2563eb;color:#fff;font-size:8px;font-weight:800;padding:1px 4px;border-radius:3px;letter-spacing:.3px}.user-info-text{display:flex;flex-direction:column}.user-info-text .user-name{font-size:13px;font-weight:700;color:#0f172a;line-height:1.2}.user-info-text .user-role{font-size:10px;color:#64748b;text-transform:uppercase;font-weight:600}.user-menu-trigger .user-chevron{font-size:11px;color:#94a3b8;transition:transform .2s ease}.user-menu-trigger.active .user-chevron{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:50px;right:0;background:#fff;border:1px solid #E2E8F0;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000a;width:240px;overflow:hidden;animation:dropdownAnim .2s ease;z-index:1000}.dropdown-header{padding:14px 16px;border-bottom:1px solid #E2E8F0;background:#f8fafc}.dropdown-header .profile-name{font-weight:700;font-size:14px;color:#0f172a}.dropdown-header .profile-email{font-size:11.5px;color:#64748b;margin-top:1px}.profile-role-badge{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:#16a34a;margin-top:6px}.profile-role-badge .role-tag{background:#dcfce7;color:#15803d;border:1px solid #BBF7D0;padding:1px 6px;border-radius:4px;font-size:9.5px}.account-status-dot{width:6px;height:6px;border-radius:50%;background-color:#16a34a}.dropdown-list{padding:6px;display:flex;flex-direction:column;gap:2px}.dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:500;color:#334155;text-decoration:none;cursor:pointer;background:transparent;border:none;width:100%;text-align:left;transition:all .15s ease}.dropdown-item:hover{background:#f1f5f9;color:#0f172a}.dropdown-item.danger{color:#dc2626}.dropdown-item.danger:hover{background:#fee2e2;color:#b91c1c}.notifications-dropdown{width:340px;max-height:480px;display:flex;flex-direction:column;background:#fff;border:1px solid #E2E8F0;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000a}.notif-header-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #E2E8F0;background:#f8fafc}.notif-header-row h3{font-size:14px;font-weight:700;color:#0f172a}.btn-notif-clear{background:transparent;border:none;color:var(--accent-primary);font-size:11px;font-weight:600;cursor:pointer}.notif-list{overflow-y:auto;flex:1;display:flex;flex-direction:column}.notif-item{padding:14px 16px;display:flex;gap:14px;border-bottom:1px solid #F1F5F9;cursor:pointer;position:relative;transition:background .15s ease}.notif-item:hover{background:#f8fafc}.notif-item.unread{background:#6c4bff0a}.notif-item.unread:before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:6px;height:6px;background-color:var(--accent-primary);border-radius:50%}.notif-icon-box{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px}.notif-icon-box.academic{background:#6c4bff1a;color:var(--accent-primary)}.notif-icon-box.placement{background:#0284c71a;color:var(--accent-blue)}.notif-icon-box.announcement{background:#16a34a1a;color:var(--color-success)}.notif-details{flex:1;display:flex;flex-direction:column;gap:4px}.notif-title{font-size:12.5px;font-weight:700;color:#0f172a;line-height:1.2}.notif-desc{font-size:11.5px;color:#475569;line-height:1.3}.notif-time{font-size:10px;color:#94a3b8;margin-top:2px}.search-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:center;padding-top:100px;animation:pageFadeIn .2s ease}.search-modal-card{width:100%;max-width:600px;height:fit-content;max-height:480px;background:#fff;border:1px solid #E2E8F0;border-radius:16px;box-shadow:0 20px 40px -10px #00000026,0 10px 15px -3px #0000000d;display:flex;flex-direction:column;overflow:hidden;animation:cardSlideUp .3s cubic-bezier(.16,1,.3,1) forwards}.search-modal-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #E2E8F0;background:#fff;position:relative}.search-modal-header i.fa-magnifying-glass{color:#64748b;font-size:16px;margin-right:14px}.search-modal-header input{flex:1;background:transparent;border:none;outline:none;color:#0f172a;font-size:15px;font-weight:500;font-family:inherit}.search-modal-header input::placeholder{color:#94a3b8}.btn-search-close{background:#f1f5f9;border:1px solid #E2E8F0;color:#475569;padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;cursor:pointer}.search-results-list{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:4px;max-height:340px}.search-result-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:10px;color:#334155;cursor:pointer;transition:all .15s ease}.search-result-item.selected,.search-result-item:hover{background:#f5f3ff;color:#6d28d9}.search-result-left{display:flex;align-items:center;gap:14px}.search-result-icon{width:32px;height:32px;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--accent-primary);border:1px solid #E2E8F0}.search-result-item.selected .search-result-icon,.search-result-item:hover .search-result-icon{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.search-result-text{display:flex;flex-direction:column}.search-result-title{font-size:13.5px;font-weight:700;color:#0f172a}.search-result-path{font-size:10px;color:#64748b}.search-result-item.selected .search-result-path,.search-result-item:hover .search-result-path{color:#7c3aed}.search-result-action{font-size:11px;color:var(--accent-primary);font-weight:600;display:none}.search-result-item.selected .search-result-action,.search-result-item:hover .search-result-action{display:block}.search-modal-footer{padding:10px 20px;background:#f8fafc;border-top:1px solid #E2E8F0;display:flex;align-items:center;gap:16px;font-size:10.5px;color:#64748b}.search-modal-footer span{display:flex;align-items:center;gap:4px}.search-modal-footer kbd{background:#fff;border:1px solid #CBD5E1;padding:1px 5px;border-radius:3px;color:#334155}.dashboard-header{margin-bottom:28px}.dashboard-header h1{font-size:28px;font-weight:800;margin-bottom:6px;letter-spacing:-.5px}.dashboard-header p{color:var(--text-secondary);font-size:14.5px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:28px}.dashboard-main-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:28px}.dashboard-row{display:flex;flex-direction:column;gap:24px}.card-panel{background-color:var(--bg-card, #FFFFFF);border:1px solid var(--border-subtle, #E2E8F0);border-radius:16px;padding:24px;box-shadow:var(--shadow-card, 0 1px 3px 0 rgba(0, 0, 0, .05));position:relative;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.card-panel:hover{transform:translateY(-2px);border-color:#cbd5e1;box-shadow:0 6px 18px #0000000f}.card-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-panel-header h3{font-size:15px;font-weight:700;color:var(--text-primary, #0F172A)}.stat-card{padding:20px}.stat-card-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stat-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px}.stat-card-icon.primary{background:#6c4bff1a;color:var(--accent-primary)}.stat-card-icon.cyan{background:#0284c71a;color:var(--accent-blue)}.stat-card-icon.green{background:#16a34a1a;color:var(--color-success)}.stat-card-icon.red{background:#dc26261a;color:var(--color-error)}.stat-card-trend{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px}.stat-card-trend.up{background:#16a34a1a;color:#16a34a}.stat-card-trend.down{background:#dc26261a;color:var(--color-error)}.stat-card-value{font-size:26px;font-weight:800;line-height:1.2;color:var(--text-primary, #0F172A)}.stat-card-desc{font-size:12px;color:var(--text-secondary);margin-top:4px}.quick-access-section{margin-bottom:28px}.quick-access-section h3{font-size:16px;font-weight:700;color:var(--text-primary, #0F172A);margin-bottom:16px}.quick-access-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.quick-card{padding:18px;display:flex;flex-direction:column;gap:12px;text-decoration:none;cursor:pointer;background:var(--bg-card, #FFFFFF);border:1px solid var(--border-subtle, #E2E8F0);border-radius:12px;box-shadow:var(--shadow-card);transition:all .2s ease}.quick-card:hover{transform:translateY(-2px);border-color:var(--accent-primary);background:#f8fafc}.quick-card-icon{width:36px;height:36px;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--accent-primary);border:1px solid var(--border-subtle, #E2E8F0);transition:all .2s ease}.quick-card:hover .quick-card-icon{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.quick-card-details{display:flex;flex-direction:column;gap:2px}.quick-card-title{font-size:13.5px;font-weight:700;color:var(--text-primary, #0F172A)}.quick-card-desc{font-size:11px;color:var(--text-secondary)}.timetable-list{display:flex;flex-direction:column;gap:12px}.timetable-item{display:flex;align-items:center;padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #E2E8F0;transition:all .2s ease}.timetable-item.active-class{background:#f5f3ff;border-color:#ddd6fe;box-shadow:0 2px 10px #6c4bff14;position:relative}.timetable-item.active-class:before{content:"Live";position:absolute;top:10px;right:14px;font-size:8px;font-weight:700;text-transform:uppercase;color:var(--accent-primary);background:#6c4bff1a;padding:2px 6px;border-radius:4px;border:1px solid rgba(108,75,255,.2)}.class-time{min-width:90px;display:flex;flex-direction:column}.class-time .time-start{font-size:12.5px;font-weight:700;color:var(--text-primary, #0F172A)}.class-time .time-duration{font-size:10px;color:var(--text-secondary)}.class-subject{flex:1;display:flex;flex-direction:column}.class-subject-name{font-size:13.5px;font-weight:700;color:var(--text-primary, #0F172A)}.class-details{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:12px}.class-details span{display:flex;align-items:center;gap:4px}.attendance-card-body{display:flex;align-items:center;gap:24px}.attendance-circle-container{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.attendance-circle-svg{transform:rotate(-90deg);width:100%;height:100%}.attendance-circle-bg{fill:none;stroke:#e2e8f0;stroke-width:8}.attendance-circle-bar{fill:none;stroke:url(#grad-attendance);stroke-width:8;stroke-linecap:round;stroke-dasharray:251.2;transition:stroke-dashoffset 1s ease-out}.attendance-circle-val{position:absolute;font-size:20px;font-weight:800;color:var(--text-primary, #0F172A)}.attendance-breakdown{flex:1;display:flex;flex-direction:column;gap:10px}.subject-att-row{display:flex;flex-direction:column;gap:4px}.subject-att-header{display:flex;justify-content:space-between;font-size:11.5px;font-weight:600}.subject-att-name{color:var(--text-secondary)}.subject-att-status{font-size:9px;font-weight:700;text-transform:uppercase;padding:1px 4px;border-radius:3px}.subject-att-status.safe{background:#16a34a1a;color:#16a34a}.subject-att-status.warning{background:#f59e0b1a;color:#d97706}.subject-att-status.critical{background:#dc26261a;color:var(--color-error)}.subject-att-track{height:5px;background:#e2e8f0;border-radius:3px;overflow:hidden}.subject-att-bar{height:100%;border-radius:3px;transition:width 1s ease}.subject-att-bar.safe{background-color:#16a34a}.subject-att-bar.warning{background-color:#f59e0b}.subject-att-bar.critical{background-color:var(--color-error)}.events-timeline{display:flex;flex-direction:column;gap:16px}.event-item{display:flex;gap:16px;position:relative}.event-item:not(:last-child):after{content:"";position:absolute;left:20px;top:40px;bottom:-20px;width:1px;background:#e2e8f0}.event-date-box{width:42px;height:42px;border-radius:10px;background:#f8fafc;border:1px solid #E2E8F0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.event-date-day{font-size:14px;font-weight:800;color:var(--text-primary, #0F172A)}.event-date-month{font-size:9px;font-weight:700;color:var(--text-secondary);text-transform:uppercase}.event-content{flex:1;display:flex;flex-direction:column;gap:2px}.event-tag{font-size:8px;font-weight:700;text-transform:uppercase;color:var(--accent-primary);background:#6c4bff1a;padding:1px 5px;border-radius:3px;width:fit-content}.event-title{font-size:13px;font-weight:700;color:var(--text-primary, #0F172A)}.event-meta{font-size:11px;color:var(--text-secondary)}.announcements-list{display:flex;flex-direction:column;gap:16px}.announcement-item{padding:16px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:12px;display:flex;flex-direction:column;gap:8px}.announcement-tag-row{display:flex;justify-content:space-between;align-items:center}.announcement-tag{font-size:9px;font-weight:700;text-transform:uppercase;color:#16a34a;background:#16a34a1a;padding:2px 6px;border-radius:4px}.announcement-date{font-size:10px;color:#64748b}.announcement-title{font-size:14px;font-weight:700;color:var(--text-primary, #0F172A)}.announcement-body{font-size:12px;color:var(--text-secondary);line-height:1.4}.btn-view-all{width:100%;height:40px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:10px;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;margin-top:10px}.btn-view-all:hover{background:#f1f5f9;color:var(--accent-primary);border-color:var(--accent-primary)}.ai-insight-card{background:linear-gradient(135deg,#4e32ff26,#08b9dd26),radial-gradient(circle at 80% 20%,rgba(124,92,255,.2),transparent 40%),var(--bg-secondary);border-color:#08b9dd4d}.ai-insight-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(to bottom,var(--accent-highlight),var(--accent-primary))}.ai-insight-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ai-insight-header i{font-size:20px;color:var(--accent-highlight)}.ai-insight-header h3{font-size:16px;font-weight:700;color:var(--text-primary)}.ai-insight-text{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:18px}.btn-ai-ask{padding:10px 18px;background:linear-gradient(135deg,var(--accent-highlight),var(--accent-primary));border:none;border-radius:8px;color:#fff;font-size:12.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;width:fit-content;box-shadow:0 4px 12px #08b9dd40;transition:all .2s}.btn-ai-ask:hover{transform:translateY(-1px);box-shadow:0 6px 18px #08b9dd66}.coming-soon-container{display:flex;justify-content:center;align-items:center;min-height:70vh}.coming-soon-card{max-width:480px;text-align:center;display:flex;flex-direction:column;align-items:center;padding:40px}.coming-soon-icon-box{width:70px;height:70px;border-radius:20px;background:#7c5cff14;border:1px solid rgba(124,92,255,.2);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--accent-primary);margin-bottom:24px;animation:floatArt 3s ease-in-out infinite alternate}.coming-soon-card h1{font-size:24px;font-weight:800;margin-bottom:12px}.coming-soon-card p{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:24px}.btn-back-home{padding:10px 20px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-back-home:hover{background:var(--bg-hover);border-color:#ffffff26}.spinner-box{display:flex;justify-content:center;align-items:center;padding:40px}.spinner-ring{width:32px;height:32px;border:3px solid rgba(124,92,255,.1);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.skeleton-card{padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:12px}.skeleton-text{height:12px;background:linear-gradient(90deg,#ffffff05 25%,#ffffff14,#ffffff05 75%);background-size:200% 100%;animation:skeletonGlow 1.5s infinite;border-radius:4px}.skeleton-text.title{height:18px;width:60%}.skeleton-text.short{width:40%}.skeleton-text.long{width:85%}.empty-state-box{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px}.empty-state-box i{font-size:32px;color:var(--text-secondary);margin-bottom:14px;opacity:.5}.empty-state-box h4{font-size:15px;font-weight:700;margin-bottom:4px}.empty-state-box p{font-size:12.5px;color:var(--text-secondary)}.error-state-box{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 20px;background:#ff45640a;border:1px solid rgba(255,69,100,.15);border-radius:14px}.error-state-box i{font-size:30px;color:var(--color-error);margin-bottom:14px}.error-state-box h4{font-size:15px;font-weight:700;margin-bottom:4px;color:var(--text-primary)}.error-state-box p{font-size:12px;color:var(--text-secondary);margin-bottom:16px}.btn-retry-err{padding:6px 14px;background:#ff45641a;border:1px solid rgba(255,69,100,.25);color:var(--color-error);font-size:12px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-retry-err:hover{background:var(--color-error);color:#fff}@keyframes dropdownAnim{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeletonGlow{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:1024px){.dashboard-main-grid{grid-template-columns:1fr;gap:20px}}@media(max-width:768px){.sidebar{position:fixed;top:0;left:-280px;width:265px;z-index:1000}.sidebar.mobile-open{left:0}.sidebar.collapsed{width:265px;left:-280px}.sidebar.collapsed.mobile-open{left:0}.page-container{padding:20px 16px}.top-navbar{padding:0 16px}.navbar-search,.btn-ai-shortcut{display:none}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.attendance-card-body{flex-direction:column;align-items:center;gap:16px}.user-info-text{display:none}.top-navbar{height:60px}}.student-dashboard-page{padding:24px 32px 48px;max-width:1440px;margin:0 auto;width:100%}.student-dashboard-content{display:flex;flex-direction:column;gap:24px}.student-welcome-banner{background:radial-gradient(circle at 10% 20%,rgba(99,102,241,.22) 0%,transparent 50%),radial-gradient(circle at 90% 80%,rgba(56,189,248,.15) 0%,transparent 40%),var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);padding:36px 40px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.welcome-banner-glow{position:absolute;top:-40px;left:-40px;width:240px;height:240px;background:var(--accent-primary);filter:blur(90px);opacity:.25;pointer-events:none}.welcome-banner-content{position:relative;z-index:2;max-width:680px}.welcome-header-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:14px}.live-indicator{width:8px;height:8px;border-radius:50%;background:var(--color-success);box-shadow:0 0 8px var(--color-success);animation:pulseDot 2s infinite}.badge-dot{color:var(--text-muted)}.welcome-title{font-size:2.1rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);line-height:1.2;margin-bottom:10px}.student-name-highlight{background:linear-gradient(135deg,#6c4bff,#0284c7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.welcome-subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:18px}.welcome-meta-chips{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.meta-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-secondary)}.meta-chip i{color:var(--accent-blue);font-size:.8125rem}.welcome-banner-visual{display:flex;flex-direction:column;align-items:flex-end;gap:16px;position:relative;z-index:2}.floating-badge-graphic{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-xl, 14px);box-shadow:0 4px 20px #0000000d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-theme=dark] .floating-badge-graphic,.theme-dark .floating-badge-graphic{background:#0f172ad9;border-color:#ffffff1f;box-shadow:0 8px 24px #00000059}.graphic-icon-wrap{width:42px;height:42px;border-radius:12px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;box-shadow:0 4px 14px #6c4bff4d;flex-shrink:0}.graphic-mini-stat{display:flex;flex-direction:column}.mini-stat-label{font-size:.6875rem;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:2px}.mini-stat-val{font-size:.875rem;color:var(--text-primary, #111827);font-weight:700;display:flex;align-items:center;gap:6px}.student-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.student-stat-card{padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition-normal)}.student-stat-card:hover{transform:translateY(-3px);border-color:var(--border-hover);box-shadow:0 12px 30px #0006}.stat-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stat-icon-wrapper{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.15rem;transition:transform var(--transition-fast)}.student-stat-card:hover .stat-icon-wrapper{transform:scale(1.08)}.stat-accent-purple .stat-icon-wrapper{background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.3)}.stat-accent-cyan .stat-icon-wrapper{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.stat-accent-blue .stat-icon-wrapper{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.stat-accent-indigo .stat-icon-wrapper{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.stat-card-body{margin-bottom:14px}.stat-value{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1.1;letter-spacing:-.02em;margin-bottom:4px}.stat-title{font-size:.9375rem;font-weight:600;color:#e2e8f0;margin-bottom:2px}.stat-subtitle{font-size:.775rem;color:var(--text-muted)}.stat-card-footer{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:600;color:var(--accent-blue);border-top:1px solid var(--border-subtle);padding-top:10px}.stat-arrow-icon{font-size:.6875rem;transition:transform var(--transition-fast)}.student-stat-card:hover .stat-arrow-icon{transform:translate(4px)}.student-dashboard-columns{display:grid;grid-template-columns:1.85fr 1fr;gap:24px;align-items:start}.dashboard-column-main,.dashboard-column-side{display:flex;flex-direction:column;gap:24px}.attendance-overview-card{padding:26px 28px}.attendance-gauge-section{display:flex;align-items:center;justify-content:space-around;gap:24px;margin:16px 0;padding:10px 0}.gauge-container{position:relative;width:160px;height:160px;display:flex;align-items:center;justify-content:center}.gauge-svg{transform:rotate(0)}.gauge-center-text{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center}.gauge-percentage{font-size:1.75rem;font-weight:800;color:var(--text-primary);line-height:1}.gauge-label{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.attendance-metric-breakdown{display:flex;flex-direction:column;gap:12px;flex:1;max-width:240px}.metric-box{padding:12px 16px;border-radius:var(--radius-md);display:flex;flex-direction:column;border:1px solid var(--border-subtle);background:var(--bg-hover)}.metric-box-header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.metric-indicator-dot{width:6px;height:6px;border-radius:50%}.present-dot{background:var(--color-success)}.absent-dot{background:var(--color-error)}.metric-name{font-size:.75rem;color:var(--text-secondary);font-weight:500}.metric-num{font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.2}.metric-denom{font-size:.6875rem;color:var(--text-dim)}.attendance-status-alert{margin-top:4px;margin-bottom:14px}.status-notice{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:var(--radius-md);font-size:.8125rem;line-height:1.4}.status-notice-safe{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.status-notice-warning{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error)}.student-performance-card{padding:26px 28px}.chart-canvas-wrap{position:relative;width:100%;margin-top:10px}.performance-svg{width:100%;height:auto;overflow:visible}.chart-point-tooltip{position:absolute;transform:translate(-50%,-100%);background:#0c0e26f2;border:1px solid var(--accent-primary);box-shadow:0 4px 14px #00000080;padding:6px 10px;border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:10;animation:tooltipFade .2s ease}.tooltip-sem{font-size:.6875rem;color:var(--text-muted)}.tooltip-val{font-size:.8125rem;font-weight:700;color:var(--text-primary)}.recent-assignments-card{padding:26px 28px}.assignments-list-container{display:flex;flex-direction:column;gap:12px;margin-top:12px}.assignment-item-row{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.assignment-item-row:hover{background:var(--bg-hover);border-color:var(--border-medium);transform:translate(2px)}.assignment-item-icon{width:38px;height:38px;border-radius:var(--radius-md);background:#6366f11a;border:1px solid rgba(99,102,241,.2);display:flex;align-items:center;justify-content:center;color:var(--accent-blue);font-size:1rem;flex-shrink:0}.assignment-item-details{flex:1;min-width:0}.assignment-top-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.assignment-subject-tag{font-size:.6875rem;font-weight:700;color:var(--accent-blue);text-transform:uppercase;letter-spacing:.04em}.priority-tag{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:600}.priority-high{color:var(--color-error)}.priority-high i{font-size:5px}.priority-medium{color:var(--color-warning)}.priority-medium i{font-size:5px}.priority-low{color:var(--color-success)}.priority-low i{font-size:5px}.assignment-item-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignment-due-date{font-size:.75rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}.assignment-item-status{display:flex;align-items:center;gap:10px;flex-shrink:0}.btn-submit-micro{padding:6px 12px;font-size:.75rem;border-radius:var(--radius-sm)}.upcoming-exams-card{padding:26px 28px}.exams-list-container{display:flex;flex-direction:column;gap:12px;margin-top:12px}.exam-item-row{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.exam-item-row:hover{background:var(--bg-hover);border-color:var(--border-medium)}.exam-calendar-badge{width:44px;height:48px;border-radius:var(--radius-md);background:#f43f5e1a;border:1px solid rgba(244,63,94,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.exam-cal-month{font-size:.625rem;font-weight:700;text-transform:uppercase;color:var(--color-error)}.exam-cal-day{font-size:1.125rem;font-weight:800;color:var(--text-primary);line-height:1}.exam-item-info{flex:1;min-width:0}.exam-item-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.exam-item-meta{display:flex;align-items:center;gap:12px;font-size:.75rem;color:var(--text-muted)}.exam-time-tag,.exam-room-tag{display:inline-flex;align-items:center;gap:4px}.exam-item-countdown{flex-shrink:0}.quick-actions-panel{padding:24px 28px}.quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick-action-tile{padding:16px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all var(--transition-normal)}.quick-action-tile:hover{background:var(--bg-hover);border-color:var(--border-medium);transform:translateY(-2px)}.action-tile-icon{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.1rem;border:1px solid transparent}.action-tile-label{font-size:.8125rem;font-weight:600;color:#e2e8f0;text-align:center}.upcoming-events-card,.fee-summary-card,.library-summary-card,.placement-summary-card,.notifications-preview-card,.campus-announcements-card,.ai-assistant-preview-card{padding:22px 24px}.events-timeline-list{display:flex;flex-direction:column;gap:14px;margin-top:12px;position:relative}.timeline-event-item{display:flex;gap:12px;position:relative}.timeline-indicator{display:flex;flex-direction:column;align-items:center;padding-top:4px}.timeline-bullet{width:8px;height:8px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 6px var(--accent-primary)}.timeline-connector{width:2px;flex:1;background:var(--bg-hover);margin-top:4px}.timeline-content{flex:1;padding-bottom:8px}.timeline-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.event-category-pill{font-size:.6875rem}.event-date-text{font-size:.75rem;font-weight:600;color:var(--text-muted)}.event-title-text{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.3}.event-time-text{font-size:.6875rem;color:var(--text-dim);display:inline-flex;align-items:center;gap:4px;margin-top:2px}.fee-amounts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.fee-item{padding:10px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column}.fee-label{font-size:.6875rem;color:var(--text-muted)}.fee-val{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.pending-val{color:var(--color-error)}.paid-val{color:var(--color-success)}.fee-progress-wrapper{margin-bottom:16px}.fee-progress-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);margin-bottom:6px}.fee-progress-track{width:100%;height:8px;background:var(--bg-hover);border-radius:var(--radius-full);overflow:hidden}.fee-progress-bar{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width 1s ease}.btn-card-bottom{width:100%;font-size:.8125rem;padding:10px 14px}.library-quick-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.lib-chip{padding:8px 6px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center}.lib-chip-num{font-size:1.125rem;font-weight:800;color:var(--text-primary)}.lib-chip-label{font-size:.625rem;color:var(--text-muted)}.lib-chip-warning .lib-chip-num{color:var(--color-warning)}.recent-book-banner{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#38bdf80d;border:1px solid rgba(56,189,248,.15);border-radius:var(--radius-md);margin-bottom:14px}.book-icon-wrap{width:32px;height:32px;border-radius:var(--radius-sm);background:#38bdf826;color:var(--accent-blue);display:flex;align-items:center;justify-content:center;font-size:.875rem;flex-shrink:0}.book-banner-info{display:flex;flex-direction:column;overflow:hidden}.book-banner-title{font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-banner-due{font-size:.6875rem;color:var(--text-muted)}.placement-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.placement-metric-item{padding:8px 6px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center}.placement-metric-val{font-size:1.125rem;font-weight:800;color:var(--text-primary)}.placement-metric-label{font-size:.625rem;color:var(--text-muted)}.featured-drive-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#6366f10f;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-md);margin-bottom:14px}.drive-logo-chip{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0}.drive-info{display:flex;flex-direction:column}.drive-role{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.drive-meta{font-size:.6875rem;color:var(--text-muted)}.notifs-preview-list{display:flex;flex-direction:column;gap:10px;margin:12px 0 14px}.notif-item-card{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.notif-item-card:hover{background:var(--bg-hover)}.notif-item-card.notif-unread{border-color:#6366f14d;background:#6366f10a}.notif-avatar-icon{width:30px;height:30px;border-radius:50%;background:#6366f126;color:var(--accent-blue);display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0}.notif-content-col{flex:1;min-width:0}.notif-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.notif-item-title{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.notif-time-text{font-size:.6875rem;color:var(--text-dim)}.notif-desc-text{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.notif-toggle-read{color:var(--accent-blue);font-size:.8125rem;padding:2px 4px}.announcements-list-wrapper{display:flex;flex-direction:column;gap:12px;margin:12px 0}.announcement-card-item{padding:12px 14px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.announcement-meta-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.announcement-timestamp{font-size:.6875rem;color:var(--text-dim)}.announcement-headline{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.announcement-body-text{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.ai-assistant-preview-card{background:radial-gradient(circle at 90% 10%,rgba(139,92,246,.18) 0%,transparent 60%),var(--bg-secondary);border:1px solid rgba(139,92,246,.25);position:relative;overflow:hidden}.ai-card-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.ai-badge-icon{width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,#8b5cf6,#3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;box-shadow:0 4px 14px #8b5cf659;flex-shrink:0}.ai-description-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.5;margin-bottom:14px}.ai-prompts-stack{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.ai-prompts-label{font-size:.6875rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.ai-prompt-chip{padding:8px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;align-items:center;gap:8px;font-size:.775rem;color:var(--text-primary);text-align:left;cursor:pointer;transition:all var(--transition-fast)}.ai-prompt-chip:hover{background:#8b5cf61f;border-color:#8b5cf64d;color:#fff}.prompt-arrow{margin-left:auto;font-size:.625rem;color:var(--accent-blue);opacity:0;transition:opacity var(--transition-fast)}.ai-prompt-chip:hover .prompt-arrow{opacity:1}.btn-ask-ai{width:100%;height:42px;font-size:.875rem}.student-dashboard-skeleton{display:flex;flex-direction:column;gap:24px}.skeleton-box{background:linear-gradient(90deg,#ffffff05 25%,#ffffff0f,#ffffff05 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite;border-radius:var(--radius-xl);border:1px solid var(--border-subtle)}.skeleton-banner{height:180px}.skeleton-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.skeleton-stat-card{height:130px}.skeleton-main-grid{display:grid;grid-template-columns:1.85fr 1fr;gap:24px}.skeleton-col-left,.skeleton-col-right{display:flex;flex-direction:column;gap:24px}.skeleton-gauge-card{height:260px}.skeleton-chart-card{height:320px}.skeleton-list-card{height:280px}.skeleton-events-card{height:320px}.skeleton-summary-card{height:220px}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulseDot{0%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.sidebar-footer{padding:16px 14px;border-top:1px solid var(--border-subtle)}.sidebar-logout-btn{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);color:var(--color-error);background:#f43f5e0f;border:1px solid rgba(244,63,94,.15);font-size:.875rem;font-weight:600;transition:all var(--transition-fast)}.sidebar-logout-btn:hover{background:var(--color-error);color:#fff}.sidebar.collapsed .sidebar-logout-btn{justify-content:center;padding:10px 0}@media(max-width:1280px){.student-dashboard-page{padding:20px 24px 40px}.student-stats-grid{grid-template-columns:repeat(2,1fr)}.student-dashboard-columns{grid-template-columns:1.5fr 1fr}}@media(max-width:1024px){.student-dashboard-columns{grid-template-columns:1fr}.welcome-title{font-size:1.75rem}.welcome-banner-visual{display:none}}@media(max-width:768px){.student-dashboard-page{padding:16px 16px 36px}.student-welcome-banner{padding:24px 20px}.welcome-title{font-size:1.5rem}.student-stats-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.attendance-gauge-section{flex-direction:column;align-items:center}.attendance-metric-breakdown{max-width:100%;width:100%;flex-direction:row}.skeleton-stats-grid,.skeleton-main-grid{grid-template-columns:1fr}}@media(max-width:480px){.assignment-item-row,.exam-item-row{flex-direction:column;align-items:flex-start;gap:10px}.assignment-item-status,.exam-item-countdown{width:100%;justify-content:space-between}.attendance-metric-breakdown{flex-direction:column}.fee-amounts-grid,.library-quick-chips,.placement-metrics-grid{grid-template-columns:repeat(2,1fr)}}.academic-module-page{padding:24px 32px 48px;max-width:1440px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:24px}.module-header-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.module-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--text-muted);margin-bottom:6px}.crumb-sep{color:var(--text-dim)}.crumb-current{color:var(--accent-blue);font-weight:600}.module-title{font-size:1.85rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2;margin-bottom:6px}.module-subtitle{font-size:.9375rem;color:var(--text-secondary);max-width:720px;line-height:1.5}.meta-badge-box{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:10px 16px;display:flex;flex-direction:column}.meta-badge-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.meta-badge-val{font-size:.875rem;font-weight:700;color:var(--text-primary)}.academic-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.academic-stat-card{padding:18px 20px;display:flex;align-items:center;gap:16px}.stat-card-icon-wrap{width:46px;height:46px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.stat-card-data{display:flex;flex-direction:column;overflow:hidden}.stat-card-data .stat-num{font-size:1.45rem;font-weight:800;color:var(--text-primary);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card-data .stat-label{font-size:.75rem;color:var(--text-muted);font-weight:500;margin-top:2px}.academic-filters-card{padding:18px 22px;display:flex;flex-direction:column;gap:16px}.search-filter-input-wrap{position:relative;width:100%}.search-filter-input{padding-left:42px;padding-right:36px}.search-filter-input-wrap .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.9375rem;pointer-events:none}.clear-search-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.filters-row-wrap{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.filter-select-item{display:flex;flex-direction:column;gap:6px;flex:1;min-width:160px}.filter-select-item label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.btn-clear-filters{height:40px;padding:0 16px;font-size:.8125rem;display:inline-flex;align-items:center;gap:8px}.live-class-alert-card{padding:22px 28px;background:radial-gradient(circle at 10% 20%,rgba(99,102,241,.2) 0%,transparent 60%),radial-gradient(circle at 90% 80%,rgba(244,63,94,.15) 0%,transparent 50%),var(--bg-secondary);border:1px solid rgba(99,102,241,.3);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.live-pulse-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;background:#f43f5e26;border:1px solid rgba(244,63,94,.3);border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;color:#fb7185;margin-bottom:8px}.pulse-circle{width:6px;height:6px;border-radius:50%;background:var(--color-error);box-shadow:0 0 8px var(--color-error);animation:pulseDot 1.5s infinite}.live-class-name{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.live-class-code{color:var(--accent-blue);font-size:1.05rem}.live-class-meta-row{display:flex;align-items:center;gap:16px;font-size:.8125rem;color:var(--text-secondary);flex-wrap:wrap}.live-class-meta-row i{color:var(--accent-blue)}.time-remaining-bubble{padding:12px 20px;background:#0c0e26cc;border:1px solid var(--border-medium);border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.time-rem-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase}.time-rem-val{font-size:1.25rem;font-weight:800;color:var(--accent-blue)}.timetable-controls-card{padding:16px 20px;display:flex;flex-direction:column;gap:14px}.controls-top-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}.week-nav-group{display:flex;align-items:center;gap:10px}.current-week-label{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.view-mode-toggle{display:inline-flex;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:3px}.toggle-btn{padding:6px 14px;border-radius:var(--radius-sm);background:none;border:none;color:var(--text-muted);font-size:.8125rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all var(--transition-fast)}.toggle-btn.active{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-sm)}.filters-grid-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border-subtle);padding-top:12px}.filter-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px}.filter-field label{font-size:.6875rem;color:var(--text-muted);font-weight:600;text-transform:uppercase}.day-tabs-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.day-tab-pill{flex:1;min-width:130px;padding:12px 14px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;transition:all var(--transition-fast);text-align:left}.day-tab-pill:hover{border-color:var(--border-medium);background:var(--bg-hover)}.day-tab-pill.active{background:#6366f11f;border-color:var(--accent-primary);box-shadow:0 0 16px #6366f126}.day-name{font-size:.875rem;font-weight:700;color:var(--text-primary)}.day-slot-count{font-size:.6875rem;color:var(--text-muted);margin-top:2px}.today-badge{font-size:.5625rem;font-weight:800;padding:2px 6px;background:var(--color-success);color:#fff;border-radius:4px;margin-top:6px;letter-spacing:.04em}.timetable-grid-card{padding:0;overflow:hidden}.timetable-grid-wrapper{overflow-x:auto;width:100%}.timetable-table{width:100%;border-collapse:collapse;text-align:left;min-width:900px}.timetable-table th{padding:14px 16px;background:var(--bg-hover);border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);font-size:.8125rem;font-weight:700;color:var(--text-primary)}.th-today{background:#6366f114!important}.th-today-pill{font-size:.625rem;padding:2px 6px;background:var(--color-success);color:#fff;border-radius:4px;margin-left:6px}.td-timeslot{padding:16px 14px;border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);width:120px;background:var(--bg-hover)}.slot-time-badge{display:flex;align-items:center;gap:6px;font-size:.775rem;font-weight:600;color:var(--text-muted)}.td-class-empty{padding:12px;border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);text-align:center;color:var(--text-dim)}.td-class-filled{padding:10px;border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);vertical-align:top}.class-period-card{padding:12px 14px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:6px;transition:all var(--transition-fast)}.class-period-card:hover{background:var(--bg-hover);border-color:var(--border-medium);transform:translateY(-2px)}.td-live-class .class-period-card{background:#6366f11f;border-color:var(--accent-primary);box-shadow:0 0 16px #6366f133}.period-live-indicator{display:inline-flex;align-items:center;gap:4px;font-size:.625rem;font-weight:800;color:var(--color-error)}.period-subject{font-size:.875rem;font-weight:700;color:var(--text-primary);line-height:1.2}.period-meta{display:flex;flex-direction:column;gap:2px;font-size:.6875rem;color:var(--text-muted)}.period-meta i{color:var(--accent-blue)}.period-footer{margin-top:4px}.period-duration{font-size:.625rem;color:var(--text-dim);background:var(--bg-hover);padding:2px 6px;border-radius:4px}.daily-cards-stack{display:flex;flex-direction:column;gap:12px}.daily-view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.daily-day-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.daily-count-badge{font-size:.8125rem;color:var(--text-muted)}.daily-period-card{padding:16px 20px;display:flex;align-items:center;gap:24px}.period-time-col{display:flex;flex-direction:column;min-width:90px}.period-number-badge{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;font-weight:600}.period-start-time{font-size:1.05rem;font-weight:800;color:var(--text-primary)}.period-duration-tag{font-size:.6875rem;color:var(--accent-blue)}.period-detail-col{flex:1}.period-title-bar{display:flex;align-items:center;gap:10px;margin-bottom:6px}.daily-subject-name{font-size:1rem;font-weight:700;color:var(--text-primary)}.daily-meta-chips{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.assignments-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}.assignment-card-item{padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.assignment-card-top{display:flex;justify-content:space-between;align-items:center}.course-priority-wrap{display:flex;align-items:center;gap:8px}.course-code-tag{font-size:.6875rem;font-weight:700;color:var(--accent-blue);background:#38bdf81a;border:1px solid rgba(56,189,248,.2);padding:4px 8px;border-radius:var(--radius-sm);text-transform:uppercase}.priority-pill{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:600}.assignment-card-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1.3}.assignment-card-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.assignment-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.meta-cell{display:flex;flex-direction:column}.meta-cell-label{font-size:.6875rem;color:var(--text-muted)}.meta-cell-val{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.due-deadline-val{color:var(--color-warning)!important}.submitted-file-strip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-sm);font-size:.775rem;color:#34d399}.assignment-card-actions{display:flex;gap:10px}.btn-action-half{flex:1;padding:10px 0;font-size:.8125rem}.assignment-details-dialog{display:flex;flex-direction:column;gap:20px}.details-header-meta{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-subtle);padding-bottom:14px}.details-title{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin-top:4px}.details-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.info-box{padding:10px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column}.info-label{font-size:.6875rem;color:var(--text-muted)}.info-val{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.details-section h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:6px}.details-section p{font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.submitted-box{padding:12px;background:#10b9810f;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-md)}.submitted-file-badge{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:6px}.student-comment-note{font-size:.8125rem;color:var(--text-secondary)}.modal-dialog-footer{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border-subtle);padding-top:16px;margin-top:10px}.assignment-submit-form{display:flex;flex-direction:column;gap:18px}.submit-form-header{display:flex;justify-content:space-between;align-items:center}.file-dropzone-wrap{position:relative}.file-hidden-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-dropzone-label{border:2px dashed rgba(99,102,241,.4);border-radius:var(--radius-xl);padding:32px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#6366f108;cursor:pointer;transition:all var(--transition-fast)}.file-dropzone-label:hover{background:#6366f114;border-color:var(--accent-primary)}.dropzone-icon{width:54px;height:54px;border-radius:50%;background:#6366f126;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--accent-blue);margin-bottom:12px}.dropzone-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);display:block}.dropzone-formats{font-size:.75rem;color:var(--text-muted);margin-top:4px}.file-selected-info{display:flex;flex-direction:column;align-items:center}.file-selected-name{font-size:1rem;font-weight:700;color:var(--color-success)}.file-selected-size{font-size:.75rem;color:var(--text-muted);margin-top:2px}.upload-progress-box{display:flex;flex-direction:column;gap:6px}.progress-text-row{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.progress-track{height:6px;background:var(--bg-hover);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width .2s ease}.form-field-wrap{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.exam-countdown-hero-banner{padding:28px 32px;background:radial-gradient(circle at 90% 15%,rgba(99,102,241,.14) 0%,transparent 60%),radial-gradient(circle at 10% 85%,rgba(244,63,94,.1) 0%,transparent 50%),var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;box-shadow:0 4px 20px -2px #0000000f;position:relative;overflow:hidden}.countdown-hero-left{flex:1;min-width:280px}.countdown-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;background:#f43f5e1f;border:1px solid rgba(244,63,94,.28);border-radius:var(--radius-full);font-size:.7rem;font-weight:700;color:#f43f5e;letter-spacing:.04em;margin-bottom:10px}[data-theme=dark] .countdown-badge{color:#fb7185;background:#f43f5e2e;border-color:#f43f5e59}.countdown-exam-title{font-size:1.65rem;font-weight:800;color:var(--text-primary);margin-bottom:12px;line-height:1.25}.exam-code-tag{color:var(--accent-primary);font-weight:700;font-size:1.35rem}.countdown-exam-meta{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--text-secondary);flex-wrap:wrap}.countdown-exam-meta .meta-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;font-weight:500;color:var(--text-secondary)}.countdown-exam-meta .meta-pill i{color:var(--accent-blue);font-size:.85rem}.countdown-exam-meta .desk-pill{background:#6366f11a;border-color:#6366f140;color:var(--accent-primary);font-weight:700}.countdown-exam-meta .desk-pill i{color:var(--accent-primary)}.countdown-hero-right{display:flex;align-items:center}.pro-timer-widget{background:linear-gradient(145deg,#0f172a,#090d16);border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 36px -4px #0006,0 0 0 1px #6366f133,inset 0 1px #ffffff1f;border-radius:16px;padding:16px 20px;display:flex;flex-direction:column;gap:12px;min-width:320px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:relative;overflow:hidden}.pro-timer-widget:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,#38bdf8 30%,#818cf8 70%,transparent 100%)}.pro-timer-header{display:flex;align-items:center;gap:8px;padding-bottom:2px}.pro-timer-pulse-indicator{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981;animation:proTimerLiveDot 1.8s ease-in-out infinite}@keyframes proTimerLiveDot{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 6px #10b981}50%{transform:scale(1.35);opacity:.6;box-shadow:0 0 14px #10b981}}.pro-timer-title{color:#94a3b8;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pro-timer-badge{margin-left:auto;font-size:.625rem;font-weight:700;padding:2px 7px;border-radius:999px;background:#38bdf824;color:#38bdf8;border:1px solid rgba(56,189,248,.3);letter-spacing:.06em}.pro-timer-digits-container{display:flex;align-items:center;justify-content:center;gap:8px}.pro-timer-unit-card{display:flex;flex-direction:column;align-items:center;gap:6px}.pro-timer-card-inner{position:relative;background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.12);border-radius:10px;min-width:52px;height:52px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000059,inset 0 1px #ffffff26;overflow:hidden}.pro-timer-card-divider{position:absolute;top:50%;left:0;right:0;height:1px;background:#00000080;border-bottom:1px solid rgba(255,255,255,.06);pointer-events:none}.pro-timer-number{font-family:JetBrains Mono,Roboto Mono,SF Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:800;line-height:1;color:#fff;text-shadow:0 0 12px rgba(255,255,255,.3);z-index:1}.pro-timer-accent-number{color:#38bdf8;text-shadow:0 0 14px rgba(56,189,248,.6)}.pro-timer-label{font-size:.625rem;font-weight:700;color:#94a3b8;letter-spacing:.08em;text-align:center}.pro-timer-separator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin-bottom:18px;padding:0 1px}.pro-timer-dot{width:4px;height:4px;border-radius:50%;background:#38bdf8;box-shadow:0 0 6px #38bdf8cc;animation:proTimerColonBlink 1s ease-in-out infinite alternate}.pro-timer-dot:nth-child(2){animation-delay:.2s}@keyframes proTimerColonBlink{0%{opacity:.35;transform:scale(.85)}to{opacity:1;transform:scale(1.15);box-shadow:0 0 8px #38bdf8}}.digital-countdown-grid{display:flex;align-items:center;gap:8px;padding:16px 22px;background:linear-gradient(145deg,#0f172a,#090d16);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #0000004d}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:46px}.unit-number{font-family:JetBrains Mono,Roboto Mono,SF Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:800;color:#fff;line-height:1;text-shadow:0 0 10px rgba(255,255,255,.25)}.unit-label{font-size:.625rem;font-weight:700;color:#94a3b8;letter-spacing:.06em;margin-top:4px}.unit-colon{font-size:1.5rem;font-weight:800;color:#38bdf8;margin-bottom:12px;animation:proTimerColonBlink 1s ease-in-out infinite alternate}.exam-section-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border-subtle);padding-bottom:2px;overflow-x:auto}.section-tab-btn{padding:10px 18px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.875rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap;border-radius:8px 8px 0 0}.section-tab-btn i{font-size:14px;color:#94a3b8;transition:color .2s ease}.section-tab-btn:hover:not(.active){color:var(--accent-primary, #6c4bff);background:#6c4bff0d}.section-tab-btn:hover:not(.active) i{color:var(--accent-primary, #6c4bff)}.section-tab-btn.active{color:var(--accent-primary, #6c4bff)!important;border-bottom-color:var(--accent-primary, #6c4bff)!important;font-weight:700;background:#6c4bff14}.section-tab-btn.active i{color:var(--accent-primary, #6c4bff)!important}.exam-schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}.exam-schedule-card{padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.exam-schedule-top{display:flex;gap:16px}.exam-calendar-box{width:52px;height:56px;border-radius:var(--radius-lg);background:#f43f5e1f;border:1px solid rgba(244,63,94,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.cal-box-month{font-size:.625rem;font-weight:700;color:#fb7185;text-transform:uppercase}.cal-box-day{font-size:1.25rem;font-weight:800;color:var(--text-primary);line-height:1}.cal-box-weekday{font-size:.5625rem;color:var(--text-muted)}.exam-schedule-details{flex:1}.exam-code-type-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.exam-code-badge{font-size:.6875rem;font-weight:700;color:var(--accent-blue);background:#38bdf81a;border:1px solid rgba(56,189,248,.2);padding:2px 6px;border-radius:4px}.exam-subject-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.exam-time-location{display:flex;flex-direction:column;gap:2px;font-size:.75rem;color:var(--text-secondary)}.exam-time-location i{color:var(--accent-blue)}.desk-highlight{color:#38bdf8;font-weight:600}.exam-syllabus-snippet{padding:10px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.75rem}.syllabus-label{font-weight:700;color:var(--text-muted);display:block;margin-bottom:2px}.syllabus-text{color:var(--text-secondary);line-height:1.4}.hall-ticket-document{background:#fff;color:#0f172a;padding:32px;border-radius:var(--radius-lg)}.ticket-header{text-align:center;border-bottom:2px solid #0f172a;padding-bottom:16px;margin-bottom:20px}.ticket-branding h2{font-size:1.25rem;font-weight:800;letter-spacing:-.01em;color:#0f172a}.ticket-branding p{font-size:.75rem;color:#475569}.ticket-sem-title{display:inline-block;margin-top:8px;font-size:.8125rem;font-weight:700;color:#1e3a8a;background:#dbeafe;padding:4px 12px;border-radius:4px}.ticket-student-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;border:1px solid #cbd5e1;padding:12px 16px;margin-bottom:20px;font-size:.8125rem}.t-label{font-weight:600;color:#64748b;margin-right:6px}.t-val{font-weight:700;color:#0f172a}.ticket-table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:.8125rem}.ticket-table th,.ticket-table td{border:1px solid #94a3b8;padding:8px 10px;text-align:left}.ticket-table th{background:#f1f5f9;font-weight:700;color:#1e293b}.sig-cell{width:100px}.ticket-footer-signatures{display:flex;justify-content:space-between;margin-top:36px;padding:0 24px}.sig-block{text-align:center;font-size:.75rem;font-weight:600;color:#475569}.sig-line{width:140px;border-bottom:1px solid #64748b;margin-bottom:6px}.academic-chart-card{padding:24px}.semester-tabs-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.semester-tab-pill{flex:1;min-width:110px;padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all var(--transition-fast)}.semester-tab-pill.active{background:#6366f126;border-color:var(--accent-primary)}.sem-pill-title{font-size:.8125rem;font-weight:700;color:var(--text-primary)}.sem-pill-gpa{font-size:.6875rem;color:var(--accent-blue)}.results-table-card{padding:24px}.results-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.semester-score-tag{display:flex;flex-direction:column;align-items:flex-end}.sem-score-lbl{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase}.sem-score-val{font-size:1.45rem;font-weight:800;color:var(--accent-blue)}.course-code-cell{font-size:.75rem;font-weight:700;color:var(--accent-blue)}.status-pass{color:var(--color-success);font-size:.8125rem;font-weight:600}.transcript-document{background:#fff;color:#0f172a;padding:32px;border-radius:var(--radius-lg)}.transcript-header{text-align:center;border-bottom:2px solid #0f172a;padding-bottom:16px;margin-bottom:20px}.transcript-header h2{font-size:1.25rem;font-weight:800;color:#0f172a}.transcript-header p{font-size:.75rem;color:#475569}.transcript-doc-title{display:inline-block;margin-top:6px;font-size:.8125rem;font-weight:700;color:#1e3a8a;background:#dbeafe;padding:4px 12px;border-radius:4px}.transcript-bio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;border:1px solid #cbd5e1;padding:12px 16px;margin-bottom:20px;font-size:.8125rem}.t-bio-lbl{font-weight:600;color:#64748b;margin-right:6px}.t-bio-val{font-weight:700;color:#0f172a}.transcript-summary-table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:.8125rem}.transcript-summary-table th,.transcript-summary-table td{border:1px solid #94a3b8;padding:8px 10px;text-align:left}.transcript-summary-table th{background:#f1f5f9;font-weight:700;color:#1e293b}.transcript-signatures{display:flex;justify-content:space-between;margin-top:36px;padding:0 24px}.t-sig-block{text-align:center;font-size:.75rem;font-weight:600;color:#475569}.t-sig-line{width:140px;border-bottom:1px solid #64748b;margin-bottom:6px}.materials-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.material-card-item{padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.material-card-top{display:flex;justify-content:space-between;align-items:center}.material-format-icon{width:40px;height:40px;border-radius:var(--radius-md);background:#6366f11f;color:var(--accent-blue);display:flex;align-items:center;justify-content:center;font-size:1.15rem}.material-card-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);line-height:1.3}.material-card-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.material-meta-row{display:flex;align-items:center;gap:12px;font-size:.6875rem;color:var(--text-muted);flex-wrap:wrap}.material-card-actions{display:flex;gap:10px}.material-card-actions button{flex:1}.videos-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.video-card-item{padding:0;overflow:hidden;display:flex;flex-direction:column}.video-thumbnail-box{height:160px;background:linear-gradient(135deg,#1e1b4b,#0f172a);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.play-button-overlay{width:48px;height:48px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem;box-shadow:0 0 20px #6366f180;transition:transform var(--transition-fast)}.video-thumbnail-box:hover .play-button-overlay{transform:scale(1.1)}.video-duration-chip{position:absolute;bottom:10px;right:10px;padding:2px 6px;background:#000000b3;color:#fff;border-radius:4px;font-size:.6875rem;font-weight:600}.video-card-body{padding:20px;display:flex;flex-direction:column;gap:8px}.video-card-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.video-meta-row{display:flex;align-items:center;gap:12px;font-size:.75rem;color:var(--text-muted)}.btn-watch-video{width:100%;margin-top:8px}.quizzes-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.quiz-card-item{padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.quiz-card-header{display:flex;justify-content:space-between;align-items:center}.quiz-card-title{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.quiz-card-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.quiz-meta-row{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.syllabus-stack{display:flex;flex-direction:column;gap:16px}.syllabus-course-card{padding:24px}.syllabus-course-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.syllabus-course-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:4px 0 2px}.syllabus-faculty-text{font-size:.75rem;color:var(--text-muted)}.course-progress-pill{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.progress-pct{font-size:.75rem;font-weight:600;color:var(--accent-blue)}.mini-progress-bar{width:120px;height:6px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.mini-fill{height:100%;background:var(--gradient-primary)}.syllabus-modules-list{display:flex;flex-direction:column;gap:8px}.syllabus-unit-row{padding:12px 14px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;align-items:center;gap:14px}.unit-number-tag{font-size:.6875rem;font-weight:700;color:var(--accent-blue);background:#6366f11a;padding:4px 8px;border-radius:4px}.unit-info{flex:1}.unit-info h4{font-size:.875rem;font-weight:600;color:var(--text-primary)}.unit-info p{font-size:.75rem;color:var(--text-secondary)}.document-reader-dialog{display:flex;flex-direction:column;gap:16px}.reader-meta-bar{display:flex;justify-content:space-between;align-items:center}.reader-faculty-author{display:block;font-size:.75rem;color:var(--text-muted);margin-top:2px}.document-preview-canvas{background:#1e293b;border:1px solid var(--border-medium);border-radius:var(--radius-lg);padding:24px;max-height:480px;overflow-y:auto}.doc-page-sheet{background:#fff;color:#0f172a;padding:32px 36px;border-radius:var(--radius-md);box-shadow:0 4px 20px #0003}.doc-header{border-bottom:2px solid #e2e8f0;padding-bottom:12px;margin-bottom:16px}.doc-header h3{font-size:1.25rem;font-weight:800;color:#0f172a}.doc-header p{font-size:.75rem;color:#64748b}.doc-body-content h4{font-size:.9375rem;font-weight:700;color:#1e293b;margin:16px 0 6px}.doc-body-content p,.doc-body-content li{font-size:.8125rem;color:#334155;line-height:1.6}.doc-code-block{background:#0f172a;color:#38bdf8;padding:12px 16px;border-radius:6px;font-size:.75rem;margin-top:8px;overflow-x:auto}.video-player-dialog{display:flex;flex-direction:column;gap:16px}.video-player-screen{height:320px;background:#000;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.player-placeholder-graphic{display:flex;flex-direction:column;align-items:center;gap:12px;color:#94a3b8;font-size:.875rem}.main-play-icon{font-size:3rem;color:var(--accent-blue)}.video-dialog-info{display:flex;flex-direction:column;gap:4px}.video-dialog-title{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.video-dialog-faculty{font-size:.8125rem;color:var(--text-secondary)}.quiz-session-dialog{display:flex;flex-direction:column;gap:20px}.quiz-session-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle);padding-bottom:12px}.q-progress-text{font-size:.8125rem;font-weight:700;color:var(--text-primary)}.quiz-timer-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#f43f5e26;border:1px solid rgba(244,63,94,.3);border-radius:var(--radius-full);font-size:.8125rem;font-weight:700;color:#fb7185}.quiz-question-box{display:flex;flex-direction:column;gap:14px}.q-prompt{font-size:1.05rem;font-weight:700;color:var(--text-primary);line-height:1.4}.q-options-stack{display:flex;flex-direction:column;gap:8px}.q-option-btn{padding:12px 16px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.q-option-btn:hover{background:var(--bg-hover);border-color:var(--border-medium)}.q-option-btn.selected{background:#6366f126;border-color:var(--accent-primary)}.opt-letter{width:24px;height:24px;border-radius:50%;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--accent-blue)}.q-option-btn.selected .opt-letter{background:var(--accent-primary);color:#fff}.opt-text{font-size:.875rem;color:#e2e8f0}.quiz-result-view{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 0}.quiz-score-badge{display:flex;flex-direction:column;align-items:center;gap:8px}.score-icon{font-size:3rem;color:var(--color-success)}.score-big{font-size:2.5rem;font-weight:800;color:var(--text-primary)}.score-pct{font-size:.9375rem;color:var(--accent-blue);font-weight:600}.module-footer-bridge{padding:24px 30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;background:var(--bg-secondary)}.bridge-text h4{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:2px}.bridge-text p{font-size:.8125rem;color:var(--text-secondary)}.bridge-actions{display:flex;gap:10px}@media print{body *{visibility:hidden}.hall-ticket-document,.hall-ticket-document *,.transcript-document,.transcript-document *,.fee-receipt-document,.fee-receipt-document *,.bus-pass-document,.bus-pass-document *{visibility:visible}.hall-ticket-document,.transcript-document,.fee-receipt-document,.bus-pass-document{position:absolute;left:0;top:0;width:100%}.no-print{display:none!important}}.library-books-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}.library-book-card{padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.book-card-top{display:flex;gap:18px}.book-cover-mock{width:76px;height:105px;border-radius:var(--radius-md);background:linear-gradient(135deg,#1e1b4b,#312e81);border:1px solid rgba(99,102,241,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;flex-shrink:0;box-shadow:0 4px 12px #0000004d}.book-cover-icon{font-size:1.75rem;color:var(--accent-blue);margin-bottom:4px}.shelf-badge{position:absolute;bottom:6px;font-size:.5625rem;font-weight:700;color:#fff;background:#0009;padding:2px 6px;border-radius:4px}.book-info-col{flex:1;display:flex;flex-direction:column;gap:4px}.book-category-row{display:flex;align-items:center;gap:8px}.book-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1.3}.book-author{font-size:.8125rem;color:var(--text-secondary)}.book-isbn{font-size:.6875rem;color:var(--text-muted)}.book-rating{display:flex;align-items:center;gap:6px;margin-top:4px}.book-rating .stars{color:#fbbf24;font-size:.75rem;letter-spacing:2px}.book-rating .rating-num{font-size:.75rem;font-weight:700;color:var(--text-primary)}.book-snippet-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.library-card-actions{display:flex;gap:10px}.my-library-card{padding:24px}.my-books-table-wrap{overflow-x:auto}.book-table-title-cell{display:flex;align-items:center;gap:10px}.book-table-title-cell i{color:var(--accent-blue)}.book-detail-dialog{display:flex;flex-direction:column;gap:18px}.book-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.borrow-request-dialog{display:flex;flex-direction:column;gap:18px}.borrow-prompt-box{padding:18px;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-lg);display:flex;align-items:center;gap:16px}.borrow-icon{font-size:2.25rem;color:var(--accent-blue)}.borrow-terms-box{padding:14px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.borrow-terms-box h4{font-size:.875rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.borrow-terms-box ul{padding-left:20px;font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.fee-progress-hero-card{padding:28px 36px;background:radial-gradient(circle at 10% 20%,rgba(99,102,241,.2) 0%,transparent 60%),radial-gradient(circle at 90% 80%,rgba(16,185,129,.15) 0%,transparent 50%),var(--bg-secondary);border:1px solid rgba(99,102,241,.3);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}.progress-headline{font-size:1.45rem;font-weight:800;color:var(--text-primary);margin-bottom:6px}.progress-subtext{font-size:.875rem;color:var(--text-secondary);margin-bottom:12px}.progress-summary-pills{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.summary-pill{padding:6px 14px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:700;display:inline-flex;align-items:center;gap:6px}.paid-pill{background:#10b9811f;color:#34d399;border:1px solid rgba(16,185,129,.3)}.pending-pill{background:#f43f5e1f;color:#fb7185;border:1px solid rgba(244,63,94,.3)}.fee-progress-right{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:180px}.fee-radial-wrap{display:flex;flex-direction:column;align-items:center}.fee-radial-percent{font-size:2.4rem;font-weight:900;color:#38bdf8;line-height:1}.fee-radial-label{font-size:.6875rem;font-weight:800;color:var(--text-muted);letter-spacing:.08em}.progress-bar-large-track{width:100%;height:8px;background:var(--bg-hover);border-radius:var(--radius-full);overflow:hidden}.progress-bar-large-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full)}.fee-table-card,.fee-history-card{padding:24px}.payment-method-chip{display:inline-flex;align-items:center;gap:6px;font-size:.775rem;color:var(--text-secondary)}.payment-method-chip i{color:var(--accent-blue)}.fee-pay-form{display:flex;flex-direction:column;gap:20px}.amount-input-box{position:relative;display:flex;align-items:center}.currency-prefix{position:absolute;left:16px;font-size:1.25rem;font-weight:800;color:var(--accent-blue)}.amount-val-input{padding-left:36px;font-size:1.25rem;font-weight:800}.amount-quick-chips{display:flex;gap:8px;margin-top:8px}.quick-chip-btn{padding:4px 10px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--accent-blue);font-size:.75rem;font-weight:600;cursor:pointer}.pay-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pay-method-card{padding:16px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:all var(--transition-fast)}.pay-method-card.selected{background:#6366f126;border-color:var(--accent-primary);box-shadow:0 0 16px #6366f133}.method-icon{font-size:1.5rem;color:var(--accent-blue);margin-bottom:8px}.method-name{font-size:.875rem;font-weight:700;color:var(--text-primary)}.method-sub{font-size:.6875rem;color:var(--text-muted);margin-top:2px}.fee-receipt-document{background:#fff;color:#0f172a;padding:32px;border-radius:var(--radius-lg)}.receipt-header{text-align:center;border-bottom:2px solid #0f172a;padding-bottom:16px;margin-bottom:20px}.receipt-header h2{font-size:1.25rem;font-weight:800;color:#0f172a}.receipt-header p{font-size:.75rem;color:#475569}.receipt-doc-tag{display:inline-block;margin-top:6px;font-size:.8125rem;font-weight:700;color:#1e3a8a;background:#dbeafe;padding:4px 12px;border-radius:4px}.receipt-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;border:1px solid #cbd5e1;padding:12px 16px;margin-bottom:20px;font-size:.8125rem}.r-lbl{font-weight:600;color:#64748b;margin-right:6px}.r-val{font-weight:700;color:#0f172a}.receipt-items-table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:.8125rem}.receipt-items-table th,.receipt-items-table td{border:1px solid #94a3b8;padding:8px 10px;text-align:left}.receipt-items-table th{background:#f1f5f9;font-weight:700;color:#1e293b}.receipt-footer-stamp{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:0 16px}.stamp-box{display:flex;align-items:center;gap:8px;color:#16a34a;font-weight:800;font-size:.75rem;border:2px solid #16a34a;padding:6px 12px;border-radius:6px}.hostel-overview-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.allocation-details-card,.warden-contacts-card{padding:24px}.allocation-fields-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}.alloc-field{display:flex;flex-direction:column}.alloc-lbl{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase}.alloc-val{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.contacts-list{display:flex;flex-direction:column;gap:14px;margin-top:14px}.contact-item{display:flex;align-items:center;gap:14px;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.contact-avatar{width:42px;height:42px;border-radius:50%;background:#6366f126;color:var(--accent-blue);display:flex;align-items:center;justify-content:center;font-size:1.15rem}.contact-info h4{font-size:.875rem;font-weight:700;color:var(--text-primary)}.contact-role{font-size:.6875rem;color:var(--text-muted);display:block}.contact-phone{font-size:.75rem;color:var(--accent-blue);font-weight:600}.hostel-requests-card,.mess-menu-card{padding:24px}.hostel-notices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.hostel-notice-card{padding:22px;display:flex;flex-direction:column;gap:10px}.notice-card-top{display:flex;justify-content:space-between;align-items:center}.notice-date{font-size:.75rem;color:var(--text-muted)}.notice-title{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.notice-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.hostel-request-form{display:flex;flex-direction:column;gap:16px}.priority-select-row{display:flex;gap:10px}.priority-chip-btn{flex:1;padding:10px 0;border-radius:var(--radius-md);background:var(--bg-hover);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.priority-chip-btn.selected{background:#6366f126;border-color:var(--accent-primary);color:#fff}.transport-route-layout{display:flex;flex-direction:column;gap:24px}.route-profile-card,.stop-timeline-card{padding:24px}.driver-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:14px}.driver-contact-item{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.driver-avatar{width:44px;height:44px;border-radius:50%;background:#38bdf826;color:var(--accent-blue);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.driver-info h4{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.driver-role{font-size:.75rem;color:var(--text-muted);display:block}.driver-phone{font-size:.8125rem;color:var(--accent-blue);font-weight:600}.stops-timeline-stack{display:flex;flex-direction:column;position:relative;margin-top:16px}.stop-timeline-node{display:flex;gap:20px;position:relative;padding-bottom:24px}.stop-timeline-node:before{content:"";position:absolute;left:17px;top:36px;bottom:0;width:2px;background:var(--border-subtle)}.stop-timeline-node:last-child:before{display:none}.node-marker{width:36px;height:36px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border-medium);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:800;color:#fff;z-index:1;flex-shrink:0}.node-boarding-point .node-marker{border-color:#38bdf8;background:#38bdf833;color:#38bdf8;box-shadow:0 0 12px #38bdf866}.node-destination .node-marker{border-color:var(--color-success);background:#10b98133;color:var(--color-success)}.node-content{flex:1;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 18px}.node-boarding-point .node-content{border-color:#38bdf84d;background:#38bdf80a}.node-title-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.stop-name{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.stop-times-row{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap}.time-chip{font-size:.775rem;color:var(--text-secondary)}.time-chip strong{color:var(--text-primary)}.all-routes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.route-card-item{padding:24px;display:flex;flex-direction:column;gap:14px}.route-card-header{display:flex;justify-content:space-between;align-items:flex-start}.route-name{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-top:4px}.route-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.75rem}.r-label{color:var(--text-muted);display:block}.r-val{font-weight:700;color:var(--text-primary)}.route-stops-list{font-size:.75rem}.stops-label{font-weight:700;color:var(--text-muted);display:block;margin-bottom:4px}.stops-text{color:var(--text-secondary);line-height:1.4}.bus-pass-document{background:#fff;color:#0f172a;padding:32px;border-radius:var(--radius-lg)}.bus-pass-header{text-align:center;border-bottom:2px solid #0f172a;padding-bottom:14px;margin-bottom:20px}.bus-pass-header h2{font-size:1.2rem;font-weight:800;color:#0f172a}.bus-pass-header p{font-size:.75rem;color:#475569}.pass-title-chip{display:inline-block;margin-top:6px;font-size:.75rem;font-weight:700;color:#1e3a8a;background:#dbeafe;padding:3px 10px;border-radius:4px}.pass-identity-grid{display:flex;gap:18px;border:1px solid #cbd5e1;padding:16px;margin-bottom:20px}.pass-photo-box{width:90px;height:110px;border:1px solid #94a3b8;background:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#64748b;font-size:.6875rem;font-weight:700}.pass-user-icon{font-size:2rem}.pass-details-box{flex:1;display:flex;flex-direction:column;gap:4px;font-size:.8125rem}.p-lbl{font-weight:600;color:#64748b;margin-right:6px}.p-val{font-weight:700;color:#0f172a}.pass-barcode-strip{text-align:center;padding-top:10px}.barcode-mock{font-family:monospace;font-size:1.25rem;letter-spacing:4px;color:#0f172a}.barcode-id{font-size:.6875rem;font-weight:700;color:#64748b}.notice-category-tabs-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.category-tab-pill{padding:8px 16px;border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:.8125rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:all var(--transition-fast)}.category-tab-pill.active{background:#6366f126;border-color:var(--accent-primary);color:#fff}.tab-count-tag{font-size:.6875rem;padding:1px 6px;background:var(--bg-hover);border-radius:var(--radius-full)}.notices-cards-stack{display:flex;flex-direction:column;gap:14px}.notice-list-card{padding:22px 26px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:all var(--transition-fast)}.notice-list-card:hover{transform:translateY(-2px);border-color:var(--border-medium)}.notice-unread{border-color:#6366f166;background:#6366f10a}.notice-card-header{display:flex;justify-content:space-between;align-items:center}.notice-meta-left{display:flex;align-items:center;gap:8px}.unread-dot-badge{font-size:.5625rem;font-weight:800;padding:2px 6px;background:var(--color-error);color:#fff;border-radius:4px}.notice-pub-date{font-size:.75rem;color:var(--text-muted)}.notice-card-heading{font-size:1.15rem;font-weight:700;color:var(--text-primary);line-height:1.3}.notice-card-snippet{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.notice-card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-subtle);padding-top:12px;margin-top:4px;font-size:.75rem}.notice-publisher{color:var(--text-muted)}.notice-publisher strong{color:var(--text-primary)}.notice-attachment-chip{color:var(--accent-blue)}.read-more-link{color:var(--accent-blue);font-weight:600;display:flex;align-items:center;gap:4px}.notice-dialog-content{display:flex;flex-direction:column;gap:16px}.notice-dialog-header{border-bottom:1px solid var(--border-subtle);padding-bottom:14px}.dialog-meta-row{display:flex;gap:8px;margin-bottom:6px}.dialog-notice-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.dialog-author-date{display:flex;gap:16px;font-size:.8125rem;color:var(--text-muted)}.notice-dialog-body p{font-size:.875rem;color:var(--text-secondary);line-height:1.7}.notice-dialog-attachment{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#6366f10f;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-md)}.attachment-file-box{display:flex;align-items:center;gap:10px}.attachment-file-box i{font-size:1.5rem;color:var(--accent-blue)}.att-name{font-size:.8125rem;font-weight:700;color:var(--text-primary);display:block}.att-size{font-size:.6875rem;color:var(--text-muted)}.notifications-inbox-stack{display:flex;flex-direction:column;gap:12px}.notif-inbox-card{padding:18px 22px;display:flex;align-items:flex-start;gap:18px;cursor:pointer;transition:all var(--transition-fast)}.notif-inbox-card:hover{transform:translateY(-2px);border-color:var(--border-medium)}.inbox-unread{border-color:#6366f166;background:#6366f10d}.notif-inbox-icon-box{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.notif-inbox-body{flex:1;display:flex;flex-direction:column;gap:6px}.notif-inbox-top-row{display:flex;justify-content:space-between;align-items:center}.notif-title-badge-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notif-inbox-title{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.notif-inbox-time{font-size:.6875rem;color:var(--text-muted)}.notif-inbox-msg{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.notif-inbox-actions-row{display:flex;align-items:center;gap:10px;margin-top:6px}.notif-action-btn{padding:6px 14px;font-size:.75rem;display:inline-flex;align-items:center;gap:6px}.notif-del-btn{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.career-hero-card{padding:36px 40px;background:radial-gradient(circle at 85% 30%,rgba(99,102,241,.25) 0%,transparent 60%),radial-gradient(circle at 15% 85%,rgba(168,85,247,.2) 0%,transparent 50%),var(--bg-secondary);border:1px solid rgba(99,102,241,.3);display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:24px;position:relative;overflow:hidden}.hero-content{flex:1;max-width:680px}.hero-title{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-bottom:8px;line-height:1.25}.hero-desc{font-size:.9375rem;color:var(--text-secondary);line-height:1.6;margin-bottom:20px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-badge-art{display:flex;align-items:center;justify-content:center}.hero-circle-stat{width:130px;height:130px;border-radius:50%;background:#6366f11f;border:2px solid rgba(99,102,241,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 30px #6366f140}.h-stat-num{font-size:1.35rem;font-weight:900;color:#38bdf8}.h-stat-label{font-size:.625rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.jobs-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:22px}.job-opportunity-card{padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:all var(--transition-fast)}.job-opportunity-card:hover{transform:translateY(-2px);border-color:#6366f166}.job-card-header{display:flex;align-items:flex-start;gap:14px;position:relative}.company-logo-badge{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,#312e81,#1e1b4b);border:1px solid rgba(99,102,241,.4);color:#818cf8;font-size:1.1rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.company-logo-badge.large{width:56px;height:56px;font-size:1.3rem}.job-header-info{flex:1}.job-company-name{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;display:block}.job-role-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);line-height:1.3;margin-top:2px}.btn-job-save{background:transparent;border:none;color:var(--text-muted);font-size:1.15rem;cursor:pointer;padding:4px;transition:color var(--transition-fast)}.btn-job-save:hover,.btn-job-save.saved{color:#c084fc}.job-tags-row{display:flex;gap:8px;flex-wrap:wrap}.job-tag-chip{font-size:.75rem;padding:4px 10px;border-radius:var(--radius-sm);background:var(--bg-hover);border:1px solid var(--border-subtle);color:var(--text-secondary);display:inline-flex;align-items:center;gap:5px}.job-tag-chip.package{background:#10b9811a;border-color:#10b9814d;color:#34d399;font-weight:700}.job-skills-chips{display:flex;gap:6px;flex-wrap:wrap}.skill-chip{font-size:.6875rem;font-weight:600;padding:3px 8px;border-radius:4px;background:#6366f11a;color:#a5b4fc;border:1px solid rgba(99,102,241,.2)}.job-short-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-eligibility-strip{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border-subtle);padding-top:12px}.elig-badge{font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;gap:5px}.elig-badge.eligible{color:#34d399}.elig-badge.not-eligible{color:#fbbf24}.deadline-alert{font-size:.75rem;color:var(--text-muted)}.job-card-actions{display:flex;gap:10px;margin-top:4px}.btn-applied{background:#10b9811f!important;color:#34d399!important;border-color:#10b9814d!important}.my-applications-card{padding:24px}.applications-table-wrap{overflow-x:auto}.resume-tag{font-size:.75rem;color:var(--accent-blue);display:inline-flex;align-items:center;gap:5px}.placement-drives-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px}.drive-card-item{padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.drive-card-top{display:flex;gap:14px}.drive-card-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-top:2px}.drive-company-name{font-size:.8125rem;color:var(--text-muted)}.drive-meta-box{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem}.d-meta-item{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.d-meta-item i{color:var(--accent-blue);width:14px}.drive-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.drive-card-actions{display:flex;gap:10px}.interviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:22px}.interview-schedule-card{padding:24px;display:flex;flex-direction:column;gap:14px}.interview-top-row{display:flex;justify-content:space-between;align-items:center}.interview-mode-pill{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:5px}.interview-mode-pill.online{background:#38bdf81f;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.interview-mode-pill.onsite{background:#a855f71f;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.interview-company-title{font-size:1.2rem;font-weight:800;color:var(--text-primary)}.interview-role{font-size:.875rem;color:var(--text-secondary);margin-top:-8px}.interview-timings-box{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.75rem}.time-col{display:flex;flex-direction:column}.t-lbl{color:var(--text-muted);font-size:.6875rem;text-transform:uppercase}.t-val{font-weight:700;color:var(--text-primary);margin-top:2px}.interview-instructions{font-size:.8125rem;color:var(--text-secondary);background:#6366f10f;border-left:3px solid var(--accent-primary);padding:10px 12px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;line-height:1.5}.interview-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-subtle);padding-top:12px;font-size:.75rem}.interviewer-tag{color:var(--text-muted)}.career-resources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.resource-item-card{padding:24px;display:flex;flex-direction:column;gap:10px}.res-icon-box{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.resource-item-card h3{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.resource-item-card p{font-size:.8125rem;color:var(--text-secondary);line-height:1.5;flex:1}.resource-tag{font-size:.75rem;color:var(--accent-blue);font-weight:600}.analytics-hero-card{padding:32px 36px;display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:center}.analytics-title{font-size:1.35rem;font-weight:800;color:var(--text-primary)}.analytics-sub{font-size:.875rem;color:var(--text-secondary);margin-bottom:20px}.funnel-progress-bars{display:flex;flex-direction:column;gap:14px}.funnel-bar-row{display:flex;flex-direction:column;gap:6px}.f-bar-lbl{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--text-secondary)}.f-bar-lbl strong{color:var(--text-primary)}.f-track{width:100%;height:8px;background:var(--bg-hover);border-radius:var(--radius-full);overflow:hidden}.f-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full)}.analytics-hero-right{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.rate-radial-gauge{display:flex;flex-direction:column;align-items:center;margin-bottom:12px}.rate-num{font-size:2.8rem;font-weight:900;color:#38bdf8;line-height:1}.rate-label{font-size:.6875rem;font-weight:800;color:var(--text-muted);letter-spacing:.08em;margin-top:4px}.rate-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.job-details-dialog-content{display:flex;flex-direction:column;gap:20px}.job-dialog-header-meta{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.job-dialog-title{font-size:1.35rem;font-weight:800;color:var(--text-primary)}.job-dialog-company-loc{font-size:.875rem;color:var(--text-secondary);margin-top:4px}.package-highlight{color:#34d399;font-weight:800}.eligibility-result-box{padding:18px 22px;border-radius:var(--radius-lg)}.eligibility-result-box.eligible{background:#10b98114;border:1px solid rgba(16,185,129,.3)}.eligibility-result-box.not-eligible{background:#f59e0b14;border:1px solid rgba(245,158,11,.3)}.elig-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.elig-title-badge{font-size:.9375rem;font-weight:800;display:flex;align-items:center;gap:8px}.eligibility-result-box.eligible .elig-title-badge{color:#34d399}.eligibility-result-box.not-eligible .elig-title-badge{color:#fbbf24}.elig-summary-tag{font-size:.6875rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:var(--bg-hover);color:#fff}.elig-checklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;font-size:.8125rem}.elig-check-item{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.text-success{color:#34d399!important}.text-error{color:#fb7185!important}.job-desc-section{display:flex;flex-direction:column;gap:8px}.section-h4{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.bullet-list{padding-left:20px;font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.job-application-form{display:flex;flex-direction:column;gap:18px}.form-fields-two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.resume-upload-zone{position:relative;padding:18px;background:var(--bg-hover);border:1px dashed var(--border-medium);border-radius:var(--radius-md)}.file-hidden-input{display:none}.upload-zone-content{display:flex;align-items:center;gap:14px}.upload-icon{font-size:1.75rem;color:var(--accent-blue)}.upload-texts{flex:1;display:flex;flex-direction:column}.upload-main-text{font-size:.875rem;font-weight:700;color:var(--text-primary)}.upload-sub-text{font-size:.6875rem;color:var(--text-muted)}.upload-progress-wrap{margin-top:12px}.progress-pct{font-size:.6875rem;font-weight:700;color:var(--accent-blue);margin-top:4px;display:block}.app-tracker-dialog-content{display:flex;flex-direction:column;gap:18px}.tracker-header-box{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.tracker-role{font-size:1.2rem;font-weight:800;color:var(--text-primary)}.tracker-company{font-size:.8125rem;color:var(--text-muted)}.tracker-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem}.timeline-title{font-size:.9375rem;font-weight:700;color:var(--text-primary);margin-top:4px}.application-timeline-list{display:flex;flex-direction:column;position:relative;margin-top:6px}.timeline-entry-item{display:flex;gap:16px;position:relative;padding-bottom:20px}.timeline-entry-item:before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--border-subtle)}.timeline-entry-item:last-child:before{display:none}.t-node-marker{width:28px;height:28px;border-radius:50%;background:#10b98126;border:2px solid #34d399;color:#34d399;display:flex;align-items:center;justify-content:center;font-size:.6875rem;z-index:1;flex-shrink:0}.t-node-body{flex:1;display:flex;flex-direction:column}.t-node-text{font-size:.875rem;font-weight:700;color:var(--text-primary)}.t-node-time{font-size:.6875rem;color:var(--text-muted);margin-top:2px}.drive-dialog-content{display:flex;flex-direction:column;gap:18px}.drive-dialog-header{padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.drive-dialog-title{font-size:1.25rem;font-weight:800;color:var(--text-primary);margin-top:4px}.drive-dialog-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem}.d-cell{display:flex;flex-direction:column}.d-lbl{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase}.d-val{font-weight:700;color:var(--text-primary);margin-top:2px}.drive-dialog-desc h4{font-size:.875rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.drive-dialog-desc p{font-size:.8125rem;color:var(--text-secondary);line-height:1.6}@media(max-width:1024px){.career-hero-card{flex-direction:column;align-items:flex-start}.analytics-hero-card{grid-template-columns:1fr}}.faculty-today-classes-card,.faculty-quick-actions-card{padding:24px}.faculty-classes-stack{display:flex;flex-direction:column;gap:14px}.faculty-class-node{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast)}.faculty-class-node.active-class{background:#6366f114;border-color:var(--accent-primary);box-shadow:0 0 16px #6366f126}.class-time-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-width:80px;text-align:center}.c-time-lbl{font-size:.625rem;color:var(--text-muted);text-transform:uppercase}.c-time-val{font-size:.8125rem;font-weight:800;color:var(--text-primary)}.class-info-col{flex:1}.class-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.class-name{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.class-meta-row{display:flex;gap:16px;margin-top:4px;font-size:.75rem;color:var(--text-secondary)}.class-meta-row strong{color:var(--text-primary)}.class-meta-row i{color:var(--accent-blue);margin-right:4px}.class-action-col{flex-shrink:0}.btn-roll-call{padding:6px 14px;font-size:.75rem}.faculty-shortcuts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.shortcut-tile{padding:16px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;text-align:center;transition:all var(--transition-fast)}.shortcut-tile:hover{background:#6366f11a;border-color:var(--accent-primary);transform:translateY(-2px)}.shortcut-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem}.shortcut-tile span{font-size:.75rem;font-weight:700;color:var(--text-primary)}.faculty-courses-overview-card{padding:24px}.faculty-courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.faculty-course-tile{padding:18px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;justify-content:space-between;gap:12px}.f-course-top{display:flex;justify-content:space-between;align-items:center}.f-course-name{font-size:.9375rem;font-weight:700;color:var(--text-primary);line-height:1.3}.f-course-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.f-course-progress{display:flex;flex-direction:column;gap:4px}.f-prog-header{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--text-muted)}.f-course-actions{display:flex;gap:8px}.faculty-courses-full-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:22px}.faculty-course-card-full{padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.f-card-header{display:flex;justify-content:space-between;align-items:flex-start}.course-title-text{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-top:4px}.course-dept-text{font-size:.75rem;color:var(--text-muted)}.course-info-grid-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.75rem}.c-info-cell{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.c-info-cell i{color:var(--accent-blue);width:14px}.c-info-cell strong{color:var(--text-primary)}.course-syllabus-bar{display:flex;flex-direction:column;gap:4px}.syl-bar-top{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.syl-bar-top strong{color:#38bdf8}.course-shortcuts-row{display:flex;gap:8px;flex-wrap:wrap}.course-shortcuts-row .c1-btn{padding:6px 12px;font-size:.75rem}.course-details-dialog-content{display:flex;flex-direction:column;gap:16px}.dialog-course-name{font-size:1.25rem;font-weight:800;color:var(--text-primary)}.dialog-dept-sub{font-size:.8125rem;color:var(--text-muted);margin-top:-10px}.course-dialog-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem}.dialog-units-section h4{font-size:.875rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.student-roster-card{padding:24px}.student-roster-table-wrap{overflow-x:auto}.student-profile-dialog-content{display:flex;flex-direction:column;gap:18px}.student-dialog-header{display:flex;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.student-avatar-badge{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#312e81,#1e1b4b);border:2px solid var(--accent-primary);color:#818cf8;font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center}.stu-name{font-size:1.2rem;font-weight:800;color:var(--text-primary)}.stu-sub{font-size:.8125rem;color:var(--text-secondary)}.student-profile-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem}.attendance-roster-card,.attendance-history-card,.attendance-matrix-card{padding:24px}.attendance-roster-table-wrap,.history-table-wrap,.attendance-matrix-table-wrap{overflow-x:auto;position:relative;border-radius:var(--radius-lg, 12px);background:var(--bg-surface-1, rgba(255, 255, 255, .02));border:1px solid var(--border-color)}.attendance-matrix-table-wrap::-webkit-scrollbar{height:8px}.attendance-matrix-table-wrap::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.attendance-matrix-table-wrap::-webkit-scrollbar-thumb{background:var(--border-color, rgba(255, 255, 255, .15));border-radius:4px}.attendance-matrix-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--accent-blue, #6366f1)}.attendance-matrix-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.8125rem}.attendance-matrix-table th,.attendance-matrix-table td{padding:10px 12px;border-bottom:1px solid var(--border-color);border-right:1px solid rgba(255,255,255,.04);white-space:nowrap}.attendance-matrix-table thead th{background:var(--bg-elevated, var(--bg-secondary));font-weight:700;color:var(--text-primary);position:sticky;top:0;z-index:10;border-bottom:2px solid var(--border-color)}.attendance-matrix-table .sticky-col-roll{position:sticky;left:0;z-index:5;background:var(--bg-card, var(--bg-secondary));width:120px;min-width:120px;border-right:1px solid var(--border-color);color:var(--text-primary)}.attendance-matrix-table .sticky-col-name{position:sticky;left:120px;z-index:5;background:var(--bg-card, var(--bg-secondary));width:220px;min-width:220px;border-right:2px solid var(--border-color);box-shadow:4px 0 8px #00000014;color:var(--text-primary)}.attendance-matrix-table thead th.sticky-col-roll,.attendance-matrix-table thead th.sticky-col-name{z-index:20;background:var(--bg-elevated, var(--bg-secondary))}.attendance-matrix-table tfoot td.sticky-col-roll,.attendance-matrix-table tfoot td.sticky-col-name{z-index:10;background:var(--bg-elevated, var(--bg-secondary));font-weight:800}.matrix-date-header{text-align:center;min-width:76px;padding:8px 6px!important;-webkit-user-select:none;user-select:none}.matrix-date-header-inner{display:flex;flex-direction:column;align-items:center;gap:2px}.matrix-date-day{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.matrix-date-text{font-size:.8125rem;font-weight:800;color:var(--text-primary)}.matrix-date-stat-chip{font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:9999px;background:var(--bg-hover, rgba(255, 255, 255, .08));border:1px solid var(--border-color);color:var(--text-secondary);margin-top:3px}.matrix-date-actions{display:flex;gap:3px;margin-top:4px;opacity:.85;transition:opacity .2s}.matrix-date-header:hover .matrix-date-actions{opacity:1}.matrix-col-btn{border:none;background:#ffffff14;color:var(--text-secondary);width:20px;height:20px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;cursor:pointer;transition:all .15s}.matrix-col-btn:hover{background:var(--accent-blue, #6366f1);color:#fff;transform:scale(1.1)}.matrix-col-btn.btn-del:hover{background:#ef4444}.attendance-cell-td{text-align:center;padding:6px 4px!important}.attendance-mark-btn{width:34px;height:34px;border-radius:8px;border:1px solid transparent;font-weight:900;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s cubic-bezier(.34,1.56,.64,1);box-shadow:0 1px 3px #0003;-webkit-user-select:none;user-select:none}.attendance-mark-btn.status-p{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#047857;box-shadow:0 2px 6px #10b98159}.attendance-mark-btn.status-p:hover{transform:scale(1.15);box-shadow:0 4px 10px #10b98180}.attendance-mark-btn.status-x,.attendance-mark-btn.status-a{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff;border-color:#be123c;box-shadow:0 2px 6px #f43f5e59}.attendance-mark-btn.status-x:hover,.attendance-mark-btn.status-a:hover{transform:scale(1.15);box-shadow:0 4px 10px #f43f5e80}.attendance-mark-btn.status-h,.attendance-mark-btn.status-holiday{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:1.5px solid #b91c1c;box-shadow:0 2px 6px #ef444466;font-weight:900;font-size:.8125rem;letter-spacing:.5px}.attendance-mark-btn.status-h:hover,.attendance-mark-btn.status-holiday:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.15);box-shadow:0 4px 10px #ef4444a6}.matrix-date-header.is-holiday-column{background:#ef444414!important;border-left:1px solid rgba(239,68,68,.25);border-right:1px solid rgba(239,68,68,.25)}.matrix-date-header.is-holiday-column .matrix-date-day{color:#ef4444!important;font-weight:800}.matrix-date-header.is-holiday-column .matrix-date-text{color:#f87171!important;font-weight:800}.matrix-date-stat-chip.holiday-chip{background:#ef444433;border:1px solid rgba(239,68,68,.45);color:#fca5a5;font-weight:800}.attendance-cell-td.holiday-cell{background:#ef444408}.attendance-mark-btn.status-empty{background:#fff;border:1.5px solid #cbd5e1;color:transparent;box-shadow:0 1px 3px #0000000d;cursor:pointer;position:relative}.attendance-mark-btn.status-empty:hover{border-color:var(--accent-blue, #6366f1);background:#f8fafc;transform:scale(1.08)}.attendance-mark-btn.status-empty:hover:after{content:"+";color:#94a3b8;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center}.attendance-mark-btn:active{transform:scale(.92)}.matrix-summary-header{text-align:center;background:var(--bg-surface-2, #181c28);color:var(--text-primary);font-weight:700}.matrix-summary-cell{text-align:center;font-weight:700}.matrix-pct-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:9999px;font-size:.75rem;font-weight:800}.matrix-pct-badge.safe{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.matrix-pct-badge.warning{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.matrix-pct-badge.critical{background:#f43f5e26;color:#fb7185;border:1px solid rgba(244,63,94,.3)}.attendance-legend-container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 18px;background:var(--bg-surface-2, rgba(255, 255, 255, .03));border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);margin-top:14px;font-size:.8125rem}.legend-items-group{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.legend-chip{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:.75rem;color:#fff}.legend-chip.chip-p{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 1px 4px #10b98166}.legend-chip.chip-x,.legend-chip.chip-a{background:linear-gradient(135deg,#f43f5e,#e11d48);box-shadow:0 1px 4px #f43f5e66}.legend-chip.chip-h{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 1px 4px #ef444480;border:1px solid #b91c1c}.legend-chip.chip-empty{background:#fff;border:1.5px solid #cbd5e1;color:#94a3b8;box-shadow:0 1px 2px #0000000d}.shortage-email-alert-card{border:1px solid rgba(244,63,94,.3);background:#f43f5e0d;border-radius:var(--radius-lg, 12px);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:20px}.shortage-email-card-info{display:flex;align-items:center;gap:14px}.shortage-email-icon{width:44px;height:44px;border-radius:50%;background:#f43f5e26;color:#fb7185;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.email-preview-container{background:var(--bg-surface-2, #181c28);border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);padding:20px;font-family:inherit;font-size:.875rem;line-height:1.6;color:var(--text-primary);max-height:380px;overflow-y:auto}.email-letterhead{border-bottom:2px solid var(--border-color);padding-bottom:12px;margin-bottom:14px}.email-letterhead-title{font-size:1.05rem;font-weight:800;color:var(--accent-blue, #38bdf8)}.email-header-meta-row{display:flex;flex-direction:column;gap:4px;font-size:.8125rem;color:var(--text-secondary);margin-bottom:14px;padding:10px 14px;background:var(--bg-surface-1, rgba(255, 255, 255, .03));border-radius:6px}.email-urgent-banner{background:#f43f5e1f;border:1px solid rgba(244,63,94,.3);color:#fb7185;border-radius:6px;padding:10px 14px;font-weight:700;font-size:.8125rem;display:flex;align-items:center;gap:8px;margin:12px 0}.email-stats-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.8125rem}.email-stats-table th,.email-stats-table td{padding:8px 12px;border:1px solid var(--border-color);text-align:left}.email-stats-table th{background:var(--bg-surface-1, rgba(255, 255, 255, .04));font-weight:700}.student-row-email-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:.7rem;font-weight:700;background:#f43f5e1f;color:#fb7185;border:1px solid rgba(244,63,94,.3);cursor:pointer;transition:all .2s}.student-row-email-btn:hover{background:#f43f5e;color:#fff;transform:translateY(-1px)}.attendance-status-pill{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:5px}.attendance-status-pill.present{background:#10b9811f;color:#34d399;border:1px solid rgba(16,185,129,.3)}.attendance-status-pill.absent{background:#f43f5e1f;color:#fb7185;border:1px solid rgba(244,63,94,.3)}.attendance-action-group{display:inline-flex;gap:8px;align-items:center}.attendance-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:600;border-radius:var(--radius-md, 8px);border:1px solid var(--border-color);background:var(--bg-surface-2, rgba(255, 255, 255, .05));color:var(--text-secondary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000d}.attendance-action-btn i{font-size:.8rem}.attendance-action-btn.present-btn:hover{border-color:#16a34a;color:#16a34a;background:#16a34a14}.attendance-action-btn.present-btn.active{background:#16a34a;color:#fff;border-color:#15803d;font-weight:700;box-shadow:0 2px 8px #16a34a59;transform:translateY(-1px)}.attendance-action-btn.absent-btn:hover{border-color:#dc2626;color:#dc2626;background:#dc262614}.attendance-action-btn.absent-btn.active{background:#dc2626;color:#fff;border-color:#b91c1c;font-weight:700;box-shadow:0 2px 8px #dc262659;transform:translateY(-1px)}.confirm-dialog-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:10px 0}.confirm-icon-box{width:52px;height:52px;border-radius:50%;background:#6366f126;color:var(--accent-blue);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.confirm-heading{font-size:1.15rem;font-weight:800;color:var(--text-primary)}.confirm-body-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.confirm-summary-pill-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.faculty-assignments-card,.faculty-submissions-card{padding:24px}.assignments-table-wrap,.submissions-table-wrap{overflow-x:auto}.faculty-form-stack{display:flex;flex-direction:column;gap:16px}.faculty-exams-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:22px}.faculty-exam-card{padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.exam-card-header-row{display:flex;justify-content:space-between;align-items:center}.exam-title-text{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.exam-subject-sub{font-size:.8125rem;color:var(--text-muted);margin-top:-6px}.exam-metrics-grid-box{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.75rem}.e-metric-cell{display:flex;flex-direction:column}.e-lbl{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase}.e-val{font-weight:700;color:var(--text-primary);margin-top:2px}.exam-instructions-snippet{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.exam-card-actions{display:flex;gap:10px}.exam-details-dialog-content{display:flex;flex-direction:column;gap:16px}.dialog-exam-name{font-size:1.25rem;font-weight:800;color:var(--text-primary)}.dialog-course-sub{font-size:.8125rem;color:var(--text-muted);margin-top:-10px}.dialog-exam-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem}.dialog-instructions-box h4{font-size:.875rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.dialog-instructions-box p{font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.results-entry-card{padding:24px}.results-table-wrap{overflow-x:auto}.marks-cell-input{background:var(--bg-hover);border:1px solid var(--border-medium);color:var(--text-primary);border-radius:var(--radius-sm);padding:4px 8px}.faculty-materials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}.faculty-material-card{padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.mat-card-header{display:flex;justify-content:space-between;align-items:center}.mat-type-icon-box{width:42px;height:42px;border-radius:var(--radius-md);background:#6366f126;color:var(--accent-blue);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.mat-meta-info{display:flex;align-items:center;gap:8px}.mat-size-badge{font-size:.6875rem;color:var(--text-muted)}.mat-title-text{font-size:1.05rem;font-weight:700;color:var(--text-primary);line-height:1.3}.mat-course-sub{font-size:.75rem;color:var(--text-muted)}.mat-card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-subtle);padding-top:12px}.mat-date{font-size:.75rem;color:var(--text-muted)}.btn-mobile-search{display:none}.notifications-portal-wrapper{position:fixed;top:70px;right:80px;z-index:1000}@media(max-width:1024px){.dashboard-main-grid{grid-template-columns:1fr;gap:20px}.faculty-courses-full-grid{grid-template-columns:1fr}.stats-grid,.academic-stats-grid,.faculty-dashboard-metrics,.admin-stats-grid,.parent-stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}.student-dashboard-page{padding:20px 24px 40px}.page-container{padding:24px 20px}}@media(max-width:768px){.app-layout{width:100%;min-height:100vh;overflow-x:hidden}.main-content{width:100%;max-width:100%;overflow-x:hidden}.sidebar{position:fixed;top:0;left:-290px;width:280px;height:100vh;height:100dvh;z-index:1000;transition:left .3s cubic-bezier(.16,1,.3,1);box-shadow:0 0 40px #000c}.sidebar.mobile-open{left:0}.sidebar.collapsed{width:280px;left:-290px}.sidebar.collapsed.mobile-open{left:0}.sidebar.collapsed .brand-text{display:flex}.page-container{padding:16px 14px;width:100%;max-width:100%;overflow-x:hidden}.top-navbar{padding:0 12px;height:62px}.navbar-left{gap:8px;min-width:0;flex:1}.btn-sidebar-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-primary);flex-shrink:0}.page-title-area{min-width:0;overflow:hidden}.page-title-area .breadcrumb{display:none}.page-title-area h2{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-search{display:none}.btn-mobile-search{display:flex;align-items:center;justify-content:center}.btn-ai-shortcut,.user-info-text,.user-menu-trigger i.fa-chevron-down{display:none}.user-menu-trigger{padding:4px 6px}.notifications-portal-wrapper{top:64px;right:8px;left:8px;width:auto;max-width:calc(100vw - 16px)}.notification-dropdown-panel{width:100%;max-width:100%;max-height:80vh;max-height:80dvh}.student-welcome-banner,.faculty-welcome-banner,.admin-welcome-banner,.parent-welcome-banner{padding:22px 18px;flex-direction:column;align-items:flex-start;gap:16px;border-radius:16px}.welcome-title{font-size:1.45rem}.faculty-shortcuts-grid,.course-info-grid-compact,.course-dialog-metrics-grid,.student-profile-metrics-grid,.dialog-exam-meta-grid,.exam-metrics-grid-box{grid-template-columns:1fr}.quick-access-grid{grid-template-columns:repeat(2,1fr);gap:12px}.c1-module-header,.faculty-header,.admin-header,.parent-header{flex-direction:column;align-items:flex-start;gap:14px}.c1-header-actions,.faculty-actions,.admin-actions{width:100%;display:flex;flex-wrap:wrap;gap:8px}.c1-header-actions .c1-btn,.faculty-actions .c1-btn,.admin-actions .c1-btn{flex:1 1 auto}.c1-tabs-nav,.nav-tabs,.sub-nav-tabs,.role-switcher-tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;width:100%;max-width:100%;scrollbar-width:none;padding-bottom:4px}.c1-tabs-nav::-webkit-scrollbar,.nav-tabs::-webkit-scrollbar{display:none}.c1-filter-bar,.faculty-filter-bar,.admin-filter-bar{flex-direction:column;align-items:stretch;gap:10px;width:100%}.c1-search-input-wrap,.faculty-search-box,.admin-search-box{width:100%;max-width:100%}}@media(max-width:480px){.page-container{padding:12px 10px}.student-dashboard-page{padding:12px 8px 36px}.stats-grid,.academic-stats-grid,.faculty-dashboard-metrics,.admin-stats-grid,.parent-stats-grid{grid-template-columns:1fr;gap:12px}.quick-access-grid{grid-template-columns:1fr;gap:10px}.card-panel,.c1-card{padding:16px 14px;border-radius:12px}.attendance-card-body{flex-direction:column;align-items:center;gap:16px}.modal-backdrop,.search-modal-overlay{padding:20px 10px 10px;align-items:flex-start}.modal-card,.c1-modal-card,.search-modal-card{width:100%!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 40px)!important;max-height:calc(100dvh - 40px)!important;padding:16px 12px!important;border-radius:14px!important}.search-results-list{max-height:260px}.search-modal-footer{flex-wrap:wrap;gap:8px;font-size:9.5px}.campus-ai-assistant{bottom:16px;right:16px}.btn-ai-floating{padding:9px 14px;font-size:.8125rem}.form-row,.c1-form-row{flex-direction:column;gap:12px}.form-row>*,.c1-form-row>*{width:100%!important}.c1-table th,.c1-table td,.custom-table th,.custom-table td{padding:8px 10px;font-size:12px}}@media(max-width:375px){.page-container{padding:10px 8px}.top-navbar{padding:0 8px;height:58px}.page-title-area h2{font-size:13.5px;max-width:130px}.card-panel,.c1-card{padding:14px 10px}.welcome-title{font-size:1.3rem}.stat-card-value{font-size:22px}.btn-nav-action{width:32px;height:32px}.user-avatar{width:32px;height:32px;font-size:12px}}.profile-detail-box{background:var(--bg-surface-2, rgba(255, 255, 255, .03));border:1px solid var(--border-subtle, rgba(255, 255, 255, .07));border-radius:var(--radius-md, 10px);padding:12px 14px;display:flex;flex-direction:column;gap:4px;transition:border-color .2s ease,background .2s ease}.profile-detail-box:hover{border-color:var(--border-medium, rgba(99, 102, 241, .3))}.profile-detail-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #94a3b8)}.profile-detail-value{font-size:.9rem;font-weight:700;color:var(--text-primary, #f8fafc);word-break:break-word}.c1-tab-btn{background:transparent;border:none;outline:none;padding:8px 16px;font-size:.84rem;font-weight:600;color:var(--text-secondary, #94a3b8);border-radius:var(--radius-md, 8px);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease}.c1-tab-btn:hover{color:var(--text-primary, #f8fafc);background:var(--bg-surface-2, rgba(255, 255, 255, .05))}.c1-tab-btn.active{color:#fff;background:var(--gradient-primary, linear-gradient(135deg, #6366f1 0%, #4f46e5 100%));box-shadow:0 4px 12px #6366f159}
