@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";.sidebar[data-v-1612a269]{width:280px;background:var(--bg-secondary);border-right:1px solid #e2e8f0;display:flex;flex-direction:column;padding:32px 0;z-index:10;box-shadow:4px 0 10px #00000005;height:100vh}.sidebar-header[data-v-1612a269]{padding:0 32px 32px;border-bottom:1px solid #f1f5f9}.sidebar-header h2[data-v-1612a269]{color:var(--text-primary);font-size:1.5rem;font-weight:800;letter-spacing:-1px;margin-bottom:12px}.role-badge[data-v-1612a269]{font-size:.7rem;background:#f1f5f9;color:var(--text-secondary);font-weight:700;padding:4px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;border:1px solid #e2e8f0}.nav-link[data-v-1612a269]{display:flex;align-items:center;gap:16px;padding:14px 32px;color:var(--text-secondary);text-decoration:none;transition:all .2s;font-weight:500}.nav-link[data-v-1612a269]:hover,.nav-link.router-link-active[data-v-1612a269]{color:var(--accent);background:#f0fdf4}.nav-link.router-link-active[data-v-1612a269]{border-right:4px solid var(--accent)}.nav-icon[data-v-1612a269]{font-size:1.25rem}.sidebar-footer[data-v-1612a269]{margin-top:auto;padding:32px;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:16px}.user-info[data-v-1612a269]{display:flex;flex-direction:column}.user-name[data-v-1612a269]{font-weight:700;color:var(--text-primary);font-size:.9rem}.user-email[data-v-1612a269]{font-size:.8rem;color:var(--text-secondary)}.logout-btn[data-v-1612a269]{padding:10px;border:1px solid #fee2e2;background:#fef2f2;color:#ef4444;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.logout-btn[data-v-1612a269]:hover{background:#fee2e2}.dev-credit[data-v-1612a269]{font-size:.7rem;color:#cbd5e1;text-align:center;margin-top:8px}.server-offline-banner[data-v-f1b95d8a]{position:fixed;top:0;left:0;right:0;z-index:99999;background:linear-gradient(135deg,#fee2e2,#fecaca);border-bottom:2px solid #FCA5A5;box-shadow:0 4px 12px #ef444426}.banner-content[data-v-f1b95d8a]{max-width:1200px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem}.banner-icon[data-v-f1b95d8a]{animation:pulse-f1b95d8a 2s ease-in-out infinite}.wifi-off-icon[data-v-f1b95d8a]{width:24px;height:24px;color:#dc2626}.banner-text[data-v-f1b95d8a]{flex:1;display:flex;flex-direction:column;gap:.125rem}.banner-title[data-v-f1b95d8a]{font-weight:700;color:#991b1b;font-size:.9375rem}.banner-subtitle[data-v-f1b95d8a]{font-size:.8125rem;color:#b91c1c;opacity:.9}.banner-retry-btn[data-v-f1b95d8a]{background:#dc2626;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:80px}.banner-retry-btn[data-v-f1b95d8a]:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.banner-retry-btn[data-v-f1b95d8a]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-f1b95d8a]{width:18px;height:18px;animation:spin-f1b95d8a 1s linear infinite}@keyframes spin-f1b95d8a{to{transform:rotate(360deg)}}@keyframes pulse-f1b95d8a{0%,to{opacity:1}50%{opacity:.5}}.slide-down-enter-active[data-v-f1b95d8a],.slide-down-leave-active[data-v-f1b95d8a]{transition:all .3s ease-out}.slide-down-enter-from[data-v-f1b95d8a],.slide-down-leave-to[data-v-f1b95d8a]{transform:translateY(-100%);opacity:0}@media(max-width:640px){.banner-content[data-v-f1b95d8a]{padding:.625rem 1rem}.banner-subtitle[data-v-f1b95d8a]{display:none}.banner-retry-btn[data-v-f1b95d8a]{padding:.375rem 1rem;font-size:.8125rem}}.app-layout{display:flex;min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.app-content{flex:1;overflow-y:auto;max-height:100vh}.login-container[data-v-b5f3bb19]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e)}.login-card[data-v-b5f3bb19]{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:40px;width:100%;max-width:400px;border:1px solid rgba(255,255,255,.1)}.login-header[data-v-b5f3bb19]{text-align:center;margin-bottom:32px}.login-header h1[data-v-b5f3bb19]{color:#00d4aa;font-size:2.5rem;margin-bottom:8px}.login-header p[data-v-b5f3bb19]{color:#a0a0a0;font-size:1rem}.form-group[data-v-b5f3bb19]{margin-bottom:20px}.form-group label[data-v-b5f3bb19]{display:block;color:#e0e0e0;margin-bottom:8px;font-size:.9rem}.form-group input[data-v-b5f3bb19]{width:100%;padding:12px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:1rem;transition:border-color .2s}.form-group input[data-v-b5f3bb19]:focus{outline:none;border-color:#00d4aa}.form-group input[data-v-b5f3bb19]::placeholder{color:#666}.error-message[data-v-b5f3bb19]{background:#ff475726;border:1px solid rgba(255,71,87,.3);color:#ff6b7a;padding:12px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.login-button[data-v-b5f3bb19]{width:100%;padding:14px;background:linear-gradient(135deg,#00d4aa,#00b894);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button[data-v-b5f3bb19]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #00d4aa4d}.login-button[data-v-b5f3bb19]:disabled{opacity:.7;cursor:not-allowed}.modal-backdrop[data-v-08bb8aba]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-08bb8aba]{background:#1a1a2e;width:500px;max-width:90%;border-radius:12px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;max-height:80vh}.modal-header[data-v-08bb8aba]{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-08bb8aba]{color:#fff;margin:0;font-size:1.2rem}.close-btn[data-v-08bb8aba]{background:none;border:none;color:#666;font-size:1.5rem;cursor:pointer}.modal-body[data-v-08bb8aba]{padding:20px;overflow-y:auto;flex:1}.description[data-v-08bb8aba]{color:#aaa;margin-bottom:16px;font-size:.9rem}.subject-list[data-v-08bb8aba]{display:flex;flex-direction:column;gap:8px}.subject-item[data-v-08bb8aba]{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0d;border-radius:8px;cursor:pointer;transition:all .2s}.subject-item[data-v-08bb8aba]:hover{background:#ffffff14}.subject-item.selected[data-v-08bb8aba]{background:#00d4aa1a;border:1px solid rgba(0,212,170,.3)}.checkbox[data-v-08bb8aba]{width:20px;height:20px;border:2px solid #666;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#00d4aa}.subject-item.selected .checkbox[data-v-08bb8aba]{border-color:#00d4aa}.subject-info[data-v-08bb8aba]{display:flex;flex-direction:column}.code[data-v-08bb8aba]{font-size:.8rem;color:#00d4aa;font-weight:600}.name[data-v-08bb8aba]{color:#fff}.error-msg[data-v-08bb8aba]{color:#ff4757;margin-top:16px;font-size:.9rem}.modal-footer[data-v-08bb8aba]{padding:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:12px}.cancel-btn[data-v-08bb8aba]{padding:8px 16px;background:transparent;border:1px solid #666;color:#aaa;border-radius:6px;cursor:pointer}.save-btn[data-v-08bb8aba]{padding:8px 16px;background:#00d4aa;border:none;color:#000;font-weight:600;border-radius:6px;cursor:pointer}.save-btn[data-v-08bb8aba]:disabled{opacity:.5;cursor:not-allowed}.loading[data-v-08bb8aba]{text-align:center;color:#666;padding:20px}.modal-backdrop[data-v-c0da9e91]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-c0da9e91]{background:#1a1a2e;width:500px;max-width:90%;border-radius:12px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.modal-header[data-v-c0da9e91]{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-c0da9e91]{color:#fff;margin:0;font-size:1.2rem}.close-btn[data-v-c0da9e91]{background:none;border:none;color:#666;font-size:1.5rem;cursor:pointer}.modal-body[data-v-c0da9e91]{padding:20px}.description[data-v-c0da9e91]{color:#aaa;margin-bottom:20px}.form-group[data-v-c0da9e91]{margin-bottom:20px}.form-group label[data-v-c0da9e91]{display:block;color:#fff;margin-bottom:8px;font-weight:500}.form-select[data-v-c0da9e91]{width:100%;padding:10px;border-radius:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer}.form-select option[data-v-c0da9e91]{background:#1a1a2e}.hint[data-v-c0da9e91]{font-size:.8rem;color:#666;margin-top:4px}.modal-footer[data-v-c0da9e91]{padding:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end}.save-btn[data-v-c0da9e91]{background:#00d4aa;color:#000;border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer}.save-btn[data-v-c0da9e91]:disabled{opacity:.5;cursor:not-allowed}.error-msg[data-v-c0da9e91]{color:#ff6b7a}.success-msg[data-v-c0da9e91]{color:#00d4aa}.current-status-box[data-v-c0da9e91]{padding:12px;background:#ffffff08;border-radius:8px;margin-bottom:20px;font-size:.9rem;border:1px solid rgba(255,255,255,.05)}.status-loading[data-v-c0da9e91]{color:#666;font-style:italic}.status-info[data-v-c0da9e91]{color:#00d4aa;display:flex;align-items:center;gap:8px}.status-none[data-v-c0da9e91]{color:#6366f1;display:flex;align-items:center;gap:8px}.status-icon[data-v-c0da9e91]{font-size:1.1rem}.status-info strong[data-v-c0da9e91]{color:#fff}.modal-backdrop[data-v-a6408bac]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-a6408bac]{background:#1a1a2e;width:450px;max-width:90%;border-radius:12px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.modal-header[data-v-a6408bac]{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-a6408bac]{color:#fff;margin:0;font-size:1.2rem}.close-btn[data-v-a6408bac]{background:none;border:none;color:#666;font-size:1.5rem;cursor:pointer}.modal-body[data-v-a6408bac]{padding:20px}.description[data-v-a6408bac]{color:#aaa;margin-bottom:20px}.search-box[data-v-a6408bac]{display:flex;gap:10px;margin-bottom:20px}.search-box input[data-v-a6408bac]{flex:1;padding:10px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff}.search-box button[data-v-a6408bac]{padding:10px 20px;background:#00d4aa;border:none;border-radius:6px;font-weight:600;cursor:pointer}.student-card[data-v-a6408bac]{background:#ffffff0d;padding:16px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.student-info[data-v-a6408bac]{display:flex;flex-direction:column}.name[data-v-a6408bac]{font-weight:600;color:#fff}.roll[data-v-a6408bac]{color:#00d4aa;font-size:.9rem}.cohort[data-v-a6408bac]{color:#666;font-size:.8rem}.actions[data-v-a6408bac]{display:flex;gap:8px}.add-btn[data-v-a6408bac]{background:#00d4aa;color:#000;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600}.remove-btn[data-v-a6408bac]{background:#ff475733;color:#ff6b7a;border:1px solid rgba(255,71,87,.3);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.8rem}.error-msg[data-v-a6408bac]{color:#ff6b7a;margin-top:10px}.success-msg[data-v-a6408bac]{color:#00d4aa;margin-top:10px}.modal-backdrop[data-v-fa83a47d]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000}.modal-content[data-v-fa83a47d]{width:450px;max-width:90%;background:#0a0a0f;border:1px solid rgba(255,255,255,.1);border-radius:20px;display:flex;flex-direction:column}.modal-header[data-v-fa83a47d]{padding:24px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-fa83a47d]{color:#fff;font-size:1.25rem;margin:0}.close-btn[data-v-fa83a47d]{background:none;border:none;color:#666;font-size:1.5rem;cursor:pointer}.modal-body[data-v-fa83a47d]{padding:24px}.form-group[data-v-fa83a47d]{margin-bottom:24px}.form-group label[data-v-fa83a47d]{display:block;color:#888;margin-bottom:12px;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.glass-select[data-v-fa83a47d]{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:12px;border-radius:12px;outline:none}.cohort-list[data-v-fa83a47d]{display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto}.cohort-item[data-v-fa83a47d]{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff08;border-radius:12px;cursor:pointer;border:1px solid transparent;transition:all .2s}.cohort-item[data-v-fa83a47d]:hover{background:#ffffff0f}.cohort-item.selected[data-v-fa83a47d]{background:#00d4aa1a;border-color:#00d4aa4d}.cohort-item .name[data-v-fa83a47d]{color:#fff;font-weight:500}.cohort-item .icon[data-v-fa83a47d]{font-size:1.2rem}.modal-footer[data-v-fa83a47d]{padding:24px;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:flex-end;gap:16px}.cancel-btn[data-v-fa83a47d]{padding:10px 20px;background:transparent;border:1px solid #333;color:#888;border-radius:10px;cursor:pointer}.save-btn[data-v-fa83a47d]{padding:10px 24px;background:#00d4aa;color:#000;border:none;font-weight:700;border-radius:10px;cursor:pointer}.save-btn[data-v-fa83a47d]:disabled{opacity:.5;cursor:not-allowed}.error-msg[data-v-fa83a47d]{color:#ff6b7a;margin-top:16px;text-align:center;font-size:.9rem}.success-msg[data-v-fa83a47d]{color:#00d4aa;margin-top:16px;text-align:center;font-size:.9rem}.session-card[data-v-2c71eeac]{background:#fff;border-radius:1.25rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;border:1px solid #e5e7eb;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:1.25rem;position:relative;overflow:hidden}.session-card[data-v-2c71eeac]:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-color:#6366f1}.card-header[data-v-2c71eeac]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.header-main[data-v-2c71eeac]{display:flex;flex-direction:column;gap:.25rem}.subject-name[data-v-2c71eeac]{font-size:1.125rem;font-weight:700;color:#111827;line-height:1.4}.subject-code[data-v-2c71eeac]{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.status-badge[data-v-2c71eeac]{padding:.25rem .75rem;border-radius:9999px;font-size:.7rem;font-weight:700;letter-spacing:.025em}.topic-section[data-v-2c71eeac]{background:#f8fafc;border-radius:.75rem;padding:.75rem;display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;border-left:3px solid #6366f1}.meta-grid[data-v-2c71eeac]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.meta-item[data-v-2c71eeac]{display:flex;align-items:flex-start;gap:.75rem}.meta-icon[data-v-2c71eeac]{width:32px;height:32px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.meta-icon.cohort-icon[data-v-2c71eeac]{background:#eef2ff;color:#4f46e5}.meta-icon.faculty-icon[data-v-2c71eeac]{background:#f5f3ff;color:#7c3aed}.meta-icon svg[data-v-2c71eeac]{width:1.25rem;height:1.25rem}.meta-content[data-v-2c71eeac]{display:flex;flex-direction:column;min-width:0}.meta-label[data-v-2c71eeac]{font-size:.7rem;color:#6b7280;text-transform:uppercase;font-weight:600}.meta-value[data-v-2c71eeac]{font-size:.875rem;color:#374151;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-section[data-v-2c71eeac]{background:#f9fafb;border-radius:.75rem;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.stats-header[data-v-2c71eeac]{display:flex;justify-content:space-between;align-items:center}.attendance-count[data-v-2c71eeac]{font-size:.875rem;color:#6b7280}.attendance-count strong[data-v-2c71eeac]{color:#111827;font-size:1.125rem}.attendance-percent[data-v-2c71eeac]{font-weight:700;color:#059669}.progress-bar[data-v-2c71eeac]{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-fill[data-v-2c71eeac]{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1)}.card-footer[data-v-2c71eeac]{margin-top:auto;padding-top:1rem;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center}.time-info[data-v-2c71eeac]{display:flex;align-items:center;font-size:.75rem;color:#9ca3af}.actions[data-v-2c71eeac]{display:flex;align-items:center;gap:1rem}.photo-indicator[data-v-2c71eeac]{font-size:.75rem;color:#9333ea;background:#f3e8ff;padding:.25rem .5rem;border-radius:.375rem;font-weight:600}.details-btn[data-v-2c71eeac]{font-size:.875rem;font-weight:600;color:#4f46e5;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;transition:color .2s}.details-btn[data-v-2c71eeac]:hover{color:#4338ca}@keyframes shimmer-2c71eeac{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.skeleton .subject-name[data-v-2c71eeac],.skeleton .meta-value[data-v-2c71eeac],.skeleton .attendance-count[data-v-2c71eeac],.skeleton .progress-bar[data-v-2c71eeac]{background:#f3f4f6;color:transparent!important;animation:shimmer-2c71eeac 1.5s infinite}.detail-modal-overlay[data-v-be9de7cc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem}.detail-modal-content[data-v-be9de7cc]{background:#fff;width:100%;max-width:1400px;height:90vh;border-radius:2rem;box-shadow:0 25px 50px -12px #00000040;display:grid;grid-template-columns:350px 1fr;overflow:hidden}.detail-sidebar[data-v-be9de7cc]{background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column}.sidebar-header[data-v-be9de7cc]{padding:2rem 2rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.app-logo[data-v-be9de7cc]{display:flex;align-items:center;gap:.75rem;font-weight:800;color:#1e293b;font-size:1.125rem;letter-spacing:-.025em}.logo-box[data-v-be9de7cc]{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.875rem}.close-btn[data-v-be9de7cc]{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s}.close-btn[data-v-be9de7cc]:hover{background:#e2e8f0;color:#0f172a}.sidebar-scroll[data-v-be9de7cc]{flex:1;overflow-y:auto;padding:0 2rem 2rem}.session-meta-panel[data-v-be9de7cc]{display:flex;flex-direction:column;gap:1.5rem}.session-title[data-v-be9de7cc]{font-size:1.5rem;font-weight:800;color:#0f172a;line-height:1.2}.session-subtitle[data-v-be9de7cc]{color:#64748b;font-size:.875rem;margin-top:-1rem}.topic-box[data-v-be9de7cc]{background:#fff;padding:1rem;border-radius:1rem;border:1px solid #e2e8f0}.topic-box label[data-v-be9de7cc]{display:block;font-size:.7rem;font-weight:700;color:#6366f1;text-transform:uppercase;margin-bottom:.25rem}.topic-box p[data-v-be9de7cc]{color:#1e293b;font-weight:600;font-size:.9375rem}.meta-list[data-v-be9de7cc]{display:flex;flex-direction:column;gap:.75rem}.meta-row[data-v-be9de7cc]{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:.5rem;border-bottom:1px dashed #e2e8f0}.meta-row .label[data-v-be9de7cc]{color:#64748b;font-size:.8125rem}.meta-row .value[data-v-be9de7cc]{color:#1e293b;font-weight:600;font-size:.875rem}.meta-row .value.code[data-v-be9de7cc]{font-family:ui-monospace,monospace;color:#475569}.status-tag[data-v-be9de7cc]{font-size:.625rem;font-weight:800;padding:.125rem .5rem;border-radius:9999px}.status-tag.active[data-v-be9de7cc]{background:#dcfce7;color:#166534}.status-tag.locked[data-v-be9de7cc]{background:#fee2e2;color:#991b1b}.stats-summary[data-v-be9de7cc]{display:flex;align-items:center;justify-content:space-around;background:#1e293b;padding:1.5rem;border-radius:1.25rem;color:#fff}.stat-item[data-v-be9de7cc]{display:flex;flex-direction:column;align-items:center}.stat-value[data-v-be9de7cc]{font-size:1.25rem;font-weight:800}.stat-label[data-v-be9de7cc]{font-size:.625rem;text-transform:uppercase;opacity:.7;font-weight:600;margin-top:.25rem}.stat-divider[data-v-be9de7cc]{width:1px;height:30px;background:#ffffff1a}.actions-panel[data-v-be9de7cc]{margin-top:1rem}.btn-export[data-v-be9de7cc]{width:100%;background:#fff;border:1px solid #e2e8f0;color:#0f172a;padding:.75rem;border-radius:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-export[data-v-be9de7cc]:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.detail-main[data-v-be9de7cc]{display:flex;flex-direction:column;background:#fff;min-height:0;overflow:hidden}.main-header[data-v-be9de7cc]{padding:2rem;border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:1.5rem}.search-bar[data-v-be9de7cc]{position:relative;max-width:500px}.search-icon[data-v-be9de7cc]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.25rem;height:1.25rem;color:#94a3b8}.search-input[data-v-be9de7cc]{width:100%;padding:.75rem 1rem .75rem 3rem;border-radius:.75rem;border:1px solid #e2e8f0;font-size:.9375rem;transition:all .2s}.search-input[data-v-be9de7cc]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.filter-tabs[data-v-be9de7cc]{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.filter-tab[data-v-be9de7cc]{white-space:nowrap;padding:.5rem 1rem;border-radius:9999px;background:#f1f5f9;border:none;font-size:.8125rem;font-weight:600;color:#64748b;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.filter-tab.active[data-v-be9de7cc]{background:#4f46e5;color:#fff}.filter-tab .count[data-v-be9de7cc]{background:#0000000d;padding:.125rem .375rem;border-radius:6px;font-size:.6875rem}.filter-tab.active .count[data-v-be9de7cc]{background:#fff3}.student-list-container[data-v-be9de7cc]{flex:1;overflow-y:auto;position:relative;padding:0 1rem}.student-table[data-v-be9de7cc]{width:100%;border-collapse:separate;border-spacing:0 .5rem}.student-table th[data-v-be9de7cc]{padding:1rem;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;position:sticky;top:0;background:#fff;z-index:10}.student-table td[data-v-be9de7cc]{padding:1rem;vertical-align:middle;background:transparent;border-bottom:1px solid #f1f5f9}.student-cell[data-v-be9de7cc]{display:flex;align-items:center;gap:1rem}.student-avatar[data-v-be9de7cc],.student-avatar-placeholder[data-v-be9de7cc]{width:40px;height:40px;border-radius:12px;object-fit:cover;flex-shrink:0}.student-avatar-placeholder[data-v-be9de7cc]{background:#eef2ff;color:#4f46e5;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.125rem}.student-info[data-v-be9de7cc]{display:flex;flex-direction:column}.student-name[data-v-be9de7cc]{font-weight:700;color:#0f172a}.badge-auditing[data-v-be9de7cc]{font-size:.625rem;background:#fdf2f8;color:#be185d;padding:0 .25rem;border-radius:4px;width:fit-content;font-weight:800;margin-top:.125rem}.roll-number[data-v-be9de7cc]{font-family:ui-monospace,monospace;color:#64748b;font-weight:500}.status-badge[data-v-be9de7cc]{padding:.25rem .625rem;border-radius:6px;font-size:.6875rem;font-weight:700}.status-badge.present[data-v-be9de7cc]{background:#dcfce7;color:#166534}.status-badge.absent[data-v-be9de7cc]{background:#fee2e2;color:#991b1b}.status-badge.late[data-v-be9de7cc]{background:#fef3c7;color:#92400e}.status-badge.excused[data-v-be9de7cc]{background:#e0e7ff;color:#3730a3}.status-badge.not_enrolled[data-v-be9de7cc]{background:#f5f3ff;color:#5b21b6;border:1px dashed #c084fc}.status-badge.unconfirmed[data-v-be9de7cc]{background:#f1f5f9;color:#475569}.status-badge.rejected[data-v-be9de7cc]{background:#111827;color:#fff}.time-cell[data-v-be9de7cc]{font-size:.8125rem;color:#64748b;font-weight:500}.actions-cell[data-v-be9de7cc]{display:flex;align-items:center;gap:.5rem}.status-select[data-v-be9de7cc]{padding:.375rem .5rem;border-radius:.5rem;border:1px solid #e2e8f0;font-size:.8125rem;font-weight:600;background:#fff;color:#1e293b}.btn-action[data-v-be9de7cc]{padding:.375rem .75rem;border-radius:.5rem;font-size:.8125rem;font-weight:700;border:none;cursor:pointer;transition:all .2s}.btn-action.enroll[data-v-be9de7cc]{background:#6366f1;color:#fff}.btn-action.enroll[data-v-be9de7cc]:hover{background:#4f46e5}.btn-action.reject[data-v-be9de7cc]{background:#ef4444;color:#fff}.btn-action.reject[data-v-be9de7cc]:hover{background:#dc2626}.empty-row[data-v-be9de7cc]{text-align:center;padding:4rem!important;color:#94a3b8;font-style:italic}.loading-overlay[data-v-be9de7cc]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem;color:#64748b;gap:1rem}.spinner[data-v-be9de7cc]{width:16px;height:16px;border:2px solid rgba(0,0,0,.1);border-top-color:currentColor;border-radius:50%;animation:spin-be9de7cc .8s linear infinite}.spinner-large[data-v-be9de7cc]{width:48px;height:48px;border:4px solid #f1f5f9;border-top-color:#6366f1;border-radius:50%;animation:spin-be9de7cc .8s linear infinite}@keyframes spin-be9de7cc{to{transform:rotate(360deg)}}[data-v-be9de7cc]::-webkit-scrollbar{width:6px}[data-v-be9de7cc]::-webkit-scrollbar-track{background:transparent}[data-v-be9de7cc]::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:10px}[data-v-be9de7cc]::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.skeleton-table[data-v-be9de7cc]{width:100%;border-collapse:separate;border-spacing:0 .5rem}.skeleton-row td[data-v-be9de7cc]{padding:1rem;background:#fff;border-bottom:1px solid #f1f5f9}.skeleton-avatar[data-v-be9de7cc]{width:40px;height:40px;border-radius:12px;background:#f1f5f9;animation:pulse-be9de7cc 1.5s infinite}.skeleton-text[data-v-be9de7cc]{height:14px;border-radius:4px;background:#f1f5f9;animation:pulse-be9de7cc 1.5s infinite}.skeleton-badge[data-v-be9de7cc]{width:80px;height:24px;border-radius:6px;background:#f1f5f9;animation:pulse-be9de7cc 1.5s infinite}.skeleton-actions[data-v-be9de7cc]{width:100px;height:32px;border-radius:8px;background:#f1f5f9;animation:pulse-be9de7cc 1.5s infinite}.w-16[data-v-be9de7cc]{width:4rem}.w-24[data-v-be9de7cc]{width:6rem}.w-32[data-v-be9de7cc]{width:8rem}.mt-1[data-v-be9de7cc]{margin-top:.25rem}@keyframes pulse-be9de7cc{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.photos-section[data-v-be9de7cc]{margin-top:1rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.section-header[data-v-be9de7cc]{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.section-icon[data-v-be9de7cc]{color:#6366f1;width:1.25rem;height:1.25rem}.section-header h3[data-v-be9de7cc]{font-size:.875rem;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.025em;margin:0}.count-badge[data-v-be9de7cc]{background:#eef2ff;color:#4f46e5;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700}.gallery-link[data-v-be9de7cc]{color:#94a3b8;transition:color .2s;margin-left:auto}.gallery-link[data-v-be9de7cc]:hover{color:#6366f1}.header-actions[data-v-be9de7cc]{display:flex;align-items:center;gap:.5rem;margin-left:auto}.icon-btn-sm[data-v-be9de7cc]{background:#ffffff1a;border:none;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s}.icon-btn-sm[data-v-be9de7cc]:hover:not(:disabled){background:#fff3;color:#6366f1}.icon-btn-sm[data-v-be9de7cc]:disabled{opacity:.5;cursor:not-allowed}.hidden[data-v-be9de7cc]{display:none}.photos-empty[data-v-be9de7cc]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;background:#ffffff0d;border:2px dashed rgba(255,255,255,.1);border-radius:1rem;color:#ffffff4d;text-align:center;cursor:pointer;transition:all .2s}.photos-empty[data-v-be9de7cc]:hover{border-color:#fff3;background:#ffffff14}.photos-empty p[data-v-be9de7cc]{font-size:.8125rem;font-weight:600;margin:0}.btn-text-sm[data-v-be9de7cc]{background:none;border:none;color:#6366f1;font-size:.75rem;font-weight:700;padding:.25rem;cursor:pointer;margin-top:.25rem}.spinner-xs[data-v-be9de7cc]{width:12px;height:12px;border:2px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:spin-be9de7cc .8s linear infinite}.photos-grid[data-v-be9de7cc]{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.photo-card[data-v-be9de7cc]{position:relative;aspect-ratio:4/3;border-radius:.75rem;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s;background:#f1f5f9}.photo-card[data-v-be9de7cc]:hover{transform:scale(1.02);border-color:#6366f1;box-shadow:0 4px 12px #6366f126}.photo-thumb[data-v-be9de7cc]{width:100%;height:100%;object-fit:cover}.photo-overlay[data-v-be9de7cc]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0003;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.photo-card:hover .photo-overlay[data-v-be9de7cc]{opacity:1}.lightbox-overlay[data-v-be9de7cc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172af2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;display:flex;flex-direction:column}.lightbox-header[data-v-be9de7cc]{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;color:#fff;z-index:10}.photo-info-brief[data-v-be9de7cc]{display:flex;flex-direction:column;gap:.25rem}.photo-index[data-v-be9de7cc]{font-size:1.125rem;font-weight:700}.photo-date[data-v-be9de7cc]{font-size:.875rem;opacity:.6}.lightbox-controls[data-v-be9de7cc]{display:flex;align-items:center;gap:.75rem;background:#ffffff1a;padding:.5rem;border-radius:12px}.control-btn[data-v-be9de7cc]{background:transparent;border:none;color:#fff;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;opacity:.7}.control-btn[data-v-be9de7cc]:hover{opacity:1;background:#ffffff1a}.zoom-level[data-v-be9de7cc]{font-size:.875rem;font-weight:700;min-width:48px;text-align:center}.control-divider[data-v-be9de7cc]{width:1px;height:24px;background:#fff3}.close-action[data-v-be9de7cc]:hover{background:#ef4444}.lightbox-content[data-v-be9de7cc]{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;touch-action:none}.lightbox-image[data-v-be9de7cc]{max-width:90%;max-height:85%;object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:8px;box-shadow:0 25px 50px -12px #00000080}.lightbox-footer[data-v-be9de7cc]{padding:1.5rem;display:flex;align-items:center;justify-content:center;gap:2rem;z-index:10}.nav-btn[data-v-be9de7cc]{background:#ffffff1a;border:none;color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.nav-btn[data-v-be9de7cc]:hover:not(:disabled){background:#6366f1}.nav-btn[data-v-be9de7cc]:disabled{opacity:.3;cursor:not-allowed}.photo-thumbnails[data-v-be9de7cc]{display:flex;gap:.75rem;background:#ffffff0d;padding:.5rem;border-radius:12px;overflow-x:auto;max-width:60vw}.photo-thumbnails[data-v-be9de7cc]::-webkit-scrollbar{height:4px}.mini-thumb[data-v-be9de7cc]{width:50px;height:50px;border-radius:8px;overflow:hidden;cursor:pointer;opacity:.5;transition:all .2s;border:2px solid transparent}.mini-thumb img[data-v-be9de7cc]{width:100%;height:100%;object-fit:cover}.mini-thumb[data-v-be9de7cc]:hover{opacity:.8}.mini-thumb.active[data-v-be9de7cc]{opacity:1;border-color:#6366f1;transform:scale(1.15)}.modal-overlay[data-v-60e32e10]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn-60e32e10 .3s ease}.modal-content[data-v-60e32e10]{background:#fff;width:90%;max-width:600px;max-height:85vh;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;animation:slideUp-60e32e10 .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.modal-header[data-v-60e32e10]{padding:24px;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-left[data-v-60e32e10]{display:flex;align-items:center;gap:16px}.icon-wrapper[data-v-60e32e10]{width:48px;height:48px;background:#f0fdf4;color:#10b981;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.modal-header h2[data-v-60e32e10]{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.subtitle[data-v-60e32e10]{font-size:.85rem;color:#64748b}.close-btn[data-v-60e32e10]{background:none;border:none;font-size:2rem;color:#94a3b8;cursor:pointer;line-height:1;transition:color .2s}.close-btn[data-v-60e32e10]:hover{color:#0f172a}.modal-body[data-v-60e32e10]{padding:24px;overflow-y:auto;background:#f8fafc}.session-list[data-v-60e32e10]{display:grid;gap:16px}@keyframes fadeIn-60e32e10{0%{opacity:0}to{opacity:1}}@keyframes slideUp-60e32e10{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dashboard-container[data-v-fc0cac23]{padding:2rem 3rem;max-width:1800px;margin:0 auto;font-family:Outfit,sans-serif;color:var(--text-primary);min-height:100%}.hero-section[data-v-fc0cac23]{margin-bottom:3rem;display:flex;justify-content:space-between;align-items:flex-end}.hero-content[data-v-fc0cac23]{display:flex;flex-direction:column}.greeting[data-v-fc0cac23]{font-size:.9rem;font-weight:600;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}h1[data-v-fc0cac23]{font-size:2.5rem;font-weight:800;margin:0;background:linear-gradient(to right,#1e293b,#475569);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.03em;line-height:1.2}.scope-text[data-v-fc0cac23]{font-size:1rem;color:var(--text-secondary);margin-top:.5rem;font-weight:500}.mini-stat[data-v-fc0cac23]{text-align:right}.mini-value[data-v-fc0cac23]{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.mini-label[data-v-fc0cac23]{font-size:.85rem;color:var(--text-secondary)}.stats-grid[data-v-fc0cac23]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:4rem}.glass-card[data-v-fc0cac23]{background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:24px;padding:1.75rem;box-shadow:0 8px 32px #1f268712;transition:transform .3s ease,box-shadow .3s ease;display:flex;align-items:center;gap:1.5rem}.glass-card[data-v-fc0cac23]:hover{transform:translateY(-4px);box-shadow:0 12px 40px #1f26871f}.stat-icon-wrapper[data-v-fc0cac23]{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-icon-wrapper.subjects[data-v-fc0cac23]{background:#e0e7ff;color:#4f46e5}.stat-icon-wrapper.students[data-v-fc0cac23]{background:#fce7f3;color:#db2777}.stat-icon-wrapper.sessions[data-v-fc0cac23]{background:#d1fae5;color:#059669}.stat-icon-wrapper.alerts[data-v-fc0cac23]{background:#fee2e2;color:#dc2626}.stat-info[data-v-fc0cac23]{display:flex;flex-direction:column}.stat-value[data-v-fc0cac23]{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:4px}.stat-label[data-v-fc0cac23]{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.content-layout[data-v-fc0cac23]{display:grid;grid-template-columns:1fr 350px;gap:32px}@media(max-width:1280px){.content-layout[data-v-fc0cac23]{grid-template-columns:1fr}}.main-section[data-v-fc0cac23]{display:flex;flex-direction:column;gap:32px}.section-header[data-v-fc0cac23]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2[data-v-fc0cac23]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.section-subtitle[data-v-fc0cac23]{font-size:.9rem;color:var(--text-secondary);margin-top:4px;display:block}.session-grid[data-v-fc0cac23]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem;padding-bottom:4rem}.session-group-wrapper[data-v-fc0cac23]{position:relative;z-index:1;perspective:1000px}.session-group-wrapper.is-stack[data-v-fc0cac23]{cursor:pointer}.stack-layer[data-v-fc0cac23]{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:20px;background:#fff;border:1px solid rgba(0,0,0,.05);transition:all .4s cubic-bezier(.25,.8,.25,1)}.layer-1[data-v-fc0cac23]{z-index:-1;transform:translateY(8px) scale(.96);opacity:.6;background:#f8fafc;box-shadow:0 4px 12px #0000000d}.layer-2[data-v-fc0cac23]{z-index:-2;transform:translateY(16px) scale(.92);opacity:.4;background:#f1f5f9;box-shadow:0 4px 12px #0000000d}.session-group-wrapper.is-stack:hover .top-card[data-v-fc0cac23]{transform:translateY(-8px);box-shadow:0 20px 40px -10px #00000026;border-color:#6366f1}.session-group-wrapper.is-stack:hover .layer-1[data-v-fc0cac23]{transform:translateY(12px) scale(.96);opacity:.8;background:#f8fafc}.session-group-wrapper.is-stack:hover .layer-2[data-v-fc0cac23]{transform:translateY(24px) scale(.92);opacity:.6;background:#f1f5f9}.stack-badge[data-v-fc0cac23]{position:absolute;top:-10px;right:-10px;background:#0f172a;color:#fff;font-size:.75rem;font-weight:700;padding:6px 14px;border-radius:20px;box-shadow:0 4px 10px #00000026;z-index:20;border:2px solid white}.orb[data-v-fc0cac23]{position:fixed;border-radius:50%;filter:blur(100px);z-index:-1;pointer-events:none;opacity:.6}.orb-1[data-v-fc0cac23]{width:400px;height:400px;background:#6366f126;top:-100px;left:200px}.orb-2[data-v-fc0cac23]{width:500px;height:500px;background:#c084fc1a;bottom:-100px;right:-100px}.orb-3[data-v-fc0cac23]{width:300px;height:300px;background:#ec489914;top:30%;left:-100px}.filter-chips[data-v-fc0cac23]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.chip[data-v-fc0cac23]{padding:8px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:20px;font-size:.85rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.chip[data-v-fc0cac23]:hover{background:#f8fafc;color:var(--text-primary);border-color:#cbd5e1}.chip.active[data-v-fc0cac23]{background:#6366f1;color:#fff;border-color:#6366f1;box-shadow:0 4px 6px -1px #6366f14d}.action-grid-mini[data-v-fc0cac23]{display:grid;grid-template-columns:1fr;gap:16px}.action-card-flat[data-v-fc0cac23]{padding:16px;border-radius:20px;cursor:pointer;display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e2e8f0;transition:all .2s}.action-icon[data-v-fc0cac23]{width:48px;height:48px;background:#f8fafc;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text-secondary)}.action-text h3[data-v-fc0cac23]{font-size:1rem;font-weight:700;margin:0;color:var(--text-primary)}.action-text p[data-v-fc0cac23]{font-size:.8rem;color:var(--text-secondary);margin:4px 0 0}.action-card-flat[data-v-fc0cac23]:hover{border-color:#6366f1;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000000d}.action-card-flat:hover .action-icon[data-v-fc0cac23]{background:#e0e7ff;color:#4f46e5}.fade-in[data-v-fc0cac23]{animation:fadeIn-fc0cac23 .6s ease-out}.fade-in-up[data-v-fc0cac23]{animation:fadeInUp-fc0cac23 .6s ease-out backwards}@keyframes fadeIn-fc0cac23{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp-fc0cac23{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.defaulter-list[data-v-fc0cac23]{display:flex;flex-direction:column;gap:12px}.defaulter-item[data-v-fc0cac23]{padding:16px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:16px;border:1px solid #e2e8f0}.defaulter-item .name[data-v-fc0cac23]{font-weight:700;color:var(--text-primary)}.defaulter-item .cohort[data-v-fc0cac23]{font-size:.8rem;color:var(--text-secondary);display:block;margin-top:2px}.defaulter-item .percentage[data-v-fc0cac23]{font-weight:800}.defaulter-item .percentage.good[data-v-fc0cac23]{color:#10b981}.defaulter-item .percentage.warning[data-v-fc0cac23]{color:#f59e0b}.defaulter-item .percentage.danger[data-v-fc0cac23]{color:#ef4444}.defaulter-item .sessions[data-v-fc0cac23]{font-size:.75rem;color:var(--text-secondary);display:block;text-align:right;margin-top:2px}.alert-list-aggregated[data-v-fc0cac23]{display:flex;flex-direction:column;gap:16px}.alert-item-agg[data-v-fc0cac23]{padding:20px;border-radius:20px;background:#fff;border:1px solid #e2e8f0}.alert-item-agg.new-alert[data-v-fc0cac23]{border-left:4px solid #ef4444}.alert-header[data-v-fc0cac23]{display:flex;justify-content:space-between;margin-bottom:12px}.alert-body .type[data-v-fc0cac23]{font-weight:700;color:#b91c1c;display:block;margin-bottom:4px}.alert-body .details[data-v-fc0cac23]{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.alert-footer[data-v-fc0cac23]{margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center}.empty-placeholder[data-v-fc0cac23],.empty-mini[data-v-fc0cac23]{padding:40px;text-align:center;color:var(--text-secondary);background:#ffffff80;border-radius:20px;border:2px dashed #e2e8f0}.placeholder-icon[data-v-fc0cac23]{font-size:2.5rem;opacity:.3;margin-bottom:16px}.view-all-link[data-v-fc0cac23]{font-size:.9rem;font-weight:600;color:var(--accent);text-decoration:none;transition:all .2s}.view-all-link[data-v-fc0cac23]:hover{color:var(--accent-hover);text-decoration:underline}.view-all-card[data-v-fc0cac23]{padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s;text-decoration:none;display:block}.view-all-card[data-v-fc0cac23]:hover{transform:translateY(-4px);box-shadow:0 12px 40px #1f268726}.view-all-content[data-v-fc0cac23]{display:flex;flex-direction:column;gap:.5rem}.stacked-count[data-v-fc0cac23]{font-size:1.1rem;font-weight:700;color:var(--accent)}.view-all-text[data-v-fc0cac23]{font-size:.9rem;color:var(--text-secondary);font-weight:600}.cohort-card[data-v-fc0cac23]{cursor:pointer;transition:all .2s}.cohort-card[data-v-fc0cac23]:hover{transform:translateY(-4px)}.cohort-link[data-v-fc0cac23]{font-size:.9rem;font-weight:600;color:var(--accent)}.modal-backdrop[data-v-b24fab83]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-b24fab83]{background:#1a1a2e;width:500px;max-width:95%;border-radius:16px;border:1px solid rgba(255,255,255,.1);overflow:hidden}.modal-header[data-v-b24fab83]{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-b24fab83]{color:#fff;margin:0;font-size:1.25rem}.close-btn[data-v-b24fab83]{background:none;border:none;color:#666;font-size:1.5rem;cursor:pointer}.modal-body[data-v-b24fab83]{padding:24px}.profile-section[data-v-b24fab83]{display:flex;gap:24px;align-items:center;margin-bottom:32px}.large-photo[data-v-b24fab83]{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid #00d4aa}.no-photo-large[data-v-b24fab83]{width:100px;height:100px;border-radius:50%;background:#ffffff0d;display:flex;align-items:center;justify-content:center;font-size:3rem}.profile-info h3[data-v-b24fab83]{color:#fff;margin:0 0 4px}.roll-number[data-v-b24fab83]{color:#00d4aa;margin:0 0 12px;font-family:monospace}.status-badge[data-v-b24fab83]{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.active[data-v-b24fab83]{background:#00d4aa26;color:#00d4aa}.details-grid[data-v-b24fab83]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px}.detail-item[data-v-b24fab83]{display:flex;flex-direction:column}.label[data-v-b24fab83]{color:#666;font-size:.8rem;margin-bottom:4px}.value[data-v-b24fab83]{color:#eee;font-weight:500}.actions-section[data-v-b24fab83]{border-top:1px solid rgba(255,255,255,.05);padding-top:24px}.actions-section h4[data-v-b24fab83]{color:#fff;margin:0 0 16px;font-size:.9rem}.action-buttons[data-v-b24fab83]{display:flex;gap:12px}.btn-secondary[data-v-b24fab83]{flex:1;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s;font-size:.85rem}.btn-secondary[data-v-b24fab83]:hover{background:#ffffff1a}.btn-warning[data-v-b24fab83]{border-color:#ff98004d;color:#ffab40}.btn-warning[data-v-b24fab83]:hover{background:#ff98001a}.message[data-v-b24fab83]{margin-top:20px;padding:12px;border-radius:8px;font-size:.9rem}.message.success[data-v-b24fab83]{background:#00d4aa1a;color:#00d4aa;border:1px solid rgba(0,212,170,.2)}.message.error[data-v-b24fab83]{background:#ff47571a;color:#ff6b7a;border:1px solid rgba(255,71,87,.2)}.page-container[data-v-9758538b]{padding:40px;background:var(--bg-primary);min-height:100vh}.page-header[data-v-9758538b]{margin-bottom:32px}.page-header h1[data-v-9758538b]{font-size:2.5rem;color:var(--text-primary);font-weight:800;letter-spacing:-1px;margin-bottom:8px}.page-header p[data-v-9758538b]{color:var(--text-secondary);font-size:1.1rem}.filters[data-v-9758538b]{display:flex;gap:16px;margin-bottom:32px}.search-input[data-v-9758538b],.filter-select[data-v-9758538b]{padding:14px 20px;background:var(--bg-secondary);border:1px solid #e2e8f0;border-radius:12px;color:var(--text-primary);font-size:.95rem;box-shadow:var(--card-shadow);transition:all .2s}.search-input[data-v-9758538b]{flex:1}.search-input[data-v-9758538b]:focus,.filter-select[data-v-9758538b]:focus{border-color:var(--accent);box-shadow:0 0 0 4px #10b9811a;outline:none}.students-table[data-v-9758538b]{background:var(--bg-secondary);border:1px solid #e2e8f0;border-radius:24px;overflow:hidden;box-shadow:var(--card-shadow)}table[data-v-9758538b]{width:100%;border-collapse:separate;border-spacing:0}th[data-v-9758538b],td[data-v-9758538b]{padding:20px;text-align:left}th[data-v-9758538b]{background:#f8fafc;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;font-weight:700;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}td[data-v-9758538b]{color:var(--text-primary);font-size:.95rem;border-bottom:1px solid #f1f5f9}.student-photo[data-v-9758538b]{width:44px;height:44px;border-radius:12px;object-fit:cover}.no-photo[data-v-9758538b]{width:44px;height:44px;border-radius:12px;background:#f1f5f9;display:flex;align-items:center;justify-content:center}.student-cell[data-v-9758538b]{display:flex;align-items:center;gap:16px}.name-info[data-v-9758538b]{display:flex;flex-direction:column}.full-name[data-v-9758538b]{color:var(--text-primary);font-weight:700;font-size:1rem}.status-indicator[data-v-9758538b]{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.status-indicator.active[data-v-9758538b]{color:var(--accent)}code[data-v-9758538b]{background:#f1f5f9;padding:4px 8px;border-radius:6px;color:var(--text-primary);font-weight:600;font-family:JetBrains Mono,monospace}.btn-view[data-v-9758538b]{padding:8px 20px;border:1px solid #e2e8f0;background:#fff;color:var(--text-secondary);border-radius:10px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.btn-view[data-v-9758538b]:hover{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.loading[data-v-9758538b]{padding:60px;text-align:center;color:var(--text-secondary)}.page-container[data-v-e7bb6026]{padding:40px;background:var(--bg-primary);min-height:100vh}.page-header[data-v-e7bb6026]{margin-bottom:40px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.page-header h1[data-v-e7bb6026]{font-size:2.5rem;color:var(--text-primary);font-weight:800;letter-spacing:-1.5px;margin-bottom:8px}.page-header p[data-v-e7bb6026]{color:var(--text-secondary);font-size:1.05rem}.search-box[data-v-e7bb6026]{position:relative;width:320px}.search-icon[data-v-e7bb6026]{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:1.25rem;pointer-events:none;opacity:.5}.search-input[data-v-e7bb6026]{width:100%;padding:12px 16px 12px 48px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;font-size:.95rem;color:var(--text-primary);transition:all .2s}.search-input[data-v-e7bb6026]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #10b9811a}.session-grid[data-v-e7bb6026],.loading-grid[data-v-e7bb6026]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.empty-placeholder[data-v-e7bb6026]{padding:100px 20px;text-align:center;color:var(--text-secondary)}.placeholder-icon[data-v-e7bb6026]{font-size:4rem;margin-bottom:24px;opacity:.2}.loading[data-v-e7bb6026],.empty[data-v-e7bb6026]{padding:60px;text-align:center;color:var(--text-secondary)}.page-container[data-v-7c677e28]{padding:40px;background:var(--bg-primary);min-height:100vh}.page-header[data-v-7c677e28]{margin-bottom:32px}.page-header h1[data-v-7c677e28]{font-size:2.5rem;color:var(--text-primary);font-weight:800;letter-spacing:-1px;margin-bottom:8px}.page-header p[data-v-7c677e28]{color:var(--text-secondary);font-size:1.1rem}.report-cards[data-v-7c677e28]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:48px}.report-card[data-v-7c677e28]{background:var(--bg-secondary);border:1px solid #e2e8f0;border-radius:20px;padding:32px;box-shadow:var(--card-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.report-card[data-v-7c677e28]:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-4px);border-color:var(--accent)}.report-card.alert[data-v-7c677e28]{background:#fff1f2}.report-card h3[data-v-7c677e28]{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:12px}.report-card p[data-v-7c677e28]{color:var(--text-secondary);font-size:.95rem;margin-bottom:24px}.btn-secondary[data-v-7c677e28]{padding:10px 20px;background:#f1f5f9;border:1px solid #e2e8f0;color:var(--text-primary);font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s}.btn-secondary[data-v-7c677e28]:hover{background:var(--text-primary);color:#fff}.btn-danger[data-v-7c677e28]{padding:10px 20px;background:#f43f5e;border:none;color:#fff;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s}.btn-danger[data-v-7c677e28]:hover{background:#e11d48;transform:scale(1.02)}.report-results[data-v-7c677e28]{background:var(--bg-secondary);border:1px solid #e2e8f0;border-radius:24px;padding:32px;box-shadow:var(--card-shadow);animation:slideUp-7c677e28 .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUp-7c677e28{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.report-results h2[data-v-7c677e28]{color:var(--text-primary);font-size:1.5rem;font-weight:800;margin-bottom:24px;letter-spacing:-.5px}table[data-v-7c677e28]{width:100%;border-collapse:separate;border-spacing:0}th[data-v-7c677e28],td[data-v-7c677e28]{padding:16px 20px;text-align:left}th[data-v-7c677e28]{background:#f8fafc;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;font-weight:700;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}th[data-v-7c677e28]:first-child{border-top-left-radius:12px}th[data-v-7c677e28]:last-child{border-top-right-radius:12px}td[data-v-7c677e28]{color:var(--text-primary);font-size:.95rem;border-bottom:1px solid #f1f5f9}tr:last-child td[data-v-7c677e28]{border-bottom:none}tr:hover td[data-v-7c677e28]{background:#f0fdf4}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--accent: #10b981;--accent-dark: #059669;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .5);--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--card-shadow-hover: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6}a{color:inherit;text-decoration:none}button{font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}
