@keyframes fadeInUp-bb3c6eec{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard[data-v-bb3c6eec]{max-width:1400px;margin:0 auto;opacity:0;transition:opacity .5s ease}.dashboard.loaded[data-v-bb3c6eec]{opacity:1}.welcome-section[data-v-bb3c6eec]{display:flex;justify-content:space-between;align-items:center;padding:1.75rem 2rem;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--teacher-primary,#7c3aed) 0,var(--teacher-primary-strong,#4f46e5) 100%);border-radius:16px;color:#fff}.welcome-content[data-v-bb3c6eec]{display:flex;flex-direction:column;gap:.25rem}.greeting-title[data-v-bb3c6eec]{font-size:1.5rem;font-weight:600;margin:0}.greeting-sub[data-v-bb3c6eec]{font-size:.9rem;opacity:.85;margin:0}.date-info[data-v-bb3c6eec]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff26;border-radius:100px;font-size:.85rem}.stats-grid[data-v-bb3c6eec]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card[data-v-bb3c6eec]{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;opacity:0;animation:fadeInUp-bb3c6eec .4s ease forwards;animation-delay:var(--delay);transition:transform .2s ease,box-shadow .2s ease}.stat-card[data-v-bb3c6eec]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.stat-icon[data-v-bb3c6eec]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card.color-orange .stat-icon[data-v-bb3c6eec]{background:#f973161a;color:#f97316}.stat-card.color-green .stat-icon[data-v-bb3c6eec]{background:#22c55e1a;color:#22c55e}.stat-card.color-blue .stat-icon[data-v-bb3c6eec]{background:rgba(var(--teacher-primary-rgb,124,58,237),.1);color:var(--teacher-primary,#7c3aed)}.stat-card.color-pink .stat-icon[data-v-bb3c6eec]{background:#ec48991a;color:#ec4899}.stat-info[data-v-bb3c6eec]{display:flex;flex-direction:column}.stat-number[data-v-bb3c6eec]{font-size:1.75rem;font-weight:700;line-height:1}.stat-label[data-v-bb3c6eec],.stat-number[data-v-bb3c6eec]{color:var(--text-primary)}.stat-label[data-v-bb3c6eec]{font-size:.85rem;font-weight:500;margin-top:.25rem}.stat-desc[data-v-bb3c6eec]{font-size:.75rem;color:var(--text-muted)}.main-section[data-v-bb3c6eec]{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem}.section-header[data-v-bb3c6eec]{justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.section-header[data-v-bb3c6eec],.section-title[data-v-bb3c6eec]{display:flex;align-items:center}.section-title[data-v-bb3c6eec]{gap:.5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.section-title svg[data-v-bb3c6eec]{color:var(--teacher-primary,#7c3aed)}.charts-grid[data-v-bb3c6eec]{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:1rem;margin-bottom:1.5rem}.chart-card[data-v-bb3c6eec]{background:var(--bg-tertiary);border-radius:12px;overflow:hidden}.chart-card.wide[data-v-bb3c6eec]{grid-column:span 1}.card-header[data-v-bb3c6eec]{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.card-header h3[data-v-bb3c6eec]{font-size:.9rem;font-weight:600;margin:0}.card-body[data-v-bb3c6eec]{padding:1rem}.donut-wrap[data-v-bb3c6eec]{position:relative;width:140px;height:140px;margin:0 auto 1rem}.donut-wrap svg[data-v-bb3c6eec]{width:100%;height:100%}.donut-center[data-v-bb3c6eec]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-num[data-v-bb3c6eec]{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.donut-label[data-v-bb3c6eec]{display:block;font-size:.7rem;color:var(--text-muted)}.legend[data-v-bb3c6eec]{display:flex;justify-content:center;gap:1.5rem}.legend-item[data-v-bb3c6eec]{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:var(--text-secondary)}.dot[data-v-bb3c6eec]{width:8px;height:8px;border-radius:50%}.dot.blue[data-v-bb3c6eec]{background:var(--teacher-primary,#7c3aed)}.dot.pink[data-v-bb3c6eec]{background:#ec4899}.dot.green[data-v-bb3c6eec]{background:#22c55e}.bar-list[data-v-bb3c6eec]{gap:.875rem}.bar-item[data-v-bb3c6eec],.bar-list[data-v-bb3c6eec]{display:flex;flex-direction:column}.bar-item[data-v-bb3c6eec]{gap:.375rem}.bar-head[data-v-bb3c6eec]{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-secondary)}.bar-head strong[data-v-bb3c6eec]{color:var(--text-primary)}.bar-track[data-v-bb3c6eec]{height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.bar-fill[data-v-bb3c6eec]{height:100%;border-radius:3px;transition:width .6s ease}.bar-fill.blue[data-v-bb3c6eec]{background:var(--teacher-primary,#7c3aed)}.bar-fill.green[data-v-bb3c6eec]{background:#22c55e}.bar-fill.gray[data-v-bb3c6eec]{background:#6b7280}.school-list[data-v-bb3c6eec]{display:flex;flex-direction:column;gap:.5rem}.school-row[data-v-bb3c6eec]{gap:.75rem;padding:.5rem 0}.school-row[data-v-bb3c6eec],.school-row .rank[data-v-bb3c6eec]{display:flex;align-items:center}.school-row .rank[data-v-bb3c6eec]{width:22px;height:22px;border-radius:6px;background:rgba(var(--teacher-primary-rgb,124,58,237),.1);color:var(--teacher-primary,#7c3aed);font-size:.75rem;font-weight:600;justify-content:center;flex-shrink:0}.school-row .name[data-v-bb3c6eec]{flex:1;font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.school-row .count[data-v-bb3c6eec]{font-size:.8rem;color:var(--text-muted);flex-shrink:0}.empty[data-v-bb3c6eec]{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.85rem}.bottom-grid[data-v-bb3c6eec]{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem}.panel[data-v-bb3c6eec]{background:var(--bg-tertiary);border-radius:12px;overflow:hidden}.panel-header[data-v-bb3c6eec]{justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-color)}.panel-header[data-v-bb3c6eec],.panel-header h3[data-v-bb3c6eec]{display:flex;align-items:center}.panel-header h3[data-v-bb3c6eec]{gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0}.view-all[data-v-bb3c6eec]{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--teacher-primary,#7c3aed);text-decoration:none;transition:gap .2s ease}.view-all[data-v-bb3c6eec]:hover{gap:.5rem}.panel-body[data-v-bb3c6eec]{padding:.5rem}.activity-row[data-v-bb3c6eec]{display:flex;align-items:center;gap:.75rem;padding:.625rem .5rem;border-radius:8px;transition:background .2s ease}.activity-row[data-v-bb3c6eec]:hover{background:var(--glass-bg)}.activity-row .dot[data-v-bb3c6eec]{width:6px;height:6px;background:var(--text-muted);flex-shrink:0}.activity-row .dot.new[data-v-bb3c6eec]{background:var(--teacher-primary,#7c3aed)}.activity-row .dot.done[data-v-bb3c6eec]{background:#22c55e}.activity-row .user[data-v-bb3c6eec]{font-size:.85rem;font-weight:500;color:var(--text-primary)}.activity-row .action[data-v-bb3c6eec]{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;background:var(--border-color);color:var(--text-muted)}.activity-row .action.new[data-v-bb3c6eec]{background:rgba(var(--teacher-primary-rgb,124,58,237),.1);color:var(--teacher-primary,#7c3aed)}.activity-row .action.done[data-v-bb3c6eec]{background:#22c55e1a;color:#22c55e}.activity-row .time[data-v-bb3c6eec]{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.action-link[data-v-bb3c6eec]{display:flex;align-items:center;gap:.75rem;padding:.75rem .5rem;border-radius:8px;text-decoration:none;color:inherit;transition:background .2s ease;cursor:pointer;background:transparent;border:none;width:100%;text-align:left;font-family:inherit;font-size:inherit}.action-link[data-v-bb3c6eec]:hover{background:var(--glass-bg)}.action-link svg[data-v-bb3c6eec]:first-child{width:36px;height:36px;border-radius:8px;background:rgba(var(--teacher-primary-rgb,124,58,237),.1);display:flex;align-items:center;justify-content:center;color:var(--teacher-primary,#7c3aed);flex-shrink:0}.action-text[data-v-bb3c6eec]{flex:1}.action-text .title[data-v-bb3c6eec]{display:block;font-size:.85rem;font-weight:500;color:var(--text-primary)}.action-text .desc[data-v-bb3c6eec]{display:block;font-size:.75rem;color:var(--text-muted)}.action-link svg[data-v-bb3c6eec]:last-child{color:var(--text-muted);transition:transform .2s ease}.action-link:hover svg[data-v-bb3c6eec]:last-child{transform:translate(4px);color:var(--teacher-primary,#7c3aed)}@media(max-width:1200px){.charts-grid[data-v-bb3c6eec]{grid-template-columns:repeat(2,1fr)}.chart-card.wide[data-v-bb3c6eec]{grid-column:span 2}}@media(max-width:1024px){.stats-grid[data-v-bb3c6eec]{grid-template-columns:repeat(2,1fr)}.bottom-grid[data-v-bb3c6eec]{grid-template-columns:1fr}.filter-bar[data-v-bb3c6eec]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.welcome-section[data-v-bb3c6eec]{flex-direction:column;text-align:center;gap:1rem}.charts-grid[data-v-bb3c6eec]{grid-template-columns:1fr}.chart-card.wide[data-v-bb3c6eec]{grid-column:span 1}.filter-bar[data-v-bb3c6eec]{grid-template-columns:1fr}}@media(max-width:640px){.stats-grid[data-v-bb3c6eec]{grid-template-columns:1fr}.section-header[data-v-bb3c6eec]{flex-direction:column;align-items:flex-start;gap:.75rem}.section-actions[data-v-bb3c6eec]{width:100%}.btn-clear[data-v-bb3c6eec],.btn-filter[data-v-bb3c6eec]{flex:1;justify-content:center}}
