.base-modal-overlay[data-v-ad4ff1a0]{position:fixed;inset:0;z-index:2000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem}.base-modal-panel[data-v-ad4ff1a0]{width:100%;max-height:min(90vh,900px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 20px 60px #00000059;border:1px solid rgba(0,0,0,.08);outline:none}.size-sm[data-v-ad4ff1a0]{max-width:420px}.size-md[data-v-ad4ff1a0]{max-width:560px}.size-lg[data-v-ad4ff1a0]{max-width:760px}.size-xl[data-v-ad4ff1a0]{max-width:980px}.base-modal-header[data-v-ad4ff1a0]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.25rem .75rem;position:sticky;top:0;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06)}.base-modal-title[data-v-ad4ff1a0]{margin:0;font-size:1.1rem;font-weight:800;color:#1f2937}.base-modal-close[data-v-ad4ff1a0]{border:none;background:#0000000f;color:#111827;width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .15s}.base-modal-close[data-v-ad4ff1a0]:hover{background:#0000001a;transform:translateY(-1px)}.base-modal-body[data-v-ad4ff1a0]{padding:1.25rem}.base-modal-footer[data-v-ad4ff1a0]{padding:.75rem 1.25rem 1.25rem;border-top:1px solid rgba(0,0,0,.06)}@media(max-width:640px){.base-modal-overlay[data-v-ad4ff1a0]{padding:.5rem}.base-modal-panel[data-v-ad4ff1a0]{max-height:92vh;border-radius:16px}.base-modal-body[data-v-ad4ff1a0]{padding:1rem}}.base-modal-fade-enter-active[data-v-ad4ff1a0],.base-modal-fade-leave-active[data-v-ad4ff1a0]{transition:opacity .18s ease}.base-modal-fade-enter-from[data-v-ad4ff1a0],.base-modal-fade-leave-to[data-v-ad4ff1a0]{opacity:0}.base-modal-fade-enter-active .base-modal-panel[data-v-ad4ff1a0],.base-modal-fade-leave-active .base-modal-panel[data-v-ad4ff1a0]{transition:transform .18s ease,opacity .18s ease}.base-modal-fade-enter-from .base-modal-panel[data-v-ad4ff1a0],.base-modal-fade-leave-to .base-modal-panel[data-v-ad4ff1a0]{transform:translateY(10px) scale(.985);opacity:0}.ui-dialog-message[data-v-e9974cc5]{white-space:pre-wrap;line-height:1.7;color:#2c3e50;font-size:1rem}.ui-dialog-input[data-v-e9974cc5]{margin-top:1rem}.ui-dialog-label[data-v-e9974cc5]{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.ui-dialog-control[data-v-e9974cc5]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.ui-dialog-control[data-v-e9974cc5]:focus{outline:none;border-color:#06b6d4}.ui-dialog-error[data-v-e9974cc5]{margin-top:.5rem;color:#c33;font-weight:600;font-size:.9rem}.ui-dialog-actions[data-v-e9974cc5]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.ui-dialog-actions button[data-v-e9974cc5]{min-width:100px}@media(max-width:640px){.ui-dialog-actions[data-v-e9974cc5]{flex-direction:column-reverse}.ui-dialog-actions button[data-v-e9974cc5]{width:100%}}.system-header[data-v-b56b19b9]{background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;padding:1.25rem 0;box-shadow:0 4px 12px #0000001a;position:sticky;top:0;z-index:100}.header-content[data-v-b56b19b9]{display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo[data-v-b56b19b9]{display:flex;align-items:center;gap:.75rem;font-size:1.8rem;font-weight:700;cursor:pointer;transition:transform .3s}.logo[data-v-b56b19b9]:hover{transform:scale(1.05)}.logo-icon[data-v-b56b19b9]{font-size:2.5rem}.logo-text[data-v-b56b19b9]{color:#fff}.main-nav[data-v-b56b19b9]{display:flex;gap:.5rem;flex:1;justify-content:center}.nav-btn[data-v-b56b19b9]{background:transparent;border:none;color:#fff;padding:.625rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1.05rem;font-weight:500;transition:all .2s}.nav-btn[data-v-b56b19b9]:hover{background:#ffffff26}.nav-btn.active[data-v-b56b19b9]{background:#ffffff40;font-weight:600}.user-section[data-v-b56b19b9]{display:flex;align-items:center;gap:.75rem}.user-menu[data-v-b56b19b9]{position:relative;display:flex;align-items:center}.avatar-btn[data-v-b56b19b9]{width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;transition:all .2s}.avatar-btn[data-v-b56b19b9]:hover{background:#ffffff4d;transform:translateY(-1px)}.avatar-btn[data-v-b56b19b9]:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}.avatar-initial[data-v-b56b19b9]{line-height:1}.user-dropdown[data-v-b56b19b9]{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:10px;box-shadow:0 12px 30px #00000026;border:1px solid #e5e7eb;min-width:160px;overflow:hidden;z-index:120}.dropdown-item[data-v-b56b19b9]{width:100%;display:block;padding:.75rem 1rem;border:none;background:#fff;color:#374151;font-size:.9rem;font-weight:500;cursor:pointer;text-align:left;transition:background .2s}.dropdown-item[data-v-b56b19b9]:hover{background:#f9fafb}.dropdown-item.danger[data-v-b56b19b9]{color:#dc2626}.dropdown-item.danger[data-v-b56b19b9]:hover{background:#fef2f2}.btn-login[data-v-b56b19b9]{background:#fff3;border:2px solid rgba(255,255,255,.4);color:#fff;padding:.5rem 1.25rem;border-radius:20px;cursor:pointer;font-weight:600;transition:all .3s}.btn-login[data-v-b56b19b9]:hover{background:#fff;color:#06b6d4;transform:translateY(-2px)}@media(max-width:968px){.system-header[data-v-b56b19b9]{padding:.75rem 0}.header-content[data-v-b56b19b9]{flex-wrap:wrap;gap:.75rem;justify-content:space-between}.logo[data-v-b56b19b9]{order:1;font-size:1.4rem}.user-section[data-v-b56b19b9]{order:2;width:auto;justify-content:flex-end}.main-nav[data-v-b56b19b9]{order:3;width:100%;justify-content:flex-start;overflow-x:auto;padding:.25rem 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.main-nav[data-v-b56b19b9]::-webkit-scrollbar{display:none}.nav-btn[data-v-b56b19b9]{padding:.5rem 1rem;font-size:.9rem;white-space:nowrap;flex-shrink:0}}@media(max-width:640px){.logo[data-v-b56b19b9]{font-size:1.2rem}.logo-icon[data-v-b56b19b9]{font-size:1.8rem}.nav-btn[data-v-b56b19b9]{padding:.4rem .8rem;font-size:.85rem}.avatar-btn[data-v-b56b19b9]{width:36px;height:36px}}.app-footer[data-v-82b8c53f]{color:#fff;padding:1rem 0;text-align:center;flex-shrink:0}.app-footer.default[data-v-82b8c53f]{background:#0000001a}.app-footer.dark[data-v-82b8c53f]{background:#2c3e50f2}.sub-text[data-v-82b8c53f]{font-size:.85rem;color:#ffffffb3;margin-top:.25rem}.system-layout[data-v-e586bf87]{min-height:100vh;display:flex;flex-direction:column}.loading-screen[data-v-e586bf87]{min-height:100vh;background:linear-gradient(135deg,#06b6d4,#14b8a6);display:flex;align-items:center;justify-content:center;padding:2rem}.loading-card[data-v-e586bf87]{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:2.5rem;max-width:520px;width:100%;text-align:center}.loading-card h2[data-v-e586bf87]{color:#2c3e50;margin-bottom:.5rem}.loading-card p[data-v-e586bf87]{color:#666}.system-app[data-v-e586bf87]{display:flex;flex-direction:column;min-height:100vh}.system-main[data-v-e586bf87]{flex:1;padding:2.5rem 0;background:#f5f7fa}@media(max-width:968px){.header-content[data-v-e586bf87]{flex-direction:column;gap:1rem}.main-nav[data-v-e586bf87],.user-section[data-v-e586bf87]{width:100%;justify-content:center;flex-wrap:wrap}.nav-btn[data-v-e586bf87]{padding:.75rem 1.5rem;font-size:.9rem}}@media(max-width:640px){.logo[data-v-e586bf87]{font-size:1.25rem}.logo-icon[data-v-e586bf87]{font-size:1.5rem}.main-nav[data-v-e586bf87]{gap:.5rem}.nav-btn[data-v-e586bf87]{padding:.5rem 1rem;font-size:.95rem}.user-info[data-v-e586bf87]{flex-wrap:wrap;justify-content:center}}.dashboard-layout[data-v-2ee8b7e9]{min-height:calc(100vh - 80px)}.loading-screen[data-v-2ee8b7e9]{min-height:calc(100vh - 80px);background:#f5f7fa;display:flex;align-items:center;justify-content:center;padding:2rem}.loading-card[data-v-2ee8b7e9]{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000001a;padding:2.5rem;max-width:520px;width:100%;text-align:center}.loading-card h2[data-v-2ee8b7e9]{color:#2c3e50;margin-bottom:.5rem}.loading-card p[data-v-2ee8b7e9]{color:#666}.dashboard-content[data-v-2ee8b7e9]{display:flex;min-height:calc(100vh - 80px);background:#f5f7fa}.sidebar[data-v-2ee8b7e9]{width:240px;background:#fff;border-right:1px solid #e5e7eb;padding:1.5rem 0;flex-shrink:0}.sidebar-nav[data-v-2ee8b7e9]{display:flex;flex-direction:column;gap:.25rem}.nav-item[data-v-2ee8b7e9]{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;background:none;border:none;color:#6b7280;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left;border-left:3px solid transparent}.nav-item[data-v-2ee8b7e9]:hover{background:#f9fafb;color:#06b6d4}.nav-item.active[data-v-2ee8b7e9]{background:#f0f9ff;color:#06b6d4;border-left-color:#06b6d4;font-weight:600}.nav-icon[data-v-2ee8b7e9]{font-size:1.25rem;width:1.5rem;text-align:center}.main-content[data-v-2ee8b7e9]{flex:1;padding:2rem;overflow-y:auto}@media(max-width:968px){.dashboard-content[data-v-2ee8b7e9]{flex-direction:column}.sidebar[data-v-2ee8b7e9]{width:100%;border-right:none;border-bottom:1px solid #e5e7eb;padding:.5rem 0;background:#fff}.sidebar-nav[data-v-2ee8b7e9]{flex-direction:row;overflow-x:auto;padding:0 .75rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.sidebar-nav[data-v-2ee8b7e9]::-webkit-scrollbar{display:none}.nav-item[data-v-2ee8b7e9]{white-space:nowrap;padding:.75rem 1rem;border-left:none;border-bottom:3px solid transparent;flex-shrink:0}.nav-item.active[data-v-2ee8b7e9]{border-left-color:transparent;border-bottom-color:#06b6d4}.main-content[data-v-2ee8b7e9]{padding:1.25rem}}@media(max-width:640px){.nav-item span[data-v-2ee8b7e9]:not(.nav-icon){display:none}.nav-item[data-v-2ee8b7e9]{padding:.75rem;justify-content:center}.nav-icon[data-v-2ee8b7e9]{font-size:1.5rem}.main-content[data-v-2ee8b7e9]{padding:1rem}}.landing-page[data-v-7cfb6261]{height:100vh;overflow:hidden;background:linear-gradient(135deg,#06b6d4,#14b8a6);display:flex;flex-direction:column}.hero[data-v-7cfb6261]{flex:1;display:flex;align-items:center;padding:2rem 0}.hero-content[data-v-7cfb6261]{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-title[data-v-7cfb6261]{font-size:3.5rem;font-weight:800;line-height:1.2;color:#fff;margin-bottom:1.5rem}.gradient-text[data-v-7cfb6261]{color:#fff}.hero-subtitle[data-v-7cfb6261]{font-size:1.5rem;color:#ffffffe6;margin-bottom:2.5rem;line-height:1.6}.hero-actions[data-v-7cfb6261]{display:flex;gap:1.5rem}.btn-primary-large[data-v-7cfb6261]{background:#fff;color:#14b8a6;border:none;padding:1.25rem 3rem;border-radius:30px;font-size:1.25rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:all .3s;box-shadow:0 8px 20px #0003}.btn-primary-large[data-v-7cfb6261]:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0000004d;background:#fffffff2}.btn-primary-large .arrow[data-v-7cfb6261]{font-size:1.5rem;transition:transform .3s}.btn-primary-large:hover .arrow[data-v-7cfb6261]{transform:translate(5px)}.hero-image[data-v-7cfb6261]{position:relative;height:400px}.hero-card[data-v-7cfb6261]{position:absolute;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:20px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;align-items:center;gap:1rem;transition:all .3s;animation:float-7cfb6261 3s ease-in-out infinite;border:2px solid rgba(255,255,255,.5)}.hero-card[data-v-7cfb6261]:hover{transform:translateY(-10px) scale(1.05);box-shadow:0 15px 50px #00000040;background:#fff}.card-1[data-v-7cfb6261]{top:20%;left:10%;animation-delay:0s}.card-2[data-v-7cfb6261]{top:50%;right:10%;animation-delay:1s}.card-3[data-v-7cfb6261]{bottom:10%;left:30%;animation-delay:2s}.card-4[data-v-7cfb6261]{top:10%;right:20%;animation-delay:1.5s}@keyframes float-7cfb6261{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.card-icon[data-v-7cfb6261]{font-size:3rem}.card-text[data-v-7cfb6261]{font-size:1.1rem;font-weight:600;color:#2c3e50}@media(max-width:968px){.hero-content[data-v-7cfb6261]{grid-template-columns:1fr;gap:3rem}.hero-image[data-v-7cfb6261]{height:300px}.hero-title[data-v-7cfb6261]{font-size:2.5rem}.hero-subtitle[data-v-7cfb6261]{font-size:1.25rem}.hero-actions[data-v-7cfb6261]{flex-direction:column}.btn-primary-large[data-v-7cfb6261]{width:100%;justify-content:center}}@media(max-width:640px){.landing-page[data-v-7cfb6261]{height:auto;min-height:100vh}.hero[data-v-7cfb6261]{padding:3rem 0 2rem}.hero-title[data-v-7cfb6261]{font-size:2rem}.hero-subtitle[data-v-7cfb6261]{font-size:1.1rem}.logo-text[data-v-7cfb6261]{font-size:1.25rem}.btn-login[data-v-7cfb6261]{padding:.6rem 1.5rem;font-size:.9rem}}.achievements-view[data-v-2920f687]{--primary-color: #06b6d4;--text-dark: #1e293b;--text-gray: #64748b;--bg-gradient: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);--card-bg: rgba(255, 255, 255, .9);--card-shadow: 0 10px 30px -5px rgba(0, 0, 0, .05);--card-border: 1px solid rgba(255, 255, 255, .8);--glass-effect: blur(10px);padding-bottom:3rem;max-width:1400px;margin:0 auto}.page-header[data-v-2920f687]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;padding:0 .5rem;flex-wrap:wrap;gap:1.5rem}.title[data-v-2920f687]{font-size:2rem;font-weight:800;color:var(--text-dark);margin-bottom:.25rem;display:flex;align-items:center;gap:.75rem;letter-spacing:-.025em}.title-icon[data-v-2920f687]{font-size:2.2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.subtitle[data-v-2920f687]{color:var(--text-gray);font-size:1rem;font-weight:500}.header-controls[data-v-2920f687]{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.config-toggle-btn[data-v-2920f687]{height:36px;padding:0 .9rem;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease}.config-toggle-btn[data-v-2920f687]:hover{border-color:#94a3b8;color:#0f172a}.grade-selector[data-v-2920f687]{display:flex;align-items:center;gap:.75rem;background:#fff;padding:.4rem .5rem .4rem 1rem;border-radius:999px;box-shadow:0 2px 10px #00000008;border:1px solid #e2e8f0}.grade-selector label[data-v-2920f687]{font-size:.85rem;font-weight:600;color:#475569}.select-wrapper[data-v-2920f687]{position:relative;display:flex;align-items:center}.select-wrapper select[data-v-2920f687]{appearance:none;background:transparent;border:none;font-size:.9rem;font-weight:700;color:var(--primary-color);padding-right:1.25rem;cursor:pointer;outline:none}.select-arrow[data-v-2920f687]{position:absolute;right:0;pointer-events:none;font-size:.7rem;color:var(--primary-color)}.meta-badge[data-v-2920f687]{background:#f1f5f9;padding:.5rem 1rem;border-radius:12px;font-size:.85rem;color:#475569;font-weight:600;display:flex;gap:.5rem}.meta-label[data-v-2920f687]{color:#94a3b8}.config-panel[data-v-2920f687]{background:#ffffffe6;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 22px -16px #0f172a73;padding:1rem;margin:.4rem .5rem 1.2rem}.config-panel-header[data-v-2920f687]{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.75rem}.config-panel-header h3[data-v-2920f687]{margin:0;font-size:1rem;color:#0f172a}.config-summary[data-v-2920f687]{font-size:.8rem;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .55rem}.config-list[data-v-2920f687]{display:grid;gap:.55rem}.config-item[data-v-2920f687]{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem .7rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.config-item-name[data-v-2920f687]{font-size:.88rem;color:#1f2937;font-weight:600}.config-item-actions[data-v-2920f687]{display:inline-flex;align-items:center;gap:.45rem}.order-btn[data-v-2920f687]{height:28px;padding:0 .58rem;border-radius:7px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.78rem;cursor:pointer}.order-btn[data-v-2920f687]:disabled{opacity:.45;cursor:not-allowed}.visibility-toggle[data-v-2920f687]{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:#334155;padding-left:.2rem}.config-panel-footer[data-v-2920f687]{margin-top:.7rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.config-message[data-v-2920f687]{margin:0;font-size:.82rem}.config-message.error[data-v-2920f687]{color:#dc2626}.config-message.success[data-v-2920f687]{color:#16a34a}.config-footer-actions[data-v-2920f687]{display:inline-flex;align-items:center;gap:.5rem}.leaderboards-grid[data-v-2920f687]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.glass-card[data-v-2920f687]{position:relative;background:var(--card-bg);-webkit-backdrop-filter:var(--glass-effect);backdrop-filter:var(--glass-effect);border:var(--card-border);border-radius:24px;box-shadow:var(--card-shadow);padding:1.25rem;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;overflow:hidden}.glass-card[data-v-2920f687]:hover{transform:translateY(-5px);box-shadow:0 20px 40px -10px #0000001a;z-index:1}.card-decoration[data-v-2920f687]{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}.card-header[data-v-2920f687]{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.04)}.icon-box[data-v-2920f687]{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,#f8fafc,#eff6ff);box-shadow:inset 0 0 0 1px #fff9,0 4px 6px -1px #0000000d}.header-info h3[data-v-2920f687]{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.card-subtitle[data-v-2920f687]{font-size:.8rem;color:#64748b;margin-top:.15rem;display:block}.list-container[data-v-2920f687]{display:flex;flex-direction:column;gap:.75rem}.list-item[data-v-2920f687]{display:flex;align-items:center;padding:.6rem .75rem;background:#fff;border-radius:16px;border:1px solid transparent;transition:all .2s ease;animation:slideIn-2920f687 .5s ease backwards;animation-delay:calc(var(--item-index) * .05s)}@keyframes slideIn-2920f687{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.list-item[data-v-2920f687]:hover{background:#f8fafc;transform:scale(1.02);box-shadow:0 4px 12px #0000000a}.list-item.is-me[data-v-2920f687]{background:#f0f9ff;border-color:#bae6fd}.rank-badge[data-v-2920f687]{width:32px;display:flex;justify-content:center;font-weight:800;font-size:.9rem;margin-right:.5rem;color:#94a3b8}.trophy-icon[data-v-2920f687]{font-size:1.4rem;filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.rank-number[data-v-2920f687]{color:#64748b;font-family:Courier New,monospace}.user-avatar[data-v-2920f687]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:.9rem;margin-right:.75rem;box-shadow:0 2px 5px #0000001a;background:linear-gradient(135deg,#cbd5e1,#94a3b8);text-shadow:0 1px 2px rgba(0,0,0,.1)}.avatar-color-1[data-v-2920f687]{background:linear-gradient(135deg,#fca5a5,#e11d48)}.avatar-color-2[data-v-2920f687]{background:linear-gradient(135deg,#fcd34d,#d97706)}.avatar-color-3[data-v-2920f687]{background:linear-gradient(135deg,#6ee7b7,#059669)}.avatar-color-4[data-v-2920f687]{background:linear-gradient(135deg,#93c5fd,#2563eb)}.avatar-color-5[data-v-2920f687]{background:linear-gradient(135deg,#c4b5fd,#7c3aed)}.item-content[data-v-2920f687]{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.user-row[data-v-2920f687]{display:flex;align-items:center;gap:.5rem}.user-name[data-v-2920f687]{font-size:.9rem;font-weight:700;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-chip[data-v-2920f687]{font-size:.6rem;background:#0ea5e9;color:#fff;padding:.1rem .4rem;border-radius:6px;font-weight:700;letter-spacing:.5px}.meta-row[data-v-2920f687]{display:flex;align-items:center;font-size:.75rem;color:#94a3b8;margin-top:.1rem}.class-name[data-v-2920f687]{white-space:nowrap}.detail-text[data-v-2920f687]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.score-pill[data-v-2920f687]{padding:.35rem .75rem;border-radius:999px;text-align:right;min-width:80px;display:flex;flex-direction:row;align-items:baseline;justify-content:flex-end;gap:.25rem;background:#f1f5f9}.score-value[data-v-2920f687]{font-weight:800;font-size:1rem;line-height:1;color:#334155}.score-unit[data-v-2920f687]{font-size:.75rem;color:#64748b;font-weight:600;margin-top:0}.badge-blue .score-value[data-v-2920f687]{color:#0284c7}.badge-blue[data-v-2920f687]{background:#e0f2fe}.badge-green .score-value[data-v-2920f687]{color:#059669}.badge-green[data-v-2920f687]{background:#d1fae5}.badge-indigo .score-value[data-v-2920f687]{color:#4f46e5}.badge-indigo[data-v-2920f687]{background:#e0e7ff}.badge-amber .score-value[data-v-2920f687]{color:#d97706}.badge-amber[data-v-2920f687]{background:#fef3c7}.badge-rose .score-value[data-v-2920f687]{color:#e11d48}.badge-rose[data-v-2920f687]{background:#ffe4e6}.badge-slate .score-value[data-v-2920f687]{color:#475569}.badge-slate[data-v-2920f687]{background:#f1f5f9}.badge-violet .score-value[data-v-2920f687]{color:#7c3aed}.badge-violet[data-v-2920f687]{background:#ede9fe}.badge-teal .score-value[data-v-2920f687]{color:#0d9488}.badge-teal[data-v-2920f687]{background:#ccfbf1}.tone-positive .score-value[data-v-2920f687]{color:#16a34a}.tone-positive[data-v-2920f687]{background:#dcfce7}.tone-negative .score-value[data-v-2920f687]{color:#dc2626}.tone-negative[data-v-2920f687]{background:#fee2e2}.empty-state[data-v-2920f687]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#cbd5e1}.empty-icon[data-v-2920f687]{font-size:2.5rem;margin-bottom:.5rem;opacity:.5}.state-container[data-v-2920f687]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;background:#fff;border-radius:24px;box-shadow:0 4px 6px -1px #0000000d}.spinner[data-v-2920f687]{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:var(--primary-color);border-radius:50%;animation:spin-2920f687 .8s linear infinite;margin-bottom:1rem}@keyframes spin-2920f687{to{transform:rotate(360deg)}}.retry-btn[data-v-2920f687]{margin-top:1rem;padding:.5rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:opacity .2s}.retry-btn[data-v-2920f687]:hover{opacity:.9}.retry-btn.secondary[data-v-2920f687]{background:#e2e8f0;color:#334155}.empty-all[data-v-2920f687]{gap:.45rem}@media(max-width:768px){.title[data-v-2920f687]{font-size:1.5rem}.leaderboards-grid[data-v-2920f687]{grid-template-columns:1fr}}.loading[data-v-f87d995a]{text-align:center;padding:3rem;color:#6b7280;font-size:1.1rem}.groups-section+.groups-section[data-v-f87d995a]{margin-top:2rem}.section-header[data-v-f87d995a]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.section-header h3[data-v-f87d995a]{margin:0;font-size:1.2rem;color:#0f172a}.section-count[data-v-f87d995a]{min-width:2rem;height:2rem;padding:0 .65rem;border-radius:999px;background:#e0f2fe;color:#0369a1;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700}.groups-grid[data-v-f87d995a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.group-tile[data-v-f87d995a]{background:#fff;border-radius:16px;padding:1.5rem;border:2px solid #e5e7eb;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;gap:1rem;min-height:180px}.group-tile[data-v-f87d995a]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #06b6d426;border-color:#06b6d4}.group-tile.tile-recruiting[data-v-f87d995a]{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.group-tile.tile-recruiting[data-v-f87d995a]:hover{border-color:#059669;box-shadow:0 8px 24px #10b98133}.group-tile.tile-joined[data-v-f87d995a]{border-color:#0ea5e9;background:linear-gradient(135deg,#fff,#f0f9ff)}.group-tile.tile-joined[data-v-f87d995a]:hover{border-color:#0284c7;box-shadow:0 8px 24px #0ea5e933}.tile-header[data-v-f87d995a]{display:flex;flex-direction:column;gap:.5rem}.tile-title[data-v-f87d995a]{font-size:1.25rem;font-weight:600;color:#2c3e50;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile-info[data-v-f87d995a]{display:flex;flex-direction:column;gap:.5rem;flex:1}.info-item[data-v-f87d995a]{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#6b7280}.info-icon[data-v-f87d995a]{font-size:1.1rem}.info-text[data-v-f87d995a]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-footer[data-v-f87d995a]{display:flex;justify-content:flex-end}.status-badge[data-v-f87d995a]{padding:.375rem .875rem;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge.status-recruiting[data-v-f87d995a]{background:#d1fae5;color:#065f46}.status-badge.status-full[data-v-f87d995a]{background:#fed7aa;color:#92400e}.status-badge.status-closed[data-v-f87d995a]{background:#e5e7eb;color:#374151}.status-badge.status-private[data-v-f87d995a]{background:#e2e8f0;color:#334155}.status-badge.status-joined[data-v-f87d995a]{background:#e0f2fe;color:#075985}.empty[data-v-f87d995a]{text-align:center;padding:3rem;color:#9ca3af}[data-v-f87d995a] .base-modal-panel.guest-warning-modal{text-align:center;max-width:440px;box-shadow:0 25px 50px #00000026}.warning-icon[data-v-f87d995a]{font-size:3.5rem;margin-bottom:1rem;animation:wave-f87d995a .6s ease-in-out}@keyframes wave-f87d995a{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}[data-v-f87d995a] .base-modal-panel.guest-warning-modal h3{color:#2c3e50;margin-bottom:1rem;font-size:1.4rem}.warning-text[data-v-f87d995a]{color:#6b7280;font-size:1rem;line-height:1.6;margin-bottom:1rem}.warning-hint[data-v-f87d995a]{display:flex;align-items:center;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;margin-bottom:1.5rem;border-left:3px solid #06b6d4}.hint-icon[data-v-f87d995a]{font-size:1.2rem;flex-shrink:0}.warning-hint span[data-v-f87d995a]:last-child{color:#0e7490;font-size:.9rem;font-weight:500;text-align:left}.group-detail[data-v-f87d995a]{margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:12px}.detail-desc[data-v-f87d995a]{color:#555;line-height:1.6;margin-bottom:1rem}.detail-info p[data-v-f87d995a]{margin:.5rem 0;color:#666;font-size:.95rem}.read-only-tip[data-v-f87d995a]{margin:.5rem 0 1rem}.modal-actions[data-v-f87d995a]{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button[data-v-f87d995a]{flex:1}textarea[data-v-f87d995a]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical}textarea[data-v-f87d995a]:focus{outline:none;border-color:#06b6d4}@media(max-width:768px){.groups-section+.groups-section[data-v-f87d995a]{margin-top:1.5rem}.section-header[data-v-f87d995a]{margin-top:.5rem}.groups-grid[data-v-f87d995a]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.group-tile[data-v-f87d995a]{padding:1.25rem;min-height:160px}.tile-title[data-v-f87d995a]{font-size:1.1rem}.modal[data-v-f87d995a]{padding:1.5rem}}@media(max-width:480px){.groups-grid[data-v-f87d995a]{grid-template-columns:1fr}}.group-name-tag[data-v-006c55ac]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.group-switcher[data-v-006c55ac]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.group-chip[data-v-006c55ac]{border:2px solid #e5e7eb;background:#fff;color:#374151;border-radius:999px;padding:.55rem 1rem;cursor:pointer;font-weight:700;transition:all .2s}.group-chip[data-v-006c55ac]:hover{border-color:#06b6d4;box-shadow:0 6px 18px #06b6d41f;transform:translateY(-1px)}.group-chip.active[data-v-006c55ac]{border-color:transparent;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;box-shadow:0 8px 24px #06b6d433}.mono[data-v-006c55ac]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.tiles-grid[data-v-006c55ac]{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.tile[data-v-006c55ac]{text-align:left;background:#fff;border-radius:16px;padding:1.25rem;border:2px solid #e5e7eb;cursor:pointer;transition:all .25s;box-shadow:0 4px 6px #0000000f;display:flex;flex-direction:column;gap:.75rem}.tile[data-v-006c55ac]:hover{transform:translateY(-3px);border-color:#06b6d4;box-shadow:0 10px 24px #06b6d41f}.tile-header[data-v-006c55ac]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tile-header h3[data-v-006c55ac]{color:#2c3e50;margin:0}.tile-badge[data-v-006c55ac]{padding:.25rem .75rem;border-radius:999px;font-size:.85rem;font-weight:800;border:2px solid transparent;white-space:nowrap}.badge-active[data-v-006c55ac]{background:#d1fae5;color:#065f46;border-color:#10b9814d}.badge-idle[data-v-006c55ac]{background:#f3f4f6;color:#374151;border-color:#6b728040}.badge-info[data-v-006c55ac]{background:#06b6d41f;color:#0f766e;border-color:#06b6d440}.status-recruiting[data-v-006c55ac]{background:#d1fae5;color:#065f46;border-color:#10b9814d}.status-full[data-v-006c55ac]{background:#fed7aa;color:#92400e;border-color:#fbbf244d}.status-closed[data-v-006c55ac]{background:#f3f4f6;color:#374151;border-color:#6b728040}.tile-sub[data-v-006c55ac]{margin:0;color:#374151;line-height:1.6}.tile-hint[data-v-006c55ac]{margin:0;color:#06b6d4;font-weight:800;font-size:.9rem}.announcement-preview[data-v-006c55ac]{white-space:pre-wrap}.tile-progress[data-v-006c55ac]{display:flex;flex-direction:column;gap:.4rem}.progress-bar[data-v-006c55ac]{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-fill[data-v-006c55ac]{height:100%;border-radius:999px;background:linear-gradient(135deg,#06b6d4,#14b8a6);transition:width .3s}.activity-header[data-v-92b4f2d0]{display:flex;align-items:center;justify-content:space-between;gap:.85rem}.activity-title[data-v-92b4f2d0]{margin:0}.header-switch-wrap[data-v-92b4f2d0]{position:relative;flex-shrink:0}.group-switch-select[data-v-92b4f2d0]{width:min(220px,42vw);height:2.2rem;border:1.5px solid #7dd3fc;background:linear-gradient(135deg,#f8fdff,#ecfeff);color:#075985;border-radius:999px;padding:0 2rem 0 .9rem;font-size:.88rem;font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none}.group-switch-select[data-v-92b4f2d0]:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e933}.switch-caret[data-v-92b4f2d0]{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);color:#0c4a6e;font-size:.8rem;pointer-events:none}.group-name-tag[data-v-92b4f2d0]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.checkin-banner[data-v-92b4f2d0]{border-radius:16px;padding:1.25rem 1.5rem;margin-top:1.5rem;margin-bottom:1.25rem;border:2px solid transparent;transition:border-color .3s,background .3s}.banner-idle[data-v-92b4f2d0]{background:#f9fafb;border-color:#e5e7eb}.banner-active[data-v-92b4f2d0]{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#06b6d4;box-shadow:0 4px 16px #06b6d41f}.banner-done[data-v-92b4f2d0]{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#10b981}.banner-title-row[data-v-92b4f2d0]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.banner-title[data-v-92b4f2d0]{font-size:1.05rem;font-weight:700;color:#2c3e50}.banner-meta[data-v-92b4f2d0]{margin-top:.2rem;font-size:.88rem}.countdown-pill[data-v-92b4f2d0]{padding:.2rem .75rem;border-radius:999px;background:#06b6d41f;border:2px solid rgba(6,182,212,.25);color:#0f766e;font-weight:800;font-size:.88rem;white-space:nowrap}.checkin-form[data-v-92b4f2d0]{display:flex;gap:.75rem;margin-top:.85rem;align-items:center}.checkin-input[data-v-92b4f2d0]{flex:1;min-width:0;padding:.6rem 1rem;border:2px solid rgba(6,182,212,.35);border-radius:10px;font-size:1rem;font-family:inherit;background:#fff}.checkin-input[data-v-92b4f2d0]:focus{outline:none;border-color:#06b6d4}.checkin-input[data-v-92b4f2d0]:disabled{background:#f3f4f6}.btn-checkin[data-v-92b4f2d0]{padding:.6rem 1.5rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .2s}.btn-checkin[data-v-92b4f2d0]:disabled{opacity:.5;cursor:not-allowed}.banner-error[data-v-92b4f2d0]{margin-top:.5rem;color:#dc2626;font-size:.9rem}.section-card[data-v-92b4f2d0]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.25rem}.section-header[data-v-92b4f2d0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-title[data-v-92b4f2d0]{font-size:1rem;font-weight:700;color:#2c3e50;margin:0}.announcements-scroll[data-v-92b4f2d0]{max-height:260px;overflow-y:auto;padding-right:.25rem}.announce-item[data-v-92b4f2d0]{padding:.65rem 0}.announce-divider[data-v-92b4f2d0]{height:1px;background:#f0f0f0;margin-bottom:.65rem}.announce-meta[data-v-92b4f2d0]{font-size:.83rem;margin-bottom:.3rem}.announce-content[data-v-92b4f2d0]{color:#374151;line-height:1.7;margin:0;white-space:pre-wrap;font-size:.95rem}.announce-empty[data-v-92b4f2d0]{padding:.5rem 0 .25rem}.tiles-grid[data-v-92b4f2d0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}.tile[data-v-92b4f2d0]{text-align:left;background:#fff;border-radius:16px;padding:1.25rem;border:2px solid #e5e7eb;cursor:pointer;transition:all .25s;box-shadow:0 4px 6px #0000000a;display:flex;flex-direction:column;gap:.75rem}.tile[data-v-92b4f2d0]:hover{transform:translateY(-3px);border-color:#06b6d4;box-shadow:0 10px 24px #06b6d41f}.tile-header[data-v-92b4f2d0]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tile-header h3[data-v-92b4f2d0]{color:#2c3e50;margin:0;font-size:1rem}.tile-badge[data-v-92b4f2d0]{padding:.25rem .75rem;border-radius:999px;font-size:.85rem;font-weight:800;border:2px solid transparent;white-space:nowrap}.badge-active[data-v-92b4f2d0]{background:#d1fae5;color:#065f46;border-color:#10b9814d}.badge-idle[data-v-92b4f2d0]{background:#f3f4f6;color:#374151;border-color:#6b728040}.badge-info[data-v-92b4f2d0]{background:#06b6d41f;color:#0f766e;border-color:#06b6d440}.tile-sub[data-v-92b4f2d0]{margin:0;font-size:.9rem;line-height:1.5}.tile-hint[data-v-92b4f2d0]{margin:0;color:#06b6d4;font-weight:700;font-size:.9rem}.empty-state[data-v-92b4f2d0]{text-align:center}.btn-sm[data-v-92b4f2d0]{padding:.3rem .85rem;font-size:.85rem}@media(max-width:768px){.activity-header[data-v-92b4f2d0]{flex-wrap:wrap}.group-switch-select[data-v-92b4f2d0]{width:min(200px,60vw)}.checkin-form[data-v-92b4f2d0]{flex-direction:column;align-items:stretch}.btn-checkin[data-v-92b4f2d0]{width:100%}}@media(max-width:480px){.tiles-grid[data-v-92b4f2d0]{grid-template-columns:1fr}}.hub-loading[data-v-9673b186]{margin-top:0}.bulletin-view[data-v-d52f75c8]{min-height:calc(100vh - 200px);padding:2rem 0;background:#f8f9fa}.page-header[data-v-d52f75c8]{text-align:center;margin-bottom:2.5rem}.page-title[data-v-d52f75c8]{font-size:2rem;font-weight:600;color:#1e293b;margin-bottom:.5rem;letter-spacing:.5px}.page-subtitle[data-v-d52f75c8]{font-size:1rem;color:#64748b;font-weight:400}.loading[data-v-d52f75c8]{text-align:center;padding:4rem 0;color:#64748b}.spinner[data-v-d52f75c8]{width:50px;height:50px;margin:0 auto 1rem;border:4px solid #e2e8f0;border-top-color:#06b6d4;border-radius:50%;animation:spin-d52f75c8 1s linear infinite}@keyframes spin-d52f75c8{to{transform:rotate(360deg)}}.error-message[data-v-d52f75c8]{text-align:center;padding:2rem;background:#fee;border:2px solid #fcc;border-radius:12px;color:#c33;max-width:500px;margin:0 auto}.btn-retry[data-v-d52f75c8]{margin-top:1rem;padding:.5rem 1.5rem;background:#06b6d4;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s}.btn-retry[data-v-d52f75c8]:hover{background:#0891b2;transform:translateY(-2px)}.empty-state[data-v-d52f75c8]{text-align:center;padding:4rem 2rem}.empty-icon[data-v-d52f75c8]{font-size:3rem;margin-bottom:1rem;color:#cbd5e1;font-weight:300}.empty-text[data-v-d52f75c8]{font-size:1.25rem;font-weight:500;color:#64748b;margin-bottom:.5rem}.empty-hint[data-v-d52f75c8]{font-size:.9rem;color:#94a3b8}.bulletin-grid[data-v-d52f75c8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;padding:0 1rem}.bulletin-card[data-v-d52f75c8]{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #00000014;transition:all .3s;border-left:3px solid #3b82f6;border-top:1px solid #e5e7eb;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.bulletin-card[data-v-d52f75c8]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-positive[data-v-d52f75c8]{border-left-color:#22c55e}.card-negative[data-v-d52f75c8]{border-left-color:#ef4444}.card-header[data-v-d52f75c8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.student-info[data-v-d52f75c8]{display:flex;flex-direction:column;gap:.25rem}.student-name[data-v-d52f75c8]{font-size:1.1rem;font-weight:600;color:#1e293b}.student-id[data-v-d52f75c8]{font-size:.85rem;color:#94a3b8}.header-right[data-v-d52f75c8]{display:flex;align-items:center;gap:.5rem}.score-badge[data-v-d52f75c8]{padding:.375rem .875rem;border-radius:4px;font-size:1.125rem;font-weight:600;font-family:Courier New,monospace}.badge-positive[data-v-d52f75c8]{background:#22c55e;color:#fff}.badge-negative[data-v-d52f75c8]{background:#ef4444;color:#fff}.dropdown[data-v-d52f75c8]{position:relative}.btn-menu[data-v-d52f75c8]{padding:.375rem .875rem;border-radius:4px;border:1px solid #d1d5db;background:#fff;color:#4b5563;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-menu[data-v-d52f75c8]:hover{background:#f9fafb;border-color:#9ca3af}.dropdown-menu[data-v-d52f75c8]{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border-radius:6px;box-shadow:0 4px 16px #0000001f;border:1px solid #e5e7eb;z-index:100;min-width:140px;overflow:hidden}.dropdown-item[data-v-d52f75c8]{width:100%;display:block;padding:.75rem 1.25rem;border:none;background:#fff;color:#374151;font-size:.875rem;font-weight:400;cursor:pointer;transition:all .2s;text-align:left;border-bottom:1px solid #f3f4f6}.dropdown-item[data-v-d52f75c8]:last-child{border-bottom:none}.dropdown-item[data-v-d52f75c8]:hover{background:#f9fafb;color:#1f2937}.dropdown-item.danger[data-v-d52f75c8]{color:#dc2626}.dropdown-item.danger[data-v-d52f75c8]:hover{background:#fef2f2;color:#b91c1c}.card-content[data-v-d52f75c8]{margin-bottom:1rem}.record-title[data-v-d52f75c8]{font-size:1.05rem;font-weight:600;color:#334155;margin-bottom:.5rem;line-height:1.4}.record-category[data-v-d52f75c8]{display:flex;gap:.5rem;margin-bottom:.5rem}.category-label[data-v-d52f75c8],.type-label[data-v-d52f75c8]{font-size:.75rem;padding:.25rem .75rem;border-radius:12px;background:#f1f5f9;color:#475569;font-weight:500}.record-description[data-v-d52f75c8]{font-size:.9rem;color:#64748b;line-height:1.5;margin-top:.5rem}.card-footer[data-v-d52f75c8]{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #f1f5f9;font-size:.85rem;color:#94a3b8}.time-info[data-v-d52f75c8]{display:flex;align-items:center;gap:.25rem}.time-icon[data-v-d52f75c8]{font-size:1rem}.time-text[data-v-d52f75c8]{font-weight:500}.reviewer-info[data-v-d52f75c8]{font-size:.8rem}@media(max-width:768px){.page-title[data-v-d52f75c8]{font-size:2rem}.bulletin-grid[data-v-d52f75c8]{grid-template-columns:1fr;gap:1rem}.bulletin-card[data-v-d52f75c8]{padding:1.25rem}.card-footer[data-v-d52f75c8]{flex-direction:column;align-items:flex-start;gap:.5rem}}.modal-overlay[data-v-d52f75c8]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-d52f75c8 .2s ease-out}@keyframes fadeIn-d52f75c8{0%{opacity:0}to{opacity:1}}.modal-content[data-v-d52f75c8]{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;animation:slideUp-d52f75c8 .3s ease-out}@keyframes slideUp-d52f75c8{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-d52f75c8]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.modal-header h2[data-v-d52f75c8]{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.btn-close[data-v-d52f75c8]{width:32px;height:32px;border-radius:50%;border:none;background:#f1f5f9;color:#64748b;font-size:1.25rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0}.btn-close[data-v-d52f75c8]:hover{background:#e2e8f0;color:#1e293b}.modal-body[data-v-d52f75c8]{padding:1.5rem}.form-group[data-v-d52f75c8]{margin-bottom:1.25rem}.form-group[data-v-d52f75c8]:last-child{margin-bottom:0}.form-group label[data-v-d52f75c8]{display:block;font-weight:500;color:#334155;margin-bottom:.5rem;font-size:.95rem}.form-input[data-v-d52f75c8],.form-textarea[data-v-d52f75c8]{width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.95rem;color:#1e293b;transition:all .2s;font-family:inherit}.form-input[data-v-d52f75c8]:focus,.form-textarea[data-v-d52f75c8]:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.form-textarea[data-v-d52f75c8]{resize:vertical;min-height:100px}.modal-footer[data-v-d52f75c8]{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e2e8f0;justify-content:flex-end}.btn-cancel[data-v-d52f75c8],.btn-save[data-v-d52f75c8]{padding:.625rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel[data-v-d52f75c8]{background:#f1f5f9;color:#64748b}.btn-cancel[data-v-d52f75c8]:hover{background:#e2e8f0}.btn-save[data-v-d52f75c8]{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;box-shadow:0 2px 6px #06b6d44d}.btn-save[data-v-d52f75c8]:hover{background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 4px 12px #06b6d466}.tab-bar[data-v-d52f75c8]{display:flex;gap:.5rem;justify-content:center;margin-bottom:2rem;background:#fff;padding:.5rem;border-radius:12px;box-shadow:0 1px 3px #00000014;max-width:400px;margin-left:auto;margin-right:auto}.tab-btn[data-v-d52f75c8]{flex:1;padding:.75rem 1.5rem;border:none;background:transparent;color:#64748b;font-size:.95rem;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s}.tab-btn[data-v-d52f75c8]:hover{background:#f1f5f9;color:#334155}.tab-btn.active[data-v-d52f75c8]{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;font-weight:600}.history-filters[data-v-d52f75c8]{background:#fff;padding:1.25rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 1px 3px #00000014}.filter-row[data-v-d52f75c8]{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.filter-item[data-v-d52f75c8]{display:flex;flex-direction:column;gap:.375rem}.filter-item label[data-v-d52f75c8]{font-size:.85rem;color:#64748b;font-weight:500}.filter-item select[data-v-d52f75c8],.filter-item input[data-v-d52f75c8]{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1e293b;background:#fff;min-width:140px}.filter-item select[data-v-d52f75c8]:focus,.filter-item input[data-v-d52f75c8]:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 2px #06b6d41a}.search-item input[data-v-d52f75c8]{min-width:180px}.btn-search[data-v-d52f75c8]{padding:.625rem 1.25rem;background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-search[data-v-d52f75c8]:hover{background:linear-gradient(135deg,#0891b2,#0e7490);transform:translateY(-1px)}.btn-export[data-v-d52f75c8]{padding:.625rem 1.25rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-export[data-v-d52f75c8]:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.btn-export[data-v-d52f75c8]:disabled{opacity:.6;cursor:not-allowed;transform:none}.history-table-wrapper[data-v-d52f75c8]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000014}.history-table[data-v-d52f75c8]{width:100%;border-collapse:collapse;font-size:.9rem}.history-table thead[data-v-d52f75c8]{background:#f8fafc}.history-table th[data-v-d52f75c8]{padding:1rem;text-align:left;font-weight:600;color:#475569;border-bottom:1px solid #e2e8f0;white-space:nowrap}.history-table td[data-v-d52f75c8]{padding:1rem;border-bottom:1px solid #f1f5f9;color:#334155}.history-table tbody tr[data-v-d52f75c8]:hover{background:#f8fafc}.history-table tbody tr:last-child td[data-v-d52f75c8]{border-bottom:none}.td-student[data-v-d52f75c8]{min-width:120px}.student-cell[data-v-d52f75c8]{display:flex;flex-direction:column;gap:.125rem}.student-cell .student-name[data-v-d52f75c8]{font-weight:500;color:#1e293b}.student-cell .student-id[data-v-d52f75c8]{font-size:.8rem;color:#94a3b8}.td-title[data-v-d52f75c8]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-score[data-v-d52f75c8]{font-weight:600;font-family:Courier New,monospace}.score-positive[data-v-d52f75c8]{color:#16a34a}.score-negative[data-v-d52f75c8]{color:#dc2626}.pagination[data-v-d52f75c8]{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding:1rem}.page-btn[data-v-d52f75c8]{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.page-btn[data-v-d52f75c8]:hover:not(:disabled){background:#f9fafb;border-color:#06b6d4;color:#06b6d4}.page-btn[data-v-d52f75c8]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-d52f75c8]{font-size:.9rem;color:#64748b}@media(max-width:768px){.filter-row[data-v-d52f75c8]{flex-direction:column;align-items:stretch}.filter-item[data-v-d52f75c8]{width:100%}.filter-item select[data-v-d52f75c8],.filter-item input[data-v-d52f75c8],.search-item input[data-v-d52f75c8]{width:100%;min-width:unset}.btn-search[data-v-d52f75c8]{width:100%}.history-table-wrapper[data-v-d52f75c8]{overflow-x:auto}.history-table[data-v-d52f75c8]{min-width:700px}.pagination[data-v-d52f75c8]{flex-wrap:wrap}}.growth-portrait-dashboard[data-v-c5e54352]{--bg-color: #f8fafc;--card-bg: #ffffff;--primary: #0ea5e9;--text-main: #1e293b;--text-muted: #64748b;--shadow-sm: 0 1px 3px rgba(0,0,0,.1);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--radius-md: 12px;--radius-lg: 16px;min-height:100%;color:var(--text-main);padding-bottom:2rem}.dashboard-header[data-v-c5e54352]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:0 .5rem}.page-title[data-v-c5e54352]{font-size:1.75rem;font-weight:800;color:var(--text-main);margin:0;letter-spacing:-.025em}.page-subtitle[data-v-c5e54352]{margin:.25rem 0 0;color:var(--text-muted);font-size:.95rem}.header-controls[data-v-c5e54352]{display:flex;align-items:center;gap:1rem}.control-group[data-v-c5e54352]{display:flex;align-items:center;background:var(--card-bg);padding:.25rem .5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid #e2e8f0}.control-label[data-v-c5e54352]{font-size:.85rem;color:var(--text-muted);margin-right:.5rem;padding-left:.5rem}.select-wrapper select[data-v-c5e54352]{border:none;background:transparent;font-size:.95rem;font-weight:600;color:var(--primary);cursor:pointer;padding:.4rem .5rem;outline:none}.btn-refresh[data-v-c5e54352]{background:var(--card-bg);border:1px solid #e2e8f0;color:var(--text-muted);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s}.btn-refresh[data-v-c5e54352]:hover{color:var(--primary);border-color:var(--primary)}.spinning[data-v-c5e54352]{animation:spin-c5e54352 1s linear infinite}@keyframes spin-c5e54352{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kpi-grid[data-v-c5e54352]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.charts-row[data-v-c5e54352]{display:grid;grid-template-columns:350px 1fr;gap:1.5rem;margin-bottom:1.5rem}.details-row[data-v-c5e54352]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.kpi-card[data-v-c5e54352]{background:var(--card-bg);border-radius:var(--radius-lg);padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-md);border:1px solid #f1f5f9;transition:transform .2s,box-shadow .2s}.kpi-card[data-v-c5e54352]:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.kpi-icon-wrapper[data-v-c5e54352]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-blue[data-v-c5e54352]{background:#e0f2fe;color:#0284c7}.icon-purple[data-v-c5e54352]{background:#f3e8ff;color:#9333ea}.icon-orange[data-v-c5e54352]{background:#ffedd5;color:#ea580c}.icon-green[data-v-c5e54352]{background:#dcfce7;color:#16a34a}.kpi-data[data-v-c5e54352]{flex:1;min-width:0}.kpi-label[data-v-c5e54352]{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem}.kpi-value-group[data-v-c5e54352]{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.kpi-value[data-v-c5e54352]{font-size:1.75rem;font-weight:800;color:var(--text-main);line-height:1}.kpi-text-value[data-v-c5e54352]{font-size:1.1rem;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.kpi-sub[data-v-c5e54352]{font-size:.8rem;color:var(--text-muted)}.kpi-trend[data-v-c5e54352]{font-size:.85rem;font-weight:600;padding:2px 6px;border-radius:4px}.trend-up[data-v-c5e54352]{background:#dcfce7;color:#15803d}.trend-down[data-v-c5e54352]{background:#fee2e2;color:#b91c1c}.progress-bar-mini[data-v-c5e54352]{flex:1;height:6px;background:#f1f5f9;border-radius:99px;min-width:60px;margin-left:auto}.progress-fill[data-v-c5e54352]{height:100%;background:#ea580c;border-radius:99px}.dashboard-card[data-v-c5e54352]{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid #f1f5f9;overflow:hidden;display:flex;flex-direction:column}.card-header[data-v-c5e54352]{padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center}.card-title[data-v-c5e54352]{font-size:1.1rem;font-weight:700;color:var(--text-main);margin:0}.hint-text[data-v-c5e54352]{font-size:.85rem;color:var(--text-muted)}.chart-container[data-v-c5e54352]{padding:1rem;position:relative;flex:1;min-height:300px}.echart-instance[data-v-c5e54352]{width:100%;height:100%;min-height:300px}.radar-metrics[data-v-c5e54352]{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #f1f5f9;background:#f8fafc}.metric-item[data-v-c5e54352]{padding:1rem;text-align:center;border-right:1px solid #f1f5f9}.metric-item[data-v-c5e54352]:last-child{border-right:none}.metric-label[data-v-c5e54352]{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.metric-val[data-v-c5e54352]{font-weight:700;color:var(--text-main)}.insights-panel[data-v-c5e54352]{display:flex;flex-direction:column}.insights-content[data-v-c5e54352]{padding:0;flex:1;display:flex;flex-direction:column;height:340px}.insight-box[data-v-c5e54352]{background:linear-gradient(to right,#f0f9ff,#e0f2fe);padding:1rem;display:flex;gap:.75rem;align-items:flex-start;border-bottom:1px solid #e0f2fe}.insight-icon[data-v-c5e54352]{font-size:1.25rem}.insight-text[data-v-c5e54352]{font-size:.9rem;color:#0369a1;line-height:1.5}.records-scroll-area[data-v-c5e54352]{flex:1;overflow-y:auto;padding:.5rem 0}.record-item[data-v-c5e54352]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;border-bottom:1px solid #f1f5f9;transition:background .1s}.record-item[data-v-c5e54352]:last-child{border-bottom:none}.record-item[data-v-c5e54352]:hover{background:#f8fafc}.record-name[data-v-c5e54352]{font-weight:600;color:var(--text-main);margin-bottom:.25rem}.record-tags[data-v-c5e54352]{font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.separator[data-v-c5e54352]{color:#cbd5e1}.record-score[data-v-c5e54352]{font-weight:700;font-size:1rem}.positive[data-v-c5e54352]{color:#16a34a}.negative[data-v-c5e54352]{color:#dc2626}.empty-list[data-v-c5e54352]{padding:2rem;text-align:center;color:var(--text-muted)}.filter-badge[data-v-c5e54352]{background:#e0f2fe;color:#0284c7;padding:.25rem .75rem;border-radius:99px;font-size:.8rem;display:flex;align-items:center;gap:.5rem}.filter-badge button[data-v-c5e54352]{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:1rem;line-height:1}.empty-chart-placeholder[data-v-c5e54352]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:#fffc}.dashboard-empty[data-v-c5e54352]{display:flex;justify-content:center;padding-top:4rem}.empty-state-card[data-v-c5e54352]{background:var(--card-bg);padding:3rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;max-width:400px}.empty-icon[data-v-c5e54352]{font-size:3rem;margin-bottom:1rem}.loading-overlay[data-v-c5e54352]{display:flex;justify-content:center;padding:4rem}.spinner[data-v-c5e54352]{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;animation:spin-c5e54352 1s linear infinite}@media(max-width:1024px){.kpi-grid[data-v-c5e54352]{grid-template-columns:repeat(2,1fr)}.charts-row[data-v-c5e54352],.details-row[data-v-c5e54352]{grid-template-columns:1fr}}@media(max-width:640px){.kpi-grid[data-v-c5e54352]{grid-template-columns:1fr;gap:.75rem}.dashboard-header[data-v-c5e54352]{margin-bottom:1.5rem;padding:0}.page-title[data-v-c5e54352]{font-size:1.5rem}.header-content[data-v-c5e54352]{margin-bottom:.75rem}.dashboard-header[data-v-c5e54352]{flex-direction:column;align-items:flex-start;gap:.75rem}.header-controls[data-v-c5e54352]{width:100%;justify-content:space-between}.control-group[data-v-c5e54352]{flex:1}.kpi-card[data-v-c5e54352]{padding:1rem}.kpi-value[data-v-c5e54352]{font-size:1.5rem}.chart-container[data-v-c5e54352]{padding:.5rem;min-height:250px}.record-item[data-v-c5e54352]{padding:.75rem 1rem}.record-name[data-v-c5e54352]{font-size:.9rem}.radar-metrics[data-v-c5e54352]{grid-template-columns:repeat(2,1fr)}.metric-item[data-v-c5e54352]:nth-child(2){border-right:none}}.form-group[data-v-f7ef70dc]{margin-bottom:1rem}.form-group label[data-v-f7ef70dc]{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50;font-size:1rem}.form-group input[data-v-f7ef70dc]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.form-group input[data-v-f7ef70dc]:focus{outline:none;border-color:#06b6d4}.error-message[data-v-f7ef70dc]{padding:.75rem;margin-bottom:1rem;background-color:#fee;color:#c33;border-radius:8px;border-left:4px solid #c33}.success-message[data-v-f7ef70dc]{padding:.75rem;margin-bottom:1rem;background-color:#efe;color:#3c3;border-radius:8px;border-left:4px solid #3c3}.modal-actions[data-v-f7ef70dc]{display:flex;gap:.75rem;margin-top:1.5rem}.modal-actions button[data-v-f7ef70dc]{flex:1;padding:.75rem 1.25rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary[data-v-f7ef70dc]{background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border:none;box-shadow:0 4px 15px #06b6d440}.btn-primary[data-v-f7ef70dc]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #06b6d459}.btn-primary[data-v-f7ef70dc]:disabled{background:linear-gradient(135deg,#06b6d480,#14b8a680);cursor:not-allowed;box-shadow:none}.btn-secondary[data-v-f7ef70dc]{background:#06b6d41f;border:2px solid rgba(6,182,212,.25);color:#0f766e}.btn-secondary[data-v-f7ef70dc]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #06b6d426}.btn-secondary[data-v-f7ef70dc]:disabled{opacity:.5;cursor:not-allowed}.password-section[data-v-3639cab0]{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.page-header[data-v-ab80e03d]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.page-header h2[data-v-ab80e03d]{margin-bottom:.4rem}.header-actions[data-v-ab80e03d]{display:flex;gap:.6rem;flex-wrap:wrap}.btn-new-class[data-v-ab80e03d]{border:none;border-radius:8px;padding:.45rem .9rem;font-size:.9rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#0e7490,#0f766e);cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}.btn-new-class[data-v-ab80e03d]:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0f766e3d}.btn-new-class[data-v-ab80e03d]:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.section-header-main[data-v-ab80e03d]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem}.section-header-main h3[data-v-ab80e03d]{margin:0}.tiles-grid[data-v-ab80e03d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.class-tile[data-v-ab80e03d]{background:#fff;border:2px solid #e5e7eb;border-radius:14px;padding:1rem;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;flex-direction:column;gap:.75rem;outline:none}.class-tile[data-v-ab80e03d]:hover{border-color:#06b6d4;box-shadow:0 6px 18px #06b6d41f;transform:translateY(-1px)}.class-tile[data-v-ab80e03d]:focus-visible{border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d429}.tile-top[data-v-ab80e03d]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tile-grade[data-v-ab80e03d]{font-size:.78rem;font-weight:600;color:#0e7490;background:#0e74901f;padding:.2rem .58rem;border-radius:999px}.tile-members[data-v-ab80e03d]{font-size:.82rem;font-weight:600;color:#475569}.tile-name[data-v-ab80e03d]{margin:0;font-size:1.05rem;font-weight:700;color:#1f2937;line-height:1.3}.tile-desc[data-v-ab80e03d]{margin:0;color:#64748b;font-size:.92rem;line-height:1.5;min-height:2.8em}.tile-footer[data-v-ab80e03d]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.7rem;border-top:1px solid #eef2f7}.tile-teacher[data-v-ab80e03d]{font-size:.82rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-assistants[data-v-ab80e03d]{font-size:.78rem;color:#0f766e;background:#0f766e1c;padding:.18rem .5rem;border-radius:999px;flex-shrink:0}.requests-list[data-v-ab80e03d]{display:grid;gap:.8rem}.request-item[data-v-ab80e03d]{border:1px solid #e2e8f0;border-radius:10px;padding:.85rem .95rem;background:#fcfdff;display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.request-main h4[data-v-ab80e03d]{margin:0 0 .25rem;font-size:.98rem;color:#1f2937}.request-main p[data-v-ab80e03d]{margin:0;line-height:1.45}.request-actions[data-v-ab80e03d]{display:flex;gap:.45rem;flex-shrink:0}.empty-box[data-v-ab80e03d]{border:1px dashed #d1d5db;border-radius:12px;padding:1rem;text-align:center;background:#f8fafc}.empty-box.compact[data-v-ab80e03d]{padding:.85rem}.detail-modal-header[data-v-ab80e03d]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;width:100%}.detail-title-section[data-v-ab80e03d]{flex:1}.detail-modal-title[data-v-ab80e03d]{margin:0;font-size:1.25rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:.5rem}.detail-grade[data-v-ab80e03d]{font-size:.85rem;font-weight:600;color:#0891b2;background:#06b6d41a;padding:.25rem .6rem;border-radius:6px}.detail-subtitle[data-v-ab80e03d]{margin:.25rem 0 0;font-size:.9rem;color:#64748b}.btn-close-detail[data-v-ab80e03d]{width:32px;height:32px;border-radius:8px;border:none;background:#f1f5f9;color:#64748b;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.btn-close-detail[data-v-ab80e03d]:hover{background:#e2e8f0;color:#1e293b}.detail-content[data-v-ab80e03d]{display:flex;flex-direction:column;gap:1.5rem}.detail-stats[data-v-ab80e03d]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card[data-v-ab80e03d]{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:1rem;text-align:center}.stat-number[data-v-ab80e03d]{font-size:2rem;font-weight:800;color:#0f172a;line-height:1.2}.stat-label[data-v-ab80e03d]{font-size:.85rem;color:#64748b;margin-top:.25rem}.detail-section[data-v-ab80e03d]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem}.section-header[data-v-ab80e03d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-header h4[data-v-ab80e03d]{margin:0;font-size:.95rem;font-weight:600;color:#374151}.section-header-actions[data-v-ab80e03d]{display:flex;align-items:center;gap:.75rem}.btn-text[data-v-ab80e03d]{background:none;border:none;color:#0891b2;font-size:.85rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s}.btn-text[data-v-ab80e03d]:hover{background:#06b6d41a}.btn-text-active[data-v-ab80e03d]{color:#059669;background:#0596691a}.btn-text-active[data-v-ab80e03d]:hover{background:#05966926}.badge-assistant[data-v-ab80e03d]{display:inline-block;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;margin-left:.4rem;vertical-align:middle}.badge-clickable[data-v-ab80e03d]{cursor:pointer;transition:all .2s}.badge-clickable[data-v-ab80e03d]:hover{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#dc2626}.btn-set-assistant[data-v-ab80e03d]{background:none;border:1px solid #93c5fd;color:#2563eb;font-size:.8rem;padding:.25rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s;margin-right:.4rem}.btn-set-assistant[data-v-ab80e03d]:hover{background:#eff6ff;border-color:#60a5fa}.members-table-wrapper[data-v-ab80e03d]{max-height:300px;overflow-y:auto;border-radius:8px;border:1px solid #e2e8f0}.members-table[data-v-ab80e03d]{width:100%;border-collapse:collapse;font-size:.9rem}.members-table thead[data-v-ab80e03d]{background:#f1f5f9;position:sticky;top:0}.members-table th[data-v-ab80e03d]{padding:.75rem;text-align:left;font-weight:600;color:#475569;border-bottom:1px solid #e2e8f0}.members-table td[data-v-ab80e03d]{padding:.75rem;color:#334155;border-bottom:1px solid #f1f5f9}.members-table tbody tr[data-v-ab80e03d]:hover{background:#f8fafc}.members-table tbody tr:last-child td[data-v-ab80e03d]{border-bottom:none}.col-action[data-v-ab80e03d]{width:140px;text-align:right;white-space:nowrap}.btn-remove[data-v-ab80e03d]{background:none;border:1px solid #fca5a5;color:#dc2626;font-size:.8rem;padding:.25rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s}.btn-remove[data-v-ab80e03d]:hover{background:#fef2f2;border-color:#f87171}.loading-members[data-v-ab80e03d]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#64748b}.spinner-small[data-v-ab80e03d]{width:16px;height:16px;border:2px solid #e2e8f0;border-top-color:#06b6d4;border-radius:50%;animation:spin-ab80e03d 1s linear infinite}@keyframes spin-ab80e03d{to{transform:rotate(360deg)}}.empty-members[data-v-ab80e03d]{padding:2rem;text-align:center;color:#94a3b8}.detail-actions[data-v-ab80e03d]{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #e2e8f0}.detail-actions-right[data-v-ab80e03d]{display:flex;gap:.75rem}.btn-text-danger[data-v-ab80e03d]{background:none;border:none;color:#dc2626;font-size:.85rem;cursor:pointer;padding:.4rem .6rem;border-radius:4px;transition:all .2s}.btn-text-danger[data-v-ab80e03d]:hover{background:#fef2f2}.modal-actions[data-v-ab80e03d]{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button[data-v-ab80e03d]{flex:1}.grade-input-wrapper[data-v-ab80e03d]{display:flex;align-items:center;gap:.5rem}.grade-input-wrapper input[data-v-ab80e03d]{flex:1}.grade-suffix[data-v-ab80e03d]{font-size:.95rem;color:#374151;font-weight:500}.form-hint[data-v-ab80e03d]{font-size:.8rem;color:#6b7280;margin:.3rem 0 0}@media(max-width:640px){.page-header[data-v-ab80e03d]{flex-direction:column;align-items:stretch}.header-actions[data-v-ab80e03d]{justify-content:flex-start}.tiles-grid[data-v-ab80e03d]{grid-template-columns:1fr;gap:.75rem}.class-tile[data-v-ab80e03d]{padding:1rem}.tile-name[data-v-ab80e03d]{font-size:1rem}.request-item[data-v-ab80e03d]{flex-direction:column;align-items:stretch}.request-actions[data-v-ab80e03d]{width:100%;justify-content:flex-end}.detail-stats[data-v-ab80e03d]{grid-template-columns:1fr 1fr}.detail-modal-header[data-v-ab80e03d]{flex-direction:row}.detail-actions[data-v-ab80e03d]{flex-direction:column}}.page-header[data-v-0849e197]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.page-header h2[data-v-0849e197]{margin-bottom:.4rem}.header-actions[data-v-0849e197]{display:flex;gap:.6rem;flex-wrap:wrap}.btn-new-group[data-v-0849e197]{border:none;border-radius:8px;padding:.55rem 1rem;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#0e7490,#0f766e);cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}.btn-new-group[data-v-0849e197]:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0f766e3d}.btn-new-group[data-v-0849e197]:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.groups-grid[data-v-0849e197]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.group-card[data-v-0849e197]{background:#fff;border:2px solid #e5e7eb;border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.group-card[data-v-0849e197]:hover{border-color:#06b6d4;box-shadow:0 6px 18px #06b6d41f}.group-top[data-v-0849e197]{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.group-top h3[data-v-0849e197]{margin:0;font-size:1.05rem;color:#1f2937}.status-pill[data-v-0849e197]{border-radius:999px;padding:.2rem .6rem;font-size:.76rem;font-weight:700;white-space:nowrap;background:#d1fae5;color:#065f46}.status-pill.status-full[data-v-0849e197]{background:#fed7aa;color:#9a3412}.status-pill.status-closed[data-v-0849e197]{background:#e5e7eb;color:#374151}.group-desc[data-v-0849e197]{margin:0;color:#475569;line-height:1.55}.group-meta[data-v-0849e197]{display:grid;gap:.35rem}.group-meta p[data-v-0849e197]{margin:0;color:#64748b;font-size:.92rem}.group-actions[data-v-0849e197]{display:flex;gap:.6rem;margin-top:auto}.group-actions button[data-v-0849e197]{flex:1}.empty-box[data-v-0849e197]{text-align:center}.form-row[data-v-0849e197]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}textarea[data-v-0849e197]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical}textarea[data-v-0849e197]:focus{outline:none;border-color:#06b6d4}.switch-group[data-v-0849e197]{display:flex;align-items:center;gap:.65rem;padding:.35rem 0}.switch-label[data-v-0849e197]{font-weight:600;color:#1f2937}.switch-control[data-v-0849e197]{position:relative;width:46px;height:26px;display:inline-flex}.switch-control input[data-v-0849e197]{opacity:0;width:0;height:0}.switch-slider[data-v-0849e197]{position:absolute;inset:0;background:#cbd5e1;border-radius:999px;transition:background .2s ease;cursor:pointer}.switch-slider[data-v-0849e197]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.switch-control input:checked+.switch-slider[data-v-0849e197]{background:#10b981}.switch-control input:checked+.switch-slider[data-v-0849e197]:after{transform:translate(20px)}.switch-text[data-v-0849e197]{font-size:.86rem;color:#64748b}.divider[data-v-0849e197]{height:1px;background:#e5e7eb;margin:1.25rem 0}.quick-toolbar[data-v-0849e197]{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.class-filter[data-v-0849e197]{width:220px}.quick-search[data-v-0849e197]{flex:1;min-width:220px}.quick-actions[data-v-0849e197]{display:flex;gap:.5rem;flex-wrap:wrap}.students-box[data-v-0849e197]{margin-top:1rem;padding:.75rem;border:2px solid #e5e7eb;border-radius:12px;background:#f9fafb;max-height:360px;overflow:auto}.students-list[data-v-0849e197]{display:flex;flex-direction:column;gap:.4rem}.student-row[data-v-0849e197]{display:flex;gap:.75rem;align-items:center;padding:.6rem .75rem;border-radius:10px;background:#fff;border:1px solid rgba(148,163,184,.25);cursor:pointer}.student-row[data-v-0849e197]:hover{border-color:#06b6d473}.student-main[data-v-0849e197]{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.class-tag[data-v-0849e197]{display:inline-flex;align-items:center;padding:.08rem .48rem;border-radius:999px;font-size:.72rem;color:#155e75;background:#06b6d424;border:1px solid rgba(6,182,212,.25)}.role-tag[data-v-0849e197]{display:inline-flex;align-items:center;padding:.08rem .48rem;border-radius:999px;font-size:.72rem;color:#7c2d12;background:#fb923c24;border:1px solid rgba(251,146,60,.25)}.selected-count[data-v-0849e197]{margin-top:.75rem}.hint-text[data-v-0849e197]{margin-top:1.5rem;padding:1rem;background:#f0f9ff;border-radius:12px;border-left:3px solid #06b6d4}@media(max-width:768px){.page-header[data-v-0849e197]{flex-direction:column}.form-row[data-v-0849e197],.groups-grid[data-v-0849e197]{grid-template-columns:1fr}}.groups-grid[data-v-5f7be86e]{display:grid;gap:1.5rem}.group-card[data-v-5f7be86e]{border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .3s}.group-card[data-v-5f7be86e]:hover{border-color:#06b6d4;box-shadow:0 4px 12px #06b6d41a}.group-header[data-v-5f7be86e]{margin-bottom:1rem}.group-header h4[data-v-5f7be86e]{font-size:1.25rem;color:#2c3e50;margin-bottom:.5rem}.category-tag[data-v-5f7be86e]{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;background:#f0fdf4;color:#15803d;margin-left:.5rem}.leader-badge[data-v-5f7be86e]{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:20px;font-size:.875rem;font-weight:500;margin-left:.5rem}.group-desc[data-v-5f7be86e]{color:#555;margin:1rem 0;line-height:1.6}.group-info[data-v-5f7be86e]{margin:1rem 0}.group-info p[data-v-5f7be86e]{margin:.5rem 0;font-size:.95rem}.group-actions[data-v-5f7be86e]{margin-top:1rem}.empty-state[data-v-5f7be86e]{text-align:center;padding:3rem 1rem}.empty-state .empty[data-v-5f7be86e]{margin-bottom:1.5rem;font-size:1.1rem}.modal-actions[data-v-5f7be86e]{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button[data-v-5f7be86e]{flex:1}.members-container[data-v-5f7be86e]{margin:1rem 0}.members-stats[data-v-5f7be86e]{margin-bottom:1rem;padding:.75rem;background:#f9fafb;border-radius:8px;text-align:center}.members-stats p[data-v-5f7be86e]{font-weight:500;color:#555}.members-list[data-v-5f7be86e]{display:grid;gap:.75rem}.member-item[data-v-5f7be86e]{padding:1rem;background:#f9fafb;border-radius:8px;border-left:3px solid #06b6d4;transition:all .2s}.member-item[data-v-5f7be86e]:hover{background:#f3f4f6;transform:translate(4px)}.member-info[data-v-5f7be86e]{margin-bottom:.5rem}.member-info strong[data-v-5f7be86e]{font-size:1rem;color:#2c3e50}.member-info .leader-badge[data-v-5f7be86e]{padding:.125rem .5rem;font-size:.75rem}.member-meta[data-v-5f7be86e]{font-size:.875rem}@media(max-width:768px){.modal[data-v-5f7be86e]{padding:1.5rem}.groups-grid[data-v-5f7be86e]{gap:1rem}.group-card[data-v-5f7be86e]{padding:1.25rem}}.page-nav[data-v-6101d600]{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.page-nav h2[data-v-6101d600]{margin:0}.btn-back[data-v-6101d600]{padding:.4rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-back[data-v-6101d600]:hover{border-color:#06b6d4;color:#0e7490}.group-name-tag[data-v-6101d600]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.section-card[data-v-6101d600]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem;margin-top:1.5rem}.section-header[data-v-6101d600]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-title[data-v-6101d600]{font-size:1rem;font-weight:700;color:#2c3e50;margin:0}.members-list[data-v-6101d600]{display:grid;gap:.6rem}.member-item[data-v-6101d600]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;background:#f9fafb;border-radius:10px;border-left:3px solid #06b6d4;transition:background .2s;flex-wrap:wrap}.member-item[data-v-6101d600]:hover{background:#f0f9ff}.member-main[data-v-6101d600]{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.member-name[data-v-6101d600]{font-weight:700;color:#2c3e50;font-size:.95rem}.leader-badge[data-v-6101d600]{display:inline-block;padding:.15rem .55rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:12px;font-size:.75rem;font-weight:800}.member-id[data-v-6101d600]{font-size:.85rem}.member-date[data-v-6101d600]{font-size:.83rem;white-space:nowrap}.empty-text[data-v-6101d600]{padding:1rem 0 .5rem;text-align:center}.btn-sm[data-v-6101d600]{padding:.3rem .85rem;font-size:.85rem}@media(max-width:500px){.member-item[data-v-6101d600]{flex-direction:column;align-items:flex-start}}.page-nav[data-v-ef2371aa]{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.page-nav h2[data-v-ef2371aa]{margin:0}.btn-back[data-v-ef2371aa]{padding:.4rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-back[data-v-ef2371aa]:hover{border-color:#06b6d4;color:#0e7490}.group-name-tag[data-v-ef2371aa]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.homework-layout[data-v-ef2371aa]{display:grid;grid-template-columns:280px 1fr;gap:1.25rem;margin-top:1.5rem;align-items:start}.homework-list-panel[data-v-ef2371aa]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1rem;position:sticky;top:1rem}.panel-header[data-v-ef2371aa]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.panel-title[data-v-ef2371aa]{font-weight:700;color:#2c3e50;font-size:.95rem}.homework-list[data-v-ef2371aa]{display:grid;gap:.6rem}.homework-list-item[data-v-ef2371aa]{text-align:left;border:2px solid #e5e7eb;border-radius:12px;background:#f9fafb;padding:.85rem;cursor:pointer;transition:all .2s;width:100%}.homework-list-item[data-v-ef2371aa]:hover{border-color:#06b6d4;background:#f0f9ff}.homework-list-item.active[data-v-ef2371aa]{border-color:#06b6d4;background:#ecfeff}.homework-list-top[data-v-ef2371aa]{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.3rem}.homework-list-top strong[data-v-ef2371aa]{font-size:.9rem;color:#2c3e50}.hw-badge[data-v-ef2371aa]{padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;border:1.5px solid transparent;white-space:nowrap;flex-shrink:0}.hw-due[data-v-ef2371aa]{font-size:.82rem;margin:.15rem 0 0}.homework-detail[data-v-ef2371aa]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.5rem}.detail-title[data-v-ef2371aa]{font-size:1.2rem;color:#2c3e50;margin:0 0 .4rem}.homework-description[data-v-ef2371aa]{white-space:pre-wrap;line-height:1.7;color:#334155;margin:.75rem 0;padding:.75rem;background:#f8fafc;border-radius:8px}.homework-review[data-v-ef2371aa]{margin:.75rem 0;padding:.75rem;border-left:3px solid #10b981;border-radius:8px;background:#f0fdf4}.homework-feedback[data-v-ef2371aa]{margin:.35rem 0 0;white-space:pre-wrap;color:#065f46}.homework-deadline-note[data-v-ef2371aa]{margin:.75rem 0;padding:.6rem .75rem;border-radius:8px;border:1px solid #fca5a5;background:#fef2f2;color:#b91c1c;font-weight:700}.form-group[data-v-ef2371aa]{margin:1rem 0}.form-group label[data-v-ef2371aa]{display:block;font-weight:600;margin-bottom:.4rem;color:#374151;font-size:.9rem}.form-group textarea[data-v-ef2371aa]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;box-sizing:border-box}.form-group textarea[data-v-ef2371aa]:focus{outline:none;border-color:#06b6d4}.form-group textarea[data-v-ef2371aa]:disabled{background:#f3f4f6;color:#9ca3af}.attach-list[data-v-ef2371aa]{margin-top:.75rem;display:grid;gap:.5rem}.attach-list.pending .attach-item[data-v-ef2371aa]{border-style:dashed}.attach-item[data-v-ef2371aa]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.attach-name[data-v-ef2371aa]{color:#334155;font-size:.9rem;word-break:break-all}.attach-actions[data-v-ef2371aa]{display:flex;gap:.4rem;flex-shrink:0}.detail-actions[data-v-ef2371aa]{display:flex;gap:1rem;margin-top:1.5rem}.detail-actions button[data-v-ef2371aa]{flex:1}.badge-active[data-v-ef2371aa]{background:#d1fae5;color:#065f46;border-color:#10b9814d}.badge-idle[data-v-ef2371aa]{background:#f3f4f6;color:#374151;border-color:#6b728040}.badge-info[data-v-ef2371aa]{background:#06b6d41f;color:#0f766e;border-color:#06b6d440}.section-card[data-v-ef2371aa]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem;margin-top:1.5rem}.empty-state[data-v-ef2371aa]{text-align:center;padding:3rem 1rem}.btn-sm[data-v-ef2371aa]{padding:.3rem .85rem;font-size:.85rem}@media(max-width:768px){.homework-layout[data-v-ef2371aa]{grid-template-columns:1fr}.homework-list-panel[data-v-ef2371aa]{position:static}.attach-item[data-v-ef2371aa]{flex-direction:column;align-items:flex-start}}.page-nav[data-v-6689e9e1]{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.page-nav h2[data-v-6689e9e1]{margin:0}.btn-back[data-v-6689e9e1]{padding:.4rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-back[data-v-6689e9e1]:hover{border-color:#06b6d4;color:#0e7490}.group-name-tag[data-v-6689e9e1]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.section-card[data-v-6689e9e1]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem;margin-top:1.25rem}.section-header[data-v-6689e9e1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.header-right[data-v-6689e9e1]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.section-title[data-v-6689e9e1]{font-size:1rem;font-weight:700;color:#2c3e50;margin:0 0 1rem}.active-top[data-v-6689e9e1]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.active-actions[data-v-6689e9e1]{display:flex;gap:.5rem;flex-wrap:wrap}.active-grid[data-v-6689e9e1]{display:grid;grid-template-columns:220px 1fr;gap:1rem;align-items:stretch}.code-box[data-v-6689e9e1]{border-radius:14px;border:2px dashed rgba(6,182,212,.45);padding:1rem;text-align:center}.code-label[data-v-6689e9e1]{font-size:.9rem;color:#64748b;font-weight:800}.code-value[data-v-6689e9e1]{margin-top:.5rem;font-size:2rem;font-weight:900;color:#0e7490;letter-spacing:.06em}.mono[data-v-6689e9e1]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.progress-box[data-v-6689e9e1]{border-radius:14px;border:2px solid #e5e7eb;padding:1rem;background:#fff}.progress-top[data-v-6689e9e1]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem}.progress-bar[data-v-6689e9e1]{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-fill[data-v-6689e9e1]{height:100%;border-radius:999px;background:linear-gradient(135deg,#06b6d4,#14b8a6);transition:width .3s}.mt-sm[data-v-6689e9e1]{margin-top:.6rem}.empty-hint[data-v-6689e9e1]{padding:1rem}.form-row[data-v-6689e9e1]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-6689e9e1]{display:flex;flex-direction:column;gap:.4rem}.form-group label[data-v-6689e9e1]{font-weight:600;font-size:.9rem;color:#374151}.form-group input[data-v-6689e9e1]{padding:.6rem .85rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit}.form-group input[data-v-6689e9e1]:focus{outline:none;border-color:#06b6d4}.muted-small[data-v-6689e9e1]{color:#94a3b8;font-size:.82rem;margin:0}.form-actions[data-v-6689e9e1]{display:flex;gap:1rem;margin-top:1rem}.form-actions button[data-v-6689e9e1]{flex:1}.history-list[data-v-6689e9e1]{display:grid;gap:.75rem}.history-item[data-v-6689e9e1]{padding:1rem;border-radius:12px;background:#f9fafb;border-left:3px solid #06b6d4;display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.history-right[data-v-6689e9e1]{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.history-pill[data-v-6689e9e1]{padding:.25rem .7rem;border-radius:999px;font-size:.85rem;font-weight:800}.pill-active[data-v-6689e9e1]{background:#d1fae5;color:#065f46}.pill-ended[data-v-6689e9e1]{background:#e5e7eb;color:#374151}.btn-sm[data-v-6689e9e1]{padding:.3rem .85rem;font-size:.85rem}@media(max-width:600px){.active-grid[data-v-6689e9e1],.form-row[data-v-6689e9e1]{grid-template-columns:1fr}}.page-nav[data-v-e0946e73]{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.page-nav h2[data-v-e0946e73]{margin:0}.btn-back[data-v-e0946e73]{padding:.4rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-back[data-v-e0946e73]:hover{border-color:#06b6d4;color:#0e7490}.group-name-tag[data-v-e0946e73]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.section-card[data-v-e0946e73]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem;margin-top:1.25rem}.section-title[data-v-e0946e73]{font-size:1rem;font-weight:700;color:#2c3e50;margin:0 0 1rem}.form-group textarea[data-v-e0946e73]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;box-sizing:border-box}.form-group textarea[data-v-e0946e73]:focus{outline:none;border-color:#06b6d4}.form-actions[data-v-e0946e73]{display:flex;gap:1rem;margin-top:1rem}.form-actions button[data-v-e0946e73]{flex:1}.announce-list[data-v-e0946e73]{display:grid;gap:1rem}.announce-item[data-v-e0946e73]{padding:1rem;background:#f9fafb;border-radius:12px;border-left:3px solid #06b6d4}.announce-meta[data-v-e0946e73]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.announce-content[data-v-e0946e73]{white-space:pre-wrap;color:#374151;line-height:1.7;margin:0}.btn-sm[data-v-e0946e73]{padding:.3rem .85rem;font-size:.85rem}.page-nav[data-v-74540f6f]{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.page-nav h2[data-v-74540f6f]{margin:0}.btn-back[data-v-74540f6f]{padding:.4rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-back[data-v-74540f6f]:hover{border-color:#06b6d4;color:#0e7490}.group-name-tag[data-v-74540f6f]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.section-card[data-v-74540f6f]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem;margin-top:1.25rem}.section-header[data-v-74540f6f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.header-right[data-v-74540f6f]{display:flex;gap:.5rem;flex-wrap:wrap}.section-title[data-v-74540f6f]{font-size:1rem;font-weight:700;color:#2c3e50;margin:0}.members-list[data-v-74540f6f]{display:grid;gap:.6rem}.member-item[data-v-74540f6f]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;background:#f9fafb;border-radius:10px;border-left:3px solid #06b6d4;flex-wrap:wrap}.member-main[data-v-74540f6f]{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.member-actions[data-v-74540f6f]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.leader-badge[data-v-74540f6f]{display:inline-block;padding:.15rem .55rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:12px;font-size:.75rem;font-weight:800}.leader-badge.clickable[data-v-74540f6f]{cursor:pointer;transition:filter .2s,transform .2s}.leader-badge.clickable[data-v-74540f6f]:hover{filter:brightness(1.06);transform:translateY(-1px)}.leader-badge.disabled[data-v-74540f6f]{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-action[data-v-74540f6f]{padding:.28rem .72rem;border:1px solid #bae6fd;border-radius:8px;background:#f0f9ff;color:#0369a1;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-action[data-v-74540f6f]:hover:not(:disabled){border-color:#38bdf8;background:#e0f2fe}.btn-action.btn-danger[data-v-74540f6f]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.btn-action.btn-danger[data-v-74540f6f]:hover:not(:disabled){border-color:#fca5a5;background:#fee2e2}.btn-action[data-v-74540f6f]:disabled{opacity:.55;cursor:not-allowed}.btn-sm[data-v-74540f6f]{padding:.3rem .85rem;font-size:.85rem}.page-nav[data-v-e36d3098]{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.page-nav h2[data-v-e36d3098]{margin:0}.btn-back[data-v-e36d3098]{padding:.4rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-back[data-v-e36d3098]:hover{border-color:#06b6d4;color:#0e7490}.group-name-tag[data-v-e36d3098]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.stats-row[data-v-e36d3098]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;margin-bottom:1.25rem}.stat-card[data-v-e36d3098]{background:#fff;border:2px solid #e5e7eb;border-radius:14px;padding:1.25rem 1rem;text-align:center}.stat-number[data-v-e36d3098]{font-size:1.8rem;font-weight:900;color:#0e7490;line-height:1}.stat-label[data-v-e36d3098]{margin-top:.4rem;font-size:.85rem;color:#64748b;font-weight:600}.section-card[data-v-e36d3098]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem}.section-header[data-v-e36d3098]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.header-right[data-v-e36d3098]{display:flex;gap:.5rem;flex-wrap:wrap}.section-title[data-v-e36d3098]{font-size:1rem;font-weight:700;color:#2c3e50;margin:0}.stats-list[data-v-e36d3098]{display:grid;gap:.75rem}.stats-item[data-v-e36d3098]{padding:1rem;border-radius:12px;background:#f9fafb;border-left:3px solid #06b6d4}.stats-item-top[data-v-e36d3098]{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:.6rem;flex-wrap:wrap}.progress-bar[data-v-e36d3098]{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-fill[data-v-e36d3098]{height:100%;border-radius:999px;background:linear-gradient(135deg,#06b6d4,#14b8a6)}.btn-sm[data-v-e36d3098]{padding:.3rem .85rem;font-size:.85rem}@media(max-width:500px){.stats-row[data-v-e36d3098]{grid-template-columns:1fr}}.page-nav[data-v-bd702b44]{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.page-nav h2[data-v-bd702b44]{margin:0}.btn-back[data-v-bd702b44]{padding:.4rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-back[data-v-bd702b44]:hover{border-color:#06b6d4;color:#0e7490}.group-name-tag[data-v-bd702b44]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.section-card[data-v-bd702b44]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem;margin-top:1.25rem}.section-header[data-v-bd702b44]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.section-title[data-v-bd702b44]{font-size:1rem;font-weight:700;color:#2c3e50;margin:0 0 .35rem}.header-actions[data-v-bd702b44]{display:flex;gap:.5rem;flex-wrap:wrap}.toolbar[data-v-bd702b44]{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:.9rem}.form-group[data-v-bd702b44]{display:flex;flex-direction:column;gap:.4rem}.form-group label[data-v-bd702b44]{font-weight:600;font-size:.9rem;color:#374151}.form-group input[data-v-bd702b44],.form-group select[data-v-bd702b44]{padding:.6rem .85rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit}.form-group input[data-v-bd702b44]:focus,.form-group select[data-v-bd702b44]:focus{outline:none;border-color:#06b6d4}.search-group[data-v-bd702b44]{flex:1;min-width:220px}.toolbar-actions[data-v-bd702b44]{display:flex;gap:.5rem;flex-wrap:wrap}.students-box[data-v-bd702b44]{padding:.75rem;border:2px solid #e5e7eb;border-radius:12px;background:#f9fafb;max-height:420px;overflow:auto;margin-bottom:.75rem}.students-list[data-v-bd702b44]{display:flex;flex-direction:column;gap:.45rem}.student-row[data-v-bd702b44]{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:10px;background:#fff;border:1px solid rgba(148,163,184,.25);cursor:pointer}.student-row[data-v-bd702b44]:hover{border-color:#06b6d473}.student-row.disabled[data-v-bd702b44]{opacity:.68;background:#f8fafc}.student-main[data-v-bd702b44]{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;flex:1}.class-tag[data-v-bd702b44]{display:inline-flex;align-items:center;padding:.08rem .48rem;border-radius:999px;font-size:.72rem;color:#155e75;background:#06b6d424;border:1px solid rgba(6,182,212,.25)}.role-tag[data-v-bd702b44]{display:inline-flex;align-items:center;padding:.08rem .48rem;border-radius:999px;font-size:.72rem;color:#7c2d12;background:#fb923c24;border:1px solid rgba(251,146,60,.25)}.status-tag[data-v-bd702b44]{display:inline-flex;align-items:center;padding:.08rem .48rem;border-radius:999px;font-size:.72rem;color:#374151;background:#f3f4f6;border:1px solid rgba(107,114,128,.25);flex-shrink:0}.selected-count[data-v-bd702b44]{margin:0 0 .75rem}.form-actions[data-v-bd702b44]{display:flex;gap:1rem}.form-actions button[data-v-bd702b44]{flex:1}.btn-sm[data-v-bd702b44]{padding:.3rem .85rem;font-size:.85rem}@media(max-width:768px){.toolbar[data-v-bd702b44]{align-items:stretch}.toolbar-actions[data-v-bd702b44],.header-actions[data-v-bd702b44],.form-actions[data-v-bd702b44]{width:100%}.toolbar-actions button[data-v-bd702b44],.header-actions button[data-v-bd702b44],.form-actions button[data-v-bd702b44]{flex:1}}.page-nav[data-v-2fd35b55]{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.page-nav h2[data-v-2fd35b55]{margin:0}.btn-back[data-v-2fd35b55]{padding:.4rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-back[data-v-2fd35b55]:hover{border-color:#06b6d4;color:#0e7490}.section-card[data-v-2fd35b55]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem;margin-top:1.25rem}.section-header[data-v-2fd35b55]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-title[data-v-2fd35b55]{font-size:1rem;font-weight:700;color:#2c3e50;margin:0}.requests-list[data-v-2fd35b55]{display:grid;gap:1rem}.request-item[data-v-2fd35b55]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;background:#f9fafb;border-radius:12px;border-left:3px solid #06b6d4;flex-wrap:wrap}.request-info[data-v-2fd35b55]{flex:1;display:flex;flex-direction:column;gap:.25rem}.error-message[data-v-2fd35b55]{padding:.85rem 1rem;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:10px}.request-reason[data-v-2fd35b55]{margin:.25rem 0;color:#555;font-size:.95rem}.request-time[data-v-2fd35b55]{font-size:.85rem;margin:0}.request-actions[data-v-2fd35b55]{display:flex;gap:.5rem;flex-shrink:0}.btn-sm[data-v-2fd35b55]{padding:.3rem .85rem;font-size:.85rem}.page-nav[data-v-31f1b190]{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.page-nav h2[data-v-31f1b190]{margin:0}.btn-back[data-v-31f1b190]{padding:.4rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-back[data-v-31f1b190]:hover{border-color:#06b6d4;color:#0e7490}.group-name-tag[data-v-31f1b190]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.section-card[data-v-31f1b190]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem;margin-top:1.25rem}.section-title[data-v-31f1b190]{font-size:1rem;font-weight:700;color:#2c3e50;margin:0 0 1rem}.form-row[data-v-31f1b190]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group[data-v-31f1b190]{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-group label[data-v-31f1b190]{font-weight:600;font-size:.9rem;color:#374151}.form-group input[data-v-31f1b190]{padding:.6rem .85rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit}.form-group input[data-v-31f1b190]:focus{outline:none;border-color:#06b6d4}.form-group textarea[data-v-31f1b190]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;box-sizing:border-box}.form-group textarea[data-v-31f1b190]:focus{outline:none;border-color:#06b6d4}.muted-small[data-v-31f1b190]{color:#94a3b8;font-size:.82rem;margin:-.5rem 0 .5rem}.form-actions[data-v-31f1b190]{display:flex;gap:1rem}.form-actions button[data-v-31f1b190]{flex:1}.homework-layout[data-v-31f1b190]{display:grid;grid-template-columns:280px 1fr;gap:1.25rem;margin-top:1.25rem;align-items:start}.hw-list-panel[data-v-31f1b190]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1rem;position:sticky;top:1rem}.panel-header[data-v-31f1b190]{margin-bottom:.85rem}.panel-title[data-v-31f1b190]{font-weight:700;color:#2c3e50;font-size:.95rem}.hw-list[data-v-31f1b190]{display:grid;gap:.6rem}.hw-list-item[data-v-31f1b190]{text-align:left;border:2px solid #e5e7eb;border-radius:12px;background:#f9fafb;padding:.85rem;cursor:pointer;transition:all .2s;width:100%}.hw-list-item[data-v-31f1b190]:hover{border-color:#06b6d4;background:#f0f9ff}.hw-list-item.active[data-v-31f1b190]{border-color:#06b6d4;background:#ecfeff}.hw-item-top[data-v-31f1b190]{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.3rem}.hw-item-top strong[data-v-31f1b190]{font-size:.9rem;color:#2c3e50}.hw-meta[data-v-31f1b190]{font-size:.82rem;margin:.15rem 0 0}.hw-badge[data-v-31f1b190]{padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap;flex-shrink:0}.badge-active[data-v-31f1b190]{background:#d1fae5;color:#065f46}.badge-idle[data-v-31f1b190]{background:#f3f4f6;color:#374151}.hw-detail[data-v-31f1b190]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.5rem}.hw-detail-head[data-v-31f1b190]{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.4rem}.hw-detail-head h4[data-v-31f1b190]{margin:0;font-size:1.1rem;color:#2c3e50}.hw-description[data-v-31f1b190]{white-space:pre-wrap;line-height:1.7;color:#334155;margin:.75rem 0;padding:.75rem;background:#f8fafc;border-radius:8px}.hw-actions[data-v-31f1b190]{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.divider[data-v-31f1b190]{height:1px;background:#e5e7eb;margin:1rem 0}.submissions-header[data-v-31f1b190]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.submissions-header-actions[data-v-31f1b190]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.submission-list[data-v-31f1b190]{display:grid;gap:1rem}.submission-item[data-v-31f1b190]{border:1px solid #e2e8f0;border-radius:12px;padding:.85rem;background:#f8fafc}.sub-head[data-v-31f1b190]{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.sub-content[data-v-31f1b190]{margin:.6rem 0;white-space:pre-wrap;color:#1f2937;line-height:1.6}.attach-list[data-v-31f1b190]{margin:.6rem 0;display:grid;gap:.4rem}.attach-item[data-v-31f1b190]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .7rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.attach-name[data-v-31f1b190]{color:#334155;font-size:.88rem;word-break:break-all}.sub-actions[data-v-31f1b190]{margin-top:.6rem;display:flex;justify-content:flex-end}.empty-state[data-v-31f1b190]{text-align:center;padding:2rem}.btn-sm[data-v-31f1b190]{padding:.3rem .85rem;font-size:.85rem}@media(max-width:768px){.homework-layout[data-v-31f1b190]{grid-template-columns:1fr}.hw-list-panel[data-v-31f1b190]{position:static}.form-row[data-v-31f1b190]{grid-template-columns:1fr}}.page-nav[data-v-4180b275]{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.page-nav h2[data-v-4180b275]{margin:0}.btn-back[data-v-4180b275]{padding:.4rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-back[data-v-4180b275]:hover{border-color:#06b6d4;color:#0e7490}.group-name-tag[data-v-4180b275]{display:inline-block;padding:.2rem .75rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.section-card[data-v-4180b275]{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem 1.5rem;margin-top:1.25rem}.section-title[data-v-4180b275]{font-size:1rem;font-weight:700;color:#2c3e50;margin:0 0 .75rem}.info-rows[data-v-4180b275]{display:flex;flex-direction:column;gap:.75rem}.info-row[data-v-4180b275]{display:flex;gap:1rem;align-items:baseline}.info-label[data-v-4180b275]{flex-shrink:0;width:80px;font-size:.9rem;color:#64748b;font-weight:600}.info-value[data-v-4180b275]{color:#1e293b;font-size:.95rem}.status-badge[data-v-4180b275]{display:inline-block;padding:.15rem .55rem;border-radius:12px;font-size:.82rem;font-weight:700}.status-recruiting[data-v-4180b275]{background:#d1fae5;color:#065f46}.status-full[data-v-4180b275]{background:#fed7aa;color:#92400e}.status-closed[data-v-4180b275]{background:#e5e7eb;color:#374151}.danger-zone[data-v-4180b275]{border-color:#fca5a5}.danger-title[data-v-4180b275]{color:#dc2626}.mt[data-v-4180b275]{margin-top:.75rem}.toolbar[data-v-b1c769f3]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-filters[data-v-b1c769f3]{display:flex;gap:.75rem;flex:1;flex-wrap:wrap}.search-input[data-v-b1c769f3]{flex:1;min-width:200px;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.search-input[data-v-b1c769f3]:focus{outline:none;border-color:#06b6d4}.filter-select[data-v-b1c769f3]{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .3s}.filter-select[data-v-b1c769f3]:focus{outline:none;border-color:#06b6d4}.toolbar-actions[data-v-b1c769f3]{display:flex;gap:.75rem}.table-container[data-v-b1c769f3]{overflow-x:auto;overflow-y:visible;margin-bottom:1.5rem;border-radius:10px;border:1px solid #e0e0e0}.users-table[data-v-b1c769f3]{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem}.users-table thead[data-v-b1c769f3]{background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff}.users-table th[data-v-b1c769f3]{padding:1rem .75rem;text-align:left;font-weight:600;white-space:nowrap}.users-table tbody tr[data-v-b1c769f3]{border-bottom:1px solid #f0f0f0;transition:background-color .2s;position:relative}.users-table tbody tr[data-v-b1c769f3]:hover{background-color:#f8f9fa}.users-table tbody tr[data-v-b1c769f3]:last-child{border-bottom:none}.users-table td[data-v-b1c769f3]{padding:.875rem .75rem;vertical-align:middle}.col-username[data-v-b1c769f3],.col-realname[data-v-b1c769f3]{width:12%}.col-role[data-v-b1c769f3]{width:14%}.col-phone[data-v-b1c769f3]{width:13%}.col-studentid[data-v-b1c769f3],.col-class[data-v-b1c769f3]{width:12%}.col-status[data-v-b1c769f3]{width:10%}.col-actions[data-v-b1c769f3]{width:15%;text-align:center;overflow:visible}.role-badge[data-v-b1c769f3]{display:inline-block;padding:.35rem .75rem;border-radius:15px;font-size:.85rem;font-weight:600;white-space:nowrap}.status-badge[data-v-b1c769f3]{display:inline-block;padding:.3rem .65rem;border-radius:12px;font-size:.85rem;font-weight:600;white-space:nowrap}.action-dropdown[data-v-b1c769f3]{position:relative;display:inline-block}.btn-edit[data-v-b1c769f3]{background:#06b6d41f;border:1.5px solid rgba(6,182,212,.3);color:#0f766e;padding:.4rem .85rem;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s;white-space:nowrap}.btn-edit[data-v-b1c769f3]:hover,.btn-edit.active[data-v-b1c769f3]{background:#06b6d433;border-color:#06b6d480;transform:translateY(-1px)}.dropdown-menu[data-v-b1c769f3]{position:absolute;top:100%;right:0;margin-top:.25rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:140px;overflow:hidden}.dropdown-menu.dropdown-up[data-v-b1c769f3]{top:auto;bottom:100%;margin-top:0;margin-bottom:.25rem}.dropdown-item[data-v-b1c769f3]{display:block;width:100%;padding:.6rem 1rem;border:none;background:#fff;color:#2c3e50;text-align:left;font-size:.9rem;cursor:pointer;transition:background-color .2s;white-space:nowrap;font-weight:500}.dropdown-item[data-v-b1c769f3]:hover{background:#f8f9fa}.dropdown-item.danger[data-v-b1c769f3]{color:#dc2626}.dropdown-item.danger[data-v-b1c769f3]:hover{background:#fee}.superadmin-mark[data-v-b1c769f3]{color:#999;font-size:.9rem}.pagination[data-v-b1c769f3]{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e0e0e0;flex-wrap:wrap;gap:1rem}.pagination-info[data-v-b1c769f3]{color:#666;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.page-size-select[data-v-b1c769f3]{padding:.4rem .6rem;border:1.5px solid #e0e0e0;border-radius:6px;font-size:.9rem;cursor:pointer}.page-size-select[data-v-b1c769f3]:focus{outline:none;border-color:#06b6d4}.pagination-controls[data-v-b1c769f3]{display:flex;align-items:center;gap:.5rem}.btn-page[data-v-b1c769f3]{padding:.5rem .9rem;border:1.5px solid #e0e0e0;background:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;color:#2c3e50}.btn-page[data-v-b1c769f3]:hover:not(:disabled){border-color:#06b6d4;background:#06b6d40d;color:#06b6d4}.btn-page[data-v-b1c769f3]:disabled{opacity:.4;cursor:not-allowed}.page-indicator[data-v-b1c769f3]{padding:.5rem 1rem;font-weight:600;color:#2c3e50;white-space:nowrap}@media(max-width:1200px){.col-studentid[data-v-b1c769f3],.col-class[data-v-b1c769f3]{display:none}}@media(max-width:768px){.toolbar[data-v-b1c769f3]{flex-direction:column;align-items:stretch}.search-filters[data-v-b1c769f3]{flex-direction:column}.search-input[data-v-b1c769f3]{min-width:100%}.table-container[data-v-b1c769f3]{font-size:.85rem}.users-table th[data-v-b1c769f3],.users-table td[data-v-b1c769f3]{padding:.6rem .5rem}.col-phone[data-v-b1c769f3]{display:none}.pagination[data-v-b1c769f3]{flex-direction:column;align-items:stretch}.pagination-controls[data-v-b1c769f3]{justify-content:center}}.semester-selector[data-v-006f51f4]{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:#f9fafb;border-radius:12px}.semester-selector label[data-v-006f51f4]{font-weight:500;color:#2c3e50}.semester-selector select[data-v-006f51f4]{flex:1;max-width:300px;padding:.5rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.score-form[data-v-006f51f4]{display:flex;flex-direction:column;gap:1.5rem}.rule-fields[data-v-006f51f4]{padding:1.25rem;background:linear-gradient(135deg,#06b6d40d,#14b8a60d);border:1px solid rgba(6,182,212,.2);border-radius:12px}.rule-fields-header[data-v-006f51f4]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.rule-fields-title[data-v-006f51f4]{font-weight:600;color:#0891b2;font-size:.95rem}.rule-fields-hint[data-v-006f51f4]{font-size:.8rem;color:#64748b;line-height:1.4}.rule-fields-grid[data-v-006f51f4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.rule-field[data-v-006f51f4]{margin-bottom:0}.rule-field.field-disabled select[data-v-006f51f4]{opacity:.5;cursor:not-allowed}.score-input-wrapper[data-v-006f51f4]{display:flex;align-items:center;gap:1rem}.score-input[data-v-006f51f4]{flex:1;max-width:200px}.score-preview[data-v-006f51f4]{font-size:1.5rem;font-weight:700;padding:.5rem 1rem;border-radius:10px}.score-preview.positive[data-v-006f51f4]{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.form-group[data-v-006f51f4]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-006f51f4]{font-weight:500;color:#2c3e50}.required[data-v-006f51f4]{color:#ef4444}.form-group input[data-v-006f51f4],.form-group select[data-v-006f51f4],.form-group textarea[data-v-006f51f4]{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s}.form-group input[data-v-006f51f4]:focus,.form-group select[data-v-006f51f4]:focus,.form-group textarea[data-v-006f51f4]:focus{outline:none;border-color:#06b6d4}.hint[data-v-006f51f4]{font-size:.875rem;color:#6b7280}.score-positive[data-v-006f51f4]{color:#10b981;font-weight:600}.score-negative[data-v-006f51f4]{color:#ef4444;font-weight:600}.metadata-fields[data-v-006f51f4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.form-actions[data-v-006f51f4]{display:flex;gap:1rem;margin-top:1rem}.form-actions button[data-v-006f51f4]{flex:1;max-width:200px}.filter-tabs[data-v-006f51f4]{display:flex;gap:.5rem}.tab-btn[data-v-006f51f4]{padding:.5rem 1rem;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;transition:all .3s;font-size:.9rem}.tab-btn.active[data-v-006f51f4]{background:#06b6d4;color:#fff}.tab-btn[data-v-006f51f4]:hover:not(.active){background:#e5e7eb}.records-list[data-v-006f51f4]{display:flex;flex-direction:column;gap:1rem}.record-item[data-v-006f51f4]{padding:1.5rem;border:2px solid #e0e0e0;border-radius:12px;transition:all .3s}.record-item[data-v-006f51f4]:hover{border-color:#06b6d4;box-shadow:0 2px 8px #06b6d41a}.record-header[data-v-006f51f4]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.record-header h4[data-v-006f51f4]{font-size:1.1rem;color:#2c3e50;margin-bottom:.5rem}.record-meta[data-v-006f51f4]{display:flex;gap:.5rem;flex-wrap:wrap}.category-badge[data-v-006f51f4],.type-badge[data-v-006f51f4],.score-badge[data-v-006f51f4]{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.category-badge.category-moral[data-v-006f51f4]{background:#fef3c7;color:#92400e}.category-badge.category-professional[data-v-006f51f4]{background:#dbeafe;color:#1e40af}.category-badge.category-humanistic[data-v-006f51f4]{background:#fce7f3;color:#be185d}.type-badge[data-v-006f51f4]{background:#f3f4f6;color:#4b5563}.score-badge.positive[data-v-006f51f4]{background:#d1fae5;color:#065f46}.score-badge.negative[data-v-006f51f4]{background:#fee2e2;color:#991b1b}.status-badge[data-v-006f51f4]{padding:.375rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.status-badge.status-pending[data-v-006f51f4]{background:#fef3c7;color:#92400e}.status-badge.status-approved[data-v-006f51f4]{background:#d1fae5;color:#065f46}.status-badge.status-rejected[data-v-006f51f4]{background:#fee2e2;color:#991b1b}.record-desc[data-v-006f51f4]{color:#555;margin:1rem 0;line-height:1.6}.reject-reason[data-v-006f51f4]{padding:.75rem;background:#fef2f2;border-left:3px solid #ef4444;border-radius:4px;margin:1rem 0;color:#991b1b}.evidence-block[data-v-006f51f4]{margin-top:1rem;padding:1rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px}.evidence-block.uploaded[data-v-006f51f4]{background:linear-gradient(135deg,#10b9810d,#06b6d40d);border-color:#10b9814d}.evidence-block.pending[data-v-006f51f4]{background:linear-gradient(135deg,#f59e0b0d,#fbbf240d);border-color:#f59e0b4d}.evidence-header[data-v-006f51f4]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.06)}.evidence-icon[data-v-006f51f4]{font-size:1rem;font-weight:700;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%}.evidence-icon.check[data-v-006f51f4]{background:#10b981;color:#fff;font-size:.75rem}.evidence-icon.pending[data-v-006f51f4]{background:#f59e0b;color:#fff;font-size:.85rem}.evidence-title[data-v-006f51f4]{font-size:.95rem;font-weight:600;color:#374151}.evidence-count[data-v-006f51f4]{margin-left:auto;font-size:.8rem;color:#6b7280;background:#0000000d;padding:.2rem .6rem;border-radius:10px}.evidence-list[data-v-006f51f4]{display:flex;flex-direction:column;gap:.75rem}.evidence-card[data-v-006f51f4]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000f;transition:all .2s}.evidence-card[data-v-006f51f4]:hover{box-shadow:0 2px 8px #0000001a}.evidence-card-info[data-v-006f51f4]{display:flex;align-items:center;gap:.75rem;cursor:pointer;flex:1;min-width:0}.file-icon[data-v-006f51f4]{font-size:1.5rem;flex-shrink:0}.file-icon-text[data-v-006f51f4]{width:42px;height:42px;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0;text-transform:uppercase}.file-details[data-v-006f51f4]{display:flex;flex-direction:column;min-width:0}.file-name[data-v-006f51f4]{font-weight:600;color:#374151;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-subname[data-v-006f51f4]{font-size:.8rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size[data-v-006f51f4]{font-size:.8rem;color:#9ca3af}.evidence-card-actions[data-v-006f51f4]{display:flex;gap:.5rem;flex-shrink:0}.evidence-btn[data-v-006f51f4]{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.evidence-btn.view[data-v-006f51f4]{background:#06b6d41a;color:#0891b2}.evidence-btn.view[data-v-006f51f4]:hover{background:#06b6d433}.evidence-btn.remove[data-v-006f51f4]{background:#ef44441a;color:#dc2626}.evidence-btn.remove[data-v-006f51f4]:hover{background:#ef444433}.evidence-btn[data-v-006f51f4]:disabled{opacity:.5;cursor:not-allowed}.evidence-btn .btn-label[data-v-006f51f4]{display:inline}.upload-area[data-v-006f51f4]{display:flex;flex-direction:column;gap:.75rem}.file-input-hidden[data-v-006f51f4]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upload-btn[data-v-006f51f4]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 2rem;background:linear-gradient(135deg,#06b6d414,#14b8a614);border:2px dashed rgba(6,182,212,.4);border-radius:12px;cursor:pointer;transition:all .3s}.upload-btn[data-v-006f51f4]:hover:not(:disabled){background:linear-gradient(135deg,#06b6d426,#14b8a626);border-color:#06b6d499;transform:translateY(-2px)}.upload-btn[data-v-006f51f4]:disabled{opacity:.5;cursor:not-allowed}.upload-icon[data-v-006f51f4]{font-size:2.5rem;font-weight:300;color:#06b6d4;line-height:1}.upload-text[data-v-006f51f4]{font-size:1.1rem;font-weight:600;color:#0891b2}.upload-hint[data-v-006f51f4]{font-size:.85rem;color:#6b7280}.upload-info[data-v-006f51f4]{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.upload-formats[data-v-006f51f4],.upload-limits[data-v-006f51f4]{font-size:.8rem;color:#9ca3af}.evidence-tags[data-v-006f51f4]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.evidence-tag[data-v-006f51f4]{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:linear-gradient(135deg,#06b6d41a,#14b8a61a);border:1px solid rgba(6,182,212,.25);border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:500;color:#0891b2;transition:all .2s}.evidence-tag[data-v-006f51f4]:hover{background:linear-gradient(135deg,#06b6d433,#14b8a633);border-color:#06b6d466;transform:translateY(-1px);box-shadow:0 2px 8px #06b6d426}.tag-ext[data-v-006f51f4]{font-size:.65rem;font-weight:700;background:#06b6d433;padding:.15rem .4rem;border-radius:4px;text-transform:uppercase}.tag-text[data-v-006f51f4]{font-weight:600}.action-btn[data-v-006f51f4]{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.action-btn.edit[data-v-006f51f4]{background:#06b6d41a;color:#0891b2}.action-btn.edit[data-v-006f51f4]:hover{background:#06b6d433;transform:translateY(-1px)}.action-btn.delete[data-v-006f51f4]{background:#ef44441a;color:#dc2626}.action-btn.delete[data-v-006f51f4]:hover{background:#ef444433;transform:translateY(-1px)}.action-text[data-v-006f51f4]{font-weight:600}.record-evidence[data-v-006f51f4]{margin:.75rem 0;color:#555}.record-footer[data-v-006f51f4]{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6}.record-actions[data-v-006f51f4]{display:flex;gap:.75rem}@media(max-width:768px){.semester-selector[data-v-006f51f4]{flex-direction:column;align-items:stretch}.semester-selector select[data-v-006f51f4]{max-width:none}.filter-tabs[data-v-006f51f4]{flex-wrap:wrap}.record-header[data-v-006f51f4]{flex-direction:column}.record-status[data-v-006f51f4]{margin-top:.5rem}.upload-btn[data-v-006f51f4]{padding:1.25rem 1.5rem}.upload-info[data-v-006f51f4]{flex-direction:column;align-items:flex-start}.evidence-card[data-v-006f51f4]{flex-direction:column;align-items:flex-start;gap:.75rem}.evidence-card-info[data-v-006f51f4]{width:100%}.evidence-card-actions[data-v-006f51f4]{width:100%;justify-content:flex-end}.evidence-btn .btn-label[data-v-006f51f4],.action-btn .action-text[data-v-006f51f4]{display:none}.action-btn[data-v-006f51f4]{padding:.5rem .75rem}.record-footer[data-v-006f51f4]{flex-direction:column;gap:1rem;align-items:flex-start}.record-actions[data-v-006f51f4]{width:100%;justify-content:flex-end}}.preview-modal[data-v-006f51f4]{display:flex;flex-direction:column;gap:1rem}.preview-loading[data-v-006f51f4]{text-align:center;padding:3rem;color:#6b7280}.preview-content[data-v-006f51f4]{min-height:300px;max-height:70vh;overflow:auto}.preview-image-wrapper[data-v-006f51f4]{display:flex;justify-content:center;align-items:center;background:#f9fafb;border-radius:12px;padding:1rem}.preview-image[data-v-006f51f4]{max-width:100%;max-height:65vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px #0000001a}.preview-pdf-wrapper[data-v-006f51f4]{width:100%;height:70vh;border-radius:12px;overflow:hidden}.preview-pdf[data-v-006f51f4]{width:100%;height:100%;border:none}.preview-docx-wrapper[data-v-006f51f4]{max-height:70vh;overflow:auto;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.preview-docx[data-v-006f51f4]{padding:2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.8;color:#1e293b}.preview-docx h1[data-v-006f51f4],.preview-docx h2[data-v-006f51f4],.preview-docx h3[data-v-006f51f4],.preview-docx h4[data-v-006f51f4],.preview-docx h5[data-v-006f51f4],.preview-docx h6[data-v-006f51f4]{margin:1.5rem 0 1rem;font-weight:600;color:#0f172a}.preview-docx p[data-v-006f51f4]{margin:.75rem 0}.preview-docx table[data-v-006f51f4]{width:100%;border-collapse:collapse;margin:1rem 0}.preview-docx th[data-v-006f51f4],.preview-docx td[data-v-006f51f4]{border:1px solid #d1d5db;padding:.75rem;text-align:left}.preview-docx th[data-v-006f51f4]{background:#f3f4f6;font-weight:600}.preview-docx img[data-v-006f51f4]{max-width:100%;height:auto;border-radius:8px;margin:1rem 0}.preview-docx ul[data-v-006f51f4],.preview-docx ol[data-v-006f51f4]{margin:.75rem 0;padding-left:1.5rem}.preview-docx li[data-v-006f51f4]{margin:.35rem 0}.preview-other[data-v-006f51f4]{text-align:center;padding:3rem;background:#f9fafb;border-radius:12px}.preview-other-icon[data-v-006f51f4]{font-size:4rem;margin-bottom:1rem}.preview-other-name[data-v-006f51f4]{font-size:1.1rem;font-weight:600;color:#374151;margin-bottom:.5rem;word-break:break-all}.preview-actions[data-v-006f51f4]{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.preview-actions button[data-v-006f51f4]{min-width:100px}.filters[data-v-8c5d92dc]{display:flex;gap:1rem;align-items:center;margin-bottom:2rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:14px;flex-wrap:wrap}.filter-item[data-v-8c5d92dc]{display:flex;align-items:center;gap:.5rem}.filter-item label[data-v-8c5d92dc]{font-weight:600;color:#475569;font-size:.9rem}.filter-item select[data-v-8c5d92dc]{padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;background:#fff;transition:all .2s}.filter-item select[data-v-8c5d92dc]:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.records-list[data-v-8c5d92dc]{display:flex;flex-direction:column;gap:1.5rem}.review-card[data-v-8c5d92dc]{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;transition:all .3s;border:1px solid #e5e7eb}.review-card[data-v-8c5d92dc]:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.review-card-header[data-v-8c5d92dc]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid rgba(251,191,36,.3)}.status-indicator[data-v-8c5d92dc]{display:flex;align-items:center;gap:.5rem}.status-dot[data-v-8c5d92dc]{width:8px;height:8px;background:#f59e0b;border-radius:50%;animation:pulse-8c5d92dc 2s infinite}@keyframes pulse-8c5d92dc{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-8c5d92dc]{font-weight:600;color:#92400e;font-size:.9rem}.submit-time[data-v-8c5d92dc]{font-size:.85rem;color:#a16207}.review-card-body[data-v-8c5d92dc]{display:flex;gap:1.5rem;padding:1.5rem}.review-content[data-v-8c5d92dc]{flex:1;min-width:0}.student-card[data-v-8c5d92dc]{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#06b6d414,#14b8a614);border-radius:12px;margin-bottom:1rem}.student-avatar[data-v-8c5d92dc]{width:48px;height:48px;background:linear-gradient(135deg,#06b6d4,#14b8a6);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #06b6d44d}.avatar-text[data-v-8c5d92dc]{color:#fff;font-size:1.25rem;font-weight:700}.student-details[data-v-8c5d92dc]{min-width:0}.student-name[data-v-8c5d92dc]{font-size:1.1rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.student-meta[data-v-8c5d92dc]{display:flex;gap:1rem;flex-wrap:wrap}.meta-item[data-v-8c5d92dc]{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#64748b}.meta-label[data-v-8c5d92dc]{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase}.application-info[data-v-8c5d92dc]{margin-bottom:1rem}.application-title[data-v-8c5d92dc]{font-size:1.15rem;font-weight:600;color:#1e293b;margin-bottom:.75rem;line-height:1.4}.application-tags[data-v-8c5d92dc]{display:flex;gap:.5rem;flex-wrap:wrap}.app-tag[data-v-8c5d92dc]{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.app-tag.category[data-v-8c5d92dc]{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.app-tag.category.category-moral[data-v-8c5d92dc]{background:#fefce8;color:#854d0e;border:1px solid #fde047}.app-tag.category.category-professional[data-v-8c5d92dc]{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.app-tag.category.category-humanistic[data-v-8c5d92dc]{background:#fdf2f8;color:#9d174d;border:1px solid #fbcfe8}.app-tag.type[data-v-8c5d92dc]{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.app-tag.semester[data-v-8c5d92dc]{background:#f5f3ff;color:#5b21b6;border:1px solid #ddd6fe}.detail-section[data-v-8c5d92dc]{margin-bottom:1rem;padding:1rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.detail-label[data-v-8c5d92dc]{font-weight:600;color:#475569;font-size:.85rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.detail-content[data-v-8c5d92dc]{color:#334155;line-height:1.6;font-size:.95rem}.metadata-list[data-v-8c5d92dc]{display:flex;flex-wrap:wrap;gap:.5rem}.metadata-chip[data-v-8c5d92dc]{display:inline-flex;align-items:center;padding:.35rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem}.metadata-key[data-v-8c5d92dc]{color:#64748b;margin-right:.35rem}.metadata-key[data-v-8c5d92dc]:after{content:":"}.metadata-value[data-v-8c5d92dc]{color:#1e293b;font-weight:500}.evidence-gallery[data-v-8c5d92dc]{display:flex;flex-wrap:wrap;gap:.5rem}.evidence-chip[data-v-8c5d92dc]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#06b6d41a,#14b8a61a);border:1px solid rgba(6,182,212,.3);border-radius:25px;cursor:pointer;transition:all .2s;font-size:.9rem}.evidence-chip[data-v-8c5d92dc]:hover{background:linear-gradient(135deg,#06b6d433,#14b8a633);border-color:#06b6d480;transform:translateY(-1px);box-shadow:0 4px 12px #06b6d426}.evidence-chip-ext[data-v-8c5d92dc]{font-size:.65rem;font-weight:700;background:#06b6d433;padding:.15rem .4rem;border-radius:4px;text-transform:uppercase}.evidence-chip-text[data-v-8c5d92dc]{font-weight:600;color:#0891b2}.no-evidence[data-v-8c5d92dc]{color:#94a3b8;font-size:.9rem;font-style:italic}.review-sidebar[data-v-8c5d92dc]{display:flex;flex-direction:column;gap:1rem;width:160px;flex-shrink:0}.score-card[data-v-8c5d92dc]{padding:1.25rem;border-radius:14px;text-align:center;box-shadow:0 2px 8px #0000000f}.score-card.positive[data-v-8c5d92dc]{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #6ee7b7}.score-card.negative[data-v-8c5d92dc]{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #fca5a5}.score-label[data-v-8c5d92dc]{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.score-card.positive .score-label[data-v-8c5d92dc]{color:#047857}.score-card.negative .score-label[data-v-8c5d92dc]{color:#b91c1c}.score-value[data-v-8c5d92dc]{font-size:2.25rem;font-weight:800;line-height:1}.score-card.positive .score-value[data-v-8c5d92dc]{color:#059669}.score-card.negative .score-value[data-v-8c5d92dc]{color:#dc2626}.score-unit[data-v-8c5d92dc]{font-size:.85rem;font-weight:600;margin-top:.25rem}.score-card.positive .score-unit[data-v-8c5d92dc]{color:#047857}.score-card.negative .score-unit[data-v-8c5d92dc]{color:#b91c1c}.action-buttons[data-v-8c5d92dc]{display:flex;flex-direction:column;gap:.75rem}.action-btn[data-v-8c5d92dc]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1rem;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.action-btn.approve[data-v-8c5d92dc]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b98159}.action-btn.approve[data-v-8c5d92dc]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98173}.action-btn.reject[data-v-8c5d92dc]{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;box-shadow:0 4px 12px #ef444459}.action-btn.reject[data-v-8c5d92dc]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444473}.action-btn-icon[data-v-8c5d92dc]{font-size:1.1rem;font-weight:700}.empty-state[data-v-8c5d92dc]{text-align:center;padding:3rem 2rem}.empty-icon[data-v-8c5d92dc]{width:60px;height:60px;margin:0 auto 1rem;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;font-weight:700}.empty-text[data-v-8c5d92dc]{font-size:1.1rem;font-weight:600;color:#475569;margin-bottom:.5rem}.empty-hint[data-v-8c5d92dc]{font-size:.9rem;color:#94a3b8}.review-summary[data-v-8c5d92dc]{padding:1.25rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;margin-bottom:1.5rem;border:1px solid #e2e8f0}.review-summary p[data-v-8c5d92dc]{margin:.5rem 0;color:#475569;display:flex;gap:.5rem}.review-summary strong[data-v-8c5d92dc]{color:#1e293b}.score-positive[data-v-8c5d92dc]{color:#059669;font-weight:700}.score-negative[data-v-8c5d92dc]{color:#dc2626;font-weight:700}.form-group[data-v-8c5d92dc]{margin-bottom:1.5rem}.form-group label[data-v-8c5d92dc]{display:block;margin-bottom:.5rem;font-weight:600;color:#1e293b}.required[data-v-8c5d92dc]{color:#ef4444}.form-group input[data-v-8c5d92dc],.form-group textarea[data-v-8c5d92dc]{width:100%;padding:.85rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;font-family:inherit;transition:all .2s}.form-group input[data-v-8c5d92dc]:focus,.form-group textarea[data-v-8c5d92dc]:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.hint[data-v-8c5d92dc]{display:block;margin-top:.5rem;font-size:.85rem;color:#64748b}.modal-actions[data-v-8c5d92dc]{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button[data-v-8c5d92dc]{flex:1}@media(max-width:900px){.review-card-body[data-v-8c5d92dc]{flex-direction:column}.review-sidebar[data-v-8c5d92dc]{width:100%;flex-direction:row;gap:1rem}.score-card[data-v-8c5d92dc]{flex:1}.action-buttons[data-v-8c5d92dc]{flex:1;flex-direction:row}.action-btn[data-v-8c5d92dc]{flex:1}}@media(max-width:768px){.filters[data-v-8c5d92dc]{flex-direction:column;align-items:stretch}.filter-item[data-v-8c5d92dc]{width:100%}.filter-item select[data-v-8c5d92dc]{flex:1}.student-card[data-v-8c5d92dc]{flex-direction:column;text-align:center}.student-meta[data-v-8c5d92dc]{justify-content:center}.review-sidebar[data-v-8c5d92dc],.action-buttons[data-v-8c5d92dc]{flex-direction:column}}.preview-modal[data-v-8c5d92dc]{display:flex;flex-direction:column;gap:1rem}.preview-loading[data-v-8c5d92dc]{text-align:center;padding:3rem;color:#6b7280}.preview-content[data-v-8c5d92dc]{min-height:300px;max-height:70vh;overflow:auto}.preview-image-wrapper[data-v-8c5d92dc]{display:flex;justify-content:center;align-items:center;background:#f9fafb;border-radius:12px;padding:1rem}.preview-image[data-v-8c5d92dc]{max-width:100%;max-height:65vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px #0000001a}.preview-pdf-wrapper[data-v-8c5d92dc]{width:100%;height:70vh;border-radius:12px;overflow:hidden}.preview-pdf[data-v-8c5d92dc]{width:100%;height:100%;border:none}.preview-docx-wrapper[data-v-8c5d92dc]{max-height:70vh;overflow:auto;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.preview-docx[data-v-8c5d92dc]{padding:2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.8;color:#1e293b}.preview-docx h1[data-v-8c5d92dc],.preview-docx h2[data-v-8c5d92dc],.preview-docx h3[data-v-8c5d92dc],.preview-docx h4[data-v-8c5d92dc],.preview-docx h5[data-v-8c5d92dc],.preview-docx h6[data-v-8c5d92dc]{margin:1.5rem 0 1rem;font-weight:600;color:#0f172a}.preview-docx p[data-v-8c5d92dc]{margin:.75rem 0}.preview-docx table[data-v-8c5d92dc]{width:100%;border-collapse:collapse;margin:1rem 0}.preview-docx th[data-v-8c5d92dc],.preview-docx td[data-v-8c5d92dc]{border:1px solid #d1d5db;padding:.75rem;text-align:left}.preview-docx th[data-v-8c5d92dc]{background:#f3f4f6;font-weight:600}.preview-docx img[data-v-8c5d92dc]{max-width:100%;height:auto;border-radius:8px;margin:1rem 0}.preview-docx ul[data-v-8c5d92dc],.preview-docx ol[data-v-8c5d92dc]{margin:.75rem 0;padding-left:1.5rem}.preview-docx li[data-v-8c5d92dc]{margin:.35rem 0}.preview-other[data-v-8c5d92dc]{text-align:center;padding:3rem;background:#f9fafb;border-radius:12px}.preview-other-icon[data-v-8c5d92dc]{font-size:4rem;margin-bottom:1rem}.preview-other-name[data-v-8c5d92dc]{font-size:1.1rem;font-weight:600;color:#374151;margin-bottom:.5rem;word-break:break-all}.preview-actions[data-v-8c5d92dc]{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.preview-actions button[data-v-8c5d92dc]{min-width:100px}.filters[data-v-cb4f76be]{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:12px;flex-wrap:wrap}.filter-item[data-v-cb4f76be]{display:flex;align-items:center;gap:.5rem}.filter-item label[data-v-cb4f76be]{font-weight:600;color:#2c3e50}.filter-item select[data-v-cb4f76be]{padding:.5rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff}.scores-table[data-v-cb4f76be]{overflow-x:auto}table[data-v-cb4f76be]{width:100%;border-collapse:collapse}th[data-v-cb4f76be],td[data-v-cb4f76be]{padding:.9rem .75rem;text-align:left;border-bottom:1px solid #e5e7eb}thead[data-v-cb4f76be]{background:#f9fafb}th[data-v-cb4f76be]{font-weight:700;color:#2c3e50;white-space:nowrap}.clickable[data-v-cb4f76be]{cursor:pointer}.clickable[data-v-cb4f76be]:hover{background:#f9fafb}.score-cell[data-v-cb4f76be]{font-weight:700;color:#06b6d4;white-space:nowrap}.pending-pill[data-v-cb4f76be]{display:inline-block;padding:.2rem .6rem;border-radius:999px;background:#fef3c7;color:#92400e;font-weight:700}.empty-state[data-v-cb4f76be]{padding:1.5rem}.empty[data-v-cb4f76be],.muted[data-v-cb4f76be]{color:#6b7280}.modal-header[data-v-cb4f76be]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.student-summary[data-v-cb4f76be]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.summary-item[data-v-cb4f76be]{border:2px solid #e5e7eb;border-radius:12px;padding:.9rem;background:#fff}.summary-label[data-v-cb4f76be]{font-size:.85rem;color:#6b7280;margin-bottom:.25rem;font-weight:600}.summary-value[data-v-cb4f76be]{font-size:1.25rem;font-weight:800;color:#111827}.summary-value.highlight[data-v-cb4f76be]{color:#06b6d4}.tabs[data-v-cb4f76be]{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.tab-btn[data-v-cb4f76be]{padding:.5rem 1rem;border:none;border-radius:10px;background:#f3f4f6;cursor:pointer;font-weight:700}.tab-btn.active[data-v-cb4f76be]{background:#06b6d4;color:#fff}.subtabs[data-v-cb4f76be]{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.subtab-btn[data-v-cb4f76be]{padding:.35rem .9rem;border:none;border-radius:999px;background:#f3f4f6;cursor:pointer;font-weight:700;font-size:.9rem}.subtab-btn.active[data-v-cb4f76be]{background:#0ea5e9;color:#fff}.records-list[data-v-cb4f76be]{display:flex;flex-direction:column;gap:.75rem}.record-item[data-v-cb4f76be]{border:2px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff}.record-header[data-v-cb4f76be]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.record-info h4[data-v-cb4f76be]{margin:0 0 .5rem;color:#111827}.record-meta[data-v-cb4f76be]{display:flex;gap:.5rem;flex-wrap:wrap}.category-badge[data-v-cb4f76be],.type-badge[data-v-cb4f76be],.status-pill[data-v-cb4f76be]{padding:.25rem .6rem;border-radius:999px;font-size:.85rem;font-weight:700;border:1px solid #e5e7eb;background:#f9fafb;color:#374151}.category-badge.category-moral[data-v-cb4f76be]{background:#fef3c7;border-color:#f59e0b;color:#92400e}.category-badge.category-professional[data-v-cb4f76be]{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.category-badge.category-humanistic[data-v-cb4f76be]{background:#fce7f3;border-color:#ec4899;color:#9d174d}.status-pill.status-approved[data-v-cb4f76be]{background:#d1fae5;border-color:#10b981;color:#065f46}.status-pill.status-pending[data-v-cb4f76be]{background:#fef3c7;border-color:#f59e0b;color:#92400e}.status-pill.status-rejected[data-v-cb4f76be]{background:#fee2e2;border-color:#ef4444;color:#991b1b}.record-score[data-v-cb4f76be]{font-weight:900;font-size:1.25rem;padding:.4rem .8rem;border-radius:12px;white-space:nowrap}.record-score.positive[data-v-cb4f76be]{background:#d1fae5;color:#065f46}.record-score.negative[data-v-cb4f76be]{background:#fee2e2;color:#991b1b}.record-desc[data-v-cb4f76be]{color:#4b5563;margin:.75rem 0 0;line-height:1.6}.reject-reason[data-v-cb4f76be]{margin-top:.5rem;padding:.75rem;background:#fef2f2;border-left:3px solid #ef4444;border-radius:8px;color:#991b1b;font-weight:600}.record-evidence[data-v-cb4f76be]{margin-top:.5rem;color:#4b5563;line-height:1.6}.evidence-links[data-v-cb4f76be]{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.record-footer[data-v-cb4f76be]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem}.record-actions[data-v-cb4f76be]{display:flex;gap:.5rem}.manual-form .form-row[data-v-cb4f76be]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.rule-fields[data-v-cb4f76be]{padding:1.25rem;background:linear-gradient(135deg,#06b6d40d,#14b8a60d);border:1px solid rgba(6,182,212,.2);border-radius:12px;margin-bottom:1rem}.rule-fields-header[data-v-cb4f76be]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.rule-fields-title[data-v-cb4f76be]{font-weight:600;color:#0891b2;font-size:.95rem}.rule-fields-hint[data-v-cb4f76be]{font-size:.8rem;color:#64748b;line-height:1.4}.rule-fields-grid[data-v-cb4f76be]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.rule-field[data-v-cb4f76be]{margin-bottom:0}.rule-field.field-disabled select[data-v-cb4f76be]{opacity:.5;cursor:not-allowed}.score-input-wrapper[data-v-cb4f76be]{display:flex;align-items:center;gap:1rem}.score-input[data-v-cb4f76be]{flex:1;max-width:200px}.score-preview[data-v-cb4f76be]{font-size:1.25rem;font-weight:700;padding:.4rem .8rem;border-radius:10px}.score-preview.positive[data-v-cb4f76be]{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.score-preview.negative[data-v-cb4f76be]{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.form-actions[data-v-cb4f76be]{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.required[data-v-cb4f76be]{color:#ef4444}.hint[data-v-cb4f76be]{display:block;font-size:.875rem;color:#6b7280;margin-top:.4rem}@media(max-width:768px){.record-header[data-v-cb4f76be]{flex-direction:column}.record-footer[data-v-cb4f76be]{flex-direction:column;align-items:flex-start}}.page-header[data-v-50dab824]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-header h2[data-v-50dab824]{margin-bottom:.4rem}.header-actions[data-v-50dab824]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.semester-picker[data-v-50dab824]{display:flex;align-items:center;gap:.45rem}.semester-picker label[data-v-50dab824]{font-size:.9rem;font-weight:600;color:#475569}.semester-picker select[data-v-50dab824]{padding:.5rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.section-header-main[data-v-50dab824]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;flex-wrap:wrap}.section-header-main h3[data-v-50dab824]{margin:0}.section-actions[data-v-50dab824]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.classes-grid[data-v-50dab824]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem}.class-tile[data-v-50dab824]{background:#fff;border:2px solid #e5e7eb;border-radius:14px;padding:.95rem;display:flex;flex-direction:column;gap:.68rem;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s;outline:none}.class-tile[data-v-50dab824]:hover{border-color:#06b6d4;box-shadow:0 6px 18px #06b6d41f;transform:translateY(-1px)}.class-tile[data-v-50dab824]:focus-visible{border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d429}.class-tile.active[data-v-50dab824]{border-color:#06b6d4;box-shadow:0 8px 20px #06b6d429;background:linear-gradient(180deg,#fff,#f4fbfd)}.tile-top[data-v-50dab824]{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.tile-grade[data-v-50dab824]{font-size:.78rem;font-weight:600;color:#0e7490;background:#0e74901f;padding:.2rem .58rem;border-radius:999px}.tile-members[data-v-50dab824]{font-size:.82rem;font-weight:600;color:#475569}.tile-name[data-v-50dab824]{margin:0;font-size:1.03rem;font-weight:700;color:#1f2937;line-height:1.3}.tile-desc[data-v-50dab824]{margin:0;color:#64748b;font-size:.9rem;line-height:1.45;min-height:2.7em}.tile-footer[data-v-50dab824]{border-top:1px solid #eef2f7;padding-top:.65rem}.tile-teacher[data-v-50dab824]{font-size:.82rem;color:#64748b}.empty-box[data-v-50dab824]{border:1px dashed #d1d5db;border-radius:12px;padding:1rem;text-align:center;background:#f8fafc}.score-summary-card[data-v-50dab824]{background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem}.score-header[data-v-50dab824]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.score-header h3[data-v-50dab824]{font-size:1.5rem;margin:0}.total-score[data-v-50dab824]{font-size:3rem;font-weight:700}.score-breakdown[data-v-50dab824]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.breakdown-item[data-v-50dab824]{background:#fff3;padding:1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.breakdown-label[data-v-50dab824]{font-size:.9rem;opacity:.9;margin-bottom:.5rem}.breakdown-value[data-v-50dab824]{font-size:2rem;font-weight:700;margin-bottom:.5rem}.breakdown-contribution[data-v-50dab824]{font-size:.9rem;opacity:.8}.cards-grid[data-v-50dab824]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.detail-card[data-v-50dab824]{background:#fff;border-radius:16px;padding:1.5rem;border:2px solid #e0e0e0;transition:all .3s}.detail-card[data-v-50dab824]:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.detail-card.moral[data-v-50dab824]{border-color:#fbbf24}.detail-card.professional[data-v-50dab824]{border-color:#3b82f6}.detail-card.humanistic[data-v-50dab824]{border-color:#ec4899}.detail-card h4[data-v-50dab824]{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem}.detail-score[data-v-50dab824]{font-size:2rem;font-weight:700;color:#06b6d4;margin-bottom:1rem}.detail-breakdown[data-v-50dab824]{display:flex;flex-direction:column;gap:.5rem}.detail-item[data-v-50dab824]{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6;color:#555}.detail-item[data-v-50dab824]:last-child{border-bottom:none}.detail-item.positive span[data-v-50dab824]:last-child{color:#10b981;font-weight:600}.detail-item.negative span[data-v-50dab824]:last-child{color:#ef4444;font-weight:600}.records-table[data-v-50dab824],.scores-table[data-v-50dab824]{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px}table[data-v-50dab824]{width:100%;border-collapse:collapse}thead[data-v-50dab824]{background:#f8fafc}th[data-v-50dab824],td[data-v-50dab824]{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}th[data-v-50dab824]{font-weight:600;color:#2c3e50}tbody tr[data-v-50dab824]:hover{background:#f8fafc}.score-positive[data-v-50dab824]{color:#10b981;font-weight:600}.score-negative[data-v-50dab824]{color:#ef4444;font-weight:600}.score-cell[data-v-50dab824]{font-weight:600;color:#06b6d4}.rank-cell[data-v-50dab824]{text-align:center}.rank-badge[data-v-50dab824]{display:inline-block;width:32px;height:32px;line-height:32px;text-align:center;border-radius:50%;font-weight:700;background:#e5e7eb;color:#6b7280}.rank-badge.rank-1[data-v-50dab824]{background:linear-gradient(135deg,gold,#ffed4e);color:#92400e}.rank-badge.rank-2[data-v-50dab824]{background:linear-gradient(135deg,silver,#e8e8e8);color:#4b5563}.rank-badge.rank-3[data-v-50dab824]{background:linear-gradient(135deg,#cd7f32,#daa06d);color:#78350f}.stats-cards[data-v-50dab824]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-card[data-v-50dab824]{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s}.stat-card[data-v-50dab824]:hover{border-color:#06b6d4;transform:translateY(-2px)}.stat-label[data-v-50dab824]{font-size:.9rem;color:#6b7280;margin-bottom:.5rem}.stat-value[data-v-50dab824]{font-size:2rem;font-weight:700;color:#06b6d4}.stat-value.highlight[data-v-50dab824]{color:#f59e0b}@media(max-width:768px){.page-header[data-v-50dab824]{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.header-actions[data-v-50dab824]{justify-content:flex-start}.semester-picker[data-v-50dab824]{width:100%}.semester-picker select[data-v-50dab824]{flex:1;font-size:.95rem}.classes-grid[data-v-50dab824]{grid-template-columns:1fr}.section-actions[data-v-50dab824]{width:100%;justify-content:space-between}.score-summary-card[data-v-50dab824]{padding:1.25rem;border-radius:16px;margin-bottom:1.25rem}.score-header[data-v-50dab824]{margin-bottom:1rem}.total-score[data-v-50dab824]{font-size:2rem}.breakdown-value[data-v-50dab824]{font-size:1.5rem}.cards-grid[data-v-50dab824]{grid-template-columns:1fr;gap:1rem}.stats-cards[data-v-50dab824]{grid-template-columns:repeat(2,1fr)}.records-table[data-v-50dab824]{margin:0 -.5rem;border-radius:0;border-left:none;border-right:none;-webkit-overflow-scrolling:touch}table[data-v-50dab824]{font-size:.85rem}th[data-v-50dab824],td[data-v-50dab824]{padding:.75rem .5rem;white-space:nowrap}}.page-header[data-v-6f0e7e7c]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-header h2[data-v-6f0e7e7c]{margin-bottom:.4rem}.header-actions[data-v-6f0e7e7c]{display:flex;align-items:center;gap:.5rem}.toolbar[data-v-6f0e7e7c]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.detail-export-toolbar[data-v-6f0e7e7c]{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed #e2e8f0}.control-item[data-v-6f0e7e7c]{display:flex;align-items:center;gap:.45rem}.control-item label[data-v-6f0e7e7c]{font-size:.9rem;font-weight:600;color:#475569}.control-item select[data-v-6f0e7e7c]{padding:.5rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.control-item input[type=date][data-v-6f0e7e7c]{padding:.46rem .5rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.section-header-main[data-v-6f0e7e7c]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;flex-wrap:wrap}.section-header-main h3[data-v-6f0e7e7c]{margin:0}.empty-box[data-v-6f0e7e7c]{border:1px dashed #d1d5db;border-radius:12px;padding:1rem;text-align:center;background:#f8fafc}.scores-table[data-v-6f0e7e7c]{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px}table[data-v-6f0e7e7c]{width:100%;border-collapse:collapse}thead[data-v-6f0e7e7c]{background:#f8fafc}th[data-v-6f0e7e7c],td[data-v-6f0e7e7c]{padding:.85rem .75rem;text-align:left;border-bottom:1px solid #e5e7eb}th[data-v-6f0e7e7c]{font-weight:700;color:#334155}tbody tr[data-v-6f0e7e7c]:hover{background:#f8fafc}.score-cell[data-v-6f0e7e7c]{font-weight:600;color:#06b6d4}.pending-pill[data-v-6f0e7e7c]{display:inline-block;padding:.2rem .6rem;border-radius:999px;background:#fef3c7;color:#92400e;font-weight:700}.rank-cell[data-v-6f0e7e7c]{text-align:center}.rank-badge[data-v-6f0e7e7c]{display:inline-block;width:30px;height:30px;line-height:30px;text-align:center;border-radius:50%;font-weight:700;background:#e5e7eb;color:#6b7280}.rank-badge.rank-1[data-v-6f0e7e7c]{background:linear-gradient(135deg,gold,#ffed4e);color:#92400e}.rank-badge.rank-2[data-v-6f0e7e7c]{background:linear-gradient(135deg,silver,#e8e8e8);color:#4b5563}.rank-badge.rank-3[data-v-6f0e7e7c]{background:linear-gradient(135deg,#cd7f32,#daa06d);color:#78350f}@media(max-width:768px){.page-header[data-v-6f0e7e7c],.toolbar[data-v-6f0e7e7c]{flex-direction:column;align-items:stretch}.control-item[data-v-6f0e7e7c]{width:100%;justify-content:space-between}.control-item select[data-v-6f0e7e7c]{flex:1;min-width:0}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.modal-open,html.modal-open body{overflow:hidden}#app{width:100%;min-height:100vh}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 15px}@media(max-width:768px){.container{padding:0 12px}.main{padding:1rem 0}.card{padding:1.25rem;border-radius:12px}.btn-primary,.btn-action{padding:.8rem;font-size:1rem;min-height:44px;display:flex;align-items:center;justify-content:center}}.app{display:flex;flex-direction:column;min-height:100vh}.loading-screen{min-height:100vh;background:linear-gradient(135deg,#06b6d4,#14b8a6);display:flex;align-items:center;justify-content:center;padding:2rem}.loading-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:2.5rem;max-width:520px;width:100%;text-align:center}.loading-card h2{color:#2c3e50;margin-bottom:.5rem}.loading-card p{color:#666}.auth-page{min-height:100vh;background:linear-gradient(135deg,#06b6d4,#14b8a6);display:flex;align-items:center;justify-content:center;padding:2rem}.auth-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:3rem;max-width:500px;width:100%}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:2.5rem;background:linear-gradient(135deg,#06b6d4,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.auth-header p{color:#666;font-size:1rem}.auth-form h2{color:#2c3e50;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#2c3e50;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#06b6d4}.btn-primary{width:100%;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border:none;padding:1rem;border-radius:10px;cursor:pointer;font-size:1.1rem;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #06b6d466}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #06b6d499}.btn-secondary{background:#06b6d41f;border:2px solid rgba(6,182,212,.25);color:#0f766e;padding:.7rem 1.1rem;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 6px 18px #06b6d426}.btn-danger{background:#ef44441f;border:2px solid rgba(239,68,68,.25);color:#b91c1c;padding:.7rem 1.1rem;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:700;transition:transform .2s,box-shadow .2s}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 18px #ef44441f}.btn-small{padding:.35rem .8rem;border-radius:16px;font-size:.85rem}.auth-switch{text-align:center;margin-top:1.5rem;color:#666}.auth-switch a{color:#06b6d4;cursor:pointer;text-decoration:none;font-weight:600}.auth-switch a:hover{text-decoration:underline}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #c33}.success-message{background:#efe;color:#3c3;padding:.75rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #3c3}.main-app{display:flex;flex-direction:column;min-height:100vh}.header{background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.header h1{font-size:1.8rem}.user-info{display:flex;align-items:center;gap:1rem}.user-badge{padding:.3rem .8rem;border-radius:15px;font-size:.85rem;font-weight:600}.role-superadmin{background:#ff6b6b;color:#fff}.role-teacher{background:#4ecdc4;color:#fff}.role-assistant{background:#95e1d3;color:#2c3e50}.role-student{background:#a8dadc;color:#2c3e50}.role-guest{background:#e0e0e0;color:#666}.user-name{font-weight:500}.btn-logout{background:#fff3;border:2px solid white;color:#fff;padding:.4rem 1rem;border-radius:20px;cursor:pointer;transition:all .3s}.btn-logout:hover{background:#fff;color:#06b6d4}.nav{display:flex;gap:1rem;flex-wrap:wrap}.nav button{background:#fff3;border:none;color:#fff;padding:.5rem 1.5rem;border-radius:20px;cursor:pointer;transition:all .3s;font-size:1rem}.nav button:hover{background:#ffffff4d}.nav button.active{background:#fff;color:#06b6d4}.nav-divider{color:#ffffff80;font-size:1.2rem;margin:0 .5rem;-webkit-user-select:none;user-select:none}.main{flex:1;padding:2rem 0;background:#f5f7fa}.view{animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.view h2{color:#2c3e50;margin-bottom:1rem;font-size:2rem}.view>p{color:#666;margin-bottom:2rem;font-size:1.1rem}.card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-top:1.5rem}.card h3{color:#2c3e50;margin-bottom:1rem}.card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.info-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.info-card h3{color:#06b6d4;margin-bottom:1rem}.info-card p,.info-card ul{color:#666;line-height:1.8}.info-card ul{list-style:none;padding:0}.info-card li{margin-bottom:.5rem}.profile-info p{margin-bottom:.8rem;color:#666}.status-active{color:#27ae60;font-weight:600}.status-inactive{color:#f39c12;font-weight:600}.status-suspended{color:#e74c3c;font-weight:600}.status-pill{padding:.25rem .7rem;border-radius:999px;font-size:.85rem;font-weight:700}.status-pending{background:#f59e0b26;color:#b45309}.status-approved{background:#22c55e26;color:#15803d}.status-rejected{background:#ef444426;color:#b91c1c}.status-canceled{background:#94a3b833;color:#475569}.user-filters{display:flex;gap:1rem;margin-bottom:1.5rem}.users-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.user-item{background:#f8f9fa;padding:1.5rem;border-radius:12px;border-left:4px solid #06b6d4}.user-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.user-item h4{color:#2c3e50;margin:0}.user-item p{color:#666;margin-bottom:.5rem}.user-item-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.role-assign{background:#f8f9fa;padding:1.5rem;border-radius:12px;border-left:4px solid #4ecdc4;margin-bottom:1.5rem}.role-assign h3{margin-bottom:1rem}.role-assign-row{display:flex;gap:1rem;align-items:center}.role-assign-row input{flex:1;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.role-assign-row input:focus{outline:none;border-color:#06b6d4}.btn-action{background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #06b6d440;white-space:nowrap}.btn-action:hover{transform:translateY(-1px);box-shadow:0 6px 20px #06b6d459}.btn-action.btn-small{padding:.35rem .8rem;border-radius:16px;font-size:.85rem;box-shadow:none}.requests-list{display:flex;flex-direction:column;gap:1rem}.request-item{background:#f8f9fa;padding:1.2rem;border-radius:12px;border-left:4px solid #06b6d4}.request-item-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.request-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.muted{color:#64748b;font-size:.95rem}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.class-item{background:#f8f9fa;padding:1.5rem;border-radius:12px;border-left:4px solid #4ecdc4}.class-item-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.8rem}.assistant-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}.tag{background:#06b6d41f;border:1px solid rgba(6,182,212,.25);color:#0f766e;padding:.25rem .6rem;border-radius:999px;font-size:.85rem;font-weight:700}.assistant-add{display:flex;gap:.6rem;align-items:center;margin-top:.8rem}.assistant-add input{flex:1;padding:.6rem .75rem;border:2px solid #e0e0e0;border-radius:10px}.assistant-add input:focus{outline:none;border-color:#06b6d4}.class-actions{display:flex;justify-content:flex-end;margin-top:.8rem}.members{margin-top:1rem;background:#fff;border-radius:12px;padding:1rem}.members-list{display:flex;flex-direction:column;gap:.7rem}.member-item{display:flex;justify-content:space-between;gap:1rem;background:#f8fafc;border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:.7rem .9rem}.requests{margin-top:1rem;background:#fff;border-radius:12px;padding:1rem}.requests h5{margin-bottom:.8rem;color:#2c3e50}.request-mini{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.7rem .9rem;border-radius:10px;background:#f8fafc;border:1px solid rgba(148,163,184,.25);margin-bottom:.7rem}.request-mini:last-child{margin-bottom:0}.request-mini-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.data-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.data-item{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;transition:transform .2s,box-shadow .2s}.data-item:hover{transform:translateY(-4px);box-shadow:0 8px 15px #00000026}.data-item h4{color:#06b6d4;margin-bottom:.5rem}.data-item p{color:#666}.empty{text-align:center;color:#999;margin-top:2rem;font-size:1.1rem}.footer{background:#2c3e50;color:#fff;padding:1.5rem 0;text-align:center}@media(max-width:768px){.auth-container{padding:2rem 1.5rem}.auth-header h1{font-size:2rem}.header-content{flex-direction:column;gap:1rem}.user-info{flex-wrap:wrap;justify-content:center}.header h1{font-size:1.5rem}.nav{gap:.5rem}.nav button{padding:.4rem 1rem;font-size:.9rem}.view h2{font-size:1.5rem}.card{padding:1.5rem}.info-cards,.users-list,.data-grid{grid-template-columns:1fr}.role-assign-row{flex-direction:column;align-items:stretch}.class-grid{grid-template-columns:1fr}.assistant-add{flex-direction:column;align-items:stretch}.btn-action{width:100%}.request-item-header,.member-item{flex-direction:column}}@media(max-width:480px){.auth-container{padding:1.5rem 1rem}.auth-header h1{font-size:1.8rem}.header h1{font-size:1.3rem}.card{padding:1rem}}
