.app-icon[data-v-269859a9]{display:inline-block;vertical-align:middle;flex-shrink:0}.base-btn[data-v-6202e94a]{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;border-radius:var(--radius-sm);transition:all var(--transition-fast);white-space:nowrap;border:1.5px solid transparent;user-select:none}.base-btn[data-v-6202e94a]:active:not(:disabled){transform:translateY(1px)}.btn-sm[data-v-6202e94a]{padding:6px 12px;font-size:12.5px;border-radius:6px}.btn-md[data-v-6202e94a]{padding:9px 18px;font-size:14px}.btn-lg[data-v-6202e94a]{padding:13px 26px;font-size:15px;border-radius:var(--radius-md)}.btn-block[data-v-6202e94a]{width:100%}.btn-primary[data-v-6202e94a]{background:var(--blue-600);color:#fff;box-shadow:0 1px 2px #2563eb33}.btn-primary[data-v-6202e94a]:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #2563eb40}.btn-secondary[data-v-6202e94a]{background:#fff;color:var(--text-primary);border-color:var(--border-light);box-shadow:var(--shadow-xs)}.btn-secondary[data-v-6202e94a]:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-medium)}.btn-ghost[data-v-6202e94a]{background:transparent;color:var(--blue-600)}.btn-ghost[data-v-6202e94a]:hover:not(:disabled){background:var(--blue-50)}.btn-danger[data-v-6202e94a]{background:var(--danger-text);color:#fff}.btn-danger[data-v-6202e94a]:hover:not(:disabled){background:#b91c1c}.btn-success[data-v-6202e94a]{background:var(--success-text);color:#fff}.btn-success[data-v-6202e94a]:hover:not(:disabled){background:#047857}.btn-outline[data-v-6202e94a]{background:transparent;color:var(--text-primary);border-color:var(--border-light)}.btn-outline[data-v-6202e94a]:hover:not(:disabled){background:var(--bg-subtle)}.base-btn[data-v-6202e94a]:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.modal-overlay[data-v-3340ed0e]{position:fixed;inset:0;background:#0b17278c;backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-container[data-v-3340ed0e]{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:modal-pop-3340ed0e .25s cubic-bezier(.16,1,.3,1)}.modal-header[data-v-3340ed0e]{padding:20px 24px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.modal-title[data-v-3340ed0e]{font-size:17px;font-weight:700;color:var(--navy-800)}.modal-close-btn[data-v-3340ed0e]{color:var(--text-tertiary);padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close-btn[data-v-3340ed0e]:hover{background:var(--bg-subtle);color:var(--text-primary)}.modal-body[data-v-3340ed0e]{padding:24px;overflow-y:auto}.modal-footer[data-v-3340ed0e]{padding:16px 24px;border-top:1px solid var(--border-light);display:flex;align-items:center;justify-content:flex-end;gap:12px;background:var(--bg-body)}.modal-fade-enter-active[data-v-3340ed0e],.modal-fade-leave-active[data-v-3340ed0e]{transition:opacity .25s ease}.modal-fade-enter-from[data-v-3340ed0e],.modal-fade-leave-to[data-v-3340ed0e]{opacity:0}@keyframes modal-pop-3340ed0e{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.base-card[data-v-885af43a]{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);display:flex;flex-direction:column;overflow:hidden}.card-bordered[data-v-885af43a]{border:1px solid var(--border-light)}.card-hover[data-v-885af43a]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header[data-v-885af43a]{padding:18px 24px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:16px}.card-title[data-v-885af43a]{font-size:15px;font-weight:700;color:var(--navy-800)}.card-subtitle[data-v-885af43a]{font-size:12.5px;color:var(--text-tertiary);margin-top:2px}.card-header-actions[data-v-885af43a]{display:flex;align-items:center;gap:10px}.card-body[data-v-885af43a]{padding:24px;flex:1}.card-footer[data-v-885af43a]{padding:16px 24px;border-top:1px solid var(--border-light);background:var(--bg-subtle)}@media(max-width:768px){.card-header[data-v-885af43a]{padding:14px 16px;flex-wrap:wrap;row-gap:10px}.card-header-actions[data-v-885af43a]{width:100%;flex-wrap:wrap}.card-body[data-v-885af43a]{padding:18px 16px}.card-footer[data-v-885af43a]{padding:12px 16px}}.base-badge[data-v-0697406c]{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}.badge-dot[data-v-0697406c]{width:6px;height:6px;border-radius:50%;background-color:currentColor}.badge-blue[data-v-0697406c]{background:var(--blue-50);color:var(--blue-600)}.badge-green[data-v-0697406c]{background:var(--success-bg);color:var(--success-text)}.badge-yellow[data-v-0697406c]{background:var(--warning-bg);color:var(--warning-text)}.badge-red[data-v-0697406c]{background:var(--danger-bg);color:var(--danger-text)}.badge-gray[data-v-0697406c]{background:var(--bg-subtle);color:var(--text-secondary)}.badge-purple[data-v-0697406c]{background:#f5f3ff;color:#7c3aed}.admin-topbar[data-v-7003a099]{height:64px;background:var(--bg-card);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-xs)}.topbar-left[data-v-7003a099]{display:flex;align-items:center;gap:16px}.mobile-menu-btn[data-v-7003a099]{display:none;padding:6px;border-radius:var(--radius-sm);color:var(--navy-800)}.topbar-logo[data-v-7003a099]{display:flex;align-items:center;gap:10px}.logo-shield[data-v-7003a099]{width:36px;height:36px;background:transparent;border:none;box-shadow:none;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-logo-img[data-v-7003a099]{width:100%;height:100%;object-fit:contain}.logo-title[data-v-7003a099]{font-weight:800;font-size:15px;color:var(--navy-800);display:block;line-height:1.2}.logo-sub[data-v-7003a099]{font-size:11.5px;color:var(--text-tertiary);display:block}.topbar-right[data-v-7003a099]{display:flex;align-items:center;gap:16px}.admin-profile[data-v-7003a099]{display:flex;align-items:center;gap:10px}.admin-meta[data-v-7003a099]{display:flex;flex-direction:column;line-height:1.2}.admin-name[data-v-7003a099]{font-size:13px;font-weight:700;color:var(--navy-800)}.admin-role[data-v-7003a099]{font-size:11px;color:var(--text-tertiary)}.topbar-logout-btn[data-v-7003a099]{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1.5px solid var(--border-light);border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;color:var(--text-secondary);background:#fff;transition:all var(--transition-fast)}.topbar-logout-btn[data-v-7003a099]:hover{background:var(--bg-subtle);color:var(--danger-text);border-color:var(--danger-border)}@media(max-width:900px){.mobile-menu-btn[data-v-7003a099]{display:flex}.hide-mobile[data-v-7003a099]{display:none!important}}.admin-sidebar[data-v-81373864]{width:240px;background:var(--navy-800);flex-shrink:0;display:flex;flex-direction:column;padding:24px 16px;height:100%;overflow-y:auto;transition:transform var(--transition-normal);z-index:150;position:relative;top:0;left:0}.sidebar-backdrop[data-v-81373864]{display:none}.sidebar-section[data-v-81373864]{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}.sidebar-label[data-v-81373864]{font-size:11px;font-weight:700;letter-spacing:.08em;color:#fff6;text-transform:uppercase;padding:0 12px;margin-bottom:6px}.sidebar-item[data-v-81373864]{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:#ffffffb3;transition:all var(--transition-fast);cursor:pointer;text-decoration:none}.sidebar-item[data-v-81373864]:hover{background:#ffffff14;color:#fff}.sidebar-item.active[data-v-81373864]{background:var(--blue-600);color:#fff;font-weight:600;box-shadow:0 4px 12px #2563eb59}.sidebar-icon[data-v-81373864]{opacity:.9}.sidebar-footer[data-v-81373864]{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.btn-logout-sidebar[data-v-81373864]{width:100%;border:none;background:none;text-align:left}.btn-logout-sidebar[data-v-81373864]:hover{background:#ef444426;color:#f87171}@media(max-width:900px){.admin-sidebar[data-v-81373864]{position:fixed;top:64px;bottom:0;left:0;height:calc(100vh - 64px);height:calc(100dvh - 64px);transform:translate(-100%);box-shadow:var(--shadow-xl)}.admin-sidebar.is-open[data-v-81373864]{transform:translate(0)}.sidebar-backdrop[data-v-81373864]{display:block;position:fixed;inset:64px 0 0;background:#0b17278c;backdrop-filter:blur(3px);z-index:140;animation:fade-in-81373864 .2s ease}}@keyframes fade-in-81373864{0%{opacity:0}to{opacity:1}}.class-progress-item[data-v-b79d1698]{display:flex;flex-direction:column;gap:6px}.progress-meta[data-v-b79d1698]{display:flex;justify-content:space-between;align-items:center}.class-name[data-v-b79d1698]{font-size:13px;font-weight:600;color:var(--text-primary)}.class-stats[data-v-b79d1698]{font-size:13px;font-weight:700;color:var(--navy-800)}.stat-card[data-v-13920ce5]{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);padding:22px;display:flex;flex-direction:column;transition:all var(--transition-normal)}.stat-card[data-v-13920ce5]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon-wrap[data-v-13920ce5]{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.icon-blue[data-v-13920ce5]{background:var(--blue-50);color:var(--blue-600)}.icon-green[data-v-13920ce5]{background:var(--success-bg);color:var(--success-text)}.icon-warn[data-v-13920ce5]{background:var(--warning-bg);color:var(--warning-text)}.icon-navy[data-v-13920ce5]{background:#e8edf6;color:var(--navy-800)}.stat-value[data-v-13920ce5]{font-size:28px;font-weight:800;color:var(--navy-800);line-height:1.1;letter-spacing:-.02em}.stat-label[data-v-13920ce5]{font-size:13.5px;color:var(--text-tertiary);margin-top:4px;font-weight:500}.stat-delta[data-v-13920ce5]{font-size:12px;font-weight:600;margin-top:8px}.delta-success[data-v-13920ce5]{color:var(--success-text)}.delta-warn[data-v-13920ce5]{color:var(--warning-text)}.delta-muted[data-v-13920ce5]{color:var(--text-muted)}.page-header[data-v-dae59c83]{margin-bottom:24px}.page-title[data-v-dae59c83]{font-size:22px;font-weight:800;color:var(--navy-800);letter-spacing:-.02em}.page-desc[data-v-dae59c83]{font-size:14px;color:var(--text-tertiary);margin-top:4px}.mb-6[data-v-dae59c83]{margin-bottom:24px}.live-results-list[data-v-dae59c83]{display:flex;flex-direction:column;gap:20px}.live-result-row[data-v-dae59c83]{display:flex;flex-direction:column;gap:6px}.result-header[data-v-dae59c83]{display:flex;justify-content:space-between;align-items:flex-end}.result-title[data-v-dae59c83]{font-size:13.5px;font-weight:700;color:var(--navy-800);display:block}.result-votes[data-v-dae59c83]{font-size:12px;color:var(--text-tertiary);display:block;margin-top:2px}.result-percentage[data-v-dae59c83]{font-size:15px;font-weight:800}.class-progress-list[data-v-dae59c83]{display:flex;flex-direction:column;gap:16px}.time-col[data-v-dae59c83]{color:var(--text-tertiary);font-family:monospace;font-size:12.5px}@media(max-width:900px){.admin-main[data-v-dae59c83]{padding:20px 16px}}.candidate-form[data-v-6d3f1625]{display:flex;flex-direction:column;gap:16px}.visually-hidden[data-v-6d3f1625]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.optional-badge[data-v-6d3f1625]{font-size:11px;font-weight:400;color:var(--blue-600);background:var(--blue-50, #eff6ff);padding:2px 8px;border-radius:var(--radius-full, 9999px);margin-left:6px}.photo-dropzone[data-v-6d3f1625]{border:2px dashed #CBD5E1;border-radius:var(--radius-md, 10px);background:#f8fafc;padding:20px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:all .2s ease-in-out;gap:10px}.photo-dropzone[data-v-6d3f1625]:hover,.photo-dropzone.is-dragging[data-v-6d3f1625]{border-color:#3b82f6;background:#eff6ff}.dropzone-icon-box[data-v-6d3f1625]{width:52px;height:52px;border-radius:50%;background:#dbeafe;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.photo-dropzone:hover .dropzone-icon-box[data-v-6d3f1625]{transform:scale(1.08)}.dropzone-text-group[data-v-6d3f1625]{display:flex;flex-direction:column;gap:3px}.dropzone-title[data-v-6d3f1625]{font-size:14px;font-weight:700;color:#1e293b}.dropzone-sub[data-v-6d3f1625]{font-size:12px;color:#64748b}.dropzone-btn[data-v-6d3f1625]{margin-top:4px}.photo-preview-card[data-v-6d3f1625]{display:flex;align-items:center;gap:16px;padding:14px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:var(--radius-md, 10px)}.photo-preview-frame[data-v-6d3f1625]{position:relative;width:96px;height:96px;border-radius:var(--radius-md, 8px);overflow:hidden;border:2px solid #E2E8F0;background:#fff;flex-shrink:0;box-shadow:0 2px 6px #0000000f}.preview-img[data-v-6d3f1625]{width:100%;height:100%;object-fit:cover;display:block}.photo-badge[data-v-6d3f1625]{position:absolute;bottom:4px;left:4px;right:4px;background:#0f172ad9;color:#fff;font-size:10px;font-weight:700;text-align:center;padding:2px 4px;border-radius:4px;backdrop-filter:blur(4px)}.photo-preview-details[data-v-6d3f1625]{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.photo-info-top[data-v-6d3f1625]{display:flex;flex-direction:column;gap:2px}.photo-ready-text[data-v-6d3f1625]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#065f46}.photo-filename[data-v-6d3f1625]{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-tip[data-v-6d3f1625]{font-size:11.5px;color:#64748b;margin:0;line-height:1.35}.photo-actions[data-v-6d3f1625]{display:flex;gap:8px;margin-top:4px}.file-error-alert[data-v-6d3f1625]{display:flex;align-items:center;gap:6px;font-size:12px;color:#dc2626;background:#fef2f2;border:1px solid #FCA5A5;border-radius:6px;padding:8px 12px;margin-top:8px}.form-actions[data-v-6d3f1625]{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.btn-spinner[data-v-6d3f1625]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-6d3f1625 .8s linear infinite;display:inline-block;vertical-align:middle;margin-right:6px}@keyframes spin-6d3f1625{to{transform:rotate(360deg)}}@media(max-width:480px){.photo-preview-card[data-v-6d3f1625]{flex-direction:column;align-items:flex-start}}.confirm-backdrop[data-v-0678bbf6]{position:fixed;inset:0;background:#0f172aa6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-card[data-v-0678bbf6]{position:relative;background:#fff;border-radius:20px;width:100%;max-width:440px;padding:32px 28px 28px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #0000000f;display:flex;flex-direction:column;align-items:center;text-align:center;animation:card-pop-0678bbf6 .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.confirm-close-btn[data-v-0678bbf6]{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:transparent;border:none;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.confirm-close-btn[data-v-0678bbf6]:hover{background:#f1f5f9;color:#334155}.confirm-icon-wrapper[data-v-0678bbf6]{margin-bottom:20px}.confirm-icon-ring[data-v-0678bbf6]{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .2s ease}.type-danger .confirm-icon-ring[data-v-0678bbf6]{background:#fef2f2;color:#ef4444;box-shadow:0 0 0 8px #fee2e2}.type-danger .btn-confirm-ok[data-v-0678bbf6]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 14px #ef444459}.type-danger .btn-confirm-ok[data-v-0678bbf6]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 6px 18px #ef444473}.type-warning .confirm-icon-ring[data-v-0678bbf6]{background:#fffbeb;color:#d97706;box-shadow:0 0 0 8px #fef3c7}.type-warning .btn-confirm-ok[data-v-0678bbf6]{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 14px #f59e0b59}.type-warning .btn-confirm-ok[data-v-0678bbf6]:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px)}.type-success .confirm-icon-ring[data-v-0678bbf6]{background:#ecfdf5;color:#10b981;box-shadow:0 0 0 8px #d1fae5}.type-success .btn-confirm-ok[data-v-0678bbf6]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 14px #10b98159}.type-success .btn-confirm-ok[data-v-0678bbf6]:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.type-info .confirm-icon-ring[data-v-0678bbf6]{background:#eff6ff;color:#2563eb;box-shadow:0 0 0 8px #dbeafe}.type-info .btn-confirm-ok[data-v-0678bbf6]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 14px #2563eb59}.type-info .btn-confirm-ok[data-v-0678bbf6]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.confirm-body[data-v-0678bbf6]{margin-bottom:26px}.confirm-title[data-v-0678bbf6]{font-size:19px;font-weight:700;color:#0f172a;margin-bottom:10px;line-height:1.35;letter-spacing:-.01em}.confirm-message[data-v-0678bbf6]{font-size:14px;color:#64748b;line-height:1.55;margin:0;word-break:break-word}.confirm-actions[data-v-0678bbf6]{display:flex;gap:12px;width:100%}.confirm-actions.single-action[data-v-0678bbf6]{justify-content:center}.btn-confirm-cancel[data-v-0678bbf6]{flex:1;padding:12px 18px;border-radius:12px;background:#f8fafc;color:#475569;border:1px solid #e2e8f0;font-size:14.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-confirm-cancel[data-v-0678bbf6]:hover:not(:disabled){background:#f1f5f9;color:#1e293b;border-color:#cbd5e1}.btn-confirm-ok[data-v-0678bbf6]{flex:1.2;padding:12px 20px;border-radius:12px;border:none;font-size:14.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-confirm-ok[data-v-0678bbf6]:disabled,.btn-confirm-cancel[data-v-0678bbf6]:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-spinner[data-v-0678bbf6]{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin-0678bbf6 .7s linear infinite}@keyframes card-pop-0678bbf6{0%{transform:scale(.92) translateY(12px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes spin-0678bbf6{to{transform:rotate(360deg)}}.confirm-fade-enter-active[data-v-0678bbf6],.confirm-fade-leave-active[data-v-0678bbf6]{transition:opacity .22s ease}.confirm-fade-enter-from[data-v-0678bbf6],.confirm-fade-leave-to[data-v-0678bbf6]{opacity:0}.page-header-row[data-v-32587c2e]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-title[data-v-32587c2e]{font-size:22px;font-weight:800;color:var(--navy-800)}.page-desc[data-v-32587c2e]{font-size:14px;color:var(--text-tertiary);margin-top:4px}.card-header-left[data-v-32587c2e]{display:flex;align-items:center;gap:8px}.search-input-wrap[data-v-32587c2e]{position:relative;display:flex;align-items:center}.search-icon[data-v-32587c2e]{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.table-search-input[data-v-32587c2e]{padding-left:32px;width:220px}.no-urut-badge[data-v-32587c2e]{width:28px;height:28px;background:var(--navy-800);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}.candidate-table-box[data-v-32587c2e]{width:58px;height:66px;border-radius:8px;overflow:hidden;border:1.5px solid #CBD5E1;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;box-shadow:0 2px 5px #0000001a}.candidate-table-box.photo-box[data-v-32587c2e]{background:#e2e8f0}.candidate-table-photo[data-v-32587c2e]{width:100%;height:100%;object-fit:cover;display:block}.class-tag[data-v-32587c2e]{background:var(--bg-subtle);padding:4px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;color:var(--text-secondary)}.vote-count-text[data-v-32587c2e]{font-size:15px;color:var(--navy-800)}.action-btn-group[data-v-32587c2e]{display:inline-flex;gap:8px}.empty-table-state[data-v-32587c2e]{text-align:center;padding:32px;color:var(--text-muted);font-style:italic}@media(max-width:900px){.admin-main[data-v-32587c2e]{padding:20px 16px}}.print-modal-overlay[data-v-55d26d5a]{position:fixed;inset:0;z-index:9999;background:#0f172abf;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.print-modal-dialog[data-v-55d26d5a]{background:#f8fafc;border-radius:16px;width:100%;max-width:1100px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000059;border:1px solid #e2e8f0;overflow:hidden}.print-modal-header[data-v-55d26d5a]{padding:18px 24px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.modal-title[data-v-55d26d5a]{font-size:1.15rem;font-weight:800;color:#0f172a;margin:0}.modal-desc[data-v-55d26d5a]{font-size:.82rem;color:#64748b;margin:4px 0 0}.header-controls[data-v-55d26d5a]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-box[data-v-55d26d5a]{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:#334155}.form-select-print[data-v-55d26d5a]{padding:7px 12px;border:1.5px solid #cbd5e1;border-radius:8px;background:#fff;font-size:.85rem;font-weight:600;color:#1e293b;outline:none;cursor:pointer}.form-select-print[data-v-55d26d5a]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.actions-group[data-v-55d26d5a]{display:flex;align-items:center;gap:8px}.print-modal-body[data-v-55d26d5a]{padding:24px;overflow-y:auto;flex:1}.empty-state[data-v-55d26d5a]{text-align:center;padding:40px;color:#64748b;font-size:.95rem}.cards-sheet-grid[data-v-55d26d5a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;margin:0 auto}.voter-card-item[data-v-55d26d5a]{background:#fff;border:1.5px dashed #94a3b8;border-radius:8px;padding:8px;page-break-inside:avoid;break-inside:avoid;box-sizing:border-box}.card-inner[data-v-55d26d5a]{border:1.5px solid #0f172a;border-radius:6px;background:#fff;padding:10px 12px;display:flex;flex-direction:column;justify-content:space-between;min-height:215px;box-sizing:border-box}.card-header[data-v-55d26d5a]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:2px solid #0f172a}.header-logo[data-v-55d26d5a]{flex-shrink:0;width:38px;height:38px;display:flex;align-items:center;justify-content:center}.logo-img[data-v-55d26d5a]{max-width:100%;max-height:100%;object-fit:contain}.header-text[data-v-55d26d5a]{text-align:center;flex:1}.header-org[data-v-55d26d5a]{font-size:8.5px;font-weight:800;letter-spacing:.5px;color:#0f172a;text-transform:uppercase}.header-school[data-v-55d26d5a]{font-size:11.5px;font-weight:900;color:#1e3a8a;letter-spacing:.5px;line-height:1.2}.header-address[data-v-55d26d5a]{font-size:7.5px;color:#475569;font-weight:500}.card-banner-strip[data-v-55d26d5a]{background:#15803d;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:3px 8px;margin:6px 0 8px;border-radius:3px;font-size:9px;font-weight:800;letter-spacing:.5px}.banner-num[data-v-55d26d5a]{font-family:monospace;font-size:9.5px;background:#fff3;padding:1px 6px;border-radius:3px}.card-body-data[data-v-55d26d5a]{margin-bottom:8px}.card-table[data-v-55d26d5a]{width:100%;border-collapse:collapse;font-size:10.5px;line-height:1.4}.card-table td[data-v-55d26d5a]{padding:2px 0;vertical-align:top}.col-lbl[data-v-55d26d5a]{width:78px;color:#334155;font-weight:700;font-size:10px}.col-sep[data-v-55d26d5a]{width:12px;color:#0f172a;font-weight:700;text-align:center}.col-val[data-v-55d26d5a]{color:#0f172a}.student-name-text[data-v-55d26d5a]{text-transform:uppercase;color:#0f172a;letter-spacing:.2px}.font-mono[data-v-55d26d5a]{font-family:Courier New,Courier,monospace;letter-spacing:.5px}.pass-badge[data-v-55d26d5a]{background:#f1f5f9;padding:1px 6px;border-radius:3px;border:1px solid #cbd5e1;display:inline-block;color:#0f172a}.card-footer[data-v-55d26d5a]{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px dashed #cbd5e1;padding-top:6px;margin-top:auto}.footer-note[data-v-55d26d5a]{font-size:7.5px;color:#64748b;line-height:1.3}.note-app[data-v-55d26d5a]{font-weight:700;color:#2563eb}.footer-sign[data-v-55d26d5a]{text-align:center;font-size:7.5px;color:#0f172a}.sign-date[data-v-55d26d5a]{color:#475569}.sign-title[data-v-55d26d5a]{font-weight:700;margin-top:1px}.sign-img-wrap[data-v-55d26d5a]{height:34px;display:flex;align-items:center;justify-content:center;margin:1px 0 2px}.signature-img[data-v-55d26d5a]{max-height:34px;max-width:90px;object-fit:contain;display:block}.sign-line[data-v-55d26d5a]{font-weight:700;border-top:1px solid #94a3b8;padding-top:2px}@media print{body.voter-print-modal-open #app,body.voter-print-modal-open>*:not(.print-modal-overlay){display:none!important}body.voter-print-modal-open,body:has(.print-modal-overlay){background:#fff!important;margin:0!important;padding:0!important;overflow:visible!important;height:auto!important}html{background:#fff!important;overflow:visible!important;height:auto!important}.no-print{display:none!important}.print-modal-overlay{position:static!important;display:block!important;background:transparent!important;backdrop-filter:none!important;padding:0!important;margin:0!important;width:100%!important;height:auto!important;box-shadow:none!important;overflow:visible!important;z-index:auto!important}.print-modal-dialog{max-width:100%!important;max-height:none!important;border:none!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;height:auto!important;margin:0!important;padding:0!important}.print-modal-body{padding:0!important;overflow:visible!important;max-height:none!important;height:auto!important}@page{size:A4 portrait;margin:8mm 6mm}.cards-sheet-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:6mm!important;margin:0!important;padding:0!important;width:100%!important}.voter-card-item{border:1.5px dashed #475569!important;background:#fff!important;break-inside:avoid!important;page-break-inside:avoid!important;padding:6px!important;margin:0!important;box-shadow:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.card-inner{border:1.5px solid #000000!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.card-banner-strip{background:#15803d!important;color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.banner-num{background:#ffffff40!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.pass-badge{background:#f1f5f9!important;border:1px solid #cbd5e1!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.signature-img{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.loading-state-row[data-v-a8df7525]{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 0;color:var(--text-tertiary);font-size:14px}.loading-spinner-sm[data-v-a8df7525]{display:inline-block;width:18px;height:18px;border:2.5px solid #E2E8F0;border-top-color:var(--navy-800, #1e3a5f);border-radius:50%;animation:spin-a8df7525 .7s linear infinite}@keyframes spin-a8df7525{to{transform:rotate(360deg)}}.btn-delete-class[data-v-a8df7525]{display:inline-flex;align-items:center;gap:6px;background:#fef2f2;border:1px solid #FECACA;color:#dc2626;height:38px;padding:0 13px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.btn-delete-class[data-v-a8df7525]:hover{background:#dc2626;color:#fff;border-color:#dc2626;box-shadow:0 2px 8px #dc262640}.delete-class-warning-box[data-v-a8df7525]{background:#fef2f2;border:1px solid #FECACA;padding:12px 14px;border-radius:var(--radius-md)}.pagination-left-group[data-v-a8df7525]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.per-page-control[data-v-a8df7525]{display:flex;align-items:center;gap:6px}.per-page-label[data-v-a8df7525]{font-size:12.5px;color:var(--text-tertiary);white-space:nowrap}.select-per-page[data-v-a8df7525]{font-size:12px;padding:4px 8px;height:32px;width:auto;min-width:110px;border-radius:var(--radius-sm);background-color:#fff;border:1px solid #CBD5E1}.pagination-page-number[data-v-a8df7525]{font-size:12px;font-weight:600;color:var(--text-secondary);padding:0 4px}.delete-modal-custom-header[data-v-a8df7525]{display:flex;align-items:center;gap:14px}.delete-modal-icon-badge[data-v-a8df7525]{width:44px;height:44px;border-radius:var(--radius-full);background:#fee2e2;border:1px solid #FECACA;display:flex;align-items:center;justify-content:center;flex-shrink:0}.delete-modal-title[data-v-a8df7525]{font-size:17px;font-weight:800;color:#0f172a;margin:0;line-height:1.2}.delete-modal-subtitle[data-v-a8df7525]{font-size:12.5px;color:#64748b;margin:3px 0 0}.delete-class-form[data-v-a8df7525]{padding-top:4px}.delete-class-select[data-v-a8df7525]{height:42px;font-size:13.5px;font-weight:600;border-radius:var(--radius-md);border:1.5px solid #CBD5E1;background-color:#f8fafc;transition:all var(--transition-fast)}.delete-class-select[data-v-a8df7525]:focus{background-color:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.all-classes-warning-card[data-v-a8df7525]{padding:14px 16px;background:#fef2f2;border:1.5px solid #FCA5A5;border-radius:var(--radius-md);margin-top:10px}.all-classes-header[data-v-a8df7525]{display:flex;align-items:flex-start;gap:12px}.warning-badge-icon[data-v-a8df7525]{width:36px;height:36px;border-radius:50%;background:#fee2e2;display:flex;align-items:center;justify-content:center;flex-shrink:0}.all-classes-stats[data-v-a8df7525]{display:flex;gap:10px;flex-wrap:wrap}.warning-stat-pill[data-v-a8df7525]{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #FECACA;padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;color:#475569}.selected-class-pill-card[data-v-a8df7525]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:var(--radius-md);margin-top:10px}.class-pill-left[data-v-a8df7525]{display:flex;align-items:center;gap:10px}.class-name-badge[data-v-a8df7525]{display:inline-block;padding:4px 10px;background:var(--navy-800);color:#fff;font-weight:800;font-size:12.5px;border-radius:var(--radius-sm);letter-spacing:.02em}.class-count-badge[data-v-a8df7525]{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:#475569}.class-status-badge[data-v-a8df7525]{font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--radius-full)}.class-status-badge.warning[data-v-a8df7525]{background:#fef3c7;color:#b45309}.class-status-badge.empty[data-v-a8df7525]{background:#f1f5f9;color:#64748b}.delete-options-group[data-v-a8df7525]{display:flex;flex-direction:column;gap:10px}.delete-option-card[data-v-a8df7525]{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1.5px solid #E2E8F0;border-radius:var(--radius-md);background:#fff;cursor:pointer;transition:all var(--transition-fast)}.delete-option-card[data-v-a8df7525]:hover{border-color:#cbd5e1;background:#f8fafc}.delete-option-card.is-active[data-v-a8df7525]{border-color:#2563eb;background:#f0f7ff}.delete-option-card.is-danger.is-active[data-v-a8df7525]{border-color:#dc2626;background:#fef2f2}.option-radio-circle[data-v-a8df7525]{width:18px;height:18px;border-radius:50%;border:2px solid #94A3B8;display:flex;align-items:center;justify-content:center;margin-top:2px;flex-shrink:0;transition:all var(--transition-fast)}.delete-option-card.is-active .option-radio-circle[data-v-a8df7525]{border-color:#2563eb}.delete-option-card.is-danger.is-active .option-radio-circle[data-v-a8df7525]{border-color:#dc2626}.option-radio-dot[data-v-a8df7525]{width:9px;height:9px;border-radius:50%;background:#2563eb}.delete-option-card.is-danger.is-active .option-radio-dot[data-v-a8df7525]{background:#dc2626}.delete-option-text[data-v-a8df7525]{flex:1}.delete-option-title[data-v-a8df7525]{display:block;font-size:13.5px;font-weight:700;color:#1e293b}.delete-option-title.text-danger[data-v-a8df7525]{color:#dc2626}.badge-recommend[data-v-a8df7525]{font-size:10.5px;font-weight:700;background:#dc2626;color:#fff;padding:2px 7px;border-radius:var(--radius-full)}.delete-option-desc[data-v-a8df7525]{display:block;font-size:12px;color:#64748b;margin-top:4px;line-height:1.45}.delete-modal-footer[data-v-a8df7525]{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid #E2E8F0}.floating-toast[data-v-a8df7525]{position:fixed;bottom:28px;right:28px;z-index:2000;display:flex;align-items:center;gap:12px;padding:13px 18px;border-radius:var(--radius-md);box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a;font-size:13.5px;font-weight:600;max-width:440px}.floating-toast.toast-success[data-v-a8df7525]{background:#065f46;color:#ecfdf5;border:1px solid #059669}.floating-toast.toast-error[data-v-a8df7525]{background:#991b1b;color:#fef2f2;border:1px solid #DC2626}.floating-toast.toast-info[data-v-a8df7525]{background:#1e40af;color:#eff6ff;border:1px solid #3B82F6}.toast-icon-box[data-v-a8df7525]{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-content[data-v-a8df7525]{flex:1}.btn-toast-close[data-v-a8df7525]{background:none;border:none;color:currentColor;opacity:.7;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.btn-toast-close[data-v-a8df7525]:hover{opacity:1}.toast-pop-enter-active[data-v-a8df7525],.toast-pop-leave-active[data-v-a8df7525]{transition:all .25s cubic-bezier(.16,1,.3,1)}.toast-pop-enter-from[data-v-a8df7525],.toast-pop-leave-to[data-v-a8df7525]{opacity:0;transform:translateY(16px) scale(.95)}.admin-main[data-v-a8df7525]{flex:1;padding:28px 32px;overflow-y:auto}.page-header-row[data-v-a8df7525]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-title[data-v-a8df7525]{font-size:22px;font-weight:800;color:var(--navy-800)}.page-desc[data-v-a8df7525]{font-size:14px;color:var(--text-tertiary);margin-top:4px}.mb-6[data-v-a8df7525]{margin-bottom:24px}.card-title-group[data-v-a8df7525]{display:flex;flex-direction:column;gap:3px}.card-title-main[data-v-a8df7525]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card-title[data-v-a8df7525]{font-size:16px;font-weight:800;color:var(--navy-800);line-height:1.2}.badge-student-count[data-v-a8df7525]{display:inline-flex;align-items:center;padding:2px 10px;background:#eff6ff;color:#1d4ed8;border:1px solid #BFDBFE;border-radius:9999px;font-size:11.5px;font-weight:700;letter-spacing:.02em}.card-subtitle-text[data-v-a8df7525]{font-size:12px;color:var(--text-tertiary);line-height:1.3}.header-search-wrap[data-v-a8df7525]{position:relative;display:flex;align-items:center;width:250px}.header-search-input[data-v-a8df7525]{width:100%;height:38px;padding-left:34px;padding-right:28px;font-size:13px;border-radius:var(--radius-md);border:1.5px solid #CBD5E1;background:#fff;color:#1e293b;transition:all var(--transition-fast)}.header-search-input[data-v-a8df7525]:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1f;outline:none}.header-search-wrap .search-icon[data-v-a8df7525]{position:absolute;left:11px;color:#94a3b8;pointer-events:none}.btn-clear-search[data-v-a8df7525]{position:absolute;right:8px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#e2e8f0;color:#64748b;border:none;cursor:pointer;transition:all var(--transition-fast)}.btn-clear-search[data-v-a8df7525]:hover{background:#cbd5e1;color:#0f172a}.student-toolbar-strip[data-v-a8df7525]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px;padding:10px 14px;background:#f8fafc;border:1.5px solid #E2E8F0;border-radius:var(--radius-md)}.toolbar-left-cluster[data-v-a8df7525]{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.toolbar-pill-group[data-v-a8df7525]{display:inline-flex;align-items:center;background:#fff;border:1.5px solid #CBD5E1;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px #0000000a;height:36px;transition:border-color var(--transition-fast)}.toolbar-pill-group[data-v-a8df7525]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.pill-badge-label[data-v-a8df7525]{display:inline-flex;align-items:center;gap:4px;padding:0 10px;background:#f1f5f9;border-right:1px solid #E2E8F0;color:#475569;font-size:11px;font-weight:700;height:100%;text-transform:uppercase;letter-spacing:.04em;user-select:none}.pill-select[data-v-a8df7525]{height:100%;border:none;background:#fff;padding:0 26px 0 10px;font-size:13px;font-weight:600;color:#1e293b;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.pill-btn-group[data-v-a8df7525]{display:inline-flex;align-items:center;height:100%;border-left:1px solid #E2E8F0}.pill-btn[data-v-a8df7525]{display:inline-flex;align-items:center;gap:5px;height:100%;padding:0 12px;font-size:12.5px;font-weight:600;border:none;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.pill-btn-add[data-v-a8df7525]{background:#eff6ff;color:#1d4ed8;border-right:1px solid #DBEAFE}.pill-btn-add[data-v-a8df7525]:hover{background:#1d4ed8;color:#fff}.pill-btn-del[data-v-a8df7525]{background:#fef2f2;color:#dc2626}.pill-btn-del[data-v-a8df7525]:hover{background:#dc2626;color:#fff}.btn-toolbar-reset[data-v-a8df7525]{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:8px;background:#fff;border:1.5px solid #CBD5E1;color:#475569;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #0000000a;transition:all var(--transition-fast)}.btn-toolbar-reset[data-v-a8df7525]:hover{background:#f1f5f9;color:#0f172a;border-color:#94a3b8;box-shadow:0 2px 4px #00000014}.toolbar-right-cluster[data-v-a8df7525]{display:flex;align-items:center;gap:8px}.active-filter-indicator[data-v-a8df7525]{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;background:#fff;border:1px solid #E2E8F0;border-radius:9999px;font-size:12px;color:#64748b;box-shadow:0 1px 2px #00000008}.active-filter-dot[data-v-a8df7525]{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 2px #10b98133}.active-filter-text strong[data-v-a8df7525]{color:#1e293b}.class-modal-alert[data-v-a8df7525]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;margin-top:12px}.class-modal-alert.alert-success[data-v-a8df7525]{background:#ecfdf5;color:#065f46;border:1px solid #A7F3D0}.class-modal-alert.alert-error[data-v-a8df7525]{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}.existing-classes-wrap[data-v-a8df7525]{background:#f8fafc;border:1px solid #E2E8F0;border-radius:var(--radius-md);padding:12px 14px}.class-chips-list[data-v-a8df7525]{display:flex;flex-wrap:wrap;gap:6px;max-height:140px;overflow-y:auto;padding-right:4px}.class-chip-item[data-v-a8df7525]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#fff;border:1px solid #CBD5E1;border-radius:6px;font-size:12px;font-weight:600;color:#334155;transition:all var(--transition-fast)}.class-chip-item.is-custom-chip[data-v-a8df7525]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.btn-delete-class-chip[data-v-a8df7525]{background:none;border:none;color:#ef4444;font-size:16px;line-height:1;cursor:pointer;padding:0 2px;margin-left:2px;font-weight:800;border-radius:4px;transition:all var(--transition-fast)}.btn-delete-class-chip[data-v-a8df7525]:hover{background:#fee2e2;color:#b91c1c}.nisn-col[data-v-a8df7525]{font-family:monospace;font-size:13px;color:var(--text-secondary);font-weight:600}.gender-pill[data-v-a8df7525]{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;background:#f1f5f9;color:#475569}.credentials-meta[data-v-a8df7525]{display:flex;flex-direction:column;line-height:1.25}.password-chip[data-v-a8df7525]{background:#f1f5f9;padding:3px 6px;border-radius:4px;font-size:11.5px;letter-spacing:.05em;color:#334155;border:1px solid #E2E8F0}.btn-icon-tiny[data-v-a8df7525]{padding:4px;background:none;border:none;border-radius:4px;cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-icon-tiny[data-v-a8df7525]:hover{background:#eff6ff;color:#1b3a93}.btn-toggle-dropdown[data-v-a8df7525]{display:inline-flex;align-items:center;gap:4px;background:#eff6ff;border:1px solid #BFDBFE;color:#1b3a93;padding:5px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.btn-toggle-dropdown[data-v-a8df7525]:hover,.btn-toggle-dropdown.active[data-v-a8df7525]{background:#1b3a93;color:#fff;border-color:#1b3a93}.caret-arrow[data-v-a8df7525]{font-size:9px}.dropdown-student-row[data-v-a8df7525]{background:#f8fafc!important}.dropdown-student-card[data-v-a8df7525]{background:#fff;border:1.5px solid #BFDBFE;border-radius:var(--radius-md);padding:16px 20px;box-shadow:0 4px 12px #0b17360f;margin:4px 0 8px}.dropdown-header-bar[data-v-a8df7525]{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #E2E8F0;margin-bottom:14px;flex-wrap:wrap;gap:8px}.btn-copy-full[data-v-a8df7525]{display:inline-flex;align-items:center;gap:6px;background:#f0fdf4;border:1px solid #BBF7D0;color:#15803d;padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.btn-copy-full[data-v-a8df7525]:hover{background:#15803d;color:#fff}.dropdown-grid[data-v-a8df7525]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dropdown-item[data-v-a8df7525]{display:flex;flex-direction:column;gap:2px}.dropdown-item .label[data-v-a8df7525]{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.dropdown-item .val[data-v-a8df7525]{font-size:13.5px;color:#1e293b}.btn-reset-pw[data-v-a8df7525]{background:#fef3c7;border:1px solid #FDE68A;color:#92400e;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:4px;cursor:pointer}.btn-reset-pw[data-v-a8df7525]:hover{background:#fde68a}.student-detail-body[data-v-a8df7525]{display:flex;flex-direction:column;gap:20px}.student-profile-header[data-v-a8df7525]{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.detail-rows[data-v-a8df7525]{display:flex;flex-direction:column;gap:12px}.detail-row[data-v-a8df7525]{display:flex;justify-content:space-between;align-items:center;font-size:13.5px}.detail-label[data-v-a8df7525]{color:var(--text-tertiary)}.detail-val[data-v-a8df7525]{font-weight:600;color:var(--navy-800)}.import-modal-content[data-v-a8df7525]{display:flex;flex-direction:column;gap:14px}.import-banner[data-v-a8df7525]{background:#f0fdf4;border:1px solid #DCFCE7;border-radius:var(--radius-md);padding:12px 14px}.import-icon-wrap[data-v-a8df7525]{width:40px;height:40px;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.upload-dropzone[data-v-a8df7525]{border:2px dashed #93C5FD;background:#f8fafc;border-radius:var(--radius-lg);padding:24px;text-align:center;cursor:pointer;transition:all var(--transition-fast)}.upload-dropzone[data-v-a8df7525]:hover{background:#eff6ff;border-color:#2563eb}.hidden-file-input[data-v-a8df7525]{display:none}.btn-download-template[data-v-a8df7525]{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--blue-600);font-size:12px;font-weight:700;cursor:pointer}.btn-download-template[data-v-a8df7525]:hover{text-decoration:underline}.preview-mini-table[data-v-a8df7525]{width:100%;border-collapse:collapse;font-size:11px}.preview-mini-table th[data-v-a8df7525],.preview-mini-table td[data-v-a8df7525]{border:1px solid var(--border-light);padding:6px 10px;text-align:left}.preview-mini-table th[data-v-a8df7525]{background:var(--bg-subtle);font-weight:700}.preview-badge-row[data-v-a8df7525]{background:#f0fdf4;border:1px solid #BBF7D0;padding:8px 12px;border-radius:var(--radius-sm, 6px)}.import-error-banner[data-v-a8df7525]{display:flex;align-items:center;gap:8px;background:#fef2f2;border:1px solid #FCA5A5;color:#dc2626;padding:8px 12px;border-radius:var(--radius-sm, 6px);font-size:12px}.success-modal-header[data-v-a8df7525]{display:flex;align-items:center;gap:14px}.success-modal-icon-badge[data-v-a8df7525]{width:44px;height:44px;border-radius:var(--radius-full);background:#ecfdf5;border:1px solid #A7F3D0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.success-modal-title[data-v-a8df7525]{font-size:17px;font-weight:800;color:#065f46;margin:0;line-height:1.2}.success-modal-subtitle[data-v-a8df7525]{font-size:12.5px;color:var(--text-tertiary);margin-top:3px}.success-card-content[data-v-a8df7525]{display:flex;flex-direction:column;gap:14px;padding-top:4px}.success-stat-row[data-v-a8df7525]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.success-stat-box[data-v-a8df7525]{background:#f8fafc;border:1.5px solid #E2E8F0;border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;align-items:center;text-align:center}.stat-box-num[data-v-a8df7525]{font-size:24px;font-weight:800;line-height:1.2}.stat-box-desc[data-v-a8df7525]{font-size:12px;color:var(--text-tertiary);font-weight:600;margin-top:4px}.success-cred-card[data-v-a8df7525]{background:#eff6ff;border:1.5px solid #BFDBFE;border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.cred-card-top[data-v-a8df7525]{display:flex;align-items:center;gap:6px;border-bottom:1px solid #DBEAFE;padding-bottom:8px}.cred-items[data-v-a8df7525]{display:flex;flex-direction:column;gap:6px}.cred-item[data-v-a8df7525]{display:flex;justify-content:space-between;align-items:center;font-size:12.5px}.cred-key[data-v-a8df7525]{color:#475569}.cred-val[data-v-a8df7525]{color:#1e293b}.success-footer-note[data-v-a8df7525]{font-size:12px;color:#059669;font-weight:600;text-align:center;margin:0}@media(max-width:900px){.admin-main[data-v-a8df7525]{padding:20px 16px}.dropdown-grid[data-v-a8df7525]{grid-template-columns:repeat(2,1fr)}}.btn-delete-student[data-v-a8df7525]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1.5px solid #FCA5A5;background:#fef2f2;color:#dc2626;cursor:pointer;transition:all .2s ease}.btn-delete-student[data-v-a8df7525]:hover{background:#dc2626;color:#fff;border-color:#dc2626;transform:scale(1.08)}.delete-student-confirm-body[data-v-a8df7525]{display:flex;flex-direction:column;gap:16px}.delete-student-info-card[data-v-a8df7525]{background:#fef2f2;border:1.5px solid #FECACA;border-radius:10px;padding:14px 16px}.delete-student-warn-text[data-v-a8df7525]{font-size:13px;color:#475569;line-height:1.6;margin:0}.base-toggle[data-v-138c17ba]{width:44px;height:24px;background-color:var(--border-medium);border-radius:var(--radius-full);position:relative;cursor:pointer;transition:background-color var(--transition-normal);flex-shrink:0;border:2px solid transparent}.base-toggle[data-v-138c17ba]:focus-visible{box-shadow:0 0 0 3px #3b82f64d}.toggle-thumb[data-v-138c17ba]{position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:#fff;border-radius:50%;box-shadow:var(--shadow-xs);transition:transform var(--transition-normal)}.base-toggle.is-active[data-v-138c17ba]{background-color:var(--blue-600)}.base-toggle.is-active .toggle-thumb[data-v-138c17ba]{transform:translate(20px)}.page-header[data-v-387e1ed2]{margin-bottom:24px}.page-title[data-v-387e1ed2]{font-size:22px;font-weight:800;color:var(--navy-800)}.page-desc[data-v-387e1ed2]{font-size:14px;color:var(--text-tertiary);margin-top:4px}.settings-form[data-v-387e1ed2]{display:flex;flex-direction:column;gap:16px}.settings-toggle-rows[data-v-387e1ed2]{display:flex;flex-direction:column}.toggle-row[data-v-387e1ed2]{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-light)}.toggle-row[data-v-387e1ed2]:last-child{border-bottom:none}.toggle-title[data-v-387e1ed2]{font-size:14px;font-weight:700;color:var(--navy-800)}.toggle-desc[data-v-387e1ed2]{font-size:12.5px;color:var(--text-tertiary);margin-top:2px;display:block}.schedule-status-indicator[data-v-387e1ed2]{display:flex;align-items:center;gap:8px;margin-top:6px}.schedule-status-hint[data-v-387e1ed2]{font-size:11.5px;color:var(--text-secondary);font-weight:500}.danger-zone-card[data-v-387e1ed2]{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--danger-border);overflow:hidden;box-shadow:var(--shadow-sm)}.danger-header[data-v-387e1ed2]{background:#fff5f5;padding:16px 24px;border-bottom:1px solid var(--danger-border)}.danger-title[data-v-387e1ed2]{font-size:14px;font-weight:800;color:var(--danger-text);letter-spacing:.02em}.danger-body[data-v-387e1ed2]{padding:20px 24px}.danger-note[data-v-387e1ed2]{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.danger-actions[data-v-387e1ed2]{display:flex;flex-direction:column;gap:10px}.btn-danger-outline[data-v-387e1ed2]{border-color:var(--danger-border);color:var(--danger-text);justify-content:flex-start}.btn-danger-outline[data-v-387e1ed2]:hover{background:var(--danger-bg);border-color:var(--danger-text)}@media(max-width:900px){.admin-main[data-v-387e1ed2]{padding:20px 16px}}.page-header-row[data-v-5390a708]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-title[data-v-5390a708]{font-size:22px;font-weight:800;color:var(--navy-800)}.page-desc[data-v-5390a708]{font-size:14px;color:var(--text-tertiary);margin-top:4px}.winner-card[data-v-5390a708]{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid var(--blue-500);border-radius:var(--radius-xl);padding:24px 28px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.winner-card-inner[data-v-5390a708]{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.trophy-wrap[data-v-5390a708]{width:64px;height:64px;background:#fff;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);flex-shrink:0}.winner-info[data-v-5390a708]{flex:1}.winner-badge[data-v-5390a708]{font-size:11px;font-weight:800;color:var(--blue-600);letter-spacing:.08em;margin-bottom:4px}.winner-title[data-v-5390a708]{font-size:20px;font-weight:800;color:var(--navy-800);line-height:1.2}.winner-meta[data-v-5390a708]{font-size:13.5px;color:var(--text-secondary);margin-top:4px}.winner-stats[data-v-5390a708]{text-align:center;flex-shrink:0;min-width:80px}.winner-vote-num[data-v-5390a708]{font-size:38px;font-weight:800;color:var(--blue-600);line-height:1}.winner-vote-label[data-v-5390a708]{font-size:13px;font-weight:600;color:var(--blue-600);margin-top:2px}.candidate-results-list[data-v-5390a708]{display:flex;flex-direction:column;gap:22px}.cand-pct[data-v-5390a708]{font-size:15px;font-weight:800}.results-summary-box[data-v-5390a708]{margin-top:10px;padding-top:18px;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:10px}.summary-line[data-v-5390a708]{display:flex;justify-content:space-between;align-items:center;font-size:13.5px}@media(max-width:900px){.admin-main[data-v-5390a708]{padding:20px 16px}}@media(max-width:600px){.winner-card[data-v-5390a708]{padding:18px 16px}.winner-card-inner[data-v-5390a708]{flex-direction:column;align-items:flex-start;gap:12px}.winner-stats[data-v-5390a708]{display:flex;align-items:baseline;gap:8px;width:100%;border-top:1px solid rgba(37,99,235,.2);padding-top:10px;margin-top:4px}.winner-vote-num[data-v-5390a708]{font-size:28px}.winner-title[data-v-5390a708]{font-size:17px}}.admin-layout[data-v-ad1abd9f]{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-body)}.admin-body[data-v-ad1abd9f]{display:flex;flex:1}.admin-main[data-v-ad1abd9f]{flex:1;padding:28px 32px;overflow-y:auto}.page-header-row[data-v-ad1abd9f]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-title[data-v-ad1abd9f]{font-size:22px;font-weight:800;color:var(--navy-800)}.page-desc[data-v-ad1abd9f]{font-size:14px;color:var(--text-tertiary);margin-top:4px}.filter-controls[data-v-ad1abd9f]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-select[data-v-ad1abd9f]{width:220px;height:38px;font-size:13px}.search-input-wrap[data-v-ad1abd9f]{position:relative;display:flex;align-items:center}.search-icon[data-v-ad1abd9f]{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search-field[data-v-ad1abd9f]{padding-left:36px;width:240px;height:38px;font-size:13px}.role-badge[data-v-ad1abd9f]{display:inline-block;font-size:12px;font-weight:600;color:var(--blue-700);background:#eff6ff;padding:3px 10px;border-radius:var(--radius-sm);border:1px solid #DBEAFE}.btn-icon[data-v-ad1abd9f]{padding:6px;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition-fast)}.btn-icon[data-v-ad1abd9f]:hover{background:var(--bg-subtle);color:var(--navy-800)}.btn-icon.text-danger[data-v-ad1abd9f]:hover{background:#fee2e2;color:#dc2626}.empty-state[data-v-ad1abd9f]{text-align:center;padding:36px!important;color:var(--text-tertiary);font-style:italic}.teacher-form[data-v-ad1abd9f]{display:flex;flex-direction:column;gap:16px}.modal-actions-row[data-v-ad1abd9f]{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}@media(max-width:768px){.admin-main[data-v-ad1abd9f]{padding:18px 14px}.filter-select[data-v-ad1abd9f],.search-field[data-v-ad1abd9f]{width:100%}}.admin-layout[data-v-e8401449]{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-body)}.admin-body[data-v-e8401449]{display:flex;flex:1}.admin-main[data-v-e8401449]{flex:1;padding:28px 32px;overflow-y:auto}.page-header-row[data-v-e8401449]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-title[data-v-e8401449]{font-size:22px;font-weight:800;color:var(--navy-800)}.page-desc[data-v-e8401449]{font-size:14px;color:var(--text-tertiary);margin-top:4px}.filter-controls[data-v-e8401449]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-select[data-v-e8401449]{width:200px;height:38px;font-size:13px}.search-input-wrap[data-v-e8401449]{position:relative;display:flex;align-items:center}.search-icon[data-v-e8401449]{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search-field[data-v-e8401449]{padding-left:36px;width:240px;height:38px;font-size:13px}.user-avatar-badge[data-v-e8401449]{width:24px;height:24px;border-radius:50%;background:#eff6ff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.log-details[data-v-e8401449]{display:inline-block;max-width:320px;line-height:1.4}.ip-tag[data-v-e8401449]{background:var(--bg-subtle);padding:2px 6px;border-radius:4px;color:var(--text-secondary)}.empty-state[data-v-e8401449]{text-align:center;padding:36px!important;color:var(--text-tertiary);font-style:italic}@media(max-width:768px){.admin-main[data-v-e8401449]{padding:18px 14px}.filter-select[data-v-e8401449],.search-field[data-v-e8401449]{width:100%}}
