@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800&display=swap";:root{--app-header-bg: #2e7d32;--header-height: 60px}.header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:var(--app-header-bg, #2e7d32);box-shadow:0 2px 6px #0000001a;position:fixed;top:0;left:0;right:0;z-index:120001;height:var(--header-height);box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.header-left{display:flex;align-items:center;gap:15px;flex:1;min-width:0}.menu-toggle{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:5px;transition:color .3s ease}.menu-toggle:hover{color:#dcedc8}.secondary-menu-toggle{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer;padding:5px 7px;line-height:1;align-items:center;justify-content:center;transition:color .3s ease;display:none}.secondary-menu-toggle:hover{color:#dcedc8}.logo{display:flex;align-items:center;gap:10px;color:#fff;min-width:0}.institution-logo-image,.institution-logo-fallback{width:34px;height:34px;border-radius:8px;object-fit:cover;border:1px solid rgba(255,255,255,.35)}.institution-logo-fallback{display:inline-flex;align-items:center;justify-content:center;background:#ffffff2e;font-size:.85rem;font-weight:700;color:#fff;text-transform:uppercase}.institution-name-text{font-size:15px;font-weight:600;letter-spacing:.3px;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-chip{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.35);font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.header-center{flex:1;display:flex;justify-content:center;max-width:400px;position:relative}.search-container{width:100%;position:relative}.search-input{width:100%;padding:8px 12px;font-size:14px;border:none;border-radius:4px;outline:none;background-color:#fff;color:#333;box-shadow:inset 0 1px 2px #0000001a;transition:box-shadow .3s ease;box-sizing:border-box}.search-input:focus{box-shadow:inset 0 1px 2px #0003,0 0 5px #8bc34a4d}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px;box-shadow:0 4px 12px #00000026;max-height:400px;overflow-y:auto;z-index:1500;margin-top:1px}.search-results{padding:0;margin:0;list-style:none}.search-result-item{padding:12px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s ease;display:flex;flex-direction:column}.search-result-item:hover{background-color:#f8f9fa}.search-result-item:last-child{border-bottom:none}.search-result-title{font-weight:500;color:#333;margin-bottom:2px;font-size:14px}.search-result-subtitle{font-size:12px;color:#666;margin-bottom:4px}.search-result-category{font-size:11px;color:#385a12;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.search-no-results,.search-loading{padding:16px;text-align:center;color:#666;font-size:14px}.search-loading:after{content:"";display:inline-block;width:16px;height:16px;margin-left:8px;border:2px solid #f3f3f3;border-top:2px solid #385a12;border-radius:50%;animation:spin 1s linear infinite}.search-category-group{border-bottom:1px solid #e9ecef}.search-category-header{padding:8px 16px;background-color:#f8f9fa;font-size:12px;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e9ecef}.header-right{display:flex;align-items:center;gap:10px;margin-left:auto}.ciann-request-bell{position:relative;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff26;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ciann-request-bell i{font-size:16px}.header-notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.faculty-logout-button{display:inline-flex;align-items:center;gap:6px;background:#fff;color:#2e7d32;border:none;border-radius:6px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.faculty-logout-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000002e}.faculty-logout-button i{font-size:14px}.user-section{position:relative}.user-button{background:none;border:none;color:#fff;font-size:15px;cursor:pointer;display:flex;align-items:center;gap:8px;padding:5px 10px;transition:background-color .3s ease}.user-button:hover{background-color:#ffffff1a;border-radius:4px}.user-icon{font-size:18px}.user-name{font-weight:500;max-width:140px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;flex-shrink:1}.dropdown-arrow{font-size:10px}.user-dropdown-menu{position:absolute;top:100%;right:0;background-color:#fff;color:#333;min-width:150px;border-radius:4px;box-shadow:0 2px 8px #0003;z-index:2000;margin-top:5px;animation:fadeIn .2s ease-in;display:block}.user-dropdown-menu.visible{display:block!important}.dropdown-item{padding:10px 15px;width:100%;background-color:transparent;border:none;text-align:left;cursor:pointer;font-size:14px;color:#333;display:flex;align-items:center;gap:8px}.dropdown-item:hover{background-color:#f0f0f0}.logout{color:#dc3545}.dropdown-item i{font-size:14px}@media (max-width: 768px){:root{--header-height: 50px}.header{padding:8px 12px;height:var(--header-height)}.header-center{max-width:250px}.search-input{font-size:12px;padding:6px 10px}.search-dropdown{max-height:300px}.search-result-item{padding:10px 12px}.search-result-title{font-size:13px}.search-result-subtitle{font-size:11px}.search-category-header{padding:6px 12px;font-size:11px}.logo{font-size:18px}.institution-name-text{max-width:180px}.menu-toggle{font-size:1.3rem}.secondary-menu-toggle{display:none;font-size:1.2rem}.header.has-secondary-toggle .secondary-menu-toggle{display:inline-flex}.test-dropdown-btn{display:none!important}.user-button{font-size:14px;padding:3px 8px}.user-dropdown-menu{min-width:120px}.faculty-logout-button{padding:6px 10px;font-size:12px}.user-name{max-width:90px;font-size:13px}}@media (max-width: 480px){.header-center{max-width:200px}.search-input{font-size:11px;padding:5px 8px}.user-name,.faculty-logout-button span{display:none}.faculty-logout-button{width:34px;height:34px;border-radius:50%;padding:0;justify-content:center}.role-chip{display:none}.institution-name-text{max-width:130px}}.profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000008c;display:flex;justify-content:center;align-items:center;z-index:220000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-modal-content{background-color:#fff;border-radius:12px;width:90%;max-width:480px;box-shadow:0 8px 32px #0003;animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1);overflow:hidden;font-family:inherit}@keyframes modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.profile-modal-header{padding:16px 20px;background-color:var(--app-header-bg, #2e7d32);color:#fff;display:flex;justify-content:space-between;align-items:center}.profile-modal-header h3{margin:0;font-size:1.15rem;font-weight:600}.profile-modal-close-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;line-height:1;padding:0;opacity:.8;transition:opacity .2s}.profile-modal-close-btn:hover{opacity:1}.profile-modal-body{padding:20px 24px}.profile-form-group{margin-bottom:16px}.profile-form-group label{display:block;font-size:.85rem;font-weight:600;color:#495057;margin-bottom:6px}.profile-form-control{width:100%;padding:9px 12px;border:1px solid #ced4da;border-radius:6px;font-size:.9rem;box-sizing:border-box;color:#495057;background-color:#fff;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.profile-form-control:focus{border-color:var(--app-header-bg, #2e7d32);outline:0;box-shadow:0 0 0 .2rem #2e7d3240}.profile-form-control:disabled{background-color:#e9ecef;opacity:1;cursor:not-allowed}.profile-photo-section{display:flex;align-items:center;gap:16px;margin-bottom:20px;background-color:#f8f9fa;padding:16px;border-radius:8px;border:1px dashed #dee2e6}.profile-preview-wrapper{position:relative;width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid var(--app-header-bg, #2e7d32);display:flex;justify-content:center;align-items:center;background-color:#e9ecef;flex-shrink:0}.profile-preview-img{width:100%;height:100%;object-fit:cover}.profile-preview-fallback{font-size:1.8rem;color:#6c757d}.profile-photo-upload-input{display:none}.profile-photo-upload-label{background-color:var(--app-header-bg, #2e7d32);color:#fff;padding:6px 12px;font-size:.8rem;font-weight:600;border-radius:4px;cursor:pointer;transition:background-color .15s ease-in-out;display:inline-block}.profile-photo-upload-label:hover{background-color:#1b5e20}.profile-photo-info{font-size:.75rem;color:#6c757d;margin-top:4px}.profile-modal-footer{padding:16px 24px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #dee2e6;background-color:#f8f9fa}.profile-btn-cancel{background-color:#e2e8f0;border:none;color:#475569;padding:8px 16px;font-size:.85rem;font-weight:600;border-radius:6px;cursor:pointer;transition:background-color .15s ease-in-out}.profile-btn-cancel:hover{background-color:#cbd5e1}.profile-btn-save{background-color:var(--app-header-bg, #2e7d32);border:none;color:#fff;padding:8px 16px;font-size:.85rem;font-weight:600;border-radius:6px;cursor:pointer;transition:background-color .15s ease-in-out;display:flex;align-items:center;gap:6px}.profile-btn-save:hover{background-color:#1b5e20}.profile-btn-save:disabled{background-color:#81c784;cursor:not-allowed}.profile-alert{padding:10px 14px;border-radius:6px;font-size:.85rem;margin-bottom:16px}.profile-alert-danger{background-color:#f8d7da;color:#842029;border:1px solid #f5c2c7}.profile-alert-success{background-color:#d1e7dd;color:#0f5132;border:1px solid #badbcc}.user-profile-img{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.85);flex-shrink:0}.sidebar.main-sidebar{position:fixed;top:60px;left:0;width:var(--sidebar-width, 280px);height:calc(100dvh - 60px);max-height:calc(100dvh - 60px);z-index:1100;background:linear-gradient(180deg,var(--primary-light, #f4f8ff) 0%,var(--dash-bg, #eef4ff) 48%,var(--card-bg, #e9f0ff) 100%);border-right:1px solid var(--card-border, rgba(120, 148, 198, .22));box-shadow:8px 0 26px #152c5914;padding:18px 16px 96px;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transition:transform .3s ease-in-out,opacity .3s ease-in-out;font-family:Inter,Poppins,Segoe UI,sans-serif}.sidebar.main-sidebar::-webkit-scrollbar{width:7px}.sidebar.main-sidebar{scrollbar-width:thin;scrollbar-color:var(--primary-light, rgba(226, 236, 252, .45)) transparent}.sidebar.main-sidebar::-webkit-scrollbar-thumb{background:var(--primary-light, rgba(226, 236, 252, .45));border-radius:999px}.sidebar.main-sidebar::-webkit-scrollbar-track{background:transparent}.sidebar.main-sidebar.collapsed{transform:translate(-100%);opacity:0;pointer-events:none}.sidebar.main-sidebar.visible{transform:translate(0);opacity:1}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c162c59;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:1090}.sidebar-header{display:flex;justify-content:flex-end;margin-bottom:6px}.sidebar-close-btn{width:34px;height:34px;border:1px solid var(--card-border, rgba(120, 148, 198, .35));border-radius:10px;background:var(--card-bg, rgba(255, 255, 255, .86));color:var(--text-color-primary, #1f3f70);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.sidebar-close-btn:hover{background:var(--card-bg, #ffffff);box-shadow:0 6px 14px #1f3f7029}.sidebar-menu{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.sidebar-section-label{font-size:.7rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase;color:var(--text-on-primary, #ffffff);opacity:.78;margin:10px 0 0;padding:2px 8px}.sidebar-section-label:first-child{margin-top:2px}.sidebar-item{width:100%;color:var(--text-on-primary, #ffffff);border-radius:14px;transition:all .25s ease}.sidebar-item>i,.sidebar-item>span{pointer-events:none}.sidebar-link-item{min-height:44px;display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;font-size:.95rem;font-weight:500}.sidebar-item:hover,.dropdown-header:hover{background:transparent;color:var(--text-on-primary, #ffffff)}.sidebar-item.active{background:transparent;color:var(--text-on-primary, #ffffff);box-shadow:inset 3px 0 0 var(--primary-color, rgba(255, 255, 255, .88))}.sidebar-item>i,.dropdown-header>i:first-child,.dropdown-item>i{font-size:1rem;width:18px;min-width:18px;text-align:center;line-height:1}.dropdown{width:100%}.dropdown-header{border:0!important;background:transparent!important;color:inherit!important;width:100%;min-height:44px;border-radius:14px;padding:10px 12px!important;display:flex!important;align-items:center;gap:12px;font-weight:500;font-size:.95rem;text-decoration:none;box-shadow:none!important;transition:all .25s ease}.dropdown-header:after{display:none!important}.dropdown-header.open{background:transparent!important;color:var(--text-on-primary, #ffffff)!important}.dropdown-header span{flex:1;text-align:left}.dropdown-chevron{margin-left:auto;font-size:.72rem!important;color:var(--text-on-primary, #ffffff);opacity:.9;transition:transform .3s ease-in-out}.dropdown-header.open .dropdown-chevron{transform:rotate(180deg)}.sidebar-notification-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--danger-color, #ef4444);color:var(--text-on-primary, #ffffff);font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.sidebar-submenu{position:static!important;transform:none!important;float:none!important;margin:6px 0 2px!important;width:100%;border:0!important;border-radius:12px;background:transparent!important;box-shadow:none!important;display:block!important;padding:0 0 0 14px!important;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.sidebar-submenu.show{max-height:520px;opacity:1}.sidebar-submenu .dropdown-item{color:var(--text-on-primary, #ffffff)!important;opacity:.95;font-size:.86rem;font-weight:500;border-radius:10px;margin:4px 0;padding:8px 10px!important;transition:background-color .25s ease,color .25s ease,transform .25s ease}.sidebar-submenu .dropdown-item:hover{background:transparent!important;color:var(--text-on-primary, #ffffff)!important;transform:translate(2px)}.sidebar-submenu .dropdown-divider{margin:7px 0;border-top-color:var(--card-border, rgba(223, 233, 248, .32))}.smart-attendance-link{font-weight:700;color:var(--text-on-primary, #ffffff)!important}.smart-attendance-link:hover{color:var(--text-on-primary, #ffffff)!important}.sidebar-submenu .msbte-subitem{padding-left:16px!important;font-size:.83rem}@media (max-width: 1024px){.sidebar.main-sidebar{width:min(300px,86vw)}}@media (max-width: 768px){.sidebar.main-sidebar{top:0;height:100dvh;max-height:100dvh;padding-top:14px;border-right:1px solid var(--card-border, rgba(120, 148, 198, .26))}}html,body{margin:0;padding:0;height:100%;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.login-container{display:flex;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px #0000001f;max-width:820px;width:100%}.login-brand{flex:1;background:linear-gradient(135deg,var(--primary-accent, #28a745) 0%,var(--primary-accent-dark, #20c997) 100%);color:#fff;padding:40px 30px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.logo{height:60px;margin-bottom:18px;object-fit:contain}.login-title{font-size:20px;font-weight:600;margin-bottom:8px}.subheading{font-size:13px;opacity:.9}.login-box{flex:1;padding:35px 30px;display:flex;flex-direction:column;justify-content:center}.login-form{width:100%}.form-group{margin-bottom:16px;text-align:left}.form-group label{font-weight:500;display:block;margin-bottom:4px;color:#2c3e50;font-size:13px}.form-input{width:100%;padding:10px 12px;border:1px solid #e1e8ed;border-radius:6px;background-color:#fff;font-size:13px;color:#2c3e50;transition:all .25s ease;box-sizing:border-box}.form-input:focus{border-color:var(--primary-accent, #28a745);outline:none;box-shadow:0 0 0 3px #28a7451a}.form-input:hover{border-color:#bdc3c7}.hint{font-size:11px;color:#95a5a6;margin-top:3px;font-style:italic}.remember-section{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin-bottom:18px}.remember-section input[type=checkbox]{transform:scale(.95);accent-color:var(--primary-accent, #28a745)}.remember-section label{font-size:12px;color:#2c3e50;cursor:pointer}.login-button{width:100%;background:linear-gradient(135deg,var(--primary-accent, #28a745) 0%,var(--primary-accent-dark, #20c997) 100%);color:#fff;padding:11px 18px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 14px #28a74540}.login-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #28a74559}.login-button:active{transform:translateY(0)}.footer-content{margin-top:20px;padding-top:12px;border-top:1px solid #ecf0f1;text-align:center;font-size:11px;color:#7f8c8d}.footer-content a{color:var(--primary-accent, #28a745);text-decoration:none;font-weight:500}.footer-content a:hover{text-decoration:underline}@media (max-width: 768px){.login-container{flex-direction:column;max-width:420px}.login-brand{padding:30px 20px}.login-box{padding:25px 20px}}@media (max-width: 480px){.login-container{max-width:100%}.login-title{font-size:18px}.form-input{font-size:12px;padding:9px 10px}.login-button{font-size:12px;padding:10px 14px}}:root{--card-bg: #ffffff;--primary-accent: #10b981;--primary-accent-dark: #059669;--border-color: #e2e8f0;background:linear-gradient(180deg,#f7fafc,#eef2f7);--text-color-primary: #1f2937;--text-color-secondary: #374151;--border-color: color-mix(in srgb, var(--dashboard-accent) 10%, #e2e8f0 90%);--transition-speed: .3s;--dash-blue-1: #1f63d3;--dash-blue-2: #1145a5;--dash-cyan-1: #1cb5be;--dash-cyan-2: #168ea6}.scrollable-wrapper{height:calc(100vh - 60px);overflow-y:auto;padding:1rem 1rem 1.5rem}.faculty-dashboard-shell.scrollable-wrapper{height:auto;min-height:calc(100vh - 60px);overflow-y:visible;overflow-x:hidden;padding-top:1.35rem}.faculty-dashboard-shell{background:linear-gradient(180deg,color-mix(in srgb,var(--dashboard-accent) 8%,#f7fafc 92%),color-mix(in srgb,var(--dashboard-accent) 4%,#eef2f7 96%));position:relative}.faculty-dashboard-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 0% 0%,rgba(17,90,201,.1),transparent 40%),radial-gradient(circle at 100% 10%,rgba(28,181,190,.12),transparent 44%);pointer-events:none}.dashboard-hero-panel{margin:0 auto 1rem;max-width:1280px;background:linear-gradient(130deg,#f9fbff,#eff5ff 48%,#eefbfd);border:1px solid #d5e2f4;border-radius:18px;padding:1.1rem 1.35rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:1rem;align-items:center;box-shadow:0 14px 34px #0f234b1c}.dashboard-kicker{display:inline-block;padding:.28rem .62rem;border:1px solid #c4d8f7;border-radius:999px;color:#1f4d95;background:#f4f8ff;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.dashboard-hero-copy h2{margin:.5rem 0 0;font-size:1.55rem;font-weight:700;color:#0d2447;line-height:1.25}.dashboard-hero-copy p{margin:.45rem 0 0;color:#3f5472;font-size:.93rem}.dashboard-progress-card{background:#fff;border:1px solid #d7e3f2;border-radius:14px;padding:.9rem 1rem;box-shadow:0 8px 18px #0d224214}.dashboard-progress-head{display:flex;justify-content:space-between;align-items:center;color:#0f172a;font-weight:600;margin-bottom:.5rem}.dashboard-progress-head strong{color:#1f4fa3;font-size:1rem}.dashboard-progress-track{height:10px;width:100%;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-bottom:.45rem}.dashboard-progress-fill{height:100%;background:linear-gradient(90deg,var(--dash-blue-1),var(--dash-cyan-1));border-radius:inherit;transition:width .35s ease}.dashboard-progress-meta{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:#475569}.analytics-grid{display:grid;max-width:1280px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:.35rem .2rem 1rem}.analytics-card{background:#fff;border:1px solid #d4e0ef;border-radius:16px;padding:1rem 1.1rem;box-shadow:0 10px 22px #0e224614;transition:transform .24s ease,box-shadow .24s ease}.analytics-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px #0e22461f}.analytics-card-wide{grid-column:1 / -1}.analytics-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.95rem}.analytics-card-head h3{margin:0;font-size:1.12rem;letter-spacing:.01em;color:#132a4b}.analytics-card-head span{font-size:.8rem;color:#5d6f85}.analytics-note{margin:.8rem 0 0;font-size:.8rem;color:#64748b}.donut-chart{width:170px;height:170px;margin:0 auto;border-radius:50%;display:grid;place-items:center;box-shadow:0 12px 24px #1f63d326}.donut-center{width:120px;height:120px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e2e8f0}.donut-center strong{color:#0f172a;font-size:1.5rem;line-height:1}.donut-center span{margin-top:.3rem;color:#64748b;font-size:.8rem}.bar-chart{height:220px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}.bar-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.25rem}.bar-track{height:160px;width:100%;border-radius:10px;background:#eef4fa;border:1px solid #deebf7;display:flex;align-items:flex-end;overflow:hidden}.bar-fill{width:100%;border-radius:8px;background:linear-gradient(180deg,var(--dash-cyan-1) 0%,var(--dash-cyan-2) 100%);transition:height .35s ease;min-height:0}.bar-item strong{font-size:.85rem;color:#0f172a}.bar-item span{font-size:.72rem;color:#64748b;text-align:center;line-height:1.2}.tar-module-chart{border:1px solid #dbe7f1;border-radius:12px;background:linear-gradient(180deg,#fcfeff,#f4f8fd);padding:.9rem}.tar-chart-scale{display:flex;justify-content:space-between;font-size:.74rem;color:#64748b;margin-bottom:.55rem}.tar-module-list{display:grid;gap:.75rem}.tar-row{display:grid;gap:.35rem}.tar-row-head{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;color:#475569}.tar-row-head span:first-child{font-weight:600;color:#1e293b}.tar-track{position:relative;height:28px;border-radius:8px;background:#eaf0f7;border:1px solid #d9e4f0;overflow:hidden}.tar-fill{height:100%;background:linear-gradient(90deg,var(--dash-cyan-1),#17b9ab);border-radius:inherit;transition:width .35s ease}.tar-track strong{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);font-size:.78rem;color:#0f172a}.metric-block{margin-top:.7rem}.metric-label-row{display:flex;justify-content:space-between;margin-bottom:.3rem;font-size:.82rem;color:#334155}.metric-label-row strong{color:#0f172a}.metric-track{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.metric-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--dash-blue-1),var(--dash-cyan-1))}.metric-fill-secondary{background:linear-gradient(90deg,#178eb6,#1f63d3)}.dashboard-section-head{max-width:1280px;margin:.25rem auto .35rem;padding:0 .3rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem}.dashboard-section-head h3{margin:0;color:#132a4b;font-size:1.08rem}.dashboard-section-head span{color:#5a6f8f;font-size:.82rem}.card-container{display:grid;max-width:1280px;margin:0 auto;padding:.4rem .2rem 1rem;grid-template-columns:repeat(4,1fr);gap:1.2rem;box-sizing:border-box}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.card-item{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--primary-accent, #10b981) 4%,#ffffff 96%));border-radius:16px;padding:2rem 1.5rem;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px solid color-mix(in srgb,var(--primary-accent, #10b981) 28%,#e2e8f0 72%);position:relative;overflow:hidden;box-shadow:0 8px 24px color-mix(in srgb,var(--primary-accent, #10b981) 16%,transparent);transition:all .35s cubic-bezier(.34,1.56,.64,1);opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}.card-item:nth-child(1){animation-delay:.05s}.card-item:nth-child(2){animation-delay:.1s}.card-item:nth-child(3){animation-delay:.15s}.card-item:nth-child(4){animation-delay:.2s}.card-item:nth-child(5){animation-delay:.25s}.card-item:nth-child(6){animation-delay:.3s}.card-item:nth-child(7){animation-delay:.35s}.card-item:nth-child(8){animation-delay:.4s}.card-item:nth-child(9){animation-delay:.45s}.card-item:nth-child(10){animation-delay:.5s}.card-item:nth-child(11){animation-delay:.55s}.card-item:nth-child(12){animation-delay:.6s}.card-item:nth-child(13){animation-delay:.65s}.card-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--primary-accent, #10b981) 18%,transparent) 0%,transparent 55%);opacity:0;transition:opacity .35s ease;pointer-events:none}.card-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,color-mix(in srgb,#ffffff 60%,transparent) 50%,transparent 100%);opacity:0;transition:opacity .35s ease;pointer-events:none}.card-item:hover,.card-item:focus-visible{transform:translateY(-8px);box-shadow:0 20px 40px color-mix(in srgb,var(--primary-accent, #10b981) 26%,transparent);border-color:color-mix(in srgb,var(--primary-accent, #10b981) 52%,#e2e8f0 48%);outline:none}.card-item:hover:before{opacity:1}.card-item:hover:after{opacity:.6}.card-icon{font-size:2.6rem;color:var(--primary-accent, #10b981);margin-bottom:1.1rem;transition:all .35s cubic-bezier(.34,1.56,.64,1);width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-accent, #10b981) 12%,#ffffff 88%),color-mix(in srgb,var(--primary-accent, #10b981) 18%,#ffffff 82%));border-radius:12px;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-accent, #10b981) 20%,transparent)}.card-item:hover .card-icon{transform:scale(1.2) rotate(6deg);color:var(--primary-accent-dark, #059669);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-accent, #10b981) 22%,#ffffff 78%),color-mix(in srgb,var(--primary-accent, #10b981) 28%,#ffffff 72%));box-shadow:0 8px 20px color-mix(in srgb,var(--primary-accent, #10b981) 32%,transparent)}.card-label{font-size:.96rem;font-weight:700;color:color-mix(in srgb,var(--primary-accent-dark, #059669) 72%,#0f172a 28%);line-height:1.45;margin:0;transition:all .35s ease;letter-spacing:.015em}.card-item:hover .card-label{color:var(--primary-accent-dark, #059669);transform:translateY(-2px)}.admin-card{background:linear-gradient(135deg,#f0f4f8,#e2e8f0);border-left:4px solid var(--primary-accent)}.admin-card .card-icon{color:#4c51bf;background:linear-gradient(135deg,#e0e7ff,#f0f4ff)}.admin-card:hover .card-icon{color:#3c366b}.card-description{font-size:.8rem;color:var(--text-color-secondary);margin-top:.5rem;line-height:1.3}@media (max-width: 1024px){.dashboard-hero-panel,.analytics-grid{grid-template-columns:1fr}.analytics-card-wide{grid-column:auto}.card-container{grid-template-columns:repeat(3,1fr);gap:1rem}.card-item{padding:1.75rem 1.25rem}}@media (max-width: 768px){.card-container{grid-template-columns:repeat(2,1fr);gap:.9rem}.card-item{padding:1.5rem 1rem}.card-icon{font-size:2.2rem;width:54px;height:54px;margin-bottom:.9rem}.card-label{font-size:.9rem}}@media (max-width: 480px){.card-container{grid-template-columns:1fr;gap:.8rem}.card-item{padding:1.4rem 1rem}.card-icon{font-size:2rem;width:50px;height:50px;margin-bottom:.8rem}.card-label{font-size:.88rem}}@media (max-width: 768px){.faculty-dashboard-shell.scrollable-wrapper{padding:1rem .65rem}.analytics-grid{padding:.2rem}.bar-chart{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.bar-track{height:120px}.card-container{grid-template-columns:repeat(2,1fr);margin-left:0;padding:.8rem .2rem}}@media (max-width: 480px){.card-container{grid-template-columns:1fr;gap:1rem}}.profile-container{max-width:960px;margin:30px auto;padding:0 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.profile-page-header{margin-bottom:24px}.profile-page-header h1{font-size:1.85rem;font-weight:700;color:#1e293b;margin:0 0 6px}.profile-page-header p{font-size:.95rem;color:#64748b;margin:0}.profile-grid{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}.profile-card{background-color:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;padding:24px}.photo-card{text-align:center}.avatar-section{display:flex;flex-direction:column;align-items:center}.avatar-wrapper{position:relative;width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid var(--app-header-bg, #2e7d32);background-color:#f1f5f9;cursor:pointer;margin-bottom:16px;box-shadow:0 4px 10px #00000014}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-fallback{font-size:4.5rem;line-height:120px;color:#94a3b8}.avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000080;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity .2s ease-in-out;cursor:pointer}.avatar-wrapper:hover .avatar-overlay{opacity:1}.avatar-overlay i{font-size:1.5rem;margin-bottom:4px}.avatar-overlay span{font-size:.75rem;font-weight:600}.avatar-section h3{font-size:1.15rem;font-weight:700;color:#1e293b;margin:0 0 8px}.status-badge{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:700;border-radius:9999px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.status-badge.active{background-color:#d1e7dd;color:#0f5132;border:1px solid #badbcc}.photo-instructions{font-size:.75rem;color:#64748b;line-height:1.4}.details-card h2{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 20px;border-bottom:1px solid #f1f5f9;padding-bottom:10px}.profile-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group.read-only{opacity:.85}.form-group label{font-size:.85rem;font-weight:600;color:#475569;margin-bottom:6px}.required-label:after{content:" *";color:#ef4444}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper i{position:absolute;left:12px;color:#94a3b8;font-size:1.05rem}.input-wrapper .lock-icon{color:#64748b}.input-wrapper input{width:100%;padding:9px 12px 9px 38px;border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;color:#334155;background-color:#fff;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;box-sizing:border-box}.input-wrapper input:focus{outline:none;border-color:var(--app-header-bg, #2e7d32);box-shadow:0 0 0 3px #2e7d322e}.input-wrapper input:disabled{background-color:#f1f5f9;color:#64748b;border-color:#e2e8f0;cursor:not-allowed}.password-verification-field{grid-column:span 2;margin-top:10px;background-color:#f8fafc;padding:16px;border-radius:8px;border:1px solid #e2e8f0}.verification-text{font-size:.75rem;color:#64748b;margin-top:6px;display:block}.form-actions{margin-top:24px;display:flex;justify-content:flex-end;border-top:1px solid #f1f5f9;padding-top:20px}.save-btn{background-color:var(--app-header-bg, #2e7d32);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .15s ease-in-out,transform .1s;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 4px #2e7d3226}.save-btn:hover{background-color:#1b5e20}.save-btn:active{transform:translateY(1px)}.save-btn:disabled{background-color:#a5d6a7;color:#fff;cursor:not-allowed;box-shadow:none}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.profile-loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0}.profile-loading-spinner .spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid var(--app-header-bg, #2e7d32);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.profile-loading-spinner p{color:#64748b;font-size:.95rem}.profile-alert-box{display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:8px;margin-bottom:24px;font-size:.9rem;animation:fadeIn .3s}.profile-alert-box.alert-success{background-color:#d1e7dd;color:#0f5132;border:1px solid #badbcc}.profile-alert-box.alert-danger{background-color:#f8d7da;color:#842029;border:1px solid #f5c2c7}.profile-alert-box i{font-size:1.15rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.profile-grid,.profile-form .form-grid{grid-template-columns:1fr}.password-verification-field{grid-column:span 1}}.student-dashboard{--student-primary: var(--primary-accent, #2563eb);--student-primary-dark: var(--primary-accent-dark, #1d4ed8);--student-primary-light: var(--primary-accent-light, #eff6ff);--student-bg: var(--dash-bg, #f8fafc);--student-surface: var(--card-bg, #ffffff);--student-border: var(--border-color, #dbe5f1);--student-text: var(--text-main, #0f172a);--student-muted: var(--text-muted, #64748b);--student-on-primary: var(--text-on-primary, #ffffff);display:flex;width:100%;height:100vh;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--student-primary-light) 38%,#ffffff 62%),#f8fafc)}.student-sidebar{width:270px;height:100vh;position:fixed;top:0;left:0;z-index:1200;overflow-y:auto;background:linear-gradient(180deg,var(--student-primary-dark) 0%,color-mix(in srgb,var(--student-primary-dark) 80%,#000000 20%) 100%);border-right:1px solid color-mix(in srgb,var(--student-primary) 32%,#ffffff 68%);box-shadow:0 20px 36px color-mix(in srgb,var(--student-primary-dark) 42%,#000000 58%)}.sidebar-header{padding:22px 16px;border-bottom:1px solid color-mix(in srgb,#ffffff 18%,transparent)}.student-brand{display:flex;align-items:center;gap:10px;min-width:0}.student-brand>div{min-width:0}.sidebar-title{margin:0;color:var(--student-on-primary);font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-brand-subtitle{margin:2px 0 0;color:color-mix(in srgb,#ffffff 78%,transparent);font-size:.78rem;font-weight:500}.student-brand-logo,.student-brand-fallback,.student-header-logo,.student-header-fallback{width:34px;height:34px;border-radius:10px;object-fit:cover;border:1px solid color-mix(in srgb,#ffffff 45%,transparent)}.student-brand-fallback,.student-header-fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem;text-transform:uppercase}.student-brand-fallback{background:color-mix(in srgb,#ffffff 16%,transparent);color:var(--student-on-primary)}.sidebar-menu{list-style:none;margin:0;padding:10px;display:grid;gap:4px}.sidebar-item{border:none}.menu-item,.dropdown-toggle{width:100%;border:1px solid transparent;border-radius:10px;background:transparent;color:color-mix(in srgb,#ffffff 86%,transparent);display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:pointer;font-size:.9rem;font-weight:600;text-align:left;transition:all .2s ease}.menu-item i,.dropdown-toggle i{margin-right:0;width:20px;text-align:center;font-size:.98rem}.dropdown-toggle{justify-content:space-between}.dropdown-toggle span{flex:1}.menu-item:hover,.dropdown-toggle:hover,.dropdown-item:hover{background:color-mix(in srgb,var(--student-primary) 26%,transparent);color:var(--student-on-primary);border-color:color-mix(in srgb,#ffffff 26%,transparent)}.menu-item.active,.dropdown-toggle.active,.dropdown-item.active{background:linear-gradient(135deg,var(--student-primary) 0%,color-mix(in srgb,var(--student-primary-dark) 85%,#0f172a 15%) 100%);color:var(--student-on-primary);border-color:color-mix(in srgb,#ffffff 42%,transparent);box-shadow:0 10px 18px color-mix(in srgb,var(--student-primary) 34%,transparent)}.dropdown-menu{list-style:none;margin:6px 0 0;padding:6px;border-radius:10px;background:color-mix(in srgb,#000000 18%,transparent)}.dropdown-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;cursor:pointer;color:color-mix(in srgb,#ffffff 82%,transparent);border:1px solid transparent;font-size:.86rem;transition:all .2s ease}.dropdown-item i{width:18px;text-align:center}.student-main-content{flex:1;margin-left:270px;height:100vh;display:flex;flex-direction:column;overflow:hidden}.student-header{position:sticky;top:0;z-index:1100;min-height:62px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,var(--student-surface) 0%,color-mix(in srgb,var(--student-primary-light) 34%,#ffffff 66%) 100%);border-bottom:1px solid var(--student-border);box-shadow:0 8px 20px #02061714}.header-left{flex:1;min-width:0}.student-header-brand{display:flex;align-items:center;gap:9px;min-width:0}.student-header-brand h1{margin:0;font-size:1rem;color:var(--student-text);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-header-fallback{background:color-mix(in srgb,var(--student-primary-light) 75%,#ffffff 25%);color:var(--student-primary-dark);border-color:color-mix(in srgb,var(--student-primary) 40%,#ffffff 60%)}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.user-name{font-size:.85rem;font-weight:700;color:var(--student-text)}.college-info{font-size:.72rem;color:var(--student-muted)}.mobile-menu-toggle{display:none;width:36px;height:36px;border-radius:9px;border:1px solid var(--student-border);background:var(--student-surface);color:var(--student-text);cursor:pointer;font-size:1.1rem;align-items:center;justify-content:center}.mobile-menu-toggle:hover{background:color-mix(in srgb,var(--student-primary-light) 60%,#ffffff 40%)}.logout-btn{min-height:36px;border:1px solid color-mix(in srgb,var(--danger-color, #ef4444) 40%,#ffffff 60%);border-radius:10px;background:color-mix(in srgb,var(--danger-color, #ef4444) 14%,#ffffff 86%);color:var(--danger-color, #b91c1c);font-size:.82rem;font-weight:700;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;cursor:pointer}.logout-btn:hover{background:color-mix(in srgb,var(--danger-color, #ef4444) 22%,#ffffff 78%)}.student-page-content{flex:1;padding:20px;overflow-y:auto}.mobile-sidebar-overlay{display:none}@media (max-width: 1024px){.student-sidebar{width:250px}.student-main-content{margin-left:250px}}@media (max-width: 768px){.student-sidebar{transform:translate(-104%);transition:transform .25s ease;width:min(84vw,300px)}.student-sidebar.mobile-visible{transform:translate(0)}.mobile-sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#0f172a 52%,transparent);z-index:1190;opacity:0;pointer-events:none;transition:opacity .25s ease;display:block}.mobile-sidebar-overlay.visible{opacity:1;pointer-events:auto}.student-main-content{margin-left:0}.mobile-menu-toggle{display:inline-flex;flex-shrink:0}.user-info{display:none}.student-header{padding:10px 12px}.student-header-brand h1{font-size:.9rem}.student-page-content{padding:14px}.logout-btn{width:36px;height:36px;min-height:36px;padding:0;justify-content:center}.logout-btn span{display:none}}.student-dashboard-content{padding:0;display:grid;gap:18px}.welcome-section,.hero-section,.quick-access{background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #dbe5f1);border-radius:16px;box-shadow:0 6px 16px #0206170d}.welcome-section{padding:18px}.welcome-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.welcome-section h1{margin:0;color:var(--text-main, #0f172a);font-weight:800;font-size:1.4rem}.welcome-section p{margin:6px 0 0;color:var(--text-muted, #64748b);font-size:.95rem;font-weight:500}.datetime-display{text-align:right;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--primary-accent-light, #eff6ff) 75%,#ffffff 25%);border:1px solid color-mix(in srgb,var(--primary-accent, #2563eb) 24%,#ffffff 76%)}.time{font-size:1.2rem;font-weight:800;color:var(--text-main, #0f172a)}.date{font-size:.78rem;color:var(--text-muted, #64748b);margin-top:2px}.hero-section{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,var(--primary-accent, #2563eb) 0%,var(--primary-accent-dark, #1d4ed8) 100%);color:var(--text-on-primary, #ffffff);border-color:transparent}.hero-content{flex:1;min-width:0}.hero-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,#ffffff 20%,transparent);border:1px solid color-mix(in srgb,#ffffff 45%,transparent);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.hero-content h2{margin:12px 0 8px;font-size:1.55rem;font-weight:800}.hero-content p{margin:0;opacity:.94}.hero-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.cta-button{padding:10px 14px;border-radius:10px;border:1px solid color-mix(in srgb,#ffffff 55%,transparent);background:#fff;color:var(--primary-accent-dark, #1d4ed8);font-weight:700;cursor:pointer}.cta-button.secondary{background:color-mix(in srgb,#ffffff 20%,transparent);color:#fff}.hero-image{font-size:4rem;opacity:.9;min-width:100px;text-align:center}.quick-access{padding:18px}.quick-access h2{margin:0 0 14px;color:var(--text-main, #0f172a);font-size:1.08rem;font-weight:800}.cards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.card{background:linear-gradient(135deg,#fff,#f8fbff);border-radius:12px;padding:16px 12px;text-align:left;box-shadow:0 4px 10px #0f172a0f;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color, #dbe5f1);display:grid;gap:7px}.card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-accent, #2563eb) 35%,#ffffff 65%);box-shadow:0 10px 20px #0f172a1f}.card i{font-size:1.3rem;color:var(--primary-accent-dark, #1d4ed8)}.card span{font-size:.95rem;font-weight:700;color:var(--text-main, #0f172a)}.card small{font-size:.74rem;color:var(--text-muted, #64748b);line-height:1.35}@media (max-width: 768px){.welcome-section,.quick-access{padding:14px}.welcome-header{flex-direction:column;align-items:flex-start}.datetime-display{width:100%;text-align:left}.hero-section{padding:16px;flex-direction:column;align-items:flex-start}.hero-content h2{font-size:1.2rem}.hero-image{font-size:2.8rem;min-width:auto}.cards-container{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.cards-container{grid-template-columns:1fr}}.student-content-container{padding:20px;background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #dbe5f1);border-radius:16px;box-shadow:0 8px 18px #0206170f;margin:0;min-height:calc(100vh - 130px);animation:fadeIn .3s ease-in-out}.student-content-container .content-header h1{color:var(--text-main, #0f172a);margin-top:0;padding-bottom:15px;border-bottom:1px solid var(--border-color, #dbe5f1);font-weight:800}.student-content-container .content-header p{color:var(--text-muted, #64748b);font-size:.96rem;line-height:1.6}.content-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:70%;text-align:center;padding:2rem}.content-placeholder i{font-size:5rem;color:#cbd5e0;margin-bottom:20px;transition:transform .3s ease}.content-placeholder i:hover{transform:scale(1.1)}.content-placeholder p{font-size:1.2rem;color:#a0aec0;margin-top:1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:70%}.spinner{width:50px;height:50px;border:4px solid rgba(79,70,229,.1);border-top:4px solid #4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-container p{color:#718096;font-size:1.1rem}.filter-section{margin-bottom:2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.filter-section label{font-weight:600;color:var(--text-main, #0f172a)}.filter-select{padding:.5rem 1rem;border:1px solid var(--border-color, #dbe5f1);border-radius:10px;background-color:var(--card-bg, #ffffff);font-size:1rem;color:var(--text-main, #0f172a);transition:all .2s ease;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--primary-accent, #2563eb);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-accent, #2563eb) 16%,transparent)}.no-results,.no-notices{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;background-color:#f8fafc;border-radius:8px;margin:2rem 0}.no-results i,.no-notices i{font-size:4rem;color:#cbd5e0;margin-bottom:1rem}.no-results p,.no-notices p{color:#718096;font-size:1.1rem;margin:0}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;background-color:#fff5f5;border-radius:8px;margin:2rem 0;border:1px solid #fed7d7}.error-container i{font-size:4rem;color:#fc8181;margin-bottom:1rem}.error-container p{color:#c53030;font-size:1.1rem;margin:0 0 1.5rem}.retry-btn{padding:.75rem 1.5rem;background-color:#e53e3e;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.retry-btn:hover{background-color:#c53030}.results-controls{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem;margin-bottom:2rem}.result-card{background:linear-gradient(135deg,#fff,#f8fbff);border-radius:14px;padding:1rem;box-shadow:0 4px 10px #0000000d;transition:all .3s ease;border:1px solid var(--border-color, #dbe5f1)}.result-card:hover{transform:translateY(-3px);box-shadow:0 12px 20px #0000001c}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.result-header h3{margin:0;color:var(--text-main, #0f172a);font-size:1rem;line-height:1.4}.result-header h3 small{font-size:.74rem;font-weight:600;color:var(--text-muted, #64748b)}.grade-badge{padding:.22rem .64rem;border-radius:20px;color:#fff;font-weight:600;font-size:.74rem}.grade-badge.ct-pill{background:linear-gradient(135deg,var(--primary-accent, #2563eb) 0%,var(--primary-accent-dark, #1d4ed8) 100%)}.result-details{margin-bottom:1.5rem}.detail-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.detail-label{color:var(--text-muted, #64748b);font-weight:500}.detail-value{color:var(--text-main, #0f172a);font-weight:500}.marks-section{display:flex;justify-content:space-between;align-items:center}.marks-display{display:flex;align-items:baseline}.marks{font-size:1.55rem;font-weight:700;color:var(--text-main, #0f172a)}.max-marks{font-size:1rem;color:var(--text-muted, #64748b);margin-left:.25rem}.percentage{font-size:1.2rem;font-weight:700;color:var(--primary-accent-dark, #1d4ed8)}.performance-summary{background-color:color-mix(in srgb,var(--primary-accent-light, #eff6ff) 45%,#ffffff 55%);border-radius:14px;border:1px solid var(--border-color, #dbe5f1);padding:1.2rem;margin-top:2rem}.performance-summary h2{margin-top:0;color:#2d3748;font-size:1.5rem;margin-bottom:1.5rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{display:flex;align-items:center;background:var(--card-bg, #ffffff);padding:1rem;border-radius:10px;box-shadow:0 2px 6px #0000000d;border:1px solid var(--border-color, #dbe5f1)}.stat-card i{font-size:1.5rem;color:var(--primary-accent-dark, #1d4ed8);margin-right:1rem;background-color:color-mix(in srgb,var(--primary-accent-light, #eff6ff) 75%,#ffffff 25%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-main, #0f172a)}.stat-label{color:var(--text-muted, #64748b);font-size:.875rem}@media (max-width: 768px){.student-content-container{padding:14px;border-radius:12px}.results-grid{grid-template-columns:1fr;gap:10px}.result-card{padding:.9rem}.marks{font-size:1.3rem}}.notices-controls{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.notices-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.notice-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 4px 6px #0000000d;transition:all .3s ease;border:1px solid #e2e8f0}.notice-card:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000014}.notice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.notice-meta{display:flex;align-items:center;gap:.75rem}.notice-meta i{color:#4f46e5;font-size:1.25rem}.notice-category{background-color:#eef2ff;color:#4f46e5;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.notice-priority{font-weight:500;font-size:.875rem}.notice-date{color:#718096;font-size:.875rem}.notice-title{color:#2d3748;margin:0 0 1rem;font-size:1.25rem}.notice-content{color:#4a5568;line-height:1.6;margin:0 0 1rem}.notice-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e2e8f0;padding-top:1rem}.notice-author{color:#718096;font-weight:500}.notices-summary{background-color:#f8fafc;border-radius:10px;padding:1.5rem;margin-top:2rem}.notices-summary h2{margin-top:0;color:#2d3748;font-size:1.5rem;margin-bottom:1.5rem}.mark-as-read-btn{padding:.5rem 1rem;background-color:#4f46e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s;font-size:.9rem}.mark-as-read-btn:hover{background-color:#4338ca}.mock-exam-shell{min-height:100%;padding:24px;color:#1f2937}.mock-exam-page,.mock-exam-hero,.mock-exam-panel,.mock-exam-card,.mock-exam-table,.mock-exam-result,.mock-exam-attempt{background:linear-gradient(180deg,#fff,#fff7ed);border:1px solid rgba(127,29,29,.12);border-radius:20px;box-shadow:0 18px 60px #7f1d1d14}.mock-exam-page{min-height:calc(100vh - 40px);padding:24px}.mock-exam-hero{padding:24px;margin-bottom:20px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}.mock-exam-title{margin:0;font-size:2rem;font-weight:800;color:#7f1d1d;letter-spacing:-.02em}.mock-exam-subtitle{margin:8px 0 0;color:#6b7280;max-width:70ch}.mock-exam-pill,.mock-exam-chip,.mock-exam-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700}.mock-exam-pill{background:#7f1d1d14;color:#7f1d1d}.mock-exam-chip.draft,.mock-exam-status.upcoming{background:#ca8a041f;color:#a16207}.mock-exam-chip.published,.mock-exam-status.completed{background:#15803d1f;color:#166534}.mock-exam-status.active{background:#2563eb1f;color:#1d4ed8}.mock-exam-grid{display:grid;gap:16px}.mock-exam-grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.mock-exam-grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.mock-exam-card,.mock-exam-panel,.mock-exam-table,.mock-exam-result,.mock-exam-attempt{padding:20px}.mock-exam-card-title,.mock-exam-section-title{margin:0 0 8px;font-size:1.1rem;font-weight:700;color:#7f1d1d}.mock-exam-toolbar,.mock-exam-action-row,.mock-exam-stats,.mock-exam-form-grid,.mock-exam-result-grid{display:grid;gap:14px}.mock-exam-toolbar,.mock-exam-action-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;margin-bottom:16px}.mock-exam-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:18px 0}.mock-exam-stat{padding:16px;border-radius:18px;background:#7f1d1d0a;border:1px solid rgba(127,29,29,.08)}.mock-exam-stat span{display:block;margin-bottom:6px;color:#6b7280}.mock-exam-stat strong{font-size:1.35rem;color:#111827}.mock-exam-field{display:flex;flex-direction:column;gap:6px;flex:1 1 220px}.mock-exam-field label{font-weight:700;color:#374151}.mock-exam-input,.mock-exam-select,.mock-exam-textarea{width:100%;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:14px;padding:11px 14px;outline:none}.mock-exam-input:focus,.mock-exam-select:focus,.mock-exam-textarea:focus{border-color:#7f1d1d;box-shadow:0 0 0 3px #7f1d1d1f}.mock-exam-input::placeholder,.mock-exam-textarea::placeholder{color:#9ca3af}.mock-exam-textarea{min-height:110px;resize:vertical}.mock-exam-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.mock-exam-question-card{margin-bottom:14px;padding:16px;border-radius:18px;background:#7f1d1d08;border:1px solid rgba(127,29,29,.1)}.mock-exam-question-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.mock-exam-question-meta{font-size:.88rem;color:#6b7280}.mock-exam-divider{height:1px;background:#7f1d1d1f;margin:18px 0}.mock-exam-nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:8px}.mock-exam-nav-btn{border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:12px;padding:10px 0;font-weight:700}.mock-exam-nav-btn.active{background:#7f1d1d;border-color:#7f1d1d;color:#fff}.mock-exam-option{display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px;border-radius:14px;border:1px solid #d1d5db;background:#fff}.mock-exam-option input{accent-color:#7f1d1d}.mock-exam-button,.mock-exam-btn{border:0;border-radius:14px;padding:10px 16px;font-weight:700;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.mock-exam-button,.mock-exam-btn.primary{background:linear-gradient(135deg,#f59e0b,#fb923c);color:#422006}.mock-exam-button.secondary,.mock-exam-btn.secondary,.mock-exam-btn.ghost{background:#fff;color:#7f1d1d;border:1px solid #d1d5db}.mock-exam-button.danger,.mock-exam-btn.danger{background:#ef4444;color:#fff}.mock-exam-button:hover,.mock-exam-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #7f1d1d1f}.mock-exam-button:disabled,.mock-exam-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.mock-exam-table{width:100%;overflow-x:auto}.mock-exam-table table{width:100%;border-collapse:collapse}.mock-exam-table th,.mock-exam-table td{padding:12px 10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.mock-exam-empty{padding:18px;color:#6b7280}.mock-exam-section-title{margin-top:24px}.mock-exam-card strong,.mock-exam-panel strong{color:#111827}.mock-exam-result-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media (max-width: 768px){.mock-exam-shell{padding:16px}.mock-exam-page{padding:18px;border-radius:16px}.mock-exam-hero{padding:18px}.mock-exam-title{font-size:1.5rem}}.practical-exams-container{padding:20px;max-width:1200px;margin:0 auto}.exams-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:30px}.exams-header h2{font-size:28px;font-weight:600;color:#333;margin:0 0 8px}.exams-header p{font-size:14px;color:#666;margin:0}.student-exam-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.summary-label{color:#666;font-size:13px;font-weight:600}.summary-value{color:var(--primary-accent-dark, #059669);font-size:20px;font-weight:700}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;color:#999}.exams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.exam-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.exam-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.card-header{padding:16px;border-bottom:2px solid var(--primary-accent, #10b981);display:flex;justify-content:space-between;align-items:start;gap:10px}.card-header h3{font-size:18px;font-weight:600;color:#333;margin:0;flex:1}.marks-badge{display:inline-block;padding:4px 12px;background:var(--primary-accent, #10b981);color:#fff;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.card-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:16px}.exam-info{display:flex;flex-direction:column;gap:8px;font-size:13px}.info-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f0f0f0}.info-row .label{font-weight:600;color:#666}.info-row .value{color:#333;text-align:right}.card-actions{margin-top:auto}.btn{width:100%;padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.btn-outline{border:1px solid var(--primary-accent, #10b981);color:var(--primary-accent, #10b981);background:#fff;width:auto}.btn-outline:hover{background:var(--primary-accent, #10b981);color:#fff}.btn-primary:hover{background:var(--primary-accent-dark, #059669)}@media (max-width: 768px){.exams-header{flex-direction:column;align-items:flex-start}.student-exam-summary,.exams-grid{grid-template-columns:1fr}.card-header{flex-direction:column;align-items:flex-start}.marks-badge{align-self:flex-start}}.upload-container{padding:20px;max-width:1200px;margin:0 auto;min-height:100vh}.upload-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.upload-header{padding:20px;border-bottom:1px solid #e9ecef;display:flex;align-items:center;gap:16px}.btn-back{padding:8px 16px;border:none;background:var(--primary-accent, #10b981);color:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;transition:background .2s ease}.upload-header .page-title{font-size:24px;font-weight:600;color:#333;margin:0}.upload-content{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:30px;align-items:start}.exam-details{display:flex;flex-direction:column;gap:20px}.exam-details h2{font-size:22px;font-weight:600;color:#333;margin:0;padding-bottom:16px;border-bottom:2px solid var(--primary-accent, #10b981)}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:#f8f9fa;border-radius:4px}.detail-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase}.detail-value{font-size:16px;font-weight:600;color:#333}.exam-description{padding:16px;background:#f0f7ff;border-left:4px solid var(--primary-accent, #10b981);border-radius:4px}.exam-description h3{font-size:14px;font-weight:600;color:#333;margin:0 0 8px}.exam-description p{font-size:13px;color:#666;margin:0;line-height:1.5}.exam-questions{display:flex;flex-direction:column;gap:12px}.exam-questions h3{font-size:14px;font-weight:600;color:#333;margin:0}.questions-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.question-item{display:flex;gap:12px;padding:12px;background:#f8f9fa;border-radius:4px;border-left:3px solid var(--primary-accent, #10b981)}.single-question{border-left-width:5px;background:#f5fff9}.question-empty{padding:12px;border-radius:6px;background:#fff8e1;color:#7a5a00;font-size:13px;border-left:4px solid #ffca28}.existing-submission-note{display:flex;align-items:center;gap:8px;font-size:13px;color:#155724;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:6px;padding:10px 12px}.question-number{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary-accent, #10b981);color:#fff;border-radius:4px;font-weight:600;font-size:12px}.question-details{flex:1;display:flex;flex-direction:column;gap:6px}.question-text{font-size:13px;color:#333;margin:0;line-height:1.4}.question-meta{display:flex;gap:12px;font-size:11px}.question-meta .marks{display:flex;align-items:center;gap:4px;color:#666;font-weight:500}.question-meta .difficulty{padding:2px 8px;border-radius:3px;font-weight:600;text-transform:uppercase}.question-meta .difficulty[data-difficulty=easy]{background:#d4edda;color:#155724}.question-meta .difficulty[data-difficulty=medium]{background:#fff3cd;color:#856404}.question-meta .difficulty[data-difficulty=hard]{background:#f8d7da;color:#721c24}.upload-form-section{position:sticky;top:20px}.upload-form{display:flex;flex-direction:column;gap:16px;padding:20px;background:#f8f9fa;border-radius:8px}.form-title{font-size:18px;font-weight:600;color:#333;margin:0}.alert{padding:12px 16px;border-radius:6px;display:flex;align-items:center;gap:10px;font-size:13px}.file-input-wrapper{position:relative;display:flex}.file-input{display:none}.file-label{flex:1;padding:30px 20px;border:2px dashed var(--primary-accent, #10b981);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;transition:all .2s ease}.file-label:hover,.file-label.active{background:#f0f7ff;border-color:var(--primary-accent-dark, #059669)}.file-icon{font-size:32px;color:var(--primary-accent, #10b981)}.file-text{text-align:center}.file-title{font-size:14px;font-weight:600;color:#333;margin:0}.file-subtitle{font-size:12px;color:#999;margin:4px 0 0}.selected-file{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#e8f5e9;border-radius:6px;border-left:4px solid var(--primary-accent, #10b981)}.file-info{display:flex;align-items:center;gap:10px;color:#333;font-size:13px}.file-info i{font-size:18px;color:var(--primary-accent, #10b981)}.btn-remove{padding:6px;border:none;background:none;color:#999;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.btn-remove:hover{background:#0000001a;color:#333}.btn-remove:disabled{opacity:.5;cursor:not-allowed}.btn{padding:12px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.btn-submit{width:100%;padding:12px}.form-note{font-size:12px;color:#666;margin:0;padding:10px;background:#fff;border-left:3px solid #ffc107;border-radius:4px;display:flex;align-items:center;gap:8px}.form-note i{flex-shrink:0}.error-state{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;color:#999}.error-state i{font-size:48px;display:block;margin-bottom:16px;opacity:.3}.error-state p{font-size:16px;margin:0 0 20px}@media (max-width: 1024px){.upload-content{grid-template-columns:1fr}.upload-form-section{position:static}}@media (max-width: 768px){.upload-container{padding:10px}.upload-header{padding:16px;flex-direction:column;align-items:flex-start}.upload-header .page-title{font-size:20px}.upload-content{padding:16px;gap:20px}.details-grid{grid-template-columns:1fr}.upload-form{padding:16px}}.chat-page-shell{padding:.9rem}.chat-layout{max-width:1320px;margin:0 auto;height:calc(100vh - 88px);display:grid;grid-template-columns:360px minmax(0,1fr);gap:1rem}.chat-list-panel,.chat-window-panel{background:#fff;border:1px solid #dbe5ef;border-radius:14px;box-shadow:0 6px 18px #0f172a0d;overflow:hidden}.chat-list-panel{display:flex;flex-direction:column}.chat-panel-head{padding:.9rem 1rem .7rem;border-bottom:1px solid #e7edf5;display:flex;align-items:baseline;justify-content:space-between}.chat-panel-head h2{margin:0;font-size:1.1rem;color:#0f172a}.chat-panel-head span{font-size:.8rem;color:#64748b}.chat-toolbar{padding:.7rem 1rem;border-bottom:1px solid #edf2f7;display:grid;gap:.55rem}.chat-toolbar input,.chat-toolbar select,.faculty-directory-card input,.composer-box textarea{width:100%;border:1px solid #d3deea;border-radius:8px;background:#fbfdff;color:#0f172a;font-size:.86rem;padding:.55rem .65rem;outline:none}.chat-toolbar input:focus,.chat-toolbar select:focus,.faculty-directory-card input:focus,.composer-box textarea:focus{border-color:#7ba3d0;box-shadow:0 0 0 2px #3b82f61f}.faculty-directory-card{border-bottom:1px solid #edf2f7;padding:.75rem 1rem;display:grid;gap:.5rem}.faculty-directory-head{font-size:.84rem;font-weight:600;color:#334155}.faculty-directory-list{max-height:150px;overflow-y:auto;display:grid;gap:.4rem}.faculty-directory-item{text-align:left;border:1px solid #dce7f2;background:#f8fbff;border-radius:8px;padding:.45rem .55rem;cursor:pointer;display:grid;gap:.1rem}.faculty-directory-item strong{font-size:.82rem;color:#0f172a}.faculty-directory-item span{font-size:.74rem;color:#64748b}.conversation-list{overflow-y:auto;padding:.3rem}.conversation-item{width:100%;text-align:left;border:1px solid transparent;background:#fff;border-radius:10px;padding:.62rem .68rem;cursor:pointer;margin-bottom:.35rem}.conversation-item:hover{background:#f7fbff;border-color:#dbe7f4}.conversation-item.active{background:#eff7ff;border-color:#bfd9f3}.conversation-row-top,.conversation-row-bottom{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.conversation-row-top strong{font-size:.88rem;color:#0f172a}.conversation-row-top span{font-size:.72rem;color:#64748b;white-space:nowrap}.conversation-row-bottom p{margin:.2rem 0 0;color:#475569;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:230px}.unread-dot{margin-top:.2rem;min-width:19px;height:19px;border-radius:999px;background:#2563eb;color:#fff;font-size:.68rem;display:inline-flex;align-items:center;justify-content:center}.chat-window-panel{display:flex;flex-direction:column}.chat-window-head{padding:.85rem 1rem;border-bottom:1px solid #e6edf6;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.chat-window-head h3{margin:0;color:#0f172a;font-size:1rem}.chat-window-head p{margin:.2rem 0 0;font-size:.76rem;color:#64748b}.chat-window-actions{display:flex;gap:.45rem}.chat-window-actions button,.send-btn,.attach-btn{border:1px solid #d1ddee;background:#f8fbff;color:#0f172a;border-radius:8px;padding:.38rem .6rem;font-size:.78rem;cursor:pointer}.send-btn{background:var(--app-header-bg);border-color:var(--app-header-bg);color:#fff;min-width:78px}.attach-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center}.attach-btn:disabled{cursor:not-allowed;opacity:.6}.message-feed{flex:1;overflow-y:auto;padding:.9rem 1rem;background:linear-gradient(180deg,#fbfdff,#f4f8fd)}.day-separator{text-align:center;margin:.45rem 0 .75rem}.day-separator span{font-size:.72rem;color:#64748b;background:#e9f0f8;border:1px solid #d2dfec;padding:.24rem .5rem;border-radius:999px}.message-row{margin-bottom:.72rem;max-width:76%}.message-row.incoming{margin-right:auto}.message-row.outgoing{margin-left:auto}.message-meta-name{font-size:.73rem;margin-bottom:.2rem;color:#475569}.message-row.outgoing .message-meta-name{text-align:right}.message-bubble{background:#fff;border:1px solid #dbe6f2;border-radius:10px;padding:.5rem .62rem;font-size:.84rem;color:#0f172a;white-space:pre-wrap}.message-row.outgoing .message-bubble{background:#ecf8f6;border-color:#bde6df}.message-meta-time{margin-top:.2rem;font-size:.7rem;color:#64748b}.message-row.outgoing .message-meta-time{text-align:right}.composer-box{border-top:1px solid #e6edf6;padding:.7rem 1rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:end}.composer-box textarea{resize:none;min-height:40px;max-height:120px}.chat-empty,.chat-window-empty{color:#64748b;font-size:.85rem;text-align:center;padding:1.3rem}.chat-window-empty h3{margin:0 0 .35rem;color:#334155}.chat-window-empty p{margin:0}@media (max-width: 1024px){.chat-layout{grid-template-columns:320px minmax(0,1fr)}}@media (max-width: 860px){.chat-layout{height:auto;grid-template-columns:1fr}.chat-list-panel,.chat-window-panel{min-height:360px}}:root{--primary-gradient: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);--success-gradient: linear-gradient(135deg, #10b981 0%, #059669 100%);--accent-gradient: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--danger-gradient: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--card-shadow: 0 4px 20px rgba(0, 0, 0, .05);--hover-shadow: 0 20px 40px rgba(37, 99, 235, .12);--border-color: #e2e8f0;--bg-primary: #f8fafc}.edit-ciann-page{width:100%;padding:2.5rem 2rem;box-sizing:border-box;background-color:var(--bg-primary);min-height:100vh;max-width:none;overflow:visible}.edit-ciann-banner{position:relative;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:3rem 2.5rem;border-radius:24px;margin-bottom:2.5rem;overflow:hidden;box-shadow:0 10px 30px #0f172a26;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.edit-ciann-banner:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:#2563eb26;border-radius:50%;filter:blur(80px)}.banner-content{position:relative;z-index:2;max-width:600px}.banner-title{font-size:2.25rem;font-weight:800;margin-bottom:.5rem;letter-spacing:-.025em;display:flex;align-items:center;gap:12px}.banner-subtitle{color:#94a3b8;font-size:1rem;line-height:1.6;margin:0}.banner-actions{position:relative;z-index:2}.btn-premium-request{background:var(--primary-gradient);color:#fff;border:none;font-weight:700;padding:14px 28px;border-radius:50px;font-size:.95rem;box-shadow:0 4px 14px #2563eb66;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:8px;cursor:pointer}.btn-premium-request:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb99;color:#fff}.edit-ciann-tabs{display:flex;background-color:#f1f5f9;padding:6px;border-radius:16px;margin-bottom:2.5rem;max-width:fit-content;margin-left:auto;margin-right:auto;box-shadow:inset 0 2px 4px #0000000d}.edit-ciann-tab{background:none;border:none;font-size:.95rem;font-weight:700;color:#64748b;padding:12px 24px;cursor:pointer;border-radius:12px;transition:all .25s ease;position:relative;display:flex;align-items:center;gap:8px}.edit-ciann-tab:hover{color:#1e293b}.edit-ciann-tab.active{color:#2563eb;background-color:#fff;box-shadow:0 4px 12px #0000000d}.edit-ciann-tab.active:after{display:none}.ciann-card-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;padding:.5rem}.ciann-dashboard-card{background-color:#fff;border-radius:24px;padding:2rem 1.75rem;border:1px solid rgba(226,232,240,.8);box-shadow:var(--card-shadow);transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;height:100%;min-height:280px}.ciann-dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--primary-gradient);opacity:0;transition:opacity .3s ease}.ciann-dashboard-card:hover{transform:translateY(-8px);box-shadow:var(--hover-shadow);border-color:#cbd5e1}.ciann-dashboard-card:hover:before{opacity:1}.ciann-card-collab-stack{display:flex;align-items:center;justify-content:center;margin-top:12px;gap:-6px}.ciann-card-avatar{width:24px;height:24px;border-radius:50%;border:2px solid white;background-color:#3b82f6;color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000000d}.ciann-id{font-size:.85rem;font-weight:800;color:#2563eb;background-color:#eff6ff;padding:6px 14px;border-radius:50px;margin-bottom:1.25rem;border:1px solid #dbeafe;letter-spacing:.5px;display:inline-block}.ciann-icon{font-size:3rem;color:#2563eb;margin-bottom:1.25rem;transition:transform .3s ease}.ciann-dashboard-card:hover .ciann-icon{transform:scale(1.1)}.card-text{font-size:1rem;color:#334155;line-height:1.5;margin-bottom:8px;text-align:center}.subject-code{color:#64748b;font-size:.85rem;display:block;margin-top:2px}.division-label{color:#64748b;font-size:.9rem}.ciann-access-pill{margin-top:1rem;font-size:.78rem;font-weight:700;color:#4f46e5;background-color:#eedffc;border-radius:50px;padding:6px 14px;display:inline-flex;align-items:center;gap:4px;box-shadow:0 2px 6px #4f46e514}.card-hover-text{position:absolute;bottom:12px;left:50%;transform:translate(-50%) translateY(10px);background:#0f172a;color:#fff;padding:8px 16px;border-radius:50px;font-size:.8rem;font-weight:700;opacity:0;transition:all .3s ease;box-shadow:0 4px 12px #00000026}.ciann-dashboard-card:hover .card-hover-text{opacity:1;transform:translate(-50%) translateY(0)}.ciann-manage-btn{position:absolute;top:16px;left:16px;border:none;border-radius:50px;padding:6px 14px;font-size:.78rem;font-weight:700;background-color:#f1f5f9;color:#475569;z-index:10;transition:all .2s;box-shadow:0 2px 5px #0000000d}.ciann-manage-btn:hover{background-color:#e2e8f0;color:#0f172a;transform:translateY(-1px)}.ciann-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999998;display:flex;align-items:center;justify-content:center;padding:20px}.ciann-modal-dialog{width:100%;max-width:600px;z-index:999999;margin:0;transform:translateY(0);animation:modalEnter .3s cubic-bezier(.34,1.56,.64,1)}.ciann-modal-dialog.modal-lg{max-width:800px}.ciann-modal-content{background:#fff;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;border:1px solid rgba(226,232,240,.8);display:flex;flex-direction:column;max-height:90vh;overflow:hidden}@keyframes modalEnter{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.request-card{background:#fff;border-radius:20px;border:1px solid #e2e8f0;padding:1.5rem;box-shadow:0 4px 6px -1px #0000000d;display:flex;flex-direction:column;justify-content:space-between;min-height:180px}.request-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.request-card-body{font-size:.92rem;color:#475569;margin:12px 0;line-height:1.5}.request-card-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:auto}@media (max-width: 1024px){.edit-ciann-banner{padding:2rem}.banner-title{font-size:1.75rem}}@media (max-width: 768px){.edit-ciann-page{padding:1.5rem 1rem}.edit-ciann-banner{flex-direction:column;align-items:flex-start;padding:1.75rem}.btn-premium-request{width:100%;justify-content:center}.edit-ciann-tabs{flex-direction:column;width:100%;max-width:100%}.edit-ciann-tab{justify-content:center}.ciann-card-container{grid-template-columns:1fr}}.ciann-dashboard-card.archived-card{background-color:#f8fafc;border-color:#cbd5e1b3;box-shadow:0 4px 12px #00000005;opacity:.85}.ciann-dashboard-card.archived-card:before{background:linear-gradient(135deg,#64748b,#475569)}.ciann-dashboard-card.archived-card .ciann-id{color:#64748b;background-color:#f1f5f9;border-color:#e2e8f0}.ciann-dashboard-card.archived-card .ciann-icon{color:#64748b}.ciann-dashboard-card.archived-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #64748b1a;opacity:1}.workspace-section-group{margin-bottom:3.5rem}.workspace-section-title{font-size:1.4rem;font-weight:700;border-bottom:2px solid #e2e8f0;padding-bottom:12px}.no-workspaces-alert{padding:2.5rem;border-radius:16px;background-color:#f8fafc;text-align:center;color:#64748b;font-weight:600;border:1px dashed #cbd5e1;margin:10px 0}.create-ciann-page{display:flex;flex-direction:column;min-height:100vh;margin-top:80px;background-color:#f8f9fa}.create-ciann-header{width:100%;max-width:1100px;margin:0 auto 20px;padding:0 12px;box-sizing:border-box}.create-ciann-header h2{margin:0;font-size:1.5rem;font-weight:600;text-align:center;background-color:var(--app-header-bg, #28a745);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 3px 10px #28a74540}.create-ciann-form{width:100%;max-width:1100px;margin:0 auto 32px;padding:24px;box-sizing:border-box;background-color:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.06);box-shadow:0 6px 16px #00000014;animation:fadeSlideIn .35s ease-out both}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px 20px;margin-bottom:8px}.form-group label{font-weight:600;color:#495057;margin-bottom:6px}.form-group select{width:100%;padding:10px 12px;font-size:1rem;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:10px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:0 1px 2px #00000005;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group select:hover{border-color:#c7ccd1}.form-group select:focus{border-color:var(--primary-accent, #28a745);box-shadow:0 0 0 3px #28a74526}.form-group select.disabled,.form-group select:disabled{background-color:#f1f3f5;color:#6c757d;cursor:not-allowed}.form-submit{grid-column:1 / -1;display:flex;justify-content:center;margin-top:16px}.btn-submit{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;font-size:1rem;font-weight:700;letter-spacing:.3px;color:#fff;background:linear-gradient(180deg,var(--primary-accent, #34c759) 0%,var(--app-header-bg, #28a745) 100%);border:none;border-radius:12px;cursor:pointer;box-shadow:0 8px 16px #28a74540,inset 0 -2px #0000000f;transition:transform .08s ease,box-shadow .2s ease,filter .2s ease}.btn-submit:hover{filter:brightness(1.03);box-shadow:0 10px 20px #28a74547,inset 0 -2px #00000014}.btn-submit:active{transform:translateY(1px)}.btn-submit:focus-visible{outline:none;box-shadow:0 0 0 3px #28a7454d}.btn-submit:disabled{background:#a8ddba;box-shadow:none;cursor:not-allowed}@media (max-width: 1024px){.create-ciann-header{max-width:95vw}.create-ciann-form{max-width:95vw;padding:18px}.form-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px 16px}}@media (max-width: 768px){.create-ciann-page{margin-top:64px}.create-ciann-header h2{font-size:1.2rem;padding:10px 12px;border-radius:8px}.create-ciann-form{padding:14px;border-radius:12px}.form-grid{grid-template-columns:1fr;gap:12px}.form-submit{margin-top:12px}.btn-submit{width:100%;padding:12px 10px}}@media (max-width: 420px){.create-ciann-header h2{font-size:1rem;padding:8px 10px}.btn-submit{font-size:.98rem}}.ciann-secondary-sidebar-wrapper{width:100%;margin:0;background:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;z-index:101}@media (min-width: 769px){.ciann-secondary-sidebar-wrapper{position:fixed;top:var(--header-height, 60px)!important;left:calc(var(--sidebar-width, 280px) + 8px)!important;width:274px!important;height:calc(100dvh - var(--header-height, 60px))!important;max-height:calc(100dvh - var(--header-height, 60px))!important;padding:10px;box-sizing:border-box;overflow:hidden;z-index:1110}.secondary-sidebar{height:100%;max-height:100%}}.secondary-sidebar{width:100%;color:var(--text-color-primary, #173c70);background:linear-gradient(180deg,var(--primary-light, #f4f8ff) 0%,var(--primary-light, #edf3ff) 100%);border:1px solid var(--card-border, rgba(132, 160, 214, .22));border-radius:16px;box-shadow:0 10px 24px #163a7817;padding:12px;margin:0;position:relative;z-index:1002;display:flex;flex-direction:column;opacity:1;visibility:visible;transform:none;transition:transform .3s cubic-bezier(.4,0,.2,1)}.secondary-sidebar-header{padding:10px 10px 12px;margin:0 0 8px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--card-border, rgba(133, 159, 206, .3))}.secondary-sidebar-title-wrap{display:flex;flex-direction:column;gap:2px}.secondary-sidebar-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-color-secondary, rgba(42, 73, 123, .63));font-weight:700}.secondary-sidebar-title{font-size:1.25rem;font-weight:700;color:var(--primary-color, #295fc5);line-height:1.1}.secondary-nav-list{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.secondary-nav-list::-webkit-scrollbar{width:6px}.secondary-nav-list::-webkit-scrollbar-thumb{background:var(--primary-accent-light, rgba(147, 173, 219, .4));border-radius:999px}.secondary-nav-list{scrollbar-width:thin;scrollbar-color:var(--primary-accent-light, rgba(147, 173, 219, .4)) transparent}.secondary-nav-item{cursor:pointer;font-size:.92rem;color:var(--text-color-primary, #36527c);transition:all .22s ease;display:grid;grid-template-columns:26px 18px 1fr;align-items:center;gap:10px;margin:0;background:var(--card-bg, rgba(255, 255, 255, .68));border:1px solid transparent;border-radius:12px;min-height:44px;box-sizing:border-box;padding:10px}.secondary-nav-index{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;background:var(--primary-accent-light, rgba(45, 96, 190, .12));color:var(--primary-color, #295fc5)}.secondary-nav-icon{font-size:.9rem;color:var(--primary-color, rgba(38, 84, 154, .88))}.secondary-nav-label{font-weight:600;line-height:1.2}.secondary-nav-item:hover{background:var(--card-bg, #ffffff);border-color:var(--primary-accent, rgba(108, 142, 204, .34));color:var(--primary-color, #1e4d95);transform:translate(2px)}.secondary-nav-item.active{background:linear-gradient(90deg,var(--primary-accent-light, rgba(41, 95, 197, .2)) 0%,var(--primary-accent-light, rgba(41, 95, 197, .08)) 100%);border-color:var(--primary-accent, rgba(41, 95, 197, .36));color:var(--primary-color, #1f4d98)}.secondary-nav-item.active .secondary-nav-index{background:var(--primary-color, #2a62cb);color:var(--text-on-primary, #ffffff)}.secondary-nav-item.active .secondary-nav-icon{color:var(--primary-accent-dark, #1f54ab)}@media (min-width: 769px){.secondary-sidebar{position:relative!important;transform:none!important;opacity:1!important;visibility:visible!important;display:flex!important;height:auto!important}}@media (max-width: 768px){.ciann-secondary-sidebar-wrapper{position:fixed;top:0;left:0;height:100dvh;width:100vw;pointer-events:none;z-index:99999;transition:background .3s ease}.ciann-secondary-sidebar-wrapper.visible{pointer-events:auto;background:#0b193470;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.secondary-sidebar{position:fixed;top:0;left:0;width:300px;max-width:86vw;height:100dvh;border-radius:0;border:none;box-shadow:10px 0 32px #08132d6b;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:100000;padding:64px 12px 12px;overflow-y:auto}.secondary-sidebar.visible{transform:translate(0)}.secondary-sidebar-overlay{display:none}.secondary-sidebar-close-btn{background:#ffffffe0;border:1px solid rgba(129,157,204,.4);width:32px;height:32px;font-size:1rem;color:#315f9f;cursor:pointer;border-radius:10px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.secondary-sidebar-close-btn:hover{background-color:#fff;color:#234f95}.secondary-sidebar-header{position:fixed;top:0;left:0;width:300px;max-width:86vw;padding:14px;background:linear-gradient(180deg,#f4f8ff,#edf3ff);z-index:100001;border-bottom:1px solid rgba(133,159,206,.3)}.secondary-sidebar-header+.secondary-nav-list{margin-top:4px}.secondary-nav-item{min-height:46px}}body.ciann-view-only input,body.ciann-view-only select,body.ciann-view-only textarea,body.ciann-view-only button:not(.ciann-comments-toggle-btn):not(.ciann-comments-drawer *):not(.secondary-sidebar *):not(.navbar *):not(.header-wrapper *){pointer-events:none!important;opacity:.65;cursor:not-allowed!important}body.ciann-view-only a.btn:not(.ciann-comments-toggle-btn){pointer-events:none!important;opacity:.65;cursor:not-allowed!important}.ciann-notif-container{position:relative;display:inline-block;margin-left:8px}.ciann-notif-bell-btn{background:none;border:none;font-size:1.15rem;color:var(--primary-color, #295fc5);cursor:pointer;position:relative;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.ciann-notif-bell-btn:hover{background-color:#295fc514}.ciann-notif-badge{position:absolute;top:-2px;right:-2px;background-color:#dc3545;color:#fff;border-radius:50%;font-size:.65rem;font-weight:700;width:15px;height:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}.ciann-notif-dropdown{position:absolute;top:100%;right:0;width:320px;max-height:400px;background:#fff;border-radius:12px;box-shadow:0 8px 30px #00000026;border:1px solid rgba(0,0,0,.08);z-index:10000;display:flex;flex-direction:column;overflow:hidden;margin-top:8px}.ciann-notif-header{padding:10px 14px;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.ciann-notif-title{font-weight:700;font-size:.85rem;color:#1e293b;margin:0}.ciann-notif-markall-btn{font-size:.72rem;color:#295fc5;background:none;border:none;cursor:pointer;font-weight:600;padding:0}.ciann-notif-markall-btn:hover{text-decoration:underline}.ciann-notif-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1}.ciann-notif-item{padding:12px 14px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background-color .2s;display:flex;flex-direction:column;gap:4px}.ciann-notif-item:hover{background-color:#f8fafc}.ciann-notif-item.unread{background-color:#f0f7ff}.ciann-notif-item.unread:hover{background-color:#e0efff}.ciann-notif-message{font-size:.82rem;color:#334155;line-height:1.3}.ciann-notif-item.unread .ciann-notif-message{font-weight:600;color:#0f172a}.ciann-notif-time{font-size:.68rem;color:#94a3b8}.ciann-notif-empty{padding:24px;text-align:center;color:#64748b;font-size:.85rem}.ciann-comments-drawer-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0f172a4d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10050}.ciann-comments-drawer{position:fixed;top:0;right:0;width:380px;max-width:90vw;height:100vh;background-color:#fff;box-shadow:-8px 0 32px #0f172a26;z-index:10060;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.ciann-comments-drawer.open{transform:translate(0)}.ciann-comments-header{padding:16px 20px;background-color:#0f172a;color:#fff;display:flex;justify-content:space-between;align-items:center}.ciann-comments-title{margin:0;font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:8px}.ciann-comments-close-btn{background:none;border:none;color:#94a3b8;font-size:1.2rem;cursor:pointer;padding:0;display:flex;align-items:center}.ciann-comments-close-btn:hover{color:#fff}.ciann-comments-list{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;background-color:#f8fafc}.ciann-comment-item{display:flex;gap:12px;align-items:flex-start}.ciann-comment-avatar{width:32px;height:32px;border-radius:50%;background-color:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;text-transform:uppercase;flex-shrink:0}.ciann-comment-content{background-color:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0;flex:1}.ciann-comment-author-info{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.ciann-comment-author{font-size:.8rem;font-weight:700;color:#1e293b}.ciann-comment-time{font-size:.68rem;color:#94a3b8}.ciann-comment-text{font-size:.85rem;color:#334155;white-space:pre-wrap;word-break:break-word}.ciann-comments-empty{text-align:center;color:#64748b;padding:40px 20px;font-size:.88rem}.ciann-comments-footer{padding:16px 20px;border-top:1px solid #e2e8f0;background-color:#fff}.ciann-comment-form{display:flex;flex-direction:column;gap:8px}.ciann-comment-input{width:100%;min-height:70px;max-height:120px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:.85rem;resize:vertical;outline:none}.ciann-comment-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.ciann-comment-submit-btn{align-self:flex-end;padding:6px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:4px}.ciann-comment-submit-btn:hover{background-color:#2563eb}.ciann-comment-submit-btn:disabled{background-color:#94a3b8;cursor:not-allowed}.ciann-comments-toggle-btn{position:fixed;bottom:24px;right:24px;background-color:#0f172a;color:#fff;border:none;border-radius:50px;padding:12px 20px;font-weight:700;box-shadow:0 4px 16px #0f172a4d;cursor:pointer;z-index:10000;display:flex;align-items:center;gap:8px;font-size:.9rem;transition:all .2s ease}.ciann-comments-toggle-btn:hover{background-color:#1e293b;transform:translateY(-2px);box-shadow:0 6px 20px #0f172a66}.ciann-view-only-banner{background:linear-gradient(90deg,#fffbeb,#fef3c7);border-bottom:1px solid #f59e0b;padding:8px 16px;text-align:center;font-size:.85rem;color:#b45309;font-weight:600;width:100%;box-shadow:0 2px 4px #d977060d;display:flex;align-items:center;justify-content:center;gap:8px}:root{--ciann-surface: var(--card-bg, #ffffff);--ciann-bg-1: var(--primary-light, #f7faff);--ciann-bg-2: var(--primary-light, #eef3fb);--ciann-border: var(--card-border, #dbe5f2);--ciann-text: var(--text-color-primary, #10223d);--ciann-muted: var(--text-color-secondary, #4e607b)}.timetable-layout,.teaching-layout,.lab-layout,.student-layout,.ciann-diary-root{background:linear-gradient(180deg,var(--ciann-bg-1) 0%,var(--ciann-bg-2) 100%)}.timetable-main-content,.timetable-main-content.syllabus-main-content,.teaching-main-content.syllabus-main-content,.labplanning-main-content,.student-main-content,.ciann-diary-main{padding:20px 24px 28px!important;box-sizing:border-box}.plan-container,.syllabus-container,.studentlist-container,.ciann-diary-surface{background:var(--ciann-surface)!important;border:1px solid var(--ciann-border)!important;border-radius:16px!important;box-shadow:0 12px 30px #0d234814!important}.timetable-header h2,.syllabus-title,.plan-title,.header-row h3,.header-with-button h6{color:var(--ciann-text)!important;letter-spacing:.01em}.note,.ciann-details{color:var(--ciann-muted)!important}.button-group button,.edit-btn,.nav-btn,.pagination button,.pagination-btn,.start-btn,.prev-btn,.forward-btn,.pagination-buttons .btn{border-radius:10px!important;border:1px solid var(--primary-accent, rgba(26, 87, 185, .26))!important;background:var(--primary-color, #1f63d3)!important;color:var(--text-on-primary, #ffffff)!important;font-weight:700!important;transition:transform .15s ease,filter .2s ease}.button-group button:hover,.edit-btn:hover,.nav-btn:hover,.pagination button:hover,.pagination-btn:hover,.start-btn:hover,.prev-btn:hover,.forward-btn:hover,.pagination-buttons .btn:hover{transform:translateY(-1px);filter:brightness(.95)}.pages .page-btn{border-radius:8px!important;border:1px solid var(--card-border, #c9d8ee)!important;background:var(--primary-light, #f3f7ff)!important;color:var(--primary-color, #19478f)!important;font-weight:600}.pages .page-btn.active{background:var(--primary-color, #1f63d3)!important;color:var(--text-on-primary, #fff)!important;border-color:var(--primary-color, #1f63d3)!important}.timetable,.teaching-table,.lab-table,.studentlist-container .table{border-collapse:separate!important;border-spacing:0!important;width:100%!important;border:1px solid var(--ciann-border, #d6e0ee)!important;border-radius:12px!important;overflow:hidden!important;background:var(--card-bg, #fff)!important}.timetable thead th,.teaching-table thead th,.lab-table thead th,.studentlist-container .table thead th{background:var(--primary-light, #eef3fb)!important;color:var(--ciann-text, #20314f)!important;font-weight:700!important}.timetable th,.timetable td,.teaching-table th,.teaching-table td,.lab-table th,.lab-table td,.studentlist-container .table th,.studentlist-container .table td{border-color:var(--ciann-border, #dde5f1)!important}.popup{border-radius:14px!important;border:1px solid var(--ciann-border, #d5e1f1);box-shadow:0 18px 42px #0a1f423d!important}.popup h3{color:var(--ciann-text, #112645)}@media (max-width: 768px){.timetable-main-content,.timetable-main-content.syllabus-main-content,.teaching-main-content.syllabus-main-content,.labplanning-main-content,.student-main-content,.ciann-diary-main{padding:10px!important}.plan-container,.syllabus-container,.studentlist-container,.ciann-diary-surface{border-radius:12px!important}}.timetable-layout{position:relative;min-height:100%;background:linear-gradient(180deg,#f7faff,#eef3fb)}.timetable-main-row{display:flex;align-items:flex-start;overflow:visible}.timetable-secondary-sidebar-wrapper{position:static;width:0;min-width:0;max-width:0;height:0;overflow:visible;border:none;background:transparent}.timetable-main-content{flex:1;min-width:0;margin-left:310px;padding:18px 24px 28px;min-height:calc(100dvh - var(--header-height, 60px));overflow-y:auto;overflow-x:hidden}.timetable-main-content .plan-container{width:100%;max-width:1140px;margin:0 auto;padding:16px;border-radius:16px;border:1px solid #d9e3f2;background:#fff;box-shadow:0 12px 30px #0f172a14}.timetable-header{position:sticky;top:0;z-index:6;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 10px 12px;margin:0 0 12px;border:1px solid #dbe6f5;border-radius:12px;background:#f7fafff2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.timetable-header-main h2{margin:0;font-size:1.65rem;color:#112747}.timetable-header-main p{margin:4px 0 0;color:#4f6078;font-size:.92rem}.button-group{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:8px;min-width:320px}.button-group button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 12px;border-radius:10px;border:1px solid var(--primary-color, #2a63cc);background:linear-gradient(180deg,var(--primary-color, #3274e0) 0%,var(--primary-accent-dark, #1f5fc8) 100%);color:var(--text-on-primary, #ffffff);font-weight:700;font-size:.9rem;cursor:pointer}.button-group button:hover{filter:brightness(.95)}.table-scroll-shell{width:100%;overflow-x:auto;border:1px solid #dbe5f2;border-radius:12px;background:#fff}.timetable{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;table-layout:fixed}.timetable th,.timetable td{border-right:1px solid #dfe6f0;border-bottom:1px solid #dfe6f0;padding:13px 8px;text-align:center;font-size:.95rem;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timetable th:last-child,.timetable td:last-child{border-right:none}.timetable thead th{position:sticky;top:0;z-index:3;background:#eef4fd;color:#233451;font-weight:700}.timetable td:first-child,.timetable th:first-child{width:180px;background:#f7fbff;font-weight:700}.pagination{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #e1e8f3}.pagination button{padding:10px 16px;border-radius:10px;border:1px solid #2a63cc;background:#1f63d3;color:#fff;font-weight:700;cursor:pointer}.popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c182c73;display:flex;justify-content:center;align-items:center;z-index:2000}.popup{width:min(95vw,560px);max-height:90dvh;overflow-y:auto;background:#fff;border-radius:14px;border:1px solid #d5e1f1;box-shadow:0 18px 42px #0a1f4242;padding:24px;position:relative}.popup h3{margin:0 0 14px;color:#112645}.popup form{display:flex;flex-direction:column;gap:12px}.popup label{display:flex;flex-direction:column;gap:6px;color:#253a5a;font-weight:600}.popup select,.popup input[type=text],.popup input[type=number]{padding:9px 10px;border:1px solid #ccd9eb;border-radius:8px;font-size:.92rem}.popup button[type=submit]{border:1px solid #2a63cc;border-radius:10px;background:#1f63d3;color:#fff;padding:10px 12px;font-weight:700;cursor:pointer}.close-button{position:absolute;top:10px;right:14px;background:transparent;border:none;font-size:1.7rem;cursor:pointer;color:#637794}.popup.delete-popup{width:min(96vw,980px)}.popup.delete-popup table{width:100%;border-collapse:collapse}.popup.delete-popup th,.popup.delete-popup td{border:1px solid #d7e1ee;padding:8px;text-align:center;font-size:.82rem}.popup.delete-popup th{background:#f3f7fd}.delete-button{border:none;border-radius:8px;padding:5px 8px;background:#dc3545;color:#fff;cursor:pointer}@media (max-width: 1024px){.timetable-main-content{margin-left:300px;padding:14px}.button-group{min-width:280px}}@media (max-width: 768px){.timetable-main-content{margin-left:0;min-height:auto;padding:10px}.timetable-main-content .plan-container{padding:10px}.timetable-header{position:static;padding:10px}.timetable-header-main h2{font-size:1.25rem}.button-group{width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}.button-group button{font-size:.82rem;min-height:38px;padding:8px}.timetable{min-width:760px}.timetable th,.timetable td{font-size:.82rem;padding:8px 6px}.pagination{flex-direction:column}.pagination button{width:100%}}body{margin:0;font-family:sans-serif}.timetable-layout{min-height:100vh;display:flex;flex-direction:column;background:#fafbfa}.timetable-main-row{display:flex;flex-direction:row;flex:1;min-height:0;align-items:stretch}.sidebar{width:220px;min-width:180px;max-width:240px;flex-shrink:0;background:var(--app-header-bg)!important;color:#fff;height:100vh;position:fixed;top:0;left:0;z-index:100}.timetable-secondary-sidebar-wrapper{width:220px;min-width:180px;max-width:240px;margin-left:0;margin-top:0;height:auto;min-height:100vh;border-radius:8px;box-shadow:0 2px 8px #0000000a;background:#fff;color:#222;flex-shrink:0;position:fixed;top:0;left:220px;z-index:101}.timetable-main-content{order:3;flex:1;margin-top:60px;padding:16px 18px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;margin-left:440px}.syllabus-main-content{flex:1}.page-layout{display:flex;justify-content:flex-start;align-items:flex-start;padding:8px;width:100%;max-width:1200px;margin:0}.syllabus-container{width:100%;max-width:860px;padding:18px 18px 14px;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 6px 22px #1018280f;display:flex;flex-direction:column;gap:10px;position:relative}.syllabus-title{font-size:30px;margin:0;font-weight:700;color:#0f172a}.form-popup{position:absolute;top:60px;left:20px;width:90%;background:#fff;border:1px solid #ccc;border-radius:8px;padding:15px;z-index:20;box-shadow:0 4px 12px #0003}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.header h2{font-size:20px;margin:0;font-weight:600}.syllabus-container .edit-btn{align-self:flex-end;min-height:40px;min-width:230px;padding:8px 16px;background-color:var(--primary-accent-dark, #1d4ed8)!important;color:var(--text-on-primary, #ffffff)!important;border:1px solid var(--primary-accent-dark, #1e40af)!important;cursor:pointer;border-radius:1px!important;font-size:14px;font-weight:700;margin-bottom:4px;text-align:center;letter-spacing:.2px;box-shadow:0 2px 8px #1d4ed838;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.syllabus-container .edit-btn:hover{background-color:var(--primary-accent, #1e40af)!important;transform:translateY(-1px);box-shadow:0 4px 10px #1e40af4d}.syllabus-container .edit-btn:focus-visible{outline:3px solid rgba(59,130,246,.28);outline-offset:1px}.note{margin:4px 0 6px;color:#dc2626;font-size:14px;font-weight:600}.note span{font-weight:700}.pages{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.page-btn{padding:8px 12px;border:1px solid #ccc;background-color:#fff;cursor:pointer;border-radius:2px;font-size:13px;font-weight:600;transition:all .2s ease}.page-btn:hover{background-color:#f0f0f0;border-color:#999}.page-btn.active{background-color:var(--primary-color, #2563eb);color:var(--text-on-primary, white);border-color:var(--primary-color, #2563eb)}.image-box{width:100%;height:280px;display:flex;align-items:center;justify-content:center;border:2px dashed #ccc;border-radius:8px;padding:10px;background-color:#fafafa;overflow:hidden;margin-bottom:15px}.flip-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:5px;animation:flipIn .6s ease}.timetable-layout{position:relative!important;min-height:100%!important}.timetable-main-row{overflow:visible!important}.timetable-secondary-sidebar-wrapper{position:static!important;width:0!important;min-width:0!important;max-width:0!important;height:0!important;overflow:visible!important;border:none!important;background:transparent!important}.timetable-main-content.syllabus-main-content{margin-left:310px!important;margin-top:0!important;min-height:calc(100dvh - var(--header-height, 60px))!important;overflow-y:auto!important;overflow-x:hidden!important}@media (max-width: 1024px){.timetable-main-content.syllabus-main-content{margin-left:300px!important}}@media (max-width: 768px){.timetable-main-content.syllabus-main-content{margin-left:0!important;min-height:auto!important}}@keyframes flipIn{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}.bottom-buttons{display:flex;justify-content:space-between;gap:10px;margin-top:6px}.nav-btn{min-height:36px;padding:8px 16px;background-color:#f0f0f0;border:1px solid #ccc;cursor:pointer;border-radius:2px;font-size:13px;font-weight:600;transition:all .2s ease}.nav-btn:hover:not(:disabled){background-color:#e0e0e0;border-color:#999}.nav-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1100px){.sidebar,.timetable-secondary-sidebar-wrapper{width:140px;min-width:100px;max-width:160px;font-size:.95rem}.timetable-main-content{padding:10px 8px;margin-left:300px}.syllabus-container{max-width:760px;padding:14px}.image-box{height:240px}}@media (max-width: 900px){.timetable-main-row{flex-direction:column}.sidebar,.timetable-secondary-sidebar-wrapper{width:100%;min-width:0;max-width:none;margin-top:0;height:auto;min-height:0;border-radius:0;box-shadow:none;position:static;left:0}.timetable-main-content{margin-top:0;margin-left:0;padding:8px}.syllabus-container{max-width:100%;padding:12px}.image-box{height:220px}.pages{gap:6px}.page-btn{padding:6px 10px;font-size:12px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content-box{background:#fff;padding:30px 35px;border-radius:10px;width:450px;max-width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 5px 25px #0000004d;animation:fadeIn .4s ease-in;position:relative}.close-btn{position:absolute;top:15px;right:20px;background:transparent;border:none;font-size:24px;cursor:pointer;color:#666;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn:hover{color:red;background-color:#f8f9fa}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.form-label{margin-bottom:6px;font-size:14px;font-weight:500;color:#333;display:block}.form-control{font-size:14px;padding:8px 12px;border:1px solid #ccc;border-radius:4px;width:100%;box-sizing:border-box}.form-control:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.submit-btn,.btn-primary{padding:10px 16px;font-size:15px;border-radius:8px;margin-top:15px;font-weight:700}.text-danger{font-size:14px;margin-bottom:15px;line-height:1.4}.submit-btn{padding:10px 16px;background-color:var(--primary-color, #2563eb);border:none;color:var(--text-on-primary, white);font-size:15px;border-radius:8px;width:100%;margin-top:15px;cursor:pointer;font-weight:700;transition:background-color .2s ease,transform .2s ease}.submit-btn:hover{background-color:var(--primary-accent-dark, #1d4ed8);transform:translateY(-1px)}.edit-sylly{width:100%;margin-top:8px;padding:8px 16px;background-color:var(--primary-color, #2563eb);color:var(--text-on-primary, #ffffff);border:none;cursor:pointer;border-radius:8px;position:relative;animation:fadeIn .4s ease;font-size:16px;font-weight:700;margin-bottom:15px;text-align:center}.edit-sylly:hover{background-color:var(--primary-accent-dark, #1d4ed8)}.mb-3{margin-bottom:15px}.mb-3:last-child{margin-bottom:0}@media (max-width: 768px){.modal-content-box{width:90%;padding:20px 25px}.form-control{padding:6px 10px;font-size:13px}.form-label{font-size:13px}.close-btn{top:10px;right:15px;font-size:20px}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sidebar{width:220px;background-color:var(--app-header-bg)!important;color:#fff!important;min-height:100vh;padding-top:20px;position:fixed;top:0;left:0;transition:transform .3s ease,width .3s ease;z-index:1001;transform:translate(0);overflow-y:auto}.app-container{display:flex;min-height:100vh;background:var(--dash-bg, #f8f9fa);margin:0;padding:0}.main-content-wrapper{width:calc(100% - 420px);margin:60px 0 0;padding:10px;background:var(--card-bg, #fff);min-height:calc(100vh - 60px)}.secondary-sidebar-wrapper{width:200px;min-width:200px;max-width:200px;margin:60px 0 0;padding:0;background:transparent;border-radius:0;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;z-index:101;position:fixed;left:220px;top:0;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1)}.secondary-sidebar{width:200px;min-width:200px;max-width:200px;background:var(--card-bg, #fff);color:var(--text-color-primary, #000);border-radius:0;box-shadow:none;padding:0;margin:0;border:none;position:relative;z-index:1002}.teaching-main-content.syllabus-main-content{width:100%;padding:0}.lab-layout{min-height:100vh}.lab-layout .teaching-main-row{display:flex;align-items:flex-start;gap:6px;margin-left:0;padding:8px 10px 12px 0}.lab-layout .syllabus-secondary-sidebar-wrapper{width:200px;min-width:200px;flex-shrink:0}.labplanning-main-content{flex:1;min-width:0;padding-top:8px;padding-left:2px;padding-right:8px}.labplanning-main-content .plan-container{padding:18px;background-color:var(--card-bg, #fefefe);border:1px solid var(--card-border, #ccc);border-radius:12px;margin:0;box-shadow:0 2px 8px #0000001a;width:min(100%,1100px);max-width:1100px}.labplanning-main-content .header-row{display:flex;justify-content:space-between;align-items:center;margin-top:-30px;flex-wrap:wrap;gap:16px}.labplanning-main-content .header-row h3{font-size:28px;font-weight:700;white-space:nowrap;color:var(--text-color-primary, #000);line-height:1.2;margin:0 0 0 -8px}.labplanning-main-content .button-group{display:flex;gap:10px;align-items:center;margin-top:16px;margin-right:18px}.labplanning-main-content .button-group .start-btn{background-color:var(--primary-color, green);color:var(--text-on-primary, white);padding:10px 14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;margin:0;font-size:16px;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;transition:background-color .2s ease,box-shadow .15s ease,transform .02s ease}.labplanning-main-content .button-group .start-btn:hover{background-color:var(--primary-accent-dark, #0f7a0f)!important;color:var(--text-on-primary, #fff)!important;box-shadow:0 2px #00000026}.labplanning-main-content .button-group .start-btn:active{transform:translateY(1px)}.labplanning-main-content .tabs button{transition:background-color .3s ease,color .3s ease,box-shadow .2s ease,transform .02s ease}.labplanning-main-content .tabs button:hover{background-color:var(--primary-color, green)!important;color:var(--text-on-primary, #fff)!important;border-color:var(--primary-color, green)!important;box-shadow:0 2px #00000026}.labplanning-main-content .tabs .active{background:var(--primary-color, green)!important;color:var(--text-on-primary, #fff)!important;border:1px solid var(--primary-accent-dark, darkgreen)!important;box-shadow:inset 0 -2px #00000026}.labplanning-main-content .pagination .prev-btn,.labplanning-main-content .pagination .forward-btn{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .15s ease,transform .02s ease}.labplanning-main-content .pagination .prev-btn:hover:not(:disabled),.labplanning-main-content .pagination .forward-btn:hover:not(:disabled){background-color:var(--primary-color, green)!important;color:var(--text-on-primary, #fff)!important;border-color:var(--primary-color, green)!important;box-shadow:0 2px #00000026}.labplanning-main-content .ciann-details{width:100%;text-align:left;margin-top:10px;padding:5px 0;transition:background-color .3s ease,color .3s ease;cursor:default}.labplanning-main-content .ciann-details:hover{background-color:var( --primary-color, green );color:var(--text-on-primary, #ffffff)}.labplanning-main-content .ciann-details strong{color:var( --text-color-primary, #000000 );transition:color .3s ease}.labplanning-main-content .ciann-details:hover strong{color:var( --text-on-primary, #fff0f0 )}.labplanning-main-content .teaching .table-container{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 360px);padding-bottom:24px}.labplanning-main-content .lab-table{width:100%;border-collapse:collapse;border:2px solid var(--text-color-primary, black);margin-bottom:16px}.labplanning-main-content .lab-table th,.labplanning-main-content .lab-table td{border:1px solid var(--card-border, #ccc);padding:10px;text-align:center;font-size:13.5px;color:var(--text-color-primary, #000);white-space:normal;min-width:110px}.labplanning-main-content .lab-table thead th{font-weight:700;text-align:center;border-top:2px solid var(--text-color-primary, black);border-bottom:2px solid var(--text-color-primary, black);border-left:2px solid var(--text-color-primary, black);border-right:2px solid var(--text-color-primary, black);padding:12px}.labplanning-main-content .lab-table thead th:first-child{border-left:2px solid var(--text-color-primary, black)}.labplanning-main-content .lab-table thead th:last-child{border-right:2px solid var(--text-color-primary, black)}.labplanning-main-content .lab-table tbody td{padding:12px;font-size:14px;text-align:center;border-left:2px solid var(--text-color-primary, black);border-right:2px solid var(--text-color-primary, black);border-bottom:1px solid var(--card-border, #ccc)}.labplanning-main-content .lab-table tbody tr.last td,.labplanning-main-content .lab-table tbody tr:last-child td{border-bottom:2px solid var(--text-color-primary, black)!important;border-left:2px solid var(--text-color-primary, black)!important;border-right:2px solid var(--text-color-primary, black)!important}.labplanning-main-content .lab-table tbody tr.first td{border-top:none}.labplanning-main-content .week-group.last td:first-child{border-left:2px solid var(--text-color-primary, black)}.labplanning-main-content .week-group.last td:last-child{border-right:2px solid var(--text-color-primary, black)}.labplanning-main-content .week-group.first td:first-child{border-left:2px solid var(--text-color-primary, black)}.labplanning-main-content .week-group.first td:last-child{border-right:2px solid var(--text-color-primary, black)}.labplanning-main-content .tabs{display:flex;gap:10px;margin-bottom:18px;margin-top:-8px}.labplanning-main-content .tabs button{background-color:var(--primary-light, #f5f5f5);border:1px solid var(--card-border, #ccc);padding:10px 14px;margin-right:8px;border-radius:8px;font-weight:600;font-size:15px;line-height:1.1;cursor:pointer;transition:background-color .3s ease,color .3s ease,box-shadow .2s ease,transform .02s ease}.labplanning-main-content .tabs button:hover{background-color:var(--primary-color, green);color:var(--text-on-primary, white);box-shadow:0 2px #00000026}.labplanning-main-content .tabs button:active{transform:translateY(1px)}.labplanning-main-content .tabs .active{background-color:var(--primary-color, green);color:var(--text-on-primary, white);border:1px solid var(--primary-accent-dark, darkgreen);box-shadow:inset 0 -2px #00000026}.labplanning-main-content .pagination{display:flex;justify-content:flex-end;margin-top:12px;margin-bottom:16px}.labplanning-main-content .prev-btn,.labplanning-main-content .forward-btn{background-color:var(--card-bg, white);color:var(--text-color-primary, black);padding:6px 14px;font-weight:700;border:1px solid var(--card-border, #ccc);border-radius:8px;cursor:pointer;font-size:16px;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .15s ease,transform .02s ease}.labplanning-main-content .pagination .prev-btn:hover:not(:disabled),.labplanning-main-content .pagination .forward-btn:hover:not(:disabled){background-color:var(--primary-color, green);color:var(--text-on-primary, white);border-color:var(--primary-color, green);box-shadow:0 2px #00000026}.labplanning-main-content .pagination .prev-btn:active,.labplanning-main-content .pagination .forward-btn:active{transform:translateY(1px)}.labplanning-main-content .prev-btn:disabled{background-color:var(--primary-light, #ccc);cursor:not-allowed}@media (max-width: 1024px){.sidebar{width:200px}.secondary-sidebar-wrapper{left:200px;width:200px}.main-content-wrapper{margin-left:400px;width:calc(100% - 400px);padding:8px}.labplanning-main-content .plan-container{margin:-10px 0 15px 240px;padding:15px;width:95%;max-width:1000px}.labplanning-main-content .lab-table th,.labplanning-main-content .lab-table td{padding:10px;min-width:100px}}@media (max-width: 768px){.sidebar{width:0;transform:translate(-100%);padding-top:10px}.secondary-sidebar-wrapper{position:fixed;left:0;transform:translate(-100%);width:220px;max-width:80vw;margin-top:0;background:transparent}.secondary-sidebar-wrapper.visible{transform:translate(0)}.secondary-sidebar{width:100%;max-width:80vw;padding:10px;box-shadow:2px 0 8px #00000014;background:#fff}.main-content-wrapper{margin-left:0;width:100%;margin-top:60px;padding:5px}.labplanning-main-content .plan-container{margin:-52px auto 0!important;max-width:100vw!important;width:100%!important;padding:12px!important;height:auto!important}.labplanning-main-content .header-row{flex-direction:column!important;align-items:flex-start!important;gap:8px!important;text-align:left!important;margin-top:0!important;margin-bottom:10px!important;border-bottom:none!important}.labplanning-main-content .header-row h3{font-size:26px!important;line-height:1.2!important;white-space:nowrap!important;border-bottom:3px solid green!important;display:inline-block!important;padding-bottom:6px!important;margin:0 0 10px!important}.labplanning-main-content .header-row h3:after{content:none}.labplanning-main-content .button-group{gap:10px!important;margin-top:0!important;margin-bottom:10px!important;margin-left:-16px!important;flex-wrap:wrap!important;justify-content:flex-start!important;width:100%!important}.labplanning-main-content .button-group .start-btn{font-size:14px!important;padding:8px 14px!important;height:30px!important;line-height:1.1!important;border-radius:6px!important;white-space:nowrap!important;flex:1 1 auto!important;min-width:auto!important}.labplanning-main-content .table-container{overflow-x:auto;overflow-y:auto;max-height:calc(100% - 220px);padding-bottom:8px;border:2px solid #000!important;border-radius:8px}.labplanning-main-content .lab-table{min-width:1250px;width:100%;border-collapse:collapse;border:2px solid #000;border-bottom:2px solid #000!important;table-layout:fixed}.labplanning-main-content .lab-table thead{display:table-header-group!important}.labplanning-main-content .lab-table tbody{display:table-row-group!important}.labplanning-main-content .lab-table tr{display:table-row!important;margin-bottom:0!important;border:none!important;padding:0!important;border-radius:0!important;background:transparent!important}.labplanning-main-content .lab-table th,.labplanning-main-content .lab-table td{display:table-cell!important;text-align:center!important;padding:8px 4px!important;border-top:1px solid #ccc!important;border-bottom:1px solid #ccc!important;border-left:2px solid #000!important;border-right:2px solid #000!important;position:static!important;white-space:normal!important}.labplanning-main-content .lab-table thead th{border-top:2px solid #000!important;border-bottom:2px solid #000!important}.labplanning-main-content .lab-table thead th:first-child,.labplanning-main-content .lab-table tbody td:first-child{border-left:2px solid #000!important}.labplanning-main-content .lab-table thead th:last-child,.labplanning-main-content .lab-table tbody td:last-child{border-right:2px solid #000!important}.labplanning-main-content .lab-table tbody tr:last-child td{border-bottom:2px solid #000!important}.labplanning-main-content .lab-table td:before{content:none!important}.labplanning-main-content .plan-container{box-sizing:border-box}.labplanning-main-content .header-row{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.labplanning-main-content .header-row h3{font-size:26px!important;line-height:1.2!important;white-space:nowrap!important;border-bottom:3px solid green!important;display:inline-block!important;padding-bottom:6px!important;margin:0 0 8px!important}.labplanning-main-content .button-group{width:100%!important;justify-content:flex-start!important;margin-top:20px!important;margin-bottom:8px!important;margin-left:-16px!important;gap:8px!important;flex-wrap:wrap!important}.labplanning-main-content .button-group .start-btn{padding:8px 14px!important;font-size:12px!important;height:30px!important;line-height:1.1!important;border-radius:6px!important;white-space:nowrap!important;flex:1 1 auto!important;min-width:120px!important}.labplanning-main-content .pagination{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;justify-content:flex-end!important;overflow-x:auto!important;scrollbar-width:none}.labplanning-main-content .pagination::-webkit-scrollbar{display:none}.labplanning-main-content .prev-btn,.labplanning-main-content .forward-btn{flex:0 0 auto!important;margin-left:0!important;padding:6px 10px!important;font-size:12px!important}.labplanning-main-content .tabs{display:flex!important;flex-wrap:wrap!important;gap:6px!important;justify-content:center!important;align-items:center!important;margin-top:20px!important;margin-bottom:10px!important}.labplanning-main-content .tabs button{flex:0 1 auto!important;padding:6px 10px!important;font-size:12px!important;margin-right:0!important}}@media (max-width: 480px){.secondary-sidebar{padding:6px 2px}.secondary-sidebar-header{font-size:13px;padding:7px}.secondary-sidebar ul li{font-size:11px;padding:6px}.sidebar.mobile.visible{width:260px}.labplanning-main-content .plan-container{padding:8px;width:100%;margin:5px 0}.labplanning-main-content .lab-table td{padding:6px}}.labplanning-main-content .prev-btn:hover,.labplanning-main-content .forward-btn:hover{background-color:green!important;color:#fff!important;border-color:green!important;box-shadow:none!important}.labplanning-main-content .lab-table tbody td[rowspan]{border-bottom:2px solid black!important}@media (max-width: 768px){.lab-layout .teaching-main-row{padding:8px!important;gap:0!important}.lab-layout .syllabus-secondary-sidebar-wrapper{width:0!important;min-width:0!important;flex:0 0 0!important;overflow:visible!important}.labplanning-main-content{width:100%!important;padding:8px!important}.labplanning-main-content .plan-container{margin:0!important;width:100%!important;max-width:100%!important;padding:12px!important}.labplanning-main-content .header-row h3{font-size:20px!important;white-space:normal!important;word-break:break-word!important;margin:0 0 8px!important}.labplanning-main-content .button-group{width:100%!important;margin:0!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:8px!important}.labplanning-main-content .button-group .start-btn{flex:0 1 auto!important;min-width:120px!important;margin:0!important;height:auto!important;min-height:34px!important}.labplanning-main-content .tabs{overflow-x:auto!important;justify-content:flex-start!important;flex-wrap:nowrap!important;padding-bottom:4px}.labplanning-main-content .lab-table{min-width:980px!important}.labplanning-main-content .pagination{margin-top:12px!important;justify-content:flex-start!important}}.labplanning-main-content .plan-container{width:95%!important;max-width:1110px!important;margin:-5px 0 0 190px!important;overflow-x:hidden;background-color:#fefefe;border:1px solid #ccc;border-radius:0!important;box-shadow:0 2px 8px #0000001a;padding:18px 18px 32px;height:auto!important;min-height:calc(60vh + 183px)!important}.labplanning-main-content .header-row,.labplanning-main-content .tabs,.labplanning-main-content .teaching{margin-left:0}.labplanning-main-content .header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0px;margin-bottom:0!important}.labplanning-main-content .tabs{display:flex;gap:10px;margin-bottom:20px;margin-top:20px}.labplanning-main-content .tabs button:hover{background-color:green;color:#fff}.labplanning-main-content .tabs .active{background:green;color:#fff;font-weight:700}.labplanning-main-content .teaching .table-container{width:100%;overflow-x:auto;overflow-y:auto;max-height:calc(100% - 220px);padding-bottom:8px;border:2px solid #000!important;border-radius:8px}.labplanning-main-content .lab-table{min-width:1250px;width:100%;border-collapse:collapse;border:2px solid #000;border-bottom:2px solid #000!important;table-layout:fixed}.labplanning-main-content .lab-table th,.labplanning-main-content .lab-table td{padding:8px 4px;text-align:center;font-size:12px;border:1px solid #ccc;word-wrap:break-word}.labplanning-main-content .lab-table thead th{position:sticky;top:0;z-index:2;border-top:2px solid black;border-bottom:2px solid black;border-left:2px solid black;border-right:2px solid black;padding:12px}.labplanning-main-content .lab-table thead th:first-child{border-left:2px solid black}.labplanning-main-content .lab-table thead th:last-child{border-right:2px solid black}.labplanning-main-content .lab-table tbody td{border-left:2px solid #000;border-right:2px solid #000;border-bottom:1px solid #ccc;vertical-align:top}.labplanning-main-content .lab-table tbody tr:last-child td{border-bottom:2px solid #000!important}.labplanning-main-content .lab-table th:nth-child(1),.labplanning-main-content .lab-table td:nth-child(1){min-width:90px}.labplanning-main-content .lab-table th:nth-child(2),.labplanning-main-content .lab-table td:nth-child(2){min-width:170px}.labplanning-main-content .lab-table th:nth-child(3),.labplanning-main-content .lab-table td:nth-child(3){min-width:250px;white-space:normal}.labplanning-main-content .lab-table th:nth-child(4),.labplanning-main-content .lab-table td:nth-child(4){min-width:80px}.labplanning-main-content .lab-table th:nth-child(5),.labplanning-main-content .lab-table td:nth-child(5){min-width:140px;white-space:normal}.labplanning-main-content .lab-table th:nth-child(6),.labplanning-main-content .lab-table td:nth-child(6){min-width:140px;white-space:normal}@media (max-width: 1024px){.labplanning-main-content .lab-table{min-width:950px}.labplanning-main-content .lab-table th,.labplanning-main-content .lab-table td{font-size:11px;padding:6px 3px}.labplanning-main-content .lab-table th:nth-child(1),.labplanning-main-content .lab-table td:nth-child(1){min-width:80px}.labplanning-main-content .lab-table th:nth-child(2),.labplanning-main-content .lab-table td:nth-child(2){min-width:140px}.labplanning-main-content .lab-table th:nth-child(3),.labplanning-main-content .lab-table td:nth-child(3){min-width:200px}.labplanning-main-content .lab-table th:nth-child(4),.labplanning-main-content .lab-table td:nth-child(4){min-width:70px}.labplanning-main-content .lab-table th:nth-child(5),.labplanning-main-content .lab-table td:nth-child(5){min-width:110px}.labplanning-main-content .lab-table th:nth-child(6),.labplanning-main-content .lab-table td:nth-child(6){min-width:110px}}@media (max-width: 768px){.labplanning-main-content{padding-top:60px}.labplanning-main-content .plan-container{margin:-52px auto 0!important;max-width:100vw!important;width:100%!important;padding:12px!important;height:auto!important}.labplanning-main-content .header-row h3{text-align:center!important;display:inline-block!important;width:auto!important;margin:0 auto!important;align-self:center!important}.labplanning-main-content .table-container{overflow-x:auto;overflow-y:auto;max-height:calc(100% - 220px);padding-bottom:8px;border:2px solid #000!important;border-radius:8px}.labplanning-main-content .lab-table{min-width:1250px;width:100%;border-collapse:collapse;border:2px solid #000;border-bottom:2px solid #000!important;table-layout:fixed}.labplanning-main-content .lab-table thead{display:table-header-group!important}.labplanning-main-content .lab-table tbody{display:table-row-group!important}.labplanning-main-content .lab-table tr{display:table-row!important;margin-bottom:0!important;border:none!important;padding:0!important;border-radius:0!important;background:transparent!important}.labplanning-main-content .lab-table th,.labplanning-main-content .lab-table td{display:table-cell!important;text-align:center!important;padding:8px 4px!important;border-top:1px solid #ccc!important;border-bottom:1px solid #ccc!important;border-left:2px solid #000!important;border-right:2px solid #000!important;position:static!important;white-space:normal!important}.labplanning-main-content .lab-table thead th{border-top:2px solid #000!important;border-bottom:2px solid #000!important}.labplanning-main-content .lab-table thead th:first-child,.labplanning-main-content .lab-table tbody td:first-child{border-left:2px solid #000!important}.labplanning-main-content .lab-table thead th:last-child,.labplanning-main-content .lab-table tbody td:last-child{border-right:2px solid #000!important}.labplanning-main-content .lab-table tbody tr:last-child td{border-bottom:2px solid #000!important}.labplanning-main-content .lab-table td:before{content:none!important}.labplanning-main-content .plan-container{box-sizing:border-box}.labplanning-main-content .header-row{flex-direction:column!important;align-items:flex-start!important;gap:8px!important;text-align:left!important;margin-top:0!important;margin-bottom:10px!important;border-bottom:none!important}.labplanning-main-content .header-row h3{font-size:26px!important;line-height:1.2!important;white-space:nowrap!important;border-bottom:3px solid green!important;display:inline-block!important;padding-bottom:6px!important;margin:0 0 10px!important}.labplanning-main-content .header-row h3:after{content:none}.labplanning-main-content .button-group{margin-left:0!important;flex-wrap:wrap!important;align-items:flex-start!important;margin-bottom:10px!important}.labplanning-main-content .button-group .start-btn{flex:1 1 45%!important;min-width:120px!important;margin-bottom:8px!important}}.labplanning-main-content .pagination::-webkit-scrollbar{display:none}.labplanning-main-content .prev-btn,.labplanning-main-content .forward-btn{flex:0 0 auto!important;margin-left:0!important;padding:6px 10px!important;font-size:12px!important}@media (max-width: 768px){.labplanning-main-content .tabs{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:flex-start!important;align-items:center!important;margin-top:12px!important;margin-bottom:10px!important}.labplanning-main-content .tabs button{flex:0 1 auto!important;padding:10px 14px!important;font-size:14px!important;margin-right:0!important}}@media (max-width: 768px){.labplanning-main-content .header-row{align-items:center!important;position:relative}.labplanning-main-content .header-row:after{content:"";display:block;width:100%;border-bottom:1px solid #e0e0e0;margin-top:8px}.labplanning-main-content .button-group{width:100%!important;justify-content:center!important;align-items:center!important;margin-left:0!important;gap:10px!important;flex-wrap:wrap!important}.labplanning-main-content .button-group .start-btn{flex:0 0 auto!important}}@media (min-width: 769px){.labplanning-main-content .prev-btn,.labplanning-main-content .forward-btn{padding:10px 16px!important;font-size:18px!important;border-radius:10px!important;font-weight:700!important}}@media (min-width: 769px){.lab-layout .teaching-main-row{margin-left:0!important;gap:4px!important;padding:8px 8px 12px 0!important}.lab-layout .syllabus-secondary-sidebar-wrapper{width:200px!important;min-width:200px!important;margin-right:0!important}.lab-layout .labplanning-main-content{padding-left:0!important;margin-left:0!important}.lab-layout .labplanning-main-content .plan-container{margin:0!important;width:min(100%,1080px)!important;max-width:1080px!important}}.lab-layout{position:relative!important;min-height:100%!important}.lab-layout .teaching-main-row{overflow:visible!important}.lab-layout .syllabus-secondary-sidebar-wrapper{position:static!important;width:0!important;min-width:0!important;max-width:0!important;height:0!important;overflow:visible!important}.lab-layout .labplanning-main-content{margin-left:310px!important;margin-top:0!important;min-height:calc(100dvh - var(--header-height, 60px))!important;overflow-y:auto!important;overflow-x:hidden!important}@media (max-width: 1024px){.lab-layout .labplanning-main-content{margin-left:300px!important}}@media (max-width: 768px){.lab-layout .labplanning-main-content{margin-left:0!important;min-height:auto!important}}.tps-modal .plan-container{margin:20px;padding:20px;background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000001a}.tps-modal .modal-header{background:#fff;color:#333;padding:16px 20px 12px;font-size:20px;font-weight:600;border-bottom:1px solid #e5e7eb;border-radius:0;margin-bottom:0}.tps-modal-header{background:#fff;color:#333;padding:20px 22px 12px;font-size:28px;font-weight:700;border-bottom:1px solid #e5e7eb;border-top-left-radius:8px;border-top-right-radius:8px}.tps-modal{position:relative}.tps-close-btn{position:absolute;top:14px;right:16px;width:36px;height:36px;background:transparent;border:none;color:#888;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:0;transition:transform .25s ease,background-color .2s ease,color .2s ease}.tps-close-btn:before,.tps-close-btn:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;background-color:currentColor;border-radius:1px;transform-origin:center}.tps-close-btn:before{transform:translate(-50%,-50%) rotate(45deg)}.tps-close-btn:after{transform:translate(-50%,-50%) rotate(-45deg)}.tps-close-btn:hover{background-color:#f1f3f5;color:red;transform:rotate(90deg)}.tps-close-btn:focus-visible{outline:3px solid rgba(76,175,80,.35);outline-offset:2px}.tps-modal .form-grid{display:block;overflow-x:auto;overflow-y:visible;border:1px solid #cfd4da;border-radius:10px;background:#fff;background-clip:padding-box;width:95%;margin:20px auto 15px;text-align:center}.tps-modal .form-grid>.form-labels,.tps-modal .form-grid>.form-row{min-width:750px}.tps-modal .form-grid::-webkit-scrollbar{height:10px}.tps-modal .form-grid::-webkit-scrollbar-track{background:#e9ecef;border-radius:8px}.tps-modal .form-grid::-webkit-scrollbar-thumb{background:#bdbdbd;border-radius:8px;border:2px solid #e9ecef}.tps-modal .form-grid{scrollbar-color:#bdbdbd #e9ecef;scrollbar-width:thin}.tps-modal .form-labels{display:grid;grid-template-columns:1.3fr 1.8fr 1.2fr 1.5fr;column-gap:12px;background-color:#eef2f7;color:#495057;padding:10px 14px;font-weight:600;position:sticky;top:0;z-index:1;border-bottom:1px solid #e1e5ea;background-image:linear-gradient(#e1e5ea,#e1e5ea),linear-gradient(#e1e5ea,#e1e5ea),linear-gradient(#e1e5ea,#e1e5ea);background-size:1px 100%,1px 100%,1px 100%;background-repeat:no-repeat;background-position:23.21% 0,55.36% 0,76.79% 0}.tps-modal .form-row{display:grid;grid-template-columns:1.3fr 1.8fr 1.2fr 1.5fr;column-gap:12px;padding:10px 14px;border-bottom:1px solid #eef1f4;justify-items:center;align-items:center;background-image:linear-gradient(#eef1f4,#eef1f4),linear-gradient(#eef1f4,#eef1f4),linear-gradient(#eef1f4,#eef1f4);background-size:1px 100%,1px 100%,1px 100%;background-repeat:no-repeat;background-position:23.21% 0,55.36% 0,76.79% 0}.tps-modal input,.tps-modal select,.tps-modal .weekwise-form-container .form-input{padding:8px 10px;border:1px solid #dde3ea;border-radius:8px;width:80%!important;box-sizing:border-box;background:#f8fbff;box-shadow:inset 0 1px 3px #0000000f;font-size:14px;font-family:inherit}.tps-modal select.form-input{appearance:auto;-webkit-appearance:menulist;-moz-appearance:menulist;cursor:pointer;min-height:38px;line-height:1.5}.tps-modal select.form-input:disabled{cursor:not-allowed;opacity:.6;background:#e9ecef}.tps-modal select.form-input option{padding:8px;background:#fff;color:#333}.tps-modal select.form-input option:disabled{color:#999;font-style:italic}.tps-modal .weekwise-form-container .form-row .form-input,.tps-modal .weekwise-form-container .form-row input.form-input,.tps-modal .weekwise-form-container .form-row select.form-input,.tps-modal .weekwise-form-container .form-row textarea.form-input{width:90%!important;justify-self:center!important;align-self:center!important;padding:6px 8px!important;margin-right:-10px}.tps-modal .weekwise-form-container .form-input:focus,.tps-modal .weekwise-form-container select:focus,.tps-modal .weekwise-form-container input:focus{outline:none;border-color:#81c784;box-shadow:0 0 0 3px #4caf5033}.tps-modal .week-select{padding:6px 10px}.tps-modal .weekwise-form-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 20px 20px;min-height:0;scroll-behavior:smooth}.tps-modal .weekwise-form-container::-webkit-scrollbar{width:8px}.tps-modal .weekwise-form-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.tps-modal .weekwise-form-container::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.tps-modal .weekwise-form-container::-webkit-scrollbar-thumb:hover{background:#555}.tps-modal .submission-message{margin:15px auto 0;padding:12px 20px;border-radius:8px;text-align:center;font-size:14px;font-weight:600;max-width:95%;animation:slideIn .3s ease-out}.tps-modal .button-group{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;background:#f8f9fa;border-top:1px solid #eee;margin-top:0;width:100%;flex-shrink:0;position:sticky;bottom:0;z-index:10}.tps-modal .button-group .btn{margin:0}.tps-modal .btn{padding:14px 22px;font-weight:700;font-size:16px;border:none;border-radius:10px;cursor:pointer;min-width:100px;box-shadow:0 4px 10px #0000001f;transition:box-shadow .2s ease,transform .02s ease,background-color .2s ease;margin-bottom:-10px!important}.tps-modal .btn:hover{box-shadow:0 6px 14px #00000029}.tps-modal .btn:active{transform:translateY(1px)}.tps-modal .button-group .btn,.tps-modal .action-buttons-container .btn,.tps-modal .button-group .btn.submit,.tps-modal .button-group .btn.cancel{padding:12px 14px!important;font-weight:600;font-size:16px;border-radius:8px}.tps-modal .btn.cancel{background-color:#d32f2f;color:#fff}.tps-modal .btn.submit,.tps-modal .action-buttons-container button:first-child{background-color:#2e7d32;color:#fff}.tps-modal .button-group .btn.submit{margin-right:auto}.tps-modal .button-group .btn.cancel{margin-left:auto}.tps-modal .button-group .btn.cancel,.tps-modal .action-buttons-container .btn.cancel{background-color:#d32f2f!important;border-color:#d32f2f!important;color:#fff!important}.tps-modal .button-group .btn.cancel:hover,.tps-modal .button-group .btn.cancel:focus,.tps-modal .action-buttons-container .btn.cancel:hover,.tps-modal .action-buttons-container .btn.cancel:focus{background-color:#b58f8f!important;border-color:#b58f8f!important}.tps-modal .button-group .btn.cancel:disabled,.tps-modal .action-buttons-container .btn.cancel:disabled{background-color:#e57373!important;border-color:#e57373!important;color:#fff!important;opacity:1!important}@media (max-width: 576px){.tps-modal{max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.tps-modal .weekwise-form-container .form-grid{width:90%;margin-left:15px;margin-right:70px;max-height:calc(85vh - 160px)!important;margin-top:20px;overflow-y:auto;overflow-x:auto;border:1px solid #cfd4da;border-radius:12px;background:#fff;background-clip:padding-box;padding-bottom:0}.tps-modal .weekwise-form-container .form-labels{padding:8px 10px;font-size:13px;column-gap:8px}.tps-modal .weekwise-form-container .form-row{padding:8px 10px;column-gap:8px;justify-items:start;min-height:56px}.tps-modal .weekwise-form-container .form-input,.tps-modal .weekwise-form-container .form-row .form-input,.tps-modal .weekwise-form-container .form-row input.form-input,.tps-modal .weekwise-form-container .form-row select.form-input,.tps-modal .weekwise-form-container .form-row textarea.form-input{font-size:13px;padding:6px 8px;width:92%}.tps-modal .button-group{padding:8px 10px;gap:8px;position:sticky;bottom:0;background:#f8f9fa;z-index:2;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:100%}.tps-modal .button-group .btn{padding:8px 10px!important;font-size:13px;min-width:80px!important;width:auto;flex:0 0 auto;border-radius:8px;margin:0!important}.tps-modal .button-group .btn.submit{order:1;padding:8px 10px!important;width:250px!important}.tps-modal .button-group .btn.cancel{order:2;padding:8px 10px!important;width:250px!important}}.tps-modal .plan-table-wrapper{overflow-x:auto!important;-webkit-overflow-scrolling:touch;margin-top:20px;padding-bottom:0;border:1px solid #cfd4da;border-radius:10px;background:#fff}.tps-modal .plan-table{width:100%;border-collapse:collapse;min-width:1050px;table-layout:fixed;border:0}.tps-modal .plan-table th,.tps-modal .plan-table td{border:1px solid #e0e0e0;padding:10px 8px;text-align:center;vertical-align:middle;font-size:13px;white-space:normal}.tps-modal .plan-table th{background-color:#f0f2f5;font-weight:600;color:#495057;position:sticky;top:0;z-index:10}.tps-modal .plan-table th:nth-child(1),.tps-modal .plan-table td:nth-child(1){width:8%!important;min-width:80px!important}.tps-modal .plan-table th:nth-child(2),.tps-modal .plan-table td:nth-child(2){width:14%!important;min-width:140px!important}.tps-modal .plan-table th:nth-child(3),.tps-modal .plan-table td:nth-child(3){width:12%!important;min-width:120px!important}.tps-modal .plan-table th:nth-child(4),.tps-modal .plan-table td:nth-child(4){width:14%!important;min-width:140px!important}.tps-modal .plan-table th:nth-child(5),.tps-modal .plan-table td:nth-child(5){width:18%!important;min-width:160px!important}.tps-modal .plan-table th:nth-child(6),.tps-modal .plan-table td:nth-child(6){width:18%!important;min-width:160px!important}.tps-modal .plan-table th:nth-child(7),.tps-modal .plan-table td:nth-child(7){width:11%!important;min-width:120px!important}.tps-modal .plan-table th:nth-child(8),.tps-modal .plan-table td:nth-child(8){width:5%!important;min-width:50px!important}.tps-modal .plan-table select,.tps-modal .plan-table input{width:100%!important;padding:6px 8px!important;border:1px solid #ddd!important;border-radius:8px!important;font-size:13px!important;box-sizing:border-box!important;background-color:#fff!important;box-shadow:inset 0 1px 3px #0000000f!important;transition:border-color .2s ease,box-shadow .2s ease!important}.tps-modal .plan-table input[type=date]{min-width:130px!important}.tps-modal .plan-table select:focus,.tps-modal .plan-table input:focus{outline:none!important;border-color:#81c784!important;box-shadow:0 0 0 3px #4caf5033!important}.teaching-main-content.syllabus-main-content .plan-container{width:min(100%,1100px)!important;max-width:1100px!important;margin:0!important;overflow-x:hidden;background-color:var(--card-bg, #fefefe);border:1px solid var(--card-border, #ccc);border-radius:16px!important;box-shadow:0 2px 8px #0000001a;padding:18px;height:auto!important;min-height:60vh!important}.teaching-layout{min-height:100vh;padding-left:0}.teaching-main-row{display:flex;align-items:flex-start;gap:6px;margin-left:0;padding:8px 10px 12px 0}.teaching-layout .syllabus-secondary-sidebar-wrapper{width:200px;min-width:200px;flex-shrink:0}.teaching-main-content.syllabus-main-content{flex:1;min-width:0;margin-top:0!important;padding-top:8px!important;padding-left:2px}.teaching-main-content.syllabus-main-content .header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0px;margin-bottom:0!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right{display:flex;gap:10px;align-items:center;margin-bottom:0!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right .start-btn,.teaching-main-content.syllabus-main-content .plan-actions-top-right .action-buttons .start-btn{padding:8px 18px;border-radius:5px;cursor:pointer;margin:0;height:39px;display:flex;align-items:center;font-size:14px;border:none}.teaching-main-content.syllabus-main-content .action-buttons{display:flex;gap:10px;align-items:center;margin-top:5px}.teaching-main-content.syllabus-main-content .btn{padding:10px 15px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .3s ease;border:none}.teaching-main-content.syllabus-main-content .btn.submit{background-color:var(--primary-color, green);color:var(--text-on-primary, white)}.teaching-main-content.syllabus-main-content .btn.submit:hover{background-color:var(--primary-accent-dark, green)}.teaching-main-content.syllabus-main-content .ciann-details{width:100%;text-align:left;margin-top:5px}.teaching-main-content.syllabus-main-content .tabs{display:flex;gap:10px;margin-bottom:18px;margin-top:-8px}.teaching-main-content.syllabus-main-content .tab{background-color:var(--primary-light, #f5f5f5);border:1px solid var(--card-border, #ccc);padding:8px 18px;margin-right:8px;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .3s ease,color .3s ease}.teaching-main-content .tabs button:hover{background-color:var(--primary-color, green);color:var(--text-on-primary, white)}.teaching-main-content.syllabus-main-content .tab.active,.teaching-main-content.syllabus-main-content .tab:active{background:var(--primary-color, green);color:var(--text-on-primary, #fff);font-weight:700}.teaching-main-content.syllabus-main-content .teaching .table-container{width:100%;overflow-x:auto;overflow-y:auto;max-height:calc(100% - 220px);padding-bottom:8px;border:2px solid var(--text-color-primary, #000)!important;border-radius:8px}.teaching-main-content.syllabus-main-content .teaching table{min-width:1250px;width:100%;border-collapse:collapse;border:2px solid var(--text-color-primary, #000);border-bottom:2px solid var(--text-color-primary, #000)!important;table-layout:fixed}.teaching-main-content.syllabus-main-content .teaching th,.teaching-main-content.syllabus-main-content .teaching td{padding:8px 4px;text-align:center;font-size:12px;border:1px solid var(--card-border, #ccc);word-wrap:break-word}.teaching-main-content.syllabus-main-content .teaching th{background:var(--primary-light, #f8f9fa);font-weight:700;text-align:center;white-space:normal}.teaching-main-content.syllabus-main-content .teaching th:nth-child(1),.teaching-main-content.syllabus-main-content .teaching td:nth-child(1){min-width:90px}.teaching-main-content.syllabus-main-content .teaching th:nth-child(2),.teaching-main-content.syllabus-main-content .teaching td:nth-child(2){min-width:170px}.teaching-main-content.syllabus-main-content .teaching th:nth-child(3),.teaching-main-content.syllabus-main-content .teaching td:nth-child(3){min-width:250px;white-space:normal}.teaching-main-content.syllabus-main-content .teaching th:nth-child(4),.teaching-main-content.syllabus-main-content .teaching td:nth-child(4){min-width:80px}.teaching-main-content.syllabus-main-content .teaching th:nth-child(5),.teaching-main-content.syllabus-main-content .teaching td:nth-child(5){min-width:140px;white-space:normal}.teaching-main-content.syllabus-main-content .teaching th:nth-child(6),.teaching-main-content.syllabus-main-content .teaching td:nth-child(6){min-width:140px;white-space:normal}.teaching-main-content.syllabus-main-content .teaching th:nth-child(7),.teaching-main-content.syllabus-main-content .teaching td:nth-child(7){min-width:180px;white-space:normal}.teaching-main-content.syllabus-main-content .teaching thead th{position:sticky;top:0;z-index:2;border-top:2px solid var(--text-color-primary, black);border-bottom:2px solid var(--text-color-primary, black);border-left:2px solid var(--text-color-primary, black);border-right:2px solid var(--text-color-primary, black);padding:12px}.teaching-main-content.syllabus-main-content .teaching thead th:first-child{border-left:2px solid var(--text-color-primary, black)}.teaching-main-content.syllabus-main-content .teaching thead th:last-child{border-right:2px solid var(--text-color-primary, black)}.teaching-main-content.syllabus-main-content .teaching tbody td{border-left:2px solid var(--text-color-primary, black);border-right:2px solid var(--text-color-primary, black);border-bottom:1px solid var(--card-border, #ccc);vertical-align:top}.teaching-main-content.syllabus-main-content .teaching tr:nth-child(6) td,.teaching-main-content.syllabus-main-content .teaching tr:nth-child(11) td,.teaching-main-content.syllabus-main-content .teaching tr:nth-child(16) td,.teaching-main-content.syllabus-main-content .teaching tr:nth-child(21) td{border-top:2px solid var(--text-color-primary, black)!important;border-bottom:1px solid var(--card-border, #ccc)!important}.teaching-main-content.syllabus-main-content .teaching tbody tr:last-child td{border-bottom:2px solid var(--text-color-primary, black)!important}.teaching-main-content.syllabus-main-content .teaching tbody tr:first-child td{border-top:none}.teaching-main-content.syllabus-main-content .teaching td[rowspan]{vertical-align:middle;font-weight:700;font-size:14px}.teaching-main-content.syllabus-main-content .pagination{display:flex;gap:0px;justify-content:center;justify-content:flex-end;margin-right:30px;margin-top:10px;margin-bottom:-30px}.teaching-main-content.syllabus-main-content .pagination-btn{background-color:var(--card-bg, white);color:var(--text-color-primary, black);padding:6px 14px;font-weight:700;border:1px solid var(--card-border, #ccc);border-radius:8px;cursor:pointer;font-size:16px;transition:background-color .2s ease,color .2s ease;margin-left:10px}.teaching-main-content.syllabus-main-content .pagination-btn:hover:not(:disabled){background-color:var(--primary-color, green);color:var(--text-on-primary, white)}.teaching-main-content.syllabus-main-content .pagination-btn:disabled{background-color:var(--primary-light, #ddd);color:var(--text-color-secondary, #888);border:1px solid var(--card-border, #bbb);cursor:not-allowed}@media (max-width: 1024px){.teaching-main-content.syllabus-main-content .teaching table{min-width:950px}.teaching-main-content.syllabus-main-content .teaching th,.teaching-main-content.syllabus-main-content .teaching td{font-size:11px;padding:6px 3px}.teaching-main-content.syllabus-main-content .teaching th:nth-child(1),.teaching-main-content.syllabus-main-content .teaching td:nth-child(1){min-width:80px}.teaching-main-content.syllabus-main-content .teaching th:nth-child(2),.teaching-main-content.syllabus-main-content .teaching td:nth-child(2){min-width:140px}.teaching-main-content.syllabus-main-content .teaching th:nth-child(3),.teaching-main-content.syllabus-main-content .teaching td:nth-child(3){min-width:200px}.teaching-main-content.syllabus-main-content .teaching th:nth-child(4),.teaching-main-content.syllabus-main-content .teaching td:nth-child(4){min-width:70px}.teaching-main-content.syllabus-main-content .teaching th:nth-child(5),.teaching-main-content.syllabus-main-content .teaching td:nth-child(5){min-width:110px}.teaching-main-content.syllabus-main-content .teaching th:nth-child(6),.teaching-main-content.syllabus-main-content .teaching td:nth-child(6){min-width:110px}.teaching-main-content.syllabus-main-content .teaching th:nth-child(7),.teaching-main-content.syllabus-main-content .teaching td:nth-child(7){min-width:140px}}@media (max-width: 768px){.teaching-main-content.syllabus-main-content .plan-container{margin:-52px auto 0!important;max-width:100vw!important;width:100%!important;padding:12px!important;height:auto!important}.teaching-main-content.syllabus-main-content .teaching .table-container{overflow-x:auto;overflow-y:auto}.teaching-main-content.syllabus-main-content .teaching table{min-width:1250px;border-collapse:collapse;border:2px solid #222}.teaching-main-content.syllabus-main-content .teaching table thead{display:table-header-group!important}.teaching-main-content.syllabus-main-content .teaching table{display:table!important;width:auto!important}.teaching-main-content.syllabus-main-content .teaching tbody{display:table-row-group!important}.teaching-main-content.syllabus-main-content .teaching tr{display:table-row!important;margin-bottom:0!important;border:none!important;padding:0!important;border-radius:0!important;background:transparent!important}.teaching-main-content.syllabus-main-content .teaching th,.teaching-main-content.syllabus-main-content .teaching td{display:table-cell!important;min-width:unset}.teaching-main-content.syllabus-main-content .teaching td,.teaching-main-content.syllabus-main-content .teaching th{text-align:center!important;padding:8px 4px!important;border-top:1px solid #ccc!important;border-bottom:1px solid #ccc!important;border-left:2px solid #000!important;border-right:2px solid #000!important;position:static!important;white-space:normal!important}.teaching-main-content.syllabus-main-content .teaching thead th{border-top:2px solid #000!important;border-bottom:2px solid #000!important}.teaching-main-content.syllabus-main-content .teaching thead th:first-child,.teaching-main-content.syllabus-main-content .teaching tbody td:first-child{border-left:2px solid #000!important}.teaching-main-content.syllabus-main-content .teaching thead th:last-child,.teaching-main-content.syllabus-main-content .teaching tbody td:last-child{border-right:2px solid #000!important}.teaching-main-content.syllabus-main-content .teaching tbody tr:last-child td{border-bottom:2px solid #000!important}.teaching-main-content.syllabus-main-content .teaching td:before{content:none!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right .btn{margin-top:0!important;margin-bottom:0!important}.teaching-main-content.syllabus-main-content .ciann-details{font-size:14px!important}.teaching-main-content.syllabus-main-content .ciann-details strong{font-size:15px!important}.teaching-main-content.syllabus-main-content .pagination{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;justify-content:flex-end!important;overflow-x:auto!important;scrollbar-width:none}.teaching-main-content.syllabus-main-content .pagination::-webkit-scrollbar{display:none}.teaching-main-content.syllabus-main-content .pagination-btn{flex:0 0 auto!important;margin-left:0!important;padding:6px 10px!important;font-size:12px!important}.teaching-main-content.syllabus-main-content .tabs{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;justify-content:center!important;align-items:center!important}.teaching-main-content.syllabus-main-content .tab{flex:0 1 auto!important;padding:6px 10px!important;font-size:12px!important;margin-right:0!important}.teaching-layout{padding-left:0!important;padding-right:0!important}.teaching-main-content.syllabus-main-content .plan-title{margin:0 0 8px!important}.teaching-main-content.syllabus-main-content .plan-title:after{content:none!important}.teaching-main-content.syllabus-main-content .header-row{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.teaching-main-content.syllabus-main-content .header-row h1,.teaching-main-content.syllabus-main-content .header-row h2,.teaching-main-content.syllabus-main-content .header-row h3,.teaching-main-content.syllabus-main-content .plan-title{font-size:26px!important;line-height:1.2!important;white-space:nowrap!important;border-bottom:3px solid green!important;display:inline-block!important;padding-bottom:6px!important;margin:0 0 8px!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right{width:100%!important;justify-content:flex-start!important;margin-top:20px!important;margin-bottom:-20px!important;margin-left:-16px!important;gap:8px!important;flex-wrap:nowrap!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right .btn,.teaching-main-content.syllabus-main-content .plan-actions-top-right .start-btn,.teaching-main-content.syllabus-main-content .plan-actions-top-right .action-buttons .start-btn{padding:18px 14px!important;font-size:12px!important;height:30px!important;line-height:1.1!important;border-radius:6px!important;white-space:nowrap!important}.teaching-main-content.syllabus-main-content .plan-container{box-sizing:border-box}.teaching-main-content.syllabus-main-content,.teaching-main-content.syllabus-main-content.has-secondary-sidebar{margin-top:0!important;padding-top:0!important}}@media (max-width: 480px){.teaching-main-content.syllabus-main-content .tab{padding:7px 8px}.teaching-main-content.syllabus-main-content .pagination-btn{padding:7px 10px;font-size:13px;margin-bottom:30px;margin-top:-10px}}.teaching-main-content.syllabus-main-content .ciann-details{width:100%;text-align:left;margin-top:5px;padding:5px 0;transition:background-color .3s ease,color .3s ease;cursor:default}.teaching-main-content.syllabus-main-content .ciann-details:hover{background-color:green;color:#fff}.teaching-main-content.syllabus-main-content .ciann-details strong{color:#000;transition:color .3s ease}.teaching-main-content.syllabus-main-content .ciann-details:hover strong{color:#fff0f0}.teaching-main-content.syllabus-main-content .btn{padding:10px 15px;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.teaching-main-content.syllabus-main-content .btn.submit{background-color:green;color:#fff}.teaching-main-content.syllabus-main-content .btn.submit:hover{background-color:green}.teaching-main-content.syllabus-main-content .plan-actions-top-right .action-buttons .btn.submit{background-color:green!important;color:#fff!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right .action-buttons .btn.submit:hover{background-color:green!important}.teaching-main-content.syllabus-main-content .plan-header{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.teaching-main-content.syllabus-main-content .plan-button-container{align-self:flex-end}.header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:1rem}.plan-actions-top-right{margin-left:auto}.start-btn{padding:.5rem 1rem;font-size:14px}.teaching-main-content.syllabus-main-content .plan-actions-top-right{display:flex;justify-content:flex-end;margin-bottom:20px;margin-right:20px;margin-top:10px}.teaching-main-content.syllabus-main-content .plan-actions-top-right .btn{white-space:nowrap;padding:10px 14px!important;font-size:16px!important;border-radius:6px;min-width:max-content;height:auto!important;display:inline-flex;align-items:center;justify-content:center;margin-top:-30px!important;margin-bottom:-15px!important}.teaching-main-content.syllabus-main-content .prev-btn,.teaching-main-content.syllabus-main-content .forward-btn{background-color:#fff;color:#000;padding:6px 14px;font-weight:700;border:1px solid #ccc;border-radius:8px;cursor:pointer;font-size:16px;transition:background-color .2s,color .2s}.teaching-main-content.syllabus-main-content .prev-btn:disabled{background-color:#ccc;cursor:not-allowed}.teaching-main-content.syllabus-main-content .teaching tbody td[rowspan]{border-bottom:2px solid black!important}.teaching-main-content.syllabus-main-content .plan-title:after{content:"";display:block;height:2.5px;background-color:var(--primary-color, #28a745);width:60%;margin-left:-300px;margin-top:60px}.teaching-main-content.syllabus-main-content .plan-title{font-size:32px;color:#000;font-weight:700;line-height:1.2;margin:-40px 80px 0 -10px;padding:0;border-bottom:none!important}@media (max-width: 768px){.teaching-main-row{padding:8px!important;gap:0!important}.teaching-layout .syllabus-secondary-sidebar-wrapper{width:0!important;min-width:0!important;flex:0 0 0!important;overflow:visible!important}.teaching-main-content.syllabus-main-content{width:100%!important;padding:8px!important;margin-top:0!important}.teaching-main-content.syllabus-main-content .plan-container{margin:0!important;width:100%!important;max-width:100%!important;min-height:0!important;padding:12px!important}.teaching-main-content.syllabus-main-content .header-row h1,.teaching-main-content.syllabus-main-content .header-row h2,.teaching-main-content.syllabus-main-content .header-row h3,.teaching-main-content.syllabus-main-content .plan-title{font-size:20px!important;white-space:normal!important;word-break:break-word!important;margin:0 0 8px!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right,.teaching-main-content.syllabus-main-content .action-buttons{width:100%!important;margin:0!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:flex-start!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right .btn,.teaching-main-content.syllabus-main-content .plan-actions-top-right .start-btn,.teaching-main-content.syllabus-main-content .plan-actions-top-right .action-buttons .start-btn{margin:0!important;height:auto!important;min-height:34px!important}.teaching-main-content.syllabus-main-content .tabs{overflow-x:auto!important;justify-content:flex-start!important;flex-wrap:nowrap!important;padding-bottom:4px}.teaching-main-content.syllabus-main-content .teaching table{min-width:980px!important}.teaching-main-content.syllabus-main-content .pagination{margin:12px 0 0!important;justify-content:flex-start!important}}.teaching-layout{position:relative!important;min-height:100%!important}.teaching-main-row{overflow:visible!important}.teaching-layout .syllabus-secondary-sidebar-wrapper{position:static!important;width:0!important;min-width:0!important;max-width:0!important;height:0!important;overflow:visible!important}.teaching-main-content.syllabus-main-content{margin-left:310px!important;margin-top:0!important;min-height:calc(100dvh - var(--header-height, 60px))!important;overflow-y:auto!important;overflow-x:hidden!important}@media (max-width: 1024px){.teaching-main-content.syllabus-main-content{margin-left:300px!important}}@media (max-width: 768px){.teaching-main-content.syllabus-main-content{margin-left:0!important;min-height:auto!important}}.teaching-layout{background:linear-gradient(180deg,var(--primary-light, #f7faff) 0%,var(--dash-bg, #eef3fb) 100%)!important}.teaching-main-content.syllabus-main-content .plan-container{border-radius:16px!important;border:1px solid var(--card-border, #d8e3f2)!important;box-shadow:0 12px 30px #0d234814!important;background:var(--card-bg, #ffffff)!important}.teaching-main-content.syllabus-main-content .header-row{padding-bottom:10px;border-bottom:1px solid var(--card-border, #e2eaf5);margin-bottom:10px!important}.teaching-main-content.syllabus-main-content .plan-title{margin:0!important;font-size:2rem!important;color:var(--text-color-primary, #132b4d)!important;border-bottom:none!important}.teaching-main-content.syllabus-main-content .plan-title:after{content:none!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right .btn,.teaching-main-content.syllabus-main-content .plan-actions-top-right .start-btn,.teaching-main-content.syllabus-main-content .plan-actions-top-right .action-buttons .start-btn,.teaching-main-content.syllabus-main-content .btn.submit{background:linear-gradient(180deg,var(--primary-color, #2f74e0) 0%,var(--primary-accent-dark, #1f62cf) 100%)!important;border:1px solid var(--primary-accent-dark, #1f5bbd)!important;color:var(--text-on-primary, #ffffff)!important;border-radius:10px!important;box-shadow:0 5px 14px #1f62cf33!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right .btn:hover,.teaching-main-content.syllabus-main-content .plan-actions-top-right .start-btn:hover,.teaching-main-content.syllabus-main-content .plan-actions-top-right .action-buttons .start-btn:hover,.teaching-main-content.syllabus-main-content .btn.submit:hover{filter:brightness(.95)}.teaching-main-content.syllabus-main-content .ciann-details{background:var(--primary-light, #f3f7ff);border:1px solid var(--card-border, #d9e5f8);border-radius:10px;padding:9px 12px!important;color:var(--text-color-secondary, #425a7d)!important}.teaching-main-content.syllabus-main-content .ciann-details:hover{background:var(--primary-accent-light, #edf4ff)!important;color:var(--text-color-primary, #2a4570)!important}.teaching-main-content.syllabus-main-content .ciann-details strong,.teaching-main-content.syllabus-main-content .ciann-details:hover strong{color:var(--text-color-primary, #14335f)!important}.teaching-main-content.syllabus-main-content .tabs{gap:8px!important;margin-top:10px!important;margin-bottom:14px!important}.teaching-main-content.syllabus-main-content .tab{background:var(--primary-light, #f4f8ff)!important;border:1px solid var(--card-border, #cfdef2)!important;color:var(--text-color-secondary, #3b567f)!important;border-radius:10px!important;font-weight:600}.teaching-main-content.syllabus-main-content .tab.active,.teaching-main-content.syllabus-main-content .tab:active,.teaching-main-content.syllabus-main-content .tab:hover{background:var(--primary-color, #e6f0ff)!important;border-color:var(--primary-color, #aac5eb)!important;color:var(--text-on-primary, #ffffff)!important}.teaching-main-content.syllabus-main-content .teaching .table-container{border:1px solid var(--card-border, #d6e2f0)!important;border-radius:12px!important;box-shadow:inset 0 1px #fff9}.teaching-main-content.syllabus-main-content .teaching table{border:1px solid var(--card-border, #d6e2f0)!important;border-bottom:1px solid var(--card-border, #d6e2f0)!important}.teaching-main-content.syllabus-main-content .teaching thead th{background:var(--primary-light, #edf4ff)!important;color:var(--text-color-primary, #233f64)!important;border-top:1px solid var(--card-border, #d6e2f0)!important;border-bottom:1px solid var(--card-border, #d6e2f0)!important;border-left:1px solid var(--card-border, #d6e2f0)!important;border-right:1px solid var(--card-border, #d6e2f0)!important}.teaching-main-content.syllabus-main-content .teaching tbody td{border-left:1px solid var(--card-border, #dbe5f1)!important;border-right:1px solid var(--card-border, #dbe5f1)!important;border-bottom:1px solid var(--card-border, #dbe5f1)!important}.teaching-main-content.syllabus-main-content .teaching tbody tr:nth-child(odd) td{background:var(--card-bg, #fcfdff)}.teaching-main-content.syllabus-main-content .teaching tr:nth-child(6) td,.teaching-main-content.syllabus-main-content .teaching tr:nth-child(11) td,.teaching-main-content.syllabus-main-content .teaching tr:nth-child(16) td,.teaching-main-content.syllabus-main-content .teaching tr:nth-child(21) td{border-top:1px solid var(--card-border, #dbe5f1)!important}.teaching-main-content.syllabus-main-content .teaching tbody tr:last-child td,.teaching-main-content.syllabus-main-content .teaching tbody td[rowspan]{border-bottom:1px solid var(--card-border, #dbe5f1)!important}.teaching-main-content.syllabus-main-content .pagination{margin:14px 0 0!important;justify-content:flex-end!important;gap:8px!important}.teaching-main-content.syllabus-main-content .pagination-btn{background:var(--primary-color, #1f63d3)!important;color:var(--text-on-primary, #ffffff)!important;border:1px solid var(--primary-accent-dark, #1f5bbd)!important;border-radius:10px!important;font-size:.92rem!important;padding:8px 14px!important}.teaching-main-content.syllabus-main-content .pagination-btn:hover:not(:disabled){filter:brightness(.95)}@media (max-width: 768px){.teaching-main-content.syllabus-main-content .plan-title{font-size:1.35rem!important;white-space:normal!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right{margin:0!important;gap:8px!important}.teaching-main-content.syllabus-main-content .plan-actions-top-right .btn,.teaching-main-content.syllabus-main-content .plan-actions-top-right .start-btn,.teaching-main-content.syllabus-main-content .plan-actions-top-right .action-buttons .start-btn{min-height:36px!important;padding:8px 12px!important;font-size:.82rem!important}}.teaching-main-content.syllabus-main-content .tutorial-table th:nth-child(1),.teaching-main-content.syllabus-main-content .tutorial-table td:nth-child(1){min-width:90px;width:10%!important}.teaching-main-content.syllabus-main-content .tutorial-table th:nth-child(2),.teaching-main-content.syllabus-main-content .tutorial-table td:nth-child(2){min-width:250px;width:25%!important}.teaching-main-content.syllabus-main-content .tutorial-table th:nth-child(3),.teaching-main-content.syllabus-main-content .tutorial-table td:nth-child(3){min-width:250px;width:25%!important}.teaching-main-content.syllabus-main-content .tutorial-table th:nth-child(4),.teaching-main-content.syllabus-main-content .tutorial-table td:nth-child(4){min-width:140px;width:10%!important}.teaching-main-content.syllabus-main-content .tutorial-table th:nth-child(5),.teaching-main-content.syllabus-main-content .tutorial-table td:nth-child(5){min-width:140px;width:10%!important}.teaching-main-content.syllabus-main-content .tutorial-table th:nth-child(6),.teaching-main-content.syllabus-main-content .tutorial-table td:nth-child(6){min-width:180px;width:20%!important}.plan-table-wrapper .plan-table th:nth-child(1),.plan-table-wrapper .plan-table td:nth-child(1){width:35%!important}.plan-table-wrapper .plan-table th:nth-child(2),.plan-table-wrapper .plan-table td:nth-child(2){width:25%!important}.plan-table-wrapper .plan-table th:nth-child(3),.plan-table-wrapper .plan-table td:nth-child(3){width:15%!important}.plan-table-wrapper .plan-table th:nth-child(4),.plan-table-wrapper .plan-table td:nth-child(4){width:20%!important}.plan-table-wrapper .plan-table th:nth-child(5),.plan-table-wrapper .plan-table td:nth-child(5){width:5%!important}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:16px;font-weight:400;color:#111}.student-layout{display:flex;flex-direction:column;min-height:100vh}.student-main-row{display:flex;flex:1;flex-wrap:wrap;align-items:flex-start;gap:6px}.student-main-row{margin-left:0}.student-secondary-sidebar-wrapper{width:200px;flex-shrink:0;padding-right:0;box-sizing:border-box}.student-main-content{margin-top:0;padding-top:8px;padding-left:2px;padding-right:8px;flex:1 1 auto;width:auto;box-sizing:border-box}.studentlist-container{width:min(100%,1100px);max-width:1100px;margin:0;box-shadow:0 2px 10px #0000001a;min-height:600px;position:relative;background:#fff;border-radius:8px;padding:15px}.header-with-button{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1rem}.table{border-collapse:collapse;border-spacing:0;width:100%}.table th{text-align:center}.table td{border:.5px solid #cccccc;padding:8px 6px;vertical-align:middle;text-align:left;font-size:12px!important}.table thead th{font-weight:600;background-color:#e9edf2;font-size:13px!important;height:35px!important;border:.5px solid #cccccc}.pagination-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:1rem}.pagination-buttons button{font-weight:600;font-size:14px;padding:6px 12px;border:1.5px solid #ccc;border-radius:10px;background-color:#fff;color:#000;cursor:pointer;transition:all .2s ease}.pagination-buttons button:hover{background-color:green;border-color:green;color:#fff}.table td:first-child,.table td:nth-child(2),.table td:nth-child(3),.table td:nth-child(4){min-width:140px;text-align:center;background-color:#fff;border:white}@media (max-width: 768px){.student-main-row{flex-direction:column;margin-left:0;gap:0}.student-secondary-sidebar-wrapper{width:0;min-width:0;flex:0 0 0;padding-right:0;overflow:visible}.student-main-content{margin-left:0;width:100%;padding:8px}.studentlist-container{width:100%;max-width:100%;margin:0;padding:10px;min-height:0}.header-with-button{flex-direction:column;gap:1rem;align-items:stretch}.header-with-button h6{font-size:16px;line-height:1.3;margin:0}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%!important;min-width:auto!important}.table tr{margin-bottom:1rem;border:1px solid #ddd;border-radius:10px;background:#fff;box-shadow:0 2px 6px #00000014;padding:0;overflow:hidden}.table td{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;padding:10px;border:none;border-bottom:1px solid #eee;font-size:14px;background:#fff;width:100%!important}.table tr td:last-child{border-bottom:none}.table td:before{content:attr(data-label) ": ";font-weight:600;color:#222;flex:1 1 40%;text-align:left;white-space:normal;padding-right:5px}.table td span{flex:1 1 60%;font-weight:400;color:#000;text-align:left;width:auto!important;display:inline-block;word-wrap:break-word;overflow-wrap:anywhere}.pagination-buttons{justify-content:stretch;flex-direction:column}.pagination-buttons button{width:100%}}.student-layout{position:relative;min-height:100%}.student-main-row{overflow:visible}.student-secondary-sidebar-wrapper{position:static!important;width:0!important;min-width:0!important;max-width:0!important;height:0!important;overflow:visible!important;padding-right:0!important}.student-main-content{margin-left:310px!important;margin-top:0!important;min-height:calc(100dvh - var(--header-height, 60px));overflow-y:auto;overflow-x:hidden}@media (max-width: 1024px){.student-main-content{margin-left:300px!important}}@media (max-width: 768px){.student-main-content{margin-left:0!important;min-height:auto}}.ciann-print-page{min-height:100vh;background:#f4f6fb;padding:20px}.ciann-print-toolbar{max-width:1000px;margin:0 auto 16px;display:flex;justify-content:flex-end;gap:8px}.ciann-print-sheet{background:#fff;color:#111827;max-width:1120px;margin:0 auto;padding:20px;border:1px solid #d1d5db}.print-block{margin-bottom:24px;break-inside:avoid}.section-title{font-size:28px;font-weight:700;margin:0 0 12px;color:#000}.front-page-block{page-break-after:always}.course-diary-card{border:1px solid #d1d5db;border-radius:8px;padding:20px}.course-diary-header-row{display:flex;align-items:center;gap:16px;margin-bottom:18px}.course-diary-logo-cell{width:84px;height:60px;flex-shrink:0}.course-diary-logo{width:100%;height:100%;object-fit:contain}.course-diary-logo-fallback{width:100%;height:100%;border-radius:8px;background-color:#e5e7eb;color:#111827;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;text-transform:uppercase}.course-diary-title{flex:1;background:var(--app-header-bg);color:#fff;text-align:center;font-size:38px;font-weight:700;padding:8px 10px;border-radius:6px}.course-diary-body-center{text-align:center;margin-bottom:22px}.course-diary-body-center p{margin:4px 0;font-size:20px}.institution-name{font-size:34px;color:#444;margin:0 0 8px;text-transform:lowercase}.ciann-name{color:var(--app-header-bg);font-size:42px;margin:0 0 8px}.diary-info-table{width:100%;border-collapse:separate;border-spacing:0 8px;display:table}.diary-row{display:table-row}.diary-row .label,.diary-row .value{display:table-cell;padding:12px 15px;font-size:16px;border:1px solid #d1d5db}.diary-row .label{width:35%;background:var(--app-header-bg);color:#fff;font-weight:700}.diary-row .value{width:65%;background:#fff}.print-grid{width:100%;border-collapse:collapse;table-layout:fixed;border:2px solid #000}.print-grid th,.print-grid td{border:1px solid #000;padding:8px 6px;text-align:center;font-size:12px;vertical-align:middle;word-break:break-word}.print-grid thead th{border:2px solid #000;font-weight:700;background:#f3f4f6}.timetable-print-table .time-col{font-weight:700;width:180px;background:#f9fafb}.tt-cell{min-height:34px}.syllabus-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.syllabus-image-block{border:1px solid #d1d5db;border-radius:6px;padding:8px}.syllabus-page-label{font-weight:700;margin-bottom:8px}.syllabus-image{width:100%;height:auto;object-fit:contain}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-col-grid h4,.subject-section h4{margin:0 0 8px;font-size:16px}.small-note{margin:0 0 10px;color:#374151;font-size:13px}.subject-section{margin-bottom:14px}.plan-page{margin-bottom:18px;page-break-inside:avoid}.plan-page-title{display:inline-block;border:1px solid #d1d5db;padding:6px 14px;border-radius:6px;font-weight:700;margin-bottom:8px}.tp-table th,.tp-table td{font-size:11px}.entry-no-cell{font-size:14px;font-weight:700}.ciann-print-loading{text-align:center;margin:12px 0 0;font-size:13px;color:#374151}.ciann-print-empty{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column}@media (max-width: 768px){.two-col-grid,.syllabus-image-grid{grid-template-columns:1fr}.course-diary-title{font-size:24px}.course-diary-body-center p{font-size:16px}}@media print{@page{margin:10mm}body{background:#fff!important}.no-print{display:none!important}.ciann-print-page{padding:0;background:#fff}.ciann-print-sheet{max-width:none;border:none;box-shadow:none;margin:0;padding:0}.print-grid,.course-diary-card,.plan-page,.print-block{page-break-inside:avoid}.front-page-block{page-break-after:always}.section-title{font-size:20px}.course-diary-title{font-size:24px}.course-diary-body-center p{font-size:14px}.ciann-name{font-size:28px}.institution-name{font-size:22px}}.k3-format-section{background:#fff;border:1px solid #000;padding:14px;margin-bottom:24px}.k3-sheet-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #000;padding-bottom:10px;margin-bottom:10px}.k3-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 18px;font-size:12px;margin-bottom:12px;text-align:left}.k3-table{width:100%;border-collapse:collapse;font-size:9px;table-layout:auto}.k3-table th,.k3-table td{border:1px solid #000!important;padding:3px 2px!important;text-align:center;vertical-align:middle;line-height:1.1;word-wrap:break-word}.k3-name{text-align:left!important;padding-left:6px!important}.k4-format-section{border:1px solid #000;background:#fff;padding:10px;margin-bottom:24px}.k4-print-sheet{background:#fff}.k4-print-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:0;border:1px solid #000;font-size:9px}.k4-print-table th,.k4-print-table td{border:1px solid #000!important;font-size:9px;padding:3px 2px!important;text-align:center;vertical-align:middle;background:#fff;line-height:1.1;word-wrap:break-word}.k4-col-roll{width:10%}.k4-col-enroll{width:15%}.k4-col-name{width:40%}.k4-col-seat{width:15%}.k4-col-marks{width:20%}.k4-print-signatures{border:1px solid #000;border-top:none;display:grid;grid-template-columns:1fr 1fr;min-height:110px}.k4-sign-column{padding:8px;font-size:12px;text-align:left}.k5-format-section{border:1px solid #000;background:#fff;padding:10px;margin-bottom:24px}.k5-sheet{background:#fff}.k5-table{width:100%;border-collapse:collapse;font-size:9px}.k5-table th,.k5-table td{border:1px solid #000!important;font-size:9px;padding:3px 2px!important;text-align:center;vertical-align:middle;line-height:1.1;word-wrap:break-word}.k5-meta-right{text-align:right!important}.k5-name{text-align:left!important}.k5-signatures{border:1px solid #000;border-top:none;display:flex;justify-content:space-between;padding:10px 14px;font-size:13px;min-height:78px}.k5-signatures>div{text-align:left}.attendance-records-section{background:#fff;border:1px solid #000;padding:14px;margin-bottom:24px}.attendance-header-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #000;padding-bottom:10px;margin-bottom:10px}.attendance-title-box{text-align:center;flex:1}.attendance-board{font-weight:700;font-size:14px}.attendance-subtitle{font-size:12px;margin-top:4px;font-weight:700}.attendance-format-label{font-weight:700;font-size:12px;text-align:right}.attendance-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 18px;font-size:12px;margin-bottom:12px;text-align:left}.attendance-table-title{font-size:13px;font-weight:700;margin:16px 0 8px;text-align:left;border-bottom:1px solid #000;padding-bottom:4px}.attendance-log-table,.attendance-summary-table{width:100%;border-collapse:collapse;font-size:9px;margin-bottom:18px}.attendance-log-table th,.attendance-log-table td,.attendance-summary-table th,.attendance-summary-table td{border:1px solid #000!important;padding:3px 2px!important;text-align:center;vertical-align:middle;line-height:1.1;word-wrap:break-word}.attendance-log-table thead th,.attendance-summary-table thead th{background:#f1f3f5;font-weight:700}.attendance-log-table td.text-start,.attendance-summary-table td.text-start{text-align:left!important;padding-left:6px!important}.attendance-empty{text-align:center;padding:12px 0;color:#666}.attendance-signatures{display:flex;justify-content:space-between;margin-top:24px;font-size:12px}.attendance-signatures .sign-label{font-size:11px;color:#444}.page-break-before{page-break-before:always!important;break-before:page!important;margin-top:40px}@media print{.page-break-before{page-break-before:always!important;break-before:page!important}.k3-format-section,.k4-format-section,.k5-format-section,.attendance-records-section{border:1px solid #000!important;box-shadow:none!important;background:#fff!important;padding:10px!important;page-break-inside:avoid!important;break-inside:avoid!important}}.vision-mission-print-block{page-break-after:always}.vision-mission-print-container{padding:40px;font-family:Times New Roman,Times,serif;color:#000;min-height:900px}.branding-header{border-bottom:2px solid #000;padding-bottom:15px;margin-bottom:30px}.branding-logo-title{display:flex;align-items:center;gap:20px}.branding-logo{width:90px;height:auto;max-height:70px;object-fit:contain}.branding-logo-fallback{width:70px;height:70px;background:#e5e7eb;border-radius:6px;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:24px}.branding-title-text h3{margin:0;font-size:26px;font-weight:700}.branding-title-text h4{margin:5px 0 0;font-size:16px;letter-spacing:2px;color:#374151}.vm-print-section-header{border-bottom:3px double #000;padding-bottom:5px;margin-top:30px;margin-bottom:15px}.vm-print-section-header h3{margin:0;font-size:22px;font-weight:700;text-transform:uppercase}.vm-print-content p{font-size:18px;line-height:1.6;margin-bottom:20px;text-align:justify}.vm-print-sub-section{margin-bottom:25px}.vm-print-sub-section h4{margin:0 0 10px;font-size:19px;font-weight:700;text-decoration:underline}.vm-print-sub-section p{font-size:16px;line-height:1.5;margin:0}.vm-print-list{list-style:none;padding-left:0;margin:0}.vm-print-list li{font-size:16px;line-height:1.6;margin-bottom:10px;display:flex;gap:10px}.vm-print-outcomes-list{margin-top:15px}.outcome-item{font-size:15px;line-height:1.5;margin-bottom:12px;text-align:justify}@media print{.vision-mission-print-block{page-break-before:always!important;page-break-after:always!important;margin:0!important;padding:20px!important}}.simple-navbar{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #e2eaf5;padding:0 0 10px;margin-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.simple-navbar a{text-decoration:none;padding:11px 16px;color:#4d607c;font-size:.98rem;font-weight:600;font-family:inherit;transition:all .2s ease;border:1px solid transparent;background:#f4f8ff;position:relative;white-space:nowrap;min-width:max-content;border-radius:10px;display:flex;align-items:center;justify-content:center}.simple-navbar a:hover{color:#1e4a95;background-color:#edf4ff;border-color:#c8d8f1}.simple-navbar a.active{color:#11408a;font-weight:600;border-color:#1f63d357;background:linear-gradient(180deg,#eaf3ff,#ddeaff);box-shadow:0 3px 10px #12489a1f}.simple-navbar a:not(:last-child):after{content:"";position:absolute;right:-4px;top:24%;height:52%;width:1px;background-color:#e1eaf5;opacity:.8}.simple-navbar a.active:after{display:none}@media (max-width: 768px){.simple-navbar{gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.simple-navbar a{padding:9px 12px;font-size:.88rem;min-width:max-content}}.subject-details-container{--sd-surface: #ffffff;--sd-border: #dbe5f2;--sd-bg-1: #f7faff;--sd-bg-2: #eef3fb;--sd-text: #10223d;--sd-muted: #4e607b;display:flex;width:100%;min-height:calc(100vh - var(--header-height, 60px));margin-top:0;padding:16px;gap:16px;box-sizing:border-box;position:relative;overflow-y:auto;overflow-x:hidden;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,var(--sd-bg-1) 0%,var(--sd-bg-2) 100%)}.subject-details-container *{box-sizing:border-box}.details-sidebar-column{width:220px;min-width:220px;max-width:220px;flex-shrink:0;height:fit-content;position:sticky;top:12px;z-index:1}.details-content-column{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--sd-surface);border:1px solid var(--sd-border);border-radius:16px;box-shadow:0 12px 30px #0d234814;overflow:hidden;min-height:620px}.navbar-wrapper{background:var(--sd-surface);border-bottom:1px solid #e4ebf5;padding:12px 16px 0;position:sticky;top:0;z-index:10}.page-content{flex:1;padding:14px;overflow-y:auto;overflow-x:hidden;min-width:0;background:var(--sd-surface)}.subject-details-main-content{margin:0;padding:0;background:transparent;color:var(--sd-text)}.page-content table,.page-content .table-wrapper{max-width:100%;overflow-x:auto}.page-content *{max-width:100%;word-wrap:break-word}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6{color:var(--sd-text)}.page-content p,.page-content span,.page-content label,.page-content td,.page-content th{font-family:inherit}@media (max-width: 1200px){.subject-details-container{padding:12px;gap:12px}.details-sidebar-column{width:210px;min-width:210px;max-width:210px}}@media (max-width: 1024px){.details-sidebar-column{width:200px;min-width:200px;max-width:200px}.navbar-wrapper{padding:10px 12px 0}.page-content{padding:12px}}@media (max-width: 768px){.subject-details-container{flex-direction:column;padding:8px;gap:8px;min-height:auto}.details-sidebar-column{width:100%;min-width:0;max-width:none;position:static}.details-content-column{min-height:520px;border-radius:12px}.navbar-wrapper{padding:8px 10px 0}.page-content{padding:10px}}.attendance-panel-page{min-height:calc(100vh - 60px);padding:1.25rem;background:radial-gradient(circle at 8% 8%,color-mix(in srgb,var(--primary-color, #1f63d3) 14%,transparent) 0%,transparent 38%),radial-gradient(circle at 92% 2%,color-mix(in srgb,var(--primary-accent-dark, #1145a5) 12%,transparent) 0%,transparent 35%),linear-gradient(180deg,color-mix(in srgb,var(--primary-light, #f3f8ff) 72%,#ffffff 28%),color-mix(in srgb,var(--dash-bg, #ecf4ff) 82%,#ffffff 18%))}.attendance-panel-hero,.attendance-panel-grid{max-width:1180px;margin-left:auto;margin-right:auto}.attendance-panel-hero{border:1px solid var(--card-border, #d8e5f6);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--card-bg, #ffffff) 92%,#ffffff 8%),color-mix(in srgb,var(--primary-light, #edf5ff) 34%,#ffffff 66%));box-shadow:0 12px 26px #122b5214;padding:1.25rem 1.3rem;margin-bottom:1rem}.attendance-panel-hero h2{margin:0;color:var(--text-color-primary, #132844);font-size:2.05rem;font-weight:800}.attendance-panel-hero p{margin:.45rem 0 0;color:var(--text-color-secondary, #60728c);font-size:1rem;font-weight:500}.attendance-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.95rem}.attendance-panel-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px solid var(--card-border, #d8e5f6);border-radius:14px;background:color-mix(in srgb,var(--card-bg, #ffffff) 95%,#ffffff 5%);box-shadow:0 10px 22px #122b5212;min-height:128px;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.attendance-panel-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary-color, #1f63d3) 35%,#c8daf6 65%);box-shadow:0 14px 26px #0f5cc029}.attendance-panel-card-top{display:flex;gap:.7rem;align-items:center}.attendance-panel-icon{width:40px;height:40px;border-radius:10px;background:color-mix(in srgb,var(--primary-light, #edf4ff) 78%,#ffffff 22%);border:1px solid color-mix(in srgb,var(--primary-color, #1f63d3) 20%,#cadcff 80%);color:var(--primary-color, #0f5cc0);display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem}.attendance-panel-title{margin:0;color:var(--text-color-primary, #16335a);font-size:.98rem;font-weight:800;line-height:1.3}.attendance-panel-footer{margin-top:.8rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--primary-color, #1f63d3) 22%,#cadcff 78%);background:color-mix(in srgb,var(--primary-light, #edf4ff) 78%,#ffffff 22%);color:var(--primary-color, #174d9d);display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:36px;font-size:.86rem;font-weight:700}@media (max-width: 700px){.attendance-panel-page{padding:.9rem}.attendance-panel-hero h2{font-size:1.55rem}.attendance-panel-hero p{font-size:.93rem}.attendance-panel-grid{grid-template-columns:1fr}}.ats-page{--ats-bg-a: #eaf3ff;--ats-bg-b: #dfeeff;--ats-card: #ffffff;--ats-border: #c8dcf7;--ats-text: #132844;--ats-muted: #4f6483;--ats-primary: #1f5fbf;--ats-primary-deep: #134996;min-height:calc(100vh - 64px);padding:1.25rem;background:radial-gradient(circle at 8% 8%,rgba(31,95,191,.2),transparent 40%),radial-gradient(circle at 92% 2%,rgba(19,73,150,.13),transparent 36%),linear-gradient(180deg,var(--ats-bg-a),var(--ats-bg-b))}.ats-hero,.ats-grid,.ats-state{max-width:1180px;margin-left:auto;margin-right:auto}.ats-hero{border:1px solid var(--ats-border);border-radius:18px;background:linear-gradient(145deg,#fff,#e9f2ff);box-shadow:0 14px 30px #122b521c;padding:1.25rem 1.3rem;margin-bottom:1rem}.ats-hero h2{margin:0;color:var(--ats-text);font-size:2.05rem;font-weight:800}.ats-hero p{margin:.45rem 0 0;color:var(--ats-muted);font-size:1rem;font-weight:500}.ats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,380px));justify-content:center;gap:1rem}.ats-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:min(100%,380px);font:inherit;color:inherit;outline:none;text-decoration:none;border:1px solid #bfd6f6;border-radius:16px;background:linear-gradient(150deg,#fff,#f3f8ff);box-shadow:0 12px 24px #122b5217;padding:1rem 1rem 1.05rem;text-align:left;display:flex;flex-direction:column;gap:.9rem;margin:0 auto;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.ats-card:hover{transform:translateY(-3px);border-color:#8fb6ee;box-shadow:0 16px 30px #1f5fbf33}.ats-card:focus-visible{border-color:#6ea2ea;box-shadow:0 0 0 3px #1f5fbf2e}.ats-card-top{display:flex;gap:.8rem;align-items:center}.ats-card-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,#edf4ff,#dfeeff);border:1px solid #b5cff4;color:var(--ats-primary);display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem}.ats-card-headtext{min-width:0;flex:1}.ats-card h3{margin:0;color:#16335a;font-size:1.25rem;font-weight:800;line-height:1.3;word-break:break-word}.ats-code{margin:.25rem 0 0;color:#60728c;font-size:1.02rem;font-weight:700}.ats-details{border-radius:12px;background:linear-gradient(145deg,#f5f9ff,#ecf4ff);border:1px solid #d0e1f8;padding:.65rem .75rem;display:grid;gap:.45rem}.ats-row{display:flex;justify-content:space-between;gap:1rem}.ats-label{font-size:.92rem;color:#5f7392;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.ats-value{font-size:1.08rem;color:#16335a;font-weight:700;text-align:right;word-break:break-word}.ats-card-footer{margin-top:auto;border-radius:10px;border:1px solid #1f5fbf;background:linear-gradient(135deg,#1f5fbf,#134996);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:48px;font-size:1.05rem;font-weight:700}.ats-card:hover .ats-card-footer{border-color:#134996;background:linear-gradient(135deg,#2a6ccb,#1a57af)}.ats-state{border:1px solid var(--ats-border);border-radius:14px;background:#fff;padding:1.5rem;color:#60728c;text-align:center;font-weight:600}@media (max-width: 700px){.ats-page{padding:.9rem}.ats-hero h2{font-size:1.6rem}.ats-hero p{font-size:.94rem}.ats-grid{grid-template-columns:1fr}}.ats-card.archived-card{background:linear-gradient(150deg,#f8fafc,#f1f5f9);border-color:#cbd5e1b3;box-shadow:0 12px 24px #00000005;opacity:.85}.ats-card.archived-card:hover{transform:translateY(-3px);border-color:#cbd5e1;box-shadow:0 16px 30px #64748b26;opacity:1}.ats-card.archived-card .ats-card-icon{background:linear-gradient(145deg,#f1f5f9,#e2e8f0);border-color:#cbd5e1;color:#64748b}.ats-card.archived-card .ats-card-footer{border-color:#64748b;background:linear-gradient(135deg,#64748b,#475569)}.ats-card.archived-card:hover .ats-card-footer{background:linear-gradient(135deg,#475569,#334155)}:root{--sah-primary: #0f5cc0;--sah-primary-deep: #084892;--sah-surface: #f3f8ff;--sah-surface-soft: #ecf4ff;--sah-border: #d8e5f6;--sah-text: #122844;--sah-muted: #60728c}.sah-page{padding:1.25rem;min-height:calc(100vh - 64px);background:radial-gradient(circle at 8% 8%,rgba(15,92,192,.13),transparent 38%),radial-gradient(circle at 92% 2%,rgba(8,72,146,.1),transparent 35%),linear-gradient(180deg,var(--sah-surface),var(--sah-surface-soft));font-family:Inter,Segoe UI,sans-serif}.sah-header{margin:0 auto 1rem;max-width:1180px;border:1px solid var(--sah-border);border-radius:18px;background:linear-gradient(145deg,#fff,#edf5ff);box-shadow:0 12px 26px #122b5214;padding:1rem 1.1rem}.sah-header h1{font-size:1.5rem;font-weight:800;color:var(--sah-text);margin:0 0 .35rem}.sah-header p{color:var(--sah-muted);font-size:.92rem;margin:0}.sah-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.sah-card{background:#fff;border-radius:14px;border:1.5px solid var(--sah-border);padding:.9rem;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 18px #0000000f;position:relative;overflow:hidden;text-align:left}.sah-card:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,var(--sah-primary),var(--sah-primary-deep))}.sah-card:hover{transform:translateY(-3px);box-shadow:0 12px 22px #0f5cc02e;border-color:#b8d2f7}.sah-card-id{font-size:.72rem;font-weight:700;color:var(--sah-primary);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.4rem}.sah-card-subject{font-size:1rem;font-weight:700;color:var(--sah-text);margin:0 0 .2rem}.sah-card-code{font-size:.82rem;color:var(--sah-muted);margin-bottom:.45rem}.sah-card-meta{display:flex;flex-wrap:wrap;gap:.35rem}.sah-tag{background:#eef4ff;color:#245287;border:1px solid #c8dcff;border-radius:20px;padding:.13rem .45rem;font-size:.75rem;font-weight:600}.sah-empty,.sah-loading{text-align:center;padding:2rem 1rem;color:var(--sah-muted);grid-column:1 / -1;border:1px solid var(--sah-border);border-radius:14px;background:#fff}.sah-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#081a3170;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.sah-modal{background:#fff;border-radius:18px;border:1px solid #dce8fa;padding:1rem;width:100%;max-width:540px;box-shadow:0 25px 50px #06172d38;animation:sah-slide-in .22s ease;max-height:90vh;overflow-y:auto}@keyframes sah-slide-in{0%{transform:translateY(-14px);opacity:0}to{transform:translateY(0);opacity:1}}.sah-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.35rem}.sah-modal-header h2{font-size:1.1rem;font-weight:800;color:var(--sah-text);margin:0}.sah-modal-close{background:none;border:none;font-size:1.45rem;cursor:pointer;color:#7f8fa5;line-height:1;padding:0}.sah-modal-close:hover{color:#334155}.sah-modal-ciann-info{background:#eef4ff;border:1px solid #c8dcff;border-radius:10px;padding:.55rem .65rem;margin-bottom:.8rem}.sah-modal-ciann-info p{margin:0;font-size:.88rem;color:#1f4f87;font-weight:600}.sah-modal-ciann-info span{font-size:.79rem;color:var(--sah-muted)}.sah-type-select{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:.55rem}.sah-type-btn{border:1px solid #d6e4f8;border-radius:12px;padding:.85rem .6rem;cursor:pointer;background:#fff;transition:all .2s ease;text-align:center}.sah-type-btn:hover{border-color:#b7d2f8;background:#f2f7ff;transform:translateY(-1px)}.sah-type-btn .sah-type-icon{font-size:1.6rem;display:block;margin-bottom:.3rem}.sah-type-btn .sah-type-label{font-size:.95rem;font-weight:700;display:block;color:var(--sah-text)}.sah-type-btn .sah-type-desc{font-size:.75rem;color:var(--sah-muted);display:block;margin-top:.2rem}.sah-checking{text-align:center;padding:.7rem;color:var(--sah-muted);font-size:.9rem}.sah-error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:.6rem .7rem;color:#991b1b;font-size:.85rem;margin-bottom:.65rem}.sah-quick-form-title{font-size:1rem;font-weight:800;color:#304a70;margin-bottom:.55rem}.sah-form-group{margin-bottom:.58rem}.sah-form-group label{display:block;font-size:.8rem;font-weight:700;color:#4d6688;margin-bottom:.2rem}.sah-form-group input,.sah-form-group select,.sah-form-group textarea{width:100%;border:1px solid #c8d8ef;border-radius:10px;padding:.48rem .65rem;font-size:.9rem;color:#173058;background:#fff;box-sizing:border-box}.sah-form-group input:focus,.sah-form-group select:focus,.sah-form-group textarea:focus{outline:none;border-color:var(--sah-primary);box-shadow:0 0 0 3px #0f5cc01f}.sah-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.sah-form-actions{display:flex;gap:.55rem;margin-top:.75rem}.sah-btn{flex:1;padding:.55rem .7rem;border-radius:10px;border:none;font-size:.88rem;font-weight:700;cursor:pointer}.sah-btn-primary{background:linear-gradient(135deg,var(--sah-primary),var(--sah-primary-deep));color:#fff}.sah-btn-primary:hover{filter:brightness(1.06)}.sah-btn-primary:disabled{opacity:.6;cursor:not-allowed}.sah-btn-secondary{background:#f3f7ff;color:#365682;border:1px solid #d4e2f7}.sah-btn-secondary:hover{background:#eaf2ff}.sah-back-link{font-size:.8rem;color:var(--sah-primary);cursor:pointer;background:none;border:none;padding:0;margin-top:.5rem;text-decoration:underline}@media (max-width: 700px){.sah-page{padding:.9rem}.sah-type-select,.sah-form-row,.sah-grid{grid-template-columns:1fr}}.practical-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182699;display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px}.practical-modal{width:min(560px,100%);background:#fff;border-radius:18px;padding:28px;box-shadow:0 18px 50px #14182633;border:1px solid #e3e7ef;display:flex;flex-direction:column;gap:20px;font-family:Space Grotesk,Trebuchet MS,sans-serif}.practical-modal header h2{margin:0;font-size:22px;color:#1c1f2a}.practical-modal header p{margin:6px 0 0;color:#596176;font-size:14px}.practical-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:#f6f8fc;padding:14px;border-radius:14px;border:1px solid #e3e7ef}.practical-modal-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7a8495}.practical-modal-grid strong{display:block;margin-top:4px;font-size:14px;color:#1c1f2a}.practical-modal-field{display:flex;flex-direction:column;gap:8px}.practical-modal-field label{font-size:14px;font-weight:600;color:#1c1f2a}.practical-modal-field input{width:100%;padding:12px 14px;border:1px solid #d5d9e2;border-radius:10px;font-size:14px;background:#fff}.practical-modal-field input:focus{outline:none;border-color:#1f6feb;box-shadow:0 0 0 3px #1f6feb1f}.practical-modal-error{background:#feecec;color:#b42318;padding:10px 12px;border-radius:10px;border:1px solid #f7c6c6;font-size:13px}.practical-modal-actions{display:flex;justify-content:flex-end;gap:10px}.practical-modal-actions button{padding:10px 18px;border-radius:999px;border:none;background:#1f6feb;color:#fff;font-weight:600;cursor:pointer}.practical-modal-actions button.ghost{background:transparent;color:#1f6feb;border:1px solid #c9d4ea}.practical-modal-actions button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.practical-modal-grid{grid-template-columns:1fr}.practical-modal-actions{flex-direction:column}.practical-modal-actions button{width:100%}}:root{--practical-ink: #1c1f2a;--practical-muted: #596176;--practical-surface: #f5f7fb;--practical-card: #ffffff;--practical-accent: #1f6feb;--practical-accent-strong: #154db3;--practical-warning: #f59f00;--practical-border: #e3e7ef;--practical-shadow: 0 16px 40px rgba(20, 24, 38, .1)}body{background:var(--practical-surface)}.practical-page{min-height:calc(100vh - 60px);padding:32px 24px 48px;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(circle at top left,rgba(31,111,235,.1),transparent 55%),radial-gradient(circle at top right,rgba(245,159,0,.18),transparent 50%),var(--practical-surface);font-family:Space Grotesk,Trebuchet MS,sans-serif}.practical-card{width:min(1200px,100%);background:var(--practical-card);border-radius:20px;box-shadow:var(--practical-shadow);padding:32px;border:1px solid var(--practical-border);display:flex;flex-direction:column;gap:28px;animation:slideUp .4s ease-out}.practical-header{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--practical-border)}.practical-header-main{display:flex;flex-direction:column;gap:8px}.practical-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--practical-muted);margin:0}.practical-title{font-size:32px;margin:0;color:var(--practical-ink)}.practical-subtitle{margin:0;font-size:16px;color:var(--practical-muted)}.practical-header-meta{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));background:#f0f3fa;padding:16px;border-radius:16px;border:1px solid var(--practical-border);min-width:320px}.practical-header-meta span{display:block;font-size:11px;color:var(--practical-muted);text-transform:uppercase;letter-spacing:.08em}.practical-header-meta strong{display:block;font-size:15px;margin-top:4px;color:var(--practical-ink)}.practical-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.practical-filter-panel{padding:16px;background:#f7f9fd;border:1px solid var(--practical-border);border-radius:14px;display:flex;flex-direction:column;gap:8px}.practical-filter-select{width:100%;min-height:42px;border-radius:10px;border:1px solid #c9d2e4;padding:0 12px;font-size:14px;color:var(--practical-ink);background:#fff;outline:none}.practical-filter-select:focus{border-color:var(--practical-accent);box-shadow:0 0 0 3px #1f6feb1f}.metric-card{padding:18px;border-radius:16px;background:#f7f9fd;border:1px solid var(--practical-border);display:flex;flex-direction:column;gap:8px}.metric-card span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--practical-muted)}.metric-card strong{font-size:24px;color:var(--practical-ink)}.metric-card.success{border-color:#1f6feb4d;background:#1f6feb1a}.metric-card.warning{border-color:#f59f0080;background:#f59f0029}.practical-table-head h3{margin:0;font-size:20px;color:var(--practical-ink)}.practical-badge{padding:8px 14px;border-radius:999px;background:#1c1f2a;color:#fff;font-size:13px;letter-spacing:.04em}.practical-table-container{border-radius:18px;border:1px solid var(--practical-border);background:#fff;max-height:55vh;min-height:280px;overflow:auto;box-shadow:inset 0 0 0 1px #fff9}.practical-table thead th{position:sticky;top:0;background:#eef2f9;text-align:left;padding:14px 16px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--practical-muted);z-index:2}.practical-table tbody td{padding:16px;border-top:1px solid var(--practical-border);font-size:15px;color:var(--practical-ink)}.practical-table tbody tr:hover{background:#1f6feb0f}.status-pill.completed{background:#1f6feb26;color:var(--practical-accent)}.status-pill.pending{background:#f59f0033;color:#b76a00}.action-pill,.checkbox-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:999px;border:1px solid var(--practical-accent);color:var(--practical-accent);background:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;gap:8px}.action-pill:hover,.checkbox-pill:hover{background:#1f6feb1a}.action-pill.is-locked,.checkbox-pill.is-locked{border-color:#9aa4b2;color:#667084;background:#f2f4f7;cursor:not-allowed}.attendance-toggle{padding:8px 16px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:all .2s ease;min-width:106px;white-space:nowrap;text-transform:uppercase}.attendance-toggle.present{background-color:#1f6feb24;color:#154db3;border-color:#1f6feb66}.attendance-toggle.present:hover{background-color:#1f6feb33}.attendance-toggle.absent{background-color:#fee2e2;color:#b42318;border-color:#fda29b}.attendance-toggle.absent:hover{background-color:#fecaca}.practical-pagination{display:flex;align-items:center;justify-content:center;gap:16px;background:#eef2f9;border-radius:12px;padding:12px 16px}.practical-pagination button{padding:8px 16px;border-radius:999px;border:1px solid var(--practical-border);background:#fff;color:var(--practical-ink);cursor:pointer;font-weight:600;transition:all .2s ease}.practical-pagination button:hover:not(:disabled){border-color:var(--practical-accent);color:var(--practical-accent)}.practical-pagination button:disabled{opacity:.5;cursor:not-allowed}.practical-empty h4{margin:0 0 8px;color:var(--practical-ink);font-size:18px}.practical-error{color:#b42318;font-size:14px;text-align:center}@media (max-width: 1024px){.practical-header{grid-template-columns:1fr}.practical-header-meta{min-width:unset;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 768px){.practical-page{padding:20px 16px 40px}.practical-header-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.practical-metrics{grid-template-columns:1fr}.practical-table-container{max-height:60vh}.practical-pagination{flex-direction:column}}@media (max-width: 540px){.practical-title{font-size:26px}.practical-header-meta{grid-template-columns:1fr}}:root{--practical-primary: #1f5fbf;--practical-dark: #134996;--practical-light: #eaf2ff;--practical-border: #d7e5f8;--practical-text: #143257;--practical-muted: #5d7090;--practical-success: #1d8f5f;--practical-danger: #dc3545;--practical-bg: #f2f7ff}.practical-page{min-height:calc(100vh - 60px);padding:32px 24px 48px;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(circle at top left,rgba(31,95,191,.12),transparent 50%),radial-gradient(circle at bottom right,rgba(31,95,191,.08),transparent 55%),linear-gradient(180deg,#f2f7ff,#fff);font-family:Nunito Sans,system-ui,-apple-system,sans-serif}.practical-card{width:min(1200px,100%);background:#fff;border-radius:18px;border:1px solid var(--practical-border);box-shadow:0 12px 26px #122b5214;padding:2rem;display:flex;flex-direction:column;gap:28px;animation:slideUp .4s ease-out}.practical-header{border:1px solid var(--practical-border);border-radius:18px;background:linear-gradient(145deg,#fff,#edf5ff);box-shadow:0 12px 26px #122b5214;padding:1.15rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:14px}.practical-header-main{display:flex;flex-direction:column;gap:8px;flex:1}.practical-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--practical-primary);margin:0;font-weight:700}.practical-title{font-size:28px;margin:0;color:var(--practical-text);font-weight:800;letter-spacing:-.2px}.practical-subtitle{margin:0;font-size:15px;color:var(--practical-muted);font-weight:500}.practical-bulk-actions{display:flex;gap:.6rem;flex-wrap:wrap}.practical-action-btn{border:1px solid #c8d8ef;background:#fff;color:var(--practical-primary);border-radius:999px;min-height:36px;padding:0 13px;font-size:.82rem;font-weight:800;cursor:pointer;transition:all .2s ease}.practical-action-btn:hover{border-color:#9dc0f0;background:#edf4ff}.practical-action-btn.ghost{color:var(--practical-muted)}.practical-header-meta{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--practical-light);padding:14px;border-radius:14px;border:1px solid var(--practical-border);min-width:320px}.practical-header-meta span{display:block;font-size:11px;color:var(--practical-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.practical-header-meta strong{display:block;font-size:15px;margin-top:4px;color:var(--practical-text);font-weight:800}.practical-filter-panel{padding:16px;background:var(--practical-light);border:1px solid var(--practical-border);border-radius:14px;display:flex;flex-direction:column;gap:8px}.practical-toolbar{border:1px solid var(--practical-border);border-radius:14px;background:#fff;padding:.85rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem}.practical-search{flex:1 1 260px;min-height:40px;border:1px solid var(--practical-border);border-radius:10px;padding:0 .85rem;color:var(--practical-text);background:#f8fbff;font-size:.9rem}.practical-search:focus{outline:none;border-color:var(--practical-primary);box-shadow:0 0 0 3px #1f5fbf1f}.practical-filter-chips{display:flex;flex-wrap:wrap;gap:.45rem}.practical-filter-chip{border:1px solid #c8d8ef;background:#fff;color:var(--practical-primary);border-radius:999px;min-height:34px;padding:0 .75rem;font-size:.78rem;font-weight:800;cursor:pointer}.practical-filter-chip.active{background:#edf4ff;border-color:#9dc0f0}.practical-filter-label{display:block;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--practical-muted);font-weight:700}.practical-filter-select{width:100%;min-height:42px;border-radius:10px;border:1px solid var(--practical-border);padding:0 12px;font-size:14px;color:var(--practical-text);background:#fff;outline:none;font-family:Nunito Sans,system-ui,-apple-system,sans-serif}.practical-filter-select:focus{border-color:var(--practical-primary);box-shadow:0 0 0 3px #1f5fbf1f}.practical-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.metric-card{padding:18px 20px;border-radius:14px;background:var(--practical-light);border:1px solid var(--practical-border);display:flex;flex-direction:column;gap:6px}.metric-card span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--practical-muted);font-weight:600}.metric-card strong{font-size:26px;color:var(--practical-text);font-weight:800}.metric-card.success{background:#ecfdf5;border-color:#a7f3d0}.metric-card.success strong{color:#0f5132}.metric-card.warning{background:#fff1f2;border-color:#fecdd3}.metric-card.warning strong{color:#842029}.practical-table-section{display:flex;flex-direction:column;gap:16px}.practical-table-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.practical-table-head h3{margin:0;font-size:18px;color:var(--practical-text);font-weight:800}.practical-table-head p{margin:6px 0 0;font-size:14px;color:var(--practical-muted)}.practical-badge{padding:8px 14px;border-radius:8px;background:var(--practical-light);color:var(--practical-primary);font-size:13px;letter-spacing:.04em;font-weight:700}.practical-table-container{border-radius:14px;border:1px solid var(--practical-border);background:#fff;min-height:280px;padding:.9rem}.practical-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.practical-student-card{border:1px solid var(--practical-border);background:#fff;border-radius:12px;padding:.8rem;cursor:pointer;transition:all .2s ease}.practical-student-card.present{border-color:#a7f3d0;background:#f3fbf7}.practical-student-card.absent{border-color:#fecdd3;background:#fff8f9}.practical-student-card:hover{box-shadow:0 8px 18px #122b5214}.practical-student-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.practical-roll-badge{min-width:38px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--practical-light);color:var(--practical-primary);font-weight:800;font-size:.85rem}.practical-student-name{font-size:.92rem;font-weight:800;color:var(--practical-text);margin-bottom:.35rem}.practical-student-meta{font-size:.78rem;color:var(--practical-muted);margin-bottom:.25rem}.practical-table{width:100%;border-collapse:collapse;min-width:760px}.practical-table thead th{position:sticky;top:0;background:var(--practical-light);text-align:left;padding:14px 16px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--practical-muted);font-weight:700;z-index:2;border-bottom:1px solid var(--practical-border)}.practical-table tbody td{padding:16px;border-top:1px solid var(--practical-border);font-size:15px;color:var(--practical-text)}.practical-table tbody tr:hover{background:var(--practical-light)}.attendance-toggle{padding:8px 16px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:all .2s ease;min-width:106px;white-space:nowrap;font-family:Nunito Sans,system-ui,-apple-system,sans-serif}.attendance-toggle.present{background-color:#d1e7dd;color:#0f5132;border-color:#badbcc}.attendance-toggle.present:hover{background-color:#c3e6cb}.attendance-toggle.absent{background-color:#f8d7da;color:#842029;border-color:#f5c6cb}.attendance-toggle.absent:hover{background-color:#f5c2c7}.attendance-toggle:active{transform:translateY(1px)}.status-pill{display:inline-flex;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600}.status-pill.completed{background:#1f5fbf26;color:var(--practical-primary)}.status-pill.pending{background:#dc354526;color:var(--practical-danger)}.practical-pagination{display:flex;align-items:center;justify-content:flex-end;gap:16px;background:transparent;border-radius:12px;padding:12px 0}.practical-pagination--nav{justify-content:space-between}.practical-pagination--submit{justify-content:flex-end}.action-pill,.checkbox-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:999px;border:none;color:#fff;background:linear-gradient(135deg,var(--practical-primary) 0%,var(--practical-dark) 100%);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;gap:8px;font-family:Nunito Sans,system-ui,-apple-system,sans-serif;box-shadow:0 6px 12px #1f5fbf33}.action-pill:hover:not(:disabled),.checkbox-pill:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #1f5fbf4d}.action-pill:active:not(:disabled),.checkbox-pill:active:not(:disabled){transform:translateY(0)}.action-pill:disabled,.checkbox-pill:disabled{opacity:.6;cursor:not-allowed}.action-pill.is-locked,.checkbox-pill.is-locked{background:linear-gradient(135deg,#9aa4b2,#6b7684);cursor:not-allowed}.checkbox-pill input{display:none}.practical-loading,.practical-empty{padding:40px 24px;text-align:center;color:var(--practical-muted)}.practical-empty h4{margin:0 0 8px;color:var(--practical-text);font-size:18px;font-weight:700}.practical-error{color:#842029;font-size:14px;text-align:center;background:#fff1f2;border:1px solid #f5c6cb;border-radius:8px;padding:12px;font-weight:500}.page-indicator{font-size:14px;color:var(--practical-muted)}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.practical-header{flex-direction:column;align-items:flex-start}.practical-header-meta{width:100%;min-width:unset}.practical-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.practical-page{padding:20px 16px 40px}.practical-card{padding:1.5rem;gap:20px}.practical-header{padding:1rem}.practical-header-main .practical-title{font-size:22px}.practical-header-meta{grid-template-columns:repeat(2,1fr)}.practical-metrics{grid-template-columns:1fr}.practical-table-head{flex-direction:column;align-items:flex-start}.practical-bulk-actions{width:100%}.practical-action-btn{flex:1 1 calc(50% - .3rem)}.action-pill,.checkbox-pill{width:100%;justify-content:center}}@media (max-width: 480px){.practical-page{padding:16px 12px 32px}.practical-card{padding:1rem;gap:16px}.practical-header{padding:12px}.practical-header-main .practical-title{font-size:20px}.practical-header-meta{grid-template-columns:1fr}.practical-header-meta span,.practical-header-meta strong{font-size:13px}.metric-card{padding:14px}.practical-table-container{max-height:50vh}.practical-table thead th,.practical-table tbody td{padding:12px 8px;font-size:12px}}.batch-distribution-container{max-width:1400px;margin:0 auto;padding:30px 20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.batch-selection-section{background:#fff;border-radius:12px;padding:30px;margin-bottom:30px;box-shadow:0 4px 6px #0000001a}.batch-selection-section h2{margin:0 0 24px;color:#2d3748;font-size:24px;font-weight:600}.selection-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;color:#2d3748;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.form-select{padding:12px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;background-color:#fff;color:#2d3748;cursor:pointer;transition:all .3s ease;font-weight:500}.form-select:hover:not(:disabled){border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.form-select:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.form-select:disabled{background-color:#edf2f7;color:#a0aec0;cursor:not-allowed}.alert{margin-top:16px;padding:12px 16px;border-radius:8px;font-size:14px}.alert-danger{background-color:#fed7d7;color:#742a2a;border:1px solid #fc8181}.course-info-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:30px;box-shadow:0 8px 16px #0000001f;border-left:5px solid #4299e1;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.course-header{display:flex;align-items:center;gap:20px;margin-bottom:20px}.course-icon{font-size:48px;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.course-details h3{margin:0 0 8px;color:#2d3748;font-size:22px;font-weight:700}.course-code{margin:0;color:#718096;font-size:14px;font-weight:500}.course-batch{margin:8px 0 0;color:#4299e1;font-size:14px;font-weight:600}.division-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.batches-section{new-page:auto}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h3{margin:0;color:#2d3748;font-size:20px;font-weight:600}.total-badge{background:#edf2f7;color:#2d3748;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;border:1px solid #cbd5e0}.batches-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px;margin-bottom:30px}.batch-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014;transition:all .3s ease}.batch-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.batch-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.batch-header h4{margin:0;font-size:18px;font-weight:700;letter-spacing:1px}.batch-count{background:#ffffff40;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.students-list{padding:0}.no-students{padding:40px 20px;text-align:center;color:#a0aec0;font-size:14px;margin:0}.batch-table{width:100%;border-collapse:collapse}.batch-table thead{background-color:#f7fafc;border-bottom:2px solid #e2e8f0}.batch-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:700;color:#4a5568;text-transform:uppercase;letter-spacing:.5px}.batch-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s ease}.batch-table tbody tr:hover{background-color:#f7fafc}.batch-table tbody tr:last-child{border-bottom:none}.batch-table td{padding:12px 16px;font-size:13px;color:#2d3748}.batch-table td:first-child{font-weight:600;color:#2d3748}.batch-table td:nth-child(2){min-width:150px}.empty-state{background:#fff;border-radius:12px;padding:60px 20px;text-align:center;box-shadow:0 4px 6px #0000001a;margin-bottom:30px}.empty-state p{margin:0;color:#a0aec0;font-size:16px}.loading-state{background:#fff;border-radius:12px;padding:60px 20px;text-align:center;box-shadow:0 4px 6px #0000001a;margin-bottom:30px}.loading-state p{margin:0;color:#718096;font-size:16px;font-weight:500}@media (max-width: 768px){.batch-distribution-container{padding:16px 12px}.batch-selection-section{padding:20px}.batch-selection-section h2{font-size:20px}.selection-form{grid-template-columns:1fr}.batches-grid{grid-template-columns:1fr;gap:16px}.course-header{flex-direction:column;text-align:center}.course-icon{width:60px;height:60px;font-size:36px}.course-details h3{font-size:18px}.batch-table{font-size:12px}.batch-table th,.batch-table td{padding:8px 12px}.section-header{flex-direction:column;text-align:center;gap:12px}}@media print{.batch-distribution-container{background:#fff}.batch-selection-section{display:none}.batch-card{page-break-inside:avoid;box-shadow:none;border:1px solid #e2e8f0}.batch-card:hover{transform:none;box-shadow:none}}:root{--header-height: 60px}.theory-page{padding:calc(var(--header-height) + 20px) 20px 24px;background:#f8fafc;min-height:100vh;box-sizing:border-box}.theory-card{background:#fff;border-radius:14px;padding:24px;box-shadow:0 8px 24px #0f172a0f;border:1px solid #e5e7eb;max-width:1400px;margin:0 auto}.theory-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.theory-header-main{flex:1;min-width:260px}.theory-eyebrow{font-size:12px;font-weight:700;letter-spacing:.9px;color:#1f5fbf;text-transform:uppercase;margin-bottom:6px}.theory-title{font-size:30px;font-weight:700;margin:0;color:#0f172a}.theory-subtitle{margin-top:8px;font-size:15px;color:#475569}.theory-header-meta{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:12px;background:#f8fafc;padding:14px 16px;border-radius:12px;border:1px solid #e2e8f0}.theory-header-meta div{display:flex;flex-direction:column;gap:4px}.theory-header-meta span{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.6px}.theory-header-meta strong{font-size:14px;color:#0f172a}.theory-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.metric-card{background:#f8fafc;border-radius:12px;padding:16px;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:6px}.metric-card span{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.metric-card strong{font-size:24px;font-weight:700;color:#0f172a}.metric-card.success{background:#eef4ff;border-color:#c7daf7}.metric-card.success strong{color:#1f5fbf}.metric-card.warning{background:#fff7ed;border-color:#fed7aa}.metric-card.warning strong{color:#ea580c}.theory-table-section{margin-top:20px;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.theory-table-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.theory-table-head h3{margin:0;color:#0f172a}.theory-table-head p{margin:4px 0 0;color:#64748b;font-size:13px}.theory-badge{background:#e0f2fe;color:#075985;border:1px solid #bae6fd;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;white-space:nowrap}.theory-table-container{max-height:min(50vh,460px);overflow:auto}.theory-table{width:100%;border-collapse:collapse}.theory-table th,.theory-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #edf2f7;font-size:14px}.theory-table th{background:#f8fafc;color:#475569;font-weight:700;position:sticky;top:0;z-index:1}.theory-table td{color:#1e293b}.checkbox-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid #93c5fd;background:#eff6ff;color:#1d4ed8;border-radius:999px;font-weight:700;font-size:12px;cursor:pointer}.checkbox-pill.is-locked{border-color:#9dc0f0;background:#eef4ff;color:#1f5fbf;cursor:not-allowed}.checkbox-pill input{margin:0}.theory-loading,.theory-empty{padding:24px;text-align:center;color:#64748b}.theory-empty h4{margin:0 0 6px;color:#1e293b}.theory-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.theory-pagination button{border:1px solid #cbd5e1;background:#fff;color:#1e293b;border-radius:8px;min-height:36px;padding:0 12px;font-weight:700}.theory-pagination button:not(:disabled):hover{border-color:#3b82f6;color:#1d4ed8;background:#eff6ff}.theory-pagination button:disabled{opacity:.45;cursor:not-allowed}.page-indicator{color:#475569;font-size:13px;font-weight:600}@media (max-width: 768px){.theory-page{padding:calc(var(--header-height) + 12px) 10px 16px}.theory-card{padding:14px}.theory-header-meta{grid-template-columns:1fr 1fr;width:100%}.theory-metrics{grid-template-columns:1fr}.theory-table-head{flex-direction:column}}.theory-attendance-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1200;overflow-y:auto}.theory-attendance-form{width:min(760px,100%);background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 20px 42px #02061740;padding:18px;position:relative;max-height:calc(100vh - 40px);overflow-y:auto}.theory-attendance-form h2{margin:0 36px 14px 0;color:#0f172a;font-size:28px;line-height:1.2}.theory-attendance-form .close-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:8px;background:#f1f5f9;color:#334155;font-size:24px;line-height:1;cursor:pointer}.theory-attendance-form .close-btn:hover{background:#e2e8f0}.form-content{margin-top:12px}.theory-form-group{margin-bottom:12px}.theory-form-group label{display:block;margin-bottom:6px;color:#334155;font-size:13px;font-weight:700}.theory-form-group input,.theory-form-group textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;min-height:40px;padding:8px 10px;font-size:14px;color:#0f172a;background:#fff}.theory-form-group textarea{min-height:88px;resize:vertical}.theory-form-group input:focus,.theory-form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f629}.validation-error{color:#dc2626;margin:6px 0 0;font-size:12px;font-weight:600}.button-group{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.button-group .btn{min-height:40px;padding:0 14px;border-radius:8px;font-weight:700;border:1px solid transparent;cursor:pointer}.button-group .btn.cancel{background:#fff;border-color:#cbd5e1;color:#334155}.button-group .btn.cancel:hover{background:#f8fafc}.button-group .btn.submit{background:#2563eb;color:#fff}.button-group .btn.submit:hover{background:#1d4ed8}.theory-attendance-form footer{margin-top:14px;padding-top:10px;border-top:1px solid #e2e8f0;color:#94a3b8;font-size:12px;text-align:center}@media (max-width: 768px){.theory-attendance-form{padding:14px}.theory-attendance-form h2{font-size:24px}.button-group{flex-direction:column}.button-group .btn{width:100%}}:root{--final-primary: #1f5fbf;--final-primary-dark: #134996;--final-primary-soft: #eaf2ff;--final-bg-a: #f2f7ff;--final-bg-b: #eaf2ff;--final-card: #ffffff;--final-border: #d7e5f8;--final-text: #143257;--final-muted: #5d7090;--final-success-bg: #ecfdf5;--final-success-border: #bfe8d5;--final-success-text: #0f5132;--final-danger-bg: #fff1f2;--final-danger-border: #f8c6cc;--final-danger-text: #842029}.final-container{width:min(1220px,100%);margin:0 auto;padding:1.25rem;color:var(--final-text);font-family:Nunito Sans,Segoe UI,sans-serif;min-height:calc(100vh - 64px);background:radial-gradient(circle at 8% 8%,rgba(31,95,191,.12),transparent 38%),radial-gradient(circle at 92% 2%,rgba(19,73,150,.08),transparent 35%),linear-gradient(180deg,var(--final-bg-a) 0%,var(--final-bg-b) 100%)}.final-att-header{border:1px solid var(--final-border);border-radius:18px;background:linear-gradient(145deg,#fff,#edf5ff);box-shadow:0 12px 26px #122b5214;padding:1.15rem 1.25rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:14px}.final-att-title{font-size:2.05rem;font-weight:800;margin:0;letter-spacing:-.2px;color:var(--final-text)}.final-att-subtitle{margin:.25rem 0 0;color:var(--final-muted);font-size:.9rem;font-weight:700}.final-att-actions{display:flex;gap:.6rem;flex-wrap:wrap}.final-att-action-btn{border:1px solid #c8d8ef;background:#fff;color:var(--final-primary);border-radius:999px;min-height:38px;padding:0 14px;font-size:.85rem;font-weight:800;cursor:pointer;transition:all .2s ease}.final-att-action-btn:hover{border-color:#9dc0f0;background:#edf4ff}.final-att-action-btn.ghost{color:var(--final-muted)}.info-card{background:var(--final-card);border:1px solid var(--final-border);border-radius:16px;box-shadow:0 10px 24px #122b5214;padding:1rem 1.2rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.info-main h3{margin:0 0 .5rem;font-size:2rem;font-weight:800;color:var(--final-text)}.sub-text{font-size:1.1rem;color:var(--final-muted);font-weight:700}.info-grid{display:flex;gap:1.15rem;flex-wrap:wrap;color:var(--final-muted);font-size:1.35rem;font-weight:700}.info-meta p{margin:0 0 .4rem;color:var(--final-muted);font-size:1.2rem;font-weight:700}.summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-bottom:1rem}.stat-card{background:#eef4ff;border:1px solid #cadeff;border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.4rem;box-shadow:0 8px 18px #122b520f}.stat-card .label{font-size:.76rem;color:var(--final-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:800}.stat-card .value{font-size:2rem;line-height:1.1;font-weight:800;color:var(--final-text)}.stat-card.success{background:var(--final-success-bg);border-color:var(--final-success-border)}.stat-card.success .value,.stat-card.success .label{color:var(--final-success-text)}.stat-card.danger{background:var(--final-danger-bg);border-color:var(--final-danger-border)}.stat-card.danger .value,.stat-card.danger .label{color:var(--final-danger-text)}.students-panel{border-radius:16px;border:1px solid var(--final-border);background:var(--final-card);padding:1rem;box-shadow:0 10px 24px #122b5214}.final-toolbar{border:1px solid var(--final-border);border-radius:16px;background:#fff;padding:.9rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.final-search{flex:1 1 260px;min-height:40px;border:1px solid var(--final-border);border-radius:10px;padding:0 .85rem;color:var(--final-text);background:#f8fbff;font-size:.9rem}.final-search:focus{outline:none;border-color:#9dc0f0;box-shadow:0 0 0 3px #1f5fbf1f}.final-filter-chips{display:flex;flex-wrap:wrap;gap:.45rem}.final-filter-chip{border:1px solid #c8d8ef;background:#fff;color:var(--final-primary);border-radius:999px;min-height:34px;padding:0 .75rem;font-size:.78rem;font-weight:800;cursor:pointer}.final-filter-chip.active{background:#edf4ff;border-color:#9dc0f0}.final-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.final-student-card{border:1px solid var(--final-border);background:#fff;border-radius:12px;padding:.8rem;cursor:pointer;transition:all .2s ease}.final-student-card.present{border-color:var(--final-success-border);background:#f3fbf7}.final-student-card.absent{border-color:var(--final-danger-border);background:#fff8f9}.final-student-card:hover{box-shadow:0 8px 18px #122b5214}.final-student-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.final-roll-badge{min-width:38px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#edf4ff;color:var(--final-primary);font-weight:800;font-size:.85rem}.final-student-name{font-size:.92rem;font-weight:800;color:var(--final-text);margin-bottom:.35rem}.final-student-meta{font-size:.78rem;color:var(--final-muted)}.attendance-table{width:100%;border-collapse:collapse;min-width:760px}.attendance-table th{position:sticky;top:0;z-index:1;background:#f3f8ff;padding:.82rem 1rem;text-align:left;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;color:var(--final-muted);border-bottom:1px solid var(--final-border)}.attendance-table td{padding:.9rem 1rem;border-top:1px solid var(--final-border);font-size:.95rem;cursor:pointer}.attendance-table tr:hover td{background:#1f5fbf0d}.font-medium{font-weight:700}.text-muted{color:var(--final-muted)}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:112px;border-radius:999px;border:1px solid transparent;padding:.55rem 1rem;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.status-toggle{cursor:pointer;transition:all .2s ease}.status-toggle:hover{transform:translateY(-1px)}.status-pill.present{background:#e8f8f1;color:#0f5132;border-color:#bfe8d5}.status-pill.absent{background:#fff1f2;color:#842029;border-color:#f8c6cc}.row-present td{background:#1f5fbf08}.empty-msg,.loading-spinner{text-align:center;color:var(--final-muted);padding:1.4rem}.footer-action{margin-top:1rem;display:flex;justify-content:flex-end}.final-att-submit-btn{border:1px solid transparent;border-radius:999px;min-height:42px;padding:0 1.1rem;background:linear-gradient(135deg,var(--final-primary),var(--final-primary-dark));color:#fff;font-weight:800;font-size:.9rem;cursor:pointer}.final-att-submit-btn:hover:not(:disabled){box-shadow:0 6px 16px #1f5fbf47}.final-att-submit-btn:disabled{opacity:.55;cursor:not-allowed}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem}.btn-secondary{border:1px solid #c8d8ef;background:#fff;color:var(--final-primary);border-radius:999px;min-height:38px;padding:0 14px;font-size:.85rem;font-weight:800;text-decoration:none}@media (max-width: 900px){.final-att-header{flex-direction:column;align-items:flex-start}.final-att-title{font-size:1.7rem}.final-att-actions{width:100%}.summary-row{grid-template-columns:1fr}.info-card{flex-direction:column}}.attendance-main-content{--atf-bg-a: #f3f8ff;--atf-bg-b: #ecf4ff;--atf-panel: #ffffff;--atf-border: #d9e5f6;--atf-text: #132844;--atf-muted: #60728c;--atf-primary: #0f5cc0;--atf-primary-deep: #084892;min-height:calc(100vh - 64px);padding:1.25rem;background:radial-gradient(circle at 8% 8%,rgba(15,92,192,.12),transparent 38%),radial-gradient(circle at 92% 2%,rgba(8,72,146,.1),transparent 34%),linear-gradient(180deg,var(--atf-bg-a),var(--atf-bg-b))}.theory-attendance-container{width:min(860px,100%);margin:0 auto;border:1px solid var(--atf-border);border-radius:18px;background:linear-gradient(145deg,#fff,#eff6ff);box-shadow:0 12px 26px #122b5214;padding:1rem}.header-row{margin-bottom:.8rem}.header-row h3{margin:0;color:var(--atf-text);font-size:1.35rem;font-weight:800}.ciann-info{margin-bottom:.9rem;border:1px solid #cadeff;border-radius:10px;background:#eef4ff;color:#2c4f7e;padding:.55rem .7rem;font-size:.84rem}.form-wrapper{width:100%}.form-box{border:1px solid #dce8f9;border-radius:12px;background:#fff;margin-bottom:.7rem;overflow:hidden}.label-bar{background:#f5f9ff;border-bottom:1px solid #e1ebf9;color:#426590;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700;padding:.5rem .65rem}.ea-input-wrapper{padding:.65rem}.ea-input-wrapper input,.ea-input-wrapper select{width:100%;min-height:42px;border:1px solid #c8d8ef;border-radius:10px;padding:0 .72rem;color:#173058;font-size:.95rem}.ea-input-wrapper input:focus,.ea-input-wrapper select:focus{outline:none;border-color:#9fbee4;box-shadow:0 0 0 .2rem #0f5cc024}.ea-submit-wrapper{margin-top:.95rem;text-align:right}.submit-btn{min-height:42px;border:none;border-radius:10px;padding:0 1rem;font-size:.9rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--atf-primary),var(--atf-primary-deep));box-shadow:0 10px 22px #0f5cc042}.submit-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}@media (max-width: 700px){.attendance-main-content{padding:.9rem}.theory-attendance-container{padding:.85rem}.ea-submit-wrapper{text-align:stretch}.submit-btn{width:100%}}:root{--eia-primary: #1f5fbf;--eia-primary-dark: #134996;--eia-primary-light: #eaf2ff;--eia-secondary: #355ea8;--eia-secondary-light: #f3f7ff;--eia-success: #1d8f5f;--eia-danger: #dc3545;--eia-warning: #f59e0b;--eia-info: #3b82f6;--eia-text-primary: #143257;--eia-text-secondary: #5d7090;--eia-bg-light: #edf4ff;--eia-border: #d7e5f8;--eia-shadow: 0 4px 6px rgba(0, 0, 0, .07);--eia-shadow-lg: 0 10px 25px rgba(0, 0, 0, .1)}.eia-page{min-height:100vh;background:radial-gradient(circle at 8% 8%,rgba(31,95,191,.12),transparent 38%),radial-gradient(circle at 92% 2%,rgba(19,73,150,.08),transparent 35%),linear-gradient(180deg,#f2f7ff,#eaf2ff);padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.eia-error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f2f7ff,#eaf2ff);padding:2rem}.eia-error-container{text-align:center;padding:2rem;background:#fff;border-radius:12px;box-shadow:var(--eia-shadow-lg);max-width:420px;border:1px solid var(--eia-border)}.eia-error-container i{font-size:3rem;color:var(--eia-danger);margin-bottom:.75rem;display:block}.eia-error-container h2{color:var(--eia-text-primary);margin:0 0 .5rem}.eia-error-container p{color:var(--eia-text-secondary);margin-bottom:1rem}.eia-back-button{padding:.75rem 1.2rem;background:linear-gradient(135deg,var(--eia-primary),var(--eia-primary-dark));color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.eia-hero{background:linear-gradient(145deg,#fff,#eef5ff);color:var(--eia-text-primary);padding:1.35rem 1.5rem;text-align:left;position:relative;overflow:hidden;border:1px solid var(--eia-border);border-radius:18px;margin:1.25rem;box-shadow:0 12px 26px #122b5214}.eia-hero:before,.eia-hero:after{content:"";position:absolute;border-radius:50%;background:#1f5fbf14}.eia-hero:before{top:-55%;right:-12%;width:300px;height:300px}.eia-hero:after{bottom:-35%;left:-8%;width:230px;height:230px}.eia-hero-title{font-size:2rem;font-weight:800;margin:0 0 .35rem;position:relative;z-index:1;letter-spacing:-.3px}.eia-hero-subtitle{font-size:1rem;font-weight:600;color:var(--eia-text-secondary);margin:0;position:relative;z-index:1}.eia-container{max-width:1100px;margin:0 auto;padding:1rem 1.5rem 2rem}.eia-alert{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;margin-bottom:1.25rem;font-weight:600}.eia-alert-success{background:#ecfdf5;border:1px solid #bfe8d5;color:#0f5132}.eia-alert-error{background:#fff1f2;border:1px solid #f8c6cc;color:#842029}.eia-context-card{background:#fff;border:1px solid var(--eia-border);border-radius:12px;box-shadow:var(--eia-shadow);margin-bottom:1.5rem;overflow:hidden}.eia-context-header{background:linear-gradient(135deg,#edf4ff,#f4f8ff);padding:.9rem 1.2rem;color:var(--eia-primary);font-weight:700;border-bottom:1px solid var(--eia-border)}.eia-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1.2rem}.eia-context-item{display:flex;flex-direction:column}.eia-context-label{font-size:.75rem;font-weight:700;color:var(--eia-text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:.35rem}.eia-context-value{font-size:.95rem;font-weight:700;color:var(--eia-text-primary)}.eia-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.eia-stat-card{background:#fff;border:1px solid var(--eia-border);border-radius:12px;padding:1rem;box-shadow:var(--eia-shadow);display:flex;align-items:center;gap:.8rem}.eia-stat-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.eia-stat-present .eia-stat-icon{background:#e8f8f1;color:var(--eia-success)}.eia-stat-absent .eia-stat-icon{background:#fff0f2;color:var(--eia-danger)}.eia-stat-total .eia-stat-icon{background:#edf4ff;color:var(--eia-info)}.eia-stat-percentage .eia-stat-icon{background:#fff6e7;color:var(--eia-warning)}.eia-stat-value{font-size:1.35rem;font-weight:800;color:var(--eia-text-primary);line-height:1}.eia-stat-label{margin-top:.2rem;font-size:.85rem;color:var(--eia-text-secondary);font-weight:600}.eia-form{background:#fff;border:1px solid var(--eia-border);border-radius:12px;padding:1.5rem;box-shadow:var(--eia-shadow)}.eia-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.eia-form-group{display:flex;flex-direction:column}.eia-form-label{font-size:.85rem;font-weight:700;color:var(--eia-text-primary);margin-bottom:.45rem}.eia-form-input,.eia-form-textarea{padding:.75rem .9rem;border:1px solid var(--eia-border);border-radius:8px;font-size:.95rem;color:var(--eia-text-primary);font-family:inherit}.eia-form-input:focus,.eia-form-textarea:focus{outline:none;border-color:var(--eia-primary);box-shadow:0 0 0 3px #1f5fbf1f;background:#1f5fbf05}.eia-form-textarea{resize:vertical;min-height:88px}.eia-students-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--eia-border)}.eia-section-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1rem}.eia-section-header h3{margin:0;color:var(--eia-text-primary);font-size:1.05rem}.eia-section-badge{display:inline-flex;border-radius:999px;padding:.3rem .65rem;background:#edf4ff;border:1px solid #cadcff;color:#1b4f99;font-size:.78rem;font-weight:700}.eia-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:.9rem}.eia-student-card{background:#fff;border:1px solid var(--eia-border);border-radius:10px;padding:.9rem;transition:box-shadow .2s ease,border-color .2s ease}.eia-student-card.eia-present{border-color:#bfe8d5;background:#f3fbf7}.eia-student-card.eia-absent{border-color:#f0d0d5;background:#fff8f9}.eia-student-card:hover{box-shadow:var(--eia-shadow-lg)}.eia-student-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.eia-student-roll{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:#edf4ff;color:var(--eia-primary);border-radius:8px;font-weight:800;font-size:.85rem}.eia-custom-checkbox{display:inline-block;position:relative;cursor:pointer}.eia-custom-checkbox input[type=checkbox]{position:absolute;opacity:0}.eia-checkmark{display:inline-block;height:22px;width:22px;background-color:#fff;border:2px solid var(--eia-border);border-radius:6px;transition:all .2s ease;position:relative}.eia-custom-checkbox input:checked~.eia-checkmark{background-color:var(--eia-success);border-color:var(--eia-success)}.eia-checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.eia-custom-checkbox input:checked~.eia-checkmark:after{display:block}.eia-student-name{font-weight:700;color:var(--eia-text-primary);margin-bottom:.45rem;font-size:.93rem}.eia-student-meta{font-size:.78rem;color:var(--eia-text-secondary);margin-bottom:.3rem}.eia-student-status{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:700;padding:.3rem .6rem;border-radius:999px}.eia-student-card.eia-present .eia-student-status{background:#dcf2e8;color:var(--eia-success)}.eia-student-card.eia-absent .eia-student-status{background:#fde2e6;color:var(--eia-danger)}.eia-no-students{text-align:center;padding:2.25rem;background:#f7faff;border-radius:10px;border:1px dashed var(--eia-border);color:var(--eia-text-secondary)}.eia-no-students i{font-size:2rem;margin-bottom:.4rem;display:block;opacity:.6}.eia-actions{display:flex;gap:.8rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--eia-border)}.eia-button{padding:.78rem 1.25rem;border:none;border-radius:8px;font-size:.92rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.eia-button-primary{background:linear-gradient(135deg,var(--eia-primary),var(--eia-primary-dark));color:#fff}.eia-button-primary:hover:not(:disabled){box-shadow:0 6px 16px #1f5fbf47}.eia-button-secondary{background:#fff;color:var(--eia-text-primary);border:1px solid var(--eia-border)}.eia-button-secondary:hover:not(:disabled){border-color:#b8d2f7;color:var(--eia-primary)}.eia-button:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 768px){.eia-hero-title{font-size:1.5rem}.eia-hero-subtitle{font-size:.9rem}.eia-container{padding:.9rem 1rem 1.5rem}.eia-stats-grid{grid-template-columns:repeat(2,1fr)}.eia-actions{flex-direction:column-reverse}.eia-button{width:100%}}@media (max-width: 480px){.eia-hero{margin:1rem;padding:1rem}.eia-hero-title{font-size:1.2rem}.eia-stats-grid,.eia-form-grid,.eia-context-grid,.eia-students-grid{grid-template-columns:1fr}.eia-section-header{flex-direction:column;align-items:flex-start}}:root{--ea2-primary: #1f5fbf;--ea2-primary-dark: #134996;--ea2-primary-light: #eaf2ff;--ea2-secondary: #355ea8;--ea2-secondary-light: #e0e7ff;--ea2-text-primary: #143257;--ea2-text-secondary: #5d7090;--ea2-bg-light: #edf4ff;--ea2-border: #d7e5f8;--ea2-shadow: 0 4px 6px rgba(0, 0, 0, .07);--ea2-shadow-lg: 0 10px 25px rgba(0, 0, 0, .1)}.ea2-page{min-height:100vh;background:radial-gradient(circle at 8% 8%,rgba(31,95,191,.12),transparent 38%),radial-gradient(circle at 92% 2%,rgba(19,73,150,.08),transparent 35%),linear-gradient(180deg,#f2f7ff,#eaf2ff);padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ea2-hero{background:linear-gradient(145deg,#fff,#eef5ff);color:var(--ea2-text-primary);padding:2.5rem 2rem;text-align:center;position:relative;overflow:hidden}.ea2-hero:before,.ea2-hero:after{content:"";position:absolute;border-radius:50%;background:#1f5fbf14}.ea2-hero:before{top:-50%;right:-10%;width:300px;height:300px}.ea2-hero:after{bottom:-30%;left:-5%;width:250px;height:250px}.ea2-hero-title{font-size:2rem;font-weight:800;margin:0 0 .5rem;position:relative;z-index:1;letter-spacing:-.5px}.ea2-hero-subtitle{font-size:.95rem;font-weight:600;opacity:1;color:var(--ea2-text-secondary);margin:0;position:relative;z-index:1}.ea2-ciann-highlight{display:inline-block;background:#eaf2ff;padding:.25rem .75rem;border-radius:6px;font-weight:600;margin:0 .25rem;border:1px solid #cadcff}.ea2-container{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem}.ea2-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;border-radius:12px;background:#fff;border:1px solid var(--ea2-border);box-shadow:var(--ea2-shadow);color:var(--ea2-text-secondary)}.ea2-state-container i{font-size:3rem;margin-bottom:1rem;opacity:.6}.ea2-state-container p{font-size:1rem;margin:0}.ea2-loading .ea2-spinner{width:48px;height:48px;border:4px solid var(--ea2-border);border-top-color:var(--ea2-primary);border-radius:50%;animation:ea2-spin .8s linear infinite;margin-bottom:1rem}@keyframes ea2-spin{to{transform:rotate(360deg)}}.ea2-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.ea2-error i{color:#dc2626}.ea2-no-data{min-height:300px}.ea2-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;animation:ea2-fade-in .4s ease-out}@keyframes ea2-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ea2-record-card{background:#fff;border:1px solid var(--ea2-border);border-radius:12px;padding:1.5rem;box-shadow:var(--ea2-shadow);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;animation:ea2-card-appear .5s ease-out both}@keyframes ea2-card-appear{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.ea2-record-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ea2-primary),var(--ea2-secondary));transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.ea2-record-card:hover{border-color:var(--ea2-primary);box-shadow:var(--ea2-shadow-lg);transform:translateY(-4px)}.ea2-record-card:hover:before{transform:scaleX(1)}.ea2-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--ea2-border)}.ea2-chapter-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--ea2-primary-light),var(--ea2-secondary-light));color:var(--ea2-primary);font-weight:700;font-size:.95rem;flex-shrink:0}.ea2-card-title{flex:1;font-size:1rem;font-weight:600;color:var(--ea2-text-primary);word-break:break-word}.ea2-card-content{flex:1;margin-bottom:1.5rem}.ea2-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1rem;background:var(--ea2-bg-light);border-radius:8px}.ea2-detail-item{display:flex;flex-direction:column}.ea2-label{font-size:.75rem;font-weight:600;color:var(--ea2-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.ea2-value{font-size:.875rem;color:var(--ea2-text-primary);font-weight:500;word-break:break-word}.ea2-edit-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;background:linear-gradient(135deg,var(--ea2-primary),var(--ea2-primary-dark));color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.ea2-edit-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1f5fbf47}.ea2-edit-button:active{transform:translateY(0)}.ea2-edit-button i{font-size:1rem}@media (max-width: 768px){.ea2-hero{padding:2rem 1.5rem}.ea2-hero-title{font-size:1.5rem}.ea2-hero-subtitle{font-size:.9rem}.ea2-container{padding:1.5rem 1rem}.ea2-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.ea2-detail-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.ea2-hero{padding:1.5rem 1rem}.ea2-hero-title{font-size:1.25rem}.ea2-hero-subtitle{font-size:.85rem}.ea2-container{padding:1rem}.ea2-list,.ea2-detail-grid{grid-template-columns:1fr;gap:.75rem}.ea2-record-card{padding:1rem}.ea2-card-header{gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem}.ea2-chapter-badge{width:40px;height:40px;font-size:.8rem}.ea2-card-content{margin-bottom:1rem}}.vat2-panel{border:1px solid #d7e5f8;border-radius:16px;background:#fff;box-shadow:0 10px 24px #122b5214;padding:.9rem}.vat2-table-wrapper{width:100%;overflow:auto;max-height:calc(100vh - 260px);border:1px solid #d7e5f8;border-radius:12px}.vat2-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:780px}.vat2-table th,.vat2-table td{border:1px solid #e6eefb;padding:.45rem .35rem;text-align:center;font-size:.76rem;width:64px;min-width:64px;max-width:64px}.vat2-table thead th{background:#edf4ff;color:#355ea8;font-weight:800;letter-spacing:.03em;position:sticky;top:0;z-index:2}.vat2-table .first-col{position:sticky;left:0;z-index:1;background:#f4f8ff;color:#143257;width:96px!important;min-width:96px!important;max-width:96px!important;text-align:left;padding-left:.5rem;font-weight:700}.vat2-table thead .first-col{z-index:3}.vat2-status{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;font-weight:800;font-size:.72rem}.vat2-status.present{color:#1d8f5f;background:#e8f8f1;border:1px solid #bfe8d5}.vat2-status.absent{color:#dc3545;background:#fff1f2;border:1px solid #f8c6cc}.vat2-actions{margin-top:.85rem;display:flex;justify-content:flex-end}.vat2-print-btn{border:none;border-radius:10px;min-height:40px;padding:0 1rem;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#1f5fbf,#134996)}.vat2-state{margin:1rem;border:1px solid #d7e5f8;border-radius:12px;padding:1rem;text-align:center;background:#fff;color:#5d7090;font-weight:700}.vat2-state-error{border-color:#f8c6cc;background:#fff1f2;color:#842029}@media print{.vat2-hero,.vat2-actions{display:none!important}.vat2-page,.vat2-panel,.vat2-table-wrapper{background:#fff!important;box-shadow:none!important;border:none!important;padding:0!important;margin:0!important;max-height:none!important;overflow:visible!important}.vat2-table thead th,.vat2-table .first-col{position:static!important}.vat2-page:before{content:"Theory Attendance";display:block;text-align:center;font-size:18px;font-weight:700;margin-bottom:14px}}.vbs-page{min-height:calc(100vh - 64px);padding:1.2rem;background:radial-gradient(circle at 8% 8%,rgba(31,95,191,.12),transparent 38%),radial-gradient(circle at 92% 2%,rgba(19,73,150,.08),transparent 35%),linear-gradient(180deg,#f2f7ff,#eaf2ff)}.vbs-hero{max-width:980px;margin:0 auto 1rem;border:1px solid #d7e5f8;border-radius:18px;background:linear-gradient(145deg,#fff,#edf5ff);box-shadow:0 12px 26px #122b5214;padding:1.1rem 1.2rem}.vbs-hero h2{margin:0;font-size:1.8rem;font-weight:800;color:#143257}.vbs-hero p{margin:.35rem 0 0;color:#5d7090;font-size:.95rem;font-weight:600}.vbs-panel{max-width:680px;margin:0 auto;border:1px solid #d7e5f8;border-radius:16px;background:#fff;box-shadow:0 10px 24px #122b5214;padding:1rem}.vbs-field{display:grid;gap:.5rem}.vbs-field label{margin:0;font-size:.86rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#5d7090}.vbs-field select{width:100%;min-height:42px;border:1px solid #cddff6;border-radius:10px;background:#f8fbff;color:#183861;font-size:.92rem;font-weight:600;padding:0 .7rem}.vbs-field select:focus{outline:none;border-color:#9fc2f1;box-shadow:0 0 0 3px #1f5fbf1f}.vbs-submit{margin-top:.85rem;width:100%;border:none;border-radius:10px;min-height:42px;padding:0 1rem;color:#fff;font-size:.92rem;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#1f5fbf,#134996)}.vbs-submit:disabled{opacity:.55;cursor:not-allowed}.vbs-state{max-width:980px;margin:0 auto;border:1px solid #d7e5f8;border-radius:14px;background:#fff;color:#5d7090;font-weight:700;text-align:center;padding:1rem}.vbs-state.error{border-color:#f8c6cc;background:#fff1f2;color:#842029}.vat2-page{min-height:100vh;padding:1.2rem;background:radial-gradient(circle at 8% 8%,rgba(31,95,191,.12),transparent 38%),radial-gradient(circle at 92% 2%,rgba(19,73,150,.08),transparent 35%),linear-gradient(180deg,#f2f7ff,#eaf2ff)}.vat2-hero{border:1px solid #d7e5f8;border-radius:18px;background:linear-gradient(145deg,#fff,#edf5ff);box-shadow:0 12px 26px #122b5214;padding:1.15rem 1.25rem;margin-bottom:.9rem}.vat2-hero h1{margin:0;font-size:1.9rem;font-weight:800;color:#143257}.vat2-hero p{margin:.35rem 0 0;color:#5d7090;font-weight:600}.vat2-panel{border:1px solid #d7e5f8;border-radius:18px;background:#fff;box-shadow:0 10px 24px #122b5214;padding:.95rem;margin-bottom:.9rem}.vat2-table-wrapper{min-width:0;overflow-x:auto;border-radius:12px;border:1px solid #e6eefb}.vat2-table{width:100%;border-collapse:collapse;min-width:720px;margin:0}.vat2-table thead{background:#edf4ff}.vat2-table th{padding:.85rem;text-align:center;font-weight:800;font-size:.88rem;color:#355ea8;text-transform:uppercase;letter-spacing:.03em;border:1px solid #e6eefb}.vat2-table td{padding:.75rem;text-align:center;font-size:.9rem;color:#183861;border:1px solid #e6eefb}.vat2-table tbody tr:nth-child(2n) td{background:#fbfdff}.vat2-status{display:inline-block;padding:.35rem .75rem;border-radius:8px;font-weight:700;font-size:.85rem}.vat2-status--present{background:#1d8f5f1f;color:#1d8f5f}.vat2-status--absent{background:#dc35451f;color:#dc3545}.vat2-actions{margin-top:.9rem;display:flex;justify-content:flex-end;gap:.6rem}.vat2-print-btn{border:none;border-radius:10px;min-height:40px;padding:0 1.1rem;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#1f5fbf,#134996);transition:all .2s ease}.vat2-print-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1f5fbf40}.vat2-state{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;color:#5d7090;font-size:1.1rem;font-weight:600}@media (max-width: 768px){.vat2-hero h1{font-size:1.5rem}.vat2-panel{padding:.7rem}.vat2-table th,.vat2-table td{padding:.5rem .3rem;font-size:.75rem}}@media print{.vat2-page{background:#fff!important;padding:0!important}.vat2-print-btn,.vat2-actions{display:none!important}.vat2-table{min-width:auto!important;page-break-inside:avoid}}:root{--primary: var(--primary-accent, #10b981);--primary-hover: var(--primary-accent-dark, #059669);--primary-light: var(--primary-accent-light, #d1fae5);--bg-color: var(--bg-color, #f3f4f6);--panel-bg: var(--card-bg, #ffffff);--border-color: var(--border-color, #e5e7eb);--text-main: var(--text-main, #111827);--text-muted: var(--text-muted, #6b7280);--danger: var(--danger-color, #ef4444);--success-bg: color-mix(in srgb, var(--primary-light, #d1fae5) 50%, #ffffff);--success-text: var(--primary-accent-dark, #065f46)}.admin-panel-layout{padding:40px 20px 250px;background-color:var(--bg-color);min-height:100vh;display:flex;justify-content:center}.panel-card{width:100%;max-width:800px;background:var(--panel-bg);border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow:hidden;border:1px solid var(--border-color);animation:slideUp .4s ease-out}.panel-header{padding:24px 32px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--panel-bg)}.panel-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-main)}.panel-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:.9rem}.panel-body{padding:32px}.form-vertical{display:flex;flex-direction:column;gap:24px}.form-row{display:flex;gap:24px}.form-field{display:flex;flex-direction:column;gap:8px}.col{flex:1}.form-field label{font-size:.9rem;font-weight:600;color:var(--text-main, #111827)}.form-field input,.form-field select{padding:12px 16px;border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-size:.95rem;transition:all .2s ease;background:var(--panel-bg);color:var(--text-main)}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent)}.form-field input:disabled{background:color-mix(in srgb,var(--panel-bg) 60%,#f9fafb);color:var(--text-muted, #6b7280);cursor:not-allowed}.field-hint{font-size:.8rem;color:var(--text-muted);margin:0}.form-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:16px;padding-top:20px;border-top:1px dashed var(--border-color)}.btn-primary{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-primary:disabled{background:color-mix(in srgb,var(--primary-light, #d1fae5) 60%,#f2fff6);cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--panel-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);color:var(--text-muted, #6b7280);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:color-mix(in srgb,var(--panel-bg, #ffffff) 85%,var(--primary-light, #d1fae5));border-color:var(--primary, #10b981);color:var(--text-main, #111827)}.success-card{margin-top:24px;background:var(--success-bg);border:1px solid color-mix(in srgb,var(--primary, #10b981) 45%,#c7f9e9);border-radius:12px;padding:20px;animation:fadeIn .5s ease}.success-card h3{color:var(--success-text);margin-top:0}.credentials{background:#fff9;padding:16px;border-radius:8px;margin-top:12px;border:1px solid color-mix(in srgb,var(--primary, #10b981) 25%,transparent)}.credentials-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.95rem}.credentials-label{color:#4b5563}.credentials-value{font-weight:700;color:#064e3b;font-family:monospace;font-size:1.1rem}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0;font-family:inherit}.link-button:hover{color:var(--primary-hover)}@media (max-width: 640px){.form-row{flex-direction:column;gap:16px}.panel-header{flex-direction:column;align-items:flex-start;gap:12px}.panel-actions{width:100%}.btn-secondary-ghost{width:100%;justify-content:center}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%;justify-content:center}}.scrollable-wrapper{padding-top:68px;padding-left:2rem;padding-right:16px}.card-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;margin-top:12px}.card-item{background:#ffffffb3;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:20px;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 24px #0000000d}.card-item:hover:not(.coming-soon){transform:translateY(-4px);background:#fff;border-color:var(--admin-primary);box-shadow:0 12px 32px #10b98133}.card-icon-wrap{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#fff,#f0f0f0);color:var(--admin-primary);display:inline-flex;align-items:center;justify-content:center;transition:all .25s ease;box-shadow:0 4px 8px #0000000a;border:1px solid white}.card-item:hover:not(.coming-soon) .card-icon-wrap{background:var(--admin-primary);color:#fff;transform:scale(1.05) rotate(5deg);box-shadow:0 6px 12px #10b9814d}.card-icon{font-size:1.5rem}.card-label{margin:0;font-size:1.1rem;line-height:1.3;color:var(--admin-text-primary);font-weight:600}.card-description{margin:0;color:var(--admin-text-secondary);font-size:.9rem;line-height:1.5;flex-grow:1}.card-item.coming-soon{opacity:.6;background:#e6e6e680;cursor:default;box-shadow:none}.card-item.coming-soon:hover{transform:none;border-color:#fffc;box-shadow:none}.coming-soon-badge{align-self:flex-start;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--admin-warning);background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:6px;padding:4px 10px}.info-banner{border-radius:14px;border:1px solid rgba(245,158,11,.3);background:#f59e0b14;color:#b45309;padding:14px;margin-bottom:16px;display:flex;align-items:flex-start;gap:12px}.info-banner i{font-size:1.1rem;margin-top:2px}.banner-title{margin:0;font-size:.9rem;font-weight:600}.banner-text{font-size:.875rem;margin-top:3px}.banner-close-btn{margin-left:auto;width:32px;height:32px;border-radius:10px;border:1px solid transparent;background:#f59e0b1a;color:#b45309;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:all .2s ease}.banner-close-btn:hover{background:#f59e0b33;color:#78350f}@media (max-width: 768px){.scrollable-wrapper{padding-top:60px;padding-left:12px;padding-right:12px}.card-container{grid-template-columns:1fr;gap:16px}}.admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;display:flex;flex-direction:column;background-color:#0d1a2a;background-image:linear-gradient(170deg,#0d1a2a,#1a2b41 70%,#1f3855);color:#e0e0e0;border-right:1px solid #2a3f5a;box-shadow:8px 0 40px -10px #00000080;z-index:1200;transform:translate(0);transition:transform .4s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.admin-sidebar.collapsed{transform:translate(-100%)}.admin-sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a141e99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1190;animation:fadeIn .3s ease}.admin-sidebar-top{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0003}.admin-info{display:flex;align-items:center;gap:16px}.admin-icon{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--admin-primary, #10b981),var(--admin-primary-dark, #059669));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 5px 15px -3px #0000004d;border:2px solid rgba(255,255,255,.8)}.admin-details .admin-label{margin:0;font-size:.8rem;color:#ffffffb3;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-details .admin-college{margin:4px 0 0;color:#fff;font-size:1rem;font-weight:700}.admin-sidebar-menu{list-style:none;margin:0;padding:20px 12px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.admin-sidebar-item{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:10px;color:#fffc;cursor:pointer;transition:all .25s ease;font-weight:600;font-size:.95rem;position:relative;border:1px solid transparent}.admin-sidebar-item .icon{font-size:1.2rem;transition:all .25s ease;width:24px;text-align:center}.admin-sidebar-item:hover{background:#ffffff1a;color:#fff;transform:translate(5px);border-color:#fff3}.admin-sidebar-item:hover .icon{transform:scale(1.1)}.admin-sidebar-item.active{background:var(--admin-primary, #10b981);color:#fff;font-weight:700;box-shadow:0 8px 20px -6px var(--admin-primary, #10b981)}.admin-sidebar-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60%;background-color:#fff;border-radius:0 4px 4px 0}.admin-sidebar-item.active .icon{animation:active-icon-anim .5s ease}@keyframes active-icon-anim{0%{transform:scale(1)}50%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1)}}.admin-sidebar-item .badge{margin-left:auto;font-size:.7rem;font-weight:700;border-radius:6px;padding:4px 8px;background:#fff3;color:#fff}.admin-sidebar-item.coming-soon{opacity:.5;cursor:not-allowed}.admin-sidebar-item.coming-soon:hover{transform:none;background:transparent;border-color:transparent}@media (max-width: 768px){.admin-sidebar{width:min(85vw,320px);box-shadow:10px 0 50px -15px #0009;transform:translate(-105%)}.admin-sidebar.mobile.visible{transform:translate(0)}.admin-sidebar-header{display:flex;justify-content:flex-end;padding:12px}.admin-sidebar-close-btn{width:40px;height:40px;border-radius:10px;border:none;background:#ffffff1a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.3rem}}.admin-sidebar-menu::-webkit-scrollbar{width:5px}.admin-sidebar-menu::-webkit-scrollbar-track{background:transparent}.admin-sidebar-menu::-webkit-scrollbar-thumb{background:#fff3;border-radius:5px}.admin-sidebar-menu::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.admin-page-header{position:fixed;top:0;left:280px;right:0;height:60px;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:linear-gradient(90deg,var(--card-bg, #ffffff) 0%,rgba(255,255,255,.98) 100%);border-bottom:1px solid var(--border-color, #e5e7eb);box-shadow:0 4px 12px #00000014;z-index:1100}.app-container.sidebar-collapsed.admin-page .admin-page-header{left:0}.header-left,.header-right{display:flex;align-items:center;gap:10px}.header-left{min-width:0;flex:1;gap:10px}.mobile-menu-toggle{display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--border-color, #cbd5e1);background:var(--card-bg, #ffffff);color:var(--text-main, #1e293b);font-size:1.1rem;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.mobile-menu-toggle:hover{background:#fffc;border-color:var(--text-main, #1e293b)}.admin-page-titles{min-width:0}.admin-page-title{margin:0;font-size:1rem;color:var(--text-main, #0f172a);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.admin-page-subtitle{margin:1px 0 0;font-size:.75rem;color:var(--text-muted, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.institution-brand{display:inline-flex;align-items:center;gap:8px}.institution-brand-logo,.institution-brand-fallback{width:26px;height:26px;border-radius:6px;object-fit:cover;border:1px solid var(--border-color, #bfdbfe);flex-shrink:0}.institution-brand-fallback{display:inline-flex;align-items:center;justify-content:center;background:#fff6;color:var(--primary-accent, #10b981);font-size:.65rem;font-weight:700;border:.5px solid rgba(0,0,0,.08)}.admin-user-info{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border-radius:8px;border:1px solid var(--border-color, #dbe5f1);background:var(--card-bg, #ffffff)}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary-accent, #10b981) 0%,var(--primary-accent-dark, #059669) 100%);color:var(--text-on-primary, #ffffff);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 2px 8px #0000001f}.user-details{display:flex;flex-direction:column;gap:0px}.user-name{font-size:.81rem;color:var(--text-main, #0f172a);font-weight:700;line-height:1}.user-role{font-size:.7rem;color:var(--text-muted, #64748b);line-height:1;margin-top:1px}.btn-logout{min-height:38px;border-radius:8px;border:1px solid rgba(239,68,68,.3);background:#ef44441a;color:#dc2626;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-logout:hover{background:#ef444426;border-color:#ef444480;color:#b91c1c}@media (max-width: 768px){.admin-page-header{left:0;padding:8px;gap:0;justify-content:space-between;min-height:48px}.header-left{gap:6px;min-width:0;flex:0 1 auto;display:flex;align-items:center;flex-shrink:1}.mobile-menu-toggle{display:inline-flex!important;flex-shrink:0;z-index:1101;width:36px;height:36px;font-size:1rem;visibility:visible!important}.admin-page-titles{flex:0 1 auto;min-width:0;overflow:hidden;max-width:calc(100vw - 100px)}.admin-page-title{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-page-subtitle{display:none}.institution-brand{gap:3px;flex-shrink:0}.institution-brand-logo,.institution-brand-fallback{width:18px;height:18px;flex-shrink:0}.admin-user-info{display:none}.header-right{flex-shrink:0;display:flex;align-items:center;margin-left:auto}.btn-logout{width:36px;height:36px;padding:0!important;border-radius:8px;flex-shrink:0;min-height:36px;font-size:.9rem}.btn-logout span{display:none}}.admin-content{--primary: var(--primary-accent, #3b82f6);--primary-hover: var(--primary-accent-dark, #2563eb);--primary-light: var(--primary-accent-light, #dbeafe);--bg-main: var(--bg-color, #f8fafc);--card-bg: var(--card-bg, #ffffff);--text-primary: var(--text-main, #0f172a);--text-secondary: var(--text-muted, #64748b);--border: var(--border-color, #e2e8f0);--danger: var(--danger-color, #ef4444);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1)}.admin-content{padding:32px 32px 250px;background:var(--bg-main);min-height:100vh;box-sizing:border-box}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:linear-gradient(135deg,var(--app-header-bg, var(--primary)) 0%,color-mix(in srgb,var(--primary) 85%,#000000) 100%);padding:40px 32px;border-radius:20px;box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;top:0;right:0;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;transform:translate(30%,-30%)}.department-header-text{position:relative;z-index:1}.department-header-text h2{color:var(--text-on-primary, #ffffff);font-size:28px;font-weight:700;margin:0 0 8px;letter-spacing:-.5px}.department-header-text p{color:var(--text-on-primary, rgba(255, 255, 255, .9));font-size:15px;margin:0;opacity:.9;font-weight:500}.btn-primary{background:#fffffff2;color:var(--primary);border:2px solid transparent;padding:12px 24px;border-radius:12px;font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000026;position:relative;z-index:1}.btn-primary:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #0003}.btn-primary i{font-size:18px;font-weight:700}.btn-secondary{background:var(--card-bg);color:var(--text-primary);border:2px solid var(--border);padding:10px 20px;border-radius:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-danger{background:var(--danger);color:#fff;border:none;padding:10px 20px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 85%,#000000);transform:translateY(-1px)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.departments-overview h3{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:24px;display:flex;align-items:center;gap:12px}.departments-overview h3:before{content:"";width:4px;height:24px;background:linear-gradient(180deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 70%,transparent) 100%);border-radius:2px}.search-section{margin-bottom:28px}.search-container{position:relative;max-width:450px}.search-container i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:18px}.search-input{width:100%;padding:14px 16px 14px 48px;border:2px solid var(--border);border-radius:14px;background:var(--card-bg);font-size:15px;color:var(--text-primary);transition:all .3s ease;box-shadow:var(--shadow-sm)}.search-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent),var(--shadow-md)}.search-input::placeholder{color:var(--text-secondary)}.departments-grid-small{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;animation:fadeIn .4s ease-out}.department-small-card{background:var(--card-bg);border:2px solid var(--border);border-radius:18px;padding:28px;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);overflow:hidden}.department-small-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 70%,transparent) 100%);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.department-small-card:hover:before{transform:scaleX(1)}.department-small-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:color-mix(in srgb,var(--primary) 30%,var(--border))}.department-small-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.department-small-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--primary-light) 0%,color-mix(in srgb,var(--primary-light) 70%,white) 100%);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:26px;transition:all .35s ease;box-shadow:inset 0 1px 2px #0000000d}.department-small-card:hover .department-small-icon{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:var(--text-on-primary, #ffffff);transform:rotate(-8deg) scale(1.05);box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 40%,transparent)}.department-small-code{background:var(--text-primary);color:var(--text-on-primary, #ffffff);font-size:12px;font-weight:700;padding:6px 12px;border-radius:8px;letter-spacing:.8px;text-transform:uppercase;box-shadow:var(--shadow-sm)}.department-small-content{flex-grow:1;margin-bottom:20px}.department-small-name{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 8px;line-height:1.3;letter-spacing:-.3px}.department-small-meta{font-size:14px;color:var(--text-secondary);margin:0;display:flex;align-items:center;gap:6px}.department-small-meta:before{content:"•";color:var(--border);font-weight:700}.department-small-footer{padding-top:20px;border-top:2px solid var(--border);display:flex;justify-content:flex-end;transition:all .3s ease}.manage-link{font-size:15px;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:8px;transition:all .2s ease}.manage-link:after{content:"→";font-size:18px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.department-small-card:hover .manage-link{gap:12px}.department-small-card:hover .manage-link:after{transform:translate(4px)}.empty-state{text-align:center;padding:80px 40px;background:var(--card-bg);border-radius:20px;border:2px dashed var(--border);margin-top:20px}.empty-state-icon{font-size:64px;color:var(--text-secondary);margin-bottom:20px;opacity:.4}.empty-state h3{font-size:22px;color:var(--text-primary);margin:0 0 12px;font-weight:700}.empty-state p{color:var(--text-secondary);margin:0 0 28px;font-size:15px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease-out}.modal-content{background:var(--card-bg);border-radius:20px;width:90%;max-width:540px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.modal-header{padding:24px 28px;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,var(--card-bg) 0%,color-mix(in srgb,var(--bg-main) 50%,white) 100%)}.modal-header h3{margin:0;font-size:20px;font-weight:700;color:var(--text-primary)}.modal-close{background:transparent;border:none;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;font-size:24px}.modal-close:hover{background:var(--border);color:var(--text-primary)}.modal-body{padding:28px}.modal-footer{padding:20px 28px;background:color-mix(in srgb,var(--bg-main) 70%,white);display:flex;justify-content:flex-end;gap:12px;border-top:2px solid var(--border)}.delete-warning{display:flex;gap:16px;padding:20px;background:color-mix(in srgb,var(--danger) 8%,white);border-radius:12px;border-left:4px solid var(--danger);margin-bottom:24px}.delete-warning i{font-size:24px;color:var(--danger)}.delete-warning p{margin:0 0 8px;color:var(--text-primary);font-size:15px}.warning-text{color:var(--text-secondary);font-size:14px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:14px}.form-control{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:12px;font-size:15px;color:var(--text-primary);transition:all .2s ease;background:var(--card-bg);box-sizing:border-box}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;color:var(--text-secondary)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-container p{font-size:15px;font-weight:500}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1024px){.departments-grid-small{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.admin-content{padding:20px 20px 180px}.page-header{flex-direction:column;align-items:flex-start;gap:20px;padding:32px 24px}.department-header-text h2{font-size:24px}.departments-grid-small{grid-template-columns:1fr;gap:16px}.btn-primary{width:100%;justify-content:center}.modal-content{width:95%}}@media (max-width: 480px){.department-small-card{padding:20px}.department-small-icon{width:48px;height:48px;font-size:22px}.department-small-name{font-size:18px}}.department-form{--df-primary: var(--primary-accent, #059669);--df-primary-dark: var(--primary-accent-dark, #047857);--df-primary-light: var(--primary-accent-light, #d1fae5);--df-secondary: var(--secondary-accent, #374151);--df-success: var(--success-color, #10b981);--df-warning: var(--warning-color, #f59e0b);--df-danger: var(--danger-color, #dc2626);--df-text-primary: var(--text-main, #111827);--df-text-secondary: var(--text-muted, #6b7280);--df-text-muted: color-mix(in srgb, var(--text-muted, #6b7280) 70%, #cbd5e1);--df-border: var(--border-color, #e5e7eb);--df-border-light: color-mix( in srgb, var(--border-color, #e5e7eb) 60%, #f3f4f6 );--df-bg: var(--bg-color, #f8fafc);--df-card: var(--card-bg, #ffffff);--df-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--df-shadow-md: 0 4px 10px rgba(0, 0, 0, .08);--df-shadow-lg: 0 12px 30px rgba(0, 0, 0, .1);--transition-speed: .18s;--border-radius-sm: 6px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--focus-ring: 3px solid color-mix(in srgb, var(--df-primary, #059669) 20%, transparent);--max-form-width: 980px;--card-bg: var(--df-card);--primary-accent: var(--df-primary);--primary-accent-dark: var(--df-primary-dark);--primary-accent-light: var(--df-primary-light);--secondary-accent: var(--df-secondary);--success-color: var(--df-success);--warning-color: var(--df-warning);--danger-color: var(--df-danger);--text-color-primary: var(--df-text-primary);--text-color-secondary: var(--df-text-secondary);--text-color-muted: var(--df-text-muted);--border-color: var(--df-border);--border-color-light: var(--df-border-light);--bg-color: var(--df-bg);--shadow-sm: var(--df-shadow-sm);--shadow-md: var(--df-shadow-md);--shadow-lg: var(--df-shadow-lg)}@media (prefers-reduced-motion: reduce){:root{--transition-speed: 0ms}.form-card,.card-animate{transition:none!important;animation:none!important}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.department-form{max-width:var(--max-form-width);margin:0 auto;padding:20px;box-sizing:border-box}.form-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;color:var(--text-color-primary)}.form-header{display:flex;gap:16px;align-items:center;padding:20px;background:linear-gradient(135deg,var(--primary-accent-light) 0%,var(--bg-color) 100%);border-bottom:1px solid var(--border-color-light)}.form-icon{width:48px;height:48px;min-width:48px;border-radius:var(--border-radius-md);display:grid;place-items:center;color:var(--text-on-primary, #fff);background:linear-gradient(180deg,var(--primary-accent),var(--primary-accent-dark));font-size:1.25rem;box-shadow:var(--shadow-sm)}.form-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-color-primary)}.form-description{margin:0;color:var(--text-color-secondary);font-size:.9rem}.form-progress{display:flex;gap:16px;align-items:center;justify-content:center;padding:18px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:24px;flex-wrap:wrap}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-color-muted);transition:color var(--transition-speed) ease,transform var(--transition-speed) ease;transform-origin:center}.progress-step[aria-current=step],.progress-step.active{color:var(--text-color-primary);transform:translateY(-3px) scale(1.02)}.step-number{width:40px;height:40px;display:grid;place-items:center;border-radius:999px;font-weight:700;background:var(--border-color-light);color:var(--text-color-secondary);font-size:.9rem;transition:background var(--transition-speed) ease,color var(--transition-speed) ease}.progress-step[aria-current=step] .step-number,.progress-step.active .step-number{background:linear-gradient(180deg,var(--primary-accent),var(--primary-accent-dark));color:var(--text-on-primary, #fff)}.step-label{font-size:.75rem;text-align:center;color:inherit}.progress-line{width:64px;height:2px;background:var(--border-color-light);border-radius:2px}.form-progress.vertical{flex-direction:column}.form-progress.vertical .progress-line{width:2px;height:40px}.form-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));padding:22px}@media (max-width: 880px){.form-grid{grid-template-columns:1fr;padding:16px}}.form-field{display:flex;flex-direction:column;gap:6px;position:relative}.form-field label{font-weight:600;color:var(--text-color-primary);font-size:.9rem;display:flex;gap:6px;align-items:center}.required{color:var(--danger-color);font-weight:700;font-size:.9rem}.input-wrapper{position:relative;display:block}.form-field input[type=text],.form-field input[type=email],.form-field input[type=number],.form-field input[type=search],.form-field textarea,.form-field select{width:100%;padding:12px 14px;border:1.5px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--card-bg, #ffffff);font-size:.95rem;color:var(--text-color-primary);transition:box-shadow var(--transition-speed) ease,border-color var(--transition-speed) ease,transform var(--transition-speed) ease;box-sizing:border-box;font-family:inherit}.form-field textarea{min-height:110px;resize:vertical}.form-field:focus-within{outline:none}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{box-shadow:var(--focus-ring);border-color:var(--primary-accent);outline:none}.form-field .is-valid{border-color:var(--success-color)!important;box-shadow:0 0 0 4px #10b9810f}.form-field .is-invalid{border-color:var(--danger-color)!important;box-shadow:0 0 0 4px #dc26260f}.input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:1rem;color:var(--text-color-muted)}.input-icon.invalid{color:var(--danger-color)}.field-error{display:flex;gap:6px;align-items:center;color:var(--danger-color);font-size:.82rem;font-weight:600;margin-top:6px}.field-hint{color:var(--text-color-muted);font-size:.82rem;display:flex;gap:6px;align-items:center}.field-hint:before{content:"ℹ️";font-size:.85rem;opacity:.8}.form-field:focus-within .field-hint{color:var(--primary-accent)}.form-field input[name=code]{text-transform:uppercase;font-family:Courier New,monospace;letter-spacing:.8px}.form-field input[type=text].capitalize{text-transform:capitalize}.file-dropzone{border:1.5px dashed var(--border-color);border-radius:var(--border-radius-md);padding:12px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:linear-gradient(180deg,color-mix(in srgb,var(--card-bg, #ffffff) 70%,transparent),color-mix(in srgb,var(--bg-color, #f8fafc) 60%,transparent));transition:border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease,background var(--transition-speed) ease}.file-dropzone .dz-info{color:var(--text-color-secondary);font-size:.92rem}.file-dropzone.dragover{border-color:var(--primary-accent);box-shadow:0 8px 20px #0596690f;background:linear-gradient(180deg,color-mix(in srgb,var(--primary-accent-light, #d1fae5) 45%,transparent),color-mix(in srgb,var(--card-bg, #ffffff) 80%,transparent))}.file-preview{display:flex;gap:10px;align-items:center}.file-preview .thumb{width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--border-color-light);display:grid;place-items:center}.file-preview .meta{font-size:.85rem;color:var(--text-color-secondary)}.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chip{background:color-mix(in srgb,var(--bg-color, #f8fafc) 70%,var(--card-bg, #ffffff));color:var(--text-color-secondary);padding:6px 10px;border-radius:999px;font-weight:600;display:inline-flex;align-items:center;gap:8px;font-size:.85rem}.chip .remove{cursor:pointer;opacity:.75;font-weight:700}.chip .remove:hover{opacity:1}.form-preview{padding:18px;background:var(--bg-color);border:1px solid var(--border-color-light);border-radius:var(--border-radius-md);margin-bottom:20px}.preview-card{display:flex;gap:12px;align-items:flex-start;background:var(--card-bg);padding:14px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}.preview-icon{width:44px;height:44px;border-radius:var(--border-radius-sm);background:linear-gradient(180deg,var(--primary-accent),var(--primary-accent-dark));color:var(--text-on-primary, #fff);display:grid;place-items:center;font-weight:700}.preview-content{flex:1}.preview-name{font-weight:700;color:var(--text-color-primary);margin:0 0 6px}.preview-code{font-size:.72rem;padding:4px 8px;border-radius:8px;background:var(--primary-accent);color:var(--text-on-primary, #fff);font-weight:700;letter-spacing:.6px}.preview-meta{display:flex;gap:12px;align-items:center;color:var(--text-color-secondary);font-size:.82rem}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding:18px;border-top:1px solid var(--border-color-light);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}.btn-primary{background:linear-gradient(180deg,var(--primary-accent),var(--primary-accent-dark));color:var(--text-on-primary, #fff);padding:10px 16px;border-radius:var(--border-radius-md);border:none;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-speed) ease,box-shadow var(--transition-speed) ease}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--card-bg, #ffffff);border:1.5px solid var(--border-color);color:var(--text-color-secondary);padding:10px 16px;border-radius:var(--border-radius-md);cursor:pointer;font-weight:700}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.loading-spinner{width:18px;height:18px;border:2px solid var(--border-color-light);border-top:2px solid var(--primary-accent);border-radius:50%;animation:spin .9s linear infinite;display:inline-block}@media (max-width: 640px){.form-card{border-radius:var(--border-radius-md)}.form-header{padding:16px;gap:12px}.form-grid{gap:14px;padding:14px}.form-actions{padding:14px;flex-direction:column-reverse;gap:10px;align-items:stretch}.form-actions .btn-primary,.form-actions .btn-secondary{width:100%;justify-content:center}.form-progress{padding:12px;gap:12px}.form-progress.vertical{gap:8px}}.helper{color:var(--text-color-secondary);font-size:.9rem}.is-hidden{display:none!important}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--admin-space-md);padding:var(--admin-space-md) var(--admin-space-lg);border:none;background:transparent;color:var(--admin-text-secondary);font-weight:var(--admin-font-semibold);font-size:var(--admin-text-sm);cursor:pointer;border-radius:var(--admin-radius-md);transition:all .2s ease}.tab-button.active{background:var(--admin-primary);color:var(--admin-text-on-primary)}.search-box{position:relative;flex:1;min-width:200px}.search-box input{width:100%;padding:var(--admin-space-md) var(--admin-space-lg);padding-left:40px;border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:var(--admin-text-sm);background:var(--admin-bg-secondary);color:var(--admin-text-primary);transition:all .2s ease}.search-box input:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--admin-primary-light)}.search-icon{position:absolute;left:var(--admin-space-lg);top:50%;transform:translateY(-50%);color:var(--admin-text-tertiary);pointer-events:none}.staff-table-wrapper{background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);overflow:hidden;box-shadow:var(--admin-shadow-sm);margin-bottom:var(--admin-space-xl)}.staff-table{width:100%;border-collapse:collapse;font-size:var(--admin-text-sm)}.staff-table thead{background:var(--admin-bg-secondary);border-bottom:1px solid var(--admin-border)}.staff-table th{padding:var(--admin-space-lg);text-align:left;font-weight:var(--admin-font-semibold);color:var(--admin-text-primary);white-space:nowrap}.staff-table td{padding:var(--admin-space-lg);border-bottom:1px solid var(--admin-border-light)}.staff-table tbody tr:hover{background:var(--admin-bg-secondary)}.staff-table tbody tr:last-child td{border-bottom:none}.staff-name{font-weight:var(--admin-font-semibold);color:var(--admin-text-primary)}.staff-role{font-size:var(--admin-text-xs);color:var(--admin-text-secondary);display:block}.staff-status{display:inline-block;padding:var(--admin-space-xs) var(--admin-space-md);border-radius:12px;font-size:var(--admin-text-xs);font-weight:var(--admin-font-semibold);text-transform:capitalize}.staff-status.active{background:#ecfdf5;color:#047857}.staff-status.inactive{background:#fef2f2;color:#991b1b}.action-btn{padding:var(--admin-space-sm) var(--admin-space-md);background:var(--admin-bg-secondary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);color:var(--admin-text-primary);cursor:pointer;font-size:var(--admin-text-xs);transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--admin-space-xs);font-weight:var(--admin-font-semibold)}.action-btn.danger:hover{background:#fef2f2;border-color:var(--admin-danger);color:var(--admin-danger)}.action-btn.delete{color:var(--admin-danger)}.staff-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--admin-space-lg);margin-bottom:var(--admin-space-xl)}.staff-card{background:var(--admin-bg-card);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg);display:flex;flex-direction:column;gap:var(--admin-space-md);transition:all .2s ease;box-shadow:var(--admin-shadow-sm)}.staff-card:hover{transform:translateY(-4px);box-shadow:var(--admin-shadow-md);border-color:var(--admin-primary)}.staff-card-header{display:flex;align-items:flex-start;gap:var(--admin-space-md)}.staff-avatar{width:48px;height:48px;border-radius:50%;background:var(--admin-primary-light);color:var(--admin-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--admin-font-bold);font-size:var(--admin-text-base);flex-shrink:0}.staff-info h3{margin:0 0 var(--admin-space-xs) 0;font-size:var(--admin-text-base);font-weight:var(--admin-font-semibold);color:var(--admin-text-primary)}.staff-detail{font-size:var(--admin-text-xs);color:var(--admin-text-secondary);margin:var(--admin-space-xs) 0 0 0}.staff-card-actions{display:flex;gap:var(--admin-space-sm);padding-top:var(--admin-space-md);border-top:1px solid var(--admin-border-light)}.staff-card-actions button{flex:1;padding:var(--admin-space-sm) var(--admin-space-md);font-size:var(--admin-text-xs)}.info-card{background:var(--admin-bg-card);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg);display:flex;gap:var(--admin-space-lg);align-items:center}.info-card-icon{width:56px;height:56px;border-radius:var(--admin-radius-md);background:var(--admin-primary-light);color:var(--admin-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.info-card-content h3{margin:0 0 var(--admin-space-xs) 0;font-size:var(--admin-text-base);font-weight:var(--admin-font-semibold);color:var(--admin-text-primary)}.info-card-content p{margin:0;font-size:var(--admin-text-sm);color:var(--admin-text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-xl);max-width:500px;width:90%;max-height:90vh;overflow-y:auto}@media (max-width: 768px){.staff-cards{grid-template-columns:1fr}.staff-table{font-size:var(--admin-text-xs)}.staff-table th,.staff-table td{padding:var(--admin-space-md)}.modal{width:95%}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-2xl);padding:var(--admin-space-xl);background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-lg);flex-wrap:wrap;gap:var(--admin-space-lg);position:relative;overflow:hidden}.header-left{display:flex;align-items:center;gap:var(--admin-space-lg);position:relative;z-index:1}.btn-back{width:44px;height:44px;border-radius:var(--admin-radius-md);border:2px solid rgba(255,255,255,.3);background:#ffffff26;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--admin-text-on-primary);transition:all .3s ease;font-size:1.2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-back:hover{background:#ffffff40;transform:translate(-3px);border-color:#ffffff80}.page-header h2{margin:0;font-size:var(--admin-text-2xl);color:var(--admin-text-on-primary);font-weight:var(--admin-font-bold)}.department-code{margin:var(--admin-space-sm) 0 0 0;color:#ffffffe6;font-size:var(--admin-text-sm);opacity:.9;font-weight:var(--admin-font-medium)}.header-actions{display:flex;gap:var(--admin-space-md);position:relative;z-index:1;flex-wrap:wrap}.search-container{position:relative;flex:1;min-width:250px}.search-input{width:100%;padding:var(--admin-space-md) var(--admin-space-lg);padding-left:40px;border:1px solid rgba(255,255,255,.3);border-radius:var(--admin-radius-md);font-size:var(--admin-text-sm);background:#ffffff26;color:var(--admin-text-on-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;font-family:var(--admin-font-family)}.search-input::placeholder{color:#ffffffb3}.search-input:focus{outline:none;background:#ffffff40;border-color:#ffffff80;box-shadow:0 0 0 3px #ffffff1a}.search-icon{position:absolute;left:var(--admin-space-lg);top:50%;transform:translateY(-50%);color:#ffffffb3;pointer-events:none}.btn-secondary{padding:var(--admin-space-md) var(--admin-space-lg);background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--admin-text-on-primary);border-radius:var(--admin-radius-md);cursor:pointer;font-weight:var(--admin-font-semibold);transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--admin-space-sm);font-size:var(--admin-text-sm);font-family:var(--admin-font-family);border:none;white-space:nowrap}.btn-secondary:hover{background:#ffffff59;border-color:#ffffff80;transform:translateY(-2px)}.view-tabs{display:flex;background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);padding:var(--admin-space-sm);margin-bottom:var(--admin-space-xl);border:1px solid var(--admin-border);box-shadow:var(--admin-shadow-sm);gap:var(--admin-space-sm)}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--admin-space-md);padding:var(--admin-space-md) var(--admin-space-lg);border:none;background:transparent;color:var(--admin-text-secondary);font-weight:var(--admin-font-semibold);font-size:var(--admin-text-sm);cursor:pointer;border-radius:var(--admin-radius-md);transition:all .2s ease;font-family:var(--admin-font-family)}.tab-button:hover{background:var(--admin-bg-secondary);color:var(--admin-text-primary)}.tab-button.active{background:var(--admin-primary);color:var(--admin-text-on-primary);box-shadow:var(--admin-shadow-sm)}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--admin-shadow-md);border-color:var(--admin-primary)}.faculty-section{margin-bottom:var(--admin-space-2xl)}.faculty-section h3{font-size:var(--admin-text-lg);font-weight:var(--admin-font-bold);color:var(--admin-text-primary);margin:0 0 var(--admin-space-lg) 0;display:flex;align-items:center;gap:var(--admin-space-md)}.faculty-section h3:before{content:"";width:4px;height:20px;background:linear-gradient(180deg,var(--admin-primary) 0%,transparent 100%);border-radius:2px}.faculty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--admin-space-lg)}.faculty-grid.compact{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.faculty-card{background:var(--admin-bg-card);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg);display:flex;flex-direction:column;gap:var(--admin-space-md);transition:all .2s ease;box-shadow:var(--admin-shadow-sm);cursor:pointer;position:relative;overflow:hidden}.faculty-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--admin-primary) 0%,transparent 100%);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.faculty-card:hover:before{transform:scaleX(1)}.faculty-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--admin-space-md)}.faculty-avatar{width:48px;height:48px;border-radius:50%;background:var(--admin-primary-light);color:var(--admin-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;font-weight:var(--admin-font-bold)}.faculty-actions{display:flex;gap:var(--admin-space-xs)}.action-btn{width:36px;height:36px;border-radius:var(--admin-radius-sm);border:1px solid var(--admin-border);background:var(--admin-bg-secondary);color:var(--admin-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.9rem}.action-btn:hover{background:var(--admin-primary-light);border-color:var(--admin-primary);color:var(--admin-primary)}.action-btn.remove-btn:hover{background:#fef2f2;border-color:var(--admin-danger);color:var(--admin-danger)}.faculty-content{display:flex;flex-direction:column;gap:var(--admin-space-xs)}.faculty-name{margin:0;font-size:var(--admin-text-base);font-weight:var(--admin-font-semibold);color:var(--admin-text-primary)}.faculty-employee-id{margin:0;font-size:var(--admin-text-xs);color:var(--admin-text-secondary);font-weight:var(--admin-font-medium);font-family:Courier New,monospace}.faculty-email{margin:0;font-size:var(--admin-text-xs);color:var(--admin-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-type-badge{display:inline-block;padding:var(--admin-space-xs) var(--admin-space-md);border-radius:12px;font-size:var(--admin-text-xs);font-weight:var(--admin-font-semibold);text-transform:capitalize;width:fit-content;margin-top:var(--admin-space-xs)}.staff-type-badge.faculty{background:#eff6ff;color:#1e40af}.staff-type-badge.office{background:#fef3c7;color:#92400e}.empty-state{text-align:center;padding:var(--admin-space-2xl);background:var(--admin-bg-card);border:2px dashed var(--admin-border);border-radius:var(--admin-radius-lg)}.empty-state-icon{font-size:3.5rem;margin-bottom:var(--admin-space-lg);opacity:.5;color:var(--admin-text-secondary)}.empty-state h3,.empty-state h4{margin:0 0 var(--admin-space-md) 0;color:var(--admin-text-primary);font-size:var(--admin-text-lg)}.modal-content{background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-xl);max-width:600px;width:90%;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;animation:slideUp .3s ease}.modal-header h3{margin:0;font-size:var(--admin-text-lg);color:var(--admin-text-primary);font-weight:var(--admin-font-bold)}.modal-close{width:36px;height:36px;border:none;background:var(--admin-bg-secondary);border-radius:var(--admin-radius-sm);color:var(--admin-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:1.2rem}.modal-close:hover{background:#fef2f2;color:var(--admin-danger)}.modal-body{padding:var(--admin-space-xl);flex:1;overflow-y:auto}.modal-footer{padding:var(--admin-space-xl);border-top:1px solid var(--admin-border);display:flex;gap:var(--admin-space-md);justify-content:flex-end;background:var(--admin-bg-secondary)}.form-group label{font-weight:var(--admin-font-semibold);font-size:var(--admin-text-sm);color:var(--admin-text-primary)}.form-control,select{width:100%;padding:var(--admin-space-md) var(--admin-space-lg);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:var(--admin-text-sm);background:var(--admin-bg-main);color:var(--admin-text-primary);font-family:var(--admin-font-family);transition:all .2s ease}.form-control:focus,select:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--admin-primary-light)}.loading-container{text-align:center;padding:var(--admin-space-2xl);display:flex;flex-direction:column;align-items:center;gap:var(--admin-space-lg)}.loading-spinner{width:48px;height:48px;border:4px solid var(--admin-primary-light);border-top:4px solid var(--admin-primary);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;padding:var(--admin-space-lg)}.header-actions{width:100%;flex-direction:column}.search-container{width:100%;min-width:auto}.btn-secondary{width:100%;justify-content:center}.stats-grid,.faculty-grid,.faculty-grid.compact{grid-template-columns:1fr}.modal-content{width:95%;max-height:90vh}.view-tabs{flex-direction:column}.tab-button{width:100%}}@media (max-width: 640px){.page-header h2{font-size:var(--admin-text-xl)}.department-code{font-size:var(--admin-text-xs)}.faculty-section h3{font-size:var(--admin-text-base)}.modal-header,.modal-body,.modal-footer{padding:var(--admin-space-lg)}}.course-add-card{background:var(--admin-bg-card);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-xl);box-shadow:var(--admin-shadow-sm);margin-bottom:var(--admin-space-2xl)}.course-add-title{font-weight:var(--admin-font-semibold);color:var(--admin-text-primary);margin-bottom:var(--admin-space-md)}.course-add-row{display:flex;gap:var(--admin-space-md);flex-wrap:wrap}.course-add-row input{flex:1 1 240px;padding:10px 12px;border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-family:var(--admin-font-family)}.course-add-row select{flex:1 1 180px;padding:10px 12px;border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-family:var(--admin-font-family);background:#fff}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--admin-space-xl)}.course-card{background:#fff;border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-xl);box-shadow:var(--admin-shadow-md);transition:transform .2s ease,box-shadow .2s ease}.course-card:hover{transform:translateY(-2px);box-shadow:var(--admin-shadow-lg)}.course-card-header{display:flex;flex-direction:column;gap:var(--admin-space-md);margin-bottom:var(--admin-space-lg);padding-bottom:var(--admin-space-md);border-bottom:1px solid var(--admin-border-light)}.course-card-header h3{margin:0;font-size:var(--admin-text-xl);font-weight:var(--admin-font-bold);color:var(--admin-text-primary)}.course-meta{margin:0;font-size:var(--admin-text-sm);color:var(--admin-text-secondary);font-weight:var(--admin-font-medium)}.course-card-header input{padding:8px 10px;border-radius:var(--admin-radius-md);border:1px solid var(--admin-border)}.course-edit-grid{display:grid;gap:var(--admin-space-sm)}.course-edit-grid select{padding:8px 10px;border-radius:var(--admin-radius-md);border:1px solid var(--admin-border);background:#fff}.course-actions,.division-actions{display:flex;gap:var(--admin-space-sm);flex-wrap:wrap;align-items:center}.btn-ghost{background:#fff;border:1px solid var(--admin-border);color:var(--admin-text-primary);padding:8px 12px;border-radius:var(--admin-radius-md);font-weight:var(--admin-font-medium)}.btn-ghost:hover{background:var(--admin-bg-secondary);border-color:var(--admin-primary);color:var(--admin-primary-dark)}.btn-danger-outline{background:#ef444414;border:1px solid rgba(239,68,68,.45);color:#ef4444;padding:8px 12px;border-radius:var(--admin-radius-md);font-weight:var(--admin-font-semibold)}.btn-danger-outline:hover{background:#ef444424;border-color:#ef4444bf}.division-section{border-top:1px solid var(--admin-border-light);padding-top:var(--admin-space-md)}.division-header{font-weight:var(--admin-font-semibold);margin-bottom:var(--admin-space-sm);color:var(--admin-text-secondary)}.division-list{list-style:none;padding:0;margin:0 0 var(--admin-space-md) 0;display:flex;flex-direction:column;gap:var(--admin-space-sm)}.division-item{display:flex;justify-content:space-between;align-items:center;gap:var(--admin-space-sm);padding:10px 12px;border-radius:var(--admin-radius-md);background:#f8fafc;border:1px solid var(--admin-border-light)}.division-item input{flex:1 1 auto;padding:6px 8px;border-radius:var(--admin-radius-md);border:1px solid var(--admin-border)}.division-add-row{display:flex;gap:var(--admin-space-sm);flex-wrap:wrap}.division-add-row input{flex:1 1 180px;padding:8px 10px;border-radius:var(--admin-radius-md);border:1px solid var(--admin-border)}.course-add-row input:focus,.course-add-row select:focus,.course-card-header input:focus,.course-edit-grid select:focus,.division-item input:focus,.division-add-row input:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #10b98126}@media (max-width: 720px){.course-add-row,.division-add-row,.course-actions,.division-actions{flex-direction:column;align-items:stretch}}.department-courses-page .course-card{background:#fff!important;color:var(--admin-text-primary)!important;border:1px solid var(--admin-border)!important}.department-courses-page .course-card:hover{background:#fff!important}.department-courses-page .course-card h3{color:var(--admin-text-primary)!important;border-bottom:none!important;padding-bottom:0!important;margin-bottom:0!important}.department-courses-page .course-card li{background:transparent!important;color:inherit!important}.department-courses-page .course-meta{color:var(--admin-text-secondary)!important}.department-courses-page .division-section,.department-courses-page .division-header,.department-courses-page .division-list,.department-courses-page .division-item,.department-courses-page .division-add-row,.department-courses-page .division-add-row input{color:var(--admin-text-primary)}.department-courses-page .division-item{background:#f8fafc!important;border:1px solid var(--admin-border-light)!important}.exam-controls{display:flex;gap:20px;margin-bottom:30px;flex-wrap:wrap}.course-selector{flex:1;min-width:250px}.course-selector label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.form-select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer;transition:all .3s ease}.form-select:hover{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.search-box{flex:1;min-width:200px;position:relative}.search-box i{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#999;font-size:16px}.search-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:all .3s ease}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.exams-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.exams-header h3{margin:0;font-size:18px;color:#333;font-weight:600}.exam-count{background:#f0f0f0;padding:6px 12px;border-radius:20px;font-size:13px;color:#666;font-weight:500}.exams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.exam-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:all .3s ease;display:flex;flex-direction:column}.exam-card:hover{border-color:#667eea;box-shadow:0 8px 24px #667eea26;transform:translateY(-2px)}.exam-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:10px}.exam-title{margin:0;font-size:16px;font-weight:600;color:#333;flex:1}.exam-division{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.exam-meta{background:#f9f9f9;padding:12px;border-radius:6px;margin-bottom:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.meta-row{display:flex;flex-direction:column;gap:4px}.meta-label{font-size:12px;color:#999;font-weight:500;text-transform:uppercase}.meta-value{font-size:14px;color:#333;font-weight:600}.exam-description{font-size:13px;color:#666;line-height:1.4;margin:0 0 16px}.exam-link-section{margin-bottom:16px}.link-label{display:block;font-size:12px;color:#999;font-weight:600;margin-bottom:8px;text-transform:uppercase}.link-container{display:flex;gap:8px}.link-input{flex:1;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:12px;background:#f9f9f9;color:#666}.btn-copy{padding:8px 12px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .3s ease;white-space:nowrap}.btn-copy:hover{background:#667eea;border-color:#667eea;color:#fff}.exam-actions{display:flex;gap:10px;margin-bottom:12px}.btn-preview,.btn-share{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .3s ease;background:#fff}.btn-preview{color:#667eea;border-color:#667eea}.btn-preview:hover{background:#667eea;color:#fff}.btn-share{color:#764ba2;border-color:#764ba2}.btn-share:hover{background:#764ba2;color:#fff}.exam-footer{text-align:center;padding-top:12px;border-top:1px solid #f0f0f0;font-size:12px;color:#999}.exam-date{font-style:italic}.empty-state{text-align:center;padding:60px 20px;background:#fafafa;border-radius:8px;border:1px dashed #ddd}.empty-state-icon{font-size:48px;color:#ddd;margin-bottom:16px}.empty-state h4{margin:0 0 8px;font-size:18px;color:#666;font-weight:600}.empty-state p{margin:0;font-size:14px;color:#999}.loading-state{text-align:center;padding:60px 20px;display:flex;flex-direction:column;align-items:center;gap:20px}.spinner{width:40px;height:40px;border:4px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.exam-controls{flex-direction:column}.course-selector,.search-box{min-width:100%}.exams-grid,.exam-meta{grid-template-columns:1fr}.exam-actions,.link-container{flex-direction:column}.btn-copy{justify-content:center}}@media (max-width: 480px){.exam-header{flex-direction:column}.exam-division{align-self:flex-start}.exam-meta{grid-template-columns:1fr}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--admin-space-lg);margin-bottom:var(--admin-space-xl)}.stat-card{background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg);display:flex;align-items:center;gap:var(--admin-space-lg);box-shadow:var(--admin-shadow-sm);border:1px solid var(--admin-border);transition:all .2s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--admin-shadow-md)}.stat-icon{width:56px;height:56px;background:var(--admin-primary-light);color:var(--admin-primary);border-radius:var(--admin-radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.stat-content{flex:1}.stat-number{font-size:1.75rem;font-weight:var(--admin-font-bold);color:var(--admin-text-primary);line-height:1;margin:0}.stat-label{color:var(--admin-text-secondary);font-size:var(--admin-text-sm);margin-top:var(--admin-space-xs);font-weight:var(--admin-font-medium)}.stat-subtext{font-size:var(--admin-text-xs);color:var(--admin-text-tertiary);margin-top:var(--admin-space-xs)}.controls-section{background:var(--admin-bg-card);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg);margin-bottom:var(--admin-space-xl);display:flex;gap:var(--admin-space-lg);flex-wrap:wrap;align-items:center}.search-box{flex:1;min-width:250px;position:relative}.search-box input{width:100%;padding:var(--admin-space-md) var(--admin-space-lg);padding-left:40px;border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:var(--admin-text-sm);background:var(--admin-bg-secondary)}.search-icon{position:absolute;left:var(--admin-space-lg);top:50%;transform:translateY(-50%);color:var(--admin-text-tertiary)}.view-toggle{display:flex;gap:var(--admin-space-sm);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:var(--admin-bg-secondary);padding:var(--admin-space-sm)}.view-toggle button{padding:var(--admin-space-sm) var(--admin-space-md);border:none;background:transparent;color:var(--admin-text-secondary);cursor:pointer;border-radius:var(--admin-radius-sm);transition:all .2s ease;font-size:var(--admin-text-xs)}.view-toggle button.active{background:var(--admin-bg-card);color:var(--admin-primary);font-weight:var(--admin-font-semibold)}.faculty-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--admin-space-lg)}.faculty-card{background:var(--admin-bg-card);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg);display:flex;flex-direction:column;gap:var(--admin-space-md);transition:all .2s ease;box-shadow:var(--admin-shadow-sm)}.faculty-card:hover{transform:translateY(-4px);box-shadow:var(--admin-shadow-md);border-color:var(--admin-primary)}.faculty-card-header{display:flex;align-items:flex-start;gap:var(--admin-space-md)}.faculty-avatar{width:48px;height:48px;border-radius:50%;background:var(--admin-primary-light);color:var(--admin-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--admin-font-bold);flex-shrink:0}.faculty-info h3{margin:0 0 var(--admin-space-xs) 0;font-size:var(--admin-text-base);font-weight:var(--admin-font-semibold);color:var(--admin-text-primary)}.faculty-email{font-size:var(--admin-text-xs);color:var(--admin-text-secondary);margin:0}.faculty-department{font-size:var(--admin-text-xs);color:var(--admin-text-tertiary);margin:var(--admin-space-xs) 0 0 0}.faculty-actions{display:flex;gap:var(--admin-space-sm);padding-top:var(--admin-space-md);border-top:1px solid var(--admin-border-light)}.faculty-actions button{flex:1;padding:var(--admin-space-sm) var(--admin-space-md);background:var(--admin-bg-secondary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);color:var(--admin-text-primary);cursor:pointer;font-size:var(--admin-text-xs);transition:all .2s ease}.faculty-actions button:hover{background:var(--admin-primary-light);color:var(--admin-primary);border-color:var(--admin-primary)}.faculty-table-wrapper{background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);overflow:hidden;box-shadow:var(--admin-shadow-sm)}.faculty-table{width:100%;border-collapse:collapse;font-size:var(--admin-text-sm)}.faculty-table thead{background:var(--admin-bg-secondary);border-bottom:1px solid var(--admin-border)}.faculty-table th{padding:var(--admin-space-lg);text-align:left;font-weight:var(--admin-font-semibold);color:var(--admin-text-primary);white-space:nowrap}.faculty-table td{padding:var(--admin-space-lg);border-bottom:1px solid var(--admin-border-light)}.faculty-table tbody tr:hover{background:var(--admin-bg-secondary)}.faculty-table tbody tr:last-child td{border-bottom:none}.faculty-name{font-weight:var(--admin-font-semibold);color:var(--admin-text-primary)}.faculty-status{display:inline-block;padding:var(--admin-space-xs) var(--admin-space-md);border-radius:12px;font-size:var(--admin-text-xs);font-weight:var(--admin-font-semibold)}.faculty-status.active{background:#ecfdf5;color:#047857}.faculty-status.inactive{background:#fef2f2;color:#991b1b}.action-buttons{display:flex;gap:var(--admin-space-sm)}.action-buttons button{padding:var(--admin-space-sm) var(--admin-space-md);background:var(--admin-bg-secondary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);color:var(--admin-text-primary);cursor:pointer;font-size:var(--admin-text-xs);transition:all .2s ease}.action-buttons button:hover{background:var(--admin-primary-light);border-color:var(--admin-primary);color:var(--admin-primary)}.action-buttons button.delete{color:var(--admin-danger)}.action-buttons button.delete:hover{background:#fef2f2;border-color:var(--admin-danger)}.empty-state{text-align:center;padding:var(--admin-space-2xl);background:var(--admin-bg-card);border:1px dashed var(--admin-border);border-radius:var(--admin-radius-lg)}.empty-state-icon{font-size:3rem;margin-bottom:var(--admin-space-lg);opacity:.5}.empty-state h3{margin:0 0 var(--admin-space-md) 0;color:var(--admin-text-primary);font-size:var(--admin-text-lg)}.empty-state p{margin:0;color:var(--admin-text-secondary);font-size:var(--admin-text-sm)}@media (max-width: 768px){.controls-section{flex-direction:column}.search-box{min-width:100%}.faculty-cards{grid-template-columns:1fr}.faculty-table{font-size:var(--admin-text-xs)}.faculty-table th,.faculty-table td{padding:var(--admin-space-md)}}.faculty-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-container{position:relative;flex:1;max-width:400px}.search-container i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1rem}.search-input{width:100%;padding:12px 12px 12px 40px;border:1px solid var(--border-color);border-radius:10px;font-size:.95rem;background:var(--card-bg);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b9811a}.control-buttons{display:flex;align-items:center;gap:12px}.view-toggle{display:flex;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;padding:2px}.view-btn{padding:8px 12px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .2s ease}.view-btn.active{background:var(--primary-light);color:var(--primary)}.view-btn:hover:not(.active){background:var(--muted-surface);color:var(--text-main)}.btn-primary{background:var(--primary);color:var(--text-on-primary);border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 6px #10b98133}.faculty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.faculty-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:flex;flex-direction:column}.faculty-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000000f;border-color:var(--primary-light)}.faculty-header{padding:20px;display:flex;justify-content:space-between;align-items:flex-start}.faculty-avatar{width:56px;height:56px;background:var(--primary-light);color:var(--primary);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.faculty-actions{display:flex;gap:6px;opacity:0;transform:translate(10px);transition:all .2s ease}.faculty-card:hover .faculty-actions{opacity:1;transform:translate(0)}.action-btn{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s ease}.view-btn-icon{background:var(--muted-surface);color:var(--text-main)}.view-btn-icon:hover{background:color-mix(in srgb,var(--border-color) 60%,var(--card-bg))}.credentials-btn{background:color-mix(in srgb,var(--warning, var(--warning-color, #f59e0b)) 18%,var(--card-bg));color:color-mix(in srgb,var(--warning, var(--warning-color, #f59e0b)) 55%,var(--text-main))}.credentials-btn:hover{background:color-mix(in srgb,var(--warning, var(--warning-color, #f59e0b)) 45%,var(--card-bg))}.edit-btn{background:color-mix(in srgb,var(--primary, #10b981) 16%,var(--card-bg));color:var(--primary)}.edit-btn:hover{background:color-mix(in srgb,var(--primary, #10b981) 28%,var(--card-bg))}.delete-btn{background:color-mix(in srgb,var(--danger, #ef4444) 14%,var(--card-bg));color:var(--danger)}.delete-btn:hover{background:color-mix(in srgb,var(--danger, #ef4444) 32%,var(--card-bg))}.faculty-content{padding:0 20px 20px;flex:1}.faculty-name{font-size:1.15rem;font-weight:700;color:var(--text-main);margin:0 0 4px}.faculty-employee-id{font-family:monospace;background:var(--muted-surface);padding:2px 6px;border-radius:4px;font-size:.8rem;color:var(--text-muted);display:inline-block;margin-bottom:8px}.faculty-email{font-size:.9rem;color:var(--text-muted);margin:0 0 12px;display:flex;align-items:center;gap:6px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-active{background:var(--primary-light);color:var(--primary-hover)}.status-inactive{background:var(--muted-surface);color:var(--text-muted)}.faculty-table-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.faculty-table{width:100%;border-collapse:collapse}.faculty-table th{background:var(--table-header);padding:16px 24px;text-align:left;font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.faculty-table td{padding:16px 24px;border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle}.faculty-table tr:hover{background-color:var(--muted-surface)}.table-faculty-info .faculty-name-cell{font-weight:600;color:var(--text-main)}.table-faculty-info .faculty-email-cell{font-size:.85rem;color:var(--text-muted)}.username-badge,.employee-id-badge{font-family:monospace;background:var(--muted-surface);padding:4px 8px;border-radius:6px;font-size:.85rem;color:var(--text-main)}.skill-tag-small{background:var(--primary-light);color:var(--primary);padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;margin-right:4px;display:inline-block;margin-bottom:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content{background:var(--card-bg);border-radius:16px;width:100%;max-width:500px;box-shadow:0 20px 25px -5px #0000001a;overflow:hidden;animation:modalSlideUp .3s ease-out}.modal-content.large{max-width:800px}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-main)}.modal-close,.modal-close-btn{background:transparent;border:none;font-size:1.25rem;color:var(--text-muted);cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover,.modal-close-btn:hover{background:var(--muted-surface);color:var(--text-main)}.modal-body{padding:24px;max-height:70vh;overflow-y:auto}.modal-footer{padding:16px 24px;background:var(--table-header);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.credential-item{margin-bottom:20px}.credential-item label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-muted);font-size:.9rem}.credential-input-group{display:flex;align-items:center;gap:8px}.credential-value{font-family:monospace;font-size:1.1rem;font-weight:700;color:var(--text-main);background:var(--muted-surface);padding:8px 12px;border-radius:8px;flex:1}.btn-small{width:32px;height:32px;border-radius:6px;border:1px solid var(--border-color);background:var(--card-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-small:hover{background:var(--muted-surface);border-color:color-mix(in srgb,var(--border-color) 70%,var(--text-muted))}.btn-small.btn-success{background:var(--primary);color:var(--text-on-primary);border:none}.btn-small.btn-success:hover{background:var(--primary-hover)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;padding:60px 20px;background:var(--card-bg);border-radius:16px;border:2px dashed var(--border-color)}.empty-state-icon{font-size:3rem;color:var(--border-color);margin-bottom:16px}.empty-state h3{font-size:1.25rem;margin-bottom:8px}.empty-state p{color:var(--text-muted);margin-bottom:24px}@media (max-width: 768px){.faculty-controls{flex-direction:column;align-items:stretch}.control-buttons{justify-content:space-between}.faculty-profile-header{flex-direction:column;text-align:center}.faculty-details-grid{grid-template-columns:1fr}}.transfer-info{display:flex;flex-direction:column;gap:var(--admin-space-xl)}.transfer-staff-info{display:flex;align-items:center;gap:var(--admin-space-lg);padding:var(--admin-space-lg);background:var(--admin-bg-secondary);border-radius:var(--admin-radius-md);border:1px solid var(--admin-border)}.transfer-departments{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--admin-space-lg);align-items:center}.department-box{display:flex;flex-direction:column;gap:var(--admin-space-sm)}.department-box label{font-weight:var(--admin-font-semibold);color:var(--admin-text-secondary);font-size:var(--admin-text-sm);text-transform:uppercase;letter-spacing:.5px}.dept-display{display:flex;align-items:center;gap:var(--admin-space-sm);padding:var(--admin-space-md);background:var(--admin-bg-secondary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-weight:var(--admin-font-medium);color:var(--admin-text-primary)}.dept-display i{font-size:1.2rem;color:var(--admin-text-tertiary)}.dept-select{padding:var(--admin-space-md);border:2px solid var(--admin-primary);border-radius:var(--admin-radius-md);font-size:var(--admin-text-base);font-weight:var(--admin-font-medium);background:var(--admin-bg-card);color:var(--admin-text-primary);cursor:pointer;transition:all .2s ease}.dept-select:hover{background:var(--admin-primary-light)}.dept-select:focus{outline:none;box-shadow:0 0 0 3px var(--admin-primary-light)}.transfer-arrow{display:flex;align-items:center;justify-content:center;color:var(--admin-primary);font-size:1.5rem}.transfer-note{display:flex;align-items:flex-start;gap:var(--admin-space-md);padding:var(--admin-space-md);border-radius:var(--admin-radius-md);font-size:var(--admin-text-sm);line-height:1.5}.transfer-note i{flex-shrink:0;font-size:1.1rem;margin-top:2px}.transfer-note.info{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.transfer-note.warning{background:#fff3e0;color:#e65100;border:1px solid #ffb74d}.transfer-note.success{background:#e8f5e9;color:#2e7d32;border:1px solid #81c784}.spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.transfer-btn{background:var(--admin-primary-light)!important;color:var(--admin-primary)!important;border-color:var(--admin-primary)!important}.transfer-btn:hover{background:var(--admin-primary)!important;color:#fff!important}.faculty-department{display:flex;align-items:center;gap:6px;color:var(--admin-text-secondary);font-size:var(--admin-text-sm);margin:4px 0}.faculty-department i{color:var(--admin-text-tertiary)}@media (max-width: 768px){.transfer-departments{grid-template-columns:1fr;gap:var(--admin-space-md)}.transfer-arrow{transform:rotate(90deg)}.transfer-staff-info{flex-direction:column;text-align:center}}.form-progress{display:flex;align-items:center;justify-content:center;gap:var(--admin-space-lg);margin-bottom:var(--admin-space-2xl);padding:var(--admin-space-lg);background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);flex-wrap:wrap}.progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--admin-space-sm);cursor:pointer;transition:all .3s ease;padding:var(--admin-space-md);border-radius:var(--admin-radius-md);min-width:100px}.progress-step:hover{background:var(--admin-bg-secondary)}.progress-step.active{background:var(--admin-primary);color:var(--admin-text-on-primary)}.progress-step.completed{color:var(--admin-success)}.step-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--admin-bg-secondary);border:2px solid var(--admin-border);transition:all .3s ease;font-size:.9rem}.progress-step.active .step-icon{background:var(--admin-bg-card);border-color:var(--admin-primary);color:var(--admin-primary)}.progress-step.completed .step-icon{background:var(--admin-success);border-color:var(--admin-success);color:var(--admin-text-on-primary)}.step-label{font-size:var(--admin-text-xs);font-weight:var(--admin-font-medium);text-align:center}.progress-line{width:40px;height:2px;background:var(--admin-border);transition:all .3s ease}.progress-line.completed{background:var(--admin-success)}.form-card{background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);overflow:hidden;box-shadow:var(--admin-shadow-sm)}.form-section{padding:var(--admin-space-2xl);border-bottom:1px solid var(--admin-border)}.section-header{display:flex;align-items:flex-start;gap:var(--admin-space-lg);margin-bottom:var(--admin-space-2xl)}.section-icon{width:48px;height:48px;border-radius:var(--admin-radius-md);background:var(--admin-primary);color:var(--admin-text-on-primary);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.section-header h3{font-size:var(--admin-text-lg);font-weight:var(--admin-font-bold);color:var(--admin-text-primary);margin:0}.section-header p{color:var(--admin-text-secondary);margin:var(--admin-space-sm) 0 0 0;font-size:var(--admin-text-sm);line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--admin-space-lg);margin-bottom:var(--admin-space-lg)}.form-field{display:flex;flex-direction:column;gap:var(--admin-space-sm)}.form-field label{font-weight:var(--admin-font-semibold);color:var(--admin-text-primary);font-size:var(--admin-text-sm);display:block}.required{color:var(--admin-danger);margin-left:var(--admin-space-xs)}.form-field input,.form-field select,.form-field textarea{padding:var(--admin-space-md) var(--admin-space-lg);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:var(--admin-bg-main);color:var(--admin-text-primary);font-size:var(--admin-text-sm);font-family:var(--admin-font-family);transition:all .2s ease}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--admin-primary-light)}.form-field input.valid{border-color:var(--admin-success)}.form-field input.invalid,.form-field select.invalid{border-color:var(--admin-danger)}.field-error{display:flex;align-items:center;gap:var(--admin-space-xs);color:var(--admin-danger);font-size:var(--admin-text-xs)}.field-hint{color:var(--admin-text-secondary);font-size:var(--admin-text-xs);margin-top:var(--admin-space-xs)}.subsection{margin-bottom:var(--admin-space-xl)}.subsection h4{font-size:var(--admin-text-base);font-weight:var(--admin-font-semibold);color:var(--admin-text-primary);margin:0 0 var(--admin-space-lg) 0;display:flex;align-items:center;gap:var(--admin-space-md)}.subsection h4:before{content:"";width:4px;height:16px;background:var(--admin-primary);border-radius:2px;flex-shrink:0}.array-item{display:flex;align-items:flex-end;gap:var(--admin-space-md);margin-bottom:var(--admin-space-md)}.array-item input{flex:1;padding:var(--admin-space-md) var(--admin-space-lg);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:var(--admin-bg-main);color:var(--admin-text-primary);font-size:var(--admin-text-sm)}.array-item input:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--admin-primary-light)}.btn-remove{padding:var(--admin-space-md) var(--admin-space-lg);background:var(--admin-danger);color:var(--admin-text-on-primary);border:none;border-radius:var(--admin-radius-md);cursor:pointer;transition:all .2s ease;font-size:var(--admin-text-sm);font-weight:var(--admin-font-semibold)}.btn-remove:hover{background:#dc2626;transform:translateY(-2px);box-shadow:var(--admin-shadow-md)}.btn-add{padding:var(--admin-space-md) var(--admin-space-lg);background:var(--admin-primary);color:var(--admin-text-on-primary);border:none;border-radius:var(--admin-radius-md);cursor:pointer;transition:all .2s ease;font-size:var(--admin-text-sm);font-weight:var(--admin-font-semibold);display:inline-flex;align-items:center;gap:var(--admin-space-sm)}.btn-add:hover{background:var(--admin-primary-dark);transform:translateY(-2px);box-shadow:var(--admin-shadow-md)}.form-actions{padding:var(--admin-space-xl);background:var(--admin-bg-secondary);border-top:1px solid var(--admin-border);display:flex;justify-content:flex-end;gap:var(--admin-space-md);flex-wrap:wrap}.form-actions button{padding:var(--admin-space-md) var(--admin-space-lg);border-radius:var(--admin-radius-md);font-weight:var(--admin-font-semibold);font-size:var(--admin-text-sm);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--admin-space-sm);border:none}.btn-primary{background:var(--admin-primary);color:var(--admin-text-on-primary)}.btn-secondary{background:var(--admin-bg-tertiary);color:var(--admin-text-primary);border:1px solid var(--admin-border)}.btn-secondary:hover:not(:disabled){background:var(--admin-border-light);border-color:var(--admin-primary)}button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.form-card{border-radius:var(--admin-radius-md)}.form-section{padding:var(--admin-space-lg)}.form-progress{flex-direction:column}.progress-line{display:none}.section-header{flex-direction:column}.form-grid{grid-template-columns:1fr}.form-field.span-2{grid-column:span 1}.form-actions{flex-direction:column}.form-actions button{width:100%;justify-content:center}.array-item{flex-direction:column}.array-item input{width:100%}}.page-header h2{margin:0 0 4px;color:var(--text-on-primary, #ffffff);font-size:1.5rem;font-weight:600}.page-header p{margin:0;color:var(--text-on-primary, rgba(255, 255, 255, .9));font-size:.875rem;opacity:.9}.form-progress{display:flex;align-items:center;justify-content:center;margin-bottom:40px;padding:20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .3s ease;padding:12px;border-radius:8px;min-width:100px}.progress-step:hover{background:var(--bg-hover)}.progress-step.active{background:var(--primary-color);color:var(--text-on-primary, #ffffff)}.progress-step.completed{color:var(--success-color)}.step-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:2px solid var(--border-color);transition:all .3s ease}.progress-step.active .step-icon{background:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.progress-step.completed .step-icon{background:var(--success-color);border-color:var(--success-color);color:var(--text-on-primary, #ffffff)}.step-label{font-size:.85rem;font-weight:500;text-align:center}.progress-line{width:60px;height:2px;background:var(--border-color);margin:0 10px;transition:all .3s ease}.progress-line.completed{background:var(--success-color)}.form-card{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);overflow:hidden;box-shadow:var(--shadow-sm)}.form-section{padding:30px;border-bottom:1px solid var(--border-color)}.form-section:last-child{border-bottom:none}.section-header{display:flex;align-items:center;gap:16px;margin-bottom:30px}.section-icon{width:48px;height:48px;border-radius:12px;background:var(--primary-color);color:var(--text-on-primary, #ffffff);display:flex;align-items:center;justify-content:center;font-size:1.2rem}.section-header h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 4px}.section-header p{color:var(--text-secondary);margin:0;font-size:.95rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:20px}.form-field.span-2{grid-column:span 2}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-weight:500;color:var(--text-primary);font-size:.9rem}.required{color:var(--error-color)}.input-wrapper{position:relative}.form-field input,.form-field select{padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.95rem;transition:all .3s ease;width:100%}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color, #10b981) 25%,transparent)}.form-field input.valid{border-color:var(--success-color)}.form-field input.invalid,.form-field select.invalid{border-color:var(--error-color)}.input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.input-icon.valid{color:var(--success-color)}.input-icon.invalid{color:var(--error-color)}.field-error{display:flex;align-items:center;gap:6px;color:var(--error-color);font-size:.85rem;margin-top:4px}.field-hint{color:var(--text-secondary);font-size:.8rem;margin-top:4px}.subsection{margin-bottom:30px}.subsection h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 16px;display:flex;align-items:center;gap:8px}.subsection h4:before{content:"";width:4px;height:16px;background:var(--primary-color);border-radius:2px}.array-item{display:flex;align-items:center;gap:12px;margin-bottom:12px}.array-item input{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.array-item input:focus{outline:none;border-color:var(--primary-color)}.btn-remove{padding:8px;background:var(--error-color);color:var(--text-on-primary, #ffffff);border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.8rem}.btn-remove:hover{background:var(--error-color, #dc2626);transform:scale(1.05)}.btn-add,.btn-add-small{padding:10px 16px;background:var(--primary-color);color:var(--text-on-primary, #ffffff);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500;display:inline-flex;align-items:center;gap:6px}.btn-add:hover,.btn-add-small:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-add-small{padding:6px 12px;font-size:.8rem}.qualification-item{position:relative;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:20px;margin-bottom:16px}.qualification-item .form-grid{margin-bottom:0}.qualification-item .btn-remove{position:absolute;top:12px;right:12px;padding:6px;font-size:.7rem}.form-actions{padding:30px;background:var(--bg-tertiary);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.btn-primary,.btn-secondary,.btn-secondary-ghost{padding:12px 24px;border-radius:8px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:6px;border:none}.btn-primary{background:var(--primary-color);color:var(--text-on-primary, #ffffff)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{background:var(--text-disabled);cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-secondary)}.btn-secondary-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.small{width:14px;height:14px;border-width:1.5px}@media (max-width: 768px){.scrollable-wrapper{padding:16px}.form-progress{flex-wrap:wrap;gap:16px}.progress-step{min-width:80px}.progress-line{display:none}.form-section{padding:20px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.section-header h3{font-size:1.25rem}.form-grid{grid-template-columns:1fr;gap:16px}.form-field.span-2{grid-column:span 1}.form-actions{flex-direction:column;gap:12px}.btn-primary,.btn-secondary,.btn-secondary-ghost{width:100%;justify-content:center}.qualification-item{padding:16px}.array-item{flex-direction:column;align-items:stretch;gap:8px}.array-item input{flex:none}.btn-remove{align-self:flex-end;width:32px;height:32px;display:flex;align-items:center;justify-content:center}}@media (max-width: 480px){.section-icon{width:40px;height:40px;font-size:1rem}.form-section{padding:16px}.subsection h4{font-size:1rem}}@media (prefers-color-scheme: dark){.form-card{background:var(--bg-secondary)}.qualification-item,.form-actions{background:var(--bg-tertiary)}}@media print{.form-progress,.form-actions{display:none}.form-section,.qualification-item{break-inside:avoid}}.course-details-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172ab3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.course-details-modal-container{background:var(--admin-bg-card, #ffffff);border:1px solid var(--admin-border, #e2e8f0);border-radius:var(--admin-radius-lg, 12px);box-shadow:var(--admin-shadow-lg, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:modalFadeIn .3s cubic-bezier(.16,1,.3,1)}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.course-details-modal-header{padding:var(--admin-space-lg, 16px) var(--admin-space-xl, 24px);border-bottom:1px solid var(--admin-border-light, #f1f5f9);display:flex;justify-content:space-between;align-items:center}.course-details-modal-header h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--admin-text-primary, #0f172a)}.subject-meta-text{margin:4px 0 0;font-size:.875rem;color:var(--admin-text-secondary, #64748b)}.close-btn{background:transparent;border:none;font-size:1.25rem;color:var(--admin-text-secondary, #64748b);cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:var(--admin-bg-secondary, #f8fafc);color:var(--admin-text-primary, #0f172a)}.course-details-modal-body{padding:var(--admin-space-xl, 24px);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--admin-space-xl, 24px)}.card-banner{background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:var(--admin-radius-md, 8px);padding:var(--admin-space-md, 12px) var(--admin-space-lg, 16px);display:flex;align-items:center;gap:var(--admin-space-md, 12px);color:var(--admin-accent-primary, #3b82f6)}.copy-control{display:flex;flex-direction:column;flex-grow:1}.copy-control label{font-size:.8rem;font-weight:600;margin-bottom:4px}.copy-control select{padding:8px 12px;border:1px solid var(--admin-border, #cbd5e1);border-radius:var(--admin-radius-md, 6px);background:var(--admin-bg-card, #ffffff);color:var(--admin-text-primary, #0f172a);font-weight:500;outline:none}.form-section-card{background:var(--admin-bg-secondary, #f8fafc);border:1px solid var(--admin-border-light, #e2e8f0);border-radius:var(--admin-radius-lg, 10px);padding:var(--admin-space-lg, 20px);box-shadow:0 1px 3px #0000000d}.section-title{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--admin-text-primary, #1e293b);border-bottom:2px solid var(--admin-border, #e2e8f0);padding-bottom:8px;display:flex;align-items:center;gap:8px}.section-title i{color:var(--admin-accent-primary, #3b82f6)}.modal-grid-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.modal-grid-row:last-child{margin-bottom:0}.double-span{grid-column:span 2}.modal-form-field{display:flex;flex-direction:column}.modal-form-field label{font-size:.825rem;font-weight:600;color:var(--admin-text-secondary, #475569);margin-bottom:6px}.modal-form-field input{padding:8px 12px;border:1px solid var(--admin-border, #cbd5e1);border-radius:var(--admin-radius-md, 6px);font-size:.875rem;background-color:var(--admin-bg-card, #ffffff);color:var(--admin-text-primary, #0f172a);transition:border-color .2s ease}.modal-form-field input:focus{border-color:var(--admin-accent-primary, #3b82f6);outline:none}.calculated-input{background-color:var(--admin-bg-disabled, #f1f5f9)!important;color:var(--admin-text-secondary, #64748b)!important;font-weight:600;cursor:not-allowed}.grand-total{background-color:#10b9811a!important;border-color:#10b9814d!important;color:#10b981!important}.learning-scheme-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.assessment-subsection{margin-bottom:var(--admin-space-xl, 20px)}.assessment-subsection:last-child{margin-bottom:0}.assessment-subsection h5{margin:0 0 10px;font-size:.875rem;font-weight:600;color:var(--admin-text-primary, #334155)}.assessment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.assessment-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:2px solid var(--admin-border, #e2e8f0);padding-bottom:8px}.section-title-row .section-title{border-bottom:none;padding-bottom:0;margin-bottom:0}.btn-add-co{background:var(--admin-accent-primary, #3b82f6);color:#fff;border:none;padding:6px 12px;border-radius:var(--admin-radius-md, 6px);font-size:.825rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.btn-add-co:hover{background:#2563eb;transform:translateY(-1px)}.no-cos-banner{text-align:center;padding:var(--admin-space-lg, 20px);color:var(--admin-text-tertiary, #94a3b8);font-style:italic;font-size:.875rem}.co-list-container{display:flex;flex-direction:column;gap:10px}.co-row-item{display:flex;align-items:center;gap:12px;background:var(--admin-bg-card, #ffffff);border:1px solid var(--admin-border-light, #e2e8f0);border-radius:var(--admin-radius-md, 6px);padding:8px 12px;transition:all .2s ease}.co-row-item:hover{box-shadow:0 4px 6px -1px #0000000d;border-color:var(--admin-accent-primary, #3b82f6)}.co-number-badge{background:var(--admin-accent-primary, #3b82f6);color:#fff;font-weight:700;font-size:.75rem;padding:4px 8px;border-radius:4px;min-width:32px;text-align:center}.co-description-field{flex:1}.co-description-field input{width:100%;border:none;padding:6px 0;font-size:.875rem;color:var(--admin-text-primary, #0f172a)}.co-description-field input:focus{outline:none}.co-delete-btn{background:transparent;border:none;color:#ef4444;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.co-delete-btn:hover{background:#fef2f2}.modal-footer-actions{display:flex;justify-content:flex-end;gap:12px;padding:var(--admin-space-md, 16px) 0 0 0;border-top:1px solid var(--admin-border-light, #f1f5f9)}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px;gap:12px}.spinner{width:40px;height:40px;border:4px solid var(--admin-border, #e2e8f0);border-top-color:var(--admin-accent-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.course-details-modal-container{max-height:95vh}.modal-grid-row{grid-template-columns:1fr}.learning-scheme-grid,.assessment-grid{grid-template-columns:repeat(2,1fr)}.assessment-grid-3{grid-template-columns:1fr}.modal-footer-actions{flex-direction:column}.modal-footer-actions button{width:100%}}.subject-form-card,.subject-table-card,.info-card,.subject-upload-card{background:var(--admin-bg-card);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-xl);box-shadow:var(--admin-shadow-sm);margin-bottom:var(--admin-space-2xl)}.subject-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--admin-space-lg)}.subject-form-grid input,.subject-form-grid select{padding:10px 12px;border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-family:var(--admin-font-family)}.form-field label{display:block;font-weight:var(--admin-font-semibold);color:var(--admin-text-secondary);margin-bottom:6px}.form-actions{display:flex;gap:var(--admin-space-md);align-items:center}.upload-row{display:flex;gap:var(--admin-space-md);align-items:center;flex-wrap:wrap;margin-bottom:var(--admin-space-md)}.file-chip{background:var(--admin-bg-secondary);border-radius:var(--admin-radius-md);padding:6px 10px;font-size:var(--admin-text-sm);color:var(--admin-text-secondary)}.upload-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--admin-space-lg);margin-bottom:var(--admin-space-lg)}.upload-selection-grid .form-field{display:flex;flex-direction:column}.upload-selection-grid select{padding:10px 12px;border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-family:var(--admin-font-family);background-color:var(--admin-bg-input);color:var(--admin-text-primary);cursor:pointer}.upload-selection-grid select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--admin-bg-disabled)}.upload-course-meta{display:flex;gap:var(--admin-space-md);flex-wrap:wrap;margin-bottom:var(--admin-space-lg);padding:var(--admin-space-md);background-color:var(--admin-bg-secondary);border-radius:var(--admin-radius-md);border-left:4px solid var(--admin-accent-primary)}.meta-badge{display:flex;align-items:center;gap:6px}.meta-label{font-weight:var(--admin-font-semibold);color:var(--admin-text-secondary);font-size:var(--admin-text-sm)}.meta-value{background:var(--admin-bg-tertiary);padding:4px 8px;border-radius:var(--admin-radius-sm);color:var(--admin-accent-primary);font-weight:600;font-size:var(--admin-text-sm)}.preview-info{display:flex;gap:var(--admin-space-md);flex-wrap:wrap;font-size:var(--admin-text-sm);color:var(--admin-text-secondary);margin-bottom:var(--admin-space-md)}.btn-ghost{background:transparent;border:1px solid var(--admin-border);color:var(--admin-text-secondary);padding:6px 10px;border-radius:var(--admin-radius-md)}.btn-danger-outline{background:transparent;border:1px solid rgba(239,68,68,.45);color:#ef4444;padding:6px 10px;border-radius:var(--admin-radius-md)}.info-card{display:flex;align-items:center;justify-content:space-between;gap:var(--admin-space-lg);background:linear-gradient(135deg,var(--admin-bg-secondary) 0%,var(--admin-bg-card) 100%);border:1px solid var(--admin-accent-primary);border-left:4px solid var(--admin-accent-primary)}.info-header{display:flex;align-items:center;gap:var(--admin-space-md);flex:1}.info-header i{font-size:2rem;color:var(--admin-accent-primary)}.info-header div h3{margin:0 0 4px;color:var(--admin-text-primary)}.info-header div p{margin:0;color:var(--admin-text-secondary);font-size:var(--admin-text-sm)}@media (max-width: 720px){.form-header-row,.form-actions,.table-actions{flex-direction:column;align-items:stretch}.info-card{flex-direction:column;align-items:flex-start}.info-card button{width:100%}}.subjects-filter-card,.subject-table-card{background:var(--admin-bg-card);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-xl);box-shadow:var(--admin-shadow-sm);margin-bottom:var(--admin-space-2xl)}.form-header-row{display:flex;justify-content:space-between;gap:var(--admin-space-lg);margin-bottom:var(--admin-space-lg)}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--admin-space-lg);margin-bottom:var(--admin-space-lg)}.form-field{display:flex;flex-direction:column}.form-field label{display:block;font-weight:var(--admin-font-semibold);color:var(--admin-text-secondary);margin-bottom:6px;font-size:var(--admin-text-sm)}.form-field select,.form-field input{padding:10px 12px;border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-family:var(--admin-font-family);background-color:var(--admin-bg-input);color:var(--admin-text-primary)}.form-field select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--admin-bg-disabled)}.filter-summary{display:flex;gap:var(--admin-space-md);flex-wrap:wrap;margin-bottom:var(--admin-space-lg);padding:var(--admin-space-md);background-color:var(--admin-bg-secondary);border-radius:var(--admin-radius-md);border-left:4px solid var(--admin-accent-primary)}.summary-badge{display:flex;align-items:center;gap:6px}.summary-label{font-weight:var(--admin-font-semibold);color:var(--admin-text-secondary);font-size:var(--admin-text-sm)}.summary-value{background:var(--admin-bg-tertiary);padding:4px 8px;border-radius:var(--admin-radius-sm);color:var(--admin-accent-primary);font-weight:600;font-size:var(--admin-text-sm)}.filter-actions{display:flex;gap:var(--admin-space-md);flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-tertiary{padding:10px 16px;border-radius:var(--admin-radius-md);font-size:var(--admin-text-sm);font-weight:var(--admin-font-semibold);cursor:pointer;border:none;display:flex;align-items:center;gap:6px;transition:all .2s ease}.btn-primary{background:var(--admin-accent-primary);color:#fff}.btn-primary:hover{background:#0956cc;transform:translateY(-1px)}.btn-secondary{background:transparent;border:1px solid var(--admin-border);color:var(--admin-text-secondary)}.btn-secondary:hover{background:var(--admin-bg-secondary)}.btn-tertiary{background:transparent;border:1px solid var(--admin-accent-primary);color:var(--admin-accent-primary)}.btn-tertiary:hover{background:var(--admin-accent-primary);color:#fff}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-md)}.table-count{color:var(--admin-text-secondary);font-size:var(--admin-text-sm)}.table-wrapper{width:100%;overflow-x:auto}.subject-table{width:100%;border-collapse:collapse}.subject-table th,.subject-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--admin-border-light);font-size:var(--admin-text-sm)}.subject-table th{background-color:var(--admin-bg-secondary);font-weight:var(--admin-font-semibold);color:var(--admin-text-secondary);sticky:true}.code-cell{font-family:Courier New,monospace;font-weight:600;color:var(--admin-accent-primary)}.table-actions{display:flex;gap:var(--admin-space-sm)}.btn-ghost{background:transparent;border:1px solid var(--admin-border);color:var(--admin-text-secondary);padding:6px 10px;border-radius:var(--admin-radius-md);cursor:pointer;font-size:var(--admin-text-sm);transition:all .2s ease}.btn-ghost:hover{background:var(--admin-bg-secondary);border-color:var(--admin-accent-primary);color:var(--admin-accent-primary)}.btn-danger-outline{background:transparent;border:1px solid rgba(239,68,68,.45);color:#ef4444;padding:6px 10px;border-radius:var(--admin-radius-md);cursor:pointer;font-size:var(--admin-text-sm);transition:all .2s ease}.btn-danger-outline:hover{background:#ef44441a;border-color:#ef4444}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:var(--admin-space-md)}.loading-spinner{width:40px;height:40px;border:4px solid var(--admin-border);border-top-color:var(--admin-accent-primary);border-radius:50%;animation:spin .8s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:var(--admin-space-md);text-align:center}.empty-state-icon{font-size:3rem;color:var(--admin-text-tertiary);opacity:.5}.empty-state h3{margin:var(--admin-space-md) 0 var(--admin-space-sm) 0;color:var(--admin-text-secondary)}.empty-state p{color:var(--admin-text-tertiary);font-size:var(--admin-text-sm)}.btn-danger{background:#ef4444;color:#fff;padding:10px 16px;border:none;border-radius:var(--admin-radius-md);font-weight:var(--admin-font-semibold);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.btn-danger:hover{background:#dc2626}.btn-danger:disabled{background:#fecaca;cursor:not-allowed;opacity:.6}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);box-shadow:0 20px 25px -5px #0000001a;max-width:450px;width:90%;overflow:hidden;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--admin-space-lg);border-bottom:1px solid var(--admin-border)}.modal-header h3{margin:0;color:var(--admin-text-primary)}.modal-close{background:transparent;border:none;font-size:1.5rem;color:var(--admin-text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--admin-radius-md);transition:all .2s ease}.modal-close:hover{background:var(--admin-bg-secondary)}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-body{padding:var(--admin-space-lg)}.warning-text{display:flex;gap:10px;align-items:flex-start;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--admin-radius-md);padding:var(--admin-space-md);margin-bottom:var(--admin-space-lg);color:#dc2626;font-size:var(--admin-text-sm)}.warning-text i{flex-shrink:0;margin-top:2px}.modal-body .form-field{margin-bottom:var(--admin-space-lg)}.modal-body .form-field input{padding:10px 12px;border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-family:var(--admin-font-family);width:100%;box-sizing:border-box}.modal-body .form-field input:disabled{background-color:var(--admin-bg-secondary);cursor:not-allowed;opacity:.7}.modal-footer{display:flex;gap:var(--admin-space-md);padding:var(--admin-space-lg);border-top:1px solid var(--admin-border);justify-content:flex-end}.modal-footer button{padding:10px 16px;border-radius:var(--admin-radius-md);font-weight:var(--admin-font-semibold);cursor:pointer;border:none;transition:all .2s ease;min-width:100px}@media (max-width: 720px){.filter-grid{grid-template-columns:1fr}.filter-summary,.filter-actions{flex-direction:column}.filter-actions button{width:100%;justify-content:center}.table-wrapper{border-radius:var(--admin-radius-md)}.subject-table th,.subject-table td{padding:8px 6px}.modal-content{width:95%;max-width:100%}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}.view-format-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:12px}.format-view-page{padding:var(--admin-space-xl, 24px)}.format-actions{display:flex;gap:12px}.msbte-sheet-card{background:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 6px -1px #0000000d;padding:30px;margin-top:20px;color:#000;font-family:Arial,sans-serif}.sheet-heading{margin-bottom:20px;border-bottom:2px solid #000000;padding-bottom:8px}.sheet-heading h3{margin:0;font-size:1.1rem;font-weight:700;color:#000;letter-spacing:.5px}.table-responsive{width:100%;overflow-x:auto;margin-bottom:30px}.msbte-academic-table{width:100%;border-collapse:collapse;font-size:11px;border:2px solid #000000}.msbte-academic-table th,.msbte-academic-table td{border:1px solid #000000;padding:6px 4px;text-align:center;vertical-align:middle}.msbte-academic-table th{background-color:#f3f4f6;font-weight:700}.msbte-academic-table th.vertical-header{min-width:60px}.msbte-academic-table th.title-header{min-width:180px}.msbte-academic-table th.category-header{min-width:70px}.msbte-academic-table th.duration-header{min-width:60px}.msbte-academic-table td.title-left{text-align:left;padding-left:8px;font-weight:500}.msbte-academic-table td.code-bold,.msbte-academic-table td.credits-bold,.msbte-academic-table td.total-bold,.msbte-academic-table td.grand-total-bold{font-weight:700}.msbte-academic-table td.grand-total-bold{background-color:#f9fafb}.co-view-section{margin-top:30px;border-top:1px solid #e5e7eb;padding-top:20px}.co-view-section h4{margin:0 0 15px;font-size:1rem;font-weight:700;color:#000}.co-grid-view{display:flex;flex-direction:column;gap:12px}.co-view-item{display:flex;align-items:flex-start;gap:16px;padding-bottom:8px;border-bottom:1px dashed #e5e7eb}.co-view-item:last-child{border-bottom:none}.co-label{background-color:#3b82f6;color:#fff;font-weight:700;font-size:10px;padding:3px 6px;border-radius:3px;min-width:36px;text-align:center}.co-desc{margin:0;font-size:12px;line-height:1.5;color:#1f2937;text-align:left}.no-cos-warning{color:#6b7280;font-style:italic;font-size:12px}@media print{body{background:#fff!important;color:#000!important}.no-print,header,footer,.sidebar,.admin-sidebar,.admin-header,nav,button,.page-header{display:none!important}.app-container{padding:0!important;margin:0!important}.main-content-wrapper,.scrollable-content,.admin-content,.format-view-page{padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;box-shadow:none!important;border:none!important;background:#fff!important}.msbte-sheet-card{border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;background:#fff!important;width:100%!important}.msbte-academic-table{page-break-inside:avoid;width:100%!important;font-size:10px!important}.co-view-section{page-break-before:auto}}.vision-mission-manager{max-width:1200px;margin:0 auto;padding-bottom:var(--admin-space-2xl)}.vm-tabs-container{display:flex;gap:var(--admin-space-md);margin-bottom:var(--admin-space-xl);border-bottom:2px solid var(--admin-border);padding-bottom:var(--admin-space-sm)}.vm-tab-btn{background:transparent;border:none;color:var(--admin-text-secondary);font-size:1.05rem;font-weight:600;padding:var(--admin-space-sm) var(--admin-space-xl);cursor:pointer;border-radius:var(--admin-border-radius-md);transition:all .3s ease;display:flex;align-items:center;gap:var(--admin-space-sm)}.vm-tab-btn:hover{color:var(--admin-primary);background:var(--admin-primary-light)}.vm-tab-btn.active{color:var(--admin-primary);background:var(--admin-primary-light);box-shadow:0 4px 12px #10b9811a}.department-select-section{background:var(--admin-bg-card);border:1px solid var(--admin-border);border-radius:var(--admin-border-radius-lg);padding:var(--admin-space-lg);box-shadow:var(--admin-shadow-sm)}.card-header-accent{border-left:4px solid var(--admin-primary);padding-left:var(--admin-space-md);margin-bottom:var(--admin-space-md)}.card-header-accent h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--admin-text-primary)}.array-item-row{background:var(--admin-bg-secondary);padding:var(--admin-space-sm) var(--admin-space-md);border-radius:var(--admin-border-radius-md);border:1px dashed var(--admin-border);transition:border-color .2s ease}.array-item-row:hover{border-color:var(--admin-primary)}.row-number{font-weight:700;color:var(--admin-primary);min-width:24px}.no-items-text{color:var(--admin-text-secondary);font-style:italic;padding:var(--admin-space-md);text-align:center}.outcome-block-row{border-left:3px solid var(--admin-primary);background:var(--admin-bg-secondary);border-radius:var(--admin-border-radius-md);padding:var(--admin-space-lg);box-shadow:none}.outcome-block-row.secondary-card{border:1px solid var(--admin-border);border-left:4px solid var(--admin-primary)}.outcome-title-badge{background:var(--admin-primary-light);color:var(--admin-primary);padding:var(--admin-space-xs) var(--admin-space-md);border-radius:9999px;font-size:.8rem;font-weight:700;text-transform:uppercase}.outcome-title-badge.pso-badge{background:#0ea5e91a;color:#0ea5e9}.form-action-bar{position:sticky;bottom:var(--admin-space-lg);background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--admin-border);padding:var(--admin-space-md) var(--admin-space-xl);display:flex;justify-content:flex-end;box-shadow:var(--admin-shadow-lg);z-index:100}.btn-save{min-width:160px;font-weight:700}.spinner-border-sm{width:1rem;height:1rem;border-width:.15em;display:inline-block;vertical-align:text-bottom;border:.15em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}@keyframes spinner-border{to{transform:rotate(360deg)}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--admin-space-md)}@media (max-width: 768px){.grid-2{grid-template-columns:1fr}.vm-tabs-container{flex-direction:column;gap:var(--admin-space-xs)}}.manage-rooms-container{max-width:1100px;margin:0 auto;padding:var(--admin-space-md) var(--admin-space-md) var(--admin-space-2xl);font-family:Outfit,Inter,sans-serif;color:var(--admin-text-primary)}.manage-rooms-header{margin-bottom:var(--admin-space-xl)}.manage-rooms-header h2{font-size:2.2rem;font-weight:700;background:linear-gradient(135deg,var(--admin-primary),var(--admin-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px}.manage-rooms-header .subtitle{font-size:.95rem;color:var(--admin-text-secondary)}.rooms-tabs-container{display:flex;gap:var(--admin-space-md);margin-bottom:var(--admin-space-lg);border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px}.rooms-tab-btn{display:flex;align-items:center;gap:10px;padding:12px 24px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;color:var(--admin-text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.rooms-tab-btn i{font-size:1.1rem;transition:transform .3s ease}.rooms-tab-btn:hover{background:#ffffff12;color:var(--admin-text-primary);border-color:#ffffff26}.rooms-tab-btn.active{background:linear-gradient(135deg,rgba(var(--admin-primary-rgb),.15),rgba(var(--admin-accent-rgb),.1));border-color:var(--admin-primary);color:var(--admin-primary);box-shadow:0 4px 20px rgba(var(--admin-primary-rgb),.15)}.rooms-tab-btn.active i{transform:scale(1.1)}.card-header{margin-bottom:var(--admin-space-lg)}.card-header h3{font-size:1.35rem;font-weight:600;margin-bottom:4px}.card-header p{font-size:.85rem;color:var(--admin-text-secondary)}.add-room-form{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:var(--admin-space-xl)}.input-group-modern{display:flex;align-items:center;flex:1;min-width:280px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:0 16px;height:52px;transition:all .3s ease}.input-group-modern:focus-within{border-color:var(--admin-primary);background:#ffffff0d;box-shadow:0 0 0 3px rgba(var(--admin-primary-rgb),.15)}.input-group-modern .input-icon{color:var(--admin-text-secondary);font-size:1.2rem;margin-right:12px;display:flex;align-items:center}.input-group-modern input{background:transparent;border:none;color:var(--admin-text-primary);font-size:1rem;font-weight:500;width:100%;height:100%;outline:none}.input-group-modern input::placeholder{color:#ffffff4d}.add-btn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--admin-primary),var(--admin-accent));color:#fff;border:none;border-radius:12px;padding:0 28px;height:52px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px rgba(var(--admin-primary-rgb),.25)}.add-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--admin-primary-rgb),.35);filter:brightness(1.1)}.add-btn:active{transform:translateY(0)}.divider{height:1px;background:#ffffff14;margin:var(--admin-space-xl) 0}.list-section h3{font-size:1.2rem;font-weight:600;margin-bottom:var(--admin-space-md);color:var(--admin-text-secondary)}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.room-item-card{display:flex;align-items:center;justify-content:space-between;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.room-item-card:hover{background:#ffffff0d;border-color:rgba(var(--admin-primary-rgb),.2);transform:translateY(-3px);box-shadow:0 6px 20px #00000026}.room-info{display:flex;align-items:center;gap:12px;overflow:hidden}.room-icon{font-size:1.3rem;color:var(--admin-primary);flex-shrink:0}.room-icon.lab-icon{color:var(--admin-accent)}.room-name{font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--admin-text-primary)}.delete-room-btn{background:transparent;border:none;color:var(--admin-danger);opacity:.4;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.room-item-card:hover .delete-room-btn{opacity:.8}.delete-room-btn:hover{opacity:1!important;background:rgba(var(--admin-danger-rgb),.1);transform:scale(1.1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--admin-space-2xl) 0;color:#fff3;text-align:center}.empty-state i{font-size:3rem;margin-bottom:12px}.empty-state p{font-size:1rem}.rooms-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--admin-space-2xl) 0;color:var(--admin-text-secondary)}.rooms-loading .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.05);border-top-color:var(--admin-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media (max-width: 576px){.add-room-form{flex-direction:column;align-items:stretch}.add-btn{justify-content:center}}:root{--admin-primary: var(--primary-accent, #10b981);--admin-primary-dark: var(--primary-accent-dark, #059669);--admin-primary-light: var(--primary-accent-light, #ecfdf5);--admin-bg-main: var(--bg-color, #f3f4f6);--admin-bg-card: var(--card-bg, #ffffff);--admin-bg-secondary: #f9fafb;--admin-bg-tertiary: #f3f4f6;--admin-text-primary: var(--text-main, #111827);--admin-text-secondary: var(--text-muted, #6b7280);--admin-text-tertiary: #9ca3af;--admin-text-on-primary: #ffffff;--admin-success: var(--success-color, #10b981);--admin-warning: var(--warning-color, #f59e0b);--admin-danger: var(--danger-color, #ef4444);--admin-info: #3b82f6;--admin-border: var(--border-color, #e5e7eb);--admin-border-light: #f3f4f6;--admin-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--admin-shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, .05);--admin-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--admin-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--admin-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--admin-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--admin-text-xs: .75rem;--admin-text-sm: .875rem;--admin-text-base: 1rem;--admin-text-lg: 1.125rem;--admin-text-xl: 1.25rem;--admin-text-2xl: 1.5rem;--admin-text-3xl: 1.875rem;--admin-font-normal: 400;--admin-font-medium: 500;--admin-font-semibold: 600;--admin-font-bold: 700;--admin-space-xs: 4px;--admin-space-sm: 8px;--admin-space-md: 12px;--admin-space-lg: 16px;--admin-space-xl: 24px;--admin-space-2xl: 32px;--admin-radius-sm: 6px;--admin-radius-md: 8px;--admin-radius-lg: 12px;--admin-radius-xl: 16px}*{box-sizing:border-box}.admin-wrapper,.scrollable-wrapper,.admin-content{padding:var(--admin-space-2xl);padding-bottom:250px;background-color:var(--admin-bg-main);min-height:100vh;font-family:var(--admin-font-family)}.page-header{margin-bottom:var(--admin-space-2xl);padding:var(--admin-space-2xl);background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-lg);display:flex;flex-direction:column;gap:var(--admin-space-lg);position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%}.page-header h2{margin:0;font-size:var(--admin-text-2xl);font-weight:var(--admin-font-bold);color:var(--admin-text-on-primary);position:relative;z-index:1}.page-header p{margin:0;font-size:var(--admin-text-sm);color:#ffffffe6;opacity:.9;position:relative;z-index:1}.page-header-actions{display:flex;gap:var(--admin-space-md);flex-wrap:wrap;position:relative;z-index:1}.btn,button{font-family:var(--admin-font-family);border:none;border-radius:var(--admin-radius-md);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--admin-font-semibold);font-size:var(--admin-text-sm)}.btn-primary{background:var(--admin-primary);color:var(--admin-text-on-primary);padding:var(--admin-space-md) var(--admin-space-lg)}.btn-primary:hover:not(:disabled){background:var(--admin-primary-dark);transform:translateY(-2px);box-shadow:var(--admin-shadow-md)}.btn-secondary{background:var(--admin-bg-card);color:var(--admin-text-primary);border:1px solid var(--admin-border);padding:var(--admin-space-md) var(--admin-space-lg)}.btn-secondary:hover:not(:disabled){background:var(--admin-bg-secondary);border-color:var(--admin-primary)}.btn-danger{background:var(--admin-danger);color:var(--admin-text-on-primary);padding:var(--admin-space-md) var(--admin-space-lg)}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-2px)}.btn-sm{padding:var(--admin-space-sm) var(--admin-space-md);font-size:var(--admin-text-xs)}.btn-icon{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--admin-radius-md);background:var(--admin-bg-secondary);border:1px solid var(--admin-border)}.btn-icon:hover{background:var(--admin-primary-light);color:var(--admin-primary)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}.card,.card-item{background:var(--admin-bg-card);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-sm);transition:all .2s ease}.card{padding:var(--admin-space-xl)}.card:hover{box-shadow:var(--admin-shadow-md);transform:translateY(-2px)}.form-group{margin-bottom:var(--admin-space-lg);display:flex;flex-direction:column;gap:var(--admin-space-sm)}label{font-weight:var(--admin-font-semibold);font-size:var(--admin-text-sm);color:var(--admin-text-primary);display:block}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=search],select,textarea{width:100%;padding:var(--admin-space-md) var(--admin-space-lg);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:var(--admin-text-sm);font-family:var(--admin-font-family);background:var(--admin-bg-card);color:var(--admin-text-primary);transition:all .2s ease}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=date]:focus,input[type=time]:focus,input[type=search]:focus,select:focus,textarea:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--admin-primary-light)}textarea{resize:vertical;min-height:100px}.table-wrapper{background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);overflow:hidden;box-shadow:var(--admin-shadow-sm)}.table{width:100%;border-collapse:collapse;font-size:var(--admin-text-sm)}.table thead{background:var(--admin-bg-secondary);border-bottom:1px solid var(--admin-border)}.table th{padding:var(--admin-space-lg);text-align:left;font-weight:var(--admin-font-semibold);color:var(--admin-text-primary);white-space:nowrap}.table td{padding:var(--admin-space-lg);border-bottom:1px solid var(--admin-border-light)}.table tbody tr:hover{background:var(--admin-bg-secondary)}.table tbody tr:last-child td{border-bottom:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--admin-bg-card);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-xl);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{padding:var(--admin-space-xl);border-bottom:1px solid var(--admin-border);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:var(--admin-text-xl);color:var(--admin-text-primary)}.modal-body{padding:var(--admin-space-xl)}.modal-footer{padding:var(--admin-space-xl);border-top:1px solid var(--admin-border);display:flex;gap:var(--admin-space-md);justify-content:flex-end}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.alert{padding:var(--admin-space-lg);border-radius:var(--admin-radius-md);margin-bottom:var(--admin-space-lg);display:flex;gap:var(--admin-space-md);align-items:flex-start}.alert-success{background:#ecfdf5;border:1px solid #6ee7b7;color:#047857}.alert-danger{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.alert-info{background:#eff6ff;border:1px solid #93c5fd;color:#1e40af}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--admin-space-xl)}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--admin-space-xl)}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--admin-space-lg)}.text-center{text-align:center}.text-right{text-align:right}.mt-0{margin-top:0}.mt-sm{margin-top:var(--admin-space-sm)}.mt-md{margin-top:var(--admin-space-md)}.mt-lg{margin-top:var(--admin-space-lg)}.mt-xl{margin-top:var(--admin-space-xl)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--admin-space-sm)}.mb-md{margin-bottom:var(--admin-space-md)}.mb-lg{margin-bottom:var(--admin-space-lg)}.mb-xl{margin-bottom:var(--admin-space-xl)}.gap-sm{gap:var(--admin-space-sm)}.gap-md{gap:var(--admin-space-md)}.gap-lg{gap:var(--admin-space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.flex-between{justify-content:space-between}.flex-center{justify-content:center;align-items:center}.items-center{align-items:center}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}@media (max-width: 768px){.admin-wrapper,.scrollable-wrapper,.admin-content{padding:var(--admin-space-lg);padding-bottom:180px}.page-header{padding:var(--admin-space-lg)}.page-header h2{font-size:var(--admin-text-xl)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.modal{width:95%}}@media (max-width: 640px){.page-header-actions{flex-direction:column}.page-header-actions button,.page-header-actions .btn{width:100%}.table{font-size:var(--admin-text-xs)}.table th,.table td{padding:var(--admin-space-md)}}.admin-page .admin-wrapper,.admin-page .scrollable-wrapper,.admin-page .admin-content{max-width:1680px;margin:0 auto;padding:20px 20px 180px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary-accent-light, #ecfdf5) 30%,#ffffff 70%),color-mix(in srgb,var(--primary-accent-light, #ecfdf5) 14%,#ffffff 86%));min-height:100%}.admin-page .page-header{margin-bottom:14px;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,var(--card-bg, #ffffff) 0%,color-mix(in srgb,var(--primary-accent-light, #ecfdf5) 24%,#ffffff 76%) 100%);border:1px solid var(--border-color, #dbe5f1);box-shadow:0 10px 24px #0206170f;gap:8px}.admin-page .page-header:before{display:none}.admin-page .page-header h2{color:var(--text-main, #0f172a);font-size:1.58rem}.admin-page .page-header p{color:var(--text-muted, #475569);opacity:1;font-size:.94rem}.admin-page .card,.admin-page .card-item{border:1px solid var(--border-color, #dbe5f1);border-radius:14px;box-shadow:0 10px 24px #0206170f}.admin-page .btn-primary,.admin-page button.btn-primary{background:linear-gradient(135deg,var(--primary-accent, #2563eb) 0%,var(--primary-accent-dark, #1d4ed8) 100%)!important;color:var(--text-on-primary, #ffffff)!important}.admin-page .btn-primary:hover,.admin-page button.btn-primary:hover{background:linear-gradient(135deg,var(--primary-accent-dark, #1d4ed8) 0%,color-mix(in srgb,var(--primary-accent-dark, #1d4ed8) 80%,#000 20%) 100%)!important}@media (max-width: 768px){.admin-page .admin-wrapper,.admin-page .scrollable-wrapper,.admin-page .admin-content{padding:12px 12px 120px}.admin-page .page-header{padding:13px 14px;gap:6px}.admin-page .page-header h2{font-size:1.35rem}}.promotions-container{max-width:1250px;margin:0 auto;padding:var(--admin-space-md) var(--admin-space-md) var(--admin-space-2xl);font-family:Outfit,Inter,sans-serif;color:var(--admin-text-primary);position:relative}.promotions-header{margin-bottom:var(--admin-space-xl)}.promotions-header h2{font-size:2.2rem;font-weight:700;background:linear-gradient(135deg,var(--admin-primary),var(--admin-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px}.promotions-header .subtitle{font-size:.95rem;color:var(--admin-text-secondary)}.promotions-tabs{display:flex;gap:var(--admin-space-md);margin-bottom:var(--admin-space-lg);border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px}.promo-tab-btn{display:flex;align-items:center;gap:10px;padding:12px 24px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;color:var(--admin-text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.promo-tab-btn i{font-size:1.1rem;transition:transform .3s ease}.promo-tab-btn:hover{background:#ffffff12;color:var(--admin-text-primary);border-color:#ffffff26}.promo-tab-btn.active{background:linear-gradient(135deg,rgba(var(--admin-primary-rgb),.15),rgba(var(--admin-accent-rgb),.1));border-color:var(--admin-primary);color:var(--admin-primary);box-shadow:0 4px 20px rgba(var(--admin-primary-rgb),.15)}.promo-tab-btn.active i{transform:scale(1.1)}.promo-overlay-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:20px}.promo-overlay-loading .spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.05);border-top-color:var(--admin-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.promote-content-grid{display:grid;grid-template-columns:420px 1fr;gap:var(--admin-space-xl);align-items:start}@media (max-width: 992px){.promote-content-grid{grid-template-columns:1fr}}.glass-card{background:#ffffff08;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.05);border-radius:20px;padding:var(--admin-space-xl);box-shadow:0 8px 32px #0003}.panel-card{display:flex;flex-direction:column;gap:16px}.panel-header{margin-bottom:8px}.panel-header h3{font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:4px}.step-badge{background:var(--admin-primary);color:#fff;width:24px;height:24px;font-size:.85rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.panel-header p{font-size:.85rem;color:var(--admin-text-secondary)}.divider-line{height:1px;background:#ffffff14;margin:10px 0}.form-group-modern{display:flex;flex-direction:column;gap:6px}.form-group-modern label{font-size:.85rem;font-weight:600;color:var(--admin-text-secondary)}.form-group-modern select,.form-group-modern input{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:0 12px;height:46px;color:var(--admin-text-primary);font-size:.95rem;font-weight:500;outline:none;transition:all .3s ease}.form-group-modern select:focus,.form-group-modern input:focus{border-color:var(--admin-primary);background:#ffffff0d;box-shadow:0 0 0 3px rgba(var(--admin-primary-rgb),.15)}.promote-submit-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,var(--admin-primary),var(--admin-accent));color:#fff;border:none;border-radius:12px;height:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px rgba(var(--admin-primary-rgb),.25);margin-top:12px}.promote-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--admin-primary-rgb),.35);filter:brightness(1.1)}.promote-submit-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.students-list-card{display:flex;flex-direction:column;height:710px}.list-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:var(--admin-space-md);margin-bottom:var(--admin-space-md)}.list-header h3{font-size:1.35rem;font-weight:600;margin-bottom:4px}.list-header p{font-size:.85rem;color:var(--admin-text-secondary)}.checkbox-select-all{display:flex;align-items:center;gap:8px;background:#ffffff08;padding:8px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.checkbox-select-all label{font-size:.9rem;font-weight:600;cursor:pointer}.students-scroll-area{flex:1;overflow-y:auto;min-height:300px}.empty-students-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff3;text-align:center;padding:40px}.empty-students-state i{font-size:4rem;margin-bottom:16px}.empty-students-state p{font-size:1.05rem;max-width:320px;line-height:1.4}.promotions-students-table{width:100%;border-collapse:collapse;text-align:left}.promotions-students-table th{padding:12px 16px;font-size:.85rem;font-weight:700;text-transform:uppercase;color:var(--admin-text-secondary);border-bottom:1px solid rgba(255,255,255,.08)}.promotions-students-table td{padding:14px 16px;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--admin-text-primary);transition:all .2s ease}.promotions-students-table tbody tr{transition:background-color .2s ease}.promotions-students-table tbody tr:hover{background:#ffffff05}.promotions-students-table tbody tr.selected-row{background:rgba(var(--admin-primary-rgb),.04)}.promotions-students-table tbody tr.selected-row td{border-bottom-color:rgba(var(--admin-primary-rgb),.1)}.student-name-col{font-weight:600}.promotions-students-table input[type=checkbox],.checkbox-select-all input[type=checkbox]{width:18px;height:18px;accent-color:var(--admin-primary);cursor:pointer}.archive-table-card{display:flex;flex-direction:column}.table-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-xl)}.table-card-header h3{font-size:1.35rem;font-weight:600;margin-bottom:4px}.table-card-header p{font-size:.85rem;color:var(--admin-text-secondary)}.refresh-btn{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 18px;color:var(--admin-text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.refresh-btn:hover{background:#ffffff14;border-color:#ffffff26}.empty-archives-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--admin-space-2xl) 0;color:#fff3;text-align:center}.empty-archives-state i{font-size:4rem;margin-bottom:16px}.empty-archives-state p{font-size:1.1rem}.archives-table-wrapper{overflow-x:auto}.archives-table{width:100%;border-collapse:collapse;text-align:left}.archives-table th{padding:16px 20px;font-size:.85rem;font-weight:700;text-transform:uppercase;color:var(--admin-text-secondary);border-bottom:1px solid rgba(255,255,255,.08)}.archives-table td{padding:18px 20px;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.05)}.div-badge{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);padding:6px 12px;border-radius:8px;font-weight:600;font-size:.85rem}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase}.status-pill.active{background:#2ecc7126;color:#2ecc71;border:1px solid rgba(46,204,113,.2)}.status-pill.frozen{background:#e67e2226;color:#e67e22;border:1px solid rgba(230,126,34,.2)}.status-pill.archived{background:#3498db26;color:#3498db;border:1px solid rgba(52,152,219,.2)}.action-buttons-group{display:flex;gap:8px;justify-content:flex-end}.archive-action-btn{display:flex;align-items:center;gap:6px;border:none;padding:8px 14px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.archive-action-btn.reopen-btn{background:#2ecc711a;color:#2ecc71}.archive-action-btn.reopen-btn:hover{background:#2ecc71;color:#fff}.archive-action-btn.freeze-btn{background:#e67e221a;color:#e67e22}.archive-action-btn.freeze-btn:hover{background:#e67e22;color:#fff}.archive-action-btn.archive-btn{background:#3498db1a;color:#3498db}.archive-action-btn.archive-btn:hover{background:#3498db;color:#fff}.manage-students-page{padding:32px;width:100%;box-sizing:border-box;background:radial-gradient(circle at top right,var(--office-primary-light),transparent 40%),linear-gradient(180deg,var(--office-bg) 0%,var(--office-surface) 100%);min-height:calc(100vh - 72px);margin-top:72px;animation:fadeInUp .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:28px}.manage-header{display:flex;justify-content:space-between;align-items:center;gap:24px}.manage-header h1{font-size:28px;font-weight:850;color:var(--office-text);margin:0 0 6px;letter-spacing:-.5px;background:var(--office-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.manage-header p{color:var(--office-text-secondary);font-size:14.5px;margin:0;font-weight:500}.btn-add-student{padding:12px 24px;background:var(--office-gradient-primary);color:#fff;border:none;border-radius:var(--office-radius-md);font-size:14px;font-weight:750;cursor:pointer;box-shadow:0 4px 12px #1e3a8a26;transition:var(--office-transition);display:inline-flex;align-items:center;gap:8px}.btn-add-student:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #1e3a8a40;background:var(--office-gradient-primary-hover)}.btn-add-student:disabled{background:var(--office-border);color:var(--office-muted);cursor:not-allowed;box-shadow:none;transform:none;opacity:.7}.manage-controls{background:var(--office-surface);border:1px solid var(--office-border);border-radius:var(--office-radius-lg);box-shadow:var(--office-shadow-md);overflow:hidden;transition:var(--office-transition)}.manage-controls:hover{box-shadow:var(--office-shadow-lg);border-color:#1e3a8a26}.controls-header{padding:20px 28px;background:var(--office-gradient-card);border-bottom:1px solid var(--office-border);cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.controls-header h3{margin:0;font-size:15px;font-weight:800;color:var(--office-text);letter-spacing:-.2px}.controls-header-right{display:flex;align-items:center;gap:16px}.filter-summary-pill{font-size:12.5px;font-weight:700;color:var(--office-primary);background:var(--office-primary-light);padding:6px 12px;border-radius:var(--office-radius-sm);border:1px solid rgba(99,102,241,.15)}.btn-toggle-filters{background:transparent;border:none;color:var(--office-text-secondary);font-weight:700;font-size:13.5px;cursor:pointer}.filter-group{padding:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-bottom:1px solid var(--office-border);animation:fadeIn .3s ease-out}.filter-group .form-row-col label{font-size:11.5px;font-weight:800;color:var(--office-text-secondary);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:4px}.filter-group select,.filter-group input{padding:11px 16px;border:1.5px solid var(--office-border);border-radius:var(--office-radius-md);font-size:14px;font-weight:550;background:var(--office-bg);color:var(--office-text);transition:var(--office-transition-fast)}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--office-accent);background:var(--office-surface);box-shadow:0 0 0 3px #2563eb14}.filter-group select:disabled{background:#e2e8f04d;color:var(--office-muted);cursor:not-allowed;border-color:var(--office-border)}.filter-buttons{padding:20px 28px;display:flex;justify-content:flex-end;gap:14px;background:var(--office-bg)}.btn-primary{padding:11px 24px;background:var(--office-gradient-primary);color:#fff;border:none;border-radius:var(--office-radius-md);font-weight:750;cursor:pointer;transition:var(--office-transition);box-shadow:0 4px 10px #1e3a8a26}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #1e3a8a40}.btn-primary:disabled{background:var(--office-border);color:var(--office-muted);cursor:not-allowed;box-shadow:none;transform:none;opacity:.7}.btn-secondary{padding:11px 24px;background:var(--office-surface);border:1.5px solid var(--office-border);color:var(--office-text);border-radius:var(--office-radius-md);font-weight:700;cursor:pointer;transition:var(--office-transition-fast)}.btn-secondary:hover:not(:disabled){border-color:var(--office-muted);background:var(--office-bg)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.manage-table-wrapper{background:var(--office-surface);border:1px solid var(--office-border);border-radius:var(--office-radius-lg);box-shadow:var(--office-shadow-lg);overflow:hidden}.table-info{padding:20px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--office-border);gap:20px}.table-info .pill{background:var(--office-primary-light);color:var(--office-primary);font-weight:750;font-size:13.5px;padding:6px 14px;border-radius:20px;border:1px solid rgba(99,102,241,.1)}.table-actions{display:flex;align-items:center;gap:12px}.btn-save-seats{padding:10px 18px;background:var(--office-success-light);border:1.5px solid var(--office-success);color:var(--office-success-dark);border-radius:var(--office-radius-md);font-weight:750;font-size:13px;cursor:pointer;transition:var(--office-transition)}.btn-save-seats:hover:not(:disabled){background:var(--office-success);color:#fff;transform:translateY(-1px)}.btn-save-seats:disabled{opacity:.6;cursor:not-allowed}.manage-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left}.manage-table th{background:var(--office-bg);color:var(--office-text-secondary);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;padding:16px 20px;border-bottom:1.5px solid var(--office-border)}.manage-table td{padding:14px 20px;border-bottom:1px solid var(--office-border);color:var(--office-text);font-size:14px;transition:var(--office-transition-fast)}.manage-table tbody tr:hover td{background:#2563eb04}.manage-table tbody tr:last-child td{border-bottom:none}.student-name-bold{font-weight:700;color:var(--office-text)}.credential-cell{display:flex;align-items:center;gap:8px;min-width:150px}.credential-display{font-family:monospace;font-size:13px;background:var(--office-bg);padding:3px 6px;border-radius:var(--office-radius-sm);border:1px solid var(--office-border);color:var(--office-text)}.btn-regenerate{background:var(--office-primary-light);border:1px solid rgba(37,99,235,.2);color:var(--office-primary);width:26px;height:26px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:11px;transition:var(--office-transition-fast)}.btn-regenerate:hover{background:var(--office-primary);color:#fff;transform:scale(1.08)}.table-seat-input{width:75px;padding:8px 10px;border:1px solid var(--office-border);border-radius:var(--office-radius-sm);font-size:13px;font-weight:600;text-align:center;background:var(--office-bg);color:var(--office-text);transition:var(--office-transition-fast)}.table-seat-input:focus{outline:none;border-color:var(--office-accent);background:#fff;box-shadow:0 0 0 3px #2563eb14}.action-buttons{display:flex;align-items:center;gap:8px}.btn-edit,.btn-delete,.btn-save,.btn-cancel{padding:6px 12px;font-size:12.5px;font-weight:750;border-radius:var(--office-radius-sm);cursor:pointer;transition:var(--office-transition-fast)}.btn-edit{background:var(--office-primary-light);border:1px solid rgba(37,99,235,.2);color:var(--office-primary)}.btn-edit:hover{background:var(--office-primary);color:#fff}.btn-delete{background:var(--office-danger-light);border:1px solid rgba(239,68,68,.2);color:var(--office-danger-dark)}.btn-delete:hover{background:var(--office-danger);color:#fff}.btn-save{background:var(--office-success-light);border:1px solid var(--office-success);color:var(--office-success-dark)}.btn-save:hover{background:var(--office-success);color:#fff}.btn-cancel{background:var(--office-bg);border:1px solid var(--office-border);color:var(--office-text-secondary)}.btn-cancel:hover{border-color:var(--office-muted)}.table-bottom-actions{padding:20px 28px;background:var(--office-bg);border-top:1px solid var(--office-border);display:flex;justify-content:space-between;align-items:center;gap:20px}.bottom-btn{margin:0}.pagination{display:flex;align-items:center;gap:12px;margin-left:auto}.btn-nav{padding:8px 16px;background:var(--office-surface);border:1.5px solid var(--office-border);color:var(--office-text);border-radius:var(--office-radius-md);font-size:13px;font-weight:700;cursor:pointer;transition:var(--office-transition-fast)}.btn-nav:hover:not(:disabled){border-color:var(--office-primary);color:var(--office-primary);background:var(--office-primary-light)}.btn-nav:disabled{opacity:.55;cursor:not-allowed}.page-info{font-size:13px;font-weight:600;color:var(--office-text-secondary)}.empty-state{padding:48px;text-align:center;color:var(--office-text-secondary);font-weight:600}.edit-student-modal{width:100%;max-width:650px;background:var(--office-surface);border-radius:var(--office-radius-lg);padding:36px;box-shadow:var(--office-shadow-xl);border:1px solid var(--office-border);animation:modalZoomIn .3s cubic-bezier(.34,1.56,.64,1)}.edit-student-modal h2{font-size:24px;font-weight:850;margin:0 0 6px;color:var(--office-text);letter-spacing:-.5px}.edit-student-modal p{margin:0;font-size:14.5px;color:var(--office-text-secondary)}.edit-student-modal .modal-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.edit-student-modal .form-row-col{display:flex;flex-direction:column;gap:6px}.edit-student-modal .form-row-col label{font-size:11.5px;font-weight:800;color:var(--office-text-secondary);text-transform:uppercase;letter-spacing:.4px}.edit-student-modal .form-row-col input,.edit-student-modal .form-row-col select{padding:11px 14px;border:1.5px solid var(--office-border);border-radius:var(--office-radius-md);background:var(--office-bg);color:var(--office-text);font-weight:550;font-size:14px;transition:var(--office-transition-fast)}.edit-student-modal .form-row-col input:focus,.edit-student-modal .form-row-col select:focus{outline:none;border-color:var(--office-accent);background:var(--office-surface);box-shadow:0 0 0 3px #2563eb14}.modal-buttons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}.warning{color:var(--office-danger-dark);font-size:13.5px;font-weight:600}.password-display{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:var(--office-bg);border-radius:var(--office-radius-md);border:1.5px solid var(--office-border);margin:20px 0}.password-display code{font-family:monospace;font-size:18px;font-weight:800;color:var(--office-primary-dark)}.btn-copy{padding:8px 14px;background:var(--office-surface);border:1.5px solid var(--office-border);border-radius:var(--office-radius-sm);cursor:pointer;font-weight:700;font-size:12.5px;transition:var(--office-transition-fast)}.btn-copy:hover{border-color:var(--office-primary);color:var(--office-primary)}.modal-form-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.modal-btn{padding:10px 20px;border-radius:var(--office-radius-md);font-weight:700;font-size:14px;cursor:pointer;border:1px solid var(--office-border);background:var(--office-surface);color:var(--office-text);transition:var(--office-transition-fast)}.modal-btn:hover{background:var(--office-bg)}.modal-btn-primary{background:var(--office-gradient-primary);border:none;color:#fff;font-weight:750;box-shadow:0 4px 10px #1e3a8a26}.modal-btn-primary:hover{background:var(--office-gradient-primary-hover);box-shadow:0 6px 16px #1e3a8a40}@media (max-width: 992px){.filter-group{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.manage-students-page{padding:20px 16px}.manage-header{flex-direction:column;align-items:stretch;gap:16px}.filter-group{grid-template-columns:1fr;padding:20px}.filter-buttons{flex-direction:column;padding:20px}.table-info{flex-direction:column;align-items:stretch;padding:20px}.table-actions{flex-direction:column;align-items:stretch}.table-bottom-actions{flex-direction:column;padding:20px}.pagination{margin-left:0;justify-content:center;width:100%}.edit-student-modal .modal-form,.modal-buttons{grid-template-columns:1fr}}.notices-page{padding:32px;width:100%;box-sizing:border-box;background:var(--office-bg);min-height:calc(100vh - 64px);margin-top:64px;animation:fadeInUp .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:28px}.notices-header{display:flex;justify-content:space-between;align-items:center;gap:24px}.notices-header h1{font-size:28px;font-weight:850;color:var(--office-text);margin:0 0 6px;letter-spacing:-.5px;background:var(--office-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.notices-header h1 i{font-size:24px;margin-right:8px;color:var(--office-primary);background:none;-webkit-text-fill-color:initial}.subtitle{color:var(--office-text-secondary);font-size:14.5px;margin:0;font-weight:500}.office-btn-primary{padding:12px 24px;background:var(--office-gradient-primary);color:#fff;border:none;border-radius:var(--office-radius-md);font-size:14px;font-weight:750;cursor:pointer;box-shadow:0 4px 12px #1e3a8a26;transition:var(--office-transition);display:inline-flex;align-items:center;gap:8px}.office-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 18px #1e3a8a40;background:var(--office-gradient-primary-hover)}.notice-form-modal{width:100%;max-width:700px;background:var(--office-surface);border-radius:var(--office-radius-lg);padding:36px;border:1px solid var(--office-border);box-shadow:var(--office-shadow-xl);animation:modalZoomIn .3s cubic-bezier(.34,1.56,.64,1)}.notice-form-modal h2{font-size:24px;font-weight:850;margin:0 0 6px;color:var(--office-text);letter-spacing:-.5px}.notice-form-modal p{margin:0 0 20px;font-size:14.5px;color:var(--office-text-secondary)}.notice-form-modal .modal-form{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}.notice-form-modal .form-row-col{display:flex;flex-direction:column;gap:8px}.notice-form-modal .form-row-col label{font-size:11.5px;font-weight:800;color:var(--office-text-secondary);text-transform:uppercase;letter-spacing:.5px}.notice-form-modal .form-input{padding:12px 16px;border:1.5px solid var(--office-border);border-radius:var(--office-radius-md);font-size:14px;font-weight:550;background:var(--office-bg);color:var(--office-text);transition:var(--office-transition-fast);width:100%;box-sizing:border-box}.notice-form-modal .form-input:focus{outline:none;border-color:var(--office-accent);background:var(--office-surface);box-shadow:0 0 0 3px #2563eb14}.custom-editor{border:1.5px solid var(--office-border);border-radius:var(--office-radius-md);overflow:hidden;background:var(--office-surface)}.editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 14px;background:var(--office-bg);border-bottom:1.5px solid var(--office-border)}.toolbar-btn{background:var(--office-surface);border:1px solid var(--office-border);color:var(--office-text-secondary);width:32px;height:32px;border-radius:var(--office-radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:var(--office-transition-fast);font-size:14px}.toolbar-btn:hover{background:var(--office-primary-light);border-color:var(--office-primary);color:var(--office-primary)}.toolbar-divider{width:1.5px;height:20px;background:var(--office-border);margin:0 4px}.toolbar-color{width:30px;height:30px;padding:0;border:1px solid var(--office-border);border-radius:var(--office-radius-sm);cursor:pointer;background:none}.editor-content{min-height:200px;max-height:350px;padding:18px;overflow-y:auto;outline:none;font-size:15px;line-height:1.6;color:var(--office-text);background:var(--office-surface)}.editor-content[placeholder]:empty:before{content:attr(placeholder);color:var(--office-muted)}.notices-list-page h2{font-size:20px;font-weight:850;color:var(--office-text);margin:0 0 24px;letter-spacing:-.4px}.notices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.notice-card-page{background:var(--office-surface);border:1px solid var(--office-border);border-radius:var(--office-radius-lg);padding:24px;box-shadow:var(--office-shadow-md);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:var(--office-transition)}.notice-card-page:hover{transform:translateY(-4px);box-shadow:var(--office-shadow-lg);border-color:#1e3a8a26}.notice-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.notice-card-header .badge{background:var(--office-primary-light);color:var(--office-primary);font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--office-border)}.notice-date{font-size:12px;color:var(--office-muted);font-weight:600}.notice-title{font-size:18px;font-weight:800;color:var(--office-text);line-height:1.4;letter-spacing:-.2px}.notice-content{font-size:14px;line-height:1.6;color:var(--office-text-secondary);overflow-y:auto;max-height:140px;padding-right:4px}.notice-content p{margin:0 0 10px}.notice-content p:last-child{margin-bottom:0}.notice-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--office-border)}.notice-author{font-size:12.5px;font-weight:700;color:var(--office-text-secondary)}.notice-actions{display:flex;align-items:center;gap:8px}.btn-icon{background:var(--office-bg);border:1px solid var(--office-border);width:32px;height:32px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:13px;transition:var(--office-transition-fast)}.btn-icon.edit:hover{background:var(--office-primary-light);color:var(--office-primary);border-color:var(--office-primary)}.btn-icon.delete:hover{background:var(--office-danger-light);color:var(--office-danger);border-color:var(--office-danger)}.loading{padding:48px;text-align:center;font-weight:600;color:var(--office-text-secondary);font-size:15px}.loading i{display:block;font-size:24px;margin-bottom:12px;animation:spin 1s linear infinite}.no-notices{padding:64px 32px;background:var(--office-surface);border:1px solid var(--office-border);border-radius:var(--office-radius-lg);box-shadow:var(--office-shadow-sm);text-align:center;color:var(--office-text-secondary)}.no-notices-icon{font-size:48px;margin-bottom:16px}.no-notices p{margin:0;font-size:16px;font-weight:600}@media (max-width: 768px){.notices-page{padding:20px 16px}.notices-header{flex-direction:column;align-items:stretch;gap:16px}.notices-header .office-btn-primary{text-align:center;justify-content:center}.notices-grid{grid-template-columns:1fr}.notice-form-modal{padding:24px}}.office-page{padding:24px 32px 40px;width:100%;box-sizing:border-box;background:var(--office-bg);min-height:calc(100vh - 72px);margin-top:72px;animation:fadeInUp .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:20px}.upload-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--office-surface);border:1px solid var(--office-border);border-radius:20px;padding:20px 28px;box-shadow:0 2px 16px -4px #1e3a8a0d}.upload-page-header-left{display:flex;align-items:center;gap:16px}.upload-page-icon{width:52px;height:52px;background:var(--office-gradient-primary);border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;box-shadow:0 6px 18px #1e3a8a33}.upload-page-title{margin:0 0 4px;font-size:22px;font-weight:800;color:var(--office-text);letter-spacing:-.4px;line-height:1.2}.upload-page-sub{margin:0;font-size:13.5px;font-weight:500;color:var(--office-text-secondary)}.upload-page-stats{display:flex;align-items:center;gap:6px}.mini-stat{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--office-bg);border:1px solid var(--office-border);border-radius:14px;transition:all .2s ease;white-space:nowrap}.mini-stat:hover{border-color:#2563eb40;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb0f}.mini-stat-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.mini-stat-icon.students{background:var(--office-primary-light);color:var(--office-primary)}.mini-stat-icon.departments{background:var(--office-accent-light);color:var(--office-accent)}.mini-stat-icon.divisions{background:var(--office-success-light);color:var(--office-success-dark)}.mini-stat-icon.filerows{background:var(--office-warning-light);color:var(--office-warning)}.mini-stat-val{margin:0 0 1px;font-size:18px;font-weight:800;color:var(--office-text);letter-spacing:-.3px;line-height:1}.mini-stat-label{margin:0;font-size:10.5px;font-weight:700;color:var(--office-muted);text-transform:uppercase;letter-spacing:.4px}.office-header{background:var(--office-glass-bg);-webkit-backdrop-filter:var(--office-glass-blur);backdrop-filter:var(--office-glass-blur);border:1px solid var(--office-glass-border);padding:24px 32px;border-radius:var(--office-radius-lg);box-shadow:var(--office-shadow-md);margin-bottom:8px}.office-header h1{font-size:28px;font-weight:800;color:var(--office-text);margin:0 0 6px;letter-spacing:-.5px;background:var(--office-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.office-header p{color:var(--office-text-secondary);font-size:14.5px;margin:0;font-weight:500}.office-grid{width:100%;max-width:900px;margin:0 auto}.card{background:var(--office-surface);border:1px solid var(--office-border);border-radius:22px;padding:28px 32px;box-shadow:var(--office-shadow-lg);position:relative;overflow:hidden;transition:var(--office-transition)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--office-gradient-primary);opacity:1}.card-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--office-border);display:flex;align-items:center;gap:14px}.card-icon-badge{width:52px;height:52px;border-radius:16px;background:var(--office-primary-light);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;box-shadow:0 4px 12px #1e3a8a14}.card-header-text{flex:1}.card-header h2{font-size:22px;font-weight:800;color:var(--office-text);margin:0 0 5px;letter-spacing:-.4px}.card-header p{color:var(--office-text-secondary);font-size:14px;margin:0;font-weight:500}.form-section{background:var(--office-bg);border:1px solid var(--office-border);border-radius:16px;padding:20px 24px;margin-bottom:16px;transition:var(--office-transition)}.form-section:hover{border-color:#2563eb33;background:var(--office-bg-main)}.form-section h3{font-size:11px;font-weight:800;color:var(--office-accent);margin:0 0 16px;padding-bottom:10px;border-bottom:1.5px solid var(--office-border);text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-row-col{display:flex;flex-direction:column;gap:8px}.form-row-col.full-width{grid-column:span 2}.form-row-col label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--office-text-secondary);text-transform:uppercase;letter-spacing:.6px}.form-row-col select,.form-row-col input{padding:0 18px;height:56px;border:1.5px solid var(--office-border);border-radius:14px;font-size:14.5px;font-weight:550;background:var(--office-bg);color:var(--office-text);transition:var(--office-transition-fast);width:100%;box-sizing:border-box}.form-row-col select:focus,.form-row-col input:focus{outline:none;border-color:var(--office-accent);background:var(--office-surface);box-shadow:0 0 0 4px #2563eb14}.form-row-col select:disabled,.form-row-col input:disabled{background:#e2e8f066;color:var(--office-muted);opacity:.8;cursor:not-allowed;border-color:var(--office-border)}.required{color:var(--office-danger);font-weight:800}.hint{color:var(--office-muted);font-style:italic;text-transform:none;letter-spacing:normal;font-weight:500}.file-dropzone-wrapper{margin:18px 0}.dropzone-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 32px;border:2px dashed var(--office-border);border-radius:var(--office-radius-lg);background:var(--office-bg);cursor:pointer;transition:var(--office-transition);text-align:center;-webkit-user-select:none;user-select:none}.dropzone-label:hover:not(.disabled){background:var(--office-primary-light);border-color:var(--office-primary);box-shadow:var(--office-shadow-sm)}.dropzone-label.disabled{border-color:var(--office-border);background:#e2e8f026;cursor:not-allowed;opacity:.6}.dropzone-icon{font-size:48px;animation:pulse 2.5s ease-in-out infinite;line-height:1}.dropzone-info{display:flex;flex-direction:column;gap:4px}.dropzone-info strong{color:var(--office-text);font-size:15px}.dropzone-subtext{color:var(--office-text-secondary);font-size:12.5px}.dropzone-filename{color:var(--office-success-dark);font-size:16px;font-weight:750;display:inline-block;margin-bottom:4px}.dropzone-change{font-size:12px;color:var(--office-primary);text-decoration:underline;font-weight:600}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.preview-info-badge{background:var(--office-gradient-alert-success);border:1px solid rgba(16,185,129,.2);padding:12px 20px;border-radius:var(--office-radius-md);color:var(--office-success-dark);font-weight:750;font-size:14px;display:inline-flex;align-items:center;gap:8px;margin-top:8px;box-shadow:var(--office-shadow-sm)}.preview-info-badge .checkmark{background:var(--office-success);color:#fff;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.primary-btn{height:52px;padding:0 28px;background:var(--office-gradient-primary);color:#fff;border:none;border-radius:14px;font-size:15px;font-weight:700;cursor:pointer;transition:var(--office-transition);box-shadow:0 6px 20px #6366f147;display:inline-flex;align-items:center;gap:8px;letter-spacing:-.1px}.primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 28px #6366f166;background:var(--office-gradient-primary-hover)}.primary-btn:disabled{background:var(--office-border);color:var(--office-muted);box-shadow:none;cursor:not-allowed;transform:none;opacity:.7}.upload-submit-btn{margin-top:10px}.alert{padding:16px 24px;border-radius:var(--office-radius-md);margin:20px 0;font-size:14.5px;font-weight:600;display:flex;align-items:center;gap:12px;box-shadow:var(--office-shadow-sm);animation:fadeInUp .25s ease-out}.alert.error{background:var(--office-gradient-alert-error);color:var(--office-danger-dark);border:1px solid rgba(239,68,68,.15)}.alert.success{background:var(--office-gradient-alert-success);color:var(--office-success-dark);border:1px solid rgba(16,185,129,.15)}.batch-allocation-modal{width:100%;max-width:600px;background:var(--office-surface);border-radius:var(--office-radius-lg);padding:36px;border:1px solid var(--office-border);box-shadow:var(--office-shadow-xl);animation:modalZoomIn .3s cubic-bezier(.34,1.56,.64,1)}.batch-modal-header{margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--office-border)}.batch-modal-header h2{font-size:24px;font-weight:850;margin:0 0 6px;color:var(--office-text);letter-spacing:-.5px}.batch-modal-header p{margin:0;font-size:14.5px;color:var(--office-text-secondary)}.batch-allocation-grid{display:flex;flex-direction:column;gap:12px;margin:20px 0;max-height:250px;overflow-y:auto;padding-right:6px}.batch-allocation-row{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:16px;border:1.5px solid var(--office-border);border-radius:var(--office-radius-md);background:var(--office-bg);align-items:center;transition:var(--office-transition-fast)}.batch-allocation-row:hover{border-color:#6366f133;transform:translateY(-1px)}.batch-name-display{display:flex;align-items:center;justify-content:center;height:46px;border:1px solid var(--office-border);border-radius:var(--office-radius-sm);background:var(--office-surface);font-size:15px;font-weight:700;color:var(--office-text);box-shadow:var(--office-shadow-sm)}.batch-allocation-row .form-row-col{gap:4px}.allocation-progress-wrapper{margin:24px 0;padding:16px;background:var(--office-bg);border-radius:var(--office-radius-md);border:1px solid var(--office-border);display:flex;flex-direction:column;gap:10px}.progress-bar-container{height:10px;background:var(--office-border);border-radius:6px;overflow:hidden;width:100%}.progress-bar-fill{height:100%;border-radius:6px;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-bar-fill.success{background:var(--office-success)}.progress-bar-fill.pending{background:var(--office-primary)}.allocation-summary-text{font-weight:700;font-size:14.5px;text-align:center}.allocation-summary-text.success{color:var(--office-success-dark)}.allocation-summary-text.error{color:var(--office-primary-dark)}.credentials-section{margin-top:40px;padding-top:36px;border-top:2px dashed var(--office-border);animation:fadeInUp .45s ease-out}.credentials-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.credentials-header-row h3{font-size:20px;font-weight:850;color:var(--office-text);margin:0 0 6px;letter-spacing:-.5px}.credentials-warning{color:var(--office-danger-dark);font-size:13.5px;font-weight:600;margin:0}.copy-all-btn{padding:10px 18px;background:var(--office-primary-light);border:1.5px solid var(--office-primary);color:var(--office-primary);border-radius:var(--office-radius-md);font-size:13.5px;font-weight:750;cursor:pointer;transition:var(--office-transition);white-space:nowrap}.copy-all-btn:hover{background:var(--office-primary);color:#fff;transform:translateY(-1px);box-shadow:var(--office-shadow-md)}.copy-all-btn.copied{background:var(--office-success-light);border-color:var(--office-success);color:var(--office-success-dark);animation:bounce .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes bounce{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.credentials-table-wrapper{border:1px solid var(--office-border);border-radius:var(--office-radius-md);overflow:hidden;box-shadow:var(--office-shadow-md);max-height:400px}.credentials-table{width:100%;border-collapse:separate;border-spacing:0}.credentials-table th{background:var(--office-bg);color:var(--office-text-secondary);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:14px 20px;border-bottom:1.5px solid var(--office-border)}.credentials-table td{padding:14px 20px;border-bottom:1px solid var(--office-border);color:var(--office-text);font-size:14px;background:var(--office-surface)}.credentials-table tbody tr:last-child td{border-bottom:none}.student-name-bold{font-weight:700}.cred-code{font-family:monospace;font-size:13px;background:var(--office-bg);padding:4px 8px;border-radius:var(--office-radius-sm);color:var(--office-text);border:1px solid var(--office-border);font-weight:600}.cred-code.password{color:var(--office-primary-dark);font-weight:700}.animate-fade-in{animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) both}.delay-1{animation-delay:.15s}@media (max-width: 1100px){.upload-page-header{flex-direction:column;align-items:flex-start;gap:16px}.upload-page-stats{gap:8px;flex-wrap:wrap}}@media (max-width: 768px){.upload-page-stats{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}}@media (max-width: 768px){.office-page{padding:20px 16px;margin-top:64px}.card{padding:24px 20px;border-radius:18px}.stats-row{grid-template-columns:1fr 1fr;gap:12px}.form-grid{grid-template-columns:1fr}.form-row-col.full-width{grid-column:span 1}.batch-allocation-row{grid-template-columns:1fr;gap:12px}.credentials-header-row{flex-direction:column;align-items:stretch;gap:16px}.copy-all-btn{text-align:center}}@media (max-width: 480px){.stats-row{grid-template-columns:1fr}}.office-sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1199;animation:fadeIn .3s cubic-bezier(.16,1,.3,1)}.office-sidebar{position:fixed;left:0;top:0;width:280px;height:100vh;background:var(--office-glass-bg);-webkit-backdrop-filter:var(--office-glass-blur);backdrop-filter:var(--office-glass-blur);border-right:1px solid var(--office-glass-border);box-shadow:10px 0 30px -15px #1e3a8a14;overflow-y:auto;z-index:1200;display:flex;flex-direction:column;transition:var(--office-transition);animation:slideInLeft .5s cubic-bezier(.16,1,.3,1)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:28px 24px;border-bottom:1px solid var(--office-glass-border)}.sidebar-logo{display:flex;align-items:center;gap:14px;flex:1}.sidebar-logo-image{width:44px;height:44px;border-radius:var(--office-radius-md);border:2px solid var(--office-glass-border);object-fit:cover;flex-shrink:0;box-shadow:var(--office-shadow-sm);transition:var(--office-transition-fast)}.sidebar-logo-image:hover{transform:rotate(-5deg) scale(1.05)}.sidebar-logo-fallback{width:44px;height:44px;border-radius:var(--office-radius-md);display:inline-flex;align-items:center;justify-content:center;background:var(--office-gradient-primary);color:#fff;font-weight:800;font-size:15px;text-transform:uppercase;box-shadow:0 4px 14px #1e3a8a40;transition:var(--office-transition-fast)}.sidebar-logo-fallback:hover{transform:translateY(-2px);box-shadow:0 6px 18px #1e3a8a59}.sidebar-logo-text{flex:1}.sidebar-title{margin:0;font-size:16px;font-weight:800;color:var(--office-text);letter-spacing:-.5px;background:var(--office-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.sidebar-subtitle{margin:2px 0 0;font-size:10.5px;font-weight:600;color:var(--office-text-secondary);letter-spacing:.1px;opacity:.75}.sidebar-close{display:none;background:var(--office-primary-light);border:1px solid var(--office-glass-border);color:var(--office-primary);border-radius:50%;width:32px;height:32px;cursor:pointer;align-items:center;justify-content:center;font-size:14px;transition:var(--office-transition-fast)}.sidebar-close:hover{background:var(--office-primary);color:#fff;transform:rotate(90deg)}.sidebar-user-info{display:flex;align-items:center;gap:14px;padding:16px 20px;background:#fff6;border-radius:var(--office-radius-md);margin:24px 20px 12px;border:1px solid var(--office-glass-border);box-shadow:var(--office-shadow-sm);transition:var(--office-transition)}.dark-mode .sidebar-user-info,[data-theme=dark] .sidebar-user-info{background:#0f172a4d}.sidebar-user-info:hover{transform:translateY(-2px);border-color:var(--office-primary);box-shadow:var(--office-shadow-md);background:#fff9}.sidebar-user-avatar{width:46px;height:46px;background:var(--office-gradient-accent);color:#fff;border-radius:13px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex-shrink:0;box-shadow:0 4px 12px #2563eb40;transition:var(--office-transition-fast)}.sidebar-user-info:hover .sidebar-user-avatar{transform:scale(1.05)}.sidebar-user-details{flex:1;min-width:0}.sidebar-user-name{margin:0;font-size:15px;font-weight:700;color:var(--office-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{margin:2px 0 0;font-size:12px;color:var(--office-text-secondary);font-weight:600;opacity:.8}.sidebar-nav{flex:1;padding:12px 16px;display:flex;flex-direction:column;gap:6px}.sidebar-section-label{padding:16px 16px 8px;font-size:11px;font-weight:800;color:var(--office-muted);text-transform:uppercase;letter-spacing:1.5px}.sidebar-nav-item{display:flex;align-items:center;gap:14px;padding:14px 20px;background:transparent;border:none;color:var(--office-text-secondary);cursor:pointer;font-size:15px;font-weight:600;border-radius:var(--office-radius-md);transition:var(--office-transition);width:100%;text-align:left;position:relative;overflow:hidden}.sidebar-nav-item:before{content:"";position:absolute;left:0;top:15%;height:70%;width:4px;background:var(--office-gradient-primary);border-radius:0 4px 4px 0;opacity:0;transform:scaleY(.5);transition:var(--office-transition)}.sidebar-nav-item:hover{background:var(--office-primary-light);color:var(--office-primary);padding-left:24px}.sidebar-nav-item.active{background:var(--office-primary-light);color:var(--office-primary);font-weight:700;box-shadow:inset 0 0 0 1px #2563eb1a}.sidebar-nav-item.active:before{opacity:1;transform:scaleY(1)}.sidebar-icon{font-size:20px;flex-shrink:0;transition:var(--office-transition-fast)}.sidebar-nav-item:hover .sidebar-icon{transform:scale(1.15) rotate(4deg)}.sidebar-label{flex:1}.sidebar-divider{height:1px;background:var(--office-glass-border);margin:16px 8px}.sidebar-footer{border-top:1px solid var(--office-glass-border);padding:20px;background:#fff3}.dark-mode .sidebar-footer,[data-theme=dark] .sidebar-footer{background:#0f172a26}.sidebar-footer-btn{width:100%;padding:14px 20px;background:var(--office-surface);border:1px solid var(--office-border);color:var(--office-text);border-radius:var(--office-radius-md);cursor:pointer;font-size:14.5px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;transition:var(--office-transition);box-shadow:var(--office-shadow-sm)}.sidebar-footer-btn:hover{border-color:var(--office-primary);background:var(--office-primary-light);color:var(--office-primary);transform:translateY(-1px);box-shadow:var(--office-shadow-md)}.sidebar-footer-btn.logout-btn{color:var(--office-danger);border-color:#ef44441f;background:#ef444408}.sidebar-footer-btn.logout-btn:hover{background:#ef444414;border-color:#ef444440;color:var(--office-danger-dark);box-shadow:0 4px 12px #ef44441a}@media (max-width: 768px){.office-sidebar{transform:translate(-100%)}.office-sidebar.visible{transform:translate(0);box-shadow:15px 0 40px #0f172a26}.office-sidebar-overlay{display:block}.sidebar-close{display:flex}}:root{--office-font-family: "Outfit", "Plus Jakarta Sans", sans-serif;--office-primary: #1e3a8a;--office-primary-dark: #172554;--office-primary-light: rgba(30, 58, 138, .06);--office-accent: #2563eb;--office-accent-light: rgba(37, 99, 235, .08);--office-gradient-primary: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);--office-gradient-primary-hover: linear-gradient(135deg, #172554 0%, #1d4ed8 100%);--office-gradient-accent: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%);--office-gradient-card: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);--office-gradient-alert-error: linear-gradient(135deg, #fff1f2 0%, #ffe4e6 100%);--office-gradient-alert-success: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);--office-gradient-glow: radial-gradient(circle at 50% 50%, rgba(37, 99, 235, .12) 0%, transparent 80%);--office-bg: #f8fafc;--office-bg-main: #f1f5f9;--office-surface: #ffffff;--office-border: #cbd5e1;--office-text: #0f172a;--office-text-primary: #0f172a;--office-text-secondary: #475569;--office-muted: #64748b;--office-success: #10b981;--office-success-dark: #047857;--office-success-light: #ecfdf5;--office-warning: #f59e0b;--office-warning-light: #fffbeb;--office-danger: #ef4444;--office-danger-dark: #b91c1c;--office-danger-light: #fee2e2;--office-info: #3b82f6;--office-info-light: #dbeafe;--office-shadow-sm: 0 2px 8px rgba(30, 58, 138, .03);--office-shadow-md: 0 8px 20px -6px rgba(30, 58, 138, .06), 0 1px 3px rgba(0, 0, 0, .02);--office-shadow-lg: 0 20px 32px -12px rgba(30, 58, 138, .12), 0 1px 3px rgba(0, 0, 0, .02);--office-shadow-xl: 0 25px 50px -12px rgba(30, 58, 138, .2);--office-shadow-glow: 0 0 25px rgba(37, 99, 235, .25);--office-radius-sm: 8px;--office-radius-md: 12px;--office-radius-lg: 16px;--office-radius-xl: 24px;--office-glass-bg: rgba(255, 255, 255, .85);--office-glass-border: rgba(203, 213, 225, .6);--office-glass-blur: blur(12px);--office-transition: all .25s cubic-bezier(.4, 0, .2, 1);--office-transition-fast: all .15s ease-out}body{font-family:var(--office-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.light-mode,[data-theme=light]{--office-bg: #f8fafc;--office-surface: #ffffff;--office-border: #cbd5e1}body.dark-mode,[data-theme=dark]{--office-bg: #0b1329;--office-bg-main: #020617;--office-surface: #0f172a;--office-border: #1e293b;--office-text: #f8fafc;--office-text-primary: #f8fafc;--office-text-secondary: #94a3b8;--office-muted: #475569;--office-primary-light: rgba(37, 99, 235, .15);--office-glass-bg: rgba(15, 23, 42, .85);--office-glass-border: rgba(30, 41, 59, .7);--office-gradient-card: linear-gradient(180deg, #0f172a 0%, #0b1329 100%);--office-gradient-alert-error: linear-gradient(135deg, #1c1012 0%, #2d1216 100%);--office-gradient-alert-success: linear-gradient(135deg, #0d1a14 0%, #0f3020 100%)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.office-scrollable,.scrollable-content,.sidebar-nav,.batch-allocation-grid,.editor-content{scrollbar-width:thin;scrollbar-color:var(--office-border) transparent}.office-scrollable::-webkit-scrollbar,.scrollable-content::-webkit-scrollbar,.sidebar-nav::-webkit-scrollbar,.batch-allocation-grid::-webkit-scrollbar,.editor-content::-webkit-scrollbar{width:6px;height:6px}.office-scrollable::-webkit-scrollbar-track,.scrollable-content::-webkit-scrollbar-track,.sidebar-nav::-webkit-scrollbar-track,.batch-allocation-grid::-webkit-scrollbar-track,.editor-content::-webkit-scrollbar-track{background:transparent}.office-scrollable::-webkit-scrollbar-thumb,.scrollable-content::-webkit-scrollbar-thumb,.sidebar-nav::-webkit-scrollbar-thumb,.batch-allocation-grid::-webkit-scrollbar-thumb,.editor-content::-webkit-scrollbar-thumb{background-color:var(--office-border);border-radius:20px}.office-scrollable::-webkit-scrollbar-thumb:hover,.scrollable-content::-webkit-scrollbar-thumb:hover,.sidebar-nav::-webkit-scrollbar-thumb:hover,.batch-allocation-grid::-webkit-scrollbar-thumb:hover,.editor-content::-webkit-scrollbar-thumb:hover{background-color:var(--office-muted)}.office-header-container{background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--office-glass-border);padding:0 32px;position:fixed;top:0;left:280px;right:0;height:72px;z-index:999;box-shadow:0 1px #e2e8f0cc,0 4px 24px -8px #1e3a8a0a;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center}.office-header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.office-header-left{display:flex;align-items:center;gap:16px}.menu-toggle{display:none;background:var(--office-primary-light);border:1px solid var(--office-glass-border);color:var(--office-primary);width:40px;height:40px;border-radius:var(--office-radius-md);cursor:pointer;transition:var(--office-transition-fast);align-items:center;justify-content:center;font-size:20px;box-shadow:var(--office-shadow-sm);flex-shrink:0}.menu-toggle:hover{background:var(--office-primary);color:#fff;transform:scale(1.05)}.header-greeting{display:flex;flex-direction:column;gap:1px}.greeting-main{margin:0;font-size:17px;font-weight:700;color:var(--office-text);letter-spacing:-.3px;line-height:1.3}.greeting-name{color:var(--office-primary)}.greeting-sub{margin:0;font-size:12.5px;font-weight:500;color:var(--office-text-secondary);letter-spacing:.1px}.office-header-right{display:flex;align-items:center;gap:14px}.header-divider{width:1px;height:32px;background:var(--office-border);opacity:.6}.notif-btn{position:relative;width:42px;height:42px;background:var(--office-bg);border:1px solid var(--office-border);border-radius:var(--office-radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:var(--office-transition-fast);box-shadow:var(--office-shadow-sm)}.notif-btn:hover{background:var(--office-primary-light);border-color:#1e3a8a33;transform:translateY(-1px)}.notif-icon{font-size:17px}.notif-badge{position:absolute;top:-3px;right:-3px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.user-menu-wrapper{position:relative}.user-button{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--office-border);color:var(--office-text);padding:6px 12px 6px 6px;border-radius:var(--office-radius-md);cursor:pointer;font-size:14px;font-weight:600;transition:var(--office-transition);height:48px;box-shadow:var(--office-shadow-sm)}.user-button:hover{background:var(--office-primary-light);border-color:#2563eb33;transform:translateY(-1px);box-shadow:0 4px 16px #2563eb14}.user-avatar{width:36px;height:36px;background:var(--office-gradient-accent);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;box-shadow:0 3px 10px #2563eb33;flex-shrink:0}.user-info-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.user-name{font-size:13.5px;font-weight:700;color:var(--office-text);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.user-role-tag{font-size:10.5px;font-weight:600;color:var(--office-primary);background:var(--office-primary-light);padding:1px 6px;border-radius:4px;letter-spacing:.2px}.dropdown-icon{font-size:11px;color:var(--office-text-secondary);transition:transform .25s ease;margin-left:2px}.dropdown-icon.rotated{transform:rotate(180deg)}.dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:998}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--office-surface);border:1px solid var(--office-border);border-radius:var(--office-radius-lg);box-shadow:0 20px 50px -12px #0f172a26,0 1px 3px #0000000a;min-width:280px;overflow:hidden;z-index:1000;animation:dropdownSlideIn .2s cubic-bezier(.16,1,.3,1)}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.user-menu-header{display:flex;align-items:center;gap:14px;padding:20px;background:linear-gradient(135deg,var(--office-bg) 0%,var(--office-bg-main) 100%);border-bottom:1px solid var(--office-border)}.user-avatar-large{width:48px;height:48px;background:var(--office-gradient-accent);color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;box-shadow:0 6px 16px #2563eb33;flex-shrink:0}.user-menu-name{margin:0;font-weight:700;color:var(--office-text);font-size:15px}.user-menu-role{margin:3px 0 0;color:var(--office-text-secondary);font-size:12px;font-weight:600}.user-menu-divider{height:1px;background:var(--office-border)}.user-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:none;border:none;color:var(--office-text-secondary);cursor:pointer;font-size:14px;font-weight:600;transition:var(--office-transition-fast);text-align:left}.user-menu-item:hover{background:var(--office-bg);color:var(--office-text);padding-left:24px}.user-menu-item.logout{color:#dc2626}.user-menu-item.logout:hover{background:#fef2f2;color:#b91c1c}@media (max-width: 768px){.menu-toggle{display:flex}.office-header-container{left:0;padding:0 16px;height:64px}.greeting-sub,.user-info-text,.dropdown-icon,.header-divider{display:none}.user-button{padding:6px;border-radius:50%;width:44px;height:44px;justify-content:center}.user-avatar{border-radius:50%}}@media (max-width: 480px){.greeting-main{font-size:15px}}.attendance-summary-page{padding:1.1rem;min-height:calc(100vh - 64px);background:radial-gradient(circle at 8% 8%,rgba(31,95,191,.12),transparent 38%),radial-gradient(circle at 92% 2%,rgba(19,73,150,.08),transparent 35%),linear-gradient(180deg,#f2f7ff,#eaf2ff)}.attendance-summary-header{border:1px solid #d7e5f8;border-radius:18px;background:linear-gradient(145deg,#fff,#edf5ff);box-shadow:0 12px 26px #122b5214;padding:1.1rem 1.2rem;margin-bottom:1rem}.attendance-summary-header h2{margin:0;color:#143257;font-size:1.9rem;font-weight:800}.attendance-summary-header p{margin:.35rem 0 0;color:#5d7090;font-weight:600}.attendance-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem}.attendance-summary-card{border:1px solid #d7e5f8;border-radius:14px;background:#fff;box-shadow:0 10px 24px #122b5214;padding:.95rem;text-align:left;display:flex;flex-direction:column;gap:.35rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.attendance-summary-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px #122b521f}.attendance-summary-card__icon{color:#1f5fbf;font-size:1.35rem}.attendance-summary-card__body h3{margin:.2rem 0;color:#143257;font-size:1.08rem;font-weight:800}.attendance-summary-card__body p{margin:0;color:#5d7090;font-size:.92rem;font-weight:600}.attendance-summary-card__cta{margin-top:.55rem;color:#1f5fbf;font-weight:800;font-size:.9rem}.attendance-summary-loading,.attendance-summary-empty{grid-column:1 / -1;border:1px solid #d7e5f8;border-radius:12px;background:#fff;color:#5d7090;font-weight:700;padding:1rem;text-align:center}.attendance-summary-spinner{width:32px;height:32px;border-radius:50%;border:3px solid #d7e5f8;border-top-color:#1f5fbf;margin:0 auto 10px;animation:attendance-summary-spin .9s linear infinite}@keyframes attendance-summary-spin{to{transform:rotate(360deg)}}.summary-scroll-container{min-height:calc(100vh - 64px);overflow-y:auto;padding:1.1rem;background:radial-gradient(circle at 8% 8%,rgba(31,95,191,.12),transparent 38%),radial-gradient(circle at 92% 2%,rgba(19,73,150,.08),transparent 35%),linear-gradient(180deg,#f2f7ff,#eaf2ff)}.summary-container{max-width:1280px;margin:0 auto;border:1px solid #d7e5f8;border-radius:16px;background:#fff;box-shadow:0 12px 26px #122b5214;padding:1.1rem}.summary-header{border:1px solid #d7e5f8;border-radius:14px;background:linear-gradient(145deg,#fff,#edf5ff);padding:1rem;margin-bottom:1rem}.summary-header h1{margin:0;color:#143257;font-size:2rem;font-weight:800;text-align:center}.ciann-info{margin-top:.7rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.5rem}.ciann-info p{margin:0;border:1px solid #d7e5f8;border-radius:10px;background:#f5f9ff;color:#355ea8;padding:.45rem .55rem;font-size:.88rem;font-weight:600}.summary-container h3{margin:1rem 0 .6rem;color:#143257;font-size:1.7rem;font-weight:800;text-align:center}.overflow-x-auto{overflow-x:auto;margin-bottom:1rem;border:1px solid #d7e5f8;border-radius:12px}.summary-container table{width:100%;border-collapse:collapse;min-width:760px}.summary-container th,.summary-container td{border:1px solid #e6eefb;padding:.65rem;text-align:center;color:#183861;font-size:.88rem}.summary-container th{background:#edf4ff;color:#355ea8;text-transform:uppercase;letter-spacing:.03em;font-weight:800}.summary-container tbody tr:nth-child(2n) td{background:#fbfdff}.footer-summary{margin-top:1rem;padding-top:.8rem;border-top:1px solid #d7e5f8;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem}.footer-summary p{margin:0;color:#5d7090;font-size:.85rem}.footer-summary a{color:#1f5fbf;font-weight:700;text-decoration:none}.print-button{border:none;border-radius:10px;min-height:40px;padding:0 1rem;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#1f5fbf,#134996)}.summary-loading{min-height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;color:#5d7090;font-weight:700}.loading-spinner{width:38px;height:38px;border-radius:50%;border:3px solid #d7e5f8;border-top-color:#1f5fbf;animation:spin .8s linear infinite}@media (max-width: 768px){.summary-scroll-container{padding:.8rem}.summary-header h1{font-size:1.5rem}.summary-container h3{font-size:1.35rem}.footer-summary{flex-direction:column;align-items:flex-start}}@media print{.summary-scroll-container,.summary-container,.overflow-x-auto{background:#fff!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;overflow:visible!important}.print-button{display:none!important}.summary-container table{min-width:auto!important;page-break-inside:avoid}}.container{max-width:600px;margin:10px auto;padding:15px}select.form-control{font-size:16px;padding:10px;border-radius:6px;border:1px solid #ccc}.btn-success{font-size:16px;padding:10px;border-radius:6px}.alert-info{margin-bottom:20px;font-size:15px;padding:12px;border-radius:5px;border:1px solid #bce8f1;background-color:#d9edf7}h3.text-center{font-size:20px;font-weight:600;margin-bottom:30px}@media (max-width: 576px){.container{padding:10px}.btn-success,select.form-control,.alert-info{font-size:14px}}.assess-container{max-width:65%;margin:0 auto;padding:0 .5rem;width:95%;box-sizing:border-box}.assess-title{text-align:center;background-color:#198754;color:#fff;padding:8px;border-radius:6px;font-weight:700;border:2px dashed #0f5132;margin-bottom:10px;font-size:1.1rem}.table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0;margin-top:.5rem;font-size:.8rem;table-layout:fixed}.table th,.table td{padding:.4rem;vertical-align:middle;background-color:#f0f0f0;border:1px solid #ccc}.table th:first-child,.table td:first-child{text-align:center;width:8%;min-width:40px}.table th:nth-child(2),.table td:nth-child(2){text-align:left;width:78%;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.table th:last-child,.table td:last-child{text-align:center;width:14%;min-width:60px}.table-striped tbody tr:nth-of-type(odd){background-color:#e9e9e9}.table thead th{background-color:#f8f9fa;font-weight:700}.btn-outline-primary{font-weight:500;padding:2px 6px;border-radius:3px;transition:.2s ease-in-out;font-size:.75rem}.btn-outline-primary:hover{background-color:#0d6efd;color:#fff}.table-responsive{overflow-x:auto;width:100%}@media (max-width: 768px){.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{margin-bottom:1rem;border:1px solid #ddd;border-radius:5px;padding:1rem}.table td{text-align:left;position:relative;padding-left:50%}.table td:before{position:absolute;top:.5rem;left:1rem;width:45%;padding-right:10px;white-space:nowrap;font-weight:700;color:#333;content:attr(data-label)}}body{background-color:#f5f6fa}.container{max-width:1200px;margin:.5rem auto!important;padding:15px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014}@media (min-width: 1200px){.container{max-width:1400px;padding:30px}}.page-header{background-color:#28a745;color:#fff;padding:15px 20px;border-radius:8px;text-align:center;margin-bottom:25px;font-size:1.4rem;font-weight:600;box-shadow:0 2px 4px #0000001a}h4{font-weight:700;color:#333}p{font-size:1.05rem;margin-top:10px;margin-bottom:15px}@media (min-width: 992px){h4{font-size:1.8rem;margin-bottom:20px}p{font-size:1.1rem;margin-bottom:20px}.mt-4{margin-top:2rem!important}}.alert-info{background-color:#d9edf7;border:1px solid #bce8f1;padding:15px 20px;border-radius:6px;color:#31708f;margin-bottom:25px;font-size:15px}.alert-info strong{color:#2c5aa0}.alert-secondary{background-color:#f8f9fa;border:1px solid #dee2e6;color:#495057;padding:12px 20px;border-radius:6px;font-size:15px}@media (min-width: 992px){.alert-info{padding:20px 25px;font-size:1rem;margin-bottom:25px}.alert-info strong{display:inline-block;min-width:120px}}.table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;border:1px solid #e9ecef}.table{margin-bottom:0;font-size:.95rem}.table th,.table td{text-align:center;vertical-align:middle;padding:12px 15px;border-color:#e9ecef}.table th{background-color:#f8f9fa;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;position:sticky;top:0;z-index:10}@media (min-width: 992px){.table{font-size:1rem}.table th,.table td{padding:15px 20px}.table th:first-child,.table td:first-child{width:20%}.table th:nth-child(2),.table td:nth-child(2){width:55%;text-align:left;padding-left:25px}.table th:last-child,.table td:last-child{width:25%}.table input.form-control{max-width:120px;margin:0 auto;font-size:1rem;padding:8px 12px;text-align:center}}.search-controls{background-color:#f8f9fa;padding:15px 20px;border-radius:8px;margin-bottom:20px;border:1px solid #e9ecef}.d-flex input.form-control{min-width:250px;font-size:14px;padding:8px 12px;border-radius:6px}.btn{font-size:.9rem;padding:8px 15px;border-radius:6px}@media (min-width: 992px){.page-header{font-size:1.6rem;padding:20px 25px}.search-controls{padding:20px 25px}.d-flex input.form-control{min-width:350px;font-size:1rem;padding:10px 15px}.btn{font-size:.95rem;padding:10px 18px}.d-flex.justify-content-between{align-items:center}}.submit-section{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-top:25px;border:1px solid #e9ecef;text-align:center}button.btn-success{font-size:1rem;padding:12px 30px;border-radius:6px;font-weight:500;min-width:150px}@media (min-width: 992px){.submit-section{padding:25px 30px;margin-top:30px}button.btn-success{font-size:1.1rem;padding:15px 40px;border-radius:8px;min-width:180px}.alert-warning{font-size:1rem;padding:15px 20px;margin-bottom:20px}}@media (min-width: 992px){.table-hover tbody tr:hover{background-color:#f8f9fa;transition:background-color .2s ease}}@media (max-width: 768px){.d-flex{flex-direction:column;align-items:stretch;gap:8px}.d-flex input.form-control,.d-flex .btn{width:100%!important}}.assessment-container select{width:100%;padding:12px;border:1px solid #ddd;border-radius:0 0 6px 6px;font-size:14px;box-sizing:border-box;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;background-color:#fff;margin-bottom:20px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%236c757d%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 1rem center;background-size:.65em auto}.assessment-dashboard{padding:20px}.dashboard-header,.batch-selection-card{margin-bottom:20px}.statistics-cards{margin-bottom:30px}.stat-card{text-align:center;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.stat-card h5{font-size:2rem;font-weight:700;margin-bottom:10px}.stat-card.primary{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.stat-card.success{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.stat-card.warning{background:linear-gradient(135deg,#ffc107,#e0a800);color:#fff}.stat-card.info{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff}.experiment-stats-table{margin-top:20px}.experiment-stats-table th{background-color:#f8f9fa;font-weight:600}.marks-badge{font-size:.9rem;padding:5px 10px}.action-buttons{display:flex;gap:5px}.no-data-card{text-align:center;padding:40px;background-color:#f8f9fa;border-radius:8px}.loading-spinner{text-align:center;padding:40px}.error-alert{margin-bottom:20px}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 768px){.dashboard-actions{flex-direction:column}.dashboard-actions .btn{width:100%;margin-bottom:10px}.stat-card h5{font-size:1.5rem}}.card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026;transition:all .3s ease}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.btn-group .btn:last-child{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.table-responsive{border-radius:8px;overflow:hidden}.table th{border-top:none;font-weight:600;color:#495057}.badge{font-size:.85rem;padding:.5em .75em}.alert{border-radius:8px}.statistics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.progressive-assessment-container{width:95%;max-width:1200px;background:#fff;border-radius:16px;box-shadow:0 6px 20px #0000001f;padding:25px 28px;display:flex;flex-direction:column;align-items:flex-start;min-height:400px;height:fit-content;margin:40px auto 40px 250px}.progressive-assessment-container h2{font-size:2rem;color:#28a745;font-weight:700;margin:0 0 32px;letter-spacing:-.02em;width:100%;border-bottom:2px solid #e0e0e0;padding-bottom:15px}.marks-table{width:100%;border-collapse:collapse;margin-bottom:25px;box-shadow:0 2px 8px #0000000d}.marks-table th,.marks-table td{border:1px solid #e0e0e0;padding:14px 16px;text-align:left;vertical-align:middle;font-size:15px}.marks-table th{background-color:#f8f9fa;font-weight:600;color:#333}.marks-table .exp-id{width:10%}.marks-table .exp-name{width:70%}.marks-table .marks{width:20%;text-align:center}.marks-input{width:80%;padding:12px 14px;border:1px solid #ddd;border-radius:6px;font-size:15px;text-align:center;box-sizing:border-box;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.marks-input:focus{outline:none;border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}.submit-button{background-color:#28a745;color:#fff;padding:12px 32px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 2px 5px #28a74533;display:block;margin:0 auto}@media (max-width: 768px){.progressive-assessment-container{width:100%;margin:0 auto 10px;padding:20px 15px;border-radius:8px;box-shadow:none}.progressive-assessment-container h2{font-size:1.7rem}.marks-input{padding:10px 12px;font-size:14px}}@media (max-width: 480px){.progressive-assessment-container{padding:15px 10px;margin:0 auto 10px}.progressive-assessment-container h2{font-size:1.5rem}.student-info{font-size:13px;padding:10px 12px}.submit-button{padding:10px 24px;font-size:15px}}.timetable-main-content{margin-left:185px;margin-top:15px;padding:20px;background-color:#f8f9fa;min-height:80vh;width:90%}.attendance-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.header-row{margin-bottom:20px}.header-row h3{font-size:2rem;color:#333;margin:0 0 10px;font-weight:700}.experiment-info{font-size:14px;color:#666;margin:0;font-weight:500}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.search-input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.icon-btn{background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background-color:#f8f9fa;border-color:#007bff}.icon-btn i{font-size:14px;color:#666}.dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 12px #00000026;padding:10px;min-width:120px;z-index:1000}.dropdown-label{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;cursor:pointer}.dropdown-label input[type=checkbox]{margin:0}.table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:6px}.table-container table{width:100%;border-collapse:collapse;background:#fff}.table-container th,.table-container td{padding:12px 16px;text-align:left;border:1px solid #e0e0e0;font-size:14px}.table-container th{background-color:#f8f9fa;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.table-container tbody tr:hover{background-color:#f8f9fa}.table-container th:not(:last-child),.table-container td:not(:last-child){border-right:1px solid #e0e0e0}.table-container th:last-child,.table-container td:last-child{border-right:none}.table-container tr:last-child td{border-bottom:none}.marks-input-field{width:80px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;text-align:center;box-sizing:border-box;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.marks-input-field:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.submit-wrapper{display:flex;justify-content:center;align-items:center;margin-top:30px;width:100%}.submit-button{background-color:#28a745;color:#fff;padding:12px 32px;font-size:16px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 2px 5px #28a74533}.submit-button:hover{background-color:#218838;transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.submit-button:active{transform:translateY(0);box-shadow:0 2px 5px #28a74533}@media (max-width: 1024px){.timetable-main-content{margin-left:0;padding:15px}}@media (max-width: 768px){.toolbar{flex-wrap:wrap;gap:8px}.search-input{min-width:200px}.table-container th,.table-container td{padding:8px 12px;font-size:13px}.marks-input-field{width:60px;padding:4px 6px;font-size:12px}}@media (max-width: 480px){.theory-attendance-container{padding:15px}.header-row h3{font-size:1.3rem}.experiment-info{font-size:12px}.toolbar{padding:10px}.table-container th,.table-container td{padding:6px 8px;font-size:12px}.submit-button{padding:10px 24px;font-size:14px}}.assessment-page-container{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:20px;box-sizing:border-box;width:100%}.assessment-container{width:100%;max-width:1000px;min-height:10vh;margin:20px auto;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:24px 30px;display:flex;flex-direction:column;align-items:flex-start}.assessment-container h2{width:100%;font-size:2rem;color:#28a745;font-weight:700;margin:0 0 20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0;letter-spacing:-.02em}.assessment-container form{width:100%;display:flex;flex-direction:column}.assessment-container label{background-color:#28a745;color:#fff;padding:10px 14px;font-weight:600;font-size:15px;text-align:left;margin:0;border-radius:6px 6px 0 0}.assessment-container select{width:100%;padding:12px;border:1px solid #ddd;border-radius:0 0 6px 6px;font-size:14px;box-sizing:border-box;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;background-color:#fff;margin-bottom:20px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%236c757d%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 1rem center;background-size:.65em auto}.assessment-container select:focus{outline:none;border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}.assessment-container button[type=submit]{background-color:#28a745;color:#fff;padding:10px 28px;font-size:15px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 2px 5px #28a74533;align-self:center;margin-top:20px}.assessment-container button[type=submit]:hover{background-color:#218838;transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.assessment-container button[type=submit]:active{transform:translateY(0);box-shadow:0 2px 5px #28a74533}@media (max-width: 768px){.assessment-page-container{padding:15px}.assessment-container{padding:20px 16px}.assessment-container h2{font-size:1.6rem}}@media (max-width: 480px){.assessment-container{padding:16px 12px}.assessment-container h2{font-size:1.6rem}.assessment-container select,.assessment-container button[type=submit]{font-size:14px}}body{height:100%;font-family:Roboto,sans-serif;font-weight:400;background:#f6f8fa;margin:0}.progressive-assessment-container{width:95%;max-width:1200px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding-bottom:0;display:flex;flex-direction:column;align-items:flex-start;min-height:400px;height:fit-content;margin:40px auto 40px 250px}.progressive-assessment-container h2{font-size:1.8rem;color:#555;font-weight:600;margin:0 0 30px;letter-spacing:-.02em;width:100%}.student-info{font-size:15px;color:#495057;margin-bottom:24px;background-color:#f8f9fa;border-left:4px solid #28a745;padding:12px 16px;border-radius:8px;width:100%}.table-container{width:100%;overflow-x:auto;border-radius:8px;height:auto}.marks-table{width:100%;border-collapse:collapse;border:2px solid #dee2e6;border-spacing:0;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.marks-table th,.marks-table td{border:1px solid #dee2e6;padding:12px 20px;font-size:14px;vertical-align:middle;text-align:center;line-height:1.4}.marks-table th{background-color:#f8f9fa;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;padding:14px 20px;text-transform:uppercase;font-size:13px;letter-spacing:.5px}.marks-table .exp-id{width:100px;text-align:center;font-weight:500;padding:12px}.marks-table .exp-name{width:auto;color:#555;line-height:1.4;text-align:left;padding:12px 24px}.marks-table .edit-column{width:150px;text-align:center;padding:12px 20px}.edit-button{background-color:#007bff;color:#fff;padding:12px 20px;font-size:16px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;width:10px;margin:0 auto;box-shadow:0 2px 4px #007bff33;height:40px}.edit-button:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.edit-button i{font-size:18px;color:#ff6b35}.edit-controls{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.marks-input{width:80px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;text-align:center;box-sizing:border-box;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.marks-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.save-button{background-color:#28a745;color:#fff;padding:6px 12px;font-size:12px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease-in-out}.save-button:hover{background-color:#218838}.cancel-button{background-color:#6c757d;color:#fff;padding:6px 12px;font-size:12px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease-in-out}.cancel-button:hover{background-color:#545b62}.marks-table tbody tr{transition:background-color .2s ease-in-out}.marks-table tbody tr:nth-child(2n){background-color:#fafbfc}.marks-table tbody tr:hover{background-color:#e3f2fd;transform:scale(1.001)}.marks-table tbody tr td{border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.empty-table-message{text-align:center;color:#888;font-style:italic;padding:20px}@media (max-width: 1024px){.progressive-assessment-container{padding:30px 20px;width:98%;margin:0 auto 20px}}@media (max-width: 768px){.progressive-assessment-container{width:100%;margin:0 auto 10px;padding:20px 15px;border-radius:8px;box-shadow:none}.progressive-assessment-container h2{font-size:1.5rem}.marks-table .exp-name{font-size:13px}.edit-controls{flex-direction:column;gap:4px}.marks-input{width:60px;padding:4px 6px;font-size:12px}.edit-button,.save-button,.cancel-button{padding:4px 8px;font-size:11px}}@media (max-width: 480px){.progressive-assessment-container{padding:15px 10px;margin:0 auto 10px}.progressive-assessment-container h2{font-size:1.3rem}.student-info{font-size:13px;padding:10px 12px}.marks-table th,.marks-table td{padding:8px 6px;font-size:12px}.marks-table .exp-id{width:50px}.marks-table .edit-column{width:80px}}.container{max-width:1200px;margin:auto}h4{font-weight:700;color:#333;margin-bottom:.5rem}p{font-size:1.05rem;margin-top:5px;margin-bottom:10px;color:#666}.alert-info{background-color:#e7f3fe;border:1px solid #b3d7ff;padding:15px;border-radius:8px;color:#084298}.stats-card{border:none;box-shadow:0 2px 4px #0000001a;border-radius:8px;margin-bottom:10px;transition:transform .2s ease}.stats-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.stats-card .card-body{padding:1rem .5rem}.stats-card .card-title{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.stats-card .card-text{font-size:.8rem;color:#666;margin-bottom:0}.table{margin-top:20px;font-size:.95rem;box-shadow:0 2px 4px #0000001a;border-radius:8px;overflow:hidden}.table th,.table td{text-align:center;vertical-align:middle;padding:12px 8px}.table th{background-color:#f8f9fa;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.table-warning{background-color:#fff3cd!important}.marks-badge{padding:4px 8px;border-radius:12px;font-weight:600;font-size:.9rem}.high-marks{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.medium-marks{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.low-marks{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.fail-marks{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.grade-a-plus{background-color:#28a745!important;color:#fff!important}.grade-a{background-color:#20c997!important;color:#fff!important}.grade-b-plus{background-color:#17a2b8!important;color:#fff!important}.grade-b{background-color:#007bff!important;color:#fff!important}.grade-c-plus{background-color:#ffc107!important;color:#212529!important}.grade-c{background-color:#fd7e14!important;color:#fff!important}.grade-f{background-color:#dc3545!important;color:#fff!important}.d-flex input.form-control{min-width:250px;border-radius:6px}.btn{font-size:.9rem;border-radius:6px;padding:8px 16px}.btn-outline-success:hover{background-color:#28a745;border-color:#28a745}.btn-outline-primary:hover{background-color:#007bff;border-color:#007bff}.btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d}.spinner-border{width:3rem;height:3rem}.text-muted{font-size:.9rem}.btn-outline-success{border-color:#28a745;color:#28a745}@media (max-width: 768px){.container{padding:0 15px}.d-flex.justify-content-between{flex-direction:column;gap:15px}.d-flex.justify-content-between>div{width:100%}.d-flex input.form-control{width:100%!important;min-width:unset;margin-bottom:10px}.stats-card .card-title{font-size:1.2rem}.table{font-size:.85rem}.table th,.table td{padding:8px 4px}.marks-badge{font-size:.8rem;padding:2px 6px}.btn{font-size:.85rem;padding:6px 12px}}@media (max-width: 576px){.row.mb-4{margin-bottom:1rem!important}.col-md-2{margin-bottom:10px}.stats-card .card-body{padding:.75rem .5rem}.alert-info .row .col-md-6{margin-bottom:10px}}@media print{.btn,.d-flex,.alert{display:none!important}.container{max-width:100%!important}.table{font-size:.8rem}.stats-card{box-shadow:none;border:1px solid #dee2e6}}.view-assessment-page-wrapper{padding:20px;background-color:#f8f9fa;min-height:calc(100vh - 120px);position:relative;z-index:1}.view-assessment-container{position:relative;z-index:1;width:100%;max-width:none;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.assessment-content{position:relative;z-index:1;padding:0}.assessment-header-card{border-radius:0;border:none;margin-bottom:0;box-shadow:none}.assessment-table-wrapper{position:relative;z-index:1;background:#fff;border-radius:0;box-shadow:none;border:none}.assessment-table-responsive{position:relative;overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 250px)}.assessment-table{position:relative;margin-bottom:0;background:#fff;font-size:.85rem;border-collapse:collapse;width:100%}.assessment-table thead th{position:sticky;top:0;z-index:3;background-color:#28a745!important;color:#fff;padding:8px 6px;text-align:center;font-weight:600;font-size:.8rem;border:1px solid #dee2e6}.assessment-table tbody td{padding:6px 4px;text-align:center;vertical-align:middle;border:1px solid #dee2e6;font-size:.8rem}.assessment-table tbody tr:hover{background-color:#f8f9fa}.roll-no-header,.roll-no-cell{background-color:#28a745!important;color:#fff!important;font-weight:700;width:80px;min-width:80px;max-width:80px}.student-name-header,.student-name-cell{width:200px;min-width:200px;max-width:200px;text-align:left!important;padding-left:12px!important}.student-name-header{background-color:#28a745!important;color:#fff!important}.student-name-cell{font-weight:500}.assessment-table th:not(.roll-no-header):not(.student-name-header):not(.total-header){width:80px;min-width:80px;max-width:80px}.total-header,.total-cell{width:80px;min-width:80px;max-width:80px;background-color:#28a745!important;color:#fff!important}@media (max-width: 768px){.view-assessment-page-wrapper{margin-left:0;padding:10px}.view-assessment-container{max-width:100%}.assessment-table-responsive{max-height:calc(100vh - 200px)}.assessment-table{font-size:.75rem}.assessment-table thead th{padding:6px 4px;font-size:.7rem}.assessment-table tbody td{padding:4px 2px;font-size:.7rem}}@media print,(min-width: 0) and (max-width: 99999px){body.printing .print-section,body.printing .no-print{display:none!important}}@media print{.print-only-content{display:block!important;visibility:visible!important;opacity:1!important;background:#fff!important;color:#000!important;padding:15px!important}.view-assessment-container,.print-section,.no-print{display:none!important}.basic-header,.basic-footer,.sidebar,.main-content-wrapper>header,.main-content-wrapper>footer{display:none!important}*{-webkit-print-color-adjust:exact!important;color-adjust:exact!important}body,html{margin:0!important;padding:0!important;background:#fff!important;color:#000!important;font-size:12pt!important}.app-container,.main-content-wrapper,.scrollable-content{margin:0!important;padding:0!important;background:#fff!important;width:100%!important;max-width:none!important;overflow:visible!important}.view-assessment-container{box-shadow:none!important;border-radius:0!important;margin:0!important;padding:15px!important;background:#fff!important;width:100%!important;max-width:none!important;display:block!important;visibility:visible!important;opacity:1!important}.assessment-header{text-align:center;margin-bottom:20px;page-break-inside:avoid;background:#fff!important;display:block!important;visibility:visible!important;opacity:1!important}.course-diary-title h1{color:#000!important;font-size:18pt!important;margin:0 0 10px!important;font-weight:700!important;display:block!important;visibility:visible!important;opacity:1!important}.table-title{color:#000!important;font-size:14pt!important;margin:10px 0!important;text-align:center}.ciaan-info{background:#f8f9fa!important;color:#000!important;border:1px solid #000!important;padding:10px!important;margin-bottom:15px!important;page-break-inside:avoid;font-size:10pt!important}.assessment-table-container{background:#fff!important;padding:0!important;margin:0!important;display:block!important;visibility:visible!important;opacity:1!important}.assessment-table-responsive{overflow:visible!important;max-height:none!important;box-shadow:none!important;border-radius:0!important;display:block!important;visibility:visible!important;opacity:1!important}.assessment-table{width:100%!important;font-size:10pt!important;border-collapse:collapse!important;border:2px solid #000!important;background:#fff!important;margin:0!important;display:table!important;visibility:visible!important;opacity:1!important}.assessment-table thead th{background:#e9ecef!important;color:#000!important;border:1px solid #000!important;padding:8px 4px!important;font-weight:700!important;text-align:center!important;font-size:9pt!important}.assessment-table tbody td{border:1px solid #000!important;padding:6px 4px!important;background:#fff!important;color:#000!important;text-align:center!important;font-size:9pt!important}.roll-no-header,.student-name-header{background:#d4edda!important;color:#000!important}.student-name-cell{text-align:left!important;padding-left:8px!important}.total-header,.total-cell{background:#d4edda!important;color:#000!important;font-weight:700!important}.assessment-table tbody tr:hover{background-color:#fff!important;transform:none!important;box-shadow:none!important}.assessment-table{page-break-inside:auto}.assessment-table thead{display:table-header-group}.assessment-table tbody tr{page-break-inside:avoid}}@media (min-width: 769px){.view-assessment-page-wrapper{margin-left:220px}}@media print{.view-assessment-page-wrapper{background:#fff;padding:0}.view-assessment-container{box-shadow:none;border-radius:0;max-width:100%}.assessment-table-responsive{max-height:none;overflow:visible}}.practical-exam-section{--pex-bg-1: #f3f8ff;--pex-bg-2: #eef5ff;--pex-panel: #ffffff;--pex-border: #d9e5f7;--pex-text: #10223b;--pex-muted: #5c6b80;--pex-primary: #0c5bbf;--pex-primary-strong: #084693;--pex-info: #0e7f85;--pex-warning: #b06a00;min-height:calc(100vh - 64px);padding:1.25rem;background:radial-gradient(circle at 8% 10%,rgba(12,91,191,.12),transparent 38%),radial-gradient(circle at 92% 0%,rgba(14,127,133,.1),transparent 34%),linear-gradient(180deg,var(--pex-bg-1),var(--pex-bg-2))}.practical-exam-loading{display:grid;place-items:center;min-height:calc(100vh - 100px);color:#4f6078;font-weight:600}.practical-hero,.practical-section-card,.practical-flow-steps{max-width:1180px;margin:0 auto 1rem}.practical-hero{border:1px solid var(--pex-border);border-radius:18px;background:linear-gradient(145deg,#fff,#f0f6ff);padding:1.1rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.practical-hero h1{margin:0;font-size:1.4rem;font-weight:800;color:var(--pex-text)}.practical-hero p{margin:.35rem 0 0;color:var(--pex-muted)}.practical-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:.65rem}.practical-hero-meta>div{border:1px solid #d5e2f7;border-radius:12px;background:#fff;padding:.55rem .7rem;display:flex;flex-direction:column;gap:.2rem}.practical-hero-meta strong{color:var(--pex-text);font-size:1.15rem}.practical-hero-meta span{color:var(--pex-muted);font-size:.8rem}.practical-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.flow-step{display:flex;align-items:center;gap:.6rem;border:1px solid var(--pex-border);border-radius:12px;background:#f8fbff;padding:.6rem .8rem}.flow-step.is-done{background:#eaf3ff;border-color:#bfd7fb}.flow-index{inline-size:24px;block-size:24px;border-radius:50%;display:grid;place-items:center;background:#dde9fb;color:#1e4575;font-weight:700;font-size:.8rem}.flow-step.is-done .flow-index{background:linear-gradient(140deg,var(--pex-primary),var(--pex-primary-strong));color:#fff}.flow-title{font-weight:700;color:var(--pex-text);font-size:.9rem}.practical-section-card{background:var(--pex-panel);border:1px solid var(--pex-border);border-radius:16px;padding:1rem;box-shadow:0 10px 24px #0e264a0f}.section-card-title{margin:0 0 .9rem;font-size:1.05rem;color:var(--pex-text);font-weight:800}.section-controls{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:1rem}.control-group label{display:block;margin-bottom:.35rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700;color:#566c8d}.control-group .form-control{width:100%;border:1px solid #cad8ef;border-radius:10px;min-height:42px;padding:0 .7rem;font-size:.95rem}.control-group .form-control:focus{outline:none;border-color:#9ebbe0;box-shadow:0 0 0 .2rem #0c5bbf24}.section-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:.9rem}.action-card{text-align:left;border:1px solid #c7d8f3;border-radius:14px;background:#fff;padding:.9rem;display:flex;flex-direction:column;gap:.4rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.action-card i{font-size:1.2rem}.action-card span{font-weight:800;color:#173058}.action-card small{color:#5f7088;line-height:1.45}.action-card:disabled{opacity:.6;cursor:not-allowed}.action-card:hover:not(:disabled){transform:translateY(-2px)}.action-add{border-color:#b9d4fb;background:linear-gradient(145deg,#fff,#eef5ff)}.action-add i{color:var(--pex-primary)}.action-add:hover:not(:disabled){box-shadow:0 10px 20px #0c5bbf29}.action-manage{border-color:#b6e2e4;background:linear-gradient(145deg,#fff,#ecfafb)}.action-manage i{color:var(--pex-info)}.action-manage:hover:not(:disabled){box-shadow:0 10px 20px #0e7f8526}.action-status{border-color:#f2ddb6;background:linear-gradient(145deg,#fff,#fff8ec)}.action-status i{color:var(--pex-warning)}.action-status:hover:not(:disabled){box-shadow:0 10px 20px #b06a0029}.exams-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem}.course-card{border:1px solid #d8e5f6;border-radius:12px;background:#fbfdff;padding:.8rem}.course-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.course-card-head h3{margin:0;color:#1a3860;font-size:1rem;font-weight:800}.course-card-head span{font-size:.75rem;font-weight:700;padding:.2rem .45rem;border-radius:999px;background:#eaf2ff;color:#35598a}.course-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.course-card li{border:1px solid #e4edf9;background:#fff;border-radius:8px;padding:.45rem .55rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.exam-title{font-size:.9rem;color:#18345d;font-weight:600}.course-card small{color:#6f809a;font-size:.75rem}.course-more{margin:.5rem 0 0;color:#6c7f9a;font-size:.82rem}@media (max-width: 980px){.section-actions-grid,.section-controls,.practical-flow-steps{grid-template-columns:1fr}.practical-hero-meta{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 700px){.practical-exam-section{padding:.9rem}.practical-hero-meta{grid-template-columns:1fr}}.practical-exam-dashboard{--ped-bg-1: #f3f8ff;--ped-bg-2: #eef5ff;--ped-text: #10223d;--ped-muted: #5f7088;min-height:calc(100vh - 64px);padding:1.25rem;background:radial-gradient(circle at 8% 10%,rgba(13,91,190,.12),transparent 40%),radial-gradient(circle at 90% 0%,rgba(8,70,147,.1),transparent 34%),linear-gradient(180deg,var(--ped-bg-1),var(--ped-bg-2))}.dashboard-header{text-align:center;margin:0 auto 1rem;color:var(--ped-text);max-width:1080px}.dashboard-header .dashboard-title{font-size:1.95rem;font-weight:800;margin:0;color:var(--ped-text)}.dashboard-header .dashboard-subtitle{font-size:1rem;color:var(--ped-muted);margin-top:.45rem}.dashboard-flow-bar{max-width:1080px;margin:0 auto 1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.dashboard-flow-bar span{border:1px solid #d2e0f5;border-radius:10px;background:#f8fbff;padding:.55rem .7rem;text-align:center;color:#2a476f;font-weight:700;font-size:.86rem}.cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.9rem;max-width:1080px;margin:0 auto}.dashboard-card{background:#fff;border-radius:14px;border:1px solid #d9e4f6;box-shadow:0 10px 22px #102c5414;transition:all .3s ease;display:flex;flex-direction:column;height:100%}.dashboard-card:hover{transform:translateY(-3px)}.card-header{padding:1rem 1rem .6rem;display:flex;align-items:center;justify-content:flex-start}.card-header i{font-size:1.5rem}.card-body{padding:0 1rem .8rem;flex-grow:1}.card-title{font-size:1.08rem;font-weight:800;margin:0 0 .45rem;color:#173058}.card-description{font-size:.9rem;color:#5f7088;margin:0;line-height:1.5}.card-footer{padding:0 1rem 1rem}.dashboard-cta{width:100%;border:none;border-radius:10px;min-height:40px;color:#fff;font-size:.92rem;font-weight:700;cursor:pointer;transition:transform .2s ease,filter .2s ease}.dashboard-cta:hover{transform:translateY(-1px);filter:brightness(1.03)}.tone-primary .card-header i{color:#0c5bbf}.tone-primary .dashboard-cta{background:linear-gradient(135deg,#0c5bbf,#084693)}.tone-primary{background:linear-gradient(150deg,#fff,#f1f6ff)}.tone-info .card-header i{color:#0e7f85}.tone-info .dashboard-cta{background:linear-gradient(135deg,#0e7f85,#0a666b)}.tone-info{background:linear-gradient(150deg,#fff,#effbfc)}.tone-warning .card-header i{color:#b06a00}.tone-warning .dashboard-cta{background:linear-gradient(135deg,#ca7d07,#9d5f04)}.tone-warning{background:linear-gradient(150deg,#fff,#fff7ec)}@media (max-width: 768px){.practical-exam-dashboard{padding:1rem}.dashboard-header .dashboard-title{font-size:1.45rem}.dashboard-header .dashboard-subtitle{font-size:.95rem}.dashboard-flow-bar{grid-template-columns:1fr}.cards-container{grid-template-columns:1fr;gap:.75rem}}.add-practical-container{padding:30px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.form-header{text-align:center;margin-bottom:40px;color:#2c3e50}.form-title{font-size:2.2rem;font-weight:700;margin:0;color:#2c3e50}.form-subtitle{font-size:1rem;color:#7f8c8d;margin-top:10px}.practical-form{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:800px;margin:0 auto;padding:40px}.form-section{margin-bottom:35px}.form-section:last-of-type{margin-bottom:0}.section-title{font-size:1.3rem;font-weight:600;color:#2c3e50;margin:0 0 25px;padding-bottom:10px;border-bottom:2px solid #ecf0f1}.form-group{margin-bottom:20px}.form-label{display:block;font-weight:600;color:#2c3e50;margin-bottom:8px;font-size:.95rem}.required{color:#e74c3c;font-weight:700}.form-control{width:100%;padding:12px 15px;border:2px solid #ecf0f1;border-radius:6px;font-size:1rem;font-family:inherit;transition:all .3s ease;box-sizing:border-box}.form-control:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-control::placeholder{color:#bdc3c7}textarea.form-control{resize:vertical;min-height:100px}.char-count{display:inline-block;margin-top:5px;font-size:.85rem;color:#95a5a6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-col{margin-bottom:0}.divisions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px;padding:20px;background:#f8f9fa;border-radius:8px}.division-checkbox{display:flex;align-items:center;padding:12px 15px;background:#fff;border:2px solid #ecf0f1;border-radius:6px;cursor:pointer;transition:all .3s ease;font-weight:500;color:#2c3e50}.division-checkbox:hover{border-color:#3498db;background:#ecf7ff}.division-checkbox input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer;accent-color:#3498db}.division-checkbox input[type=checkbox]:checked+.checkbox-label{color:#3498db;font-weight:600}.checkbox-label{cursor:pointer}.no-divisions-message{padding:20px;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;margin-bottom:20px}.no-divisions-message p{margin:0;font-size:.95rem}.selected-info{margin-top:15px;padding:12px;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-size:.9rem}.alert{padding:15px;border-radius:6px;margin-bottom:20px;font-weight:500}.alert-danger{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.form-actions{display:flex;gap:15px;margin-top:30px;padding-top:20px;border-top:2px solid #ecf0f1;justify-content:flex-end}.btn{padding:12px 30px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;min-width:150px;text-align:center}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d;transform:translateY(-2px)}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.spinner{width:50px;height:50px;border:4px solid #ecf0f1;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner p{margin-top:15px;font-size:1.1rem;color:#7f8c8d;font-weight:500}@media (max-width: 768px){.add-practical-container{padding:15px}.practical-form{padding:20px}.form-title{font-size:1.6rem}.form-row{grid-template-columns:1fr;gap:15px}.divisions-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}.manage-practical-container{--mp-bg-a: #f4f8ff;--mp-bg-b: #edf4ff;--mp-card: #ffffff;--mp-border: #d7e4f7;--mp-text: #10233e;--mp-muted: #60718a;--mp-primary: #0e5bbe;--mp-primary-deep: #083f83;--mp-info-bg: #eaf2ff;--mp-info-tx: #184f9e;--mp-cyan-bg: #e8f8fb;--mp-cyan-tx: #0b7078;--mp-warn-bg: #fff4e8;--mp-warn-tx: #9d4b11;--mp-danger-bg: #ffecee;--mp-danger-tx: #ab3131;min-height:calc(100vh - 64px);padding:1.25rem;background:radial-gradient(circle at 10% 8%,rgba(14,91,190,.12),transparent 38%),radial-gradient(circle at 92% 2%,rgba(8,63,131,.12),transparent 32%),linear-gradient(180deg,var(--mp-bg-a),var(--mp-bg-b))}.manage-practical-hero,.summary-strip,.filters-panel,.exam-grid,.empty-state,.mp-alert,.loading-spinner{max-width:1180px;margin-left:auto;margin-right:auto}.manage-practical-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid var(--mp-border);border-radius:18px;background:linear-gradient(145deg,#fff,#eef5ff);box-shadow:0 12px 26px #122b5214}.mp-title{margin:0;padding:0;background:transparent;color:var(--mp-text);font-size:1.7rem;font-weight:800;line-height:1.2}.mp-subtitle{margin:.35rem 0 0;color:var(--mp-muted);max-width:700px;font-size:1rem}.hero-add-btn{border:none;border-radius:12px;min-width:220px;min-height:44px;padding:0 1rem;background:linear-gradient(135deg,var(--mp-primary),var(--mp-primary-deep));color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;box-shadow:0 12px 24px #0e5bbe47;transition:transform .2s ease,filter .2s ease}.hero-add-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.mp-summary-tile{border:1px solid var(--mp-border);border-radius:12px;background:var(--mp-card);padding:.7rem .9rem}.mp-summary-tile span{display:block;margin-bottom:.2rem;color:#5b7294;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.mp-summary-tile strong{color:var(--mp-text);font-size:1.25rem}.filters-panel{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,280px) auto;gap:.75rem;align-items:end;margin-bottom:1rem;padding:.9rem;border:1px solid var(--mp-border);border-radius:14px;background:#fff;box-shadow:0 8px 18px #122b520f}.mp-filter-group{display:flex;flex-direction:column}.mp-filter-label{margin-bottom:.35rem;color:#5b7294;font-size:.79rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.mp-filter-input{min-height:42px;border:1px solid #c8d8ef;border-radius:10px;padding:0 .75rem;color:#173058;font-size:.95rem}.mp-filter-input:focus{outline:none;border-color:#9fbde1;box-shadow:0 0 0 .2rem #0e5bbe24}.filters-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.mp-secondary-btn{min-height:40px;border:1px solid #c6d6ef;border-radius:10px;background:#f5f9ff;color:#25466f;padding:0 .8rem;font-weight:700}.mp-secondary-btn:hover{background:#eaf3ff}.exam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:.85rem}.exam-card{border:1px solid var(--mp-border);border-radius:14px;background:var(--mp-card);box-shadow:0 10px 22px #122b5212;padding:.95rem;display:flex;flex-direction:column;gap:.75rem}.exam-card-head{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.exam-card-head h3{margin:0;color:#16335a;font-size:1.06rem;font-weight:800}.mp-status-pill{border-radius:999px;border:1px solid transparent;padding:.22rem .6rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.mp-status-pill.enabled{background:#eaf8ef;border-color:#bfe8ca;color:#1a7a34}.mp-status-pill.disabled{background:#fff3f3;border-color:#f0c7c7;color:#a23b3b}.exam-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.exam-meta-grid>div{border:1px solid #e2ebf8;border-radius:10px;background:#fbfdff;padding:.45rem .55rem}.mp-meta-label{display:block;margin-bottom:.12rem;color:#677f9f;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.exam-meta-grid p{margin:0;color:#1f3d65;font-size:.9rem;font-weight:600}.mp-exam-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.mp-action-btn{width:100%;min-height:42px;border:none;border-radius:10px;font-size:.86rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:0 .6rem;text-align:center;white-space:nowrap;transition:transform .18s ease,filter .18s ease}.mp-action-btn:hover{transform:translateY(-1px);filter:brightness(1.01)}.mp-action-view{background:var(--mp-info-bg);color:var(--mp-info-tx)}.mp-action-responses{background:var(--mp-cyan-bg);color:var(--mp-cyan-tx)}.mp-action-edit{background:var(--mp-warn-bg);color:var(--mp-warn-tx)}.mp-action-delete{background:var(--mp-danger-bg);color:var(--mp-danger-tx)}.delete-confirm-wrap{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.mp-action-delete-confirm{background:#b53232;color:#fff}.mp-action-cancel{background:#dde6f4;color:#2f4362}.mp-alert{border-radius:10px;padding:.7rem .85rem;margin-bottom:1rem}.mp-alert-danger{background:#ffecee;border:1px solid #f0cccc;color:#872d2d}.empty-state{text-align:center;border:1px solid var(--mp-border);border-radius:14px;background:#fff;padding:2rem 1rem}.empty-state i{font-size:2.8rem;color:#9bb0ce;display:block;margin-bottom:.7rem}.empty-state p{margin:0;color:#5f7088;font-weight:600}.mp-primary-cta{margin-top:.8rem;min-height:40px;border:none;border-radius:10px;padding:0 1rem;color:#fff;font-weight:700;background:linear-gradient(135deg,var(--mp-primary),var(--mp-primary-deep))}.spinner{width:42px;height:42px;border:3px solid #d8e5f6;border-top-color:var(--mp-primary);border-radius:50%;animation:mp-spin .85s linear infinite}@keyframes mp-spin{to{transform:rotate(360deg)}}@media (max-width: 980px){.manage-practical-hero{flex-direction:column;align-items:stretch}.summary-strip{grid-template-columns:1fr}.hero-add-btn{width:100%}.filters-panel{grid-template-columns:1fr}.filters-actions{justify-content:stretch}.mp-secondary-btn{flex:1}}@media (max-width: 700px){.manage-practical-container{padding:.9rem}.exam-grid,.exam-meta-grid,.mp-exam-actions,.delete-confirm-wrap{grid-template-columns:1fr}}.enable-disable-container{--edp-bg-a: #f3f8ff;--edp-bg-b: #ecf4ff;--edp-panel: #ffffff;--edp-border: #d8e5f6;--edp-text: #11243f;--edp-muted: #60718a;--edp-primary: #0f5cc0;--edp-primary-strong: #084892;--edp-success-bg: #eaf8ef;--edp-success-border: #bee8c8;--edp-success-text: #1a7a34;--edp-danger-bg: #fff0f1;--edp-danger-border: #f2c7cb;--edp-danger-text: #a23640;min-height:calc(100vh - 64px);padding:1.25rem;background:radial-gradient(circle at 8% 8%,rgba(15,92,192,.12),transparent 40%),radial-gradient(circle at 92% 2%,rgba(8,72,146,.1),transparent 34%),linear-gradient(180deg,var(--edp-bg-a),var(--edp-bg-b))}.edp-hero,.edp-filter-panel,.edp-grid,.edp-empty-state,.edp-alert,.edp-info-box,.loading-spinner{max-width:1180px;margin-left:auto;margin-right:auto}.edp-hero{border:1px solid var(--edp-border);border-radius:18px;background:linear-gradient(145deg,#fff,#eef5ff);box-shadow:0 12px 26px #122b5214;padding:1rem 1.1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.edp-title{margin:0;color:var(--edp-text);font-size:1.6rem;font-weight:800}.edp-subtitle{margin:.35rem 0 0;color:var(--edp-muted);max-width:680px}.edp-summary{display:grid;grid-template-columns:repeat(3,minmax(96px,1fr));gap:.5rem}.edp-summary>div{border:1px solid #d7e4f6;border-radius:12px;background:#fff;padding:.5rem .65rem}.edp-summary span{display:block;color:#607393;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700;margin-bottom:.1rem}.edp-summary strong{color:var(--edp-text);font-size:1.1rem}.edp-filter-panel{margin-bottom:1rem;border:1px solid var(--edp-border);border-radius:14px;background:var(--edp-panel);box-shadow:0 8px 18px #122b520f;padding:.9rem;max-width:460px}.edp-filter-group{display:flex;flex-direction:column}.edp-filter-label{margin-bottom:.35rem;color:#5c7395;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.edp-filter-input{min-height:42px;border:1px solid #c8d8ef;border-radius:10px;padding:0 .75rem;font-size:.95rem;color:#173058}.edp-filter-input:focus{outline:none;border-color:#9fbee4;box-shadow:0 0 0 .2rem #0f5cc024}.edp-alert{border-radius:10px;padding:.7rem .85rem;margin-bottom:1rem}.edp-alert-danger{background:var(--edp-danger-bg);border:1px solid var(--edp-danger-border);color:#822c33}.edp-alert-success{background:var(--edp-success-bg);border:1px solid var(--edp-success-border);color:#1e6f34}.edp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:.85rem;margin-bottom:1rem}.edp-card{border:1px solid var(--edp-border);border-radius:14px;background:#fff;box-shadow:0 10px 22px #122b5212;padding:.9rem;display:flex;flex-direction:column;gap:.75rem}.edp-card-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.edp-card-head h3{margin:0;color:#17335a;font-size:1.04rem;font-weight:800}.edp-status-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;border:1px solid transparent;padding:.24rem .65rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.edp-status-pill.enabled{background:var(--edp-success-bg);border-color:var(--edp-success-border);color:var(--edp-success-text)}.edp-status-pill.disabled{background:var(--edp-danger-bg);border-color:var(--edp-danger-border);color:var(--edp-danger-text)}.edp-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.edp-meta-grid>div{border:1px solid #e2ebf8;border-radius:10px;background:#fbfdff;padding:.45rem .55rem}.edp-meta-label{display:block;margin-bottom:.1rem;color:#6880a0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.edp-meta-grid p{margin:0;color:#1f3d65;font-size:.9rem;font-weight:600}.edp-toggle-btn{min-height:42px;border:none;border-radius:10px;font-weight:700;font-size:.87rem;transition:transform .18s ease,filter .18s ease}.edp-toggle-btn:hover{transform:translateY(-1px);filter:brightness(1.02)}.edp-toggle-btn.enable{background:linear-gradient(135deg,#1f9d56,#167b43);color:#fff}.edp-toggle-btn.disable{background:linear-gradient(135deg,#d14a59,#a73543);color:#fff}.edp-empty-state{text-align:center;border:1px solid var(--edp-border);border-radius:14px;background:#fff;padding:2rem 1rem}.edp-empty-state i{font-size:2.8rem;color:#9bb0ce;display:block;margin-bottom:.7rem}.edp-empty-state p{margin:0;color:#5f7088;font-weight:600}.edp-empty-message{margin-top:.4rem!important;font-size:.9rem;font-weight:500}.edp-info-box{border:1px solid var(--edp-border);border-radius:14px;background:#fff;padding:1rem;box-shadow:0 8px 18px #122b520f}.edp-info-box h3{margin:0 0 .8rem;color:var(--edp-text);font-size:1rem;font-weight:800}.edp-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem}.edp-info-item{display:flex;gap:.7rem;border:1px solid #e3ebf8;border-radius:10px;padding:.7rem;background:#fbfdff}.edp-info-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:1.05rem;flex-shrink:0}.edp-info-icon.enabled{background:var(--edp-success-bg);color:var(--edp-success-text)}.edp-info-icon.disabled{background:var(--edp-danger-bg);color:var(--edp-danger-text)}.edp-info-item h4{margin:0;color:#203f67;font-size:.9rem;font-weight:700}.edp-info-item p{margin:.2rem 0 0;color:#60718a;font-size:.84rem}.loading-spinner{min-height:calc(100vh - 180px);display:grid;place-items:center;color:#5f7088}.spinner{width:42px;height:42px;border:3px solid #d8e5f6;border-top-color:var(--edp-primary);border-radius:50%;animation:edp-spin .85s linear infinite}@keyframes edp-spin{to{transform:rotate(360deg)}}@media (max-width: 980px){.edp-hero{flex-direction:column;align-items:stretch}.edp-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.edp-filter-panel{max-width:none}}@media (max-width: 700px){.enable-disable-container{padding:.9rem}.edp-summary,.edp-meta-grid,.edp-grid{grid-template-columns:1fr}}.mpq-container{max-width:1000px;margin:0 auto;padding:20px}.mpq-content{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.mpq-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;border-bottom:2px solid #f0f0f0;padding-bottom:20px}.mpq-header h2{color:#333;font-size:24px;margin:0}.mpq-exam-title{color:#666;font-size:14px;margin:8px 0 0}.mpq-error{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px;border-radius:4px;margin-bottom:20px}.mpq-success{background-color:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32;padding:12px;border-radius:4px;margin-bottom:20px}.mpq-questions-section{margin-top:20px}.mpq-questions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.mpq-questions-header h3{color:#333;font-size:18px;margin:0}.mpq-form{background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:25px}.mpq-form h4{color:#333;font-size:16px;margin-top:0;margin-bottom:20px}.mpq-form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.mpq-form-group label{font-weight:600;color:#333;font-size:14px}.mpq-form-group input,.mpq-form-group textarea,.mpq-form-group select{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.mpq-form-group input:focus,.mpq-form-group textarea:focus,.mpq-form-group select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.mpq-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.mpq-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.mpq-questions-list{display:flex;flex-direction:column;gap:15px}.mpq-question-card{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:20px;display:flex;justify-content:space-between;align-items:flex-start;transition:box-shadow .2s ease}.mpq-question-card:hover{box-shadow:0 2px 8px #0000001a}.mpq-question-content{flex:1}.mpq-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mpq-question-header h4{color:#333;font-size:16px;margin:0}.mpq-difficulty{font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:uppercase}.mpq-difficulty-easy{background-color:#e8f5e9;color:#2e7d32}.mpq-difficulty-medium{background-color:#fff3e0;color:#f57c00}.mpq-difficulty-hard{background-color:#ffebee;color:#c62828}.mpq-question-text{color:#555;line-height:1.5;margin:10px 0;padding:12px;background-color:#fff;border-radius:4px;border-left:3px solid #4caf50}.mpq-question-marks{color:#666;font-size:13px;font-weight:500;margin:8px 0 0}.mpq-question-actions{display:flex;gap:8px;margin-left:20px;flex-shrink:0}.mpq-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:13px;transition:all .3s ease;white-space:nowrap}.mpq-btn:disabled{opacity:.5;cursor:not-allowed}.mpq-btn-primary{background-color:#4caf50;color:#fff}.mpq-btn-primary:hover:not(:disabled){background-color:#45a049}.mpq-btn-secondary{background-color:#f0f0f0;color:#333;border:1px solid #ddd}.mpq-btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.mpq-btn-edit{background-color:#2196f3;color:#fff}.mpq-btn-edit:hover:not(:disabled){background-color:#0b7dda}.mpq-btn-delete{background-color:#f44336;color:#fff}.mpq-btn-delete:hover:not(:disabled){background-color:#d32f2f}.mpq-btn-back{background-color:#757575;color:#fff}.mpq-btn-back:hover{background-color:#616161}.mpq-empty-state{text-align:center;color:#999;padding:40px 20px;font-size:14px}.mpq-summary{background-color:#f5f5f5;border-top:2px solid #e0e0e0;padding:15px;margin-top:20px;border-radius:4px;text-align:right;font-weight:500;color:#333}@media (max-width: 768px){.mpq-form-row{grid-template-columns:1fr}.mpq-header{flex-direction:column;align-items:flex-start;gap:15px}.mpq-question-card{flex-direction:column}.mpq-question-actions{margin-left:0;margin-top:15px;width:100%;flex-direction:row}.mpq-question-actions .mpq-btn{flex:1}.mpq-content{padding:20px}.mpq-container{padding:10px}}.view-responses-container{padding:20px;max-width:1400px;margin:0 auto}.responses-header{display:flex;align-items:flex-start;gap:20px;margin-bottom:30px}.btn-back{padding:10px 16px;border:none;background:var(--primary-accent, #10b981);color:#fff;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px;transition:background .3s ease;margin-top:0}.btn-back:hover{background:var(--primary-accent-dark, #059669)}.responses-header>div{flex:1}.responses-header .page-title{font-size:24px;font-weight:600;color:#333;margin:0 0 8px}.responses-header .exam-title{font-size:14px;color:#666;margin:0}.alert{padding:12px 16px;border-radius:6px;margin-bottom:20px;display:flex;align-items:center;gap:10px;font-size:14px}.alert-danger{background:#fee;color:#c00;border-left:4px solid #c00}.responses-content{display:grid;grid-template-columns:1fr 350px;gap:20px;align-items:start}.submissions-list{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #00000014}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state i{font-size:48px;opacity:.3;display:block;margin-bottom:16px}.empty-state p{font-size:16px;margin:0}.table-responsive{overflow-x:auto}.submissions-table{width:100%;border-collapse:collapse;font-size:13px}.submissions-table thead{background:#f8f9fa;border-bottom:2px solid #e9ecef}.submissions-table th{padding:12px;text-align:left;font-weight:600;color:#333;white-space:nowrap}.submissions-table td{padding:12px;border-bottom:1px solid #e9ecef;text-align:left}.submissions-table tbody tr:hover{background:#f8f9fa}.submissions-table tbody tr.selected{background:#e8f5e9}.submissions-table .student-name{font-weight:500;color:#333}.submissions-table .file-badge{display:inline-block;padding:4px 8px;background:var(--primary-accent, #10b981);color:#fff;border-radius:4px;font-size:11px;font-weight:600}.submissions-table .actions-cell{display:flex;gap:6px;justify-content:center}.btn-icon{width:32px;height:32px;border:none;background:#f0f0f0;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:#666;transition:all .2s ease}.btn-icon:hover{background:#e0e0e0;color:#333}.btn-icon.btn-view:hover{background:#d4edda;color:var(--primary-accent, #10b981)}.btn-icon.btn-download:hover{background:#cce5ff;color:#06c}.btn-icon.btn-select:hover{background:#fff3cd;color:#ff6b00}.btn-icon.btn-delete:hover{background:#f8d7da;color:#dc3545}.submission-details{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.details-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.details-header h3{font-size:16px;margin:0;color:#333;font-weight:600}.btn-close{background:none;border:none;cursor:pointer;font-size:20px;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.btn-close:hover{background:#e9ecef;color:#333}.details-content{padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.student-info{background:#f8f9fa;border-radius:4px;padding:12px}.info-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px solid #e9ecef}.info-row:last-child{border-bottom:none}.info-row label{font-weight:600;color:#666;min-width:100px}.info-row span{color:#333;text-align:right;word-break:break-word;flex:1;margin-left:8px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:#333}.form-input{padding:8px;border:1px solid #e0e0e0;border-radius:4px;font-size:13px;font-family:inherit}.form-input:focus{outline:none;border-color:var(--primary-accent, #10b981);box-shadow:0 0 0 3px #10b9811a}.form-input:disabled{background:#f0f0f0;cursor:not-allowed}.form-textarea{padding:8px;border:1px solid #e0e0e0;border-radius:4px;font-size:13px;font-family:inherit;resize:vertical}.form-textarea:focus{outline:none;border-color:var(--primary-accent, #10b981);box-shadow:0 0 0 3px #10b9811a}.form-textarea:disabled{background:#f0f0f0;cursor:not-allowed}.form-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.btn{padding:8px 12px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.btn-primary{background:var(--primary-accent, #10b981);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-accent-dark, #059669)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn:disabled{opacity:.6;cursor:not-allowed}.loading{text-align:center;padding:60px 20px;color:#999}.spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:var(--primary-accent, #10b981);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1024px){.responses-content{grid-template-columns:1fr}.submission-details{max-height:400px}}@media (max-width: 768px){.responses-header{flex-direction:column;align-items:stretch}.btn-back{width:100%;justify-content:center}.submissions-table{font-size:12px}.submissions-table th,.submissions-table td{padding:8px}.btn-icon{width:28px;height:28px;font-size:12px}.responses-content{grid-template-columns:1fr}}.pe-container{max-width:900px;margin:0 auto;padding:20px}.pe-content{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.pe-content h2{color:#333;margin-bottom:25px;font-size:24px}.pe-error{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px;border-radius:4px;margin-bottom:20px}.pe-success{background-color:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32;padding:12px;border-radius:4px;margin-bottom:20px}.pe-form{display:flex;flex-direction:column;gap:20px}.pe-form-group{display:flex;flex-direction:column;gap:8px}.pe-form-group label{font-weight:600;color:#333;font-size:14px}.pe-form-group input,.pe-form-group textarea,.pe-form-group select{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.pe-form-group input:focus,.pe-form-group textarea:focus,.pe-form-group select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.pe-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pe-divisions{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:#f5f5f5;border-radius:4px}.pe-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.pe-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.pe-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.pe-btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease}.pe-btn-primary{background-color:#4caf50;color:#fff}.pe-btn-primary:hover{background-color:#45a049}.pe-btn-secondary{background-color:#f0f0f0;color:#333;border:1px solid #ddd}.pe-btn-secondary:hover{background-color:#e0e0e0}@media (max-width: 768px){.pe-form-row{grid-template-columns:1fr}.pe-content{padding:20px}.pe-container{padding:10px}}.public-exam-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.exam-wrapper{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:900px;width:100%;overflow:hidden;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 40px;text-align:center;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d}.spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-state p{color:#666;font-size:16px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d}.error-icon{width:80px;height:80px;background:#fee;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:40px;color:#d32f2f}.error-state h2{color:#d32f2f;margin:0 0 10px;font-size:24px}.error-state p{color:#666;margin:5px 0;font-size:14px}.error-hint{color:#999;font-size:13px;margin-top:10px}.simple-header{padding:30px 40px;border-bottom:2px solid #f0f0f0;background:#fafafa}.course-info{margin:0;display:flex;gap:15px;align-items:center;font-size:16px}.course-code{background:#667eea;color:#fff;padding:8px 16px;border-radius:4px;font-weight:700;font-size:14px}.course-name{color:#333;font-weight:500;font-size:15px}.question-display{padding:40px}.question-content{margin:20px 0 0}.question-text{margin:0;padding:0}.question-text p{font-size:16px;line-height:1.8;color:#333;margin:0;white-space:pre-wrap;word-wrap:break-word}@media (max-width: 600px){.public-exam-container{padding:20px 10px}.exam-wrapper{border-radius:8px}.simple-header{padding:20px}.course-info{flex-direction:column;gap:10px;align-items:flex-start}.question-display{padding:20px}.question-text p{font-size:15px}}.k3-page{padding:20px;background:#f5f6f8;min-height:calc(100vh - 64px)}.k3-form-card{background:#fff;padding:22px;max-width:760px;border-radius:10px;border:1px solid #d9dee5}.k3-form-card h3{margin-bottom:18px;color:#0a8f3f;font-size:1.9rem;font-weight:700}.k3-page-header{background:#0a8f3f;color:#fff;padding:16px 20px;border-radius:8px;margin-bottom:20px}.k3-page-header h2{margin:0 0 6px;font-size:20px}.k3-page-header p{margin:0;opacity:.9}.k3-info{background:#f1f7f2;border:1px solid #c8e6c9;padding:10px 12px;border-radius:6px;margin-bottom:16px;font-size:14px}.k3-label{font-weight:600;font-size:16px;margin-bottom:8px}.k3-submit-btn{min-width:180px}.k3-error{color:#c62828;font-weight:600}.k3-print-container{padding:16px;background:#f5f6f8}.k3-print-toolbar{display:flex;align-items:center;justify-content:space-between;background:#0a8f3f;color:#fff;padding:12px 18px;border-radius:8px;margin-bottom:16px}.k3-toolbar-title{font-weight:700;letter-spacing:.5px;font-size:2rem;font-style:italic}.k3-toolbar-actions{display:flex;gap:10px}.k3-sheet{background:#fff;border:1px solid #444;padding:14px}.k3-sheet-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #444;padding-bottom:10px;margin-bottom:10px}.k3-sheet-title{text-align:center;flex:1}.k3-sheet-board{font-weight:700;font-size:14px}.k3-sheet-subtitle{font-size:12px;margin-top:4px;font-weight:700}.k3-sheet-format{font-weight:700;font-size:12px;text-align:right}.k3-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 18px;font-size:12px;margin-bottom:12px}.k3-table{width:100%;border-collapse:collapse;font-size:11px}.k3-table th,.k3-table td{border:1px solid #444;padding:4px 6px;text-align:center;vertical-align:middle}.k3-table thead th{background:#f1f3f5;font-weight:700}.k3-name{text-align:left;padding-left:6px}.k3-empty{text-align:center;padding:16px 0}.k3-signature-row{display:flex;justify-content:space-between;margin-top:18px;font-size:12px}.k3-sign-label{font-size:11px;color:#444}@media print{@page{size:auto;margin:10mm}body{background:#fff;overflow:visible!important}.no-print,.sidebar,.header{display:none!important}.app-container,.main-content-wrapper,.scrollable-content{overflow:visible!important;height:auto!important;margin:0!important;padding:0!important}.k3-print-container{display:block!important;visibility:visible!important;padding:0;background:#fff}.k3-sheet{display:block!important;visibility:visible!important;border:none;padding:0;page-break-inside:avoid}}.main-content{padding:20px;margin-left:0}.card{border:none;box-shadow:0 2px 8px #0000001a;border-radius:8px}.card-header{border-radius:8px 8px 0 0;padding:15px 20px;font-weight:600}.card-body{padding:20px}.alert{border-radius:6px;padding:12px 16px;margin-bottom:20px}.text-muted{color:#6c757d}.msbte-controls{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.msbte-preview{border:1px solid #cfd4da;border-radius:6px;background-color:#fff;padding:12px}.msbte-header{border-bottom:1px solid #cfd4da;padding-bottom:8px;margin-bottom:8px;text-align:center;position:relative}.msbte-title{font-weight:700;font-size:.95rem}.msbte-subtitle{font-weight:600;font-size:.85rem}.msbte-format{position:absolute;right:0;top:0;font-weight:600;font-size:.8rem}.msbte-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;font-size:.85rem;margin-bottom:10px}.msbte-table th,.msbte-table td{font-size:.85rem}.table{background-color:#fff;border-collapse:collapse}.table thead{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.table th{padding:15px;font-weight:600;color:#333;text-align:left;border:1px solid #dee2e6}.table td{padding:12px 15px;border:1px solid #dee2e6;color:#333}.table tbody tr:hover{background-color:#f8f9fa}.form-control{border:1px solid #ced4da;padding:8px 12px;border-radius:4px;font-size:.9rem}.form-control:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.form-control-sm{padding:6px 10px;font-size:.85rem;height:36px}.form-select{border:1px solid #ced4da;padding:8px 12px;border-radius:4px;font-size:.9rem;background-color:#fff}.form-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.form-label{color:#333;margin-bottom:8px}.btn{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;gap:6px}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff33}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}@media (max-width: 768px){.main-content{padding:15px}.card{margin-bottom:15px}.table{font-size:.9rem}.table th,.table td{padding:10px 8px}.table-responsive{overflow-x:auto}}.k4-print-sheet{border:1px solid #333;background:#fff;padding:10px}.k4-print-container{padding:16px;background:#f5f6f8}.k4-print-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:12px}.k4-print-header-row{display:flex;justify-content:space-between;align-items:flex-start;border:1px solid #333;border-bottom:none;padding:6px 10px}.k4-print-title-wrap{flex:1;text-align:center}.k4-print-board,.k4-print-subtitle{font-size:13px;font-weight:700}.k4-print-format{font-size:12px;font-weight:700;white-space:nowrap;margin-left:10px}.k4-print-meta-row{border:1px solid #333;border-top:none;padding:6px 8px;display:flex;justify-content:space-between;gap:12px;font-size:12px}.k4-print-blank{display:inline-block;border-bottom:1px solid #333;min-width:24px}.k4-print-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:0;border:1px solid #444;font-size:11px}.k4-print-table th,.k4-print-table td{border:1px solid #444!important;font-size:11px;padding:4px 6px;text-align:center;vertical-align:middle;background:#fff}.k4-structure-table{table-layout:fixed;width:100%}.k4-col-roll{width:16%}.k4-col-enroll{width:19%}.k4-col-name{width:28%}.k4-col-seat{width:12%}.k4-col-marks{width:25%}.k4-sheet-title-cell{padding:4px 8px!important}.k4-sheet-title-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.k4-meta-left,.k4-meta-right,.k4-meta-center{font-size:11px!important;font-weight:600;text-align:left!important;padding:4px 8px!important}.k4-meta-right{text-align:right!important}.k4-meta-center{text-align:center!important}.k4-print-signatures{border:1px solid #333;border-top:none;display:grid;grid-template-columns:1fr 1fr;min-height:110px}.k4-sign-column{padding:8px;font-size:12px}.k4-sign-title{font-weight:700;margin-bottom:6px}.k4-print-table thead th{background:#f1f3f5!important;font-weight:700}.k4-print-table td.text-start{text-align:left!important;padding-left:6px!important}@media print{@page{size:auto;margin:10mm}.k4-print-toolbar,.main-content>.btn,.main-content>h3,.main-content>.mt-4,.sidebar,.header,.navbar,.no-print{display:none!important}.main-content{margin:0!important;padding:0!important}.k4-print-container,.k4-print-sheet{background:#fff!important;padding:0!important;margin:0!important}.k4-print-sheet{border:1px solid #000;box-shadow:none}.k4-print-table{display:table!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;border:1px solid #444!important}.k4-print-table thead{display:table-header-group!important}.k4-print-table tbody{display:table-row-group!important}.k4-print-table tr{display:table-row!important;page-break-inside:avoid!important;break-inside:avoid!important;background:#fff!important}.k4-print-table th,.k4-print-table td{display:table-cell!important;float:none!important;width:auto!important;min-width:0!important;max-width:none!important;border:1px solid #444!important;border-top:1px solid #444!important;border-bottom:1px solid #444!important;border-left:1px solid #444!important;border-right:1px solid #444!important;white-space:normal!important;word-break:break-word!important}.k4-print-table tbody tr td{border-top:1px solid #444!important;border-bottom:1px solid #444!important}.k4-print-table tbody tr+tr td{border-top:1px solid #444!important}.k4-print-table thead th{background:#f1f3f5!important;font-weight:700!important}.k4-print-table tbody td{background:#fff!important}.k4-print-table td.text-start{text-align:left!important;padding-left:6px!important}.k4-print-table td:before,.k4-print-table th:before{content:none!important;display:none!important}}.k5-page{padding:16px;background:#f5f6f8;min-height:calc(100vh - 64px)}.k5-card{background:#fff;border:1px solid #d9dee5;border-radius:8px;padding:20px;max-width:720px}.k5-error{color:#c62828;font-weight:600}.k5-toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:12px}.k5-sheet{background:#fff;border:1px solid #444;overflow-x:auto}.k5-table{width:100%;border-collapse:collapse;min-width:980px}.k5-table th,.k5-table td{border:1px solid #444;font-size:12px;padding:4px 6px;text-align:center;vertical-align:middle}.k5-title-cell{position:relative;text-align:center;padding:8px 10px!important}.k5-title-top{font-weight:700;font-size:13px}.k5-title-sub{font-weight:700;font-size:12px}.k5-format{position:absolute;top:8px;right:10px;font-weight:700;font-size:12px}.k5-meta-left,.k5-meta-right{text-align:left;padding:6px 8px!important}.k5-meta-right{text-align:right}.k5-name{text-align:left}.k5-empty{text-align:center;padding:16px 8px!important}.k5-signatures{border-top:1px solid #444;display:flex;justify-content:space-between;padding:10px 14px;font-size:13px;min-height:78px}@media print{.no-print,.sidebar,.header,.navbar{display:none!important}.k5-page{background:#fff;padding:0}.k5-sheet{border:1px solid #000}}.student-timetable-manager{--stm-accent: var(--primary-accent, #10b981);--stm-accent-strong: var(--primary-accent-dark, #059669);--stm-accent-header: var(--app-header-bg, var(--primary-accent, #10b981));--stm-bg-a: color-mix(in srgb, var(--stm-accent) 12%, #ffffff 88%);--stm-bg-b: color-mix(in srgb, var(--stm-accent) 18%, #ffffff 82%);--stm-card: #ffffff;--stm-border: color-mix(in srgb, var(--stm-accent) 28%, #d7dee8 72%);--stm-text: #0f2f2a;--stm-muted: color-mix(in srgb, var(--stm-accent-strong) 46%, #64748b 54%);--stm-primary: var(--stm-accent);--stm-primary-deep: var(--stm-accent-strong);display:flex;flex-direction:column;gap:1rem;min-height:calc(100vh - 64px);padding:1.25rem;color:var(--stm-text);background:radial-gradient(circle at 8% 8%,color-mix(in srgb,var(--stm-accent) 25%,transparent),transparent 38%),radial-gradient(circle at 92% 2%,color-mix(in srgb,var(--stm-accent-strong) 20%,transparent),transparent 34%),linear-gradient(180deg,var(--stm-bg-a),var(--stm-bg-b))}.stm-hero,.stm-alert,.stm-form,.stm-list{max-width:1180px;width:100%;margin-left:auto;margin-right:auto}.stm-hero{border:1px solid var(--stm-border);border-radius:18px;background:linear-gradient(130deg,var(--stm-accent-header),var(--stm-primary) 58%,var(--stm-primary-deep));box-shadow:0 16px 30px color-mix(in srgb,var(--stm-primary-deep) 34%,transparent);padding:1rem 1.1rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.stm-hero-copy h1{margin:0;font-size:1.55rem;font-weight:800;color:#f7fbff}.stm-hero-copy p{margin:.35rem 0 0;color:#eef6ffe6;max-width:720px}.stm-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:.55rem}.stm-hero-stats>div{border:1px solid rgba(207,225,251,.34);border-radius:12px;background:#ffffff24;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:.45rem .58rem}.stm-hero-stats span{display:block;margin-bottom:.1rem;color:#e2edffe6;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.stm-hero-stats strong{color:#fff;font-size:1.1rem}.stm-alert{border-radius:10px;padding:.7rem .85rem}.stm-alert.error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}.stm-alert.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.stm-form,.stm-list{border:1px solid var(--stm-border);border-radius:16px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--stm-accent) 5%,#ffffff 95%));padding:1rem;box-shadow:0 12px 24px color-mix(in srgb,var(--stm-primary-deep) 12%,transparent)}.stm-form-head{margin-bottom:.8rem}.stm-form-head h2{margin:0;font-size:1.12rem;color:color-mix(in srgb,var(--stm-primary-deep) 60%,#0f172a 40%);font-weight:800}.stm-form-head p{margin:.3rem 0 0;color:var(--stm-muted);font-size:.9rem}.stm-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.stm-field{display:flex;flex-direction:column;gap:.3rem}.stm-field>span{color:var(--stm-muted);font-size:.79rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.stm-field input,.stm-field select{min-height:42px;border:1px solid color-mix(in srgb,var(--stm-accent) 24%,#d7dee8 76%);border-radius:10px;padding:0 .75rem;color:var(--stm-text);font-size:.94rem}.stm-field input:focus,.stm-field select:focus{outline:none;border-color:color-mix(in srgb,var(--stm-accent) 55%,#ffffff 45%);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--stm-accent) 22%,transparent)}.stm-upload-block{margin-top:.8rem;border:1px dashed color-mix(in srgb,var(--stm-accent) 46%,#d7dee8 54%);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--stm-accent) 10%,#ffffff 90%),#fff);padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.stm-upload-block h3{margin:0;color:color-mix(in srgb,var(--stm-primary-deep) 62%,#0f172a 38%);font-size:.95rem;font-weight:800}.stm-upload-block p{margin:.22rem 0 0;color:var(--stm-muted);font-size:.84rem}.stm-file-label{position:relative;display:inline-flex;align-items:center}.stm-file-label input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.stm-file-label span{min-height:42px;border:1px solid color-mix(in srgb,var(--stm-accent) 38%,#d7dee8 62%);border-radius:10px;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--stm-accent) 11%,#ffffff 89%));color:color-mix(in srgb,var(--stm-primary-deep) 62%,#0f172a 38%);padding:0 .85rem;display:inline-flex;align-items:center;font-size:.88rem;font-weight:600}.stm-actions-row{margin-top:.85rem;display:flex;justify-content:flex-end}.stm-actions-row button,.stm-list-head button,.stm-card-actions button{border:1px solid transparent;border-radius:10px;min-height:42px;padding:0 .95rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .16s ease,filter .2s ease}.stm-actions-row button,.stm-list-head button{color:#fff;background:linear-gradient(135deg,var(--stm-primary),var(--stm-primary-deep));box-shadow:0 12px 20px color-mix(in srgb,var(--stm-primary-deep) 30%,transparent)}.stm-actions-row button:hover,.stm-list-head button:hover,.stm-card-actions button:hover{transform:translateY(-1px);filter:brightness(.98)}.stm-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.stm-list-head h2{margin:0;color:color-mix(in srgb,var(--stm-primary-deep) 62%,#0f172a 38%);font-size:1.12rem;font-weight:800}.stm-empty-state,.empty-state{margin:0;color:var(--stm-muted);font-size:.92rem}.stm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.75rem}.stm-card{border:1px solid color-mix(in srgb,var(--stm-accent) 30%,#d7dee8 70%);border-radius:14px;padding:.8rem;background:linear-gradient(130deg,#fff,color-mix(in srgb,var(--stm-accent) 8%,#ffffff 92%) 74%,color-mix(in srgb,var(--stm-accent) 14%,#ffffff 86%));box-shadow:0 10px 22px color-mix(in srgb,var(--stm-primary-deep) 14%,transparent)}.stm-card-meta{display:flex;gap:.4rem;margin-bottom:.45rem;flex-wrap:wrap}.stm-card-meta span{background:color-mix(in srgb,var(--stm-accent) 18%,#ffffff 82%);color:color-mix(in srgb,var(--stm-primary-deep) 72%,#0f172a 28%);border:1px solid color-mix(in srgb,var(--stm-accent) 40%,#d7dee8 60%);border-radius:999px;padding:.12rem .52rem;font-size:.74rem;font-weight:700}.stm-card h3{margin:0 0 .35rem;font-size:1.01rem;color:color-mix(in srgb,var(--stm-primary-deep) 62%,#0f172a 38%);font-weight:800}.stm-card p{margin:0 0 .34rem;color:var(--stm-muted);font-size:.88rem}.stm-card-actions{margin-top:.6rem;display:flex;gap:.45rem;flex-wrap:wrap}.stm-secondary{color:color-mix(in srgb,var(--stm-primary-deep) 74%,#0f172a 26%);background:linear-gradient(135deg,color-mix(in srgb,var(--stm-accent) 14%,#ffffff 86%),color-mix(in srgb,var(--stm-accent) 21%,#ffffff 79%));border:1px solid color-mix(in srgb,var(--stm-accent) 42%,#d7dee8 58%)}.stm-danger{color:#fff;background:linear-gradient(135deg,#e94a58,#c82635);border:1px solid #b81f2d}@media (max-width: 980px){.stm-hero{flex-direction:column}.stm-hero-stats{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.stm-upload-block{align-items:flex-start}.stm-actions-row{justify-content:stretch}.stm-actions-row button{width:100%}}@media (max-width: 700px){.student-timetable-manager{padding:.9rem}.stm-hero-stats,.stm-form-grid,.stm-cards{grid-template-columns:1fr}.stm-list-head{flex-direction:column;align-items:stretch;gap:.45rem}.stm-list-head button{width:100%}}.faculty-study-material-manager{--fsm-accent: var(--primary-accent, #10b981);--fsm-accent-strong: var(--primary-accent-dark, #059669);--fsm-accent-header: var(--app-header-bg, var(--primary-accent, #10b981));--fsm-bg-a: color-mix(in srgb, var(--fsm-accent) 12%, #ffffff 88%);--fsm-bg-b: color-mix(in srgb, var(--fsm-accent) 18%, #ffffff 82%);--fsm-border: color-mix(in srgb, var(--fsm-accent) 28%, #d7dee8 72%);--fsm-text: #0f2f2a;--fsm-muted: color-mix(in srgb, var(--fsm-accent-strong) 46%, #64748b 54%);display:flex;flex-direction:column;gap:1rem;min-height:calc(100vh - 64px);padding:1.25rem;color:var(--fsm-text);background:radial-gradient(circle at 8% 8%,color-mix(in srgb,var(--fsm-accent) 25%,transparent),transparent 38%),radial-gradient(circle at 92% 2%,color-mix(in srgb,var(--fsm-accent-strong) 20%,transparent),transparent 34%),linear-gradient(180deg,var(--fsm-bg-a),var(--fsm-bg-b))}.fsm-hero,.fsm-alert,.fsm-form,.fsm-list{max-width:1180px;width:100%;margin-left:auto;margin-right:auto}.fsm-hero{border:1px solid var(--fsm-border);border-radius:18px;background:linear-gradient(130deg,var(--fsm-accent-header),var(--fsm-accent) 58%,var(--fsm-accent-strong));box-shadow:0 16px 30px color-mix(in srgb,var(--fsm-accent-strong) 34%,transparent);padding:1rem 1.1rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.fsm-hero-copy h1{margin:0;font-size:1.55rem;font-weight:800;color:#f7fbff}.fsm-hero-copy p{margin:.35rem 0 0;color:#eef6ffe6;max-width:720px}.fsm-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:.55rem}.fsm-hero-stats>div{border:1px solid rgba(207,225,251,.34);border-radius:12px;background:#ffffff24;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:.45rem .58rem}.fsm-hero-stats span{display:block;margin-bottom:.1rem;color:#e2edffe6;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.fsm-hero-stats strong{color:#fff;font-size:1.1rem}.fsm-alert{border-radius:10px;padding:.7rem .85rem}.fsm-alert.error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}.fsm-alert.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.fsm-form,.fsm-list{border:1px solid var(--fsm-border);border-radius:16px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--fsm-accent) 5%,#ffffff 95%));padding:1rem;box-shadow:0 12px 24px color-mix(in srgb,var(--fsm-accent-strong) 12%,transparent)}.fsm-form-head{margin-bottom:.8rem}.fsm-form-head h2{margin:0;font-size:1.12rem;color:color-mix(in srgb,var(--fsm-accent-strong) 60%,#0f172a 40%);font-weight:800}.fsm-form-head p{margin:.3rem 0 0;color:var(--fsm-muted);font-size:.9rem}.fsm-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.fsm-field{display:flex;flex-direction:column;gap:.3rem}.fsm-field-wide{grid-column:1 / -1}.fsm-field>span{color:var(--fsm-muted);font-size:.79rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.fsm-field input,.fsm-field select,.fsm-field textarea{min-height:42px;border:1px solid color-mix(in srgb,var(--fsm-accent) 24%,#d7dee8 76%);border-radius:10px;padding:.55rem .75rem;color:var(--fsm-text);font-size:.94rem;background:#fff}.fsm-field textarea{min-height:88px;resize:vertical}.fsm-field input:focus,.fsm-field select:focus,.fsm-field textarea:focus{outline:none;border-color:color-mix(in srgb,var(--fsm-accent) 55%,#ffffff 45%);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--fsm-accent) 22%,transparent)}.fsm-upload-block{margin-top:.8rem;border:1px dashed color-mix(in srgb,var(--fsm-accent) 46%,#d7dee8 54%);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--fsm-accent) 10%,#ffffff 90%),#fff);padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.fsm-link-block{justify-content:flex-start}.fsm-upload-block h3{margin:0;color:color-mix(in srgb,var(--fsm-accent-strong) 62%,#0f172a 38%);font-size:.95rem;font-weight:800}.fsm-upload-block p{margin:.22rem 0 0;color:var(--fsm-muted);font-size:.84rem}.fsm-file-label{position:relative;display:inline-flex;align-items:center}.fsm-file-label input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.fsm-file-label span{min-height:42px;border:1px solid color-mix(in srgb,var(--fsm-accent) 38%,#d7dee8 62%);border-radius:10px;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--fsm-accent) 11%,#ffffff 89%));color:color-mix(in srgb,var(--fsm-accent-strong) 62%,#0f172a 38%);padding:0 .85rem;display:inline-flex;align-items:center;font-size:.88rem;font-weight:600;max-width:min(360px,72vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsm-actions-row{margin-top:.85rem;display:flex;justify-content:flex-end}.fsm-actions-row button,.fsm-list-head button,.fsm-card-actions button{border:1px solid transparent;border-radius:10px;min-height:42px;padding:0 .95rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .16s ease,filter .2s ease}.fsm-actions-row button,.fsm-list-head button{color:#fff;background:linear-gradient(135deg,var(--fsm-accent),var(--fsm-accent-strong));box-shadow:0 12px 20px color-mix(in srgb,var(--fsm-accent-strong) 30%,transparent)}.fsm-actions-row button:hover,.fsm-list-head button:hover,.fsm-card-actions button:hover{transform:translateY(-1px);filter:brightness(.98)}.fsm-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.fsm-list-head h2{margin:0;color:color-mix(in srgb,var(--fsm-accent-strong) 62%,#0f172a 38%);font-size:1.12rem;font-weight:800}.fsm-empty-state{margin:0;color:var(--fsm-muted);font-size:.92rem}.fsm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.75rem}.fsm-card{border:1px solid color-mix(in srgb,var(--fsm-accent) 30%,#d7dee8 70%);border-radius:14px;padding:.8rem;background:linear-gradient(130deg,#fff,color-mix(in srgb,var(--fsm-accent) 8%,#ffffff 92%) 74%,color-mix(in srgb,var(--fsm-accent) 14%,#ffffff 86%));box-shadow:0 10px 22px color-mix(in srgb,var(--fsm-accent-strong) 14%,transparent)}.fsm-card-meta{display:flex;gap:.4rem;margin-bottom:.45rem;flex-wrap:wrap}.fsm-card-meta span{background:color-mix(in srgb,var(--fsm-accent) 18%,#ffffff 82%);color:color-mix(in srgb,var(--fsm-accent-strong) 72%,#0f172a 28%);border:1px solid color-mix(in srgb,var(--fsm-accent) 40%,#d7dee8 60%);border-radius:999px;padding:.12rem .52rem;font-size:.74rem;font-weight:700}.fsm-card h3{margin:0 0 .35rem;font-size:1.01rem;color:color-mix(in srgb,var(--fsm-accent-strong) 62%,#0f172a 38%);font-weight:800}.fsm-card p{margin:0 0 .34rem;color:var(--fsm-muted);font-size:.88rem}.fsm-card-actions{margin-top:.6rem;display:flex;gap:.45rem;flex-wrap:wrap}.fsm-secondary{color:color-mix(in srgb,var(--fsm-accent-strong) 74%,#0f172a 26%);background:linear-gradient(135deg,color-mix(in srgb,var(--fsm-accent) 14%,#ffffff 86%),color-mix(in srgb,var(--fsm-accent) 21%,#ffffff 79%));border:1px solid color-mix(in srgb,var(--fsm-accent) 42%,#d7dee8 58%)}.fsm-danger{color:#fff;background:linear-gradient(135deg,#e94a58,#c82635);border:1px solid #b81f2d}@media (max-width: 980px){.fsm-hero{flex-direction:column}.fsm-hero-stats{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.fsm-upload-block{align-items:flex-start}.fsm-actions-row{justify-content:stretch}.fsm-actions-row button{width:100%}}@media (max-width: 700px){.faculty-study-material-manager{padding:.9rem}.fsm-hero-stats,.fsm-form-grid,.fsm-cards{grid-template-columns:1fr}.fsm-list-head{flex-direction:column;align-items:stretch;gap:.45rem}.fsm-list-head button{width:100%}}.ct-ciann-page{padding:20px;min-height:calc(100vh - 90px);background:linear-gradient(180deg,#f1f6fc,#e8eef7)}.ct-ciann-hero{border:1px solid #d7e3f3;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#eef6ff 58%,#e9fbf7);padding:18px 20px;margin-bottom:16px}.ct-ciann-hero h2{margin:0;color:#16375d;font-size:1.5rem;font-weight:800}.ct-ciann-hero p{margin:6px 0 0;color:#58708f}.ct-ciann-grid-wrap{border:1px solid #d7e3f3;border-radius:14px;background:#fff;padding:14px;box-shadow:0 12px 24px #0c234814}.ct-ciann-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.ct-ciann-card{border:1px solid #dbe7f6;border-radius:12px;background:#fbfdff;padding:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.ct-ciann-card:hover,.ct-ciann-card:focus-visible{outline:none;border-color:#8db7f0;box-shadow:0 10px 18px #2156a526;transform:translateY(-2px)}.ct-ciann-card-id{display:inline-block;font-size:.72rem;font-weight:700;color:#1f5fc1;border:1px solid #cde0f9;border-radius:999px;background:#eef5ff;padding:4px 9px}.ct-ciann-card h3{margin:10px 0 2px;font-size:1rem;color:#18395f;font-weight:700}.ct-ciann-subject-code{margin:0;font-size:.82rem;color:#5a7191}.ct-ciann-meta{margin:8px 0;font-size:.86rem;color:#334f73}.ct-ciann-open{font-size:.78rem;font-weight:700;color:#126f6a}.ct-ciann-state{margin:0;text-align:center;color:#506986;padding:16px}.ct-ciann-error{color:#b4233f}.ct-ciann-card.archived-card{background:#f8fafc;border-color:#cbd5e1b3;box-shadow:0 4px 12px #00000005;opacity:.85}.ct-ciann-card.archived-card:hover{border-color:#cbd5e1;box-shadow:0 10px 18px #64748b26;opacity:1}.ct-ciann-card.archived-card .ct-ciann-card-id{color:#64748b;background-color:#f1f5f9;border-color:#e2e8f0}.ct-ciann-card.archived-card .ct-ciann-open{color:#64748b}.workspace-section-group{margin-bottom:2.5rem}.workspace-section-title{font-weight:700;display:flex;align-items:center}.no-workspaces-alert{background:#fff9;border:1px dashed rgba(0,0,0,.12);border-radius:8px;padding:1.5rem;text-align:center;color:#00000080;font-size:.95rem}.ct-dashboard-page{--ct-bg-start: #f4f8ff;--ct-bg-end: #f9fbff;--ct-panel: #ffffff;--ct-border: #dbe6f6;--ct-primary: #0f5cc0;--ct-primary-strong: #0b4a9a;--ct-text: #12243d;--ct-muted: #5d6d85;min-height:calc(100vh - 64px);padding:1.25rem;background:radial-gradient(circle at 10% 10%,rgba(15,92,192,.12),transparent 40%),radial-gradient(circle at 90% 0%,rgba(11,74,154,.12),transparent 35%),linear-gradient(180deg,var(--ct-bg-start),var(--ct-bg-end))}.ct-dashboard-topbar{display:flex;align-items:center;gap:.75rem;margin:0 auto 1rem;max-width:1180px;padding:1rem 1.1rem;border-radius:16px;border:1px solid var(--ct-border);background:linear-gradient(135deg,#fff,#f2f7ff)}.ct-btn-back{border-radius:999px;border:1px solid #c8d7f0;background:#fff;color:var(--ct-text);font-weight:600}.ct-btn-back:hover{border-color:#adc5e7;background:#f6faff}.ct-dashboard-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--ct-text)}.ct-dashboard-badge{margin-left:auto;display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700;color:var(--ct-primary-strong);background:#eaf2ff;border:1px solid #cadeff}.ct-dashboard-panel{max-width:1180px;margin:0 auto 1rem;background:var(--ct-panel);border:1px solid var(--ct-border);border-radius:16px;padding:1rem;box-shadow:0 10px 24px #112c520f}.ct-controls-row{display:grid;grid-template-columns:190px 190px minmax(220px,1fr);gap:.9rem;align-items:end}.ct-field .form-label{margin-bottom:.35rem;color:var(--ct-muted);font-size:.84rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.ct-field .form-control,.ct-field .form-select,.ct-table .form-control{border-radius:10px;border-color:#cbd8ec;font-size:.95rem}.ct-field .form-control:focus,.ct-field .form-select:focus,.ct-table .form-control:focus{border-color:#9fbbdf;box-shadow:0 0 0 .2rem #0f5cc024}.ct-save-btn{justify-self:end;height:44px;min-width:220px;border:1px solid rgba(9,64,136,.45);border-radius:12px;background:linear-gradient(135deg,#0f5cc0,#0b4a9a 58%,#093a78);color:#fff;font-weight:800;letter-spacing:.01em;box-shadow:0 10px 24px #0b4a9a5c,0 0 0 3px #0f5cc029;animation:ct-save-pulse 1.8s ease-in-out infinite}.ct-save-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.ct-save-btn:disabled{opacity:.72;animation:none;transform:none}.ct-save-btn:focus-visible{outline:3px solid rgba(15,92,192,.35);outline-offset:2px}@keyframes ct-save-pulse{0%{box-shadow:0 10px 24px #0b4a9a52,0 0 #0f5cc03d}70%{box-shadow:0 12px 26px #0b4a9a6b,0 0 0 8px #0f5cc000}to{box-shadow:0 10px 24px #0b4a9a52,0 0 #0f5cc000}}.ct-table-wrap{overflow:auto}.ct-table-caption{display:flex;justify-content:space-between;gap:.7rem;margin-bottom:.7rem;color:var(--ct-muted);font-size:.86rem;font-weight:600}.ct-table{margin-bottom:0}.ct-table thead th{position:sticky;top:0;z-index:2;background:#edf4ff;color:#234269;font-size:.84rem;text-transform:uppercase;letter-spacing:.03em}.ct-table tbody td{vertical-align:middle}.ct-table tbody tr:hover{background:#f8fbff}@media (max-width: 900px){.ct-controls-row{grid-template-columns:1fr}.ct-save-btn{justify-self:stretch;min-width:0}.ct-dashboard-badge{margin-left:0}.ct-dashboard-topbar{flex-wrap:wrap}}.ct-table{width:100%;margin-bottom:0}.ct-table th,.ct-table td{vertical-align:middle}.ct-table input.form-control{min-width:120px}@media (max-width: 768px){.ct-dashboard-page{padding:10px 10px 72px}.ct-dashboard-topbar{flex-direction:column;align-items:flex-start}.ct-dashboard-title{font-size:1.15rem}.ct-save-btn,.ct-field{width:100%}}.course-form-container,.manage-chapters-container{--course-surface: #ffffff;--course-border: #dbe5f1;--course-title: #12325f;--course-muted: #5a6f90;max-width:980px;margin:28px auto;padding:28px 30px;border-radius:16px;border:1px solid var(--course-border);background:var(--course-surface);box-shadow:0 8px 20px #0c234814}.page-title,.course-form-container h1{margin:0 0 22px;color:var(--course-title)!important;font-size:clamp(1.4rem,2.1vw,2rem)!important;font-weight:800;letter-spacing:.01em;border:none!important;padding:0!important;display:block!important}.page-title:after,.course-form-container h1:after{content:"";display:block;width:66px;height:4px;margin-top:8px;border-radius:999px;background:#2a6fd6}.chapter-form,.course-form-container form{position:relative}.form-group,.course-form-container form>div{margin-bottom:18px}.form-group label,.course-form-container label{display:block;margin-bottom:7px;font-size:.92rem;font-weight:700;color:#173457;letter-spacing:.04em;text-transform:uppercase}.form-group select,.course-form-container select,.form-group input,.course-form-container input{width:100%;border:1px solid #d4e1f1;border-radius:10px;background:#fff;color:#122b4e;font-size:1rem;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease}.form-group select:focus,.course-form-container select:focus,.form-group input:focus,.course-form-container input:focus{outline:none;border-color:#2e74df;box-shadow:0 0 0 3px #2e74df29}.form-group select:disabled,.course-form-container select:disabled,.form-group input:disabled,.course-form-container input:disabled{background:#f1f5fb;color:#7a8ea9}.form-actions{margin-top:26px;text-align:right}.submit-btn,.course-form-container button[type=submit]{min-width:170px;border-radius:10px!important;border:1px solid #2a64bf!important;background:#2a6fd6!important;color:#fff!important;font-weight:700;font-size:.98rem;padding:11px 20px!important;box-shadow:0 6px 14px #2a6fd640;transition:transform .16s ease,filter .2s ease,box-shadow .2s ease}.submit-btn:hover,.course-form-container button[type=submit]:hover{transform:translateY(-1px);filter:brightness(.95);box-shadow:0 8px 16px #2a6fd647}.error-message{margin:0 0 14px;padding:10px 12px;border-radius:10px;border:1px solid #fecdd3;background:#fff1f2;color:#be123c;font-weight:600}@media (max-width: 768px){.course-form-container,.manage-chapters-container{margin:12px auto;padding:16px;border-radius:12px}.form-actions{text-align:stretch}.submit-btn,.course-form-container button[type=submit]{width:100%}}.add-chapters-container,.practical-table-container{max-width:1120px;margin:26px auto;padding:22px;border-radius:16px;border:1px solid var(--card-border, #dbe5f1);background:var(--card-bg, #ffffff);box-shadow:0 8px 20px #0000000d}.add-chapters-container .page-title,.practical-table-heading{margin:0 0 16px;font-size:clamp(1.2rem,1.8vw,1.65rem);font-weight:800;color:var(--primary-color, #12335f)!important;border:none!important}.add-chapters-container .page-title:after,.practical-table-heading:after{content:"";display:block;width:60px;height:4px;margin-top:7px;border-radius:999px;background:var(--primary-color, #2a6fd6)}.table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--card-border, #dbe5f1);border-radius:12px;background:var(--card-bg, #ffffff)}.chapters-table,.practical-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.chapters-table th,.chapters-table td,.practical-table th,.practical-table td{border-right:1px solid var(--card-border, #dbe6f3);border-bottom:1px solid var(--card-border, #dbe6f3);padding:12px 14px;font-size:.94rem;color:var(--text-primary, #173759);background:var(--card-bg, #ffffff)}.chapters-table th:last-child,.chapters-table td:last-child,.practical-table th:last-child,.practical-table td:last-child{border-right:none}.chapters-table thead th,.practical-table thead th,.practical-table-header th{background:var(--dash-bg, #f2f6fc)!important;color:var(--primary-color, #213d62)!important;font-weight:700;border-bottom:1px solid var(--card-border, #d4e2f3)}.setting-header,.setting-cell{text-align:center}.table-actions{margin-top:14px;display:flex;justify-content:flex-end}.add-btn,.practical-table-button,.modal-actions .submit-btn,.update-button{border-radius:10px!important;border:1px solid var(--primary-accent-dark, #2a64bf)!important;background:var(--primary-color, #2a6fd6)!important;color:var(--card-bg, #ffffff)!important;font-weight:700;padding:9px 14px!important;box-shadow:0 6px 14px #0000001a;cursor:pointer;transition:all .2s ease}.add-btn:hover,.practical-table-button:hover,.modal-actions .submit-btn:hover,.update-button:hover{opacity:.95;transform:translateY(-1px)}.edit-btn,.delete-btn{border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:.95rem;padding:6px 8px;margin:0 2px}.edit-btn{background:var(--primary-light, #eff5ff);border-color:var(--card-border, #d9e6fb);color:var(--primary-color, #2a6fd6)}.delete-btn{background:#fff3f4;border-color:#ffd7dd;color:#e02424}.modal-overlay{background-color:#00000080}.modal-content{background:var(--card-bg, #ffffff);width:min(500px,92vw);border-radius:14px;border:1px solid var(--card-border, #d5e2f2);box-shadow:0 16px 36px #00000026}.modal-title,.modal-header h3,.header{color:var(--primary-color, #12335f)!important}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--card-border, #e1eaf5);background:var(--dash-bg, #f6f9ff)}.modal-close-btn{border:none;background:transparent;color:var(--text-secondary, #486185);font-size:1.5rem;line-height:1;cursor:pointer}.modal-body{padding:16px}.modal-footer{margin-top:10px}.modal-content input,.input-field{border:1px solid var(--card-border, #d4e1f1);border-radius:10px;padding:10px 12px;background:var(--card-bg, #ffffff);color:var(--text-primary, #111827)}.modal-content input:focus,.input-field:focus{outline:none;border-color:var(--primary-color, #2e74df);box-shadow:0 0 0 3px var(--primary-light, rgba(46, 116, 223, .16))}.modal-actions .cancel-btn{border-radius:10px;border:1px solid var(--card-border, #cfd9e7);background:var(--dash-bg, #f3f6fb);color:var(--text-primary, #2f4667);padding:9px 14px;cursor:pointer}.container{max-width:620px;margin:26px auto;padding:24px;border-radius:16px;border:1px solid var(--card-border, #d7e4f4);background:var(--card-bg, #ffffff);box-shadow:0 12px 28px #0000000d}.divider{height:1px;border:0;background-color:var(--card-border, #dce7f4);margin-bottom:16px}@media (max-width: 768px){.add-chapters-container,.practical-table-container,.container{margin:12px auto;padding:12px;border-radius:12px}.table-actions{justify-content:stretch}.add-btn{width:100%}}.activity-card{border:1px solid #d7e3f3;border-radius:16px;padding:22px;text-align:center;cursor:pointer;transition:all .3s ease;background:linear-gradient(180deg,#fff,#f8fbff);height:100%;min-height:180px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px #0f285414}.activity-card:hover{border-color:#9ec6fb;box-shadow:0 14px 24px #2459b024;transform:translateY(-4px)}.activity-card.selected{border-color:#3b78d4;background:linear-gradient(180deg,#f2f8ff,#eaf5ff);box-shadow:0 14px 26px #1850a433}.activity-card-inner{width:100%;position:relative}.activity-card-badge{position:absolute;right:0;top:-10px;border:1px solid #cfe0f5;background:#f6faff;color:#35557e;font-size:.74rem;font-weight:700;border-radius:999px;padding:4px 10px}.activity-card.selected .activity-card-badge{border-color:#7cb4ff;background:#e6f2ff;color:#154e99}.activity-card-icon{font-size:2.5rem;color:#2a6fd6;margin-bottom:15px;display:block}.activity-card.selected .activity-card-icon{color:#185dc6;transform:scale(1.1)}.activity-card-title{font-size:1.25rem;font-weight:700;color:#193457;margin-bottom:8px}.activity-card-label{font-size:.9rem;color:#5f7698;margin:0}.activity-card.selected .activity-card-label{color:#2f5788}.max-marks-selector-container{margin:8px 0 14px}.ptm-max-card{border:1px solid #d7e3f3!important;border-radius:12px!important;box-shadow:0 6px 16px #0e244a14!important}.ptm-max-body{background:#fff}.ptm-max-card-compact{overflow:hidden}.ptm-max-body-compact{padding:10px 12px!important}.ptm-max-topbar{display:grid;grid-template-columns:auto 1fr 140px;align-items:center;gap:10px}.ptm-max-title-wrap{display:inline-flex;align-items:center;gap:6px;color:#244469;font-weight:700}.ptm-max-title{font-size:.92rem}.ptm-max-quick-grid{display:inline-flex;flex-wrap:wrap;gap:8px}.ptm-max-quick-btn{border:1px solid #d7e3f3;background:#f9fbff;border-radius:10px;min-height:36px;min-width:52px;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;color:#23466f;font-weight:700;transition:all .2s ease}.ptm-max-quick-btn:hover{border-color:#93b8ee;background:#eef5ff;transform:translateY(-1px)}.ptm-max-quick-btn.active{border-color:#2a6fd6;background:#eaf3ff;box-shadow:0 4px 10px #1c57b124}.ptm-max-quick-value{font-size:1rem;line-height:1}.ptm-max-select{border-radius:10px!important;border-color:#cfe0f5!important;min-height:38px;font-size:.9rem!important}.ptm-max-inline-note{margin-top:8px;display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:#1e6b58;background:#edfbf5;border:1px solid #c5efde;border-radius:999px;padding:5px 10px}@media (max-width: 900px){.ptm-max-topbar{grid-template-columns:1fr;justify-items:stretch}.ptm-max-select{width:100%}}.student-marks-grid-container{margin:10px 0}.ptm-marks-card{border:1px solid #d7e3f3!important;border-radius:16px!important;overflow:hidden;box-shadow:0 12px 28px #0c234817!important}.ptm-marks-header{background:linear-gradient(135deg,#2a6fd6,#1f63d3 62%,#13b8b0)!important;color:#fff!important;border-bottom:0!important}.students-series{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto;padding-right:6px}.student-entry-card{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #deebf8;border-radius:10px;background-color:#fbfdff;transition:all .3s ease;gap:10px}.student-entry-card:hover{border-color:#b5d4f8;box-shadow:0 6px 14px #1855ab1f}.student-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.student-number{font-size:1rem;font-weight:700;color:#2a6fd6;min-width:28px;text-align:center}.student-details{flex:1;min-width:0}.student-name{font-size:.9rem;font-weight:700;color:#173759;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-roll{font-size:.78rem;color:#5f7698;margin-top:1px}.ptm-saved-pill{margin-left:auto;font-size:.7rem;font-weight:700;border:1px solid #bcebd8;background:#ebfbf4;color:#0f7a58;border-radius:999px;padding:3px 7px;display:inline-flex;gap:5px;align-items:center}.marks-input-section{display:flex;align-items:center;gap:8px;flex-shrink:0}.marks-input-wrapper{display:flex;align-items:center;border:1px solid #cfe0f5;border-radius:8px;background-color:#fff;overflow:hidden}.marks-input{font-size:1rem;font-weight:600;text-align:center;padding:7px 10px;border:none;width:64px;background-color:#fff;color:#333;outline:none}.marks-input:focus{background-color:#f8fbff;box-shadow:inset 0 0 0 2px #2a6fd6}.marks-input:disabled{background-color:#f0f0f0;color:#999;cursor:not-allowed}.marks-input::placeholder{color:#999}@media (max-width: 768px){.marks-input{-webkit-appearance:none;-moz-appearance:none;appearance:none}}.marks-input::-webkit-outer-spin-button,.marks-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.marks-input[type=text]{-moz-appearance:textfield}.marks-max-label{background-color:#f3f8ff;border-left:1px solid #d6e5f6;font-weight:600;color:#355a89;padding:7px 8px;margin:0;font-size:.82rem}.ptm-grid-footer{border:1px solid #deebf8;border-radius:10px;background:#f8fbff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px}.ptm-save-all-btn{border-radius:8px!important;border:1px solid #1f5cbe!important;background:linear-gradient(135deg,#2f74e0,#1f63d3 56%,#1857bb)!important;color:#fff!important;font-weight:700;padding:8px 13px!important;min-width:150px;box-shadow:0 10px 18px #1f63d338}.ptm-save-all-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(.97)}.ptm-save-all-btn:disabled{opacity:.65;cursor:not-allowed}.students-series::-webkit-scrollbar{width:8px}.students-series::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.students-series::-webkit-scrollbar-thumb{background:#b8cff1;border-radius:10px}.students-series::-webkit-scrollbar-thumb:hover{background:#95b8e8}@media (max-width: 768px){.student-entry-card{flex-direction:column;align-items:flex-start;gap:8px}.marks-input-section{width:100%}.marks-input-wrapper{flex:1}.marks-input{width:100%}.ptm-grid-footer{flex-direction:column;align-items:stretch}.ptm-save-all-btn{width:100%}.students-series{max-height:66vh}}.ptm-shell{--ptm-bg: #eef3fb;--ptm-surface: #ffffff;--ptm-border: #d7e3f3;--ptm-text: #143458;--ptm-muted: #5b7392;--ptm-primary: #2a6fd6;--ptm-primary-dark: #1e57b2;--ptm-accent: #13b8b0;--ptm-warn: #f4b400;background:linear-gradient(180deg,#f2f6fc 0%,var(--ptm-bg) 100%);min-height:calc(100vh - 90px)}.ptm-hero-card,.ptm-panel{border:1px solid var(--ptm-border)!important;border-radius:16px!important;box-shadow:0 10px 26px #0e234614!important;overflow:hidden;background:var(--ptm-surface)}.ptm-hero-header{border-bottom:1px solid rgba(17,54,102,.08)!important;background:linear-gradient(135deg,#f4f8ff,#eaf2ff 55%,#e9fcfb)!important;color:var(--ptm-text);padding:16px 22px!important}.ptm-hero-body{background:#fff;color:var(--ptm-muted)}.ptm-step-title{color:var(--ptm-text);font-weight:800}.ptm-panel-header{background:#f7faff!important;border-bottom:1px solid var(--ptm-border)!important;color:var(--ptm-text)}.ptm-back-btn{border:1px solid #cfdcef!important;background:#f5f8fd!important;color:#2b4466!important}.ptm-edit-btn{border:1px solid #e4ae10!important;background:linear-gradient(135deg,#ffc83f,#f4b400)!important;color:#2f2800!important;font-weight:700}.ptm-max-number{font-size:3rem;font-weight:800;color:var(--ptm-primary);line-height:1}.ptm-chip,.ptm-chip-secondary{border-radius:999px;padding:8px 12px;font-weight:700}.ptm-chip{background:#e7f3ff!important;color:#1b5dbd!important}.ptm-chip-secondary{background:#e9f8f8!important;color:#126f6a!important}.ptm-info-alert{background:#ecf6ff!important;border:1px solid #cfe3fb!important;color:#1e4f8f!important}.ptm-warn-alert{background:#fff9e8!important;border:1px solid #f5df9a!important;color:#664b00!important}@media (max-width: 768px){.ptm-shell{padding:12px!important}.ptm-max-number{font-size:2.2rem}}:root{--def-primary: #1f5fbf;--def-primary-dark: #134996;--def-soft: #edf4ff;--def-border: #d7e5f8;--def-text: #143257;--def-muted: #5d7090;--def-success: #1d8f5f;--def-danger: #dc3545;--def-warning: #f59e0b}.defaulter-page-container{min-height:calc(100vh - 64px);background:radial-gradient(circle at 8% 8%,rgba(31,95,191,.12),transparent 38%),radial-gradient(circle at 92% 2%,rgba(19,73,150,.08),transparent 35%),linear-gradient(180deg,#f2f7ff,#eaf2ff)}.defaulter-select-page{padding:1.1rem}.defaulter-select-hero{border:1px solid var(--def-border);border-radius:18px;background:linear-gradient(145deg,#fff,#edf5ff);box-shadow:0 12px 26px #122b5214;padding:1.1rem 1.2rem;margin-bottom:1rem}.defaulter-select-hero h2{margin:0;color:var(--def-text);font-size:1.9rem;font-weight:800}.defaulter-select-hero p{margin:.35rem 0 0;color:var(--def-muted);font-weight:600}.defaulter-ciann-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem}.defaulter-ciann-card{border:1px solid var(--def-border);border-radius:14px;background:#fff;box-shadow:0 10px 24px #122b5214;padding:.95rem;display:flex;flex-direction:column;gap:.3rem;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.defaulter-ciann-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px #122b521f}.defaulter-ciann-icon{font-size:1.4rem;color:var(--def-primary)}.defaulter-ciann-card h3{margin:.2rem 0;color:var(--def-text);font-size:1.1rem;font-weight:800}.defaulter-ciann-card p{margin:0;color:var(--def-muted);font-size:.92rem;font-weight:600}.defaulter-ciann-cta{margin-top:.5rem;color:var(--def-primary);font-weight:800;font-size:.9rem}.defaulter-state{border:1px solid var(--def-border);border-radius:12px;background:#fff;color:var(--def-muted);font-weight:700;padding:1rem;text-align:center}.defaulter-state-error{border-color:#f8c6cc;background:#fff1f2;color:#842029}.defaulter-detail-page{padding:1rem}.defaulter-header{border:1px solid var(--def-border);border-radius:16px;background:linear-gradient(145deg,#fff,#edf5ff);box-shadow:0 12px 26px #122b5214;padding:1rem 1.2rem;display:flex;justify-content:space-between;align-items:center;gap:.9rem;margin-bottom:1rem}.defaulter-header h1{margin:0;color:var(--def-text);font-size:1.8rem;font-weight:800}.header-buttons{display:flex;gap:.6rem}.print-button,.back-button{border:none;border-radius:10px;min-height:40px;padding:0 1rem;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;background:linear-gradient(135deg,var(--def-primary),var(--def-primary-dark))}.back-button{background:#edf4ff;color:var(--def-primary);border:1px solid #bfd6f7}.attendance-section{border:1px solid var(--def-border);border-radius:16px;background:#fff;box-shadow:0 10px 24px #122b5214;padding:1rem;margin-bottom:1rem}.attendance-section h2,.attendance-section h3{margin:0 0 .9rem;color:var(--def-text);font-weight:800}.attendance-summary-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.7rem;margin-bottom:.9rem}.summary-card{border:1px solid var(--def-border);border-radius:12px;background:#f7fbff;padding:.8rem}.summary-card span{color:var(--def-primary);font-size:1.4rem;font-weight:800;display:block}.summary-card p{margin:.2rem 0 0;color:var(--def-muted);font-size:.82rem;font-weight:700}.table-container{overflow:auto;border:1px solid var(--def-border);border-radius:12px}.attendance-table{width:100%;border-collapse:collapse;min-width:720px}.attendance-table th,.attendance-table td{border:1px solid #e6eefb;padding:.65rem .7rem;font-size:.88rem}.attendance-table th{background:#edf4ff;color:#355ea8;font-weight:800;text-align:center}.attendance-table td{color:#183861}.attendance-table tbody tr:nth-child(2n) td{background:#fbfdff}.print-only-header,.print-only-footer{display:none}@media (max-width: 768px){.defaulter-header{flex-direction:column;align-items:flex-start}.header-buttons{width:100%}.print-button,.back-button{flex:1}}@media print{.header-buttons,.print-button,.back-button,.no-print,.defaulter-select-page,.defaulter-select-hero,.defaulter-ciann-grid,.sidebar,.sidebar-overlay{display:none!important}.defaulter-detail-page,.attendance-section,.table-container{box-shadow:none!important;border:1px solid #999!important}.print-only-header,.print-only-footer{display:block!important}}.sa-dashboard{width:100%;max-width:1680px;margin:0 auto;padding:24px;display:grid;gap:24px;background:linear-gradient(180deg,#f8fafc,#eef2f7);min-height:100%}.sa-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;border-radius:16px;border:1px solid #dbe3ef;background:linear-gradient(135deg,#fff,#f8fbff)}.sa-kicker{margin:0 0 6px;color:#1d4ed8;font-size:.86rem;font-weight:700}.sa-hero h1{margin:0;color:#0f172a;font-size:2rem;line-height:1.1}.sa-hero__subtitle{margin:8px 0 0;color:#475569;font-size:1rem}.sa-refresh{border:none;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:700;padding:11px 16px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 10px 24px #2563eb47}.sa-refresh:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.sa-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.sa-stat-card{position:relative;border-radius:14px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;padding:16px 18px;display:flex;align-items:center;gap:14px;overflow:hidden;box-shadow:0 16px 30px #0f172a14}.sa-stat-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--sa-accent-soft),transparent 65%);opacity:.6;pointer-events:none}.sa-stat-card--blue{--sa-accent: #1d4ed8;--sa-accent-soft: rgba(191, 219, 254, .75)}.sa-stat-card--teal{--sa-accent: #0f766e;--sa-accent-soft: rgba(153, 246, 228, .6)}.sa-stat-card--slate{--sa-accent: #475569;--sa-accent-soft: rgba(226, 232, 240, .8)}.sa-stat-card__icon{width:48px;height:48px;border-radius:12px;background:var(--sa-accent-soft, #e2e8f0);color:var(--sa-accent, #334155);display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;position:relative;z-index:1}.sa-stat-card__content{display:grid;gap:2px;position:relative;z-index:1}.sa-stat-card__label{margin:0;font-size:.82rem;color:#64748b}.sa-stat-card__content h3{margin:0;font-size:1.9rem;line-height:1;color:#0f172a}.sa-stat-card__content span{font-size:.78rem;color:var(--sa-accent, #475569);font-weight:600}.sa-hero__meta{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sa-live{background:#dcfce7;color:#166534;font-weight:700;font-size:.75rem;padding:4px 10px;border-radius:999px}.sa-update-text{color:#64748b;font-size:.82rem;font-weight:600}.sa-section{background:#fff;border:1px solid #dbe3ef;border-radius:16px;padding:18px}.sa-section__header{margin-bottom:14px;border-bottom:1px solid #e8eef6;padding-bottom:10px}.sa-section__header h2{margin:0;color:#0f172a;font-size:1.5rem}.sa-management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.sa-management-card{border-radius:14px;border:1px solid #e6edf6;background:linear-gradient(180deg,#fff,#f8fbff);padding:16px;display:grid;gap:10px;min-height:260px}.sa-management-card__top{display:flex;justify-content:space-between;align-items:center}.sa-management-card__icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#dbeafe,#eff6ff);color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;font-size:1.08rem}.sa-badge{font-size:.75rem;font-weight:700;color:#3730a3;background:#e0e7ff;border-radius:999px;padding:5px 10px}.sa-management-card h3{margin:0;color:#0f172a;font-size:1.3rem}.sa-management-card p{margin:0;color:#475569;line-height:1.5}.sa-management-card__meta{margin-top:auto;color:#1d4ed8;font-size:.82rem;font-weight:700}.sa-action-btn{border:none;border-radius:10px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;padding:10px 14px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:8px;cursor:pointer}.sa-action-btn:hover{background:linear-gradient(135deg,#ea580c,#c2410c)}.sa-activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.sa-activity-card{border-radius:14px;border:1px solid #e5eaf3;background:#fff;padding:14px;display:flex;gap:12px;align-items:flex-start}.sa-activity-card__icon{width:40px;height:40px;border-radius:10px;background:#eef2ff;color:#4f46e5;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}.sa-activity-card h4{margin:0 0 4px;color:#0f172a;font-size:1.05rem}.sa-activity-card p{margin:0;color:#475569;font-size:.9rem;line-height:1.5}.sa-activity-card span{margin-top:6px;display:inline-block;color:#64748b;font-size:.78rem;font-weight:600}@media (max-width: 768px){.sa-dashboard{padding:14px;gap:14px}.sa-hero{flex-direction:column;padding:14px}.sa-hero h1{font-size:1.6rem}.sa-hero__subtitle{font-size:.92rem}.sa-refresh{width:100%;justify-content:center}.sa-section{padding:14px}.sa-section__header h2{font-size:1.25rem}}.create-institution-container{width:100%;max-width:1680px;margin:0 auto;padding:22px;background:linear-gradient(180deg,#f8fafc,#eff4fb);min-height:100%;color:#0f172a}.create-institution-container .page-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:16px 18px;border-radius:14px;border:1px solid #dbe5f1;background:linear-gradient(135deg,#fff,#f7fbff)}.create-institution-container .page-header h2{margin:0;font-size:1.7rem;color:#0f172a}.create-institution-container .text-muted{margin:6px 0 0;color:#475569!important;font-size:.95rem}.create-institution-container .grid-layout{display:grid;grid-template-columns:1fr;gap:14px}.create-institution-container .main-col{width:100%}.create-institution-container .card.section-card{border-radius:16px;border:1px solid #dbe5f1;overflow:hidden;box-shadow:0 12px 26px #0206170f;background:#fff}.create-institution-container .card-header{padding:16px 20px;border-bottom:1px solid #e7edf5;background:linear-gradient(135deg,#111827,#1f2937)}.create-institution-container .card-header h5{margin:0;color:#f8fafc;font-size:1.06rem;letter-spacing:.2px}.create-institution-container .card-body{padding:18px}.create-institution-container .form-label{font-weight:700;color:#1e293b;margin-bottom:6px}.create-institution-container .form-label.required:after{content:" *";color:#ef4444}.create-institution-container .form-control{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;min-height:44px;color:#0f172a;background:#fff}.create-institution-container .form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f629}.create-institution-container .form-text{color:#64748b;font-size:.82rem}.create-institution-container .logo-file-name{margin-top:8px;color:#0f766e;font-weight:600;font-size:.83rem}.create-institution-container .toggle-adv{border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#1f2937;font-weight:700;padding:10px 14px;min-height:42px;transition:all .2s ease}.create-institution-container .toggle-adv.active{background:#e0ecff;border-color:#93c5fd;color:#1e40af}.create-institution-container .advanced-block{border:1px dashed #cbd5e1;border-radius:12px;padding:14px;background:#f8fbff;margin-bottom:12px}.create-institution-container .advanced-block h6{margin:0;color:#0f172a;font-size:.98rem}.create-institution-container .form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.create-institution-container .btn{border-radius:10px;min-height:42px;padding:9px 15px;font-weight:700;border:1px solid transparent}.create-institution-container .btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.create-institution-container .btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.create-institution-container .btn-outline{background:#fff;color:#1e293b!important;border-color:#cbd5e1}.create-institution-container .btn-outline:hover{background:#f1f5f9}.create-institution-container .btn-sm{min-height:32px;padding:4px 10px}.create-institution-container .alert{border-radius:12px;border:1px solid transparent;display:flex;align-items:center;justify-content:space-between;gap:10px}.create-institution-container .alert-danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.create-institution-container .alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.create-institution-container .btn-close{border:none;background:transparent;font-size:1rem;cursor:pointer}.create-institution-container .success-box{border:1px solid #86efac;border-radius:16px;background:linear-gradient(180deg,#f0fdf4,#ecfdf5);padding:16px;margin-bottom:16px;box-shadow:0 10px 20px #16a34a14}.create-institution-container .success-header{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #bbf7d0}.create-institution-container .success-header i{color:#16a34a;font-size:1.3rem;margin-top:2px}.create-institution-container .credentials-display{display:grid;gap:10px}.create-institution-container .credentials-title{font-size:.86rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#166534;margin:2px 0}.create-institution-container .credential-row{display:grid;grid-template-columns:140px 1fr;gap:10px;align-items:center}.create-institution-container .credential-label{font-weight:700;color:#1f2937;font-size:.9rem}.create-institution-container .credential-box{border:1px solid #a7f3d0;border-radius:12px;background:#fff;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;color:#064e3b;font-weight:600}.create-institution-container .credential-value{display:inline-block;max-width:100%;font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow-wrap:anywhere}.create-institution-container .credential-copy-btn{border:1px solid #34d399;border-radius:8px;background:#ecfdf5;color:#065f46;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:.78rem;font-weight:700;min-height:32px;line-height:1;flex-shrink:0;transition:all .2s ease}.create-institution-container .credential-copy-btn:hover{background:#d1fae5;border-color:#10b981;color:#064e3b}.create-institution-container .credential-copy-btn:focus-visible{outline:3px solid rgba(16,185,129,.25);outline-offset:1px}.create-institution-container .created-logo-preview{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid #bbf7d0}@media (max-width: 992px){.create-institution-container{padding:16px}.create-institution-container .page-header h2{font-size:1.45rem}}@media (max-width: 768px){.create-institution-container{padding:12px}.create-institution-container .page-header{flex-direction:column;align-items:flex-start}.create-institution-container .card-body{padding:14px}.create-institution-container .credential-row{grid-template-columns:1fr;gap:6px}.create-institution-container .form-actions{flex-direction:column}.create-institution-container .form-actions .btn{width:100%}}.institutions-container{width:100%;max-width:1680px;margin:0 auto;padding:22px;background:linear-gradient(180deg,#f8fafc,#eff4fb);min-height:100%;color:#0f172a}.institutions-header{margin-bottom:16px;padding:16px 18px;border-radius:14px;border:1px solid #dbe5f1;background:linear-gradient(135deg,#fff,#f7fbff)}.institutions-header h2{margin:0;font-size:1.7rem;color:#0f172a;font-weight:800}.institutions-header .muted{margin:6px 0 0;color:#475569;font-size:.95rem}.search-refresh-container{display:flex;gap:12px;margin-bottom:16px;align-items:stretch;flex-wrap:wrap}.search-input-group{flex:1;min-width:280px;display:flex;align-items:center;background:#fff;border-radius:12px;border:1px solid #cbd5e1;overflow:hidden;box-shadow:0 6px 16px #0206170a}.search-input-group:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f629}.search-icon{padding:0 14px;color:#2563eb;font-size:.95rem}.search-input{border:none;padding:11px 0;font-size:.96rem;width:100%;outline:none;color:#0f172a}.btn-clear{background:transparent;border:none;color:#94a3b8;padding:0 14px;cursor:pointer}.btn-clear:hover{color:#0f172a}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.create-btn,.refresh-btn{min-height:44px;padding:8px 16px;border-radius:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:.92rem;border:1px solid transparent;white-space:nowrap}.create-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.create-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);color:#fff}.refresh-btn{background:#fff;color:#1e293b;border-color:#cbd5e1}.refresh-btn:hover{background:#f1f5f9;color:#0f172a}.alert{border-radius:12px;border:1px solid transparent;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.alert-danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.btn-close{border:none;background:transparent;font-size:1rem;cursor:pointer}.card.neutral-card{border-radius:14px;border:1px solid #dbe5f1;overflow:hidden;box-shadow:0 10px 24px #0206170f}.card.neutral-card .card-body{background:#fff}.institutions-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.institution-item{background:#fff;border:1px solid #dbe5f1;border-radius:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 22px #0206170d}.institution-item:hover{transform:translateY(-2px);border-color:#93c5fd;box-shadow:0 14px 26px #2563eb1f}.institution-item.inactive{border-color:#fecaca;background:#fff7f7}.institution-item .card-body{padding:16px;display:flex;align-items:center}.logo-circle{width:48px;height:48px;background:#dbeafe;color:#1d4ed8;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.05rem;border:1px solid #bfdbfe}.institution-item.inactive .logo-circle{background:#fee2e2;color:#991b1b;border-color:#fecaca}.institution-name{font-weight:700;font-size:1rem;color:#0f172a;margin-bottom:6px}.institution-meta{display:flex;gap:7px;flex-wrap:wrap}.meta-pill{font-size:.74rem;background:#f1f5f9;color:#334155;padding:4px 8px;border-radius:8px;border:1px solid #e2e8f0;font-weight:600}.status-pill{font-weight:700;text-transform:uppercase;letter-spacing:.03em}.status-active{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.status-inactive{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.palette-pill{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;color:#312e81;border-color:#c7d2fe}.palette-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(15,23,42,.08);display:inline-block}.chev{margin-left:auto;color:#cbd5e1}.institution-item:hover .chev{color:#2563eb}.empty-state{text-align:center;padding:56px 18px;color:#64748b}.empty-icon{font-size:2.8rem;color:#cbd5e1;margin-bottom:14px}@media (max-width: 992px){.institutions-container{padding:16px}.institutions-header h2{font-size:1.45rem}}@media (max-width: 768px){.institutions-container{padding:12px}.search-refresh-container{flex-direction:column}.btn-row{width:100%;display:grid;grid-template-columns:1fr}.create-btn,.refresh-btn{width:100%}.institutions-list{grid-template-columns:1fr}.institution-item .card-body{padding:14px}}.manage-institution-container{width:100%;max-width:1680px;margin:0 auto;padding:22px;background:linear-gradient(180deg,#f8fafc,#eff4fb);min-height:100%;color:#0f172a}.manage-institution-container .page-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:16px 18px;border-radius:14px;border:1px solid #dbe5f1;background:linear-gradient(135deg,#fff,#f7fbff)}.manage-institution-container .page-header h2{margin:0;font-size:1.7rem;color:#0f172a;font-weight:800}.manage-institution-container .text-muted{margin:6px 0 0;color:#475569!important;font-size:.95rem}.manage-institution-container .card{border-radius:14px;border:1px solid #dbe5f1;overflow:hidden;box-shadow:0 10px 24px #0206170f;background:#fff}.manage-institution-container .empty-card{margin-bottom:14px}.manage-institution-container .card-header{padding:15px 18px;border-bottom:1px solid #e7edf5;background:linear-gradient(135deg,#111827,#1f2937)}.manage-institution-container .card-header h5{margin:0;color:#f8fafc;font-size:1.02rem;letter-spacing:.2px}.manage-institution-container .card-body{padding:16px}.manage-institution-container .institution-info-card{margin-bottom:14px}.manage-institution-container .row.info-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.manage-institution-container .col.info-col{min-width:0}.manage-institution-container .info-item{margin-bottom:12px}.manage-institution-container .info-label{font-weight:700;color:#1e293b;margin-bottom:5px;display:block;font-size:.86rem;text-transform:uppercase;letter-spacing:.04em}.manage-institution-container .info-value{margin:0;color:#0f172a;font-size:.98rem;font-weight:600}.manage-institution-container .badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:700;border:1px solid transparent}.manage-institution-container .badge-primary{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.manage-institution-container .status-badge-active{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.manage-institution-container .status-badge-inactive{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.manage-institution-container .management-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.manage-institution-container .section-card{margin-bottom:0}.manage-institution-container .section-card.border-danger{border-color:#fecaca}.manage-institution-container .section-card .card-header.bg-danger{background:linear-gradient(135deg,#b91c1c,#991b1b)}.manage-institution-container .section-card .card-header.text-white h5{color:#fff}.manage-institution-container .form-label{display:block;margin-bottom:6px;font-weight:700;color:#1e293b}.manage-institution-container .form-label.required:after{content:" *";color:#ef4444}.manage-institution-container .form-control{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;min-height:44px}.manage-institution-container .form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f629;outline:none}.manage-institution-container .form-text{color:#64748b;font-size:.82rem;margin-top:6px}.manage-institution-container .grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.manage-institution-container .security-section{border:1px dashed #cbd5e1;border-radius:12px;background:#f8fbff;padding:14px;margin-top:10px}.manage-institution-container .security-title{margin:0 0 12px;font-size:.95rem;color:#0f172a;font-weight:700}.manage-institution-container .form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px}.manage-institution-container .btn{min-height:42px;padding:8px 15px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.manage-institution-container .btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.manage-institution-container .btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.manage-institution-container .btn-success{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff}.manage-institution-container .btn-success:hover{background:linear-gradient(135deg,#15803d,#166534)}.manage-institution-container .btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.manage-institution-container .btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b)}.manage-institution-container .btn-outline{background:#fff;color:#1e293b;border-color:#cbd5e1}.manage-institution-container .btn-outline:hover{background:#f1f5f9;color:#0f172a}.manage-institution-container .btn-sm{min-height:32px;padding:4px 10px}.manage-institution-container .status-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.manage-institution-container .status-title{font-weight:800;color:#0f172a}.manage-institution-container .status-text{margin-top:4px;font-weight:700}.manage-institution-container .status-text-active{color:#15803d}.manage-institution-container .status-text-inactive{color:#b91c1c}.manage-institution-container .status-note{margin-top:4px;color:#64748b;font-size:.84rem}.manage-institution-container .switch{position:relative;display:inline-block;width:54px;height:30px}.manage-institution-container .switch input{opacity:0;width:0;height:0}.manage-institution-container .slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background:#e2e8f0;border-radius:999px;transition:.2s ease}.manage-institution-container .slider:before{content:"";position:absolute;width:22px;height:22px;left:4px;top:4px;border-radius:50%;background:#fff;transition:.2s ease;box-shadow:0 3px 10px #0f172a33}.manage-institution-container .switch input:checked+.slider{background:#22c55e}.manage-institution-container .switch input:checked+.slider:before{transform:translate(24px)}.manage-institution-container .palette-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.manage-institution-container .palette-name{margin:0 0 6px;font-size:.98rem;color:#0f172a;font-weight:700;text-transform:capitalize}.manage-institution-container .palette-swatch-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.manage-institution-container .palette-swatch{width:20px;height:20px;border-radius:6px;border:1px solid #dbe5f1}.manage-institution-container .palette-note{margin-top:6px;color:#64748b;font-size:.84rem}.manage-institution-container .alert{border-radius:12px;border:1px solid transparent;padding:12px;margin-bottom:12px}.manage-institution-container .alert-danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.manage-institution-container .alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.manage-institution-container .alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.manage-institution-container .spinner{width:42px;height:42px;border-radius:50%;border:4px solid #dbeafe;border-top-color:#2563eb;animation:manageSpin .85s linear infinite;margin:8px auto}.manage-institution-container .loader-text{margin-top:8px;color:#475569;font-weight:600}.manage-institution-container .text-center{text-align:center}.manage-institution-container .mb-0{margin-bottom:0!important}.manage-institution-container .mb-1{margin-bottom:.25rem!important}.manage-institution-container .mb-3{margin-bottom:.9rem!important}.manage-institution-container .mt-3{margin-top:.9rem!important}.manage-institution-container .small{font-size:.84rem}.modal-overlay.palette-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:14px;z-index:9999}.modal-overlay.palette-modal .modal-dialog{width:min(960px,96vw);max-height:92vh;overflow-y:auto;border-radius:14px;border:1px solid #dbe5f1;box-shadow:0 22px 50px #02061759;background:#fff}.modal-overlay.palette-modal .modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f7fbff);position:sticky;top:0;z-index:1}.modal-overlay.palette-modal .modal-header h5{margin:0;color:#0f172a;font-weight:800}.modal-overlay.palette-modal .modal-header p{margin:0;color:#64748b}.modal-overlay.palette-modal .modal-body{padding:16px}.modal-overlay.palette-modal .security-section{border:1px dashed #cbd5e1;border-radius:12px;background:#f8fbff;padding:14px}.modal-overlay.palette-modal .security-title{margin:0 0 12px;font-size:.94rem;color:#0f172a;font-weight:700}.modal-overlay.palette-modal .form-label{margin-bottom:6px;font-weight:700;color:#1e293b}.modal-overlay.palette-modal .form-control{width:100%;min-height:42px;border-radius:10px;border:1px solid #cbd5e1;padding:10px 12px}.modal-overlay.palette-modal .form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f629;outline:none}.modal-overlay.palette-modal .form-text{color:#64748b;font-size:.82rem;margin-top:6px}.modal-overlay.palette-modal .grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.modal-overlay.palette-modal .form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px;flex-wrap:wrap}.modal-overlay.palette-modal .btn{min-height:40px;border-radius:10px;padding:8px 14px;font-weight:700;border:1px solid transparent}.modal-overlay.palette-modal .btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.modal-overlay.palette-modal .btn-outline{background:#fff;color:#1e293b;border-color:#cbd5e1}@keyframes manageSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1200px){.manage-institution-container .management-sections{grid-template-columns:1fr}}@media (max-width: 992px){.manage-institution-container{padding:16px}.manage-institution-container .page-header h2{font-size:1.45rem}}@media (max-width: 768px){.manage-institution-container{padding:12px}.manage-institution-container .page-header{flex-direction:column;align-items:flex-start}.manage-institution-container .row.info-row,.manage-institution-container .grid-2,.modal-overlay.palette-modal .grid-2{grid-template-columns:1fr}.manage-institution-container .form-actions,.modal-overlay.palette-modal .form-actions{flex-direction:column;align-items:stretch}.manage-institution-container .form-actions .btn,.modal-overlay.palette-modal .form-actions .btn,.manage-institution-container .page-header .btn{width:100%}}.superadmin-navbar{background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);color:#fff;padding:10px 20px 8px;min-height:72px;box-shadow:0 10px 28px #0f172a47;position:fixed;top:0;left:0;right:0;z-index:1060;width:100%;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.08)}.superadmin-navbar-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.brand-button{display:inline-flex;align-items:center;gap:12px;background:transparent;border:none;color:#fff;padding:0;cursor:pointer}.brand-button i{font-size:1.1rem;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#3b82f638;border:1px solid rgba(96,165,250,.45)}.brand-texts{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.brand-texts h2{margin:0;font-size:1.06rem;font-weight:700;letter-spacing:.2px}.brand-texts span{color:#e2e8f0e6;font-size:.79rem;font-weight:500}.navbar-right{display:flex;align-items:center}.logout-button{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.18);padding:8px 14px;border-radius:10px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:7px;transition:all .2s ease;font-size:.85rem}.logout-button:hover{background-color:#dc2626;border-color:#ef4444}.logout-button i{font-size:.8rem}.superadmin-tabs{display:flex;align-items:center;gap:10px;margin-top:10px;overflow-x:auto;padding-bottom:2px}.superadmin-tabs::-webkit-scrollbar{display:none}.superadmin-tab{display:inline-flex;align-items:center;gap:7px;color:#e2e8f0eb;text-decoration:none;padding:8px 12px;border-radius:10px;border:1px solid transparent;background:#ffffff0a;font-size:.84rem;font-weight:600;white-space:nowrap;transition:all .2s ease}.superadmin-tab:hover{color:#fff;border-color:#94a3b859;background:#ffffff17}.superadmin-tab.active{color:#e0f2fe;border-color:#60a5fa73;background:linear-gradient(135deg,#2563eb59,#3b82f633)}@media (max-width: 768px){.superadmin-navbar{padding:10px 12px 8px;min-height:68px}.brand-texts h2{font-size:.98rem}.brand-texts span{font-size:.74rem}.logout-button,.superadmin-tab{padding:7px 10px;font-size:.8rem}}@media (max-width: 576px){.superadmin-navbar-top,.brand-button{gap:8px}.brand-button i{width:30px;height:30px;font-size:.95rem}.brand-texts span{display:none}.logout-button{padding:6px 8px;font-size:.76rem;gap:5px}.superadmin-tabs{gap:8px}.superadmin-tab{padding:6px 9px;font-size:.76rem}}:root{--header-height: 60px;--sidebar-width: 240px;--page-bg: #f8f9fa;--surface-color: #ffffff;--border-color: #dee2e6;--transition-speed: .3s;--app-header-bg: #2e7d32;--primary-accent: #10b981;--primary-accent-dark: #059669}button.btn-primary,.btn-primary{color:var(--text-on-primary, #ffffff)!important;background:var(--primary-accent, #10b981)!important}button.btn-primary:hover,.btn-primary:hover{background:var(--primary-accent-dark, #059669)!important;color:var(--text-on-primary, #ffffff)!important}.btn-outline,button.btn-outline{color:var(--primary-accent, #10b981)!important;border-color:var(--primary-accent, #10b981)!important}.btn-danger,button.btn-danger,.btn-warning,button.btn-warning,.badge-warning{color:var(--text-on-primary, #ffffff)!important}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--page-bg);overflow:hidden;height:100vh}.ats-page,.sah-page,.attendance-main-content,.theory-page,.practical-page,.ea1-page,.ea2-page,.eia-page,.edit-practical-attendance-container,.edit-practical-attendance-page-container,.edit-attendance-container{font-family:Nunito Sans,Segoe UI,sans-serif!important}.ats-hero,.sah-header,.ea1-hero,.ea2-hero,.eia-hero,.theory-attendance-container,.theory-card,.practical-card,.record-details-card,.edit-practical-attendance-card,.eia-form,.eia-context-card,.ea2-record-card,.ea1-card,.ats-card,.sah-card,.form-box{border-radius:16px!important;border-color:#d7e5f8!important;box-shadow:0 10px 24px #122b5214!important}.ats-hero h2,.sah-header h1,.ea1-hero-title,.ea2-hero-title,.eia-hero-title,.theory-title,.practical-title,.page-title,.record-title,.edit-practical-attendance-heading{letter-spacing:-.2px;font-weight:800!important}@media (max-width: 768px){body{overflow:visible!important}.secondary-sidebar.visible{transform:translate(0)!important;opacity:1!important;visibility:visible!important;z-index:9999!important;pointer-events:auto!important}}.app-container{display:flex;min-height:100vh}.main-content-wrapper{flex-grow:1;display:flex;flex-direction:column;overflow-y:hidden;overflow-x:visible;transition:margin-left var(--transition-speed) ease;margin-left:calc(var(--sidebar-width) + 1rem);margin-top:60px}.superadmin-page .main-content-wrapper{margin-top:0;padding-top:112px;overflow-x:hidden;height:100vh}.content-area{flex-grow:1;overflow-y:auto;padding:1.5rem 1.5rem 1.5rem 2rem;box-sizing:border-box}.scrollable-content{flex-grow:1;overflow-y:auto;height:calc(100vh - var(--header-height));box-sizing:border-box;padding-top:0}.superadmin-page .scrollable-content{height:calc(100vh - 112px);overflow-x:hidden;padding-bottom:20px}.admin-page .main-content-wrapper{margin-top:60px;padding-top:0;margin-left:calc(var(--sidebar-width, 280px) + 1rem);transition:margin-left var(--transition-speed) ease}.admin-page.sidebar-collapsed .main-content-wrapper{margin-left:0}.admin-page .scrollable-content{padding-top:0;padding-bottom:220px;overflow-y:auto;height:calc(100vh - 60px);padding-left:2rem}.admin-page.admin-dashboard-page .scrollable-content{overflow-y:visible;height:auto}.office-page .main-content-wrapper{padding-top:0;margin-top:56px}@media (min-width: 769px){.office-page .main-content-wrapper{margin-left:280px!important;width:calc(100% - 280px)!important;box-sizing:border-box}}.office-page .scrollable-content{padding-top:0}.faculty-page{background-color:#eef2f7!important}.faculty-page .main-content-wrapper,.faculty-page .scrollable-content{background-color:#eef2f7!important;background-image:linear-gradient(180deg,#f3f6fa,#e9eef5)!important}.admin-content{padding:24px;max-width:1200px;margin:0 auto;height:100%;box-sizing:border-box}.admin-content .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.admin-content .loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #059669;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.superadmin-page .scrollable-content{height:calc(100vh - 104px)!important;padding-bottom:20px!important}}@media (min-width: 769px){.app-container.sidebar-collapsed .main-content-wrapper{margin-left:0}}@media (max-width: 768px){.main-content-wrapper{margin-left:0!important;width:100%!important;margin-top:0!important;padding-top:var( --header-height )!important}.scrollable-content{height:100vh!important;padding-top:0!important;overflow-x:auto!important}.content-area{padding:1rem!important}.superadmin-page .main-content-wrapper{margin-top:0!important;padding-top:104px!important}.admin-page .main-content-wrapper{margin-top:0!important;padding-top:60px!important}.admin-page .scrollable-content{height:calc(100vh - 60px)!important;padding-bottom:140px!important}.admin-page.admin-dashboard-page .scrollable-content{height:auto!important;overflow-y:visible!important}.timetable-layout,.student-layout,.teaching-layout{overflow-y:auto!important;padding-top:50px!important;width:100%!important;max-width:100%!important}.timetable-main-content,.student-main-content,.teaching-main-content{margin-left:0!important;width:100%!important;max-width:100%!important;padding-left:12px!important;padding-right:12px!important;box-sizing:border-box!important}.app-container{overflow:visible!important}}.plan-container:not(.timetable-layout .plan-container){padding:40px;background-color:#fefefe;border:1px solid #ccc;border-radius:12px;margin:20px 0;box-shadow:0 2px 8px #0000001a}table:not(.timetable){width:100%;border-collapse:collapse}.main-content-wrapper .container-fluid{padding-left:15px!important;padding-right:15px!important;margin-left:0!important;margin-right:0!important}.scrollable-content>*{margin-left:0!important}@media print{html,body{overflow:visible!important;height:auto!important;background:#fff!important}.app-container,.main-content-wrapper,.scrollable-content,.content-area{display:block!important;overflow:visible!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important}.main-content-wrapper{margin-top:0!important;margin-left:0!important}}.attendance-main-content{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:0 15px!important;box-sizing:border-box;margin:0;width:100%;max-width:none}.btn.submit,.btn-success,.pagination .page-item.active .page-link{background-color:var(--app-header-bg)!important;border-color:var(--app-header-bg)!important;color:#fff!important}.btn.submit:hover,.btn-success:hover,.pagination .page-item.active .page-link:hover{background-color:var(--primary-accent-dark)!important;border-color:var(--primary-accent-dark)!important;color:#fff!important}.attendance-status-present,.attendance-marker.present,.status-present{background-color:var(--app-header-bg)!important;border-color:var(--app-header-bg)!important}h1,h2,h3,h4,h5,h6{color:inherit}.text-success{color:var(--app-header-bg)!important}.bg-success{background-color:var(--app-header-bg)!important}.border-success{border-color:var(--app-header-bg)!important}.page-title,.course-form-container h1,.modal-header,.submit-btn,.add-btn{background-color:var(--app-header-bg)!important;color:#fff!important;border-color:var(--app-header-bg)!important}.submit-btn:hover,.add-btn:hover,.course-form-container button[type=submit]:hover{background-color:var(--primary-accent-dark)!important;border-color:var(--primary-accent-dark)!important}.ct-ciann-cards-container .ct-header,.ct-dashboard-header,.ct-marks-form .form-header,.ct-card-header,.ct-number-card .ct-card-header{background:var(--app-header-bg)!important}.ct-ciann-card:hover,.ct-number-card:hover{border-color:var(--primary-accent)!important;box-shadow:0 8px 25px #667eea33!important}.subject-name,.ct-stat-value,.detail-value,.student-marks{color:var(--primary-accent-dark)!important}.stat-card,.new-ct-btn,.save-btn,.retry-btn,.refresh-btn,.add-first-ct-btn,.select-btn{background:var(--primary-accent)!important}.stat-card:hover,.new-ct-btn:hover,.save-btn:hover:not(:disabled),.retry-btn:hover,.refresh-btn:hover,.add-first-ct-btn:hover,.select-btn:hover{background:var(--primary-accent-dark)!important}.student-app-container{width:100vw;height:100vh;overflow:hidden}.app-container.student-layout .sidebar{display:none}.app-container.student-layout .main-content-wrapper{margin-left:0}.app-container.student-layout .header .menu-toggle{display:none}
