.overview-page[data-v-c90c7036]{--overview-ink:#13242c;--overview-muted:#5f7580;--overview-subtle:#82949b;--overview-line:#23394321;--overview-line-strong:#2339433d;--overview-surface:#fff;--overview-surface-raised:#f9fbfa;--overview-soft:#eef5f4;--overview-primary:#27586a;--overview-primary-hover:#214756;--overview-primary-soft:#e5f1f3;--overview-primary-tint:#27586a1a;--overview-success:#3d7658;--overview-success-soft:#e8f4ed;--overview-warning:#9a6827;--overview-warning-soft:#f5ecde;--overview-danger:#9b524d;--overview-danger-soft:#f6e9e6;--overview-info:#496f84;--overview-info-soft:#e9f1f5;--overview-card-shadow:0 2px 8px #182c3614;z-index:1;width:min(var(--classroom-content-width), var(--classroom-content-safe-width));color:var(--overview-ink);margin:10px auto 44px;position:relative}.overview-page[data-v-c90c7036]:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(115deg,#ffffff70,#fff0),radial-gradient(circle at 18% 20%,#27586a14,#0000 34%),radial-gradient(circle at 82% 42%,#3d765814,#0000 38%);border-radius:14px;height:220px;position:absolute;inset:0 0 auto}.overview-board[data-v-c90c7036]{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.overview-card[data-v-c90c7036]{isolation:isolate;border:1px solid var(--overview-line);box-shadow:0 1px 0 #fffffff5 inset, var(--overview-card-shadow);will-change:transform, opacity;background:linear-gradient(#fffffff5 0%,#f9fbfafa 100%);border-radius:14px;flex-direction:column;min-width:0;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;display:flex;position:relative;overflow:hidden}.overview-card[data-v-c90c7036]:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#ffffffd1,#fff0);height:72px;position:absolute;inset:0 0 auto}.overview-card.hover-float[data-v-c90c7036]:hover{border-color:var(--overview-line-strong);transform:translateY(-1px);box-shadow:inset 0 1px #fffffff5,0 3px 8px #182c361a}.schedule-card[data-v-c90c7036]{background:linear-gradient(135deg,#fffffffa 0%,#f7fbfafa 60%,#eff7f6f5 100%);grid-column:span 8;min-height:360px}.attendance-card[data-v-c90c7036]{background:linear-gradient(145deg,#fffffffa 0%,#f7fbf9fa 56%,#eaf4effa 100%);grid-column:span 4;min-height:360px}.duty-card[data-v-c90c7036],.ranking-card[data-v-c90c7036],.notices-card[data-v-c90c7036],.performance-card[data-v-c90c7036]{grid-column:span 3;min-height:286px}.card-header[data-v-c90c7036]{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.card-eyebrow[data-v-c90c7036]{color:var(--overview-subtle);letter-spacing:0;font-size:12px;font-weight:720;line-height:1}.card-title[data-v-c90c7036]{color:var(--overview-ink);letter-spacing:0;text-wrap:balance;margin:4px 0 0;font-size:18px;font-weight:850;line-height:1.25}.card-icon-wrapper[data-v-c90c7036]{border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:inset 0 1px #ffffffe0}.card-icon-wrapper.success[data-v-c90c7036]{background:var(--overview-success-soft);color:var(--overview-success)}.card-icon-wrapper.primary[data-v-c90c7036]{background:var(--overview-primary-soft);color:var(--overview-primary)}.card-icon-wrapper.warning[data-v-c90c7036]{background:var(--overview-warning-soft);color:var(--overview-warning)}.card-icon-wrapper.info[data-v-c90c7036]{background:var(--overview-info-soft);color:var(--overview-info)}.next-course-strip[data-v-c90c7036]{background:linear-gradient(90deg,#e5f1f3f0,#ffffffd1),linear-gradient(135deg,#27586a14,#fff0);border:1px solid #27586a29;border-radius:12px;align-items:center;gap:12px;min-height:46px;margin-bottom:16px;padding:11px 14px;display:flex}.strip-label[data-v-c90c7036]{color:var(--overview-primary);flex:none;font-size:12px;font-weight:760}.next-course-strip strong[data-v-c90c7036]{min-width:0;color:var(--overview-ink);font-size:13px;line-height:1.45}.schedule-two-rows[data-v-c90c7036]{flex-direction:column;flex:1;gap:12px;display:flex}.schedule-row[data-v-c90c7036]{grid-template-columns:44px minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.row-label[data-v-c90c7036]{border:1px solid var(--overview-line);color:var(--overview-muted);background:linear-gradient(#f7faf9,#edf4f4);border-radius:10px;justify-content:center;align-items:center;font-size:12px;font-weight:760;display:flex}.schedule-timeline[data-v-c90c7036]{grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:8px;min-width:0;display:grid}.timeline-item[data-v-c90c7036]{border:1px solid var(--overview-line);background:#ffffffd1;border-radius:11px;align-content:start;gap:8px;min-width:0;padding:12px;transition:transform .2s,border-color .2s,background .2s;display:grid}.timeline-item.active[data-v-c90c7036]{background:linear-gradient(160deg,#e5f1f3fa,#ffffffdb);border-color:#27586a47}.timeline-item.next[data-v-c90c7036]{background:#fffffff0}.time-label[data-v-c90c7036]{color:var(--overview-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:760}.timeline-item.active .time-label[data-v-c90c7036]{color:var(--overview-primary)}.course-info[data-v-c90c7036]{min-width:0}.subject-name[data-v-c90c7036]{color:var(--overview-ink);overflow-wrap:anywhere;font-size:15px;font-weight:800;line-height:1.25}.teacher-name[data-v-c90c7036]{color:var(--overview-muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px}.status-badge[data-v-c90c7036]{border-radius:999px;width:max-content;max-width:100%;padding:3px 8px;font-size:11px;font-weight:760}.status-badge.ended[data-v-c90c7036]{color:var(--overview-muted);background:#1727320f}.status-badge.current[data-v-c90c7036]{background:var(--overview-primary);color:#fff}.status-badge.next[data-v-c90c7036]{background:var(--overview-surface);color:var(--overview-ink);border:1px solid var(--overview-line)}.attendance-body[data-v-c90c7036]{flex-direction:column;flex:1;gap:14px;display:flex}.attendance-metric[data-v-c90c7036]{background:radial-gradient(circle at 18% 12%,#ffffffd1,#fff0 32%),linear-gradient(135deg,#3d76582e,#ffffffc2),linear-gradient(#eef8f1,#e4f0e9);border:1px solid #4b80612e;border-radius:13px;justify-content:space-between;align-items:flex-end;gap:12px;min-height:118px;padding:18px;display:flex}.metric-num[data-v-c90c7036]{color:#36704f;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:48px;font-weight:900;line-height:1}.metric-label[data-v-c90c7036]{color:#3f6f54;padding-bottom:3px;font-size:12px;font-weight:720}.attendance-details[data-v-c90c7036]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;display:grid}.detail-row[data-v-c90c7036]{border:1px solid var(--overview-line);min-height:66px;color:var(--overview-ink);background:#ffffffd6;border-radius:10px;align-content:center;gap:8px;padding:11px;font-size:13px;font-weight:650;display:grid}.detail-row .dot[data-v-c90c7036]{border-radius:999px;flex:none;width:6px;height:6px}.detail-row .dot.warning[data-v-c90c7036]{background:var(--overview-warning)}.detail-row .dot.danger[data-v-c90c7036]{background:var(--overview-danger)}.detail-row .label[data-v-c90c7036]{color:var(--overview-muted);font-size:12px}.detail-row .value[data-v-c90c7036]{font-variant-numeric:tabular-nums;font-weight:780}.detail-row.total[data-v-c90c7036]{border-top:1px solid var(--overview-line)}.duty-body[data-v-c90c7036]{flex:1;gap:12px;display:grid}.duty-header[data-v-c90c7036]{border:1px solid var(--overview-line);background:linear-gradient(145deg,#f6f9f8,#eef5f3);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.duty-header strong[data-v-c90c7036]{min-width:0;color:var(--overview-ink);overflow-wrap:anywhere;font-size:16px}.duty-header .badge[data-v-c90c7036]{background:var(--overview-warning-soft);color:var(--overview-warning);border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:760}.duty-members[data-v-c90c7036]{align-content:start;gap:8px;display:grid}.member-row[data-v-c90c7036]{border:1px solid var(--overview-line);background:#ffffffd1;border-radius:10px;justify-content:space-between;gap:12px;padding:10px 12px;font-size:13px;display:flex}.member-name[data-v-c90c7036]{color:var(--overview-ink);font-weight:760}.member-role[data-v-c90c7036]{color:var(--overview-muted);font-size:12px}.ranking-body[data-v-c90c7036],.notices-body[data-v-c90c7036]{gap:10px;display:grid}.rank-row[data-v-c90c7036],.notice-item[data-v-c90c7036]{border:1px solid var(--overview-line);background:#ffffffd6;border-radius:10px;padding:11px 12px}.rank-row[data-v-c90c7036]{align-items:center;gap:11px;display:flex}.rank-index[data-v-c90c7036]{width:28px;height:28px;color:var(--overview-muted);background:#1727320f;border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:820;display:flex}.rank-index.rank-1[data-v-c90c7036]{color:#7b5a22;background:#f0e5d1}.rank-index.rank-2[data-v-c90c7036]{color:#66787f;background:#edf2f3}.rank-index.rank-3[data-v-c90c7036]{color:#7f5738;background:#f1e6dc}.rank-name[data-v-c90c7036]{min-width:0;color:var(--overview-ink);overflow-wrap:anywhere;font-size:14px;font-weight:780}.rank-score[data-v-c90c7036]{font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px;font-weight:820}.rank-score.positive[data-v-c90c7036]{color:var(--overview-success)}.rank-score.negative[data-v-c90c7036]{color:var(--overview-danger)}.rank-score.neutral[data-v-c90c7036]{color:var(--overview-muted)}.notice-meta[data-v-c90c7036]{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.notice-tag[data-v-c90c7036]{background:var(--overview-info-soft);color:var(--overview-info);border-radius:999px;padding:3px 7px;font-size:11px;font-weight:760}.notice-time[data-v-c90c7036]{color:var(--overview-muted);font-variant-numeric:tabular-nums;font-size:12px}.notice-title[data-v-c90c7036]{color:var(--overview-ink);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;font-weight:720;line-height:1.45;display:-webkit-box;overflow:hidden}.empty-state[data-v-c90c7036]{color:#6d8189;text-align:center;background:linear-gradient(145deg,#f7faf9c2,#ffffff6b);border-radius:12px;justify-content:center;align-items:center;min-height:72px;padding:12px;font-size:13px;display:flex}.empty-state.compact[data-v-c90c7036]{border:1px dashed var(--overview-line);border-radius:12px;min-height:48px}.performance-body[data-v-c90c7036]{flex:1;grid-template-columns:1fr;gap:12px;display:grid}.metrics-grid[data-v-c90c7036]{gap:10px;display:grid}.performance-row[data-v-c90c7036]{border:1px solid var(--overview-line);background:#ffffffd6;border-radius:10px;gap:9px;padding:12px;display:grid}.row-header[data-v-c90c7036]{justify-content:space-between;align-items:center;gap:12px;display:flex}.category-info[data-v-c90c7036]{flex-wrap:wrap;align-items:baseline;gap:7px;display:flex}.category-info strong[data-v-c90c7036]{color:var(--overview-ink);font-size:14px}.category-info span[data-v-c90c7036]{color:var(--overview-muted);font-size:12px}.category-score[data-v-c90c7036]{font-variant-numeric:tabular-nums;font-size:14px;font-weight:820}.category-score.positive[data-v-c90c7036]{color:var(--overview-success)}.category-score.negative[data-v-c90c7036]{color:var(--overview-danger)}.progress-bar[data-v-c90c7036]{background:#1727320e;border-radius:999px;height:6px;overflow:hidden}.progress-fill[data-v-c90c7036]{border-radius:999px;height:100%;transition:width .45s ease-out}.tag-cloud[data-v-c90c7036]{border:1px solid var(--overview-line);background:linear-gradient(145deg,#f6f9f8,#eef5f3);border-radius:12px;flex-wrap:wrap;align-content:flex-start;gap:8px;padding:12px;display:flex}.tag-cloud span[data-v-c90c7036]{border:1px solid var(--overview-line);color:var(--overview-ink);background:#ffffffd6;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:680}.title-with-action[data-v-c90c7036]{align-items:center;gap:12px;margin-top:4px;display:flex}.publish-notice-btn[data-v-c90c7036]{background:var(--overview-primary-soft);height:28px;color:var(--overview-primary);cursor:pointer;border:1px solid #2b617538;border-radius:9px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:720;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.publish-notice-btn[data-v-c90c7036]:hover{background:var(--overview-primary);color:#fff;border-color:var(--overview-primary)}.form-grid[data-v-c90c7036]{flex-direction:column;gap:16px;display:flex}.form-item[data-v-c90c7036]{text-align:left;flex-direction:column;gap:6px;display:flex}.form-item label[data-v-c90c7036]{color:var(--overview-ink);font-size:13px;font-weight:720}.form-item label .required[data-v-c90c7036]{color:var(--overview-danger);margin-left:2px}.form-item input[data-v-c90c7036],.form-item textarea[data-v-c90c7036]{border:1px solid var(--overview-line);background:var(--overview-surface);color:var(--overview-ink);box-sizing:border-box;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-size:13px;transition:border-color .2s,background .2s}.form-item input[data-v-c90c7036]:focus,.form-item textarea[data-v-c90c7036]:focus{border-color:var(--overview-primary);background:var(--overview-surface)}.dialog-tip-msg[data-v-c90c7036]{color:var(--overview-muted);text-align:left;margin:0;font-size:11px;line-height:1.4}.dialog-footer[data-v-c90c7036]{justify-content:flex-end;gap:10px;display:flex}.dialog-btn[data-v-c90c7036]{cursor:pointer;border:none;border-radius:10px;height:38px;padding:0 18px;font-size:13px;font-weight:720;transition:background .2s,color .2s}.dialog-btn.secondary[data-v-c90c7036]{color:var(--overview-ink);background:#1727320f}.dialog-btn.secondary[data-v-c90c7036]:hover{background:#1727321a}.dialog-btn.primary[data-v-c90c7036]{background:var(--overview-primary);color:#fff}.dialog-btn.primary[data-v-c90c7036]:hover{background:var(--overview-primary-hover)}@media (width<=1080px){.schedule-card[data-v-c90c7036]{grid-column:span 12;min-height:0}.attendance-card[data-v-c90c7036],.duty-card[data-v-c90c7036]{grid-column:span 6;min-height:0}.ranking-card[data-v-c90c7036],.notices-card[data-v-c90c7036],.performance-card[data-v-c90c7036]{grid-column:span 4;min-height:0}}@media (width<=840px){.overview-page[data-v-c90c7036]{margin:8px auto 32px}.overview-board[data-v-c90c7036]{grid-template-columns:1fr}.schedule-card[data-v-c90c7036],.attendance-card[data-v-c90c7036],.duty-card[data-v-c90c7036],.ranking-card[data-v-c90c7036],.notices-card[data-v-c90c7036],.performance-card[data-v-c90c7036]{grid-column:1}}@media (width<=560px){.overview-page[data-v-c90c7036]{width:100%}.overview-card[data-v-c90c7036]{border-radius:10px;padding:16px}.overview-board[data-v-c90c7036]{gap:14px}.schedule-row[data-v-c90c7036]{grid-template-columns:1fr}.row-label[data-v-c90c7036]{justify-content:flex-start;padding:8px 10px}.schedule-timeline[data-v-c90c7036],.attendance-details[data-v-c90c7036]{grid-template-columns:1fr}.attendance-metric[data-v-c90c7036]{min-height:84px}}@media (prefers-reduced-motion:reduce){.overview-card[data-v-c90c7036],.timeline-item[data-v-c90c7036],.progress-fill[data-v-c90c7036],.publish-notice-btn[data-v-c90c7036],.dialog-btn[data-v-c90c7036]{transition:none}.overview-card.hover-float[data-v-c90c7036]:hover{transform:none}}.students-page[data-v-0f8d5dec]{z-index:1;width:min(var(--classroom-content-width), var(--classroom-content-safe-width));margin:18px auto 40px;transition:max-width .3s cubic-bezier(.16,1,.3,1);position:relative}.students-page.size-large[data-v-0f8d5dec],.students-page.size-small[data-v-0f8d5dec]{max-width:none}.points-mode-tabs[data-v-0f8d5dec]{border:1px solid var(--border-color);background:#00000009;border-radius:10px;margin-top:10px;margin-bottom:4px;padding:3px;display:flex}.mode-tab-btn[data-v-0f8d5dec]{cursor:pointer;height:34px;color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:1;font-size:13px;font-weight:800;transition:all .2s cubic-bezier(.16,1,.3,1)}.mode-tab-btn.plus.active[data-v-0f8d5dec]{background:var(--solid-panel-bg,#fff);color:var(--accent);box-shadow:0 2px 6px #0000000a}.mode-tab-btn.minus.active[data-v-0f8d5dec]{background:var(--solid-panel-bg,#fff);color:var(--danger);box-shadow:0 2px 6px #0000000a}.glass[data-v-0f8d5dec]{background:var(--solid-panel-bg,#fff);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.module-header[data-v-0f8d5dec]{border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:12px;padding:20px 24px;display:flex}.eyebrow[data-v-0f8d5dec]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.header-title[data-v-0f8d5dec]{color:var(--text-main);letter-spacing:-.5px;margin:4px 0 0;font-size:22px;font-weight:800}.member-count[data-v-0f8d5dec]{height:34px;color:var(--text-muted);background:#8e9bb01a;border-radius:99px;align-items:center;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.student-toolbar[data-v-0f8d5dec]{border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px;display:flex}.toolbar-actions[data-v-0f8d5dec]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toolbar-select[data-v-0f8d5dec],.scope-select[data-v-0f8d5dec]{border:1px solid var(--border-color);height:38px;color:var(--text-main);cursor:pointer;box-shadow:var(--shadow-sm);background:#ffffffb3;border-radius:99px;outline:none;padding:0 12px;font-size:13px;font-weight:700;transition:all .2s}.toolbar-select.wide[data-v-0f8d5dec]{min-width:178px}.toolbar-select[data-v-0f8d5dec]:hover,.scope-select[data-v-0f8d5dec]:hover{background:#fff}.batch-btn[data-v-0f8d5dec]{cursor:pointer;border:1px solid #0000;border-radius:99px;height:38px;padding:0 16px;font-size:13.5px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s}.batch-btn[data-v-0f8d5dec]:hover{transform:translateY(-1px)}.batch-btn.positive[data-v-0f8d5dec]{color:var(--accent);background:#34c7591a;border-color:#34c75929}.batch-btn.negative[data-v-0f8d5dec]{color:var(--danger);background:#ff3b3017;border-color:#ff3b3024}.add-student-btn[data-v-0f8d5dec]{background:var(--brand-gradient);color:#fff;cursor:pointer;border:none;border-radius:99px;height:38px;padding:0 20px;font-size:13.5px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #0071e333}.add-student-btn[data-v-0f8d5dec]:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-icon[data-v-0f8d5dec]{font-size:14px;font-weight:800}.student-grid[data-v-0f8d5dec]{gap:16px;width:100%;display:grid}.size-small .student-grid[data-v-0f8d5dec]{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.size-large .student-grid[data-v-0f8d5dec]{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}@media (width<=640px){.size-small .student-grid[data-v-0f8d5dec],.size-large .student-grid[data-v-0f8d5dec]{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px}}.students-page.size-large .student-card[data-v-0f8d5dec]{border-radius:24px;min-height:280px;padding:28px 18px 18px}.students-page.size-large .avatar-box[data-v-0f8d5dec]{width:68px;height:68px;margin-top:6px;font-size:24px}.students-page.size-large .student-name[data-v-0f8d5dec]{font-size:17px}.students-page.size-large .group-chip[data-v-0f8d5dec]{padding:2px 10px;font-size:11px}.students-page.size-large .student-no-text[data-v-0f8d5dec]{font-size:10.5px}.students-page.size-large .student-stats-grid[data-v-0f8d5dec]{margin-top:18px;padding:10px 6px}.students-page.size-large .stat-item .num[data-v-0f8d5dec]{font-size:18px}.students-page.size-large .stat-item .label[data-v-0f8d5dec]{font-size:10.5px}.card-size-toggle[data-v-0f8d5dec]{border:1px solid var(--border-color);box-sizing:border-box;background:#00000009;border-radius:99px;align-items:center;height:38px;margin-left:8px;padding:2px;display:flex}.card-size-toggle .toggle-btn[data-v-0f8d5dec]{cursor:pointer;height:32px;color:var(--text-muted);background:0 0;border:none;border-radius:99px;align-items:center;gap:4px;padding:0 12px;font-size:12.5px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.card-size-toggle .toggle-btn.active[data-v-0f8d5dec]{background:var(--solid-panel-bg,#fff);color:var(--brand);box-shadow:0 2px 6px #0000000f}.card-size-toggle .toggle-btn[data-v-0f8d5dec]:hover:not(.active){color:var(--text-main)}.student-card[data-v-0f8d5dec]{background:var(--solid-panel-bg,#fff);border:1px solid var(--border-color,#e2e8f0);cursor:pointer;box-sizing:border-box;border-radius:20px;flex-direction:column;align-items:center;min-height:252px;padding:24px 14px 14px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 4px 10px #00000008,0 1px 2px #00000005}.student-card[data-v-0f8d5dec]:hover{background:var(--solid-panel-bg,#fff);border-color:#0071e359;transform:translateY(-3px);box-shadow:0 16px 28px -4px #00000012,0 8px 16px -4px #0000000a}.student-card[data-v-0f8d5dec]:focus-visible{outline-offset:3px;outline:3px solid #0071e338}.card-top-controls[data-v-0f8d5dec]{opacity:0;z-index:3;justify-content:flex-end;transition:opacity .2s;display:flex;position:absolute;top:10px;right:10px}.student-card:hover .card-top-controls[data-v-0f8d5dec]{opacity:1}.card-ctrl-btn[data-v-0f8d5dec]{border:1px solid var(--border-color);width:24px;height:24px;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-sm);background:#ffffffe6;border-radius:50%;place-items:center;font-size:12px;transition:all .15s;display:grid}.card-ctrl-btn[data-v-0f8d5dec]:hover{background:#fff;transform:scale(1.05)}.card-ctrl-btn.delete[data-v-0f8d5dec]:hover{color:var(--danger);border-color:#ff3b3026}.avatar-box[data-v-0f8d5dec]{color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;width:54px;height:54px;margin-top:4px;font-size:20px;font-weight:850;transition:transform .3s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden;box-shadow:0 4px 10px #0000000a}.student-card:hover .avatar-box[data-v-0f8d5dec]{transform:scale(1.05)}.avatar-box.is-boy[data-v-0f8d5dec]{color:#0369a1}.avatar-box.is-girl[data-v-0f8d5dec]{color:#be185d}.avatar-box img[data-v-0f8d5dec]{object-fit:cover;width:100%;height:100%;display:block}.student-info[data-v-0f8d5dec]{flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:12px;display:flex}.student-name[data-v-0f8d5dec]{color:var(--text-main);letter-spacing:-.2px;font-size:15.5px;font-weight:850}.group-chip[data-v-0f8d5dec]{color:var(--brand);background:#0071e30d;border-radius:5px;padding:1.5px 8px;font-size:10px;font-weight:750}.position-chip[data-v-0f8d5dec]{z-index:2;color:#176c38;text-overflow:ellipsis;white-space:nowrap;background:#34c7591a;border:1px solid #34c75929;border-radius:99px;max-width:72px;padding:3px 7px;font-size:9.5px;font-weight:850;line-height:1;position:absolute;top:10px;left:10px;overflow:hidden}.student-no-text[data-v-0f8d5dec]{color:var(--text-muted);font-family:monospace;font-size:9.5px}.student-stats-grid[data-v-0f8d5dec]{border:1px solid var(--border-color);box-sizing:border-box;background:#00000005;border-radius:12px;grid-template-columns:1fr 1px 1fr;align-items:center;width:100%;margin-top:14px;padding:8px 4px;display:grid}.stat-item[data-v-0f8d5dec]{flex-direction:column;align-items:center;gap:1px;display:flex}.stat-item .num[data-v-0f8d5dec]{font-variant-numeric:tabular-nums;font-family:-apple-system,BlinkMacSystemFont,SF Pro,Inter,sans-serif;font-size:16px;font-weight:900;line-height:1.2}.stat-item .label[data-v-0f8d5dec]{color:var(--text-muted);font-size:9.5px;font-weight:700}.stat-item.total.positive .num[data-v-0f8d5dec]{color:var(--accent)}.stat-item.total.negative .num[data-v-0f8d5dec]{color:var(--danger)}.stat-item.total.neutral .num[data-v-0f8d5dec]{color:var(--text-muted)}.stat-item.redeem .num[data-v-0f8d5dec]{color:var(--brand)}.stat-divider[data-v-0f8d5dec]{background-color:var(--border-color);width:1px;height:20px}.card-actions[data-v-0f8d5dec]{opacity:1;justify-content:center;gap:12px;width:100%;margin-top:auto;padding-top:10px;display:flex}.action[data-v-0f8d5dec]{cursor:pointer;width:30px;height:30px;color:var(--text-muted);background:#00000008;border:none;border-radius:50%;place-items:center;transition:all .2s cubic-bezier(.16,1,.3,1);display:grid}.action .icon-sm[data-v-0f8d5dec]{width:14px;height:14px}.action[data-v-0f8d5dec]:hover{transform:translateY(-2px)scale(1.08)}.action.score-adjust[data-v-0f8d5dec]{color:var(--brand);background:#0071e30f}.action.score-adjust[data-v-0f8d5dec]:hover{background:var(--brand);color:#fff;box-shadow:0 4px 10px #0071e333}.action.redeem[data-v-0f8d5dec]{color:var(--warning);background:#ff950014}.action.redeem[data-v-0f8d5dec]:hover{background:var(--warning);color:#fff;box-shadow:0 4px 10px #ff950033}.action.neutral[data-v-0f8d5dec]:hover{background:var(--text-main);color:#fff;box-shadow:0 4px 10px #00000026}.empty-grid-state[data-v-0f8d5dec]{color:var(--text-muted);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:80px 20px;display:flex}.empty-icon[data-v-0f8d5dec]{margin-bottom:12px;font-size:32px}.dialog-body[data-v-0f8d5dec]{flex-direction:column;gap:16px;display:flex}.inline-footer[data-v-0f8d5dec]{justify-content:flex-end;margin-top:-2px}.mini-btn[data-v-0f8d5dec]{border:1px solid var(--border-color);height:28px;color:var(--text-main);cursor:pointer;background:#fff;border-radius:7px;padding:0 10px;font-size:12px;font-weight:700}.mini-btn[data-v-0f8d5dec]:hover{border-color:var(--brand);color:var(--brand)}.mini-btn.danger[data-v-0f8d5dec]:hover{color:var(--danger);border-color:#ff3b3052}.target-student-badge[data-v-0f8d5dec]{color:var(--text-main);background:#0071e30a;border:1px solid #0071e31a;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700}.target-student-badge strong[data-v-0f8d5dec]{color:var(--brand);font-size:14.5px}.target-student-badge .group-name[data-v-0f8d5dec]{color:var(--text-muted);font-size:12px}.form-section[data-v-0f8d5dec]{flex-direction:column;gap:8px;display:flex}.section-label[data-v-0f8d5dec]{color:var(--text-muted);text-transform:uppercase;font-size:11.5px;font-weight:800}.category-pills[data-v-0f8d5dec]{flex-wrap:wrap;gap:6px;display:flex}.cat-pill[data-v-0f8d5dec]{border:1px solid var(--border-color);height:30px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:8px;padding:0 14px;font-size:12px;font-weight:750;transition:all .2s}.cat-pill[data-v-0f8d5dec]:hover{border-color:var(--text-muted);color:var(--text-main);transform:translateY(-.5px)}.cat-pill.active[data-v-0f8d5dec]{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 3px 10px #0071e32e}.reasons-pills[data-v-0f8d5dec]{border:1px solid var(--border-color);background:#00000003;border-radius:12px;flex-wrap:wrap;gap:6px;padding:10px;display:flex}.reason-pill[data-v-0f8d5dec]{border:1.5px solid var(--border-color);height:28px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:6px;padding:0 10px;font-size:11.5px;font-weight:750;transition:all .15s}.reason-pill[data-v-0f8d5dec]:hover{border-color:var(--text-muted);color:var(--text-main)}.reason-pill.active[data-v-0f8d5dec]{background:var(--text-main);border-color:var(--text-main);color:#fff}.no-reasons-text[data-v-0f8d5dec]{color:var(--text-muted);border:1px dashed var(--border-color);text-align:center;background:#00000005;border-radius:8px;padding:10px;font-size:11.5px}.redeem-products[data-v-0f8d5dec]{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px;margin-bottom:8px;display:grid}.redeem-product-card[data-v-0f8d5dec]{border:1.5px solid var(--border-color);color:var(--text-main);cursor:pointer;text-align:left;background:#fff;border-radius:12px;flex-direction:row;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.product-info-wrap[data-v-0f8d5dec]{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.product-meta[data-v-0f8d5dec]{align-items:center;gap:6px;line-height:1.2;display:flex}.product-divider[data-v-0f8d5dec]{color:var(--border-color);font-weight:400}.redeem-product-card[data-v-0f8d5dec]:hover:not(.disabled){box-shadow:var(--shadow-sm);border-color:#0071e359;transform:translateY(-2px)}.redeem-product-card.selected[data-v-0f8d5dec]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);background-color:#0071e305}.redeem-product-card.disabled[data-v-0f8d5dec]{cursor:not-allowed;opacity:.46}.redeem-product-icon[data-v-0f8d5dec]{background:linear-gradient(145deg,#fff 0%,#eef6ff 100%);border:1px solid #0071e329;border-radius:10px;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 -4px 8px #0071e314}.redeem-symbol[data-v-0f8d5dec]{color:var(--brand);display:inline-block;position:relative;transform:scale(.72)}.redeem-symbol-gift[data-v-0f8d5dec]{background:linear-gradient(90deg, transparent 0 38%, var(--brand) 38% 62%, transparent 62%), linear-gradient(180deg, #8fc7ff 0%, #2f8ff0 100%);border-radius:4px 4px 5px 5px;width:30px;height:28px;box-shadow:inset 0 -4px #00388029}.redeem-symbol-gift[data-v-0f8d5dec]:before,.redeem-symbol-custom-orb[data-v-0f8d5dec]:before,.redeem-symbol-ticket[data-v-0f8d5dec]:before,.redeem-symbol-tag[data-v-0f8d5dec]:before,.redeem-symbol-star[data-v-0f8d5dec]:before,.redeem-symbol-badge[data-v-0f8d5dec]:before,.redeem-symbol-book[data-v-0f8d5dec]:before,.redeem-symbol-seat[data-v-0f8d5dec]:before,.redeem-symbol-card[data-v-0f8d5dec]:before,.redeem-symbol-board[data-v-0f8d5dec]:before,.redeem-symbol-person[data-v-0f8d5dec]:before,.redeem-symbol-note[data-v-0f8d5dec]:before,.redeem-symbol-box[data-v-0f8d5dec]:before,.redeem-symbol-gift[data-v-0f8d5dec]:after,.redeem-symbol-custom-orb[data-v-0f8d5dec]:after,.redeem-symbol-ticket[data-v-0f8d5dec]:after,.redeem-symbol-tag[data-v-0f8d5dec]:after,.redeem-symbol-star[data-v-0f8d5dec]:after,.redeem-symbol-badge[data-v-0f8d5dec]:after,.redeem-symbol-book[data-v-0f8d5dec]:after,.redeem-symbol-seat[data-v-0f8d5dec]:after,.redeem-symbol-card[data-v-0f8d5dec]:after,.redeem-symbol-board[data-v-0f8d5dec]:after,.redeem-symbol-person[data-v-0f8d5dec]:after,.redeem-symbol-note[data-v-0f8d5dec]:after,.redeem-symbol-box[data-v-0f8d5dec]:after{content:"";position:absolute}.redeem-symbol-custom-orb[data-v-0f8d5dec]{background:radial-gradient(circle at 35% 28%, #fff 0 13%, #8fc7ff 14% 45%, var(--brand) 46% 100%);border-radius:50%;width:31px;height:31px}.redeem-symbol-custom-orb[data-v-0f8d5dec]:after{border:2px solid #fff9;border-radius:50%;inset:7px}.redeem-symbol-custom-pencil[data-v-0f8d5dec]{background:linear-gradient(90deg, #9bcfff 0 68%, var(--brand) 68% 100%);border-radius:6px;width:32px;height:8px;transform:scale(.72)rotate(-32deg)}.redeem-symbol-custom-pencil[data-v-0f8d5dec]:before{border-top:4px solid #0000;border-bottom:4px solid #0000;border-right:8px solid #5aaeff;top:0;left:-7px}.redeem-symbol-custom-pencil[data-v-0f8d5dec]:after{background:#0071e359;border-radius:0 4px 4px 0;width:5px;height:8px;top:0;right:-4px}.redeem-symbol-custom-candy[data-v-0f8d5dec]{background:linear-gradient(90deg, #fff9 0 20%, transparent 20% 36%, #ffffff6b 36% 52%, transparent 52%), linear-gradient(145deg, #9bcfff, var(--brand));border-radius:9px;width:28px;height:22px}.redeem-symbol-custom-candy[data-v-0f8d5dec]:before,.redeem-symbol-custom-candy[data-v-0f8d5dec]:after{background:var(--brand);width:9px;height:13px;top:5px}.redeem-symbol-custom-candy[data-v-0f8d5dec]:before{clip-path:polygon(100% 0,0 50%,100% 100%);left:-7px}.redeem-symbol-custom-candy[data-v-0f8d5dec]:after{clip-path:polygon(0 0,100% 50%,0 100%);right:-7px}.redeem-symbol-custom-cup[data-v-0f8d5dec]{width:30px;height:31px}.redeem-symbol-custom-cup[data-v-0f8d5dec]:before{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:4px 4px 10px 10px;width:18px;height:19px;top:4px;left:6px}.redeem-symbol-custom-cup[data-v-0f8d5dec]:after{border:4px solid var(--brand);border-top:0;border-radius:0 0 14px 14px;width:26px;height:13px;top:7px;left:2px}.redeem-symbol-custom-smile[data-v-0f8d5dec]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:50%;width:31px;height:31px}.redeem-symbol-custom-smile[data-v-0f8d5dec]:before{background:#ffffffd9;border-radius:50%;width:4px;height:4px;top:10px;left:8px;box-shadow:11px 0 #ffffffd9}.redeem-symbol-custom-smile[data-v-0f8d5dec]:after{border-bottom:3px solid #ffffffd1;border-radius:0 0 14px 14px;width:15px;height:8px;bottom:7px;left:8px}.redeem-symbol-custom-heart[data-v-0f8d5dec]{width:30px;height:27px;transform:rotate(-45deg)scale(.72)}.redeem-symbol-custom-camera[data-v-0f8d5dec]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:7px;width:32px;height:24px}.redeem-symbol-custom-camera[data-v-0f8d5dec]:before{border:3px solid #ffffffb8;border-radius:50%;width:12px;height:12px;top:6px;left:10px}.redeem-symbol-custom-camera[data-v-0f8d5dec]:after{background:var(--brand);border-radius:4px 4px 0 0;width:11px;height:6px;top:-4px;left:5px}.redeem-symbol-custom-clock[data-v-0f8d5dec]{border:4px solid var(--brand);background:#0071e31a;border-radius:50%;width:31px;height:31px}.redeem-symbol-custom-clock[data-v-0f8d5dec]:before{background:var(--brand);border-radius:4px;width:4px;height:10px;top:7px;left:13px}.redeem-symbol-custom-clock[data-v-0f8d5dec]:after{background:var(--brand);border-radius:4px;width:9px;height:4px;top:14px;left:14px}.redeem-symbol-custom-key[data-v-0f8d5dec]{width:34px;height:18px}.redeem-symbol-custom-key[data-v-0f8d5dec]:before{border:4px solid var(--brand);border-radius:50%;width:15px;height:15px;top:1px;left:0}.redeem-symbol-custom-key[data-v-0f8d5dec]:after{background:linear-gradient(90deg, #9bcfff, var(--brand));width:19px;height:5px;box-shadow:9px 5px 0 -2px var(--brand);border-radius:4px;top:7px;left:15px}.redeem-symbol-custom-puzzle[data-v-0f8d5dec]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:6px;width:31px;height:28px}.redeem-symbol-custom-puzzle[data-v-0f8d5dec]:before{background:#f5f8fc;border-radius:50%;width:10px;height:10px;top:-5px;left:10px}.redeem-symbol-custom-puzzle[data-v-0f8d5dec]:after{background:var(--brand);border-radius:50%;width:10px;height:10px;top:9px;right:-5px}.redeem-symbol-custom-leaf[data-v-0f8d5dec]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:22px 2px;width:31px;height:28px;transform:scale(.72)rotate(-18deg)}.redeem-symbol-custom-leaf[data-v-0f8d5dec]:after{background:#ffffffad;border-radius:2px;width:18px;height:2px;top:13px;left:7px;transform:rotate(-18deg)}.redeem-symbol-custom-bell[data-v-0f8d5dec]{width:30px;height:31px}.redeem-symbol-custom-bell[data-v-0f8d5dec]:before{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:12px 12px 8px 8px;width:20px;height:22px;top:4px;left:5px}.redeem-symbol-custom-bell[data-v-0f8d5dec]:after{background:var(--brand);border-radius:50%;width:8px;height:8px;bottom:0;left:11px}.redeem-symbol-gift[data-v-0f8d5dec]:before{background:var(--brand);border-radius:3px;height:7px;top:6px;left:-3px;right:-3px}.redeem-symbol-gift[data-v-0f8d5dec]:after{border:4px solid var(--brand);border-bottom:0;border-radius:12px 12px 0 0;width:22px;height:13px;top:-8px;left:4px}.redeem-symbol-ticket[data-v-0f8d5dec]{background:linear-gradient(145deg, #8fc7ff, var(--brand));border-radius:5px;width:32px;height:22px;transform:scale(.72)rotate(-8deg)}.redeem-symbol-ticket[data-v-0f8d5dec]:before,.redeem-symbol-ticket[data-v-0f8d5dec]:after{background:#f5f8fc;border-radius:50%;width:7px;height:7px;top:8px}.redeem-symbol-ticket[data-v-0f8d5dec]:before{left:-4px}.redeem-symbol-ticket[data-v-0f8d5dec]:after{right:-4px}.redeem-symbol-star[data-v-0f8d5dec]{background:linear-gradient(145deg, #9bcfff, var(--brand));clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 92%,50% 70%,21% 92%,32% 56%,2% 35%,39% 35%);width:31px;height:31px}.redeem-symbol-tag[data-v-0f8d5dec]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:5px 9px 9px 5px;width:31px;height:25px;transform:scale(.72)rotate(-10deg)}.redeem-symbol-tag[data-v-0f8d5dec]:before{background:#ffffffb8;border-radius:50%;width:6px;height:6px;top:9px;left:6px}.redeem-symbol-tag[data-v-0f8d5dec]:after{border-left:8px solid var(--brand);border-top:6px solid #0000;border-bottom:6px solid #0000;top:7px;right:-5px}.redeem-symbol-badge[data-v-0f8d5dec]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:15px 15px 8px 8px;width:30px;height:34px}.redeem-symbol-badge[data-v-0f8d5dec]:before{border:3px solid #ffffff8c;border-radius:50%;inset:7px}.redeem-symbol-badge[data-v-0f8d5dec]:after{border-left:8px solid #0000;border-right:8px solid #0000;border-top:10px solid var(--brand);bottom:-7px;left:7px}.redeem-symbol-book[data-v-0f8d5dec]{background:linear-gradient(90deg, #5aaeff 0 48%, var(--brand) 48% 52%, #8fc7ff 52%);border-radius:4px;width:32px;height:25px}.redeem-symbol-book[data-v-0f8d5dec]:before{background:#ffffff94;height:2px;top:7px;left:6px;right:6px;box-shadow:0 6px #ffffff75}.redeem-symbol-seat[data-v-0f8d5dec]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:7px 7px 4px 4px;width:30px;height:29px}.redeem-symbol-seat[data-v-0f8d5dec]:before{background:var(--brand);border-radius:4px;height:8px;bottom:6px;left:-3px;right:-3px}.redeem-symbol-seat[data-v-0f8d5dec]:after{background:#5aaeff;border-radius:0 0 4px 4px;height:7px;bottom:-5px;left:5px;right:5px}.redeem-symbol-card[data-v-0f8d5dec]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:6px;width:34px;height:24px}.redeem-symbol-card[data-v-0f8d5dec]:before{background:#ffffff85;height:5px;top:6px;left:0;right:0}.redeem-symbol-card[data-v-0f8d5dec]:after{background:#ffffffb8;border-radius:3px;width:12px;height:3px;bottom:5px;left:7px}.redeem-symbol-board[data-v-0f8d5dec]{border:3px solid var(--brand);background:#0071e31f;border-radius:4px;width:32px;height:25px}.redeem-symbol-board[data-v-0f8d5dec]:before{background:var(--brand);border-radius:3px;height:3px;top:5px;left:5px;right:5px;box-shadow:0 7px #0071e3a6}.redeem-symbol-board[data-v-0f8d5dec]:after{background:var(--brand);border-radius:2px;width:10px;height:8px;bottom:-8px;left:11px}.redeem-symbol-person[data-v-0f8d5dec]{width:30px;height:30px}.redeem-symbol-person[data-v-0f8d5dec]:before{background:var(--brand);border-radius:50%;width:12px;height:12px;top:0;left:9px}.redeem-symbol-person[data-v-0f8d5dec]:after{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:13px 13px 5px 5px;width:24px;height:15px;bottom:0;left:3px}.redeem-symbol-note[data-v-0f8d5dec]{width:31px;height:31px}.redeem-symbol-note[data-v-0f8d5dec]:before{background:linear-gradient(180deg, #9bcfff, var(--brand));border-radius:4px;width:8px;height:22px;top:3px;left:7px}.redeem-symbol-note[data-v-0f8d5dec]:after{background:var(--brand);border-radius:50%;width:15px;height:11px;bottom:2px;left:3px;box-shadow:13px -8px 0 -2px #5aaeff}.redeem-symbol-box[data-v-0f8d5dec]{background:linear-gradient(90deg, #ffffff94 0 18%, transparent 18% 34%, #ffffff73 34% 49%, transparent 49%), linear-gradient(145deg, #9bcfff, var(--brand));border-radius:8px;width:30px;height:28px}.redeem-symbol-box[data-v-0f8d5dec]:before,.redeem-symbol-box[data-v-0f8d5dec]:after{background:var(--brand);width:10px;height:14px;top:7px}.redeem-symbol-box[data-v-0f8d5dec]:before{clip-path:polygon(100% 0,0 50%,100% 100%);left:-7px}.redeem-symbol-box[data-v-0f8d5dec]:after{clip-path:polygon(0 0,100% 50%,0 100%);right:-7px}.redeem-product-card strong[data-v-0f8d5dec]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;overflow:hidden}.redeem-product-card em[data-v-0f8d5dec],.redeem-product-card small[data-v-0f8d5dec]{font-style:normal;font-weight:800}.redeem-product-card em[data-v-0f8d5dec]{color:var(--brand);font-size:13px}.redeem-product-card small[data-v-0f8d5dec]{color:var(--text-muted);font-size:11px}.custom-reason-input[data-v-0f8d5dec]{border:1px solid var(--border-color);background:#ffffffb3;border-radius:8px;outline:none;height:36px;padding:0 12px;font-size:12.5px;transition:all .2s}.custom-reason-input[data-v-0f8d5dec]:focus{border-color:var(--brand);background:#fff}.score-quick-buttons[data-v-0f8d5dec]{align-items:center;gap:8px;display:flex}.score-btn[data-v-0f8d5dec]{border:1px solid var(--border-color);height:32px;color:var(--text-main);cursor:pointer;background:#fff;border-radius:8px;flex:1;font-size:12.5px;font-weight:750;transition:all .15s}.score-btn[data-v-0f8d5dec]:hover{background:#00000004}.score-btn.active[data-v-0f8d5dec]{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #34c75926}.score-quick-buttons.is-negative .score-btn.active[data-v-0f8d5dec]{background:var(--danger);border-color:var(--danger);box-shadow:0 2px 8px #ff3b3026}.custom-score-wrapper[data-v-0f8d5dec]{align-items:center;width:90px;display:flex;position:relative}.custom-score-input[data-v-0f8d5dec]{border:1px solid var(--border-color);background:#ffffffb3;border-radius:8px;outline:none;width:100%;height:32px;padding:0 24px 0 10px;font-size:12.5px;font-weight:750}.custom-score-input[data-v-0f8d5dec]:focus{border-color:var(--brand);background:#fff}.custom-score-wrapper .unit[data-v-0f8d5dec]{color:var(--text-muted);font-size:11px;font-weight:750;position:absolute;right:10px}.dialog-footer[data-v-0f8d5dec]{justify-content:flex-end;gap:10px;display:flex}.dialog-btn[data-v-0f8d5dec]{cursor:pointer;border-radius:8px;height:36px;padding:0 18px;font-size:13px;font-weight:750;transition:all .15s}.dialog-btn.secondary[data-v-0f8d5dec]{border:1px solid var(--border-color);color:var(--text-main);background:#fff}.dialog-btn.secondary[data-v-0f8d5dec]:hover{background:#00000004}.dialog-btn.primary[data-v-0f8d5dec]{background:var(--brand);color:#fff;box-shadow:none;border:none}.dialog-btn.primary[data-v-0f8d5dec]:hover{filter:brightness(.98);transform:none}.form-grid[data-v-0f8d5dec]{grid-template-columns:1fr;gap:12px;display:grid}.form-item[data-v-0f8d5dec]{flex-direction:column;gap:6px;display:flex}.form-item label[data-v-0f8d5dec]{color:var(--text-muted);font-size:11.5px;font-weight:800}.form-item label .required[data-v-0f8d5dec]{color:var(--danger)}.form-item input[data-v-0f8d5dec],.form-item select[data-v-0f8d5dec],.comment-textarea[data-v-0f8d5dec]{border:1px solid var(--border-color);background:#ffffffb3;border-radius:8px;outline:none;height:36px;padding:0 10px;font-size:13px;transition:all .2s}.comment-textarea[data-v-0f8d5dec]{resize:none;height:auto;padding:10px}.form-item input[data-v-0f8d5dec]:focus,.form-item select[data-v-0f8d5dec]:focus,.comment-textarea[data-v-0f8d5dec]:focus{border-color:var(--brand);background:#fff}.avatar-form-row[data-v-0f8d5dec]{grid-template-columns:78px 1fr;align-items:center;gap:16px;display:grid}.avatar-preview[data-v-0f8d5dec]{color:#fff;width:72px;height:72px;box-shadow:none;background:#8e9bb0;border-radius:50%;place-items:center;font-size:26px;font-weight:850;display:grid;overflow:hidden}.avatar-preview img[data-v-0f8d5dec]{object-fit:cover;width:100%;height:100%;display:block}.avatar-actions[data-v-0f8d5dec]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.upload-avatar-btn[data-v-0f8d5dec],.remove-avatar-btn[data-v-0f8d5dec]{cursor:pointer;border-radius:8px;height:38px;padding:0 14px;font-size:13px;font-weight:800}.upload-avatar-btn[data-v-0f8d5dec]{background:var(--brand);color:#fff;border:0}.remove-avatar-btn[data-v-0f8d5dec]{color:var(--text-muted);background:#fff;border:1px solid #0f172a1f}.avatar-file-input[data-v-0f8d5dec]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.avatar-help[data-v-0f8d5dec]{color:var(--text-muted);flex-basis:100%;font-size:12px;font-weight:700}.radio-row[data-v-0f8d5dec]{align-items:center;gap:16px;height:36px;display:flex}.radio-row label[data-v-0f8d5dec]{color:var(--text-main);cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.margin-top[data-v-0f8d5dec]{margin-top:10px}.drawer-body[data-v-0f8d5dec]{flex-direction:column;gap:20px;height:100%;display:flex}.drawer-student-summary[data-v-0f8d5dec]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.sum-card[data-v-0f8d5dec]{border:1px solid var(--border-color);background:#ffffffb3;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px;display:flex}.sum-label[data-v-0f8d5dec]{color:var(--text-muted);font-size:11px;font-weight:750}.sum-val[data-v-0f8d5dec]{font-size:20px;font-weight:900}.sum-val.positive[data-v-0f8d5dec]{color:var(--accent)}.sum-val.negative[data-v-0f8d5dec]{color:var(--danger)}.sum-val.neutral[data-v-0f8d5dec]{color:var(--text-muted)}.text-blue[data-v-0f8d5dec]{color:var(--brand)!important}.records-timeline-title[data-v-0f8d5dec]{color:var(--text-main);margin:10px 0 0;font-size:13px;font-weight:800}.drawer-timeline-list[data-v-0f8d5dec]{flex-direction:column;gap:10px;max-height:260px;padding-right:4px;display:flex;overflow-y:auto}.timeline-card[data-v-0f8d5dec]{border:1px solid var(--border-color);background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;transition:all .2s;display:flex}.timeline-card[data-v-0f8d5dec]:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.timeline-card.plus[data-v-0f8d5dec]{border-left:3.5px solid var(--accent)}.timeline-card.minus[data-v-0f8d5dec]{border-left:3.5px solid var(--danger)}.timeline-card.redemption-record[data-v-0f8d5dec]{border-left:3.5px solid var(--brand)}.timeline-card.redemption-record.revoked[data-v-0f8d5dec]{opacity:.6;border-left-color:var(--text-muted)}.timeline-card-header[data-v-0f8d5dec]{justify-content:space-between;align-items:center;display:flex}.timeline-card-header .time[data-v-0f8d5dec]{color:var(--text-muted);font-size:11px}.revoke-btn[data-v-0f8d5dec]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:11px;font-weight:750}.revoke-btn[data-v-0f8d5dec]:hover{color:var(--danger);text-decoration:underline}.timeline-card-content[data-v-0f8d5dec]{align-items:center;gap:8px;display:flex}.cat-tag[data-v-0f8d5dec]{color:var(--text-muted);background:#00000008;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:850}.timeline-card.plus .cat-tag[data-v-0f8d5dec]{color:var(--accent);background:#34c7590d}.timeline-card.minus .cat-tag[data-v-0f8d5dec]{color:var(--danger);background:#ff3b300d}.timeline-card.redemption-record .cat-tag[data-v-0f8d5dec]{color:var(--brand);background:#0071e30f}.reason[data-v-0f8d5dec]{color:var(--text-main);font-size:13px;font-weight:750}.timeline-card-footer[data-v-0f8d5dec]{border-top:1px dashed var(--border-color);justify-content:space-between;align-items:center;margin-top:4px;padding-top:6px;display:flex}.timeline-card-footer .teacher[data-v-0f8d5dec]{color:var(--text-muted);font-size:10.5px}.timeline-card-footer .score[data-v-0f8d5dec]{font-size:13px;font-weight:850}.timeline-card-footer .score.plus[data-v-0f8d5dec]{color:var(--accent)}.timeline-card-footer .score.minus[data-v-0f8d5dec]{color:var(--danger)}.drawer-empty-state[data-v-0f8d5dec]{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px 20px;display:flex}.drawer-empty-state .empty-icon[data-v-0f8d5dec]{margin-bottom:10px;font-size:32px}@media (width<=980px){.student-grid[data-v-0f8d5dec]{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.module-header[data-v-0f8d5dec],.student-toolbar[data-v-0f8d5dec]{flex-direction:column;align-items:flex-start;gap:14px}}.group-page[data-v-fc726d85]{width:min(var(--classroom-content-width), var(--classroom-content-safe-width));color:var(--text-main);margin:18px auto 48px}.page-head[data-v-fc726d85]{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.title-row[data-v-fc726d85]{align-items:center;gap:14px;display:flex}.title-row h2[data-v-fc726d85]{letter-spacing:0;margin:0;font-size:26px}.title-row span[data-v-fc726d85]{color:var(--text-muted);background:#eef2f6;border-radius:999px;padding:6px 12px;font-weight:800}.create-btn[data-v-fc726d85],.primary-btn[data-v-fc726d85]{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:10px;height:40px;padding:0 18px;font-weight:850}.create-btn[data-v-fc726d85]{align-items:center;gap:8px;display:inline-flex}.group-stack[data-v-fc726d85]{gap:18px;display:grid}.ungrouped-zone[data-v-fc726d85]{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:14px;gap:18px;margin-bottom:22px;padding:22px;transition:border-color .18s,background .18s;display:grid}.ungrouped-zone.over[data-v-fc726d85]{border-color:var(--brand);background:#f3f8ff}.zone-head[data-v-fc726d85]{justify-content:space-between;align-items:center;gap:12px;display:flex}.zone-title[data-v-fc726d85]{align-items:center;gap:10px;min-width:0;display:flex}.zone-title strong[data-v-fc726d85]{font-size:20px}.zone-icon[data-v-fc726d85]{width:24px;height:24px;color:var(--text-muted);background:#e2e8f0;border-radius:6px;place-items:center;font-size:13px;font-weight:900;display:grid}.count-pill[data-v-fc726d85]{height:32px;color:var(--text-main);white-space:nowrap;background:#fff;border:1px solid #0f172a1a;border-radius:999px;align-items:center;padding:0 13px;font-weight:900;display:inline-flex}.zone-tip[data-v-fc726d85]{color:#94a3b8;margin:0;font-size:13px;font-weight:800}.ungrouped-list[data-v-fc726d85]{flex-wrap:wrap;gap:14px;display:flex}.mini-student-card[data-v-fc726d85],.member-card[data-v-fc726d85]{cursor:grab;background:#fff;border:1px solid #0f172a14;border-radius:12px;align-items:center;gap:14px;min-width:142px;height:58px;padding:0 16px 0 10px;display:inline-flex;box-shadow:0 8px 18px #0f172a0f}.mini-student-card[data-v-fc726d85]:active,.member-card[data-v-fc726d85]:active{cursor:grabbing}.ungrouped-empty[data-v-fc726d85]{height:42px;color:var(--text-muted);background:#f8fafc;border-radius:8px;align-items:center;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.group-block[data-v-fc726d85]{background:#fff;border:1px solid #0f172a14;border-radius:14px;position:relative;overflow:hidden}.group-block[data-v-fc726d85]:before{content:"";background:var(--group-color);height:5px;display:block}.group-band[data-v-fc726d85]{min-height:88px;color:var(--text-main);background:#f8fafc;border-bottom:1px solid #0f172a14;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.group-mark[data-v-fc726d85]{align-items:center;gap:16px;min-width:0;display:flex}.group-icon[data-v-fc726d85]{background:color-mix(in srgb, var(--group-color) 16%, #e2e8f0);width:40px;height:40px;color:color-mix(in srgb, var(--group-color) 72%, #334155);border-radius:10px;place-items:center;font-weight:900;display:grid}.group-mark h3[data-v-fc726d85]{letter-spacing:0;margin:0;font-size:20px}.group-mark p[data-v-fc726d85]{color:var(--text-muted);flex-wrap:wrap;gap:12px;margin:7px 0 0;font-weight:750;display:flex}.group-actions[data-v-fc726d85]{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.group-actions button[data-v-fc726d85]{height:34px;color:var(--text-main);cursor:pointer;background:#fff;border:1px solid #0f172a1f;border-radius:8px;padding:0 13px;font-weight:800}.group-actions button[data-v-fc726d85]:hover,.secondary-btn[data-v-fc726d85]:hover{color:var(--brand);border-color:#0071e361}.member-grid[data-v-fc726d85]{flex-wrap:wrap;gap:14px;min-height:112px;padding:22px;transition:background .18s,outline-color .18s;display:flex}.member-grid.empty[data-v-fc726d85]{justify-content:center;align-items:center}.member-grid.over[data-v-fc726d85]{outline-offset:-10px;background:#f3f8ff;outline:2px dashed #0071e347}.member-card[data-v-fc726d85]:hover{border-color:#0071e32e;transform:translateY(-1px);box-shadow:0 6px 14px #0f172a0f}.mini-avatar[data-v-fc726d85]{color:#334155;background:#e2e8f0;border-radius:50%;place-items:center;font-weight:900;display:grid}.secondary-btn[data-v-fc726d85]{height:34px;color:var(--text-main);cursor:pointer;background:#fff;border:1px solid #0f172a1f;border-radius:8px;padding:0 12px;font-weight:800}.drop-empty[data-v-fc726d85],.empty-board[data-v-fc726d85]{color:var(--text-muted);text-align:center;padding:48px 20px}.empty-board[data-v-fc726d85]{background:#fff;border:1px solid #0f172a14;border-radius:10px;place-items:center;gap:10px;display:grid}.empty-board strong[data-v-fc726d85]{color:var(--text-main);font-size:18px}.plain-form[data-v-fc726d85]{gap:14px;display:grid}.plain-form label[data-v-fc726d85]{color:var(--text-muted);gap:7px;font-size:12px;font-weight:800;display:grid}.plain-form input[data-v-fc726d85]{border:1px solid #0f172a1f;border-radius:8px;outline:none;height:40px;padding:0 11px}.plain-form input[type=color][data-v-fc726d85]{padding:4px}.dialog-actions[data-v-fc726d85]{justify-content:flex-end;gap:10px;display:flex}.member-dialog-head[data-v-fc726d85]{color:var(--text-muted);justify-content:space-between;margin-bottom:14px;display:flex}.member-dialog-head strong[data-v-fc726d85]{color:var(--text-main)}.member-select-grid[data-v-fc726d85]{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;max-height:420px;display:grid;overflow:auto}.member-option[data-v-fc726d85]{cursor:pointer;border:1px solid #0f172a14;border-radius:10px;grid-template-columns:74px auto minmax(0,1fr);align-items:center;gap:9px;padding:10px;display:grid}.member-option.locked[data-v-fc726d85]{color:var(--text-muted);cursor:default;opacity:.68;background:#f8fafc}.member-option.locked .mini-avatar[data-v-fc726d85]{color:#64748b;background:#edf2f7}.member-status[data-v-fc726d85]{color:#6b7280;white-space:nowrap;background:#e5e7eb;border-radius:999px;justify-self:start;padding:4px 8px;font-size:11px;font-weight:900}.mini-avatar[data-v-fc726d85]{width:30px;height:30px}.mini-student-card>.mini-avatar[data-v-fc726d85],.member-card>.mini-avatar[data-v-fc726d85]{flex:none;width:34px;height:34px}.student-name-stack[data-v-fc726d85]{gap:2px;min-width:0;display:grid}.student-name-stack strong[data-v-fc726d85]{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.student-name-stack em[data-v-fc726d85]{color:var(--text-muted);font-size:12px;font-style:normal;font-weight:700}.member-option span[data-v-fc726d85]:last-child{gap:2px;min-width:0;display:grid}.member-option strong[data-v-fc726d85],.member-option em[data-v-fc726d85]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-option em[data-v-fc726d85]{color:var(--text-muted);font-size:12px;font-style:normal}@media (width<=820px){.page-head[data-v-fc726d85],.ungrouped-zone[data-v-fc726d85],.group-band[data-v-fc726d85]{flex-direction:column;align-items:flex-start}.page-head[data-v-fc726d85]{gap:12px}.create-btn[data-v-fc726d85]{justify-content:center;width:100%}.group-actions[data-v-fc726d85]{justify-content:flex-start}.ungrouped-list[data-v-fc726d85]{justify-content:flex-start;min-width:100%}.member-grid[data-v-fc726d85]{grid-template-columns:repeat(auto-fill,minmax(146px,1fr));padding:14px}}.people-page[data-v-c37aebc2]{width:100%;margin:0 auto}.people-switch[data-v-c37aebc2]{background:#fff;border:1px solid #0f172a14;border-radius:10px;gap:4px;width:max-content;margin:18px auto 0;padding:4px;display:flex}.people-switch button[data-v-c37aebc2]{min-width:82px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 16px;font-size:13px;font-weight:850}.people-switch button.active[data-v-c37aebc2]{background:var(--brand);color:#fff}@media (width<=760px){.people-switch[data-v-c37aebc2]{width:calc(100% - 24px)}.people-switch button[data-v-c37aebc2]{flex:1}}.attendance-page[data-v-a6935a3b]{z-index:1;width:min(var(--classroom-content-width), var(--classroom-content-safe-width));margin:18px auto 40px;position:relative}.glass[data-v-a6935a3b]{background:var(--panel-bg);border:1px solid var(--border-color);-webkit-backdrop-filter:var(--glass-blur) saturate(180%);box-shadow:var(--shadow-md)}.eyebrow[data-v-a6935a3b]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.attendance-dashboard[data-v-a6935a3b]{border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:20px;padding:24px 32px;display:flex}.dashboard-left[data-v-a6935a3b]{flex:1}.dashboard-title[data-v-a6935a3b]{color:var(--text-main);letter-spacing:-.5px;margin:4px 0 16px;font-size:24px;font-weight:800}.main-stats-row[data-v-a6935a3b]{align-items:center;gap:32px;display:flex}.stat-big-card[data-v-a6935a3b]{flex-direction:column;gap:4px;display:flex}.stat-big-card .card-label[data-v-a6935a3b]{color:var(--text-muted);font-size:12px;font-weight:800}.stat-big-card .card-number[data-v-a6935a3b]{font-size:42px;font-weight:900;line-height:1}.stat-big-card .card-number .unit[data-v-a6935a3b]{color:var(--text-muted);margin-left:4px;font-size:16px;font-weight:750}.stat-small-group[data-v-a6935a3b]{gap:12px;display:flex}.stat-mini-pill[data-v-a6935a3b]{border:1px solid var(--border-color);background:#00000005;border-radius:14px;flex-direction:column;gap:4px;min-width:90px;padding:8px 16px;display:flex}.stat-mini-pill span[data-v-a6935a3b]{color:var(--text-muted);font-size:11px;font-weight:750}.stat-mini-pill strong[data-v-a6935a3b]{color:var(--text-main);font-size:16px;font-weight:850}.stat-mini-pill.late[data-v-a6935a3b]{background:#ff95000a;border-color:#ff95001f}.stat-mini-pill.late strong[data-v-a6935a3b]{color:var(--warning)}.stat-mini-pill.leave[data-v-a6935a3b]{background:#ff3b300a;border-color:#ff3b301f}.stat-mini-pill.leave strong[data-v-a6935a3b]{color:var(--danger)}.progress-ring-wrapper[data-v-a6935a3b]{justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative}.progress-ring-fill[data-v-a6935a3b]{transform-origin:50%;transition:stroke-dashoffset .35s;transform:rotate(-90deg)}.progress-ring-text[data-v-a6935a3b]{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.progress-ring-text .percentage[data-v-a6935a3b]{color:var(--text-main);font-size:20px;font-weight:900;line-height:1}.progress-ring-text .label[data-v-a6935a3b]{color:var(--text-muted);margin-top:2px;font-size:10px;font-weight:750}.control-bar[data-v-a6935a3b]{border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 18px;display:flex}.date-picker-action-group[data-v-a6935a3b]{align-items:center;gap:16px;display:flex}.current-viewing-label[data-v-a6935a3b]{color:var(--text-muted);align-items:center;gap:6px;font-size:14px;display:flex}.current-viewing-label .view-date[data-v-a6935a3b]{color:var(--text-main);font-size:15px;font-weight:800}.today-badge[data-v-a6935a3b]{color:var(--brand);background:#0071e314;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800}.history-picker-wrapper[data-v-a6935a3b]{align-items:center;gap:6px;display:flex}.history-label[data-v-a6935a3b]{color:var(--text-muted);-webkit-user-select:none;user-select:none;margin-right:6px;font-size:13.5px;font-weight:700}.calendar-icon-btn[data-v-a6935a3b]{border:1px solid var(--border-color);cursor:pointer;background:#ffffffbf;border-radius:10px;outline:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 2px #00000005}.calendar-icon-btn[data-v-a6935a3b]:hover{border-color:var(--brand);background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.calendar-css-icon[data-v-a6935a3b]{border:2px solid #315a6b;border-radius:4px;width:16px;height:16px;position:relative}.calendar-css-icon[data-v-a6935a3b]:before{content:"";background:#315a6b;height:2px;position:absolute;top:3px;left:-2px;right:-2px}.calendar-day-cell[data-v-a6935a3b]{position:relative}.calendar-day-cell.has-data[data-v-a6935a3b]:not(.is-disabled){color:var(--brand);font-weight:850;box-shadow:inset 0 0 0 1px #0071e338}.calendar-day-cell.has-data[data-v-a6935a3b]:not(.is-disabled):after{content:"";background:var(--brand);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.back-today-btn[data-v-a6935a3b]{border:1px solid var(--brand);height:38px;color:var(--brand);cursor:pointer;background:0 0;border-radius:10px;padding:0 16px;font-size:13.5px;font-weight:750;transition:all .2s}.back-today-btn[data-v-a6935a3b]:hover{background:var(--brand);color:#fff}.search-wrapper[data-v-a6935a3b]{align-items:center;display:flex;position:relative}.search-icon[data-v-a6935a3b]{border:2px solid var(--text-muted);opacity:.7;border-radius:50%;width:12px;height:12px;position:absolute;left:10px}.search-icon[data-v-a6935a3b]:after{content:"";background:var(--text-muted);border-radius:99px;width:6px;height:2px;position:absolute;bottom:-3px;right:-5px;transform:rotate(45deg)}.compact-search[data-v-a6935a3b]{border:1px solid var(--border-color);background:#ffffff80;border-radius:8px;outline:none;width:200px;height:34px;padding:0 10px 0 28px;font-size:12px;transition:all .2s}.compact-search[data-v-a6935a3b]:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #0071e31a}.attendance-layout[data-v-a6935a3b]{grid-template-columns:380px minmax(0,1fr);gap:20px;display:grid}.exception-card[data-v-a6935a3b],.student-board[data-v-a6935a3b]{border-radius:var(--radius-lg);padding:24px}.card-title-row[data-v-a6935a3b]{color:var(--text-main);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin:0 0 16px;padding-bottom:10px;font-size:15px;font-weight:800;display:flex}.text-red[data-v-a6935a3b]{color:var(--danger)}.text-accent[data-v-a6935a3b]{color:var(--accent)}.exception-list[data-v-a6935a3b]{flex-direction:column;gap:10px;display:flex}.exception-line[data-v-a6935a3b]{border:1px solid var(--border-color);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:10px 12px;transition:box-shadow .2s;display:flex}.exception-line[data-v-a6935a3b]:hover{box-shadow:var(--shadow-sm)}.exception-line.late[data-v-a6935a3b]{border-left:4px solid var(--warning)}.exception-line.leave[data-v-a6935a3b]{border-left:4px solid var(--danger)}.exception-line .avatar[data-v-a6935a3b]{color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:grid;overflow:hidden}.exception-line .avatar img[data-v-a6935a3b],.student-item-card .avatar img[data-v-a6935a3b]{object-fit:cover;width:100%;height:100%;display:block}.exception-line .info-area[data-v-a6935a3b]{flex-direction:column;flex:1;gap:4px;display:flex}.exception-line .name[data-v-a6935a3b]{color:var(--text-main);font-size:14px;font-weight:800}.mini-reason-input[data-v-a6935a3b]{background:#00000005;border:none;border-radius:4px;outline:none;width:100%;padding:2px 6px;font-size:11px}.mini-reason-input[data-v-a6935a3b]:focus{box-shadow:0 0 0 1px var(--border-color);background:#fff}.mini-reason-input[data-v-a6935a3b]:disabled{cursor:default;color:var(--text-muted);background:#00000004}.status-badge[data-v-a6935a3b]{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:800}.status-badge.disabled[data-v-a6935a3b]{cursor:default;opacity:.72}.status-badge.late[data-v-a6935a3b]{color:var(--warning);background:#ff950014}.status-badge.leave[data-v-a6935a3b]{color:var(--danger);background:#ff3b3014}.empty-exception-state[data-v-a6935a3b]{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.success-icon[data-v-a6935a3b]{border:2px solid #34c75947;border-radius:50%;width:34px;height:34px;margin-bottom:12px;position:relative}.success-icon[data-v-a6935a3b]:after{content:"";border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);width:13px;height:7px;position:absolute;top:10px;left:8px;transform:rotate(-45deg)}.board-head[data-v-a6935a3b]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.board-head .board-title[data-v-a6935a3b]{color:var(--text-main);margin:4px 0 0;font-size:15px;font-weight:800}.reset-all-btn[data-v-a6935a3b]{border:1px solid var(--border-color);height:32px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:99px;padding:0 14px;font-size:12px;font-weight:750;transition:all .2s}.reset-all-btn[data-v-a6935a3b]:hover{color:var(--text-main);border-color:var(--text-muted);background:#00000004}.student-grid-list[data-v-a6935a3b]{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.student-item-card[data-v-a6935a3b]{border:1px solid var(--border-color);cursor:pointer;background:#fff9;border-radius:16px;flex-direction:column;align-items:center;gap:8px;min-height:106px;padding:12px 8px;transition:all .2s;display:flex}.student-item-card[data-v-a6935a3b]:hover{box-shadow:var(--shadow-sm);background:#fff;transform:translateY(-2px)}.student-item-card.readonly[data-v-a6935a3b]{cursor:default}.student-item-card.readonly[data-v-a6935a3b]:hover{box-shadow:none;background:#fff9;transform:none}.empty-student-state[data-v-a6935a3b]{min-height:140px;color:var(--text-muted);border:1px dashed var(--border-color);background:#ffffff7a;border-radius:16px;grid-column:1/-1;place-items:center;font-size:14px;font-weight:750;display:grid}.avatar-wrap[data-v-a6935a3b]{position:relative}.student-item-card .avatar[data-v-a6935a3b]{color:#fff;width:36px;height:36px;box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid;overflow:hidden}.status-indicator-dot[data-v-a6935a3b]{background:var(--accent);border:1.5px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;bottom:0;right:0}.status-indicator-dot.late[data-v-a6935a3b]{background:var(--warning)}.status-indicator-dot.leave[data-v-a6935a3b]{background:var(--danger)}.student-item-card .name[data-v-a6935a3b]{color:var(--text-main);font-size:13px}.status-label[data-v-a6935a3b]{color:var(--accent);background:#34c7590f;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:800}.status-label.late[data-v-a6935a3b]{color:var(--warning);background:#ff95000f}.status-label.leave[data-v-a6935a3b]{color:var(--danger);background:#ff3b300f}.student-item-card.late[data-v-a6935a3b]{background:#ff950004;border-color:#ff950059}.student-item-card.leave[data-v-a6935a3b]{background:#ff3b3004;border-color:#ff3b3059}@media (width<=1080px){.attendance-layout[data-v-a6935a3b]{grid-template-columns:1fr}}@media (width<=720px){.attendance-page[data-v-a6935a3b]{width:100%;margin:10px auto 28px;overflow-x:hidden}.attendance-dashboard[data-v-a6935a3b]{border-radius:18px;flex-direction:column;align-items:stretch;gap:16px;padding:20px 16px}.dashboard-title[data-v-a6935a3b]{margin-bottom:14px;font-size:25px;line-height:1.16}.main-stats-row[data-v-a6935a3b]{grid-template-columns:1fr;gap:12px;width:100%;display:grid}.stat-big-card .card-number[data-v-a6935a3b]{font-size:48px}.stat-small-group[data-v-a6935a3b]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.stat-mini-pill[data-v-a6935a3b]{border-radius:14px;min-width:0;padding:11px 12px}.stat-mini-pill.total[data-v-a6935a3b]{grid-column:1/-1}.dashboard-right[data-v-a6935a3b]{align-self:center}.progress-ring-wrapper[data-v-a6935a3b]{width:132px;height:132px}.control-bar[data-v-a6935a3b]{border-radius:18px;flex-direction:column;align-items:stretch;gap:12px;padding:14px}.date-picker-action-group[data-v-a6935a3b]{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.current-viewing-label[data-v-a6935a3b]{grid-column:1/-1;font-size:13px}.history-picker-wrapper[data-v-a6935a3b]{min-width:0}.history-label[data-v-a6935a3b]{margin-right:4px;font-size:13px}.calendar-icon-btn[data-v-a6935a3b]{flex:none}.back-today-btn[data-v-a6935a3b],.search-wrapper[data-v-a6935a3b],.compact-search[data-v-a6935a3b]{width:100%}.attendance-layout[data-v-a6935a3b]{gap:14px}.exception-card[data-v-a6935a3b],.student-board[data-v-a6935a3b]{border-radius:18px;padding:16px}.empty-exception-state[data-v-a6935a3b]{padding:36px 12px}.board-head[data-v-a6935a3b]{align-items:flex-start;gap:10px}.reset-all-btn[data-v-a6935a3b]{white-space:nowrap;height:34px;padding:0 12px}.student-grid-list[data-v-a6935a3b]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-item-card[data-v-a6935a3b]{border-radius:14px;min-height:96px;padding:10px 6px}}.performance-page[data-v-41a5baf1]{z-index:1;width:min(var(--classroom-content-width), var(--classroom-content-safe-width));margin:18px auto 40px;position:relative}.glass[data-v-41a5baf1]{background:var(--panel-bg);border:1px solid var(--border-color);-webkit-backdrop-filter:var(--glass-blur) saturate(180%);box-shadow:var(--shadow-md)}.top-segment-wrap[data-v-41a5baf1]{justify-content:center;margin:0 0 14px;display:flex}.module-header[data-v-41a5baf1]{border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px 24px;display:flex}.eyebrow[data-v-41a5baf1]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.header-title[data-v-41a5baf1]{color:var(--text-main);letter-spacing:-.5px;margin:4px 0 0;font-size:22px;font-weight:800}.segmented-control[data-v-41a5baf1]{background:#0000000d;border:1px solid #00000005;border-radius:12px;padding:3px;display:flex}.segment-item[data-v-41a5baf1]{height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:0 20px;font-size:13px;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1)}.segment-item.active[data-v-41a5baf1]{color:var(--text-main);background:#fff;box-shadow:0 2px 8px #0000000f}.control-bar[data-v-41a5baf1]{border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 18px;display:flex}.filters-left[data-v-41a5baf1]{align-items:center;gap:10px;min-width:0;display:flex}.filter-group[data-v-41a5baf1]{gap:6px;display:flex}.filter-tab[data-v-41a5baf1]{height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 14px;font-size:12px;font-weight:700;transition:all .2s}.filter-tab[data-v-41a5baf1]:hover{background:#00000008}.filter-tab.active[data-v-41a5baf1]{background:var(--brand);color:#fff}.category-filter[data-v-41a5baf1]{border:1px solid var(--border-color);min-width:128px;height:32px;color:var(--text-main);background:#ffffff94;border-radius:8px;outline:none;padding:0 28px 0 12px;font-size:12px;font-weight:750}.category-filter[data-v-41a5baf1]:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #0071e31a}.search-wrapper[data-v-41a5baf1]{align-items:center;display:flex;position:relative}.search-icon[data-v-41a5baf1]{border:2px solid var(--text-muted);opacity:.7;border-radius:50%;width:12px;height:12px;position:absolute;left:10px}.search-icon[data-v-41a5baf1]:after{content:"";background:var(--text-muted);border-radius:99px;width:6px;height:2px;position:absolute;bottom:-3px;right:-5px;transform:rotate(45deg)}.compact-search[data-v-41a5baf1]{border:1px solid var(--border-color);background:#ffffff80;border-radius:8px;outline:none;width:240px;height:32px;padding:0 10px 0 28px;font-size:12px;transition:all .2s}.compact-search[data-v-41a5baf1]:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #0071e31a}.records-card[data-v-41a5baf1]{border-radius:var(--radius-lg);padding:16px;overflow:hidden}.clean-table[data-v-41a5baf1]{flex-direction:column;width:100%;display:flex}.table-header-row[data-v-41a5baf1]{color:var(--text-muted);border-bottom:1px solid var(--border-color);grid-template-columns:76px 76px 96px 120px 1fr 92px 112px 64px;padding:12px 16px;font-size:12px;font-weight:700;display:grid}.table-body[data-v-41a5baf1]{flex-direction:column;display:flex}.table-data-row[data-v-41a5baf1]{color:var(--text-main);border-bottom:1px solid #00000008;grid-template-columns:76px 76px 96px 120px 1fr 92px 112px 64px;align-items:center;padding:14px 16px;font-size:13.5px;transition:background .2s;display:grid}.table-data-row[data-v-41a5baf1]:hover{background:#00000004}.table-data-row[data-v-41a5baf1]:last-child{border-bottom:none}.col-date[data-v-41a5baf1],.col-time[data-v-41a5baf1]{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.col-date[data-v-41a5baf1]{font-weight:800}.col-student[data-v-41a5baf1]{color:var(--text-main);font-weight:800}.col-action[data-v-41a5baf1]{justify-content:flex-end;display:flex}.revoke-btn[data-v-41a5baf1]{height:26px;color:var(--danger);cursor:pointer;background:#ff3b300f;border:1px solid #ff3b303d;border-radius:999px;padding:0 10px;font-size:11px;font-weight:800;transition:all .2s}.revoke-btn[data-v-41a5baf1]:hover{background:#ff3b301f}.category-pill[data-v-41a5baf1]{color:var(--brand);background:#0071e30f;border-radius:6px;padding:2.5px 8px;font-size:10.5px;font-weight:800}.col-reason[data-v-41a5baf1]{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.score-pill[data-v-41a5baf1]{font-variant-numeric:tabular-nums;border-radius:99px;padding:2px 10px;font-size:11.5px;font-weight:850;display:inline-flex}.score-pill.plus[data-v-41a5baf1]{color:var(--accent);background:#34c75914}.score-pill.minus[data-v-41a5baf1]{color:var(--danger);background:#ff3b3014}.col-teacher[data-v-41a5baf1]{color:var(--text-muted);font-weight:650}.empty-state[data-v-41a5baf1]{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-icon[data-v-41a5baf1]{border:1px solid var(--border-color);background:linear-gradient(var(--text-muted), var(--text-muted)) 9px 11px / 16px 2px no-repeat, linear-gradient(var(--text-muted), var(--text-muted)) 9px 17px / 12px 2px no-repeat, #8e9bb014;opacity:.62;border-radius:12px;width:34px;height:34px;margin-bottom:12px}.ranking-layout[data-v-41a5baf1]{grid-template-columns:1.1fr .9fr;align-items:start;gap:20px;display:grid}.podium-section[data-v-41a5baf1]{border-radius:var(--radius-lg);justify-content:center;align-items:flex-end;min-height:440px;padding:40px 24px;display:flex}.podium-container[data-v-41a5baf1]{justify-content:center;align-items:flex-end;gap:12px;width:100%;max-width:490px;display:flex}.podium-pedestal-wrapper[data-v-41a5baf1]{flex-direction:column;flex:1;align-items:center;display:flex}.podium-avatar-wrapper[data-v-41a5baf1]{width:78px;height:78px;box-shadow:var(--shadow-md);border-radius:50%;place-items:center;margin-bottom:12px;display:grid;position:relative}.place-1 .podium-avatar-wrapper[data-v-41a5baf1]{width:90px;height:90px}.ring-gold[data-v-41a5baf1]{background:linear-gradient(135deg,#fff7d6 0%,#ffe4a0 100%);border:3.5px solid #fc0}.ring-silver[data-v-41a5baf1]{background:linear-gradient(135deg,#f2f2f7 0%,#e5e5ea 100%);border:3.5px solid #d1d1d6}.ring-bronze[data-v-41a5baf1]{background:linear-gradient(135deg,#fdf4ec 0%,#f6e3d4 100%);border:3.5px solid #c97d34}.avatar-circle[data-v-41a5baf1]{color:#fff;border-radius:50%;place-items:center;width:calc(100% - 6px);height:calc(100% - 6px);font-size:24px;font-weight:850;display:grid}.place-1 .avatar-circle[data-v-41a5baf1]{font-size:28px}.rank-mark[data-v-41a5baf1]{border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:26px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;top:-13px;box-shadow:0 6px 14px #0000001f}.rank-mark.gold[data-v-41a5baf1]{color:#8a5400;background:linear-gradient(135deg,#ffe082,#ffb74d)}.rank-mark.silver[data-v-41a5baf1]{color:#5f6670;background:linear-gradient(135deg,#f4f6f8,#d8dee7)}.rank-mark.bronze[data-v-41a5baf1]{color:#774414;background:linear-gradient(135deg,#f4c28b,#c98b51)}.student-name[data-v-41a5baf1]{color:var(--text-main);white-space:nowrap;margin-bottom:2px;font-size:15px;font-weight:800}.student-score[data-v-41a5baf1]{font-variant-numeric:tabular-nums;margin-bottom:12px;font-size:13.5px;font-weight:850}.gold-text[data-v-41a5baf1]{color:#ff9500}.silver-text[data-v-41a5baf1]{color:#8e8e93}.bronze-text[data-v-41a5baf1]{color:#b87333}.glass-block[data-v-41a5baf1]{width:100%;box-shadow:inset 0 1px 0 #fffc, var(--shadow-sm);-webkit-backdrop-filter:blur(12px);background:#ffffff7a;border:1px solid #ffffffb3;border-radius:16px 16px 8px 8px;justify-content:center;align-items:center;display:flex}.gold-block[data-v-41a5baf1]{background:#ffd70014;border-color:#ffd7004d;height:170px}.silver-block[data-v-41a5baf1]{background:#c0c0c014;border-color:#c0c0c04d;height:120px}.bronze-block[data-v-41a5baf1]{background:#cd7f3214;border-color:#cd7f324d;height:90px}.rank-number[data-v-41a5baf1]{color:var(--text-muted);opacity:.65;font-family:system-ui,-apple-system,sans-serif;font-size:38px;font-weight:900}.place-1 .rank-number[data-v-41a5baf1]{color:#ff9500;opacity:.9}.animate-pulse-glow[data-v-41a5baf1]{animation:3s ease-in-out infinite goldGlow-41a5baf1;box-shadow:0 0 24px #ffcc0026}@keyframes goldGlow-41a5baf1{0%,to{border-color:#ffcc0040;box-shadow:0 0 18px #ffcc001a}50%{border-color:#ffcc008c;box-shadow:0 0 32px #ffcc004d}}.ranking-list-section[data-v-41a5baf1]{border-radius:var(--radius-lg);padding:24px}.section-title[data-v-41a5baf1]{color:var(--text-main);border-bottom:1px solid var(--border-color);letter-spacing:-.2px;margin:0 0 18px;padding-bottom:10px;font-size:15px;font-weight:800}.ranking-list[data-v-41a5baf1]{flex-direction:column;gap:10px;display:flex}.glass-row[data-v-41a5baf1]{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);background:#fff9}.rank-list-row[data-v-41a5baf1]{border-radius:14px;align-items:center;padding:10px 14px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.rank-list-row[data-v-41a5baf1]:hover{box-shadow:var(--shadow-md);background:#fff;border-color:#00000014;transform:translate(4px)}.rank-badge[data-v-41a5baf1]{color:var(--text-muted);font-variant-numeric:tabular-nums;background:#0000000a;border-radius:8px;justify-content:center;align-items:center;width:24px;height:24px;margin-right:12px;font-size:11.5px;font-weight:900;display:flex}.mini-avatar[data-v-41a5baf1]{color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;margin-right:12px;font-size:12.5px;font-weight:800;display:grid}.student-info-col[data-v-41a5baf1]{flex-direction:column;gap:2px;display:flex}.student-info-col .student-name[data-v-41a5baf1]{margin:0;font-size:14px}.student-group[data-v-41a5baf1]{color:var(--text-muted);font-size:10px;font-weight:700}.score-trend-col[data-v-41a5baf1]{margin-left:20px}.trend-spark[data-v-41a5baf1]{color:var(--accent);background:#34c7590f;border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:750}.student-score-pill[data-v-41a5baf1]{color:var(--brand);font-variant-numeric:tabular-nums;background:#0071e30f;border-radius:8px;margin-left:auto;padding:2px 10px;font-size:13.5px;font-weight:850}@media (width<=960px){.ranking-layout[data-v-41a5baf1]{grid-template-columns:1fr}.table-header-row[data-v-41a5baf1],.table-data-row[data-v-41a5baf1]{grid-template-columns:68px 68px 80px 96px 1fr 76px 92px 58px}.control-bar[data-v-41a5baf1]{flex-direction:column;align-items:flex-start;gap:12px}.filters-left[data-v-41a5baf1],.filter-group[data-v-41a5baf1],.search-wrapper[data-v-41a5baf1],.category-filter[data-v-41a5baf1]{width:100%}.filter-group[data-v-41a5baf1]{grid-template-columns:repeat(3,1fr);display:grid}.compact-search[data-v-41a5baf1]{width:100%}}.schedule-page[data-v-bc70bef9]{z-index:1;width:min(var(--classroom-content-width), var(--classroom-content-safe-width));margin:18px auto 40px;position:relative}.glass[data-v-bc70bef9]{background:var(--panel-bg);border:1px solid var(--border-color);-webkit-backdrop-filter:var(--glass-blur) saturate(180%);box-shadow:var(--shadow-md)}.top-segment-wrap[data-v-bc70bef9]{justify-content:center;margin:0 0 14px;display:flex}.module-header[data-v-bc70bef9]{border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px 24px;display:flex}.header-title[data-v-bc70bef9]{color:var(--text-main);letter-spacing:-.5px;margin:4px 0 0;font-size:22px;font-weight:800}.segmented-control[data-v-bc70bef9]{background:#0000000d;border:1px solid #00000005;border-radius:12px;padding:3px;display:flex}.segment-item[data-v-bc70bef9]{height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:0 22px;font-size:13px;font-weight:800;transition:all .25s cubic-bezier(.16,1,.3,1)}.segment-item.active[data-v-bc70bef9]{color:var(--text-main);background:#fff;box-shadow:0 2px 8px #0000000f}.schedule-toolbar[data-v-bc70bef9]{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--panel-bg);min-height:86px;-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;display:flex}.duty-toolbar[data-v-bc70bef9]{margin-bottom:20px}.schedule-toolbar strong[data-v-bc70bef9]{color:var(--text-main);letter-spacing:-.5px;margin-top:4px;font-size:22px;font-weight:800;display:block}.eyebrow[data-v-bc70bef9]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.week-picker[data-v-bc70bef9]{background:#0000000a;border-radius:14px;gap:4px;padding:4px;display:flex}.week-picker button[data-v-bc70bef9]{min-width:120px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.week-picker button span[data-v-bc70bef9]{font-size:13px;font-weight:700}.week-picker button small[data-v-bc70bef9]{opacity:.75;font-size:10px;font-weight:500}.week-picker button.active[data-v-bc70bef9]{color:var(--brand);box-shadow:var(--shadow-sm);background:#fff}.toolbar-actions button.primary[data-v-bc70bef9],.toolbar-actions button.secondary[data-v-bc70bef9]{cursor:pointer;border-radius:99px;height:38px;padding:0 18px;font-size:13px;font-weight:700;transition:all .2s}.toolbar-actions button.primary[data-v-bc70bef9]{background:var(--brand-gradient);color:#fff;border:none;box-shadow:0 4px 12px #0071e326}.toolbar-actions button.secondary[data-v-bc70bef9]{color:var(--brand);background:#0071e30f;border:1.5px solid #0071e338}.toolbar-actions button.primary[data-v-bc70bef9]:hover,.toolbar-actions button.secondary[data-v-bc70bef9]:hover{transform:translateY(-1px)}.toolbar-actions button.primary[data-v-bc70bef9]:hover{filter:brightness(1.05)}.toolbar-actions button.secondary[data-v-bc70bef9]:hover{background:#0071e31a}.schedule-layout[data-v-bc70bef9]{grid-template-columns:minmax(0,1fr) 330px;gap:20px;margin-top:20px;display:grid}.week-board[data-v-bc70bef9]{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);padding:24px}.week-header[data-v-bc70bef9],.week-row[data-v-bc70bef9]{grid-template-columns:110px repeat(5,minmax(0,1fr));gap:12px;display:grid}.week-header[data-v-bc70bef9]{border-bottom:1px solid var(--border-color);margin-bottom:14px;padding-bottom:12px}.header-time-title[data-v-bc70bef9]{height:48px;color:var(--text-muted);place-items:center;font-size:12px;font-weight:700;display:grid}.header-day-cell[data-v-bc70bef9]{border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:48px;transition:all .3s;display:flex}.header-day-cell.is-today[data-v-bc70bef9]{background:#0071e314;border:1.5px solid #0071e326}.header-day-cell.is-today .day-name[data-v-bc70bef9]{color:var(--brand);font-weight:800}.header-day-cell.is-today .day-date[data-v-bc70bef9]{color:var(--brand);font-weight:700}.day-name[data-v-bc70bef9]{color:var(--text-main);font-size:13px;font-weight:700}.day-date[data-v-bc70bef9]{color:var(--text-muted);font-size:11px;font-weight:600}.week-row+.week-row[data-v-bc70bef9]{margin-top:12px}.time-cell[data-v-bc70bef9]{border:1.5px solid var(--border-color);background:#00000004;border-radius:18px;flex-direction:column;justify-content:center;gap:6px;min-height:86px;padding:0 14px;display:flex}.time-cell strong[data-v-bc70bef9]{color:var(--text-main);font-size:14px;font-weight:800}.time-cell span[data-v-bc70bef9]{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.course-cell[data-v-bc70bef9]{border:1.5px solid var(--subject-border,var(--border-color));background:var(--subject-bg,#fff6);min-height:86px;color:var(--subject-text,var(--text-main));box-shadow:0 4px 10px var(--subject-glow,#00000003);cursor:pointer;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 12px;transition:all .25s cubic-bezier(.25,.8,.25,1);display:flex;position:relative}.course-cell[data-v-bc70bef9]:hover{box-shadow:0 8px 20px var(--subject-glow,#0000000d), var(--shadow-sm);border-color:var(--subject-text);transform:translateY(-2px)}@keyframes pulse-glow-bc70bef9{0%{box-shadow:0 0 0 0px #0071e366, 0 8px 20px var(--subject-glow,#0000000d)}70%{box-shadow:0 0 0 6px #0071e300, 0 8px 20px var(--subject-glow,#0000000d)}to{box-shadow:0 0 0 0px #0071e300, 0 8px 20px var(--subject-glow,#0000000d)}}.course-cell.current[data-v-bc70bef9]{z-index:2;animation:2s infinite pulse-glow-bc70bef9;transform:scale(1.02);border:2px solid var(--brand)!important}.course-cell.empty[data-v-bc70bef9]{border:1.5px dashed var(--border-color);color:var(--text-muted);box-shadow:none;background:#fff3}.course-cell.empty[data-v-bc70bef9]:hover{border-style:solid;border-color:var(--text-muted)}.dimmed-day[data-v-bc70bef9]{opacity:.65;filter:saturate(85%)}.dimmed-day[data-v-bc70bef9]:hover{opacity:1;filter:saturate()}.ongoing-badge[data-v-bc70bef9]{background:var(--brand);color:#fff;border-radius:99px;padding:2px 6px;font-size:9px;font-weight:800;position:absolute;top:-8px;box-shadow:0 2px 6px #0071e333}.subject-name[data-v-bc70bef9]{font-size:16px;font-weight:800}.teacher-name[data-v-bc70bef9]{opacity:.8;font-size:11px;font-weight:600}.side-panel[data-v-bc70bef9]{flex-direction:column;gap:20px;display:flex}.today-card[data-v-bc70bef9],.setting-card[data-v-bc70bef9]{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);padding:22px}.panel-title[data-v-bc70bef9]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;padding-bottom:10px;display:flex}.panel-title span[data-v-bc70bef9]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.panel-title strong[data-v-bc70bef9]{color:var(--text-main);font-size:18px;font-weight:800}.today-list[data-v-bc70bef9],.setting-list[data-v-bc70bef9]{flex-direction:column;gap:10px;display:flex}.today-line[data-v-bc70bef9]{border:1px solid var(--border-color);background:#fff;border-radius:14px;grid-template-columns:80px 1fr 60px;align-items:center;gap:10px;min-height:48px;padding:0 14px;transition:all .2s;display:grid}.today-line.active[data-v-bc70bef9]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand), var(--shadow-sm);background:#0071e305}.today-line span[data-v-bc70bef9]{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.today-line strong[data-v-bc70bef9]{color:var(--text-main);font-size:14px;font-weight:800}.today-line em[data-v-bc70bef9]{color:var(--text-muted);text-align:right;font-size:11px;font-style:normal;font-weight:750}.today-line.active em[data-v-bc70bef9]{color:var(--brand);font-weight:800}.setting-list div[data-v-bc70bef9]{border:1px solid var(--border-color);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 14px;display:flex}.setting-list span[data-v-bc70bef9]{color:var(--text-muted);font-size:12px;font-weight:650}.setting-list strong[data-v-bc70bef9]{color:var(--text-main);font-size:13px;font-weight:750}.duty-layout[data-v-bc70bef9]{grid-template-columns:minmax(0,1fr) 330px;gap:20px;display:grid}.duty-week-board[data-v-bc70bef9]{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:24px;display:grid}.duty-day-card[data-v-bc70bef9]{border:1.5px solid var(--border-color);min-height:320px;color:var(--text-main);text-align:left;cursor:pointer;background:#ffffff9e;border-radius:20px;flex-direction:column;gap:18px;padding:18px;transition:transform .22s,border-color .22s,box-shadow .22s,background .22s;display:flex}.duty-day-card[data-v-bc70bef9]:hover{box-shadow:var(--shadow-md);background:#fff;border-color:#0000001a;transform:translateY(-3px)}.duty-day-card.is-today[data-v-bc70bef9]{box-shadow:0 0 0 1px #0071e314, var(--shadow-sm);background:#0071e309;border-color:#0071e347}.duty-day-head[data-v-bc70bef9]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.duty-day-head .day-name[data-v-bc70bef9],.duty-day-head .day-date[data-v-bc70bef9]{display:block}.duty-group-chip[data-v-bc70bef9]{color:var(--brand);background:#0071e314;border-radius:8px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:800}.duty-member-list[data-v-bc70bef9],.today-duty-list[data-v-bc70bef9]{flex-direction:column;gap:10px;display:flex}.duty-member-row[data-v-bc70bef9]{border:1px solid var(--border-color);background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:11px 12px;display:flex}.duty-member-row strong[data-v-bc70bef9]{color:var(--text-main);font-size:14px;font-weight:850}.duty-member-row span[data-v-bc70bef9]{color:var(--text-muted);font-size:12px;font-weight:650}.duty-line[data-v-bc70bef9]{grid-template-columns:1fr 1fr}.info-alert[data-v-bc70bef9]{color:var(--text-main);background:#0071e30d;border:1px solid #0071e31a;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:12.5px}.form-item[data-v-bc70bef9]{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.form-item label[data-v-bc70bef9]{color:var(--text-muted);font-size:12px;font-weight:700}.custom-input[data-v-bc70bef9]{border:1.5px solid var(--border-color);background:#fff;border-radius:8px;outline:none;height:38px;padding:0 12px;font-size:13px;transition:all .2s}.custom-textarea[data-v-bc70bef9]{border:1.5px solid var(--border-color);resize:vertical;background:#fff;border-radius:10px;outline:none;min-height:150px;padding:10px 12px;font-size:13px;line-height:1.55;transition:all .2s}.custom-textarea[data-v-bc70bef9]:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0071e31a}.import-textarea[data-v-bc70bef9]{min-height:230px;font-family:inherit}.import-preview-box[data-v-bc70bef9]{background:#0071e30a;border:1px solid #0071e324;border-radius:12px;gap:10px;padding:12px;display:grid}.import-preview-head[data-v-bc70bef9]{color:var(--text-main);justify-content:space-between;align-items:center;font-size:13px;display:flex}.import-preview-head span[data-v-bc70bef9]{color:var(--brand);font-weight:850}.import-errors[data-v-bc70bef9]{gap:4px;display:grid}.import-errors p[data-v-bc70bef9]{color:var(--warning);margin:0;font-size:12px;font-weight:750}.import-preview-table[data-v-bc70bef9]{gap:6px;max-height:180px;display:grid;overflow:auto}.import-preview-row[data-v-bc70bef9]{background:#ffffffb8;border:1px solid #e2e8f0e6;border-radius:8px;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:8px;padding:7px 8px;font-size:12px;display:grid}.import-preview-row span[data-v-bc70bef9]{color:var(--text-muted);font-weight:800}.import-preview-row strong[data-v-bc70bef9]{min-width:0;color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-weight:850;overflow:hidden}.custom-input[data-v-bc70bef9]:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0071e31a}.custom-select[data-v-bc70bef9]{width:100%}.dialog-footer[data-v-bc70bef9]{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.dialog-btn[data-v-bc70bef9]{cursor:pointer;border:none;border-radius:8px;height:36px;padding:0 16px;font-size:13px;font-weight:700;transition:all .2s}.dialog-btn.primary[data-v-bc70bef9]{background:var(--brand);color:#fff}.dialog-btn.secondary[data-v-bc70bef9]{border:1px solid var(--border-color);color:var(--text-main);background:#fff}.dialog-btn[data-v-bc70bef9]:hover{filter:brightness(.98)}.slots-header[data-v-bc70bef9]{color:var(--text-main);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;font-weight:750;display:flex}.btn-mini-add[data-v-bc70bef9]{color:var(--accent);cursor:pointer;background:#34c75914;border:none;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:750}.slots-list[data-v-bc70bef9]{flex-direction:column;gap:8px;max-height:280px;padding-right:4px;display:flex;overflow-y:auto}.slot-edit-row[data-v-bc70bef9]{border:1.5px solid var(--border-color);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:6px 10px;display:flex}.slot-idx-label[data-v-bc70bef9]{color:var(--text-main);min-width:50px;font-size:12px;font-weight:800}.slot-time-input[data-v-bc70bef9]{font-variant-numeric:tabular-nums;background:#00000005;border:none;border-radius:6px;outline:none;flex:1;height:28px;padding:0 8px;font-size:12px}.slot-time-input[data-v-bc70bef9]:focus{box-shadow:inset 0 0 0 1.5px var(--brand);background:#fff}.btn-mini-del[data-v-bc70bef9]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;font-weight:700}.btn-mini-del[data-v-bc70bef9]:hover{color:var(--danger)}@media (width<=1120px){.schedule-layout[data-v-bc70bef9],.duty-layout[data-v-bc70bef9]{grid-template-columns:1fr}.duty-week-board[data-v-bc70bef9]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.schedule-page[data-v-bc70bef9]{width:100%;margin:10px auto 28px;overflow-x:hidden}.schedule-toolbar[data-v-bc70bef9],.module-header[data-v-bc70bef9]{border-radius:18px;flex-direction:column;align-items:stretch;gap:12px;padding:16px}.header-title[data-v-bc70bef9],.schedule-toolbar strong[data-v-bc70bef9]{font-size:20px;line-height:1.2}.segmented-control[data-v-bc70bef9]{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.segment-item[data-v-bc70bef9]{width:100%;padding:0 10px}.week-pager-nav[data-v-bc70bef9]{width:100%;min-width:0}.week-pager-select[data-v-bc70bef9]{flex:1;min-width:0}.toolbar-actions[data-v-bc70bef9]{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.toolbar-actions button.primary[data-v-bc70bef9],.toolbar-actions button.secondary[data-v-bc70bef9],.view-semester-btn[data-v-bc70bef9]{width:100%;height:38px;padding:0 12px}.schedule-layout[data-v-bc70bef9]{gap:14px;margin-top:14px}.week-board[data-v-bc70bef9]{border-radius:16px;padding:8px;overflow:visible}.week-header[data-v-bc70bef9],.week-row[data-v-bc70bef9]{grid-template-columns:44px repeat(5,minmax(0,1fr));gap:4px;min-width:0}.week-header[data-v-bc70bef9]{margin-bottom:6px;padding-bottom:6px}.header-time-title[data-v-bc70bef9],.header-day-cell[data-v-bc70bef9]{border-radius:8px;height:34px}.header-time-title[data-v-bc70bef9]{font-size:10px}.day-name[data-v-bc70bef9]{font-size:11px}.day-date[data-v-bc70bef9]{display:none}.week-row+.week-row[data-v-bc70bef9]{margin-top:4px}.time-cell[data-v-bc70bef9],.course-cell[data-v-bc70bef9]{border-radius:10px;min-height:54px}.time-cell[data-v-bc70bef9]{text-align:center;gap:2px;padding:0 3px}.time-cell strong[data-v-bc70bef9]{font-size:11px;line-height:1.1}.time-cell span[data-v-bc70bef9]{font-size:8px;line-height:1.15}.course-cell[data-v-bc70bef9]{border-width:1px;gap:2px;padding:4px 2px}.course-cell.current[data-v-bc70bef9]{transform:none;border-width:1.5px!important}.ongoing-badge[data-v-bc70bef9]{padding:1px 4px;font-size:8px;top:-6px}.subject-name[data-v-bc70bef9]{word-break:break-all;max-width:100%;font-size:11px;line-height:1.15}.teacher-name[data-v-bc70bef9]{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:8px;line-height:1.1;overflow:hidden}.side-panel[data-v-bc70bef9],.duty-week-board[data-v-bc70bef9]{grid-template-columns:1fr}.today-card[data-v-bc70bef9],.setting-card[data-v-bc70bef9]{border-radius:18px;padding:16px}}.toolbar-actions[data-v-bc70bef9]{align-items:center;gap:10px;display:flex}.view-semester-btn[data-v-bc70bef9]{border:1.5px solid var(--brand,#0071e3);height:38px;color:var(--brand,#0071e3);cursor:pointer;background:0 0;border-radius:99px;padding:0 18px;font-size:13px;font-weight:700;transition:all .25s}.view-semester-btn[data-v-bc70bef9]:hover{background:#0071e30f;transform:translateY(-1px)}.semester-schedule-wrap[data-v-bc70bef9]{padding:10px 4px}.semester-header-info[data-v-bc70bef9]{margin-bottom:20px}.semester-header-info h3[data-v-bc70bef9]{color:var(--text-main);margin:0 0 6px;font-size:18px;font-weight:800}.semester-header-info p[data-v-bc70bef9]{color:var(--text-muted);margin:0;font-size:12.5px;line-height:1.5}.semester-table-container[data-v-bc70bef9]{border:1px solid var(--border-color);background:#ffffff73;border-radius:12px;overflow:hidden}.semester-table[data-v-bc70bef9]{border-collapse:collapse;text-align:center;width:100%}.semester-table th[data-v-bc70bef9],.semester-table td[data-v-bc70bef9]{border:1px solid var(--border-color);padding:12px 8px}.semester-table th[data-v-bc70bef9]{color:var(--text-main);background:#00000005;font-size:13.5px;font-weight:800}.semester-table td.time-col[data-v-bc70bef9],.semester-table th.time-col[data-v-bc70bef9]{background:#00000003;width:120px}.semester-table td.time-col strong[data-v-bc70bef9]{color:var(--text-main);font-size:13.5px;font-weight:800;display:block}.semester-table td.time-col .slot-time[data-v-bc70bef9]{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px;display:block}.semester-course-card[data-v-bc70bef9]{background:var(--subject-bg,#f1f5f9);border:1.5px solid var(--subject-border,#e2e8f0);color:var(--subject-text,#475569);min-height:56px;box-shadow:0 2px 4px var(--subject-glow,#00000003);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px 4px;display:flex}.semester-course-card .course-name[data-v-bc70bef9]{font-size:14px;font-weight:800}.semester-course-card .teacher-name[data-v-bc70bef9]{opacity:.85;font-size:11px;font-weight:600}.semester-course-empty[data-v-bc70bef9]{color:var(--text-muted);opacity:.4;justify-content:center;align-items:center;height:56px;font-size:13px;display:flex}.slot-time-picker[data-v-bc70bef9]{flex:1;width:100%!important}[data-v-bc70bef9] .slot-time-picker.el-range-editor.el-input__wrapper{border:1.5px solid var(--border-color);background:#fffc;border-radius:8px;height:34px;box-shadow:none!important}[data-v-bc70bef9] .slot-time-picker.is-active{border-color:var(--brand)!important;box-shadow:0 0 0 3px #0071e31a!important}.report-page[data-v-2f63be72]{width:min(var(--classroom-content-width), var(--classroom-content-safe-width));box-sizing:border-box;max-width:none;color:var(--text-main);margin:18px auto 96px;padding:0 16px;animation:.4s ease-out fadeIn-2f63be72}@keyframes fadeIn-2f63be72{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.report-header[data-v-2f63be72]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.header-left[data-v-2f63be72]{flex-direction:column;gap:4px;display:flex}.page-title[data-v-2f63be72]{color:var(--text-main);letter-spacing:-.5px;margin:0;font-size:22px;font-weight:850}.range-badge[data-v-2f63be72]{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.range-dot[data-v-2f63be72]{background-color:var(--brand);border-radius:50%;width:6px;height:6px}.report-toolbar[data-v-2f63be72]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.export-report-btn[data-v-2f63be72]{height:38px;color:var(--brand);cursor:pointer;background:#0071e314;border:1px solid #0071e338;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:850;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.export-report-btn[data-v-2f63be72]:hover:not(:disabled){background:#0071e321;border-color:#0071e357;transform:translateY(-1px)}.export-report-btn[data-v-2f63be72]:disabled{opacity:.55;cursor:not-allowed}.export-icon[data-v-2f63be72]{flex:none;width:16px;height:16px}.period-switch[data-v-2f63be72]{border:1px solid var(--border-color);background:#0000000a;border-radius:12px;gap:2px;padding:3px;display:flex}:root.dark .period-switch[data-v-2f63be72]{background:#ffffff0f}.period-switch button[data-v-2f63be72]{cursor:pointer;height:32px;color:var(--text-muted);background:0 0;border:0;border-radius:9px;padding:0 16px;font-size:13px;font-weight:800;transition:all .25s cubic-bezier(.16,1,.3,1)}.period-switch button.active[data-v-2f63be72]{background:var(--solid-panel-bg);color:var(--text-main);box-shadow:0 2px 6px #0000000f}.card-shell[data-v-2f63be72]{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);box-sizing:border-box;background:#00000004;border-radius:20px;margin-bottom:16px;padding:6px}:root.dark .card-shell[data-v-2f63be72]{background:#ffffff03}.card-core[data-v-2f63be72]{background:var(--solid-panel-bg);box-sizing:border-box;border:1.5px solid #fffc;border-radius:15px;flex-direction:column;height:100%;padding:20px;display:flex}:root.dark .card-core[data-v-2f63be72]{border-color:#ffffff05}.card-header[data-v-2f63be72]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-header h2[data-v-2f63be72]{color:var(--text-main);letter-spacing:-.2px;margin:0;font-size:15px;font-weight:950}.card-header-stat[data-v-2f63be72]{border:1px solid var(--border-color);background:#00000006;border-radius:10px;flex-shrink:0;align-items:baseline;gap:7px;padding:6px 10px;display:flex}.card-header-stat span[data-v-2f63be72]{color:var(--text-muted);font-size:11px;font-weight:800}.card-header-stat strong[data-v-2f63be72]{font-size:18px;font-weight:950;line-height:1}.header-desc[data-v-2f63be72]{color:var(--text-muted);font-size:12px;font-weight:700}.report-content[data-v-2f63be72]{flex-direction:column;gap:4px;display:flex}.report-grid[data-v-2f63be72],.students-grid[data-v-2f63be72]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.insight-core[data-v-2f63be72]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.insight-main[data-v-2f63be72]{flex-direction:column;gap:8px;display:flex}.insight-label[data-v-2f63be72]{color:var(--brand);font-size:12px;font-weight:900}.insight-text[data-v-2f63be72]{color:var(--text-main);text-wrap:pretty;margin:0;font-size:15px;font-weight:750;line-height:1.65}.insight-metrics[data-v-2f63be72]{grid-template-columns:repeat(4,minmax(68px,1fr));gap:10px;min-width:min(430px,100%);display:grid}.insight-metrics div[data-v-2f63be72]{background:#f8fafccc;border:1px solid #00000008;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.insight-metrics span[data-v-2f63be72]{color:var(--text-muted);font-size:11px;font-weight:750}.insight-metrics strong[data-v-2f63be72]{color:var(--text-main);font-size:18px;font-weight:950}.trend-content[data-v-2f63be72]{flex-direction:column;height:100%;display:flex}.chart-wrapper[data-v-2f63be72]{width:100%;margin-top:10px;position:relative}.trend-svg[data-v-2f63be72]{width:100%;height:auto;overflow:visible}.donut-content[data-v-2f63be72]{justify-content:center;align-items:center;height:100%;display:flex}.donut-container[data-v-2f63be72]{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;padding:10px 0;display:flex}.donut-chart-box[data-v-2f63be72]{flex-shrink:0;width:270px;height:172px;position:relative}.donut-svg[data-v-2f63be72]{width:100%;height:100%;overflow:visible}.callout-line[data-v-2f63be72]{fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.positive-line[data-v-2f63be72]{stroke:var(--accent)}.negative-line[data-v-2f63be72]{stroke:var(--danger)}.callout-text[data-v-2f63be72]{dominant-baseline:middle;font-size:11px;font-weight:900}.positive-text[data-v-2f63be72]{fill:var(--accent)}.negative-text[data-v-2f63be72]{fill:var(--danger)}.teacher-chart-container[data-v-2f63be72]{flex-direction:column;gap:16px;margin-top:8px;display:flex}.teacher-row-visual[data-v-2f63be72]{flex-direction:column;gap:6px;display:flex}.teacher-meta-info[data-v-2f63be72]{justify-content:space-between;align-items:center;font-size:13px;font-weight:850;display:flex}.teacher-name-txt[data-v-2f63be72]{color:var(--text-main)}.teacher-net-txt[data-v-2f63be72]{font-size:12.5px;font-weight:900}.teacher-bars-box[data-v-2f63be72]{box-sizing:border-box;background:#00000004;border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}:root.dark .teacher-bars-box[data-v-2f63be72]{background:#ffffff05}.teacher-bar-row[data-v-2f63be72]{align-items:center;gap:10px;display:flex}.teacher-bar-label[data-v-2f63be72]{text-align:center;width:24px;font-size:10px;font-weight:900}.teacher-bar-label.positive[data-v-2f63be72]{color:var(--accent)}.teacher-bar-label.negative[data-v-2f63be72]{color:var(--danger)}.teacher-bar-track[data-v-2f63be72]{box-sizing:border-box;background:#00000008;border-radius:4px;flex:1;align-items:center;height:14px;display:flex;position:relative;overflow:hidden}:root.dark .teacher-bar-track[data-v-2f63be72]{background:#ffffff0a}.teacher-bar-fill[data-v-2f63be72]{border-radius:4px;height:100%;transition:width .4s cubic-bezier(.25,.8,.25,1)}.teacher-bar-fill.positive[data-v-2f63be72]{background:var(--accent)}.teacher-bar-fill.negative[data-v-2f63be72]{background:var(--danger)}.teacher-bar-value[data-v-2f63be72]{font-size:9.5px;font-weight:950;position:absolute;right:10px}.teacher-bar-value.positive[data-v-2f63be72]{color:var(--accent)}.teacher-bar-value.negative[data-v-2f63be72]{color:var(--danger)}.donut-legend[data-v-2f63be72]{flex-direction:column;gap:12px;min-width:150px;display:flex}.legend-item[data-v-2f63be72]{align-items:center;gap:8px;font-size:12.5px;font-weight:800;display:flex}.legend-color[data-v-2f63be72]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pos-dot[data-v-2f63be72]{background-color:var(--accent)}.neg-dot[data-v-2f63be72]{background-color:var(--danger)}.legend-label[data-v-2f63be72]{color:var(--text-muted);flex-grow:1}.legend-val[data-v-2f63be72]{font-size:13px;font-weight:900}.category-list[data-v-2f63be72]{flex-direction:column;gap:14px;display:flex}.category-row[data-v-2f63be72]{background:#f8fafcbd;border:1px solid #00000008;border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.category-row-head[data-v-2f63be72]{justify-content:space-between;align-items:center;gap:12px;font-size:12.5px;display:flex}.category-row-head strong[data-v-2f63be72]{color:var(--text-main);font-weight:900}.category-row-head span[data-v-2f63be72]{color:var(--text-muted);font-weight:850}.category-bar-pair[data-v-2f63be72]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.category-bar-track[data-v-2f63be72]{background:#0000000a;border-radius:6px;height:18px;position:relative;overflow:hidden}.category-bar-fill[data-v-2f63be72]{border-radius:6px;height:100%}.category-bar-fill.positive[data-v-2f63be72]{background:#34c759a3}.category-bar-fill.negative[data-v-2f63be72]{background:#ff3b308f}.category-bar-track span[data-v-2f63be72]{color:var(--text-main);align-items:center;padding:0 8px;font-size:10.5px;font-weight:850;display:flex;position:absolute;inset:0}.student-list[data-v-2f63be72]{flex-direction:column;gap:8px;display:flex}.student-row[data-v-2f63be72]{box-sizing:border-box;background:#f8fafccc;border:1px solid #00000005;border-radius:12px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}:root.dark .student-row[data-v-2f63be72]{background:#ffffff04}.student-left[data-v-2f63be72]{flex:1;align-items:center;gap:10px;margin-right:12px;display:flex;overflow:hidden}.student-rank[data-v-2f63be72]{text-align:center;width:14px;font-size:12.5px;font-weight:900}.rank-pos[data-v-2f63be72]{color:var(--accent)}.rank-neg[data-v-2f63be72]{color:var(--danger)}.avatar-circle[data-v-2f63be72]{color:#fff;text-shadow:0 1px 1px #0000001a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:850;display:flex}.student-name-box[data-v-2f63be72]{flex-direction:column;gap:2px;display:flex;overflow:hidden}.student-name-text[data-v-2f63be72]{color:var(--text-main);font-size:13px;font-weight:850}.student-reason-desc[data-v-2f63be72]{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.student-right[data-v-2f63be72]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.student-points-badge[data-v-2f63be72]{border-radius:6px;padding:1px 6px;font-size:12.5px;font-weight:950;line-height:1.2}.student-points-badge.positive[data-v-2f63be72]{color:var(--accent);background:#34c75914}.student-points-badge.negative[data-v-2f63be72]{color:var(--danger);background:#ff3b3014}.positive[data-v-2f63be72]{color:var(--accent)!important}.negative[data-v-2f63be72]{color:var(--danger)!important}.empty-state-mini[data-v-2f63be72]{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;padding:24px;font-size:12.5px;font-weight:700;display:flex}.empty-dashboard-state[data-v-2f63be72]{text-align:center;background:var(--solid-panel-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;margin-top:16px;padding:80px 20px;display:flex}.empty-mark[data-v-2f63be72]{background:linear-gradient(90deg,#0000 0 9px,#0071e32e 9px 13px,#0000 13px 100%),linear-gradient(0deg,#0000 0 10px,#34c75938 10px 14px,#0000 14px 100%),#0071e314;border:1px solid #0071e324;border-radius:12px;width:42px;height:42px;margin-bottom:16px}.empty-dashboard-state h2[data-v-2f63be72]{color:var(--text-main);margin:0;font-size:16px;font-weight:950}.empty-dashboard-state p[data-v-2f63be72]{color:var(--text-muted);margin:6px 0 0;font-size:13px;font-weight:700}@media (width<=860px){.report-grid[data-v-2f63be72],.students-grid[data-v-2f63be72]{grid-template-columns:1fr}}@media (width<=768px){.report-header[data-v-2f63be72]{flex-direction:column;align-items:flex-start;gap:12px}.report-toolbar[data-v-2f63be72]{justify-content:flex-start;width:100%}.export-report-btn[data-v-2f63be72],.period-switch-wrapper[data-v-2f63be72]{width:100%}.period-switch[data-v-2f63be72]{grid-template-columns:1fr 1fr;width:100%;display:grid}.period-switch button[data-v-2f63be72]{text-align:center;width:100%}.insight-core[data-v-2f63be72]{grid-template-columns:1fr}.insight-metrics[data-v-2f63be72]{grid-template-columns:repeat(2,1fr);min-width:0}.category-bar-pair[data-v-2f63be72]{grid-template-columns:1fr}}.comments-workspace[data-v-1538b481]{box-sizing:border-box;background:radial-gradient(circle at 18% 12%,#6aa99d14,#0000 28%),radial-gradient(circle at 88% 0,#315a6b0f,#0000 24%),#f7f8f5;border-radius:14px;flex-direction:column;width:100%;max-width:100vw;padding:2px;display:flex;position:relative;overflow-x:hidden}.comments-workspace[data-v-1538b481]:before{content:"";pointer-events:none;border-radius:inherit;background-image:linear-gradient(#315a6b06 1px,#0000 1px),linear-gradient(90deg,#315a6b05 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#00000061,#0000 42%);mask-image:linear-gradient(#00000061,#0000 42%)}.comments-header[data-v-1538b481]{z-index:1;background:#ffffffd1;border:1px solid #315a6b14;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:12px 16px;display:flex;position:relative;box-shadow:0 8px 24px #315a6b0b}.header-left[data-v-1538b481]{flex-direction:column;display:flex}.comments-header h2[data-v-1538b481]{color:#1a2530;letter-spacing:-.01em;margin:0;font-size:19px;font-weight:850}.comments-header .subtitle[data-v-1538b481]{color:#6f818d;text-wrap:pretty;margin:3px 0 0;font-size:12px;line-height:1.45}.segmented-control[data-v-1538b481]{background:#eff3f1;border:1px solid #315a6b0d;border-radius:9px;gap:4px;padding:3px;display:flex}.segmented-control button[data-v-1538b481]{color:#6c7e8d;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 16px;font-size:13px;font-weight:800;transition:all .18s}.segmented-control button[data-v-1538b481]:focus-visible,.btn-premium[data-v-1538b481]:focus-visible,.filter-tab-btn[data-v-1538b481]:focus-visible,.student-card-item[data-v-1538b481]:focus-visible,.pill-chip[data-v-1538b481]:focus-visible,.config-chip-btn[data-v-1538b481]:focus-visible,.text-toggle-btn[data-v-1538b481]:focus-visible,.btn-generate-trigger[data-v-1538b481]:focus-visible,.btn-ai-trigger[data-v-1538b481]:focus-visible,.btn-batch-primary[data-v-1538b481]:focus-visible,.btn-dialog-secondary[data-v-1538b481]:focus-visible,.btn-dialog-primary[data-v-1538b481]:focus-visible,.scope-card[data-v-1538b481]:focus-visible,.capsule-segment-control button[data-v-1538b481]:focus-visible{outline-offset:2px;outline:2px solid #315a6b59}.segmented-control button.active[data-v-1538b481]{color:#315a6b;background:#fff;box-shadow:0 2px 8px #315a6b14}.btn-premium[data-v-1538b481]{cursor:pointer;color:#315a6b;background:#fff;border:1px solid #315a6b1f;border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 18px;font-size:13px;font-weight:800;transition:all .2s;display:flex}.btn-premium[data-v-1538b481]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #315a6b0d}.btn-premium[data-v-1538b481]:active,.filter-tab-btn[data-v-1538b481]:active,.student-card-item[data-v-1538b481]:active,.pill-chip[data-v-1538b481]:active,.config-chip-btn[data-v-1538b481]:active,.btn-generate-trigger[data-v-1538b481]:active,.btn-ai-trigger[data-v-1538b481]:active,.btn-batch-primary[data-v-1538b481]:active,.scope-card[data-v-1538b481]:active{transform:scale(.98)}.comments-layout-grid[data-v-1538b481]{z-index:1;grid-template-columns:236px 1fr 276px;gap:14px;width:100%;height:calc(100dvh - 168px);min-height:520px;display:grid;position:relative}.students-sidebar[data-v-1538b481]{background:#fff;border:1px solid #315a6b14;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 6px 22px #315a6b09}.search-box[data-v-1538b481]{padding:12px;position:relative}.search-input[data-v-1538b481]{box-sizing:border-box;background:#fbfcfb;border:1px solid #315a6b14;border-radius:8px;outline:none;width:100%;height:34px;padding:0 32px 0 12px;font-size:12px;transition:all .18s}.search-input[data-v-1538b481]:focus{border-color:#315a6b;box-shadow:0 0 0 3px #315a6b14}.search-icon[data-v-1538b481]{color:#82939e;pointer-events:none;font-size:12px;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.filter-tabs[data-v-1538b481]{border-bottom:1px solid #00000005;gap:6px;padding:4px 12px 8px;display:flex}.filter-tab-btn[data-v-1538b481]{color:#82939e;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:800;transition:all .15s}.filter-tab-btn.active[data-v-1538b481]{color:#315a6b;background:#edf3ec}.student-scroll-list[data-v-1538b481]{flex-direction:column;flex:1;gap:4px;padding:10px;display:flex;overflow-y:auto}.student-card-item[data-v-1538b481]{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px;transition:all .18s;display:flex;position:relative}.student-card-item[data-v-1538b481]:hover{background:#f8faf9}.student-card-item.active[data-v-1538b481]{background:#edf3ec}.student-card-item.active[data-v-1538b481]:before{content:"";background:#315a6b;border-radius:3px;width:3px;position:absolute;top:9px;bottom:9px;left:0}.avatar-tag[data-v-1538b481]{color:#fff;background:#6aa99d;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:flex}.avatar-tag.mini[data-v-1538b481]{width:22px;height:22px;font-size:10px}.student-meta-info[data-v-1538b481]{flex-direction:column;flex:1;min-width:0;display:flex}.student-name[data-v-1538b481]{color:#1a2530;font-size:13px;font-weight:800}.student-id[data-v-1538b481]{color:#82939e;margin-top:1px;font-size:10px}.status-dot-indicator[data-v-1538b481]{color:#82939e;background:#f1f5f7;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.status-dot-indicator.ai[data-v-1538b481]{color:#1f6c9f;background:#e1f3fe}.status-dot-indicator.rule[data-v-1538b481]{color:#346538;background:#edf3ec}.empty-list-note[data-v-1538b481]{text-align:center;color:#82939e;padding:30px 0;font-size:12px}.workspace-main-panel[data-v-1538b481]{background:#fff;border:1px solid #315a6b14;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 6px 22px #315a6b09}.editor-workspace[data-v-1538b481]{flex-direction:column;flex:1;gap:14px;padding:18px;display:flex;overflow-y:auto}.glass-indicators-row[data-v-1538b481]{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.indicator-glass-card[data-v-1538b481]{background:#fbfbfa;border:1px solid #e7ece9;border-radius:10px;gap:10px;min-width:0;padding:11px 12px;transition:all .2s;display:flex}.indicator-glass-card[data-v-1538b481]:hover{background:#f6f8f6;border-color:#315a6b24}.indicator-glass-card .card-icon[data-v-1538b481]{color:#315a6b;background:#edf3ec;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:850;display:flex}.indicator-glass-card .card-content[data-v-1538b481]{flex-direction:column;flex:1;min-width:0;display:flex}.indicator-glass-card .card-title[data-v-1538b481]{color:#82939e;font-size:11px;font-weight:700}.indicator-glass-card .card-value[data-v-1538b481]{color:#1a2530;align-items:center;gap:6px;margin-top:2px;font-size:13px;font-weight:850;display:flex}.rank-tag[data-v-1538b481]{color:#315a6b;background:#315a6b14;border-radius:4px;padding:1px 5px;font-size:10px}.indicator-glass-card .card-sub[data-v-1538b481]{color:#60727e;white-space:nowrap;text-overflow:ellipsis;margin:3px 0 0;font-size:11px;line-height:1.3;overflow:hidden}.learning-tag-chips[data-v-1538b481]{color:#315a6b;font-weight:700}.custom-portrait-workspace[data-v-1538b481]{background:#fbfbfa;border:1px solid #e7ece9;border-radius:10px;flex-direction:column;gap:14px;padding:16px 20px;display:flex}.custom-portrait-header h3[data-v-1538b481]{color:#315a6b;margin:0;font-size:14px;font-weight:850}.custom-portrait-header .desc[data-v-1538b481]{color:#82939e;font-size:11px}.custom-chips-grid[data-v-1538b481]{flex-direction:column;gap:12px;display:flex}.chip-row[data-v-1538b481]{align-items:center;gap:12px;display:flex}.chip-row.full-width[data-v-1538b481]{flex-direction:column;align-items:flex-start;gap:6px}.row-label[data-v-1538b481]{color:#60727e;flex-shrink:0;width:60px;font-size:11px;font-weight:850}.chip-options[data-v-1538b481]{flex-wrap:wrap;gap:6px;display:flex}.pill-chip[data-v-1538b481]{color:#60727e;cursor:pointer;background:#fff;border:1px solid #315a6b1a;border-radius:7px;padding:5px 12px;font-size:11px;font-weight:800;transition:all .18s}.pill-chip[data-v-1538b481]:hover{background:#fcfdfe;border-color:#315a6b33}.pill-chip.active[data-v-1538b481]{color:#fff;background:#315a6b;border-color:#315a6b}.pill-chip.multi.active[data-v-1538b481]{color:#fff;background:#6aa99d;border-color:#6aa99d}.quick-note-textarea[data-v-1538b481]{resize:none;box-sizing:border-box;background:#fff;border:1px solid #315a6b14;border-radius:7px;outline:none;width:100%;height:52px;padding:8px 12px;font-family:inherit;font-size:12px}.quick-note-textarea[data-v-1538b481]:focus{border-color:#315a6b}.premium-editor-box[data-v-1538b481]{background:#fff;border:1px solid #dfe8e4;border-radius:10px;flex-direction:column;flex:1;min-height:240px;display:flex;overflow:hidden;box-shadow:inset 0 1px #315a6b08}.premium-editor-box .editor-header[data-v-1538b481]{background:#fbfbfa;border-bottom:1px solid #e7ece9;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.editor-prefix-bar[data-v-1538b481]{align-items:center;gap:8px;display:flex}.prefix-text[data-v-1538b481]{color:#315a6b;font-size:13px;font-weight:850}.editor-status-bar[data-v-1538b481]{align-items:center;gap:12px;display:flex}.word-count-tag[data-v-1538b481]{color:#82939e;font-size:11px}.autosave-tag[data-v-1538b481]{color:#6aa99d;font-size:11px;font-weight:800}.autosave-tag.saving[data-v-1538b481]{color:#f1a53d}.premium-textarea[data-v-1538b481]{resize:none;box-sizing:border-box;color:#1a2530;background:linear-gradient(#fff 31px,#315a6b0b 32px) 0 0/100% 32px;border:0;outline:none;flex:1;width:100%;padding:14px;font-family:inherit;font-size:13px;line-height:32px}.editor-bottom-actions[data-v-1538b481]{border-top:1px solid #edf1ef;justify-content:flex-end;gap:8px;padding-top:10px;display:flex}.btn-generate-trigger[data-v-1538b481],.btn-ai-trigger[data-v-1538b481]{cursor:pointer;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:0 18px;font-size:13px;font-weight:850;transition:all .2s;display:flex;box-shadow:0 4px 12px #315a6b1f}.btn-generate-trigger[data-v-1538b481]{color:#fff;background:#315a6b;border:1px solid #315a6b}.btn-ai-trigger[data-v-1538b481]{color:#315a6b;box-shadow:none;background:#fff;border:1px solid #315a6b2e}.btn-generate-trigger[data-v-1538b481]:hover:not(:disabled),.btn-ai-trigger[data-v-1538b481]:hover:not(:disabled){transform:translateY(-1px)}.btn-generate-trigger[data-v-1538b481]:hover:not(:disabled){background:#274d5d;box-shadow:0 6px 16px #315a6b2e}.btn-ai-trigger[data-v-1538b481]:hover:not(:disabled){background:#315a6b0a;border-color:#315a6b47}.btn-generate-trigger[data-v-1538b481]:disabled,.btn-ai-trigger[data-v-1538b481]:disabled{opacity:.6;cursor:not-allowed;transform:none}.empty-workspace-prompt[data-v-1538b481]{color:#82939e;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.empty-workspace-prompt .prompt-icon[data-v-1538b481]{color:#315a6b;background:#edf3ec;border-radius:14px;place-items:center;width:54px;height:54px;font-size:20px;font-weight:850;display:grid}.empty-workspace-prompt h4[data-v-1538b481]{margin:0;font-size:14px;font-weight:800}.settings-sidebar[data-v-1538b481]{flex-direction:column;gap:12px;display:flex;overflow-y:auto}.premium-card[data-v-1538b481]{background:#fff;border:1px solid #315a6b14;border-radius:12px;padding:12px;box-shadow:0 6px 22px #315a6b08}.action-card[data-v-1538b481]{background:#f4f8f6;border-color:#d8e5e1}.premium-card h3[data-v-1538b481]{color:#1a2530;margin:0;font-size:12px;font-weight:850}.card-desc[data-v-1538b481]{color:#6f818d;margin:4px 0 10px;font-size:11px;line-height:1.4}.btn-batch-primary[data-v-1538b481]{color:#fff;cursor:pointer;background:#315a6b;border:1px solid #315a6b;border-radius:8px;width:100%;min-height:36px;font-size:12px;font-weight:850;transition:all .18s}.btn-batch-primary[data-v-1538b481]:hover{background:#274d5d;transform:translateY(-1px);box-shadow:0 4px 12px #315a6b29}.quota-info-header[data-v-1538b481]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.quota-pill[data-v-1538b481]{color:#315a6b;background:#315a6b14;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800}.quota-progress-track[data-v-1538b481]{background:#f1f4f6;border-radius:99px;height:5px;margin-bottom:10px;overflow:hidden}.quota-progress-fill[data-v-1538b481]{background:#315a6b;border-radius:99px;height:100%;transition:width .3s}.quota-footer-details[data-v-1538b481]{color:#82939e;font-size:11px}.quota-footer-details strong[data-v-1538b481]{color:#1a2530}.quota-text-tip[data-v-1538b481]{color:#a0acb5;margin:8px 0 0;font-size:10px;line-height:1.4}.config-card-header[data-v-1538b481]{justify-content:space-between;align-items:center;gap:8px;display:flex}.text-toggle-btn[data-v-1538b481]{color:#315a6b;cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:11px;font-weight:850}.text-toggle-btn[data-v-1538b481]:hover{color:#274d5d;text-decoration:underline}.config-grid[data-v-1538b481]{flex-direction:column;gap:10px;margin-top:10px;display:flex}.config-item[data-v-1538b481]{flex-direction:column;gap:6px;display:flex}.config-item label[data-v-1538b481]{color:#60727e;font-size:11px;font-weight:800}.grid-buttons[data-v-1538b481]{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.length-buttons[data-v-1538b481]{grid-template-columns:repeat(3,1fr)}.config-chip-btn[data-v-1538b481]{color:#60727e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #315a6b14;border-radius:6px;height:27px;font-size:11px;font-weight:800;transition:all .15s}.config-chip-btn[data-v-1538b481]:hover{background:#f8faf9;border-color:#315a6b33}.config-chip-btn.active[data-v-1538b481]{color:#fff;background:#315a6b;border-color:#315a6b}.config-textarea-keywords[data-v-1538b481]{resize:none;box-sizing:border-box;border:1px solid #315a6b14;border-radius:8px;outline:none;width:100%;height:48px;padding:6px 10px;font-family:inherit;font-size:11px}.config-textarea-keywords[data-v-1538b481]:focus{border-color:#315a6b}.help-desc[data-v-1538b481]{color:#a0acb5;font-size:10px}.premium-dialog[data-v-1538b481] .el-dialog{border-radius:12px;overflow:hidden;box-shadow:0 10px 40px #00000014}.premium-dialog[data-v-1538b481] .el-dialog__header{padding:20px 20px 10px}.premium-dialog[data-v-1538b481] .el-dialog__title{color:#1a2530;font-size:15px;font-weight:850}.premium-dialog[data-v-1538b481] .el-dialog__body{padding:10px 20px 20px}.batch-dialog-fields[data-v-1538b481]{flex-direction:column;gap:16px;display:flex}.dialog-row[data-v-1538b481]{flex-direction:column;gap:8px;display:flex}.dialog-row label[data-v-1538b481]{color:#60727e;font-size:12px;font-weight:850}.capsule-segment-control[data-v-1538b481]{background:#f1f4f6;border-radius:8px;gap:2px;padding:3px;display:flex}.capsule-segment-control button[data-v-1538b481]{color:#60727e;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;height:32px;font-size:11px;font-weight:800;transition:all .18s}.capsule-segment-control button.active[data-v-1538b481]{color:#315a6b;background:#fff;box-shadow:0 2px 8px #0000000a}.scope-choice-list[data-v-1538b481]{flex-direction:column;gap:8px;display:flex}.scope-card[data-v-1538b481]{cursor:pointer;text-align:left;background:#fff;border:1px solid #315a6b14;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px;transition:all .18s;display:flex}.scope-card[data-v-1538b481]:hover{background:#fafbfc}.scope-card.active[data-v-1538b481]{background:#315a6b03;border-color:#315a6b}.radio-circle[data-v-1538b481]{border:2px solid #315a6b33;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:flex}.scope-card.active .radio-circle[data-v-1538b481]{border-color:#315a6b}.scope-card.active .radio-circle[data-v-1538b481]:after{content:"";background:#315a6b;border-radius:50%;width:8px;height:8px}.scope-info[data-v-1538b481]{flex-direction:column;display:flex}.scope-info strong[data-v-1538b481]{color:#1a2530;font-size:12px;font-weight:850}.scope-info span[data-v-1538b481]{color:#82939e;margin-top:1px;font-size:10px}.dialog-footer-actions[data-v-1538b481]{border-top:1px solid #00000005;justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.btn-dialog-secondary[data-v-1538b481],.btn-dialog-primary[data-v-1538b481]{cursor:pointer;border-radius:6px;height:36px;padding:0 16px;font-size:12px;font-weight:850;transition:all .15s}.btn-dialog-secondary[data-v-1538b481]{color:#60727e;background:#fff;border:1px solid #315a6b1f}.btn-dialog-primary[data-v-1538b481]{color:#fff;background:#315a6b;border:0}.btn-dialog-primary[data-v-1538b481]:hover:not(:disabled){background:#274d5d}.btn-dialog-primary[data-v-1538b481]:disabled{opacity:.6;cursor:not-allowed}.batch-progress-overlay[data-v-1538b481]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1200;background:#ffffffd9;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.progress-card[data-v-1538b481]{text-align:center;background:#fff;border:1px solid #315a6b0f;border-radius:16px;flex-direction:column;align-items:center;max-width:380px;padding:30px;display:flex;box-shadow:0 10px 40px #0000000f}.spinner-circle[data-v-1538b481]{border:3px solid #315a6b1a;border-top-color:#315a6b;border-radius:50%;width:32px;height:32px;margin-bottom:16px;animation:1s linear infinite progressSpinner-1538b481}@keyframes progressSpinner-1538b481{to{transform:rotate(360deg)}}.progress-card h4[data-v-1538b481]{color:#1a2530;margin:0;font-size:15px;font-weight:850}.progress-card p[data-v-1538b481]{color:#82939e;margin:6px 0 0;font-size:11px;line-height:1.5}@media (width<=1180px){.comments-layout-grid[data-v-1538b481]{grid-template-columns:200px 1fr;height:auto}.settings-sidebar[data-v-1538b481]{grid-column:1/-1;grid-template-columns:repeat(2,1fr);display:grid}.config-card[data-v-1538b481]{grid-column:span 2}}@media (width<=760px){.comments-header[data-v-1538b481]{flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px}.segmented-control[data-v-1538b481]{order:3}.comments-header .subtitle[data-v-1538b481]{max-width:30em}.segmented-control button[data-v-1538b481]{flex:1;padding:8px;font-size:12px}.btn-premium[data-v-1538b481]{justify-content:center;width:100%}.comments-layout-grid[data-v-1538b481]{grid-template-columns:1fr;height:auto}.students-sidebar[data-v-1538b481]{max-height:300px}.settings-sidebar[data-v-1538b481]{grid-template-columns:1fr}.config-card[data-v-1538b481]{grid-column:span 1}.glass-indicators-row[data-v-1538b481]{grid-template-columns:1fr}.editor-bottom-actions[data-v-1538b481]{justify-content:stretch}.btn-generate-trigger[data-v-1538b481],.btn-ai-trigger[data-v-1538b481]{flex:1;min-height:44px}.premium-textarea[data-v-1538b481]{font-size:14px}}.seat-page[data-v-3e0f23de]{width:min(var(--classroom-content-width), var(--classroom-content-safe-width));max-width:none;color:var(--text-main);margin:12px auto 48px;padding:0 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;animation:.4s ease-out fadeIn-3e0f23de}@keyframes fadeIn-3e0f23de{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.icon-sm[data-v-3e0f23de]{flex-shrink:0;width:16px;height:16px;display:inline-block}.loading-spinner[data-v-3e0f23de]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin-3e0f23de;display:inline-block}@keyframes spin-3e0f23de{to{transform:rotate(360deg)}}.seat-toolbar[data-v-3e0f23de]{background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.toolbar-left[data-v-3e0f23de]{align-items:center;gap:16px;display:flex}.title-section h1[data-v-3e0f23de]{color:var(--text-main);letter-spacing:-.5px;margin:0 0 2px;font-size:20px;font-weight:800}.title-section .subtitle[data-v-3e0f23de]{color:var(--text-muted);margin:0;font-size:12px;font-weight:500}.save-status[data-v-3e0f23de]{border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;transition:all .25s;display:inline-flex}.save-status.dirty[data-v-3e0f23de]{color:#c27000;background-color:#ff95001a}.save-status.dirty .status-dot[data-v-3e0f23de]{background-color:var(--warning);box-shadow:0 0 8px var(--warning)}.save-status.saving[data-v-3e0f23de]{color:var(--brand);background-color:#0071e31a}.save-status.saving .status-dot[data-v-3e0f23de]{background-color:var(--brand);animation:1s infinite alternate pulse-3e0f23de}.save-status.clean[data-v-3e0f23de]{color:#1b8535;background-color:#34c7591a}.save-status.clean .status-dot[data-v-3e0f23de]{background-color:var(--accent)}.status-dot[data-v-3e0f23de]{border-radius:50%;width:6px;height:6px}@keyframes pulse-3e0f23de{0%{opacity:.4}to{opacity:1}}.toolbar-right[data-v-3e0f23de]{align-items:center;gap:8px;display:flex}.action-btn[data-v-3e0f23de]{cursor:pointer;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:13px;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.ghost-btn[data-v-3e0f23de]{background:var(--solid-panel-bg);border:1.5px solid var(--border-color);color:var(--text-main)}.ghost-btn[data-v-3e0f23de]:hover:not(:disabled){background-color:var(--soft);border-color:#00000026}.ghost-btn.danger[data-v-3e0f23de]{color:var(--danger);border-color:#ff3b3040}.ghost-btn.danger[data-v-3e0f23de]:hover:not(:disabled){border-color:var(--danger);background-color:#ff3b300d}.primary-btn[data-v-3e0f23de]{background:var(--brand);color:#fff;border:none;box-shadow:0 2px 8px #0071e340}.primary-btn[data-v-3e0f23de]:hover:not(:disabled){opacity:.92;transform:translateY(-.5px);box-shadow:0 4px 12px #0071e359}.primary-btn[data-v-3e0f23de]:active:not(:disabled){transform:translateY(.5px)}.action-btn[data-v-3e0f23de]:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none!important}.seat-layout-container[data-v-3e0f23de]{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:20px;display:grid}.student-pool-sidebar[data-v-3e0f23de]{background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box;flex-direction:column;height:600px;padding:16px;display:flex}.sidebar-header[data-v-3e0f23de]{margin-bottom:12px}.header-title[data-v-3e0f23de]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sidebar-header h2[data-v-3e0f23de]{color:var(--text-main);margin:0;font-size:15px;font-weight:800}.count-badge[data-v-3e0f23de]{color:var(--text-muted);background-color:#0000000d;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:700}:root.dark .count-badge[data-v-3e0f23de]{background-color:#ffffff14}.progress-bar-container[data-v-3e0f23de]{flex-direction:column;gap:4px;display:flex}.progress-bar-track[data-v-3e0f23de]{background-color:#0000000d;border-radius:99px;height:4px;overflow:hidden}:root.dark .progress-bar-track[data-v-3e0f23de]{background-color:#ffffff0f}.progress-bar-fill[data-v-3e0f23de]{background:var(--brand);border-radius:99px;height:100%;transition:width .4s cubic-bezier(.16,1,.3,1)}.progress-text[data-v-3e0f23de]{color:var(--text-muted);font-size:10.5px;font-weight:600}.search-box[data-v-3e0f23de]{align-items:center;margin-bottom:12px;display:flex;position:relative}.search-icon[data-v-3e0f23de]{width:14px;height:14px;color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.student-search-input[data-v-3e0f23de]{border:1.5px solid var(--border-color);background:var(--solid-panel-bg);width:100%;height:34px;color:var(--text-main);box-sizing:border-box;border-radius:8px;outline:none;padding:0 30px;font-size:12.5px;font-weight:600;transition:all .2s}.student-search-input[data-v-3e0f23de]:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0071e31a}.clear-search[data-v-3e0f23de]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;position:absolute;right:8px}.student-list[data-v-3e0f23de]{flex-direction:column;flex-grow:1;gap:8px;padding-right:4px;display:flex;overflow-y:auto}.student-pool-card[data-v-3e0f23de]{border-radius:var(--radius-sm);background-color:var(--solid-panel-bg);cursor:grab;text-align:left;box-sizing:border-box;-webkit-user-select:none;user-select:none;border:1.5px solid #0000;outline:none;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 1px 2px #00000003}.student-pool-card[data-v-3e0f23de]:active{cursor:grabbing}.student-pool-card[data-v-3e0f23de]:hover{box-shadow:var(--shadow-sm);border-color:#00000014;transform:translateY(-1px)}.student-pool-card.selected[data-v-3e0f23de]{border-color:var(--brand);background-color:#0071e308;box-shadow:0 4px 12px #0071e30d}.student-avatar[data-v-3e0f23de]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:800;transition:transform .2s;display:flex}.student-pool-card:hover .student-avatar[data-v-3e0f23de]{transform:scale(1.05)}.student-info[data-v-3e0f23de]{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.student-name[data-v-3e0f23de]{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:750;overflow:hidden}.student-role-group[data-v-3e0f23de]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.student-pill[data-v-3e0f23de]{border-radius:4px;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.2}.position-badge[data-v-3e0f23de]{color:#176c38;background-color:#34c7591a}.group-badge[data-v-3e0f23de]{color:#0c5fa6;background-color:#0071e30f}.points-badge[data-v-3e0f23de]{color:var(--warning);background-color:#ff950014;border-radius:4px;padding:1.5px 5px;font-size:11px;font-weight:700}.select-indicator[data-v-3e0f23de]{color:var(--brand);align-items:center;display:flex}.student-card-fade-enter-active[data-v-3e0f23de],.student-card-fade-leave-active[data-v-3e0f23de]{transition:all .3s cubic-bezier(.16,1,.3,1)}.student-card-fade-enter-from[data-v-3e0f23de],.student-card-fade-leave-to[data-v-3e0f23de]{opacity:0;transform:translate(-15px)}.empty-pool-message[data-v-3e0f23de]{height:200px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon[data-v-3e0f23de]{opacity:.6;width:32px;height:32px;margin-bottom:8px}.empty-pool-message p[data-v-3e0f23de]{max-width:80%;margin:0;font-size:12px;font-weight:550}.classroom-canvas[data-v-3e0f23de]{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box;background:#f2f5f3;flex-direction:column;align-items:center;min-height:600px;padding:24px 20px;display:flex;position:relative}.classroom-front[data-v-3e0f23de]{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;width:100%;margin-bottom:24px;display:flex}.front-orientation-row[data-v-3e0f23de]{justify-content:center;width:min(440px,100%);display:flex}.blackboard[data-v-3e0f23de]{text-align:center;background-color:#1e3f20;border:6px solid #8c6239;border-radius:4px;width:100%;padding:8px 12px;position:relative;box-shadow:0 6px 16px #0000001a,inset 0 0 10px #0006}.blackboard[data-v-3e0f23de]:after{content:"";background-color:#735130;border-radius:2px;width:80%;height:4px;position:absolute;bottom:-9px;left:10%}.chalk-writing[data-v-3e0f23de]{color:#ffffffb3;letter-spacing:2px;text-shadow:0 0 2px #fff6;margin-bottom:2px;font-family:KaiTi,STKaiti,SimSun,serif;font-size:12px;display:block}.blackboard-title[data-v-3e0f23de]{color:#fff;text-transform:uppercase;letter-spacing:1px;opacity:.95;font-size:11px;font-weight:800;display:block}.lectern-podium[data-v-3e0f23de]{background-color:#cbd5e1;border-radius:2px;justify-content:center;width:60px;height:12px;margin-top:8px;display:flex;position:relative}.lectern-desk[data-v-3e0f23de]{background-color:#b58450;border:1px solid #94683c;border-bottom:none;border-top-left-radius:4px;border-top-right-radius:4px;justify-content:space-around;align-items:center;width:32px;height:22px;padding:0 4px;display:flex;position:absolute;bottom:0;box-shadow:0 -2px 6px #0000000f}.lectern-prop[data-v-3e0f23de]{border-radius:1px;height:3px}.lectern-prop.laptop[data-v-3e0f23de]{background-color:#94a3b8;border-top:1px solid #cbd5e1;width:10px}.lectern-prop.notebook[data-v-3e0f23de]{background-color:#ef4444;width:6px}.seat-grid-scroller[data-v-3e0f23de]{box-sizing:border-box;width:100%;padding:4px 12px 16px;display:block;overflow-x:auto}.seat-grid[data-v-3e0f23de]{gap:var(--seat-gap,7px);row-gap:var(--seat-row-gap,8px);min-width:max-content;margin:0 auto;display:grid}.grid-cell-container[data-v-3e0f23de]{justify-content:center;align-items:center;display:flex}.seat-cell-card[data-v-3e0f23de]{width:var(--seat-width,76px);height:var(--seat-height,72px);background:var(--solid-panel-bg);cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;border:1px solid #0000000d;border-radius:10px;outline:none;padding:0;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 1px 3px #00000005}.seat-cell-card[draggable=true][data-v-3e0f23de]{cursor:grab}.seat-cell-card[draggable=true][data-v-3e0f23de]:active{cursor:grabbing}.seat-cell-card[data-v-3e0f23de]:hover{box-shadow:var(--shadow-md);border-color:#0000001a;transform:translateY(-2px)scale(1.02)}.seat-cell-card.is-selected[data-v-3e0f23de]{outline:3px solid var(--brand);outline-offset:1px;box-shadow:0 10px 20px #0071e326}.seat-cell-card.is-unavailable[data-v-3e0f23de]{cursor:not-allowed;box-shadow:none;background-color:#e2e8f0;border-style:solid;border-color:#cbd5e1}.seat-cell-card.is-unavailable[data-v-3e0f23de]:hover{box-shadow:none;transform:none}.unavailable-inner[data-v-3e0f23de]{color:#64748b;background:repeating-linear-gradient(45deg,#e2e8f0,#e2e8f0 6px,#cbd5e1 6px 12px);flex-direction:column;justify-content:center;align-items:center;gap:4px;height:100%;display:flex}.lock-icon[data-v-3e0f23de]{width:16px;height:16px}.unavailable-inner .cell-label[data-v-3e0f23de]{font-size:10.5px;font-weight:700}.seat-cell-card.is-empty-cell[data-v-3e0f23de]{box-shadow:none;cursor:default;background:0 0;border:none}.seat-cell-card.is-empty-cell[data-v-3e0f23de]:hover{box-shadow:none;transform:none}.is-editing .seat-cell-card.is-empty-cell[data-v-3e0f23de]{cursor:pointer;border:1.5px dashed #00000026;border-radius:8px}.is-editing .seat-cell-card.is-empty-cell[data-v-3e0f23de]:hover{border-color:var(--brand);background-color:#00000005}.no-seat-placeholder[data-v-3e0f23de]{justify-content:center;align-items:center;height:100%;display:flex}.placeholder-text[data-v-3e0f23de]{color:var(--text-muted);font-size:10.5px;font-weight:700}.empty-seat-inner[data-v-3e0f23de]{flex-direction:column;height:100%;display:flex}.desk-surface[data-v-3e0f23de]{background-color:#e5c39c;border-bottom:1.5px solid #d4a373;height:12px}.empty-seat-inner .desk-surface[data-v-3e0f23de]{background-color:#cbd5e1;border-bottom-color:#94a3b8}.desk-content-empty[data-v-3e0f23de]{background-color:#fff6;flex-grow:1;justify-content:center;align-items:center;display:flex}.empty-seat-text[data-v-3e0f23de]{color:var(--text-muted);font-size:11px;font-weight:600}.seat-cell-card.can-drop[data-v-3e0f23de]{border-color:var(--brand);cursor:pointer;background-color:#0071e308;animation:1.5s infinite pulseDropBorder-3e0f23de}@keyframes pulseDropBorder-3e0f23de{0%{box-shadow:0 0 #0071e366}70%{box-shadow:0 0 0 6px #0071e300}to{box-shadow:0 0 #0071e300}}.seat-cell-card.can-drop[data-v-3e0f23de]:hover{border-color:var(--brand);background-color:#0071e314;transform:translateY(-2px)}.place-cue[data-v-3e0f23de]{color:var(--brand);font-size:11px;font-weight:800;animation:.6s infinite alternate bounce-3e0f23de}@keyframes bounce-3e0f23de{0%{transform:translateY(0)}to{transform:translateY(-2px)}}.student-seat-inner[data-v-3e0f23de]{background-color:var(--solid-panel-bg);flex-direction:column;height:100%;display:flex}.student-seat-inner .desk-surface[data-v-3e0f23de]{background:linear-gradient(90deg,#d4a373 0%,#e5c39c 50%,#d4a373 100%);border-bottom:2px solid #b58450}.desk-content[data-v-3e0f23de]{flex-direction:column;flex-grow:1;justify-content:center;align-items:center;padding:4px;display:flex}.student-seat-header[data-v-3e0f23de]{box-sizing:border-box;justify-content:flex-end;align-items:center;width:100%;height:10px;padding:0 4px;display:flex}.seat-badge-points[data-v-3e0f23de]{color:var(--warning);background-color:#ff950014;border-radius:3px;padding:0 3px;font-size:9px;font-weight:800}.seat-student-name[data-v-3e0f23de]{color:var(--text-main);white-space:nowrap;margin-top:1px;font-size:14px;font-weight:800}.seat-chips-row[data-v-3e0f23de]{justify-content:center;gap:2px;width:100%;margin-top:4px;display:flex}.position-tag[data-v-3e0f23de],.group-tag[data-v-3e0f23de]{text-overflow:ellipsis;white-space:nowrap;border-radius:3px;max-width:40px;padding:.5px 4px;font-size:8.5px;font-weight:700;overflow:hidden}.position-tag[data-v-3e0f23de]{color:#1b8535;background-color:#34c7591a}.group-tag[data-v-3e0f23de]{color:#0b5aa2;background-color:#0071e30d}.seat-coordinate[data-v-3e0f23de]{color:var(--text-muted);opacity:.7;font-size:8.5px;font-weight:600;position:absolute;bottom:2px;left:4px}.horizontal-aisle-divider[data-v-3e0f23de]{grid-column:1/-1;align-items:stretch;min-height:28px;display:flex;position:relative}.aisle-line[data-v-3e0f23de]{background-color:#00000004;background-image:linear-gradient(90deg,#00000003 1px,#0000 1px),linear-gradient(0deg,#00000003 1px,#0000 1px);background-size:8px 8px;border-top:1px solid #00000008;border-bottom:1px solid #00000008;justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:relative}:root.dark .aisle-line[data-v-3e0f23de]{background-color:#ffffff03;background-image:linear-gradient(90deg,#ffffff02 1px,#0000 1px),linear-gradient(0deg,#ffffff02 1px,#0000 1px);border-top:1px solid #ffffff0a;border-bottom:1px solid #ffffff0a}.aisle-line.is-editing[data-v-3e0f23de]{border-top:1.5px dashed var(--brand);border-bottom:1.5px dashed var(--brand);background-color:#0071e30a}.aisle-text[data-v-3e0f23de]{color:var(--brand);letter-spacing:.5px;background:var(--solid-panel-bg);z-index:2;border:1px solid #0071e326;border-radius:999px;padding:2px 10px;font-size:10.5px;font-weight:800}.vertical-aisle-divider[data-v-3e0f23de]{min-width:var(--aisle-width,44px);justify-content:center;align-items:stretch;height:100%;display:flex}.vertical-aisle-path[data-v-3e0f23de]{background-color:#00000004;background-image:linear-gradient(90deg,#00000003 1px,#0000 1px),linear-gradient(0deg,#00000003 1px,#0000 1px);background-size:8px 8px;border-left:1px solid #00000008;border-right:1px solid #00000008;justify-content:center;align-items:center;width:100%;min-height:100%;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:relative}:root.dark .vertical-aisle-path[data-v-3e0f23de]{background-color:#ffffff03;background-image:linear-gradient(90deg,#ffffff02 1px,#0000 1px),linear-gradient(0deg,#ffffff02 1px,#0000 1px);border-left:1px solid #ffffff0a;border-right:1px solid #ffffff0a}.vertical-aisle-path.is-editing[data-v-3e0f23de]{border-left:1.5px dashed var(--brand);border-right:1.5px dashed var(--brand);background-color:#0071e30a}.vertical-aisle-path span[data-v-3e0f23de]{writing-mode:vertical-rl;color:var(--brand);background:var(--solid-panel-bg);letter-spacing:.08em;z-index:2;border:1px solid #0071e326;border-radius:999px;padding:8px 4px;font-size:10.5px;font-weight:800}.remove-aisle-inline[data-v-3e0f23de]{color:var(--danger);cursor:pointer;z-index:3;background-color:#ff3b301a;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:900;transition:all .2s;display:flex;position:absolute;right:12px;box-shadow:0 1px 3px #ff3b300d}.remove-aisle-inline[data-v-3e0f23de]:hover{background-color:var(--danger);color:#fff;box-shadow:0 2px 6px #ff3b3033}.seat-panel-sidebar[data-v-3e0f23de]{background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box;flex-direction:column;height:600px;padding:16px;display:flex;overflow-y:auto}.panel-section[data-v-3e0f23de]{flex-direction:column;height:100%;display:flex}.section-header[data-v-3e0f23de]{border-bottom:1.5px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.section-header h3[data-v-3e0f23de]{color:var(--text-main);margin:0;font-size:15px;font-weight:800}.close-panel-btn[data-v-3e0f23de]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;display:flex}.close-panel-btn[data-v-3e0f23de]:hover{background-color:var(--soft);color:var(--text-main)}.seat-info-card[data-v-3e0f23de]{background-color:var(--solid-panel-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:12px}.seat-coord-header[data-v-3e0f23de]{color:var(--text-main);align-items:center;gap:8px;margin-bottom:6px;font-size:14.5px;font-weight:800;display:flex}.coord-icon[data-v-3e0f23de]{width:16px;height:16px;color:var(--brand)}.seat-status-indicator[data-v-3e0f23de]{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.seat-status-indicator.available .status-dot[data-v-3e0f23de]{background-color:var(--accent)}.seat-status-indicator.unavailable .status-dot[data-v-3e0f23de]{background-color:var(--danger)}.seat-status-indicator.empty .status-dot[data-v-3e0f23de]{background-color:var(--text-muted)}.student-detail-subcard[data-v-3e0f23de]{background-color:var(--solid-panel-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;flex-grow:1;align-items:center;padding:16px;display:flex}.student-detail-header[data-v-3e0f23de]{border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:12px;display:flex}.avatar-large[data-v-3e0f23de]{font-size:24px;font-weight:850}.student-detail-info h4[data-v-3e0f23de]{color:var(--text-main);margin:0 0 4px;font-size:16px;font-weight:800}.student-no[data-v-3e0f23de]{color:var(--text-muted);margin:0 0 12px;font-size:11px;font-weight:600}.detail-badge-group[data-v-3e0f23de]{flex-direction:column;gap:6px;width:100%;margin-bottom:18px;display:flex}.detail-badge[data-v-3e0f23de]{text-align:left;border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:700}.detail-badge.role[data-v-3e0f23de]{color:#176c38;background-color:#34c75914}.detail-badge.group[data-v-3e0f23de]{color:#0c5fa6;background-color:#0071e30f}.detail-badge.gender[data-v-3e0f23de]{color:#475569;background-color:#f1f5f9}.detail-badge.points[data-v-3e0f23de]{color:#d97706;background-color:#ff950014}.panel-action-btn[data-v-3e0f23de]{cursor:pointer;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;height:36px;font-size:12.5px;font-weight:700;transition:all .2s;display:flex}.danger-outline[data-v-3e0f23de]{color:var(--danger);background-color:#fff;border:1.5px solid #ff3b3033}.danger-outline[data-v-3e0f23de]:hover{border-color:var(--danger);background-color:#ff3b300a}.empty-seat-instruction[data-v-3e0f23de]{border:1.5px dashed var(--border-color);border-radius:var(--radius-sm);background-color:#00000003;flex-grow:1;justify-content:center;align-items:center;padding:16px;display:flex}.instruction-text[data-v-3e0f23de]{color:var(--text-muted);text-align:center;margin:0;font-size:12.5px;font-weight:550;line-height:1.6}.seat-config-section[data-v-3e0f23de]{border-top:1.5px solid var(--border-color);margin-top:16px;padding-top:16px}.seat-config-section h5[data-v-3e0f23de]{color:var(--text-main);margin:0 0 10px;font-size:12.5px;font-weight:800}.seat-status-options[data-v-3e0f23de]{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.option-pill[data-v-3e0f23de]{border:1.5px solid var(--border-color);background-color:var(--solid-panel-bg);width:100%;height:32px;color:var(--text-main);cursor:pointer;border-radius:6px;font-size:12px;font-weight:700;transition:all .2s}.option-pill[data-v-3e0f23de]:hover{background-color:var(--soft)}.option-pill.active[data-v-3e0f23de]{border-color:var(--brand);color:var(--brand);background-color:#0071e30a}.config-tip[data-v-3e0f23de]{color:var(--text-muted);margin:4px 0 0;font-size:11px;font-weight:500;line-height:1.4}.layout-config-panel[data-v-3e0f23de]{gap:16px}.config-group[data-v-3e0f23de]{border-bottom:1px solid var(--border-color);flex-direction:column;gap:8px;padding-bottom:16px;display:flex}.config-group[data-v-3e0f23de]:last-child{border-bottom:none}.config-row-item[data-v-3e0f23de]{justify-content:space-between;align-items:center;width:100%;display:flex}.config-label[data-v-3e0f23de]{color:var(--text-main);font-size:12px;font-weight:800}.tactile-counter[data-v-3e0f23de]{background-color:#0000000a;border-radius:8px;align-items:center;padding:2px;display:flex}:root.dark .tactile-counter[data-v-3e0f23de]{background-color:#ffffff0f}.tactile-counter button[data-v-3e0f23de]{width:28px;height:28px;color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.tactile-counter button[data-v-3e0f23de]:hover{background-color:var(--solid-panel-bg);box-shadow:0 1px 2px #0000000d}.tactile-counter button[data-v-3e0f23de]:disabled{opacity:.3;cursor:not-allowed;background:0 0!important}.counter-val[data-v-3e0f23de]{text-align:center;min-width:44px;padding:0 10px;font-size:12.5px;font-weight:800}.aisle-toggle-strip[data-v-3e0f23de]{flex-wrap:wrap;gap:6px;display:flex}.strip-btn[data-v-3e0f23de]{border:1.5px solid var(--border-color);background-color:var(--solid-panel-bg);width:32px;height:32px;color:var(--text-main);cursor:pointer;border-radius:6px;font-size:12px;font-weight:750;transition:all .2s}.strip-btn[data-v-3e0f23de]:hover{background-color:var(--soft)}.strip-btn.active[data-v-3e0f23de]{background-color:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 2px 6px #0071e333}.info-empty-panel[data-v-3e0f23de]{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:24px 12px;display:flex}.classroom-doodle[data-v-3e0f23de]{width:56px;height:56px;color:var(--brand);background-color:#0071e30a;border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.doodle-icon[data-v-3e0f23de]{width:28px;height:28px}.info-empty-panel h4[data-v-3e0f23de]{color:var(--text-main);margin:0 0 8px;font-size:14.5px;font-weight:800}.empty-tip[data-v-3e0f23de]{color:var(--text-muted);margin:0 0 12px;font-size:12px;font-weight:500;line-height:1.5}.seat-cell-card.is-dragover[data-v-3e0f23de]{border-color:var(--brand)!important;background-color:#0071e314!important;transform:scale(1.04)translateY(-2px)!important;box-shadow:0 0 12px #0071e34d!important}.student-pool-sidebar.pool-dragover[data-v-3e0f23de]{border-color:var(--brand)!important;background-color:#0071e308!important;box-shadow:inset 0 0 12px #0071e31a!important}.dialog-body-seat-detail[data-v-3e0f23de]{padding:4px 0}.seat-info-card.mini[data-v-3e0f23de]{margin-bottom:16px}.dialog-footer[data-v-3e0f23de]{justify-content:flex-end;gap:8px;display:flex}@media print{@page{size:landscape;margin:10mm}body{background:#fff!important}.back-to-tools,.seat-toolbar[data-v-3e0f23de],.student-pool-sidebar[data-v-3e0f23de],.seat-panel-sidebar[data-v-3e0f23de],.custom-glass-dialog[data-v-3e0f23de]{display:none!important}.seat-page[data-v-3e0f23de]{color:#111!important;background:#fff!important;width:100%!important;min-height:auto!important;margin:0!important;padding:0!important}.seat-layout-container[data-v-3e0f23de]{min-height:auto!important;display:block!important}.classroom-canvas[data-v-3e0f23de]{width:100%!important;min-height:auto!important;box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;padding:0!important}.seat-grid-scroller[data-v-3e0f23de]{overflow:visible!important}.seat-grid[data-v-3e0f23de]{--seat-width:52px!important;--seat-height:50px!important;--aisle-width:24px!important;--seat-gap:4px!important;--seat-row-gap:5px!important;gap:var(--seat-gap)!important;row-gap:var(--seat-row-gap)!important;width:100%!important;min-width:0!important}.seat-cell-card[data-v-3e0f23de]{width:var(--seat-width)!important;height:var(--seat-height)!important;min-height:var(--seat-height)!important;break-inside:avoid!important;box-shadow:none!important;background:#fff!important;border:1px solid #999!important;border-radius:6px!important}.vertical-aisle-divider[data-v-3e0f23de]{min-width:var(--aisle-width)!important;height:100%!important}.vertical-aisle-path[data-v-3e0f23de]{width:100%!important}.horizontal-aisle-divider[data-v-3e0f23de]{min-height:var(--aisle-height)!important}.aisle-line[data-v-3e0f23de]{height:100%!important}.desk-surface[data-v-3e0f23de]{height:8px!important}.seat-student-name[data-v-3e0f23de],.empty-seat-text[data-v-3e0f23de]{font-size:10px!important}.position-tag[data-v-3e0f23de],.group-tag[data-v-3e0f23de],.seat-badge-points[data-v-3e0f23de]{font-size:7px!important}}@media (width<=1024px){.seat-page[data-v-3e0f23de]{max-width:100%;margin:8px auto 28px;padding:0 10px;overflow-x:clip}.seat-toolbar[data-v-3e0f23de]{align-items:stretch;gap:12px;padding:12px}.toolbar-left[data-v-3e0f23de]{justify-content:space-between;align-items:flex-start;gap:10px;width:100%;min-width:0}.title-section[data-v-3e0f23de]{min-width:0}.title-section h1[data-v-3e0f23de],.title-section .subtitle[data-v-3e0f23de]{overflow-wrap:anywhere}.save-status[data-v-3e0f23de]{flex:none}.toolbar-right[data-v-3e0f23de]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.action-btn[data-v-3e0f23de]{white-space:normal;width:100%;min-width:0;padding:0 10px;line-height:1.15}.toolbar-right .primary-btn[data-v-3e0f23de]{grid-column:1/-1}.seat-layout-container[data-v-3e0f23de]{grid-template-columns:1fr;gap:16px}.student-pool-sidebar[data-v-3e0f23de],.seat-panel-sidebar[data-v-3e0f23de]{height:480px}.student-pool-sidebar[data-v-3e0f23de]{order:2}.classroom-canvas[data-v-3e0f23de]{order:1;min-height:auto;padding:16px 10px}.seat-panel-sidebar[data-v-3e0f23de]{order:3}}@media (width<=720px){.blackboard[data-v-3e0f23de]{width:100%}}@media (width<=640px){.seat-toolbar[data-v-3e0f23de]{border-radius:14px}.toolbar-left[data-v-3e0f23de]{flex-direction:column}.save-status[data-v-3e0f23de]{align-self:flex-start}.blackboard[data-v-3e0f23de]{width:min(320px,92vw);padding:7px 8px}.chalk-writing[data-v-3e0f23de]{letter-spacing:1px;font-size:10px}.seat-grid-scroller[data-v-3e0f23de]{overscroll-behavior-x:contain;max-width:calc(100vw - 28px);margin-inline:-4px;padding:4px 4px 14px}.seat-grid[data-v-3e0f23de]{--seat-width:58px;--seat-height:58px;--aisle-width:24px;--seat-gap:5px;--seat-row-gap:6px}.seat-cell-card[data-v-3e0f23de]{border-radius:8px}.seat-student-name[data-v-3e0f23de],.empty-seat-text[data-v-3e0f23de]{font-size:11px}.student-pool-sidebar[data-v-3e0f23de],.seat-panel-sidebar[data-v-3e0f23de]{height:min(420px,58vh);padding:12px}}@media (width<=420px){.toolbar-right[data-v-3e0f23de]{grid-template-columns:1fr}.action-btn[data-v-3e0f23de]{min-height:38px}.seat-grid-scroller[data-v-3e0f23de]{max-width:calc(100vw - 20px)}}.teaching-tools-page[data-v-a7ce3b7c]{width:min(var(--classroom-content-width), var(--classroom-content-safe-width));box-sizing:border-box;min-height:calc(100vh - 198px);margin:18px auto 48px}@keyframes ringSpinOne3D-a7ce3b7c{0%{transform:translate(-50%,-50%)rotateX(70deg)rotateY(15deg)rotate(0)}to{transform:translate(-50%,-50%)rotateX(70deg)rotateY(15deg)rotate(360deg)}}@keyframes ringSpinTwo3D-a7ce3b7c{0%{transform:translate(-50%,-50%)rotateX(30deg)rotateY(55deg)rotate(0)}to{transform:translate(-50%,-50%)rotateX(30deg)rotateY(55deg)rotate(-360deg)}}.tools-hero[data-v-a7ce3b7c],.tool-workspace[data-v-a7ce3b7c]{background:#ffffffc7;border:1px solid #315a6b1a;border-radius:18px;box-shadow:0 18px 46px #3f5b7014}.tools-hero[data-v-a7ce3b7c]{justify-content:space-between;align-items:flex-end;gap:18px;min-height:108px;margin-bottom:18px;padding:24px 28px;display:flex}.eyebrow[data-v-a7ce3b7c]{color:#6aa99d;letter-spacing:.08em;font-size:12px;font-weight:860}.tools-hero h2[data-v-a7ce3b7c],.workspace-heading h3[data-v-a7ce3b7c]{color:#17212b;letter-spacing:0;margin:6px 0 0;font-weight:900}.tools-hero h2[data-v-a7ce3b7c]{font-size:30px}.workspace-heading h3[data-v-a7ce3b7c]{font-size:26px}.workspace-heading p[data-v-a7ce3b7c]{color:#6b7a88;margin:8px 0 0;font-size:13px;font-weight:680}.tools-grid[data-v-a7ce3b7c]{grid-template-columns:repeat(auto-fill,minmax(180px,220px));justify-content:start;gap:16px;display:grid}.tool-card[data-v-a7ce3b7c]{aspect-ratio:1;color:#17212b;text-align:center;background:#ffffffc2;border:1px solid #315a6b1a;border-radius:8px;align-content:center;justify-items:center;gap:10px;min-height:168px;padding:18px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:grid;box-shadow:0 18px 44px #3f5b7014}.tool-card[data-v-a7ce3b7c]:hover{background:#fff;border-color:#315a6b33;transform:translateY(-4px);box-shadow:0 24px 54px #3f5b701f}.tool-card[data-v-a7ce3b7c]:active{transform:translateY(-1px)scale(.99)}.tool-icon[data-v-a7ce3b7c]{color:#315a6b;background:#eaf3f1;border-radius:8px;place-items:center;width:54px;height:54px;display:grid;box-shadow:inset 0 1px #ffffffc7}.tool-icon span[data-v-a7ce3b7c]{font-size:28px;font-weight:900;line-height:1}.tool-icon.blue[data-v-a7ce3b7c]{background:linear-gradient(135deg,#eef8fb,#dcefed)}.tool-icon.green[data-v-a7ce3b7c]{color:#2d6f5b;background:linear-gradient(135deg,#edf8f1,#d9efe4)}.tool-icon.orange[data-v-a7ce3b7c]{color:#8a5a20;background:linear-gradient(135deg,#fff7ea,#f6e5c9)}.tool-icon.teal[data-v-a7ce3b7c]{color:#315a6b;background:linear-gradient(135deg,#ecf7f5,#d8eee9)}.tool-card strong[data-v-a7ce3b7c]{font-size:17px;font-weight:900}.tool-card small[data-v-a7ce3b7c]{color:#6b7a88;max-width:132px;font-size:12px;font-weight:680;line-height:1.45}.secondary-action[data-v-a7ce3b7c],.primary-action[data-v-a7ce3b7c]{cursor:pointer;border-radius:8px;height:38px;padding:0 16px;font-size:13px;font-weight:850}.secondary-action[data-v-a7ce3b7c]{color:#315a6b;background:#fff;border:1px solid #315a6b29}.back-to-tools[data-v-a7ce3b7c]{color:#315a6b;cursor:pointer;background:#ffffffb8;border:1px solid #315a6b1a;border-radius:999px;align-items:center;gap:7px;width:fit-content;min-height:38px;margin:0 0 12px;padding:0 14px 0 10px;font-size:13px;font-weight:820;display:inline-flex;box-shadow:0 10px 28px #3f5b7014}.back-to-tools[data-v-a7ce3b7c]:hover{background:#fff}.back-to-tools span[data-v-a7ce3b7c]{font-size:23px;line-height:1}.primary-action[data-v-a7ce3b7c]{color:#fff;background:#315a6b;border:0}.primary-action[data-v-a7ce3b7c]:disabled,.secondary-action[data-v-a7ce3b7c]:disabled{opacity:.55;cursor:not-allowed}.tool-workspace[data-v-a7ce3b7c]{padding:22px}.tool-fullpage[data-v-a7ce3b7c]{width:100vw;min-height:100dvh;margin:0;padding:0}.tool-fullpage .back-to-tools[data-v-a7ce3b7c]{z-index:80;margin:0;position:fixed;top:16px;left:18px;box-shadow:0 12px 30px #315a6b1f}.tool-fullpage .tool-workspace[data-v-a7ce3b7c]{box-sizing:border-box;min-height:100dvh;box-shadow:none;background:0 0;border:0;border-radius:0}.tool-fullpage .picker-workspace[data-v-a7ce3b7c],.tool-fullpage .voice-workspace[data-v-a7ce3b7c]{padding:72px 28px 28px}.tool-fullpage .comments-workspace[data-v-a7ce3b7c]{padding:58px 18px 18px}.tool-fullpage .seat-map-workspace[data-v-a7ce3b7c]{padding:58px 0 0;overflow:auto}@media print{.tool-fullpage .seat-map-workspace{padding:0!important;overflow:visible!important}}.workspace-heading[data-v-a7ce3b7c]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.student-count-pill[data-v-a7ce3b7c],.status-pill[data-v-a7ce3b7c]{color:#315a6b;background:#eaf3f1;border-radius:999px;flex:none;padding:8px 12px;font-size:12px;font-weight:860}.status-pill.active[data-v-a7ce3b7c]{color:#2d6f5b;background:#e3f5ea}.voice-layout[data-v-a7ce3b7c]{grid-template-columns:minmax(0,1fr) 280px;gap:18px;display:grid}.picker-layout[data-v-a7ce3b7c]{display:block}.sphere-panel[data-v-a7ce3b7c],.meter-panel[data-v-a7ce3b7c],.tool-panel[data-v-a7ce3b7c],.history-strip[data-v-a7ce3b7c]{background:#fff;border:1px solid #315a6b1a;border-radius:12px}.sphere-panel[data-v-a7ce3b7c]{cursor:grab;background:radial-gradient(circle,#f8fbfb 0%,#ebf1f3 100%);place-items:center;min-height:min(86vh,860px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 80px #315a6b14,0 12px 40px #315a6b0f;border:1px solid #315a6b29!important}.sphere-panel[data-v-a7ce3b7c]:active{cursor:grabbing}.sphere-stage[data-v-a7ce3b7c]{--sphere-scale:1;perspective:1200px;transform-origin:50%;will-change:transform;width:100%;height:min(78vh,780px);min-height:640px;position:relative}.sphere-rotor[data-v-a7ce3b7c]{transform-origin:50%;will-change:transform;position:absolute;inset:0}.sphere-stage.rolling[data-v-a7ce3b7c]{filter:saturate(1.2)}.sphere-core[data-v-a7ce3b7c],.sphere-ring[data-v-a7ce3b7c]{pointer-events:none;border-radius:999px;position:absolute;inset:50%;transform:translate(-50%,-50%)}.sphere-core[data-v-a7ce3b7c]{filter:blur(10px);background:radial-gradient(circle,#6aa99d47 0%,#6aa99d14 45%,#fff0 70%);width:580px;height:580px}.sphere-stage.rolling .sphere-core[data-v-a7ce3b7c]{background:radial-gradient(circle,#6aa99d73 0%,#6aa99d29 50%,#fff0 72%);animation:.52s ease-in-out infinite alternate spherePulse-a7ce3b7c}.sphere-ring.one[data-v-a7ce3b7c]{border:1.5px dashed #6aa99d40;width:680px;height:680px;transform:translate(-50%,-50%)rotateX(70deg)rotateY(15deg)rotate(0)}.sphere-ring.two[data-v-a7ce3b7c]{border:1.5px solid #315a6b1a;width:640px;height:640px;transform:translate(-50%,-50%)rotateX(30deg)rotateY(55deg)rotate(0)}.sphere-stage.rolling .sphere-ring.one[data-v-a7ce3b7c]{animation:1.2s linear infinite ringSpinOne3D-a7ce3b7c}.sphere-stage.rolling .sphere-ring.two[data-v-a7ce3b7c]{animation:.9s linear infinite ringSpinTwo3D-a7ce3b7c}.name-tag[data-v-a7ce3b7c]{z-index:var(--z);transform:translate(-50%, -50%) translate(calc(var(--x) * var(--sphere-scale)), calc(var(--y) * var(--sphere-scale))) scale(var(--scale));color:#315a6b;-webkit-backdrop-filter:blur(4px);text-align:center;min-width:70px;text-shadow:none;will-change:transform, opacity;background:#ffffffe0;border:1px solid #315a6b26;border-radius:12px;padding:8px 16px;font-size:14px;font-weight:800;transition:background .15s,border-color .15s,opacity .15s;position:absolute;top:50%;left:50%;box-shadow:0 6px 16px #315a6b14}.sphere-stage.rolling .name-tag[data-v-a7ce3b7c]{transition:none!important}.name-tag.picked[data-v-a7ce3b7c]{color:#315a6b4d;box-shadow:none;text-shadow:none;background:#ffffff59;border-color:#315a6b0f}.name-tag.active[data-v-a7ce3b7c]{color:#fff;text-shadow:0 1px 2px #0000001f;transform:translate(-50%, -50%) translate(calc(var(--x) * var(--sphere-scale)), calc(var(--y) * var(--sphere-scale))) scale(calc(var(--scale) * 1.45));background:linear-gradient(135deg,#74c2b3 0%,#4a9c8d 100%);border-color:#6aa99d;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .15s,border-color .15s;box-shadow:0 8px 24px #4a9c8d47,0 0 15px #74c2b359;z-index:10000!important}.name-tag-content[data-v-a7ce3b7c]{transform-origin:50%;will-change:transform, opacity;display:block}@keyframes spherePulse-a7ce3b7c{0%{transform:translate(-50%,-50%)scale(.96)}to{transform:translate(-50%,-50%)scale(1.05)}}.tool-panel[data-v-a7ce3b7c]{align-content:start;gap:14px;padding:16px;display:grid}.picker-controls[data-v-a7ce3b7c]{grid-template-columns:minmax(150px,1.2fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(170px,1fr) auto auto;align-items:end;margin-top:14px}.picker-controls .check-row[data-v-a7ce3b7c]{min-height:38px}.picker-controls .picker-stats[data-v-a7ce3b7c]{min-width:170px}.picker-controls .primary-action[data-v-a7ce3b7c],.picker-controls .secondary-action[data-v-a7ce3b7c]{white-space:nowrap;align-self:end}.field-row[data-v-a7ce3b7c]{color:#344655;gap:7px;font-size:13px;font-weight:820;display:grid}.field-row select[data-v-a7ce3b7c],.field-row input[data-v-a7ce3b7c],.field-row textarea[data-v-a7ce3b7c]{box-sizing:border-box;color:#17212b;width:100%;font:inherit;background:#fff;border:1px solid #315a6b29;border-radius:8px}.field-row select[data-v-a7ce3b7c],.field-row input[data-v-a7ce3b7c]{height:38px;padding:0 10px}.field-row textarea[data-v-a7ce3b7c]{resize:vertical;min-height:136px;padding:10px;line-height:1.5}.check-row[data-v-a7ce3b7c]{color:#445462;align-items:center;gap:8px;font-size:13px;font-weight:780;display:flex}.picker-stats[data-v-a7ce3b7c],.voice-stats[data-v-a7ce3b7c]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.picker-stats div[data-v-a7ce3b7c],.voice-stats div[data-v-a7ce3b7c]{background:#f6faf9;border-radius:10px;padding:12px}.picker-stats strong[data-v-a7ce3b7c],.voice-stats strong[data-v-a7ce3b7c]{color:#17212b;font-size:20px;font-weight:900;display:block}.picker-stats span[data-v-a7ce3b7c],.voice-stats span[data-v-a7ce3b7c]{color:#6b7a88;font-size:12px;font-weight:760}.history-strip[data-v-a7ce3b7c]{align-items:center;gap:8px;margin-top:16px;padding:12px;display:flex;overflow-x:auto}.history-strip span[data-v-a7ce3b7c]{color:#315a6b;flex:none;font-size:12px;font-weight:900}.history-strip strong[data-v-a7ce3b7c],.history-strip em[data-v-a7ce3b7c]{color:#526473;background:#f3f7f8;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-style:normal}.result-overlay[data-v-a7ce3b7c]{z-index:99999;-webkit-backdrop-filter:blur(10px);background:#ebf1f3a6;place-items:center;display:grid;position:fixed;inset:0}.result-card[data-v-a7ce3b7c]{transform-origin:50%;will-change:transform, opacity;color:#17212b;background:#fff;border:1px solid #315a6b29;border-radius:24px;justify-items:center;gap:16px;width:min(450px,100vw - 40px);padding:36px 28px;display:grid;box-shadow:0 20px 60px #315a6b26,0 0 30px #6aa99d1a}.result-card strong[data-v-a7ce3b7c]{background:linear-gradient(135deg,#74c2b3 0%,#2d6f5b 100%);-webkit-text-fill-color:transparent;text-align:center;filter:drop-shadow(0 2px 4px #2d6f5b1f);-webkit-background-clip:text;margin:10px 0;font-size:38px;font-weight:950}.result-label[data-v-a7ce3b7c]{color:#6c8293;text-transform:uppercase;letter-spacing:2px;font-size:14px;font-weight:820}.result-card button[data-v-a7ce3b7c]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#74c2b3 0%,#4a9c8d 100%);border:0;border-radius:12px;height:42px;padding:0 28px;font-size:14px;font-weight:800;transition:all .15s;box-shadow:0 4px 15px #4a9c8d40}.result-card button[data-v-a7ce3b7c]:hover{background:linear-gradient(135deg,#62b0a1 0%,#3e8a7b 100%);transform:translateY(-1px);box-shadow:0 6px 20px #4a9c8d59}.result-card button[data-v-a7ce3b7c]:active{transform:translateY(0)}.live-badge-glow[data-v-a7ce3b7c]{color:#fff;vertical-align:middle;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#f43f5e 0%,#e11d48 100%);border-radius:4px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:900;display:inline-block;box-shadow:0 0 10px #e11d4880}@media (prefers-reduced-motion:reduce){.sphere-stage[data-v-a7ce3b7c],.sphere-rotor[data-v-a7ce3b7c],.sphere-stage.rolling .sphere-core[data-v-a7ce3b7c],.sphere-stage.rolling .sphere-ring.one[data-v-a7ce3b7c],.sphere-stage.rolling .sphere-ring.two[data-v-a7ce3b7c],.sphere-stage.rolling .name-tag[data-v-a7ce3b7c],.name-tag[data-v-a7ce3b7c],.name-tag-content[data-v-a7ce3b7c],.result-card[data-v-a7ce3b7c]{transition:none;animation:none}}.meter-panel[data-v-a7ce3b7c]{align-content:center;place-items:center;gap:18px;min-height:430px;padding:20px;display:grid}.meter-ring[data-v-a7ce3b7c]{background:conic-gradient(var(--meter-color) calc(var(--meter) * 1%), #edf3f5 0);border-radius:999px;place-items:center;width:240px;height:240px;display:grid}.meter-ring>div[data-v-a7ce3b7c]{background:#fff;border-radius:999px;align-content:center;place-items:center;width:172px;height:172px;display:grid}.meter-ring strong[data-v-a7ce3b7c]{color:#17212b;font-size:54px;font-weight:950}.meter-ring span[data-v-a7ce3b7c]{color:#6b7a88;font-size:13px;font-weight:800}.volume-bar[data-v-a7ce3b7c],.progress-block i[data-v-a7ce3b7c]{background:#edf3f5;border-radius:999px;width:100%;height:10px;overflow:hidden}.volume-bar span[data-v-a7ce3b7c],.progress-block b[data-v-a7ce3b7c]{border-radius:inherit;height:100%;display:block}.segmented[data-v-a7ce3b7c]{background:#eef4f5;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented button[data-v-a7ce3b7c]{color:#526473;cursor:pointer;background:0 0;border:0;border-radius:8px;height:34px;font-weight:860}.segmented button.active[data-v-a7ce3b7c]{color:#fff;background:#315a6b}.progress-block[data-v-a7ce3b7c]{gap:8px;display:grid}.progress-block div[data-v-a7ce3b7c]{color:#526473;justify-content:space-between;font-size:12px;font-weight:820;display:flex}.progress-block b[data-v-a7ce3b7c]{background:#6aa99d}.tool-note[data-v-a7ce3b7c]{color:#6b7a88;margin:0;font-size:12px;font-weight:700;line-height:1.5}.english-match-workspace[data-v-a7ce3b7c]{box-shadow:none;background:0 0;border:0;border-radius:0;width:100%;height:100dvh;min-height:100dvh;margin:0;padding:0}.english-match-frame[data-v-a7ce3b7c]{background:#e1f5fe;border:0;border-radius:0;width:100%;height:100dvh;min-height:100dvh;display:block}.english-match-fullpage[data-v-a7ce3b7c]{z-index:20;background:#f3f7f8}.english-match-fullpage .back-to-tools[data-v-a7ce3b7c]{z-index:100;top:12px;left:16px}.voice-workspace[data-v-a7ce3b7c]{box-shadow:none;background:0 0;border:0;justify-items:center;padding:6px 0 28px;display:grid}.volume-monitor-card[data-v-a7ce3b7c]{box-sizing:border-box;background:#fff;border:3px solid #0000;border-radius:30px;width:min(920px,100%);padding:30px 38px 34px;transition:border-color .24s,box-shadow .24s,background .24s;box-shadow:0 18px 46px #3f5b7024}.volume-monitor-card.alert-mode[data-v-a7ce3b7c]{border-color:#e55b5b;animation:.9s ease-in-out infinite monitorPulse-a7ce3b7c;box-shadow:0 0 0 12px #e55b5b29,0 18px 46px #3f5b7029}.volume-monitor-card.cheer-mode[data-v-a7ce3b7c]{border-color:#d9a441;box-shadow:0 0 0 12px #d9a4412e,0 18px 46px #3f5b7024}.volume-monitor-card.low-mode[data-v-a7ce3b7c]{border-color:#7bb2d9;box-shadow:0 0 0 10px #7bb2d91f,0 18px 46px #3f5b701f}.volume-monitor-header[data-v-a7ce3b7c]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.volume-title-row[data-v-a7ce3b7c]{align-items:center;gap:12px;display:flex}.volume-title-row h3[data-v-a7ce3b7c]{color:#17212b;letter-spacing:0;margin:0;font-size:34px;font-weight:900}.volume-icon[data-v-a7ce3b7c]{color:#fff;background:#4f6ef7;border-radius:999px;place-items:center;width:42px;height:42px;font-size:18px;font-weight:900;display:grid}.voice-status-badge[data-v-a7ce3b7c]{color:#718096;background:#edf2f7;border-radius:999px;margin-top:10px;padding:8px 18px;font-size:15px;font-weight:820;display:inline-block}.voice-status-badge.listening[data-v-a7ce3b7c]{color:#2b7b66;background:#e4f8ef;animation:1.8s ease-in-out infinite statusGlow-a7ce3b7c}.record-btn[data-v-a7ce3b7c]{color:#4a5568;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:999px;width:56px;height:56px;font-size:26px;font-weight:900;transition:transform .16s,border-color .16s,background .16s}.record-btn[data-v-a7ce3b7c]:hover{background:#f7fafc;border-color:#cbd5e0}.record-btn[data-v-a7ce3b7c]:active{transform:scale(.94)}.gauge-wrapper[data-v-a7ce3b7c]{justify-content:center;align-items:center;margin:10px 0 12px;display:flex}.gauge-container[data-v-a7ce3b7c]{width:min(360px,44vw);min-width:300px;height:min(360px,44vw);min-height:300px;position:relative}.gauge-container svg[data-v-a7ce3b7c]{width:100%;height:100%;transform:rotate(-90deg)}.gauge-bg[data-v-a7ce3b7c],.gauge-fill[data-v-a7ce3b7c]{fill:none;stroke-width:16px}.gauge-bg[data-v-a7ce3b7c]{stroke:#edf2f7}.gauge-fill[data-v-a7ce3b7c]{stroke-linecap:round;transition:stroke-dashoffset .15s,stroke .24s}.gauge-center[data-v-a7ce3b7c]{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gauge-value[data-v-a7ce3b7c]{color:#17212b;font-size:86px;font-weight:950;line-height:1}.gauge-unit[data-v-a7ce3b7c]{color:#718096;margin-top:8px;font-size:17px;font-weight:800}.gauge-peak[data-v-a7ce3b7c]{color:#a0aec0;margin-top:6px;font-size:14px;font-weight:760}.bar-wrapper[data-v-a7ce3b7c]{margin:16px 0 18px;padding:0 4px}.bar-outer[data-v-a7ce3b7c]{background:#edf2f7;border-radius:999px;height:14px;overflow:hidden}.bar-inner[data-v-a7ce3b7c]{border-radius:inherit;height:100%;transition:width .15s,background .24s;position:relative}.bar-inner[data-v-a7ce3b7c]:after{content:"";filter:blur(2px);background:#ffffffa3;border-radius:999px;width:8px;height:100%;position:absolute;top:0;right:0}.bar-labels[data-v-a7ce3b7c]{color:#a0aec0;justify-content:space-between;margin-top:8px;font-size:14px;font-weight:700;display:flex}.alert-banner[data-v-a7ce3b7c]{color:#c53030;letter-spacing:0;opacity:0;pointer-events:none;background:#fff5f5;border:2px solid #feb2b2;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:72px;margin-bottom:16px;padding:14px 18px;font-size:34px;font-weight:950;transition:opacity .18s,transform .18s;display:flex;transform:scale(.94)}.alert-banner.show[data-v-a7ce3b7c]{opacity:1;animation:.52s ease-in-out alertShake-a7ce3b7c;transform:scale(1)}.volume-monitor-card.cheer-mode .alert-banner[data-v-a7ce3b7c]{color:#975a16;background:ivory;border-color:#f6d365}.volume-monitor-card.low-mode .alert-banner[data-v-a7ce3b7c]{color:#2b6cb0;background:#ebf8ff;border-color:#bee3f8}.alert-icon[data-v-a7ce3b7c]{color:currentColor;background:#ffffff94;border-radius:999px;place-items:center;width:40px;height:40px;display:grid}.mode-row[data-v-a7ce3b7c]{gap:12px;margin-bottom:14px;display:flex}.mode-btn[data-v-a7ce3b7c]{color:#4a5568;cursor:pointer;background:#f7fafc;border:2px solid #e2e8f0;border-radius:999px;flex:1;height:54px;font-size:17px;font-weight:850}.mode-btn.active[data-v-a7ce3b7c]{color:#2b6cb0;background:#ebf4ff;border-color:#4f6ef7;box-shadow:0 0 0 4px #4f6ef71a}.study-mode-panel[data-v-a7ce3b7c]{background:#fffbeb;border:2px solid #fbd38d;border-radius:20px;gap:14px;margin-bottom:14px;padding:20px 22px;display:grid}.panel-title[data-v-a7ce3b7c]{color:#975a16;font-size:18px;font-weight:900}.threshold-row[data-v-a7ce3b7c]{color:#744210;grid-template-columns:104px minmax(0,1fr) 52px;align-items:center;gap:12px;font-size:16px;font-weight:850;display:grid}.threshold-row input[type=range][data-v-a7ce3b7c]{accent-color:#4f6ef7;width:100%}.threshold-row input[type=number][data-v-a7ce3b7c]{box-sizing:border-box;color:#17212b;width:100%;height:40px;font:inherit;background:#fff;border:1px solid #fbd38d;border-radius:8px;padding:0 8px}.threshold-row strong[data-v-a7ce3b7c]{text-align:right}.progress-section[data-v-a7ce3b7c]{gap:6px;display:grid}.progress-label[data-v-a7ce3b7c]{color:#975a16;justify-content:space-between;font-size:15px;font-weight:820;display:flex}.progress-outer[data-v-a7ce3b7c]{background:#f7e7be;border-radius:999px;height:13px;overflow:hidden}.progress-inner[data-v-a7ce3b7c]{border-radius:inherit;background:#48bb78;height:100%;transition:width .18s}.controls[data-v-a7ce3b7c]{margin-bottom:14px;display:flex}.btn[data-v-a7ce3b7c]{cursor:pointer;border:0;border-radius:12px;flex:1;height:58px;font-size:18px;font-weight:900}.btn-primary[data-v-a7ce3b7c]{color:#fff;background:#4f6ef7;box-shadow:0 8px 18px #4f6ef747}.btn-primary.listening-active[data-v-a7ce3b7c]{background:#48bb78;box-shadow:0 8px 18px #48bb7847}.stats-row[data-v-a7ce3b7c]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.stat-card[data-v-a7ce3b7c]{text-align:center;background:#f7fafc;border-radius:16px;padding:17px 10px}.stat-num[data-v-a7ce3b7c]{color:#17212b;font-size:28px;font-weight:950;line-height:1.15}.stat-label[data-v-a7ce3b7c]{color:#718096;margin-top:6px;font-size:14px;font-weight:760}.footer-note[data-v-a7ce3b7c]{color:#a0aec0;text-align:center;margin:12px 0 0;font-size:12px;font-weight:760}@keyframes statusGlow-a7ce3b7c{0%,to{box-shadow:0 0 #48bb784d}50%{box-shadow:0 0 0 10px #48bb7800}}@keyframes monitorPulse-a7ce3b7c{0%,to{box-shadow:0 0 0 8px #e55b5b24,0 18px 46px #3f5b7024}50%{box-shadow:0 0 0 18px #e55b5b0d,0 18px 46px #3f5b702e}}@keyframes alertShake-a7ce3b7c{0%,to{transform:scale(1)}25%{transform:scale(1.03)translate(-3px)}50%{transform:scale(1.02)translate(3px)}75%{transform:scale(1.01)translate(-1px)}}@media (width<=840px){.teaching-tools-page[data-v-a7ce3b7c]{width:100%;max-width:100%;margin:10px auto 28px;overflow-x:clip}.tools-hero[data-v-a7ce3b7c]{border-radius:14px;min-height:auto;padding:18px}.tools-grid[data-v-a7ce3b7c]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tool-card[data-v-a7ce3b7c]{min-height:138px;padding:14px 10px}.tool-card small[data-v-a7ce3b7c]{max-width:100%}.tool-fullpage[data-v-a7ce3b7c]{width:100%;max-width:100vw;overflow-x:hidden}.tool-fullpage .back-to-tools[data-v-a7ce3b7c]{top:calc(10px + env(safe-area-inset-top,0px));background:#ffffffeb;max-width:calc(100vw - 20px);min-height:36px;padding-right:12px;left:10px}.tool-fullpage .picker-workspace[data-v-a7ce3b7c],.tool-fullpage .voice-workspace[data-v-a7ce3b7c]{padding:calc(60px + env(safe-area-inset-top,0px)) 10px calc(18px + env(safe-area-inset-bottom,0px))}.tool-fullpage .comments-workspace[data-v-a7ce3b7c]{padding:calc(58px + env(safe-area-inset-top,0px)) 10px calc(14px + env(safe-area-inset-bottom,0px))}.tool-fullpage .seat-map-workspace[data-v-a7ce3b7c]{padding:calc(58px + env(safe-area-inset-top,0px)) 0 calc(14px + env(safe-area-inset-bottom,0px))}.workspace-heading[data-v-a7ce3b7c]{flex-direction:column;align-items:stretch}.workspace-heading h3[data-v-a7ce3b7c]{font-size:22px}.student-count-pill[data-v-a7ce3b7c],.status-pill[data-v-a7ce3b7c]{align-self:flex-start}.sphere-panel[data-v-a7ce3b7c]{min-height:320px}.sphere-stage[data-v-a7ce3b7c]{--sphere-scale:.45;height:340px;min-height:340px}.sphere-core[data-v-a7ce3b7c]{width:260px;height:260px}.sphere-ring[data-v-a7ce3b7c]{width:330px;height:330px}.sphere-ring.two[data-v-a7ce3b7c]{width:390px;height:190px}.picker-controls[data-v-a7ce3b7c]{grid-template-columns:repeat(2,minmax(0,1fr))}.picker-controls .picker-stats[data-v-a7ce3b7c],.picker-controls .primary-action[data-v-a7ce3b7c],.picker-controls .secondary-action[data-v-a7ce3b7c]{width:100%;min-width:0}.history-strip[data-v-a7ce3b7c]{max-width:100%}.volume-monitor-card[data-v-a7ce3b7c]{padding:24px}.gauge-container[data-v-a7ce3b7c]{width:min(320px,72vw);min-width:240px;height:min(320px,72vw);min-height:240px}}@media (width<=480px){.tools-grid[data-v-a7ce3b7c],.picker-controls[data-v-a7ce3b7c]{grid-template-columns:1fr}.sphere-stage[data-v-a7ce3b7c]{--sphere-scale:.36}.name-tag[data-v-a7ce3b7c]{min-width:58px;padding:7px 10px;font-size:12px}.volume-monitor-card[data-v-a7ce3b7c]{padding:18px 12px}.threshold-row[data-v-a7ce3b7c],.mode-row[data-v-a7ce3b7c],.stats-row[data-v-a7ce3b7c]{grid-template-columns:1fr}}.shop-page[data-v-6dbf633a]{width:min(var(--classroom-content-width), var(--classroom-content-safe-width));color:var(--text-main);margin:20px auto 48px}.shop-head[data-v-6dbf633a]{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.shop-head h2[data-v-6dbf633a]{letter-spacing:0;align-items:center;gap:10px;margin:0;font-size:25px;font-weight:900;display:flex}.shop-head p[data-v-6dbf633a]{color:var(--text-muted);margin:8px 0 0;font-size:14px;font-weight:700}.shop-filter-bar[data-v-6dbf633a]{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.filter-tabs[data-v-6dbf633a]{flex-wrap:wrap;gap:8px;display:flex}.filter-tabs button[data-v-6dbf633a]{border:1px solid var(--border-color);height:34px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:999px;padding:0 13px;font-size:12px;font-weight:850}.filter-tabs button.active[data-v-6dbf633a]{color:var(--brand);background:#0071e314;border-color:#0071e342}.shop-search[data-v-6dbf633a]{border:1px solid var(--border-color);background:#fff;border-radius:999px;align-items:center;gap:8px;min-width:220px;height:36px;padding:0 12px;display:flex}.shop-search input[data-v-6dbf633a]{width:100%;color:var(--text-main);border:none;outline:none;font-size:13px}.primary-action[data-v-6dbf633a],.secondary-action[data-v-6dbf633a],.shop-card-actions button[data-v-6dbf633a]{cursor:pointer;border-radius:10px;height:38px;padding:0 16px;font-weight:850;transition:transform .16s,box-shadow .16s,border-color .16s}.primary-action[data-v-6dbf633a]{border:1px solid var(--brand);background:var(--brand);color:#fff;box-shadow:0 8px 18px #0071e324}.secondary-action[data-v-6dbf633a],.shop-card-actions button[data-v-6dbf633a]{border:1px solid var(--border-color);color:var(--text-main);background:#fff}.primary-action[data-v-6dbf633a]:hover,.secondary-action[data-v-6dbf633a]:hover,.shop-card-actions button[data-v-6dbf633a]:hover{transform:translateY(-1px)}.shop-grid[data-v-6dbf633a]{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:14px;display:grid}.shop-card[data-v-6dbf633a]{border:1px solid var(--border-color);background:#fff;border-radius:12px;justify-items:center;gap:8px;min-height:238px;padding:16px 12px 12px;display:grid;position:relative;box-shadow:0 10px 22px #0f172a0d}.shop-card.disabled[data-v-6dbf633a]{opacity:.48}.shop-card.soldout[data-v-6dbf633a]{border-color:#ff950052}.soldout-badge[data-v-6dbf633a]{color:var(--warning);background:#ff95001a;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:900;position:absolute;top:10px;right:10px}.shop-icon[data-v-6dbf633a]{background:linear-gradient(145deg,#fff 0%,#eef6ff 100%);border:1px solid #0071e329;border-radius:12px;place-items:center;width:50px;height:50px;font-size:27px;display:grid;box-shadow:inset 0 -4px 8px #0071e314}.shop-symbol[data-v-6dbf633a]{color:var(--brand);display:inline-block;position:relative}.shop-symbol-gift[data-v-6dbf633a]{background:linear-gradient(90deg, transparent 0 38%, var(--brand) 38% 62%, transparent 62%), linear-gradient(180deg, #8fc7ff 0%, #2f8ff0 100%);border-radius:4px 4px 5px 5px;width:30px;height:28px;box-shadow:inset 0 -4px #00388029}.shop-symbol-gift[data-v-6dbf633a]:before,.shop-symbol-custom-orb[data-v-6dbf633a]:before,.shop-symbol-ticket[data-v-6dbf633a]:before,.shop-symbol-tag[data-v-6dbf633a]:before,.shop-symbol-star[data-v-6dbf633a]:before,.shop-symbol-badge[data-v-6dbf633a]:before,.shop-symbol-book[data-v-6dbf633a]:before,.shop-symbol-seat[data-v-6dbf633a]:before,.shop-symbol-card[data-v-6dbf633a]:before,.shop-symbol-board[data-v-6dbf633a]:before,.shop-symbol-person[data-v-6dbf633a]:before,.shop-symbol-note[data-v-6dbf633a]:before,.shop-symbol-box[data-v-6dbf633a]:before,.shop-symbol-gift[data-v-6dbf633a]:after,.shop-symbol-custom-orb[data-v-6dbf633a]:after,.shop-symbol-ticket[data-v-6dbf633a]:after,.shop-symbol-tag[data-v-6dbf633a]:after,.shop-symbol-star[data-v-6dbf633a]:after,.shop-symbol-badge[data-v-6dbf633a]:after,.shop-symbol-book[data-v-6dbf633a]:after,.shop-symbol-seat[data-v-6dbf633a]:after,.shop-symbol-card[data-v-6dbf633a]:after,.shop-symbol-board[data-v-6dbf633a]:after,.shop-symbol-person[data-v-6dbf633a]:after,.shop-symbol-note[data-v-6dbf633a]:after,.shop-symbol-box[data-v-6dbf633a]:after{content:"";position:absolute}.shop-symbol-custom-orb[data-v-6dbf633a]{background:radial-gradient(circle at 35% 28%, #fff 0 13%, #8fc7ff 14% 45%, var(--brand) 46% 100%);border-radius:50%;width:31px;height:31px}.shop-symbol-custom-orb[data-v-6dbf633a]:after{border:2px solid #fff9;border-radius:50%;inset:7px}.shop-symbol-custom-pencil[data-v-6dbf633a]{background:linear-gradient(90deg, #9bcfff 0 68%, var(--brand) 68% 100%);border-radius:6px;width:32px;height:8px;transform:rotate(-32deg)}.shop-symbol-custom-pencil[data-v-6dbf633a]:before{border-top:4px solid #0000;border-bottom:4px solid #0000;border-right:8px solid #5aaeff;top:0;left:-7px}.shop-symbol-custom-pencil[data-v-6dbf633a]:after{background:#0071e359;border-radius:0 4px 4px 0;width:5px;height:8px;top:0;right:-4px}.shop-symbol-custom-candy[data-v-6dbf633a]{background:linear-gradient(90deg, #fff9 0 20%, transparent 20% 36%, #ffffff6b 36% 52%, transparent 52%), linear-gradient(145deg, #9bcfff, var(--brand));border-radius:9px;width:28px;height:22px}.shop-symbol-custom-candy[data-v-6dbf633a]:before,.shop-symbol-custom-candy[data-v-6dbf633a]:after{background:var(--brand);width:9px;height:13px;top:5px}.shop-symbol-custom-candy[data-v-6dbf633a]:before{clip-path:polygon(100% 0,0 50%,100% 100%);left:-7px}.shop-symbol-custom-candy[data-v-6dbf633a]:after{clip-path:polygon(0 0,100% 50%,0 100%);right:-7px}.shop-symbol-custom-cup[data-v-6dbf633a]{width:30px;height:31px}.shop-symbol-custom-cup[data-v-6dbf633a]:before{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:4px 4px 10px 10px;width:18px;height:19px;top:4px;left:6px}.shop-symbol-custom-cup[data-v-6dbf633a]:after{border:4px solid var(--brand);border-top:0;border-radius:0 0 14px 14px;width:26px;height:13px;top:7px;left:2px}.shop-symbol-custom-smile[data-v-6dbf633a]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:50%;width:31px;height:31px}.shop-symbol-custom-smile[data-v-6dbf633a]:before{background:#ffffffd9;border-radius:50%;width:4px;height:4px;top:10px;left:8px;box-shadow:11px 0 #ffffffd9}.shop-symbol-custom-smile[data-v-6dbf633a]:after{border-bottom:3px solid #ffffffd1;border-radius:0 0 14px 14px;width:15px;height:8px;bottom:7px;left:8px}.shop-symbol-custom-heart[data-v-6dbf633a]{width:30px;height:27px;transform:rotate(-45deg)}.shop-symbol-custom-camera[data-v-6dbf633a]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:7px;width:32px;height:24px}.shop-symbol-custom-camera[data-v-6dbf633a]:before{border:3px solid #ffffffb8;border-radius:50%;width:12px;height:12px;top:6px;left:10px}.shop-symbol-custom-camera[data-v-6dbf633a]:after{background:var(--brand);border-radius:4px 4px 0 0;width:11px;height:6px;top:-4px;left:5px}.shop-symbol-custom-clock[data-v-6dbf633a]{border:4px solid var(--brand);background:#0071e31a;border-radius:50%;width:31px;height:31px}.shop-symbol-custom-clock[data-v-6dbf633a]:before{background:var(--brand);border-radius:4px;width:4px;height:10px;top:7px;left:13px}.shop-symbol-custom-clock[data-v-6dbf633a]:after{background:var(--brand);border-radius:4px;width:9px;height:4px;top:14px;left:14px}.shop-symbol-custom-key[data-v-6dbf633a]{width:34px;height:18px}.shop-symbol-custom-key[data-v-6dbf633a]:before{border:4px solid var(--brand);border-radius:50%;width:15px;height:15px;top:1px;left:0}.shop-symbol-custom-key[data-v-6dbf633a]:after{background:linear-gradient(90deg, #9bcfff, var(--brand));width:19px;height:5px;box-shadow:9px 5px 0 -2px var(--brand);border-radius:4px;top:7px;left:15px}.shop-symbol-custom-puzzle[data-v-6dbf633a]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:6px;width:31px;height:28px}.shop-symbol-custom-puzzle[data-v-6dbf633a]:before{background:#f5f8fc;border-radius:50%;width:10px;height:10px;top:-5px;left:10px}.shop-symbol-custom-puzzle[data-v-6dbf633a]:after{background:var(--brand);border-radius:50%;width:10px;height:10px;top:9px;right:-5px}.shop-symbol-custom-leaf[data-v-6dbf633a]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:22px 2px;width:31px;height:28px;transform:rotate(-18deg)}.shop-symbol-custom-leaf[data-v-6dbf633a]:after{background:#ffffffad;border-radius:2px;width:18px;height:2px;top:13px;left:7px;transform:rotate(-18deg)}.shop-symbol-custom-bell[data-v-6dbf633a]{width:30px;height:31px}.shop-symbol-custom-bell[data-v-6dbf633a]:before{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:12px 12px 8px 8px;width:20px;height:22px;top:4px;left:5px}.shop-symbol-custom-bell[data-v-6dbf633a]:after{background:var(--brand);border-radius:50%;width:8px;height:8px;bottom:0;left:11px}.shop-symbol-gift[data-v-6dbf633a]:before{background:var(--brand);border-radius:3px;height:7px;top:6px;left:-3px;right:-3px}.shop-symbol-gift[data-v-6dbf633a]:after{border:4px solid var(--brand);border-bottom:0;border-radius:12px 12px 0 0;width:22px;height:13px;top:-8px;left:4px;box-shadow:inset 0 0 0 2px #ffffff38}.shop-symbol-ticket[data-v-6dbf633a]{background:linear-gradient(145deg, #8fc7ff, var(--brand));border-radius:5px;width:32px;height:22px;transform:rotate(-8deg)}.shop-symbol-ticket[data-v-6dbf633a]:before,.shop-symbol-ticket[data-v-6dbf633a]:after{background:#f5f8fc;border-radius:50%;width:7px;height:7px;top:8px}.shop-symbol-ticket[data-v-6dbf633a]:before{left:-4px}.shop-symbol-ticket[data-v-6dbf633a]:after{right:-4px}.shop-symbol-star[data-v-6dbf633a]{background:linear-gradient(145deg, #9bcfff, var(--brand));clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 92%,50% 70%,21% 92%,32% 56%,2% 35%,39% 35%);width:31px;height:31px}.shop-symbol-tag[data-v-6dbf633a]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:5px 9px 9px 5px;width:31px;height:25px;transform:rotate(-10deg)}.shop-symbol-tag[data-v-6dbf633a]:before{background:#ffffffb8;border-radius:50%;width:6px;height:6px;top:9px;left:6px}.shop-symbol-tag[data-v-6dbf633a]:after{border-left:8px solid var(--brand);border-top:6px solid #0000;border-bottom:6px solid #0000;top:7px;right:-5px}.shop-symbol-badge[data-v-6dbf633a]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:15px 15px 8px 8px;width:30px;height:34px}.shop-symbol-badge[data-v-6dbf633a]:before{border:3px solid #ffffff8c;border-radius:50%;inset:7px}.shop-symbol-badge[data-v-6dbf633a]:after{border-left:8px solid #0000;border-right:8px solid #0000;border-top:10px solid var(--brand);bottom:-7px;left:7px}.shop-symbol-book[data-v-6dbf633a]{background:linear-gradient(90deg, #5aaeff 0 48%, var(--brand) 48% 52%, #8fc7ff 52%);border-radius:4px;width:32px;height:25px;box-shadow:inset 0 -4px #0038801f}.shop-symbol-book[data-v-6dbf633a]:before{background:#ffffff94;height:2px;top:7px;left:6px;right:6px;box-shadow:0 6px #ffffff75}.shop-symbol-seat[data-v-6dbf633a]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:7px 7px 4px 4px;width:30px;height:29px}.shop-symbol-seat[data-v-6dbf633a]:before{background:var(--brand);border-radius:4px;height:8px;bottom:6px;left:-3px;right:-3px}.shop-symbol-seat[data-v-6dbf633a]:after{background:#5aaeff;border-radius:0 0 4px 4px;height:7px;bottom:-5px;left:5px;right:5px}.shop-symbol-card[data-v-6dbf633a]{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:6px;width:34px;height:24px}.shop-symbol-card[data-v-6dbf633a]:before{background:#ffffff85;height:5px;top:6px;left:0;right:0}.shop-symbol-card[data-v-6dbf633a]:after{background:#ffffffb8;border-radius:3px;width:12px;height:3px;bottom:5px;left:7px}.shop-symbol-board[data-v-6dbf633a]{border:3px solid var(--brand);background:#0071e31f;border-radius:4px;width:32px;height:25px}.shop-symbol-board[data-v-6dbf633a]:before{background:var(--brand);border-radius:3px;height:3px;top:5px;left:5px;right:5px;box-shadow:0 7px #0071e3a6}.shop-symbol-board[data-v-6dbf633a]:after{background:var(--brand);border-radius:2px;width:10px;height:8px;bottom:-8px;left:11px}.shop-symbol-person[data-v-6dbf633a]{width:30px;height:30px}.shop-symbol-person[data-v-6dbf633a]:before{background:var(--brand);border-radius:50%;width:12px;height:12px;top:0;left:9px}.shop-symbol-person[data-v-6dbf633a]:after{background:linear-gradient(145deg, #9bcfff, var(--brand));border-radius:13px 13px 5px 5px;width:24px;height:15px;bottom:0;left:3px}.shop-symbol-note[data-v-6dbf633a]{width:31px;height:31px}.shop-symbol-note[data-v-6dbf633a]:before{background:linear-gradient(180deg, #9bcfff, var(--brand));border-radius:4px;width:8px;height:22px;top:3px;left:7px}.shop-symbol-note[data-v-6dbf633a]:after{background:var(--brand);border-radius:50%;width:15px;height:11px;bottom:2px;left:3px;box-shadow:13px -8px 0 -2px #5aaeff}.shop-symbol-box[data-v-6dbf633a]{background:linear-gradient(90deg, #ffffff94 0 18%, transparent 18% 34%, #ffffff73 34% 49%, transparent 49%), linear-gradient(145deg, #9bcfff, var(--brand));border-radius:8px;width:30px;height:28px}.shop-symbol-box[data-v-6dbf633a]:before,.shop-symbol-box[data-v-6dbf633a]:after{background:var(--brand);width:10px;height:14px;top:7px}.shop-symbol-box[data-v-6dbf633a]:before{clip-path:polygon(100% 0,0 50%,100% 100%);left:-7px}.shop-symbol-box[data-v-6dbf633a]:after{clip-path:polygon(0 0,100% 50%,0 100%);right:-7px}.shop-head .shop-symbol[data-v-6dbf633a]{flex:none;transform:scale(.9)}.icon-picker[data-v-6dbf633a]{flex-wrap:wrap;gap:8px;display:flex}.icon-picker button[data-v-6dbf633a]{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:12px;place-items:center;gap:2px;width:46px;height:46px;display:grid}.icon-picker button.active[data-v-6dbf633a]{background:#0071e314;border-color:#0071e36b;box-shadow:inset 0 0 0 1px #0071e32e}.icon-picker .shop-symbol[data-v-6dbf633a]{transform:scale(.68)}.shop-card strong[data-v-6dbf633a]{-webkit-line-clamp:2;text-align:center;-webkit-box-orient:vertical;min-height:39px;font-size:15px;line-height:1.3;display:-webkit-box;overflow:hidden}.shop-card b[data-v-6dbf633a]{color:var(--brand);font-size:16px;font-weight:950}.shop-card em[data-v-6dbf633a]{color:var(--text-muted);font-size:12px;font-style:normal;font-weight:750}.shop-card p[data-v-6dbf633a]{-webkit-line-clamp:2;text-align:center;min-height:32px;color:var(--text-muted);-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.shop-card-actions[data-v-6dbf633a]{grid-template-columns:1fr 1fr;gap:7px;width:100%;display:grid}.shop-card-actions button[data-v-6dbf633a]{border-radius:9px;min-width:0;height:34px;padding:0 8px;font-size:12px}.shop-card-actions .redeem-preview[data-v-6dbf633a]{color:var(--brand);background:#0071e314;border-color:#0071e32e;grid-column:1/-1}.shop-card-actions .danger[data-v-6dbf633a]{color:var(--danger)}.shop-card-actions .enable[data-v-6dbf633a]{color:var(--accent)}.shop-card-actions button[data-v-6dbf633a]:disabled{cursor:not-allowed;opacity:.48;transform:none}.empty-shop-text[data-v-6dbf633a]{text-align:center;color:var(--text-muted);margin:76px auto 0;font-size:16px;font-weight:800}.records-panel[data-v-6dbf633a]{border:1px solid var(--border-color);background:#fff;border-radius:12px;margin-top:28px;padding:18px;box-shadow:0 10px 22px #0f172a0a}.records-head[data-v-6dbf633a]{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.records-head h3[data-v-6dbf633a]{margin:0;font-size:17px;font-weight:900}.records-head p[data-v-6dbf633a]{color:var(--text-muted);margin:5px 0 0;font-size:12px;font-weight:700}.records-controls[data-v-6dbf633a]{gap:8px;display:flex}.records-controls select[data-v-6dbf633a],.records-controls input[data-v-6dbf633a]{border:1px solid var(--border-color);height:34px;color:var(--text-main);background:#fff;border-radius:9px;outline:none;padding:0 10px;font-size:12px}.records-list[data-v-6dbf633a]{gap:8px;display:grid}.record-row[data-v-6dbf633a]{background:#f8fafcb8;border:1px solid #e2e8f0e6;border-radius:10px;grid-template-columns:110px 1fr 1.2fr 86px 72px;align-items:center;gap:10px;min-height:42px;padding:8px 10px;font-size:12px;display:grid}.record-row.revoked[data-v-6dbf633a]{opacity:.58}.record-row span[data-v-6dbf633a],.record-row em[data-v-6dbf633a]{color:var(--text-muted);font-style:normal;font-weight:700}.record-row strong[data-v-6dbf633a]{color:var(--text-main)}.record-row b[data-v-6dbf633a]{color:var(--danger)}.record-row button[data-v-6dbf633a]{height:30px;color:var(--danger);cursor:pointer;background:#ef44440f;border:1px solid #ef44443d;border-radius:8px;font-weight:850}.record-row button[data-v-6dbf633a]:disabled{cursor:not-allowed;border-color:var(--border-color);color:var(--text-muted);background:#fff}.empty-records-text[data-v-6dbf633a]{text-align:center;color:var(--text-muted);margin:22px 0 4px;font-size:13px;font-weight:800}.editor-form[data-v-6dbf633a]{gap:14px;display:grid}.editor-row[data-v-6dbf633a]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.editor-form label[data-v-6dbf633a]{color:var(--text-muted);gap:7px;font-size:12px;font-weight:850;display:grid}.editor-form input[data-v-6dbf633a]{border:1px solid var(--border-color);height:40px;color:var(--text-main);border-radius:10px;outline:none;padding:0 12px;font-size:14px}.editor-form input[data-v-6dbf633a]:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0071e314}.dialog-save[data-v-6dbf633a]{margin-left:10px}.redeem-dialog-body[data-v-6dbf633a]{gap:16px;display:grid}.redeem-item-summary[data-v-6dbf633a]{background:linear-gradient(135deg,#0071e314,#14b8a614);border:1px solid #0071e329;border-radius:14px;grid-template-columns:58px 1fr;align-items:center;gap:14px;padding:14px;display:grid}.redeem-item-icon[data-v-6dbf633a]{background:#fff;border:1px solid #0071e333;border-radius:14px;place-items:center;width:54px;height:54px;display:grid}.redeem-item-summary strong[data-v-6dbf633a]{color:var(--text-main);font-size:18px;font-weight:950;display:block}.redeem-item-summary span[data-v-6dbf633a],.redeem-item-summary p[data-v-6dbf633a]{color:var(--text-muted);margin:4px 0 0;font-size:13px;font-weight:750}.redeem-picker-toolbar[data-v-6dbf633a]{grid-template-columns:1fr 180px;gap:12px;display:grid}.redeem-picker-toolbar label[data-v-6dbf633a],.redeem-note-field[data-v-6dbf633a]{color:var(--text-muted);gap:7px;font-size:12px;font-weight:850;display:grid}.redeem-picker-toolbar input[data-v-6dbf633a],.redeem-picker-toolbar select[data-v-6dbf633a],.redeem-note-field input[data-v-6dbf633a]{border:1px solid var(--border-color);height:40px;color:var(--text-main);background:#fff;border-radius:10px;outline:none;padding:0 12px;font-size:14px}.redeem-picker-toolbar input[data-v-6dbf633a]:focus,.redeem-picker-toolbar select[data-v-6dbf633a]:focus,.redeem-note-field input[data-v-6dbf633a]:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0071e314}.student-picker-meta[data-v-6dbf633a]{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:800;display:flex}.student-picker-meta strong[data-v-6dbf633a]{color:var(--text-main);font-size:14px;font-weight:950}.redeem-student-grid[data-v-6dbf633a]{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;max-height:390px;padding:2px 2px 4px;display:grid;overflow:auto}.redeem-student-card[data-v-6dbf633a]{min-height:146px;color:var(--text-main);cursor:pointer;background:#fff;border:1px solid #e2e8f0f2;border-radius:12px;justify-items:center;gap:5px;padding:12px 10px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.redeem-student-card[data-v-6dbf633a]:hover{border-color:#0071e352;transform:translateY(-1px);box-shadow:0 10px 18px #0f172a14}.redeem-student-card.selected[data-v-6dbf633a]{border-color:var(--brand);box-shadow:0 0 0 3px #0071e31f}.redeem-student-card.insufficient[data-v-6dbf633a]{background:#f8fafcbd}.student-avatar[data-v-6dbf633a]{width:38px;height:38px;color:var(--brand);background:#0071e31a;border-radius:12px;place-items:center;font-size:16px;font-weight:950;display:grid}.redeem-student-card strong[data-v-6dbf633a]{font-size:15px;font-weight:950}.redeem-student-card em[data-v-6dbf633a]{color:var(--text-muted);font-size:12px;font-style:normal;font-weight:750}.redeem-student-card b[data-v-6dbf633a]{color:var(--brand);font-size:18px;font-weight:950}.redeem-student-card small[data-v-6dbf633a]{min-width:62px;color:var(--accent);background:#14b8a61a;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:850}.redeem-student-card.insufficient small[data-v-6dbf633a]{color:var(--danger);background:#ef444414}.empty-student-picker[data-v-6dbf633a]{text-align:center;color:var(--text-muted);margin:28px 0;font-size:14px;font-weight:850}@media (width<=760px){.shop-head[data-v-6dbf633a],.shop-filter-bar[data-v-6dbf633a],.records-head[data-v-6dbf633a],.records-controls[data-v-6dbf633a]{flex-direction:column;align-items:stretch}.shop-search[data-v-6dbf633a]{min-width:0}.shop-grid[data-v-6dbf633a]{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.record-row[data-v-6dbf633a],.editor-row[data-v-6dbf633a],.redeem-picker-toolbar[data-v-6dbf633a],.redeem-item-summary[data-v-6dbf633a]{grid-template-columns:1fr}}.settings-page[data-v-67097e61]{z-index:1;width:min(var(--classroom-content-width), var(--classroom-content-safe-width));margin:18px auto 40px;position:relative}.glass[data-v-67097e61]{background:var(--panel-bg);border:1px solid var(--border-color);-webkit-backdrop-filter:var(--glass-blur) saturate(180%);box-shadow:var(--shadow-md)}.module-header[data-v-67097e61]{border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px 24px;display:flex}.eyebrow[data-v-67097e61]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.header-title[data-v-67097e61]{color:var(--text-main);letter-spacing:-.5px;margin:4px 0 0;font-size:22px;font-weight:800}.save-all-btn[data-v-67097e61]{background:var(--brand-gradient);color:#fff;cursor:pointer;border:none;border-radius:99px;height:38px;padding:0 20px;font-size:13.5px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #0071e333}.save-all-btn[data-v-67097e61]:hover{filter:brightness(1.05);transform:translateY(-1px)}.save-all-btn[data-v-67097e61]:disabled{cursor:wait;opacity:.7;transform:none}.save-all-btn.small[data-v-67097e61]{height:34px;padding:0 16px;font-size:13px}.password-change-hint[data-v-67097e61]{color:#657783;margin:4px 0 12px;font-size:13px;font-weight:650;line-height:1.5}.password-change-grid[data-v-67097e61]{margin-bottom:12px}.password-change-actions[data-v-67097e61]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.change-pwd-error[data-v-67097e61]{color:#d64b4b;margin:0;font-size:12px;font-weight:750}.change-pwd-success[data-v-67097e61]{color:#2f7a3c;margin:0;font-size:12px;font-weight:750}.settings-sections[data-v-67097e61]{flex-direction:column;gap:20px;display:flex}.setting-card[data-v-67097e61]{border-radius:var(--radius-lg);padding:24px 28px}.card-title[data-v-67097e61]{color:var(--text-main);border-bottom:1px solid var(--border-color);margin:0 0 16px;padding-bottom:12px;font-size:16px;font-weight:700}.section-desc[data-v-67097e61]{color:var(--text-muted);margin:-10px 0 18px;font-size:12.5px}.form-grid[data-v-67097e61]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid.single[data-v-67097e61]{grid-template-columns:minmax(240px,420px)}.form-group[data-v-67097e61]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-67097e61]{color:var(--text-muted);font-size:11.5px;font-weight:750}.form-group input[data-v-67097e61]{border:1px solid var(--border-color);background:#ffffff80;border-radius:8px;outline:none;height:36px;padding:0 12px;font-size:13px;transition:all .2s}.form-group input[data-v-67097e61]:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #0071e31a}.identity-manager[data-v-67097e61]{flex-direction:column;gap:16px;display:flex}.setting-subblock[data-v-67097e61]{gap:10px;display:grid}.setting-subtitle[data-v-67097e61]{color:var(--text-muted);font-size:12px;font-weight:800}.identity-chips[data-v-67097e61]{flex-wrap:wrap;gap:8px;display:flex}.identity-chip[data-v-67097e61]{border:1px solid var(--border-color);height:28px;color:var(--text-main);background:#fff;border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.identity-chip.selectable[data-v-67097e61]{cursor:pointer;height:34px}.identity-chip.selectable.active[data-v-67097e61]{color:#315a6b;background:#eaf3f1;border-color:#315a6b59}.identity-chip.selectable span[data-v-67097e61]{background:#315a6b1a;border-radius:999px;padding:1px 6px;font-size:10px}.delete-chip[data-v-67097e61]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:800;line-height:1}.delete-chip[data-v-67097e61]:hover{color:var(--danger)}.add-identity-row[data-v-67097e61]{gap:10px;display:flex}.add-identity-row input[data-v-67097e61]{border:1px solid var(--border-color);background:#ffffff80;border-radius:8px;outline:none;flex:1;height:36px;padding:0 12px;font-size:13px}.add-identity-row input[data-v-67097e61]:focus{border-color:var(--brand);background:#fff}.btn-add[data-v-67097e61]{border:none;border:1px solid var(--border-color);height:36px;color:var(--text-main);cursor:pointer;background:#fff;border-radius:8px;padding:0 16px;font-size:12.5px;font-weight:700}.btn-add[data-v-67097e61]:hover{background:#00000005}.category-manager[data-v-67097e61]{flex-direction:column;gap:16px;display:flex}.category-tabs[data-v-67097e61]{border-bottom:1.5px solid var(--border-color);flex-wrap:wrap;gap:6px;padding-bottom:8px;display:flex}.cat-tab-btn[data-v-67097e61]{height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.cat-tab-btn[data-v-67097e61]:hover{background:#00000005}.cat-tab-btn.active[data-v-67097e61]{border-color:var(--brand);color:var(--brand);background:#0071e30a}.cat-tab-btn.add-btn[data-v-67097e61]{color:var(--accent)}.cat-tab-btn.add-btn[data-v-67097e61]:hover{background:#34c7590a}.cat-delete[data-v-67097e61]{color:var(--text-muted);font-size:12px}.cat-delete[data-v-67097e61]:hover{color:var(--danger)}.category-editor[data-v-67097e61]{border:1px solid var(--border-color);background:#fff;border-radius:12px;flex-direction:column;gap:16px;padding:16px;display:flex}.category-rename-row[data-v-67097e61]{flex-direction:column;gap:6px;display:flex}.category-rename-row label[data-v-67097e61],.reasons-list-section label[data-v-67097e61]{color:var(--text-muted);font-size:11.5px;font-weight:750}.category-rename-row input[data-v-67097e61]{border:1px solid var(--border-color);border-radius:6px;outline:none;width:200px;height:32px;padding:0 10px;font-size:12.5px}.category-rename-row input[data-v-67097e61]:focus{border-color:var(--brand)}.reasons-grid[data-v-67097e61]{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.reason-pill-item[data-v-67097e61]{border:1px solid var(--border-color);height:26px;color:var(--text-main);background:#00000005;border-radius:6px;align-items:center;gap:6px;padding:0 8px 0 10px;font-size:11.5px;font-weight:700;display:inline-flex}.delete-reason-btn[data-v-67097e61]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.delete-reason-btn[data-v-67097e61]:hover{color:var(--danger)}.add-reason-row[data-v-67097e61]{gap:8px;display:flex}.add-reason-row input[data-v-67097e61]{border:1px solid var(--border-color);border-radius:6px;outline:none;flex:1;height:32px;padding:0 10px;font-size:12px}.add-reason-row input[data-v-67097e61]:focus{border-color:var(--brand)}.add-reason-row button[data-v-67097e61]{background:var(--brand-gradient);color:#fff;cursor:pointer;border:none;border-radius:6px;height:32px;padding:0 12px;font-size:12px;font-weight:700}@media (width<=760px){.form-grid[data-v-67097e61]{grid-template-columns:1fr}}.publish-module-container[data-v-ac301c30]{width:min(var(--classroom-content-width), var(--classroom-content-safe-width));flex-direction:column;gap:20px;max-width:none;margin:0 auto;padding:0 0 20px;display:flex}.module-header[data-v-ac301c30]{border:1px solid #ffffffa6;border-radius:18px;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;box-shadow:inset 0 1px #ffffffa6}.header-left[data-v-ac301c30]{align-items:center;gap:12px;display:flex}.pulse-ring-active[data-v-ac301c30]{background-color:#0071e3;border-radius:50%;width:10px;height:10px;display:inline-block;position:relative}.pulse-ring-active[data-v-ac301c30]:after{content:"";background-color:#0071e3;border-radius:50%;width:100%;height:100%;animation:1.8s infinite pulse-ac301c30;position:absolute;top:0;left:0}@keyframes pulse-ac301c30{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(3.5)}}.module-title[data-v-ac301c30]{color:#1d1d1f;margin:0;font-size:18px;font-weight:800}.module-subtitle[data-v-ac301c30]{color:#86868b;margin:2px 0 0;font-size:12px}.device-status-badge[data-v-ac301c30]{color:#0071e3;background:#0071e31a;border:1px solid #0071e326;border-radius:99px;padding:6px 12px;font-size:12px;font-weight:700}.control-panel-grid[data-v-ac301c30]{grid-template-columns:1.2fr 1fr;align-items:start;gap:20px;display:grid}.glass-card[data-v-ac301c30]{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff73;border:1px solid #fff9;border-radius:20px;padding:24px;box-shadow:0 10px 30px #3c5a6e14,inset 0 1px #ffffffb3}.section-title[data-v-ac301c30]{color:#17212b;margin:0 0 16px;font-size:15px;font-weight:800}.section-subtitle[data-v-ac301c30]{color:#718091;margin:-10px 0 16px;font-size:12px}.send-success-panel[data-v-ac301c30]{color:#24614f;background:#e8f7f1db;border:1px solid #6aa99d38;border-radius:16px;align-items:flex-start;gap:11px;margin:-2px 0 18px;padding:13px 14px;display:flex}.success-dot[data-v-ac301c30]{background:#42b883;border-radius:50%;width:10px;height:10px;margin-top:5px;box-shadow:0 0 0 5px #42b8831f}.send-success-panel strong[data-v-ac301c30]{font-size:13px;font-weight:850;display:block}.send-success-panel p[data-v-ac301c30]{color:#4d7469;margin:3px 0 0;font-size:12px;line-height:1.45}.delivery-panel[data-v-ac301c30]{background:#f8fcffc2;border:1px solid #315a6b1f;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;margin:-2px 0 16px;padding:14px 16px;display:flex}.delivery-panel strong[data-v-ac301c30]{color:#24495a;font-size:13px;font-weight:850;display:block}.delivery-panel p[data-v-ac301c30]{color:#657986;margin:4px 0 0;font-size:12px;line-height:1.45}.ghost-action-btn[data-v-ac301c30]{color:#315a6b;white-space:nowrap;cursor:pointer;background:#ffffffc7;border:1px solid #315a6b24;border-radius:999px;height:34px;padding:0 13px;font-size:12px;font-weight:800}.ghost-action-btn[data-v-ac301c30]:hover{background:#fff;border-color:#315a6b3d}.online-device-panel[data-v-ac301c30]{background:#ffffff94;border:1px solid #315a6b1a;border-radius:16px;margin:-4px 0 18px;padding:12px}.device-empty[data-v-ac301c30]{color:#718091;padding:12px;font-size:13px}.device-list[data-v-ac301c30]{gap:8px;display:grid}.device-row[data-v-ac301c30]{background:#f8fcffb3;border:1px solid #315a6b1a;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:11px 12px;display:flex}.device-row.current[data-v-ac301c30]{background:#fff;border-color:#315a6b38}.device-copy[data-v-ac301c30]{gap:3px;min-width:0;display:grid}.device-kicker[data-v-ac301c30]{color:#6aa99d;font-size:11px;font-weight:850}.device-copy strong[data-v-ac301c30]{color:#17212b;font-size:14px;font-weight:850}.device-copy span[data-v-ac301c30]:last-child{color:#718091;font-size:12px}.device-picker-mask[data-v-ac301c30]{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#17212b2e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.device-picker[data-v-ac301c30]{background:#fff;border:1px solid #315a6b21;border-radius:18px;grid-template-rows:auto 1fr auto;width:min(100%,460px);max-height:min(620px,100dvh - 36px);display:grid;overflow:hidden;box-shadow:0 18px 48px #1f43542e}.device-picker-header[data-v-ac301c30]{border-bottom:1px solid #315a6b14;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 18px 14px;display:flex}.device-picker-header h3[data-v-ac301c30]{color:#17212b;margin:0;font-size:17px;font-weight:850}.device-picker-header p[data-v-ac301c30]{color:#718091;margin:5px 0 0;font-size:12px}.picker-close-btn[data-v-ac301c30]{color:#718091;cursor:pointer;background:#315a6b12;border:0;border-radius:999px;width:30px;height:30px;font-size:20px;line-height:1}.picker-device-list[data-v-ac301c30]{gap:8px;padding:12px;display:grid;overflow:auto}.picker-device-row[data-v-ac301c30]{cursor:pointer;background:#f8fcffb8;border:1px solid #315a6b1a;border-radius:14px;align-items:center;gap:11px;min-height:58px;padding:11px 12px;display:flex}.picker-device-row.selected[data-v-ac301c30]{background:#fff;border-color:#315a6b42}.picker-device-row input[data-v-ac301c30]{accent-color:#315a6b;flex:none;width:16px;height:16px;margin:0}.picker-device-copy[data-v-ac301c30]{gap:3px;min-width:0;display:grid}.picker-device-copy strong[data-v-ac301c30]{color:#17212b;font-size:14px;font-weight:850}.picker-device-copy em[data-v-ac301c30]{color:#718091;font-size:12px;font-style:normal}.device-picker-actions[data-v-ac301c30]{border-top:1px solid #315a6b14;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.device-picker-actions span[data-v-ac301c30]{color:#506271;font-size:12px;font-weight:750}.device-picker-actions div[data-v-ac301c30]{gap:8px;display:flex}.picker-secondary-btn[data-v-ac301c30],.picker-primary-btn[data-v-ac301c30]{cursor:pointer;border-radius:999px;height:36px;padding:0 14px;font-size:13px;font-weight:850}.picker-secondary-btn[data-v-ac301c30]{color:#506271;background:#fff;border:1px solid #315a6b21}.picker-primary-btn[data-v-ac301c30]{color:#fff;background:#315a6b;border:0}.picker-primary-btn[data-v-ac301c30]:disabled{cursor:not-allowed;opacity:.55}.send-status-enter-active[data-v-ac301c30],.send-status-leave-active[data-v-ac301c30]{transition:opacity .18s,transform .18s}.send-status-enter-from[data-v-ac301c30],.send-status-leave-to[data-v-ac301c30]{opacity:0;transform:translateY(-6px)}.broadcast-form[data-v-ac301c30]{flex-direction:column;gap:18px;display:flex}.form-group[data-v-ac301c30]{text-align:left;flex-direction:column;gap:8px;display:flex}.form-label[data-v-ac301c30]{color:#506271;font-size:12px;font-weight:760}.form-label .required[data-v-ac301c30]{color:#ff3b30;margin-left:2px}.text-field[data-v-ac301c30]{box-sizing:border-box;color:#1d1d1f;background:#ffffffb3;border:1px solid #00000014;border-radius:12px;outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,background-color .2s}.text-field[data-v-ac301c30]:focus{background:#fff;border-color:#0071e3;box-shadow:0 0 0 4px #0071e31f}.form-textarea[data-v-ac301c30]{resize:vertical;line-height:1.5}.priority-selector[data-v-ac301c30]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.priority-btn[data-v-ac301c30]{color:#506271;cursor:pointer;background:#ffffff80;border:1px solid #0000000f;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:46px;font-size:13px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.indicator-dot[data-v-ac301c30]{border-radius:50%;width:7px;height:7px;display:inline-block}.priority-btn.normal .indicator-dot[data-v-ac301c30]{background-color:#34c759}.priority-btn.urgent .indicator-dot[data-v-ac301c30]{background-color:#ff3b30}.priority-btn.normal.active[data-v-ac301c30]{color:#0071e3;background:#0071e30f;border-color:#0071e3;box-shadow:inset 0 1px #fff6}.priority-btn.urgent.active[data-v-ac301c30]{color:#ff3b30;background:#ff3b300f;border-color:#ff3b30;box-shadow:inset 0 1px #fff6,0 0 15px #ff3b3014}.blinking[data-v-ac301c30]{animation:1s infinite alternate blink-ac301c30}@keyframes blink-ac301c30{0%{opacity:.2;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}.button-wrapper[data-v-ac301c30]{margin-top:6px}.submit-btn[data-v-ac301c30]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#42a5f5,#0071e3);border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;font-size:15px;font-weight:800;transition:transform .2s,box-shadow .2s,background-color .2s;display:flex;box-shadow:0 6px 20px #0071e333}.submit-btn[data-v-ac301c30]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0071e340}.submit-btn[data-v-ac301c30]:active{transform:translateY(0)}.submit-btn.btn-urgent[data-v-ac301c30]{background:linear-gradient(135deg,#ff5e57,#ff3b30);box-shadow:0 6px 20px #ff3b3033}.submit-btn.btn-urgent[data-v-ac301c30]:hover{box-shadow:0 8px 24px #ff3b304d}.presets-list[data-v-ac301c30]{flex-direction:column;gap:12px;max-height:460px;padding-right:4px;display:flex;overflow-y:auto}.presets-list[data-v-ac301c30]::-webkit-scrollbar{width:6px}.presets-list[data-v-ac301c30]::-webkit-scrollbar-thumb{background:#00000014;border-radius:10px}.preset-item-card[data-v-ac301c30]{text-align:left;cursor:pointer;background:#ffffffa6;border:1px solid #0000000a;border-radius:14px;padding:14px 16px;font-family:inherit;transition:all .2s cubic-bezier(.16,1,.3,1)}.preset-item-card[data-v-ac301c30]:hover{background:#fff;border-color:#0071e3;transform:translate(4px);box-shadow:0 8px 20px #3c5a6e0d}.preset-item-card.border-urgent[data-v-ac301c30]:hover{border-color:#ff3b30}.preset-top[data-v-ac301c30]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.preset-tag[data-v-ac301c30]{color:#0071e3;background:#0071e30f;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800}.preset-tag.tag-urgent[data-v-ac301c30]{color:#ff3b30;background:#ff3b300f}.urgent-blink-text[data-v-ac301c30]{color:#ff3b30;font-size:10px;font-weight:800;animation:1s infinite alternate blink-ac301c30}.preset-title[data-v-ac301c30]{color:#17212b;margin:0 0 6px;font-size:14px;font-weight:800}.preset-preview[data-v-ac301c30]{color:#718091;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=768px){.publish-module-container[data-v-ac301c30]{padding:10px 10px 20px}.module-header[data-v-ac301c30]{border-radius:12px;padding:14px 16px}.module-title[data-v-ac301c30]{font-size:16px}.control-panel-grid[data-v-ac301c30]{grid-template-columns:1fr;gap:16px}.glass-card[data-v-ac301c30]{border-radius:16px;padding:18px}.mobile-hide[data-v-ac301c30]{display:none}.priority-selector[data-v-ac301c30]{grid-template-columns:1fr;gap:8px}.delivery-panel[data-v-ac301c30],.device-row[data-v-ac301c30]{flex-direction:column;align-items:stretch}.ghost-action-btn[data-v-ac301c30]{width:100%}.device-picker-mask{padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom));place-items:end stretch}.device-picker{border-radius:20px 20px 16px 16px;width:100%;max-height:min(76dvh,560px)}.device-picker-header{padding:16px 16px 12px}.picker-device-list{max-height:44dvh}.device-picker-actions{padding-bottom:max(14px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.device-picker-actions div{width:100%}.picker-secondary-btn,.picker-primary-btn{flex:1;min-width:0}.preset-item-card[data-v-ac301c30]:hover{transform:none}}:root{--classroom-content-width:clamp(1180px, 80vw, 2040px);--classroom-content-safe-width:calc(100vw - 64px)}.classroom-shell[data-v-c10af240]{box-sizing:border-box;color:#17212b;background:linear-gradient(#ffffff94 0%,#fff0 260px),radial-gradient(circle at 12% 8%,#315a6b13,#0000 32%),radial-gradient(circle at 88% 18%,#6aa99d12,#0000 30%),linear-gradient(135deg,#f6faf9 0%,#eef5f5 48%,#e6eff1 100%);min-height:100vh;padding:18px 42px 172px;scroll-padding-bottom:172px;position:relative;overflow-x:hidden}.classroom-shell[data-v-c10af240]:before{content:"";pointer-events:none;opacity:0;position:fixed;inset:0}.tool-fullscreen-shell[data-v-c10af240]{padding:0;scroll-padding-bottom:0}.login-shell[data-v-c10af240]{background:#edf4f4;min-height:100dvh;padding:0;scroll-padding-bottom:0}.class-portal-shell[data-v-c10af240]{min-height:100dvh;padding:0!important;scroll-padding-bottom:0!important}.class-portal-page[data-v-c10af240]{box-sizing:border-box;background:#f8fafb;flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.portal-ambient-glow-1[data-v-c10af240]{pointer-events:none;z-index:1;background:radial-gradient(circle,#315a6b0a 0%,#315a6b00 70%);border-radius:50%;width:500px;height:500px;animation:14s ease-in-out infinite alternate portalPulse-c10af240;position:absolute;top:-10%;left:-10%}.portal-ambient-glow-2[data-v-c10af240]{pointer-events:none;z-index:1;background:radial-gradient(circle,#2e625908 0%,#2e625900 70%);border-radius:50%;width:600px;height:600px;animation:18s ease-in-out infinite alternate-reverse portalPulse-c10af240;position:absolute;bottom:-10%;right:-10%}@keyframes portalPulse-c10af240{0%,to{opacity:.8;transform:scale(1)translate(0)}50%{opacity:1;transform:scale(1.15)translate(2%,2%)}}.class-portal-topbar[data-v-c10af240]{z-index:10;box-sizing:border-box;z-index:10;background:#fff;border-bottom:1px solid #315a6b0d;flex-shrink:0;justify-content:center;width:100%;height:64px;display:flex;position:relative}.topbar-inner[data-v-c10af240]{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;max-width:1200px;padding:0 24px;display:flex}.class-portal-brand[data-v-c10af240]{align-items:center;gap:12px;display:flex}.class-portal-logo[data-v-c10af240]{border-radius:9px;width:36px;height:36px;box-shadow:0 4px 10px #315a6b0f}.class-portal-title[data-v-c10af240]{color:#1a252c;letter-spacing:-.01em;font-size:16px;font-weight:600}.class-portal-logout[data-v-c10af240]{color:#596b75;cursor:pointer;background:0 0;border:1px solid #315a6b26;border-radius:6px;justify-content:center;align-items:center;min-height:34px;padding:0 14px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.class-portal-logout[data-v-c10af240]:hover{color:#1a252c;background-color:#315a6b08;border-color:#315a6b4d}.class-portal-logout[data-v-c10af240]:active{transform:scale(.98)}.class-portal-workspace[data-v-c10af240]{box-sizing:border-box;z-index:2;flex-direction:column;flex-grow:1;width:100%;max-width:1200px;margin:0 auto;padding:40px 24px 80px;display:flex;position:relative}.workspace-header[data-v-c10af240]{flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.workspace-title-area[data-v-c10af240]{flex-direction:column;gap:6px;display:flex}.workspace-greeting-row[data-v-c10af240]{align-items:center;display:flex}.workspace-greeting-meta[data-v-c10af240]{color:#8c9fa9;letter-spacing:.02em;font-size:12px;font-weight:500}.workspace-title-row[data-v-c10af240]{align-items:center;gap:12px;display:flex}.workspace-title-area h1[data-v-c10af240]{color:#1a252c;letter-spacing:-.02em;margin:0;font-size:26px;font-weight:600}.workspace-badge[data-v-c10af240]{color:#596b75;background-color:#f0f4f5;border:1px solid #315a6b0d;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500}.workspace-toolbar[data-v-c10af240]{align-items:center;gap:12px;display:flex}.class-portal-secondary[data-v-c10af240],.class-portal-primary[data-v-c10af240]{cursor:pointer;box-sizing:border-box;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:0 16px;font-size:14px;font-weight:500;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.class-portal-secondary[data-v-c10af240]{color:#315a6b;background:#fff;border:1px solid #315a6b29}.class-portal-secondary[data-v-c10af240]:hover{background-color:#315a6b05;border-color:#315a6b52}.class-portal-secondary[data-v-c10af240]:active{transform:scale(.98)}.class-portal-primary[data-v-c10af240]{color:#fff;background:#315a6b;border:1px solid #315a6b;box-shadow:0 4px 12px #315a6b26}.class-portal-primary[data-v-c10af240]:hover{background:#274856;border-color:#274856;box-shadow:0 6px 16px #315a6b38}.class-portal-primary[data-v-c10af240]:active{transform:scale(.98)}.class-square-grid[data-v-c10af240]{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;display:grid}.class-square-card[data-v-c10af240]{aspect-ratio:1;text-align:center;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #315a6b12;border-radius:16px;flex-direction:column;justify-content:space-between;align-items:center;padding:28px 24px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 4px 12px #315a6b03,0 1px 2px #00000003}.class-square-card[data-v-c10af240]:hover{border-color:#315a6b2e;transform:translateY(-6px);box-shadow:0 20px 40px #315a6b0d,0 4px 12px #315a6b05}.class-square-card[data-v-c10af240]:active{transform:translateY(-2px)}.class-square-card:hover .class-btn-enter-mini[data-v-c10af240]{color:#fff;background-color:#315a6b;box-shadow:0 4px 10px #315a6b26}.class-square-card:hover .class-square-avatar[data-v-c10af240]{transform:scale(1.05)}.class-btn-enter-mini svg[data-v-c10af240]{transition:transform .22s}.class-square-card:hover .class-btn-enter-mini svg[data-v-c10af240]{transform:translate(3px)}.suggested-tag-badge[data-v-c10af240]{display:none}.class-square-avatar[data-v-c10af240]{border:1px solid #0000;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;font-weight:700;transition:transform .22s cubic-bezier(.16,1,.3,1);display:flex}.class-square-avatar.color-theme-0[data-v-c10af240]{color:#2e6259;background:#eef7f6;border-color:#2e625914}.class-square-avatar.color-theme-1[data-v-c10af240]{color:#2d5b88;background:#eff6fc;border-color:#2d5b8814}.class-square-avatar.color-theme-2[data-v-c10af240]{color:#7c5c24;background:#fff8eb;border-color:#7c5c2414}.class-square-avatar.color-theme-3[data-v-c10af240]{color:#683b8b;background:#faf1ff;border-color:#683b8b14}.class-square-details[data-v-c10af240]{flex-direction:column;flex-grow:1;align-items:center;gap:4px;width:100%;min-width:0;margin-top:14px;display:flex}.class-square-name[data-v-c10af240]{color:#1a252c;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:16px;font-weight:600;line-height:1.3;overflow:hidden}.class-square-count[data-v-c10af240]{color:#7a8c96;margin-top:4px;font-size:13px}.class-square-action[data-v-c10af240]{flex-shrink:0;margin-top:16px}.class-btn-enter-mini[data-v-c10af240]{color:#315a6b;background-color:#f0f5f7;border-radius:6px;align-items:center;gap:4px;min-height:30px;padding:0 14px;font-size:12px;font-weight:500;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.tool-fullscreen-shell .module-switch-surface[data-v-c10af240]{min-height:100vh}.module-switch-surface[data-v-c10af240]{will-change:transform, opacity;width:100%}.teacher-login-page[data-v-c10af240]{--login-ink:#17242d;--login-muted:#657783;--login-line:#273d4824;--login-primary:#28566b;--login-primary-strong:#1f4354;--login-primary-soft:#e8f1f3;--login-surface:#ffffffeb;box-sizing:border-box;background:linear-gradient(#ffffff94 0%,#fff0 34%),linear-gradient(118deg,#4b7f891f 0%,#4b7f890a 32%,#fff0 68%),linear-gradient(242deg,#97b8b126 0%,#97b8b10a 36%,#fff0 72%),linear-gradient(135deg,#f8fbfa 0%,#edf4f4 48%,#e2edf0 100%);place-items:center;min-height:100dvh;padding:clamp(34px,6vh,72px) 24px;display:grid;position:relative;overflow:hidden}.teacher-login-page[data-v-c10af240]:before,.teacher-login-page[data-v-c10af240]:after{content:"";z-index:0;pointer-events:none;position:absolute}.teacher-login-page[data-v-c10af240]:before{mix-blend-mode:soft-light;background:linear-gradient(170deg,#ffffff94 0 18%,#fff0 18% 100%),linear-gradient(18deg,#20465609 0 42%,#fff0 42% 100%);inset:0}.teacher-login-page[data-v-c10af240]:after{background:linear-gradient(#edf4f400,#e2edf0c7);height:42%;inset:auto 0 0}.teacher-login-card[data-v-c10af240]{z-index:1;box-sizing:border-box;justify-items:center;gap:18px;width:min(420px,100%);margin:0 auto;display:grid;position:relative}.login-brand[data-v-c10af240]{color:var(--login-primary);place-items:center;gap:14px;margin-bottom:2px;display:grid}.login-brand strong[data-v-c10af240]{letter-spacing:0;color:var(--login-ink);font-size:25px;font-weight:880}.teacher-login-panel[data-v-c10af240]{box-sizing:border-box;background:var(--login-surface);border:1px solid #ffffffbd;border-radius:18px;gap:0;width:100%;padding:34px 32px 32px;display:grid;box-shadow:inset 0 1px #ffffffe6,0 24px 70px #1f435421,0 8px 20px #1f43540f}.panel-heading[data-v-c10af240]{text-align:center;justify-items:center;gap:10px;display:grid}.login-mascot[data-v-c10af240]{background:#f8fbfb;border:1px solid #ffffffe6;border-radius:24px;width:104px;height:104px;transition:transform .3s;display:block;box-shadow:0 16px 40px #1f435426,0 4px 10px #1f435414}.login-mascot[data-v-c10af240]:hover{transform:scale(1.05)rotate(3deg)}.panel-heading strong[data-v-c10af240]{color:#17212b;font-size:24px;font-weight:900}.panel-heading span[data-v-c10af240]{color:#6b7a88;font-size:13px;line-height:1.5}.auth-copy-enter-active[data-v-c10af240],.auth-copy-leave-active[data-v-c10af240],.form-field-enter-active[data-v-c10af240],.form-field-leave-active[data-v-c10af240]{transition:opacity .18s,transform .18s}.auth-copy-enter-from[data-v-c10af240],.auth-copy-leave-to[data-v-c10af240],.form-field-enter-from[data-v-c10af240],.form-field-leave-to[data-v-c10af240]{opacity:0;transform:translateY(8px)}.embedded-auth-form[data-v-c10af240]{gap:16px}.login-submit-btn[data-v-c10af240]{color:#fff;background:linear-gradient(135deg, var(--login-primary) 0%, var(--login-primary-strong) 100%);cursor:pointer;border:0;border-radius:12px;width:100%;height:48px;font-size:15px;font-weight:850;transition:all .2s;box-shadow:0 12px 26px #1f435438}.login-submit-btn[data-v-c10af240]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px #1f435447}.login-submit-btn[data-v-c10af240]:active:not(:disabled){transform:translateY(0)}.login-submit-btn[data-v-c10af240]:disabled{cursor:not-allowed;opacity:.58}.topbar[data-v-c10af240]{z-index:2;-webkit-backdrop-filter:blur(14px)saturate(138%);backdrop-filter:blur(14px)saturate(138%);background:#f7fbfbad;border:1px solid #315a6b14;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;min-height:58px;margin-bottom:6px;padding:8px 10px;display:flex;position:relative}.brand[data-v-c10af240],.top-actions[data-v-c10af240]{align-items:center;gap:12px;display:flex}.top-actions[data-v-c10af240]{justify-content:flex-end}.product-name[data-v-c10af240]{letter-spacing:0;white-space:nowrap;font-size:18px;font-weight:800}button[data-v-c10af240],input[data-v-c10af240]{font:inherit}button[data-v-c10af240]{cursor:pointer}.home-button[data-v-c10af240],.class-select[data-v-c10af240],.context-chip[data-v-c10af240],.auth-chip[data-v-c10af240],.search-box[data-v-c10af240]{box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;border:1px solid #315a6b1a}.home-button[data-v-c10af240]{color:#315a6b;background:#ffffffdb;border-radius:14px;place-items:center;width:38px;height:38px;display:grid}.class-select[data-v-c10af240],.context-chip[data-v-c10af240],.auth-chip[data-v-c10af240]{color:#315a6b;white-space:nowrap;border-radius:999px;align-items:center;gap:7px;height:34px;padding:0 13px;font-size:12px;font-weight:760;display:inline-flex}.auth-chip[data-v-c10af240]{color:#315a6b}.teacher-session[data-v-c10af240]{align-items:center;gap:8px;display:inline-flex}.current-teacher-control[data-v-c10af240]{align-items:center;display:inline-flex}.teacher-text-select[data-v-c10af240]{color:#315a6b;background:0 0;border:0;border-bottom:1px solid #315a6b38;align-items:center;gap:6px;min-height:34px;padding:0 2px;font-size:13px;font-weight:760;display:inline-flex}.teacher-text-select span[data-v-c10af240]{color:#6b7a88}.teacher-text-select strong[data-v-c10af240]{color:#315a6b;font-size:13px;font-weight:850}.logout-text-button[data-v-c10af240]{color:#7a4b4b;background:0 0;border:0;min-height:34px;padding:0;font-size:13px;font-weight:760}.logout-text-button[data-v-c10af240]:hover,.teacher-text-select[data-v-c10af240]:hover{color:#17212b}.settings-icon-btn[data-v-c10af240]{color:#315a6b;background:0 0;border:0;border-bottom:1px solid #315a6b38;align-items:center;min-height:34px;padding:4px 6px;display:inline-flex}.settings-icon-btn[data-v-c10af240]:hover{color:#17212b}.logout-chip[data-v-c10af240]{color:#7a4b4b}.onboarding-page[data-v-c10af240]{place-items:center;min-height:100dvh;padding:32px 18px;display:grid}.onboarding-panel[data-v-c10af240]{background:#fff;border:1px solid #315a6b14;border-radius:22px;grid-template-rows:auto 1fr;gap:28px;width:min(520px,100%);min-height:520px;padding:34px;display:grid;box-shadow:0 24px 70px #3f5b701a}.class-init-panel[data-v-c10af240]{width:min(680px,100%);min-height:560px}.init-progress[data-v-c10af240]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.init-progress-dot[data-v-c10af240]{color:#7a8c96;background:#f7fafb;border:1px solid #315a6b1a;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 10px;font-size:13px;font-weight:820;display:inline-flex}.init-progress-dot strong[data-v-c10af240]{color:#7a8c96;background:#e8eff1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:inline-flex}.init-progress-dot.active[data-v-c10af240]{color:#315a6b;background:#eef7f6;border-color:#315a6b38}.init-progress-dot.active strong[data-v-c10af240],.init-progress-dot.done strong[data-v-c10af240]{color:#fff;background:#315a6b}.init-progress-dot.done[data-v-c10af240]{color:#315a6b}.onboarding-step[data-v-c10af240]{align-content:center;gap:18px;display:grid}.onboarding-kicker[data-v-c10af240]{color:#6aa99d;margin:0;font-size:13px;font-weight:860}.onboarding-step h2[data-v-c10af240]{color:#17212b;margin:0;font-size:30px;font-weight:900}.onboarding-copy[data-v-c10af240]{color:#6b7a88;margin:0;font-size:15px;line-height:1.7}@media (width<=720px){.onboarding-panel[data-v-c10af240]{min-height:auto;padding:22px}}.setup-class-form[data-v-c10af240]{gap:14px;display:grid}.setup-class-form label[data-v-c10af240]{color:#506271;gap:7px;font-size:13px;font-weight:760;display:grid}.setup-class-form input[data-v-c10af240],.setup-class-form textarea[data-v-c10af240]{color:#17212b;background:#ffffffb8;border:1px solid #315a6b1f;border-radius:12px;outline:none;height:46px;padding:0 12px}.setup-class-form textarea[data-v-c10af240]{resize:vertical;min-height:156px;padding:12px;font-family:inherit;line-height:1.55}.setup-class-form input[data-v-c10af240]:focus,.setup-class-form textarea[data-v-c10af240]:focus{border-color:#315a6b57;box-shadow:0 0 0 3px #6aa99d24}.setup-rules-list[data-v-c10af240]{gap:12px;display:grid}.setup-rule-item[data-v-c10af240]{color:#506271;gap:7px;font-size:13px;font-weight:760;display:grid}.setup-rule-item input[data-v-c10af240]{color:#17212b;background:#ffffffb8;border:1px solid #315a6b1f;border-radius:12px;outline:none;min-height:44px;padding:0 12px}.setup-rule-item input[data-v-c10af240]:focus{border-color:#315a6b57;box-shadow:0 0 0 3px #6aa99d24}.onboarding-actions[data-v-c10af240]{grid-template-columns:1fr 1.4fr;gap:12px;margin-top:4px;display:grid}.onboarding-actions.single[data-v-c10af240]{grid-template-columns:1fr}.setup-submit-btn[data-v-c10af240]{color:#fff;background:#315a6b;border:0;border-radius:14px;min-height:48px;font-weight:850;box-shadow:0 14px 30px #315a6b2e}.setup-secondary-btn[data-v-c10af240]{color:#315a6b;background:#f7fafb;border:1px solid #315a6b1f;border-radius:14px;min-height:48px;font-weight:850}.setup-submit-btn[data-v-c10af240]:disabled{cursor:not-allowed;opacity:.58}.setup-secondary-btn[data-v-c10af240]:disabled{cursor:not-allowed;opacity:.5}.done-step[data-v-c10af240]{text-align:center}.start-manage-btn[data-v-c10af240]{width:100%;margin-top:8px}.setup-fade-enter-active[data-v-c10af240],.setup-fade-leave-active[data-v-c10af240]{transition:opacity .22s,transform .22s}.setup-fade-enter-from[data-v-c10af240]{opacity:0;transform:translateY(12px)}.setup-fade-leave-to[data-v-c10af240]{opacity:0;transform:translateY(-8px)}@media (prefers-reduced-motion:reduce){.setup-fade-enter-active[data-v-c10af240],.setup-fade-leave-active[data-v-c10af240]{transition:none}}.status-dot[data-v-c10af240]{background:#6aa99d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #6aa99d1f}.search-box[data-v-c10af240]{color:#718091;border-radius:999px;align-items:center;gap:8px;width:240px;height:36px;padding:0 14px;display:flex}.search-box input[data-v-c10af240]{color:#17212b;background:0 0;border:0;outline:0;width:100%;font-size:13px}.avatar[data-v-c10af240]{color:#fff;background:linear-gradient(135deg,#87b4c4,#5a8194);border-radius:50%;place-items:center;width:38px;height:38px;font-size:14px;font-weight:800;display:grid;box-shadow:0 14px 36px #44657c1a}.auth-form[data-v-c10af240]{gap:14px;display:grid}.auth-tabs[data-v-c10af240]{background:#273d4814;border-radius:999px;justify-self:center;width:fit-content;margin-bottom:12px;padding:4px;display:inline-flex}.auth-tabs button[data-v-c10af240]{color:#596c76;cursor:pointer;background:0 0;border:0;border-radius:999px;height:32px;padding:0 20px;font-size:13px;font-weight:800;transition:all .2s}.auth-tabs button.active[data-v-c10af240]{color:#1f4354;background:#fff;box-shadow:0 2px 8px #1f43541f}.auth-form label[data-v-c10af240]{color:#405967;letter-spacing:.02em;gap:8px;font-size:13px;font-weight:800;display:grid}.auth-form input[data-v-c10af240]:not([type=checkbox]){border:1px solid var(--login-line,#273d4824);height:44px;color:var(--login-ink,#17242d);background:#ffffffbd;border-radius:10px;outline:none;padding:0 16px;transition:all .2s cubic-bezier(.25,.8,.25,1);box-shadow:inset 0 1px #ffffffbf}.auth-form input[data-v-c10af240]:not([type=checkbox]):focus{border-color:var(--login-primary,#28566b);background:#fff;box-shadow:0 0 0 3px #28566b21,0 6px 16px #1f43540f}.auth-helper[data-v-c10af240]{color:var(--login-muted,#657783);margin:0;font-size:12px;font-weight:650;line-height:1.6}.auth-error[data-v-c10af240]{color:#d64b4b;text-align:center;background:#d64b4b0f;border:1px solid #d64b4b1f;border-radius:8px;margin:0;padding:8px 12px;font-size:12px;font-weight:800}.forgot-password-link[data-v-c10af240]{text-align:center;margin:4px 0 0}.link-btn[data-v-c10af240]{color:#315a6b;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:12px;font-weight:700;text-decoration:underline}.link-btn[data-v-c10af240]:hover{color:#1a3a48}.link-separator[data-v-c10af240]{color:#cbd5e0;padding:0 4px;font-size:12px;display:inline-block}.forgot-password-hint[data-v-c10af240]{color:#657783;margin:0 0 12px;font-size:13px;font-weight:650;line-height:1.5}.forgot-success[data-v-c10af240]{color:#2f7a3c;text-align:center;background:#2f7a3c0f;border:1px solid #2f7a3c1f;border-radius:8px;margin:8px 0 0;padding:8px 12px;font-size:13px;font-weight:750}.focused-tool-page[data-v-c10af240]{align-content:start;gap:14px;min-height:calc(100vh - 36px);display:grid}.focused-home-button[data-v-c10af240]{color:#315a6b;background:#ffffffb8;border:1px solid #315a6b1a;border-radius:999px;align-items:center;gap:7px;width:fit-content;min-height:38px;padding:0 14px 0 10px;font-size:13px;font-weight:820;display:inline-flex;box-shadow:0 10px 28px #3f5b7014}.focused-home-button[data-v-c10af240]:hover{background:#fff}.focused-home-button span[data-v-c10af240]{font-size:23px;line-height:1}.bottom-dock[data-v-c10af240]{z-index:20;-webkit-backdrop-filter:blur(26px)saturate(155%);backdrop-filter:blur(26px)saturate(155%);opacity:.42;background:#f8fcff94;border:1px solid #ffffffbf;border-radius:28px;align-items:center;gap:6px;height:72px;padding:7px 10px;transition:transform .26s,opacity .26s;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%,58px)scale(.96);box-shadow:0 22px 60px #3f5b7033,inset 0 1px #ffffffdb}.bottom-dock.visible[data-v-c10af240],.bottom-dock[data-v-c10af240]:hover,.bottom-dock[data-v-c10af240]:focus-within{opacity:1;transform:translate(-50%)scale(1)}.tool-fullscreen-shell .bottom-dock[data-v-c10af240],.tool-fullscreen-shell .dock-trigger[data-v-c10af240],.tool-fullscreen-shell .mobile-nav-toggle[data-v-c10af240],.mobile-nav-toggle[data-v-c10af240]{display:none}.dock-trigger[data-v-c10af240]{z-index:19;pointer-events:auto;height:82px;position:fixed;bottom:0;left:0;right:0}.dock-item[data-v-c10af240]{color:#506271;background:0 0;border:0;border-radius:22px;place-items:center;gap:3px;width:90px;height:56px;transition:transform .18s,background .18s,color .18s;display:grid}.dock-item.active[data-v-c10af240]{color:#315a6b;background:#ffffffb3;box-shadow:inset 0 1px #fffffff2,0 10px 26px #46677c21}.dock-item[data-v-c10af240]:hover{background:#ffffff7a;transform:translateY(-5px)}.dock-item span[data-v-c10af240]{white-space:nowrap;font-size:11px;font-weight:760}.dock-symbol[data-v-c10af240]{line-height:1;font-size:19px!important}@media (width<=980px){.classroom-shell[data-v-c10af240]{padding:16px 16px 154px;scroll-padding-bottom:154px}.login-shell[data-v-c10af240]{min-height:100dvh;padding:0;scroll-padding-bottom:0}.teacher-login-page[data-v-c10af240]{min-height:100dvh;padding:24px 16px}.teacher-login-card[data-v-c10af240]{grid-template-columns:1fr}.teacher-login-heading[data-v-c10af240]{min-height:0;padding:26px}.teacher-login-heading h1[data-v-c10af240]{font-size:32px}.topbar[data-v-c10af240]{flex-direction:column;align-items:flex-start;height:auto}.brand[data-v-c10af240],.top-actions[data-v-c10af240]{flex-wrap:wrap}.search-box[data-v-c10af240]{width:min(100%,260px)}.bottom-dock[data-v-c10af240]{justify-content:flex-start;width:calc(100% - 22px);overflow-x:auto}.dock-item[data-v-c10af240]{flex:0 0 82px}}.test-broadcast-btn[data-v-c10af240]{color:#7a6035!important;background:#fff7ebbd!important}.device-dialog-footer[data-v-c10af240]{justify-content:flex-end;gap:10px;display:flex}.dialog-btn[data-v-c10af240]{border:1px solid #315a6b1f;border-radius:999px;height:38px;padding:0 18px;font-size:13px;font-weight:800}.dialog-btn.secondary[data-v-c10af240]{color:#506271;background:#ffffffc7}.dialog-btn.primary[data-v-c10af240]{color:#fff;background:linear-gradient(135deg,#5f8fa7,#6aa99d);border-color:#0000;box-shadow:0 10px 24px #5f8fa729}.remember-me-label[data-v-c10af240]{color:#666;cursor:default;align-items:center;gap:8px;margin-top:-4px;margin-bottom:4px;padding:0;font-size:14px;display:flex!important}.remember-me-checkbox[data-v-c10af240]{appearance:auto;width:16px;height:16px;box-shadow:none;cursor:pointer;accent-color:#409eff;background:0 0;border:0;border-radius:2px;flex-shrink:0;margin:0;padding:0}.screen-broadcast-overlay[data-v-c10af240]{z-index:10000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;will-change:opacity;background:#315a6b1f;justify-content:center;align-items:flex-start;padding-top:10vh;display:flex;position:fixed;inset:0}.broadcast-banner[data-v-c10af240]{-webkit-backdrop-filter:blur(24px)saturate(145%);backdrop-filter:blur(24px)saturate(145%);will-change:transform, opacity;background:#ffffffc7;border:1.5px solid #ffffffd9;border-radius:28px;width:min(92%,820px);padding:38px 48px;position:relative;overflow:hidden;box-shadow:0 24px 60px #315a6b26,inset 0 1px #ffffffe6}.broadcast-banner.urgent-mode[data-v-c10af240]{background:#fff6f6e0;border-color:#d87d758c;box-shadow:0 24px 60px #d87d7533,inset 0 1px #ffffffe6}.broadcast-glow[data-v-c10af240]{width:92%;height:4px;box-shadow:none;background:linear-gradient(90deg,#0000,#5f8fa7,#6aa99d,#0000);position:absolute;top:0;left:50%;transform:translate(-50%)}.urgent-mode .broadcast-glow[data-v-c10af240]{background:linear-gradient(90deg,#0000,#d87d75,#c9924a,#0000)}.broadcast-header[data-v-c10af240]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.broadcast-tag[data-v-c10af240]{color:#315a6b;text-transform:uppercase;letter-spacing:2px;align-items:center;gap:12px;font-size:14px;font-weight:800;display:flex}.urgent-mode .broadcast-tag[data-v-c10af240]{color:#9d5550}.bell-icon[data-v-c10af240]{border:2px solid;border-radius:8px;width:22px;height:22px;display:inline-block;position:relative}.bell-icon[data-v-c10af240]:after{content:"";background:currentColor;border-radius:99px;width:7px;height:3px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.animate-ring[data-v-c10af240]{animation:1.2s infinite ring-c10af240}@keyframes ring-c10af240{0%{transform:rotate(0)}10%{transform:rotate(18deg)}20%{transform:rotate(-14deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}60%{transform:rotate(0)}to{transform:rotate(0)}}.close-broadcast-btn[data-v-c10af240]{color:#17212b66;cursor:pointer;background:0 0;border:none;font-size:28px;line-height:1;transition:all .2s}.close-broadcast-btn[data-v-c10af240]:hover{color:#17212b;transform:scale(1.2)}.broadcast-content[data-v-c10af240]{margin-bottom:28px}.broadcast-title[data-v-c10af240]{color:#17212b;letter-spacing:.5px;text-shadow:none;margin:0 0 16px;font-size:32px;font-weight:800}.broadcast-body[data-v-c10af240]{color:#40505d;white-space:pre-wrap;margin:0;font-size:20px;line-height:1.7}.broadcast-footer[data-v-c10af240]{color:#17212b80;will-change:transform, opacity;border-top:1px solid #17212b14;justify-content:space-between;align-items:center;padding-top:18px;font-size:13px;display:flex}.broadcast-tag[data-v-c10af240],.broadcast-content[data-v-c10af240]{will-change:transform, opacity}.voice-wave-container[data-v-c10af240]{align-items:center;gap:6px;display:flex}.voice-wave-dots[data-v-c10af240]{align-items:center;gap:5px;display:flex}.voice-dot[data-v-c10af240]{background-color:#5f8fa7;border-radius:99px;width:4px;height:10px;animation:.8s ease-in-out infinite alternate bounce-c10af240}.urgent-mode .voice-dot[data-v-c10af240]{background-color:#d87d75}.voice-dot.d1[data-v-c10af240]{animation-delay:.1s}.voice-dot.d2[data-v-c10af240]{height:14px;animation-delay:.2s}.voice-dot.d3[data-v-c10af240]{height:8px;animation-delay:.3s}.voice-dot.d4[data-v-c10af240]{height:16px;animation-delay:.4s}.voice-dot.d5[data-v-c10af240]{animation-delay:.5s}@keyframes bounce-c10af240{0%{transform:scaleY(.4)}to{transform:scaleY(1.4)}}.broadcast-tip[data-v-c10af240]{color:#315a6b;text-shadow:none;margin-left:6px;font-weight:700}.urgent-mode .broadcast-tip[data-v-c10af240]{color:#9d5550;text-shadow:none}.broadcast-countdown[data-v-c10af240]{font-family:monospace;font-weight:700}@media (prefers-reduced-motion:reduce){.animate-ring[data-v-c10af240],.voice-dot[data-v-c10af240]{animation:none}}@media (width<=768px){.classroom-shell[data-v-c10af240]{padding:10px 10px calc(86px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}.login-shell[data-v-c10af240]{min-height:100dvh;padding:0;scroll-padding-bottom:0}.class-portal-shell[data-v-c10af240]{padding:0!important}.class-portal-topbar[data-v-c10af240]{height:56px}.topbar-inner[data-v-c10af240]{padding:0 16px}.class-portal-logo[data-v-c10af240]{border-radius:8px;width:32px;height:32px}.class-portal-title[data-v-c10af240]{font-size:15px}.class-portal-logout[data-v-c10af240]{border-radius:5px;min-height:30px;padding:0 10px;font-size:12px}.class-portal-workspace[data-v-c10af240]{padding:24px 16px 60px}.workspace-header[data-v-c10af240]{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px}.workspace-title-area h1[data-v-c10af240]{font-size:22px}.workspace-toolbar[data-v-c10af240]{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.class-portal-secondary[data-v-c10af240],.class-portal-primary[data-v-c10af240]{justify-content:center;width:100%;min-height:36px;font-size:13px}.class-square-grid[data-v-c10af240]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.class-square-card[data-v-c10af240]{border-radius:12px;padding:16px 12px}.class-square-avatar[data-v-c10af240]{width:44px;height:44px;font-size:20px}.class-square-details[data-v-c10af240]{gap:2px;margin-top:8px}.class-square-name[data-v-c10af240]{font-size:14px}.class-square-count[data-v-c10af240]{margin-top:2px;font-size:11px}.class-square-action[data-v-c10af240]{margin-top:10px}.class-btn-enter-mini[data-v-c10af240]{border-radius:4px;min-height:24px;padding:0 10px;font-size:11px}.teacher-login-page[data-v-c10af240]{min-height:100dvh;padding:22px 14px}.teacher-login-card[data-v-c10af240]{gap:14px;width:100%}.teacher-login-heading[data-v-c10af240],.teacher-login-panel[data-v-c10af240]{border-radius:18px;padding:22px 16px}.login-submit-btn[data-v-c10af240]{min-height:46px}.teacher-login-heading h1[data-v-c10af240]{font-size:28px}.topbar[data-v-c10af240]{background:#ffffffa6;border:1px solid #ffffff80;border-radius:14px;flex-direction:column;gap:8px;height:auto;margin-bottom:12px;padding:8px 12px;display:flex;box-shadow:0 4px 15px #00000008}.brand[data-v-c10af240]{flex-wrap:wrap;justify-content:space-between;gap:8px;width:100%}.product-name[data-v-c10af240]{text-overflow:ellipsis;flex:128px;min-width:0;font-size:15px;font-weight:900;overflow:hidden}.class-select[data-v-c10af240]{display:none}.top-actions[data-v-c10af240]{border-top:1px solid #0000000d;justify-content:space-between;align-items:center;width:100%;margin-top:4px;padding-top:8px;display:flex}.search-box[data-v-c10af240]{height:30px;padding:0 10px;width:50%!important}.avatar[data-v-c10af240]{width:30px;height:30px;font-size:12px}.mobile-nav-toggle[data-v-c10af240]{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:61;color:#315a6b;-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%);background:#ffffffeb;border:1px solid #315a6b24;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:74px;height:44px;font-size:13px;font-weight:900;display:inline-flex;position:fixed;box-shadow:0 12px 32px #3f5b7029}.mobile-nav-toggle.active[data-v-c10af240]{color:#fff;background:#315a6b}.mobile-nav-toggle span[data-v-c10af240]{font-size:15px;line-height:1}.bottom-dock[data-v-c10af240]{width:min(320px,100vw - 20px);height:auto;left:auto;right:10px;bottom:calc(66px + env(safe-area-inset-bottom,0px));z-index:60;-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);opacity:0;pointer-events:none;background:#fffffff5;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;display:grid;box-shadow:0 18px 42px #3c5a6e2e;transform:translateY(12px)scale(.98)!important}.bottom-dock[data-v-c10af240]:hover,.bottom-dock[data-v-c10af240]:focus-within{opacity:0;pointer-events:none;transform:translateY(12px)scale(.98)!important}.bottom-dock.visible[data-v-c10af240]{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)!important}.dock-item[data-v-c10af240]{border-radius:14px;gap:1px;width:auto;min-width:0;height:54px;padding:0 4px}.dock-item span[data-v-c10af240]{text-overflow:ellipsis;max-width:100%;font-size:9px;overflow:hidden}.dock-symbol[data-v-c10af240]{font-size:16px!important}.dock-trigger[data-v-c10af240]{display:none}}@media (width<=420px){.bottom-dock[data-v-c10af240]{grid-template-columns:repeat(2,minmax(0,1fr));width:auto;max-height:min(58vh,430px);left:10px;right:10px;overflow-y:auto}.mobile-nav-toggle[data-v-c10af240]{min-width:68px;right:10px}}
