:root{--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary-900:#1e3a8a;--bg-app:#f8fafc;--bg-surface:#fff;--bg-sidebar:#0f172a;--bg-sidebar-hover:#1e293b;--bg-sidebar-active:#2563eb;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--text-on-dark:#f8fafc;--border-color:#e2e8f0;--border-focus:#3b82f6;--status-success-bg:#ecfdf5;--status-success-text:#047857;--status-success-border:#a7f3d0;--status-danger-bg:#fef2f2;--status-danger-text:#b91c1c;--status-danger-border:#fecaca;--status-warning-bg:#fffbeb;--status-warning-text:#b45309;--status-warning-border:#fde68a;--status-info-bg:#eff6ff;--status-info-text:#1d4ed8;--status-info-border:#bfdbfe;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--primary-600);text-decoration:none}a:hover{text-decoration:underline}.text-primary{color:var(--primary-600)}.text-muted{color:var(--text-muted)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-6xl{font-size:3.75rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.ml-2{margin-left:.5rem}.p-8{padding:2rem}.p-12{padding:3rem}.text-center{text-align:center}.max-w-lg{max-width:32rem}.mx-auto{margin-left:auto;margin-right:auto}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex;text-decoration:none!important}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-600);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-700)}.btn-secondary{color:var(--text-main);border-color:var(--border-color);background-color:#f1f5f9}.btn-secondary:hover:not(:disabled){background-color:#e2e8f0}.btn-outline{color:var(--text-main);border-color:var(--border-color);background-color:#fff}.btn-outline:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-600);background-color:#f8fafc}.btn-danger{color:#fff;background-color:#dc2626}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-sm{border-radius:var(--radius-sm);padding:.25rem .625rem;font-size:.75rem}.btn-block{width:100%}.status-badge,.badge{border-radius:var(--radius-full);align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.badge-success{background-color:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.badge-danger{background-color:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-border)}.badge-warning{background-color:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.badge-info{background-color:var(--status-info-bg);color:var(--status-info-text);border:1px solid var(--status-info-border)}.badge-neutral{color:var(--text-muted);border:1px solid var(--border-color);background-color:#f1f5f9}.alert{border-radius:var(--radius-md);padding:.75rem 1rem;font-size:.875rem;line-height:1.4}.alert-danger{background-color:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-border)}.app-shell-layout{min-height:100vh;display:flex}.app-sidebar{background-color:var(--bg-sidebar);width:250px;color:var(--text-on-dark);z-index:40;flex-direction:column;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid #1e293b;padding:1.25rem 1.5rem}.brand-link{color:#fff;align-items:center;gap:.75rem;display:flex;text-decoration:none!important}.brand-logo-icon{font-size:1.5rem}.brand-name{font-size:1.125rem;font-weight:700;display:block}.brand-subtext{color:var(--text-light);font-size:.7rem;display:block}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-section{margin-bottom:1.25rem}.nav-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);padding:0 1.5rem .5rem;font-size:.6875rem;font-weight:700;display:block}.nav-link{color:#cbd5e1;align-items:center;gap:.75rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s;display:flex;text-decoration:none!important}.nav-link:hover{background-color:var(--bg-sidebar-hover);color:#fff}.nav-link.active{background-color:var(--bg-sidebar-active);color:#fff}.sidebar-footer{color:var(--text-light);border-top:1px solid #1e293b;padding:1rem 1.5rem;font-size:.75rem}.app-main-viewport{flex-direction:column;flex:1;min-width:0;margin-left:250px;display:flex}.app-topbar{background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:30;justify-content:space-between;align-items:center;height:64px;padding:0 1.5rem;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{align-items:center;gap:1rem;display:flex}.sidebar-toggle-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.35rem .6rem;display:none}.institution-label{color:var(--text-muted);font-size:.875rem;font-weight:600}.hod-scope-indicator{background-color:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius-md);color:var(--primary-700);padding:.25rem .6rem;font-size:.75rem;font-weight:600}.user-profile-widget{align-items:center;gap:.6rem;display:flex}.user-avatar-circle{border-radius:var(--radius-full);background-color:var(--primary-600);color:#fff;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:flex}.user-meta-info{flex-direction:column;display:flex}.user-display-name{font-size:.8125rem;font-weight:600;line-height:1.2}.user-role-badge{color:var(--text-muted);text-transform:capitalize;font-size:.6875rem}.app-main-content{flex:1;width:100%;max-width:1400px;padding:1.5rem}.page-header-container{margin-bottom:1.5rem}.breadcrumbs-nav{margin-bottom:.5rem}.breadcrumbs-list{color:var(--text-muted);font-size:.8125rem;list-style:none;display:flex}.breadcrumb-item{align-items:center;display:flex}.breadcrumb-separator{color:var(--text-light);margin:0 .5rem}.breadcrumb-item.active span{color:var(--text-main);font-weight:600}.page-header-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-title{color:var(--text-main);font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:.125rem;font-size:.875rem}.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.current-session-card{border-left:4px solid var(--primary-600);justify-content:space-between;align-items:center;display:flex}.current-session-header{align-items:center;gap:1rem;display:flex}.session-icon{font-size:2rem}.session-tag{text-transform:uppercase;color:var(--primary-600);letter-spacing:.05em;font-size:.75rem;font-weight:600}.session-name{color:var(--text-main);font-size:1.25rem;font-weight:700}.session-details{align-items:center;gap:1.5rem;display:flex}.session-date-range{color:var(--text-muted);font-size:.875rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-icon-bg{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.dept-color{background-color:#eff6ff}.prog-color{background-color:#f5f3ff}.batch-color{background-color:#f0fdf4}.sem-color{background-color:#fff7ed}.div-color{background-color:#fdf2f8}.stat-data{flex-direction:column;display:flex}.stat-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.stat-value{font-size:1.5rem;font-weight:700;line-height:1.2}.stat-link{margin-top:.25rem;font-size:.75rem;font-weight:600}.quick-actions-grid{flex-wrap:wrap;gap:.75rem;display:flex}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.filter-inputs{flex-wrap:wrap;flex:1;align-items:center;gap:.75rem;display:flex}.search-input-wrapper{min-width:240px;position:relative}.search-input{padding-right:2rem}.search-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.125rem;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.table-responsive-container{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.data-table thead th{color:var(--text-muted);border-bottom:1px solid var(--border-color);white-space:nowrap;background-color:#f8fafc;padding:.75rem 1rem;font-weight:600}.data-table tbody td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:.875rem 1rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table-row:hover{background-color:#f8fafc}.table-header-content{align-items:center;gap:.35rem;display:flex}.hover-header:hover{color:var(--primary-600)}.sort-icon{font-size:.75rem}.table-cell-loading,.table-cell-error,.table-cell-empty{text-align:center;padding:3rem 1rem!important}.table-actions-group{align-items:center;gap:.5rem;display:flex}.pagination-wrapper{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1.25rem;font-size:.875rem;display:flex}.pagination-info{color:var(--text-muted)}.pagination-actions{align-items:center;gap:1.5rem;display:flex}.per-page-selector{color:var(--text-muted);align-items:center;gap:.5rem;display:flex}.pagination-buttons{align-items:center;gap:.75rem;display:flex}.pagination-page-indicator{font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-main);margin-bottom:.375rem;font-size:.8125rem;font-weight:600;display:block}.required-star{color:#dc2626}.form-input,.form-select,.form-textarea,.select-input-sm{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-main);background-color:#fff;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #3b82f626}.form-input.input-readonly{cursor:not-allowed;background-color:#f1f5f9}.form-input.input-error,.form-select.input-error{border-color:#dc2626}.form-help-text{color:var(--text-muted);margin-top:.25rem;font-size:.75rem;display:block}.form-error-message{color:#dc2626;margin-top:.25rem;font-size:.75rem;font-weight:500;display:block}.checkbox-group{flex-direction:column;justify-content:center;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.form-checkbox{width:1rem;height:1rem}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:.75rem;margin-top:2rem;padding-top:1.25rem;display:flex}.modal-backdrop{z-index:50;background-color:#0f172a80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-lg);background-color:#fff;animation:.15s ease-out modalFadeIn;overflow:hidden}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{font-size:1.125rem;font-weight:700}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.modal-body{color:var(--text-muted);padding:1.5rem;font-size:.875rem;line-height:1.5}.modal-footer{border-top:1px solid var(--border-color);background-color:#f8fafc;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.toast-container{z-index:60;flex-direction:column;gap:.5rem;width:calc(100% - 3rem);max-width:380px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);justify-content:space-between;align-items:center;padding:.875rem 1rem;font-size:.875rem;line-height:1.3;display:flex}.toast-success{color:#fff;background-color:#065f46}.toast-error{color:#fff;background-color:#991b1b}.toast-info{color:#fff;background-color:#1e3a8a}.toast-warning{color:#fff;background-color:#92400e}.toast-close-btn{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;margin-left:.75rem;font-size:1.125rem}.login-page-container{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);background-color:#fff;padding:2.5rem 2rem}.login-header{text-align:center;margin-bottom:2rem}.login-logo{margin-bottom:.5rem;font-size:2.5rem}.login-title{color:var(--text-main);font-size:1.25rem;font-weight:700}.login-subtitle{color:var(--text-muted);font-size:.8125rem}.login-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.75rem}.spinner{border:3px solid #e2e8f0;border-top-color:var(--primary-600);border-radius:var(--radius-full);width:24px;height:24px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner-wrapper{color:var(--text-muted);justify-content:center;align-items:center;gap:.75rem;display:flex}.auth-loading-screen{min-height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}@media (width<=1024px){.app-sidebar{transform:translate(-100%)}.app-sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{z-index:35;background-color:#0f172a80;position:fixed;inset:0}.app-main-viewport{margin-left:0}.sidebar-toggle-btn{display:block}}@media (width<=640px){.institution-label,.user-meta-info{display:none}.topbar-right{gap:.5rem}.student-scope-indicator{display:none!important}.app-main-content{padding:.75rem .5rem}}.btn-xs{border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.75rem;line-height:1.1}.btn-success{background-color:var(--status-success-text);color:#fff;border-color:var(--status-success-text)}.btn-success:hover:not(:disabled){background-color:#065f46}.btn-danger-outline{color:var(--status-danger-text);border-color:var(--status-danger-border);background-color:#0000}.btn-danger-outline:hover:not(:disabled){background-color:var(--status-danger-bg)}.text-success{color:var(--status-success-text)}.text-danger{color:var(--status-danger-text)}.text-warning{color:var(--status-warning-text)}.curriculum-header-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1.5rem}.curriculum-header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.curriculum-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;margin-bottom:.5rem;display:flex}.curriculum-main-title{color:var(--text-main);font-size:1.5rem;font-weight:700;line-height:1.2}.curriculum-meta-tags{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.8125rem;display:flex}.curriculum-meta-tag{border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:#f1f5f9;padding:.2rem .5rem}.curriculum-description{color:var(--text-muted);max-width:800px;margin-top:.25rem;font-size:.875rem}.curriculum-actions-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.curriculum-locked-banner,.curriculum-archived-banner{border-radius:var(--radius-md);align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;font-size:.8125rem;line-height:1.4;display:flex}.curriculum-locked-banner{color:#1e40af;background-color:#eff6ff;border:1px solid #bfdbfe}.curriculum-archived-banner{border:1px solid var(--border-color);color:var(--text-muted);background-color:#f1f5f9}.locked-banner-icon{flex-shrink:0;font-size:1.25rem}.credit-summary-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1.25rem}.credit-summary-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:2rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.credit-main-metric{flex-direction:column;display:flex}.credit-metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.6875rem;font-weight:700}.credit-metric-value{color:var(--text-main);font-size:1.35rem;font-weight:700;line-height:1.1}.credit-metric-value small{color:var(--text-muted);font-size:.75rem;font-weight:500}.credit-status-pill{margin-left:auto}.semester-credit-pills{align-items:center;gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.semester-mini-pill{border-radius:var(--radius-md);border:1px solid var(--border-color);cursor:pointer;background-color:#f8fafc;flex-direction:column;flex-shrink:0;align-items:center;padding:.35rem .75rem;transition:all .15s;display:inline-flex}.semester-mini-pill:hover{background-color:#f1f5f9;border-color:#cbd5e1}.semester-mini-pill.active{background-color:var(--primary-50);border-color:var(--primary-500);box-shadow:0 0 0 1px var(--primary-500)}.sem-pill-title{color:var(--text-main);font-size:.75rem;font-weight:600}.sem-pill-credits{color:var(--text-muted);font-size:.6875rem}.semester-nav-container{margin-bottom:1.25rem}.semester-tabs-desktop{border-bottom:2px solid var(--border-color);align-items:center;gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.semester-tab-btn{border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:pointer;color:var(--text-muted);background-color:#0000;border:none;flex-direction:column;align-items:flex-start;padding:.6rem 1.1rem;transition:all .15s;display:flex}.semester-tab-btn:hover{color:var(--text-main);background-color:#f1f5f9}.semester-tab-btn.active{background-color:var(--bg-surface);color:var(--primary-700);border-bottom:3px solid var(--primary-600);margin-bottom:-.5rem;padding-bottom:.9rem;font-weight:700}.semester-tab-number{font-size:.9375rem;font-weight:600}.semester-tab-meta{opacity:.85;font-size:.6875rem;font-weight:500}.semester-select-mobile{display:none}@media (width<=768px){.semester-tabs-desktop{display:none}.semester-select-mobile{display:block}}.semester-canvas-container{background-color:#0000}.semester-canvas-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.semester-canvas-title{color:var(--text-main);font-size:1.25rem;font-weight:700}.semester-canvas-subtitle{color:var(--text-muted);font-size:.8125rem}.empty-semester-box{background-color:var(--bg-surface);border:2px dashed var(--border-color);border-radius:var(--radius-lg);text-align:center;padding:3rem 1.5rem}.empty-box-icon{margin-bottom:.5rem;font-size:2.5rem}.curriculum-components-grid{grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:1.25rem;display:grid}@media (width<=640px){.curriculum-components-grid{grid-template-columns:1fr}}.curriculum-component-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.curriculum-component-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.comp-badge-major{border-top:4px solid var(--primary-600)}.comp-badge-minor{border-top:4px solid #8b5cf6}.comp-badge-skill{border-top:4px solid #059669}.comp-badge-open{border-top:4px solid #d97706}.comp-badge-experiential{border-top:4px solid #0891b2}.comp-badge-other{border-top:4px solid #64748b}.component-card-header{border-bottom:1px solid #f1f5f9;padding:1rem 1.25rem .75rem}.component-title-box{margin-bottom:.6rem}.component-type-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.15rem;font-size:.6875rem;font-weight:700}.component-card-name{color:var(--text-main);font-size:1.05rem;font-weight:700;line-height:1.25}.component-code-prefix{color:var(--primary-700)}.component-card-desc{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.component-rule-badges{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.component-card-body{flex:1;padding:1rem 1.25rem}.component-courses-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.component-course-list{flex-direction:column;gap:.5rem;display:flex}.component-course-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#f8fafc;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;transition:background-color .15s;display:flex}.component-course-item:hover{background-color:#f1f5f9}.course-item-main{flex:1;min-width:0}.course-item-header{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.2rem;display:flex}.course-code-badge{color:var(--primary-700);font-size:.75rem;font-weight:700}.course-name-text{color:var(--text-main);font-size:.8125rem;font-weight:600}.course-item-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.6875rem;display:flex}.course-dept-tag{color:#475569;font-weight:500}.course-track-tag{color:#7c3aed;font-weight:600}.course-item-actions{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.component-empty-courses{text-align:center;border:1px dashed var(--border-color);border-radius:var(--radius-md);background-color:#f8fafc;padding:1.25rem .75rem}.component-card-footer{background-color:#f8fafc;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.6rem 1.25rem;display:flex}.component-footer-actions{align-items:center;gap:.4rem;display:flex}.course-picker-list{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#f8fafc;flex-direction:column;max-height:280px;display:flex;overflow-y:auto}.course-picker-item{border-bottom:1px solid var(--border-color);cursor:pointer;align-items:flex-start;padding:.6rem .85rem;transition:background-color .15s;display:flex}.course-picker-item:last-child{border-bottom:none}.course-picker-item:hover:not(.disabled){background-color:#e2e8f0}.course-picker-item.selected{background-color:var(--primary-50);border-color:var(--primary-100)}.course-picker-item.disabled{opacity:.5;cursor:not-allowed;background-color:#f1f5f9}.curriculum-publish-audit-box{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#f8fafc;padding:.85rem}.teaching-assignment-card{transition:transform .15s,box-shadow .15s}.teaching-assignment-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #00000014,0 2px 4px -1px #0000000a!important}.assignment-card-completed{background-color:#fafafa!important;border-color:#e2e8f0!important}.teacher-picker-dropdown::-webkit-scrollbar{width:6px}.teacher-picker-dropdown::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:4px}.student-summary-header{transition:box-shadow .15s}.profile-tabs button:hover{color:var(--primary-600)!important}.placement-timeline>div>div:hover{border-color:#cbd5e1!important}.enrollment-status-pill{transition:transform .1s}.workspace-header-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.workspace-header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.workspace-title-group .back-link-btn{color:var(--text-muted);margin-bottom:.25rem;padding:0;font-size:.85rem}.workspace-title-group .title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.workspace-title{color:var(--text-main);margin:0;font-size:1.5rem;font-weight:700}.workspace-actions-group{align-items:center;gap:.75rem;display:flex}.workspace-chips-bar{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:.6rem;padding-top:.75rem;display:flex}.meta-chip{background:var(--bg-app);border:1px solid var(--border-color);border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.8rem;display:inline-flex}.meta-chip .chip-label{color:var(--text-muted);font-weight:500}.meta-chip .chip-val{color:var(--text-main);font-weight:600}.timetable-matrix-container{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;overflow:hidden}.timetable-matrix-scroll{max-width:100%;overflow-x:auto}.timetable-matrix-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:960px}.timetable-matrix-table th,.timetable-matrix-table td{border:1px solid var(--border-color);vertical-align:top}.timetable-matrix-header-period{text-align:center;text-transform:uppercase;width:100px;color:var(--text-muted);letter-spacing:.04em;background:#f1f5f9;padding:.75rem .5rem;font-size:.8rem;font-weight:700}.timetable-matrix-header-day{text-align:center;background:#f8fafc;padding:.75rem .5rem}.timetable-matrix-header-day.current-day-col{border-bottom:2px solid var(--primary-500);background:#eff6ff}.day-header-content{flex-direction:column;align-items:center;gap:.25rem;display:flex}.day-title{color:var(--text-main);font-size:.9rem;font-weight:700}.today-chip{background:var(--primary-600);color:#fff;text-transform:uppercase;border-radius:var(--radius-full);padding:.1rem .4rem;font-size:.65rem;font-weight:700}.timetable-matrix-period-cell{text-align:center;background:#f8fafc;padding:.75rem .5rem}.period-badge{color:var(--text-muted);font-size:.825rem;font-weight:700;display:inline-block}.timetable-matrix-slot-cell{background:#fff;min-height:120px;padding:.5rem}.timetable-matrix-slot-cell.current-day-slot{background:#fbfdff}.slot-entries-stack{flex-direction:column;gap:.5rem;display:flex}.timetable-slot-card{border:1px solid #cbd5e1;border-left:3.5px solid var(--primary-600);border-radius:var(--radius-md);background:#fff;padding:.65rem .75rem;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 3px #0000000d}.timetable-slot-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.timetable-slot-card.slot-cancelled{opacity:.75;background:#fef2f2;border-left-color:#ef4444}.slot-card-header{justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.35rem;font-size:.75rem;display:flex}.session-type-pill{text-transform:uppercase;border-radius:var(--radius-sm);letter-spacing:.03em;padding:.12rem .45rem;font-size:.65rem;font-weight:700}.badge-session-theory{color:#1e40af;background:#dbeafe}.badge-session-practical{color:#166534;background:#dcfce7}.badge-session-tutorial{color:#92400e;background:#fef3c7}.cancelled-pill{color:#991b1b;text-transform:uppercase;border-radius:var(--radius-sm);background:#fee2e2;padding:.12rem .4rem;font-size:.65rem;font-weight:700}.slot-time-range{color:var(--text-muted);font-family:monospace;font-size:.725rem;font-weight:600}.slot-course-info{margin-bottom:.35rem}.slot-course-name{color:var(--text-main);font-size:.85rem;line-height:1.25;display:block}.slot-course-code{color:var(--text-muted);font-size:.75rem;font-weight:500}.slot-category-tag{color:#475569;border-radius:var(--radius-sm);background:#f1f5f9;align-items:center;gap:.3rem;margin-bottom:.35rem;padding:.1rem .4rem;font-size:.7rem;display:inline-flex}.category-dot{background:var(--primary-600);border-radius:50%;width:5px;height:5px}.slot-meta-row{flex-direction:column;gap:.2rem;margin-bottom:.35rem;display:flex}.slot-meta-item{color:#334155;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.slot-meta-icon{font-size:.8rem}.teacher-role-tag{color:var(--text-muted);font-style:italic}.slot-remarks-text{color:#64748b;border-top:1px dashed #e2e8f0;margin-top:.25rem;padding-top:.25rem;font-size:.7rem}.slot-actions-toolbar{border-top:1px solid #f1f5f9;gap:.35rem;margin-top:.5rem;padding-top:.4rem;display:flex}.slot-action-btn{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);background:0 0;border:1px solid #e2e8f0;padding:.15rem .45rem;font-size:.7rem;transition:background .15s,color .15s}.slot-action-btn.edit:hover{color:var(--primary-700);background:#eff6ff;border-color:#bfdbfe}.slot-action-btn.delete:hover{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.slot-attendance-toolbar{border-top:1px solid #f1f5f9;margin-top:.5rem;padding-top:.4rem}.btn-take-attendance{background:var(--primary-600);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.35rem;width:100%;padding:.35rem .5rem;font-size:.75rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.btn-take-attendance:hover:not(:disabled){background:var(--primary-700);transform:translateY(-1px)}.btn-take-attendance:disabled{opacity:.65;cursor:not-allowed}.scheduled-day-label{color:var(--text-muted);text-align:center;font-size:.7rem;font-style:italic;display:block}.btn-add-parallel-slot{border-radius:var(--radius-sm);width:100%;color:var(--primary-600);cursor:pointer;background:0 0;border:1px dashed #cbd5e1;padding:.25rem .4rem;font-size:.7rem;transition:background .15s}.btn-add-parallel-slot:hover{border-color:var(--primary-500);background:#eff6ff}.empty-slot-wrapper{justify-content:center;align-items:center;min-height:90px;display:flex}.btn-empty-slot-add{border-radius:var(--radius-sm);color:#94a3b8;cursor:pointer;background:0 0;border:1px dashed #cbd5e1;align-items:center;gap:.25rem;padding:.35rem .75rem;font-size:.75rem;transition:all .15s;display:inline-flex}.btn-empty-slot-add:hover{border-color:var(--primary-500);color:var(--primary-600);background:#f8fafc}.empty-slot-placeholder{color:#cbd5e1;font-size:1.25rem}.schedule-overview-grid{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.5rem;display:grid}@media (width<=900px){.schedule-overview-grid{grid-template-columns:1fr}}.schedule-spotlight-card{background:var(--bg-surface);border:1px solid var(--border-color);border-top:4px solid var(--primary-600);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.spotlight-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.spotlight-badge{color:var(--primary-700);text-transform:uppercase;border-radius:var(--radius-full);background:#eff6ff;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.spotlight-time{color:var(--text-main);font-family:monospace;font-size:.9rem;font-weight:700}.spotlight-course-title{color:var(--text-main);margin-bottom:.75rem;font-size:1.25rem;font-weight:700}.spotlight-meta-list{color:#475569;flex-direction:column;gap:.4rem;margin-bottom:1.25rem;font-size:.875rem;display:flex}.spotlight-meta-item{align-items:center;gap:.5rem;display:flex}.btn-attendance-launch{padding:.6rem 1.25rem;font-weight:600}.spotlight-empty,.today-empty-state{text-align:center;color:var(--text-muted);padding:2rem 1rem}.schedule-today-summary-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.today-summary-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.today-summary-header h4{margin:0;font-size:1rem;font-weight:700}.date-tag{color:var(--text-muted);font-size:.8rem}.today-slots-timeline{flex-direction:column;gap:.65rem;display:flex}.today-timeline-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#f8fafc;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.timeline-period-col{flex-direction:column;align-items:center;min-width:60px;display:flex}.timeline-period{color:var(--primary-700);font-size:.85rem;font-weight:700}.timeline-hours{color:var(--text-muted);font-family:monospace;font-size:.7rem}.timeline-info-col{flex:1}.timeline-course-name{color:var(--text-main);font-size:.875rem;display:block}.timeline-meta{color:var(--text-muted);gap:.35rem;font-size:.75rem;display:flex}.schedule-matrix-card,.student-schedule-matrix-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.matrix-card-header{margin-bottom:1.25rem}.matrix-card-header h3{margin:0 0 .25rem;font-size:1.15rem;font-weight:700}.student-enrollment-summary-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.student-enrollment-summary-card .summary-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.student-enrollment-summary-card h4{margin:0;font-size:1rem;font-weight:700}.enrolled-badge-pill{color:#065f46;border-radius:var(--radius-full);background:#ecfdf5;border:1px solid #a7f3d0;align-items:center;gap:.4rem;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.pill-dot{background:#10b981;border-radius:50%;width:6px;height:6px}.courses-chips-grid{flex-wrap:wrap;gap:.6rem;display:flex}.course-summary-chip{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#f8fafc;align-items:center;gap:.45rem;padding:.35rem .75rem;font-size:.8rem;display:inline-flex}.chip-name{color:var(--text-main)}.chip-code{color:var(--text-muted);font-family:monospace}.classroom-modal-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.classroom-add-form-panel{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#f8fafc;margin-bottom:1.25rem;padding:1rem}.classroom-add-form-panel .panel-title{color:var(--text-main);margin:0 0 .75rem;font-size:.95rem;font-weight:700}.form-actions-inline{justify-content:space-between;align-items:center;margin-top:.5rem;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.classroom-table-wrapper{max-height:400px;overflow-y:auto}.row-inactive{opacity:.65;background:#fafafa}.field-error-list{margin:.5rem 0 0 1rem;padding:0;font-size:.8rem}.page-actions-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.assignments-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.25rem;margin-top:1rem;display:grid}.assignment-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:1.35rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.assignment-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1;transform:translateY(-2px)}.card-header-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.course-badges{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.badge-course{color:#334155;border-radius:var(--radius-sm);background:#f1f5f9;border:1px solid #e2e8f0;padding:.2rem .5rem;font-family:monospace;font-size:.75rem;font-weight:700}.badge-type{color:#0369a1;border-radius:var(--radius-sm);background:#f0f9ff;border:1px solid #bae6fd;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.status-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full);padding:.2rem .6rem;font-size:.72rem;font-weight:700}.card-assignment-title{color:var(--text-main);margin-bottom:.25rem;font-size:1.1rem;font-weight:700;line-height:1.35}.card-course-name{color:var(--text-muted);margin-bottom:.75rem;font-size:.85rem}.card-description-preview{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.85rem;line-height:1.45;display:-webkit-box;overflow:hidden}.card-meta-list{border-radius:var(--radius-md);color:#334155;background:#f8fafc;flex-direction:column;gap:.45rem;margin-bottom:1.15rem;padding:.75rem .9rem;font-size:.82rem;display:flex}.meta-item{align-items:center;gap:.5rem;display:flex}.meta-icon{font-size:.95rem}.card-footer-actions{border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.card-menu-buttons{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.assignment-modal-card{width:95%;max-width:680px}.review-modal-card{width:95%;max-width:720px}.submit-work-card{width:95%;max-width:620px}.submission-meta-bar{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#f8fafc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.meta-label{color:var(--text-muted)}.badge-ontime{color:#065f46;border-radius:var(--radius-sm);background:#ecfdf5;border:1px solid #a7f3d0;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.badge-late{color:#b91c1c;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.badge-graded{color:#1d4ed8;border-radius:var(--radius-sm);background:#eff6ff;border:1px solid #bfdbfe;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.badge-submitted{color:#047857;border-radius:var(--radius-sm);background:#ecfdf5;border:1px solid #a7f3d0;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.badge-closed{color:#64748b;border-radius:var(--radius-sm);background:#f1f5f9;border:1px solid #cbd5e1;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.submission-content-section{margin-bottom:1.5rem}.student-text-box{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;margin-bottom:1rem;padding:.9rem}.student-text-box .box-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-size:.75rem;font-weight:700}.student-text-box .text-content{color:var(--text-main);white-space:pre-wrap;font-size:.9rem;line-height:1.6}.student-file-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#f8fafc;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.student-file-card .file-icon{font-size:1.8rem}.student-file-card .file-details{flex:1}.student-file-card .file-name{color:var(--text-main);word-break:break-all;font-size:.9rem;font-weight:600}.student-file-card .file-sub{color:var(--text-muted);font-size:.75rem}.grading-form-section{border-top:1px solid var(--border-color);padding-top:1.25rem}.my-assignments-list{flex-direction:column;gap:1.25rem;margin-top:1rem;display:flex}.student-assignment-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:1rem;padding:1.4rem;display:flex}.student-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.student-assignment-title{color:var(--text-main);margin:.35rem 0 .2rem;font-size:1.2rem;font-weight:700}.student-course-subtitle{color:var(--text-muted);font-size:.85rem}.student-due-badge{text-align:right;min-width:180px}.student-due-badge .due-label{text-transform:uppercase;color:var(--text-muted);margin-bottom:.15rem;font-size:.72rem;font-weight:700}.student-due-badge .due-val{color:#334155;margin-bottom:.25rem;font-size:.88rem;font-weight:600}.student-instructions-box{border-left:3px solid var(--primary-500);border-radius:0 var(--radius-md) var(--radius-md) 0;color:#334155;background:#f8fafc;padding:.75rem 1rem;font-size:.85rem}.student-instructions-box p{white-space:pre-wrap;margin-top:.25rem;line-height:1.5}.student-submission-status-card{border-radius:var(--radius-md);background:#fafafa;border:1px solid #e2e8f0;padding:1rem 1.25rem}.status-unsubmitted-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.unsubmitted-text{color:#475569;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.status-submitted-container{flex-direction:column;gap:.85rem;display:flex}.submitted-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.submitted-tags{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.submitted-details-grid{border-radius:var(--radius-sm);background:#fff;border:1px solid #e2e8f0;flex-direction:column;gap:.6rem;padding:.75rem .9rem;display:flex}.snippet-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.72rem;font-weight:700;display:block}.snippet-content{color:var(--text-main);white-space:pre-wrap;font-size:.88rem;line-height:1.5}.file-chip{border-radius:var(--radius-sm);background:#f1f5f9;border:1px solid #cbd5e1;align-items:center;gap:.6rem;padding:.35rem .75rem;font-size:.82rem;font-weight:500;display:inline-flex}.chip-download-btn{color:var(--primary-600);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:.8rem;font-weight:700;text-decoration:underline}.chip-download-btn:hover{color:var(--primary-800)}.grade-result-box{border-radius:var(--radius-sm);background:#f0fdf4;border:1px solid #bbf7d0;padding:.85rem 1rem}.grade-score-row{align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:1rem;display:flex}.grade-score-row .score-label{color:#166534;font-weight:600}.grade-score-row .score-number{color:#15803d;font-size:1.15rem;font-weight:800}.feedback-content{color:#14532d;margin-top:.4rem;font-size:.85rem;line-height:1.5}.feedback-content p{margin-top:.15rem}.awaiting-review-badge{color:#92400e;border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fde68a;padding:.5rem .85rem;font-size:.85rem;font-weight:600}.file-upload-zone{margin-bottom:.35rem;position:relative}.file-input-hidden{opacity:0;z-index:-1;width:.1px;height:.1px;position:absolute;overflow:hidden}.file-upload-label{border-radius:var(--radius-md);cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e1;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:border-color .2s,background .2s;display:flex}.file-upload-label:hover{border-color:var(--primary-500);background:#f1f5f9}.upload-icon{font-size:1.4rem}.upload-prompt{color:#334155;flex:1;font-size:.88rem;font-weight:500}.upload-size{color:var(--text-muted);font-size:.75rem}.file-link-btn{color:var(--primary-600);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;font-size:.82rem;font-weight:600;text-decoration:underline;display:inline-flex}.file-link-btn:hover{color:var(--primary-800)}.deadline-banner{border-radius:var(--radius-sm);background:#f1f5f9;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:1rem;padding:.6rem .9rem;font-size:.85rem;display:flex}.banner-label{color:var(--text-muted)}.existing-submission-callout{border-radius:var(--radius-sm);color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;margin-bottom:1rem;padding:.65rem .9rem;font-size:.82rem}.callout-title{margin-bottom:.2rem;font-weight:700}.callout-meta{font-size:.78rem}.callout-note{color:#1d4ed8;margin-top:.25rem;font-size:.76rem;font-style:italic}.highlight-checkbox{border-radius:var(--radius-sm);background:#f0fdf4;border:1px solid #bbf7d0;padding:.6rem .85rem}.stats-pills-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.stat-pill{color:#334155;border-radius:var(--radius-full);background:#f1f5f9;border:1px solid #e2e8f0;padding:.25rem .65rem;font-size:.8rem}.notification-dropdown-wrapper{align-items:center;display:inline-flex;position:relative}.notification-bell-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;padding:.45rem;transition:all .15s ease-in-out;display:flex;position:relative}.notification-bell-btn:hover{background-color:var(--bg-hover,#f1f5f9);color:var(--text-main);border-color:#cbd5e1}.notification-bell-svg{width:20px;height:20px}.notification-badge-counter{color:#fff;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--bg-surface);background-color:#ef4444;border-radius:999px;justify-content:center;align-items:center;padding:0 3px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-5px}.notification-popover-menu{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);z-index:100;flex-direction:column;width:380px;max-width:92vw;animation:.15s ease-out popoverFadeIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 28px -4px #0000001f,0 8px 12px -6px #00000014}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notification-popover-header{border-bottom:1px solid var(--border-color);background-color:#f8fafc;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.header-title-row{align-items:center;gap:.5rem;display:flex}.popover-title{color:var(--text-main);font-size:.95rem;font-weight:700}.unread-pill{color:#1d4ed8;background-color:#dbeafe;border-radius:999px;padding:.15rem .45rem;font-size:.7rem;font-weight:600}.mark-all-read-btn{color:#2563eb;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.2rem .4rem;font-size:.75rem;font-weight:600;transition:background-color .15s}.mark-all-read-btn:hover{background-color:#eff6ff;text-decoration:underline}.notification-popover-body{max-height:380px;overflow-y:auto}.notification-loading-state,.notification-empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1.5rem;display:flex}.empty-bell-icon{opacity:.6;font-size:2.2rem}.empty-title{color:var(--text-main);margin:0;font-size:.95rem;font-weight:600}.empty-subtext{margin:0;font-size:.8rem}.notification-list-items{flex-direction:column;display:flex}.notification-item-card{cursor:pointer;border-bottom:1px solid #f1f5f9;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;transition:background-color .15s;display:flex}.notification-item-card:last-child{border-bottom:none}.notification-item-card:hover{background-color:#f8fafc}.notification-item-card.is-unread{background-color:#f0f7ff}.notification-item-card.is-unread:hover{background-color:#e6f0fa}.notification-type-avatar{background-color:#fff;border:1px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.25rem;line-height:1;display:flex}.notification-content-col{flex:1;min-width:0}.notification-title-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.2rem;display:flex}.notification-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.notification-unread-dot{background-color:#2563eb;border-radius:50%;flex-shrink:0;width:7px;height:7px}.notification-body-text{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .3rem;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.notification-time-ago{color:#94a3b8;font-size:.7rem}.notification-popover-footer{border-top:1px solid var(--border-color);text-align:center;background-color:#f8fafc;padding:.65rem 1rem}.view-all-notifications-btn{color:#2563eb;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.25rem .5rem;font-size:.82rem;font-weight:600;transition:all .15s}.view-all-notifications-btn:hover{color:#1d4ed8;text-decoration:underline}.notifications-page-container{flex-direction:column;gap:1.25rem;display:flex}.notifications-controls-bar{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.tab-buttons-group{align-items:center;gap:.5rem;display:flex}.tab-filter-btn{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.tab-filter-btn:hover{color:var(--text-main);background-color:#f1f5f9}.tab-filter-btn.active{color:#1d4ed8;background-color:#eff6ff;border-color:#bfdbfe}.tab-badge{color:#475569;background-color:#e2e8f0;border-radius:999px;padding:.1rem .4rem;font-size:.72rem}.tab-badge-accent{color:#fff;background-color:#ef4444;border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.type-filter-group{align-items:center;gap:.5rem;display:flex}.filter-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.filter-select-input{border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;background-color:#fff;padding:.4rem .75rem;font-size:.85rem}.notifications-content-area{flex-direction:column;gap:1rem;display:flex}.notifications-empty-panel{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 2rem;display:flex}.empty-panel-icon{margin-bottom:.25rem;font-size:2.8rem}.empty-panel-heading{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:700}.empty-panel-text{color:var(--text-muted);max-width:420px;margin:0;font-size:.875rem}.notifications-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.notification-full-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem;transition:all .15s;display:flex;position:relative;overflow:hidden}.notification-full-card:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.notification-full-card.is-unread{background-color:#f8fbff;border-left:4px solid #2563eb}.card-type-icon-wrapper{border-radius:var(--radius-md);background-color:#f1f5f9;border:1px solid #e2e8f0;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.card-type-icon{font-size:1.4rem;line-height:1}.card-main-content{flex:1;min-width:0}.card-top-meta{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.category-tag{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;padding:.15rem .55rem;font-size:.72rem;font-weight:700}.badge-blue{color:#1d4ed8;background-color:#eff6ff;border:1px solid #bfdbfe}.badge-amber{color:#a16207;background-color:#fefce8;border:1px solid #fde047}.badge-purple{color:#7e22ce;background-color:#faf5ff;border:1px solid #e9d5ff}.badge-emerald{color:#15803d;background-color:#f0fdf4;border:1px solid #bbf7d0}.badge-teal{color:#0f766e;background-color:#f0fdfa;border:1px solid #99f6e4}.badge-indigo{color:#4338ca;background-color:#eef2ff;border:1px solid #c7d2fe}.badge-cyan{color:#0e7490;background-color:#ecfeff;border:1px solid #a5f3fc}.badge-neutral{color:#475569;background-color:#f1f5f9;border:1px solid #cbd5e1}.card-timestamp{color:#94a3b8;font-size:.75rem}.card-notification-title{color:var(--text-main);margin:0 0 .35rem;font-size:.98rem;font-weight:700}.card-notification-body{color:#475569;margin:0 0 .65rem;font-size:.85rem;line-height:1.45}.card-bottom-actions{align-items:center;gap:1rem;display:flex}.card-action-link{color:#2563eb;font-size:.82rem;font-weight:600;transition:color .15s}.notification-full-card:hover .card-action-link{color:#1d4ed8;text-decoration:underline}.btn-text-mark-read{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.15rem .35rem;font-size:.8rem;font-weight:600;transition:all .15s}.btn-text-mark-read:hover{color:var(--text-main);background-color:#e2e8f0}.unread-corner-accent{border-top:0 solid #0000;border-bottom:16px solid #0000;border-left:0 solid #0000;border-right:16px solid #2563eb;width:0;height:0;position:absolute;top:0;right:0}.notifications-pagination-bar{justify-content:center;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.pagination-page-indicator{color:var(--text-muted);font-size:.85rem;font-weight:500}:root{--bmv-navy-950:#070d18;--bmv-navy-900:#0d1b2e;--bmv-navy-800:#132742;--bmv-navy-700:#1b3558;--bmv-navy-600:#254979;--bmv-gold-700:#92400e;--bmv-gold-600:#b45309;--bmv-gold-500:#d97706;--bmv-gold-400:#f59e0b;--bmv-gold-300:#fbbf24;--bmv-gold-100:#fef3c7;--bmv-gold-50:#fffbeb;--bmv-surface:#fff;--bmv-surface-alt:#f8fafc;--bmv-surface-warm:#fbfbf9;--bmv-border:#e2e8f0;--bmv-border-dark:#223755;--bmv-text-dark:#0f172a;--bmv-text-muted:#64748b;--bmv-text-light:#f8fafc;--bmv-text-dim:#94a3b8;--bmv-font-serif:"Playfair Display", "Georgia", "Cambria", serif;--bmv-font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bmv-shadow-card:0 4px 16px -2px #0d1b2e0f, 0 2px 6px -1px #0d1b2e0a;--bmv-shadow-hover:0 16px 36px -4px #0d1b2e1f, 0 4px 12px -2px #d9770614;--bmv-shadow-hero:0 24px 48px -8px #070d1859;--bmv-radius-card:14px;--bmv-radius-btn:8px}html{scroll-behavior:smooth}section[id]{scroll-margin-top:80px}.bmv-landing-page{font-family:var(--bmv-font-sans);color:var(--bmv-text-dark);background-color:var(--bmv-surface-alt);min-height:100vh;line-height:1.6;position:relative;overflow-x:hidden}.bmv-container{width:100%;max-width:1240px;margin:0 auto;padding:0 1.5rem}.bmv-top-navbar{z-index:1000;-webkit-backdrop-filter:blur(8px);background:#070d1873;border-bottom:1px solid #ffffff14;transition:background .35s,border-color .35s,box-shadow .35s;position:sticky;top:0}.bmv-top-navbar.scrolled{-webkit-backdrop-filter:blur(16px);background:#070d18f2;border-bottom:1px solid #f59e0b47;box-shadow:0 4px 20px -2px #0006}.bmv-nav-content{justify-content:space-between;align-items:center;height:76px;transition:height .35s;display:flex}.bmv-top-navbar.scrolled .bmv-nav-content{height:64px}.bmv-nav-brand{color:var(--bmv-text-light);align-items:center;gap:.875rem;text-decoration:none;display:flex}.bmv-nav-crest{background:linear-gradient(135deg, var(--bmv-gold-500), var(--bmv-gold-700));border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.35rem;display:flex;overflow:hidden;box-shadow:0 2px 8px #d9770659}.bmv-nav-brand-text{flex-direction:column;display:flex}.bmv-nav-college-title{color:#fff;letter-spacing:-.01em;white-space:nowrap;font-size:1.05rem;font-weight:700}.bmv-nav-affiliation{color:var(--bmv-gold-400);letter-spacing:.02em;text-transform:uppercase;font-size:.725rem;font-weight:500}.bmv-nav-links{align-items:center;gap:1.75rem;margin:0;padding:0;list-style:none;display:flex}.bmv-nav-link{color:#cbd5e1;padding:.35rem 0;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.bmv-nav-link:after{content:"";background-color:var(--bmv-gold-400);transform-origin:50%;border-radius:2px;width:100%;height:2px;transition:transform .25s;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.bmv-nav-link:hover:after,.bmv-nav-link.active:after{transform:scaleX(1)}.bmv-nav-link:hover{color:#fff;text-decoration:none}.bmv-nav-link.active{color:var(--bmv-gold-300);font-weight:600}.bmv-nav-actions{align-items:center;gap:1rem;display:flex}.bmv-btn-nav-login{background:linear-gradient(135deg, var(--bmv-gold-500), var(--bmv-gold-600));color:#fff;border-radius:var(--bmv-radius-btn);border:1px solid #ffffff26;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #d9770640}.bmv-btn-nav-login:hover{background:linear-gradient(135deg, var(--bmv-gold-400), var(--bmv-gold-500));color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px #d9770659}.bmv-btn-nav-login:focus-visible{outline:2px solid var(--bmv-gold-400);outline-offset:3px}.bmv-mobile-menu-toggle{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;padding:.5rem;display:none}.bmv-mobile-drawer{background:var(--bmv-navy-950);border-top:1px solid #ffffff14;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem 1.75rem;display:none}.bmv-mobile-drawer.open{display:flex}.bmv-mobile-nav-link{color:#e2e8f0;border-radius:6px;padding:.5rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s}.bmv-mobile-nav-link:hover{color:var(--bmv-gold-400);background:#ffffff0a;text-decoration:none}.bmv-mobile-nav-link.active{color:var(--bmv-gold-400);border-left:3px solid var(--bmv-gold-400);background:#f59e0b1a;padding-left:.75rem;font-weight:600}.bmv-hero-section{background-color:var(--bmv-navy-950);color:#fff;border-bottom:3px solid var(--bmv-gold-500);background-image:linear-gradient(90deg,#070d18e0 0%,#070d18ad 35%,#070d184d 68%,#070d1826 100%),url(/assets/bmv-campus-hero.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;padding:6.5rem 0 5.5rem;position:relative;overflow:hidden}.bmv-hero-radial-highlight{pointer-events:none;z-index:1;background:radial-gradient(70% 60% at 20% 40%,#1b355861 0%,#0000 80%);width:65%;height:100%;position:absolute;top:0;left:0}.bmv-hero-pattern-overlay{opacity:.035;pointer-events:none;z-index:1;background-image:radial-gradient(#fff 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.bmv-hero-container{z-index:2;justify-content:space-between;align-items:flex-end;gap:3rem;display:flex;position:relative}.bmv-hero-content{flex:600px;max-width:680px}@keyframes bmvHeroFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.bmv-animate-hero-1{animation:.6s cubic-bezier(.16,1,.3,1) 50ms backwards bmvHeroFadeUp}.bmv-animate-hero-2{animation:.6s cubic-bezier(.16,1,.3,1) .15s backwards bmvHeroFadeUp}.bmv-animate-hero-3{animation:.6s cubic-bezier(.16,1,.3,1) .25s backwards bmvHeroFadeUp}.bmv-animate-hero-4{animation:.6s cubic-bezier(.16,1,.3,1) .35s backwards bmvHeroFadeUp}.bmv-animate-hero-5{animation:.6s cubic-bezier(.16,1,.3,1) .45s backwards bmvHeroFadeUp}.bmv-hero-eyebrow{-webkit-backdrop-filter:blur(8px);color:var(--bmv-gold-400);letter-spacing:.03em;text-transform:uppercase;background:#d9770629;border:1px solid #f59e0b66;border-radius:9999px;align-items:center;gap:.625rem;margin-bottom:1.25rem;padding:.35rem .875rem;font-size:.825rem;font-weight:600;display:inline-flex}.bmv-hero-eyebrow-dot{background-color:var(--bmv-gold-400);width:8px;height:8px;box-shadow:0 0 8px var(--bmv-gold-400);border-radius:50%}.bmv-hero-heading{font-family:var(--bmv-font-serif);color:#fff;letter-spacing:-.015em;text-shadow:0 2px 8px #070d18b3;margin-bottom:1.25rem;font-size:3rem;font-weight:700;line-height:1.15}.bmv-hero-heading .gold-accent{color:var(--bmv-gold-400);font-family:var(--bmv-font-sans);letter-spacing:.02em;text-shadow:0 1px 6px #070d1880;margin-top:.4rem;font-size:1.5rem;font-weight:500;display:block}.bmv-hero-lead{color:#e2e8f0;text-shadow:0 1px 4px #070d1899;max-width:600px;margin-bottom:2rem;font-size:1.125rem;line-height:1.65}.bmv-hero-ctas{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:2.5rem;display:flex}.bmv-btn-hero-primary{background:linear-gradient(135deg, var(--bmv-gold-500), var(--bmv-gold-600));color:#fff;border-radius:var(--bmv-radius-btn);border:1px solid #fff3;align-items:center;gap:.625rem;padding:.875rem 1.875rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;box-shadow:0 4px 16px #d9770666}.bmv-btn-hero-primary:hover{background:linear-gradient(135deg, var(--bmv-gold-400), var(--bmv-gold-500));color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 24px #d9770680,0 2px 6px #0000004d}.bmv-btn-hero-primary:focus-visible{outline:2px solid var(--bmv-gold-400);outline-offset:3px}.bmv-cta-icon-arrow{transition:transform .25s}.bmv-btn-hero-primary:hover .bmv-cta-icon-arrow{transform:translate(4px)}.bmv-btn-hero-secondary{-webkit-backdrop-filter:blur(8px);color:#f1f5f9;border-radius:var(--bmv-radius-btn);background:#0d1b2e99;border:1px solid #ffffff40;align-items:center;gap:.5rem;padding:.85rem 1.625rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.bmv-btn-hero-secondary:hover{color:#fff;background:#ffffff26;border-color:#f59e0b73;text-decoration:none;transform:translateY(-1px)}.bmv-btn-hero-secondary:focus-visible{outline:2px solid var(--bmv-gold-400);outline-offset:3px}.bmv-cta-icon-chevron{transition:transform .25s}.bmv-btn-hero-secondary:hover .bmv-cta-icon-chevron{transform:translateY(2px)}.bmv-hero-meta-row{border-top:1px solid #ffffff26;flex-wrap:wrap;align-items:center;gap:2rem;padding-top:1.5rem;display:flex}.bmv-meta-item{flex-direction:column;display:flex}.bmv-meta-label{color:var(--bmv-gold-400);text-transform:uppercase;letter-spacing:.05em;font-size:.725rem;font-weight:600}.bmv-meta-value{color:#f8fafc;text-shadow:0 1px 4px #070d1899;font-size:.925rem;font-weight:600}.bmv-hero-badge-wrapper{flex-shrink:0;margin-bottom:.5rem}.bmv-hero-floating-badge{-webkit-backdrop-filter:blur(12px);background:#0d1b2ebf;border:1px solid #f59e0b59;border-radius:12px;align-items:center;gap:.875rem;max-width:380px;padding:.875rem 1.25rem;display:flex;box-shadow:0 12px 32px #0006}.bmv-badge-icon{flex-shrink:0;font-size:1.5rem}.bmv-badge-text-primary{color:#fff;font-size:.875rem;font-weight:700;line-height:1.3}.bmv-badge-text-sub{color:var(--bmv-gold-400);margin-top:.2rem;font-size:.75rem;line-height:1.3}.bmv-reveal{opacity:0;will-change:opacity, transform;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.bmv-reveal.bmv-revealed{opacity:1;transform:translateY(0)}.bmv-roles-grid .bmv-role-card:first-child{transition-delay:0s}.bmv-roles-grid .bmv-role-card:nth-child(2){transition-delay:70ms}.bmv-roles-grid .bmv-role-card:nth-child(3){transition-delay:.14s}.bmv-roles-grid .bmv-role-card:nth-child(4){transition-delay:.21s}.bmv-why-grid .bmv-why-card:first-child{transition-delay:0s}.bmv-why-grid .bmv-why-card:nth-child(2){transition-delay:70ms}.bmv-why-grid .bmv-why-card:nth-child(3){transition-delay:.14s}.bmv-why-grid .bmv-why-card:nth-child(4){transition-delay:.21s}.bmv-academics-grid .bmv-academic-card:first-child{transition-delay:0s}.bmv-academics-grid .bmv-academic-card:nth-child(2){transition-delay:80ms}.bmv-academics-grid .bmv-academic-card:nth-child(3){transition-delay:.16s}.bmv-facilities-grid .bmv-facility-card:first-child{transition-delay:0s}.bmv-facilities-grid .bmv-facility-card:nth-child(2){transition-delay:60ms}.bmv-facilities-grid .bmv-facility-card:nth-child(3){transition-delay:.12s}.bmv-facilities-grid .bmv-facility-card:nth-child(4){transition-delay:.18s}.bmv-facilities-grid .bmv-facility-card:nth-child(5){transition-delay:.24s}.bmv-facilities-grid .bmv-facility-card:nth-child(6){transition-delay:.3s}.bmv-achievers-grid .bmv-achiever-card:first-child{transition-delay:0s}.bmv-achievers-grid .bmv-achiever-card:nth-child(2){transition-delay:60ms}.bmv-achievers-grid .bmv-achiever-card:nth-child(3){transition-delay:.12s}.bmv-achievers-grid .bmv-achiever-card:nth-child(4){transition-delay:.18s}.bmv-achievers-grid .bmv-achiever-card:nth-child(5){transition-delay:.24s}.bmv-achievers-grid .bmv-achiever-card:nth-child(6){transition-delay:.3s}.bmv-achievers-grid .bmv-achiever-card:nth-child(7){transition-delay:.36s}.bmv-achievers-grid .bmv-achiever-card:nth-child(8){transition-delay:.42s}.bmv-timeline-list .bmv-timeline-node:first-child{transition-delay:0s}.bmv-timeline-list .bmv-timeline-node:nth-child(2){transition-delay:90ms}.bmv-timeline-list .bmv-timeline-node:nth-child(3){transition-delay:.18s}.bmv-timeline-list .bmv-timeline-node:nth-child(4){transition-delay:.27s}.bmv-section-header{text-align:center;max-width:720px;margin:0 auto 3.5rem}.bmv-section-kicker{color:var(--bmv-gold-600);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.625rem;margin-bottom:.75rem;font-size:.8rem;font-weight:700;display:inline-flex}.bmv-section-kicker:before{content:"";background:currentColor;border-radius:2px;width:24px;height:2px}.bmv-section-title{font-family:var(--bmv-font-serif);color:var(--bmv-navy-950);letter-spacing:-.015em;margin-bottom:.875rem;font-size:2.35rem;font-weight:700;line-height:1.2}.bmv-section-subtitle{color:var(--bmv-text-muted);font-size:1.05rem;line-height:1.6}.bmv-roles-section{background:#fff;border-top:1px solid #d9770626;padding:5.5rem 0 6rem;position:relative}.bmv-roles-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.bmv-role-card{border:1px solid var(--bmv-border);border-radius:var(--bmv-radius-card);color:inherit;box-shadow:var(--bmv-shadow-card);background:#fff;flex-direction:column;padding:2rem 1.5rem;text-decoration:none;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s,opacity .65s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.bmv-role-card:hover{box-shadow:var(--bmv-shadow-hover);border-color:#d9770666;text-decoration:none;transform:translateY(-5px)}.bmv-role-card:focus-visible{outline:2px solid var(--bmv-gold-500);outline-offset:3px;text-decoration:none}.bmv-role-card-student:hover{border-color:#3b82f6}.bmv-role-card-faculty:hover{border-color:#10b981}.bmv-role-card-admin:hover{border-color:#f59e0b}.bmv-role-card-super_admin:hover{border-color:#8b5cf6}.bmv-role-icon-box{border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:1.25rem;font-size:1.5rem;transition:transform .25s;display:flex}.bmv-role-card:hover .bmv-role-icon-box{transform:translateY(-3px)scale(1.05)}.bmv-icon-student{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.bmv-icon-faculty{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.bmv-icon-admin{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.bmv-icon-super_admin{color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe}.bmv-role-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--bmv-text-muted);margin-bottom:.35rem;font-size:.725rem;font-weight:600;display:inline-block}.bmv-role-title{color:var(--bmv-navy-900);margin-bottom:.625rem;font-size:1.25rem;font-weight:700;line-height:1.3}.bmv-role-desc{color:var(--bmv-text-muted);flex-grow:1;margin-bottom:1.25rem;font-size:.875rem;line-height:1.55}.bmv-role-highlights{border-top:1px solid #f1f5f9;flex-direction:column;gap:.4rem;margin:0 0 1.5rem;padding:.875rem 0 0;list-style:none;display:flex}.bmv-role-highlights li{color:#475569;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.bmv-role-highlights li:before{content:"•";color:var(--bmv-gold-500);font-weight:700}.bmv-role-btn-link{color:var(--bmv-navy-800);border-top:1px solid var(--bmv-border);justify-content:space-between;align-items:center;padding-top:.75rem;font-size:.875rem;font-weight:600;transition:color .15s;display:flex}.bmv-role-arrow{transition:transform .25s}.bmv-role-card:hover .bmv-role-btn-link{color:var(--bmv-gold-600)}.bmv-role-card:hover .bmv-role-arrow{transform:translate(4px)}.bmv-why-section{background:var(--bmv-surface-alt);border-top:1px solid var(--bmv-border);border-bottom:1px solid var(--bmv-border);padding:5.5rem 0}.bmv-why-grid{grid-template-columns:repeat(4,1fr);gap:1.75rem;display:grid}.bmv-why-card{background:var(--bmv-surface);border:1px solid var(--bmv-border);border-radius:var(--bmv-radius-card);box-shadow:var(--bmv-shadow-card);padding:2rem 1.5rem;transition:transform .3s,box-shadow .3s}.bmv-why-card:hover{box-shadow:var(--bmv-shadow-hover);border-color:#d977064d;transform:translateY(-4px)}.bmv-why-icon{background:var(--bmv-navy-900);width:48px;height:48px;color:var(--bmv-gold-400);border-radius:10px;justify-content:center;align-items:center;margin-bottom:1.25rem;font-size:1.35rem;display:flex;box-shadow:0 4px 12px #0d1b2e26}.bmv-why-card h3{color:var(--bmv-navy-950);margin-bottom:.625rem;font-size:1.15rem;font-weight:700}.bmv-why-card p{color:var(--bmv-text-muted);font-size:.875rem;line-height:1.6}.bmv-heritage-section{background:var(--bmv-surface-warm);padding:5.5rem 0 6rem}.bmv-metrics-strip{border:1px solid var(--bmv-border);border-top:3px solid var(--bmv-gold-500);border-radius:var(--bmv-radius-card);box-shadow:var(--bmv-shadow-card);background:#fff;justify-content:space-around;align-items:center;margin-bottom:4rem;padding:2rem 2.5rem;display:flex}.bmv-metric-item{text-align:center;flex:1}.bmv-metric-value{font-family:var(--bmv-font-serif);color:var(--bmv-navy-900);letter-spacing:-.02em;font-size:2.5rem;font-weight:700;line-height:1.1;display:block}.bmv-metric-label{color:var(--bmv-gold-600);text-transform:uppercase;letter-spacing:.05em;margin-top:.35rem;font-size:.825rem;font-weight:600;display:block}.bmv-metric-divider{background:var(--bmv-border);width:1px;height:52px}.bmv-heritage-layout{grid-template-columns:1fr 1fr;align-items:center;gap:4.5rem;display:grid}.bmv-heritage-prose h2{font-family:var(--bmv-font-serif);color:var(--bmv-navy-950);margin-bottom:1.25rem;font-size:2.35rem;font-weight:700;line-height:1.25}.bmv-heritage-prose p{color:#475569;margin-bottom:1.25rem;font-size:1rem;line-height:1.7}.bmv-heritage-quote{border-left:3px solid var(--bmv-gold-500);background:#d977060f;border-radius:0 8px 8px 0;margin:1.75rem 0;padding:1rem 1.5rem}.bmv-heritage-quote p{color:var(--bmv-navy-900);margin-bottom:.25rem;font-size:.95rem;font-style:italic}.bmv-heritage-quote cite{color:var(--bmv-gold-700);font-size:.8rem;font-weight:600}.bmv-timeline-list{border-left:2px solid #cbd5e1;flex-direction:column;gap:1.75rem;padding-left:1.75rem;display:flex;position:relative}.bmv-timeline-node{position:relative}.bmv-timeline-marker{background:var(--bmv-gold-500);width:14px;height:14px;box-shadow:0 0 0 2px var(--bmv-navy-700);border:3px solid #fff;border-radius:50%;position:absolute;top:.25rem;left:-2.3rem}.bmv-timeline-year{color:var(--bmv-gold-700);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.825rem;font-weight:700}.bmv-timeline-title{color:var(--bmv-navy-950);margin-bottom:.35rem;font-size:1.05rem;font-weight:700}.bmv-timeline-desc{color:var(--bmv-text-muted);font-size:.875rem;line-height:1.6}.bmv-academics-section{border-top:1px solid var(--bmv-border);background:#fff;padding:5.5rem 0 6rem}.bmv-academics-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.bmv-academic-card{background:var(--bmv-surface-alt);border:1px solid var(--bmv-border);border-radius:var(--bmv-radius-card);flex-direction:column;padding:2.25rem 2rem;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex}.bmv-academic-card:hover{border-color:var(--bmv-navy-700);box-shadow:var(--bmv-shadow-hover);transform:translateY(-4px)}.bmv-faculty-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:9999px;align-self:flex-start;margin-bottom:1.25rem;padding:.3rem .75rem;font-size:.75rem;font-weight:700}.faculty-arts{color:#9d174d;background:#fdf2f8;border:1px solid #fbcfe8}.faculty-commerce{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.faculty-science{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.bmv-academic-card h3{color:var(--bmv-navy-950);margin-bottom:.35rem;font-size:1.35rem;font-weight:700}.bmv-academic-degree{color:var(--bmv-gold-600);margin-bottom:1rem;font-size:.85rem;font-weight:600}.bmv-academic-card p{color:var(--bmv-text-muted);flex-grow:1;margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.bmv-course-tags{border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:.4rem;padding-top:1rem;display:flex}.bmv-course-tag{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:500}.bmv-campus-section{background-color:var(--bmv-navy-900);color:#fff;border-top:3px solid var(--bmv-gold-500);padding:5.5rem 0 6.5rem;position:relative}.bmv-campus-section .bmv-section-title{color:#fff}.bmv-campus-section .bmv-section-subtitle{color:#94a3b8}.bmv-facilities-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.bmv-facility-card{border-radius:var(--bmv-radius-card);background:#ffffff0d;border:1px solid #ffffff1a;flex-direction:column;padding:2rem 1.75rem;transition:transform .3s,border-color .3s,box-shadow .3s,background .3s;display:flex}.bmv-facility-card:hover{background:#ffffff14;border-color:#f59e0b73;transform:translateY(-4px);box-shadow:0 12px 28px #00000059}.bmv-facility-icon-wrap{background:#d9770626;border:1px solid #f59e0b4d;border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1.25rem;font-size:1.4rem;display:flex}.bmv-facility-tagline{text-transform:uppercase;letter-spacing:.06em;color:var(--bmv-gold-400);margin-bottom:.35rem;font-size:.725rem;font-weight:700}.bmv-facility-card h3{color:#fff;margin-bottom:.625rem;font-size:1.25rem;font-weight:700}.bmv-facility-card p{color:#cbd5e1;font-size:.875rem;line-height:1.6}.bmv-gallery-section{border-top:1px solid var(--bmv-border);background:#fff;padding:5.5rem 0 6rem}.bmv-gallery-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.625rem;margin-bottom:3rem;display:flex}.bmv-gallery-tab{background:var(--bmv-surface-alt);border:1px solid var(--bmv-border);color:#475569;cursor:pointer;border-radius:9999px;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s}.bmv-gallery-tab:hover{color:var(--bmv-navy-900);background:#e2e8f0}.bmv-gallery-tab.active{background:linear-gradient(135deg, var(--bmv-gold-500), var(--bmv-gold-600));border-color:var(--bmv-gold-600);color:#fff;box-shadow:0 2px 8px #d9770659}.bmv-gallery-tab:focus-visible{outline:2px solid var(--bmv-gold-500);outline-offset:2px}.bmv-gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-bottom:3rem;display:grid}.bmv-gallery-card{aspect-ratio:4/3;background:var(--bmv-navy-900);cursor:pointer;box-shadow:var(--bmv-shadow-card);border-radius:12px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;position:relative;overflow:hidden}.bmv-gallery-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px -4px #070d1838}.bmv-gallery-card:focus-visible{outline:3px solid var(--bmv-gold-500);outline-offset:2px}.bmv-gallery-thumb{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:block}.bmv-gallery-card:hover .bmv-gallery-thumb{transform:scale(1.04)}.bmv-gallery-overlay{background:linear-gradient(#0000 0%,#070d1899 30%,#070d18f5 100%);flex-direction:column;justify-content:flex-end;padding:1.25rem;transition:opacity .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.bmv-gallery-tag{text-transform:uppercase;letter-spacing:.05em;color:#fff;background:#d97706d9;border-radius:4px;align-self:flex-start;margin-bottom:.35rem;padding:.2rem .5rem;font-size:.675rem;font-weight:700;display:inline-block}.bmv-gallery-card-title{font-family:var(--bmv-font-serif);color:#fff;margin-bottom:.2rem;font-size:1.05rem;font-weight:700;line-height:1.3}.bmv-gallery-card-year{color:var(--bmv-gold-400);font-size:.75rem;font-weight:500}.bmv-gallery-fallback{background:var(--bmv-navy-900);color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:1.5rem;display:flex}.bmv-gallery-expand-row{text-align:center;margin-top:1rem}.bmv-btn-expand-gallery{background:var(--bmv-surface);border:1px solid var(--bmv-border);color:var(--bmv-navy-900);cursor:pointer;box-shadow:var(--bmv-shadow-card);border-radius:9999px;align-items:center;gap:.625rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.bmv-btn-expand-gallery:hover{border-color:var(--bmv-gold-500);color:var(--bmv-gold-700);box-shadow:var(--bmv-shadow-hover);transform:translateY(-1px)}.bmv-btn-expand-gallery:focus-visible{outline:2px solid var(--bmv-gold-500);outline-offset:3px}.bmv-achievements-section{background:var(--bmv-surface-alt);border-top:1px solid var(--bmv-border);padding:5.5rem 0 6rem}.bmv-achievers-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.bmv-achiever-card{border:1px solid var(--bmv-border);border-radius:var(--bmv-radius-card);box-shadow:var(--bmv-shadow-card);background:#fff;flex-direction:column;padding:1.75rem 1.5rem;transition:transform .3s,box-shadow .3s;display:flex}.bmv-achiever-card:hover{box-shadow:var(--bmv-shadow-hover);border-color:#d977064d;transform:translateY(-4px)}.bmv-achiever-category-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-self:flex-start;margin-bottom:.875rem;padding:.25rem .6rem;font-size:.675rem;font-weight:700}.achiever-sports{color:#92400e;background:#fef3c7}.achiever-cultural{color:#6b21a8;background:#f3e8ff}.achiever-academic{color:#0369a1;background:#e0f2fe}.bmv-achiever-name{color:var(--bmv-navy-950);margin-bottom:.25rem;font-size:1.1rem;font-weight:700}.bmv-achiever-dept{color:var(--bmv-gold-600);margin-bottom:.875rem;font-size:.8rem;font-weight:600}.bmv-achiever-desc{color:var(--bmv-text-muted);flex-grow:1;font-size:.85rem;line-height:1.5}.bmv-final-cta-section{background:#070d18;border-top:1px solid #ffffff14;padding:5.5rem 0 6rem}.bmv-final-cta-card{text-align:center;background:radial-gradient(circle at 50% 30%,#172a45 0%,#0d1b2e 70%,#070d18 100%);border:1px solid #f59e0b4d;border-radius:20px;padding:4rem 2.5rem;position:relative;overflow:hidden;box-shadow:0 24px 60px -12px #0009}.bmv-final-cta-glow{pointer-events:none;background:radial-gradient(#f59e0b40,#0000 70%);width:320px;height:160px;position:absolute;top:-50px;left:50%;transform:translate(-50%)}.bmv-final-cta-card h2{font-family:var(--bmv-font-serif);color:#fff;letter-spacing:-.015em;z-index:1;margin-bottom:1rem;font-size:2.5rem;font-weight:700;position:relative}.bmv-final-cta-card p{color:#cbd5e1;z-index:1;max-width:620px;margin:0 auto 2.5rem;font-size:1.1rem;line-height:1.65;position:relative}.bmv-final-cta-buttons{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;display:flex;position:relative}.bmv-btn-final-student,.bmv-btn-final-faculty,.bmv-btn-final-admin{border-radius:var(--bmv-radius-btn);padding:.875rem 1.875rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .25s}.bmv-btn-final-student{background:linear-gradient(135deg, var(--bmv-gold-500), var(--bmv-gold-600));color:#fff;border:1px solid #fff3;box-shadow:0 4px 16px #d9770666}.bmv-btn-final-student:hover{background:linear-gradient(135deg, var(--bmv-gold-400), var(--bmv-gold-500));color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 24px #d9770680}.bmv-btn-final-faculty{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff40}.bmv-btn-final-faculty:hover{color:#fff;background:#ffffff29;border-color:#f59e0b66;text-decoration:none;transform:translateY(-2px)}.bmv-btn-final-admin{color:#cbd5e1;background:0 0;border:1px solid #ffffff26}.bmv-btn-final-admin:hover{color:#fff;background:#ffffff14;border-color:#ffffff59;text-decoration:none;transform:translateY(-2px)}.bmv-btn-final-student:focus-visible,.bmv-btn-final-faculty:focus-visible,.bmv-btn-final-admin:focus-visible{outline:2px solid var(--bmv-gold-400);outline-offset:3px}.bmv-footer{color:#cbd5e1;background:#040810;border-top:1px solid #ffffff0f;padding:4.5rem 0 2rem}.bmv-footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:3rem;margin-bottom:3.5rem;display:grid}.bmv-footer-brand-title{font-family:var(--bmv-font-serif);color:#fff;margin-bottom:.35rem;font-size:1.25rem;font-weight:700}.bmv-footer-management{color:var(--bmv-gold-400);margin-bottom:1rem;font-size:.8rem;font-weight:600}.bmv-footer-desc{color:#94a3b8;font-size:.875rem;line-height:1.6}.bmv-footer-col h4{color:#fff;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1.25rem;font-size:.95rem;font-weight:700}.bmv-footer-links{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.bmv-footer-links a{color:#94a3b8;font-size:.875rem;text-decoration:none;transition:color .15s}.bmv-footer-links a:hover{color:var(--bmv-gold-400);text-decoration:none}.bmv-footer-contact-list{flex-direction:column;gap:.75rem;display:flex}.bmv-contact-line{color:#94a3b8;align-items:flex-start;gap:.625rem;font-size:.85rem;line-height:1.5;display:flex}.bmv-footer-bottom{color:#64748b;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;font-size:.8rem;display:flex}.bmv-back-to-top{z-index:999;background:var(--bmv-navy-900);width:46px;height:46px;color:var(--bmv-gold-400);cursor:pointer;opacity:0;visibility:hidden;border:1px solid #f59e0b66;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s,transform .3s,background .2s,color .2s;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(12px);box-shadow:0 4px 16px #00000059}.bmv-back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.bmv-back-to-top:hover{background:var(--bmv-gold-500);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #d9770673}.bmv-back-to-top:focus-visible{outline:2px solid var(--bmv-gold-400);outline-offset:3px}.bmv-lightbox-overlay{-webkit-backdrop-filter:blur(16px);z-index:2000;background:#070d18f0;justify-content:center;align-items:center;padding:1.5rem;animation:.25s bmvFadeIn;display:flex;position:fixed;inset:0}@keyframes bmvFadeIn{0%{opacity:0}to{opacity:1}}.bmv-lightbox-dialog{background:var(--bmv-navy-950);border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;width:100%;max-width:960px;max-height:92vh;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #000000b3}.bmv-lightbox-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.bmv-lightbox-counter{color:var(--bmv-gold-400);font-size:.85rem;font-weight:600}.bmv-lightbox-close-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.35rem;transition:all .15s;display:flex}.bmv-lightbox-close-btn:hover{color:#fff;background:#ffffff1a}.bmv-lightbox-body{background:#000;justify-content:center;align-items:center;min-height:380px;max-height:60vh;display:flex;position:relative;overflow:hidden}.bmv-lightbox-img{object-fit:contain;max-width:100%;max-height:60vh;display:block}.bmv-lightbox-nav-btn{color:#fff;cursor:pointer;z-index:10;background:#070d18bf;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.bmv-lightbox-nav-btn:hover{background:var(--bmv-gold-500);border-color:var(--bmv-gold-500);transform:translateY(-50%)scale(1.08)}.bmv-lightbox-prev{left:1rem}.bmv-lightbox-next{right:1rem}.bmv-lightbox-footer{background:var(--bmv-navy-900);border-top:1px solid #ffffff14;padding:1.25rem 1.75rem}.lightbox-meta{align-items:center;gap:.875rem;margin-bottom:.35rem;display:flex}.lightbox-title{color:#fff;font-size:1.15rem;font-weight:700}.lightbox-year-badge{color:var(--bmv-gold-400);background:#d9770626;border-radius:4px;padding:.1rem .5rem;font-size:.75rem;font-weight:600}.lightbox-caption{color:#cbd5e1;margin-bottom:.6rem;font-size:.9rem;line-height:1.5}.lightbox-nav-hint{color:#64748b;font-size:.75rem}@media (width<=1080px){.bmv-roles-grid,.bmv-why-grid,.bmv-achievers-grid{grid-template-columns:repeat(2,1fr)}.bmv-footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}@media (width<=900px){.bmv-hero-section{background-image:linear-gradient(#070d18e0 0%,#070d18b3 45%,#070d18d9 100%),url(/assets/bmv-campus-hero.jpg);background-position:50%;padding:5rem 0 4rem}.bmv-hero-radial-highlight{width:100%;height:60%}.bmv-hero-container{flex-direction:column;align-items:flex-start;gap:2.25rem}.bmv-hero-content{flex:auto;max-width:100%}.bmv-hero-badge-wrapper{width:100%}.bmv-hero-floating-badge{max-width:100%}.bmv-heritage-layout{grid-template-columns:1fr;gap:3rem}.bmv-academics-grid{grid-template-columns:1fr}.bmv-facilities-grid,.bmv-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.bmv-nav-links{display:none}.bmv-mobile-menu-toggle{display:block}.bmv-hero-section{background-image:linear-gradient(#070d18e6 0%,#070d18c2 50%,#070d18e0 100%),url(/assets/bmv-campus-hero.jpg);background-position:50% 30%;padding:3.5rem 0 3rem}.bmv-hero-heading{font-size:2.15rem}.bmv-section-title{font-size:1.85rem}.bmv-roles-grid,.bmv-why-grid,.bmv-facilities-grid,.bmv-gallery-grid,.bmv-achievers-grid,.bmv-footer-grid{grid-template-columns:1fr}.bmv-hero-meta-row{gap:1.25rem}.bmv-metrics-strip{flex-direction:column;gap:1.5rem;padding:1.75rem 1.5rem}.bmv-metric-divider{width:80%;height:1px}.bmv-final-cta-card{padding:3rem 1.5rem}.bmv-final-cta-card h2{font-size:1.85rem}.bmv-final-cta-buttons{flex-direction:column;width:100%}.bmv-btn-final-student,.bmv-btn-final-faculty,.bmv-btn-final-admin{text-align:center;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.bmv-reveal{opacity:1!important;transition:none!important;transform:none!important}.bmv-animate-hero-1,.bmv-animate-hero-2,.bmv-animate-hero-3,.bmv-animate-hero-4,.bmv-animate-hero-5{opacity:1!important;animation:none!important;transform:none!important}.bmv-gallery-card:hover .bmv-gallery-thumb,.bmv-role-card:hover,.bmv-facility-card:hover,.bmv-why-card:hover,.bmv-academic-card:hover,.bmv-achiever-card:hover{transform:none!important}}.modern-auth-container{background-color:#071328;background-image:radial-gradient(at 15% 15%,#2563eb4d 0,#0000 50%),radial-gradient(at 85% 85%,#8b5cf640 0,#0000 50%),linear-gradient(135deg,#071328ed 0%,#0f172ae6 60%,#1e1b4beb 100%),url(/assets/bmv-campus-hero.jpg);background-position:50%;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow-y:auto}.modern-auth-backdrop-filter{-webkit-backdrop-filter:blur(8px);pointer-events:none;position:absolute;inset:0}.modern-auth-card{z-index:10;background:#fffffffa;border:1px solid #fff9;border-radius:18px;width:100%;max-width:460px;padding:2.25rem 2rem;transition:transform .25s;position:relative;box-shadow:0 25px 50px -12px #00000059,0 0 0 1px #fff3,0 8px 24px #0f172a1f}@media (width<=480px){.modern-auth-card{border-radius:14px;padding:1.75rem 1.25rem}}.auth-nav-back{color:#475569;background:#f1f5f9;border-radius:6px;align-items:center;gap:.35rem;margin-bottom:1.25rem;padding:.35rem .65rem;font-size:.825rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.auth-nav-back:hover{color:#1e293b;background:#e2e8f0;text-decoration:none;transform:translate(-2px)}.auth-card-header{text-align:center;margin-bottom:1.5rem}.auth-emblem-badge{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:1px solid #bfdbfe;border-radius:16px;justify-content:center;align-items:center;width:58px;height:58px;margin:0 auto .75rem;font-size:1.85rem;display:flex;box-shadow:0 4px 14px #2563eb29}.auth-brand-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.25rem;font-weight:800;line-height:1.3}.auth-brand-subtitle{color:#64748b;margin:0;font-size:.825rem;font-weight:500}.auth-role-tabs-wrap{margin-bottom:1.25rem}.auth-role-tabs-label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;text-align:center;margin-bottom:.4rem;font-size:.725rem;font-weight:700}.auth-role-tabs{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:1fr 1fr 1fr;gap:.35rem;padding:.3rem;display:grid}.auth-role-tab-btn{color:#475569;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .4rem;font-size:.775rem;font-weight:600;transition:all .2s;display:flex}.auth-role-tab-btn:hover{color:#0f172a;background:#fff9}.auth-role-tab-btn.active-student{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 2px 8px #2563eb59}.auth-role-tab-btn.active-faculty{color:#fff;background:linear-gradient(135deg,#059669 0%,#047857 100%);box-shadow:0 2px 8px #05966959}.auth-role-tab-btn.active-admin{color:#fff;background:linear-gradient(135deg,#d97706 0%,#b45309 100%);box-shadow:0 2px 8px #d9770659}.auth-intent-banner{border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.65rem .85rem;font-size:.8rem;animation:.25s ease-out fadeIn;display:flex}.auth-intent-student{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.auth-intent-student .intent-title{color:#1d4ed8;align-items:center;gap:.35rem;font-weight:700;display:flex}.auth-intent-faculty{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.auth-intent-faculty .intent-title{color:#047857;align-items:center;gap:.35rem;font-weight:700;display:flex}.auth-intent-admin{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.auth-intent-admin .intent-title{color:#b45309;align-items:center;gap:.35rem;font-weight:700;display:flex}.intent-desc{opacity:.9;margin-top:.15rem;font-size:.725rem}.modern-input-wrap{align-items:center;display:flex;position:relative}.modern-input-icon{color:#94a3b8;pointer-events:none;font-size:1rem;position:absolute;left:.875rem}.modern-input-field{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;padding:.65rem .875rem .65rem 2.5rem;font-size:.925rem;transition:all .2s}.modern-input-field:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.password-toggle-btn{color:#64748b;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;font-size:.95rem;transition:color .2s;display:flex;position:absolute;right:.75rem}.password-toggle-btn:hover{color:#0f172a}.auth-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:9px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #2563eb59}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.auth-student-help{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin-top:1.25rem;padding:.75rem;font-size:.75rem;line-height:1.4}.auth-student-help strong{color:#334155}.auth-security-footer{text-align:center;color:#94a3b8;justify-content:center;align-items:center;gap:.35rem;margin-top:1.25rem;font-size:.725rem;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
