.attendance-stat-v3[data-v-394100d8]{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 4px 20px -3px rgba(0,0,0,.04);margin-bottom:28px}.stat-section-header[data-v-394100d8]{justify-content:space-between;flex-wrap:wrap;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.header-title-group[data-v-394100d8],.stat-section-header[data-v-394100d8]{display:flex;align-items:center;gap:14px}.header-icon-badge[data-v-394100d8]{width:44px;height:44px;border-radius:14px;background:#e0e7ff;color:#4f46e5;display:flex;align-items:center;justify-content:center;font-size:22px}.header-title[data-v-394100d8]{margin:0 0 4px;font-size:20px;font-weight:800;color:#0f172a}.header-subtitle[data-v-394100d8]{margin:0;font-size:13px;color:#64748b}.header-filters[data-v-394100d8]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-filter-group[data-v-394100d8]{display:inline-flex;align-items:center;background:#f8fafc;padding:3px 4px;border-radius:10px;border:1px solid #e2e8f0}.date-nav-btn[data-v-394100d8]{border:none;background:transparent;color:#64748b;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .2s ease}.date-nav-btn[data-v-394100d8]:hover{background:#fff;color:#2563eb;box-shadow:0 1px 3px rgba(0,0,0,.08)}.date-current-btn[data-v-394100d8]{border:none;background:transparent;color:#475569;font-size:12px;font-weight:600;padding:0 8px;height:28px;border-radius:6px;cursor:pointer;transition:all .2s ease}.date-current-btn[data-v-394100d8]:hover{background:#fff;color:#0f172a}.attendance-date-picker[data-v-394100d8]{width:140px!important}.attendance-date-picker[data-v-394100d8] .el-input__inner{border:none!important;background:transparent!important;font-weight:600!important;color:#0f172a!important;padding-left:26px!important;padding-right:0!important}.live-indicator[data-v-394100d8]{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#059669;background:#ecfdf5;padding:5px 12px;border-radius:999px;border:1px solid #a7f3d0}.pulse-dot[data-v-394100d8]{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.25);animation:pulseDot-394100d8 2s infinite}@keyframes pulseDot-394100d8{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.kpi-sections-wrapper[data-v-394100d8]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric-block[data-v-394100d8]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px}.metric-block-title[data-v-394100d8]{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:#334155;margin-bottom:12px}.metric-grid[data-v-394100d8]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric-card[data-v-394100d8]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;transition:all .2s ease}.metric-card[data-v-394100d8]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.05)}.metric-label[data-v-394100d8]{display:block;font-size:11.5px;font-weight:600;color:#64748b;margin-bottom:4px}.metric-val[data-v-394100d8]{font-size:20px;font-weight:800;line-height:1.1;margin-bottom:3px}.metric-sub[data-v-394100d8]{font-size:10.5px;color:#94a3b8;font-weight:500}.card-icon-pill[data-v-394100d8]{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px}.bg-orange-soft[data-v-394100d8]{background:#ffedd5}.bg-teal-soft[data-v-394100d8]{background:#ccfbf1}.bg-purple-soft[data-v-394100d8]{background:#f3e8ff}.bg-dark-soft[data-v-394100d8]{background:#f1f5f9}.border-indigo[data-v-394100d8]{border-left:3.5px solid #4f46e5}.border-green[data-v-394100d8]{border-left:3.5px solid #10b981}.border-amber[data-v-394100d8]{border-left:3.5px solid #f59e0b}.border-blue[data-v-394100d8]{border-left:3.5px solid #0284c7}.border-emerald[data-v-394100d8]{border-left:3.5px solid #059669}.border-yellow[data-v-394100d8]{border-left:3.5px solid #d97706}.border-rose[data-v-394100d8]{border-left:3.5px solid #ef4444}.border-slate[data-v-394100d8]{border-left:3.5px solid #64748b}.border-orange[data-v-394100d8]{border-left:3.5px solid #ea580c}.border-teal[data-v-394100d8]{border-left:3.5px solid #0d9488}.border-purple[data-v-394100d8]{border-left:3.5px solid #9333ea}.border-dark[data-v-394100d8]{border-left:3.5px solid #334155}.border-cyan[data-v-394100d8]{border-left:3.5px solid #06b6d4}.border-pink[data-v-394100d8]{border-left:3.5px solid #ec4899}.border-red[data-v-394100d8]{border-left:3.5px solid #e11d48}.border-violet[data-v-394100d8]{border-left:3.5px solid #8b5cf6}.text-indigo[data-v-394100d8]{color:#4f46e5}.text-green[data-v-394100d8]{color:#10b981}.text-amber[data-v-394100d8]{color:#f59e0b}.text-blue[data-v-394100d8]{color:#0284c7}.text-emerald[data-v-394100d8]{color:#059669}.text-yellow[data-v-394100d8]{color:#d97706}.text-rose[data-v-394100d8]{color:#ef4444}.text-slate[data-v-394100d8]{color:#64748b}.text-orange[data-v-394100d8]{color:#ea580c}.text-teal[data-v-394100d8]{color:#0d9488}.text-purple[data-v-394100d8]{color:#9333ea}.text-dark[data-v-394100d8]{color:#334155}.text-cyan[data-v-394100d8]{color:#06b6d4}.text-pink[data-v-394100d8]{color:#ec4899}.text-red[data-v-394100d8]{color:#e11d48}.text-violet[data-v-394100d8]{color:#8b5cf6}.mt-2[data-v-394100d8]{margin-top:6px}.charts-row[data-v-394100d8]{display:flex;flex-wrap:wrap;margin-bottom:-10px}.charts-row[data-v-394100d8]:after,.charts-row[data-v-394100d8]:before{display:none}.charts-row>.el-col[data-v-394100d8]{display:flex;flex-direction:column;margin-bottom:20px}.chart-card[data-v-394100d8]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;flex:1;height:100%;box-sizing:border-box}.h-100[data-v-394100d8]{height:100%}.chart-card-head[data-v-394100d8]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.chart-title[data-v-394100d8]{margin:0 0 3px;font-size:15px;font-weight:700;color:#1e293b}.chart-subtitle[data-v-394100d8]{margin:0;font-size:12px;color:#94a3b8}.tag-pill[data-v-394100d8]{font-size:11px;font-weight:700;padding:3px 9px;border-radius:8px}.tag-pill--green[data-v-394100d8]{background:#dcfce7;color:#15803d}.tag-pill--orange[data-v-394100d8]{background:#ffedd5;color:#c2410c}.scope-toggle-tabs[data-v-394100d8]{display:inline-flex;background:#e2e8f0;padding:3px;border-radius:10px}.scope-btn[data-v-394100d8]{border:none;background:transparent;padding:4px 10px;font-size:11.5px;font-weight:600;color:#64748b;border-radius:8px;cursor:pointer;transition:all .2s ease}.scope-btn.active[data-v-394100d8]{background:#fff;color:#4f46e5;box-shadow:0 2px 5px rgba(0,0,0,.08)}.chart-container[data-v-394100d8]{width:100%;height:240px;position:relative}.chart-container--meal[data-v-394100d8]{height:200px}.gauge-footer-stats[data-v-394100d8]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid #e2e8f0}.gauge-stat-box[data-v-394100d8]{text-align:center;background:#fff;padding:8px 4px;border-radius:10px;border:1px solid #f1f5f9}.g-label[data-v-394100d8]{display:block;font-size:10.5px;color:#64748b;margin-bottom:2px}.g-val[data-v-394100d8]{font-size:13px;font-weight:800}.trend-legend-bar[data-v-394100d8]{display:flex;justify-content:center;align-items:center;gap:16px;font-size:11.5px;font-weight:600;color:#475569;margin-top:auto;padding-top:10px;border-top:1px solid #e2e8f0}.legend-item[data-v-394100d8]{display:flex;align-items:center;gap:6px}.legend-color-box[data-v-394100d8]{width:12px;height:12px;border-radius:3px}.bar-color[data-v-394100d8]{background:#3b82f6}.bg-slate-color[data-v-394100d8]{background:#cbd5e1}.line-color[data-v-394100d8]{height:3px;border-radius:999px;background:#10b981}.meal-detail-list[data-v-394100d8]{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid #e2e8f0}.meal-detail-item[data-v-394100d8]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#475569}.meal-name[data-v-394100d8]{display:flex;align-items:center;gap:6px;font-weight:600}.meal-counts[data-v-394100d8]{font-size:12px}.meal-rate[data-v-394100d8]{font-weight:700;margin-left:4px}.class-attendance-section[data-v-394100d8]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:20px 22px;margin-top:24px}.class-attendance-head[data-v-394100d8]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}.class-attendance-head.is-expanded[data-v-394100d8]{margin-bottom:18px}.class-attendance-actions[data-v-394100d8]{display:flex;align-items:center;gap:12px}.table-toggle-btn[data-v-394100d8]{font-weight:600;border-radius:8px;transition:all .2s ease}.class-table-collapsible-body[data-v-394100d8]{margin-top:16px}.class-attendance-title-group[data-v-394100d8]{display:flex;align-items:center;gap:12px}.class-attendance-title-group .section-icon-badge[data-v-394100d8]{width:42px;height:42px;border-radius:12px;background:#ede9fe;color:#6366f1;display:flex;align-items:center;justify-content:center;font-size:22px}.section-heading[data-v-394100d8]{margin:0 0 3px;font-size:16px;font-weight:800;color:#0f172a}.section-subheading[data-v-394100d8]{margin:0;font-size:12.5px;color:#64748b}.class-attendance-filter-bar[data-v-394100d8]{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.filter-chip[data-v-394100d8]{display:flex;align-items:center;gap:6px}.chip-label[data-v-394100d8]{font-size:12px;font-weight:600;color:#475569}.grade-select[data-v-394100d8]{width:175px}.search-box[data-v-394100d8]{width:220px}.class-counter-badge[data-v-394100d8]{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#4f46e5;background:#e0e7ff;padding:5px 12px;border-radius:8px}.class-attendance-table-wrap[data-v-394100d8]{overflow-x:auto}.modern-class-attendance-table[data-v-394100d8]{width:100%;border-radius:12px;overflow:hidden}.class-meta-cell[data-v-394100d8]{display:flex;flex-direction:column;gap:3px}.class-name-txt[data-v-394100d8]{font-size:13.5px;color:#1e293b}.grade-pill[data-v-394100d8]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;display:inline-block;width:fit-content}.pill-nursery[data-v-394100d8]{background:#fce7f3;color:#db2777}.pill-kinder_1[data-v-394100d8]{background:#fef3c7;color:#b45309}.pill-kinder_2[data-v-394100d8]{background:#dcfce7;color:#15803d}.pill-kinder_3[data-v-394100d8]{background:#ede9fe;color:#7c3aed}.badge-total-students[data-v-394100d8]{font-weight:700;color:#1e293b;background:#f1f5f9;padding:4px 10px;border-radius:6px;font-size:12px}.attendance-progress-cell[data-v-394100d8]{display:flex;justify-content:center}.badge-done[data-v-394100d8]{color:#15803d;background:#dcfce7}.badge-done[data-v-394100d8],.badge-pending[data-v-394100d8]{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px}.badge-pending[data-v-394100d8]{color:#b45309;background:#fef3c7}.rate-progress-cell[data-v-394100d8]{display:flex;flex-direction:column;gap:4px}.rate-info-row[data-v-394100d8]{display:flex;justify-content:space-between;align-items:center}.rate-pct-tag[data-v-394100d8]{font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px}.rate-good[data-v-394100d8]{background:#dcfce7;color:#15803d}.rate-mid[data-v-394100d8]{background:#fef3c7;color:#b45309}.rate-low[data-v-394100d8]{background:#fee2e2;color:#b91c1c}.progress-bar-bg[data-v-394100d8]{width:100%;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-bar-fill[data-v-394100d8]{height:100%;border-radius:999px;transition:width .3s ease}.absent-stat-cell[data-v-394100d8]{display:flex;flex-direction:column;gap:2px;font-size:11.5px}.stat-permit[data-v-394100d8]{color:#b45309}.stat-no-permit[data-v-394100d8]{color:#b91c1c}.meal-mini-chips[data-v-394100d8]{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.chip-m[data-v-394100d8]{font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:4px;display:inline-flex;align-items:center;gap:2px}.chip-breakfast[data-v-394100d8]{background:#fff7ed;color:#ea580c;border:1px solid #ffedd5}.chip-lunch[data-v-394100d8]{background:#f0fdfa;color:#0d9488;border:1px solid #ccfbf1}.chip-snack[data-v-394100d8]{background:#faf5ff;color:#7e22ce;border:1px solid #f3e8ff}.chip-dinner[data-v-394100d8]{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.leave-stat-cell[data-v-394100d8]{display:flex;flex-direction:column;gap:2px;font-size:11.5px}.leave-yes[data-v-394100d8]{color:#15803d;font-weight:600}.leave-no[data-v-394100d8]{color:#64748b}@media (max-width:1400px){.kpi-sections-wrapper[data-v-394100d8]{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.kpi-sections-wrapper[data-v-394100d8]{grid-template-columns:1fr}.class-attendance-head[data-v-394100d8]{flex-direction:column;align-items:flex-start}}.emp-attendance-stat-v3[data-v-a78656a6]{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 4px 20px -3px rgba(0,0,0,.04);margin-bottom:28px}.stat-section-header[data-v-a78656a6]{justify-content:space-between;flex-wrap:wrap;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.header-title-group[data-v-a78656a6],.stat-section-header[data-v-a78656a6]{display:flex;align-items:center;gap:14px}.header-icon-badge[data-v-a78656a6]{width:44px;height:44px;border-radius:14px;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;font-size:22px}.header-title[data-v-a78656a6]{margin:0 0 4px;font-size:20px;font-weight:800;color:#0f172a}.header-subtitle[data-v-a78656a6]{margin:0;font-size:13px;color:#64748b}.live-indicator[data-v-a78656a6]{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#059669;background:#ecfdf5;padding:5px 12px;border-radius:999px;border:1px solid #a7f3d0}.pulse-dot[data-v-a78656a6]{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.25);animation:pulseDot-a78656a6 2s infinite}@keyframes pulseDot-a78656a6{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.emp-kpi-grid[data-v-a78656a6]{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:24px}.emp-kpi-card[data-v-a78656a6]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;transition:all .2s ease}.emp-kpi-card[data-v-a78656a6]:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.04)}.kpi-icon-wrap[data-v-a78656a6]{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}.kpi-details[data-v-a78656a6]{flex:1;min-width:0}.kpi-name[data-v-a78656a6]{display:block;font-size:11.5px;font-weight:600;color:#64748b;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-number[data-v-a78656a6]{font-size:22px;font-weight:800;line-height:1.1;margin-bottom:3px}.kpi-unit[data-v-a78656a6]{font-size:11.5px;font-weight:600;color:#94a3b8}.kpi-hint[data-v-a78656a6]{font-size:10.5px;color:#94a3b8;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.border-indigo[data-v-a78656a6]{border-left:3.5px solid #4f46e5}.border-emerald[data-v-a78656a6]{border-left:3.5px solid #059669}.border-yellow[data-v-a78656a6]{border-left:3.5px solid #d97706}.border-rose[data-v-a78656a6]{border-left:3.5px solid #ef4444}.border-amber[data-v-a78656a6]{border-left:3.5px solid #f59e0b}.border-purple[data-v-a78656a6]{border-left:3.5px solid #8b5cf6}.text-indigo[data-v-a78656a6]{color:#4f46e5}.text-emerald[data-v-a78656a6]{color:#059669}.text-yellow[data-v-a78656a6]{color:#d97706}.text-rose[data-v-a78656a6]{color:#ef4444}.text-amber[data-v-a78656a6]{color:#f59e0b}.text-purple[data-v-a78656a6]{color:#8b5cf6}.bg-indigo-soft[data-v-a78656a6]{background:#e0e7ff}.bg-emerald-soft[data-v-a78656a6]{background:#ecfdf5}.bg-yellow-soft[data-v-a78656a6]{background:#fef3c7}.bg-rose-soft[data-v-a78656a6]{background:#ffe4e6}.bg-amber-soft[data-v-a78656a6]{background:#fef3c7}.bg-purple-soft[data-v-a78656a6]{background:#f3e8ff}.charts-row[data-v-a78656a6]{display:flex;flex-wrap:wrap;margin-bottom:-10px}.charts-row[data-v-a78656a6]:after,.charts-row[data-v-a78656a6]:before{display:none}.charts-row>.el-col[data-v-a78656a6]{display:flex;flex-direction:column;margin-bottom:20px}.chart-card[data-v-a78656a6]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;flex:1;height:100%;box-sizing:border-box}.h-100[data-v-a78656a6]{height:100%}.chart-card-head[data-v-a78656a6]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.chart-title[data-v-a78656a6]{margin:0 0 3px;font-size:15px;font-weight:700;color:#1e293b}.chart-subtitle[data-v-a78656a6]{margin:0;font-size:12px;color:#94a3b8}.tag-pill[data-v-a78656a6]{font-size:11px;font-weight:700;padding:3px 9px;border-radius:8px}.tag-pill--emerald[data-v-a78656a6]{background:#dcfce7;color:#15803d}.tag-pill--blue[data-v-a78656a6]{background:#e0f2fe;color:#0369a1}.chart-container[data-v-a78656a6]{width:100%;height:240px;position:relative}.chart-empty[data-v-a78656a6]{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:13px}.stat-api-error[data-v-a78656a6]{margin:12px 0}.unmarked-note[data-v-a78656a6]{margin:8px 0 0;text-align:center;color:#64748b;font-size:11px}.gauge-footer-grid[data-v-a78656a6]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid #e2e8f0}.mini-stat-card[data-v-a78656a6]{text-align:center;background:#fff;padding:8px 4px;border-radius:10px;border:1px solid #f1f5f9}.ms-label[data-v-a78656a6]{display:block;font-size:10.5px;color:#64748b;margin-bottom:2px}.ms-val[data-v-a78656a6]{font-size:12.5px;font-weight:800}.trend-legend-row[data-v-a78656a6]{display:flex;justify-content:center;align-items:center;gap:16px;font-size:11.5px;font-weight:600;color:#475569;margin-top:auto;padding-top:10px;border-top:1px solid #e2e8f0;flex-wrap:wrap}.legend-chip[data-v-a78656a6]{display:flex;align-items:center;gap:6px}.chip-color[data-v-a78656a6]{width:12px;height:12px;border-radius:3px}.chip-bar[data-v-a78656a6]{background:#6366f1}.chip-bg[data-v-a78656a6]{background:#cbd5e1}.chip-line[data-v-a78656a6]{height:3px;border-radius:999px;background:#10b981}.chip-late[data-v-a78656a6]{background:#fbbf24}@media (max-width:1300px){.emp-kpi-grid[data-v-a78656a6]{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.emp-kpi-grid[data-v-a78656a6]{grid-template-columns:repeat(2,1fr)}}.evaluation-stat-v3[data-v-3be07812]{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 4px 20px -3px rgba(0,0,0,.04);margin-bottom:28px}.evaluation-data-state[data-v-3be07812]{padding:32px 16px;text-align:center;color:#64748b}.evaluation-rule-notice[data-v-3be07812]{margin-bottom:16px}.stat-section-header[data-v-3be07812]{justify-content:space-between;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.header-title-group[data-v-3be07812],.stat-section-header[data-v-3be07812]{display:flex;align-items:center;gap:14px}.header-icon-badge[data-v-3be07812]{width:44px;height:44px;border-radius:14px;background:#dbeafe;color:#2563eb;display:flex;align-items:center;justify-content:center;font-size:22px}.header-title[data-v-3be07812]{margin:0 0 4px;font-size:20px;font-weight:800;color:#0f172a}.header-subtitle[data-v-3be07812]{margin:0;font-size:13px;color:#64748b}.live-indicator[data-v-3be07812]{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#059669;background:#ecfdf5;padding:6px 14px;border-radius:999px;border:1px solid #a7f3d0}.pulse-dot[data-v-3be07812]{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.25);animation:pulseDot-3be07812 2s infinite}@keyframes pulseDot-3be07812{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.evaluation-type-switcher[data-v-3be07812]{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}.evaluation-type-label[data-v-3be07812]{color:#475569;font-size:13px;font-weight:700;white-space:nowrap}.evaluation-type-options[data-v-3be07812]{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;background:#eef2f8;border-radius:11px}.evaluation-type-button[data-v-3be07812]{padding:8px 14px;border:0;border-radius:8px;background:transparent;color:#475569;font-size:12px;font-weight:600;cursor:pointer}.evaluation-type-button.active[data-v-3be07812]{background:#fff;color:#2563eb;box-shadow:0 1px 4px rgba(15,23,42,.12)}.filter-control-bar[data-v-3be07812]{justify-content:space-between;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 16px;margin-bottom:22px}.filter-control-bar[data-v-3be07812],.filter-left[data-v-3be07812]{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.filter-chip[data-v-3be07812]{display:flex;align-items:center;gap:6px}.chip-label[data-v-3be07812]{font-size:12.5px;font-weight:600;color:#475569;white-space:nowrap}.filter-select[data-v-3be07812]{width:185px}.filter-date-picker[data-v-3be07812]{width:145px}.filter-number-picker[data-v-3be07812]{width:120px}.reset-scope-btn[data-v-3be07812]{font-size:12px;color:#6366f1;font-weight:600;padding:0}.filter-right[data-v-3be07812]{display:flex;align-items:center;gap:8px}.period-label[data-v-3be07812]{font-size:12px;font-weight:600;color:#64748b}.period-button-group[data-v-3be07812]{display:inline-flex;background:#e2e8f0;padding:2px;border-radius:10px}.p-btn[data-v-3be07812]{border:none;background:transparent;padding:5px 12px;border-radius:8px;font-size:11.5px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease}.p-btn.active[data-v-3be07812]{background:#fff;color:#2563eb;box-shadow:0 1px 3px rgba(0,0,0,.1)}.eval-kpi-grid[data-v-3be07812]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.eval-kpi-card[data-v-3be07812]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px 18px;display:flex;align-items:flex-start;gap:14px;transition:all .2s ease}.eval-kpi-card[data-v-3be07812]:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.04)}.kpi-icon-wrap[data-v-3be07812]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.kpi-details[data-v-3be07812]{flex:1;min-width:0}.kpi-name[data-v-3be07812]{display:block;font-size:12.5px;font-weight:600;color:#64748b;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-number[data-v-3be07812]{font-size:24px;font-weight:800;line-height:1.15;margin-bottom:4px}.kpi-unit[data-v-3be07812]{font-size:12px;font-weight:600;color:#94a3b8}.kpi-hint[data-v-3be07812]{font-size:11.5px;color:#94a3b8;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.border-indigo[data-v-3be07812]{border-left:4px solid #4f46e5}.border-emerald[data-v-3be07812]{border-left:4px solid #059669}.border-rose[data-v-3be07812]{border-left:4px solid #ef4444}.border-purple[data-v-3be07812]{border-left:4px solid #8b5cf6}.text-indigo[data-v-3be07812]{color:#4f46e5}.text-emerald[data-v-3be07812]{color:#059669}.text-rose[data-v-3be07812]{color:#ef4444}.text-purple[data-v-3be07812]{color:#8b5cf6}.bg-indigo-soft[data-v-3be07812]{background:#e0e7ff}.bg-emerald-soft[data-v-3be07812]{background:#ecfdf5}.bg-rose-soft[data-v-3be07812]{background:#ffe4e6}.bg-purple-soft[data-v-3be07812]{background:#f3e8ff}.charts-row[data-v-3be07812]{display:flex;flex-wrap:wrap;margin-bottom:20px}.charts-row[data-v-3be07812]:after,.charts-row[data-v-3be07812]:before{display:none}.charts-row>.el-col[data-v-3be07812]{display:flex;flex-direction:column;margin-bottom:20px}.chart-card[data-v-3be07812]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:20px;display:flex;flex-direction:column;flex:1;height:100%;box-sizing:border-box}.h-100[data-v-3be07812]{height:100%}.chart-card-head[data-v-3be07812]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px;flex-wrap:wrap}.chart-title[data-v-3be07812]{margin:0 0 3px;font-size:15.5px;font-weight:700;color:#1e293b}.chart-subtitle[data-v-3be07812]{margin:0;font-size:12px;color:#94a3b8}.tag-pill[data-v-3be07812]{font-size:11px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap}.tag-pill--emerald[data-v-3be07812]{background:#dcfce7;color:#15803d}.tag-pill--amber[data-v-3be07812]{background:#fef3c7;color:#b45309}.chart-action-group[data-v-3be07812]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scroll-hint-chip[data-v-3be07812]{font-size:11.5px;color:#0284c7;background:#e0f2fe;padding:4px 10px;gap:5px}.benchmark-badge[data-v-3be07812],.scroll-hint-chip[data-v-3be07812]{font-weight:600;border-radius:8px;display:inline-flex;align-items:center}.benchmark-badge[data-v-3be07812]{font-size:12px;color:#4338ca;background:#e0e7ff;padding:5px 12px;gap:6px}.chart-container[data-v-3be07812]{width:100%;height:250px;position:relative}.chart-container-large[data-v-3be07812]{width:100%;height:330px;position:relative}.gauge-footer-grid[data-v-3be07812]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid #e2e8f0}.mini-stat-card[data-v-3be07812]{text-align:center;background:#fff;padding:8px 4px;border-radius:10px;border:1px solid #f1f5f9}.ms-label[data-v-3be07812]{display:block;font-size:10.5px;color:#64748b;margin-bottom:3px}.ms-val[data-v-3be07812]{font-size:13px;font-weight:800}.comparison-legend-row[data-v-3be07812]{display:flex;justify-content:center;align-items:center;gap:18px;font-size:11.5px;font-weight:600;color:#475569;margin-top:auto;padding-top:12px;border-top:1px solid #e2e8f0;flex-wrap:wrap}.legend-chip[data-v-3be07812]{display:flex;align-items:center;gap:6px}.chip-color[data-v-3be07812]{width:12px;height:12px;border-radius:3px}.chip-success[data-v-3be07812]{background:#10b981}.chip-warning[data-v-3be07812]{background:#f59e0b}.chip-danger[data-v-3be07812]{background:#f43f5e}.chip-line-benchmark[data-v-3be07812]{width:16px;height:2px;background:#6366f1;border-radius:999px}.class-progress-table-card[data-v-3be07812]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px 20px}.table-card-head[data-v-3be07812]{display:flex;justify-content:space-between;align-items:center}.table-card-head.is-expanded[data-v-3be07812]{margin-bottom:14px}.table-toggle-btn[data-v-3be07812]{font-weight:600;border-radius:8px;transition:all .2s ease}.table-card-title[data-v-3be07812]{margin:0 0 2px;font-size:14.5px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:8px}.table-card-subtitle[data-v-3be07812]{font-size:11.5px;color:#94a3b8}.table-count-badge[data-v-3be07812]{font-size:11.5px;font-weight:700;color:#475569;background:#e2e8f0;padding:4px 10px;border-radius:999px}.table-responsive-wrap[data-v-3be07812]{max-height:320px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.modern-progress-table[data-v-3be07812]{width:100%;border-collapse:collapse;font-size:12.5px;text-align:left}.modern-progress-table thead[data-v-3be07812]{position:sticky;top:0;background:#f1f5f9;z-index:2}.modern-progress-table th[data-v-3be07812]{padding:11px 14px;color:#475569;font-weight:700;font-size:11.5px;border-bottom:1px solid #e2e8f0;text-transform:uppercase;letter-spacing:.3px}.modern-progress-table td[data-v-3be07812]{padding:10px 14px;border-bottom:1px solid #f1f5f9;color:#334155}.modern-progress-table tbody tr[data-v-3be07812]:hover{background:#f8fafc}.modern-progress-table tr.row-highlight[data-v-3be07812]{background:#eef2ff!important}.class-name-cell[data-v-3be07812]{display:flex;align-items:center;gap:8px}.badge-active-class[data-v-3be07812]{font-size:10px;font-weight:700;background:#6366f1;color:#fff;padding:2px 6px;border-radius:6px}.grade-pill[data-v-3be07812]{font-size:11px;font-weight:600;color:#64748b;background:#f1f5f9;padding:3px 8px;border-radius:6px}.text-secondary[data-v-3be07812]{color:#64748b;font-size:11.5px}.text-center[data-v-3be07812]{text-align:center}.font-mono[data-v-3be07812]{font-family:monospace;font-weight:600}.font-semibold[data-v-3be07812]{font-weight:600}.progress-bar-wrap[data-v-3be07812]{display:flex;align-items:center;gap:10px}.progress-track[data-v-3be07812]{flex:1;height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-fill[data-v-3be07812]{height:100%;border-radius:999px;transition:width .3s ease}.bg-emerald[data-v-3be07812]{background:#10b981}.bg-amber[data-v-3be07812]{background:#f59e0b}.bg-rose[data-v-3be07812]{background:#ef4444}.progress-rate-text[data-v-3be07812]{width:42px;font-size:12px;text-align:right;color:#334155}.status-badge[data-v-3be07812]{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;display:inline-block;white-space:nowrap}.status-badge--success[data-v-3be07812]{background:#dcfce7;color:#15803d}.status-badge--warning[data-v-3be07812]{background:#fef3c7;color:#b45309}.status-badge--danger[data-v-3be07812]{background:#ffe4e6;color:#b91c1c}@media (max-width:1200px){.eval-kpi-grid[data-v-3be07812]{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.evaluation-type-options[data-v-3be07812]{width:100%}.evaluation-type-button[data-v-3be07812]{flex:1 1 40%}.filter-control-bar[data-v-3be07812]{flex-direction:column;align-items:flex-start}.eval-kpi-grid[data-v-3be07812]{grid-template-columns:1fr}}.news-stat-v3[data-v-4c1a2820]{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 4px 20px -3px rgba(0,0,0,.04);margin-bottom:28px}.stat-section-header[data-v-4c1a2820]{justify-content:space-between;flex-wrap:wrap;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.header-title-group[data-v-4c1a2820],.stat-section-header[data-v-4c1a2820]{display:flex;align-items:center;gap:14px}.header-icon-badge[data-v-4c1a2820]{width:44px;height:44px;border-radius:14px;background:#fef3c7;color:#d97706;display:flex;align-items:center;justify-content:center;font-size:22px}.header-title[data-v-4c1a2820]{margin:0 0 4px;font-size:20px;font-weight:800;color:#0f172a}.header-subtitle[data-v-4c1a2820]{margin:0;font-size:13px;color:#64748b}.live-indicator[data-v-4c1a2820]{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#d97706;background:#fffbeb;padding:5px 12px;border-radius:999px;border:1px solid #fde68a}.pulse-dot[data-v-4c1a2820]{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.25);animation:pulseDot-4c1a2820 2s infinite}@keyframes pulseDot-4c1a2820{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.news-kpi-grid[data-v-4c1a2820]{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.news-kpi-card[data-v-4c1a2820]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;transition:all .2s ease}.news-kpi-card[data-v-4c1a2820]:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.04)}.kpi-icon-wrap[data-v-4c1a2820]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.kpi-details[data-v-4c1a2820]{flex:1;min-width:0}.kpi-name[data-v-4c1a2820]{display:block;font-size:12px;font-weight:600;color:#64748b;margin-bottom:3px}.kpi-number[data-v-4c1a2820]{font-size:22px;font-weight:800;line-height:1.1;margin-bottom:4px}.kpi-unit[data-v-4c1a2820]{font-size:12px;font-weight:600;color:#94a3b8}.kpi-hint[data-v-4c1a2820]{font-size:11px;color:#94a3b8;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.border-indigo[data-v-4c1a2820]{border-left:3.5px solid #4f46e5}.border-blue[data-v-4c1a2820]{border-left:3.5px solid #0284c7}.border-teal[data-v-4c1a2820]{border-left:3.5px solid #0d9488}.border-amber[data-v-4c1a2820]{border-left:3.5px solid #d97706}.border-purple[data-v-4c1a2820]{border-left:3.5px solid #8b5cf6}.text-indigo[data-v-4c1a2820]{color:#4f46e5}.text-blue[data-v-4c1a2820]{color:#0284c7}.text-teal[data-v-4c1a2820]{color:#0d9488}.text-amber[data-v-4c1a2820]{color:#d97706}.text-purple[data-v-4c1a2820]{color:#8b5cf6}.text-green[data-v-4c1a2820]{color:#10b981}.bg-indigo-soft[data-v-4c1a2820]{background:#e0e7ff}.bg-blue-soft[data-v-4c1a2820]{background:#e0f2fe}.bg-teal-soft[data-v-4c1a2820]{background:#ccfbf1}.bg-amber-soft[data-v-4c1a2820]{background:#fef3c7}.bg-purple-soft[data-v-4c1a2820]{background:#f3e8ff}.news-content-row[data-v-4c1a2820]{display:flex;flex-wrap:wrap;margin-bottom:-10px}.news-content-row[data-v-4c1a2820]:after,.news-content-row[data-v-4c1a2820]:before{display:none}.news-content-row>.el-col[data-v-4c1a2820]{display:flex;flex-direction:column;margin-bottom:20px}.card-box[data-v-4c1a2820]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;flex:1;height:100%;box-sizing:border-box}.h-100[data-v-4c1a2820]{height:100%}.card-box-header[data-v-4c1a2820]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.box-title[data-v-4c1a2820]{margin:0 0 3px;font-size:15px;font-weight:700;color:#1e293b}.box-subtitle[data-v-4c1a2820]{margin:0;font-size:12px;color:#94a3b8}.tag-soft[data-v-4c1a2820]{font-size:11px;font-weight:700;padding:3px 9px;border-radius:8px}.tag-soft--blue[data-v-4c1a2820]{background:#e0f2fe;color:#0369a1}.chart-wrapper[data-v-4c1a2820]{width:100%;height:250px;position:relative}.chart-legend-row[data-v-4c1a2820]{display:flex;justify-content:center;align-items:center;gap:16px;font-size:12px;font-weight:600;color:#475569;margin-top:auto;padding-top:10px;border-top:1px solid #e2e8f0}.legend-chip[data-v-4c1a2820]{display:flex;align-items:center;gap:6px}.chip-color[data-v-4c1a2820]{width:12px;height:12px;border-radius:3px}.chip-school[data-v-4c1a2820]{background:#3b82f6}.chip-class[data-v-4c1a2820]{background:#10b981}.compact-radio-group[data-v-4c1a2820] .el-radio-button__inner{font-size:11.5px;padding:6px 12px}.table-scroll-container[data-v-4c1a2820]{border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;background:#fff}.news-title-cell[data-v-4c1a2820]{display:flex;align-items:center;gap:8px}.news-title-text[data-v-4c1a2820]{font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-badge[data-v-4c1a2820]{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px}.badge-school[data-v-4c1a2820]{background:#e0f2fe;color:#0369a1}.badge-class[data-v-4c1a2820]{background:#f3e8ff;color:#7e22ce}.badge-unknown[data-v-4c1a2820]{background:#f1f5f9;color:#475569}.news-api-alert[data-v-4c1a2820]{margin-bottom:12px}.time-text[data-v-4c1a2820]{font-size:11.5px;color:#64748b;font-weight:500}.views-badge[data-v-4c1a2820]{font-size:11.5px;font-weight:700;color:#334155;display:inline-flex;align-items:center;gap:4px}.status-tag[data-v-4c1a2820]{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.status-approved[data-v-4c1a2820]{background:#dcfce7;color:#15803d}.status-pending[data-v-4c1a2820]{background:#fef3c7;color:#b45309}@media (max-width:1300px){.news-kpi-grid[data-v-4c1a2820]{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.news-kpi-grid[data-v-4c1a2820]{grid-template-columns:1fr}}.schedule-stat-v3[data-v-77c7bbf7]{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 4px 20px -3px rgba(0,0,0,.04);margin-bottom:28px}.stat-section-header[data-v-77c7bbf7]{justify-content:space-between;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.header-title-group[data-v-77c7bbf7],.stat-section-header[data-v-77c7bbf7]{display:flex;align-items:center;gap:14px}.header-icon-badge[data-v-77c7bbf7]{width:44px;height:44px;border-radius:14px;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;font-size:22px}.header-title[data-v-77c7bbf7]{margin:0 0 4px;font-size:20px;font-weight:800;color:#0f172a}.header-subtitle[data-v-77c7bbf7]{margin:0;font-size:13px;color:#64748b}.live-indicator[data-v-77c7bbf7]{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#059669;background:#ecfdf5;padding:6px 14px;border-radius:999px;border:1px solid #a7f3d0}.pulse-dot[data-v-77c7bbf7]{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.25);animation:pulseDot-77c7bbf7 2s infinite}@keyframes pulseDot-77c7bbf7{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.filter-control-bar[data-v-77c7bbf7]{justify-content:space-between;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 16px;margin-bottom:22px}.filter-control-bar[data-v-77c7bbf7],.filter-left[data-v-77c7bbf7]{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.filter-chip[data-v-77c7bbf7]{display:flex;align-items:center;gap:6px}.chip-label[data-v-77c7bbf7]{font-size:12.5px;font-weight:600;color:#475569;white-space:nowrap}.week-picker[data-v-77c7bbf7]{width:175px}.grade-select[data-v-77c7bbf7]{width:185px}.week-nav-btn-group[data-v-77c7bbf7]{display:inline-flex;background:#e2e8f0;border-radius:8px;padding:2px}.nav-arrow-btn[data-v-77c7bbf7]{border:none;background:transparent;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#475569;transition:all .15s ease}.nav-arrow-btn[data-v-77c7bbf7]:hover{background:#fff;color:#2563eb}.nav-current-btn[data-v-77c7bbf7]{border:none;background:transparent;padding:0 10px;height:28px;font-size:11.5px;font-weight:600;color:#475569;cursor:pointer;border-radius:6px;transition:all .15s ease}.nav-current-btn[data-v-77c7bbf7]:hover{background:#fff;color:#2563eb}.week-range-tag[data-v-77c7bbf7]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#4338ca;background:#e0e7ff;padding:5px 12px;border-radius:8px}.filter-right[data-v-77c7bbf7]{display:flex;align-items:center}.deadline-pill[data-v-77c7bbf7]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:5px 12px;border-radius:8px}.deadline-ok[data-v-77c7bbf7]{background:#fef3c7;color:#b45309}.deadline-past[data-v-77c7bbf7]{background:#fee2e2;color:#b91c1c}.schedule-kpi-grid[data-v-77c7bbf7]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.schedule-kpi-card[data-v-77c7bbf7]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px 18px;display:flex;align-items:flex-start;gap:14px;transition:all .2s ease}.interactive-card[data-v-77c7bbf7]{cursor:pointer;position:relative}.interactive-card[data-v-77c7bbf7]:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.06);background:#fff}.kpi-title-row[data-v-77c7bbf7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.click-hint-badge[data-v-77c7bbf7]{font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;gap:2px}.kpi-icon-wrap[data-v-77c7bbf7]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.kpi-details[data-v-77c7bbf7]{flex:1;min-width:0}.kpi-name[data-v-77c7bbf7]{display:block;font-size:12.5px;font-weight:600;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-number[data-v-77c7bbf7]{font-size:24px;font-weight:800;line-height:1.15;margin-bottom:4px}.kpi-unit[data-v-77c7bbf7]{font-size:12px;font-weight:600;color:#94a3b8}.kpi-hint[data-v-77c7bbf7]{font-size:11.5px;color:#94a3b8;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.border-indigo[data-v-77c7bbf7]{border-left:4px solid #4f46e5}.border-emerald[data-v-77c7bbf7]{border-left:4px solid #059669}.border-rose[data-v-77c7bbf7]{border-left:4px solid #ef4444}.border-amber[data-v-77c7bbf7]{border-left:4px solid #f59e0b}.text-indigo[data-v-77c7bbf7]{color:#4f46e5}.text-emerald[data-v-77c7bbf7]{color:#059669}.text-rose[data-v-77c7bbf7]{color:#ef4444}.text-amber[data-v-77c7bbf7]{color:#f59e0b}.bg-indigo-soft[data-v-77c7bbf7]{background:#e0e7ff}.bg-emerald-soft[data-v-77c7bbf7]{background:#ecfdf5}.bg-rose-soft[data-v-77c7bbf7]{background:#ffe4e6}.bg-amber-soft[data-v-77c7bbf7]{background:#fef3c7}.charts-row[data-v-77c7bbf7]{display:flex;flex-wrap:wrap;margin-bottom:20px}.charts-row[data-v-77c7bbf7]:after,.charts-row[data-v-77c7bbf7]:before{display:none}.charts-row>.el-col[data-v-77c7bbf7]{display:flex;flex-direction:column;margin-bottom:20px}.chart-card[data-v-77c7bbf7]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:20px;display:flex;flex-direction:column;flex:1;height:100%;box-sizing:border-box}.h-100[data-v-77c7bbf7]{height:100%}.chart-card-head[data-v-77c7bbf7]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.chart-title[data-v-77c7bbf7]{margin:0 0 3px;font-size:15.5px;font-weight:700;color:#1e293b}.chart-subtitle[data-v-77c7bbf7]{margin:0;font-size:12px;color:#94a3b8}.chart-legend-chips[data-v-77c7bbf7]{display:flex;align-items:center;gap:12px;font-size:11.5px;font-weight:600;color:#475569}.legend-dot-item[data-v-77c7bbf7]{display:flex;align-items:center;gap:5px}.chip-color[data-v-77c7bbf7]{width:10px;height:10px;border-radius:2px}.chip-pub[data-v-77c7bbf7]{background:#10b981}.chip-unpub[data-v-77c7bbf7]{background:#f43f5e}.tag-pill[data-v-77c7bbf7]{font-size:11px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap}.tag-pill--emerald[data-v-77c7bbf7]{background:#dcfce7;color:#15803d}.tag-pill--amber[data-v-77c7bbf7]{background:#fef3c7;color:#b45309}.grade-chart-scroll[data-v-77c7bbf7]{width:100%;overflow-x:auto;overflow-y:hidden}.grade-chart-canvas[data-v-77c7bbf7]{min-width:100%;height:270px}.grade-chart-empty[data-v-77c7bbf7]{margin:40px 0;color:#94a3b8;text-align:center;font-size:13px}.chart-container-gauge[data-v-77c7bbf7]{width:100%;height:200px;position:relative}.gauge-action-footer[data-v-77c7bbf7]{display:flex;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid #e2e8f0}.quick-open-btn[data-v-77c7bbf7]{flex:1;border-radius:8px;font-weight:600}.dialog-custom-header[data-v-77c7bbf7]{display:flex;align-items:center;gap:14px}.header-icon-box[data-v-77c7bbf7]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.box-emerald[data-v-77c7bbf7]{background:#ecfdf5;color:#059669}.box-rose[data-v-77c7bbf7]{background:#ffe4e6;color:#e11d48}.dialog-heading[data-v-77c7bbf7]{margin:0 0 3px;font-size:17px;font-weight:800;color:#0f172a}.dialog-subheading[data-v-77c7bbf7]{margin:0;font-size:12.5px;color:#64748b}.dialog-tab-bar[data-v-77c7bbf7]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}.dialog-tab-btn[data-v-77c7bbf7]{border:1px solid #e2e8f0;background:#f8fafc;padding:8px 16px;border-radius:10px;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .2s ease}.dialog-tab-btn.active[data-v-77c7bbf7]{background:#ecfdf5;color:#059669;border-color:#a7f3d0;box-shadow:0 2px 6px rgba(5,150,105,.12)}.dialog-tab-btn.btn-danger-tab.active[data-v-77c7bbf7]{background:#ffe4e6;color:#e11d48;border-color:#fecdd3;box-shadow:0 2px 6px rgba(225,29,72,.12)}.dialog-search-wrap[data-v-77c7bbf7]{margin-left:auto}.dialog-search-input[data-v-77c7bbf7]{width:250px}.dialog-table-container[data-v-77c7bbf7]{max-height:420px;overflow-y:auto}.modern-schedule-table[data-v-77c7bbf7]{width:100%;border-radius:10px;overflow:hidden}.class-title-cell[data-v-77c7bbf7]{display:flex;flex-direction:column}.sub-grade[data-v-77c7bbf7]{font-size:11px;color:#94a3b8}.time-stamp[data-v-77c7bbf7]{font-size:12px;color:#475569}.file-type-badge[data-v-77c7bbf7]{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.type-standard[data-v-77c7bbf7]{background:#ede9fe;color:#7c3aed}.type-excel[data-v-77c7bbf7]{background:#e0f2fe;color:#0284c7}.status-chip[data-v-77c7bbf7]{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}.status-chip--success[data-v-77c7bbf7]{background:#dcfce7;color:#15803d}.status-chip--warning[data-v-77c7bbf7]{background:#fef3c7;color:#b45309}.status-chip--danger[data-v-77c7bbf7]{background:#fee2e2;color:#b91c1c}.reminder-action-bar[data-v-77c7bbf7]{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;padding:10px 14px;margin-bottom:14px;flex-wrap:wrap}.reminder-text[data-v-77c7bbf7]{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#9f1239}.deadline-tag[data-v-77c7bbf7]{font-size:12px;font-weight:600}@media (max-width:992px){.schedule-kpi-grid[data-v-77c7bbf7]{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.filter-control-bar[data-v-77c7bbf7]{flex-direction:column;align-items:flex-start}.schedule-kpi-grid[data-v-77c7bbf7]{grid-template-columns:1fr}.chart-card-head[data-v-77c7bbf7]{flex-wrap:wrap}}.roster-note[data-v-ca76546e]{margin:12px 0;color:#64748b;font-size:12px}.menu-stat-v3[data-v-ca76546e]{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 4px 20px -3px rgba(0,0,0,.04);margin-bottom:28px}.stat-section-header[data-v-ca76546e]{justify-content:space-between;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.header-title-group[data-v-ca76546e],.stat-section-header[data-v-ca76546e]{display:flex;align-items:center;gap:14px}.header-icon-badge[data-v-ca76546e]{width:44px;height:44px;border-radius:14px;background:#fef3c7;color:#d97706;display:flex;align-items:center;justify-content:center;font-size:22px}.header-title[data-v-ca76546e]{margin:0 0 4px;font-size:20px;font-weight:800;color:#0f172a}.header-subtitle[data-v-ca76546e]{margin:0;font-size:13px;color:#64748b}.live-indicator[data-v-ca76546e]{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#059669;background:#ecfdf5;padding:6px 14px;border-radius:999px;border:1px solid #a7f3d0}.pulse-dot[data-v-ca76546e]{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.25);animation:pulseDot-ca76546e 2s infinite}@keyframes pulseDot-ca76546e{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.filter-control-bar[data-v-ca76546e]{justify-content:space-between;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 16px;margin-bottom:22px}.filter-control-bar[data-v-ca76546e],.filter-left[data-v-ca76546e]{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.filter-chip[data-v-ca76546e]{display:flex;align-items:center;gap:6px}.chip-label[data-v-ca76546e]{font-size:12.5px;font-weight:600;color:#475569;white-space:nowrap}.week-picker[data-v-ca76546e]{width:175px}.grade-select[data-v-ca76546e]{width:185px}.week-nav-btn-group[data-v-ca76546e]{display:inline-flex;background:#e2e8f0;border-radius:8px;padding:2px}.nav-arrow-btn[data-v-ca76546e]{border:none;background:transparent;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#475569;transition:all .15s ease}.nav-arrow-btn[data-v-ca76546e]:hover{background:#fff;color:#d97706}.nav-current-btn[data-v-ca76546e]{border:none;background:transparent;padding:0 10px;height:28px;font-size:11.5px;font-weight:600;color:#475569;cursor:pointer;border-radius:6px;transition:all .15s ease}.nav-current-btn[data-v-ca76546e]:hover{background:#fff;color:#d97706}.week-range-tag[data-v-ca76546e]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#b45309;background:#fef3c7;padding:5px 12px;border-radius:8px}.filter-right[data-v-ca76546e]{display:flex;align-items:center}.deadline-pill[data-v-ca76546e]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:5px 12px;border-radius:8px}.deadline-ok[data-v-ca76546e]{background:#fef3c7;color:#b45309}.deadline-past[data-v-ca76546e]{background:#fee2e2;color:#b91c1c}.menu-kpi-grid[data-v-ca76546e]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.menu-kpi-card[data-v-ca76546e]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px 18px;display:flex;align-items:flex-start;gap:14px;transition:all .2s ease}.interactive-card[data-v-ca76546e]{cursor:pointer;position:relative}.interactive-card[data-v-ca76546e]:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.06)}.border-indigo[data-v-ca76546e]{border-left:5px solid #6366f1}.border-emerald[data-v-ca76546e]{border-left:5px solid #10b981}.border-rose[data-v-ca76546e]{border-left:5px solid #f43f5e}.kpi-icon-wrap[data-v-ca76546e]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.bg-indigo-soft[data-v-ca76546e]{background:#ede9fe}.text-indigo[data-v-ca76546e]{color:#6366f1}.bg-emerald-soft[data-v-ca76546e]{background:#dcfce7}.text-emerald[data-v-ca76546e]{color:#10b981}.bg-rose-soft[data-v-ca76546e]{background:#ffe4e6}.text-rose[data-v-ca76546e]{color:#f43f5e}.kpi-details[data-v-ca76546e]{flex:1}.kpi-title-row[data-v-ca76546e]{display:flex;justify-content:space-between;align-items:center}.kpi-name[data-v-ca76546e]{font-size:13px;font-weight:600;color:#64748b;display:block;margin-bottom:4px}.click-hint-badge[data-v-ca76546e]{font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:2px;background:#fff;padding:2px 8px;border-radius:12px;border:1px solid #e2e8f0}.kpi-number[data-v-ca76546e]{font-size:26px;font-weight:800;line-height:1.1;margin-bottom:4px}.kpi-unit[data-v-ca76546e]{font-size:13px;font-weight:500;color:#94a3b8}.kpi-hint[data-v-ca76546e]{font-size:12px;color:#64748b;font-weight:500}.charts-row[data-v-ca76546e]{display:flex;flex-wrap:wrap;margin-bottom:24px}.charts-row[data-v-ca76546e]:after,.charts-row[data-v-ca76546e]:before{display:none}.charts-row>.el-col[data-v-ca76546e]{display:flex;flex-direction:column;margin-bottom:20px}.chart-card[data-v-ca76546e]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;flex:1;height:100%;box-sizing:border-box}.chart-card-head[data-v-ca76546e]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;gap:8px}.chart-title[data-v-ca76546e]{margin:0 0 3px;font-size:15px;font-weight:700;color:#0f172a}.chart-subtitle[data-v-ca76546e]{margin:0;font-size:12px;color:#64748b}.chart-legend-chips[data-v-ca76546e]{display:flex;gap:12px;align-items:center}.legend-dot-item[data-v-ca76546e]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#475569}.chip-color[data-v-ca76546e]{width:10px;height:10px;border-radius:3px}.chip-pub[data-v-ca76546e]{background:#10b981}.chip-unpub[data-v-ca76546e]{background:#f43f5e}.grade-chart-scroll[data-v-ca76546e]{max-width:100%;overflow-x:auto;overflow-y:hidden}.grade-chart[data-v-ca76546e]{min-width:100%;height:310px}.grade-chart-empty[data-v-ca76546e]{margin:40px 0;color:#94a3b8;text-align:center;font-size:13px}.gauge-container-card[data-v-ca76546e]{display:flex;flex-direction:column}.gauge-status-badge[data-v-ca76546e]{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px}.badge-good[data-v-ca76546e]{background:#dcfce7;color:#15803d}.badge-warn[data-v-ca76546e]{background:#fee2e2;color:#b91c1c}.gauge-chart-box[data-v-ca76546e]{height:200px;width:100%}.gauge-summary-footer[data-v-ca76546e]{display:flex;justify-content:space-around;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;margin:auto 0 14px}.gauge-summary-stat[data-v-ca76546e]{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-lbl[data-v-ca76546e]{font-size:11.5px;color:#64748b;font-weight:500}.stat-val[data-v-ca76546e]{font-size:16px;font-weight:800}.gauge-divider[data-v-ca76546e]{width:1px;height:28px;background:#e2e8f0}.quick-action-strip[data-v-ca76546e]{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.dialog-custom-header[data-v-ca76546e]{display:flex;align-items:center;gap:14px}.header-icon-box[data-v-ca76546e]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.box-emerald[data-v-ca76546e]{background:#dcfce7;color:#10b981}.box-rose[data-v-ca76546e]{background:#ffe4e6;color:#f43f5e}.dialog-heading[data-v-ca76546e]{margin:0 0 4px;font-size:18px;font-weight:800;color:#0f172a}.dialog-subheading[data-v-ca76546e]{margin:0;font-size:12.5px;color:#64748b}.dialog-tab-bar[data-v-ca76546e]{display:flex;align-items:center;gap:10px;margin-bottom:16px;border-bottom:1px solid #e2e8f0;padding-bottom:12px;flex-wrap:wrap}.dialog-tab-btn[data-v-ca76546e]{border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:13px;font-weight:600;padding:8px 16px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.dialog-tab-btn[data-v-ca76546e]:hover{background:#f1f5f9;color:#1e293b}.dialog-tab-btn.active[data-v-ca76546e]{background:#10b981;color:#fff;border-color:#10b981}.btn-danger-tab.active[data-v-ca76546e]{background:#f43f5e;border-color:#f43f5e;color:#fff}.dialog-search-wrap[data-v-ca76546e]{margin-left:auto;width:250px}.dialog-table-container[data-v-ca76546e]{max-height:460px;overflow-y:auto}.class-title-cell[data-v-ca76546e]{display:flex;flex-direction:column;gap:2px}.sub-grade[data-v-ca76546e]{font-size:11.5px;color:#64748b}.time-stamp[data-v-ca76546e]{font-size:12px;color:#475569}.reminder-action-bar[data-v-ca76546e]{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;padding:10px 14px;margin-bottom:14px;flex-wrap:wrap}.reminder-text[data-v-ca76546e]{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#9f1239}@media (max-width:992px){.menu-kpi-grid[data-v-ca76546e]{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.filter-control-bar[data-v-ca76546e]{flex-direction:column;align-items:flex-start}.menu-kpi-grid[data-v-ca76546e]{grid-template-columns:1fr}.chart-card-head[data-v-ca76546e]{flex-wrap:wrap}}.album-stat-v3[data-v-16e8e286]{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 4px 20px -3px rgba(0,0,0,.04);margin-bottom:28px}.stat-section-header[data-v-16e8e286]{justify-content:space-between;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.header-title-group[data-v-16e8e286],.stat-section-header[data-v-16e8e286]{display:flex;align-items:center;gap:14px}.header-icon-badge[data-v-16e8e286]{width:44px;height:44px;border-radius:14px;background:#f3e8ff;color:#8b5cf6;display:flex;align-items:center;justify-content:center;font-size:22px}.header-title[data-v-16e8e286]{margin:0 0 4px;font-size:20px;font-weight:800;color:#0f172a}.header-subtitle[data-v-16e8e286]{margin:0;font-size:13px;color:#64748b}.live-indicator[data-v-16e8e286]{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#7c3aed;background:#f5f3ff;padding:6px 14px;border-radius:999px;border:1px solid #ddd6fe}.pulse-dot[data-v-16e8e286]{width:8px;height:8px;border-radius:50%;background:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.25);animation:pulseDot-16e8e286 2s infinite}@keyframes pulseDot-16e8e286{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.filter-control-bar[data-v-16e8e286]{justify-content:space-between;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 16px;margin-bottom:22px}.filter-control-bar[data-v-16e8e286],.filter-left[data-v-16e8e286]{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.filter-mode-pills[data-v-16e8e286]{display:inline-flex;background:#e2e8f0;border-radius:8px;padding:3px;gap:2px}.mode-pill-btn[data-v-16e8e286]{border:none;background:transparent;padding:5px 12px;font-size:12px;font-weight:600;color:#475569;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease}.mode-pill-btn.active[data-v-16e8e286]{background:#fff;color:#7c3aed;box-shadow:0 1px 3px rgba(0,0,0,.08)}.filter-chip[data-v-16e8e286]{display:flex;align-items:center;gap:6px}.chip-label[data-v-16e8e286]{font-size:12.5px;font-weight:600;color:#475569;white-space:nowrap}.filter-date-input[data-v-16e8e286]{width:145px}.filter-week-group[data-v-16e8e286]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-week-input[data-v-16e8e286]{width:165px}.filter-range-input[data-v-16e8e286]{width:250px}.grade-select[data-v-16e8e286]{width:185px}.week-nav-btn-group[data-v-16e8e286]{display:inline-flex;background:#e2e8f0;border-radius:8px;padding:2px}.nav-arrow-btn[data-v-16e8e286]{border:none;background:transparent;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#475569;transition:all .15s ease}.nav-arrow-btn[data-v-16e8e286]:hover{background:#fff;color:#7c3aed}.nav-current-btn[data-v-16e8e286]{border:none;background:transparent;padding:0 10px;height:28px;font-size:11.5px;font-weight:600;color:#475569;cursor:pointer;border-radius:6px;transition:all .15s ease}.nav-current-btn[data-v-16e8e286]:hover{background:#fff;color:#7c3aed}.range-display-tag[data-v-16e8e286]{font-size:11.5px;font-weight:700;color:#6366f1;background:#e0e7ff;padding:4px 10px;border-radius:6px}.filter-right[data-v-16e8e286]{display:flex;align-items:center}.btn-refresh[data-v-16e8e286]{border-radius:8px}.album-kpi-grid[data-v-16e8e286]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.album-kpi-card[data-v-16e8e286]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px;display:flex;align-items:flex-start;gap:12px;transition:all .2s ease}.interactive-card[data-v-16e8e286]{cursor:pointer;position:relative}.interactive-card[data-v-16e8e286]:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.06)}.border-purple[data-v-16e8e286]{border-left:5px solid #8b5cf6}.border-emerald[data-v-16e8e286]{border-left:5px solid #10b981}.border-amber[data-v-16e8e286]{border-left:5px solid #f59e0b}.border-blue[data-v-16e8e286]{border-left:5px solid #0284c7}.border-pink[data-v-16e8e286]{border-left:5px solid #ec4899}.kpi-icon-wrap[data-v-16e8e286]{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.bg-purple-soft[data-v-16e8e286]{background:#f3e8ff}.text-purple[data-v-16e8e286]{color:#8b5cf6}.bg-emerald-soft[data-v-16e8e286]{background:#dcfce7}.text-emerald[data-v-16e8e286]{color:#10b981}.bg-amber-soft[data-v-16e8e286]{background:#fef3c7}.text-amber[data-v-16e8e286]{color:#d97706}.bg-blue-soft[data-v-16e8e286]{background:#e0f2fe}.text-blue[data-v-16e8e286]{color:#0284c7}.bg-pink-soft[data-v-16e8e286]{background:#fce7f3}.text-pink[data-v-16e8e286]{color:#ec4899}.bg-gray-soft[data-v-16e8e286]{background:#f1f5f9}.text-muted[data-v-16e8e286]{color:#94a3b8}.kpi-details[data-v-16e8e286]{flex:1;min-width:0}.kpi-title-row[data-v-16e8e286]{display:flex;justify-content:space-between;align-items:center}.kpi-name[data-v-16e8e286]{font-size:12.5px;font-weight:600;color:#64748b;display:block;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.click-hint-badge[data-v-16e8e286]{font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:2px;background:#fff;padding:2px 6px;border-radius:10px;border:1px solid #e2e8f0}.kpi-number[data-v-16e8e286]{font-size:24px;font-weight:800;line-height:1.1;margin-bottom:4px}.kpi-unit[data-v-16e8e286]{font-size:12px;font-weight:500;color:#94a3b8}.kpi-hint[data-v-16e8e286]{font-size:11.5px;color:#64748b;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.charts-row[data-v-16e8e286]{display:flex;flex-wrap:wrap;margin-bottom:24px}.charts-row[data-v-16e8e286]:after,.charts-row[data-v-16e8e286]:before{display:none}.charts-row>.el-col[data-v-16e8e286]{display:flex;flex-direction:column;margin-bottom:20px}.chart-card[data-v-16e8e286]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;flex:1;height:100%;box-sizing:border-box}.chart-card-head[data-v-16e8e286]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;gap:8px}.chart-title[data-v-16e8e286]{margin:0 0 3px;font-size:15px;font-weight:700;color:#0f172a}.chart-subtitle[data-v-16e8e286]{margin:0;font-size:12px;color:#64748b}.chart-legend-chips[data-v-16e8e286]{display:flex;gap:12px;align-items:center}.legend-dot-item[data-v-16e8e286]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#475569}.chip-color[data-v-16e8e286]{width:10px;height:10px;border-radius:3px}.chip-approved[data-v-16e8e286]{background:#10b981}.chip-pending[data-v-16e8e286]{background:#f59e0b}.chart-box-main[data-v-16e8e286]{height:310px;width:100%}.doughnut-card[data-v-16e8e286]{display:flex;flex-direction:column}.badge-total-pill[data-v-16e8e286]{font-size:11.5px;font-weight:700;color:#7c3aed;background:#f3e8ff;padding:3px 10px;border-radius:999px}.chart-box-doughnut[data-v-16e8e286]{height:180px;width:100%}.grade-legend-list[data-v-16e8e286]{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:10px;border-top:1px solid #e2e8f0}.grade-legend-row[data-v-16e8e286]{display:flex;justify-content:space-between;align-items:center;font-size:12px}.legend-left[data-v-16e8e286]{display:flex;align-items:center;gap:8px}.color-dot[data-v-16e8e286]{width:8px;height:8px;border-radius:50%}.legend-name[data-v-16e8e286]{color:#334155;font-weight:600}.legend-right[data-v-16e8e286]{display:flex;gap:6px;align-items:center}.legend-count[data-v-16e8e286]{color:#0f172a;font-weight:700}.legend-pct[data-v-16e8e286]{color:#64748b;font-size:11px}.dialog-custom-header[data-v-16e8e286]{display:flex;align-items:center;gap:14px}.dialog-icon-badge[data-v-16e8e286]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.badge-purple[data-v-16e8e286]{background:#f3e8ff;color:#8b5cf6}.badge-emerald[data-v-16e8e286]{background:#dcfce7;color:#10b981}.badge-amber[data-v-16e8e286]{background:#fef3c7;color:#d97706}.dialog-heading[data-v-16e8e286]{margin:0 0 4px;font-size:18px;font-weight:800;color:#0f172a}.dialog-subheading[data-v-16e8e286]{margin:0;font-size:12.5px;color:#64748b}.dialog-filter-bar[data-v-16e8e286]{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;border-bottom:1px solid #e2e8f0;padding-bottom:14px;flex-wrap:wrap;gap:12px}.dialog-tab-group[data-v-16e8e286]{display:flex;gap:8px}.d-tab-btn[data-v-16e8e286]{border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.d-tab-btn[data-v-16e8e286]:hover{background:#f1f5f9;color:#1e293b}.d-tab-btn.active[data-v-16e8e286]{background:#7c3aed;color:#fff;border-color:#7c3aed}.tab-success.active[data-v-16e8e286]{background:#10b981;border-color:#10b981;color:#fff}.tab-warning.active[data-v-16e8e286]{background:#f59e0b;border-color:#f59e0b;color:#fff}.dialog-search[data-v-16e8e286]{width:250px}.dialog-album-grid-container[data-v-16e8e286]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;max-height:480px;overflow-y:auto;padding-right:4px}.empty-album-state[data-v-16e8e286]{grid-column:1/-1;text-align:center;padding:40px 20px;color:#94a3b8}.empty-album-state i[data-v-16e8e286]{font-size:40px;margin-bottom:8px;display:block}.album-card-item[data-v-16e8e286]{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column}.album-card-item[data-v-16e8e286]:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.06)}.album-thumb-container[data-v-16e8e286]{position:relative;height:120px;overflow:hidden}.album-cover-placeholder[data-v-16e8e286]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.cover-icon[data-v-16e8e286]{font-size:32px;opacity:.85}.cover-topic-tag[data-v-16e8e286]{font-size:11px;font-weight:700;background:rgba(0,0,0,.2);padding:2px 8px;border-radius:999px;margin-top:4px}.photo-pill-badge[data-v-16e8e286]{position:absolute;bottom:8px;right:8px;background:rgba(15,23,42,.75);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;backdrop-filter:blur(4px)}.status-pill-badge[data-v-16e8e286]{position:absolute;top:8px;left:8px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px}.badge-approved[data-v-16e8e286]{background:#dcfce7;color:#15803d}.badge-pending[data-v-16e8e286]{background:#fef3c7;color:#b45309}.album-card-body[data-v-16e8e286]{padding:12px 14px;display:flex;flex-direction:column;flex:1}.album-item-title[data-v-16e8e286]{margin:0 0 8px;font-size:13.5px;font-weight:700;color:#0f172a;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:36px}.album-item-meta[data-v-16e8e286]{display:flex;justify-content:space-between;font-size:11.5px;color:#64748b;margin-bottom:6px}.album-item-class[data-v-16e8e286]{font-weight:600;color:#6366f1}.album-item-teacher[data-v-16e8e286]{font-size:11.5px;color:#64748b;margin-bottom:10px}.album-item-teacher b[data-v-16e8e286]{color:#334155}.album-item-foot[data-v-16e8e286]{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid #f1f5f9}.social-stats[data-v-16e8e286]{display:flex;gap:10px;font-size:11.5px;font-weight:600}.stat-heart[data-v-16e8e286]{color:#ec4899}.stat-cmt[data-v-16e8e286]{color:#0284c7}.view-photos-link[data-v-16e8e286]{font-size:11.5px;font-weight:600;color:#7c3aed;padding:0}@media (max-width:768px){.album-kpi-grid[data-v-16e8e286]{grid-template-columns:1fr}.filter-control-bar[data-v-16e8e286]{flex-direction:column;align-items:flex-start}}.album-loading-state[data-v-16e8e286]{padding:18px;text-align:center;color:#64748b}.album-stat-disabled[data-v-16e8e286]{opacity:.55;pointer-events:none}.album-stat-pagination[data-v-16e8e286]{padding:12px;text-align:center}.album-stat-cover[data-v-16e8e286]{width:100%;height:100%;object-fit:cover}.tuition-state-alert[data-v-fbd2e362]{margin-bottom:18px}.tuition-stat-v3[data-v-fbd2e362]{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;box-shadow:0 4px 20px -3px rgba(0,0,0,.04);margin-bottom:28px}.stat-section-header[data-v-fbd2e362]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #f1f5f9}.header-left[data-v-fbd2e362]{display:flex;align-items:center;gap:14px}.section-icon-badge[data-v-fbd2e362]{width:48px;height:48px;border-radius:14px;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.section-icon-badge.sub-icon[data-v-fbd2e362]{width:38px;height:38px;font-size:20px;border-radius:10px;background:#f1f5f9;color:#475569}.title-with-pill[data-v-fbd2e362]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.section-main-title[data-v-fbd2e362]{margin:0;font-size:20px;font-weight:800;color:#0f172a}.live-status-pill[data-v-fbd2e362]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;border-radius:999px;font-size:11.5px;font-weight:700}.pulse-dot[data-v-fbd2e362]{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,.3)}.section-subtitle[data-v-fbd2e362]{margin:4px 0 0;font-size:13px;color:#64748b}.header-filters[data-v-fbd2e362]{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.filter-mode-tabs[data-v-fbd2e362]{display:flex;background:#f1f5f9;padding:3px;border-radius:10px}.mode-tab-btn[data-v-fbd2e362]{border:none;background:transparent;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;color:#64748b;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .2s ease}.mode-tab-btn.active[data-v-fbd2e362]{background:#fff;color:#2563eb;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.06)}.picker-container .month-picker[data-v-fbd2e362]{width:165px}.picker-container .range-picker[data-v-fbd2e362]{width:240px}.grade-filter-box .grade-select[data-v-fbd2e362]{width:190px}.tuition-kpi-grid[data-v-fbd2e362]{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}.tuition-kpi-card[data-v-fbd2e362]{display:flex;gap:16px;padding:20px;border-radius:16px;border:1px solid #e2e8f0;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.tuition-kpi-card[data-v-fbd2e362]:hover{transform:translateY(-2px);box-shadow:0 8px 24px -4px rgba(0,0,0,.06)}.kpi-receivable[data-v-fbd2e362]{border-left:5px solid #3b82f6}.kpi-paid[data-v-fbd2e362]{border-left:5px solid #10b981}.kpi-remaining[data-v-fbd2e362]{border-left:5px solid #f43f5e}.kpi-icon-wrap[data-v-fbd2e362]{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.bg-blue-subtle[data-v-fbd2e362]{background:#eff6ff}.text-blue[data-v-fbd2e362]{color:#2563eb}.text-blue-dark[data-v-fbd2e362]{color:#1e3a8a}.bg-emerald-subtle[data-v-fbd2e362]{background:#ecfdf5}.text-emerald[data-v-fbd2e362]{color:#059669}.bg-rose-subtle[data-v-fbd2e362]{background:#fff1f2}.text-rose[data-v-fbd2e362]{color:#e11d48}.kpi-body[data-v-fbd2e362]{flex:1;display:flex;flex-direction:column}.kpi-top-row[data-v-fbd2e362]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.kpi-label[data-v-fbd2e362]{font-size:13px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.kpi-tag[data-v-fbd2e362]{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px}.tag-blue[data-v-fbd2e362]{background:#dbeafe;color:#1d4ed8}.tag-emerald[data-v-fbd2e362]{background:#dcfce7;color:#15803d}.tag-rose[data-v-fbd2e362]{background:#fee2e2;color:#b91c1c}.kpi-value-row[data-v-fbd2e362]{margin-bottom:8px}.kpi-amount[data-v-fbd2e362]{font-size:24px;font-weight:800;letter-spacing:-.5px}.kpi-progress-bar[data-v-fbd2e362]{width:100%;height:6px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin-bottom:8px}.kpi-progress-fill[data-v-fbd2e362]{height:100%;border-radius:999px;transition:width .4s ease}.fill-emerald[data-v-fbd2e362]{background:linear-gradient(90deg,#34d399,#10b981)}.fill-rose[data-v-fbd2e362]{background:linear-gradient(90deg,#fb7185,#f43f5e)}.kpi-meta-text[data-v-fbd2e362]{font-size:12px;color:#64748b;margin-top:auto}.status-summary-strip[data-v-fbd2e362]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px 20px;margin-bottom:24px}.strip-header[data-v-fbd2e362]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px dashed #e2e8f0}.strip-title[data-v-fbd2e362]{font-size:13.5px;font-weight:700;color:#334155;display:inline-flex;align-items:center;gap:6px}.strip-count-text[data-v-fbd2e362]{font-size:12.5px;color:#64748b}.status-chips-grid[data-v-fbd2e362]{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.status-chip-card[data-v-fbd2e362]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;transition:all .15s ease}.status-chip-card[data-v-fbd2e362]:hover{border-color:#cbd5e1;box-shadow:0 3px 8px rgba(0,0,0,.04)}.chip-top[data-v-fbd2e362]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.status-dot[data-v-fbd2e362]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-gray[data-v-fbd2e362]{background:#94a3b8}.dot-rose[data-v-fbd2e362]{background:#f43f5e}.dot-amber[data-v-fbd2e362]{background:#f59e0b}.dot-emerald[data-v-fbd2e362]{background:#10b981}.dot-purple[data-v-fbd2e362]{background:#a855f7}.dot-teal[data-v-fbd2e362]{background:#06b6d4}.dot-indigo[data-v-fbd2e362]{background:#6366f1}.text-amber[data-v-fbd2e362]{color:#d97706}.text-purple[data-v-fbd2e362]{color:#9333ea}.text-teal[data-v-fbd2e362]{color:#0891b2}.text-indigo[data-v-fbd2e362]{color:#4f46e5}.text-slate-dark[data-v-fbd2e362]{color:#334155;font-weight:600}.status-name[data-v-fbd2e362]{font-size:11.5px;font-weight:600;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-count[data-v-fbd2e362]{font-size:15px;font-weight:800;color:#0f172a;display:flex;align-items:baseline;gap:3px}.chip-count .unit[data-v-fbd2e362]{font-size:11px;font-weight:500;color:#64748b}.chip-count .pct[data-v-fbd2e362]{font-size:11px;font-weight:600;color:#94a3b8;margin-left:auto}.charts-row[data-v-fbd2e362]{display:flex;flex-wrap:wrap;margin-bottom:24px}.charts-row[data-v-fbd2e362]:after,.charts-row[data-v-fbd2e362]:before{display:none}.charts-row>.el-col[data-v-fbd2e362]{display:flex;flex-direction:column;margin-bottom:20px}.chart-card[data-v-fbd2e362]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;flex:1;height:100%;box-sizing:border-box}.chart-card-head[data-v-fbd2e362]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.chart-title[data-v-fbd2e362]{margin:0 0 4px;font-size:15px;font-weight:700;color:#0f172a}.chart-subtitle[data-v-fbd2e362]{margin:0;font-size:12px;color:#64748b}.tuition-chart-legend[data-v-fbd2e362]{display:flex;gap:12px;align-items:center}.tuition-legend-item[data-v-fbd2e362]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#475569}.tuition-legend-color[data-v-fbd2e362]{width:10px;height:10px;border-radius:3px;flex-shrink:0}.tuition-legend-color--paid[data-v-fbd2e362]{background:#10b981}.tuition-legend-color--remaining[data-v-fbd2e362]{background:#f43f5e}.badge-soft--blue[data-v-fbd2e362]{background:#eff6ff;color:#2563eb;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700}.chart-container[data-v-fbd2e362]{height:250px;width:100%}.class-tuition-section[data-v-fbd2e362]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px}.class-tuition-head[data-v-fbd2e362]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}.class-tuition-head.is-expanded[data-v-fbd2e362]{margin-bottom:16px}.class-tuition-actions[data-v-fbd2e362]{display:flex;align-items:center;gap:12px}.table-toggle-btn[data-v-fbd2e362]{font-weight:600;border-radius:8px;transition:all .2s ease}.class-tuition-title-group[data-v-fbd2e362]{display:flex;align-items:center;gap:12px}.section-heading[data-v-fbd2e362]{margin:0 0 3px;font-size:15.5px;font-weight:800;color:#0f172a}.section-subheading[data-v-fbd2e362]{margin:0;font-size:12px;color:#64748b}.class-tuition-search-wrap[data-v-fbd2e362]{display:flex;align-items:center;gap:10px}.table-search-input[data-v-fbd2e362]{width:220px}.counter-badge[data-v-fbd2e362]{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#4f46e5;background:#e0e7ff;padding:5px 12px;border-radius:8px;white-space:nowrap}.class-tuition-table-wrap[data-v-fbd2e362]{border-radius:12px;overflow:hidden;border:1px solid #e2e8f0}.modern-tuition-table[data-v-fbd2e362]{width:100%}.class-cell-meta[data-v-fbd2e362]{display:flex;flex-direction:column;gap:3px}.class-name-txt[data-v-fbd2e362]{font-size:13px;color:#0f172a}.grade-pill[data-v-fbd2e362]{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:5px;display:inline-block;width:fit-content}.pill-nursery[data-v-fbd2e362]{background:#fce7f3;color:#db2777}.pill-kinder_1[data-v-fbd2e362]{background:#fef3c7;color:#b45309}.pill-kinder_2[data-v-fbd2e362]{background:#dcfce7;color:#15803d}.pill-kinder_3[data-v-fbd2e362]{background:#ede9fe;color:#7c3aed}.student-count-badge[data-v-fbd2e362]{display:inline-block;font-weight:700;background:#f1f5f9;color:#1e293b;padding:2px 7px;border-radius:6px;font-size:11.5px}.badge-st[data-v-fbd2e362]{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700}.badge-zero[data-v-fbd2e362]{color:#94a3b8;background:#f8fafc}.badge-unbilled[data-v-fbd2e362]{background:#f1f5f9;color:#475569}.badge-unpaid[data-v-fbd2e362]{background:#fee2e2;color:#b91c1c}.badge-partial[data-v-fbd2e362]{background:#fef3c7;color:#b45309}.badge-fully-paid[data-v-fbd2e362]{background:#dcfce7;color:#15803d}.badge-overpaid[data-v-fbd2e362]{background:#f3e8ff;color:#7e22ce}.badge-surplus[data-v-fbd2e362]{background:#cffafe;color:#0e7490}.badge-deficit[data-v-fbd2e362]{background:#e0e7ff;color:#4338ca}.money-cell[data-v-fbd2e362]{font-size:12.5px;font-family:inherit;white-space:nowrap}@media (max-width:1300px){.status-chips-grid[data-v-fbd2e362]{grid-template-columns:repeat(4,1fr)}}@media (max-width:992px){.tuition-kpi-grid[data-v-fbd2e362]{grid-template-columns:1fr}.status-chips-grid[data-v-fbd2e362]{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.class-tuition-head[data-v-fbd2e362],.stat-section-header[data-v-fbd2e362]{flex-direction:column;align-items:flex-start}}.personnel-kpi-demo[data-v-a7ed15a0]{padding:24px;border:1px solid #dce5f5;border-radius:20px;background:#fff;color:#233044}.header-main[data-v-a7ed15a0],.module-header[data-v-a7ed15a0],.panel-heading[data-v-a7ed15a0],.scope-filter[data-v-a7ed15a0],.title-line[data-v-a7ed15a0]{display:flex;align-items:center}.module-header[data-v-a7ed15a0],.panel-heading[data-v-a7ed15a0]{justify-content:space-between;gap:16px}.module-header[data-v-a7ed15a0]{padding-bottom:20px;border-bottom:1px solid #e7edf7}.header-main[data-v-a7ed15a0]{gap:14px;min-width:0}.filter-icon[data-v-a7ed15a0],.module-icon[data-v-a7ed15a0],.source-icon[data-v-a7ed15a0]{display:inline-flex;align-items:center;justify-content:center;flex:none}.module-icon[data-v-a7ed15a0]{width:46px;height:46px;border-radius:14px;color:#0f766e;background:#e4f7f2;font-size:22px}.title-line[data-v-a7ed15a0]{gap:10px;flex-wrap:wrap}h2[data-v-a7ed15a0],h3[data-v-a7ed15a0],p[data-v-a7ed15a0]{margin:0}h2[data-v-a7ed15a0]{font-size:20px;line-height:1.3;font-weight:700}h3[data-v-a7ed15a0]{font-size:15px;font-weight:700}.module-header p[data-v-a7ed15a0],.panel-heading p[data-v-a7ed15a0]{margin-top:3px;color:#7b8ba4;font-size:13px}.demo-badge[data-v-a7ed15a0],.discussion-badge[data-v-a7ed15a0]{border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.demo-badge[data-v-a7ed15a0]{padding:5px 9px;color:#0f766e;background:#e5f8f3}.live-data-badge[data-v-a7ed15a0]{padding:6px 10px;border-radius:999px;color:#16875e;background:#e4f8ee;font-size:11px;font-weight:700;white-space:nowrap}.scope-filter[data-v-a7ed15a0]{gap:10px;flex:none}.scope-label[data-v-a7ed15a0]{color:#5c6b82;font-size:12px;font-weight:700;white-space:nowrap}.scope-options[data-v-a7ed15a0]{display:inline-flex;gap:2px;padding:3px;border-radius:11px;background:#e9eef7}.scope-button[data-v-a7ed15a0]{min-width:52px;padding:6px 11px;border:0;border-radius:8px;background:transparent;color:#53627a;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.scope-button.active[data-v-a7ed15a0]{background:#fff;color:#345be7;box-shadow:0 1px 4px rgba(30,55,110,.13)}.evaluation-filter[data-v-a7ed15a0]{display:inline-flex;gap:2px;padding:3px;border-radius:11px;background:#e9eef7}.evaluation-filter-button[data-v-a7ed15a0]{padding:6px 10px;border:0;border-radius:8px;background:transparent;color:#53627a;cursor:pointer;font:inherit;font-size:11px;font-weight:700;white-space:nowrap}.evaluation-filter-button.active[data-v-a7ed15a0]{background:#fff;color:#6e48c9;box-shadow:0 1px 4px rgba(30,55,110,.13)}.evaluation-period-picker[data-v-a7ed15a0],.period-picker[data-v-a7ed15a0]{display:flex;align-items:center;gap:6px}.evaluation-period-picker[data-v-a7ed15a0] .el-date-editor,.period-picker[data-v-a7ed15a0] .el-date-editor{width:168px}.evaluation-period-picker[data-v-a7ed15a0] .el-input-number{width:110px}.period-picker[data-v-a7ed15a0] .el-date-editor.el-range-editor{width:260px}.evaluation-period-picker[data-v-a7ed15a0] .el-input__inner,.period-picker[data-v-a7ed15a0] .el-input__inner{border-radius:8px}.person-filter[data-v-a7ed15a0]{display:flex;align-items:center;gap:20px;margin-top:20px;padding:16px 18px;border:1px solid #dce5f5;border-radius:16px;background:#fbfcff}.filter-intro[data-v-a7ed15a0]{display:flex;align-items:center;gap:11px;flex:1;min-width:200px}.filter-icon[data-v-a7ed15a0]{width:38px;height:38px;border-radius:11px;color:#356af3;background:#eaf0ff;font-size:18px}.filter-intro p[data-v-a7ed15a0]{margin-top:3px;color:#8492a8;font-size:12px}.filter-controls[data-v-a7ed15a0]{display:flex;gap:12px}.filter-field[data-v-a7ed15a0]{display:flex;flex-direction:column;gap:5px;min-width:185px;color:#65748a;font-size:11px;font-weight:700}.filter-field[data-v-a7ed15a0] .el-select{width:100%}.employee-field[data-v-a7ed15a0]{min-width:220px}.selected-person[data-v-a7ed15a0]{display:flex;align-items:center;gap:8px;min-width:170px;padding-left:16px;border-left:1px solid #e0e8f4}.person-avatar[data-v-a7ed15a0]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:50%;color:#3157ce;background:#e7edff;font-size:11px;font-weight:800}.selected-person>span[data-v-a7ed15a0]:last-child{display:flex;flex-direction:column;gap:3px}.selected-person strong[data-v-a7ed15a0]{font-size:12px;white-space:nowrap}.selected-person small[data-v-a7ed15a0]{color:#8997aa;font-size:11px}.source-panel[data-v-a7ed15a0]{margin-top:20px}.chart-panel[data-v-a7ed15a0]{margin-top:20px;padding:20px;border:1px solid #dce5f5;border-radius:17px;background:#fbfcff}.source-grid[data-v-a7ed15a0]{display:flex;gap:12px;margin-top:12px;overflow-x:auto;padding:1px 1px 5px}.source-card[data-v-a7ed15a0]{display:flex;flex:1 0 0;align-items:center;gap:10px;min-width:168px;min-height:72px;padding:11px 12px;border:1px solid #dce5f5;border-left-width:3px;border-radius:15px;background:#fbfcff;color:inherit;cursor:pointer;text-align:left;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.source-card[data-v-a7ed15a0]:hover{border-color:#7caaa2}.source-card.selected[data-v-a7ed15a0]{background:#f4fffb;box-shadow:0 0 0 2px rgba(15,155,131,.14)}.source-icon[data-v-a7ed15a0]{width:38px;height:38px;border-radius:11px;font-size:18px}.source-copy[data-v-a7ed15a0]{display:flex;flex-direction:column;gap:4px;min-width:0}.source-copy strong[data-v-a7ed15a0]{font-size:12px;white-space:nowrap}.source-copy small[data-v-a7ed15a0]{color:#8492a8;font-size:11px;line-height:1.3;white-space:nowrap}.discussion-badge[data-v-a7ed15a0]{padding:6px 10px;color:#a26510;background:#fff3df}.chart-heading-actions[data-v-a7ed15a0]{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.chart-type-options[data-v-a7ed15a0]{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:#e9eef7}.chart-type-options button[data-v-a7ed15a0]{padding:6px 10px;border:0;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;font:inherit;font-size:11px;font-weight:700}.chart-type-options button.active[data-v-a7ed15a0]{background:#fff;color:#345be7;box-shadow:0 1px 4px rgba(30,55,110,.13)}.chart-caption[data-v-a7ed15a0]{display:flex;flex-direction:column;gap:4px}.chart-caption strong[data-v-a7ed15a0]{font-size:13px}.chart-caption span[data-v-a7ed15a0]{color:#8a98ad;font-size:11px}.class-chart-layout[data-v-a7ed15a0]{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:16px;margin-top:17px}.ratio-class-panel[data-v-a7ed15a0]{min-width:0;margin-top:17px;padding:18px;border:1px solid #e0e8f4;border-radius:13px;background:#fff}.ratio-class-scroll[data-v-a7ed15a0]{display:flex;gap:16px;margin-top:16px;padding:3px 2px 14px;overflow-x:auto;scroll-snap-type:x mandatory}.ratio-class-card[data-v-a7ed15a0]{display:flex;flex:1 0 300px;flex-direction:column;align-items:center;gap:9px;max-width:560px;padding:20px 14px;border:1px solid #e2eaf6;border-radius:14px;background:#fbfcff;text-align:center;scroll-snap-align:start}.ratio-class-card[data-v-a7ed15a0]:first-child{margin-left:auto}.ratio-class-card[data-v-a7ed15a0]:last-child{margin-right:auto}.ratio-class-name[data-v-a7ed15a0]{margin-top:2px;font-size:13px}.ratio-class-count[data-v-a7ed15a0]{color:#64748b;font-size:11px;white-space:nowrap}.ratio-class-unmarked[data-v-a7ed15a0]{color:#8997aa;font-size:11px}.ratio-class-empty[data-v-a7ed15a0]{display:flex;min-height:210px;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8492a8}.ratio-class-empty>i[data-v-a7ed15a0]{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#eef3fb;color:#8294af;font-size:19px}.ratio-class-empty strong[data-v-a7ed15a0]{color:#344157;font-size:13px}.ratio-class-empty span[data-v-a7ed15a0]{font-size:11px}.attendance-chart[data-v-a7ed15a0],.class-chart-main[data-v-a7ed15a0],.class-list[data-v-a7ed15a0]{min-width:0;padding:18px;border:1px solid #e0e8f4;border-radius:13px;background:#fff}.class-bars[data-v-a7ed15a0]{display:flex;align-items:end;justify-content:space-around;gap:12px;min-height:248px;margin-top:14px;padding:15px 10px 0;border-bottom:1px solid #dce5f1}.class-bar-item[data-v-a7ed15a0]{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:end;gap:8px;max-width:120px;min-width:55px;cursor:pointer}.class-bar-item.read-only[data-v-a7ed15a0]{cursor:default}.class-bar-item>strong[data-v-a7ed15a0]{font-size:13px}.class-bar-item>small[data-v-a7ed15a0]{height:28px;color:#64748b;font-size:11px;font-weight:700;text-align:center}.bar-track[data-v-a7ed15a0]{position:relative;width:min(42px,100%);height:176px}.bar-value[data-v-a7ed15a0]{position:absolute;right:0;bottom:0;left:0;border-radius:8px 8px 0 0;min-height:5px;transition:height .2s ease}.class-list h4[data-v-a7ed15a0]{display:flex;justify-content:space-between;margin:0 0 12px;font-size:13px}.class-list h4 span[data-v-a7ed15a0]{color:#8a98ad;font-size:11px;font-weight:500}.class-row[data-v-a7ed15a0]{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:7px;padding:12px;border:1px solid #e3eaf5;border-radius:10px;background:#fbfcff;color:#344157;cursor:pointer;font:inherit;text-align:left}.class-row.active[data-v-a7ed15a0]{border-color:#82a5ef;background:#f1f6ff}.class-row.read-only[data-v-a7ed15a0]{cursor:default}.class-row-name[data-v-a7ed15a0]{font-size:12px;font-weight:700;white-space:nowrap}.class-row-values[data-v-a7ed15a0]{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.class-row-values small[data-v-a7ed15a0]{color:#718096;font-size:10px}.class-color-dot[data-v-a7ed15a0]{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:3px}.class-row strong[data-v-a7ed15a0]{font-size:12px;white-space:nowrap}.menu-kpi-total[data-v-a7ed15a0]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid #f4dfc8;border-radius:10px;background:#fff9f2}.menu-kpi-total span[data-v-a7ed15a0]{color:#8b6b4f;font-size:11px}.menu-kpi-total strong[data-v-a7ed15a0]{color:#a95612;font-size:15px;white-space:nowrap}.class-note[data-v-a7ed15a0]{margin-top:13px;color:#8a98ad;font-size:11px;line-height:1.5}.data-warning[data-v-a7ed15a0]{color:#a15c12}.pie-area[data-v-a7ed15a0]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:245px;gap:12px}.pie-visual[data-v-a7ed15a0]{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,380px);height:280px}.pie-slice-label[data-v-a7ed15a0]{position:absolute;z-index:1;min-width:84px;padding:6px 8px;border:1px solid;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(39,64,109,.12);color:#3c4b61;font-size:11px;text-align:center;white-space:nowrap;transform:translate(-50%,-50%)}.pie-slice-label strong[data-v-a7ed15a0]{font-size:12px}.donut[data-v-a7ed15a0]{width:188px;height:188px}.donut-hole[data-v-a7ed15a0],.donut[data-v-a7ed15a0]{display:flex;align-items:center;justify-content:center;border-radius:50%}.donut-hole[data-v-a7ed15a0]{flex-direction:column;width:128px;height:128px;background:#fff}.donut-hole strong[data-v-a7ed15a0]{font-size:29px;line-height:1.1}.donut-hole small[data-v-a7ed15a0]{margin-top:5px;color:#8a98ad;font-size:11px}.donut.class-donut[data-v-a7ed15a0]{width:174px;height:174px}.donut-hole.class-donut-hole[data-v-a7ed15a0]{width:118px;height:118px}.class-donut-hole strong[data-v-a7ed15a0]{font-size:27px}.pie-caption[data-v-a7ed15a0]{color:#64748b;font-size:12px;font-weight:700;text-align:center}.attendance-chart[data-v-a7ed15a0]{min-width:0;margin-top:17px;padding:18px;border:1px solid #e0e8f4;border-radius:13px;background:#fff}.attendance-load-state[data-v-a7ed15a0]{display:flex;align-items:center;justify-content:center;gap:8px;min-height:112px;color:#8291a8;font-size:12px;text-align:center}.attendance-load-state>i[data-v-a7ed15a0]{color:#7890b2;font-size:16px}.attendance-load-state.error-state>i[data-v-a7ed15a0],.attendance-load-state.error-state[data-v-a7ed15a0]{color:#d34c5b}.attendance-overview[data-v-a7ed15a0]{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;max-width:1080px;margin:17px auto 0}.attendance-donut-card[data-v-a7ed15a0]{display:flex;align-items:center;justify-content:center;min-height:182px;border:1px solid #e2eaf6;border-radius:12px;background:#fbfcff}.attendance-donut-wrap[data-v-a7ed15a0]{position:relative;width:150px;height:150px}.attendance-donut-card .donut[data-v-a7ed15a0]{width:150px;height:150px}.attendance-donut-card .donut-hole[data-v-a7ed15a0]{width:102px;height:102px}.attendance-donut-card .donut-hole strong[data-v-a7ed15a0]{font-size:25px}.donut-percent-label[data-v-a7ed15a0]{position:absolute;z-index:2;transform:translate(-50%,-50%);color:#34445b;font-size:10px;font-weight:800;line-height:1;pointer-events:none;white-space:nowrap;text-shadow:0 1px 2px hsla(0,0%,100%,.7)}.donut-percent-label.present[data-v-a7ed15a0],.donut-percent-label.unpermitted[data-v-a7ed15a0]{color:#fff;text-shadow:0 1px 2px rgba(30,41,59,.35)}.donut-percent-label.permitted[data-v-a7ed15a0]{color:#68440b}.attendance-summary-grid[data-v-a7ed15a0]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.attendance-extra-item[data-v-a7ed15a0],.attendance-summary-item[data-v-a7ed15a0]{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:0;padding:9px 11px;border:1px solid #e2eaf6;border-radius:10px;background:#fbfcff;color:#59687f;font-size:11px;line-height:1.35}.attendance-extra-item strong[data-v-a7ed15a0],.attendance-summary-item strong[data-v-a7ed15a0]{margin-left:auto;color:#233044;white-space:nowrap}.attendance-summary-item.present[data-v-a7ed15a0]{border-color:#d8eee5;background:#f2faf6}.attendance-summary-item.permitted[data-v-a7ed15a0]{border-color:#f6e8c9;background:#fffaf0}.attendance-summary-item.unpermitted[data-v-a7ed15a0]{border-color:#f5dadd;background:#fff6f6}.attendance-summary-item.unmarked[data-v-a7ed15a0]{border-color:#dce4ed;background:#f6f8fb}.attendance-summary-item.off[data-v-a7ed15a0]{border-color:#e0e6ee;background:#f7f9fc}.attendance-summary-item.upcoming[data-v-a7ed15a0]{border-color:#dce8fb;background:#f5f8ff}.attendance-extra-item[data-v-a7ed15a0]{position:relative;padding-left:32px;cursor:pointer;font:inherit;font-size:11px;line-height:1.35;text-align:left;transition:border-color .15s,background .15s}.attendance-extra-item.late[data-v-a7ed15a0]{border-color:#f6e8c9;background:#fffaf0}.attendance-extra-item.early[data-v-a7ed15a0]{border-color:#dce8fb;background:#f5f8ff}.attendance-extra-item>span[data-v-a7ed15a0]{font-size:11px}.attendance-extra-item strong[data-v-a7ed15a0]{font-size:11px;line-height:1.35}.attendance-extra-item.late[data-v-a7ed15a0]:hover{border-color:#e8c57d;background:#fff5df}.attendance-extra-item.early[data-v-a7ed15a0]:hover{border-color:#b9cdf4;background:#edf3ff}.attendance-extra-item[data-v-a7ed15a0]:focus-visible{outline:2px solid #668be8;outline-offset:2px}.attendance-extra-item i[data-v-a7ed15a0]{color:#dd8b28;font-size:13px}.attendance-extra-item>i[data-v-a7ed15a0]{position:absolute;top:10px;left:11px}.attendance-extra-item small[data-v-a7ed15a0]{align-self:flex-end;color:#8a98ad;font-size:10px;line-height:1.3}.attendance-calendar-note[data-v-a7ed15a0]{max-width:1080px;margin:8px auto 0;color:#8997aa;font-size:11px}.legend-dot[data-v-a7ed15a0]{display:inline-block;width:9px;height:9px;flex:none;border-radius:50%}.legend-dot.present[data-v-a7ed15a0]{background:#20a779}.legend-dot.permitted[data-v-a7ed15a0]{background:#f59e0b}.legend-dot.unpermitted[data-v-a7ed15a0]{background:#ef5b68}.legend-dot.unmarked[data-v-a7ed15a0]{background:#93a5bc}.legend-dot.off[data-v-a7ed15a0]{background:#cbd5e1}.legend-dot.upcoming[data-v-a7ed15a0]{background:#d8e6ff}.legend-dot.unknown[data-v-a7ed15a0]{background:#a78bfa}.attendance-timeline[data-v-a7ed15a0]{max-width:1080px;margin:16px auto 0;padding:12px;border:1px solid #e2eaf6;border-radius:12px;background:#fbfcff}.timeline-heading[data-v-a7ed15a0]{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.timeline-heading strong[data-v-a7ed15a0]{font-size:13px}.timeline-heading span[data-v-a7ed15a0]{color:#8997aa;font-size:11px}.timeline-scroll[data-v-a7ed15a0]{display:flex;gap:8px;margin-top:12px;padding-bottom:5px;overflow-x:auto}.timeline-day[data-v-a7ed15a0]{display:flex;flex:0 0 95px;flex-direction:column;align-items:center;gap:7px;padding:10px 7px;border:1px solid #e0e8f4;border-radius:10px;background:#fff;color:#46566d;cursor:pointer;font:inherit}.timeline-day.present[data-v-a7ed15a0]{border-color:#d7eee4;background:#f4fbf7}.timeline-day.permitted[data-v-a7ed15a0]{border-color:#f4e6c7;background:#fffaf1}.timeline-day.unpermitted[data-v-a7ed15a0]{border-color:#f3dadd;background:#fff6f6}.timeline-day.unmarked[data-v-a7ed15a0]{border-color:#dce4ed;background:#f6f8fb}.timeline-day.off[data-v-a7ed15a0]{border-color:#e1e7ef;background:#f7f9fc}.timeline-day.upcoming[data-v-a7ed15a0]{border-color:#e1e9f8;background:#f7f9fe}.timeline-day.unknown[data-v-a7ed15a0]{border-color:#e8defd;background:#faf7ff}.timeline-day[data-v-a7ed15a0]:first-child{margin-left:auto}.timeline-day[data-v-a7ed15a0]:last-child{margin-right:auto}.timeline-day.selected.off[data-v-a7ed15a0],.timeline-day.selected.permitted[data-v-a7ed15a0],.timeline-day.selected.present[data-v-a7ed15a0],.timeline-day.selected.unmarked[data-v-a7ed15a0],.timeline-day.selected.unpermitted[data-v-a7ed15a0],.timeline-day.selected.upcoming[data-v-a7ed15a0],.timeline-day.selected[data-v-a7ed15a0]{border-color:#6188e9;background:#eef4ff;box-shadow:0 0 0 2px rgba(53,106,243,.1)}.timeline-day>span[data-v-a7ed15a0]{font-size:11px;font-weight:700}.timeline-day small[data-v-a7ed15a0]{color:#8997aa;font-size:10px;white-space:nowrap}.attendance-detail[data-v-a7ed15a0]{max-width:1080px;margin:16px auto 0;padding:14px;border:1px solid #dce5f5;border-radius:12px;background:#fbfcff}.attendance-detail-heading[data-v-a7ed15a0]{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-detail-heading>div[data-v-a7ed15a0]{display:flex;flex-direction:column;gap:3px}.attendance-detail-heading strong[data-v-a7ed15a0]{font-size:14px}.attendance-detail-heading div span[data-v-a7ed15a0]{color:#8a98ad;font-size:11px}.attendance-status-badge[data-v-a7ed15a0]{padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.attendance-status-badge.present[data-v-a7ed15a0]{color:#16875e;background:#e2f8ee}.attendance-status-badge.permitted[data-v-a7ed15a0]{color:#a56708;background:#fff2d8}.attendance-status-badge.unpermitted[data-v-a7ed15a0]{color:#c74453;background:#fff0f1}.attendance-status-badge.unmarked[data-v-a7ed15a0]{color:#61748c;background:#eaf0f6}.attendance-status-badge.off[data-v-a7ed15a0]{color:#64748b;background:#edf1f6}.attendance-status-badge.unknown[data-v-a7ed15a0]{color:#7352bd;background:#f2ecff}.attendance-detail-grid[data-v-a7ed15a0]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.attendance-detail-grid>div[data-v-a7ed15a0]{display:flex;flex-direction:column;gap:4px;padding:10px 11px;border:1px solid #e2eaf6;border-radius:9px;background:#fff}.attendance-detail-grid span[data-v-a7ed15a0],.attendance-sessions span[data-v-a7ed15a0]{color:#8190a5;font-size:11px}.attendance-detail-grid strong[data-v-a7ed15a0]{font-size:15px}.attendance-sessions[data-v-a7ed15a0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.attendance-sessions>div[data-v-a7ed15a0]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;border:1px solid #e2eaf6;border-radius:9px;background:#fff}.attendance-sessions strong[data-v-a7ed15a0]{font-size:12px}.attendance-detail>p[data-v-a7ed15a0]{margin-top:12px;color:#8a98ad;font-size:11px;line-height:1.5}.attendance-event-summary[data-v-a7ed15a0]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.attendance-event-summary>div[data-v-a7ed15a0]{display:flex;flex-direction:column;gap:6px;padding:13px 15px;border:1px solid #e2eaf6;border-radius:11px;background:#f7f9fd}.attendance-event-summary>div.late[data-v-a7ed15a0]{border-color:#f3e4c2;background:#fffaf0}.attendance-event-summary>div.early[data-v-a7ed15a0]{border-color:#dce7fa;background:#f4f8ff}.attendance-event-summary small[data-v-a7ed15a0],.attendance-event-time small[data-v-a7ed15a0]{color:#8492a8;font-size:11px}.attendance-event-summary strong[data-v-a7ed15a0]{color:#26364c;font-size:20px;line-height:1}.attendance-event-summary strong span[data-v-a7ed15a0]{color:#73829a;font-size:11px;font-weight:600}.attendance-event-list[data-v-a7ed15a0]{display:flex;flex-direction:column;gap:8px;max-height:330px;overflow:auto}.attendance-event-row[data-v-a7ed15a0]{display:flex;align-items:center;gap:12px;min-width:0;padding:11px 12px;border:1px solid #e5ebf4;border-radius:11px;background:#fff}.attendance-event-row.late[data-v-a7ed15a0]{border-left:3px solid #efa72f}.attendance-event-row.early[data-v-a7ed15a0]{border-left:3px solid #6d92e8}.attendance-event-index[data-v-a7ed15a0]{display:grid;width:34px;height:34px;flex:none;place-items:center;border-radius:9px;background:#f0f4fb;color:#7b8ba4;font-size:11px;font-weight:800}.attendance-event-date[data-v-a7ed15a0],.attendance-event-time[data-v-a7ed15a0]{display:flex;flex-direction:column;gap:4px;min-width:0}.attendance-event-date[data-v-a7ed15a0]{flex:1}.attendance-event-date strong[data-v-a7ed15a0],.attendance-event-time strong[data-v-a7ed15a0]{color:#2e3c52;font-size:12px}.attendance-event-date small[data-v-a7ed15a0]{color:#929fb1;font-size:10px}.attendance-event-minutes[data-v-a7ed15a0]{padding:7px 9px;border-radius:8px;background:#fff4df;color:#a66a0c;font-size:11px;font-weight:800;white-space:nowrap}.attendance-event-row.early .attendance-event-minutes[data-v-a7ed15a0]{background:#edf3ff;color:#496fc5}.attendance-event-empty[data-v-a7ed15a0]{display:flex;flex-direction:column;align-items:center;gap:7px;padding:30px 15px;border:1px dashed #d9e3f1;border-radius:12px;background:#fafcff;text-align:center}.attendance-event-empty>span[data-v-a7ed15a0]{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#e7f8ef;color:#24a06f;font-size:18px}.attendance-event-empty strong[data-v-a7ed15a0]{color:#2e3c52;font-size:13px}.attendance-event-empty small[data-v-a7ed15a0]{color:#8492a8;font-size:11px}[data-v-a7ed15a0] .attendance-event-dialog{overflow:hidden;border-radius:16px}[data-v-a7ed15a0] .attendance-event-dialog .el-dialog__header{padding:18px 22px 14px;border-bottom:1px solid #edf1f7}[data-v-a7ed15a0] .attendance-event-dialog .el-dialog__body{padding:17px 22px 22px}[data-v-a7ed15a0] .attendance-event-dialog .el-dialog__headerbtn{top:20px;right:18px}.attendance-dialog-title[data-v-a7ed15a0]{display:flex;align-items:center;gap:11px;padding-right:20px}.attendance-dialog-icon[data-v-a7ed15a0]{display:grid;width:38px;height:38px;flex:none;place-items:center;border-radius:11px;background:#fff2d9;color:#d98b17;font-size:17px}.attendance-dialog-icon.early[data-v-a7ed15a0]{background:#edf3ff;color:#5278cf}.attendance-dialog-title>div[data-v-a7ed15a0]{display:flex;flex-direction:column;gap:4px}.attendance-dialog-title strong[data-v-a7ed15a0]{color:#26364c;font-size:16px}.attendance-dialog-title small[data-v-a7ed15a0]{color:#8795aa;font-size:11px;font-weight:400}.empty-classes[data-v-a7ed15a0]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:17px;padding:55px 15px;border:1px dashed #cddbf0;border-radius:12px;background:#fff;text-align:center}.empty-classes i[data-v-a7ed15a0]{color:#9aacc7;font-size:28px}.empty-classes strong[data-v-a7ed15a0]{font-size:13px}.empty-classes span[data-v-a7ed15a0]{color:#8a98ad;font-size:12px}@media (max-width:1400px){.person-filter[data-v-a7ed15a0]{flex-wrap:wrap}.filter-intro[data-v-a7ed15a0]{flex-basis:100%}.selected-person[data-v-a7ed15a0]{margin-left:auto}}@media (max-width:900px){.class-chart-layout[data-v-a7ed15a0]{grid-template-columns:1fr}.attendance-summary-grid[data-v-a7ed15a0]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.personnel-kpi-demo[data-v-a7ed15a0]{padding:16px}.module-header[data-v-a7ed15a0],.panel-heading[data-v-a7ed15a0]{align-items:flex-start;flex-direction:column}.person-filter[data-v-a7ed15a0]{padding:14px}.filter-controls[data-v-a7ed15a0]{flex-wrap:wrap;width:100%}.employee-field[data-v-a7ed15a0],.filter-field[data-v-a7ed15a0]{flex:1 1 100%}.selected-person[data-v-a7ed15a0]{margin-left:0;padding-left:0;border-left:0}.chart-panel[data-v-a7ed15a0]{padding:15px}.chart-heading-actions[data-v-a7ed15a0]{width:100%;justify-content:flex-start}.pie-slice-label[data-v-a7ed15a0]{display:none}.attendance-overview[data-v-a7ed15a0]{grid-template-columns:1fr}.attendance-detail-grid[data-v-a7ed15a0]{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-sessions[data-v-a7ed15a0]{grid-template-columns:1fr}}[data-v-a7ed15a0] .attendance-event-dialog{width:calc(100% - 24px)!important;max-width:560px}@media (max-width:520px){.attendance-event-summary[data-v-a7ed15a0]{grid-template-columns:1fr}.attendance-event-row[data-v-a7ed15a0]{gap:8px;padding:9px}.attendance-event-index[data-v-a7ed15a0]{width:30px;height:30px}.attendance-event-date strong[data-v-a7ed15a0],.attendance-event-time strong[data-v-a7ed15a0]{font-size:11px}[data-v-a7ed15a0] .attendance-event-dialog .el-dialog__header{padding:15px 16px 12px}[data-v-a7ed15a0] .attendance-event-dialog .el-dialog__body{padding:14px 16px 17px}}.birthday-stat-v3[data-v-29329963]{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px -2px rgba(15,23,42,.05),0 2px 6px -1px rgba(15,23,42,.02);margin-bottom:24px}.stat-section-header[data-v-29329963]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-bottom:20px;border-bottom:1px solid #f1f5f9;margin-bottom:24px}.header-left[data-v-29329963]{display:flex;align-items:center;gap:14px}.section-icon-badge[data-v-29329963]{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#f43f5e,#fb7185);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px rgba(244,63,94,.3)}.title-with-pill[data-v-29329963]{display:flex;align-items:center;gap:10px}.section-main-title[data-v-29329963]{font-size:20px;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em}.live-status-pill[data-v-29329963]{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:9999px;background:#fff1f2;color:#e11d48;font-size:12px;font-weight:600;border:1px solid #ffe4e6}.pulse-dot[data-v-29329963]{width:7px;height:7px;border-radius:50%;background-color:#e11d48;box-shadow:0 0 0 3px rgba(225,29,72,.25);animation:pulse-ring-29329963 1.8s infinite}@keyframes pulse-ring-29329963{0%{transform:scale(.9);box-shadow:0 0 0 0 rgba(225,29,72,.5)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(225,29,72,0)}to{transform:scale(.9);box-shadow:0 0 0 0 rgba(225,29,72,0)}}.section-subtitle[data-v-29329963]{margin:4px 0 0 0;font-size:13px;color:#64748b}.header-filters[data-v-29329963]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.month-filter-wrapper[data-v-29329963]{display:inline-flex;align-items:center;background:#f8fafc;padding:3px 4px;border-radius:10px;border:1px solid #e2e8f0}.month-nav-btn[data-v-29329963]{border:none;background:transparent;color:#64748b;width:30px;height:30px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease}.month-nav-btn[data-v-29329963]:hover{background:#fff;color:#e11d48;box-shadow:0 1px 3px rgba(0,0,0,.08)}.month-current-btn[data-v-29329963]{border:none;background:transparent;color:#475569;font-size:12px;font-weight:600;padding:0 8px;height:30px;border-radius:6px;cursor:pointer;transition:all .2s ease}.month-current-btn[data-v-29329963]:hover{background:#fff;color:#0f172a}.birthday-month-picker[data-v-29329963]{width:145px!important}.birthday-month-picker[data-v-29329963] .el-input__inner{border:none!important;background:transparent!important;font-weight:600!important;color:#0f172a!important;padding-left:28px!important;padding-right:0!important}.total-badge-chip[data-v-29329963]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;background:#fff7ed;border:1px solid #ffedd5;color:#c2410c;font-size:12.5px}.birthday-kpi-grid[data-v-29329963]{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}@media (max-width:992px){.birthday-kpi-grid[data-v-29329963]{grid-template-columns:1fr}}.birthday-kpi-card[data-v-29329963]{position:relative;background:#fff;border:1px solid #f1f5f9;border-radius:14px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);overflow:hidden;box-shadow:0 2px 6px rgba(15,23,42,.03)}.birthday-kpi-card[data-v-29329963]:hover{transform:translateY(-4px);box-shadow:0 12px 28px -4px rgba(15,23,42,.1)}.kpi-student[data-v-29329963]:hover{border-color:#fca5a5;background:linear-gradient(180deg,#fff5f5,#fff)}.kpi-parent[data-v-29329963]:hover{border-color:#a5b4fc;background:linear-gradient(180deg,#f5f3ff,#fff)}.kpi-employee[data-v-29329963]:hover{border-color:#99f6e4;background:linear-gradient(180deg,#f0fdfa,#fff)}.kpi-top[data-v-29329963]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.kpi-icon-wrap[data-v-29329963]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.bg-rose-subtle[data-v-29329963]{background:#ffe4e6}.text-rose[data-v-29329963]{color:#f43f5e}.text-rose-dark[data-v-29329963]{color:#e11d48}.tag-rose[data-v-29329963]{background:#fff1f2;color:#e11d48;border:1px solid #fecdd3}.bg-indigo-subtle[data-v-29329963]{background:#e0e7ff}.text-indigo[data-v-29329963]{color:#6366f1}.text-indigo-dark[data-v-29329963]{color:#4f46e5}.tag-indigo[data-v-29329963]{background:#eef2ff;color:#4f46e5;border:1px solid #c7d2fe}.bg-teal-subtle[data-v-29329963]{background:#ccfbf1}.text-teal[data-v-29329963]{color:#0d9488}.text-teal-dark[data-v-29329963]{color:#0f766e}.tag-teal[data-v-29329963]{background:#f0fdfa;color:#0f766e;border:1px solid #99f6e4}.kpi-tag[data-v-29329963]{font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:6px}.kpi-label[data-v-29329963]{font-size:13.5px;color:#64748b;font-weight:500}.kpi-number-row[data-v-29329963]{display:flex;align-items:baseline;gap:8px;margin:6px 0 4px 0}.kpi-value[data-v-29329963]{font-size:32px;font-weight:800;line-height:1;letter-spacing:-.02em}.kpi-unit[data-v-29329963]{font-size:14px;color:#64748b;font-weight:500}.kpi-desc[data-v-29329963]{margin:0;font-size:12.5px;color:#94a3b8}.kpi-footer-action[data-v-29329963]{margin-top:16px;padding-top:12px;border-top:1px dashed #f1f5f9;display:flex;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:600}.card-glow-bar[data-v-29329963]{position:absolute;top:0;left:0;right:0;height:3px}.glow-rose[data-v-29329963]{background:linear-gradient(90deg,#f43f5e,#fb7185)}.glow-indigo[data-v-29329963]{background:linear-gradient(90deg,#6366f1,#818cf8)}.glow-teal[data-v-29329963]{background:linear-gradient(90deg,#0d9488,#2dd4bf)}.charts-row[data-v-29329963]{display:flex;flex-wrap:wrap;margin-bottom:8px}.charts-row[data-v-29329963]:after,.charts-row[data-v-29329963]:before{display:none}.charts-row>.el-col[data-v-29329963]{display:flex;flex-direction:column;margin-bottom:20px}.chart-card[data-v-29329963],.upcoming-card[data-v-29329963]{background:#fff;border:1px solid #f1f5f9;border-radius:14px;padding:20px;box-shadow:0 2px 6px rgba(15,23,42,.02);flex:1;height:100%;display:flex;flex-direction:column;box-sizing:border-box}.chart-card-header[data-v-29329963],.upcoming-header[data-v-29329963]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f8fafc}.chart-title-group[data-v-29329963],.upcoming-title-wrap[data-v-29329963]{display:flex;align-items:center;gap:10px}.chart-icon[data-v-29329963]{font-size:20px;color:#f43f5e}.chart-title[data-v-29329963],.upcoming-title[data-v-29329963]{font-size:15px;font-weight:700;color:#0f172a;margin:0}.chart-subtitle[data-v-29329963]{font-size:12px;color:#94a3b8}.chart-legend-custom[data-v-29329963]{display:flex;gap:12px;font-size:12px;color:#64748b;align-items:center}.legend-dot-item[data-v-29329963]{display:inline-flex;align-items:center;gap:6px}.legend-dot-item[data-v-29329963]:before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px}.dot-rose[data-v-29329963]:before{background-color:#f43f5e}.dot-indigo[data-v-29329963]:before{background-color:#6366f1}.dot-teal[data-v-29329963]:before{background-color:#0d9488}.chart-body[data-v-29329963]{flex:1;min-height:280px}.echart-box[data-v-29329963]{width:100%;height:280px}.upcoming-badge[data-v-29329963]{font-size:12px;font-weight:600;color:#e11d48;background:#fff1f2;padding:3px 8px;border-radius:6px}.upcoming-list[data-v-29329963]{display:flex;flex-direction:column;gap:10px;flex:1}.upcoming-item[data-v-29329963]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #f1f5f9;transition:all .2s ease}.upcoming-item[data-v-29329963]:hover{background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.05);border-color:#e2e8f0}.upcoming-avatar[data-v-29329963]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.avatar-student[data-v-29329963]{background:#ffe4e6;color:#f43f5e}.avatar-parent[data-v-29329963]{background:#e0e7ff}.avatar-employee[data-v-29329963]{background:#ccfbf1}.upcoming-info[data-v-29329963]{flex:1;min-width:0}.upcoming-name-row[data-v-29329963]{display:flex;align-items:center;gap:6px}.upcoming-name[data-v-29329963]{font-size:13px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-type-tag[data-v-29329963]{font-size:10.5px;padding:1px 6px;border-radius:4px}.upcoming-meta[data-v-29329963]{display:flex;gap:8px;font-size:11.5px;color:#64748b;margin-top:2px}.countdown-badge[data-v-29329963]{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap}.badge-student[data-v-29329963]{background:#fff1f2;color:#e11d48}.badge-parent[data-v-29329963]{background:#eef2ff;color:#4338ca}.badge-employee[data-v-29329963]{background:#f0fdfa;color:#0f766e}.upcoming-footer[data-v-29329963]{margin-top:14px;padding-top:10px;border-top:1px solid #f8fafc}.quick-view-all-btn[data-v-29329963]{width:100%;border:1px dashed #cbd5e1;background:transparent;color:#475569;font-size:12.5px;font-weight:600;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.quick-view-all-btn[data-v-29329963]:hover{background:#f8fafc;color:#f43f5e;border-color:#fca5a5}.modern-birthday-dialog[data-v-29329963] .el-dialog{border-radius:16px;overflow:hidden;box-shadow:0 25px 50px -12px rgba(15,23,42,.25)}.modern-birthday-dialog[data-v-29329963] .el-dialog__header{padding:20px 24px;background:#fff;border-bottom:1px solid #f1f5f9}.modern-birthday-dialog[data-v-29329963] .el-dialog__body{padding:20px 24px;background:#fbfcfd}.modern-birthday-dialog[data-v-29329963] .el-dialog__footer{padding:16px 24px;background:#fff;border-top:1px solid #f1f5f9}.dialog-custom-header[data-v-29329963]{display:flex;justify-content:space-between;align-items:center}.dialog-header-left[data-v-29329963]{display:flex;align-items:center;gap:14px}.dialog-icon-badge[data-v-29329963]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.badge-rose[data-v-29329963]{background:#ffe4e6;color:#f43f5e}.badge-indigo[data-v-29329963]{background:#e0e7ff;color:#6366f1}.badge-teal[data-v-29329963]{background:#ccfbf1;color:#0d9488}.dialog-heading[data-v-29329963]{font-size:18px;font-weight:700;color:#0f172a;margin:0}.dialog-subheading[data-v-29329963]{font-size:12.5px;color:#64748b;margin:4px 0 0 0}.dialog-toolbar[data-v-29329963]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}.dialog-tabs[data-v-29329963]{display:flex;gap:8px;background:#f1f5f9;padding:4px;border-radius:10px}.d-tab-btn[data-v-29329963]{border:none;background:transparent;color:#64748b;font-size:13px;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.d-tab-btn.active.tab-student[data-v-29329963]{background:#fff;color:#e11d48;box-shadow:0 2px 6px rgba(225,29,72,.15)}.d-tab-btn.active.tab-parent[data-v-29329963]{background:#fff;color:#4f46e5;box-shadow:0 2px 6px rgba(79,70,229,.15)}.d-tab-btn.active.tab-employee[data-v-29329963]{background:#fff;color:#0f766e;box-shadow:0 2px 6px rgba(15,118,110,.15)}.dialog-filters[data-v-29329963]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dialog-search-input[data-v-29329963]{width:190px!important}.dialog-select[data-v-29329963]{width:150px!important}.dialog-gender-select[data-v-29329963]{width:120px!important}.export-btn[data-v-29329963]{background:#10b981!important;border-color:#10b981!important;font-weight:600}.dialog-table-container[data-v-29329963]{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}.custom-birthday-table[data-v-29329963] .el-table__header th{font-size:13px;letter-spacing:.01em}.custom-birthday-table[data-v-29329963] .el-table__body td{padding:10px 0;font-size:13px}.name-cell[data-v-29329963]{display:flex;align-items:center;gap:10px}.name-avatar[data-v-29329963]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.avatar-boy[data-v-29329963]{background:#eff6ff;color:#2563eb}.avatar-girl[data-v-29329963]{background:#fdf2f8;color:#db2777}.avatar-parent[data-v-29329963]{background:#eef2ff;color:#6366f1}.avatar-employee[data-v-29329963]{background:#f0fdfa;color:#0d9488}.name-text[data-v-29329963]{display:flex;flex-direction:column}.full-name[data-v-29329963]{font-weight:600;color:#0f172a}.today-birthday-badge[data-v-29329963]{font-size:11px;color:#e11d48;font-weight:600}.emp-role-tag[data-v-29329963]{font-size:11px;color:#64748b}.grade-cell-tag[data-v-29329963]{font-weight:500;color:#334155}.class-pill[data-v-29329963]{font-weight:500;border-radius:6px}.student-link[data-v-29329963]{font-weight:600;color:#2563eb;display:inline-flex;align-items:center;gap:4px}.gender-tag[data-v-29329963]{font-weight:600;border-radius:4px;padding:2px 8px}.birthdate-tag[data-v-29329963]{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#0f172a;background:#f8fafc;padding:4px 10px;border-radius:6px;border:1px solid #e2e8f0}.dialog-pagination-bar[data-v-29329963]{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px}.pagination-info[data-v-29329963]{font-size:12.5px;color:#64748b}[data-v-06faedfa] .charts-row,[data-v-06faedfa] .news-content-row{display:flex!important;flex-wrap:wrap!important}[data-v-06faedfa] .charts-row:after,[data-v-06faedfa] .charts-row:before,[data-v-06faedfa] .news-content-row:after,[data-v-06faedfa] .news-content-row:before{display:none!important}[data-v-06faedfa] .charts-row>.el-col,[data-v-06faedfa] .news-content-row>.el-col{display:flex!important;flex-direction:column!important}[data-v-06faedfa] .charts-row>.el-col>.chart-card,[data-v-06faedfa] .charts-row>.el-col>.upcoming-card,[data-v-06faedfa] .news-content-row>.el-col>.card-box{flex:1 1 auto!important;display:flex!important;flex-direction:column!important;height:100%!important;box-sizing:border-box!important}.dashboard-v3-container[data-v-06faedfa]{height:100vh;max-height:100vh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;padding:20px 24px 60px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#1e293b;-webkit-overflow-scrolling:touch}.dashboard-v3-container[data-v-06faedfa]::-webkit-scrollbar{width:8px}.dashboard-v3-container[data-v-06faedfa]::-webkit-scrollbar-track{background:#f1f5f9}.dashboard-v3-container[data-v-06faedfa]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.dashboard-v3-container[data-v-06faedfa]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.header-banner[data-v-06faedfa]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#fff,#f8faff);border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 10px 25px -5px rgba(0,0,0,.04);margin-bottom:20px}.greeting-badge[data-v-06faedfa]{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.08em;color:#4f46e5;background:#eef2ff;padding:4px 12px;border-radius:999px;margin-bottom:8px}.pulse-dot[data-v-06faedfa]{width:8px;height:8px;border-radius:50%;background:#4f46e5;box-shadow:0 0 0 4px rgba(79,70,229,.2);animation:pulseAnim-06faedfa 2s infinite}@keyframes pulseAnim-06faedfa{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(79,70,229,.6)}70%{transform:scale(1);box-shadow:0 0 0 8px rgba(79,70,229,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(79,70,229,0)}}.header-title[data-v-06faedfa]{margin:0 0 4px;font-size:24px;font-weight:800;color:#0f172a;letter-spacing:-.02em}.header-subtitle[data-v-06faedfa]{margin:0;font-size:13px;color:#64748b;font-weight:500}.sticky-nav-wrapper[data-v-06faedfa]{position:sticky;top:-20px;z-index:999;background:rgba(248,250,252,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin-left:-24px;margin-right:-24px;padding:10px 24px;border-bottom:1px solid rgba(226,232,240,.85);box-shadow:0 4px 18px -4px rgba(0,0,0,.05);margin-bottom:22px}.nav-cards-grid[data-v-06faedfa]{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;width:100%}.nav-card-tab[data-v-06faedfa]{--accent-color:#4f46e5;--accent-bg:#f1f5f9;display:flex;align-items:center;gap:7px;padding:8px 8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;text-align:left;position:relative;overflow:hidden;transition:all .22s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.03);min-width:0}.nav-card-tab[data-v-06faedfa]:hover{transform:translateY(-2px);border-color:var(--accent-color,#4f46e5);box-shadow:0 6px 14px -2px rgba(0,0,0,.07)}.nav-card-tab.active[data-v-06faedfa]{background:#fff;border-color:var(--accent-color,#4f46e5);box-shadow:0 4px 14px -2px rgba(79,70,229,.15)}.nav-card-icon[data-v-06faedfa]{width:32px;height:32px;border-radius:8px;background:var(--accent-bg,#f1f5f9);color:var(--accent-color,#4f46e5);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;transition:transform .2s ease}.nav-card-tab.active .nav-card-icon[data-v-06faedfa],.nav-card-tab:hover .nav-card-icon[data-v-06faedfa]{transform:scale(1.08)}.nav-card-info[data-v-06faedfa]{display:flex;flex-direction:column;min-width:0}.nav-card-title[data-v-06faedfa]{font-size:12px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.nav-card-tab.active .nav-card-title[data-v-06faedfa]{color:var(--accent-color,#4f46e5);font-weight:800}.nav-card-sub[data-v-06faedfa]{font-size:10.5px;font-weight:500;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.nav-card-glow-bar[data-v-06faedfa]{position:absolute;bottom:0;left:8px;right:8px;height:3px;border-radius:3px 3px 0 0;background:var(--accent-color,#4f46e5);opacity:0;transform:scaleX(.3);transition:all .22s ease}.nav-card-tab.active .nav-card-glow-bar[data-v-06faedfa]{opacity:1;transform:scaleX(1)}.dashboard-section[data-v-06faedfa]{margin-bottom:32px;scroll-margin-top:85px}.section-header[data-v-06faedfa]{justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}.section-header[data-v-06faedfa],.section-title-wrap[data-v-06faedfa]{display:flex;align-items:center;gap:12px}.section-icon-badge[data-v-06faedfa]{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px}.tone-blue[data-v-06faedfa]{background:#e0f2fe;color:#0284c7}.tone-indigo[data-v-06faedfa]{background:#e0e7ff;color:#4f46e5}.tone-purple[data-v-06faedfa]{background:#f3e8ff;color:#9333ea}.tone-amber[data-v-06faedfa]{background:#fef3c7;color:#d97706}.tone-emerald[data-v-06faedfa]{background:#dcfce7;color:#059669}.tone-teal[data-v-06faedfa]{background:#ccfbf1;color:#0d9488}.section-title[data-v-06faedfa]{margin:0 0 2px;font-size:18px;font-weight:800;color:#0f172a}.section-desc[data-v-06faedfa]{margin:0;font-size:12.5px;color:#64748b}.section-tag-group[data-v-06faedfa]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-pill[data-v-06faedfa]{font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}.status-pill--success[data-v-06faedfa]{background:#dcfce7;color:#15803d}.status-pill--warning[data-v-06faedfa]{background:#fef3c7;color:#b45309}.status-pill--danger[data-v-06faedfa]{background:#fee2e2;color:#b91c1c}.status-pill--info[data-v-06faedfa]{background:#e0f2fe;color:#0369a1}.status-pill--purple[data-v-06faedfa]{background:#f3e8ff;color:#7e22ce}.status-pill--pink[data-v-06faedfa]{background:#fce7f3;color:#be185d}.status-pill--teal[data-v-06faedfa]{background:#ccfbf1;color:#0f766e}.card-row[data-v-06faedfa]{margin-bottom:-10px}.card-row>.el-col[data-v-06faedfa]{margin-bottom:20px}.modern-card[data-v-06faedfa]{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:18px 20px;box-shadow:0 4px 16px -3px rgba(0,0,0,.03);display:flex;flex-direction:column;transition:box-shadow .2s ease}.modern-card[data-v-06faedfa]:hover{box-shadow:0 10px 24px -5px rgba(0,0,0,.06)}.h-100[data-v-06faedfa]{height:100%}.card-inner-head[data-v-06faedfa]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.card-inner-title[data-v-06faedfa]{margin:0 0 2px;font-size:15px;font-weight:700;color:#1e293b}.card-inner-sub[data-v-06faedfa]{font-size:12px;color:#94a3b8}.badge-soft[data-v-06faedfa]{font-size:11px;font-weight:700;padding:4px 10px;border-radius:8px}.badge-soft--blue[data-v-06faedfa]{background:#e0f2fe;color:#0369a1}.badge-soft--indigo[data-v-06faedfa]{background:#e0e7ff;color:#4338ca}.badge-soft--green[data-v-06faedfa]{background:#dcfce7;color:#15803d}.badge-soft--amber[data-v-06faedfa]{background:#fef3c7;color:#b45309}.badge-soft--teal[data-v-06faedfa]{background:#ccfbf1;color:#0f766e}.legend-dot-group[data-v-06faedfa]{display:flex;align-items:center;gap:12px;font-size:11.5px;font-weight:600;color:#64748b}.legend-dot[data-v-06faedfa]:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.dot-primary[data-v-06faedfa]:before{background:#4f46e5}.dot-secondary[data-v-06faedfa]:before{background:#94a3b8}.dot-purple[data-v-06faedfa]:before{background:#a855f7}.dot-amber[data-v-06faedfa]:before{background:#fde047}.dot-light[data-v-06faedfa]:before{background:#e2e8f0}.dot-teal[data-v-06faedfa]:before{background:#0d9488}.chart-box[data-v-06faedfa]{width:100%;height:250px;position:relative}.stat-mini-cards[data-v-06faedfa]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid #f1f5f9}.stat-mini-item[data-v-06faedfa]{text-align:center;background:#f8fafc;padding:8px 4px;border-radius:10px}.mini-label[data-v-06faedfa]{display:block;font-size:10.5px;color:#64748b;margin-bottom:2px}.mini-val[data-v-06faedfa]{font-size:13px;font-weight:800}.meal-meta-summary[data-v-06faedfa]{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid #f1f5f9}.meal-row[data-v-06faedfa]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#475569}.schedule-timeline[data-v-06faedfa]{display:flex;flex-direction:column;gap:14px;margin-top:8px}.timeline-item[data-v-06faedfa]{display:flex;gap:14px}.timeline-indicator[data-v-06faedfa]{display:flex;flex-direction:column;align-items:center;width:16px}.indicator-dot[data-v-06faedfa]{width:12px;height:12px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;box-shadow:0 0 0 2px #e2e8f0}.status-done .indicator-dot[data-v-06faedfa]{background:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,.25)}.status-current .indicator-dot[data-v-06faedfa]{background:#4f46e5;box-shadow:0 0 0 4px rgba(79,70,229,.25);animation:pulseDot-06faedfa 1.5s infinite}@keyframes pulseDot-06faedfa{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.status-upcoming .indicator-dot[data-v-06faedfa]{background:#f1f5f9;border-color:#cbd5e1}.indicator-line[data-v-06faedfa]{flex:1;width:2px;background:#e2e8f0;margin-top:4px;min-height:28px}.timeline-content[data-v-06faedfa]{flex:1;background:#f8fafc;border-radius:12px;padding:10px 14px;border:1px solid #f1f5f9}.status-current .timeline-content[data-v-06faedfa]{background:#f5f7ff;border-color:#c7d2fe}.timeline-time[data-v-06faedfa]{font-size:11px;font-weight:700;color:#64748b;margin-bottom:2px}.timeline-activity[data-v-06faedfa]{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.activity-name[data-v-06faedfa]{font-size:13px;font-weight:700;color:#0f172a}.activity-badge[data-v-06faedfa]{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px}.badge-done[data-v-06faedfa]{background:#dcfce7;color:#15803d}.badge-current[data-v-06faedfa]{background:#e0e7ff;color:#4338ca}.badge-upcoming[data-v-06faedfa]{background:#f1f5f9;color:#64748b}.activity-desc[data-v-06faedfa]{margin:0;font-size:11.5px;color:#64748b}.progress-card-list[data-v-06faedfa]{display:flex;flex-direction:column;gap:16px;margin-top:8px}.progress-card-item[data-v-06faedfa]{background:#f8fafc;border-radius:12px;padding:12px 14px;border:1px solid #f1f5f9}.progress-header[data-v-06faedfa]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.grade-name[data-v-06faedfa]{font-size:13px;font-weight:700;color:#1e293b}.progress-percent[data-v-06faedfa]{font-size:13px;font-weight:800}.progress-meta[data-v-06faedfa]{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:#64748b;margin-top:8px}.album-preview-grid[data-v-06faedfa]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.album-mini-card[data-v-06faedfa]{background:#f8fafc;border-radius:14px;overflow:hidden;border:1px solid #f1f5f9;transition:all .2s ease}.album-mini-card[data-v-06faedfa]:hover{transform:translateY(-2px);box-shadow:0 6px 16px -2px rgba(0,0,0,.05)}.album-thumb-wrap[data-v-06faedfa]{position:relative;height:105px;overflow:hidden}.album-thumb[data-v-06faedfa]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.album-mini-card:hover .album-thumb[data-v-06faedfa]{transform:scale(1.05)}.album-badge-count[data-v-06faedfa]{bottom:6px;left:6px;background:rgba(15,23,42,.75);color:#fff;backdrop-filter:blur(4px)}.album-approval-badge[data-v-06faedfa],.album-badge-count[data-v-06faedfa]{position:absolute;font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px}.album-approval-badge[data-v-06faedfa]{top:6px;right:6px}.album-approval-badge.approved[data-v-06faedfa]{background:rgba(16,185,129,.9);color:#fff}.album-approval-badge.pending[data-v-06faedfa]{background:rgba(245,158,11,.9);color:#fff}.album-info[data-v-06faedfa]{padding:10px 12px}.album-title[data-v-06faedfa]{margin:0 0 4px;font-size:12.5px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-meta[data-v-06faedfa]{display:flex;justify-content:space-between;font-size:11px;color:#64748b;margin-bottom:6px}.album-stats-foot[data-v-06faedfa]{display:flex;align-items:center;gap:10px;font-size:11px;color:#94a3b8;border-top:1px solid #f1f5f9;padding-top:6px}.album-time[data-v-06faedfa]{margin-left:auto;font-size:10.5px}.news-list-container[data-v-06faedfa]{display:flex;flex-direction:column;gap:10px}.news-list-item[data-v-06faedfa]{display:flex;align-items:center;gap:12px;background:#f8fafc;border-radius:12px;padding:10px 14px;border:1px solid #f1f5f9;transition:all .2s ease}.news-list-item[data-v-06faedfa]:hover{background:#f1f5f9}.news-category-tag[data-v-06faedfa]{font-size:10px;font-weight:700;padding:4px 8px;border-radius:6px;white-space:nowrap}.cat-event[data-v-06faedfa]{background:#fce7f3;color:#be185d}.cat-health[data-v-06faedfa]{background:#dcfce7;color:#15803d}.cat-activity[data-v-06faedfa]{background:#e0e7ff;color:#4338ca}.cat-facility[data-v-06faedfa]{background:#fef3c7;color:#b45309}.news-main-info[data-v-06faedfa]{flex:1;min-width:0}.news-heading[data-v-06faedfa]{margin:0 0 3px;font-size:13px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.news-details-row[data-v-06faedfa]{display:flex;align-items:center;gap:12px;font-size:11px;color:#64748b}.news-status-badge[data-v-06faedfa]{background:#dcfce7;color:#15803d;font-weight:700;padding:1px 6px;border-radius:4px}.news-rate-box[data-v-06faedfa]{text-align:right;flex-shrink:0}.rate-number[data-v-06faedfa]{display:block;font-size:14px;font-weight:800;color:#059669}.rate-label[data-v-06faedfa]{font-size:10px;color:#94a3b8}.finance-banner-grid[data-v-06faedfa]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px}.finance-stat-card[data-v-06faedfa]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px 20px;box-shadow:0 4px 12px -2px rgba(0,0,0,.03)}.f-label[data-v-06faedfa]{display:block;font-size:12px;font-weight:600;color:#64748b;margin-bottom:4px}.f-value[data-v-06faedfa]{display:block;font-size:22px;font-weight:800;line-height:1.2;margin-bottom:4px}.f-sub[data-v-06faedfa]{font-size:11.5px;color:#94a3b8;font-weight:600}.meal-display-grid[data-v-06faedfa]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.meal-display-card[data-v-06faedfa]{background:#f8fafc;border-radius:14px;padding:14px;border:1px solid #f1f5f9;display:flex;flex-direction:column;transition:all .2s ease}.meal-display-card[data-v-06faedfa]:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 4px 14px rgba(0,0,0,.04)}.meal-card-top[data-v-06faedfa]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.meal-badge-time[data-v-06faedfa]{font-size:12px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:6px}.meal-calorie[data-v-06faedfa]{font-size:11px;font-weight:800;padding:2px 7px;border-radius:6px;background:#fef3c7;color:#b45309}.meal-main-dish[data-v-06faedfa]{flex:1;margin-bottom:8px}.dish-title[data-v-06faedfa]{margin:0 0 4px;font-size:13.5px;font-weight:800;color:#0f172a}.dish-dessert[data-v-06faedfa],.dish-side[data-v-06faedfa]{margin:2px 0;font-size:11.5px;color:#64748b}.meal-footer[data-v-06faedfa]{border-top:1px solid #f1f5f9;padding-top:6px}.meal-tag-good[data-v-06faedfa]{font-size:11px;font-weight:600;color:#059669}.nutrition-score-summary[data-v-06faedfa]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid #f1f5f9}.score-item[data-v-06faedfa]{text-align:center;background:#f8fafc;padding:8px 4px;border-radius:10px}.score-label[data-v-06faedfa]{display:block;font-size:11px;color:#64748b;margin-bottom:2px}.score-val[data-v-06faedfa]{font-size:13px;font-weight:800}.text-success[data-v-06faedfa]{color:#10b981}.text-warning[data-v-06faedfa]{color:#f59e0b}.text-danger[data-v-06faedfa]{color:#ef4444}.text-primary[data-v-06faedfa]{color:#4f46e5}.text-dark[data-v-06faedfa]{color:#0f172a}.text-orange[data-v-06faedfa]{color:#f97316}.text-blue[data-v-06faedfa]{color:#0284c7}.text-purple[data-v-06faedfa]{color:#9333ea}.text-teal[data-v-06faedfa]{color:#0d9488}.text-pink[data-v-06faedfa]{color:#ec4899}.link-btn[data-v-06faedfa]{color:#4f46e5;font-weight:600;padding:0}.dashboard-footer[data-v-06faedfa]{text-align:center;padding-top:24px;border-top:1px solid #e2e8f0;color:#94a3b8;font-size:12px;font-weight:500}@media (max-width:1360px){.nav-cards-grid[data-v-06faedfa]{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;gap:8px}.nav-card-tab[data-v-06faedfa]{flex:0 0 auto;min-width:120px}}@media (max-width:991px){.header-banner[data-v-06faedfa]{flex-direction:column;align-items:flex-start}.album-preview-grid[data-v-06faedfa],.meal-display-grid[data-v-06faedfa]{grid-template-columns:1fr}}