.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-deef805a]{white-space:pre-wrap;line-height:1.7;color:#374151}.ui-dialog-input[data-v-deef805a]{margin-top:1rem}.ui-dialog-label[data-v-deef805a]{display:block;margin-bottom:.5rem;font-weight:700;color:#111827}.ui-dialog-control[data-v-deef805a]{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem}.ui-dialog-control[data-v-deef805a]:focus{outline:none;border-color:#06b6d4}.ui-dialog-error[data-v-deef805a]{margin-top:.5rem;color:#ef4444;font-weight:600}.ui-dialog-actions[data-v-deef805a]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}@media(max-width:640px){.ui-dialog-actions[data-v-deef805a]{flex-direction:column-reverse}.ui-dialog-actions button[data-v-deef805a]{width:100%}}.system-header[data-v-5716646e]{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-5716646e]{display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo[data-v-5716646e]{display:flex;align-items:center;gap:.75rem;font-size:1.8rem;font-weight:700;cursor:pointer;transition:transform .3s}.logo[data-v-5716646e]:hover{transform:scale(1.05)}.logo-icon[data-v-5716646e]{font-size:2.5rem}.logo-text[data-v-5716646e]{color:#fff}.main-nav[data-v-5716646e]{display:flex;gap:.5rem;flex:1;justify-content:center}.nav-btn[data-v-5716646e]{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-5716646e]:hover{background:#ffffff26}.nav-btn.active[data-v-5716646e]{background:#ffffff40;font-weight:600}.user-section[data-v-5716646e]{display:flex;align-items:center;gap:1rem}.user-info[data-v-5716646e]{display:flex;align-items:center;gap:.75rem}.user-badge[data-v-5716646e]{padding:.375rem .875rem;border-radius:15px;font-size:.85rem;font-weight:600;background:#ffffff40}.user-name[data-v-5716646e]{font-weight:500;font-size:.95rem}.btn-logout[data-v-5716646e]{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-logout[data-v-5716646e]:hover{background:#fff;color:#06b6d4;transform:translateY(-2px)}.btn-login[data-v-5716646e]{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-5716646e]:hover{background:#fff;color:#06b6d4;transform:translateY(-2px)}@media(max-width:968px){.header-content[data-v-5716646e]{flex-direction:column;gap:1rem}.main-nav[data-v-5716646e],.user-section[data-v-5716646e]{width:100%;justify-content:center;flex-wrap:wrap}.nav-btn[data-v-5716646e]{padding:.75rem 1.5rem;font-size:.9rem}}@media(max-width:640px){.logo[data-v-5716646e]{font-size:1.25rem}.logo-icon[data-v-5716646e]{font-size:1.5rem}.main-nav[data-v-5716646e]{gap:.5rem}.nav-btn[data-v-5716646e]{padding:.5rem 1rem;font-size:.95rem}.user-info[data-v-5716646e]{flex-wrap:wrap;justify-content:center}}.app-footer[data-v-3ea7718b]{color:#fff;padding:1rem 0;text-align:center;flex-shrink:0}.app-footer.default[data-v-3ea7718b]{background:#0000001a}.app-footer.dark[data-v-3ea7718b]{background:#2c3e50f2}.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-07be7c1a]{min-height:calc(100vh - 80px)}.loading-screen[data-v-07be7c1a]{min-height:calc(100vh - 80px);background:#f5f7fa;display:flex;align-items:center;justify-content:center;padding:2rem}.loading-card[data-v-07be7c1a]{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-07be7c1a]{color:#2c3e50;margin-bottom:.5rem}.loading-card p[data-v-07be7c1a]{color:#666}.dashboard-content[data-v-07be7c1a]{display:flex;min-height:calc(100vh - 80px);background:#f5f7fa}.sidebar[data-v-07be7c1a]{width:240px;background:#fff;border-right:1px solid #e5e7eb;padding:1.5rem 0;flex-shrink:0}.sidebar-nav[data-v-07be7c1a]{display:flex;flex-direction:column;gap:.25rem}.nav-item[data-v-07be7c1a]{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-07be7c1a]:hover{background:#f9fafb;color:#06b6d4}.nav-item.active[data-v-07be7c1a]{background:#f0f9ff;color:#06b6d4;border-left-color:#06b6d4;font-weight:600}.nav-icon[data-v-07be7c1a]{font-size:1.25rem;width:1.5rem;text-align:center}.main-content[data-v-07be7c1a]{flex:1;padding:2rem;overflow-y:auto}@media(max-width:968px){.dashboard-content[data-v-07be7c1a]{flex-direction:column}.sidebar[data-v-07be7c1a]{width:100%;border-right:none;border-bottom:1px solid #e5e7eb;padding:1rem 0}.sidebar-nav[data-v-07be7c1a]{flex-direction:row;overflow-x:auto;padding:0 1rem}.nav-item[data-v-07be7c1a]{white-space:nowrap;padding:.75rem 1rem;border-left:none;border-bottom:3px solid transparent}.nav-item.active[data-v-07be7c1a]{border-left-color:transparent;border-bottom-color:#06b6d4}.main-content[data-v-07be7c1a]{padding:1.5rem}}@media(max-width:640px){.nav-item span[data-v-07be7c1a]:not(.nav-icon){display:none}.nav-item[data-v-07be7c1a]{padding:.75rem;justify-content:center}.nav-icon[data-v-07be7c1a]{font-size:1.5rem}.main-content[data-v-07be7c1a]{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-7e8f06c0]{padding-bottom:2rem}.page-header[data-v-7e8f06c0]{margin-bottom:2rem}.page-header h2[data-v-7e8f06c0]{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.page-header p[data-v-7e8f06c0]{color:#6b7280;font-size:1.1rem}.loading-container[data-v-7e8f06c0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#6b7280}.loading-spinner[data-v-7e8f06c0]{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#06b6d4;border-radius:50%;animation:spin-7e8f06c0 1s linear infinite;margin-bottom:1rem}@keyframes spin-7e8f06c0{to{transform:rotate(360deg)}}.leaderboards-container[data-v-7e8f06c0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.leaderboard-card[data-v-7e8f06c0]{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.leaderboard-card[data-v-7e8f06c0]:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.card-header[data-v-7e8f06c0]{padding:1.5rem;color:#fff;display:flex;align-items:center;gap:1rem}.total-score .card-header[data-v-7e8f06c0]{background:linear-gradient(135deg,#06b6d4,#3b82f6)}.dev-score .card-header[data-v-7e8f06c0]{background:linear-gradient(135deg,#10b981,#059669)}.header-icon[data-v-7e8f06c0]{font-size:2rem;background:#fff3;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.header-text h3[data-v-7e8f06c0]{margin:0;font-size:1.25rem;font-weight:700;line-height:1.2}.header-text .subtitle[data-v-7e8f06c0]{font-size:.85rem;opacity:.9;font-weight:400}.leaderboard-content[data-v-7e8f06c0]{padding:1rem;background:#fff;flex:1}.leaderboard-list[data-v-7e8f06c0]{display:flex;flex-direction:column;gap:.75rem}.leaderboard-item[data-v-7e8f06c0]{display:flex;align-items:center;padding:.75rem 1rem;background:#f9fafb;border-radius:12px;border:1px solid #f3f4f6;transition:all .2s ease;animation:slideIn-7e8f06c0 .5s ease backwards}@keyframes slideIn-7e8f06c0{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.leaderboard-item[data-v-7e8f06c0]:hover{background:#fff;border-color:#e5e7eb;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:scale(1.02)}.leaderboard-item.top-three[data-v-7e8f06c0]{border:none}.leaderboard-item.rank-1[data-v-7e8f06c0]{background:linear-gradient(to right,#fffbeb,#fff7ed);border-left:4px solid #f59e0b}.leaderboard-item.rank-2[data-v-7e8f06c0]{background:linear-gradient(to right,#f8fafc,#f1f5f9);border-left:4px solid #94a3b8}.leaderboard-item.rank-3[data-v-7e8f06c0]{background:linear-gradient(to right,#fff7ed,#ffedd5);border-left:4px solid #f97316}.rank-badge[data-v-7e8f06c0]{width:40px;display:flex;justify-content:center;align-items:center;font-size:1.5rem;margin-right:.5rem;flex-shrink:0}.rank-number[data-v-7e8f06c0]{font-size:1rem;font-weight:700;color:#6b7280;background:#e5e7eb;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.student-profile[data-v-7e8f06c0]{flex:1;display:flex;align-items:center;gap:.75rem;overflow:hidden}.student-avatar[data-v-7e8f06c0]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0;box-shadow:0 2px 4px #3b82f64d}.dev-avatar[data-v-7e8f06c0]{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 2px 4px #10b9814d}.student-details[data-v-7e8f06c0]{display:flex;flex-direction:column;overflow:hidden}.student-name[data-v-7e8f06c0]{font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-class[data-v-7e8f06c0]{font-size:.75rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-badge[data-v-7e8f06c0]{text-align:right;background:#3b82f61a;padding:.25rem .75rem;border-radius:12px;min-width:70px;display:flex;flex-direction:column;align-items:flex-end}.dev-badge[data-v-7e8f06c0]{background:#10b9811a}.score-value[data-v-7e8f06c0]{font-weight:800;color:#2563eb;font-size:1.1rem;line-height:1.2}.dev-badge .score-value[data-v-7e8f06c0]{color:#059669}.score-label[data-v-7e8f06c0]{font-size:.65rem;color:#6b7280;font-weight:500}.empty-state[data-v-7e8f06c0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#9ca3af;text-align:center}.empty-icon[data-v-7e8f06c0]{font-size:3rem;margin-bottom:1rem;opacity:.5}@media(max-width:640px){.page-header h2[data-v-7e8f06c0]{font-size:1.5rem}.leaderboards-container[data-v-7e8f06c0]{grid-template-columns:1fr}.rank-badge[data-v-7e8f06c0]{width:30px;font-size:1.2rem}.student-avatar[data-v-7e8f06c0]{width:32px;height:32px;font-size:.9rem}.score-badge[data-v-7e8f06c0]{padding:.2rem .5rem;min-width:60px}.score-value[data-v-7e8f06c0]{font-size:1rem}}.loading[data-v-2ff91b37]{text-align:center;padding:3rem;color:#6b7280;font-size:1.1rem}.groups-grid[data-v-2ff91b37]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.group-tile[data-v-2ff91b37]{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-2ff91b37]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #06b6d426;border-color:#06b6d4}.group-tile.tile-recruiting[data-v-2ff91b37]{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.group-tile.tile-recruiting[data-v-2ff91b37]:hover{border-color:#059669;box-shadow:0 8px 24px #10b98133}.tile-header[data-v-2ff91b37]{display:flex;flex-direction:column;gap:.5rem}.tile-title[data-v-2ff91b37]{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}.type-badge[data-v-2ff91b37]{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;width:fit-content}.type-badge.badge-administrative[data-v-2ff91b37]{background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff}.type-badge.badge-interest[data-v-2ff91b37]{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff}.tile-info[data-v-2ff91b37]{display:flex;flex-direction:column;gap:.5rem;flex:1}.info-item[data-v-2ff91b37]{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#6b7280}.info-icon[data-v-2ff91b37]{font-size:1.1rem}.info-text[data-v-2ff91b37]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-footer[data-v-2ff91b37]{display:flex;justify-content:flex-end}.status-badge[data-v-2ff91b37]{padding:.375rem .875rem;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge.status-recruiting[data-v-2ff91b37]{background:#d1fae5;color:#065f46}.status-badge.status-full[data-v-2ff91b37]{background:#fed7aa;color:#92400e}.status-badge.status-closed[data-v-2ff91b37]{background:#e5e7eb;color:#374151}.empty[data-v-2ff91b37]{text-align:center;padding:3rem;color:#9ca3af}[data-v-2ff91b37] .base-modal-panel.guest-warning-modal{text-align:center;max-width:440px;box-shadow:0 25px 50px #00000026}.warning-icon[data-v-2ff91b37]{font-size:3.5rem;margin-bottom:1rem;animation:wave-2ff91b37 .6s ease-in-out}@keyframes wave-2ff91b37{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}[data-v-2ff91b37] .base-modal-panel.guest-warning-modal h3{color:#2c3e50;margin-bottom:1rem;font-size:1.4rem}.warning-text[data-v-2ff91b37]{color:#6b7280;font-size:1rem;line-height:1.6;margin-bottom:1rem}.warning-hint[data-v-2ff91b37]{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-2ff91b37]{font-size:1.2rem;flex-shrink:0}.warning-hint span[data-v-2ff91b37]:last-child{color:#0e7490;font-size:.9rem;font-weight:500;text-align:left}.group-detail[data-v-2ff91b37]{margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:12px}.detail-desc[data-v-2ff91b37]{color:#555;line-height:1.6;margin-bottom:1rem}.detail-info p[data-v-2ff91b37]{margin:.5rem 0;color:#666;font-size:.95rem}.read-only-tip[data-v-2ff91b37]{margin:.5rem 0 1rem}.modal-actions[data-v-2ff91b37]{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button[data-v-2ff91b37]{flex:1}textarea[data-v-2ff91b37]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical}textarea[data-v-2ff91b37]:focus{outline:none;border-color:#06b6d4}@media(max-width:768px){.groups-grid[data-v-2ff91b37]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.group-tile[data-v-2ff91b37]{padding:1.25rem;min-height:160px}.tile-title[data-v-2ff91b37]{font-size:1.1rem}.modal[data-v-2ff91b37]{padding:1.5rem}}@media(max-width:480px){.groups-grid[data-v-2ff91b37]{grid-template-columns:1fr}}.mono[data-v-c570cad4]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.group-card[data-v-c570cad4]{padding:1.35rem}.group-selector[data-v-c570cad4]{display:flex;flex-wrap:wrap;gap:.75rem}.group-chip[data-v-c570cad4]{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-c570cad4]:hover{border-color:#06b6d4;box-shadow:0 6px 18px #06b6d41f;transform:translateY(-1px)}.group-chip.active[data-v-c570cad4]{border-color:transparent;background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;box-shadow:0 8px 24px #06b6d433}.group-summary[data-v-c570cad4]{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.summary-main[data-v-c570cad4]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.5rem}.group-title[data-v-c570cad4]{font-size:1.15rem;margin-bottom:.4rem;color:#2c3e50}.summary-tags[data-v-c570cad4]{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.type-tag[data-v-c570cad4]{display:inline-block;padding:.2rem .65rem;border-radius:20px;font-size:.8rem;font-weight:700}.type-tag.type-administrative[data-v-c570cad4]{background:#e0f2fe;color:#0369a1}.type-tag.type-interest[data-v-c570cad4]{background:#fce7f3;color:#be185d}.category-tag[data-v-c570cad4]{display:inline-block;padding:.2rem .65rem;border-radius:20px;font-size:.8rem;background:#f0fdf4;color:#15803d;font-weight:700}.status-pill[data-v-c570cad4]{display:inline-block;padding:.2rem .65rem;border-radius:20px;font-size:.8rem;font-weight:700;background:#f3f4f6;color:#374151}.status-pill.status-recruiting[data-v-c570cad4]{background:#d1fae5;color:#065f46}.status-pill.status-full[data-v-c570cad4]{background:#fed7aa;color:#92400e}.status-pill.status-closed[data-v-c570cad4]{background:#e5e7eb;color:#374151}.summary-stats[data-v-c570cad4]{display:flex;gap:1rem}.stat-item[data-v-c570cad4]{background:#f9fafb;border-radius:12px;padding:.6rem .85rem;min-width:108px;text-align:center;border-left:3px solid #06b6d4}.stat-number[data-v-c570cad4]{font-size:1.35rem;font-weight:800;color:#0e7490}.stat-label[data-v-c570cad4]{font-size:.8rem;color:#64748b;margin-top:.25rem;font-weight:600}.tiles-grid[data-v-c570cad4]{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.tile[data-v-c570cad4]{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-c570cad4]:hover{transform:translateY(-3px);border-color:#06b6d4;box-shadow:0 10px 24px #06b6d41f}.tile-disabled[data-v-c570cad4]:hover{transform:translateY(-3px);border-color:#a7f3d0;box-shadow:0 10px 24px #10b9811f}.tile-header[data-v-c570cad4]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tile-header h3[data-v-c570cad4]{color:#2c3e50;margin:0}.tile-badge[data-v-c570cad4]{padding:.25rem .75rem;border-radius:999px;font-size:.85rem;font-weight:800;border:2px solid transparent;white-space:nowrap}.badge-active[data-v-c570cad4]{background:#d1fae5;color:#065f46;border-color:#10b9814d}.badge-idle[data-v-c570cad4]{background:#f3f4f6;color:#374151;border-color:#6b728040}.badge-info[data-v-c570cad4]{background:#06b6d41f;color:#0f766e;border-color:#06b6d440}.tile-sub[data-v-c570cad4]{margin:0;color:#374151;line-height:1.6}.tile-hint[data-v-c570cad4]{margin:0;color:#06b6d4;font-weight:800}.announcement-preview[data-v-c570cad4]{white-space:pre-wrap}.tile-progress[data-v-c570cad4]{display:flex;flex-direction:column;gap:.4rem}.progress-bar[data-v-c570cad4]{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-fill[data-v-c570cad4]{height:100%;border-radius:999px;background:linear-gradient(135deg,#06b6d4,#14b8a6);transition:width .3s}.modal-actions[data-v-c570cad4]{display:flex;gap:1rem;margin-top:1rem}.modal-actions button[data-v-c570cad4]{flex:1}.divider[data-v-c570cad4]{height:1px;background:#e5e7eb;margin:1.5rem 0}.section-title[data-v-c570cad4]{color:#2c3e50;margin-bottom:1rem}.muted-small[data-v-c570cad4]{color:#94a3b8;font-size:.85rem;margin-top:.25rem}.form-row[data-v-c570cad4]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}textarea[data-v-c570cad4]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical}textarea[data-v-c570cad4]:focus{outline:none;border-color:#06b6d4}.empty-box[data-v-c570cad4]{padding:1rem;background:#f9fafb;border-radius:12px;border-left:3px solid #06b6d4}.checkin-active[data-v-c570cad4]{border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem;background:linear-gradient(135deg,#fff,#f0f9ff)}.active-top[data-v-c570cad4]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.active-actions[data-v-c570cad4]{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.active-grid[data-v-c570cad4]{display:grid;grid-template-columns:220px 1fr;gap:1rem;align-items:stretch}.code-box[data-v-c570cad4]{border-radius:14px;border:2px dashed rgba(6,182,212,.45);padding:1rem;text-align:center;background:#fffc}.code-label[data-v-c570cad4]{font-size:.9rem;color:#64748b;font-weight:800}.code-value[data-v-c570cad4]{margin-top:.5rem;font-size:2rem;font-weight:900;color:#0e7490;letter-spacing:.06em}.progress-box[data-v-c570cad4]{border-radius:14px;border:2px solid #e5e7eb;padding:1rem;background:#fff}.progress-top[data-v-c570cad4]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem}.history[data-v-c570cad4]{margin-top:1.5rem}.history-header[data-v-c570cad4]{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem}.history-actions[data-v-c570cad4]{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.history-list[data-v-c570cad4]{display:grid;gap:.75rem}.history-item[data-v-c570cad4]{padding:1rem;border-radius:12px;background:#f9fafb;border-left:3px solid #06b6d4;display:flex;justify-content:space-between;gap:1rem;align-items:center}.history-right[data-v-c570cad4]{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.history-pill[data-v-c570cad4]{padding:.25rem .7rem;border-radius:999px;font-size:.85rem;font-weight:800;background:#e5e7eb;color:#374151}.pill-active[data-v-c570cad4]{background:#d1fae5;color:#065f46}.pill-ended[data-v-c570cad4]{background:#e5e7eb;color:#374151}.announce-list[data-v-c570cad4]{display:grid;gap:1rem}.announce-item[data-v-c570cad4]{padding:1rem;background:#f9fafb;border-radius:12px;border-left:3px solid #06b6d4}.announce-meta[data-v-c570cad4]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.announce-content[data-v-c570cad4]{white-space:pre-wrap;color:#374151;line-height:1.7;margin:0}.members-list[data-v-c570cad4]{margin-top:1rem;display:grid;gap:.75rem}.member-item[data-v-c570cad4]{padding:1rem;background:#f9fafb;border-radius:12px;border-left:3px solid #06b6d4;display:flex;justify-content:space-between;gap:1rem;align-items:center}.leader-badge-mini[data-v-c570cad4]{display:inline-block;padding:.15rem .55rem;background:#fbbf24;color:#fff;border-radius:12px;font-size:.75rem;margin-left:.5rem;font-weight:800}.stats-top[data-v-c570cad4]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stats-card[data-v-c570cad4]{padding:1rem;border-radius:14px;background:#f9fafb;border-left:3px solid #06b6d4;text-align:center}.stats-number[data-v-c570cad4]{font-size:1.6rem;font-weight:900;color:#0e7490}.stats-label[data-v-c570cad4]{margin-top:.25rem;font-size:.9rem;color:#64748b;font-weight:700}.stats-list[data-v-c570cad4]{display:grid;gap:.75rem}.stats-item[data-v-c570cad4]{padding:1rem;border-radius:12px;background:#f9fafb;border-left:3px solid #06b6d4}.stats-item-top[data-v-c570cad4]{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:.6rem;flex-wrap:wrap}@media(max-width:768px){.summary-main[data-v-c570cad4]{flex-direction:column;align-items:flex-start}.form-row[data-v-c570cad4],.active-grid[data-v-c570cad4],.stats-top[data-v-c570cad4]{grid-template-columns:1fr}}.group-card[data-v-80e68211]{padding:1.35rem}.group-header[data-v-80e68211]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.group-name[data-v-80e68211]{font-size:1.2rem;color:#2c3e50;margin-bottom:.4rem}.tags[data-v-80e68211]{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.type-tag[data-v-80e68211]{display:inline-block;padding:.2rem .65rem;border-radius:20px;font-size:.8rem;font-weight:700}.type-tag.type-administrative[data-v-80e68211]{background:#e0f2fe;color:#0369a1}.type-tag.type-interest[data-v-80e68211]{background:#fce7f3;color:#be185d}.category-tag[data-v-80e68211]{display:inline-block;padding:.2rem .65rem;border-radius:20px;font-size:.8rem;background:#f0fdf4;color:#15803d;font-weight:700}.leader-badge[data-v-80e68211]{display:inline-block;padding:.2rem .65rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:20px;font-size:.8rem;font-weight:700}.group-info p[data-v-80e68211]{margin:.35rem 0;font-size:.92rem}.tiles-grid[data-v-80e68211]{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.tile[data-v-80e68211]{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-80e68211]:hover{transform:translateY(-3px);border-color:#06b6d4;box-shadow:0 10px 24px #06b6d41f}.tile-disabled[data-v-80e68211]:hover{transform:translateY(-3px);border-color:#a7f3d0;box-shadow:0 10px 24px #10b9811f}.tile-header[data-v-80e68211]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tile-header h3[data-v-80e68211]{color:#2c3e50;margin:0}.tile-badge[data-v-80e68211]{padding:.25rem .75rem;border-radius:999px;font-size:.85rem;font-weight:800;border:2px solid transparent;white-space:nowrap}.badge-active[data-v-80e68211]{background:#d1fae5;color:#065f46;border-color:#10b9814d}.badge-idle[data-v-80e68211]{background:#f3f4f6;color:#374151;border-color:#6b728040}.badge-info[data-v-80e68211]{background:#06b6d41f;color:#0f766e;border-color:#06b6d440}.tile-sub[data-v-80e68211]{margin:0;color:#374151;line-height:1.6}.tile-hint[data-v-80e68211]{margin:0;color:#06b6d4;font-weight:800}.announcement-preview[data-v-80e68211]{white-space:pre-wrap}.empty-state[data-v-80e68211]{text-align:center}.modal-actions[data-v-80e68211]{display:flex;gap:1rem;margin-top:1rem}.modal-actions button[data-v-80e68211]{flex:1}.divider[data-v-80e68211]{height:1px;background:#e5e7eb;margin:1.5rem 0}.section-title[data-v-80e68211]{color:#2c3e50;margin-bottom:1rem}.empty-box[data-v-80e68211]{padding:1rem;background:#f9fafb;border-radius:12px;border-left:3px solid #06b6d4}.checkin-box[data-v-80e68211]{border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem;background:linear-gradient(135deg,#fff,#f0f9ff)}.checkin-top[data-v-80e68211]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.countdown[data-v-80e68211]{padding:.35rem .75rem;border-radius:999px;background:#06b6d41f;border:2px solid rgba(6,182,212,.2);color:#0f766e;font-weight:800;white-space:nowrap}.checked-in[data-v-80e68211]{padding:1rem;border-radius:12px;background:#f0fdf4;border-left:3px solid #10b981}.checked-in-badge[data-v-80e68211]{font-weight:900;color:#065f46;margin-bottom:.25rem}.announce-list[data-v-80e68211]{display:grid;gap:1rem}.announce-item[data-v-80e68211]{padding:1rem;background:#f9fafb;border-radius:12px;border-left:3px solid #06b6d4}.announce-content[data-v-80e68211]{white-space:pre-wrap;color:#374151;line-height:1.7;margin:.5rem 0 0}.members-list[data-v-80e68211]{margin-top:1rem;display:grid;gap:.75rem}.member-item[data-v-80e68211]{padding:1rem;background:#f9fafb;border-radius:12px;border-left:3px solid #06b6d4;display:flex;justify-content:space-between;gap:1rem;align-items:center}.leader-badge-mini[data-v-80e68211]{display:inline-block;padding:.15rem .55rem;background:#fbbf24;color:#fff;border-radius:12px;font-size:.75rem;margin-left:.5rem;font-weight:800}.stats-top[data-v-80e68211]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stats-card[data-v-80e68211]{padding:1rem;border-radius:14px;background:#f9fafb;border-left:3px solid #06b6d4;text-align:center}.stats-number[data-v-80e68211]{font-size:1.6rem;font-weight:900;color:#0e7490}.stats-label[data-v-80e68211]{margin-top:.25rem;font-size:.9rem;color:#64748b;font-weight:700}.stats-list[data-v-80e68211]{display:grid;gap:.75rem}.stats-item[data-v-80e68211]{padding:1rem;border-radius:12px;background:#f9fafb;border-left:3px solid #06b6d4}.stats-item-top[data-v-80e68211]{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:.6rem;flex-wrap:wrap}.progress-bar[data-v-80e68211]{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-fill[data-v-80e68211]{height:100%;border-radius:999px;background:linear-gradient(135deg,#06b6d4,#14b8a6)}@media(max-width:768px){.checkin-top[data-v-80e68211]{flex-direction:column;align-items:flex-start}.stats-top[data-v-80e68211]{grid-template-columns:1fr}}.hub-loading[data-v-fd5b2f3d]{margin-top:0}.bulletin-view[data-v-be8b99ec]{min-height:calc(100vh - 200px);padding:2rem 0;background:#f8f9fa}.page-header[data-v-be8b99ec]{text-align:center;margin-bottom:2.5rem}.page-title[data-v-be8b99ec]{font-size:2rem;font-weight:600;color:#1e293b;margin-bottom:.5rem;letter-spacing:.5px}.page-subtitle[data-v-be8b99ec]{font-size:1rem;color:#64748b;font-weight:400}.loading[data-v-be8b99ec]{text-align:center;padding:4rem 0;color:#64748b}.spinner[data-v-be8b99ec]{width:50px;height:50px;margin:0 auto 1rem;border:4px solid #e2e8f0;border-top-color:#06b6d4;border-radius:50%;animation:spin-be8b99ec 1s linear infinite}@keyframes spin-be8b99ec{to{transform:rotate(360deg)}}.error-message[data-v-be8b99ec]{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-be8b99ec]{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-be8b99ec]:hover{background:#0891b2;transform:translateY(-2px)}.empty-state[data-v-be8b99ec]{text-align:center;padding:4rem 2rem}.empty-icon[data-v-be8b99ec]{font-size:3rem;margin-bottom:1rem;color:#cbd5e1;font-weight:300}.empty-text[data-v-be8b99ec]{font-size:1.25rem;font-weight:500;color:#64748b;margin-bottom:.5rem}.empty-hint[data-v-be8b99ec]{font-size:.9rem;color:#94a3b8}.bulletin-grid[data-v-be8b99ec]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;padding:0 1rem}.bulletin-card[data-v-be8b99ec]{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-be8b99ec]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-positive[data-v-be8b99ec]{border-left-color:#3b82f6}.card-negative[data-v-be8b99ec]{border-left-color:#ef4444}.card-header[data-v-be8b99ec]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.student-info[data-v-be8b99ec]{display:flex;flex-direction:column;gap:.25rem}.student-name[data-v-be8b99ec]{font-size:1.1rem;font-weight:600;color:#1e293b}.student-id[data-v-be8b99ec]{font-size:.85rem;color:#94a3b8}.header-right[data-v-be8b99ec]{display:flex;align-items:center;gap:.5rem}.score-badge[data-v-be8b99ec]{padding:.375rem .875rem;border-radius:4px;font-size:1.125rem;font-weight:600;font-family:Courier New,monospace}.badge-positive[data-v-be8b99ec]{background:#3b82f6;color:#fff}.badge-negative[data-v-be8b99ec]{background:#ef4444;color:#fff}.dropdown[data-v-be8b99ec]{position:relative}.btn-menu[data-v-be8b99ec]{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-be8b99ec]:hover{background:#f9fafb;border-color:#9ca3af}.dropdown-menu[data-v-be8b99ec]{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-be8b99ec]{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-be8b99ec]:last-child{border-bottom:none}.dropdown-item[data-v-be8b99ec]:hover{background:#f9fafb;color:#1f2937}.dropdown-item.danger[data-v-be8b99ec]{color:#dc2626}.dropdown-item.danger[data-v-be8b99ec]:hover{background:#fef2f2;color:#b91c1c}.card-content[data-v-be8b99ec]{margin-bottom:1rem}.record-title[data-v-be8b99ec]{font-size:1.05rem;font-weight:600;color:#334155;margin-bottom:.5rem;line-height:1.4}.record-category[data-v-be8b99ec]{display:flex;gap:.5rem;margin-bottom:.5rem}.category-label[data-v-be8b99ec],.type-label[data-v-be8b99ec]{font-size:.75rem;padding:.25rem .75rem;border-radius:12px;background:#f1f5f9;color:#475569;font-weight:500}.record-description[data-v-be8b99ec]{font-size:.9rem;color:#64748b;line-height:1.5;margin-top:.5rem}.card-footer[data-v-be8b99ec]{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-be8b99ec]{display:flex;align-items:center;gap:.25rem}.time-icon[data-v-be8b99ec]{font-size:1rem}.time-text[data-v-be8b99ec]{font-weight:500}.reviewer-info[data-v-be8b99ec]{font-size:.8rem}@media(max-width:768px){.page-title[data-v-be8b99ec]{font-size:2rem}.bulletin-grid[data-v-be8b99ec]{grid-template-columns:1fr;gap:1rem}.bulletin-card[data-v-be8b99ec]{padding:1.25rem}.card-footer[data-v-be8b99ec]{flex-direction:column;align-items:flex-start;gap:.5rem}}.modal-overlay[data-v-be8b99ec]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-be8b99ec .2s ease-out}@keyframes fadeIn-be8b99ec{0%{opacity:0}to{opacity:1}}.modal-content[data-v-be8b99ec]{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;animation:slideUp-be8b99ec .3s ease-out}@keyframes slideUp-be8b99ec{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-be8b99ec]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.modal-header h2[data-v-be8b99ec]{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.btn-close[data-v-be8b99ec]{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-be8b99ec]:hover{background:#e2e8f0;color:#1e293b}.modal-body[data-v-be8b99ec]{padding:1.5rem}.form-group[data-v-be8b99ec]{margin-bottom:1.25rem}.form-group[data-v-be8b99ec]:last-child{margin-bottom:0}.form-group label[data-v-be8b99ec]{display:block;font-weight:500;color:#334155;margin-bottom:.5rem;font-size:.95rem}.form-input[data-v-be8b99ec],.form-textarea[data-v-be8b99ec]{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-be8b99ec]:focus,.form-textarea[data-v-be8b99ec]:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.form-textarea[data-v-be8b99ec]{resize:vertical;min-height:100px}.modal-footer[data-v-be8b99ec]{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e2e8f0;justify-content:flex-end}.btn-cancel[data-v-be8b99ec],.btn-save[data-v-be8b99ec]{padding:.625rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel[data-v-be8b99ec]{background:#f1f5f9;color:#64748b}.btn-cancel[data-v-be8b99ec]:hover{background:#e2e8f0}.btn-save[data-v-be8b99ec]{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;box-shadow:0 2px 6px #06b6d44d}.btn-save[data-v-be8b99ec]:hover{background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 4px 12px #06b6d466}.card-actions[data-v-fb2a7fdc]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.modal-actions[data-v-fb2a7fdc]{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button[data-v-fb2a7fdc]{flex:1}.class-actions[data-v-fb2a7fdc]{gap:.6rem;flex-wrap:wrap}.assistant-row[data-v-fb2a7fdc]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}.assistant-label[data-v-fb2a7fdc]{font-weight:700}.assistant-tags-inline[data-v-fb2a7fdc]{margin:0}.members-modal-header[data-v-fb2a7fdc]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;width:100%}.members-modal-title[data-v-fb2a7fdc]{margin:0;font-size:1.1rem;font-weight:800;color:#1f2937}.members-modal-actions[data-v-fb2a7fdc]{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.assistant-setting[data-v-fb2a7fdc]{background:#f8fafccc;border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:1rem;margin-bottom:1rem}.section-header[data-v-fb2a7fdc]{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.members-modal-members[data-v-fb2a7fdc]{margin-top:0;border:1px solid rgba(148,163,184,.18)}@media(max-width:640px){.members-modal-header[data-v-fb2a7fdc]{flex-direction:column;align-items:stretch}.members-modal-actions[data-v-fb2a7fdc]{justify-content:stretch}.members-modal-actions button[data-v-fb2a7fdc]{width:100%}}.form-row[data-v-a2f3bc62]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:768px){.form-row[data-v-a2f3bc62]{grid-template-columns:1fr}}textarea[data-v-a2f3bc62]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical}textarea[data-v-a2f3bc62]:focus{outline:none;border-color:#06b6d4}.group-grid[data-v-a2f3bc62]{display:grid;gap:1.5rem}.group-item[data-v-a2f3bc62]{border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:border-color .3s}.group-item[data-v-a2f3bc62]:hover{border-color:#06b6d4}.group-item-header[data-v-a2f3bc62]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.group-item-header h4[data-v-a2f3bc62]{font-size:1.25rem;color:#2c3e50;margin-bottom:.5rem}.type-tag[data-v-a2f3bc62]{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;margin-left:.5rem}.type-tag.type-administrative[data-v-a2f3bc62]{background:#e0f2fe;color:#0369a1}.type-tag.type-interest[data-v-a2f3bc62]{background:#fce7f3;color:#be185d}.category-tag[data-v-a2f3bc62]{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;background:#f0fdf4;color:#15803d;margin-left:.5rem}.status-pill.status-recruiting[data-v-a2f3bc62]{background:#d1fae5;color:#065f46}.status-pill.status-full[data-v-a2f3bc62]{background:#fed7aa;color:#92400e}.status-pill.status-closed[data-v-a2f3bc62]{background:#e5e7eb;color:#374151}.group-stats[data-v-a2f3bc62]{display:flex;gap:1rem;margin:1rem 0;font-size:.95rem;color:#666}.pending-badge[data-v-a2f3bc62]{color:#dc2626;font-weight:500}.group-actions[data-v-a2f3bc62]{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.leader-badge[data-v-a2f3bc62]{display:inline-block;padding:.125rem .5rem;background:#fbbf24;color:#fff;border-radius:12px;font-size:.75rem;margin-left:.5rem}.member-item[data-v-a2f3bc62]{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9fafb;border-radius:8px;margin-bottom:.5rem}.member-actions[data-v-a2f3bc62]{display:flex;gap:.5rem}.btn-mini[data-v-a2f3bc62]{padding:.25rem .75rem;font-size:.875rem}.request-reason[data-v-a2f3bc62]{font-size:.9rem;color:#666;margin-top:.25rem}.modal-actions[data-v-a2f3bc62]{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button[data-v-a2f3bc62]{flex:1}.quick-toolbar[data-v-a2f3bc62]{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-top:1rem}.quick-search[data-v-a2f3bc62]{flex:1;min-width:220px}.quick-actions[data-v-a2f3bc62]{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.students-box[data-v-a2f3bc62]{margin-top:1rem;padding:.75rem;border:2px solid #e5e7eb;border-radius:12px;background:#f9fafb;max-height:420px;overflow:auto}.students-list[data-v-a2f3bc62]{display:flex;flex-direction:column;gap:.35rem}.student-row[data-v-a2f3bc62]{display:flex;gap:.75rem;align-items:flex-start;padding:.6rem .75rem;border-radius:10px;background:#fff;border:1px solid rgba(148,163,184,.25);cursor:pointer}.student-row[data-v-a2f3bc62]:hover{border-color:#06b6d473}.student-row input[type=checkbox][data-v-a2f3bc62]{margin-top:.2rem}.student-main[data-v-a2f3bc62]{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.student-username[data-v-a2f3bc62]{font-size:.85rem}.quick-selected[data-v-a2f3bc62]{margin-top:.75rem}.groups-grid[data-v-15a01ca2]{display:grid;gap:1.5rem}.group-card[data-v-15a01ca2]{border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .3s}.group-card[data-v-15a01ca2]:hover{border-color:#06b6d4;box-shadow:0 4px 12px #06b6d41a}.group-header[data-v-15a01ca2]{margin-bottom:1rem}.group-header h4[data-v-15a01ca2]{font-size:1.25rem;color:#2c3e50;margin-bottom:.5rem}.type-tag[data-v-15a01ca2]{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;margin-left:.5rem}.type-tag.type-administrative[data-v-15a01ca2]{background:#e0f2fe;color:#0369a1}.type-tag.type-interest[data-v-15a01ca2]{background:#fce7f3;color:#be185d}.category-tag[data-v-15a01ca2]{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;background:#f0fdf4;color:#15803d;margin-left:.5rem}.leader-badge[data-v-15a01ca2]{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-15a01ca2]{color:#555;margin:1rem 0;line-height:1.6}.group-info[data-v-15a01ca2]{margin:1rem 0}.group-info p[data-v-15a01ca2]{margin:.5rem 0;font-size:.95rem}.group-actions[data-v-15a01ca2]{margin-top:1rem}.empty-state[data-v-15a01ca2]{text-align:center;padding:3rem 1rem}.empty-state .empty[data-v-15a01ca2]{margin-bottom:1.5rem;font-size:1.1rem}.modal-actions[data-v-15a01ca2]{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button[data-v-15a01ca2]{flex:1}.members-container[data-v-15a01ca2]{margin:1rem 0}.members-stats[data-v-15a01ca2]{margin-bottom:1rem;padding:.75rem;background:#f9fafb;border-radius:8px;text-align:center}.members-stats p[data-v-15a01ca2]{font-weight:500;color:#555}.members-list[data-v-15a01ca2]{display:grid;gap:.75rem}.member-item[data-v-15a01ca2]{padding:1rem;background:#f9fafb;border-radius:8px;border-left:3px solid #06b6d4;transition:all .2s}.member-item[data-v-15a01ca2]:hover{background:#f3f4f6;transform:translate(4px)}.member-info[data-v-15a01ca2]{margin-bottom:.5rem}.member-info strong[data-v-15a01ca2]{font-size:1rem;color:#2c3e50}.member-info .leader-badge[data-v-15a01ca2]{padding:.125rem .5rem;font-size:.75rem}.member-meta[data-v-15a01ca2]{font-size:.875rem}@media(max-width:768px){.modal[data-v-15a01ca2]{padding:1.5rem}.groups-grid[data-v-15a01ca2]{gap:1rem}.group-card[data-v-15a01ca2]{padding:1.25rem}}.semester-selector[data-v-8049a400]{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:#f9fafb;border-radius:12px}.semester-selector label[data-v-8049a400]{font-weight:500;color:#2c3e50}.semester-selector select[data-v-8049a400]{flex:1;max-width:300px;padding:.5rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.score-form[data-v-8049a400]{display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-8049a400]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-8049a400]{font-weight:500;color:#2c3e50}.required[data-v-8049a400]{color:#ef4444}.form-group input[data-v-8049a400],.form-group select[data-v-8049a400],.form-group textarea[data-v-8049a400]{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s}.form-group input[data-v-8049a400]:focus,.form-group select[data-v-8049a400]:focus,.form-group textarea[data-v-8049a400]:focus{outline:none;border-color:#06b6d4}.hint[data-v-8049a400]{font-size:.875rem;color:#6b7280}.score-positive[data-v-8049a400]{color:#10b981;font-weight:600}.score-negative[data-v-8049a400]{color:#ef4444;font-weight:600}.metadata-fields[data-v-8049a400]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.form-actions[data-v-8049a400]{display:flex;gap:1rem;margin-top:1rem}.form-actions button[data-v-8049a400]{flex:1;max-width:200px}.filter-tabs[data-v-8049a400]{display:flex;gap:.5rem}.tab-btn[data-v-8049a400]{padding:.5rem 1rem;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;transition:all .3s;font-size:.9rem}.tab-btn.active[data-v-8049a400]{background:#06b6d4;color:#fff}.tab-btn[data-v-8049a400]:hover:not(.active){background:#e5e7eb}.records-list[data-v-8049a400]{display:flex;flex-direction:column;gap:1rem}.record-item[data-v-8049a400]{padding:1.5rem;border:2px solid #e0e0e0;border-radius:12px;transition:all .3s}.record-item[data-v-8049a400]:hover{border-color:#06b6d4;box-shadow:0 2px 8px #06b6d41a}.record-header[data-v-8049a400]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.record-header h4[data-v-8049a400]{font-size:1.1rem;color:#2c3e50;margin-bottom:.5rem}.record-meta[data-v-8049a400]{display:flex;gap:.5rem;flex-wrap:wrap}.category-badge[data-v-8049a400],.type-badge[data-v-8049a400],.score-badge[data-v-8049a400]{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.category-badge.category-moral[data-v-8049a400]{background:#fef3c7;color:#92400e}.category-badge.category-professional[data-v-8049a400]{background:#dbeafe;color:#1e40af}.category-badge.category-humanistic[data-v-8049a400]{background:#fce7f3;color:#be185d}.type-badge[data-v-8049a400]{background:#f3f4f6;color:#4b5563}.score-badge.positive[data-v-8049a400]{background:#d1fae5;color:#065f46}.score-badge.negative[data-v-8049a400]{background:#fee2e2;color:#991b1b}.status-badge[data-v-8049a400]{padding:.375rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.status-badge.status-pending[data-v-8049a400]{background:#fef3c7;color:#92400e}.status-badge.status-approved[data-v-8049a400]{background:#d1fae5;color:#065f46}.status-badge.status-rejected[data-v-8049a400]{background:#fee2e2;color:#991b1b}.record-desc[data-v-8049a400]{color:#555;margin:1rem 0;line-height:1.6}.reject-reason[data-v-8049a400]{padding:.75rem;background:#fef2f2;border-left:3px solid #ef4444;border-radius:4px;margin:1rem 0;color:#991b1b}.record-footer[data-v-8049a400]{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6}.record-actions[data-v-8049a400]{display:flex;gap:1rem}.btn-link.danger[data-v-8049a400]{color:#ef4444}.btn-link.danger[data-v-8049a400]:hover{color:#dc2626}@media(max-width:768px){.semester-selector[data-v-8049a400]{flex-direction:column;align-items:stretch}.semester-selector select[data-v-8049a400]{max-width:none}.filter-tabs[data-v-8049a400]{flex-wrap:wrap}.record-header[data-v-8049a400]{flex-direction:column}.record-status[data-v-8049a400]{margin-top:.5rem}}.filters[data-v-856edc70]{display:flex;gap:1rem;align-items:center;margin-bottom:2rem;padding:1rem;background:#f9fafb;border-radius:12px;flex-wrap:wrap}.filter-item[data-v-856edc70]{display:flex;align-items:center;gap:.5rem}.filter-item label[data-v-856edc70]{font-weight:500;color:#2c3e50}.filter-item select[data-v-856edc70]{padding:.5rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.records-list[data-v-856edc70]{display:flex;flex-direction:column;gap:1rem}.record-item[data-v-856edc70]{padding:1.5rem;border:2px solid #fbbf24;background:#fef3c7;border-radius:12px;transition:all .3s}.record-item[data-v-856edc70]:hover{box-shadow:0 4px 12px #fbbf2433}.record-header[data-v-856edc70]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.record-info[data-v-856edc70]{flex:1}.record-info h4[data-v-856edc70]{font-size:1.1rem;color:#2c3e50;margin-bottom:.5rem}.student-info[data-v-856edc70]{display:flex;gap:1rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}.student-badge[data-v-856edc70]{padding:.25rem .75rem;background:#fff;border-radius:12px;font-weight:500;color:#06b6d4}.record-meta[data-v-856edc70]{display:flex;gap:.5rem;flex-wrap:wrap}.category-badge[data-v-856edc70],.type-badge[data-v-856edc70],.semester-badge[data-v-856edc70]{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.category-badge.category-moral[data-v-856edc70]{background:#fef3c7;color:#92400e;border:1px solid #92400e}.category-badge.category-professional[data-v-856edc70]{background:#dbeafe;color:#1e40af;border:1px solid #1e40af}.category-badge.category-humanistic[data-v-856edc70]{background:#fce7f3;color:#be185d;border:1px solid #be185d}.type-badge[data-v-856edc70]{background:#fff;color:#4b5563;border:1px solid #d1d5db}.semester-badge[data-v-856edc70]{background:#fff;color:#6b7280;border:1px solid #d1d5db}.record-score[data-v-856edc70]{display:flex;align-items:center}.score-display[data-v-856edc70]{font-size:1.5rem;font-weight:700;padding:.5rem 1rem;border-radius:12px}.score-display.positive[data-v-856edc70]{background:#d1fae5;color:#065f46}.score-display.negative[data-v-856edc70]{background:#fee2e2;color:#991b1b}.record-desc[data-v-856edc70],.record-metadata[data-v-856edc70]{padding:.75rem;background:#fff;border-radius:8px;margin:.5rem 0;color:#555;line-height:1.6}.metadata-item[data-v-856edc70]{display:inline-block;margin-right:1rem;padding:.25rem .5rem;background:#f3f4f6;border-radius:4px;font-size:.875rem}.record-footer[data-v-856edc70]{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.5)}.record-actions[data-v-856edc70]{display:flex;gap:.75rem}.review-summary[data-v-856edc70]{padding:1rem;background:#f9fafb;border-radius:8px;margin-bottom:1.5rem}.review-summary p[data-v-856edc70]{margin:.5rem 0;color:#555}.score-positive[data-v-856edc70]{color:#10b981;font-weight:600}.score-negative[data-v-856edc70]{color:#ef4444;font-weight:600}.form-group[data-v-856edc70]{margin-bottom:1.5rem}.form-group label[data-v-856edc70]{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.required[data-v-856edc70]{color:#ef4444}.form-group input[data-v-856edc70],.form-group textarea[data-v-856edc70]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit}.form-group input[data-v-856edc70]:focus,.form-group textarea[data-v-856edc70]:focus{outline:none;border-color:#06b6d4}.hint[data-v-856edc70]{display:block;margin-top:.5rem;font-size:.875rem;color:#6b7280}.modal-actions[data-v-856edc70]{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button[data-v-856edc70]{flex:1}@media(max-width:768px){.filters[data-v-856edc70]{flex-direction:column;align-items:stretch}.filter-item[data-v-856edc70]{width:100%}.filter-item select[data-v-856edc70]{flex:1}.record-header[data-v-856edc70]{flex-direction:column}.record-score[data-v-856edc70]{margin-top:1rem}.record-footer[data-v-856edc70]{flex-direction:column;gap:1rem;align-items:flex-start}.record-actions[data-v-856edc70]{width:100%}.record-actions button[data-v-856edc70]{flex:1}}.filters[data-v-cd5ea799]{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-cd5ea799]{display:flex;align-items:center;gap:.5rem}.filter-item label[data-v-cd5ea799]{font-weight:600;color:#2c3e50}.filter-item select[data-v-cd5ea799]{padding:.5rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff}.scores-table[data-v-cd5ea799]{overflow-x:auto}table[data-v-cd5ea799]{width:100%;border-collapse:collapse}th[data-v-cd5ea799],td[data-v-cd5ea799]{padding:.9rem .75rem;text-align:left;border-bottom:1px solid #e5e7eb}thead[data-v-cd5ea799]{background:#f9fafb}th[data-v-cd5ea799]{font-weight:700;color:#2c3e50;white-space:nowrap}.clickable[data-v-cd5ea799]{cursor:pointer}.clickable[data-v-cd5ea799]:hover{background:#f9fafb}.score-cell[data-v-cd5ea799]{font-weight:700;color:#06b6d4;white-space:nowrap}.pending-pill[data-v-cd5ea799]{display:inline-block;padding:.2rem .6rem;border-radius:999px;background:#fef3c7;color:#92400e;font-weight:700}.empty-state[data-v-cd5ea799]{padding:1.5rem}.empty[data-v-cd5ea799],.muted[data-v-cd5ea799]{color:#6b7280}.modal-header[data-v-cd5ea799]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.student-summary[data-v-cd5ea799]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.summary-item[data-v-cd5ea799]{border:2px solid #e5e7eb;border-radius:12px;padding:.9rem;background:#fff}.summary-label[data-v-cd5ea799]{font-size:.85rem;color:#6b7280;margin-bottom:.25rem;font-weight:600}.summary-value[data-v-cd5ea799]{font-size:1.25rem;font-weight:800;color:#111827}.summary-value.highlight[data-v-cd5ea799]{color:#06b6d4}.tabs[data-v-cd5ea799]{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.tab-btn[data-v-cd5ea799]{padding:.5rem 1rem;border:none;border-radius:10px;background:#f3f4f6;cursor:pointer;font-weight:700}.tab-btn.active[data-v-cd5ea799]{background:#06b6d4;color:#fff}.subtabs[data-v-cd5ea799]{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.subtab-btn[data-v-cd5ea799]{padding:.35rem .9rem;border:none;border-radius:999px;background:#f3f4f6;cursor:pointer;font-weight:700;font-size:.9rem}.subtab-btn.active[data-v-cd5ea799]{background:#0ea5e9;color:#fff}.records-list[data-v-cd5ea799]{display:flex;flex-direction:column;gap:.75rem}.record-item[data-v-cd5ea799]{border:2px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff}.record-header[data-v-cd5ea799]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.record-info h4[data-v-cd5ea799]{margin:0 0 .5rem;color:#111827}.record-meta[data-v-cd5ea799]{display:flex;gap:.5rem;flex-wrap:wrap}.category-badge[data-v-cd5ea799],.type-badge[data-v-cd5ea799],.status-pill[data-v-cd5ea799]{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-cd5ea799]{background:#fef3c7;border-color:#f59e0b;color:#92400e}.category-badge.category-professional[data-v-cd5ea799]{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.category-badge.category-humanistic[data-v-cd5ea799]{background:#fce7f3;border-color:#ec4899;color:#9d174d}.status-pill.status-approved[data-v-cd5ea799]{background:#d1fae5;border-color:#10b981;color:#065f46}.status-pill.status-pending[data-v-cd5ea799]{background:#fef3c7;border-color:#f59e0b;color:#92400e}.status-pill.status-rejected[data-v-cd5ea799]{background:#fee2e2;border-color:#ef4444;color:#991b1b}.record-score[data-v-cd5ea799]{font-weight:900;font-size:1.25rem;padding:.4rem .8rem;border-radius:12px;white-space:nowrap}.record-score.positive[data-v-cd5ea799]{background:#d1fae5;color:#065f46}.record-score.negative[data-v-cd5ea799]{background:#fee2e2;color:#991b1b}.record-desc[data-v-cd5ea799]{color:#4b5563;margin:.75rem 0 0;line-height:1.6}.reject-reason[data-v-cd5ea799]{margin-top:.5rem;padding:.75rem;background:#fef2f2;border-left:3px solid #ef4444;border-radius:8px;color:#991b1b;font-weight:600}.record-footer[data-v-cd5ea799]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem}.record-actions[data-v-cd5ea799]{display:flex;gap:.5rem}.manual-form .form-row[data-v-cd5ea799]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.form-actions[data-v-cd5ea799]{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.required[data-v-cd5ea799]{color:#ef4444}.hint[data-v-cd5ea799]{display:block;font-size:.875rem;color:#6b7280;margin-top:.4rem}@media(max-width:768px){.record-header[data-v-cd5ea799]{flex-direction:column}.record-footer[data-v-cd5ea799]{flex-direction:column;align-items:flex-start}}.semester-selector[data-v-ffc1f609]{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:#f9fafb;border-radius:12px;flex-wrap:wrap}.semester-selector label[data-v-ffc1f609]{font-weight:500;color:#2c3e50}.semester-selector select[data-v-ffc1f609]{flex:1;max-width:300px;padding:.5rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.score-summary-card[data-v-ffc1f609]{background:linear-gradient(135deg,#06b6d4,#14b8a6);color:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem}.score-header[data-v-ffc1f609]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.score-header h3[data-v-ffc1f609]{font-size:1.5rem;margin:0}.total-score[data-v-ffc1f609]{font-size:3rem;font-weight:700}.score-breakdown[data-v-ffc1f609]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.breakdown-item[data-v-ffc1f609]{background:#fff3;padding:1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.breakdown-label[data-v-ffc1f609]{font-size:.9rem;opacity:.9;margin-bottom:.5rem}.breakdown-value[data-v-ffc1f609]{font-size:2rem;font-weight:700;margin-bottom:.5rem}.breakdown-contribution[data-v-ffc1f609]{font-size:.9rem;opacity:.8}.cards-grid[data-v-ffc1f609]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.detail-card[data-v-ffc1f609]{background:#fff;border-radius:16px;padding:1.5rem;border:2px solid #e0e0e0;transition:all .3s}.detail-card[data-v-ffc1f609]:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.detail-card.moral[data-v-ffc1f609]{border-color:#fbbf24}.detail-card.professional[data-v-ffc1f609]{border-color:#3b82f6}.detail-card.humanistic[data-v-ffc1f609]{border-color:#ec4899}.detail-card h4[data-v-ffc1f609]{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem}.detail-score[data-v-ffc1f609]{font-size:2rem;font-weight:700;color:#06b6d4;margin-bottom:1rem}.detail-breakdown[data-v-ffc1f609]{display:flex;flex-direction:column;gap:.5rem}.detail-item[data-v-ffc1f609]{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6;color:#555}.detail-item[data-v-ffc1f609]:last-child{border-bottom:none}.detail-item.positive span[data-v-ffc1f609]:last-child{color:#10b981;font-weight:600}.detail-item.negative span[data-v-ffc1f609]:last-child{color:#ef4444;font-weight:600}.records-table[data-v-ffc1f609],.scores-table[data-v-ffc1f609]{overflow-x:auto}table[data-v-ffc1f609]{width:100%;border-collapse:collapse}thead[data-v-ffc1f609]{background:#f9fafb}th[data-v-ffc1f609],td[data-v-ffc1f609]{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}th[data-v-ffc1f609]{font-weight:600;color:#2c3e50}tbody tr[data-v-ffc1f609]:hover{background:#f9fafb}.score-positive[data-v-ffc1f609]{color:#10b981;font-weight:600}.score-negative[data-v-ffc1f609]{color:#ef4444;font-weight:600}.score-cell[data-v-ffc1f609]{font-weight:600;color:#06b6d4}.rank-cell[data-v-ffc1f609]{text-align:center}.rank-badge[data-v-ffc1f609]{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-ffc1f609]{background:linear-gradient(135deg,gold,#ffed4e);color:#92400e}.rank-badge.rank-2[data-v-ffc1f609]{background:linear-gradient(135deg,silver,#e8e8e8);color:#4b5563}.rank-badge.rank-3[data-v-ffc1f609]{background:linear-gradient(135deg,#cd7f32,#daa06d);color:#78350f}.stats-cards[data-v-ffc1f609]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-card[data-v-ffc1f609]{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s}.stat-card[data-v-ffc1f609]:hover{border-color:#06b6d4;transform:translateY(-2px)}.stat-label[data-v-ffc1f609]{font-size:.9rem;color:#6b7280;margin-bottom:.5rem}.stat-value[data-v-ffc1f609]{font-size:2rem;font-weight:700;color:#06b6d4}.stat-value.highlight[data-v-ffc1f609]{color:#f59e0b}@media(max-width:768px){.semester-selector[data-v-ffc1f609]{flex-direction:column;align-items:stretch}.semester-selector select[data-v-ffc1f609]{max-width:none}.total-score[data-v-ffc1f609]{font-size:2rem}.breakdown-value[data-v-ffc1f609]{font-size:1.5rem}.cards-grid[data-v-ffc1f609]{grid-template-columns:1fr}.stats-cards[data-v-ffc1f609]{grid-template-columns:repeat(2,1fr)}table[data-v-ffc1f609]{font-size:.875rem}th[data-v-ffc1f609],td[data-v-ffc1f609]{padding:.75rem .5rem}}*{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 10px}}.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}}
