.login-layout[data-v-e1ef40bd]{background-color:var(--color-surface);min-height:100vh;display:flex}.left-panel[data-v-e1ef40bd]{background-color:var(--color-primary);color:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.branding[data-v-e1ef40bd]{text-align:center;flex-direction:column;justify-content:center;align-items:center;animation:1s ease-out fadeIn-e1ef40bd;display:flex}.logo-blanco[data-v-e1ef40bd]{max-width:400px;margin-bottom:2rem}.branding h2[data-v-e1ef40bd]{letter-spacing:1px;color:var(--color-surface);margin-bottom:.5rem;font-family:Georgia,serif;font-size:2.5rem;font-style:italic;font-weight:700}.motto[data-v-e1ef40bd]{opacity:.9;font-family:Georgia,serif;font-size:1.5rem;font-style:italic}.right-panel[data-v-e1ef40bd]{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.login-container[data-v-e1ef40bd]{width:100%;max-width:400px;animation:.5s ease-out slideLeft-e1ef40bd}.login-header[data-v-e1ef40bd]{margin-bottom:2.5rem}.login-header h1[data-v-e1ef40bd]{color:var(--color-primary);margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-header p[data-v-e1ef40bd]{color:var(--color-text-muted);font-size:1rem}.form-group[data-v-e1ef40bd]{margin-bottom:1.5rem}.form-group label[data-v-e1ef40bd]{color:var(--color-text-main);margin-bottom:.5rem;font-weight:600;display:block}.input-field[data-v-e1ef40bd]{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:#f8fafc;width:100%;padding:.85rem 1rem;font-size:1rem;transition:all .2s}.input-field[data-v-e1ef40bd]:focus{border-color:var(--color-primary);background-color:#fff;outline:none;box-shadow:0 0 0 3px #132b661a}.password-input-wrapper[data-v-e1ef40bd]{align-items:center;display:flex;position:relative}.password-input-wrapper input[data-v-e1ef40bd]{padding-right:45px}.toggle-password-btn[data-v-e1ef40bd]{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex;position:absolute;right:12px}.toggle-password-btn[data-v-e1ef40bd]:hover{color:var(--color-primary)}.error-banner[data-v-e1ef40bd]{color:#b91c1c;border-radius:var(--radius-md);text-align:center;background-color:#fee2e2;border:1px solid #fca5a5;margin-bottom:1.5rem;padding:1rem;font-size:.9rem}.btn-primary[data-v-e1ef40bd]{border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;width:100%;padding:1rem;font-size:1.1rem;font-weight:600;transition:background-color .2s,transform .1s}.btn-primary[data-v-e1ef40bd]:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-primary[data-v-e1ef40bd]:active:not(:disabled){transform:scale(.98)}.btn-primary[data-v-e1ef40bd]:disabled{opacity:.7;cursor:not-allowed}.mt-4[data-v-e1ef40bd]{margin-top:1.5rem}.w-100[data-v-e1ef40bd]{width:100%}@keyframes fadeIn-e1ef40bd{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft-e1ef40bd{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (width<=900px){.login-layout[data-v-e1ef40bd]{background-color:var(--color-primary);flex-direction:column;min-height:100dvh}.left-panel[data-v-e1ef40bd]{flex-direction:column;flex:none;justify-content:center;align-items:center;min-height:28vh;padding:2.2rem 1.5rem 3rem;display:flex}.logo-blanco[data-v-e1ef40bd]{object-fit:contain;max-width:160px;max-height:140px;margin-bottom:.6rem}.branding h2[data-v-e1ef40bd]{margin-bottom:.15rem;font-size:1rem}.motto[data-v-e1ef40bd]{font-size:.95rem}.right-panel[data-v-e1ef40bd]{background-color:var(--color-surface,#fff);z-index:10;border-top-left-radius:28px;border-top-right-radius:28px;flex:1 0 auto;justify-content:center;align-items:flex-start;margin-top:-18px;padding:2.2rem 1.5rem 2.5rem;display:flex;box-shadow:0 -6px 20px #00000014}.login-container[data-v-e1ef40bd]{box-shadow:none;background:0 0;border-radius:0;max-width:420px;padding:0}.login-header[data-v-e1ef40bd]{margin-bottom:1.5rem}.login-header h1[data-v-e1ef40bd]{font-size:1.55rem}.login-header p[data-v-e1ef40bd]{font-size:.9rem}.form-group[data-v-e1ef40bd]{margin-bottom:1.25rem}.input-field[data-v-e1ef40bd]{padding:.8rem .95rem}}.login-layout[data-v-5279b409]{background-color:var(--color-surface);min-height:100vh;display:flex}.left-panel[data-v-5279b409]{background-color:var(--color-primary);color:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.branding[data-v-5279b409]{text-align:center;flex-direction:column;justify-content:center;align-items:center;animation:1s ease-out fadeIn-5279b409;display:flex}.logo-blanco[data-v-5279b409]{max-width:400px;margin-bottom:2rem}.branding h2[data-v-5279b409]{letter-spacing:1px;color:var(--color-surface);margin-bottom:.5rem;font-family:Georgia,serif;font-size:2.5rem;font-style:italic;font-weight:700}.motto[data-v-5279b409]{opacity:.9;font-family:Georgia,serif;font-size:1.5rem;font-style:italic}.right-panel[data-v-5279b409]{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.login-container[data-v-5279b409]{width:100%;max-width:400px;animation:.5s ease-out slideLeft-5279b409}.login-header[data-v-5279b409]{margin-bottom:2.5rem}.login-header h1[data-v-5279b409]{color:var(--color-primary);margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-header p[data-v-5279b409]{color:var(--color-text-muted);font-size:1rem}.form-group[data-v-5279b409]{margin-bottom:1.5rem}.form-group label[data-v-5279b409]{color:var(--color-text-main);margin-bottom:.5rem;font-weight:600;display:block}.input-field[data-v-5279b409]{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:#f8fafc;width:100%;padding:.85rem 1rem;font-size:1rem;transition:all .2s}.input-field[data-v-5279b409]:focus{border-color:var(--color-primary);background-color:#fff;outline:none;box-shadow:0 0 0 3px #132b661a}.password-input-wrapper[data-v-5279b409]{align-items:center;display:flex;position:relative}.password-input-wrapper input[data-v-5279b409]{padding-right:45px}.toggle-password-btn[data-v-5279b409]{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex;position:absolute;right:12px}.toggle-password-btn[data-v-5279b409]:hover{color:var(--color-primary)}.error-banner[data-v-5279b409]{color:#b91c1c;border-radius:var(--radius-md);text-align:center;background-color:#fee2e2;border:1px solid #fca5a5;margin-bottom:1.5rem;padding:1rem;font-size:.9rem}.btn-primary[data-v-5279b409]{border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;width:100%;padding:1rem;font-size:1.1rem;font-weight:600;transition:background-color .2s,transform .1s}.btn-primary[data-v-5279b409]:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-primary[data-v-5279b409]:active:not(:disabled){transform:scale(.98)}.btn-primary[data-v-5279b409]:disabled{opacity:.7;cursor:not-allowed}.mt-4[data-v-5279b409]{margin-top:1.5rem}.w-100[data-v-5279b409]{width:100%}@keyframes fadeIn-5279b409{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft-5279b409{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (width<=900px){.login-layout[data-v-5279b409]{background-color:var(--color-primary);flex-direction:column;min-height:100dvh}.left-panel[data-v-5279b409]{flex-direction:column;flex:none;justify-content:center;align-items:center;min-height:28vh;padding:2.2rem 1.5rem 3rem;display:flex}.logo-blanco[data-v-5279b409]{object-fit:contain;max-width:160px;max-height:140px;margin-bottom:.6rem}.branding h2[data-v-5279b409]{margin-bottom:.15rem;font-size:1rem}.motto[data-v-5279b409]{font-size:.95rem}.right-panel[data-v-5279b409]{background-color:var(--color-surface,#fff);z-index:10;border-top-left-radius:28px;border-top-right-radius:28px;flex:1 0 auto;justify-content:center;align-items:flex-start;margin-top:-18px;padding:2.2rem 1.5rem 2.5rem;display:flex;box-shadow:0 -6px 20px #00000014}.login-container[data-v-5279b409]{box-shadow:none;background:0 0;border-radius:0;max-width:420px;padding:0}.login-header[data-v-5279b409]{margin-bottom:1.5rem}.login-header h1[data-v-5279b409]{font-size:1.55rem}.login-header p[data-v-5279b409]{font-size:.9rem}.form-group[data-v-5279b409]{margin-bottom:1.25rem}.input-field[data-v-5279b409]{padding:.8rem .95rem}}[data-v-761f6ef3]:root{--color-primary:#132b66;--color-primary-light:#27519e;--color-primary-dark:#0b1a40;--color-secondary:#2585cc;--color-secondary-dark:#1a649c;--color-accent:#ffe699;--color-accent-strong:#fc0;--color-accent-dark:#e6a800;--color-chart-light:#b1c8e5;--color-tertiary-dark:#4b5563;--color-tertiary:#6b7280;--color-tertiary-light:#9ca3af;--color-background:#f5f7fa;--color-surface:#fff;--color-text:#1f2937;--color-text-light:#6b7280;--color-text-inverse:#fff;--color-border:#e5e7eb;--color-error:#dc3545;--color-bg-light:var(--color-background);--color-bg-alt:#ebf1f7;--color-text-main:var(--color-text);--color-text-muted:var(--color-text-light);--color-white:var(--color-surface);--color-card-blue:var(--color-primary-light);--color-card-dark-blue:var(--color-primary);--color-card-grey:var(--color-tertiary-dark);--color-accent-grey:var(--color-tertiary);--font-family-main:"Nunito", sans-serif;--font-family-titles:"Nunito", "Arial Rounded MT Bold", sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:9999px;--shadow-sm:0 4px 6px #0000000d;--shadow-md:0 8px 15px #00000014;--shadow-lg:0 15px 30px #0000001f;--shadow-card:0 10px 25px #0000000d;--transition:all .3s ease}[data-v-761f6ef3],[data-v-761f6ef3]:before,[data-v-761f6ef3]:after{box-sizing:border-box;margin:0;padding:0}h1[data-v-761f6ef3],h2[data-v-761f6ef3],h3[data-v-761f6ef3],h4[data-v-761f6ef3],h5[data-v-761f6ef3],h6[data-v-761f6ef3],.title-font[data-v-761f6ef3]{font-family:var(--font-family-titles);color:var(--color-primary);font-weight:700}html[data-v-761f6ef3],body[data-v-761f6ef3]{max-width:100%;overflow-x:hidden}body[data-v-761f6ef3]{min-height:100vh;color:var(--color-text-main);background-color:var(--color-bg-light);font-family:var(--font-family-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}a[data-v-761f6ef3]{color:inherit;transition:var(--transition);text-decoration:none}ul[data-v-761f6ef3],ol[data-v-761f6ef3]{list-style:none}img[data-v-761f6ef3]{max-width:100%;height:auto;display:block}button[data-v-761f6ef3]{cursor:pointer;background:0 0;border:none;font-family:inherit}.btn-primary[data-v-761f6ef3]{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;padding:.75rem 1.5rem;font-weight:600}.btn-primary[data-v-761f6ef3]:hover{background-color:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary[data-v-761f6ef3]:disabled{opacity:.7;cursor:not-allowed;transform:none}.input-field[data-v-761f6ef3]{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;transition:var(--transition);background-color:var(--color-background);padding:.75rem 1rem;font-size:1rem}.input-field[data-v-761f6ef3]:focus{border-color:var(--color-secondary);outline:none;box-shadow:0 0 0 3px #2585cc33}.card[data-v-761f6ef3]{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.login-layout[data-v-761f6ef3]{background-color:var(--color-surface);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card[data-v-761f6ef3]{background-color:var(--color-background);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2.5rem 2rem}.login-header[data-v-761f6ef3]{text-align:center;margin-bottom:2rem}.login-header h1[data-v-761f6ef3]{color:var(--color-primary);margin-bottom:.5rem;font-size:1.5rem}.roles-grid[data-v-761f6ef3]{flex-direction:column;gap:1rem;display:flex}.role-btn[data-v-761f6ef3]{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);justify-content:space-between;align-items:center;padding:1rem 1.5rem;font-size:1rem;font-weight:500;display:flex}.role-btn[data-v-761f6ef3]:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.role-info[data-v-761f6ef3]{align-items:center;gap:.75rem;display:flex}.role-icon[data-v-761f6ef3]{color:var(--color-secondary)}.role-btn:hover .role-icon[data-v-761f6ef3]{color:#fff}.dashboard[data-v-a6e1b1ca]{background-color:var(--color-surface);height:100vh;display:flex;overflow:hidden}.sidebar[data-v-a6e1b1ca]{background-color:var(--color-primary);color:#fff;flex-direction:column;width:260px;display:flex}.logo[data-v-a6e1b1ca]{text-align:center;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;padding:1.5rem;display:flex}.sidebar-logo[data-v-a6e1b1ca]{max-width:80%;height:auto}.sidebar-nav[data-v-a6e1b1ca]{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-nav[data-v-a6e1b1ca]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-a6e1b1ca]::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.sidebar-nav a[data-v-a6e1b1ca]{color:#fffc;transition:var(--transition);padding:.75rem 1.5rem;text-decoration:none;display:block}.sidebar-nav a[data-v-a6e1b1ca]:hover,.sidebar-nav a.active[data-v-a6e1b1ca]{color:var(--color-secondary);border-left:4px solid var(--color-secondary);background-color:#ffffff1a}.menu-group[data-v-a6e1b1ca]{margin-bottom:.25rem}.menu-toggle[data-v-a6e1b1ca]{color:#ffffffe6;cursor:pointer;width:100%;transition:var(--transition);font-size:1rem;font-family:var(--font-family);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.menu-toggle[data-v-a6e1b1ca]:hover{color:#fff;background-color:#ffffff0d}.menu-toggle.open[data-v-a6e1b1ca]{color:var(--color-secondary);border-left:4px solid var(--color-secondary);background-color:#0000001a;padding-left:calc(1.5rem - 4px)}.menu-title[data-v-a6e1b1ca]{align-items:center;gap:.5rem;font-weight:500;display:flex}.menu-icon[data-v-a6e1b1ca]{opacity:.8}.submenu[data-v-a6e1b1ca]{background-color:#00000026;overflow:hidden}.submenu a[data-v-a6e1b1ca]{border-left:4px solid #0000;padding:.6rem 1.5rem .6rem 3rem;font-size:.9rem}.nav-divider[data-v-a6e1b1ca]{background-color:#ffffff1a;height:1px;margin:.75rem 1.5rem}.sidebar-footer[data-v-a6e1b1ca]{border-top:1px solid #ffffff1a;flex-shrink:0;padding:1rem}.btn-logout[data-v-a6e1b1ca]{color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:var(--transition);background:0 0;border:1px solid #ffffff4d;padding:.5rem}.btn-logout[data-v-a6e1b1ca]:hover{background-color:#dc3545e6;border-color:#0000}.mb-2[data-v-a6e1b1ca]{margin-bottom:.5rem}.content[data-v-a6e1b1ca]{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar[data-v-a6e1b1ca]{background-color:var(--color-background);box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;padding:1.5rem}.content-body[data-v-a6e1b1ca]{flex:1;padding:2rem;overflow-y:auto}.dashboard-home[data-v-326b3b32]{padding:1rem}.page-header[data-v-326b3b32]{margin-bottom:2rem}.page-header h2[data-v-326b3b32]{color:var(--color-primary);margin-bottom:.5rem;font-size:1.8rem}.subtitle[data-v-326b3b32]{color:var(--color-text-muted);font-size:1rem}.metrics-container[data-v-326b3b32]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.stat-card[data-v-326b3b32]{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);align-items:center;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.stat-card[data-v-326b3b32]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon[data-v-326b3b32]{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-right:1.5rem;display:flex}.stat-icon.students[data-v-326b3b32]{color:#4f46e5;background-color:#e0e7ff}.stat-icon.teachers[data-v-326b3b32]{color:#16a34a;background-color:#dcfce7}.stat-icon.coordinators[data-v-326b3b32]{color:#9333ea;background-color:#f3e8ff}.stat-icon.parents[data-v-326b3b32]{color:#ea580c;background-color:#ffedd5}.stat-info h3[data-v-326b3b32]{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.95rem;font-weight:500}.stat-info p[data-v-326b3b32]{color:var(--color-text-main);font-size:2rem;font-weight:700}.modules-container[data-v-326b3b32]{flex-direction:column;gap:2.5rem;display:flex}.module-section[data-v-326b3b32]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:1.5rem}.section-title[data-v-326b3b32]{color:var(--color-primary);border-bottom:2px solid var(--color-background);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.25rem}.action-grid[data-v-326b3b32]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.action-card[data-v-326b3b32]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-main);flex-direction:column;justify-content:center;align-items:center;padding:1.5rem 1rem;transition:all .2s;display:flex}.action-card[data-v-326b3b32]:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-card:hover .action-icon[data-v-326b3b32]{color:#fff}.action-icon[data-v-326b3b32]{color:var(--color-primary);margin-bottom:1rem;transition:color .2s}.action-card span[data-v-326b3b32]{text-align:center;font-size:.9rem;font-weight:500}.w-100[data-v-83a30c6f]{width:100%}.d-flex[data-v-83a30c6f]{display:flex}.justify-between[data-v-83a30c6f]{justify-content:space-between}.align-center[data-v-83a30c6f]{align-items:center}.flex-wrap[data-v-83a30c6f]{flex-wrap:wrap}.gap-3[data-v-83a30c6f]{gap:1rem}.mb-1[data-v-83a30c6f]{margin-bottom:1.25rem}.mt-3[data-v-83a30c6f]{margin-top:1rem}.py-4[data-v-83a30c6f]{padding-top:2rem;padding-bottom:2rem}.text-center[data-v-83a30c6f]{text-align:center}.text-muted[data-v-83a30c6f]{color:#64748b}.text-primary[data-v-83a30c6f]{color:var(--color-primary,#2585cc)}.text-danger[data-v-83a30c6f]{color:#dc2626}.font-bold[data-v-83a30c6f]{font-weight:700}.font-medium[data-v-83a30c6f]{font-weight:500}.d-none[data-v-83a30c6f]{display:none}.m-0[data-v-83a30c6f]{margin:0}.subtitle[data-v-83a30c6f]{margin:.2rem 0 0;font-size:.9rem}.header-buttons[data-v-83a30c6f]{align-items:center;gap:.75rem;display:flex}.btn-primary[data-v-83a30c6f],.btn-secondary[data-v-83a30c6f]{border-radius:var(--radius-md,8px);cursor:pointer;align-items:center;gap:.5rem;padding:.65rem 1.15rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-83a30c6f]{background-color:var(--color-primary,#2585cc);color:#fff;border:none}.btn-primary[data-v-83a30c6f]:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-primary[data-v-83a30c6f]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-83a30c6f]{color:#334155;background-color:#fff;border:1px solid #cbd5e1}.btn-secondary[data-v-83a30c6f]:hover{background-color:#f8fafc;border-color:#94a3b8}.filters-bar[data-v-83a30c6f]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.search-wrap[data-v-83a30c6f]{flex:1;max-width:420px;position:relative}.search-icon[data-v-83a30c6f]{color:#94a3b8;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-input[data-v-83a30c6f]{border-radius:var(--radius-md,8px);background:#fff;border:1px solid #cbd5e1;outline:none;width:100%;padding:.6rem 2.2rem .6rem 2.5rem;font-size:.9rem;transition:border-color .2s}.search-input[data-v-83a30c6f]:focus{border-color:var(--color-primary,#2585cc);box-shadow:0 0 0 2px #2585cc26}.clear-btn[data-v-83a30c6f]{color:#94a3b8;cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.count-badge[data-v-83a30c6f]{color:#475569;background:#f1f5f9;border-radius:20px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.84rem;display:inline-flex}.table-container[data-v-83a30c6f]{border-radius:var(--radius-md,8px);background:#fff;border:1px solid #e2e8f0;overflow-x:auto;box-shadow:0 1px 3px #0000000f}.data-table[data-v-83a30c6f]{border-collapse:collapse;width:100%}.data-table th[data-v-83a30c6f],.data-table td[data-v-83a30c6f]{text-align:left;border-bottom:1px solid #f1f5f9;padding:.85rem 1rem;font-size:.88rem}.data-table th[data-v-83a30c6f]{color:#475569;background-color:#f8fafc;font-weight:600}.data-table tr[data-v-83a30c6f]:hover{background-color:#f8fafc}.doc-badge[data-v-83a30c6f]{color:#0369a1;background:#e0f2fe;border-radius:4px;margin-right:.4rem;padding:.15rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.blood-pill[data-v-83a30c6f]{color:#b91c1c;background:#fee2e2;border-radius:12px;padding:.15rem .5rem;font-size:.76rem;font-weight:700;display:inline-block}.badge[data-v-83a30c6f]{border-radius:12px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.82rem;font-weight:600;display:inline-flex}.badge-user[data-v-83a30c6f]{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.badge-secondary[data-v-83a30c6f]{color:#64748b;background-color:#f1f5f9}.pagination-footer[data-v-83a30c6f]{color:#64748b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem .5rem;font-size:.88rem;display:flex}.pagination-info strong[data-v-83a30c6f]{color:#1e293b}.pagination-controls[data-v-83a30c6f]{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.page-size-select[data-v-83a30c6f]{align-items:center;gap:.4rem;display:flex}.page-size-select select[data-v-83a30c6f]{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:.35rem .6rem;font-size:.85rem}.page-buttons[data-v-83a30c6f]{align-items:center;gap:.25rem;display:flex}.page-btn[data-v-83a30c6f]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 .5rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.page-btn[data-v-83a30c6f]:hover:not(:disabled){color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.page-btn.active[data-v-83a30c6f]{background:var(--color-primary,#2585cc);border-color:var(--color-primary,#2585cc);color:#fff}.page-btn[data-v-83a30c6f]:disabled{opacity:.4;cursor:not-allowed}.btn-icon[data-v-83a30c6f]{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:inline-flex}.btn-icon[data-v-83a30c6f]:hover{background-color:#f1f5f9;transform:scale(1.1)}.modal-overlay[data-v-83a30c6f]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content[data-v-83a30c6f]{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;padding:1.8rem;animation:.25s ease-out scaleIn-83a30c6f;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-large[data-v-83a30c6f]{max-width:780px}.modal-header-custom[data-v-83a30c6f]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.modal-header-custom h4[data-v-83a30c6f]{color:#0f172a;margin:0;font-size:1.25rem}.modal-subtitle[data-v-83a30c6f]{color:#64748b;margin:.25rem 0 0;font-size:.85rem}.btn-close[data-v-83a30c6f]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem}.btn-close[data-v-83a30c6f]:hover{color:#0f172a;background:#f1f5f9}.bulk-steps-container[data-v-83a30c6f]{flex-direction:column;gap:1.25rem;display:flex}.step-box[data-v-83a30c6f]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:1rem;padding:1.15rem;display:flex}.step-num[data-v-83a30c6f]{background:var(--color-primary,#2585cc);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.step-body[data-v-83a30c6f]{flex:1}.step-body h5[data-v-83a30c6f]{color:#1e293b;margin:0 0 .35rem;font-size:.98rem}.step-body p[data-v-83a30c6f]{color:#64748b;margin:0 0 .85rem;font-size:.85rem;line-height:1.45}.btn-template[data-v-83a30c6f]{color:#0284c7;cursor:pointer;background:#fff;border:1.5px solid #0284c7;border-radius:6px;align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-template[data-v-83a30c6f]:hover:not(:disabled){background:#f0f9ff;border-color:#0369a1}.drop-zone[data-v-83a30c6f]{text-align:center;cursor:pointer;background:#fff;border:2px dashed #cbd5e1;border-radius:8px;padding:1.5rem;transition:all .2s}.drop-zone[data-v-83a30c6f]:hover{border-color:var(--color-primary,#2585cc);background:#f0f9ff}.drop-zone.has-file[data-v-83a30c6f]{cursor:default;background:#f0fdf4;border-style:solid;border-color:#22c55e;padding:.85rem}.file-card[data-v-83a30c6f]{text-align:left;align-items:center;gap:.85rem;display:flex}.file-icon[data-v-83a30c6f]{color:#16a34a}.file-details[data-v-83a30c6f]{flex-direction:column;flex:1;display:flex}.file-name[data-v-83a30c6f]{color:#1e293b;font-size:.9rem;font-weight:600}.btn-remove-file[data-v-83a30c6f]{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.35rem}.btn-remove-file[data-v-83a30c6f]:hover{background:#fee2e2}.import-results-card[data-v-83a30c6f]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem}.import-results-card h5[data-v-83a30c6f]{color:#0f172a;margin:0 0 1rem}.metrics-grid[data-v-83a30c6f]{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.metric-card[data-v-83a30c6f]{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.85rem}.metric-card.success[data-v-83a30c6f]{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.metric-card.error.has-errors[data-v-83a30c6f]{color:#991b1b;background:#fef2f2;border-color:#fecaca}.metric-val[data-v-83a30c6f]{font-size:1.5rem;font-weight:700;display:block}.metric-lbl[data-v-83a30c6f]{text-transform:uppercase;letter-spacing:.5px;font-size:.78rem;font-weight:600}.alert-box-warning[data-v-83a30c6f]{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;align-items:center;gap:.6rem;margin-bottom:.65rem;padding:.65rem .85rem;font-size:.84rem;display:flex}.alert-box-success[data-v-83a30c6f]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;align-items:center;gap:.6rem;margin-bottom:.65rem;padding:.65rem .85rem;font-size:.84rem;display:flex}.errors-table-wrap[data-v-83a30c6f]{border:1px solid #fecaca;border-radius:6px;max-height:200px;overflow-y:auto}.errors-table[data-v-83a30c6f]{border-collapse:collapse;width:100%;font-size:.8rem}.errors-table th[data-v-83a30c6f],.errors-table td[data-v-83a30c6f]{text-align:left;border-bottom:1px solid #fee2e2;padding:.5rem .75rem}.errors-table th[data-v-83a30c6f]{color:#991b1b;background:#fef2f2;position:sticky;top:0}.success-chips[data-v-83a30c6f]{flex-wrap:wrap;gap:.4rem;display:flex}.student-chip[data-v-83a30c6f]{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:12px;padding:.2rem .6rem;font-size:.76rem}.student-chip.more[data-v-83a30c6f]{background:#e2e8f0;font-weight:600}.form-grid[data-v-83a30c6f]{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.col-span-2[data-v-83a30c6f]{grid-column:span 2}.form-group label[data-v-83a30c6f]{color:#334155;margin-bottom:.35rem;font-size:.84rem;font-weight:600;display:block}.input-field[data-v-83a30c6f]{border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;padding:.55rem .75rem;font-size:.88rem}.input-field[data-v-83a30c6f]:focus{border-color:var(--color-primary,#2585cc);box-shadow:0 0 0 2px #2585cc26}.checkbox-group[data-v-83a30c6f]{align-items:center;gap:.5rem;display:flex}.checkbox-group label[data-v-83a30c6f]{margin-bottom:0;font-weight:400}.student-name-container[data-v-83a30c6f]{align-items:center;gap:.5rem;display:flex}.badge-inclusion-table[data-v-83a30c6f]{color:#7e22ce;background-color:#f3e8ff;border:1px solid #d8b4fe;border-radius:4px;flex-shrink:0;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.inclusive-checkbox-box[data-v-83a30c6f]{border-radius:var(--radius-md,8px);background:#faf5ff;border:1px solid #e9d5ff;align-items:flex-start;padding:.75rem 1rem}.label-inclusive[data-v-83a30c6f]{cursor:pointer}.d-block[data-v-83a30c6f]{display:block}.modal-actions[data-v-83a30c6f]{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}@keyframes scaleIn-83a30c6f{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.w-100[data-v-509a9b23]{width:100%}.d-flex[data-v-509a9b23]{display:flex}.justify-between[data-v-509a9b23]{justify-content:space-between}.align-center[data-v-509a9b23]{align-items:center}.flex-wrap[data-v-509a9b23]{flex-wrap:wrap}.gap-3[data-v-509a9b23]{gap:1rem}.mb-1[data-v-509a9b23]{margin-bottom:1.25rem}.py-4[data-v-509a9b23]{padding-top:2rem;padding-bottom:2rem}.text-center[data-v-509a9b23]{text-align:center}.text-muted[data-v-509a9b23]{color:#64748b}.text-primary[data-v-509a9b23]{color:var(--color-primary,#2585cc)}.subtitle[data-v-509a9b23]{margin:.2rem 0 0;font-size:.9rem}.header-buttons[data-v-509a9b23]{align-items:center;gap:.75rem;display:flex}.btn-primary[data-v-509a9b23],.btn-secondary[data-v-509a9b23]{border-radius:var(--radius-md,8px);cursor:pointer;align-items:center;gap:.5rem;padding:.65rem 1.15rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-509a9b23]{background-color:var(--color-primary,#2585cc);color:#fff;border:none}.btn-primary[data-v-509a9b23]:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-primary[data-v-509a9b23]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-509a9b23]{color:#334155;background-color:#fff;border:1px solid #cbd5e1}.btn-secondary[data-v-509a9b23]:hover{background-color:#f8fafc;border-color:#94a3b8}.filters-bar[data-v-509a9b23]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.search-wrap[data-v-509a9b23]{flex:1;max-width:420px;position:relative}.search-icon[data-v-509a9b23]{color:#94a3b8;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-input[data-v-509a9b23]{border-radius:var(--radius-md,8px);background:#fff;border:1px solid #cbd5e1;outline:none;width:100%;padding:.6rem 2.2rem .6rem 2.5rem;font-size:.9rem;transition:border-color .2s}.search-input[data-v-509a9b23]:focus{border-color:var(--color-primary,#2585cc);box-shadow:0 0 0 2px #2585cc26}.clear-btn[data-v-509a9b23]{color:#94a3b8;cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.count-badge[data-v-509a9b23]{color:#475569;background:#f1f5f9;border-radius:20px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.84rem;display:inline-flex}.table-container[data-v-509a9b23]{border-radius:var(--radius-md,8px);background:#fff;border:1px solid #e2e8f0;overflow-x:auto;box-shadow:0 1px 3px #0000000f}.data-table[data-v-509a9b23]{border-collapse:collapse;width:100%}.data-table th[data-v-509a9b23],.data-table td[data-v-509a9b23]{text-align:left;border-bottom:1px solid #f1f5f9;padding:.85rem 1rem;font-size:.88rem}.data-table th[data-v-509a9b23]{color:#475569;background-color:#f8fafc;font-weight:600}.data-table tr[data-v-509a9b23]:hover{background-color:#f8fafc}.doc-badge[data-v-509a9b23]{color:#0369a1;background:#e0f2fe;border-radius:4px;margin-right:.4rem;padding:.15rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.teacher-name[data-v-509a9b23]{color:#0f172a;font-weight:600}.spec-tag[data-v-509a9b23]{color:#4338ca;background-color:#eef2ff;border-radius:4px;padding:.2rem .55rem;font-size:.82rem;font-weight:500;display:inline-block}.contact-stack[data-v-509a9b23]{flex-direction:column;gap:.25rem;display:flex}.contact-item[data-v-509a9b23]{color:#334155;align-items:center;gap:.35rem;font-size:.84rem;display:inline-flex}.badge[data-v-509a9b23]{border-radius:12px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.82rem;font-weight:600;display:inline-flex}.badge-user[data-v-509a9b23]{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.badge-coord[data-v-509a9b23]{color:#92400e;background-color:#fef3c7;border:1px solid #fde68a}.badge-secondary[data-v-509a9b23]{color:#64748b;background-color:#f1f5f9}.btn-icon[data-v-509a9b23]{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:inline-flex}.btn-icon[data-v-509a9b23]:hover{background-color:#f1f5f9;transform:scale(1.1)}.pagination-footer[data-v-509a9b23]{color:#64748b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem .5rem;font-size:.88rem;display:flex}.pagination-info strong[data-v-509a9b23]{color:#1e293b}.pagination-controls[data-v-509a9b23]{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.page-size-select[data-v-509a9b23]{align-items:center;gap:.4rem;display:flex}.page-size-select select[data-v-509a9b23]{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:.35rem .6rem;font-size:.85rem}.page-buttons[data-v-509a9b23]{align-items:center;gap:.25rem;display:flex}.page-btn[data-v-509a9b23]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 .5rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.page-btn[data-v-509a9b23]:hover:not(:disabled){color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.page-btn.active[data-v-509a9b23]{background:var(--color-primary,#2585cc);border-color:var(--color-primary,#2585cc);color:#fff}.page-btn[data-v-509a9b23]:disabled{opacity:.4;cursor:not-allowed}.modal-overlay[data-v-509a9b23]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content[data-v-509a9b23]{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;padding:1.8rem;animation:.25s ease-out scaleIn-509a9b23;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header-custom[data-v-509a9b23]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.modal-header-custom h4[data-v-509a9b23]{color:#0f172a;margin:0;font-size:1.25rem}.modal-subtitle[data-v-509a9b23]{color:#64748b;margin:.25rem 0 0;font-size:.85rem}.btn-close[data-v-509a9b23]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem}.btn-close[data-v-509a9b23]:hover{color:#0f172a;background:#f1f5f9}.form-grid[data-v-509a9b23]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.col-span-2[data-v-509a9b23]{grid-column:span 2}.form-group label[data-v-509a9b23]{color:#334155;margin-bottom:.45rem;font-size:.86rem;font-weight:600;display:block}.input-field[data-v-509a9b23]{border-radius:var(--radius-md,8px);box-sizing:border-box;border:1px solid #cbd5e1;outline:none;width:100%;padding:.65rem .85rem;font-size:.9rem;transition:border-color .2s}.input-field[data-v-509a9b23]:focus{border-color:var(--color-primary,#2585cc);box-shadow:0 0 0 2px #2585cc26}.checkbox-group[data-v-509a9b23]{align-items:center;gap:.6rem;display:flex}.checkbox-group input[type=checkbox][data-v-509a9b23]{width:17px;height:17px;accent-color:var(--color-primary,#2585cc);cursor:pointer}.checkbox-group label[data-v-509a9b23]{cursor:pointer;margin-bottom:0;font-weight:500}.modal-actions[data-v-509a9b23]{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.75rem;margin-top:1.75rem;padding-top:1rem;display:flex}.spinner-sm[data-v-509a9b23]{border:2px solid #e2e8f0;border-top-color:var(--color-primary,#2585cc);border-radius:50%;width:20px;height:20px;margin-bottom:.5rem;animation:.8s linear infinite spin-509a9b23;display:inline-block}@keyframes spin-509a9b23{to{transform:rotate(360deg)}}@keyframes scaleIn-509a9b23{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (width<=640px){.form-grid[data-v-509a9b23]{grid-template-columns:1fr}.col-span-2[data-v-509a9b23]{grid-column:span 1}.pagination-footer[data-v-509a9b23]{flex-direction:column;align-items:stretch}.pagination-controls[data-v-509a9b23]{justify-content:space-between}}.w-100[data-v-aa410b80]{width:100%}.d-flex[data-v-aa410b80]{display:flex}.justify-between[data-v-aa410b80]{justify-content:space-between}.align-center[data-v-aa410b80]{align-items:center}.flex-wrap[data-v-aa410b80]{flex-wrap:wrap}.gap-3[data-v-aa410b80]{gap:1rem}.mb-1[data-v-aa410b80]{margin-bottom:1.25rem}.py-4[data-v-aa410b80]{padding-top:2rem;padding-bottom:2rem}.text-center[data-v-aa410b80]{text-align:center}.text-muted[data-v-aa410b80]{color:#64748b}.text-primary[data-v-aa410b80]{color:var(--color-primary,#2585cc)}.subtitle[data-v-aa410b80]{margin:.2rem 0 0;font-size:.9rem}.header-buttons[data-v-aa410b80]{align-items:center;gap:.75rem;display:flex}.btn-primary[data-v-aa410b80],.btn-secondary[data-v-aa410b80]{border-radius:var(--radius-md,8px);cursor:pointer;align-items:center;gap:.5rem;padding:.65rem 1.15rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-aa410b80]{background-color:var(--color-primary,#2585cc);color:#fff;border:none}.btn-primary[data-v-aa410b80]:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-primary[data-v-aa410b80]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-aa410b80]{color:#334155;background-color:#fff;border:1px solid #cbd5e1}.btn-secondary[data-v-aa410b80]:hover{background-color:#f8fafc;border-color:#94a3b8}.filters-bar[data-v-aa410b80]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.search-wrap[data-v-aa410b80]{flex:1;max-width:420px;position:relative}.search-icon[data-v-aa410b80]{color:#94a3b8;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-input[data-v-aa410b80]{border-radius:var(--radius-md,8px);background:#fff;border:1px solid #cbd5e1;outline:none;width:100%;padding:.6rem 2.2rem .6rem 2.5rem;font-size:.9rem;transition:border-color .2s}.search-input[data-v-aa410b80]:focus{border-color:var(--color-primary,#2585cc);box-shadow:0 0 0 2px #2585cc26}.clear-btn[data-v-aa410b80]{color:#94a3b8;cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.count-badge[data-v-aa410b80]{color:#475569;background:#f1f5f9;border-radius:20px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.84rem;display:inline-flex}.table-container[data-v-aa410b80]{border-radius:var(--radius-md,8px);background:#fff;border:1px solid #e2e8f0;overflow-x:auto;box-shadow:0 1px 3px #0000000f}.data-table[data-v-aa410b80]{border-collapse:collapse;width:100%}.data-table th[data-v-aa410b80],.data-table td[data-v-aa410b80]{text-align:left;border-bottom:1px solid #f1f5f9;padding:.85rem 1rem;font-size:.88rem}.data-table th[data-v-aa410b80]{color:#475569;background-color:#f8fafc;font-weight:600}.data-table tr[data-v-aa410b80]:hover{background-color:#f8fafc}.doc-badge[data-v-aa410b80]{color:#0369a1;background:#e0f2fe;border-radius:4px;margin-right:.4rem;padding:.15rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.coordinator-name[data-v-aa410b80]{color:#0f172a;font-weight:600}.area-tag[data-v-aa410b80]{color:#0f766e;background-color:#f0fdfa;border:1px solid #ccfbf1;border-radius:6px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.82rem;font-weight:600;display:inline-flex}.contact-stack[data-v-aa410b80]{flex-direction:column;gap:.25rem;display:flex}.contact-item[data-v-aa410b80]{color:#334155;align-items:center;gap:.35rem;font-size:.84rem;display:inline-flex}.roles-stack[data-v-aa410b80]{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.badge[data-v-aa410b80]{border-radius:12px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.82rem;font-weight:600;display:inline-flex}.badge-user[data-v-aa410b80]{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.badge-role-teacher[data-v-aa410b80]{color:#4338ca;background-color:#eef2ff;border:1px solid #c7d2fe}.badge-role-parent[data-v-aa410b80]{color:#9d174d;background-color:#fdf2f8;border:1px solid #fbcfe8}.badge-secondary[data-v-aa410b80]{color:#64748b;background-color:#f1f5f9}.btn-icon[data-v-aa410b80]{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:inline-flex}.btn-icon[data-v-aa410b80]:hover{background-color:#f1f5f9;transform:scale(1.1)}.pagination-footer[data-v-aa410b80]{color:#64748b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem .5rem;font-size:.88rem;display:flex}.pagination-info strong[data-v-aa410b80]{color:#1e293b}.pagination-controls[data-v-aa410b80]{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.page-size-select[data-v-aa410b80]{align-items:center;gap:.4rem;display:flex}.page-size-select select[data-v-aa410b80]{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:.35rem .6rem;font-size:.85rem}.page-buttons[data-v-aa410b80]{align-items:center;gap:.25rem;display:flex}.page-btn[data-v-aa410b80]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 .5rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.page-btn[data-v-aa410b80]:hover:not(:disabled){color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.page-btn.active[data-v-aa410b80]{background:var(--color-primary,#2585cc);border-color:var(--color-primary,#2585cc);color:#fff}.page-btn[data-v-aa410b80]:disabled{opacity:.4;cursor:not-allowed}.modal-overlay[data-v-aa410b80]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content[data-v-aa410b80]{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;padding:1.8rem;animation:.25s ease-out scaleIn-aa410b80;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header-custom[data-v-aa410b80]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.modal-header-custom h4[data-v-aa410b80]{color:#0f172a;margin:0;font-size:1.25rem}.modal-subtitle[data-v-aa410b80]{color:#64748b;margin:.25rem 0 0;font-size:.85rem}.btn-close[data-v-aa410b80]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem}.btn-close[data-v-aa410b80]:hover{color:#0f172a;background:#f1f5f9}.form-grid[data-v-aa410b80]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.col-span-2[data-v-aa410b80]{grid-column:span 2}.form-group label[data-v-aa410b80]{color:#334155;margin-bottom:.45rem;font-size:.86rem;font-weight:600;display:block}.input-field[data-v-aa410b80]{border-radius:var(--radius-md,8px);box-sizing:border-box;border:1px solid #cbd5e1;outline:none;width:100%;padding:.65rem .85rem;font-size:.9rem;transition:border-color .2s}.input-field[data-v-aa410b80]:focus{border-color:var(--color-primary,#2585cc);box-shadow:0 0 0 2px #2585cc26}.checkbox-group[data-v-aa410b80]{align-items:center;gap:.6rem;display:flex}.checkbox-group input[type=checkbox][data-v-aa410b80]{width:17px;height:17px;accent-color:var(--color-primary,#2585cc);cursor:pointer}.checkbox-group label[data-v-aa410b80]{cursor:pointer;margin-bottom:0;font-weight:500}.modal-actions[data-v-aa410b80]{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.75rem;margin-top:1.75rem;padding-top:1rem;display:flex}.spinner-sm[data-v-aa410b80]{border:2px solid #e2e8f0;border-top-color:var(--color-primary,#2585cc);border-radius:50%;width:20px;height:20px;margin-bottom:.5rem;animation:.8s linear infinite spin-aa410b80;display:inline-block}@keyframes spin-aa410b80{to{transform:rotate(360deg)}}@keyframes scaleIn-aa410b80{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (width<=640px){.form-grid[data-v-aa410b80]{grid-template-columns:1fr}.col-span-2[data-v-aa410b80]{grid-column:span 1}.pagination-footer[data-v-aa410b80]{flex-direction:column;align-items:stretch}.pagination-controls[data-v-aa410b80]{justify-content:space-between}}.counselors-container[data-v-0b9ece6b]{max-width:1400px;margin:0 auto;padding:1.5rem}.page-header[data-v-0b9ece6b]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.page-title[data-v-0b9ece6b]{color:var(--color-primary);margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.page-subtitle[data-v-0b9ece6b]{color:var(--color-text-secondary);font-size:.95rem}.stats-grid[data-v-0b9ece6b]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.stat-card[data-v-0b9ece6b]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);background:#fff;align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-icon-wrapper[data-v-0b9ece6b]{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-primary[data-v-0b9ece6b]{color:var(--color-primary);background-color:#1a365d1a}.stat-success[data-v-0b9ece6b]{color:#28a745;background-color:#28a7451a}.stat-purple[data-v-0b9ece6b]{color:#6f42c1;background-color:#6f42c11a}.stat-value[data-v-0b9ece6b]{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.stat-label[data-v-0b9ece6b]{color:var(--color-text-secondary);font-size:.85rem}.table-card[data-v-0b9ece6b]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);background:#fff;overflow:hidden}.table-actions[data-v-0b9ece6b]{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.search-box[data-v-0b9ece6b]{flex:1;max-width:480px;position:relative}.search-icon[data-v-0b9ece6b]{color:var(--color-text-secondary);position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-input[data-v-0b9ece6b]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:.65rem 2.2rem .65rem 2.4rem;font-size:.9rem}.search-input[data-v-0b9ece6b]:focus{border-color:var(--color-primary);outline:none}.clear-search-btn[data-v-0b9ece6b]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.page-size-selector[data-v-0b9ece6b]{color:var(--color-text-secondary);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.select-compact[data-v-0b9ece6b]{padding:.4rem .6rem;font-size:.85rem}.table-responsive[data-v-0b9ece6b]{overflow-x:auto}.data-table[data-v-0b9ece6b]{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.data-table th[data-v-0b9ece6b]{color:#475569;border-bottom:1px solid var(--color-border);background-color:#f8fafc;padding:.85rem 1rem;font-weight:600}.data-table td[data-v-0b9ece6b]{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.85rem 1rem}.data-table tr[data-v-0b9ece6b]:hover{background-color:#f8fafc}.contact-item[data-v-0b9ece6b]{color:#334155;align-items:center;gap:.4rem;margin-bottom:.2rem;font-size:.82rem;display:flex}.inline-icon[data-v-0b9ece6b]{vertical-align:-2px}.badge[data-v-0b9ece6b]{border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-purple[data-v-0b9ece6b]{color:#7e22ce;background-color:#f3e8ff}.badge-counselor[data-v-0b9ece6b]{color:#b45309;background-color:#fef3c7}.badge-success[data-v-0b9ece6b]{color:#15803d;background-color:#dcfce7}.badge-info[data-v-0b9ece6b]{color:#0369a1;background-color:#e0f2fe}.badge-primary[data-v-0b9ece6b]{color:#1e40af;background-color:#dbeafe}.badge-secondary[data-v-0b9ece6b]{color:#64748b;background-color:#f1f5f9}.roles-badges[data-v-0b9ece6b]{flex-wrap:wrap;gap:.35rem;display:flex}.action-buttons[data-v-0b9ece6b]{justify-content:center;gap:.5rem;display:flex}.action-btn[data-v-0b9ece6b]{border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:.45rem;transition:all .2s;display:inline-flex}.edit-btn[data-v-0b9ece6b]:hover{color:var(--color-primary);border-color:var(--color-primary);background-color:#eff6ff}.delete-btn[data-v-0b9ece6b]:hover{color:#dc2626;background-color:#fef2f2;border-color:#dc2626}.pagination-wrapper[data-v-0b9ece6b]{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.pagination-info[data-v-0b9ece6b]{color:var(--color-text-secondary);font-size:.85rem}.pagination-buttons[data-v-0b9ece6b]{gap:.35rem;display:flex}.page-btn[data-v-0b9ece6b]{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:#fff;padding:.4rem .8rem;font-size:.85rem}.page-btn[data-v-0b9ece6b]:hover:not(:disabled){background-color:#f1f5f9}.page-btn.active[data-v-0b9ece6b]{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.page-btn[data-v-0b9ece6b]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-0b9ece6b]{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-dialog[data-v-0b9ece6b]{border-radius:var(--radius-lg);width:100%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-lg);background:#fff;overflow-y:auto}.modal-header[data-v-0b9ece6b]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2[data-v-0b9ece6b]{color:var(--color-primary);font-size:1.25rem;font-weight:700}.close-btn[data-v-0b9ece6b]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none}.modal-body[data-v-0b9ece6b]{padding:1.5rem}.form-grid[data-v-0b9ece6b]{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}@media (width<=600px){.form-grid[data-v-0b9ece6b]{grid-template-columns:1fr}}.form-group[data-v-0b9ece6b]{margin-bottom:1rem}.form-label[data-v-0b9ece6b]{color:#334155;margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.form-label.required[data-v-0b9ece6b]:after{content:" *";color:#dc2626}.form-input[data-v-0b9ece6b],.form-select[data-v-0b9ece6b]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:.6rem .8rem;font-size:.9rem}.form-input[data-v-0b9ece6b]:focus,.form-select[data-v-0b9ece6b]:focus{border-color:var(--color-primary);outline:none}.roles-selection-card[data-v-0b9ece6b]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:#f8fafc;margin:1.25rem 0;padding:1rem}.section-subtitle[data-v-0b9ece6b]{color:var(--color-primary);margin-bottom:.75rem;font-size:.85rem;font-weight:700}.checkbox-list[data-v-0b9ece6b]{flex-direction:column;gap:.6rem;display:flex}.checkbox-label[data-v-0b9ece6b]{color:#334155;cursor:pointer;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.modal-footer[data-v-0b9ece6b]{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.btn[data-v-0b9ece6b]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-0b9ece6b]{background-color:var(--color-primary);color:#fff}.btn-primary[data-v-0b9ece6b]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-0b9ece6b]{color:#334155;background-color:#e2e8f0}.btn-secondary[data-v-0b9ece6b]:hover:not(:disabled){background-color:#cbd5e1}.btn[data-v-0b9ece6b]:disabled{opacity:.6;cursor:not-allowed}.w-100[data-v-85671525]{width:100%}.d-flex[data-v-85671525]{display:flex}.justify-between[data-v-85671525]{justify-content:space-between}.align-center[data-v-85671525]{align-items:center}.flex-wrap[data-v-85671525]{flex-wrap:wrap}.gap-3[data-v-85671525]{gap:1rem}.mb-1[data-v-85671525]{margin-bottom:1.25rem}.mt-2[data-v-85671525]{margin-top:.65rem}.py-4[data-v-85671525]{padding-top:2rem;padding-bottom:2rem}.text-center[data-v-85671525]{text-align:center}.text-muted[data-v-85671525]{color:#64748b}.text-primary[data-v-85671525]{color:var(--color-primary,#2585cc)}.text-success[data-v-85671525]{color:#16a34a}.subtitle[data-v-85671525]{margin:.2rem 0 0;font-size:.9rem}.header-buttons[data-v-85671525]{align-items:center;gap:.75rem;display:flex}.btn-primary[data-v-85671525],.btn-secondary[data-v-85671525]{border-radius:var(--radius-md,8px);cursor:pointer;align-items:center;gap:.5rem;padding:.65rem 1.15rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-85671525]{background-color:var(--color-primary,#2585cc);color:#fff;border:none}.btn-primary[data-v-85671525]:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-primary[data-v-85671525]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-85671525]{color:#334155;background-color:#fff;border:1px solid #cbd5e1}.btn-secondary[data-v-85671525]:hover{background-color:#f8fafc;border-color:#94a3b8}.filters-bar[data-v-85671525]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.search-wrap[data-v-85671525]{flex:1;max-width:420px;position:relative}.search-icon[data-v-85671525]{color:#94a3b8;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-input[data-v-85671525]{border-radius:var(--radius-md,8px);background:#fff;border:1px solid #cbd5e1;outline:none;width:100%;padding:.6rem 2.2rem .6rem 2.5rem;font-size:.9rem;transition:border-color .2s}.search-input[data-v-85671525]:focus{border-color:var(--color-primary,#2585cc);box-shadow:0 0 0 2px #2585cc26}.clear-btn[data-v-85671525]{color:#94a3b8;cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.count-badge[data-v-85671525]{color:#475569;background:#f1f5f9;border-radius:20px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.84rem;display:inline-flex}.table-container[data-v-85671525]{border-radius:var(--radius-md,8px);background:#fff;border:1px solid #e2e8f0;overflow-x:auto;box-shadow:0 1px 3px #0000000f}.data-table[data-v-85671525]{border-collapse:collapse;width:100%}.data-table th[data-v-85671525],.data-table td[data-v-85671525]{text-align:left;border-bottom:1px solid #f1f5f9;padding:.85rem 1rem;font-size:.88rem}.data-table th[data-v-85671525]{color:#475569;background-color:#f8fafc;font-weight:600}.data-table tr[data-v-85671525]:hover{background-color:#f8fafc}.doc-badge[data-v-85671525]{color:#0369a1;background:#e0f2fe;border-radius:4px;margin-right:.4rem;padding:.15rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.parent-name[data-v-85671525]{color:#0f172a;font-weight:600}.contact-item[data-v-85671525]{color:#334155;align-items:center;gap:.35rem;font-size:.86rem;display:inline-flex}.badge[data-v-85671525]{border-radius:12px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.82rem;font-weight:600;display:inline-flex}.badge-user[data-v-85671525]{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.badge-secondary[data-v-85671525]{color:#64748b;background-color:#f1f5f9}.actions-cell[data-v-85671525]{align-items:center;gap:.65rem;display:flex}.btn-icon[data-v-85671525]{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:inline-flex}.btn-icon[data-v-85671525]:hover{background-color:#f1f5f9;transform:scale(1.1)}.btn-action-link[data-v-85671525]{color:#0369a1;cursor:pointer;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-action-link[data-v-85671525]:hover{background:#e0f2fe;border-color:#7dd3fc}.pagination-footer[data-v-85671525]{color:#64748b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem .5rem;font-size:.88rem;display:flex}.pagination-info strong[data-v-85671525]{color:#1e293b}.pagination-controls[data-v-85671525]{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.page-size-select[data-v-85671525]{align-items:center;gap:.4rem;display:flex}.page-size-select select[data-v-85671525]{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:.35rem .6rem;font-size:.85rem}.page-buttons[data-v-85671525]{align-items:center;gap:.25rem;display:flex}.page-btn[data-v-85671525]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 .5rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.page-btn[data-v-85671525]:hover:not(:disabled){color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.page-btn.active[data-v-85671525]{background:var(--color-primary,#2585cc);border-color:var(--color-primary,#2585cc);color:#fff}.page-btn[data-v-85671525]:disabled{opacity:.4;cursor:not-allowed}.modal-overlay[data-v-85671525]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content[data-v-85671525]{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;padding:1.8rem;animation:.25s ease-out scaleIn-85671525;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header-custom[data-v-85671525]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.modal-header-custom h4[data-v-85671525]{color:#0f172a;margin:0;font-size:1.25rem}.modal-subtitle[data-v-85671525]{color:#64748b;margin:.25rem 0 0;font-size:.85rem}.btn-close[data-v-85671525]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem}.btn-close[data-v-85671525]:hover{color:#0f172a;background:#f1f5f9}.form-grid[data-v-85671525]{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.col-span-2[data-v-85671525]{grid-column:span 2}.form-group label[data-v-85671525]{color:#334155;margin-bottom:.35rem;font-size:.84rem;font-weight:600;display:block}.input-field[data-v-85671525]{border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;padding:.55rem .75rem;font-size:.88rem}.input-field[data-v-85671525]:focus{border-color:var(--color-primary,#2585cc);box-shadow:0 0 0 2px #2585cc26}.checkbox-group[data-v-85671525]{align-items:center;gap:.5rem;display:flex}.checkbox-group label[data-v-85671525]{margin-bottom:0;font-weight:400}.modal-actions[data-v-85671525]{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.custom-select-wrapper[data-v-85671525]{position:relative}.dropdown-list[data-v-85671525]{z-index:50;background:#fff;border:1px solid #cbd5e1;border-radius:6px;max-height:220px;margin:.25rem 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 15px -3px #0000001a}.dropdown-list li[data-v-85671525]{cursor:pointer;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.65rem .85rem;font-size:.86rem;transition:background-color .15s;display:flex}.dropdown-list li[data-v-85671525]:last-child{border-bottom:none}.dropdown-list li[data-v-85671525]:hover{color:var(--color-primary,#2585cc);background:#f0f9ff}.student-drop-info[data-v-85671525]{align-items:center;gap:.45rem;display:flex}.doc-badge-sm[data-v-85671525]{color:#475569;background:#f1f5f9;border-radius:4px;padding:.15rem .45rem;font-size:.72rem}.dropdown-empty[data-v-85671525]{text-align:center;color:#94a3b8;z-index:50;background:#fff;border:1px solid #cbd5e1;border-radius:6px;margin-top:.25rem;padding:.85rem;font-size:.84rem;position:absolute;top:100%;left:0;right:0}.selected-preview[data-v-85671525]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.84rem;display:flex}.preview-text[data-v-85671525]{align-items:center;gap:.45rem;display:flex}.btn-clear-preview[data-v-85671525]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem}.btn-clear-preview[data-v-85671525]:hover{color:#dc2626;background:#fee2e2}.linked-students-container[data-v-85671525]{flex-wrap:wrap;gap:.35rem;max-width:280px;display:flex}.student-badge-chip[data-v-85671525]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.78rem;font-weight:500;line-height:1.2;transition:all .15s;display:inline-flex}.student-badge-chip[data-v-85671525]:hover{background:#dcfce7;border-color:#86efac}.student-badge-chip .chip-icon[data-v-85671525]{color:#16a34a;flex-shrink:0}.student-badge-chip .chip-text[data-v-85671525]{color:#14532d;font-weight:600}.student-badge-chip .chip-group[data-v-85671525]{color:#15803d;font-size:.72rem;font-weight:700}.badge-no-students[data-v-85671525]{color:#c2410c;background:#fff7ed;border:1px solid #ffedd5;border-radius:6px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.78rem;font-weight:500;display:inline-flex}.modal-large[data-v-85671525]{max-width:680px}.bulk-steps-container[data-v-85671525]{flex-direction:column;gap:1.25rem;display:flex}.step-box[data-v-85671525]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:1rem;padding:1.15rem;display:flex}.step-num[data-v-85671525]{background:var(--color-primary,#2585cc);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.step-body[data-v-85671525]{flex:1}.step-body h5[data-v-85671525]{color:#1e293b;margin:0 0 .35rem;font-size:.98rem}.step-body p[data-v-85671525]{color:#64748b;margin:0 0 .85rem;font-size:.85rem;line-height:1.45}.btn-template[data-v-85671525]{color:#0284c7;cursor:pointer;background:#fff;border:1.5px solid #0284c7;border-radius:6px;align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-template[data-v-85671525]:hover:not(:disabled){background:#f0f9ff;border-color:#0369a1}.drop-zone[data-v-85671525]{text-align:center;cursor:pointer;background:#fff;border:2px dashed #cbd5e1;border-radius:8px;padding:1.5rem;transition:all .2s}.drop-zone[data-v-85671525]:hover{border-color:var(--color-primary,#2585cc);background:#f0f9ff}.drop-zone.has-file[data-v-85671525]{cursor:default;background:#f0fdf4;border-style:solid;border-color:#22c55e;padding:.85rem}.drop-placeholder[data-v-85671525]{flex-direction:column;justify-content:center;align-items:center;display:flex}.file-card[data-v-85671525]{text-align:left;align-items:center;gap:.85rem;display:flex}.file-icon[data-v-85671525]{color:#16a34a}.file-details[data-v-85671525]{flex-direction:column;flex:1;display:flex}.file-name[data-v-85671525]{color:#1e293b;font-size:.9rem;font-weight:600}.btn-remove-file[data-v-85671525]{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.35rem}.btn-remove-file[data-v-85671525]:hover{background:#fee2e2}.import-results-card[data-v-85671525]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem}.import-results-card h5[data-v-85671525]{color:#0f172a;margin:0 0 1rem}.metrics-grid[data-v-85671525]{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.metric-card[data-v-85671525]{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.85rem}.metric-card.total[data-v-85671525]{color:#334155;background:#f8fafc;border-color:#cbd5e1}.metric-card.success[data-v-85671525]{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.metric-card.error.has-errors[data-v-85671525]{color:#991b1b;background:#fef2f2;border-color:#fecaca}.metric-val[data-v-85671525]{font-size:1.5rem;font-weight:700;display:block}.metric-lbl[data-v-85671525]{text-transform:uppercase;letter-spacing:.5px;font-size:.78rem;font-weight:600}.alert-box-warning[data-v-85671525]{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;align-items:center;gap:.6rem;margin-bottom:.65rem;padding:.65rem .85rem;font-size:.84rem;display:flex}.alert-box-success[data-v-85671525]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;align-items:center;gap:.6rem;margin-bottom:.65rem;padding:.65rem .85rem;font-size:.84rem;display:flex}.errors-table-wrap[data-v-85671525]{border:1px solid #fecaca;border-radius:6px;max-height:200px;overflow-y:auto}.errors-table[data-v-85671525]{border-collapse:collapse;width:100%;font-size:.8rem}.errors-table th[data-v-85671525],.errors-table td[data-v-85671525]{text-align:left;border-bottom:1px solid #fee2e2;padding:.5rem .75rem}.errors-table th[data-v-85671525]{color:#991b1b;background:#fef2f2;position:sticky;top:0}.success-chips[data-v-85671525]{flex-wrap:wrap;gap:.4rem;display:flex}.student-chip[data-v-85671525]{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:12px;padding:.2rem .6rem;font-size:.76rem}.student-chip.more[data-v-85671525]{background:#e2e8f0;font-weight:600}@keyframes scaleIn-85671525{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.academic-years-view[data-v-458181f3]{background-color:#f8fafc;min-height:100vh;padding:2rem}.page-header[data-v-458181f3]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-header h2[data-v-458181f3]{color:#1e293b;font-size:1.875rem;font-weight:700}.btn-primary[data-v-458181f3]{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background-color .2s;display:flex}.btn-primary[data-v-458181f3]:hover{background-color:var(--color-primary-light)}.icon-spacing[data-v-458181f3]{margin-right:.4rem}.table-container[data-v-458181f3]{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}table[data-v-458181f3]{border-collapse:collapse;width:100%}th[data-v-458181f3],td[data-v-458181f3]{text-align:left;padding:1rem 1.5rem}th[data-v-458181f3]{color:#475569;text-transform:uppercase;background-color:#f1f5f9;font-size:.875rem;font-weight:600}td[data-v-458181f3]{color:#334155;border-bottom:1px solid #e2e8f0}.status-badge[data-v-458181f3]{border-radius:9999px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.status-badge.active[data-v-458181f3]{color:#166534;background-color:#dcfce7}.status-badge.inactive[data-v-458181f3]{color:#991b1b;background-color:#fee2e2}.actions[data-v-458181f3]{gap:.5rem;display:flex}.btn-icon[data-v-458181f3]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .2s,color .2s;display:inline-flex}.btn-icon[data-v-458181f3]:hover{transform:scale(1.1)}.text-primary[data-v-458181f3]{color:var(--color-primary)}.text-danger[data-v-458181f3]{color:#dc3545}.text-success[data-v-458181f3]{color:#10b981}.modal-overlay[data-v-458181f3]{z-index:50;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-458181f3]{background:#fff;border-radius:.75rem;width:100%;max-width:500px;padding:2rem;box-shadow:0 20px 25px -5px #0000001a}.form-group[data-v-458181f3]{margin-bottom:1.25rem}.form-group label[data-v-458181f3]{color:#475569;margin-bottom:.5rem;font-weight:500;display:block}.form-group input[type=text][data-v-458181f3],.form-group input[type=date][data-v-458181f3]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;width:100%;padding:.75rem;transition:border-color .2s}.form-group input[data-v-458181f3]:focus{border-color:#3b82f6}.checkbox-group[data-v-458181f3]{align-items:center;gap:.5rem;display:flex}.checkbox-group label[data-v-458181f3]{margin:0}.modal-actions[data-v-458181f3]{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.btn-secondary[data-v-458181f3]{color:#475569;cursor:pointer;background-color:#e2e8f0;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600}.btn-secondary[data-v-458181f3]:hover{background-color:#cbd5e1}.grading-config[data-v-458181f3]{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:1.25rem;padding:1rem}.grading-config h4[data-v-458181f3]{color:#334155;margin-top:0;margin-bottom:1rem;font-size:.95rem}.form-row[data-v-458181f3]{gap:1rem;display:flex}.form-row .form-group[data-v-458181f3]{flex:1;margin-bottom:0}.form-group input[type=number][data-v-458181f3]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;width:100%;padding:.75rem;transition:border-color .2s}.form-group input[type=number][data-v-458181f3]:focus{border-color:#3b82f6}.subjects-view[data-v-0b7585ec]{background-color:#f8fafc;min-height:100vh;padding:2rem}.page-header[data-v-0b7585ec]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-header h2[data-v-0b7585ec]{color:#1e293b;font-size:1.875rem;font-weight:700}.btn-primary[data-v-0b7585ec]{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background-color .2s;display:flex}.btn-primary[data-v-0b7585ec]:hover{background-color:var(--color-primary-light)}.icon-spacing[data-v-0b7585ec]{margin-right:.4rem}.table-container[data-v-0b7585ec]{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}table[data-v-0b7585ec]{border-collapse:collapse;width:100%}th[data-v-0b7585ec],td[data-v-0b7585ec]{text-align:left;padding:1rem 1.5rem}th[data-v-0b7585ec]{color:#475569;text-transform:uppercase;background-color:#f1f5f9;font-size:.875rem;font-weight:600}td[data-v-0b7585ec]{color:#334155;border-bottom:1px solid #e2e8f0}.code-badge[data-v-0b7585ec]{color:#475569;background:#f1f5f9;border-radius:.25rem;padding:.25rem .5rem;font-family:monospace;font-weight:600}.actions[data-v-0b7585ec]{gap:.5rem;display:flex}.btn-icon[data-v-0b7585ec]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .2s,color .2s;display:inline-flex}.btn-icon[data-v-0b7585ec]:hover{transform:scale(1.1)}.text-primary[data-v-0b7585ec]{color:var(--color-primary)}.text-danger[data-v-0b7585ec]{color:#dc3545}.modal-overlay[data-v-0b7585ec]{z-index:50;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-0b7585ec]{background:#fff;border-radius:.75rem;width:100%;max-width:500px;padding:2rem;box-shadow:0 20px 25px -5px #0000001a}.form-group[data-v-0b7585ec]{margin-bottom:1.25rem}.form-group label[data-v-0b7585ec]{color:#475569;margin-bottom:.5rem;font-weight:500;display:block}.form-group input[type=text][data-v-0b7585ec]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;width:100%;padding:.75rem;transition:border-color .2s}.form-group input[data-v-0b7585ec]:focus{border-color:#3b82f6}.modal-actions[data-v-0b7585ec]{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.btn-secondary[data-v-0b7585ec]{color:#475569;cursor:pointer;background-color:#e2e8f0;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600}.btn-secondary[data-v-0b7585ec]:hover{background-color:#cbd5e1}.assignments-view[data-v-83a662b8]{background-color:#f8fafc;min-height:100vh;padding:2rem}.page-header[data-v-83a662b8]{margin-bottom:2rem}.page-header h2[data-v-83a662b8]{color:#1e293b;margin-bottom:.5rem;font-size:1.875rem;font-weight:700}.subtitle[data-v-83a662b8]{color:#64748b;font-size:1.1rem}.main-content[data-v-83a662b8]{grid-template-columns:300px 1fr;align-items:start;gap:2rem;display:grid}.card[data-v-83a662b8]{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.filters-sidebar[data-v-83a662b8]{padding:1.5rem}.filters-sidebar h3[data-v-83a662b8]{color:#334155;margin-bottom:1.5rem}.panel-header[data-v-83a662b8]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.panel-header h3[data-v-83a662b8]{color:#1e293b;margin:0}.form-group[data-v-83a662b8]{margin-bottom:1.5rem}.form-group label[data-v-83a662b8]{color:#475569;margin-bottom:.5rem;font-weight:500;display:block}.form-group select[data-v-83a662b8],.form-group input[data-v-83a662b8]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;width:100%;padding:.75rem}.form-group select[data-v-83a662b8]:focus,.form-group input[data-v-83a662b8]:focus{border-color:var(--color-primary)}.table-container[data-v-83a662b8]{width:100%;overflow-x:auto}table[data-v-83a662b8]{border-collapse:collapse;width:100%}th[data-v-83a662b8],td[data-v-83a662b8]{text-align:left;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}th[data-v-83a662b8]{color:#475569;text-transform:uppercase;background-color:#f8fafc;font-size:.875rem;font-weight:600}.btn-primary[data-v-83a662b8]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background .2s;display:flex}.btn-primary[data-v-83a662b8]:hover{background:var(--color-primary-light)}.btn-sm[data-v-83a662b8]{padding:.5rem 1rem;font-size:.875rem}.empty-state[data-v-83a662b8]{justify-content:center;align-items:center;min-height:400px;display:flex}.empty-content[data-v-83a662b8]{text-align:center;max-width:400px}.empty-content .icon[data-v-83a662b8]{margin-bottom:1rem;font-size:4rem;display:block}.empty-content h3[data-v-83a662b8]{color:#1e293b;margin-bottom:.5rem;font-size:1.5rem}.empty-content p[data-v-83a662b8]{color:#64748b;line-height:1.5}.text-center[data-v-83a662b8]{text-align:center}.text-muted[data-v-83a662b8]{color:#94a3b8}.actions[data-v-83a662b8]{gap:.5rem;display:flex}.btn-icon[data-v-83a662b8]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.25rem;transition:transform .2s,color .2s;display:inline-flex}.btn-icon[data-v-83a662b8]:hover{transform:scale(1.1)}.text-primary[data-v-83a662b8]{color:var(--color-primary)}.text-danger[data-v-83a662b8]{color:#dc3545}.icon-spacing[data-v-83a662b8]{margin-right:.4rem}.modal-overlay[data-v-83a662b8]{z-index:50;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-83a662b8]{background:#fff;border-radius:.75rem;width:100%;max-width:450px;padding:2rem}.modal-actions[data-v-83a662b8]{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.btn-secondary[data-v-83a662b8]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600}.badge-preschool-info[data-v-83a662b8]{color:#0d9488;background-color:#f0fdfa;border:1px solid #ccfbf1;border-radius:9999px;margin-top:.35rem;padding:.2rem .6rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-dimension[data-v-83a662b8]{color:#0369a1;background-color:#e0f2fe;border:1px solid #bae6fd;border-radius:9999px;padding:.25rem .65rem;font-size:.78rem;font-weight:600;display:inline-block}.help-text[data-v-83a662b8]{color:#64748b;margin-top:.35rem;font-size:.78rem;line-height:1.4;display:block}.italic[data-v-83a662b8]{font-style:italic}.enrollments-view[data-v-36d424ad]{background-color:#f8fafc;min-height:100vh;padding:2rem}.page-header[data-v-36d424ad]{margin-bottom:2rem}.page-header h2[data-v-36d424ad]{color:#1e293b;margin-bottom:.5rem;font-size:1.875rem;font-weight:700}.subtitle[data-v-36d424ad]{color:#64748b;font-size:1.1rem}.main-content[data-v-36d424ad]{grid-template-columns:300px 1fr;align-items:start;gap:2rem;display:grid}.card[data-v-36d424ad]{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.filters-sidebar[data-v-36d424ad]{padding:1.5rem}.filters-sidebar h3[data-v-36d424ad]{color:#334155;margin-bottom:1.5rem}.panel-header[data-v-36d424ad]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.panel-header h3[data-v-36d424ad]{color:#1e293b;margin:0}.form-group[data-v-36d424ad]{margin-bottom:1.5rem}.form-group label[data-v-36d424ad]{color:#475569;margin-bottom:.5rem;font-weight:500;display:block}.form-group select[data-v-36d424ad],.form-group input[data-v-36d424ad]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;width:100%;padding:.75rem}.form-group select[data-v-36d424ad]:focus,.form-group input[data-v-36d424ad]:focus{border-color:#3b82f6}.table-container[data-v-36d424ad]{width:100%;overflow-x:auto}table[data-v-36d424ad]{border-collapse:collapse;width:100%}th[data-v-36d424ad],td[data-v-36d424ad]{text-align:left;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}th[data-v-36d424ad]{color:#475569;text-transform:uppercase;background-color:#f8fafc;font-size:.875rem;font-weight:600}.btn-primary[data-v-36d424ad]{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:background .2s}.btn-primary[data-v-36d424ad]:hover{background:#2563eb}.btn-primary[data-v-36d424ad]:disabled{cursor:not-allowed;background:#93c5fd}.btn-secondary[data-v-36d424ad]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;margin-right:.5rem;padding:.75rem 1.5rem;font-weight:600}.btn-sm[data-v-36d424ad]{padding:.5rem 1rem;font-size:.875rem}.empty-state[data-v-36d424ad]{justify-content:center;align-items:center;min-height:400px;display:flex}.empty-content[data-v-36d424ad]{text-align:center;max-width:400px}.empty-content .icon[data-v-36d424ad]{margin-bottom:1rem;font-size:4rem;display:block}.empty-content h3[data-v-36d424ad]{color:#1e293b;margin-bottom:.5rem;font-size:1.5rem}.empty-content p[data-v-36d424ad]{color:#64748b;line-height:1.5}.text-center[data-v-36d424ad]{text-align:center}.text-muted[data-v-36d424ad]{color:#94a3b8}.actions[data-v-36d424ad]{gap:.5rem;display:flex}.btn-icon[data-v-36d424ad]{cursor:pointer;background:0 0;border:none;font-size:1.25rem;transition:transform .2s}.btn-icon[data-v-36d424ad]:hover{transform:scale(1.1)}.status-badge[data-v-36d424ad]{border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.status-badge.activo[data-v-36d424ad]{color:#166534;background-color:#dcfce7}.status-badge.retirado[data-v-36d424ad]{color:#991b1b;background-color:#fee2e2}.status-badge.graduado[data-v-36d424ad]{color:#3730a3;background-color:#e0e7ff}.modal-overlay[data-v-36d424ad]{z-index:50;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-36d424ad]{background:#fff;border-radius:.75rem;flex-direction:column;width:100%;max-width:500px;max-height:90vh;padding:2rem;display:flex}.modal-content.large[data-v-36d424ad]{max-width:700px}.modal-content h3[data-v-36d424ad]{color:#1e293b;margin-bottom:1.5rem}.search-bar[data-v-36d424ad]{margin-bottom:1rem}.search-bar input[data-v-36d424ad]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;width:100%;padding:.75rem}.search-bar input[data-v-36d424ad]:focus{border-color:#3b82f6}.students-list[data-v-36d424ad]{border:1px solid #e2e8f0;border-radius:.5rem;flex:1;max-height:400px;margin-bottom:1.5rem;overflow-y:auto}.students-list table[data-v-36d424ad]{border-collapse:collapse;width:100%}.students-list th[data-v-36d424ad]{z-index:10;background-color:#f8fafc;position:sticky;top:0}.clickable-row[data-v-36d424ad]{cursor:pointer}.clickable-row[data-v-36d424ad]:hover{background-color:#f1f5f9}.modal-actions[data-v-36d424ad]{justify-content:space-between;align-items:center;display:flex}.selected-count[data-v-36d424ad]{color:#64748b;font-size:.875rem}.categories-view[data-v-e78265d1]{background-color:#f8fafc;min-height:100vh;padding:2rem}.page-header[data-v-e78265d1]{margin-bottom:2rem}.page-header h2[data-v-e78265d1]{color:#1e293b;margin-bottom:.5rem;font-size:1.875rem;font-weight:700}.subtitle[data-v-e78265d1]{color:#64748b;font-size:1.1rem}.main-content[data-v-e78265d1]{grid-template-columns:300px 1fr;align-items:start;gap:2rem;display:grid}.card[data-v-e78265d1]{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.filters-sidebar[data-v-e78265d1]{padding:1.5rem}.filters-sidebar h3[data-v-e78265d1]{color:#334155;margin-bottom:1.5rem}.form-group[data-v-e78265d1]{margin-bottom:1.5rem}.form-group label[data-v-e78265d1]{color:#475569;margin-bottom:.5rem;font-weight:500;display:block}.form-group select[data-v-e78265d1],.form-group input[data-v-e78265d1]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;width:100%;padding:.75rem}.form-group select[data-v-e78265d1]:focus,.form-group input[data-v-e78265d1]:focus{border-color:#3b82f6}.summary-box[data-v-e78265d1]{text-align:center;border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:1.5rem}.summary-box h4[data-v-e78265d1]{color:#475569;margin-bottom:1rem}.percentage-circle[data-v-e78265d1]{color:#64748b;border:4px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto;font-size:1.5rem;font-weight:700;display:flex}.percentage-circle.perfect[data-v-e78265d1]{color:#10b981;border-color:#10b981}.percentage-circle.error[data-v-e78265d1]{color:#ef4444;border-color:#ef4444}.text-success[data-v-e78265d1]{color:#10b981}.text-sm[data-v-e78265d1]{font-size:.875rem}.mt-2[data-v-e78265d1]{margin-top:.5rem}.panel-header[data-v-e78265d1]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.panel-header h3[data-v-e78265d1]{color:#1e293b;margin:0}.table-container[data-v-e78265d1]{width:100%;overflow-x:auto}table[data-v-e78265d1]{border-collapse:collapse;width:100%}th[data-v-e78265d1],td[data-v-e78265d1]{text-align:left;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}th[data-v-e78265d1]{color:#475569;text-transform:uppercase;background-color:#f8fafc;font-size:.875rem;font-weight:600}.btn-primary[data-v-e78265d1]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background .2s;display:flex}.btn-primary[data-v-e78265d1]:hover{background:var(--color-primary-light)}.btn-secondary[data-v-e78265d1]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;justify-content:center;align-items:center;margin-right:.5rem;padding:.75rem 1.5rem;font-weight:600;display:flex}.btn-sm[data-v-e78265d1]{padding:.5rem 1rem;font-size:.875rem}.icon-spacing[data-v-e78265d1]{margin-right:.4rem}.actions[data-v-e78265d1]{gap:.5rem;display:flex}.btn-icon[data-v-e78265d1]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .2s,color .2s;display:inline-flex}.btn-icon[data-v-e78265d1]:hover{transform:scale(1.1)}.text-primary[data-v-e78265d1]{color:var(--color-primary)}.text-danger[data-v-e78265d1]{color:#dc3545}.empty-state[data-v-e78265d1]{justify-content:center;align-items:center;min-height:400px;display:flex}.empty-content[data-v-e78265d1]{text-align:center;max-width:400px}.empty-content .icon[data-v-e78265d1]{margin-bottom:1rem;font-size:4rem;display:block}.empty-content h3[data-v-e78265d1]{color:#1e293b;margin-bottom:.5rem;font-size:1.5rem}.empty-content p[data-v-e78265d1]{color:#64748b;line-height:1.5}.text-center[data-v-e78265d1]{text-align:center}.text-muted[data-v-e78265d1]{color:#94a3b8}.modal-overlay[data-v-e78265d1]{z-index:50;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-e78265d1]{background:#fff;border-radius:.75rem;width:100%;max-width:400px;padding:2rem}.modal-content h3[data-v-e78265d1]{color:#1e293b;margin-bottom:1.5rem}.modal-actions[data-v-e78265d1]{justify-content:flex-end;margin-top:1.5rem;display:flex}.type-badge[data-v-e78265d1]{text-transform:uppercase;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.type-badge.LEARNING_ACTIVITY[data-v-e78265d1]{color:#4338ca;background:#e0e7ff}.type-badge.EXAM[data-v-e78265d1]{color:#b91c1c;background:#fee2e2}.type-badge.ADDITIONAL_GRADE[data-v-e78265d1]{color:#b45309;background:#fef3c7}.performance-levels-view[data-v-6b1b6610]{background-color:#f8fafc;min-height:100vh;padding:2rem}.page-header[data-v-6b1b6610]{margin-bottom:2rem}.page-header h2[data-v-6b1b6610]{color:#1e293b;margin-bottom:.5rem;font-size:1.875rem;font-weight:700}.subtitle[data-v-6b1b6610]{color:#64748b;font-size:1.1rem}.main-content[data-v-6b1b6610]{grid-template-columns:300px 1fr;align-items:start;gap:2rem;display:grid}.card[data-v-6b1b6610]{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.filters-sidebar[data-v-6b1b6610]{padding:1.5rem}.filters-sidebar h3[data-v-6b1b6610]{color:#334155;margin-bottom:1.5rem}.form-group[data-v-6b1b6610]{margin-bottom:1.5rem}.form-group label[data-v-6b1b6610]{color:#475569;margin-bottom:.5rem;font-weight:500;display:block}.form-group select[data-v-6b1b6610],.form-group input[data-v-6b1b6610]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;width:100%;padding:.75rem}.form-group select[data-v-6b1b6610]:focus,.form-group input[data-v-6b1b6610]:focus{border-color:#3b82f6}.summary-box[data-v-6b1b6610]{text-align:center;border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:1.5rem}.summary-box h4[data-v-6b1b6610]{color:#475569;margin-bottom:.5rem}.text-success[data-v-6b1b6610]{color:#10b981;font-weight:600}.text-danger[data-v-6b1b6610]{color:#ef4444;font-weight:600}.text-sm[data-v-6b1b6610]{font-size:.875rem}.text-xs[data-v-6b1b6610]{font-size:.75rem}.mt-2[data-v-6b1b6610]{margin-top:.5rem}.panel-header[data-v-6b1b6610]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.panel-header h3[data-v-6b1b6610]{color:#1e293b;margin:0}.table-container[data-v-6b1b6610]{width:100%;overflow-x:auto}table[data-v-6b1b6610]{border-collapse:collapse;width:100%}th[data-v-6b1b6610],td[data-v-6b1b6610]{text-align:left;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}th[data-v-6b1b6610]{color:#475569;text-transform:uppercase;background-color:#f8fafc;font-size:.875rem;font-weight:600}.btn-primary[data-v-6b1b6610]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background .2s;display:flex}.btn-primary[data-v-6b1b6610]:hover{background:var(--color-primary-light)}.btn-secondary[data-v-6b1b6610]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;justify-content:center;align-items:center;margin-right:.5rem;padding:.75rem 1.5rem;font-weight:600;display:flex}.btn-sm[data-v-6b1b6610]{padding:.5rem 1rem;font-size:.875rem}.icon-spacing[data-v-6b1b6610]{margin-right:.4rem}.actions[data-v-6b1b6610]{gap:.5rem;display:flex}.btn-icon[data-v-6b1b6610]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .2s,color .2s;display:inline-flex}.btn-icon[data-v-6b1b6610]:hover{transform:scale(1.1)}.text-primary[data-v-6b1b6610]{color:var(--color-primary)}.text-danger[data-v-6b1b6610]{color:#dc3545}.empty-state[data-v-6b1b6610]{justify-content:center;align-items:center;min-height:400px;display:flex}.empty-content[data-v-6b1b6610]{text-align:center;max-width:400px}.empty-content .icon[data-v-6b1b6610]{color:var(--color-primary);margin-bottom:1rem;font-size:4rem;display:block}.empty-content h3[data-v-6b1b6610]{color:#1e293b;margin-bottom:.5rem;font-size:1.5rem}.empty-content p[data-v-6b1b6610]{color:#64748b;line-height:1.5}.text-center[data-v-6b1b6610]{text-align:center}.text-muted[data-v-6b1b6610]{color:#94a3b8}.modal-overlay[data-v-6b1b6610]{z-index:50;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-6b1b6610]{background:#fff;border-radius:.75rem;width:100%;max-width:500px;padding:2rem}.modal-content h3[data-v-6b1b6610]{color:#1e293b;margin-bottom:1.5rem}.modal-actions[data-v-6b1b6610]{justify-content:flex-end;margin-top:1.5rem;display:flex}.form-row[data-v-6b1b6610]{gap:1rem;display:flex}.form-row .form-group[data-v-6b1b6610]{flex:1}.periods-view[data-v-515d9198]{background-color:#f8fafc;min-height:100vh;padding:2rem}.page-header[data-v-515d9198]{margin-bottom:2rem}.page-header h2[data-v-515d9198]{color:#1e293b;margin-bottom:.5rem;font-size:1.875rem;font-weight:700}.subtitle[data-v-515d9198]{color:#64748b;font-size:1.1rem}.main-content[data-v-515d9198]{grid-template-columns:300px 1fr;align-items:start;gap:2rem;display:grid}.card[data-v-515d9198]{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.filters-sidebar[data-v-515d9198]{padding:1.5rem}.filters-sidebar h3[data-v-515d9198]{color:#334155;margin-bottom:1.5rem}.form-group[data-v-515d9198]{margin-bottom:1.5rem}.form-group label[data-v-515d9198]{color:#475569;margin-bottom:.5rem;font-weight:500;display:block}.form-group select[data-v-515d9198],.form-group input[data-v-515d9198]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;width:100%;padding:.75rem}.form-group select[data-v-515d9198]:focus,.form-group input[data-v-515d9198]:focus{border-color:#3b82f6}.panel-header[data-v-515d9198]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.panel-header h3[data-v-515d9198]{color:#1e293b;margin:0}.table-container[data-v-515d9198]{width:100%;overflow-x:auto}table[data-v-515d9198]{border-collapse:collapse;width:100%}th[data-v-515d9198],td[data-v-515d9198]{text-align:left;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}th[data-v-515d9198]{color:#475569;text-transform:uppercase;background-color:#f8fafc;font-size:.875rem;font-weight:600}.btn-primary[data-v-515d9198]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background .2s;display:flex}.btn-primary[data-v-515d9198]:hover{background:var(--color-primary-light)}.btn-secondary[data-v-515d9198]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;margin-right:.5rem;padding:.75rem 1.5rem;font-weight:600}.btn-sm[data-v-515d9198]{padding:.5rem 1rem;font-size:.875rem}.icon-spacing[data-v-515d9198]{margin-right:.4rem}.actions[data-v-515d9198]{gap:.5rem;display:flex}.btn-icon[data-v-515d9198]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .2s,color .2s;display:inline-flex}.btn-icon[data-v-515d9198]:hover{transform:scale(1.1)}.text-primary[data-v-515d9198]{color:var(--color-primary)}.text-danger[data-v-515d9198]{color:#dc3545}.empty-state[data-v-515d9198]{justify-content:center;align-items:center;min-height:400px;display:flex}.empty-content[data-v-515d9198]{text-align:center;max-width:400px}.empty-content .icon[data-v-515d9198]{margin-bottom:1rem;font-size:4rem;display:block}.empty-content h3[data-v-515d9198]{color:#1e293b;margin-bottom:.5rem;font-size:1.5rem}.empty-content p[data-v-515d9198]{color:#64748b;line-height:1.5}.text-center[data-v-515d9198]{text-align:center}.text-muted[data-v-515d9198]{color:#94a3b8}.modal-overlay[data-v-515d9198]{z-index:50;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-515d9198]{background:#fff;border-radius:.75rem;width:100%;max-width:400px;padding:2rem}.modal-content h3[data-v-515d9198]{color:#1e293b;margin-bottom:1.5rem}.modal-actions[data-v-515d9198]{justify-content:flex-end;margin-top:1.5rem;display:flex}.dashboard[data-v-1568d80c]{background-color:var(--color-surface);height:100vh;display:flex;overflow:hidden}.sidebar[data-v-1568d80c]{background-color:var(--color-primary);color:#fff;flex-direction:column;width:260px;display:flex}.logo[data-v-1568d80c]{text-align:center;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;padding:1.5rem;display:flex}.sidebar-logo[data-v-1568d80c]{max-width:80%;height:auto}.sidebar-nav[data-v-1568d80c]{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-nav[data-v-1568d80c]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-1568d80c]::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.sidebar-nav a[data-v-1568d80c]{color:#fffc;transition:var(--transition);padding:.75rem 1.5rem;text-decoration:none;display:block}.sidebar-nav a[data-v-1568d80c]:hover,.sidebar-nav a.active[data-v-1568d80c]{color:var(--color-secondary);border-left:4px solid var(--color-secondary);background-color:#ffffff1a}.menu-group[data-v-1568d80c]{margin-bottom:.25rem}.menu-toggle[data-v-1568d80c]{color:#ffffffe6;cursor:pointer;width:100%;transition:var(--transition);font-size:1rem;font-family:var(--font-family);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.menu-toggle[data-v-1568d80c]:hover{color:#fff;background-color:#ffffff0d}.menu-toggle.open[data-v-1568d80c]{color:var(--color-secondary);border-left:4px solid var(--color-secondary);background-color:#0000001a;padding-left:calc(1.5rem - 4px)}.menu-title[data-v-1568d80c]{align-items:center;gap:.5rem;font-weight:500;display:flex}.menu-icon[data-v-1568d80c]{opacity:.8}.submenu[data-v-1568d80c]{background-color:#00000026;overflow:hidden}.submenu a[data-v-1568d80c]{border-left:4px solid #0000;padding:.6rem 1.5rem .6rem 3rem;font-size:.9rem}.nav-divider[data-v-1568d80c]{background-color:#ffffff1a;height:1px;margin:.75rem 1.5rem}.sidebar-footer[data-v-1568d80c]{border-top:1px solid #ffffff1a;flex-shrink:0;padding:1rem}.btn-logout[data-v-1568d80c]{color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:var(--transition);background:0 0;border:1px solid #ffffff4d;padding:.5rem}.btn-logout[data-v-1568d80c]:hover{background-color:#dc3545e6;border-color:#0000}.mb-2[data-v-1568d80c]{margin-bottom:.5rem}.content[data-v-1568d80c]{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar[data-v-1568d80c]{background-color:var(--color-background);box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.desktop-greeting[data-v-1568d80c]{color:var(--color-text);margin:0;font-size:1.5rem}.mobile-logo-link[data-v-1568d80c],.mobile-user-actions[data-v-1568d80c],.mobile-bottom-nav[data-v-1568d80c]{display:none}.content-body[data-v-1568d80c]{flex:1;padding:2rem;overflow-y:auto}@media (width<=768px){.sidebar[data-v-1568d80c]{display:none!important}.dashboard[data-v-1568d80c]{flex-direction:column;height:100dvh}.topbar[data-v-1568d80c]{min-height:56px;padding:.65rem 1rem}.desktop-greeting[data-v-1568d80c]{display:none!important}.mobile-logo-link[data-v-1568d80c]{align-items:center;text-decoration:none;display:flex}.mobile-nav-logo[data-v-1568d80c]{object-fit:contain;width:auto;max-width:140px;height:38px}.mobile-user-actions[data-v-1568d80c]{display:block;position:relative}.mobile-user-btn[data-v-1568d80c]{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;background:#fff;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.82rem;display:inline-flex}.user-pill-name[data-v-1568d80c]{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-weight:600;overflow:hidden}.mobile-dropdown-menu[data-v-1568d80c]{border-radius:var(--radius-md);z-index:100;background:#fff;border:1px solid #e2e8f0;width:200px;padding:.5rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 20px #00000026}.dropdown-header[data-v-1568d80c]{padding:.5rem .65rem}.dropdown-name[data-v-1568d80c]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.85rem;font-weight:700;overflow:hidden}.dropdown-role[data-v-1568d80c]{color:#64748b;font-size:.72rem}.dropdown-divider[data-v-1568d80c]{background-color:#f1f5f9;height:1px;margin:.35rem 0}.dropdown-item[data-v-1568d80c]{border-radius:var(--radius-sm);color:#334155;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.55rem .65rem;font-size:.82rem;display:flex}.dropdown-item[data-v-1568d80c]:hover{background-color:#f8fafc}.dropdown-item.text-danger[data-v-1568d80c]{color:#dc2626}.dropdown-item.text-danger[data-v-1568d80c]:hover{background-color:#fef2f2}.content-body[data-v-1568d80c]{padding:1rem .85rem calc(68px + env(safe-area-inset-bottom,12px)) .85rem;box-sizing:border-box;max-width:100vw;overflow-x:hidden}.mobile-bottom-nav[data-v-1568d80c]{z-index:1000;background:var(--color-primary);height:60px;padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:content-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-top:1px solid #ffffff24;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #0003}.bottom-nav-item[data-v-1568d80c]{color:#ffffffa6;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;height:100%;padding:6px 2px;text-decoration:none;transition:all .2s;display:flex;position:relative}.bottom-nav-item.active[data-v-1568d80c]{color:#fff}.bottom-nav-item.active .bottom-nav-icon-wrap[data-v-1568d80c]{color:var(--color-accent);background:#2585cc59;border-radius:12px}.bottom-nav-item.active .bottom-nav-label[data-v-1568d80c]{color:#fff;font-weight:700}.bottom-nav-icon-wrap[data-v-1568d80c]{justify-content:center;align-items:center;width:38px;height:26px;transition:all .2s;display:flex;position:relative}.bottom-nav-label[data-v-1568d80c]{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(.62rem,2.3vw,.72rem);font-weight:500;line-height:1;overflow:hidden}}.weekly-schedule[data-v-07ced7e4]{width:100%}.table-container[data-v-07ced7e4]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow-x:auto}.schedule-table[data-v-07ced7e4]{border-collapse:collapse;table-layout:fixed;width:100%}.schedule-table th[data-v-07ced7e4],.schedule-table td[data-v-07ced7e4]{border:1px solid #e2e8f0}.schedule-table th[data-v-07ced7e4]{text-align:center;color:#475569;background:#f8fafc;padding:.75rem;font-weight:600}.block-col[data-v-07ced7e4]{text-align:center;color:#475569;background:#f8fafc;width:90px;font-size:.9rem}.schedule-table td[data-v-07ced7e4]{vertical-align:top;height:80px;padding:0}.empty-cell[data-v-07ced7e4]{width:100%;height:100%}.inactive-cell[data-v-07ced7e4]{background:#f8fafc}.inactive-text[data-v-07ced7e4]{color:#cbd5e1;justify-content:center;align-items:center;width:100%;height:100%;font-size:.85rem;font-style:italic;display:flex}.class-cell[data-v-07ced7e4]{text-align:center;background:#eff6ff;border-left:3px solid #3b82f6;flex-direction:column;justify-content:center;width:100%;height:100%;padding:.5rem;display:flex}.subject-title[data-v-07ced7e4]{color:#1e3a8a;margin-bottom:.25rem;font-size:.85rem;font-weight:600;line-height:1.1}.subtitle[data-v-07ced7e4]{color:#3b82f6;font-size:.75rem;line-height:1.1}.loading-state[data-v-07ced7e4]{text-align:center;color:var(--color-text-muted);padding:2rem}.mobile-schedule-view[data-v-07ced7e4]{display:none}@media (width<=768px){.desktop-schedule-view[data-v-07ced7e4]{display:none!important}.mobile-schedule-view[data-v-07ced7e4]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e2e8f0;padding:.85rem;display:block}.mobile-day-selector[data-v-07ced7e4]{border-radius:var(--radius-md);background:#f1f5f9;border:1px solid #e2e8f0;gap:.35rem;margin-bottom:.85rem;padding:.35rem;display:flex}.day-tab-btn[data-v-07ced7e4]{border-radius:var(--radius-sm);color:#475569;cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:44px;padding:.5rem .25rem;transition:all .2s;display:flex}.day-tab-btn[data-v-07ced7e4]:hover{background:#fff9}.day-tab-btn.active[data-v-07ced7e4]{background:var(--color-primary);color:#fff;font-weight:700;box-shadow:0 2px 4px #132b6633}.day-tab-name[data-v-07ced7e4]{font-size:.85rem;font-weight:600}.today-indicator[data-v-07ced7e4]{color:#d97706;margin-top:1px;font-size:.65rem;font-weight:700;line-height:1}.day-tab-btn.active .today-indicator[data-v-07ced7e4]{color:#fde047}.day-header-info[data-v-07ced7e4]{justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:0 .25rem;display:flex}.day-title[data-v-07ced7e4]{color:var(--color-primary);align-items:center;gap:.45rem;font-size:.95rem;font-weight:700;display:flex}.day-icon[data-v-07ced7e4]{color:var(--color-primary-light)}.badge-today[data-v-07ced7e4]{color:#92400e;text-transform:uppercase;background:#fef3c7;border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:700}.day-classes-count[data-v-07ced7e4]{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .55rem;font-size:.76rem;font-weight:600}.day-blocks-list[data-v-07ced7e4]{flex-direction:column;gap:.5rem;display:flex}.block-card[data-v-07ced7e4]{border-radius:var(--radius-sm);background:#fff;border:1px solid #e2e8f0;align-items:stretch;min-height:52px;transition:all .2s;display:flex;overflow:hidden}.block-number-tag[data-v-07ced7e4]{background:#f8fafc;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:60px;padding:.35rem .25rem;display:flex}.b-label[data-v-07ced7e4]{text-transform:uppercase;color:#94a3b8;letter-spacing:.5px;font-size:.62rem;font-weight:700}.b-num[data-v-07ced7e4]{color:#1e293b;font-size:1.15rem;font-weight:800;line-height:1.1}.block-info-content[data-v-07ced7e4]{flex:1;align-items:center;padding:.55rem .85rem;display:flex}.block-card.has-class[data-v-07ced7e4]{border-left:4px solid var(--color-secondary);background:#f8fafc}.class-details[data-v-07ced7e4]{flex-direction:column;gap:.2rem;width:100%;display:flex}.mobile-subject-title[data-v-07ced7e4]{color:#1e3a8a;margin:0;font-size:.92rem;font-weight:700;line-height:1.25}.extra-info[data-v-07ced7e4]{align-items:center;gap:.5rem;display:flex}.extra-item[data-v-07ced7e4]{color:#64748b;align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.status-free[data-v-07ced7e4],.status-empty[data-v-07ced7e4]{color:#94a3b8;font-size:.8rem;font-style:italic}.block-card.is-inactive[data-v-07ced7e4]{opacity:.65;background:#fafafa}.block-card.is-free[data-v-07ced7e4]{background:#fcfcfc;border-style:dashed}.no-blocks-msg[data-v-07ced7e4]{text-align:center;color:#94a3b8;padding:1.5rem;font-size:.85rem}}.modal-overlay[data-v-e7545293]{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172abf;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content[data-v-e7545293]{border-radius:var(--radius-lg);background:#fff;flex-direction:column;width:90%;max-width:1200px;height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) modal-pop-e7545293;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}@keyframes modal-pop-e7545293{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header[data-v-e7545293]{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-title[data-v-e7545293]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;max-width:70%;margin:0;font-size:1.1rem;font-weight:600;overflow:hidden}.header-actions[data-v-e7545293]{align-items:center;gap:1rem;display:flex}.btn-download[data-v-e7545293]{color:var(--color-primary);justify-content:center;align-items:center;transition:color .2s;display:flex}.btn-download[data-v-e7545293]:hover{color:var(--color-primary-dark)}.btn-close[data-v-e7545293]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.btn-close[data-v-e7545293]:hover{color:#ef4444;background:#f1f5f9}.modal-body[data-v-e7545293]{background-color:#e2e8f0;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.file-viewer-iframe[data-v-e7545293]{border:none;width:100%;height:100%}.file-viewer-image[data-v-e7545293]{object-fit:contain;max-width:100%;max-height:100%}.file-viewer-video[data-v-e7545293]{background:#000;max-width:100%;max-height:100%}.unsupported-file[data-v-e7545293]{border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;align-items:center;padding:3rem;display:flex}.text-primary[data-v-e7545293]{color:var(--color-primary)}.mb-4[data-v-e7545293]{margin-bottom:1rem}.mt-4[data-v-e7545293]{margin-top:1rem}.btn-download-primary[data-v-e7545293]{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.btn-download-primary[data-v-e7545293]:hover{background:var(--color-primary-dark)}.announcement-feed[data-v-94f036c0]{flex-direction:column;gap:1.5rem;display:flex}.feed-header[data-v-94f036c0]{border-bottom:2px solid #f1f5f9;padding-bottom:.5rem}.feed-title[data-v-94f036c0]{color:var(--color-primary);align-items:center;margin:0;font-size:1.25rem;display:flex}.mr-1[data-v-94f036c0]{margin-right:.25rem}.mr-2[data-v-94f036c0]{margin-right:.5rem}.empty-state[data-v-94f036c0]{text-align:center;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px dashed var(--color-border);background:#fff;padding:3rem 1rem}.empty-icon[data-v-94f036c0]{color:var(--color-text-light);opacity:.5;margin-bottom:1rem}.empty-state h4[data-v-94f036c0]{color:var(--color-text);margin-bottom:.5rem}.empty-state p[data-v-94f036c0]{color:var(--color-text-light);font-size:.95rem}.feed-list[data-v-94f036c0]{flex-direction:column;gap:1.5rem;display:flex}.announcement-card[data-v-94f036c0]{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#fff;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.announcement-card[data-v-94f036c0]:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000006}.card-header[data-v-94f036c0]{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.header-left[data-v-94f036c0]{align-items:center;gap:1rem;display:flex}.author-avatar[data-v-94f036c0]{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.meta-info[data-v-94f036c0]{flex-direction:column;display:flex}.author-name[data-v-94f036c0]{color:#1e293b;font-size:1rem;font-weight:600}.publish-date[data-v-94f036c0]{color:#64748b;align-items:center;margin-top:.25rem;font-size:.8rem;display:flex}.header-right[data-v-94f036c0]{align-items:center;gap:1rem;display:flex}.badge[data-v-94f036c0]{text-transform:uppercase;letter-spacing:.5px;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-popup[data-v-94f036c0]{color:#dc2626;background-color:#fef2f2;border:1px solid #f87171;font-weight:700}.badge-general[data-v-94f036c0]{color:#b91c1c;background-color:#fee2e2}.badge-group[data-v-94f036c0]{color:#4338ca;background-color:#e0e7ff}.badge-subject[data-v-94f036c0]{color:#15803d;background-color:#dcfce7}.btn-delete[data-v-94f036c0]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.btn-delete[data-v-94f036c0]:hover{color:#ef4444;background:#fee2e2}.card-body[data-v-94f036c0]{padding:1.5rem}.announcement-title[data-v-94f036c0]{color:#0f172a;margin:0 0 1rem;font-size:1.25rem;font-weight:700;line-height:1.4}.announcement-content[data-v-94f036c0]{color:#334155;white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.6}.mt-3[data-v-94f036c0]{margin-top:1rem}.attachment-box[data-v-94f036c0]{border-top:1px dashed #cbd5e1;padding-top:1rem}.attachment-link[data-v-94f036c0]{color:var(--color-primary);border-radius:var(--radius-md);background-color:#f1f5f9;border:1px solid #e2e8f0;align-items:center;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.cursor-pointer[data-v-94f036c0]{cursor:pointer}.attachment-link[data-v-94f036c0]:hover{background-color:#e2e8f0;border-color:#cbd5e1}.modal-backdrop[data-v-20c9d39b]{z-index:1050;background:#0000008c;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:fixed;top:0;left:0}.modal-card[data-v-20c9d39b]{border-radius:var(--radius-lg);width:100%;max-width:620px;box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;animation:.25s ease-out modalEnter-20c9d39b;display:flex;overflow:hidden}@keyframes modalEnter-20c9d39b{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-20c9d39b]{background:var(--color-primary);color:#fff;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.header-titles h3[data-v-20c9d39b]{color:var(--color-surface);margin:0 0 .25rem;font-size:1.2rem;font-weight:700}.header-titles p[data-v-20c9d39b]{color:#ffffffd9;margin:0;font-size:.85rem}.btn-close[data-v-20c9d39b]{color:#fff;cursor:pointer;background:0 0;border:none;padding:.25rem}.modal-body[data-v-20c9d39b]{flex-direction:column;gap:1rem;max-height:70vh;padding:1.5rem;display:flex;overflow-y:auto}.teacher-summary-card[data-v-20c9d39b]{background:var(--color-bg-alt);border-radius:var(--radius-md);border:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;padding:1rem;display:grid}.summary-item[data-v-20c9d39b]{align-items:center;gap:.5rem;display:flex}.summary-item .lbl[data-v-20c9d39b]{color:var(--color-text-light);font-size:.75rem;display:block}.summary-item .val[data-v-20c9d39b]{color:var(--color-primary);font-size:.92rem}.icon-primary[data-v-20c9d39b]{color:var(--color-secondary)}.weekly-schedule-box[data-v-20c9d39b]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fdfdfd;padding:.85rem 1rem}.box-title[data-v-20c9d39b]{color:var(--color-primary);align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:.85rem;font-weight:700;display:flex}.hours-pills[data-v-20c9d39b]{flex-wrap:wrap;gap:.5rem;display:flex}.weekly-pill[data-v-20c9d39b]{border:1px solid var(--color-chart-light);border-radius:var(--radius-pill);background:#fff;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.82rem;display:flex}.day-name[data-v-20c9d39b]{color:var(--color-primary);font-weight:700}.hour-span[data-v-20c9d39b]{color:var(--color-text)}.location-tag[data-v-20c9d39b]{color:var(--color-text-light);font-size:.75rem}.no-hours-notice[data-v-20c9d39b]{color:var(--color-tertiary);align-items:center;gap:.5rem;padding:.25rem 0;font-size:.85rem;display:flex}.slots-container[data-v-20c9d39b]{flex-direction:column;gap:.5rem;display:flex}.slots-grid[data-v-20c9d39b]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;display:grid}.slot-btn[data-v-20c9d39b]{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text);transition:var(--transition);background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.6rem .5rem;font-size:.85rem;font-weight:600;display:flex}.slot-btn[data-v-20c9d39b]:hover:not(:disabled){border-color:var(--color-secondary);background:var(--color-bg-alt)}.slot-btn.selected[data-v-20c9d39b]{border-color:var(--color-secondary);background:var(--color-secondary);color:#fff}.slot-btn.disabled[data-v-20c9d39b]{color:#9ca3af;cursor:not-allowed;opacity:.7;background:#f3f4f6;border-color:#e5e7eb}.slot-badge[data-v-20c9d39b]{color:#dc2626;background:#fee2e2;border-radius:4px;padding:.1rem .35rem;font-size:.7rem}.selected-slot-banner[data-v-20c9d39b]{border-radius:var(--radius-sm);color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.icon-success[data-v-20c9d39b]{color:#10b981}.empty-slots-alert[data-v-20c9d39b]{border-radius:var(--radius-sm);color:#92400e;background:#fffbeb;border:1px solid #fde68a;align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:.88rem;display:flex}.m-0[data-v-20c9d39b]{margin:0}.text-muted[data-v-20c9d39b]{color:var(--color-text-light)}.loading-slots[data-v-20c9d39b],.loading-mini[data-v-20c9d39b]{color:var(--color-text-light);align-items:center;gap:.5rem;padding:.5rem 0;font-size:.85rem;display:flex}.spinner-sm[data-v-20c9d39b]{border:2px solid var(--color-border);border-top-color:var(--color-secondary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin-20c9d39b}@keyframes spin-20c9d39b{to{transform:rotate(360deg)}}.form-group[data-v-20c9d39b]{flex-direction:column;gap:.35rem;display:flex}.form-control[data-v-20c9d39b]{border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;padding:.65rem .85rem;font-size:.92rem}.form-control[data-v-20c9d39b]:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px #2585cc26}.form-hint[data-v-20c9d39b]{color:var(--color-text-light);font-size:.78rem}.modal-footer[data-v-20c9d39b]{background:var(--color-background);border-top:1px solid var(--color-border);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.btn[data-v-20c9d39b]{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:1px solid #0000;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600}.btn-primary[data-v-20c9d39b]{background:var(--color-primary);color:#fff}.btn-primary[data-v-20c9d39b]:hover:not(:disabled){background:var(--color-primary-light)}.btn-primary[data-v-20c9d39b]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-20c9d39b]{color:var(--color-text);background:#e5e7eb}.btn-secondary[data-v-20c9d39b]:hover{background:#d1d5db}.mt-3[data-v-20c9d39b]{margin-top:1rem}.parent-dashboard[data-v-7d021142]{flex-direction:column;gap:2rem;display:flex}.header h2[data-v-7d021142]{color:var(--color-text);margin-bottom:.5rem;font-size:1.8rem}.header p[data-v-7d021142]{color:var(--color-text-light)}.dashboard-content[data-v-7d021142]{grid-template-columns:350px 1fr;gap:2rem;display:grid}.left-column[data-v-7d021142]{flex-direction:column;gap:2rem;display:flex}.children-sidebar[data-v-7d021142]{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;align-self:flex-start;padding:1.5rem}.children-sidebar h3[data-v-7d021142]{color:var(--color-text);margin-bottom:1rem;font-size:1.2rem}.children-list[data-v-7d021142]{flex-direction:column;gap:.5rem;display:flex}.child-item[data-v-7d021142]{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.child-item[data-v-7d021142]:hover{background:#f8fafc}.child-item.active[data-v-7d021142]{background:#eff6ff;border-color:#bfdbfe}.avatar[data-v-7d021142]{font-size:2rem}.child-info h4[data-v-7d021142]{color:#1e293b;margin:0;font-size:1rem}.child-info .document[data-v-7d021142]{color:#64748b;font-size:.8rem}.section-header[data-v-7d021142]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.section-header h3[data-v-7d021142]{color:#1e293b;margin:0;font-size:1.4rem}.btn-homeroom-shortcut[data-v-7d021142]{color:var(--color-primary);border-radius:var(--radius-pill);transition:var(--transition);background:#eff6ff;border:1px solid #bfdbfe;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-homeroom-shortcut[data-v-7d021142]:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 8px #132b6633}.subsection-title[data-v-7d021142]{color:var(--color-primary);border-bottom:2px solid #f1f5f9;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.2rem}.mt-4[data-v-7d021142]{margin-top:2rem}.schedule-section[data-v-7d021142]{margin-bottom:2rem}.courses-grid[data-v-7d021142]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.course-card[data-v-7d021142]{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;border-top:4px solid #10b981;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.course-card[data-v-7d021142]:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.card-header[data-v-7d021142]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.card-header h4[data-v-7d021142]{color:var(--color-text);margin:0;font-size:1.1rem;font-weight:600;line-height:1.3}.badge[data-v-7d021142]{color:#047857;white-space:nowrap;background:#d1fae5;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.card-body[data-v-7d021142]{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);background-color:#f8fafc;flex-grow:1;padding:1.5rem}.teacher-info[data-v-7d021142]{color:#64748b;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.icon-spacing[data-v-7d021142]{flex-shrink:0}.teacher-info .name[data-v-7d021142]{font-weight:500}.empty-state[data-v-7d021142]{border-radius:var(--radius-md);min-height:300px;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;display:flex}.empty-content p[data-v-7d021142]{color:#64748b}.card-footer-action[data-v-7d021142]{border-top:1px dashed #e2e8f0;justify-content:flex-end;padding-top:.75rem;display:flex}.btn-appointment[data-v-7d021142]{border:1px solid var(--color-secondary);color:var(--color-secondary-dark);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:#fff;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.btn-appointment[data-v-7d021142]:hover{background:var(--color-secondary);color:#fff;box-shadow:0 2px 4px #2585cc40}.view-all-announcements[data-v-7d021142]{margin-top:1rem}.btn-view-all-announcements[data-v-7d021142]{border-radius:var(--radius-md);width:100%;color:var(--color-primary);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #cbd5e1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-view-all-announcements[data-v-7d021142]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);background:#f8fafc;transform:translateY(-1px)}@media (width<=768px){.parent-dashboard[data-v-7d021142]{box-sizing:border-box;gap:1.5rem;width:100%;max-width:100%;overflow-x:hidden}.header h2[data-v-7d021142]{font-size:1.4rem}.header p[data-v-7d021142]{font-size:.88rem}.dashboard-content[data-v-7d021142]{box-sizing:border-box;flex-direction:column;gap:1.5rem;width:100%;max-width:100%;display:flex}.left-column[data-v-7d021142]{display:contents}.children-sidebar[data-v-7d021142]{box-sizing:border-box;order:1;align-self:stretch;width:100%;max-width:100%;padding:1.15rem 1rem}.children-sidebar h3[data-v-7d021142]{margin-bottom:.75rem;font-size:1.1rem}.child-item[data-v-7d021142]{box-sizing:border-box;min-width:0;padding:.75rem}.child-info[data-v-7d021142]{min-width:0;overflow:hidden}.child-info h4[data-v-7d021142]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.courses-section[data-v-7d021142]{box-sizing:border-box;order:2;width:100%;min-width:0;max-width:100%;overflow-x:hidden}.courses-section.no-child-selected[data-v-7d021142]{display:none}.announcements-section[data-v-7d021142]{box-sizing:border-box;order:3;width:100%;min-width:0;max-width:100%}.section-header[data-v-7d021142]{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:.75rem;width:100%;margin-bottom:1.25rem;display:flex}.section-header h3[data-v-7d021142]{font-size:1.2rem}.btn-homeroom-shortcut[data-v-7d021142]{box-sizing:border-box;text-align:center;justify-content:center;align-items:center;width:100%;padding:.5rem .75rem;font-size:.82rem;display:inline-flex}.subsection-title[data-v-7d021142]{margin-bottom:.75rem;font-size:1.05rem}.courses-grid[data-v-7d021142]{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%;max-width:100%;display:grid}.course-card[data-v-7d021142]{box-sizing:border-box;border-radius:var(--radius-md);border-top:3px solid #10b981;flex-direction:column;justify-content:space-between;width:100%;min-width:0;max-width:100%;min-height:180px;display:flex;overflow:hidden}.card-header[data-v-7d021142]{box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;min-width:0;max-width:100%;padding:.65rem .55rem .4rem;display:flex;overflow:hidden}.card-header h4[data-v-7d021142]{word-break:break-word;overflow-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;margin:0;font-size:.84rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.badge[data-v-7d021142]{white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;max-width:100%;padding:.12rem .4rem;font-size:.65rem;display:inline-block;overflow:hidden}.card-body[data-v-7d021142]{box-sizing:border-box;flex-direction:column;flex-grow:1;justify-content:space-between;gap:.45rem;width:100%;min-width:0;max-width:100%;padding:.55rem;display:flex;overflow:hidden}.teacher-info[data-v-7d021142]{color:#64748b;align-items:center;gap:.3rem;width:100%;min-width:0;max-width:100%;font-size:.74rem;display:flex;overflow:hidden}.teacher-info .icon-spacing[data-v-7d021142]{flex-shrink:0;width:14px;height:14px}.teacher-info .name[data-v-7d021142]{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.card-footer-action[data-v-7d021142]{box-sizing:border-box;border-top:1px dashed #e2e8f0;justify-content:center;width:100%;min-width:0;max-width:100%;margin-top:auto;padding-top:.45rem;display:flex}.btn-appointment[data-v-7d021142]{box-sizing:border-box;border-radius:var(--radius-sm);text-align:center;justify-content:center;align-items:center;gap:.25rem;width:100%;min-width:0;max-width:100%;padding:.38rem .25rem;font-size:clamp(.63rem,2.1vw,.74rem);font-weight:600;line-height:1.15;display:inline-flex;overflow:hidden}.btn-appointment svg[data-v-7d021142]{flex-shrink:0;width:13px;height:13px}.btn-appointment span[data-v-7d021142]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}}@media (width<=330px){.courses-grid[data-v-7d021142]{grid-template-columns:1fr;gap:.75rem}.course-card[data-v-7d021142]{min-height:auto}.card-header[data-v-7d021142]{flex-direction:row;justify-content:space-between;align-items:center}}.dashboard[data-v-75104b6c]{background-color:var(--color-surface);height:100vh;display:flex;overflow:hidden}.sidebar[data-v-75104b6c]{background-color:var(--color-primary);color:#fff;flex-direction:column;width:260px;display:flex}.logo[data-v-75104b6c]{text-align:center;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;padding:1.5rem;display:flex}.sidebar-logo[data-v-75104b6c]{max-width:80%;height:auto}.sidebar-nav[data-v-75104b6c]{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-nav[data-v-75104b6c]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-75104b6c]::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.sidebar-nav a[data-v-75104b6c]{color:#fffc;transition:var(--transition);padding:.75rem 1.5rem;text-decoration:none;display:block}.sidebar-nav a[data-v-75104b6c]:hover,.sidebar-nav a.active[data-v-75104b6c]{color:var(--color-secondary);border-left:4px solid var(--color-secondary);background-color:#ffffff1a}.sidebar-footer[data-v-75104b6c]{border-top:1px solid #ffffff1a;flex-shrink:0;padding:1rem}.btn-logout[data-v-75104b6c]{color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:var(--transition);background:0 0;border:1px solid #ffffff4d;padding:.5rem}.btn-logout[data-v-75104b6c]:hover{background-color:#dc3545e6;border-color:#0000}.mb-2[data-v-75104b6c]{margin-bottom:.5rem}.content[data-v-75104b6c]{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar[data-v-75104b6c]{background-color:var(--color-background);box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.desktop-greeting[data-v-75104b6c]{color:var(--color-text);margin:0;font-size:1.5rem}.mobile-logo-link[data-v-75104b6c]{display:none}.content-body[data-v-75104b6c]{flex:1;padding:2rem;overflow-y:auto}.nav-with-badge[data-v-75104b6c]{justify-content:space-between;align-items:center;display:flex!important}.nav-badge[data-v-75104b6c]{color:#fff;border-radius:var(--radius-pill);background:#ff5722;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.mobile-user-actions[data-v-75104b6c],.mobile-bottom-nav[data-v-75104b6c]{display:none}@media (width<=768px){.sidebar[data-v-75104b6c]{display:none!important}.dashboard[data-v-75104b6c]{flex-direction:column;height:100dvh}.topbar[data-v-75104b6c]{min-height:56px;padding:.65rem 1rem}.desktop-greeting[data-v-75104b6c]{display:none!important}.mobile-logo-link[data-v-75104b6c]{align-items:center;text-decoration:none;display:flex}.mobile-nav-logo[data-v-75104b6c]{object-fit:contain;width:auto;max-width:140px;height:38px}.mobile-user-actions[data-v-75104b6c]{display:block;position:relative}.mobile-user-btn[data-v-75104b6c]{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;background:#fff;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.82rem;display:inline-flex}.mobile-dropdown-menu[data-v-75104b6c]{border-radius:var(--radius-md);z-index:100;background:#fff;border:1px solid #e2e8f0;width:200px;padding:.5rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 20px #00000026}.dropdown-header[data-v-75104b6c]{padding:.5rem .65rem}.dropdown-name[data-v-75104b6c]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.85rem;font-weight:700;overflow:hidden}.dropdown-role[data-v-75104b6c]{color:#64748b;font-size:.72rem}.dropdown-divider[data-v-75104b6c]{background-color:#f1f5f9;height:1px;margin:.35rem 0}.dropdown-item[data-v-75104b6c]{border-radius:var(--radius-sm);color:#334155;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.55rem .65rem;font-size:.82rem;display:flex}.dropdown-item[data-v-75104b6c]:hover{background-color:#f8fafc}.dropdown-item.text-danger[data-v-75104b6c]{color:#dc2626}.dropdown-item.text-danger[data-v-75104b6c]:hover{background-color:#fef2f2}.content-body[data-v-75104b6c]{padding:1rem .85rem calc(68px + env(safe-area-inset-bottom,12px)) .85rem;box-sizing:border-box;max-width:100vw;overflow-x:hidden}.mobile-bottom-nav[data-v-75104b6c]{z-index:1000;background:var(--color-primary);height:60px;padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:content-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-top:1px solid #ffffff24;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #0003}.bottom-nav-item[data-v-75104b6c]{color:#ffffffa6;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;height:100%;padding:6px 2px;text-decoration:none;transition:all .2s;display:flex;position:relative}.bottom-nav-item.active[data-v-75104b6c]{color:#fff}.bottom-nav-item.active .bottom-nav-icon-wrap[data-v-75104b6c]{color:var(--color-accent);background:#2585cc59;border-radius:12px}.bottom-nav-item.active .bottom-nav-label[data-v-75104b6c]{color:#fff;font-weight:700}.bottom-nav-icon-wrap[data-v-75104b6c]{justify-content:center;align-items:center;width:38px;height:26px;transition:all .2s;display:flex;position:relative}.bottom-nav-label[data-v-75104b6c]{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(.62rem,2.3vw,.72rem);font-weight:500;line-height:1;overflow:hidden}.bottom-nav-badge[data-v-75104b6c]{color:#fff;text-align:center;border:1.5px solid var(--color-primary);background:#ef4444;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:15px;position:absolute;top:-4px;right:1px}}.teacher-dashboard[data-v-26d78d29]{flex-direction:column;gap:2rem;padding:1rem;display:flex}.header-title[data-v-26d78d29]{color:var(--color-primary);align-items:center;gap:.5rem;display:flex}.header-title h3[data-v-26d78d29]{margin:0}.header p[data-v-26d78d29]{color:var(--color-text-muted);margin-top:.5rem}.courses-grid[data-v-26d78d29]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.section-title[data-v-26d78d29]{color:var(--color-primary);border-bottom:2px solid #f1f5f9;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem}.schedule-section[data-v-26d78d29]{margin-bottom:2rem}.courses-section[data-v-26d78d29]{flex-direction:column;gap:1.25rem;display:flex}.courses-section-header[data-v-26d78d29]{flex-direction:column;gap:1rem;display:flex}.section-title-wrap[data-v-26d78d29]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.section-title-wrap .section-title[data-v-26d78d29]{border-bottom:none;margin-bottom:0;padding-bottom:0}.courses-count-pill[data-v-26d78d29]{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.25rem .65rem;font-size:.8rem;font-weight:600}.filters-toolbar[data-v-26d78d29]{border-radius:var(--radius-md);background:#fff;border:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;box-shadow:0 1px 3px #0000000a}.filter-group[data-v-26d78d29]{align-items:center;gap:.4rem;display:flex}.filter-label[data-v-26d78d29]{color:#475569;white-space:nowrap;align-items:center;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}.filter-select[data-v-26d78d29]{border-radius:var(--radius-sm);color:#1e293b;cursor:pointer;background-color:#f8fafc;border:1px solid #cbd5e1;outline:none;min-width:150px;padding:.45rem .75rem;font-size:.88rem;transition:all .2s}.filter-select[data-v-26d78d29]:focus{border-color:var(--color-primary-light);background-color:#fff;box-shadow:0 0 0 2px #27519e26}.search-wrap[data-v-26d78d29]{flex:1;align-items:center;min-width:220px;display:flex;position:relative}.search-icon[data-v-26d78d29]{color:#94a3b8;pointer-events:none;position:absolute;left:.65rem}.search-input[data-v-26d78d29]{border-radius:var(--radius-sm);color:#1e293b;background-color:#f8fafc;border:1px solid #cbd5e1;outline:none;width:100%;padding:.45rem 1.8rem .45rem 2.2rem;font-size:.88rem;transition:all .2s}.search-input[data-v-26d78d29]:focus{border-color:var(--color-primary-light);background-color:#fff;box-shadow:0 0 0 2px #27519e26}.clear-search-btn[data-v-26d78d29]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;align-items:center;padding:.2rem;display:flex;position:absolute;right:.45rem}.clear-search-btn[data-v-26d78d29]:hover{color:#475569;background:#f1f5f9}.btn-clear-filters[data-v-26d78d29]{color:#dc2626;border-radius:var(--radius-sm);cursor:pointer;background-color:#fee2e2;border:1px solid #fecaca;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-clear-filters[data-v-26d78d29]:hover{color:#b91c1c;background-color:#fecaca}.course-card[data-v-26d78d29]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-top:4px solid var(--color-primary);background:#fff;flex-direction:column;justify-content:space-between;height:100%;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.course-card[data-v-26d78d29]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.course-header[data-v-26d78d29]{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.course-title-group[data-v-26d78d29]{flex-direction:column;gap:.35rem;display:flex}.course-header h4[data-v-26d78d29]{color:var(--color-text);margin:0;font-size:1.1rem}.course-grade-info[data-v-26d78d29]{color:#475569;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;display:inline-flex}.course-meta[data-v-26d78d29]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.meta-tag[data-v-26d78d29]{color:#64748b;background:#f1f5f9;border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:500;display:inline-flex}.dimension-tag[data-v-26d78d29]{color:#92400e;background:#fef3c7;font-weight:600}.badge[data-v-26d78d29]{color:#0284c7;white-space:nowrap;background:#e0f2fe;border-radius:999px;padding:.25rem .5rem;font-size:.8rem;font-weight:700}.course-actions[data-v-26d78d29]{justify-content:center;display:flex}.btn-primary[data-v-26d78d29]{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-sm);text-align:center;width:100%;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:background-color .2s}.btn-primary[data-v-26d78d29]:hover{background-color:var(--color-primary-light)}.btn-secondary[data-v-26d78d29]{border-radius:var(--radius-sm);color:#334155;cursor:pointer;background-color:#f1f5f9;border:1px solid #cbd5e1;align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-secondary[data-v-26d78d29]:hover{color:#0f172a;background-color:#e2e8f0}.mt-3[data-v-26d78d29]{margin-top:1rem}.mb-2[data-v-26d78d29]{margin-bottom:.5rem}.info-card[data-v-26d78d29]{background:var(--color-background);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;border-top:4px solid var(--color-primary);padding:2rem}.text-muted[data-v-26d78d29]{color:var(--color-text-muted);margin-top:1rem}.icon-spacing[data-v-26d78d29]{margin-right:.25rem}.empty-icon[data-v-26d78d29]{color:var(--color-secondary);margin-bottom:1rem}.announcements-banner[data-v-26d78d29]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;border-left:4px solid #0284c7;padding:1.25rem 1.5rem}.announcements-banner-header[data-v-26d78d29]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.banner-title[data-v-26d78d29]{align-items:center;gap:.5rem;display:flex}.banner-title h4[data-v-26d78d29]{color:#1e293b;margin:0;font-size:1.05rem;font-weight:700}.text-primary-icon[data-v-26d78d29]{color:#0284c7}.view-all-link[data-v-26d78d29]{color:#0284c7;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .2s}.view-all-link[data-v-26d78d29]:hover{color:#0369a1;text-decoration:underline}.recent-announcements-grid[data-v-26d78d29]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.recent-ann-card[data-v-26d78d29]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;transition:all .2s}.recent-ann-card[data-v-26d78d29]:hover{box-shadow:var(--shadow-sm);background:#fff;border-color:#cbd5e1}.ann-card-header[data-v-26d78d29]{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.ann-badge[data-v-26d78d29]{color:#0369a1;text-transform:uppercase;background:#e0f2fe;border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.ann-date[data-v-26d78d29]{color:#94a3b8;font-size:.75rem}.ann-title[data-v-26d78d29]{color:#1e293b;margin:0 0 .35rem;font-size:.95rem;font-weight:700}.ann-snippet[data-v-26d78d29]{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.dashboard[data-v-07bfe49c]{background-color:var(--color-surface);height:100vh;display:flex;overflow:hidden}.sidebar[data-v-07bfe49c]{background-color:var(--color-primary);color:#fff;flex-direction:column;width:260px;display:flex}.logo[data-v-07bfe49c]{text-align:center;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;padding:1.5rem;display:flex}.sidebar-logo[data-v-07bfe49c]{max-width:80%;height:auto}.sidebar-nav[data-v-07bfe49c]{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-nav[data-v-07bfe49c]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-07bfe49c]::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.sidebar-nav a[data-v-07bfe49c]{color:#fffc;transition:var(--transition);padding:.75rem 1.5rem;text-decoration:none;display:block}.sidebar-nav a[data-v-07bfe49c]:hover,.sidebar-nav a.active[data-v-07bfe49c]{color:var(--color-secondary);border-left:4px solid var(--color-secondary);background-color:#ffffff1a}.menu-group[data-v-07bfe49c]{margin-bottom:.25rem}.menu-toggle[data-v-07bfe49c]{color:#ffffffe6;cursor:pointer;width:100%;transition:var(--transition);font-size:1rem;font-family:var(--font-family);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.menu-toggle[data-v-07bfe49c]:hover{color:#fff;background-color:#ffffff0d}.menu-toggle.open[data-v-07bfe49c]{color:var(--color-secondary);border-left:4px solid var(--color-secondary);background-color:#0000001a;padding-left:calc(1.5rem - 4px)}.menu-title[data-v-07bfe49c]{align-items:center;gap:.5rem;font-weight:500;display:flex}.menu-icon[data-v-07bfe49c]{opacity:.8}.submenu[data-v-07bfe49c]{background-color:#00000026;overflow:hidden}.submenu a[data-v-07bfe49c]{border-left:4px solid #0000;padding:.6rem 1.5rem .6rem 3rem;font-size:.9rem}.nav-divider[data-v-07bfe49c]{background-color:#ffffff1a;height:1px;margin:.75rem 1.5rem}.sidebar-footer[data-v-07bfe49c]{border-top:1px solid #ffffff1a;flex-shrink:0;padding:1rem}.btn-logout[data-v-07bfe49c]{color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:var(--transition);background:0 0;border:1px solid #ffffff4d;padding:.5rem}.btn-logout[data-v-07bfe49c]:hover{background-color:#dc3545e6;border-color:#0000}.mb-2[data-v-07bfe49c]{margin-bottom:.5rem}.content[data-v-07bfe49c]{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar[data-v-07bfe49c]{background-color:var(--color-background);box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;padding:1.5rem}.content-body[data-v-07bfe49c]{flex:1;padding:2rem;overflow-y:auto}.homeroom-nav-link[data-v-07bfe49c]{justify-content:space-between;align-items:center;display:flex!important}.nav-badge[data-v-07bfe49c]{color:#fff;border-radius:var(--radius-pill);background:#ff5722;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.spellcheck-container[data-v-ac0ebdf0]{margin:.5rem 0 1rem}.spellcheck-trigger-row[data-v-ac0ebdf0]{align-items:center;gap:.75rem;display:flex}.btn-spellcheck[data-v-ac0ebdf0]{color:var(--color-primary);border-radius:var(--radius-sm,6px);cursor:pointer;background-color:#f1f5f9;border:1px solid #cbd5e1;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-spellcheck[data-v-ac0ebdf0]:hover:not(:disabled){color:#0f172a;background-color:#e2e8f0;border-color:#94a3b8}.btn-spellcheck[data-v-ac0ebdf0]:disabled{opacity:.6;cursor:not-allowed}.btn-spellcheck.has-errors[data-v-ac0ebdf0]{color:#b45309;background-color:#fffbeb;border-color:#f59e0b}.error-badge[data-v-ac0ebdf0]{color:#fff;background-color:#ef4444;border-radius:9999px;padding:.1rem .45rem;font-size:.72rem;font-weight:700;line-height:1}.perfect-badge[data-v-ac0ebdf0]{color:#16a34a;border-radius:var(--radius-sm,6px);background-color:#f0fdf4;border:1px solid #bbf7d0;align-items:center;gap:.3rem;padding:.35rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex}.spellcheck-panel[data-v-ac0ebdf0]{border-radius:var(--radius-md,8px);background-color:#fff;border:1px solid #e2e8f0;margin-top:.75rem;padding:1rem;box-shadow:0 4px 12px #0000000f}.panel-header[data-v-ac0ebdf0]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.6rem;display:flex}.panel-title[data-v-ac0ebdf0]{color:#1e293b;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.text-warning[data-v-ac0ebdf0]{color:#d97706}.panel-header-actions[data-v-ac0ebdf0]{align-items:center;gap:.5rem;display:flex}.btn-apply-all[data-v-ac0ebdf0]{color:#2563eb;cursor:pointer;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .6rem;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-apply-all[data-v-ac0ebdf0]:hover{background-color:#dbeafe}.btn-close[data-v-ac0ebdf0]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:.2rem;display:flex}.btn-close[data-v-ac0ebdf0]:hover{color:#475569;background-color:#f1f5f9}.field-error-group[data-v-ac0ebdf0]{margin-bottom:.85rem}.field-error-group[data-v-ac0ebdf0]:last-child{margin-bottom:0}.field-tag[data-v-ac0ebdf0]{color:#475569;text-transform:uppercase;letter-spacing:.03em;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;margin-bottom:.4rem;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.error-items-list[data-v-ac0ebdf0]{flex-direction:column;gap:.5rem;display:flex}.error-item[data-v-ac0ebdf0]{background-color:#fafaf9;border:1px dashed #e7e5e4;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .65rem;display:flex}.error-word-container[data-v-ac0ebdf0]{align-items:center;gap:.35rem;display:flex}.misspelled-word[data-v-ac0ebdf0]{color:#dc2626;font-size:.88rem;font-weight:700;-webkit-text-decoration:underline wavy #ef4444;text-decoration:underline wavy #ef4444}.arrow-separator[data-v-ac0ebdf0]{color:#a8a29e;font-size:.85rem}.suggestions-list[data-v-ac0ebdf0]{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.suggestion-chip[data-v-ac0ebdf0]{color:#0369a1;cursor:pointer;background-color:#fff;border:1px solid #bae6fd;border-radius:9999px;padding:.2rem .55rem;font-size:.82rem;font-weight:600;transition:all .15s}.suggestion-chip[data-v-ac0ebdf0]:hover{color:#fff;background-color:#0284c7;border-color:#0284c7;transform:translateY(-1px)}.no-sug-text[data-v-ac0ebdf0]{color:#78716c;font-size:.8rem;font-style:italic}.btn-ignore[data-v-ac0ebdf0]{color:#78716c;cursor:pointer;background:0 0;border:1px solid #e7e5e4;border-radius:4px;padding:.15rem .45rem;font-size:.75rem;transition:all .15s}.btn-ignore[data-v-ac0ebdf0]:hover{color:#44403c;background-color:#f5f5f4}.animate-spin[data-v-ac0ebdf0]{animation:1s linear infinite spin-ac0ebdf0}@keyframes spin-ac0ebdf0{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.slide-fade-enter-active[data-v-ac0ebdf0]{transition:all .25s ease-out}.slide-fade-leave-active[data-v-ac0ebdf0]{transition:all .2s cubic-bezier(1,.5,.8,1)}.slide-fade-enter-from[data-v-ac0ebdf0],.slide-fade-leave-to[data-v-ac0ebdf0]{opacity:0;transform:translateY(-8px)}.activities-manager[data-v-68371b3a]{flex-direction:column;gap:1.5rem;display:flex}.toolbar[data-v-68371b3a]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:flex-end;padding:1.5rem;display:flex}.form-group.mb-0[data-v-68371b3a]{margin-bottom:0}.form-group label[data-v-68371b3a]{color:var(--color-text);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.period-select[data-v-68371b3a]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;min-width:200px;padding:.5rem 1rem;font-size:1rem}.btn-primary[data-v-68371b3a]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background .2s;display:flex}.btn-primary[data-v-68371b3a]:hover:not(:disabled){background:var(--color-primary-light)}.btn-primary[data-v-68371b3a]:disabled{opacity:.5;cursor:not-allowed}.table-container[data-v-68371b3a]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}table[data-v-68371b3a]{border-collapse:collapse;width:100%}th[data-v-68371b3a],td[data-v-68371b3a]{text-align:left;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}th[data-v-68371b3a]{color:#475569;text-transform:uppercase;background-color:#f8fafc;font-size:.85rem;font-weight:600}.category-badge[data-v-68371b3a]{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.25rem .5rem;font-size:.8rem;font-weight:600}.desc-cell[data-v-68371b3a]{white-space:nowrap;text-overflow:ellipsis;color:#64748b;max-width:250px;font-size:.9rem;overflow:hidden}.actions[data-v-68371b3a]{gap:.5rem;display:flex}.btn-icon[data-v-68371b3a]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.25rem;transition:transform .2s,color .2s;display:inline-flex}.btn-icon[data-v-68371b3a]:hover{transform:scale(1.1)}.text-primary[data-v-68371b3a]{color:var(--color-primary)}.text-danger[data-v-68371b3a]{color:#dc3545}.empty-state[data-v-68371b3a]{border-radius:var(--radius-md);min-height:300px;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;display:flex}.empty-content[data-v-68371b3a]{text-align:center}.empty-content .icon[data-v-68371b3a]{margin-bottom:1rem;font-size:3rem;display:block}.empty-content h3[data-v-68371b3a]{color:#1e293b;margin-bottom:.5rem;font-size:1.25rem}.empty-content p[data-v-68371b3a]{color:#64748b}.modal-overlay[data-v-68371b3a]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99999;box-sizing:border-box;background:#0f172a99;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow:hidden}.modal-content[data-v-68371b3a]{box-sizing:border-box;background:#fff;border-radius:1rem;width:100%;max-width:550px;max-height:90vh;padding:2rem;overflow:hidden auto;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #0000000a}.modal-content[data-v-68371b3a]::-webkit-scrollbar{width:6px}.modal-content[data-v-68371b3a]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:9999px}.modal-content[data-v-68371b3a]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}.modal-content[data-v-68371b3a]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-content h3[data-v-68371b3a]{color:#1e293b;margin-bottom:1.5rem}.form-group[data-v-68371b3a]{margin-bottom:1.25rem}.form-group input[data-v-68371b3a],.form-group select[data-v-68371b3a],.form-group textarea[data-v-68371b3a]{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:.5rem;outline:none;width:100%;max-width:100%;padding:.75rem;font-family:inherit}.form-group textarea[data-v-68371b3a]{resize:vertical;min-height:80px}.form-group input[data-v-68371b3a]:focus,.form-group select[data-v-68371b3a]:focus,.form-group textarea[data-v-68371b3a]:focus{border-color:var(--color-primary)}.modal-actions[data-v-68371b3a]{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.btn-secondary[data-v-68371b3a]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600}.icon-spacing[data-v-68371b3a]{margin-right:.4rem}.checkbox-label[data-v-68371b3a]{cursor:pointer;align-items:center;gap:.5rem;font-weight:500;display:flex}.text-muted[data-v-68371b3a]{color:#64748b;font-size:.85rem}.mt-1[data-v-68371b3a]{margin-top:.25rem}.d-block[data-v-68371b3a]{display:block}.sr-only[data-v-68371b3a]{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modality-options[data-v-68371b3a]{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;width:100%;margin-top:.25rem;display:grid}.modality-option[data-v-68371b3a]{cursor:pointer;box-sizing:border-box;background:#f8fafc;border:2px solid #e2e8f0;border-radius:.65rem;min-width:0;padding:.75rem;transition:all .2s;overflow:hidden}.modality-option[data-v-68371b3a]:hover{border-color:#cbd5e1}.modality-option.selected[data-v-68371b3a]{border-color:var(--color-primary);background:#eff6ff;box-shadow:0 2px 4px #2563eb1a}.modality-head[data-v-68371b3a]{margin-bottom:.35rem}.modality-badge[data-v-68371b3a]{color:#1e3a8a;word-break:break-word;font-size:.82rem;font-weight:700}.modality-badge.in-class[data-v-68371b3a]{color:#065f46}.modality-option small[data-v-68371b3a]{color:#64748b;font-size:.75rem;line-height:1.35;display:block}.schedule-hint-box[data-v-68371b3a]{color:#1e40af;box-sizing:border-box;word-break:break-word;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;align-items:center;gap:.5rem;max-width:100%;margin-top:.75rem;padding:.65rem .85rem;font-size:.82rem;display:flex}.inclass-hint-box[data-v-68371b3a]{color:#166534;box-sizing:border-box;word-break:break-word;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;align-items:center;gap:.5rem;max-width:100%;margin-top:.75rem;padding:.65rem .85rem;font-size:.82rem;display:flex}@media (width<=640px){.modal-overlay[data-v-68371b3a]{padding:.75rem}.modal-content[data-v-68371b3a]{max-height:95vh;padding:1.25rem}.modality-options[data-v-68371b3a]{grid-template-columns:1fr}}.hint-icon[data-v-68371b3a]{color:#2563eb;flex-shrink:0}.hint-icon-success[data-v-68371b3a]{color:#16a34a;flex-shrink:0}.activity-title-cell[data-v-68371b3a]{flex-direction:column;gap:.25rem;display:flex}.badge-modality[data-v-68371b3a]{border-radius:4px;align-self:flex-start;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.badge-modality.homework[data-v-68371b3a]{color:#0369a1;background:#e0f2fe}.badge-modality.in-class[data-v-68371b3a]{color:#15803d;background:#dcfce7}.gradebook[data-v-d4c0b69b]{flex-direction:column;gap:1.5rem;display:flex}.toolbar[data-v-d4c0b69b]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:flex-end;padding:1.5rem;display:flex}.form-group.mb-0[data-v-d4c0b69b]{margin-bottom:0}.form-group label[data-v-d4c0b69b]{color:var(--color-text);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.period-select[data-v-d4c0b69b]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;min-width:200px;padding:.5rem 1rem;font-size:1rem}.btn-secondary[data-v-d4c0b69b]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background .2s;display:flex}.btn-secondary[data-v-d4c0b69b]:hover:not(:disabled){background:#cbd5e1}.btn-secondary[data-v-d4c0b69b]:disabled{opacity:.5;cursor:not-allowed}.icon-spacing[data-v-d4c0b69b]{margin-right:.4rem}.alert.info[data-v-d4c0b69b]{color:#0369a1;border-radius:var(--radius-md);background:#e0f2fe;border-left:4px solid #0284c7;padding:1rem}.table-container[data-v-d4c0b69b]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow-x:auto}.grade-table[data-v-d4c0b69b]{border-collapse:collapse;width:100%;min-width:800px}.grade-table th[data-v-d4c0b69b],.grade-table td[data-v-d4c0b69b]{text-align:center;border:1px solid #e2e8f0;padding:.75rem 1rem}.grade-table th[data-v-d4c0b69b]{color:#475569;background-color:#f8fafc;font-size:.85rem;font-weight:600}.student-col[data-v-d4c0b69b]{z-index:10;min-width:250px;position:sticky;left:0;text-align:left!important;background-color:#f1f5f9!important}.grade-col[data-v-d4c0b69b]{min-width:120px}.act-title[data-v-d4c0b69b]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;max-width:120px;margin-bottom:.25rem;font-weight:700;overflow:hidden}.act-cat[data-v-d4c0b69b]{color:#64748b;font-size:.75rem;font-weight:500}.final-col[data-v-d4c0b69b]{background-color:#f8fafc;min-width:140px;font-weight:700}.student-name[data-v-d4c0b69b]{color:#334155;z-index:10;background-color:#fff;justify-content:space-between;align-items:center;gap:.5rem;font-weight:500;display:flex;position:sticky;left:0;text-align:left!important}.student-fullname[data-v-d4c0b69b]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.badge-piar[data-v-d4c0b69b]{color:#7e22ce;letter-spacing:.3px;background:#f3e8ff;border:1px solid #d8b4fe;border-radius:4px;flex-shrink:0;padding:.1rem .4rem;font-size:.68rem;font-weight:700}.grade-input[data-v-d4c0b69b]{text-align:center;color:#1e293b;border:1px solid #cbd5e1;border-radius:4px;outline:none;width:60px;padding:.5rem;font-weight:600;transition:all .2s}.grade-input[data-v-d4c0b69b]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.final-cell[data-v-d4c0b69b]{background-color:#f8fafc}.final-grade[data-v-d4c0b69b]{border-radius:4px;padding:.25rem .75rem;font-size:1.1rem;font-weight:700}.final-grade.passing[data-v-d4c0b69b]{color:#16a34a;background:#dcfce7}.final-grade.failing[data-v-d4c0b69b]{color:#dc2626;background:#fee2e2}.empty-state[data-v-d4c0b69b]{border-radius:var(--radius-md);min-height:300px;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;display:flex}.empty-content[data-v-d4c0b69b]{text-align:center}.empty-content .icon[data-v-d4c0b69b]{margin-bottom:1rem;font-size:3rem;display:block}.empty-content h3[data-v-d4c0b69b]{color:#1e293b;margin-bottom:.5rem;font-size:1.25rem}.empty-content p[data-v-d4c0b69b]{color:#64748b}.grade-input-wrapper[data-v-d4c0b69b]{justify-content:center;align-items:center;gap:.25rem;display:flex}.btn-submission[data-v-d4c0b69b]{color:var(--color-primary);cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:.35rem;transition:all .2s}.btn-submission[data-v-d4c0b69b]:hover{background:#e2e8f0;border-color:#94a3b8}.btn-excuse[data-v-d4c0b69b]{color:#059669;cursor:pointer;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:4px;padding:.35rem;transition:all .2s}.btn-excuse[data-v-d4c0b69b]:hover{color:#047857;background:#d1fae5}.grade-input.has-excuse[data-v-d4c0b69b]{color:#065f46;background-color:#f0fdf4;border-color:#10b981;font-weight:700}.modal-overlay[data-v-d4c0b69b]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172abf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-d4c0b69b]{border-radius:var(--radius-lg);background:#fff;width:95%;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-header[data-v-d4c0b69b]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.modal-header h3[data-v-d4c0b69b]{color:#1e293b;margin:0;font-size:1.25rem}.close-btn[data-v-d4c0b69b]{color:#64748b;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex}.close-btn[data-v-d4c0b69b]:hover{color:#0f172a}.activity-title[data-v-d4c0b69b]{color:#334155;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.status-badge.success[data-v-d4c0b69b]{color:#166534;border-radius:var(--radius-md);background:#dcfce7;align-items:center;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex}.delivered-files[data-v-d4c0b69b]{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.delivered-files li[data-v-d4c0b69b]{border-radius:var(--radius-sm);background:#f8fafc;border:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.file-link[data-v-d4c0b69b]{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;font-weight:500;display:flex}.file-link[data-v-d4c0b69b]:hover{text-decoration:underline}.comment-box[data-v-d4c0b69b]{border-radius:var(--radius-md);color:#334155;background:#f8fafc;border:1px solid #e2e8f0;margin:0;padding:1rem;font-size:.95rem}.mt-3[data-v-d4c0b69b]{margin-top:1rem}.mb-3[data-v-d4c0b69b]{margin-bottom:1rem}.mr-1[data-v-d4c0b69b]{margin-right:.25rem}.my-files label[data-v-d4c0b69b],.my-comments label[data-v-d4c0b69b]{color:#475569;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.grade-select[data-v-d4c0b69b]{border-radius:var(--radius-sm,6px);cursor:pointer;text-align:center;background-color:#fff;border:1px solid #cbd5e1;outline:none;width:95px;padding:.4rem .5rem;font-size:.82rem;font-weight:700;transition:all .2s}.grade-select[data-v-d4c0b69b]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb26}.level-superior[data-v-d4c0b69b]{color:#15803d!important;background-color:#dcfce7!important;border-color:#86efac!important}.level-alto[data-v-d4c0b69b]{color:#1d4ed8!important;background-color:#dbeafe!important;border-color:#93c5fd!important}.level-basico[data-v-d4c0b69b]{color:#b45309!important;background-color:#fef3c7!important;border-color:#fde68a!important}.level-bajo[data-v-d4c0b69b]{color:#b91c1c!important;background-color:#fee2e2!important;border-color:#fca5a5!important}.final-level-badge[data-v-d4c0b69b]{text-transform:uppercase;letter-spacing:.03em;border:1px solid #0000;border-radius:9999px;padding:.35rem .85rem;font-size:.82rem;font-weight:700;display:inline-block}.course-history[data-v-b211e8f3]{flex-direction:column;gap:1.5rem;display:flex}.toolbar[data-v-b211e8f3]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:flex-end;padding:1.5rem;display:flex}.form-group.mb-0[data-v-b211e8f3]{margin-bottom:0}.form-group label[data-v-b211e8f3]{color:var(--color-text);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.year-select[data-v-b211e8f3]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;min-width:250px;padding:.5rem 1rem;font-size:1rem}.btn-secondary[data-v-b211e8f3]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background .2s;display:flex}.btn-secondary[data-v-b211e8f3]:hover:not(:disabled){background:#cbd5e1}.btn-secondary[data-v-b211e8f3]:disabled{opacity:.5;cursor:not-allowed}.icon-spacing[data-v-b211e8f3]{margin-right:.4rem}.alert.info[data-v-b211e8f3]{color:#0369a1;border-radius:var(--radius-md);background:#e0f2fe;border-left:4px solid #0284c7;padding:1rem}.table-container[data-v-b211e8f3]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow-x:auto}.history-table[data-v-b211e8f3]{border-collapse:collapse;width:100%;min-width:800px}.history-table th[data-v-b211e8f3],.history-table td[data-v-b211e8f3]{text-align:center;border:1px solid #e2e8f0;padding:.75rem 1rem}.history-table th[data-v-b211e8f3]{color:#475569;background-color:#f8fafc;font-size:.85rem;font-weight:600}.student-col[data-v-b211e8f3]{z-index:10;min-width:250px;position:sticky;left:0;text-align:left!important;background-color:#f1f5f9!important}.grade-col[data-v-b211e8f3]{min-width:120px}.final-col[data-v-b211e8f3]{background-color:#f8fafc;min-width:140px;font-weight:700}.student-name[data-v-b211e8f3]{color:#334155;z-index:10;background-color:#fff;font-weight:500;position:sticky;left:0;text-align:left!important}.grade-cell[data-v-b211e8f3]{text-align:center}.final-cell[data-v-b211e8f3]{background-color:#f8fafc}.grade-value[data-v-b211e8f3],.final-grade[data-v-b211e8f3]{border-radius:4px;padding:.25rem .75rem;font-size:1.1rem;font-weight:700}.passing.text-success[data-v-b211e8f3]{color:#16a34a}.failing.text-danger[data-v-b211e8f3]{color:#dc2626}.empty-state[data-v-b211e8f3]{border-radius:var(--radius-md);min-height:300px;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;display:flex}.empty-content[data-v-b211e8f3]{text-align:center}.empty-content .icon[data-v-b211e8f3]{color:#cbd5e1;margin-bottom:1rem;font-size:3rem;display:block}.empty-content h3[data-v-b211e8f3]{color:#1e293b;margin-bottom:.5rem;font-size:1.25rem}.empty-content p[data-v-b211e8f3]{color:#64748b}.remedial-manager[data-v-f61b9792]{flex-direction:column;gap:2rem;display:flex}.controls-panel[data-v-f61b9792]{background:var(--color-surface);border-radius:8px;flex-wrap:wrap;gap:2rem;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0000001a}.period-selector[data-v-f61b9792]{flex:1;min-width:250px}.period-selector label[data-v-f61b9792]{margin-bottom:.5rem;font-weight:600;display:block}.form-select[data-v-f61b9792],.form-input[data-v-f61b9792]{border:1px solid var(--color-border);border-radius:4px;width:100%;padding:.6rem}.config-card[data-v-f61b9792]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex:2;min-width:350px;padding:1rem}.config-card h4[data-v-f61b9792]{color:#334155;margin:0 0 1rem;font-size:1rem}.config-inputs[data-v-f61b9792]{align-items:flex-end;gap:1rem;display:flex}.form-group label[data-v-f61b9792]{color:#64748b;margin-bottom:.3rem;font-size:.85rem;display:block}.error-text[data-v-f61b9792]{color:#ef4444;margin-top:.5rem;display:block}.students-section[data-v-f61b9792]{background:var(--color-surface);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.header-actions[data-v-f61b9792]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.header-actions h3[data-v-f61b9792]{margin:0}.data-table[data-v-f61b9792]{border-collapse:collapse;width:100%}.data-table th[data-v-f61b9792],.data-table td[data-v-f61b9792]{border-bottom:1px solid var(--color-border);padding:1rem}.data-table th[data-v-f61b9792]{color:#475569;background-color:#f8fafc;font-weight:600}.score-input[data-v-f61b9792]{text-align:center;border:1px solid #cbd5e1;border-radius:4px;width:70px;padding:.4rem;font-weight:600}.badge[data-v-f61b9792]{border-radius:4px;padding:.3rem .6rem;font-size:.9rem;font-weight:600}.badge.success[data-v-f61b9792]{color:#16a34a;background:#dcfce7}.badge.danger[data-v-f61b9792]{color:#ef4444;background:#fee2e2}.text-center[data-v-f61b9792]{text-align:center}.text-light[data-v-f61b9792]{color:#64748b}.mt-2[data-v-f61b9792]{margin-top:1rem}.btn[data-v-f61b9792]{cursor:pointer;border:none;border-radius:4px;padding:.6rem 1.2rem;font-weight:600}.btn-primary[data-v-f61b9792]{background:var(--color-primary);color:#fff}.btn-success[data-v-f61b9792]{color:#fff;background:#10b981}.btn[data-v-f61b9792]:disabled{opacity:.6;cursor:not-allowed}.empty-state[data-v-f61b9792]{text-align:center;color:#64748b;background:#f8fafc;border-radius:8px;padding:3rem}.achievements-manager[data-v-019e3304]{padding:1.5rem}.header-section[data-v-019e3304]{border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding-bottom:1rem}.header-section h3[data-v-019e3304]{color:var(--color-primary);margin-bottom:.5rem}.text-muted[data-v-019e3304]{color:var(--color-text-muted)}.filters[data-v-019e3304]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;display:flex}.form-group[data-v-019e3304]{flex:1;min-width:250px;margin-bottom:0}.form-group label[data-v-019e3304]{color:var(--color-text-main);margin-bottom:.5rem;font-weight:500;display:block}.form-group select[data-v-019e3304],.form-group textarea[data-v-019e3304]{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:.75rem;font-family:inherit;font-size:.95rem}.form-group textarea[data-v-019e3304]{resize:vertical}.form-group select[data-v-019e3304]:focus,.form-group textarea[data-v-019e3304]:focus{border-color:var(--color-primary);outline:none}.btn-primary[data-v-019e3304]{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;padding:.75rem 1.5rem;font-weight:600;display:flex}.btn-primary[data-v-019e3304]:hover{background-color:var(--color-primary-light)}.icon-spacing[data-v-019e3304]{margin-right:.4rem}.levels-container[data-v-019e3304]{flex-direction:column;gap:1.5rem;display:flex}.level-card[data-v-019e3304]{border-radius:var(--radius-md);background-color:#f8fafc;border:1px solid #e2e8f0;padding:1.5rem}.level-header[data-v-019e3304]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.level-header h4[data-v-019e3304]{color:var(--color-primary);margin:0;font-size:1.1rem}.grade-range[data-v-019e3304]{border-radius:var(--radius-sm);color:var(--color-text-muted);background-color:#fff;border:1px solid #cbd5e1;padding:.25rem .75rem;font-size:.85rem;font-weight:500}.achievements-inputs-grid[data-v-019e3304]{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=900px){.achievements-inputs-grid[data-v-019e3304]{grid-template-columns:1fr}}.field-label-standard[data-v-019e3304],.field-label-inclusion[data-v-019e3304]{align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.label-badge[data-v-019e3304]{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.badge-standard[data-v-019e3304]{color:#0369a1;background-color:#e0f2fe}.badge-inclusion[data-v-019e3304]{color:#7e22ce;background-color:#f3e8ff}.inclusion-group textarea[data-v-019e3304]{background-color:#fdfcff;border-color:#d8b4fe}.inclusion-group textarea[data-v-019e3304]:focus{border-color:#9333ea;box-shadow:0 0 0 3px #9333ea26}.char-hint[data-v-019e3304]{text-align:right;color:#94a3b8;margin-top:.25rem;font-size:.72rem}.inclusion-hint[data-v-019e3304]{color:#7e22ce;margin-top:.35rem;font-size:.75rem;line-height:1.3;display:block}.empty-state[data-v-019e3304]{justify-content:center;align-items:center;min-height:200px;display:flex}.empty-content[data-v-019e3304]{text-align:center;max-width:400px}.empty-content .icon[data-v-019e3304]{margin-bottom:1rem;font-size:4rem;display:block}.empty-content h3[data-v-019e3304]{color:var(--color-text-main);margin-bottom:.5rem;font-size:1.25rem}.empty-content p[data-v-019e3304]{color:var(--color-text-muted);line-height:1.5}.performance-report[data-v-d738e615]{flex-direction:column;gap:1.5rem;display:flex}.toolbar[data-v-d738e615]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:flex-end;padding:1.5rem;display:flex}.form-group.mb-0[data-v-d738e615]{margin-bottom:0}.form-group label[data-v-d738e615]{color:var(--color-text);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.period-select[data-v-d738e615]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;min-width:200px;padding:.5rem 1rem;font-size:1rem}.btn-secondary[data-v-d738e615]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background .2s;display:flex}.btn-secondary[data-v-d738e615]:hover:not(:disabled){background:#cbd5e1}.btn-secondary[data-v-d738e615]:disabled{opacity:.5;cursor:not-allowed}.icon-spacing[data-v-d738e615]{margin-right:.4rem}.alert.info[data-v-d738e615]{color:#0369a1;border-radius:var(--radius-md);background:#e0f2fe;border-left:4px solid #0284c7;padding:1rem}.report-content[data-v-d738e615]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:1.5rem}.chart-container[data-v-d738e615]{width:100%;min-height:450px}.empty-state[data-v-d738e615]{border-radius:var(--radius-md);min-height:300px;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;display:flex}.empty-content[data-v-d738e615]{text-align:center}.empty-content .icon[data-v-d738e615]{color:var(--color-text-muted);margin-bottom:1rem;font-size:3rem;display:block}.empty-content h3[data-v-d738e615]{color:#1e293b;margin-bottom:.5rem;font-size:1.25rem}.empty-content p[data-v-d738e615]{color:#64748b}.text-center[data-v-d738e615]{text-align:center}.p-4[data-v-d738e615]{padding:1rem}.course-announcements[data-v-1d729ddb]{flex-direction:column;gap:2rem;max-width:800px;display:flex}.composer-card[data-v-1d729ddb]{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);background:#fff;overflow:hidden}.composer-header[data-v-1d729ddb]{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}.composer-header h4[data-v-1d729ddb]{color:var(--color-text-main);margin:0;font-size:1.05rem;font-weight:600}.composer-body[data-v-1d729ddb]{padding:1.5rem}.announcement-form[data-v-1d729ddb]{flex-direction:column;gap:1rem;display:flex}.form-control[data-v-1d729ddb]{border-radius:var(--radius-md);border:1px solid #cbd5e1;width:100%;padding:.75rem 1rem;font-family:inherit;transition:all .2s}.form-control[data-v-1d729ddb]:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.textarea[data-v-1d729ddb]{resize:vertical;min-height:80px}.form-actions[data-v-1d729ddb]{justify-content:flex-end;display:flex}.btn-primary[data-v-1d729ddb]{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.5rem 1.2rem;font-weight:600;transition:all .2s;display:flex}.btn-primary[data-v-1d729ddb]:hover{background-color:var(--color-primary-dark)}.btn-primary[data-v-1d729ddb]:disabled{opacity:.7;cursor:not-allowed}.mr-2[data-v-1d729ddb]{margin-right:.5rem}.mt-1[data-v-1d729ddb]{margin-top:.25rem}.d-block[data-v-1d729ddb]{display:block}.text-muted[data-v-1d729ddb]{color:#64748b;font-size:.85rem}.loading-state[data-v-1d729ddb]{text-align:center;color:#64748b;padding:2rem}.course-dashboard[data-v-b6de6594]{flex-direction:column;gap:1.5rem;display:flex}.header[data-v-b6de6594]{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.back-link[data-v-b6de6594]{color:var(--color-primary);align-items:center;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.back-link[data-v-b6de6594]:hover{text-decoration:underline}.title-section[data-v-b6de6594]{align-items:center;gap:1rem;display:flex}.title-section h2[data-v-b6de6594]{color:var(--color-text);margin:0;font-size:1.5rem}.badge[data-v-b6de6594]{color:#0284c7;background:#e0f2fe;border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.tabs[data-v-b6de6594]{border-bottom:2px solid #e2e8f0;gap:2rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.tabs button[data-v-b6de6594]{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;padding:.75rem 0;font-size:1rem;font-weight:600;display:flex;position:relative}.tabs button.active[data-v-b6de6594]{color:var(--color-primary)}.tabs button.active[data-v-b6de6594]:after{content:"";background-color:var(--color-primary);height:2px;position:absolute;bottom:-2px;left:0;right:0}.icon-spacing[data-v-b6de6594]{margin-right:.3rem}.tab-content[data-v-b6de6594]{min-height:400px}.dashboard[data-v-d2e8cc29]{background-color:var(--color-surface);height:100vh;display:flex;overflow:hidden}.sidebar[data-v-d2e8cc29]{background-color:var(--color-primary);color:#fff;flex-direction:column;width:260px;display:flex}.logo[data-v-d2e8cc29]{text-align:center;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;padding:1.5rem;display:flex}.sidebar-logo[data-v-d2e8cc29]{max-width:80%;height:auto}.sidebar-nav[data-v-d2e8cc29]{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-nav[data-v-d2e8cc29]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-d2e8cc29]::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.sidebar-nav a[data-v-d2e8cc29]{color:#fffc;transition:var(--transition);padding:.75rem 1.5rem;text-decoration:none;display:block}.sidebar-nav a[data-v-d2e8cc29]:hover,.sidebar-nav a.active[data-v-d2e8cc29]{color:var(--color-secondary);border-left:4px solid var(--color-secondary);background-color:#ffffff1a}.menu-group[data-v-d2e8cc29]{margin-bottom:.25rem}.menu-toggle[data-v-d2e8cc29]{color:#ffffffe6;cursor:pointer;width:100%;transition:var(--transition);font-size:1rem;font-family:var(--font-family);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.menu-toggle[data-v-d2e8cc29]:hover{color:#fff;background-color:#ffffff0d}.menu-toggle.open[data-v-d2e8cc29]{color:var(--color-secondary);border-left:4px solid var(--color-secondary);background-color:#0000001a;padding-left:calc(1.5rem - 4px)}.menu-title[data-v-d2e8cc29]{align-items:center;gap:.5rem;font-weight:500;display:flex}.menu-icon[data-v-d2e8cc29]{opacity:.8}.submenu[data-v-d2e8cc29]{background-color:#00000026;overflow:hidden}.submenu a[data-v-d2e8cc29]{border-left:4px solid #0000;padding:.6rem 1.5rem .6rem 3rem;font-size:.9rem}.nav-divider[data-v-d2e8cc29]{background-color:#ffffff1a;height:1px;margin:.75rem 1.5rem}.sidebar-footer[data-v-d2e8cc29]{border-top:1px solid #ffffff1a;flex-shrink:0;padding:1rem}.btn-logout[data-v-d2e8cc29]{color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:var(--transition);background:0 0;border:1px solid #ffffff4d;padding:.5rem}.btn-logout[data-v-d2e8cc29]:hover{background-color:#dc3545e6;border-color:#0000}.mb-2[data-v-d2e8cc29]{margin-bottom:.5rem}.content[data-v-d2e8cc29]{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar[data-v-d2e8cc29]{background-color:var(--color-background);box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;padding:1.5rem}.content-body[data-v-d2e8cc29]{flex:1;padding:2rem;overflow-y:auto}.dashboard-home[data-v-90ca9f88]{max-width:1200px;margin:0 auto}.header[data-v-90ca9f88]{margin-bottom:2rem}.header h2[data-v-90ca9f88]{color:var(--color-primary);margin-bottom:.5rem;font-size:1.8rem}.actions-grid[data-v-90ca9f88]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.action-card[data-v-90ca9f88]{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:flex-start;gap:1rem;padding:1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.action-card[data-v-90ca9f88]:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light);transform:translateY(-5px)}.icon-wrapper[data-v-90ca9f88]{border-radius:var(--radius-md);color:var(--color-primary);background-color:#2585cc1a;padding:1rem}.action-info h3[data-v-90ca9f88]{color:var(--color-text-main);margin:0 0 .5rem;font-size:1.2rem}.action-info p[data-v-90ca9f88]{color:var(--color-text-muted);margin:0;font-size:.95rem;line-height:1.4}.report-cards-view[data-v-c75e681f]{max-width:1200px;margin:0 auto}.header[data-v-c75e681f]{margin-bottom:2rem}.header h2[data-v-c75e681f]{color:var(--color-primary);margin-bottom:.5rem;font-size:1.8rem}.filters-card[data-v-c75e681f]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.form-grid[data-v-c75e681f]{grid-template-columns:1fr 1fr auto;align-items:end;gap:1rem;display:grid}.form-group label[data-v-c75e681f]{margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.input-field[data-v-c75e681f]{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);width:100%;padding:.75rem;font-family:inherit;font-size:.95rem}.filter-actions[data-v-c75e681f]{align-items:flex-end;display:flex}.btn-primary[data-v-c75e681f]{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary[data-v-c75e681f]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-c75e681f]:hover:not(:disabled){background-color:var(--color-primary-dark)}.content-card[data-v-c75e681f]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.actions-bar[data-v-c75e681f]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.actions-bar h3[data-v-c75e681f]{color:var(--color-text-main);margin:0}.actions-group[data-v-c75e681f]{gap:1rem;display:flex}.btn-secondary[data-v-c75e681f]{background-color:var(--color-background);color:var(--color-text-main);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1rem;transition:all .2s;display:inline-flex}.btn-secondary[data-v-c75e681f]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-success[data-v-c75e681f]{color:#fff;border-radius:var(--radius-md);cursor:pointer;background-color:#10b981;border:none;align-items:center;gap:.5rem;padding:.75rem 1rem;transition:all .2s;display:inline-flex}.btn-success[data-v-c75e681f]:hover:not(:disabled){background-color:#059669}.table-container[data-v-c75e681f]{overflow-x:auto}.data-table[data-v-c75e681f]{border-collapse:collapse;width:100%}.data-table th[data-v-c75e681f],.data-table td[data-v-c75e681f]{text-align:left;border-bottom:1px solid var(--color-border);padding:1rem}.data-table th[data-v-c75e681f]{color:var(--color-text-muted);background-color:#00000005;font-weight:600}.text-center[data-v-c75e681f]{text-align:center}.badge[data-v-c75e681f]{border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.85rem;font-weight:600}.badge-warning[data-v-c75e681f]{color:#d97706;background-color:#f59e0b1a}.badge-success[data-v-c75e681f]{color:#10b981;background-color:#10b9811a}.btn-icon[data-v-c75e681f]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.btn-icon[data-v-c75e681f]:hover{transform:scale(1.1)}.text-primary[data-v-c75e681f]{color:var(--color-primary)}.modal-overlay[data-v-c75e681f]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-c75e681f]{background:var(--color-background);border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-lg);padding:2rem;animation:.3s ease-out scaleIn-c75e681f}.modal-content h4[data-v-c75e681f]{color:var(--color-primary);margin:0 0 1.5rem}.form-group[data-v-c75e681f]{margin-bottom:1.5rem}.col-span-3[data-v-c75e681f]{grid-column:span 3}.modal-actions[data-v-c75e681f]{justify-content:flex-end;gap:1rem;display:flex}@keyframes scaleIn-c75e681f{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.text-muted[data-v-c75e681f]{color:var(--color-text-muted,#94a3b8)}.badge-cualitativa[data-v-c75e681f]{color:#0f766e;text-transform:uppercase;letter-spacing:.03em;background-color:#f0fdfa;border:1px solid #99f6e4;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-convivencia-pill[data-v-c75e681f]{color:#334155;text-transform:uppercase;letter-spacing:.03em;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:9999px;padding:.2rem .6rem;font-size:.78rem;font-weight:700;display:inline-block}.print-layout[data-v-b80453ae]{color:#000;background:#f8fafc;margin:0;padding:1rem 0;font-family:Times New Roman,Times,serif,Arial,sans-serif}.loading-state[data-v-b80453ae],.empty-state[data-v-b80453ae]{text-align:center;padding:3rem;font-family:Arial,sans-serif;font-size:1.2rem}.report-card-sheet[data-v-b80453ae]{box-sizing:border-box;page-break-after:always;break-after:page;background:#fff;flex-direction:column;justify-content:space-between;width:215.9mm;min-height:279.4mm;max-height:279.4mm;margin:0 auto 2rem;padding:8mm 12mm;display:flex;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.sheet-content[data-v-b80453ae]{flex-direction:column;flex:1;display:flex}.inst-header[data-v-b80453ae]{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.header-logo[data-v-b80453ae]{object-fit:contain;width:auto;height:58px}.header-center[data-v-b80453ae]{text-align:center;flex:1;padding:0 .5rem}.inst-tag[data-v-b80453ae]{color:#222;margin-bottom:-2px;font-size:.8rem;font-style:italic;font-weight:600}.inst-title[data-v-b80453ae]{color:#111;margin:0;font-family:Alex Brush,cursive;font-size:1.85rem;font-weight:500;line-height:1.15}.inst-legal[data-v-b80453ae]{color:#333;margin:1px 0;font-size:.65rem;line-height:1.2}.student-info-card[data-v-b80453ae]{border:1px solid #000;flex-direction:column;margin-bottom:.4rem;display:flex}.info-row[data-v-b80453ae]{border-bottom:1px solid #000;align-items:stretch;min-height:20px;display:flex}.info-row[data-v-b80453ae]:last-child{border-bottom:none}.info-tag[data-v-b80453ae]{letter-spacing:.04em;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-right:1px solid #000;align-items:center;width:105px;padding:2px 6px;font-size:.72rem;font-weight:700;display:flex;background-color:var(--color-accent,#ffe699)!important}.info-val[data-v-b80453ae]{align-items:center;padding:2px 8px;font-size:.8rem;display:flex}.flex-grow[data-v-b80453ae]{flex:1}.student-name-val[data-v-b80453ae]{letter-spacing:.05em;text-transform:uppercase;flex:1;justify-content:center;font-size:.95rem;font-weight:800}.sub-tag[data-v-b80453ae]{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-left:1px solid #000;border-right:1px solid #000;justify-content:center;align-items:center;width:60px;padding:2px 6px;font-size:.72rem;font-weight:700;display:flex;background-color:var(--color-accent,#ffe699)!important}.sub-val[data-v-b80453ae]{justify-content:center;align-items:center;width:75px;padding:2px 6px;font-size:.8rem;font-weight:600;display:flex}.banner-title[data-v-b80453ae]{text-align:center;letter-spacing:.02em;background-color:#f3f4f6;border:1px solid #000;width:55%;margin:0 auto .4rem;padding:2px 4px;font-size:.82rem;font-weight:700}.subjects-container[data-v-b80453ae]{flex-direction:column;display:flex}.subjects-header-row[data-v-b80453ae]{display:flex}.col-subject-name[data-v-b80453ae]{flex:1}.col-periods-wrap[data-v-b80453ae]{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #000;border-bottom:none;display:flex;background-color:var(--color-chart-light,#b1c8e5)!important}.th-period-box[data-v-b80453ae],.th-remedial-box[data-v-b80453ae],.th-level-box[data-v-b80453ae]{text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-right:1px solid #000;flex-direction:column;justify-content:center;align-items:center;padding:1px 2px;font-size:.65rem;font-weight:700;display:flex;background-color:var(--color-chart-light,#b1c8e5)!important}.th-period-box[data-v-b80453ae]{width:32px}.th-period-box .p-title[data-v-b80453ae]{font-size:.7rem;font-weight:800}.th-period-box .p-pct[data-v-b80453ae]{color:#333;font-size:.55rem;font-weight:400}.th-remedial-box[data-v-b80453ae]{color:#111;width:20px;font-size:.68rem}.th-period-box.fin-box[data-v-b80453ae]{width:30px}.th-level-box[data-v-b80453ae]{letter-spacing:.03em;border-right:none;width:78px;font-size:.68rem}.subject-block[data-v-b80453ae]{border:1px solid #000;border-bottom:none;flex-direction:column;display:flex}.subjects-container .subject-block[data-v-b80453ae]:last-child{border-bottom:1px solid #000}.subject-row[data-v-b80453ae]{border-bottom:1px solid #000;min-height:18px;display:flex}.subject-name-cell[data-v-b80453ae]{text-transform:uppercase;border-right:1px solid #000;flex:1;align-items:center;padding:1px 6px;font-size:.73rem;font-weight:700;line-height:1.15;display:flex}.subject-grades-cell[data-v-b80453ae]{display:flex}.td-grade-box[data-v-b80453ae],.td-remedial-box[data-v-b80453ae],.td-level-box[data-v-b80453ae]{border-right:1px solid #000;justify-content:center;align-items:center;padding:1px 2px;font-size:.72rem;display:flex}.td-grade-box[data-v-b80453ae]{width:32px;font-weight:600}.td-remedial-box[data-v-b80453ae]{color:#991b1b;width:20px;font-weight:700}.td-grade-box.fin-box[data-v-b80453ae]{width:30px;font-weight:700}.td-level-box[data-v-b80453ae]{border-right:none;width:78px;font-size:.72rem;font-weight:600}.subject-achievement-row[data-v-b80453ae]{background-color:#fff;padding:2px 6px 3px}.achievement-desc[data-v-b80453ae]{color:#111;text-align:justify;margin:0;font-size:.68rem;line-height:1.25}.sheet-footer[data-v-b80453ae]{text-align:center;color:#222;padding-top:4px;font-size:.78rem;font-style:italic}.scale-bar[data-v-b80453ae]{background-color:#f9fafb;border:1px solid #000;margin-top:.35rem;font-size:.65rem;display:flex}.scale-tag[data-v-b80453ae]{background-color:#e5e7eb;border-right:1px solid #000;align-items:center;padding:2px 6px;font-weight:700;display:flex}.scale-item[data-v-b80453ae]{text-align:center;border-right:1px solid #000;flex:1;padding:2px 4px}.scale-item[data-v-b80453ae]:last-child{border-right:none}.summary-matrix-table[data-v-b80453ae]{border-collapse:collapse;width:100%;margin-top:.35rem;font-size:.7rem}.summary-matrix-table th[data-v-b80453ae],.summary-matrix-table td[data-v-b80453ae]{border:1px solid #000;padding:1px 4px}.summary-matrix-table th[data-v-b80453ae]{text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:.68rem;font-weight:700;background-color:var(--color-chart-light,#b1c8e5)!important}.summary-matrix-table th.matrix-crit-col[data-v-b80453ae]{border-top:none;border-left:none;background-color:#0000!important}.matrix-crit-col[data-v-b80453ae]{width:25%}.matrix-p-col[data-v-b80453ae]{width:15%}.matrix-label[data-v-b80453ae]{padding-left:6px;font-weight:600}.row-convivencia td[data-v-b80453ae]{-webkit-print-color-adjust:exact;print-color-adjust:exact;background-color:var(--color-chart-light,#b1c8e5)!important}.general-discipline-card[data-v-b80453ae]{border:1px solid #000;margin-top:.35rem;font-size:.7rem;display:flex}.discipline-tag[data-v-b80453ae]{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-right:1px solid #000;align-items:center;width:25%;padding:3px 6px;font-weight:700;line-height:1.15;display:flex;background-color:var(--color-chart-light,#b1c8e5)!important}.discipline-text[data-v-b80453ae]{flex:1;padding:3px 6px;line-height:1.25}.observations-card[data-v-b80453ae]{border:1px solid #000;margin-top:1.25rem;padding:6px 8px;font-size:.72rem}.obs-body[data-v-b80453ae]{margin-bottom:6px;line-height:1.35}.ruled-lines[data-v-b80453ae]{flex-direction:column;gap:10px;margin-top:8px;display:flex}.ruled-line[data-v-b80453ae]{border-bottom:1px solid #000;width:100%;height:1px}.signatures-block[data-v-b80453ae]{justify-content:space-around;margin-top:4rem;padding:0 3rem;display:flex}.signature-cell[data-v-b80453ae]{text-align:center;width:200px}.sig-line[data-v-b80453ae]{border-bottom:1px solid #000;margin-bottom:5px}.sig-name[data-v-b80453ae]{font-size:.78rem;font-weight:700;line-height:1.25}.sig-title[data-v-b80453ae]{color:#333;font-size:.72rem}.compact-mode .subject-achievement-row[data-v-b80453ae]{padding:1px 6px 2px}.compact-mode .achievement-desc[data-v-b80453ae]{font-size:.65rem;line-height:1.2}.compact-mode .observations-card[data-v-b80453ae]{margin-top:.8rem;padding:4px 6px}.compact-mode .signatures-block[data-v-b80453ae]{margin-top:1.8rem}.preschool-sheet[data-v-b80453ae]{page-break-after:always;break-after:page}.preschool-banner-title[data-v-b80453ae]{color:#0f172a;text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:85%;margin:0 auto .4rem;padding:3px 0;font-family:Times New Roman,Times,serif;font-size:1.15rem;font-style:italic;font-weight:700;background-color:var(--color-chart-light,#b1c8e5)!important}.preschool-student-wrapper[data-v-b80453ae]{justify-content:space-between;align-items:center;gap:10px;margin-bottom:.45rem;display:flex}.avatar-col[data-v-b80453ae]{justify-content:center;align-items:center;width:55px;display:flex}.avatar-placeholder[data-v-b80453ae]{background-color:#f8fafc;border:1px dashed #94a3b8;border-radius:6px;justify-content:center;align-items:center;width:50px;height:60px;display:flex;box-shadow:0 1px 2px #0000000d}.avatar-placeholder .avatar-emoji[data-v-b80453ae]{font-size:2rem}.avatar-img[data-v-b80453ae]{object-fit:contain;max-width:52px;max-height:62px}.preschool-student-card[data-v-b80453ae]{border:1px solid #000;flex-direction:column;flex:1;display:flex}.p-info-row[data-v-b80453ae]{border-bottom:1px solid #000;align-items:stretch;min-height:20px;display:flex}.p-info-row[data-v-b80453ae]:last-child{border-bottom:none}.p-info-tag[data-v-b80453ae]{letter-spacing:.04em;-webkit-print-color-adjust:exact;print-color-adjust:exact;background-color:#f3f4f6;border-right:1px solid #000;align-items:center;width:100px;padding:2px 6px;font-size:.72rem;font-weight:700;display:flex}.p-info-val[data-v-b80453ae]{align-items:center;padding:2px 8px;font-size:.78rem;display:flex}.p-student-name[data-v-b80453ae]{text-transform:uppercase;letter-spacing:.03em;flex:1;font-size:.88rem;font-weight:800}.italic-val[data-v-b80453ae]{font-style:italic}.p-grade-val[data-v-b80453ae]{width:130px}.p-period-badge[data-v-b80453ae]{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-left:1px solid #000;border-right:1px solid #000;align-items:center;padding:2px 12px;font-size:.75rem;font-weight:700;display:flex;background-color:#e5e7eb!important}.p-year-val[data-v-b80453ae]{align-items:center;padding:2px 8px;font-size:.75rem;font-style:italic;display:flex}.preschool-table[data-v-b80453ae]{border-collapse:collapse;border:1px solid #000;width:100%;margin-top:.2rem}.preschool-table th[data-v-b80453ae],.preschool-table td[data-v-b80453ae]{border:1px solid #000}.preschool-table th[data-v-b80453ae]{text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:2px 4px;font-size:.75rem;font-weight:700;background-color:var(--color-chart-light,#b1c8e5)!important}.th-dim[data-v-b80453ae],.td-dim[data-v-b80453ae]{text-align:center;vertical-align:middle;width:20%}.th-level[data-v-b80453ae],.td-level[data-v-b80453ae]{text-align:center;vertical-align:middle;width:13%;font-size:.76rem;font-weight:700}.th-achievements[data-v-b80453ae],.td-achievements[data-v-b80453ae]{text-align:left;vertical-align:top;padding:3px 6px}.dim-cell-content[data-v-b80453ae]{flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 2px;display:flex}.dim-media-box[data-v-b80453ae]{justify-content:center;align-items:center;display:flex}.dim-placeholder[data-v-b80453ae]{background-color:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.dim-placeholder .dim-emoji[data-v-b80453ae]{font-size:1.8rem}.dim-img[data-v-b80453ae]{object-fit:contain;max-width:58px;max-height:58px}.dim-title[data-v-b80453ae]{text-align:center;color:#111;font-size:.72rem;font-weight:700;line-height:1.15}.ach-subject-title[data-v-b80453ae]{color:#000;margin-bottom:2px;font-size:.73rem;font-weight:800;text-decoration:underline}.ach-text[data-v-b80453ae]{color:#111;text-align:justify;margin:0;font-size:.67rem;line-height:1.24}.preschool-table-face2[data-v-b80453ae]{margin-top:0}.preschool-convivencia-card[data-v-b80453ae]{border:1px solid #000;margin-top:.5rem;display:flex}.p-conv-tag[data-v-b80453ae]{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-right:1px solid #000;align-items:center;width:25%;padding:3px 8px;font-size:.76rem;font-style:italic;font-weight:700;display:flex;background-color:var(--color-chart-light,#b1c8e5)!important}.p-conv-options[data-v-b80453ae]{flex:1;justify-content:space-around;align-items:center;padding:3px 12px;display:flex}.p-conv-opt[data-v-b80453ae]{align-items:center;gap:8px;font-size:.76rem;font-weight:700;display:flex}.p-check-box[data-v-b80453ae]{color:#1e3a8a;border:1.5px solid #1e3a8a;border-radius:3px;justify-content:center;align-items:center;width:22px;height:16px;font-size:.85rem;font-weight:800;display:flex}.p-check-box.checked[data-v-b80453ae]{background-color:#eff6ff}.preschool-obs-card[data-v-b80453ae]{margin-top:1.2rem}.obs-title-row[data-v-b80453ae]{align-items:baseline;gap:8px;font-size:.78rem;display:flex}.obs-title-row .obs-tag[data-v-b80453ae]{font-style:italic;font-weight:700}.obs-text-inline[data-v-b80453ae]{color:#111;font-size:.74rem;font-style:italic}.p-ruled-lines[data-v-b80453ae]{flex-direction:column;gap:14px;margin-top:10px;display:flex}.p-ruled-line[data-v-b80453ae]{border-bottom:1px solid #000;width:100%;height:1px}.preschool-signatures[data-v-b80453ae]{margin-top:4.5rem}@media print{@page{size:letter portrait;margin:6mm 10mm}body[data-v-b80453ae]{background:#fff;margin:0;padding:0}body[data-v-b80453ae] *{visibility:hidden}.print-layout[data-v-b80453ae],.print-layout[data-v-b80453ae] *{visibility:visible}.print-layout[data-v-b80453ae]{background:0 0;width:100%;padding:0;position:absolute;top:0;left:0}.report-card-sheet[data-v-b80453ae]{box-shadow:none!important;page-break-after:always!important;break-after:page!important;min-height:265mm!important;max-height:268mm!important;margin:0!important;padding:6mm 10mm!important}[data-v-b80453ae]{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.dashboard[data-v-af5a6409]{background-color:var(--color-surface);height:100vh;display:flex;overflow:hidden}.sidebar[data-v-af5a6409]{background-color:var(--color-primary);color:#fff;flex-direction:column;width:270px;display:flex}.logo[data-v-af5a6409]{text-align:center;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;padding:1.5rem;display:flex}.sidebar-logo[data-v-af5a6409]{max-width:80%;height:auto}.role-badge-container[data-v-af5a6409]{padding:.85rem 1.5rem .25rem}.role-badge[data-v-af5a6409]{color:var(--color-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--color-secondary);background:#ffffff1f;align-items:center;gap:.5rem;padding:.45rem .85rem;font-size:.82rem;font-weight:600;display:flex}.sidebar-nav[data-v-af5a6409]{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-nav[data-v-af5a6409]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-af5a6409]::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.menu-item[data-v-af5a6409]{color:#ffffffd9;transition:var(--transition);border-left:4px solid #0000;align-items:center;gap:.75rem;padding:.85rem 1.5rem;font-size:.92rem;font-weight:500;text-decoration:none;display:flex}.menu-item[data-v-af5a6409]:hover{color:#fff;background-color:#ffffff14}.menu-item.active[data-v-af5a6409]{color:var(--color-secondary);border-left-color:var(--color-secondary);background-color:#00000026;font-weight:600}.menu-icon[data-v-af5a6409]{opacity:.85}.sidebar-footer[data-v-af5a6409]{border-top:1px solid #ffffff1a;flex-shrink:0;padding:1rem 1.5rem}.btn-logout[data-v-af5a6409]{color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:var(--transition);background:0 0;border:1px solid #ffffff4d;padding:.55rem;font-size:.85rem;font-weight:500}.btn-logout[data-v-af5a6409]:hover{background-color:#dc3545e6;border-color:#0000}.mb-2[data-v-af5a6409]{margin-bottom:.5rem}.content[data-v-af5a6409]{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar[data-v-af5a6409]{background-color:var(--color-background);box-shadow:var(--shadow-sm);z-index:10;border-bottom:1px solid var(--color-border);flex-shrink:0;padding:1.25rem 2rem}.topbar h2[data-v-af5a6409]{color:var(--color-primary);margin-bottom:.15rem;font-size:1.35rem;font-weight:700}.text-muted[data-v-af5a6409]{color:var(--color-text-secondary)}.text-sm[data-v-af5a6409]{font-size:.85rem}.content-body[data-v-af5a6409]{flex:1;padding:2rem;overflow-y:auto}.counselor-dashboard[data-v-482b9d73]{flex-direction:column;gap:1.75rem;display:flex}.welcome-banner[data-v-482b9d73]{background:linear-gradient(135deg, var(--color-primary) 0%, #2b4c7e 100%);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;padding:2rem 2.5rem;display:flex}.badge-hero[data-v-482b9d73]{color:var(--color-secondary);background:#ffffff26;border-radius:9999px;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.3rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.banner-title[data-v-482b9d73]{color:var(--color-surface);margin-bottom:.5rem;font-size:1.75rem;font-weight:800}.banner-subtitle[data-v-482b9d73]{opacity:.9;max-width:650px;font-size:.95rem;line-height:1.5}.banner-actions[data-v-482b9d73]{flex-shrink:0;gap:.75rem;display:flex}.btn-hero-primary[data-v-482b9d73]{background-color:var(--color-secondary);color:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-hero-primary[data-v-482b9d73]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-hero-secondary[data-v-482b9d73]{color:#fff;border-radius:var(--radius-md);cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-hero-secondary[data-v-482b9d73]:hover{background:#ffffff40;transform:translateY(-2px)}.metrics-grid[data-v-482b9d73]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;display:grid}.metric-card[data-v-482b9d73]{border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;transition:transform .2s;display:flex}.metric-card[data-v-482b9d73]:hover{transform:translateY(-2px)}.metric-icon-box[data-v-482b9d73]{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.bg-blue[data-v-482b9d73]{color:#1e40af;background-color:#ebf5ff}.bg-amber[data-v-482b9d73]{color:#b45309;background-color:#fef3c7}.bg-rose[data-v-482b9d73]{color:#e11d48;background-color:#ffe4e6}.bg-emerald[data-v-482b9d73]{color:#047857;background-color:#d1fae5}.bg-purple[data-v-482b9d73]{color:#7e22ce;background-color:#f3e8ff}.metric-data[data-v-482b9d73]{flex-direction:column;display:flex}.metric-number[data-v-482b9d73]{color:var(--color-text-primary);font-size:1.6rem;font-weight:800;line-height:1.1}.metric-label[data-v-482b9d73]{color:var(--color-text-secondary);margin-top:.25rem;font-size:.82rem;font-weight:500}.dashboard-columns[data-v-482b9d73]{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=992px){.dashboard-columns[data-v-482b9d73]{grid-template-columns:1fr}}.dashboard-panel[data-v-482b9d73]{border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;display:flex;overflow:hidden}.panel-header[data-v-482b9d73]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.panel-title-wrap[data-v-482b9d73]{align-items:center;gap:.6rem;display:flex}.panel-title-wrap h3[data-v-482b9d73]{color:var(--color-primary);margin:0;font-size:1.1rem;font-weight:700}.see-all-link[data-v-482b9d73]{color:var(--color-primary);align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.see-all-link[data-v-482b9d73]:hover{text-decoration:underline}.panel-body[data-v-482b9d73]{flex:1;padding:1rem 1.5rem}.loading-state[data-v-482b9d73],.empty-state[data-v-482b9d73]{text-align:center;color:var(--color-text-secondary);padding:2.5rem 1rem;font-size:.9rem}.cases-list[data-v-482b9d73]{flex-direction:column;gap:.75rem;display:flex}.case-item[data-v-482b9d73]{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:#fafbfc;padding:.9rem 1.1rem;transition:all .2s}.case-item[data-v-482b9d73]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);background:#fff}.case-meta[data-v-482b9d73]{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.case-code[data-v-482b9d73]{color:#475569;font-size:.75rem;font-weight:700}.badge-priority[data-v-482b9d73]{border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.badge-critica[data-v-482b9d73]{color:#b91c1c;background:#fee2e2}.badge-alta[data-v-482b9d73]{color:#c2410c;background:#ffedd5}.badge-media[data-v-482b9d73]{color:#b45309;background:#fef3c7}.badge-baja[data-v-482b9d73]{color:#475569;background:#f1f5f9}.badge-inclusion[data-v-482b9d73]{color:#7e22ce;background:#f3e8ff;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.case-title[data-v-482b9d73]{color:var(--color-primary);margin-bottom:.4rem;font-size:.95rem;font-weight:700}.case-footer[data-v-482b9d73]{color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.appointments-list[data-v-482b9d73]{flex-direction:column;gap:.85rem;display:flex}.appointment-item[data-v-482b9d73]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fafbfc;gap:1rem;padding:.85rem 1rem;display:flex}.appt-time-box[data-v-482b9d73]{border-radius:var(--radius-sm);text-align:center;background:#f1f5f9;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:95px;padding:.6rem .8rem;display:flex}.appt-date[data-v-482b9d73]{color:var(--color-primary);font-size:.82rem;font-weight:700}.appt-hours[data-v-482b9d73]{color:var(--color-text-secondary);margin-top:.15rem;font-size:.75rem;font-weight:600}.appt-details[data-v-482b9d73]{flex:1}.appt-target[data-v-482b9d73]{gap:.4rem;margin-bottom:.25rem;display:flex}.badge-target[data-v-482b9d73]{color:#0369a1;background:#e0f2fe;border-radius:9999px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.badge-status[data-v-482b9d73]{border-radius:9999px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.badge-status.confirmada[data-v-482b9d73]{color:#15803d;background:#dcfce7}.badge-status.pendiente[data-v-482b9d73]{color:#b45309;background:#fef3c7}.appt-student[data-v-482b9d73]{color:#1e293b;margin:.15rem 0;font-size:.92rem;font-weight:700}.appt-reason[data-v-482b9d73]{color:#475569;margin:.2rem 0;font-size:.82rem;line-height:1.3}.appointments-view[data-v-f08844a1]{flex-direction:column;gap:1.5rem;display:flex}.page-header[data-v-f08844a1]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-title[data-v-f08844a1]{color:var(--color-primary);margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.page-subtitle[data-v-f08844a1]{color:var(--color-text-secondary);font-size:.95rem}.tabs-container[data-v-f08844a1]{border-bottom:1px solid var(--color-border);gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.tab-btn[data-v-f08844a1]{color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;transition:all .2s}.tab-btn[data-v-f08844a1]:hover{color:var(--color-primary);background-color:#f1f5f9}.tab-btn.active[data-v-f08844a1]{background-color:var(--color-primary);color:#fff}.table-card[data-v-f08844a1]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);background:#fff;overflow:hidden}.table-actions[data-v-f08844a1]{border-bottom:1px solid var(--color-border);padding:1rem 1.25rem}.search-box[data-v-f08844a1]{max-width:480px;position:relative}.search-icon[data-v-f08844a1]{color:var(--color-text-secondary);position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-input[data-v-f08844a1]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:.65rem 2.2rem .65rem 2.4rem;font-size:.9rem}.search-input[data-v-f08844a1]:focus{border-color:var(--color-primary);outline:none}.clear-search-btn[data-v-f08844a1]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.table-responsive[data-v-f08844a1]{overflow-x:auto}.data-table[data-v-f08844a1]{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.data-table th[data-v-f08844a1]{color:#475569;border-bottom:1px solid var(--color-border);background-color:#f8fafc;padding:.85rem 1rem;font-weight:600}.data-table td[data-v-f08844a1]{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.85rem 1rem}.data-table tr[data-v-f08844a1]:hover{background-color:#f8fafc}.date-badge[data-v-f08844a1]{align-items:center;gap:.4rem;font-size:.85rem;display:flex}.time-badge[data-v-f08844a1]{color:#475569;align-items:center;gap:.35rem;margin-top:.2rem;font-size:.78rem;display:flex}.contact-sub[data-v-f08844a1]{color:#64748b;align-items:center;gap:.35rem;margin-top:.15rem;font-size:.78rem;display:flex}.reason-cell[data-v-f08844a1]{max-width:280px}.reason-text[data-v-f08844a1]{color:#1e293b;margin:0;font-size:.85rem;line-height:1.35}.commitments-preview[data-v-f08844a1]{color:#065f46;background-color:#ecfdf5;border-left:2px solid #10b981;border-radius:2px;margin-top:.35rem;padding:.35rem .5rem;font-size:.78rem}.location-item[data-v-f08844a1]{color:#475569;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.badge[data-v-f08844a1]{border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-target-parent[data-v-f08844a1]{color:#0369a1;background:#e0f2fe}.badge-target-student[data-v-f08844a1]{color:#b45309;background:#fef3c7}.badge-target-both[data-v-f08844a1]{color:#6d28d9;background:#ede9fe}.badge-success[data-v-f08844a1]{color:#15803d;background:#dcfce7}.badge-primary[data-v-f08844a1]{color:#1e40af;background:#dbeafe}.badge-warning[data-v-f08844a1]{color:#b45309;background:#fef3c7}.badge-danger[data-v-f08844a1]{color:#b91c1c;background:#fee2e2}.badge-purple[data-v-f08844a1]{color:#7e22ce;background:#f3e8ff}.action-buttons[data-v-f08844a1]{justify-content:center;gap:.4rem;display:flex}.btn-sm[data-v-f08844a1]{border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;background:#fff;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-attend[data-v-f08844a1]:hover{color:#fff;background-color:#10b981;border-color:#10b981}.btn-cancel[data-v-f08844a1]:hover{color:#fff;background-color:#ef4444;border-color:#ef4444}.btn[data-v-f08844a1]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-f08844a1]{background-color:var(--color-primary);color:#fff}.btn-primary[data-v-f08844a1]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-f08844a1]{color:#334155;background-color:#e2e8f0}.btn-danger[data-v-f08844a1]{color:#fff;background-color:#dc2626}.btn[data-v-f08844a1]:disabled{opacity:.6;cursor:not-allowed}.modal-overlay[data-v-f08844a1]{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-dialog[data-v-f08844a1]{border-radius:var(--radius-lg);width:100%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-lg);background:#fff;overflow-y:auto}.modal-header[data-v-f08844a1]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2[data-v-f08844a1]{color:var(--color-primary);margin:0;font-size:1.2rem;font-weight:700}.close-btn[data-v-f08844a1]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none}.modal-body[data-v-f08844a1]{padding:1.5rem}.form-group[data-v-f08844a1]{margin-bottom:1.15rem}.form-label[data-v-f08844a1]{color:#334155;margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.form-label.required[data-v-f08844a1]:after{content:" *";color:#dc2626}.form-input[data-v-f08844a1],.form-select[data-v-f08844a1]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:.6rem .8rem;font-size:.9rem}.form-input[data-v-f08844a1]:focus,.form-select[data-v-f08844a1]:focus{border-color:var(--color-primary);outline:none}.form-grid[data-v-f08844a1]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-grid-inner[data-v-f08844a1]{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.select-student-group[data-v-f08844a1],.search-input-wrapper[data-v-f08844a1]{position:relative}.clear-student-btn[data-v-f08844a1]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.student-dropdown[data-v-f08844a1]{border:1px solid var(--color-border);border-radius:var(--radius-sm);z-index:50;max-height:220px;box-shadow:var(--shadow-md);background:#fff;margin-top:.25rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.student-dropdown-item[data-v-f08844a1]{cursor:pointer;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.student-dropdown-item[data-v-f08844a1]:hover{background-color:#f8fafc}.group-tag[data-v-f08844a1]{color:#334155;background-color:#e2e8f0;border-radius:4px;margin-left:.4rem;padding:.15rem .45rem;font-size:.75rem}.badge-inclusion-small[data-v-f08844a1]{color:#7e22ce;background-color:#f3e8ff;border-radius:4px;margin-left:.4rem;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.target-type-options[data-v-f08844a1]{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}@media (width<=600px){.target-type-options[data-v-f08844a1]{grid-template-columns:1fr}}.radio-card[data-v-f08844a1]{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:#f8fafc;align-items:center;gap:.6rem;padding:.75rem;transition:all .2s;display:flex}.radio-card input[data-v-f08844a1]{display:none}.radio-card.selected[data-v-f08844a1]{border-color:var(--color-primary);color:var(--color-primary);background:#eff6ff}.radio-card strong[data-v-f08844a1]{font-size:.85rem;display:block}.radio-card small[data-v-f08844a1]{color:var(--color-text-secondary);font-size:.72rem;display:block}.review-context[data-v-f08844a1]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#f8fafc;margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.85rem;line-height:1.5}.modal-footer[data-v-f08844a1]{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.text-danger[data-v-f08844a1]{color:#dc2626}.cases-view[data-v-e1173b6a]{flex-direction:column;gap:1.5rem;display:flex}.page-header[data-v-e1173b6a]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-title[data-v-e1173b6a]{color:var(--color-primary);margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.page-subtitle[data-v-e1173b6a]{color:var(--color-text-secondary);font-size:.95rem}.filters-card[data-v-e1173b6a]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);background:#fff;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.search-box[data-v-e1173b6a]{width:100%;position:relative}.search-icon[data-v-e1173b6a]{color:var(--color-text-secondary);position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-input[data-v-e1173b6a]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:.65rem 2.2rem .65rem 2.4rem;font-size:.9rem}.search-input[data-v-e1173b6a]:focus{border-color:var(--color-primary);outline:none}.clear-search-btn[data-v-e1173b6a]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.filters-group[data-v-e1173b6a]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.filter-select[data-v-e1173b6a]{flex:1;min-width:170px;padding:.5rem .75rem;font-size:.85rem}.checkbox-filter[data-v-e1173b6a]{color:#475569;cursor:pointer;white-space:nowrap;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;display:flex}.cases-grid[data-v-e1173b6a]{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.25rem;display:grid}@media (width<=600px){.cases-grid[data-v-e1173b6a]{grid-template-columns:1fr}}.case-card[data-v-e1173b6a]{border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;padding:1.25rem;transition:all .2s;display:flex}.case-card[data-v-e1173b6a]:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1;transform:translateY(-2px)}.card-critical[data-v-e1173b6a]{border-left:4px solid #ef4444}.card-top[data-v-e1173b6a]{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.case-header-meta[data-v-e1173b6a]{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.case-number[data-v-e1173b6a]{color:#334155;background:#f1f5f9;border-radius:4px;padding:.15rem .5rem;font-size:.78rem;font-weight:800}.card-title[data-v-e1173b6a]{color:var(--color-primary);cursor:pointer;margin-bottom:.75rem;font-size:1.05rem;font-weight:700;line-height:1.35}.card-title[data-v-e1173b6a]:hover{color:#1d4ed8;text-decoration:underline}.student-info-box[data-v-e1173b6a]{border-radius:var(--radius-sm);background:#f8fafc;align-items:center;gap:.6rem;margin-bottom:.75rem;padding:.6rem .8rem;font-size:.85rem;display:flex}.card-description[data-v-e1173b6a]{color:#475569;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-bottom:1rem;font-size:.85rem;line-height:1.45;display:-webkit-box;overflow:hidden}.card-divider[data-v-e1173b6a]{background-color:var(--color-border);height:1px;margin-bottom:.85rem}.card-bottom[data-v-e1173b6a]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card-details-sub[data-v-e1173b6a]{color:#64748b;flex-direction:column;gap:.2rem;font-size:.78rem;display:flex}.date-sub[data-v-e1173b6a]{align-items:center;gap:.3rem;display:flex}.sessions-badge[data-v-e1173b6a]{color:var(--color-primary)}.card-actions[data-v-e1173b6a]{align-items:center;gap:.5rem;display:flex}.btn-icon[data-v-e1173b6a]{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:#334155;background:#f1f5f9;justify-content:center;align-items:center;padding:.45rem;transition:all .2s;display:inline-flex}.btn-icon[data-v-e1173b6a]:hover{color:var(--color-primary);background:#e2e8f0}.btn-icon-delete[data-v-e1173b6a]:hover{color:#dc2626;background:#fee2e2;border-color:#dc2626}.badge[data-v-e1173b6a]{border-radius:9999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.badge-category[data-v-e1173b6a]{color:#0369a1;background:#e0f2fe}.badge-purple[data-v-e1173b6a]{color:#7e22ce;background:#f3e8ff}.badge-priority[data-v-e1173b6a]{border-radius:9999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.badge-critica[data-v-e1173b6a]{color:#b91c1c;background:#fee2e2}.badge-alta[data-v-e1173b6a]{color:#c2410c;background:#ffedd5}.badge-media[data-v-e1173b6a]{color:#b45309;background:#fef3c7}.badge-baja[data-v-e1173b6a]{color:#475569;background:#f1f5f9}.badge-status[data-v-e1173b6a]{border-radius:9999px;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.status-open[data-v-e1173b6a]{color:#1e40af;background:#dbeafe}.status-followup[data-v-e1173b6a]{color:#b45309;background:#fef3c7}.status-closed[data-v-e1173b6a]{color:#15803d;background:#dcfce7}.status-referred[data-v-e1173b6a]{color:#475569;background:#f1f5f9}.modal-overlay[data-v-e1173b6a]{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-dialog[data-v-e1173b6a]{border-radius:var(--radius-lg);width:100%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-lg);background:#fff;overflow-y:auto}.modal-header[data-v-e1173b6a]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2[data-v-e1173b6a]{color:var(--color-primary);margin:0;font-size:1.2rem;font-weight:700}.close-btn[data-v-e1173b6a]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none}.modal-body[data-v-e1173b6a]{padding:1.5rem}.form-group[data-v-e1173b6a]{margin-bottom:1.15rem}.form-label[data-v-e1173b6a]{color:#334155;margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.form-label.required[data-v-e1173b6a]:after{content:" *";color:#dc2626}.form-input[data-v-e1173b6a],.form-select[data-v-e1173b6a]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:.6rem .8rem;font-size:.9rem}.form-input[data-v-e1173b6a]:focus,.form-select[data-v-e1173b6a]:focus{border-color:var(--color-primary);outline:none}.form-grid[data-v-e1173b6a]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.select-student-group[data-v-e1173b6a],.search-input-wrapper[data-v-e1173b6a]{position:relative}.clear-student-btn[data-v-e1173b6a]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.student-dropdown[data-v-e1173b6a]{border:1px solid var(--color-border);border-radius:var(--radius-sm);z-index:50;max-height:220px;box-shadow:var(--shadow-md);background:#fff;margin-top:.25rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.student-dropdown-item[data-v-e1173b6a]{cursor:pointer;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.student-dropdown-item[data-v-e1173b6a]:hover{background-color:#f8fafc}.group-tag[data-v-e1173b6a]{color:#334155;background-color:#e2e8f0;border-radius:4px;margin-left:.4rem;padding:.15rem .45rem;font-size:.75rem}.badge-inclusion-small[data-v-e1173b6a]{color:#7e22ce;background-color:#f3e8ff;border-radius:4px;margin-left:.4rem;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.modal-footer[data-v-e1173b6a]{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.btn[data-v-e1173b6a]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-e1173b6a]{background-color:var(--color-primary);color:#fff}.btn-primary[data-v-e1173b6a]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-e1173b6a]{color:#334155;background-color:#e2e8f0}.btn[data-v-e1173b6a]:disabled{opacity:.6;cursor:not-allowed}.loading-container[data-v-e1173b6a],.empty-container[data-v-e1173b6a]{text-align:center;border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-secondary);background:#fff;padding:3rem 1rem}.block[data-v-e1173b6a]{display:block}.case-detail-container[data-v-b592bab9]{flex-direction:column;gap:1.5rem;max-width:1000px;margin:0 auto;display:flex}.top-nav-bar[data-v-b592bab9]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.back-link[data-v-b592bab9]{color:var(--color-primary);align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link[data-v-b592bab9]:hover{text-decoration:underline}.top-actions[data-v-b592bab9]{flex-wrap:wrap;gap:.75rem;display:flex}.case-header-card[data-v-b592bab9]{border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#fff;padding:1.75rem}.case-header-top[data-v-b592bab9]{margin-bottom:1.25rem}.case-badges[data-v-b592bab9]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.case-number-badge[data-v-b592bab9]{color:#334155;background:#f1f5f9;border-radius:4px;padding:.2rem .6rem;font-size:.82rem;font-weight:800}.case-title[data-v-b592bab9]{color:var(--color-primary);font-size:1.5rem;font-weight:800;line-height:1.3}.details-grid[data-v-b592bab9]{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#f8fafc;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:grid}.info-group[data-v-b592bab9]{flex-direction:column;display:flex}.info-label[data-v-b592bab9]{color:#64748b;text-transform:uppercase;margin-bottom:.15rem;font-size:.78rem;font-weight:600}.info-value[data-v-b592bab9]{color:#1e293b;margin-bottom:.15rem;font-size:.95rem}.case-section-box[data-v-b592bab9]{border-left:3px solid var(--color-primary);background:#fafbfc;border-radius:0 4px 4px 0;margin-bottom:1.25rem;padding:.85rem 1rem}.box-closed[data-v-b592bab9]{background:#f0fdf4;border-left-color:#10b981}.section-box-title[data-v-b592bab9]{color:var(--color-primary);margin-bottom:.35rem;font-size:.85rem;font-weight:700}.section-box-text[data-v-b592bab9]{color:#334155;white-space:pre-line;margin:0;font-size:.9rem;line-height:1.5}.sessions-section[data-v-b592bab9]{border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#fff;padding:1.75rem}.sessions-header[data-v-b592bab9]{margin-bottom:1.5rem}.sessions-header h2[data-v-b592bab9]{color:var(--color-primary);margin:0;font-size:1.25rem;font-weight:700}.empty-sessions[data-v-b592bab9]{text-align:center;color:var(--color-text-secondary);padding:2.5rem 1rem}.timeline[data-v-b592bab9]{flex-direction:column;gap:1.5rem;display:flex;position:relative}.timeline-item[data-v-b592bab9]{gap:1.25rem;display:flex}.timeline-marker[data-v-b592bab9]{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:.25rem;font-size:.85rem;font-weight:700;display:flex}.timeline-content[data-v-b592bab9]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fafbfc;flex:1;padding:1.1rem 1.25rem}.session-top[data-v-b592bab9]{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;padding-bottom:.5rem;display:flex}.session-date-box[data-v-b592bab9]{align-items:center;gap:.4rem;font-size:.88rem;display:flex}.session-attendees[data-v-b592bab9]{color:#475569;font-size:.82rem}.session-desc[data-v-b592bab9]{color:#1e293b;white-space:pre-line;margin-bottom:.75rem;font-size:.9rem;line-height:1.5}.session-commitments-box[data-v-b592bab9]{border-radius:var(--radius-sm);background:#ecfdf5;border:1px solid #a7f3d0;margin-top:.75rem;padding:.75rem 1rem}.commitments-title[data-v-b592bab9]{color:#065f46;align-items:center;gap:.4rem;margin-bottom:.25rem;font-size:.82rem;display:flex}.commitments-text[data-v-b592bab9]{color:#047857;white-space:pre-line;margin:0;font-size:.85rem;line-height:1.45}.next-date-tag[data-v-b592bab9]{color:#0369a1;background:#e0f2fe;border-radius:9999px;align-items:center;gap:.35rem;margin-top:.75rem;padding:.25rem .65rem;font-size:.8rem;display:inline-flex}.badge[data-v-b592bab9]{border-radius:9999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.badge-category[data-v-b592bab9]{color:#0369a1;background:#e0f2fe}.badge-purple[data-v-b592bab9]{color:#7e22ce;background:#f3e8ff}.badge-priority[data-v-b592bab9]{border-radius:9999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.badge-critica[data-v-b592bab9]{color:#b91c1c;background:#fee2e2}.badge-alta[data-v-b592bab9]{color:#c2410c;background:#ffedd5}.badge-media[data-v-b592bab9]{color:#b45309;background:#fef3c7}.badge-baja[data-v-b592bab9]{color:#475569;background:#f1f5f9}.badge-status[data-v-b592bab9]{border-radius:9999px;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.status-open[data-v-b592bab9]{color:#1e40af;background:#dbeafe}.status-followup[data-v-b592bab9]{color:#b45309;background:#fef3c7}.status-closed[data-v-b592bab9]{color:#15803d;background:#dcfce7}.status-referred[data-v-b592bab9]{color:#475569;background:#f1f5f9}.btn[data-v-b592bab9]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-b592bab9]{background-color:var(--color-primary);color:#fff}.btn-secondary[data-v-b592bab9]{color:#334155;border:1px solid var(--color-border);background-color:#f1f5f9}.btn-success[data-v-b592bab9]{color:#fff;background-color:#10b981}.btn-warning[data-v-b592bab9]{color:#fff;background-color:#f59e0b}.btn[data-v-b592bab9]:hover:not(:disabled){opacity:.9}.btn[data-v-b592bab9]:disabled{opacity:.6;cursor:not-allowed}.modal-overlay[data-v-b592bab9]{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-dialog[data-v-b592bab9]{border-radius:var(--radius-lg);width:100%;max-width:620px;max-height:90vh;box-shadow:var(--shadow-lg);background:#fff;overflow-y:auto}.modal-header[data-v-b592bab9]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2[data-v-b592bab9]{color:var(--color-primary);margin:0;font-size:1.2rem;font-weight:700}.close-btn[data-v-b592bab9]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none}.modal-body[data-v-b592bab9]{padding:1.5rem}.form-group[data-v-b592bab9]{margin-bottom:1.15rem}.form-label[data-v-b592bab9]{color:#334155;margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.form-label.required[data-v-b592bab9]:after{content:" *";color:#dc2626}.form-input[data-v-b592bab9],.form-select[data-v-b592bab9]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:.6rem .8rem;font-size:.9rem}.form-input[data-v-b592bab9]:focus,.form-select[data-v-b592bab9]:focus{border-color:var(--color-primary);outline:none}.form-grid[data-v-b592bab9]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-grid-inner[data-v-b592bab9]{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.modal-footer[data-v-b592bab9]{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.ml-2[data-v-b592bab9]{margin-left:.5rem}.print-header[data-v-b592bab9],.print-signatures-block[data-v-b592bab9]{display:none}@media print{.no-print[data-v-b592bab9]{display:none!important}body[data-v-b592bab9]{font-size:11pt;color:#000!important;background:#fff!important}.case-detail-container[data-v-b592bab9]{max-width:100%!important;margin:0!important;padding:0!important}.print-header[data-v-b592bab9]{border-bottom:2px solid #1a365d;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex!important}.print-logo[data-v-b592bab9]{width:85px;height:auto}.print-school-info h2[data-v-b592bab9]{color:#1a365d;margin:0;font-size:14pt;font-weight:800}.print-school-info p[data-v-b592bab9]{color:#334155;margin:2px 0;font-size:10pt;font-weight:600}.print-subtitle[data-v-b592bab9]{color:#c59b27!important}.case-header-card[data-v-b592bab9],.sessions-section[data-v-b592bab9]{page-break-inside:avoid;box-shadow:none!important;border:1px solid #ccc!important;padding:1rem!important}.timeline-marker[data-v-b592bab9]{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#1a365d!important}.print-signatures-block[data-v-b592bab9]{page-break-inside:avoid;justify-content:space-between;margin-top:3.5rem;padding-top:1rem;display:flex!important}.signature-box[data-v-b592bab9]{text-align:center;flex-direction:column;align-items:center;width:28%;font-size:9pt;display:flex}.signature-line[data-v-b592bab9]{background:#000;width:100%;height:1px;margin-bottom:.5rem}}.students-directory-view[data-v-f6762440]{flex-direction:column;gap:1.5rem;display:flex}.page-header[data-v-f6762440]{margin-bottom:.5rem}.page-title[data-v-f6762440]{color:var(--color-primary);margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.page-subtitle[data-v-f6762440]{color:var(--color-text-secondary);font-size:.95rem}.filters-card[data-v-f6762440]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);background:#fff;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.search-box[data-v-f6762440]{width:100%;position:relative}.search-icon[data-v-f6762440]{color:var(--color-text-secondary);position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-input[data-v-f6762440]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:.65rem 2.2rem .65rem 2.4rem;font-size:.9rem}.search-input[data-v-f6762440]:focus{border-color:var(--color-primary);outline:none}.clear-search-btn[data-v-f6762440]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.filters-row[data-v-f6762440]{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.filter-select[data-v-f6762440]{max-width:260px;padding:.5rem .75rem;font-size:.85rem}.checkbox-filter[data-v-f6762440]{color:#475569;cursor:pointer;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;display:flex}.table-card[data-v-f6762440]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);background:#fff;overflow:hidden}.table-responsive[data-v-f6762440]{overflow-x:auto}.data-table[data-v-f6762440]{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.data-table th[data-v-f6762440]{color:#475569;border-bottom:1px solid var(--color-border);background-color:#f8fafc;padding:.85rem 1rem;font-weight:600}.data-table td[data-v-f6762440]{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.85rem 1rem}.data-table tr[data-v-f6762440]:hover{background-color:#f8fafc}.doc-badge[data-v-f6762440]{color:#334155;background:#f1f5f9;border-radius:4px;padding:.15rem .45rem;font-size:.82rem;font-weight:600}.group-badge[data-v-f6762440]{color:var(--color-primary);background:#e0f2fe;border-radius:4px;padding:.15rem .5rem;font-size:.82rem;font-weight:700}.contact-line[data-v-f6762440]{color:#475569;align-items:center;gap:.35rem;margin-top:.15rem;font-size:.78rem;display:flex}.badge[data-v-f6762440]{border-radius:9999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.badge-purple[data-v-f6762440]{color:#7e22ce;background:#f3e8ff}.badge-category[data-v-f6762440]{color:#0369a1;background:#e0f2fe}.badge-priority[data-v-f6762440]{border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.badge-critica[data-v-f6762440]{color:#b91c1c;background:#fee2e2}.badge-alta[data-v-f6762440]{color:#c2410c;background:#ffedd5}.badge-media[data-v-f6762440]{color:#b45309;background:#fef3c7}.badge-baja[data-v-f6762440]{color:#475569;background:#f1f5f9}.action-buttons[data-v-f6762440]{justify-content:center;gap:.4rem;display:flex}.btn-sm[data-v-f6762440]{border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;background:#fff;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-profile[data-v-f6762440]:hover{color:var(--color-primary);border-color:var(--color-primary);background:#eff6ff}.btn-cite[data-v-f6762440]:hover{color:#059669;background:#ecfdf5;border-color:#059669}.btn-case[data-v-f6762440]:hover{color:#d97706;background:#fef3c7;border-color:#d97706}.btn[data-v-f6762440]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary[data-v-f6762440]{background-color:var(--color-primary);color:#fff}.btn-secondary[data-v-f6762440]{color:#334155;background-color:#e2e8f0}.modal-overlay[data-v-f6762440]{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.profile-dialog[data-v-f6762440]{border-radius:var(--radius-lg);width:100%;max-width:750px;max-height:90vh;box-shadow:var(--shadow-lg);background:#fff;overflow-y:auto}.profile-header-title[data-v-f6762440]{align-items:center;gap:.75rem;display:flex}.profile-header-title h2[data-v-f6762440]{color:var(--color-primary);margin:0;font-size:1.25rem;font-weight:700}.student-hero-card[data-v-f6762440]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.student-hero-name[data-v-f6762440]{color:var(--color-primary);margin-bottom:.35rem;font-size:1.35rem;font-weight:800}.student-hero-meta[data-v-f6762440]{color:#475569;gap:.5rem;font-size:.85rem;display:flex}.profile-section[data-v-f6762440]{border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;padding-bottom:1.25rem}.section-header-flex[data-v-f6762440]{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.section-title[data-v-f6762440]{color:var(--color-primary);align-items:center;gap:.4rem;margin-bottom:.85rem;font-size:.95rem;font-weight:700;display:flex}.parents-grid[data-v-f6762440]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;display:grid}.parent-card[data-v-f6762440]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fafbfc;padding:.75rem 1rem}.parent-name[data-v-f6762440]{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.relationship-tag[data-v-f6762440]{color:#334155;background:#e2e8f0;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.parent-contact[data-v-f6762440]{color:#475569;align-items:center;gap:.35rem;margin-top:.15rem;font-size:.8rem;display:flex}.student-cases-list[data-v-f6762440]{flex-direction:column;gap:.75rem;display:flex}.student-case-item[data-v-f6762440]{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:#fafbfc;padding:.85rem 1rem;transition:all .2s}.student-case-item[data-v-f6762440]:hover{border-color:var(--color-primary);background:#fff}.case-item-header[data-v-f6762440]{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.case-code[data-v-f6762440]{color:#334155;background:#f1f5f9;border-radius:4px;padding:.1rem .4rem;font-size:.75rem;font-weight:800}.case-date[data-v-f6762440]{color:#64748b;margin-left:auto;font-size:.75rem}.case-item-title[data-v-f6762440]{color:var(--color-primary);margin-bottom:.25rem;font-size:.95rem;font-weight:700}.case-item-desc[data-v-f6762440]{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.4rem;font-size:.82rem;line-height:1.35;display:-webkit-box;overflow:hidden}.case-item-footer[data-v-f6762440]{justify-content:space-between;align-items:center;display:flex}.see-case-link[data-v-f6762440]{color:var(--color-primary);align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;display:inline-flex}.modal-header[data-v-f6762440]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.close-btn[data-v-f6762440]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none}.modal-body[data-v-f6762440]{padding:1.5rem}.modal-footer[data-v-f6762440]{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.student-activities[data-v-a8b7dd04]{flex-direction:column;gap:1.5rem;display:flex}.toolbar[data-v-a8b7dd04]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:1.5rem}.form-group.mb-0[data-v-a8b7dd04]{margin-bottom:0}.form-group label[data-v-a8b7dd04]{color:var(--color-text);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.period-select[data-v-a8b7dd04]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;min-width:200px;padding:.5rem 1rem;font-size:1rem}.activities-grid[data-v-a8b7dd04]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.activity-card[data-v-a8b7dd04]{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;border-left:4px solid #3b82f6;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex}.activity-card[data-v-a8b7dd04]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header[data-v-a8b7dd04]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.card-header h4[data-v-a8b7dd04]{color:var(--color-text);margin:0;font-size:1.1rem;font-weight:600;line-height:1.3}.category-badge[data-v-a8b7dd04]{color:#0369a1;white-space:nowrap;background:#e0f2fe;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.card-body[data-v-a8b7dd04]{flex-direction:column;flex-grow:1;gap:1rem;padding:1.5rem;display:flex}.description[data-v-a8b7dd04]{color:#64748b;margin:0;font-size:.95rem;line-height:1.5}.meta[data-v-a8b7dd04]{border-top:1px dashed #e2e8f0;margin-top:auto;padding-top:1rem}.date-info[data-v-a8b7dd04]{color:#475569;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.empty-state[data-v-a8b7dd04]{border-radius:var(--radius-md);min-height:300px;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;display:flex}.empty-content[data-v-a8b7dd04]{text-align:center}.empty-content .icon[data-v-a8b7dd04]{margin-bottom:1rem;font-size:3rem;display:block}.empty-content h3[data-v-a8b7dd04]{color:#1e293b;margin-bottom:.5rem;font-size:1.25rem}.empty-content p[data-v-a8b7dd04]{color:#64748b}.teacher-files[data-v-a8b7dd04]{border-top:1px dashed #e2e8f0;padding-top:1rem}.file-list[data-v-a8b7dd04]{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.file-btn[data-v-a8b7dd04]{border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;align-items:center;padding:.4rem .8rem;font-size:.85rem;transition:all .2s;display:flex}.file-btn[data-v-a8b7dd04]:hover{background:#e2e8f0;border-color:#94a3b8}.actions-footer[data-v-a8b7dd04]{border-top:1px solid #f1f5f9;padding-top:1rem}.btn-primary[data-v-a8b7dd04]{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;padding:.6rem 1.2rem;font-weight:600;transition:background .2s;display:flex}.btn-primary[data-v-a8b7dd04]:hover:not(:disabled){background:var(--color-primary-light)}.btn-primary[data-v-a8b7dd04]:disabled{opacity:.7;cursor:not-allowed}.text-danger[data-v-a8b7dd04]{color:#dc2626}.text-muted[data-v-a8b7dd04]{color:#64748b;font-size:.85rem}.d-block[data-v-a8b7dd04]{display:block}.mt-1[data-v-a8b7dd04]{margin-top:.25rem}.mt-3[data-v-a8b7dd04]{margin-top:1rem}.mt-4[data-v-a8b7dd04]{margin-top:1.5rem}.mr-1[data-v-a8b7dd04]{margin-right:.25rem}.mr-2[data-v-a8b7dd04]{margin-right:.5rem}.text-center[data-v-a8b7dd04]{text-align:center}.modal-overlay[data-v-a8b7dd04]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172abf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-a8b7dd04]{border-radius:var(--radius-lg);background:#fff;width:95%;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-content.modal-lg[data-v-a8b7dd04]{max-width:700px}.modal-header[data-v-a8b7dd04]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.modal-header h3[data-v-a8b7dd04]{color:#1e293b;margin:0;font-size:1.25rem}.btn-icon[data-v-a8b7dd04]{color:#64748b;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex}.btn-icon[data-v-a8b7dd04]:hover{color:#0f172a}.btn-icon.text-danger[data-v-a8b7dd04]:hover{color:#dc2626}.status-badge.success[data-v-a8b7dd04]{color:#166534;border-radius:var(--radius-md);background:#dcfce7;align-items:center;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex}.delivered-files[data-v-a8b7dd04]{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.delivered-files li[data-v-a8b7dd04]{border-radius:var(--radius-sm);background:#f8fafc;border:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.file-link[data-v-a8b7dd04]{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;font-weight:500;display:flex}.file-link[data-v-a8b7dd04]:hover{text-decoration:underline}.comment-box[data-v-a8b7dd04]{border-radius:var(--radius-md);color:#334155;background:#f8fafc;border:1px solid #e2e8f0;margin:0;padding:1rem;font-size:.95rem}.form-group[data-v-a8b7dd04]{margin-bottom:1.25rem}.form-group label[data-v-a8b7dd04]{color:#334155;margin-bottom:.5rem;font-weight:500;display:block}.form-control[data-v-a8b7dd04]{border-radius:var(--radius-md);border:1px solid #cbd5e1;outline:none;width:100%;padding:.75rem;font-family:inherit}.form-control[data-v-a8b7dd04]:focus{border-color:var(--color-primary)}.modal-actions[data-v-a8b7dd04]{justify-content:flex-end;margin-top:1.5rem;display:flex}.past-due-notice[data-v-a8b7dd04]{border-radius:var(--radius-md);background:#fef2f2;border:1px solid #fecaca;padding:1rem}.recovery-box[data-v-a8b7dd04]{border-radius:var(--radius-sm);background:#f0fdf4;border:1px solid #bbf7d0;padding:.75rem 1rem;font-size:.88rem}.recovery-box.urgent[data-v-a8b7dd04]{background:#fffbeb;border-color:#fde68a}.recovery-box.expired[data-v-a8b7dd04]{opacity:.85;background:#f8fafc;border-color:#e2e8f0}.recovery-header[data-v-a8b7dd04]{color:#166534;align-items:center;gap:.4rem;margin-bottom:.25rem;display:flex}.recovery-box.urgent .recovery-header[data-v-a8b7dd04]{color:#b45309}.recovery-box.expired .recovery-header[data-v-a8b7dd04]{color:#64748b}.recovery-details[data-v-a8b7dd04]{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.days-badge[data-v-a8b7dd04]{color:#15803d;background:#dcfce7;border-radius:9999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.recovery-box.urgent .days-badge[data-v-a8b7dd04]{color:#b91c1c;background:#fee2e2}.days-badge.expired[data-v-a8b7dd04]{color:#64748b;background:#f1f5f9}.justification-text[data-v-a8b7dd04]{color:#475569;margin:.25rem 0 0;font-style:italic}.font-weight-bold[data-v-a8b7dd04]{font-weight:600}.text-success[data-v-a8b7dd04]{color:#16a34a}.student-gradebook[data-v-49ab80e8]{flex-direction:column;gap:1.5rem;display:flex}.toolbar[data-v-49ab80e8]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:flex-end;padding:1.5rem;display:flex}.form-group.mb-0[data-v-49ab80e8]{margin-bottom:0}.form-group label[data-v-49ab80e8]{color:var(--color-text);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.period-select[data-v-49ab80e8]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;min-width:200px;padding:.5rem 1rem;font-size:1rem}.actions[data-v-49ab80e8]{align-items:center;gap:.75rem;display:flex}.btn-simulator-toggle[data-v-49ab80e8]{background:var(--color-primary);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-simulator-toggle[data-v-49ab80e8]:hover:not(:disabled){opacity:.92;box-shadow:0 2px 6px #132b6640}.btn-simulator-toggle.active-sim[data-v-49ab80e8]{color:#fff;background:#f59e0b;border-color:#d97706}.btn-simulator-toggle[data-v-49ab80e8]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-49ab80e8]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;align-items:center;gap:.4rem;padding:.75rem 1.5rem;font-weight:600;transition:background .2s;display:inline-flex}.btn-secondary[data-v-49ab80e8]:hover:not(:disabled){background:#cbd5e1}.btn-secondary[data-v-49ab80e8]:disabled{opacity:.5;cursor:not-allowed}.icon-spacing[data-v-49ab80e8]{vertical-align:text-bottom;margin-right:.25rem}.alert.info[data-v-49ab80e8]{color:#0369a1;border-radius:var(--radius-md);background:#e0f2fe;border-left:4px solid #0284c7;padding:1rem}.alert.simulation-alert[data-v-49ab80e8]{color:#92400e;border-radius:var(--radius-md);background:#fef3c7;border-left:4px solid #f59e0b;padding:1rem}.table-container[data-v-49ab80e8]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow-x:auto}.grade-table[data-v-49ab80e8]{border-collapse:collapse;width:100%;min-width:600px}.grade-table th[data-v-49ab80e8],.grade-table td[data-v-49ab80e8]{text-align:left;border:1px solid #e2e8f0;padding:1rem 1.5rem}.grade-table th[data-v-49ab80e8]{color:#475569;text-transform:uppercase;background-color:#f8fafc;font-size:.85rem;font-weight:600}.activity-col[data-v-49ab80e8]{width:40%}.activity-name strong[data-v-49ab80e8]{color:#1e293b;margin-bottom:.25rem;font-size:1.05rem;display:block}.activity-desc[data-v-49ab80e8]{color:#64748b;font-size:.85rem}.category-badge[data-v-49ab80e8]{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.25rem .5rem;font-size:.8rem;font-weight:600}.grade-col[data-v-49ab80e8]{text-align:center;width:15%}.grade-cell[data-v-49ab80e8]{text-align:center}.grade-value[data-v-49ab80e8]{font-size:1.1rem;font-weight:700}.text-success[data-v-49ab80e8]{color:#16a34a}.text-danger[data-v-49ab80e8]{color:#dc2626}.final-row[data-v-49ab80e8]{background-color:#f8fafc}.text-right[data-v-49ab80e8]{text-align:right!important}.final-cell[data-v-49ab80e8]{text-align:center}.final-grade[data-v-49ab80e8]{border-radius:4px;padding:.25rem 1rem;font-size:1.3rem;font-weight:700;display:inline-block}.final-grade.passing[data-v-49ab80e8]{color:#16a34a;background:#dcfce7}.final-grade.failing[data-v-49ab80e8]{color:#dc2626;background:#fee2e2}.empty-state[data-v-49ab80e8]{border-radius:var(--radius-md);min-height:300px;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;display:flex}.empty-content[data-v-49ab80e8]{text-align:center}.empty-content .icon[data-v-49ab80e8]{margin-bottom:1rem;font-size:3rem;display:block}.empty-content h3[data-v-49ab80e8]{color:#1e293b;margin-bottom:.5rem;font-size:1.25rem}.empty-content p[data-v-49ab80e8]{color:#64748b}.simulation-input[data-v-49ab80e8]{text-align:center;border:2px solid #3b82f6;border-radius:4px;width:70px;padding:.4rem;font-size:1rem;font-weight:700}.btn-sm[data-v-49ab80e8]{padding:.35rem .8rem;font-size:.85rem}.mobile-sim-banner[data-v-49ab80e8],.mobile-gradebook-view[data-v-49ab80e8]{display:none}@media (width<=768px){.student-gradebook[data-v-49ab80e8]{box-sizing:border-box;gap:1.15rem;width:100%;max-width:100%;overflow-x:hidden}.desktop-table-view[data-v-49ab80e8],.desktop-sim-alert[data-v-49ab80e8]{display:none!important}.toolbar[data-v-49ab80e8]{border-radius:var(--radius-md);box-sizing:border-box;flex-direction:column;align-items:stretch;gap:.85rem;width:100%;padding:1rem}.filters[data-v-49ab80e8]{width:100%}.form-group label[data-v-49ab80e8]{margin-bottom:.35rem;font-size:.82rem}.period-select[data-v-49ab80e8]{box-sizing:border-box;width:100%;min-width:0;padding:.55rem .75rem;font-size:.9rem}.actions[data-v-49ab80e8]{box-sizing:border-box;grid-template-columns:1fr auto;gap:.5rem;width:100%;display:grid}.btn-simulator-toggle[data-v-49ab80e8]{box-sizing:border-box;white-space:nowrap;border-radius:var(--radius-sm);justify-content:center;gap:.35rem;width:100%;padding:.55rem .65rem;font-size:.82rem}.btn-secondary[data-v-49ab80e8]{border-radius:var(--radius-sm);white-space:nowrap;padding:.55rem .75rem;font-size:.82rem}.mobile-sim-banner[data-v-49ab80e8]{border-radius:var(--radius-md);background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b;flex-direction:column;gap:.5rem;padding:.85rem;display:flex;box-shadow:0 1px 3px #f59e0b14}.sim-banner-top[data-v-49ab80e8]{justify-content:space-between;align-items:center;display:flex}.sim-tag[data-v-49ab80e8]{color:#92400e;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:inline-flex}.btn-exit-sim[data-v-49ab80e8]{color:#b45309;border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:1px solid #fcd34d;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.sim-desc[data-v-49ab80e8]{color:#78350f;margin:0;font-size:.8rem;line-height:1.35}.sim-btn-row[data-v-49ab80e8]{grid-template-columns:1fr auto;gap:.5rem;margin-top:.25rem;display:grid}.btn-run-sim[data-v-49ab80e8]{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#f59e0b;border:none;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .85rem;font-size:.82rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #d9770633}.btn-run-sim[data-v-49ab80e8]:hover:not(:disabled){background:#d97706}.btn-run-sim[data-v-49ab80e8]:disabled{opacity:.6;cursor:not-allowed}.btn-reset-sim[data-v-49ab80e8]{color:#78350f;border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #fde68a;justify-content:center;align-items:center;gap:.3rem;padding:.55rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.mobile-gradebook-view[data-v-49ab80e8]{box-sizing:border-box;flex-direction:column;gap:1rem;width:100%;max-width:100%;display:flex}.mobile-final-card[data-v-49ab80e8]{border-radius:var(--radius-md);background:#fff;border:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 1.15rem;display:flex;box-shadow:0 2px 6px #0000000a}.mobile-final-card.passing[data-v-49ab80e8]{background:linear-gradient(90deg,#f0fdf4,#fff);border-left:5px solid #16a34a}.mobile-final-card.failing[data-v-49ab80e8]{background:linear-gradient(90deg,#fef2f2,#fff);border-left:5px solid #dc2626}.mobile-final-card.simulation[data-v-49ab80e8]{background:linear-gradient(90deg,#fffbeb,#fff);border-left:5px solid #f59e0b}.final-info[data-v-49ab80e8]{flex-direction:column;gap:.2rem;min-width:0;display:flex}.final-title[data-v-49ab80e8]{color:#1e293b;font-size:.95rem;font-weight:700;line-height:1.2}.final-status[data-v-49ab80e8]{color:#64748b;font-size:.76rem;font-weight:500}.final-score-badge[data-v-49ab80e8]{border-radius:var(--radius-md);color:#1e293b;text-align:center;background:#f1f5f9;flex-shrink:0;min-width:60px;padding:.35rem .85rem;font-size:1.6rem;font-weight:800;box-shadow:inset 0 1px 2px #0000000a}.final-score-badge.passing[data-v-49ab80e8]{color:#15803d;background:#dcfce7}.final-score-badge.failing[data-v-49ab80e8]{color:#b91c1c;background:#fee2e2}.final-score-badge.sim-pending[data-v-49ab80e8]{color:#b45309;background:#fef3c7}.mobile-category-group[data-v-49ab80e8]{box-sizing:border-box;flex-direction:column;gap:.65rem;width:100%;display:flex}.mobile-category-header[data-v-49ab80e8]{align-items:center;gap:.45rem;padding:.25rem .35rem;display:flex}.category-icon[data-v-49ab80e8]{color:var(--color-primary);flex-shrink:0}.mobile-category-header h4[data-v-49ab80e8]{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:.98rem;font-weight:700;overflow:hidden}.category-count[data-v-49ab80e8]{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;flex-shrink:0;padding:.15rem .55rem;font-size:.72rem;font-weight:600}.mobile-cards-list[data-v-49ab80e8]{box-sizing:border-box;flex-direction:column;gap:.65rem;width:100%;display:flex}.mobile-activity-card[data-v-49ab80e8]{border-radius:var(--radius-md);border:1px solid #e2e8f0;border-left:4px solid var(--color-primary);box-sizing:border-box;background:#fff;flex-direction:column;gap:.5rem;width:100%;max-width:100%;padding:.9rem;display:flex;overflow:hidden;box-shadow:0 1px 3px #00000008}.mobile-activity-card.is-simulating[data-v-49ab80e8]{background:#fdfefe;border-left-color:#f59e0b}.card-act-top[data-v-49ab80e8]{box-sizing:border-box;justify-content:space-between;align-items:flex-start;gap:.65rem;width:100%;display:flex}.act-title[data-v-49ab80e8]{color:#1e293b;word-break:break-word;overflow-wrap:break-word;flex:1;min-width:0;margin:0;font-size:.92rem;font-weight:700;line-height:1.3}.grade-pill[data-v-49ab80e8]{border-radius:var(--radius-sm);color:#334155;white-space:nowrap;background:#f1f5f9;border:1px solid #cbd5e1;flex-shrink:0;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.85rem;font-weight:700;display:inline-flex}.grade-pill.text-success[data-v-49ab80e8]{color:#15803d;background:#dcfce7;border-color:#86efac}.grade-pill.text-danger[data-v-49ab80e8]{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.grade-label[data-v-49ab80e8]{color:#64748b;font-size:.72rem;font-weight:600}.sim-input-box[data-v-49ab80e8]{border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fcd34d;flex-shrink:0;align-items:center;gap:.35rem;padding:.2rem .4rem;display:inline-flex}.sim-input-label[data-v-49ab80e8]{color:#92400e;font-size:.72rem;font-weight:700}.sim-mobile-input[data-v-49ab80e8]{text-align:center;color:#1e293b;box-sizing:border-box;background:#fff;border:1px solid #f59e0b;border-radius:4px;outline:none;width:48px;padding:.25rem .35rem;font-size:.95rem;font-weight:800}.sim-mobile-input[data-v-49ab80e8]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.act-description[data-v-49ab80e8]{color:#64748b;word-break:break-word;margin:0;font-size:.82rem;line-height:1.35}.card-act-meta[data-v-49ab80e8]{border-top:1px dashed #f1f5f9;flex-wrap:wrap;align-items:center;gap:.55rem;padding-top:.4rem;font-size:.74rem;display:flex}.act-date[data-v-49ab80e8]{color:#64748b;align-items:center;gap:.25rem;display:inline-flex}.real-grade-hint[data-v-49ab80e8]{color:#b45309;background:#fef3c7;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.mobile-final-footer-card[data-v-49ab80e8]{border-radius:var(--radius-md);color:#334155;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;justify-content:space-between;align-items:center;width:100%;padding:.85rem 1rem;font-size:.88rem;font-weight:700;display:flex;box-shadow:0 1px 3px #00000008}.mobile-final-footer-card.simulation[data-v-49ab80e8]{background:#fffdf5;border-left:4px solid #f59e0b}.footer-label-col[data-v-49ab80e8]{flex-direction:column;gap:.15rem;min-width:0;display:flex}.footer-label-col small[data-v-49ab80e8]{color:#94a3b8;font-size:.72rem;font-weight:500}.footer-grade-col[data-v-49ab80e8]{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.final-footer-grade[data-v-49ab80e8]{color:#1e293b;text-align:center;background:#f1f5f9;border-radius:4px;min-width:50px;padding:.2rem .65rem;font-size:1.25rem;font-weight:800}.final-footer-grade.passing[data-v-49ab80e8]{color:#15803d;background:#dcfce7}.final-footer-grade.failing[data-v-49ab80e8]{color:#b91c1c;background:#fee2e2}.btn-calc-footer[data-v-49ab80e8]{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#f59e0b;border:none;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.82rem;font-weight:700;display:inline-flex}.footer-sim-result[data-v-49ab80e8]{align-items:center;gap:.35rem;display:flex}.btn-recalc-icon[data-v-49ab80e8]{color:#475569;border-radius:var(--radius-sm);cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}}.student-history[data-v-97817884]{flex-direction:column;gap:1.5rem;display:flex}.toolbar[data-v-97817884]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:flex-end;padding:1.5rem;display:flex}.form-group.mb-0[data-v-97817884]{margin-bottom:0}.form-group label[data-v-97817884]{color:var(--color-text);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.year-select[data-v-97817884]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;min-width:250px;padding:.5rem 1rem;font-size:1rem}.btn-secondary[data-v-97817884]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:background .2s;display:flex}.btn-secondary[data-v-97817884]:hover:not(:disabled){background:#cbd5e1}.btn-secondary[data-v-97817884]:disabled{opacity:.5;cursor:not-allowed}.icon-spacing[data-v-97817884]{vertical-align:middle;margin-right:.4rem}.excellence-banner[data-v-97817884]{border-radius:var(--radius-md);background:linear-gradient(135deg,#f0fdf4 0%,#fefce8 50%,#fef3c7 100%);border:1.5px solid #fde68a;align-items:center;gap:1.5rem;padding:1.5rem 2rem;animation:.4s ease-out fadeIn-97817884;display:flex;box-shadow:0 10px 25px -5px #f59e0b1f,0 8px 10px -6px #10b98114}.banner-icon-box[data-v-97817884]{color:#fff;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 8px 20px -4px #f59e0b66}.trophy-pulse[data-v-97817884]{animation:2.5s ease-in-out infinite subtleBounce-97817884}@keyframes subtleBounce-97817884{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.05)}}@keyframes fadeIn-97817884{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.banner-body[data-v-97817884]{flex:1}.banner-tag[data-v-97817884]{color:#fff;background:#10b981;border-radius:999px;align-items:center;margin-bottom:.5rem;padding:.25rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #10b9814d}.banner-title[data-v-97817884]{color:#1e293b;margin:0 0 .4rem;font-size:1.25rem;font-weight:700}.banner-desc[data-v-97817884]{color:#475569;margin:0;font-size:.95rem;line-height:1.5}.highlight-level[data-v-97817884]{color:#b45309;background:#fef3c7;border-radius:4px;padding:.15rem .45rem;font-weight:700}.report-mode-tabs[data-v-97817884]{background:#f1f5f9;border-radius:12px;align-self:flex-start;gap:.75rem;padding:.4rem;display:flex}.mode-tab-btn[data-v-97817884]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.65rem 1.25rem;font-size:.92rem;font-weight:600;transition:all .2s;display:flex}.mode-tab-btn[data-v-97817884]:hover{color:#1e293b}.mode-tab-btn.active[data-v-97817884]{color:#1e293b;background:#fff;box-shadow:0 2px 8px #00000014}.tab-badge[data-v-97817884]{color:#d97706;background:#fef3c7;border-radius:999px;margin-left:.25rem;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.summary-cards[data-v-97817884]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.stat-card[data-v-97817884]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:1.25rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.stat-card[data-v-97817884]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card.highlight-card[data-v-97817884]{background:linear-gradient(135deg,#fff 0%,#fffbeb 100%);border:1.5px solid #fde68a}.stat-icon[data-v-97817884]{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;padding:.9rem;display:flex}.stat-icon.primary[data-v-97817884]{color:#0284c7;background:#e0f2fe}.stat-icon.warning[data-v-97817884]{color:#d97706;background:#fef3c7}.stat-icon.info[data-v-97817884]{color:#475569;background:#f1f5f9}.stat-icon.gold[data-v-97817884]{color:#b45309;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);box-shadow:0 4px 12px #f59e0b33}.stat-icon.purple[data-v-97817884]{color:#7c3aed;background:#ede9fe}.stat-info[data-v-97817884]{flex-direction:column;display:flex}.stat-label[data-v-97817884]{color:#64748b;margin-bottom:.25rem;font-size:.88rem;font-weight:500}.stat-value[data-v-97817884]{color:#1e293b;font-size:1.85rem;font-weight:800;line-height:1.1}.stat-value.highlight[data-v-97817884]{color:#d97706}.stat-value.text-gold[data-v-97817884]{color:#b45309;font-size:1.55rem}.stat-subtext[data-v-97817884]{color:#94a3b8;margin-top:.35rem;font-size:.78rem}.table-container[data-v-97817884]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.table-header-custom[data-v-97817884]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.table-title[data-v-97817884]{color:#1e293b;margin:0;font-size:1.1rem;font-weight:700}.table-subtitle[data-v-97817884]{color:#64748b;font-size:.82rem}.desktop-history-table[data-v-97817884]{width:100%;display:block}.mobile-history-cards[data-v-97817884]{display:none}.history-table[data-v-97817884]{border-collapse:collapse;width:100%}.history-table th[data-v-97817884],.history-table td[data-v-97817884]{text-align:left;border-bottom:1px solid #e2e8f0;padding:1rem 1.25rem}.history-table th[data-v-97817884]{color:#475569;text-transform:uppercase;letter-spacing:.04em;background-color:#f8fafc;font-size:.82rem;font-weight:600}.period-name[data-v-97817884]{color:#334155;font-size:1.02rem}.weight-cell[data-v-97817884]{font-size:.9rem}.grade-cell[data-v-97817884]{font-size:1.25rem;font-weight:700}.contrib-cell[data-v-97817884]{color:#0284c7;font-size:1.05rem;font-weight:700}.text-success[data-v-97817884]{color:#16a34a}.text-danger[data-v-97817884]{color:#dc2626}.level-badge[data-v-97817884]{border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.82rem;font-weight:700;display:inline-flex}.badge-level-superior[data-v-97817884]{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #fcd34d;box-shadow:0 2px 6px #f59e0b26}.badge-level-alto[data-v-97817884]{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.badge-level-basico[data-v-97817884]{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.badge-level-bajo[data-v-97817884]{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.badge[data-v-97817884]{border-radius:999px;padding:.4rem .8rem;font-size:.8rem;font-weight:600;display:inline-block}.bg-success[data-v-97817884]{color:#16a34a;background:#dcfce7}.bg-danger[data-v-97817884]{color:#dc2626;background:#fee2e2}.bg-warning[data-v-97817884]{color:#d97706;background:#fef3c7}.bg-secondary[data-v-97817884]{color:#64748b;background:#f1f5f9}.bg-gold[data-v-97817884]{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #fcd34d;font-weight:700}.progress-section[data-v-97817884]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:1.75rem;transition:all .3s}.progress-section.superior-mode-card[data-v-97817884]{background:linear-gradient(#fff 0%,#fffdf5 100%);border:1.5px solid #fde68a}.progress-header[data-v-97817884]{justify-content:space-between;align-items:center;display:flex}.title-with-icon[data-v-97817884]{align-items:center;display:flex}.title-with-icon h4[data-v-97817884]{color:#1e293b;margin:0;font-size:1.15rem;font-weight:700}.text-gold[data-v-97817884]{color:#b45309}.text-primary[data-v-97817884]{color:#0284c7}.progress-badge[data-v-97817884]{color:#334155;background:#e2e8f0;border-radius:999px;padding:.3rem .75rem;font-size:.9rem;font-weight:700}.progress-badge-gold[data-v-97817884]{color:#b45309;background:#fef3c7}.progress-bar-container[data-v-97817884]{background:#e2e8f0;border-radius:999px;width:100%;height:1.6rem;margin-top:1rem;overflow:hidden}.progress-bar[data-v-97817884]{background:var(--color-primary,#132b66);color:#fff;justify-content:center;align-items:center;height:100%;font-size:.85rem;font-weight:800;transition:width .6s cubic-bezier(.4,0,.2,1);display:flex}.progress-bar.bg-success[data-v-97817884]{background:#16a34a}.progress-bar-superior[data-v-97817884]{background:linear-gradient(90deg,#f59e0b 0%,#10b981 100%);box-shadow:0 2px 10px #10b98140}.progress-text[data-v-97817884]{color:#475569;font-size:.95rem;line-height:1.6}.projection-text[data-v-97817884]{color:#0284c7;margin-top:.35rem;font-weight:500;display:block}.highlight-pts[data-v-97817884]{color:#b45309;font-weight:800}.mt-4[data-v-97817884]{margin-top:1.5rem}.mt-3[data-v-97817884]{margin-top:1rem}.mt-2[data-v-97817884]{margin-top:.5rem}.m-0[data-v-97817884]{margin:0}.empty-state[data-v-97817884]{border-radius:var(--radius-md);min-height:300px;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;display:flex}.empty-content[data-v-97817884]{text-align:center}.empty-content .icon[data-v-97817884]{color:#cbd5e1;margin-bottom:1rem;font-size:3rem;display:block}.empty-content h3[data-v-97817884]{color:#1e293b;margin-bottom:.5rem;font-size:1.25rem}.empty-content p[data-v-97817884]{color:#64748b}@media (width<=768px){.student-history[data-v-97817884]{box-sizing:border-box;gap:1.15rem;width:100%}.toolbar[data-v-97817884]{flex-direction:column;align-items:stretch;gap:1rem;padding:1.15rem}.year-select[data-v-97817884]{width:100%}.excellence-banner[data-v-97817884]{text-align:center;flex-direction:column;gap:1rem;padding:1.25rem 1rem}.report-mode-tabs[data-v-97817884]{flex-direction:column;gap:.5rem;width:100%}.summary-cards[data-v-97817884]{grid-template-columns:1fr;gap:.75rem}.stat-card[data-v-97817884]{gap:1rem;padding:1rem 1.15rem}.stat-icon[data-v-97817884]{padding:.75rem}.stat-value[data-v-97817884]{font-size:1.55rem}.table-header-custom[data-v-97817884]{flex-wrap:wrap;gap:.75rem;padding:1rem 1.15rem}.table-title[data-v-97817884]{font-size:1.05rem}.table-subtitle[data-v-97817884]{font-size:.78rem}.desktop-history-table[data-v-97817884]{display:none}.mobile-history-cards[data-v-97817884]{background:#f8fafc;flex-direction:column;gap:.85rem;padding:.85rem;display:flex}.mobile-period-card[data-v-97817884]{border-radius:var(--radius-md);background:#fff;border:1px solid #e2e8f0;flex-direction:column;gap:.85rem;padding:.95rem 1rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000008}.mobile-period-card.card-passed[data-v-97817884]{border-left:4px solid #16a34a}.mobile-period-card.card-failed[data-v-97817884]{border-left:4px solid #dc2626}.mobile-period-card.card-unrated[data-v-97817884]{border-left:4px solid #94a3b8}.mobile-period-card.card-superior[data-v-97817884]{background:linear-gradient(#fff 0%,#fffdf5 100%);border-left:4px solid #f59e0b}.period-card-header[data-v-97817884]{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.period-title-group[data-v-97817884]{flex-direction:column;gap:.25rem;min-width:0;display:flex}.period-card-name[data-v-97817884]{color:#1e293b;font-size:1.05rem;font-weight:700;line-height:1.25}.period-card-weight[data-v-97817884]{color:#64748b;align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.period-card-weight strong[data-v-97817884]{color:#334155;background:#f1f5f9;border-radius:4px;padding:.1rem .45rem;font-weight:700}.period-status-badge[data-v-97817884]{flex-shrink:0}.period-card-metrics[data-v-97817884]{border-radius:var(--radius-sm);background:#f8fafc;border:1px solid #f1f5f9;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.75rem .5rem;display:grid}.metric-box[data-v-97817884]{text-align:center;flex-direction:column;align-items:center;gap:.25rem;min-width:0;display:flex}.metric-label[data-v-97817884]{text-transform:uppercase;color:#64748b;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.67rem;font-weight:700;overflow:hidden}.metric-value[data-v-97817884]{font-size:1.15rem;font-weight:800;line-height:1.2}.metric-value.contrib-val[data-v-97817884]{color:#0284c7;font-size:1.05rem}.metric-value-wrap[data-v-97817884]{justify-content:center;align-items:center;max-width:100%;min-height:24px;display:flex}.metric-value-wrap .level-badge[data-v-97817884]{white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:.2rem .45rem;font-size:.72rem;overflow:hidden}.progress-section[data-v-97817884]{padding:1.25rem 1rem}.title-with-icon h4[data-v-97817884]{font-size:1rem}.progress-text[data-v-97817884]{font-size:.88rem;line-height:1.5}}.course-dashboard[data-v-92aadc10]{flex-direction:column;gap:2rem;display:flex}.header[data-v-92aadc10]{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.title-section[data-v-92aadc10]{align-items:center;gap:1rem;display:flex}.back-btn[data-v-92aadc10]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.back-btn[data-v-92aadc10]:hover{color:#334155;background:#f1f5f9}h2[data-v-92aadc10]{color:var(--color-text);margin:0;font-size:1.8rem}.badge[data-v-92aadc10]{color:#4f46e5;background:#e0e7ff;border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.tabs[data-v-92aadc10]{border-bottom:2px solid #f1f5f9;gap:.5rem;padding-bottom:.5rem;display:flex}.tab-btn[data-v-92aadc10]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.tab-btn[data-v-92aadc10]:hover{color:#334155;background:#f8fafc}.tab-btn.active[data-v-92aadc10]{color:#2563eb;background:#eff6ff}.content-area[data-v-92aadc10]{min-height:500px}@media (width<=768px){.course-dashboard[data-v-92aadc10]{box-sizing:border-box;gap:1.25rem;width:100%;max-width:100%;overflow-x:hidden}.header[data-v-92aadc10]{border-radius:var(--radius-md);box-sizing:border-box;gap:.85rem;width:100%;padding:1rem .85rem}.title-section[data-v-92aadc10]{box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;display:flex}.back-btn[data-v-92aadc10]{align-items:center;gap:.35rem;width:100%;margin-bottom:.25rem;padding:.35rem .5rem;font-size:.82rem;display:inline-flex}.title-section h2[data-v-92aadc10]{word-break:break-word;margin:0;font-size:1.35rem;line-height:1.2}.badge[data-v-92aadc10]{padding:.2rem .55rem;font-size:.72rem}.tabs[data-v-92aadc10]{-webkit-overflow-scrolling:touch;scrollbar-width:none;box-sizing:border-box;border-bottom:1px solid #f1f5f9;flex-wrap:nowrap;gap:.5rem;width:100%;padding-bottom:.35rem;display:flex;overflow-x:auto}.tabs[data-v-92aadc10]::-webkit-scrollbar{display:none}.tab-btn[data-v-92aadc10]{white-space:nowrap;border-radius:var(--radius-pill);color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:.45rem;padding:.55rem .95rem;font-size:.84rem;font-weight:600;transition:all .2s;display:inline-flex}.tab-btn[data-v-92aadc10]:hover{background:#f1f5f9}.tab-btn.active[data-v-92aadc10]{color:#2563eb;background:#eff6ff;border-color:#bfdbfe;font-weight:700;box-shadow:0 1px 3px #2563eb26}.content-area[data-v-92aadc10]{box-sizing:border-box;width:100%;max-width:100%;min-height:auto}}.dashboard-container[data-v-61b3836c]{flex-direction:column;gap:2rem;display:flex}.welcome-card[data-v-61b3836c]{border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e2e8f0;padding:2.5rem}.welcome-card h2[data-v-61b3836c]{color:var(--color-primary);margin-bottom:1rem;font-size:2.25rem;font-weight:700}.subtitle[data-v-61b3836c]{color:#64748b;max-width:600px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.5}.action-cards[data-v-61b3836c]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;max-width:900px;margin:0 auto;display:grid}.card[data-v-61b3836c]{border-radius:var(--radius-md);text-align:center;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;flex-direction:column;align-items:center;padding:2rem 1.5rem;transition:all .3s;display:flex}.card[data-v-61b3836c]:hover{box-shadow:var(--shadow-md);background:#fff;border-color:#cbd5e1;transform:translateY(-5px)}.card-icon[data-v-61b3836c]{background:#e0f2fe;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.5rem;padding:1rem;display:flex}.card h3[data-v-61b3836c]{color:var(--color-text);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.card p[data-v-61b3836c]{color:#64748b;margin:0;font-size:.95rem;line-height:1.4}.parent-course-gradebook[data-v-3c9495cf]{flex-direction:column;gap:1.5rem;display:flex}.header[data-v-3c9495cf]{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;padding:1.5rem;display:flex}.title-section[data-v-3c9495cf]{align-items:center;gap:1rem;display:flex}.back-btn[data-v-3c9495cf]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.back-btn[data-v-3c9495cf]:hover{color:#334155;background:#f1f5f9}h2[data-v-3c9495cf]{color:var(--color-text);margin:0;font-size:1.5rem}.toolbar[data-v-3c9495cf]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:flex-end;padding:1.5rem;display:flex}.form-group.mb-0[data-v-3c9495cf]{margin-bottom:0}.form-group label[data-v-3c9495cf]{color:var(--color-text);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.period-select[data-v-3c9495cf]{border:1px solid #cbd5e1;border-radius:.5rem;outline:none;min-width:200px;padding:.5rem 1rem;font-size:1rem}.btn-secondary[data-v-3c9495cf]{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:background .2s}.btn-secondary[data-v-3c9495cf]:hover:not(:disabled){background:#cbd5e1}.btn-secondary[data-v-3c9495cf]:disabled{opacity:.5;cursor:not-allowed}.icon-spacing[data-v-3c9495cf]{vertical-align:text-bottom;margin-right:.25rem}.alert.info[data-v-3c9495cf]{color:#0369a1;border-radius:var(--radius-md);background:#e0f2fe;border-left:4px solid #0284c7;padding:1rem}.table-container[data-v-3c9495cf]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow-x:auto}.grade-table[data-v-3c9495cf]{border-collapse:collapse;width:100%;min-width:600px}.grade-table th[data-v-3c9495cf],.grade-table td[data-v-3c9495cf]{text-align:left;border:1px solid #e2e8f0;padding:1rem 1.5rem}.grade-table th[data-v-3c9495cf]{color:#475569;text-transform:uppercase;background-color:#f8fafc;font-size:.85rem;font-weight:600}.activity-col[data-v-3c9495cf]{width:40%}.activity-name strong[data-v-3c9495cf]{color:#1e293b;margin-bottom:.25rem;font-size:1.05rem;display:block}.activity-desc[data-v-3c9495cf]{color:#64748b;font-size:.85rem}.category-badge[data-v-3c9495cf]{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.25rem .5rem;font-size:.8rem;font-weight:600}.grade-col[data-v-3c9495cf]{text-align:center;width:15%}.grade-cell[data-v-3c9495cf]{text-align:center}.grade-value[data-v-3c9495cf]{font-size:1.1rem;font-weight:700}.text-success[data-v-3c9495cf]{color:#16a34a}.text-danger[data-v-3c9495cf]{color:#dc2626}.final-row[data-v-3c9495cf]{background-color:#f8fafc}.text-right[data-v-3c9495cf]{text-align:right!important}.final-cell[data-v-3c9495cf]{text-align:center}.final-grade[data-v-3c9495cf]{border-radius:4px;padding:.25rem 1rem;font-size:1.3rem;font-weight:700;display:inline-block}.final-grade.passing[data-v-3c9495cf]{color:#16a34a;background:#dcfce7}.final-grade.failing[data-v-3c9495cf]{color:#dc2626;background:#fee2e2}.empty-state[data-v-3c9495cf]{border-radius:var(--radius-md);min-height:300px;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;display:flex}.empty-content[data-v-3c9495cf]{text-align:center}.empty-content .icon[data-v-3c9495cf]{margin-bottom:1rem;font-size:3rem;display:block}.empty-content h3[data-v-3c9495cf]{color:#1e293b;margin-bottom:.5rem;font-size:1.25rem}.empty-content p[data-v-3c9495cf]{color:#64748b}.mobile-gradebook-view[data-v-3c9495cf]{display:none}@media (width<=768px){.header[data-v-3c9495cf]{border-radius:var(--radius-md);padding:1rem}.title-section[data-v-3c9495cf]{flex-direction:column;align-items:flex-start;gap:.65rem}.title-section h2[data-v-3c9495cf]{font-size:1.25rem;line-height:1.3}.back-btn[data-v-3c9495cf]{background:#f1f5f9;padding:.35rem .65rem;font-size:.85rem}.toolbar[data-v-3c9495cf]{border-radius:var(--radius-md);flex-direction:column;align-items:stretch;gap:.85rem;padding:1rem}.form-group.mb-0[data-v-3c9495cf]{width:100%}.period-select[data-v-3c9495cf]{width:100%;min-width:0}.actions[data-v-3c9495cf]{width:100%}.btn-secondary[data-v-3c9495cf]{justify-content:center;align-items:center;width:100%;padding:.65rem 1rem;display:inline-flex}.desktop-table-view[data-v-3c9495cf]{display:none!important}.mobile-gradebook-view[data-v-3c9495cf]{flex-direction:column;gap:1.25rem;display:flex}.mobile-final-card[data-v-3c9495cf]{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid #e2e8f0;border-left:5px solid var(--color-primary);background:#fff;justify-content:space-between;align-items:center;padding:1rem 1.15rem;display:flex}.mobile-final-card.passing[data-v-3c9495cf]{background:#f0fdf4;border-left-color:#16a34a}.mobile-final-card.failing[data-v-3c9495cf]{background:#fef2f2;border-left-color:#dc2626}.final-info[data-v-3c9495cf]{flex-direction:column;gap:.2rem;display:flex}.final-title[data-v-3c9495cf]{color:#475569;text-transform:uppercase;letter-spacing:.4px;font-size:.82rem;font-weight:700}.final-status[data-v-3c9495cf]{color:#16a34a;font-size:.82rem;font-weight:600}.mobile-final-card.failing .final-status[data-v-3c9495cf]{color:#dc2626}.final-score-badge[data-v-3c9495cf]{border-radius:var(--radius-sm);color:#1e293b;background:#f1f5f9;padding:.35rem .85rem;font-size:1.6rem;font-weight:800;box-shadow:0 1px 3px #0000000d}.final-score-badge.passing[data-v-3c9495cf]{color:#15803d;background:#dcfce7}.final-score-badge.failing[data-v-3c9495cf]{color:#b91c1c;background:#fee2e2}.mobile-category-group[data-v-3c9495cf]{flex-direction:column;gap:.65rem;display:flex}.mobile-category-header[data-v-3c9495cf]{align-items:center;gap:.45rem;padding:.25rem .35rem;display:flex}.category-icon[data-v-3c9495cf]{color:var(--color-primary);flex-shrink:0}.mobile-category-header h4[data-v-3c9495cf]{color:#1e293b;flex:1;margin:0;font-size:1rem;font-weight:700}.category-count[data-v-3c9495cf]{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.mobile-cards-list[data-v-3c9495cf]{flex-direction:column;gap:.65rem;display:flex}.mobile-activity-card[data-v-3c9495cf]{border-radius:var(--radius-md);border:1px solid #e2e8f0;border-left:4px solid var(--color-primary-light);background:#fff;flex-direction:column;gap:.55rem;padding:1rem;display:flex;box-shadow:0 1px 3px #00000008}.card-act-top[data-v-3c9495cf]{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.act-title[data-v-3c9495cf]{color:#1e293b;flex:1;margin:0;font-size:.98rem;font-weight:700;line-height:1.3}.grade-pill[data-v-3c9495cf]{border-radius:var(--radius-sm);color:#334155;white-space:nowrap;background:#f1f5f9;border:1px solid #cbd5e1;flex-shrink:0;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.88rem;font-weight:700;display:inline-flex}.grade-pill.text-success[data-v-3c9495cf]{color:#15803d;background:#dcfce7;border-color:#86efac}.grade-pill.text-danger[data-v-3c9495cf]{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.act-description[data-v-3c9495cf]{color:#64748b;margin:0;font-size:.84rem;line-height:1.4}.card-act-meta[data-v-3c9495cf]{border-top:1px dashed #f1f5f9;flex-wrap:wrap;align-items:center;gap:.65rem;padding-top:.45rem;display:flex}.act-date[data-v-3c9495cf]{color:#64748b;align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.mobile-final-footer-card[data-v-3c9495cf]{border-radius:var(--radius-md);color:#334155;background:#fff;border:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.85rem 1.15rem;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 1px 3px #00000008}.final-footer-grade[data-v-3c9495cf]{color:#1e293b;background:#f1f5f9;border-radius:4px;padding:.2rem .65rem;font-size:1.2rem;font-weight:800}.final-footer-grade.passing[data-v-3c9495cf]{color:#15803d;background:#dcfce7}.final-footer-grade.failing[data-v-3c9495cf]{color:#b91c1c;background:#fee2e2}}.modal-overlay[data-v-31832452]{z-index:50;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-31832452]{background:#fff;border-radius:.75rem;width:100%;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto}.modal-header[data-v-31832452]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.modal-header h3[data-v-31832452]{margin:0;font-size:1.25rem}.btn-close[data-v-31832452]{cursor:pointer;color:#64748b;background:0 0;border:none;font-size:1.25rem}.header-actions[data-v-3d5bdd2b]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.table-container[data-v-3d5bdd2b]{background:var(--color-surface);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.data-table[data-v-3d5bdd2b]{border-collapse:collapse;width:100%}.data-table th[data-v-3d5bdd2b],.data-table td[data-v-3d5bdd2b]{text-align:left;border-bottom:1px solid var(--color-border);padding:1rem}.data-table th[data-v-3d5bdd2b]{color:var(--color-text-light);background-color:#f8fafc;font-weight:600}.data-table tr[data-v-3d5bdd2b]:hover{background-color:#f1f5f9}.text-center[data-v-3d5bdd2b]{text-align:center}.text-right[data-v-3d5bdd2b]{text-align:right}.actions-cell[data-v-3d5bdd2b]{justify-content:flex-end;gap:.5rem;display:flex}.btn[data-v-3d5bdd2b]{cursor:pointer;font-weight:600;font-family:var(--font-family);border:none;border-radius:4px;padding:.5rem 1rem}.btn-primary[data-v-3d5bdd2b]{background-color:var(--color-primary);color:#fff}.btn-sm[data-v-3d5bdd2b]{padding:.25rem .5rem;font-size:.875rem}.btn-outline[data-v-3d5bdd2b]{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.btn-outline[data-v-3d5bdd2b]:hover{background:var(--color-background)}.btn-danger-outline[data-v-3d5bdd2b]{color:#dc2626;background:0 0;border:1px solid #ef4444}.btn-danger-outline[data-v-3d5bdd2b]:hover{background:#fef2f2}.form-container[data-v-3d5bdd2b]{flex-direction:column;gap:1.25rem;display:flex}.form-group[data-v-3d5bdd2b]{flex-direction:column;gap:.5rem;display:flex}.checkbox-group[data-v-3d5bdd2b]{flex-direction:row;align-items:center;gap:.5rem}label[data-v-3d5bdd2b]{font-size:.9rem;font-weight:600}input[type=text][data-v-3d5bdd2b]{border:1px solid var(--color-border);font-family:var(--font-family);border-radius:4px;padding:.75rem}input[type=text][data-v-3d5bdd2b]:focus{border-color:var(--color-secondary);outline:none}.form-actions[data-v-3d5bdd2b]{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.error-msg[data-v-3d5bdd2b]{color:#dc2626;margin:0;font-size:.875rem}.status-badge[data-v-3d5bdd2b]{border-radius:999px;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.status-badge.active[data-v-3d5bdd2b]{color:#166534;background-color:#dcfce7}.status-badge.inactive[data-v-3d5bdd2b]{color:#991b1b;background-color:#fee2e2}.header-actions[data-v-ea13d9b8]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.table-container[data-v-ea13d9b8]{background:var(--color-surface);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.data-table[data-v-ea13d9b8]{border-collapse:collapse;width:100%}.data-table th[data-v-ea13d9b8],.data-table td[data-v-ea13d9b8]{text-align:left;border-bottom:1px solid var(--color-border);padding:1rem}.data-table th[data-v-ea13d9b8]{color:var(--color-text-light);background-color:#f8fafc;font-weight:600}.data-table tr[data-v-ea13d9b8]:hover{background-color:#f1f5f9}.text-center[data-v-ea13d9b8]{text-align:center}.text-right[data-v-ea13d9b8]{text-align:right}.actions-cell[data-v-ea13d9b8]{justify-content:flex-end;gap:.5rem;display:flex}.btn[data-v-ea13d9b8]{cursor:pointer;font-weight:600;font-family:var(--font-family);border:none;border-radius:4px;padding:.5rem 1rem}.btn-primary[data-v-ea13d9b8]{background-color:var(--color-primary);color:#fff}.btn-sm[data-v-ea13d9b8]{padding:.25rem .5rem;font-size:.875rem}.btn-outline[data-v-ea13d9b8]{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.btn-outline[data-v-ea13d9b8]:hover{background:var(--color-background)}.btn-danger-outline[data-v-ea13d9b8]{color:#dc2626;background:0 0;border:1px solid #ef4444}.btn-danger-outline[data-v-ea13d9b8]:hover{background:#fef2f2}.form-container[data-v-ea13d9b8]{flex-direction:column;gap:1.25rem;display:flex}.form-group[data-v-ea13d9b8]{flex-direction:column;gap:.5rem;display:flex}label[data-v-ea13d9b8]{font-size:.9rem;font-weight:600}input[data-v-ea13d9b8]{border:1px solid var(--color-border);font-family:var(--font-family);border-radius:4px;padding:.75rem}input[data-v-ea13d9b8]:focus{border-color:var(--color-secondary);outline:none}.form-actions[data-v-ea13d9b8]{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.error-msg[data-v-ea13d9b8]{color:#dc2626;margin:0;font-size:.875rem}.pagination[data-v-74b0e711]{justify-content:space-between;align-items:center;margin-top:1rem;display:flex}.pagination button[data-v-74b0e711]{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;padding:.5rem 1rem}.pagination button[data-v-74b0e711]:disabled{opacity:.5;cursor:not-allowed}.header-actions[data-v-919e0d20]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.table-container[data-v-919e0d20]{background:var(--color-surface);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.data-table[data-v-919e0d20]{border-collapse:collapse;width:100%}.data-table th[data-v-919e0d20],.data-table td[data-v-919e0d20]{text-align:left;border-bottom:1px solid var(--color-border);padding:1rem}.data-table th[data-v-919e0d20]{color:var(--color-text-light);background-color:#f8fafc;font-weight:600}.data-table tr[data-v-919e0d20]:hover{background-color:#f1f5f9}.text-center[data-v-919e0d20]{text-align:center}.text-right[data-v-919e0d20]{text-align:right}.actions-cell[data-v-919e0d20]{justify-content:flex-end;gap:.5rem;display:flex}.text-light[data-v-919e0d20]{color:var(--color-text-light);font-size:.875rem}.w-100[data-v-919e0d20]{width:100%}.mt-1[data-v-919e0d20]{margin-top:1rem}.mt-2[data-v-919e0d20]{margin-top:2rem}.text-success[data-v-919e0d20]{color:#16a34a}.text-warning[data-v-919e0d20]{color:#d97706}.btn[data-v-919e0d20]{cursor:pointer;font-weight:600;font-family:var(--font-family);border:none;border-radius:4px;padding:.5rem 1rem}.btn-primary[data-v-919e0d20]{background-color:var(--color-primary);color:#fff}.btn-secondary[data-v-919e0d20]{background-color:var(--color-secondary);color:#fff}.btn-sm[data-v-919e0d20]{padding:.25rem .5rem;font-size:.875rem}.btn-outline[data-v-919e0d20]{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.btn-outline[data-v-919e0d20]:hover{background:var(--color-background)}.btn-danger-outline[data-v-919e0d20]{color:#dc2626;background:0 0;border:1px solid #ef4444}.btn-danger-outline[data-v-919e0d20]:hover{background:#fef2f2}.status-badge[data-v-919e0d20]{border-radius:999px;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.status-badge.planned[data-v-919e0d20]{color:#4338ca;background-color:#e0e7ff}.status-badge.imported[data-v-919e0d20]{color:#854d0e;background-color:#fef08a}.status-badge.published[data-v-919e0d20]{color:#166534;background-color:#dcfce7}.form-container[data-v-919e0d20],.form-row[data-v-919e0d20]{flex-direction:column;gap:1.25rem;display:flex}.flex-1[data-v-919e0d20]{flex:1}.form-group[data-v-919e0d20]{flex-direction:column;gap:.5rem;display:flex}label[data-v-919e0d20]{font-size:.9rem;font-weight:600}input[data-v-919e0d20],select[data-v-919e0d20],textarea[data-v-919e0d20]{border:1px solid var(--color-border);font-family:var(--font-family);border-radius:4px;padding:.75rem}input[data-v-919e0d20]:focus,select[data-v-919e0d20]:focus,textarea[data-v-919e0d20]:focus{border-color:var(--color-secondary);outline:none}.form-textarea[data-v-919e0d20]{resize:vertical}.form-actions[data-v-919e0d20]{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.error-msg[data-v-919e0d20]{color:#dc2626;margin:0;font-size:.875rem}.import-container[data-v-919e0d20]{flex-direction:column;display:flex}.step h4[data-v-919e0d20]{color:var(--color-primary);margin-bottom:.5rem}.file-upload[data-v-919e0d20]{border:2px dashed var(--color-border);text-align:center;background:#f8fafc;border-radius:4px;padding:1.5rem}.file-input[data-v-919e0d20]{width:100%}.import-result[data-v-919e0d20]{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;margin-top:1.5rem;padding:1.5rem}.missing-list[data-v-919e0d20]{border:1px solid var(--color-border);background:#fff;max-height:100px;padding:.5rem 1rem;font-family:monospace;font-size:.85rem;overflow-y:auto}.header-actions[data-v-64b343b8]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header-actions h3[data-v-64b343b8]{margin:0}.header-buttons[data-v-64b343b8]{gap:1rem;display:flex}.table-container[data-v-64b343b8]{background:var(--color-surface);border-radius:8px;margin-bottom:1rem;overflow:hidden;box-shadow:0 2px 4px #0000000d}.data-table[data-v-64b343b8]{border-collapse:collapse;width:100%}.data-table th[data-v-64b343b8],.data-table td[data-v-64b343b8]{text-align:left;border-bottom:1px solid var(--color-border);padding:1rem}.data-table th[data-v-64b343b8]{color:var(--color-text-light);background-color:#f8fafc;font-weight:600}.data-table tr[data-v-64b343b8]:hover{background-color:#f1f5f9}.text-center[data-v-64b343b8]{text-align:center}.text-right[data-v-64b343b8]{text-align:right}.text-light[data-v-64b343b8]{color:var(--color-text-light);margin-top:.2rem;font-size:.9rem}.text-primary[data-v-64b343b8]{color:var(--color-primary);margin-bottom:1rem}.mt-2[data-v-64b343b8]{margin-top:1.5rem}.btn[data-v-64b343b8]{cursor:pointer;font-weight:600;font-family:var(--font-family);border:none;border-radius:4px;padding:.5rem 1rem}.btn-primary[data-v-64b343b8]{background-color:var(--color-primary);color:#fff}.btn-outline[data-v-64b343b8]{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.btn-outline[data-v-64b343b8]:hover{background:var(--color-background)}.btn-sm[data-v-64b343b8]{padding:.25rem .5rem;font-size:.875rem}.score-badge[data-v-64b343b8]{color:#4338ca;background-color:#e0e7ff;border-radius:999px;padding:.25rem .75rem;font-size:.9rem;font-weight:600;display:inline-block}.subject-pills[data-v-64b343b8]{flex-wrap:wrap;gap:.4rem;display:flex}.pill[data-v-64b343b8]{color:var(--color-text);border:1px solid var(--color-border);background-color:#f1f5f9;border-radius:4px;padding:.2rem .5rem;font-family:monospace;font-size:.75rem}.form-container[data-v-64b343b8]{flex-direction:column;gap:1rem;display:flex}.form-group[data-v-64b343b8]{flex-direction:column;gap:.5rem;display:flex}label[data-v-64b343b8]{font-size:.9rem;font-weight:600}input[data-v-64b343b8],select[data-v-64b343b8]{border:1px solid var(--color-border);font-family:var(--font-family);border-radius:4px;padding:.75rem;font-size:1rem}input[data-v-64b343b8]:focus,select[data-v-64b343b8]:focus{border-color:var(--color-secondary);outline:none}.disabled-input[data-v-64b343b8]{color:var(--color-text-light);cursor:not-allowed;background-color:#f1f5f9}.subject-grid[data-v-64b343b8]{border:1px solid var(--color-border);background:#f8fafc;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;padding:1rem;display:grid}.form-actions[data-v-64b343b8]{justify-content:flex-end;gap:1rem;display:flex}.error-msg[data-v-64b343b8]{color:#dc2626;margin:0;font-size:.875rem}.view-container[data-v-5630a6c1]{font-family:var(--font-family);padding:1rem}.view-header[data-v-5630a6c1]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.view-header h2[data-v-5630a6c1]{color:var(--color-primary);margin:0;font-size:1.5rem}.table-container[data-v-5630a6c1]{background:#fff;border-radius:8px;overflow-x:auto;box-shadow:0 4px 6px #0000000d}.data-table[data-v-5630a6c1]{border-collapse:collapse;width:100%}.data-table th[data-v-5630a6c1],.data-table td[data-v-5630a6c1]{text-align:left;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}.data-table th[data-v-5630a6c1]{color:#64748b;text-transform:uppercase;background-color:#f8fafc;font-size:.85rem;font-weight:600}.data-table tbody tr[data-v-5630a6c1]:hover{background-color:#f1f5f9}.badge[data-v-5630a6c1]{color:#4338ca;background-color:#e0e7ff;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;font-weight:600}.text-right[data-v-5630a6c1]{text-align:right!important}.text-center[data-v-5630a6c1]{text-align:center!important}.text-muted[data-v-5630a6c1]{color:#94a3b8}.btn-primary[data-v-5630a6c1]{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.2rem;font-weight:500;transition:opacity .2s}.btn-primary[data-v-5630a6c1]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-5630a6c1]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-5630a6c1]{color:#475569;cursor:pointer;background-color:#e2e8f0;border:none;border-radius:6px;padding:.6rem 1.2rem;font-weight:500}.btn-secondary[data-v-5630a6c1]:hover:not(:disabled){background-color:#cbd5e1}.btn-icon[data-v-5630a6c1]{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:inline-flex}.btn-icon.delete[data-v-5630a6c1]{color:#ef4444}.btn-icon.delete[data-v-5630a6c1]:hover{background-color:#fee2e2}.form-container[data-v-5630a6c1]{flex-direction:column;gap:1.2rem;padding:.5rem 0;display:flex}.form-group[data-v-5630a6c1]{flex-direction:column;gap:.5rem;display:flex}.form-group label[data-v-5630a6c1]{color:#334155;font-size:.95rem;font-weight:500}.form-group select[data-v-5630a6c1]{border:1px solid #cbd5e1;border-radius:6px;padding:.6rem;font-family:inherit;font-size:.95rem}.form-group select[data-v-5630a6c1]:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #0f172a1a}.modal-actions[data-v-5630a6c1]{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.dashboard[data-v-deaddce2]{font-family:var(--font-family)}.section-title[data-v-deaddce2]{color:var(--color-primary);border-bottom:2px solid #e2e8f0;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.2rem}.mb-5[data-v-deaddce2]{margin-bottom:3rem}.card-grid[data-v-deaddce2]{flex-wrap:wrap;gap:1.5rem;display:flex}.subject-card[data-v-deaddce2]{text-align:center;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:250px;max-width:300px;padding:2rem 1.5rem;transition:all .2s;box-shadow:0 4px 6px #00000005}.subject-card[data-v-deaddce2]:hover{border-color:var(--color-primary);transform:translateY(-5px);box-shadow:0 10px 15px #0000000d}.card-icon[data-v-deaddce2]{margin-bottom:1rem;font-size:3rem}.subject-card h3[data-v-deaddce2]{color:var(--color-text);margin:0;font-size:1.1rem}.empty-state[data-v-deaddce2]{color:var(--color-text-light);padding:1rem;font-style:italic}.subject-view[data-v-57a2e480]{font-family:var(--font-family)}.view-header[data-v-57a2e480]{border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.header-content h2[data-v-57a2e480]{color:var(--color-primary);margin:0;font-size:1.5rem}.header-content p[data-v-57a2e480]{color:var(--color-text-light);margin:0;font-size:.9rem}.header-actions[data-v-57a2e480]{gap:1rem;display:flex}.grade-select[data-v-57a2e480]{font-family:var(--font-family);color:var(--color-text);background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.5rem 1rem}.btn-back[data-v-57a2e480]{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:opacity .2s}.btn-back[data-v-57a2e480]:hover{opacity:.9}.chart-section[data-v-57a2e480]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.section-title[data-v-57a2e480]{color:var(--color-text);text-align:center;margin:0 0 1rem;font-size:1.1rem}.canvas-container[data-v-57a2e480]{width:100%;height:400px;position:relative}.exams-section[data-v-57a2e480]{margin-top:2rem}.exam-list[data-v-57a2e480]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.exam-card[data-v-57a2e480]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.exam-info h4[data-v-57a2e480]{color:var(--color-primary);margin:0;font-size:1.1rem}.exam-date[data-v-57a2e480]{color:var(--color-text-light);font-size:.85rem}.kpi[data-v-57a2e480]{flex-direction:column;align-items:center;display:flex}.kpi small[data-v-57a2e480]{color:var(--color-text-light);font-size:.75rem;font-weight:700}.kpi span[data-v-57a2e480]{color:var(--color-text);font-size:1.25rem;font-weight:700}.btn-detail[data-v-57a2e480]{background-color:var(--color-accent);color:var(--color-text-inverse);cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:700}.btn-detail[data-v-57a2e480]:hover{opacity:.9}.exam-detail-view[data-v-92e5f2e1]{font-family:var(--font-family);background-color:#f8fafc;min-height:100%;padding:2rem}.view-header[data-v-92e5f2e1]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.kicker[data-v-92e5f2e1]{color:var(--color-primary);letter-spacing:1px;font-size:.8rem;font-weight:700}.header-content h2[data-v-92e5f2e1]{color:#0f172a;text-transform:uppercase;margin:.25rem 0;font-size:2.5rem}.header-content p[data-v-92e5f2e1]{color:#64748b;margin:0;font-size:.95rem}.btn-back[data-v-92e5f2e1]{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:500}.btn-back[data-v-92e5f2e1]:hover{opacity:.9}.kpi-grid[data-v-92e5f2e1]{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.kpi-card[data-v-92e5f2e1]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex;box-shadow:0 4px 6px #00000005}.kpi-label[data-v-92e5f2e1]{color:#64748b;letter-spacing:.5px;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.kpi-value[data-v-92e5f2e1]{color:#0f172a;font-size:2.5rem;font-weight:700}.leader-card[data-v-92e5f2e1]{border-color:#10b981}.leader-name[data-v-92e5f2e1]{text-align:center;margin-bottom:.5rem;font-size:1.1rem}.kpi-badge[data-v-92e5f2e1]{color:#059669;background:#d1fae5;border-radius:999px;padding:.25rem .75rem;font-size:.7rem;font-weight:700}.dark-card[data-v-92e5f2e1]{background:#0f172a;border:none}.dark-card .kpi-label[data-v-92e5f2e1]{color:#94a3b8}.dark-card .highlight[data-v-92e5f2e1]{color:#38bdf8}.chart-section[data-v-92e5f2e1],.table-section[data-v-92e5f2e1]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.section-title[data-v-92e5f2e1]{color:#0f172a;text-align:center;margin:0 0 1.5rem;font-size:1rem;font-style:italic;font-weight:700}.canvas-container[data-v-92e5f2e1]{width:100%;height:350px;position:relative}.table-wrapper[data-v-92e5f2e1]{overflow-x:auto}.ranking-table[data-v-92e5f2e1]{border-collapse:collapse;text-align:center;width:100%}.ranking-table th[data-v-92e5f2e1]{color:#64748b;border-bottom:2px solid #e2e8f0;padding:1rem;font-size:.8rem}.ranking-table td[data-v-92e5f2e1]{border-bottom:1px solid #f1f5f9;padding:1rem;font-weight:500}.pos-cell[data-v-92e5f2e1]{color:#94a3b8}.name-cell[data-v-92e5f2e1]{text-align:left;color:#0f172a;font-weight:700}.global-cell[data-v-92e5f2e1]{color:#64748b}.area-badge[data-v-92e5f2e1]{border-radius:4px;padding:.25rem .75rem;font-weight:700}.badge-green[data-v-92e5f2e1]{color:#059669;background:#d1fae5}.badge-blue[data-v-92e5f2e1]{color:#2563eb;background:#dbeafe}.badge-red[data-v-92e5f2e1]{color:#dc2626;background:#fee2e2}.text-green[data-v-92e5f2e1]{color:#059669;font-style:italic}.text-blue[data-v-92e5f2e1]{color:#2563eb;font-style:italic}.text-red[data-v-92e5f2e1]{color:#dc2626;font-style:italic}.historical-view[data-v-b6f2d0f0]{font-family:var(--font-family)}.view-header[data-v-b6f2d0f0]{border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.header-content h2[data-v-b6f2d0f0]{color:var(--color-primary);margin:0;font-size:1.5rem}.header-content p[data-v-b6f2d0f0]{color:var(--color-text-light);margin:0;font-size:.9rem}.header-actions[data-v-b6f2d0f0]{gap:1rem;display:flex}.grade-select[data-v-b6f2d0f0]{font-family:var(--font-family);color:var(--color-text);background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.5rem 1rem}.btn-back[data-v-b6f2d0f0]{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:opacity .2s}.btn-back[data-v-b6f2d0f0]:hover{opacity:.9}.chart-section[data-v-b6f2d0f0]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 4px 6px #0000000d}.canvas-container[data-v-b6f2d0f0]{width:100%;height:500px;position:relative}.loading[data-v-b6f2d0f0],.no-data[data-v-b6f2d0f0]{text-align:center;color:var(--color-text-light);background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:3rem;font-size:1.1rem}.dashboard-container[data-v-6862910a]{flex-direction:column;gap:2rem;display:flex}.welcome-card[data-v-6862910a]{background:var(--color-surface);text-align:center;border-radius:12px;padding:3rem;box-shadow:0 4px 6px #0000000d}.welcome-card h2[data-v-6862910a]{color:var(--color-primary);margin-bottom:1rem;font-size:2rem}.subtitle[data-v-6862910a]{color:var(--color-text-light);max-width:600px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.6}.action-cards[data-v-6862910a]{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.card[data-v-6862910a]{border:1px solid var(--color-border);cursor:pointer;text-align:center;background:#f8fafc;border-radius:12px;flex-direction:column;align-items:center;width:250px;padding:2rem;transition:transform .2s,box-shadow .2s;display:flex}.card[data-v-6862910a]:hover{border-color:var(--color-primary);transform:translateY(-5px);box-shadow:0 10px 15px -3px #0000001a}.card-icon[data-v-6862910a]{margin-bottom:1rem;font-size:3rem}.card h3[data-v-6862910a]{color:var(--color-text);margin-bottom:.5rem}.card p[data-v-6862910a]{color:var(--color-text-light);margin:0;font-size:.9rem}.loading[data-v-d65f60ab],.no-data[data-v-d65f60ab]{text-align:center;color:var(--color-text-light);padding:3rem;font-size:1.2rem}.report-container[data-v-d65f60ab]{max-width:1100px;font-family:var(--font-family);background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:1.5rem;margin:0 auto;padding:2rem;display:flex}.report-header[data-v-d65f60ab]{border-bottom:2px solid var(--color-primary);justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.header-left h2[data-v-d65f60ab]{color:var(--color-text);margin:0;font-size:1.25rem}.kpi-group[data-v-d65f60ab]{gap:1rem;display:flex}.kpi-box[data-v-d65f60ab]{border:1px solid var(--color-primary);border-radius:8px;flex-direction:column;align-items:center;min-width:120px;padding:.5rem 1rem;display:flex}.kpi-box .label[data-v-d65f60ab]{color:var(--color-text-light);font-size:.75rem;font-weight:700}.kpi-box .value[data-v-d65f60ab]{font-size:1.5rem;font-weight:700}.text-primary[data-v-d65f60ab]{color:var(--color-primary)}.section[data-v-d65f60ab]{flex-direction:column;gap:.5rem;display:flex}.section-title[data-v-d65f60ab]{color:var(--color-primary);text-align:center;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:.5rem;font-size:.9rem;font-weight:700}.table-wrapper[data-v-d65f60ab]{border:1px solid #bfdbfe;border-radius:8px;overflow-x:auto}.report-table[data-v-d65f60ab]{border-collapse:collapse;text-align:center;width:100%;font-size:.85rem}.report-table th[data-v-d65f60ab]{background-color:var(--color-primary);color:#fff;border-right:1px solid #fff3;padding:.75rem .5rem;font-weight:600}.report-table td[data-v-d65f60ab]{border:1px solid #e2e8f0;padding:.75rem .5rem}.col-area[data-v-d65f60ab]{text-align:left;width:25%}.area-name[data-v-d65f60ab]{text-align:left;color:var(--color-primary);font-weight:600}.score-high[data-v-d65f60ab]{color:#fff;background-color:#1e3a8a;font-weight:700}.score-normal[data-v-d65f60ab]{background-color:#eff6ff}.stat-cell[data-v-d65f60ab]{background-color:#f8fafc}.stat-cell.highlight[data-v-d65f60ab]{color:var(--color-text);font-weight:700}.global-row td[data-v-d65f60ab]{background-color:#f1f5f9;font-weight:700}.strengths-list[data-v-d65f60ab]{flex-wrap:wrap;justify-content:center;gap:1rem;padding:.5rem;display:flex}.strength-item[data-v-d65f60ab]{align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:flex}.badge[data-v-d65f60ab]{border:1px solid var(--color-primary);color:var(--color-primary);background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.score-badge[data-v-d65f60ab]{background-color:var(--color-primary);color:#fff;border-radius:999px;padding:.1rem .5rem;font-weight:700}.charts-grid[data-v-d65f60ab]{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.chart-card[data-v-d65f60ab]{background:#fff;border:1px solid #bfdbfe;border-radius:8px;padding:1rem}.chart-card h4[data-v-d65f60ab]{color:var(--color-primary);margin:0 0 1rem;font-size:.95rem}.canvas-container[data-v-d65f60ab]{width:100%;height:200px;position:relative}.modal-overlay[data-v-025af128]{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:999999;background-color:#0f172ab3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card[data-v-025af128]{border-radius:var(--radius-lg,16px);background:#fff;border-top:6px solid #ef4444;flex-direction:column;width:100%;max-width:650px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) modal-enter-025af128;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000059}@keyframes modal-enter-025af128{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header[data-v-025af128]{justify-content:space-between;align-items:center;padding:1.25rem 1.5rem .75rem;display:flex}.urgent-tag[data-v-025af128]{color:#b91c1c;letter-spacing:.5px;background-color:#fee2e2;border:1px solid #fecaca;border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.78rem;font-weight:800;display:inline-flex}.tag-icon[data-v-025af128]{color:#dc2626}.btn-close[data-v-025af128]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.35rem;transition:all .2s;display:flex}.btn-close[data-v-025af128]:hover{color:#1e293b;background:#f1f5f9}.modal-body[data-v-025af128]{flex-direction:column;gap:1rem;padding:.75rem 1.5rem 1.25rem;display:flex;overflow-y:auto}.announcement-title[data-v-025af128]{color:#0f172a;margin:0;font-size:1.45rem;font-weight:800;line-height:1.3}.meta-row[data-v-025af128]{color:#64748b;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:1.25rem;padding-bottom:.5rem;font-size:.85rem;display:flex}.meta-item[data-v-025af128]{align-items:center;gap:.35rem;display:flex}.image-wrapper[data-v-025af128]{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;width:100%;max-height:380px;display:flex;overflow:hidden}.embedded-image[data-v-025af128]{object-fit:contain;width:100%;height:auto;max-height:380px;display:block}.announcement-text[data-v-025af128]{color:#334155;white-space:pre-wrap;word-break:break-word;font-size:1.02rem;line-height:1.65}.announcement-text p[data-v-025af128]{margin:0}.file-attachment-box[data-v-025af128]{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.file-icon[data-v-025af128]{color:var(--color-primary,#1e3a8a);flex-shrink:0}.file-details[data-v-025af128]{flex-direction:column;flex:1;gap:.25rem;display:flex}.file-name[data-v-025af128]{color:#1e293b;font-size:.9rem;font-weight:600}.btn-download-file[data-v-025af128]{color:#0284c7;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-download-file[data-v-025af128]:hover{text-decoration:underline}.modal-footer[data-v-025af128]{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.counter-badge[data-v-025af128]{color:#64748b;margin-right:auto;font-size:.85rem;font-weight:500}.btn-understood[data-v-025af128]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669 0%,#10b981 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #10b98140}.btn-understood[data-v-025af128]:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 16px #10b98159}.btn-understood[data-v-025af128]:active{transform:translateY(0)}.fade-modal-enter-active[data-v-025af128],.fade-modal-leave-active[data-v-025af128]{transition:opacity .25s}.fade-modal-enter-from[data-v-025af128],.fade-modal-leave-to[data-v-025af128]{opacity:0}:root{--color-primary:#132b66;--color-primary-light:#27519e;--color-primary-dark:#0b1a40;--color-secondary:#2585cc;--color-secondary-dark:#1a649c;--color-accent:#ffe699;--color-accent-strong:#fc0;--color-accent-dark:#e6a800;--color-chart-light:#b1c8e5;--color-tertiary-dark:#4b5563;--color-tertiary:#6b7280;--color-tertiary-light:#9ca3af;--color-background:#f5f7fa;--color-surface:#fff;--color-text:#1f2937;--color-text-light:#6b7280;--color-text-inverse:#fff;--color-border:#e5e7eb;--color-error:#dc3545;--color-bg-light:var(--color-background);--color-bg-alt:#ebf1f7;--color-text-main:var(--color-text);--color-text-muted:var(--color-text-light);--color-white:var(--color-surface);--color-card-blue:var(--color-primary-light);--color-card-dark-blue:var(--color-primary);--color-card-grey:var(--color-tertiary-dark);--color-accent-grey:var(--color-tertiary);--font-family-main:"Nunito", sans-serif;--font-family-titles:"Nunito", "Arial Rounded MT Bold", sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:9999px;--shadow-sm:0 4px 6px #0000000d;--shadow-md:0 8px 15px #00000014;--shadow-lg:0 15px 30px #0000001f;--shadow-card:0 10px 25px #0000000d;--transition:all .3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}h1,h2,h3,h4,h5,h6,.title-font{font-family:var(--font-family-titles);color:var(--color-primary);font-weight:700}html,body{max-width:100%;overflow-x:hidden}body{min-height:100vh;color:var(--color-text-main);background-color:var(--color-bg-light);font-family:var(--font-family-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}a{color:inherit;transition:var(--transition);text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.btn-primary{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;padding:.75rem 1.5rem;font-weight:600}.btn-primary:hover{background-color:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.input-field{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;transition:var(--transition);background-color:var(--color-background);padding:.75rem 1rem;font-size:1rem}.input-field:focus{border-color:var(--color-secondary);outline:none;box-shadow:0 0 0 3px #2585cc33}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}
