:root{--primary-blue:#0f2b46;--accent-blue:#2c5282;--text-dark:#333;--text-light:#666;--white:#fff;--glass-bg:#ffffffbf;--glass-border:#fff6;--input-bg:#ffffffe6}[data-theme=dark] .login-page-container{--primary-blue:#60a5fa;--accent-blue:#93c5fd;--text-dark:#f8fafc;--text-light:#cbd5e1;--white:#fff;--glass-bg:#0f172ad9;--glass-border:#ffffff26;--input-bg:#1e293be6}[data-theme=dark] .login-page-container .input-group input,[data-theme=dark] .login-page-container .input-group select{border:1px solid #fff3}.login-page-container{background:url(https://images.unsplash.com/photo-1507842217121-9e96c885ee3f?q=80&w=2070&auto=format&fit=crop) 50%/cover no-repeat;justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow-y:auto}.background-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:0;background:#0000004d;width:100%;height:100%;position:absolute;top:0;left:0}.login-wrapper{z-index:2;justify-content:center;width:100%;padding:20px;display:flex;position:relative}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);text-align:center;border-radius:24px;flex-direction:column;width:100%;max-width:420px;max-height:90vh;padding:30px 35px;animation:.8s ease-out fadeInUp;display:flex;box-shadow:0 8px 32px #0000001a}.logo-header{color:var(--primary-blue);flex-direction:column;align-items:center;margin-bottom:25px;display:flex}.bells-logo{width:80px;height:auto;margin-bottom:10px;display:block}.logo-text h1{font-size:22px;font-weight:700;line-height:1.2}.tabs-container{border-bottom:2px solid #0000000d;margin-bottom:30px;display:flex;position:relative}.tab-btn{color:var(--text-light);cursor:pointer;z-index:2;background:0 0;border:none;flex:1;padding:12px;font-size:16px;font-weight:500;transition:color .3s}.tab-btn.active{color:var(--primary-blue);font-weight:600}.tab-slider{background-color:var(--primary-blue);z-index:3;width:50%;height:3px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-2px;left:0}.tab-slider.right{transform:translate(100%)}.auth-form{flex-direction:column;gap:15px;display:none}.auth-form.active-form{flex:1;padding-right:5px;display:flex;overflow-y:auto}.row-group{gap:10px;display:flex}.row-group .input-group{flex:1}.input-group{width:100%;position:relative}.input-group input,.input-group select{background:var(--input-bg);width:100%;color:var(--text-dark);appearance:none;border:1px solid #0000001a;border-radius:10px;outline:none;padding:16px;font-size:15px;transition:box-shadow .3s,transform .2s,border-color .3s;box-shadow:0 2px 6px #00000005}.role-select{cursor:pointer;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%23333%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-position:right 15px top 50%;background-repeat:no-repeat;background-size:10px}.input-group input[type=file]{padding:10px 16px}.input-group input[type=file]::file-selector-button{background:var(--primary-blue);color:var(--white);cursor:pointer;border:none;border-radius:6px;margin-right:15px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .3s,opacity .3s}.input-group input[type=file]::file-selector-button:hover{background:var(--accent-blue)}.input-group input:focus,.input-group select:focus{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.toggle-password{color:#888;cursor:pointer;z-index:10;font-size:14px;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.form-actions{justify-content:flex-end;margin-bottom:10px;display:flex}.forgot-password{color:var(--primary-blue);font-size:13px;font-weight:500;text-decoration:none}.forgot-password:hover{text-decoration:underline}.submit-btn{background-color:var(--primary-blue);width:100%;color:var(--white);cursor:pointer;border:none;border-radius:10px;padding:16px;font-size:16px;font-weight:600;transition:background-color .3s,transform .2s;box-shadow:0 4px 15px #0f2b4633}.submit-btn:hover{background-color:var(--accent-blue);transform:translateY(-2px)}.register-btn{margin-top:10px}.security-footer{color:var(--text-light);flex-direction:column;align-items:center;gap:5px;margin-top:35px;font-size:12px;display:flex}.security-footer i{color:var(--primary-blue);font-size:14px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.glass-card{max-width:100%;padding:30px 20px}.logo-text h1{font-size:20px}.row-group{flex-direction:column}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.shake{animation:.4s ease-in-out shake}.input-group input:invalid{border:2px solid #e74c3c}:root{--primary-blue:#0f2b46;--accent-cyan:#00e5ff;--bg-grey:#f0f2f5;--sidebar-bg:#eef1f4;--text-dark:#1a1a1a;--text-grey:#666;--white:#fff;--card-shadow:0 4px 15px #0000000d;--bg-card:#fff;--bg-body:#f0f2f5;--text-main:#1a1a1a;--border-color:#e2e8f0;--warning-bg:#fff3cd;--warning-text:#856404;--warning-border:#ffeeba;--info-bg:#f8f9fa;--info-text:#666}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}body{background-color:var(--bg-grey);height:100dvh;overflow:hidden}#root{flex-direction:column;height:100%;display:flex}.dashboard-container{flex:1;height:100%;min-height:0;display:flex}.sidebar{background-color:var(--sidebar-bg);z-index:100;border-right:1px solid #0000000d;flex-direction:column;width:260px;transition:width .3s,transform .3s;display:flex}.sidebar-header{background-color:var(--primary-blue);color:#fff;align-items:center;height:70px;padding:0 20px;display:flex}.logo-area{align-items:center;gap:10px;display:flex}.sidebar-logo{width:35px;height:auto}.logo-text{flex-direction:column;font-size:14px;font-weight:600;line-height:1.2;display:flex}.logo-text .small-text{opacity:.8;font-size:11px;font-weight:400}.sidebar-nav{flex:1;padding-top:20px}.sidebar-nav ul{list-style:none}.sidebar-nav li a{color:var(--text-grey);align-items:center;gap:15px;padding:15px 25px;font-size:15px;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.sidebar-nav li a i{text-align:center;width:20px}.sidebar-nav li.active a{background-color:var(--accent-cyan);color:var(--primary-blue);font-weight:600}.sidebar-footer{border-top:1px solid #0000000d;padding:20px}.logout-btn{color:#e74c3c;align-items:center;gap:10px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.main-content{flex-direction:column;flex:1;height:100%;display:flex;overflow-y:auto}.top-header{z-index:999;background-color:var(--primary-blue);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:70px;padding:0 30px;display:flex;position:sticky;top:0;box-shadow:0 4px 15px #00000014}.header-left{align-items:center;gap:15px;display:flex}.header-left h2{opacity:.9;font-size:18px;font-weight:400}.mobile-menu-btn{color:#fff;cursor:pointer;background:0 0;border:none;font-size:20px;display:none}.user-profile{cursor:pointer;align-items:center;gap:10px;display:flex}.profile-img{border:2px solid #fff3;border-radius:50%;width:35px;height:35px}.content-wrapper{background:linear-gradient(#ffffff80 0%,#f0f2f580 100%);flex:1;padding:30px 40px}.welcome-bar{justify-content:space-between;align-items:flex-end;margin-bottom:30px;display:flex}.welcome-text h1{color:var(--text-dark);font-size:28px;font-weight:400}.welcome-text h1 span{font-weight:700}.welcome-text p{color:var(--text-grey);margin-top:5px;font-size:14px}.create-btn{background-color:var(--accent-cyan);color:var(--primary-blue);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:transform .2s;display:flex;box-shadow:0 4px 10px #00e5ff33}.create-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #00e5ff4d}.course-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;padding-bottom:40px;display:grid}.course-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--card-shadow);background:#ffffffd9;border:1px solid #fff9;border-radius:16px;padding:25px;transition:transform .3s,box-shadow .3s}.course-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000014}.card-header{margin-bottom:15px}.course-label{color:#999;text-transform:uppercase;letter-spacing:.5px;font-size:12px}.course-card h3{color:var(--text-dark);margin-top:5px;font-size:18px;font-weight:700}.card-meta{color:var(--text-grey);align-items:center;gap:8px;margin-bottom:25px;font-size:14px;display:flex}.upload-status{color:var(--text-grey);opacity:.8;margin-bottom:15px;font-size:13px}.card-actions{gap:10px;display:flex}.card-actions button{cursor:pointer;border-radius:6px;flex:1;padding:10px;font-size:13px;font-weight:500;transition:all .2s}.btn-primary{background-color:var(--accent-cyan);color:var(--primary-blue);border:none;font-weight:600!important}.btn-primary:hover{background-color:#00cce6}.btn-secondary{color:var(--text-dark);background:0 0;border:1px solid #ccc}.btn-secondary:hover{border-color:var(--text-dark);background-color:#f9f9f9}.dash-footer{color:#888;border-top:1px solid #0000000d;justify-content:space-between;margin-top:auto;padding-top:20px;font-size:12px;display:flex}.footer-links a{color:#888;margin-left:20px;text-decoration:none}.footer-links a:hover{color:var(--primary-blue)}@media (width<=768px){.sidebar{z-index:9999;height:100vh;transition:transform .3s;position:fixed;top:0;left:-260px;box-shadow:2px 0 10px #0000001a}.sidebar.active{transform:translate(260px)}.mobile-menu-btn{display:block}.content-wrapper{padding:20px}.welcome-bar{flex-direction:column;align-items:flex-start;gap:15px}.create-btn{justify-content:center;width:100%}}.theme-toggle-btn{color:var(--text-dark);cursor:pointer;background:0 0;border:none;margin-right:15px;padding:5px;font-size:20px;transition:color .3s}.theme-toggle-btn:hover{color:var(--accent-cyan)}[data-theme=dark]{--primary-blue:#0b1e36;--accent-cyan:#00e5ff;--bg-grey:#121212;--sidebar-bg:#1e1e1e;--text-dark:#e0e0e0;--text-grey:#aaa;--white:#242424;--card-shadow:0 4px 15px #0006;--border-color:#2d3748;--bg-card:#1e293b;--bg-body:#0f172a;--text-main:#e2e8f0;--warning-bg:#332701;--warning-text:#ffd54f;--warning-border:#856404;--info-bg:#2d3748;--info-text:#aaa}[data-theme=dark] body{color:var(--text-dark)}[data-theme=dark] .course-card,[data-theme=dark] .modal-content,[data-theme=dark] .filter-bar,[data-theme=dark] .feed-container,[data-theme=dark] .updates-header,[data-theme=dark] .course-header-card,[data-theme=dark] .file-item,[data-theme=dark] .upload-card,[data-theme=dark] .table-responsive,[data-theme=dark] .profile-card,[data-theme=dark] .user-table{background-color:var(--white)!important;border-color:var(--border-color)!important}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] p,[data-theme=dark] span,[data-theme=dark] label,[data-theme=dark] td,[data-theme=dark] .form-label{color:var(--text-dark)!important}[data-theme=dark] span.badge-active{color:#155724!important;background:#d4edda!important}[data-theme=dark] span.badge-disabled{color:#721c24!important;background:#f8d7da!important}[data-theme=dark] .form-input,[data-theme=dark] .enroll-textarea,[data-theme=dark] .filter-input{background-color:var(--bg-grey)!important;color:var(--text-dark)!important;border-color:var(--border-color)!important}[data-theme=dark] .modal-list-item,[data-theme=dark] .feed-item,[data-theme=dark] .sys-form-row,[data-theme=dark] .file-icon,[data-theme=dark] th{border-color:var(--border-color)!important;background-color:#2a2a2a!important}[data-theme=dark] .btn-manage,[data-theme=dark] .view-btn{color:var(--text-dark)!important;border-color:var(--border-color)!important;background-color:#2a2a2a!important}[data-theme=dark] .card-meta,[data-theme=dark] hr,[data-theme=dark] .tabs-header{border-color:var(--border-color)!important}@media (width<=768px){.modal-content{max-height:85dvh!important;padding-bottom:calc(25px + env(safe-area-inset-bottom))!important;margin:5dvh auto!important}}[data-theme=dark] .user-table th,[data-theme=dark] .user-table td{border-bottom-color:var(--border-color)!important}.progress-wrapper{background-color:#e9ecef;border-radius:8px;width:100%;margin-top:15px;display:none;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a}.progress-fill{background-color:var(--accent-cyan);width:0%;height:20px;color:var(--primary-blue);text-align:center;font-size:12px;font-weight:700;line-height:20px;transition:width .2s}[data-theme=dark] .filter-form,[data-theme=dark] .data-table,[data-theme=dark] .modal-content{background:#1a2634!important;box-shadow:0 4px 15px #0003!important}[data-theme=dark] .data-table th{color:#e2e8f0!important;background:#0f172a!important;border-bottom:1px solid #2d3748!important}[data-theme=dark] .data-table td{border-bottom:1px solid #2d3748!important}[data-theme=dark] .data-table tr:hover{background:#2d3748!important}[data-theme=dark] .filter-input,[data-theme=dark] .filter-select,[data-theme=dark] .form-input{color:#f8f9fa!important;background:#0f172a!important;border:1px solid #ffffff4d!important}[data-theme=dark] .data-table td div,[data-theme=dark] .data-table td span,[data-theme=dark] .form-label,[data-theme=dark] .modal-content h2,[data-theme=dark] .modal-content p{color:#cbd5e1!important}[data-theme=dark] .clickable-name{color:#00e5ff!important}[data-theme=dark] .data-table td i{color:#94a3b8!important}[data-theme=dark] .data-table td .btn-action i{color:#fff!important}[data-theme=dark] .close{color:#cbd5e1!important}[data-theme=dark] .profile-header-card,[data-theme=dark] .course-card{background:#1a2634!important;border-color:#2d3748!important;box-shadow:0 4px 15px #0003!important}[data-theme=dark] .profile-header-card h2,[data-theme=dark] .profile-header-card p,[data-theme=dark] .course-card h3,[data-theme=dark] .course-card p,[data-theme=dark] .stat-label{color:#cbd5e1!important}[data-theme=dark] .stat-value{color:#fff!important}[data-theme=dark] .progress-bg{background:#2d3748!important}[data-theme=dark] .timeline{border-left-color:#2d3748!important}[data-theme=dark] .timeline-item{background:#0f172a!important;border:1px solid #2d3748!important}[data-theme=dark] .timeline-item .node-date,[data-theme=dark] .timeline-item .node-week{color:#cbd5e1!important}[data-theme=dark] .select2-container--default .select2-selection--multiple{background-color:#0f172a!important;border-color:#2d3748!important}[data-theme=dark] .report-course-card,[data-theme=dark] .course-wrapper{background:#1a2634!important;border-color:#2d3748!important}[data-theme=dark] .report-details,[data-theme=dark] .sessions-container{background:#0f172a!important;border-top-color:#2d3748!important}[data-theme=dark] .report-header:hover,[data-theme=dark] .course-row:hover{background:#2d3748!important}[data-theme=dark] .course-row div,[data-theme=dark] .course-title{color:#cbd5e1!important}[data-theme=dark] .course-row div[style*="font-size: 16px"],[data-theme=dark] .course-row div[style*="font-size: 15px"]{color:#fff!important}[data-theme=dark] .course-code-badge{color:#00e5ff!important;background:#0f172a!important}[data-theme=dark] .pill-green{color:#2ecc71!important;background:#27ae6033!important}[data-theme=dark] .pill-red{color:#ff7675!important;background:#e74c3c33!important}[data-theme=dark] .progress-text[style*="color: #27ae60"]{color:#2ecc71!important}[data-theme=dark] .progress-text[style*="color: #e74c3c"]{color:#ff7675!important}[data-theme=dark] div[style*="background: #fff"],[data-theme=dark] div[style*="background: white"]{background:#1a2634!important;border-color:#2d3748!important}[data-theme=dark] div[style*="background: #fff"] p,[data-theme=dark] div[style*="background: white"] p,[data-theme=dark] div[style*="background: #fff"] h3,[data-theme=dark] div[style*="background: white"] h3{color:#cbd5e1!important}.desktop-toggle-btn{color:#fff;cursor:pointer;background:0 0;border:none;padding:5px;font-size:20px;transition:color .2s}.desktop-toggle-btn:hover{color:var(--accent-cyan)}@media (width>=769px){.sidebar.collapsed{width:80px}.sidebar.collapsed #sidebar-logo-area{display:none}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.sidebar.collapsed .nav-text{display:none}.sidebar.collapsed .sidebar-nav li a{justify-content:center;padding:15px 0}.sidebar.collapsed .sidebar-nav li a i{margin:0;font-size:22px}}@media (width<=768px){.desktop-toggle-btn{display:none}}[data-theme=dark] .content-wrapper{background:linear-gradient(#0f172a 0%,#121212 100%)!important}[data-theme=dark] .glass-card{color:#e2e8f0!important;background:#1e293b!important;border-color:#2d3748!important;box-shadow:0 8px 32px #0006!important}[data-theme=dark] .form-input-dark,[data-theme=dark] .form-input-dark option{color:#e2e8f0!important;background:#0f172a!important;border-color:#2d3748!important}[data-theme=dark] .form-input-dark:focus{border-color:#00e5ff!important}[data-theme=dark] .form-label{color:#94a3b8!important}[data-theme=dark] .modal-content{color:#e2e8f0!important;background:#1e293b!important;border-color:#2d3748!important}[data-theme=dark] .glass-card table th{color:#94a3b8!important;border-bottom-color:#2d3748!important}[data-theme=dark] .glass-card table td{color:#e2e8f0!important;border-bottom-color:#2d3748!important}[data-theme=dark] .candidate-card{background:#0f172a!important;border-color:#2d3748!important}[data-theme=dark] .candidate-card strong{color:#f1f5f9!important}[data-theme=dark] .candidate-card span{color:#94a3b8!important}[data-theme=dark] .position-block{background:#0f172a!important;border-color:#2d3748!important}[data-theme=dark] .position-title{color:#f1f5f9!important;border-bottom-color:#2d3748!important}[data-theme=dark] .radio-group,[data-theme=dark] .departments-checkbox-grid{background:#0f172a!important;border-color:#2d3748!important}[data-theme=dark] .radio-group label,[data-theme=dark] .checkbox-label{color:#e2e8f0!important}[data-theme=dark] .checkmark{background-color:#1e293b!important;border-color:#2d3748!important}[data-theme=dark] .glass-title{color:#f1f5f9!important}[data-theme=dark] .glass-header{border-bottom-color:#2d3748!important}[data-theme=dark] .empty-state{color:#94a3b8!important;background:#1e293b!important;border-color:#2d3748!important}[data-theme=dark] .welcome-banner{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%)!important;border-color:#2d3748!important}[data-theme=dark] .status-widget{background:#1e293b!important;border-color:#2d3748!important}[data-theme=dark] .glass-card textarea{color:#e2e8f0!important;background:#0f172a!important;border-color:#2d3748!important}[data-theme=dark] .glass-card a[style*="rgba(255,255,255,0.1)"],[data-theme=dark] .glass-card button[style*="rgba(255,255,255,0.1)"],[data-theme=dark] .glass-card button[style*="rgba(0,0,0,0.2)"]{color:#e2e8f0!important;background:#ffffff14!important;border-color:#fff3!important}[data-theme=dark] .glass-card div[style*="background: rgba(0, 229, 255, 0.05)"],[data-theme=dark] .glass-card div[style*="background: rgba(0,229,255,0.05)"]{background:#00e5ff14!important;border-color:#00e5ff40!important}.top-header .theme-toggle-btn{color:#fff}.top-header .theme-toggle-btn:hover{color:var(--accent-cyan)}[data-theme=dark] .sidebar-nav li.active a,[data-theme=dark] .sidebar-nav li.active a span,[data-theme=dark] .sidebar-nav li.active a i{color:#0f2b46!important}� � [data-theme=dark] .react-select__control{background-color:var(--bg-grey)!important;border-color:var(--border-color)!important}[data-theme=dark] .react-select__single-value,[data-theme=dark] .react-select__input-container{color:var(--text-dark)!important}[data-theme=dark] .react-select__menu{background-color:var(--bg-grey)!important;border-color:var(--border-color)!important}[data-theme=dark] .react-select__option{background-color:var(--bg-grey)!important;color:var(--text-dark)!important}[data-theme=dark] .react-select__option--is-focused,[data-theme=dark] .react-select__multi-value{background-color:var(--border-color)!important}[data-theme=dark] .react-select__multi-value__label{color:var(--text-dark)!important}.form-input[type=file]{color:var(--text-main);padding:6px}.form-input[type=file]::file-selector-button{background:var(--accent-cyan);color:#0f2b46;cursor:pointer;border:none;border-radius:4px;margin-right:12px;padding:8px 16px;font-weight:500;transition:opacity .2s}.form-input[type=file]::file-selector-button:hover{opacity:.9}.modal-title{color:#0f2b46;margin-bottom:20px}.modal-subtitle{color:#666;margin-bottom:15px;font-size:13px}.modal-error-banner{color:#721c24;background:#f8d7da;border-radius:8px;margin-bottom:15px;padding:10px;font-size:13px}.search-results-container{background:#fafafa;border:1px solid #eee;border-radius:8px;max-height:300px;padding:10px;overflow-y:auto}.search-results-list{margin:0;padding:0;list-style:none}.search-result-item{border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding:10px;display:flex}.search-result-name{color:#333;font-weight:700}.search-result-details{color:#666;font-size:12px}.search-status-text{text-align:center;color:#888;padding:20px}[data-theme=dark] .modal-title{color:#f1f5f9}[data-theme=dark] .modal-subtitle{color:#94a3b8}[data-theme=dark] .search-results-container{background:#0f172a;border-color:#2d3748}[data-theme=dark] .search-result-item{border-bottom-color:#2d3748}[data-theme=dark] .search-result-name{color:#f1f5f9}[data-theme=dark] .search-result-details,[data-theme=dark] .search-status-text{color:#94a3b8}.dash-grid{display:block}.course-list-view .card-meta{border-left:1px solid #eee;border-right:1px solid #eee;flex:1;justify-content:center;margin:0 20px;padding:0 20px;display:flex}.install-banner{color:#fff;background:linear-gradient(135deg,#8e44ad 0%,#6c3483 100%);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:25px;padding:15px 20px;animation:.5s slideDown;display:none;box-shadow:0 4px 15px #8e44ad4d}.install-banner-content{align-items:center;gap:15px;display:flex}.install-icon{background:#fff3;border-radius:10px;justify-content:center;align-items:center;width:50px;height:50px;font-size:30px;display:flex}.install-text h3{margin:0 0 5px;font-size:16px;font-weight:700}.install-text p{opacity:.9;margin:0;font-size:13px}.btn-install{color:#8e44ad;cursor:pointer;background:#fff;border:none;border-radius:8px;padding:10px 20px;font-weight:700;transition:all .2s;box-shadow:0 4px 10px #0000001a}.btn-install:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0003}@media (width<=768px){.course-list-view .course-card{flex-direction:column;align-items:stretch}.course-list-view .card-header{flex-direction:column;align-items:flex-start;gap:5px;margin-bottom:10px}.course-list-view .card-meta{border:none;flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 15px;padding:0}.course-list-view .card-actions{justify-content:space-between}.install-banner{text-align:center;flex-direction:column;gap:15px}.install-banner-content{flex-direction:column}.btn-install{width:100%}.scroll-btn{display:none!important}}.admin-welcome-bar:before{content:"";background:#ffffff0d;border-radius:50%;width:200px;height:200px;position:absolute;top:-50px;right:-50px}.toast-container{z-index:9999;flex-direction:column;gap:10px;max-width:350px;display:flex;position:fixed;top:20px;right:20px}.toast{opacity:0;border-radius:8px;align-items:center;padding:15px 20px;font-size:14px;animation:.3s forwards slideInRight,.3s 3.7s forwards fadeOut;display:flex;transform:translate(100%);box-shadow:0 4px 12px #00000026}.toast i{margin-right:10px;font-size:18px}.toast-success{color:#155724;background:#d4edda;border-left:5px solid #28a745}.toast-error{color:#721c24;background:#f8d7da;border-left:5px solid #dc3545}@keyframes slideInRight{to{opacity:1;transform:translate(0)}}@keyframes fadeOut{to{opacity:0;transform:translate(100%)}}[data-theme=dark] .toast-success{color:#a7f3d0;background:#28a74526;border-left-color:#34d399}[data-theme=dark] .toast-error{color:#fecaca;background:#dc354526;border-left-color:#f87171}.card-header h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px;transition:all .3s;display:-webkit-box;overflow:hidden}.course-list-view .card-header{flex:1;align-items:center;gap:15px;margin:0;display:flex}.course-list-view .card-header .course-label{white-space:nowrap;margin-bottom:0}.course-list-view .card-header h3{-webkit-line-clamp:1;min-height:auto;margin:0}.course-list-view .card-meta{border-left:1px solid #eee;border-right:1px solid #eee;flex:1.5;justify-content:space-between;align-items:center;margin:0 20px;padding:0 20px;display:flex}.course-list-view .card-actions{flex-direction:row;flex:.5;justify-content:flex-end;min-width:220px;margin-top:0;padding-top:0}.btn-create{color:#fff;background:#0f2b46;border:none}.admin-welcome-bar{color:#fff;background:linear-gradient(135deg,#0f2b46 0%,#1a365d 100%);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;padding:30px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0f2b4626}.admin-welcome-bar:before{content:"";pointer-events:none;background:radial-gradient(circle,#00e5ff26 0%,#0000 70%);border-radius:50%;width:200px;height:200px;position:absolute;top:-50px;right:-50px}.admin-action-btns{z-index:1;flex-wrap:wrap;gap:12px;display:flex}.btn-glass{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-weight:600;transition:all .2s;display:flex}.btn-glass:hover{background:#fff3;transform:translateY(-2px)}.btn-white{color:#0f2b46;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 15px #0000001a}.btn-white:hover{background:#f0f0f0;transform:translateY(-2px)}.session-switch-card{-webkit-backdrop-filter:blur(10px);z-index:1;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:15px;padding:15px 20px;display:flex;box-shadow:0 8px 32px #0000001a}.switch-group{flex-direction:column;gap:6px;display:flex}.switch-group label{text-transform:uppercase;color:#ffffffb3;letter-spacing:.5px;font-size:11px;font-weight:700}.switch-group select{color:#0f2b46;cursor:pointer;background:#fffffff2;border:1px solid #fff3;border-radius:8px;outline:none;min-width:140px;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s}.switch-group select:hover{background:#fff}.btn-set-active{color:#0f2b46;cursor:pointer;background:linear-gradient(135deg,#00e5ff 0%,#00c2d6 100%);border:none;border-radius:8px;justify-content:center;align-items:center;height:36px;padding:0 20px;font-size:13px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 15px #00e5ff33}.btn-set-active:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00e5ff66}.enroll-textarea{resize:none;box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;height:100px;margin-bottom:15px;padding:10px;font-family:monospace;font-size:13px}.btn-icon-edit{color:#0d47a1;cursor:pointer;background:0 0;border:none;padding:5px;font-size:14px}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.select2-container{font-family:Inter,sans-serif!important}.select2-container .select2-selection--single{background-color:#fff;align-items:center;font-size:14px;display:flex;border:1px solid #ddd!important;border-radius:6px!important;height:42px!important}.select2-container--default .select2-selection--single .select2-selection__arrow{height:40px!important}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#333;line-height:normal}.select2-search__field{border-radius:4px;border:1px solid #00e5ff!important;outline:none!important}.select2-dropdown{box-shadow:0 4px 15px #0000001a;z-index:9999!important;border-color:#ddd!important;border-radius:6px!important}[data-theme=dark] .select2-container .select2-selection--single,[data-theme=dark] .select2-container .select2-selection--multiple{background-color:var(--bg-body,#0f172a)!important;border-color:var(--border-color,#1e2a38)!important}[data-theme=dark] .select2-container--default .select2-selection--single .select2-selection__rendered{color:#f8fafc!important}[data-theme=dark] .select2-container--default .select2-selection--multiple .select2-selection__choice{color:#f8fafc!important;background-color:#ffffff1a!important;border-color:#fff3!important}[data-theme=dark] .select2-dropdown{background-color:var(--bg-card,#1e293b)!important;border-color:var(--border-color,#1e2a38)!important}[data-theme=dark] .select2-results__option{background-color:var(--bg-card,#1e293b);color:#cbd5e1!important}[data-theme=dark] .select2-results__option[aria-selected=true]{background-color:#ffffff0d!important}[data-theme=dark] .select2-results__option--highlighted[aria-selected]{color:#0f172a!important;background-color:#00e5ff!important}[data-theme=dark] .select2-search__field{background-color:var(--bg-body,#0f172a)!important;color:#f8fafc!important;border-color:#00e5ff!important}@media (width<=768px){.course-grid{grid-template-columns:1fr}.admin-welcome-bar{flex-direction:column;align-items:flex-start;gap:20px;padding:20px}.admin-action-btns{flex-direction:column;gap:10px;width:100%}.admin-action-btns button{justify-content:center;width:100%}.filter-bar{flex-direction:column;align-items:stretch}.filter-input{width:100%;min-width:0}.filter-btn{width:100%}.modal-content{width:85%;max-height:80vh;margin:10% auto}.course-list-view .course-card{flex-direction:column;align-items:stretch}.course-list-view .card-header{flex-direction:column;align-items:flex-start;gap:5px;margin-bottom:10px}.course-list-view .card-meta{border:none;flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 15px;padding:0}.course-list-view .card-actions{justify-content:space-between}}.ann-content{color:var(--text-main);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.9rem;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=768px){.archive-tree-line{border-left:none!important;margin-top:5px!important;padding-left:0!important;padding-right:0!important}.archive-session-folder,.archive-semester-folder{padding:10px 0!important}.archive-folder-title,.archive-subfolder-title{padding-left:10px!important;padding-right:10px!important}}.ward-container{background:0 0;margin-bottom:50px}.profile-header-card{background:#fff;border:1px solid #eee;border-radius:12px;align-items:center;gap:20px;margin-bottom:20px;padding:30px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #00000008}.ward-badge{color:#fff;letter-spacing:1px;text-transform:uppercase;background:#0f2b46;border-bottom-left-radius:12px;padding:8px 20px;font-size:12px;font-weight:700;position:absolute;top:0;right:0}.avatar-circle{color:#0d47a1;background:#e3f2fd;border-radius:40px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-size:32px;font-weight:700;display:flex}.avatar-img{object-fit:cover;border:3px solid #e3f2fd;border-radius:40px;flex-shrink:0;width:80px;height:80px}.profile-info h2{color:#0f2b46;margin:0 0 5px;font-size:24px}.profile-meta{color:#666;flex-wrap:wrap;gap:15px;font-size:14px;display:flex}.stat-row{gap:15px;margin-bottom:20px;display:flex}.stat-card{text-align:center;background:#fff;border:1px solid #eee;border-radius:12px;flex:1;padding:20px}.stat-val{color:#0f2b46;font-size:24px;font-weight:900}.stat-label{color:#888;text-transform:uppercase;margin-top:5px;font-size:12px;font-weight:700}.pill-green{white-space:nowrap;color:#155724;background:#d4edda;border-radius:20px;align-items:center;gap:4px;padding:5px 12px;font-size:13px;font-weight:700;display:inline-flex}.pill-red{white-space:nowrap;color:#721c24;background:#f8d7da;border-radius:20px;align-items:center;gap:4px;padding:5px 12px;font-size:13px;font-weight:700;display:inline-flex}.course-wrapper{background:#fff;border:1px solid #eee;border-radius:12px;margin-bottom:10px;transition:all .3s}.course-row{cursor:pointer;justify-content:space-between;align-items:center;padding:15px 20px;transition:background .2s;display:flex}.course-row:hover{background:#fcfcfc}.sessions-container{background:#fcfcfd;border-top:1px solid #eee;padding:30px 25px;display:none}.timeline-wrapper{align-items:center;padding-bottom:15px;display:flex;overflow-x:auto}.timeline-item{flex-shrink:0;align-items:center;margin-bottom:10px;display:flex}.timeline-node{flex-direction:column;align-items:center;min-width:60px;display:flex}.node-circle{color:#fff;z-index:2;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:6px;font-size:14px;display:flex;position:relative}.node-present{background:#27ae60;box-shadow:0 0 0 4px #27ae6026}.node-absent{background:#e74c3c;box-shadow:0 0 0 4px #e74c3c26}.node-week{color:#333;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:800}.node-date{color:#888;white-space:nowrap;font-size:10px;font-weight:500}.timeline-connector{background:#e1e4e8;border-radius:2px;flex-shrink:0;width:30px;height:2px;margin:-20px 5px 0}.no-wards-card{text-align:center;background:#fff;border:1px dashed #ddd;border-radius:12px;margin-top:20px;padding:60px 20px}.no-wards-card i{color:#ccc;margin-bottom:15px;font-size:50px}.no-wards-card h2{color:#0f2b46;margin:0 0 10px}.no-wards-card p{color:#666;font-size:15px}[data-theme=dark] .profile-header-card,[data-theme=dark] .stat-card,[data-theme=dark] .course-wrapper,[data-theme=dark] .no-wards-card{background:var(--card-bg,#1a202c);border-color:var(--border-color,#2d3748)}[data-theme=dark] .profile-info h2,[data-theme=dark] .stat-val,[data-theme=dark] .course-wrapper h4,[data-theme=dark] .node-week,[data-theme=dark] .no-wards-card h2{color:var(--text-color,#f7fafc)}[data-theme=dark] .no-wards-card p{color:#a0aec0}[data-theme=dark] .course-row:hover{background:var(--hover-bg,#2d3748)}[data-theme=dark] .sessions-container{background:var(--bg-color,#1a202c);border-color:var(--border-color,#2d3748)}[data-theme=dark] .timeline-connector{background:var(--border-color,#2d3748)}[data-theme=dark] .node-date{color:#a0aec0}.course-card{flex-direction:column;height:100%;transition:all .3s;display:flex}.card-header h3{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:40px;transition:all .3s;display:-webkit-box;overflow:hidden}.card-actions{gap:10px;margin-top:auto;padding-top:15px;transition:all .3s;display:flex}.view-controls{justify-content:flex-end;gap:10px;display:flex}.view-btn{cursor:pointer;color:#666;background:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;gap:6px;padding:8px 15px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.view-btn:hover{color:#0f2b46;background:#f8f9fa}.view-btn.active-view{color:#fff;background:#0f2b46;border-color:#0f2b46}.course-list-view{flex-direction:column;gap:15px;display:flex}.course-list-view .course-card{flex-direction:row;justify-content:space-between;align-items:center;padding:15px 20px}.course-list-view .card-header{flex:2;align-items:center;gap:15px;min-width:0;margin:0;display:flex}.course-list-view .card-header .course-label{white-space:nowrap;min-width:80px;margin-bottom:0}.course-list-view .card-header h3{-webkit-line-clamp:1;line-clamp:1;min-height:auto;margin:0}.course-list-view .card-meta{border-left:1px solid #eee;border-right:1px solid #eee;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:4px;min-width:0;margin:0 10px;padding:0 10px;display:flex}.course-list-view .card-meta>div{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.course-list-view .card-actions{flex-direction:row;flex:none;justify-content:flex-end;gap:10px;margin-top:0;padding-top:0}.btn-action{cursor:pointer;white-space:nowrap;border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.btn-view{color:#0f2b46;background:linear-gradient(135deg,#00e5ff 0%,#00c2d6 100%);box-shadow:0 4px 15px #00e5ff4d}.btn-view:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00e5ff66}.btn-manage{color:#0f2b46;background:#eef1f4;border:1px solid #dce1e6}.btn-manage:hover{transform:translateY(-3px)}.tabs-header{border-bottom:1px solid #eee;gap:15px;margin-bottom:20px;padding-bottom:10px;display:flex;overflow-x:auto}.tab-btn{color:#888;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding-bottom:5px;font-size:13px;font-weight:600}.tab-content{animation:.3s fadeIn;display:none}.modal-list-item{background:#f8f9fa;border:1px solid #eee;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px;font-size:13px;display:flex}.announcement-item{background:#fff;border:1px solid #eee;border-radius:6px;margin-bottom:8px;padding:12px;display:block}.ann-header{justify-content:space-between;align-items:flex-start;margin-bottom:5px;display:flex}.ann-title{color:#333;font-size:13px;font-weight:700;line-height:1.2}.ann-content{color:#666;margin:0;font-size:12px;line-height:1.4}.ann-date{color:#999;margin-top:5px;font-size:10px;display:block}.form-input{border:1px solid #ddd;border-radius:6px;width:100%;padding:10px;font-size:14px}.create-btn{color:#0f2b46;cursor:pointer;background-color:#00e5ff;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:flex}.enroll-textarea{resize:none;border:1px solid #ddd;border-radius:8px;width:100%;height:100px;margin-bottom:15px;padding:10px;font-family:monospace;font-size:13px}.btn-icon-delete{color:#ff5252;cursor:pointer;background:0 0;border:none;padding:5px;font-size:14px}.btn-icon-delete:hover{color:#d32f2f;transform:scale(1.1)}.empty-state{text-align:center;color:#999;background:#ffffff80;border:2px dashed #ddd;border-radius:10px;grid-column:1/-1;padding:50px}@media (width<=768px){.course-list-view .course-card{flex-direction:column;align-items:stretch}.course-list-view .card-header{flex-direction:column;align-items:flex-start;gap:5px;margin-bottom:10px}.course-list-view .card-meta{border:none;flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 15px;padding:0}.course-list-view .card-actions{justify-content:space-between}.modal-content{width:85%;max-height:80vh;margin:10% auto}}.announcements-widget{background:var(--bg-card);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:12px;margin-bottom:25px;padding:20px}.widget-header{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin-bottom:15px;padding-bottom:10px;display:flex}.widget-header h3{color:var(--text-main);margin:0;font-size:1.1rem}.widget-header i{color:var(--primary-color)}.horizontal-scroll-container{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:15px;padding-bottom:10px;display:flex;overflow-x:auto}.horizontal-scroll-container::-webkit-scrollbar{height:8px}.horizontal-scroll-container::-webkit-scrollbar-track{background:#0000000d;border-radius:8px}.horizontal-scroll-container::-webkit-scrollbar-thumb{background:#0003;border-radius:8px}.horizontal-scroll-container::-webkit-scrollbar-thumb:hover{background:#0006}.ann-item{scroll-snap-align:start;background:var(--bg-body);border-left:4px solid var(--primary-color);border-radius:8px;flex:0 0 320px;padding:15px;transition:transform .2s}.ann-item:hover{transform:translateY(-3px)}.ann-item.urgent{background:#e74c3c0d;border-left-color:#e74c3c}.ann-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.ann-course{color:var(--primary-color);background:#0d8abc1a;border-radius:4px;padding:3px 8px;font-size:.8rem;font-weight:700;display:inline-block}.ann-item.urgent .ann-course{color:#e74c3c;background:#e74c3c1a}.ann-date{color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:600}.ann-content{color:var(--text-main);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.9rem;line-height:1.4;display:-webkit-box;overflow:hidden}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}@media (width<=768px){.archive-tree-line{border-left:none!important;margin-top:5px!important;padding-left:0!important;padding-right:0!important}.archive-session-folder,.archive-semester-folder{padding:10px 0!important}.archive-folder-title,.archive-subfolder-title{padding-left:10px!important;padding-right:10px!important}}.close-modal{cursor:pointer;color:#888;font-size:24px;transition:color .2s;position:absolute;top:15px;right:20px}.close-modal:hover{color:#d32f2f}.gps-box{text-align:center;border:1px solid;border-radius:12px;margin-top:20px;padding:20px}.gps-success{color:#155724;background:#d4edda;border-color:#c3e6cb}.gps-error{color:#721c24;background:#f8d7da;border-color:#f5c6cb}.session-row-card{cursor:pointer;background:#f9f9f9;border:1px solid #eee;border-radius:10px;align-items:center;margin-bottom:10px;padding:15px;transition:all .2s;display:flex}.session-row-card:hover{background:#f1f5f9;border-color:#bbdefb;transform:translateY(-2px);box-shadow:0 4px 10px #00000008}.src-icon{color:#00e5ff;background:#e3f2fd}.src-title{color:#333}.src-subtitle{color:#666}.src-count{color:#0f2b46}.src-label{color:#888}.src-arrow{color:#ccc}[data-theme=dark] .session-row-card{background:var(--bg-card,#1e293b);border-color:var(--border-color,#1e2a38)}[data-theme=dark] .session-row-card:hover{background:#ffffff0d;border-color:#00e5ff}[data-theme=dark] .src-icon{background:#00e5ff1a}[data-theme=dark] .src-title{color:#f8fafc}[data-theme=dark] .src-subtitle{color:#cbd5e1}[data-theme=dark] .src-count{color:#00e5ff}[data-theme=dark] .src-label{color:#94a3b8}[data-theme=dark] .src-arrow{color:#475569}[data-theme=dark] .sdm-name-text,[data-theme=dark] .sdm-header-text{color:#f8fafc!important}[data-theme=dark] .sdm-matric-text{color:#94a3b8!important}[data-theme=dark] #sessionDetailsModal>div>div>div{border-bottom-color:var(--border-color,#1e2a38)!important}[data-theme=dark] #sessionDetailsList div[style*="color: #888"],[data-theme=dark] #consolidatedListContainer div[style*="color: #888"]{color:#94a3b8!important}[data-theme=dark] #sessionDetailsList>div,[data-theme=dark] #consolidatedListContainer>div{border-bottom-color:var(--border-color,#1e2a38)!important}[data-theme=dark] #sessionDetailsModal div[style*="background: #f1f1f1"],[data-theme=dark] #consolidatedModal div[style*="background: #f1f1f1"]{border-bottom-color:var(--border-color,#1e2a38)!important;background:#ffffff0d!important}.btn-action-sm{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px 5px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.btn-green{color:#fff;background:#27ae60}.btn-green:hover{background:#219653}.btn-light-blue{color:#0d47a1;background:#e3f2fd;border:1px solid #bbdefb}.btn-light-blue:hover{background:#bbdefb}.btn-warning-light{color:#856404;background:#fff3cd;border:1px solid #ffeeba}.btn-warning-light:hover{background:#ffe8a1}.btn-dark{color:#fff;cursor:pointer;background:#0f2b46;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.admin-action-btns{gap:10px;display:flex}.btn-glass{color:#fff;cursor:pointer;background:#fff3;border:1px solid #fff6;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-weight:600;transition:all .2s;display:flex}.btn-glass:hover{background:#ffffff4d}.btn-white{color:#333;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-weight:600;transition:all .2s;display:flex}.btn-white:hover{background:#f0f0f0}.filter-bar{background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:25px;padding:15px;display:flex;box-shadow:0 4px 15px #00000008}.filter-input{border:1px solid #ddd;border-radius:6px;flex:1;min-width:140px;padding:10px;font-size:13px}.filter-btn{color:#fff;cursor:pointer;background:#0f2b46;border:none;border-radius:6px;padding:10px 20px;font-weight:600;transition:background .2s}.filter-btn:hover{background:#2c5282}.tabs-header{border-bottom:1px solid #eee;gap:15px;margin-bottom:20px;padding-bottom:10px;display:flex}.tab-btn{color:#888;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding-bottom:5px;font-size:13px;font-weight:600}.tab-btn.active-tab{color:#0f2b46;border-bottom:2px solid #0f2b46}.tab-content{display:none}.tab-content.active{animation:.3s fadeIn;display:block}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px;transition:all .2s}.icon-btn:hover{background:#eee}.text-danger{color:#e74c3c}.text-primary{color:#3498db}.full-report-banner{background:#0f2b46;border-radius:12px;align-items:center;margin-top:20px;padding:20px 25px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 15px #0000001a}.full-report-banner:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000026}.frb-icon{color:#00e5ff;background:#00e5ff1a;border-radius:25px;justify-content:center;align-items:center;width:50px;height:50px;margin-right:20px;font-size:24px;display:flex}.frb-text h3{color:#fff;margin:0 0 5px;font-size:18px}.frb-text p{color:#00e5ff;margin:0;font-size:13px}.frb-arrow{color:#00e5ff;margin-left:auto;font-size:20px}@media (width<=768px){.admin-welcome-bar{flex-direction:column;align-items:flex-start;gap:20px;padding:20px}.admin-action-btns{flex-direction:column;gap:10px;width:100%}.admin-action-btns button{justify-content:center;width:100%}.filter-bar{flex-direction:column;align-items:stretch}.filter-input{width:100%;min-width:0}.filter-btn{width:100%}}.btn-export-pdf{color:#fff;cursor:pointer;background-color:#c0392b;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 2px 5px #c0392b33}.btn-export-pdf:hover{background-color:#a93226;transform:translateY(-1px);box-shadow:0 4px 10px #c0392b4d}.btn-export-pdf:active{transform:translateY(1px);box-shadow:0 1px 2px #c0392b33}.archive-session-folder{background:var(--bg-card,#fff);border:1px solid var(--border-color,#ddd);border-radius:12px;margin-bottom:15px;padding:15px;box-shadow:0 4px 15px #00000005}.archive-semester-folder{background:var(--bg-body,#f8f9fa);border:1px solid var(--border-color,#eee);border-radius:8px;margin-bottom:10px;padding:12px}.archive-folder-title{color:var(--text-main,#333);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.archive-subfolder-title{color:var(--text-main,#555);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.archive-tree-line{border-left:2px solid var(--border-color,#e3f2fd);margin-top:15px;padding-left:15px}[data-theme=dark] .archive-session-folder{background:#1a2634!important;border-color:#2d3748!important}[data-theme=dark] .archive-semester-folder{background:#0f172a!important;border-color:#1e2a38!important}[data-theme=dark] .archive-folder-title{color:#e2e8f0!important}[data-theme=dark] .archive-subfolder-title{color:#cbd5e1!important}[data-theme=dark] .archive-tree-line{border-left-color:#334155!important}.dept-attendance-widget{background:var(--bg-card,#fff);border:1px solid var(--border-color,#eee);border-radius:12px;margin-bottom:25px;padding:25px;animation:.4s ease-out fadeIn;box-shadow:0 4px 20px #0000000a}[data-theme=dark] .dept-attendance-widget{background:#1a2634;border-color:#2d3748;box-shadow:0 4px 20px #0003}details.dept-attendance-widget summary::-webkit-details-marker{display:none}details.dept-attendance-widget[open] .summary-chevron{transform:rotate(180deg)}.widget-title-area{border-bottom:1px solid var(--border-color,#f0f0f0);align-items:center;gap:12px;margin-bottom:20px;padding-bottom:15px;display:flex}.widget-title-area h3{color:var(--text-main,#2c3e50);margin:0;font-size:1.25rem;font-weight:700}.dept-controls-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px;display:grid}.dept-course-selector{background:var(--bg-body,#fafafa);border:1px solid var(--border-color,#e0e0e0);border-radius:8px;height:180px;padding:15px;overflow-y:auto;box-shadow:inset 0 2px 4px #00000005}[data-theme=dark] .dept-course-selector{background:#0f172a;border-color:#334155}.dept-course-selector label{cursor:pointer;color:var(--text-main,#444);border-radius:6px;align-items:center;margin-bottom:4px;padding:8px 10px;font-size:13px;transition:background .2s;display:flex}.dept-course-selector label:hover{background:var(--border-color,#f0f0f0)}[data-theme=dark] .dept-course-selector label:hover{color:#f8fafc;background:#1e293b}.dept-course-checkbox{appearance:none;cursor:pointer;border:2px solid #bdc3c7;border-radius:4px;width:18px;height:18px;margin-right:12px;transition:all .2s;position:relative}.dept-course-checkbox:checked{background-color:#3498db;border-color:#3498db}.dept-course-checkbox:checked:after{content:"";color:#fff;font-family:"Font Awesome 6 Free";font-size:11px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dept-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dept-btn-pdf{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 10px #e74c3c4d}.dept-btn-pdf:hover{transform:translateY(-2px);box-shadow:0 6px 15px #e74c3c66}.dept-btn-csv{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 10px #2ecc714d}.dept-btn-csv:hover{transform:translateY(-2px);box-shadow:0 6px 15px #2ecc7166}.dept-empty-state{height:100%;color:var(--text-muted,#999);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.selection-controls{gap:15px;margin-bottom:10px;padding:0 5px;display:flex}.selection-link{cursor:pointer;font-size:12px;font-weight:600;transition:opacity .2s}.selection-link:hover{opacity:.8}.text-blue{color:#3498db}.text-red{color:#e74c3c}@media (width<=768px){.archive-tree-line{border-left:none!important;margin-top:5px!important;padding-left:0!important;padding-right:0!important}.archive-session-folder,.archive-semester-folder{padding:10px 0!important}.archive-folder-title,.archive-subfolder-title{padding-left:10px!important;padding-right:10px!important}}[data-theme=dark] .gps-error,[data-theme=dark] .gps-error p{color:#e74c3c!important}[data-theme=dark] .gps-success,[data-theme=dark] .gps-success p{color:#27ae60!important}[data-theme=dark] .gps-box p[style*="color: #333"],[data-theme=dark] .spm-week-text{color:#f8fafc!important}[data-theme=dark] .spm-date-text{color:#94a3b8!important}[data-theme=dark] #studentProgressList>div{border-bottom-color:var(--border-color,#1e2a38)!important}[data-theme=dark] .badge-present span{color:#155724!important}[data-theme=dark] .badge-absent span{color:#721c24!important}.modal{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;width:100%;height:100dvh;display:none;position:fixed;top:0;left:0}.modal.active{display:block}.modal-content{background-color:#fff;border-radius:15px;width:90%;max-width:500px;max-height:85vh;margin:5% auto;padding:25px;animation:.3s slideDown;position:relative;overflow-y:auto;box-shadow:0 10px 25px #0003}.close{cursor:pointer;color:#666;font-size:24px;transition:all .2s;position:absolute;top:20px;right:20px}.close:hover{color:#e74c3c}.form-label{color:#666;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.form-input{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;padding:12px;font-size:14px}.admin-users-container .btn-action{cursor:pointer;color:#fff;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 15px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.admin-users-container .btn-add{background:#0f2b46}.admin-users-container .btn-add:hover{background:#1a3c5c}.admin-users-container .btn-upload{background:#3498db}.admin-users-container .btn-upload:hover{background:#2980b9}.admin-users-container .btn-reset{background:#f39c12}.admin-users-container .btn-reset:hover{background:#d68910}.admin-users-container .btn-delete{background:#e74c3c}.admin-users-container .btn-delete:hover{background:#c0392b}.admin-users-container .btn-view{color:#0f2b46;background:#00e5ff}.admin-users-container .btn-view:hover{background:#00c4cc}.data-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;font-size:14px;overflow:hidden;box-shadow:0 4px 15px #00000008}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #f1f1f1;padding:15px 20px}.data-table th{color:#333;text-transform:uppercase;background:#f8f9fa;font-size:12px;font-weight:600}.data-table tr:hover{background:#fdfdfd}.badge{border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-block}.badge-active{color:#155724;background:#d4edda}.badge-disabled{color:#721c24;background:#f8d7da}[data-theme=dark] .badge-active{color:#2ecc71!important;background:#2ecc7133!important}[data-theme=dark] .badge-disabled{color:#e74c3c!important;background:#e74c3c33!important}.filter-form{background:#fff;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:15px;margin-bottom:25px;padding:20px;display:flex;box-shadow:0 4px 15px #00000008}.filter-input,.filter-select{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;flex:1;min-width:180px;padding:12px 15px;font-size:14px;transition:all .3s}.filter-input:focus,.filter-select:focus{background:#fff;border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db1a}.table-actions{gap:8px;display:flex}.tooltip{display:inline-block;position:relative}.tooltip .tooltiptext{visibility:hidden;color:#fff;text-align:center;z-index:1;opacity:0;pointer-events:none;background-color:#333;border-radius:6px;width:120px;margin-left:-60px;padding:5px;font-size:12px;transition:opacity .3s;position:absolute;bottom:125%;left:50%}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.clickable-name{transition:all .2s}.clickable-name:hover{color:#0056b3!important;text-decoration:underline!important}.upload-area{text-align:center;cursor:pointer;background:#fafafa;border:2px dashed #ddd;border-radius:12px;margin-bottom:20px;padding:40px;transition:all .3s}.upload-area:hover,.upload-area.dragover{background:#e3f2fd;border-color:#3498db}.upload-icon{color:#3498db;margin-bottom:15px;font-size:40px}#csv_file{display:none}.required-columns{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:15px;display:flex}.req-col{color:#555;background:#fff;border:1px solid #ddd;border-radius:15px;padding:4px 10px;font-size:11px;font-weight:700}.profile-cover{background:linear-gradient(135deg,#0f2b46 0%,#2980b9 100%);border-radius:15px 15px 0 0;height:120px;margin:-25px -25px 50px;position:relative}.profile-avatar{object-fit:cover;background:#fff;border:4px solid #fff;border-radius:50%;width:100px;height:100px;position:absolute;bottom:-40px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #0000001a}.profile-avatar-placeholder{color:#fff;background:#0f2b46;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;font-size:36px;font-weight:700;display:flex;position:absolute;bottom:-40px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #0000001a}.profile-info{text-align:center;padding:0 10px}.profile-name{color:#0f2b46;margin-bottom:5px;font-size:24px;font-weight:800}.profile-role-badge{color:#1976d2;background:#e3f2fd;border-radius:20px;margin-top:5px;margin-bottom:20px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-block}.contact-grid{grid-template-columns:1fr;gap:15px;margin-bottom:25px;display:grid}.contact-item{background:#f8f9fa;border:1px solid #eee;border-radius:10px;align-items:center;gap:15px;padding:12px 15px;display:flex}.contact-icon{color:#3498db;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex;box-shadow:0 2px 5px #0000000d}.contact-details{flex-direction:column;display:flex}.contact-details small{color:#888;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:700}.contact-details span{color:#333;word-break:break-all;font-size:14px;font-weight:500}[data-theme=dark] .profile-cover{background:linear-gradient(135deg,#1a2634 0%,#0d47a1 100%)}[data-theme=dark] .profile-avatar-placeholder{background:#1a2634;border-color:#121212}[data-theme=dark] .profile-avatar{border-color:#121212}[data-theme=dark] .profile-name{color:#f1f1f1}[data-theme=dark] .profile-role-badge{color:#64b5f6;background:#1e3a5f}[data-theme=dark] .contact-item{background:#1e1e1e;border-color:#333}[data-theme=dark] .contact-item:hover{border-color:#444;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff0d}[data-theme=dark] .contact-details small{color:#a1a1a1}[data-theme=dark] .contact-details span{color:#e0e0e0}#view_lec_initials{background:#d35400;border-color:#262626}.page-action-bar{background:#fff;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px;padding:15px;display:grid;box-shadow:0 4px 15px #00000008}.page-action-bar .btn-action{justify-content:center;width:100%;padding:12px;font-size:14px}[data-theme=dark] .page-action-bar{box-shadow:none!important;background:#1a2634!important;border:1px solid #2d3748!important}.admin-users-container{padding-bottom:40px}#bulk-actions-bar{background:#e3f2fd;border:1px solid #bbdefb}.bulk-actions-text{color:#0f2b46}.pagination-bar{color:#555;background:#f8f9fa}[data-theme=dark] #bulk-actions-bar{background:#00e5ff0d;border:1px solid #00e5ff1a}[data-theme=dark] .bulk-actions-text{color:#e2e8f0}[data-theme=dark] .pagination-bar{color:#cbd5e1;background:#1e293b;border:1px solid #334155}.grid-container{grid-template-columns:1fr 2fr;align-items:start;gap:30px;min-width:0;display:grid}.broadcast-card{box-sizing:border-box;background:#fff;border:1px solid #0000000d;border-radius:20px;width:100%;min-width:0;padding:30px;transition:all .3s;box-shadow:0 10px 40px #0000000a}.composer-card{background:linear-gradient(145deg,#fff,#fdfbfd);position:relative;overflow:hidden}.composer-card:before{content:"";background:linear-gradient(90deg,#8e44ad,#f36,#f93);height:5px;position:absolute;top:0;left:0;right:0}.broadcast-card-header{border-bottom:1px solid #f1f1f1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:25px;padding-bottom:15px;display:flex}.composer-header{border-bottom:none;margin-bottom:15px}.broadcast-card-header-left{align-items:center;gap:15px;display:flex}.broadcast-card-header h3{color:#0f2b46;letter-spacing:-.5px;margin:0;font-size:20px;font-weight:700}.icon-glass-wrap{color:#8e44ad;background:linear-gradient(135deg,#8e44ad1a,#ff33661a);border-radius:12px;justify-content:center;align-items:center;width:45px;height:45px;font-size:20px;display:flex;box-shadow:0 4px 15px #8e44ad26}.form-group{margin-bottom:22px}.form-label{color:#555;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.form-input{box-sizing:border-box;color:#333;background:#f4f6f8;border:2px solid #0000;border-radius:12px;width:100%;padding:14px 18px;font-size:15px;transition:all .3s}.btn-send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8e44ad,#f36);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:25px;padding:16px;font-size:16px;font-weight:700;transition:all .3s;display:flex;box-shadow:0 10px 20px #ff33664d}.btn-send:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 15px 25px #f366}.btn-send:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.modern-checkbox-group{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;display:grid;background:0 0!important;border:none!important;padding:0!important}.modern-check-item{cursor:pointer;text-align:center;background:#f4f6f8;border:2px solid #0000;border-radius:15px;flex-direction:column;align-items:center;gap:10px;padding:20px 15px;transition:all .3s;display:flex;position:relative;overflow:hidden}.modern-check-item input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.mc-icon{border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:20px;transition:all .3s;display:flex}.email-icon{color:#3498db;background:#3498db1a}.push-icon{color:#2ecc71;background:#2ecc711a}.dash-icon{color:#f39c12;background:#f39c121a}.modern-check-item span{color:#666;font-size:13px;font-weight:600;transition:all .3s}.modern-check-item.active{background:#fff;box-shadow:0 8px 20px #0000000f}.modern-check-item.active:has(.email-icon){border-color:#3498db}.modern-check-item.active:has(.push-icon){border-color:#2ecc71}.modern-check-item.active:has(.dash-icon){border-color:#f39c12}.modern-check-item.active .email-icon{color:#fff;background:#3498db;box-shadow:0 4px 15px #3498db66}.modern-check-item.active .push-icon{color:#fff;background:#2ecc71;box-shadow:0 4px 15px #2ecc7166}.modern-check-item.active .dash-icon{color:#fff;background:#f39c12;box-shadow:0 4px 15px #f39c1266}.modern-check-item.active span{color:#222}.btn-delete{color:#c62828;cursor:pointer;background:#ffebee;border:1px solid #ffcdd2;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.btn-delete:hover:not(:disabled){background:#ffcdd2}.btn-delete:disabled{opacity:.7;cursor:not-allowed}.btn-forward{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:6px;align-items:center;gap:6px;margin-top:10px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.btn-forward:hover{color:#0f2b46;background:#e2e8f0}.table-responsive{-webkit-overflow-scrolling:touch;border-radius:12px;width:100%;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:500px;font-size:14px}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f4f6f8;padding:15px 20px}.data-table th{color:#555;text-transform:uppercase;letter-spacing:.5px;background:#f8f9fa;font-size:12px;font-weight:700}.data-table tr{transition:all .2s}.data-table tr:hover{background:#fafbfc;transform:scale(1.01);box-shadow:0 4px 15px #00000005}.cb-large{cursor:pointer;accent-color:#8e44ad;margin:0;transform:scale(1.2)}.badge{border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-all{color:#0d47a1;background:#e3f2fd}.badge-custom{color:#1b5e20;background:#e8f5e9}.badge-ind{color:#e65100;background:#fff3e0}.msg-preview{color:#666;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.read-more-btn{color:#8e44ad;cursor:pointer;margin-top:5px;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-block}.read-more-btn:hover{color:#f36}.custom-filter-box{background:linear-gradient(135deg,#f9f9fa,#f4f6f8);border:1px solid #eee;border-radius:15px;margin-bottom:25px;padding:20px}.custom-filter-box .form-group:last-child{margin-bottom:0}@media (width<=992px){.grid-container{grid-template-columns:1fr}}@media (width<=576px){.broadcast-card{padding:20px}}.basic-multi-select{background:#fdfdfd}.bc-stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:30px;display:grid}.bc-stat-card{background:#fff;border:1px solid #00000005;border-radius:16px;justify-content:space-between;align-items:center;padding:25px;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 30px #0000000a}.bc-stat-card:after{content:"";opacity:.05;border-radius:50%;width:100px;height:100px;position:absolute;bottom:-20px;right:-20px}.bc-stat-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #00000014}.bc-stat-value{color:#0f2b46;margin-top:5px;font-size:28px;font-weight:800}.bc-read-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#0f2b4666;justify-content:center;align-items:center;width:100%;height:100dvh;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.bc-read-modal-content{background-color:#fff;border-radius:20px;width:90%;max-width:550px;padding:35px;animation:.3s slideUp;position:relative;box-shadow:0 20px 50px #00000026}.bc-read-modal-body{color:#555;white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;font-size:15px;line-height:1.7}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .broadcast-card,[data-theme=dark] .bc-stat-card,[data-theme=dark] .composer-card{box-shadow:none;background:#1e1e1e;border-color:#2c2c2c}[data-theme=dark] .composer-card{background:linear-gradient(145deg,#1e1e1e,#1a1a1a)}[data-theme=dark] .broadcast-card-header h3,[data-theme=dark] .bc-stat-value{color:#fff}[data-theme=dark] .form-input,[data-theme=dark] .basic-multi-select .select__control{color:#fff;background:#2a2a2a;border-color:#333}[data-theme=dark] .modern-check-item{background:#2a2a2a}[data-theme=dark] .modern-check-item.active{background:#222}[data-theme=dark] .modern-check-item span{color:#ccc}[data-theme=dark] .modern-check-item.active span{color:#fff}[data-theme=dark] .data-table td{color:#ddd;border-bottom-color:#2c2c2c}[data-theme=dark] .data-table tr:hover{box-shadow:none;background:#2a2a2a}[data-theme=dark] .msg-preview{color:#aaa}[data-theme=dark] .custom-filter-box{background:linear-gradient(135deg,#2a2a2a,#222);border-color:#333}[data-theme=dark] .bc-read-modal-content{background-color:#1e1e1e}[data-theme=dark] .bc-read-modal-body{color:#ddd;background:#2a2a2a;border-color:#333}.admin-welcome-bar{color:#fff;background:linear-gradient(135deg,#2c3e50 0%,#000 100%);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:25px;padding:25px;display:flex}.filter-bar{background:#fff;border:1px solid #eee;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:25px;padding:20px;display:flex;box-shadow:0 4px 15px #00000008}.filter-input{color:#333;background:#fdfdfd;border:1px solid #eee;border-radius:8px;flex:1;min-width:140px;padding:12px;font-size:13px}.filter-input:focus{border-color:#8e44ad;outline:none}.filter-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#0f2b46;border:none;border-radius:8px;padding:12px 20px;font-weight:600;transition:background .2s}.filter-btn:hover{background:#1a4971;transform:translateY(-2px)}.table-container{background:#fff;border:1px solid #eee;border-radius:12px;margin-bottom:25px;overflow:hidden;box-shadow:0 4px 15px #00000008}.logs-table{border-collapse:collapse;text-align:left;width:100%}.logs-table th{color:#333;text-transform:uppercase;background:#f8f9fa;border-bottom:2px solid #eee;padding:15px 20px;font-size:13px;font-weight:700}.logs-table td{color:#555;vertical-align:top;border-bottom:1px solid #eee;padding:15px 20px;font-size:14px}.logs-table tbody tr{transition:background .2s}.logs-table tbody tr:hover{background:#00e5ff0d}.log-title{color:#333;font-weight:700}.log-target{color:#8e44ad;font-weight:600}.log-content{-webkit-line-clamp:2;cursor:pointer;white-space:pre-wrap;-webkit-box-orient:vertical;margin-top:4px;font-size:13px;transition:all .3s;display:-webkit-box;overflow:hidden}.log-content.expanded{-webkit-line-clamp:unset;background:#00e5ff0d;border-left:3px solid #8e44ad;border-radius:6px;margin-top:8px;padding:10px;display:block}.expand-hint{color:#8e44ad;cursor:pointer;margin-top:5px;font-size:11px;font-weight:600;display:inline-block}.badge-syslog{text-transform:uppercase;white-space:nowrap;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-block}.badge-broadcast{color:#0f2b46;background:#0f2b461a;border:1px solid #0f2b46}.badge-notification{color:#e74c3c;background:#e74c3c1a;border:1px solid #e74c3c}.badge-course{color:#27ae60;background:#27ae601a;border:1px solid #27ae60}.badge-report{color:#f39c12;background:#f39c121a;border:1px solid #f39c12}.badge-user{color:#9b59b6;background:#9b59b61a;border:1px solid #9b59b6}.badge-attendance{color:#3498db;background:#3498db1a;border:1px solid #3498db}.empty-state{text-align:center;color:#999;padding:50px}.pagination{background:#fff;border:1px solid #eee;border-radius:12px;justify-content:center;align-items:center;gap:15px;padding:20px;display:flex;box-shadow:0 4px 15px #00000008}.page-btn{color:#8e44ad;cursor:pointer;background:0 0;border:1px solid #8e44ad;border-radius:6px;padding:8px 16px;font-weight:600;text-decoration:none;transition:all .2s}.page-btn:hover:not(:disabled){color:#fff;background:#8e44ad}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{color:#666;font-size:14px;font-weight:600}@media (width<=768px){.admin-welcome-bar{alignItems:flex-start;flex-direction:column;gap:15px}.filter-bar{alignItems:stretch;flex-direction:column}.logs-table th:nth-child(3),.logs-table td:nth-child(3){display:none}}[data-theme=dark] .filter-bar,[data-theme=dark] .table-container,[data-theme=dark] .pagination{box-shadow:none;background:#1a1a1a;border-color:#333}[data-theme=dark] .filter-input{color:#e0e0e0;background:#2a2a2a;border-color:#333}[data-theme=dark] .logs-table th{color:#e0e0e0;background:#222;border-bottom-color:#333}[data-theme=dark] .logs-table td{color:#ccc;border-bottom-color:#333}[data-theme=dark] .logs-table tbody tr:hover{background:#00e5ff14}[data-theme=dark] .log-title{color:#fff}[data-theme=dark] .log-target{color:#b27bc8}[data-theme=dark] .page-info{color:#aaa}[data-theme=dark] .log-content.expanded{background:#00e5ff14}.sys-stat-card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:15px;box-shadow:0 4px 15px #00000008}.sys-stat-card-title{color:#666;text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:700}.sys-stat-card-content{color:#333;font-size:14px}.sys-stat-card-empty{color:#999}[data-theme=dark] .sys-stat-card{box-shadow:none;background:#1a1a1a;border-color:#333}[data-theme=dark] .sys-stat-card-title{color:#999}[data-theme=dark] .sys-stat-card-content{color:#ccc}[data-theme=dark] .sys-stat-card-empty{color:#666}[data-theme=dark] .date-text{color:#fff!important}.report-container{max-width:1200px;margin:0 auto;padding:20px}.report-header{background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px;padding:25px;display:flex;box-shadow:0 4px 6px #0000000d}.report-profile{align-items:center;gap:20px;display:flex}.report-avatar,.report-avatar-placeholder{object-fit:cover;border:3px solid #e3f2fd;border-radius:50%;flex-shrink:0;width:90px;height:90px}.report-avatar-placeholder{color:#fff;background:#0f2b46;justify-content:center;align-items:center;font-size:32px;font-weight:700;display:flex}.report-info h2{color:#2c3e50;margin:0 0 5px;font-size:24px}.report-matric{color:#7f8c8d;margin:0 0 10px;font-size:14px;font-weight:500}.report-badges{flex-wrap:wrap;gap:10px;display:flex}.badge{border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.badge-college{color:#2e7d32;background:#e8f5e9}.badge-dept{color:#1565c0;background:#e3f2fd}.badge-level{color:#6a1b9a;background:#f3e5f5}.badge-archived{color:#616161;background:#eee}.report-contact{background:#f8f9fa;border-radius:10px;flex-direction:column;gap:15px;min-width:250px;padding:15px 20px;display:flex}.contact-item{align-items:center;gap:15px;display:flex}.contact-icon{color:#3498db;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;display:flex;box-shadow:0 2px 5px #0000000d}.contact-text small{color:#95a5a6;text-transform:uppercase;margin-bottom:2px;font-size:11px;display:block}.contact-text span{color:#2c3e50;font-size:14px;font-weight:500}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px;display:grid}.summary-card{background:#fff;border-radius:12px;align-items:center;gap:20px;padding:20px;display:flex;box-shadow:0 4px 6px #0000000d}.summary-icon{border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;display:flex}.summary-details h3{color:#2c3e50;margin:0;font-size:28px}.summary-details p{color:#7f8c8d;margin:5px 0 0;font-size:14px;font-weight:500}.admin-enroll-section{background:#fff;border-radius:12px;margin-bottom:30px;padding:20px;box-shadow:0 4px 6px #0000000d}.admin-enroll-section h3{color:#2c3e50;align-items:center;gap:8px;margin:0 0 15px;font-size:16px;display:flex}.enroll-form{gap:15px;display:flex}.enroll-form select{background:#f8f9fa;border:1px solid #ddd;border-radius:8px;flex:1;padding:10px 15px;font-size:14px}.enroll-form select:focus{border-color:#3498db;outline:none}.courses-section{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000000d}.section-header{border-bottom:1px solid #f0f0f0;padding:20px}.section-header h3{color:#2c3e50;align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.table-responsive{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{color:#7f8c8d;text-transform:uppercase;text-align:left;background:#f8f9fa;padding:15px 20px;font-size:12px;font-weight:600}.data-table td{color:#2c3e50;vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:15px 20px}.table-subtext{color:#7f8c8d;margin-top:4px;font-size:12px}.progress-cell{width:200px}.progress-text{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.progress-bar-container{background:#ecf0f1;border-radius:4px;height:8px;overflow:hidden}.progress-bar{border-radius:4px;height:100%;transition:width .3s}.progress-bar.success{background:#2ecc71}.progress-bar.warning{background:#f39c12}.progress-bar.danger{background:#e74c3c}.progress-bar.neutral{background:#bdc3c7}@media (width<=768px){.report-header{flex-direction:column}.report-contact{width:100%}.enroll-form{flex-direction:column}}.course-checkbox-list{background:#f8f9fa;border:1px solid #ddd;border-radius:8px;flex-direction:column;flex:1;gap:8px;max-height:200px;padding:10px;display:flex;overflow-y:auto}.course-checkbox-item{cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;transition:background .2s;display:flex}.course-checkbox-item:hover{background:#ecf0f1}.course-checkbox-item input[type=checkbox]{cursor:pointer;width:16px;height:16px}.course-checkbox-item span{color:#2c3e50;font-size:14px}.no-courses-msg{text-align:center;color:#7f8c8d;padding:20px;font-style:italic}.enroll-btn{color:#fff;cursor:pointer;background-color:#3498db;border:none;border-radius:8px;height:fit-content;padding:10px 20px;font-weight:600;transition:background .2s,opacity .2s}.enroll-btn:hover:not(:disabled){background-color:#2980b9}.enroll-btn:disabled{cursor:not-allowed;opacity:.7;background-color:#95a5a6}[data-theme=dark] .report-header,[data-theme=dark] .summary-card,[data-theme=dark] .admin-enroll-section,[data-theme=dark] .courses-section{background:#1a222a;box-shadow:0 4px 6px #0003}[data-theme=dark] .report-info h2,[data-theme=dark] .summary-details h3,[data-theme=dark] .admin-enroll-section h3,[data-theme=dark] .section-header h3,[data-theme=dark] .data-table td,[data-theme=dark] .course-checkbox-item span{color:#ecf0f1}[data-theme=dark] .report-contact{background:#2c3e50}[data-theme=dark] .contact-icon{background:#1a222a}[data-theme=dark] .contact-text span{color:#ecf0f1}[data-theme=dark] .contact-text small,[data-theme=dark] .report-matric,[data-theme=dark] .summary-details p,[data-theme=dark] .table-subtext,[data-theme=dark] .no-courses-msg{color:#bdc3c7}[data-theme=dark] .badge-college{color:#81c784;background:#2e7d3233}[data-theme=dark] .badge-dept{color:#64b5f6;background:#1565c033}[data-theme=dark] .badge-level{color:#ba68c8;background:#6a1b9a33}[data-theme=dark] .badge-archived{color:#e0e0e0;background:#ffffff1a}[data-theme=dark] .course-checkbox-list{background:#2c3e50;border-color:#34495e}[data-theme=dark] .course-checkbox-item:hover{background:#34495e}[data-theme=dark] .data-table th{color:#bdc3c7;background:#2c3e50;border-bottom-color:#34495e}[data-theme=dark] .data-table td,[data-theme=dark] .section-header{border-bottom-color:#34495e}[data-theme=dark] .progress-bar-container{background:#34495e}.course-search-container{background:inherit;z-index:10;border-bottom:1px solid #e0e0e0;margin-bottom:10px;padding:0 5px 10px;position:sticky;top:0}.course-search-input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 15px;font-size:13px;transition:border-color .2s}.course-search-input:focus{border-color:#3498db}[data-theme=dark] .course-search-container{border-bottom-color:#34495e}[data-theme=dark] .course-search-input{color:#ecf0f1;background:#1a222a;border-color:#34495e}[data-theme=dark] .course-search-input::placeholder{color:#7f8c8d}.report-course-row{transition:background-color .2s}.report-course-row:hover{background-color:#f8f9fa}[data-theme=dark] .report-course-row:hover{background-color:#2c3e50}.report-course-row.expanded{background-color:#f1f8ff}[data-theme=dark] .report-course-row.expanded{background-color:#3498db1a}.sessions-dropdown-cell{background-color:#f1f8ff;border-bottom:2px solid #e0e0e0!important;padding:0!important}[data-theme=dark] .sessions-dropdown-cell{background-color:#3498db0d;border-bottom-color:#34495e!important}.sessions-timeline{flex-wrap:wrap;align-items:flex-start;gap:20px 10px;padding:20px 20px 30px;display:flex}.timeline-node{flex-direction:column;align-items:center;width:60px;display:flex}.timeline-short-line{background-color:#e0e0e0;width:24px;height:2px;margin-top:19px}[data-theme=dark] .timeline-short-line{background-color:#34495e}.timeline-dot-wrapper{justify-content:center;width:100%;margin-bottom:10px;display:flex;position:relative}.timeline-dot{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:10px;font-size:16px;display:flex;box-shadow:0 2px 5px #0000001a}.timeline-node.attended .timeline-dot{background-color:#2ecc71;box-shadow:0 0 0 5px #2ecc7133}.timeline-node.missed .timeline-dot{background-color:#e74c3c;box-shadow:0 0 0 5px #e74c3c33}.timeline-content{text-align:center;margin-top:5px}.session-week{color:#2c3e50;margin-bottom:2px;font-size:13px;font-weight:700}[data-theme=dark] .session-week{color:#ecf0f1}.session-date{color:#95a5a6;font-size:11px}.no-sessions{color:#7f8c8d;text-align:center;width:100%;padding:20px;font-style:italic}.clickable-avatar{cursor:pointer;transition:transform .2s,box-shadow .2s}.clickable-avatar:hover{transform:scale(1.05);box-shadow:0 4px 10px #00000026}.image-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.image-modal-content{max-width:90vw;max-height:90vh;position:relative}.image-modal-content img{object-fit:contain;border-radius:10px;max-width:100%;max-height:90vh;box-shadow:0 10px 25px #00000080}.close-modal-btn{color:#fff;cursor:pointer;z-index:10001;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;transition:transform .2s,background .2s;display:flex;position:fixed;top:20px;right:20px}.close-modal-btn:hover{background:#000c;transform:scale(1.1)}.contact-phone{cursor:pointer;position:relative}.contact-phone:hover{background-color:#00000005;border-radius:8px}[data-theme=dark] .contact-phone:hover{background-color:#ffffff0d}.phone-actions-dropdown{z-index:100;background:#fff;border:1px solid #eee;border-radius:8px;min-width:150px;margin-top:10px;padding:5px 0;position:absolute;top:100%;right:0;box-shadow:0 4px 15px #0000001a}[data-theme=dark] .phone-actions-dropdown{background:#2c3e50;border-color:#34495e;box-shadow:0 4px 15px #0000004d}.phone-action{color:#2c3e50;align-items:center;padding:10px 20px;font-size:14px;text-decoration:none;transition:background-color .2s;display:flex}[data-theme=dark] .phone-action{color:#ecf0f1}.phone-action i{text-align:center;width:20px;margin-right:10px}.phone-action .fa-phone{color:#3498db}.phone-action .fa-whatsapp{color:#2ecc71}.phone-action:hover{background-color:#f8f9fa}[data-theme=dark] .phone-action:hover{background-color:#34495e}.course-view-container{max-width:1200px;margin:0 auto;padding:20px}.course-header{background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px;padding:25px;display:flex;box-shadow:0 4px 6px #0000000d}.course-info h1{color:#2c3e50;align-items:center;gap:15px;margin:0 0 10px;font-size:28px;display:flex}.course-code-badge{color:#1565c0;background:#e3f2fd;border-radius:8px;padding:5px 12px;font-size:16px;font-weight:700}.course-meta{flex-wrap:wrap;gap:15px;margin-top:15px;display:flex}.meta-item{color:#7f8c8d;background:#f8f9fa;border-radius:8px;align-items:center;gap:8px;padding:8px 15px;font-size:14px;display:flex}.meta-item i{color:#3498db}.course-tabs{border-bottom:2px solid #ecf0f1;gap:10px;margin-bottom:20px;padding-top:15px;padding-bottom:10px;display:flex;overflow:auto visible}.course-tabs .tab-btn{color:#7f8c8d;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:10px 20px;font-size:16px;font-weight:600;transition:all .2s}.course-tabs .tab-btn:hover{color:#34495e;background:#f8f9fa}.course-tabs .tab-btn.active{color:#1565c0;background:#e3f2fd}.course-tab-content{background:#fff;border-radius:12px;min-height:400px;padding:25px;box-shadow:0 4px 6px #0000000d}.content-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.content-header h2{color:#2c3e50;margin:0;font-size:20px}.announcement-list{flex-direction:column;gap:20px;display:flex}.announcement-card{background:#f8f9fa;border-left:4px solid #3498db;border-radius:10px;transition:all .3s;overflow:hidden}.announcement-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:15px 20px;transition:background-color .2s;display:flex}.announcement-header:hover{background-color:#e9ecef}.announcement-title{color:#2c3e50;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:600;display:flex}.announcement-title i{color:#7f8c8d;transition:transform .3s}.announcement-title i.expanded{transform:rotate(180deg)}.announcement-date{color:#95a5a6;background:#fff;border:1px solid #ecf0f1;border-radius:4px;padding:4px 8px;font-size:12px}.announcement-body{max-height:0;padding:0 20px;transition:max-height .4s ease-out,padding .4s ease-out;overflow:hidden}.announcement-body.expanded{max-height:1000px;padding:0 20px 20px}.announcement-content{color:#34495e;white-space:pre-wrap;margin:0;line-height:1.6}.materials-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.material-card{background:#fff;border:1px solid #ecf0f1;border-radius:10px;flex-direction:column;gap:15px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.material-card:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000014}.material-icon{color:#e74c3c;font-size:32px}.material-info h3{color:#2c3e50;word-break:break-word;margin:0 0 5px;font-size:16px}.material-meta{color:#7f8c8d;justify-content:space-between;font-size:12px;display:flex}.material-actions{gap:10px;margin-top:auto;display:flex}.btn-download{color:#0366d6;text-align:center;white-space:nowrap;background:#f1f8ff;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s;display:flex}.btn-download:hover{background:#e3f2fd}.students-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;display:grid}.student-card{background:#f8f9fa;border-radius:8px;align-items:center;gap:15px;padding:15px;display:flex}.student-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:45px;height:45px}.student-avatar-placeholder{color:#fff;background:#3498db;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:45px;font-weight:700;display:flex}.student-info h4{color:#2c3e50;margin:0 0 4px;font-size:15px}.student-info p{color:#7f8c8d;margin:0;font-size:12px}[data-theme=dark] .course-tab-content,[data-theme=dark] .course-header,[data-theme=dark] .material-card{background:#2c3e50;border-color:#34495e}[data-theme=dark] .course-info h1,[data-theme=dark] .content-header h2,[data-theme=dark] .announcement-title,[data-theme=dark] .material-info h3,[data-theme=dark] .student-info h4{color:#ecf0f1}[data-theme=dark] .meta-item,[data-theme=dark] .announcement-card,[data-theme=dark] .student-card{color:#bdc3c7;background:#1a222a}[data-theme=dark] .announcement-header:hover{background-color:#24303c}[data-theme=dark] .announcement-date{background:#2c3e50;border-color:#34495e}[data-theme=dark] .course-tabs .tab-btn{color:#bdc3c7}[data-theme=dark] .course-tabs .tab-btn:hover{color:#ecf0f1;background:#34495e}[data-theme=dark] .course-tabs .tab-btn.active,[data-theme=dark] .course-code-badge{color:#64b5f6;background:#1565c033}[data-theme=dark] .btn-download{color:#64b5f6;background:#0366d61a}[data-theme=dark] .btn-download:hover{background:#0366d633}.course-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;top:0;left:0}.course-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;animation:.3s cubic-bezier(.175,.885,.32,1.275) slideUp;overflow:hidden;box-shadow:0 10px 25px #00000026}.course-modal-header{border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.course-modal-header h3{color:#2c3e50;margin:0;font-size:1.25rem}.course-modal-close{color:#95a5a6;cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .2s}.course-modal-close:hover{color:#e74c3c}.course-modal-body{padding:25px}.course-modal-footer{background:#f8f9fa;border-top:1px solid #f0f2f5;justify-content:flex-end;gap:10px;padding:20px 25px;display:flex}[data-theme=dark] .course-modal{background:#2c3e50}[data-theme=dark] .course-modal-header h3{color:#ecf0f1}[data-theme=dark] .course-modal-header,[data-theme=dark] .course-modal-footer{border-color:#34495e}[data-theme=dark] .course-modal-footer{background:#34495e}.btn-premium-action{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0366d6 0%,#3498db 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 22px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 15px #0366d64d}.btn-premium-action:hover{color:#fff;background:linear-gradient(135deg,#0256b9 0%,#2980b9 100%);transform:translateY(-2px);box-shadow:0 6px 20px #0366d666}.btn-premium-action i{font-size:16px}[data-theme=dark] .btn-premium-action{box-shadow:0 4px 15px #0366d680}.course-modal .form-control{color:#2c3e50;box-sizing:border-box;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:12px 15px;font-size:14px;transition:all .2s}.course-modal .form-control:focus{background-color:#fff;border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db33}.course-modal .form-group label{color:#4a5568;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.course-modal .btn-secondary{color:#4a5568;cursor:pointer;background-color:#edf2f7;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.course-modal .btn-secondary:hover{color:#2d3748;background-color:#e2e8f0}[data-theme=dark] .course-modal .form-control{color:#e2e8f0;background-color:#1a202c;border-color:#2d3748}[data-theme=dark] .course-modal .form-group label{color:#a0aec0}[data-theme=dark] .course-modal .btn-secondary{color:#e2e8f0;background-color:#2d3748}[data-theme=dark] .course-modal .btn-secondary:hover{background-color:#4a5568}.badge-notification{color:#fff;z-index:10;background-color:#e74c3c;border-radius:50%;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 4px #0003}.secure-view-body{background:#2c2c2c;flex-direction:column;align-items:center;height:100vh;margin:0;font-family:Inter,sans-serif;display:flex;overflow:hidden}.secure-toolbar{color:#fff;z-index:10;box-sizing:border-box;background:#1a1a1a;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;padding:15px;display:flex;box-shadow:0 2px 10px #0000004d}.secure-toolbar span{white-space:nowrap;text-overflow:ellipsis;max-width:50%;font-size:14px;font-weight:600;overflow:hidden}.secure-toolbar-actions{gap:8px;display:flex}.secure-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#333;border:1px solid #444;border-radius:4px;justify-content:center;align-items:center;padding:6px 12px;transition:all .2s;display:flex}.secure-btn:hover{background:#555}.secure-zoom-btn{width:35px;font-size:16px}#secure-viewer-container{box-sizing:border-box;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;width:100%;padding:20px;display:flex;position:relative;overflow:auto}.secure-loader-overlay{z-index:999;color:#fff;background:#1e1e1ef2;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .5s;display:flex;position:fixed;top:0;left:0}.secure-spinner{border:5px solid #ffffff1a;border-top-color:#00e5ff;border-radius:50%;width:50px;height:50px;margin-bottom:20px;animation:1s linear infinite secure-spin}@keyframes secure-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.secure-progress-container{background:#444;border-radius:3px;width:300px;height:6px;margin-top:10px;display:none;overflow:hidden}.secure-progress-bar{background:#00e5ff;width:0%;height:100%;transition:width .2s}.secure-loading-text{color:#ccc;margin-top:10px;font-size:14px}#pdf-render-area{text-align:center;flex-direction:column;align-items:center;width:100%;padding-bottom:50px;display:flex}.pdf-page-container{background-color:#3a3a3a;justify-content:center;align-items:center;width:100%;max-width:900px;margin-bottom:20px;transition:width .2s,max-width .2s;display:flex;box-shadow:0 4px 15px #00000080}.pdf-page-container canvas{background-color:#fff;width:100%;display:block;height:auto!important}.secure-img{object-fit:contain;pointer-events:none;width:auto;max-width:100%;height:auto;max-height:90vh;margin:auto;box-shadow:0 4px 15px #00000080}.secure-player{background:#000;border-radius:8px;outline:none;max-width:90%;max-height:80vh;margin:auto;box-shadow:0 10px 30px #00000080}.secure-global-footer{color:#666;box-sizing:border-box;z-index:1000;background-color:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding:15px 30px;font-size:.85rem;display:flex;position:fixed;bottom:0;left:0}@media (width<=768px){#secure-viewer-container,.secure-toolbar{padding:10px}.pdf-page-container{max-width:100%}.secure-global-footer .dev-credit{display:none!important}.secure-global-footer{padding:15px;justify-content:center!important}}.profile-card{background:var(--bg-card,#fff);box-shadow:var(--card-shadow,0 4px 15px #0000000d);border:1px solid var(--border-color,#eee);border-radius:12px;max-width:800px;margin:0 auto;padding:30px}.profile-header{text-align:center;margin-bottom:30px}.avatar-wrapper{cursor:pointer;margin-bottom:15px;display:inline-block;position:relative}.profile-pic-large{object-fit:cover;border:4px solid #fff;border-radius:50%;width:120px;height:120px;transition:transform .2s;box-shadow:0 4px 15px #0000001a}.avatar-wrapper:hover .profile-pic-large{transform:scale(1.05)}.avatar-edit-icon{color:#fff;background:#0f2b46;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;font-size:16px;display:flex;position:absolute;bottom:5px;right:5px;box-shadow:0 2px 5px #0003}.profile-header h2{color:var(--text-main,#0f2b46);margin:0 0 5px;font-size:24px}.profile-header p{color:#666;text-transform:capitalize;margin:0;font-weight:500}.readonly-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px;display:grid}.info-group{background:var(--bg-body,#f8f9fa);border:1px solid var(--border-color,#eee);border-radius:8px;padding:15px}.info-label{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.info-value{color:var(--text-main,#333);align-items:center;gap:8px;font-size:15px;font-weight:500;display:flex}.info-value i{color:#8e44ad;text-align:center;width:20px}.form-row{gap:15px;margin-bottom:20px;display:flex}.form-group{flex:1;margin-bottom:20px}.form-row .form-group{margin-bottom:0}.form-input{border:1px solid var(--border-color,#ddd);box-sizing:border-box;background:var(--bg-body,#fdfdfd);width:100%;color:var(--text-main,#333);border-radius:8px;padding:12px 15px;font-size:14px;transition:all .2s}.form-input:focus{background:var(--bg-card,#fff);border-color:#8e44ad;outline:none;box-shadow:0 0 0 3px #8e44ad1a}.btn-save{color:#fff;cursor:pointer;background:#0f2b46;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:14px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.btn-save:hover{background:#1a3c5c;transform:translateY(-2px);box-shadow:0 4px 15px #0f2b4633}.btn-save:disabled{cursor:not-allowed;box-shadow:none;background:#7f8c8d;transform:none}hr{border:none;border-top:1px solid var(--border-color,#eee);margin:30px 0}@media (width<=576px){.readonly-grid{grid-template-columns:1fr}.form-row{flex-direction:column;gap:20px}}.profile-content input[type=file],.profile-upload-container input[type=file]{display:none}[data-theme=dark] .profile-card{background:#1e293b;border-color:#2d3748}[data-theme=dark] .info-group{background:#0f172a;border-color:#2d3748}[data-theme=dark] .form-input{color:#e2e8f0;background:#0f172a;border-color:#2d3748}[data-theme=dark] .form-input:focus{background:#1e293b}[data-theme=dark] hr{border-color:#2d3748}[data-theme=dark] .profile-header h2{color:#f1f5f9}[data-theme=dark] .info-value{color:#e2e8f0}[data-theme=dark] h3,[data-theme=dark] h4{color:#f1f5f9!important}.election-container{width:100%}.welcome-banner{background:var(--bg-card,#fff);color:#fff;text-align:center;border:1px solid #ffffff0d;border-radius:20px;margin-bottom:40px;padding:50px 40px;position:relative;overflow:hidden;box-shadow:0 10px 40px #0003}.welcome-banner:before{content:"";background:radial-gradient(circle,#00e5ff14 0%,#0000 60%);width:200%;height:200%;animation:20s linear infinite rotate;position:absolute;top:-50%;left:-50%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.welcome-banner h1{z-index:1;background:linear-gradient(135deg,#00e5ff,#007bb5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 15px;font-size:2.8rem;font-weight:800;position:relative}.welcome-banner p{z-index:1;color:#94a3b8;position:relative}.status-widget{background:var(--bg-card,#fff);border:1px solid var(--border-color,#eee);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:40px;padding:25px 30px;transition:transform .3s;display:flex;box-shadow:0 10px 30px #0000000d}.status-widget:hover{transform:translateY(-2px)}.election-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px;display:grid}.election-card{background:var(--bg-card,#fff);border:1px solid var(--border-color,#eee);border-radius:16px;flex-direction:column;justify-content:space-between;padding:30px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000000d}.election-card:before{content:"";transform-origin:0;background:linear-gradient(90deg,#00e5ff,#007bb5);height:4px;transition:transform .4s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.election-card:hover{border-color:#00e5ff4d;transform:translateY(-10px);box-shadow:0 20px 40px #0000001a}.election-card:hover:before{transform:scaleX(1)}.election-info{margin-bottom:25px}.election-info h2{color:var(--text-main,#1e293b);margin:0 0 15px;font-size:1.4rem;font-weight:700;line-height:1.3}.election-info p{color:var(--text-muted,#64748b);margin:0 0 15px;font-size:.95rem;line-height:1.5}.time-badge{color:var(--text-muted,#64748b);background:#64748b1a;border-radius:50px;align-items:center;gap:8px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-vote{color:#fff;box-sizing:border-box;background:linear-gradient(135deg,#00e5ff 0%,#007bb5 100%);border:none;border-radius:50px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 25px;font-weight:700;text-decoration:none;transition:all .3s;display:flex}.btn-vote:hover{color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #00e5ff4d}.badge-voted{color:#27ae60;box-sizing:border-box;background:#27ae601a;border:1px dashed #27ae60;border-radius:50px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 25px;font-weight:700;display:flex}@media (width<=768px){.welcome-banner{padding:40px 20px}.welcome-banner h1{font-size:2.2rem}.status-widget{text-align:center;flex-direction:column}.election-grid{grid-template-columns:1fr}}.glass-card{-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #00000014;border-radius:16px;padding:25px;transition:all .3s;box-shadow:0 8px 32px #1f268712}[data-theme=dark] .glass-card{color:#e2e8f0;background:#1e293b;border:1px solid #2d3748;box-shadow:0 8px 32px #00000059}.btn-outline{border:1.5px solid var(--border-color,#ccc);color:var(--text-main,#333);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-outline:hover{background:var(--accent-cyan,#00e5ff);border-color:var(--accent-cyan,#00e5ff);color:#0f172a}[data-theme=dark] .btn-outline{color:#e2e8f0;border-color:#4a5568}[data-theme=dark] .btn-outline:hover{color:#0f172a;background:#00e5ff;border-color:#00e5ff}[data-theme=dark] .welcome-banner p{color:#94a3b8}[data-theme=dark] .status-widget h3{color:#f1f5f9}[data-theme=dark] .status-widget p{color:#94a3b8}[data-theme=dark] .election-info h2{color:#f1f5f9}[data-theme=dark] .election-info p{color:#94a3b8}[data-theme=dark] .time-badge{color:#94a3b8;background:#ffffff0f}.modal{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#00000080;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow-y:auto}.modal-content{background-color:var(--bg-card,#fff);border:1px solid var(--border-color,#eee);width:90%;max-width:550px;color:var(--text-main,#333);border-radius:16px;margin:5% auto;padding:30px;box-shadow:0 20px 50px #00000080}.close{color:var(--text-grey,#666);float:right;font-size:28px;font-weight:700;transition:all .3s}.close:hover,.close:focus{color:var(--text-main,#333);cursor:pointer;text-decoration:none}.election-header{text-align:center;margin-bottom:40px}.election-header h1{color:var(--text-main,#333);margin-bottom:10px;font-size:2.2rem}.position-card{background:var(--bg-card,#fff);border:1px solid var(--border-color,#eee);border-radius:16px;margin-bottom:40px;padding:30px;box-shadow:0 10px 30px #0000000d}.position-title{color:#0f2b46;border-bottom:2px solid #00e5ff;margin-bottom:25px;padding-bottom:5px;font-size:1.5rem;font-weight:800;display:inline-block}.candidates-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.candidate-label{cursor:pointer;display:block;position:relative}.candidate-card{text-align:center;background:#00000005;border:2px solid #0000;border-radius:12px;height:100%;padding:20px;transition:all .3s}.candidate-photo{object-fit:cover;background:#ddd;border:4px solid #eee;border-radius:50%;width:160px;height:160px;margin:0 auto 15px;display:block}.candidate-photo-placeholder{width:160px;height:160px;color:var(--text-grey,#666);background:#f5f5f5;border:4px solid #eee;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 15px;font-size:3rem;display:flex}.candidate-name{color:var(--text-main,#333);margin-bottom:10px;font-size:1.1rem;font-weight:800}.candidate-manifesto{color:#777;font-size:.85rem;line-height:1.4}input[type=radio]{display:none}.candidate-label:hover .candidate-card{border-color:#00e5ff80;transform:translateY(-5px);box-shadow:0 10px 20px #0000000d}input[type=radio]:checked+.candidate-card{background:#00e5ff0d;border-color:#00e5ff;transform:translateY(-5px);box-shadow:0 10px 20px #00e5ff26}input[type=radio]:checked+.candidate-card .candidate-photo{border-color:#00e5ff}.checkmark{color:#fff;opacity:0;background:#00e5ff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;top:10px;right:10px;transform:scale(0)}input[type=radio]:checked+.candidate-card .checkmark{opacity:1;transform:scale(1)}.abstain-option{text-align:center;color:#888;background:0 0;border:2px dashed #ccc;border-radius:12px;grid-column:1/-1;padding:15px;font-weight:700;transition:all .2s}input[type=radio]:checked+.abstain-option{color:#333;background:#f9f9f9;border-color:#999}.submit-section{text-align:center;color:#fff;background:linear-gradient(135deg,#0f2b46 0%,#1a3c5e 100%);border-radius:16px;padding:40px;box-shadow:0 15px 30px #0f2b464d}.btn-cast{color:#0f2b46;cursor:pointer;background:#00e5ff;border:none;border-radius:50px;margin-top:20px;padding:15px 50px;font-size:1.2rem;font-weight:800;transition:transform .2s,box-shadow .2s}.btn-cast:hover{transform:translateY(-3px);box-shadow:0 10px 20px #00e5ff66}@media (width<=1400px){#results_wrapper{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){#results_wrapper{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){#results_wrapper{grid-template-columns:1fr}}@media (width<=1400px){#results_wrapper{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){#results_wrapper{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){#results_wrapper{grid-template-columns:1fr}}.total-voters-card{background:var(--bg-card,#fff);text-align:center;border:1px solid var(--border-color,#eee);border-radius:16px;margin-bottom:20px;padding:15px;transition:all .3s;box-shadow:0 10px 30px #0000000d}[data-theme=dark] .total-voters-card{background:#1e293b;border-color:#2d3748;box-shadow:0 10px 30px #0000004d}.total-voters-card h2{color:var(--text-muted,#64748b);text-transform:uppercase;letter-spacing:1px;margin:0 0 5px;font-size:1rem}.total-voters-card .count{color:var(--text-main,#333);font-size:3.5rem;font-weight:800;line-height:1;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}[data-theme=dark] .total-voters-card .count{color:#e2e8f0;text-shadow:0 0 20px #38bdf84d}#results_wrapper{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}@media (width<=1400px){#results_wrapper{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){#results_wrapper{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){#results_wrapper{grid-template-columns:1fr}}.position-section{background:var(--bg-card,#fff);border:1px solid var(--border-color,#eee);border-radius:12px;margin-bottom:0;padding:15px;transition:all .3s}[data-theme=dark] .position-section{background:#1e293b;border-color:#2d3748}.position-section:hover{border-color:#38bdf880;box-shadow:0 5px 20px #0000001a}.candidates-container{justify-content:space-around;align-items:flex-start;gap:10px;min-height:180px;padding-top:25px;padding-bottom:10px;display:flex;overflow-x:auto}.candidate-column{flex-direction:column;align-items:center;width:80px;transition:transform .3s;display:flex}.candidate-column:hover{transform:translateY(-5px)}.bar-container{justify-content:center;align-items:flex-end;width:40px;height:120px;margin-bottom:10px;display:flex;position:relative}.progress-bar-vertical{border-radius:6px 6px 0 0;justify-content:center;align-items:flex-start;width:100%;padding-top:5px;transition:height 1.5s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 0 10px #0000001a}.progress-text{color:var(--text-main,#333);text-shadow:none;font-size:11px;font-weight:800;position:absolute;top:-20px}[data-theme=dark] .progress-text{color:#e2e8f0}.candidate-photo,.candidate-photo-live{object-fit:cover;background:var(--bg-card,#fff);width:60px;height:60px;color:var(--text-muted,#cbd5e1);z-index:2;border:2px solid #38bdf8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:8px;font-size:24px;display:flex;box-shadow:0 0 10px #38bdf833}[data-theme=dark] .candidate-photo,[data-theme=dark] .candidate-photo-live{background:#0f172a;border-color:#38bdf8}.candidate-name,.candidate-name-live{text-align:center;color:var(--text-main,#333);word-wrap:break-word;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;max-width:100%;height:2.1rem;font-size:.85rem;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}[data-theme=dark] .candidate-name,[data-theme=dark] .candidate-name-live{color:#e2e8f0}.candidate-votes,.candidate-votes-live{color:var(--text-muted,#64748b);text-align:center;margin-top:3px;font-size:.75rem;font-weight:500}[data-theme=dark] .candidate-votes,[data-theme=dark] .candidate-votes-live{color:#94a3b8}.more-candidates-btn{background:var(--bg-body,#f1f5f9);color:var(--text-muted,#64748b);text-align:center;cursor:pointer;border-radius:8px;margin-top:10px;padding:6px;font-size:.85rem;font-weight:700}[data-theme=dark] .more-candidates-btn{color:#94a3b8;background:#0003}.back-btn-top{color:#38bdf8;cursor:pointer;background:#0f2b4666;border:1px solid #38bdf880;border-radius:8px;align-items:center;gap:8px;margin-bottom:15px;padding:8px 16px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}[data-theme=dark] .back-btn-top{color:#38bdf8!important;background:#0f2b4699!important;border-color:#38bdf8!important}.back-btn-top:hover{color:#0f172a!important;background:#38bdf8!important}.wizard-modal-container{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:600px;display:flex;overflow:hidden;box-shadow:0 10px 25px #0003}[data-theme=dark] .wizard-modal-container{background:#1e293b;border:1px solid #334155}.modal{z-index:9999;background:#00000080;display:block;position:fixed;inset:0}.election-tab-card{background:var(--bg-card,#fff);border:1px solid var(--border-color,#eee);border-radius:16px;padding:25px;transition:background .3s,border-color .3s;box-shadow:0 10px 30px #0000000d}[data-theme=dark] .election-tab-card{background:#1e293b!important;border-color:#334155!important;box-shadow:0 10px 30px #0000004d!important}[data-theme=dark] .election-tab-card h2,[data-theme=dark] .election-tab-card h3{color:#f8fafc!important}[data-theme=dark] .election-tab-card h2 i,[data-theme=dark] .election-tab-card h3 i{color:#00e5ff!important}[data-theme=dark] .election-card{background:#0f172a!important;border-color:#334155!important;box-shadow:0 4px 20px #0006!important}[data-theme=dark] .election-card h2{color:#f8fafc!important}[data-theme=dark] .election-card p{color:#94a3b8!important}.admin-election-card{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-card,#fafafa);border-radius:14px;transition:background .3s,border-color .3s;overflow:hidden}[data-theme=dark] .admin-election-card{background:#0f172a!important;border-color:#334155!important}[data-theme=dark] .admin-election-card h3{color:#f8fafc!important}[data-theme=dark] .admin-election-card p{color:#94a3b8!important}[data-theme=dark] .admin-election-card>div:first-child{border-bottom-color:#334155!important}.election-settings-card{background:linear-gradient(135deg,#f8fafc,#f0f9ff);border:1px solid #e0f2fe;border-radius:14px;margin-bottom:28px;padding:20px}[data-theme=dark] .election-settings-card{background:linear-gradient(135deg,#0f172a,#1e293b)!important;border-color:#334155!important}[data-theme=dark] .election-settings-card h3,[data-theme=dark] .election-settings-card h4{color:#f8fafc!important}[data-theme=dark] .election-settings-card p{color:#94a3b8!important}[data-theme=dark] .election-settings-card>div>div{background:#1e293b!important;border-color:#334155!important}[data-theme=dark] .election-settings-card label{color:#e2e8f0!important}.clearance-empty-box{text-align:center;color:#94a3b8;background:#f8fafc;border-radius:12px;padding:30px}[data-theme=dark] .clearance-empty-box{color:#94a3b8!important;background:#0f172a!important}.clearance-item-card{background:#f0fdf4;border:1px solid #86efac;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}[data-theme=dark] .clearance-item-card{background:#16a34a26!important;border-color:#22c55e66!important}[data-theme=dark] .clearance-item-card span{color:#86efac!important}.wizard-modal-container{background:#fff;border-radius:20px;width:100%;max-width:600px;overflow:hidden;box-shadow:0 25px 60px #00000059}[data-theme=dark] .wizard-modal-container{color:#f8fafc!important;background:#1e293b!important;border:1px solid #334155!important}[data-theme=dark] .wizard-modal-container input[type=text],[data-theme=dark] .wizard-modal-container input[type=datetime-local],[data-theme=dark] .wizard-modal-container textarea,[data-theme=dark] .wizard-modal-container select{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}[data-theme=dark] .wizard-modal-container input::placeholder,[data-theme=dark] .wizard-modal-container textarea::placeholder{color:#64748b!important}[data-theme=dark] .wizard-modal-container p{color:#94a3b8!important}[data-theme=dark] .wizard-modal-container label{color:#cbd5e1!important}[data-theme=dark] .wizard-modal-container div[style*="background: #f8f9fa"],[data-theme=dark] .wizard-modal-container div[style*="background: #f8fafc"]{background:#0f172a!important;border-color:#334155!important}.wizard-pos-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;align-items:center;gap:10px;padding:11px 14px;transition:background .2s,border-color .2s;display:flex}.wizard-pos-title{color:#1e293b;flex:1;font-size:14px;font-weight:600}.wizard-drag-handle{color:#cbd5e1;cursor:grab;-webkit-user-select:none;user-select:none;padding-right:4px;font-size:16px}.wizard-cand-item{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;transition:background .2s,border-color .2s;display:flex}.wizard-cand-name{color:#166534;font-size:13px;font-weight:600}.wizard-form-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:16px}.wizard-form-heading{color:#0f2b46;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:700}.wizard-back-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;flex:1;padding:13px;font-size:14px;font-weight:600;transition:background .2s,color .2s}[data-theme=dark] .wizard-pos-item{background:#0f172a!important;border-color:#334155!important}[data-theme=dark] .wizard-pos-title{color:#f8fafc!important}[data-theme=dark] .wizard-drag-handle{color:#64748b!important}[data-theme=dark] .wizard-cand-item{background:#0f172a!important;border-color:#334155!important}[data-theme=dark] .wizard-cand-name{color:#38bdf8!important}[data-theme=dark] .wizard-form-box{background:#0f172a!important;border-color:#334155!important}[data-theme=dark] .wizard-form-heading{color:#00e5ff!important}[data-theme=dark] .wizard-back-btn{color:#f8fafc!important;background:#334155!important}[data-theme=dark] .wizard-back-btn:hover{background:#475569!important}.wizard-pos-tab{cursor:pointer;color:#475569;background:#f1f5f9;border:2px solid #e2e8f0;border-radius:20px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .2s}.wizard-pos-tab.active{color:#fff;background:#0f2b46;border-color:#0f2b46}.wizard-tab-count{opacity:.75;margin-left:5px;font-size:11px}.wizard-search-box{background:#fff;border:2px solid #bfdbfe;border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.wizard-search-dropdown{z-index:999;background:#fff;border:1px solid #dde1e7;border-radius:10px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.wizard-file-upload-box{background:#fff;border:1px solid #dde1e7;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.wizard-add-cand-btn{color:#fff;cursor:pointer;background:#0f2b46;border:none;border-radius:8px;width:100%;padding:10px;font-size:13px;font-weight:600;transition:background .2s}.wizard-add-cand-btn:disabled{cursor:not-allowed;background:#94a3b8}[data-theme=dark] .wizard-pos-tab{color:#94a3b8!important;background:#1e293b!important;border-color:#334155!important}[data-theme=dark] .wizard-pos-tab.active{color:#0f2b46!important;background:#00e5ff!important;border-color:#00e5ff!important}[data-theme=dark] .wizard-pos-tab.active .wizard-tab-count{color:#0f2b46!important}[data-theme=dark] .wizard-search-box{background:#0f172a!important;border-color:#334155!important}[data-theme=dark] .wizard-search-dropdown{background:#1e293b!important;border-color:#334155!important;box-shadow:0 10px 30px #00000080!important}[data-theme=dark] .wizard-file-upload-box{background:#0f172a!important;border-color:#334155!important}[data-theme=dark] .wizard-file-upload-box input{color:#94a3b8!important}[data-theme=dark] .wizard-add-cand-btn{color:#fff!important;background:linear-gradient(135deg,#0072ff,#00c6ff)!important}[data-theme=dark] .wizard-add-cand-btn:disabled{color:#64748b!important;background:#334155!important}.admin-election-header{border-bottom:1px solid var(--border-color,#f0f4f8)}.admin-election-footer{background:var(--bg-card,#f8fafc)}.admin-election-expanded{border-top:2px dashed var(--border-color,#e2e8f0)}[data-theme=dark] .admin-election-header{border-bottom-color:#334155}[data-theme=dark] .admin-election-footer{background:#1e293b}[data-theme=dark] .admin-election-expanded{border-top-color:#334155}.admin-election-manage-btn{color:#0f2b46;background:0 0;border:2px solid #0f2b46;transition:all .2s}.admin-election-manage-btn.active{color:#fff;background:#0f2b46}[data-theme=dark] .admin-election-manage-btn{color:#e2e8f0;border-color:#38bdf8}[data-theme=dark] .admin-election-manage-btn:hover,[data-theme=dark] .admin-election-manage-btn.active{color:#0f172a;background:#38bdf8}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.status-badge.published{color:#166534;background:#dcfce7}.status-badge.completed{color:#0369a1;background:#e0f2fe}.status-badge.draft{color:#92400e;background:#fef3c7}[data-theme=dark] .status-badge.published{color:#86efac;background:#16653433;border:1px solid #86efac33}[data-theme=dark] .status-badge.completed{color:#7dd3fc;background:#0369a133;border:1px solid #7dd3fc33}[data-theme=dark] .status-badge.draft{color:#fcd34d;background:#92400e33;border:1px solid #fcd34d33}.monitor-assignment-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;margin-bottom:20px;padding:14px}.monitor-assignment-label{color:#0369a1;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.monitor-assignment-p{color:#64748b;margin:0 0 10px;font-size:12px}.monitor-search-input{box-sizing:border-box;color:#1e293b;background:#fff;border:2px solid #bae6fd;border-radius:10px;width:100%;padding:10px 14px;font-size:13px}.monitor-dropdown{z-index:50;background:#fff;border:1px solid #bae6fd;border-radius:10px;max-height:180px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}[data-theme=dark] .monitor-assignment-box{background:#0f172a;border-color:#1e293b}[data-theme=dark] .monitor-assignment-label{color:#e2e8f0}[data-theme=dark] .monitor-assignment-p{color:#94a3b8}[data-theme=dark] .monitor-search-input{color:#f8fafc;background:#1e293b;border-color:#334155}[data-theme=dark] .monitor-dropdown{background:#1e293b;border-color:#334155;box-shadow:0 4px 12px #0000004d}.monitor-dropdown-item{background:0 0;border-bottom:1px solid #f1f5f9;transition:background .2s}.monitor-dropdown-item:last-child{border-bottom:none}.monitor-dropdown-item:hover{background:#f0f9ff}[data-theme=dark] .monitor-dropdown-item{border-bottom-color:#334155}[data-theme=dark] .monitor-dropdown-item:hover{background:#334155}[data-theme=dark] .monitor-dropdown-item span{color:#f8fafc!important}[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert();opacity:.6}.wizard-search-dropdown-item{cursor:pointer;background:0 0;border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.wizard-search-dropdown-item:last-child{border-bottom:none}.wizard-search-dropdown-item:hover{background:#eff6ff}.wizard-search-dropdown-name{color:#1e293b;font-size:13px;font-weight:600}.wizard-search-dropdown-id{color:#64748b;font-size:11px}[data-theme=dark] .wizard-search-dropdown-item{border-bottom-color:#334155}[data-theme=dark] .wizard-search-dropdown-item:hover{background:#334155}[data-theme=dark] .wizard-search-dropdown-name{color:#f8fafc}[data-theme=dark] .wizard-search-dropdown-id{color:#94a3b8}.wizard-empty-state{text-align:center;color:#aaa;background:#f8f9fa;border-radius:12px;margin-bottom:20px;padding:30px 20px}[data-theme=dark] .wizard-empty-state{color:#94a3b8;background:#0f172a}.booth-container{max-width:800px;margin:0 auto;padding:20px}.booth-container .election-header{text-align:center;margin-bottom:40px}.booth-container .election-header h1{color:#1e293b;margin-bottom:10px;font-size:2.2rem}.booth-container .position-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:40px;padding:30px;box-shadow:0 10px 30px #0000000d}.booth-container .position-title{color:#0f2b46;border-bottom:2px solid #00e5ff;margin-bottom:25px;padding-bottom:5px;font-size:1.5rem;font-weight:800;display:inline-block}.booth-container .candidates-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.booth-container .candidate-label{cursor:pointer;display:block;position:relative}.booth-container .candidate-card-booth{text-align:center;background:#00000005;border:2px solid #0000;border-radius:12px;height:100%;padding:20px;transition:all .3s}.booth-container .candidate-photo{object-fit:cover;background:#ddd;border:4px solid #eee;border-radius:50%;width:160px;height:160px;margin:0 auto 15px;display:block}.booth-container .candidate-photo-placeholder{color:#666;background:#f5f5f5;border:4px solid #eee;border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;margin:0 auto 15px;font-size:3rem;display:flex}.booth-container .candidate-name{color:#1e293b;margin-bottom:10px;font-size:1.1rem;font-weight:800}.booth-container .candidate-manifesto{color:#64748b;font-size:.85rem;line-height:1.4}.booth-container .candidate-label input[type=radio]{display:none}.booth-container .candidate-label:hover .candidate-card-booth{border-color:#00e5ff80;transform:translateY(-5px);box-shadow:0 10px 20px #0000000d}.booth-container .candidate-label input[type=radio]:checked+.candidate-card-booth{background:#00e5ff0d;border-color:#00e5ff;transform:translateY(-5px);box-shadow:0 10px 20px #00e5ff26}.booth-container .candidate-label input[type=radio]:checked+.candidate-card-booth .candidate-photo,.booth-container .candidate-label input[type=radio]:checked+.candidate-card-booth .candidate-photo-placeholder{border-color:#00e5ff}.booth-container .checkmark{color:#0f2b46;opacity:0;background:#00e5ff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;top:10px;right:10px;transform:scale(0)}.booth-container .candidate-label input[type=radio]:checked+.candidate-card-booth .checkmark{opacity:1;transform:scale(1)}.booth-container .abstain-option{text-align:center;color:#94a3b8;background:0 0;border:2px dashed #cbd5e1;border-radius:12px;grid-column:1/-1;padding:15px;font-weight:700;transition:all .2s}.booth-container .candidate-label input[type=radio]:checked+.abstain-option{color:#1e293b;background:#f8fafc;border-color:#64748b}.booth-container .submit-section{text-align:center;color:#fff;background:linear-gradient(135deg,#0f2b46 0%,#1a3c5e 100%);border-radius:16px;padding:40px;box-shadow:0 15px 30px #0f2b464d}.booth-container .btn-cast{color:#0f2b46;cursor:pointer;background:#00e5ff;border:none;border-radius:50px;margin-top:20px;padding:15px 50px;font-size:1.2rem;font-weight:800;transition:transform .2s,box-shadow .2s}.booth-container .btn-cast:hover{transform:translateY(-3px);box-shadow:0 10px 20px #00e5ff66}.booth-container .btn-cast:disabled{cursor:not-allowed;box-shadow:none;background:#64748b;transform:none}.receipt-container{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;max-width:600px;margin:40px auto;padding:40px;box-shadow:0 10px 30px #0000000d}.receipt-icon{color:#10b981;margin-bottom:20px;font-size:4rem}.receipt-title{color:#1e293b;margin-bottom:15px;font-size:2rem;font-weight:800}.receipt-text{color:#475569;margin-bottom:20px;font-size:1.1rem;line-height:1.6}.receipt-code-box{background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:12px;margin-bottom:30px;padding:20px}.receipt-code-label{color:#64748b;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:.9rem;font-weight:600}.receipt-code{color:#0f2b46;letter-spacing:2px;font-family:monospace;font-size:2rem;font-weight:700}.receipt-footer{color:#94a3b8;margin-bottom:30px;font-size:.85rem}.btn-home{color:#fff;cursor:pointer;background:#0f2b46;border:none;border-radius:8px;padding:12px 30px;font-size:1rem;font-weight:600;transition:all .2s}.btn-home:hover{background:#1a4a7a;transform:translateY(-2px)}[data-theme=dark] .booth-container .election-header h1{color:#f1f5f9}[data-theme=dark] .booth-container .position-card{background:#1e293b;border-color:#334155;box-shadow:0 10px 30px #00000080}[data-theme=dark] .booth-container .position-title{color:#f1f5f9}[data-theme=dark] .booth-container .candidate-card-booth{background:#ffffff08}[data-theme=dark] .booth-container .candidate-photo,[data-theme=dark] .booth-container .candidate-photo-placeholder{background:#0f172a;border-color:#334155}[data-theme=dark] .booth-container .candidate-name{color:#f1f5f9}[data-theme=dark] .booth-container .candidate-manifesto{color:#94a3b8}[data-theme=dark] .booth-container .candidate-label input[type=radio]:checked+.abstain-option{color:#e2e8f0;background:#0f172a;border-color:#475569}[data-theme=dark] .booth-container .abstain-option{border-color:#475569}[data-theme=dark] .receipt-container{background:#1e293b;border-color:#334155}[data-theme=dark] .receipt-title{color:#f1f5f9}[data-theme=dark] .receipt-text{color:#cbd5e1}[data-theme=dark] .receipt-code-box{background:#0f172a;border-color:#475569}[data-theme=dark] .receipt-code{color:#38bdf8}[data-theme=dark] .btn-home{color:#0f172a;background:#38bdf8}[data-theme=dark] .btn-home:hover{background:#0ea5e9}.dept-dropdown-toggle{cursor:pointer;color:#333;background:#fff;border:2px solid #e9ecef;border-radius:10px;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;font-size:14px;display:flex}.dept-dropdown-menu{z-index:10;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:8px;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 25px #0000001a}.dept-dropdown-header{border-bottom:1px solid #f1f5f9;padding:10px}.dept-search-input{box-sizing:border-box;color:#333;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:10px 10px 10px 35px;font-size:13px}.dept-dropdown-item{cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:10px 12px;transition:background .2s;display:flex}.dept-dropdown-item.selected{background:#f8fafc}.dept-dropdown-item-all.selected{background:#f0fdfa}.dept-dropdown-text{color:#334155;font-size:14px;font-weight:500}.dept-dropdown-item-all .dept-dropdown-text{color:#0f2b46;font-weight:600}[data-theme=dark] .dept-dropdown-toggle{color:#f1f5f9;background:#1e293b;border-color:#334155}[data-theme=dark] .dept-dropdown-menu{background:#1e293b;border-color:#334155;box-shadow:0 10px 25px #00000080}[data-theme=dark] .dept-dropdown-header{border-color:#334155}[data-theme=dark] .dept-search-input{color:#f1f5f9;background:#0f172a;border-color:#475569}[data-theme=dark] .dept-dropdown-item.selected{background:#ffffff0d}[data-theme=dark] .dept-dropdown-item-all.selected{background:#00e5ff1a}[data-theme=dark] .dept-dropdown-text{color:#cbd5e1}[data-theme=dark] .dept-dropdown-item-all .dept-dropdown-text{color:#38bdf8}.add-candidate-container{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:18px}.add-candidate-container h4,.add-candidate-container label{color:#0369a1}.add-candidate-input{color:#333;background:#fff;border:1px solid #bae6fd;border-radius:7px;padding:10px;font-size:13px}[data-theme=dark] .add-candidate-container{background:#1e293b;border-color:#334155}[data-theme=dark] .add-candidate-container h4,[data-theme=dark] .add-candidate-container label{color:#38bdf8}[data-theme=dark] .add-candidate-input{color:#f1f5f9;background:#0f172a;border-color:#334155}.admin-pos-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.admin-pos-card-header{color:#fff;background:#0f2b46;justify-content:space-between;align-items:center;padding:12px 14px;font-size:13px;font-weight:700;display:flex}.admin-pos-card-body{padding:12px 14px}.admin-pos-card-list{color:#475569;margin:0;padding-left:18px;font-size:13px}[data-theme=dark] .admin-pos-card{background:#1e293b;border-color:#334155}[data-theme=dark] .admin-pos-card-list{color:#cbd5e1}.financial-clearance-banner{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:14px 20px;display:flex}.financial-clearance-banner-icon{color:#0284c7;flex-shrink:0;font-size:20px}.financial-clearance-banner-title{color:#0369a1;font-size:14px;font-weight:700}.financial-clearance-banner-text{color:#64748b;margin:2px 0 0;font-size:12px}[data-theme=dark] .financial-clearance-banner{background:linear-gradient(135deg,#0284c71a,#0369a126);border:1px solid #0284c74d}[data-theme=dark] .financial-clearance-banner-icon{color:#38bdf8}[data-theme=dark] .financial-clearance-banner-title{color:#7dd3fc}[data-theme=dark] .financial-clearance-banner-text{color:#cbd5e1}
