.sidebar[data-v-24e13f88]{width:248px;background:#0f172a;display:flex;flex-direction:column;transition:width .25s ease;position:relative;z-index:200;flex-shrink:0}.sidebar.collapsed[data-v-24e13f88]{width:68px}.sidebar-header[data-v-24e13f88]{height:64px;padding:0 1rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.logo[data-v-24e13f88]{display:flex;align-items:center;gap:.625rem;min-width:0}.logo-mark[data-v-24e13f88]{width:28px;height:28px;flex-shrink:0}.logo-mark svg[data-v-24e13f88]{width:28px;height:28px}.logo-text[data-v-24e13f88]{font-weight:700;font-size:1rem;color:#f8fafc;white-space:nowrap;letter-spacing:-.02em}.close-btn[data-v-24e13f88]{display:none;background:none;border:none;cursor:pointer;color:#64748b;padding:6px;border-radius:6px;transition:all .15s ease;flex-shrink:0}.close-btn[data-v-24e13f88]:hover{background:#ffffff14;color:#f1f5f9}.sidebar-nav[data-v-24e13f88]{flex:1;padding:.75rem .625rem;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-item[data-v-24e13f88]{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;color:#94a3b8;text-decoration:none;border-radius:8px;transition:all .15s ease;position:relative;white-space:nowrap}.nav-item[data-v-24e13f88]:hover{background:#ffffff12;color:#e2e8f0}.nav-item.active[data-v-24e13f88]{background:#2563eb33;color:#60a5fa}.nav-icon[data-v-24e13f88]{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px}.nav-label[data-v-24e13f88]{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis}.active-dot[data-v-24e13f88]{width:6px;height:6px;background:#2563eb;border-radius:50%;margin-left:auto;flex-shrink:0}.sidebar.collapsed .nav-item[data-v-24e13f88]{justify-content:center;padding:.6rem}.sidebar.collapsed .nav-icon[data-v-24e13f88]{width:auto}.sidebar-footer[data-v-24e13f88]{padding:.875rem;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.footer-inner[data-v-24e13f88]{display:flex;align-items:center;gap:.625rem;background:#ffffff0a;border-radius:8px;padding:.625rem .75rem}.pool-icon-wrap[data-v-24e13f88]{width:30px;height:30px;background:#2563eb33;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#60a5fa;flex-shrink:0}.footer-text[data-v-24e13f88]{min-width:0}.pool-name[data-v-24e13f88]{font-size:.8rem;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.1rem}.version[data-v-24e13f88]{font-size:.7rem;color:#475569}.sidebar-nav[data-v-24e13f88]::-webkit-scrollbar{width:4px}.sidebar-nav[data-v-24e13f88]::-webkit-scrollbar-track{background:transparent}.sidebar-nav[data-v-24e13f88]::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}@media (max-width: 768px){.sidebar[data-v-24e13f88]{position:fixed;left:0;top:0;height:100dvh;width:272px!important;z-index:300;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:6px 0 32px #00000059;border-right:none}.sidebar.collapsed[data-v-24e13f88]{width:272px!important;transform:translate(0)}.sidebar.collapsed .logo-text[data-v-24e13f88],.sidebar.collapsed .nav-label[data-v-24e13f88],.sidebar.collapsed .sidebar-footer[data-v-24e13f88]{display:block!important;opacity:1!important}.sidebar.collapsed .nav-item[data-v-24e13f88]{justify-content:flex-start;padding:.75rem 1rem;border-radius:10px;margin:0 .5rem}.sidebar.collapsed .nav-item.active[data-v-24e13f88]{padding-left:1rem}.sidebar.collapsed .active-dot[data-v-24e13f88]{display:none}.nav-item[data-v-24e13f88]{min-height:48px;touch-action:manipulation}.close-btn[data-v-24e13f88]{width:36px;height:36px;display:flex;align-items:center;justify-content:center}}.confirm-overlay[data-v-a2b7896d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}.confirm-card[data-v-a2b7896d]{background:var(--lighter);border-radius:16px;padding:2rem 1.75rem 1.5rem;max-width:400px;width:100%;box-shadow:0 20px 60px #00000040;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.confirm-icon[data-v-a2b7896d]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:.25rem}.icon-danger[data-v-a2b7896d]{background:#fee2e2}.icon-warning[data-v-a2b7896d]{background:#fef3c7}.icon-primary[data-v-a2b7896d]{background:#dbeafe}.confirm-titulo[data-v-a2b7896d]{font-size:1.15rem;font-weight:700;color:var(--text);margin:0;font-family:Playfair Display,serif}.confirm-mensaje[data-v-a2b7896d]{font-size:.9rem;color:var(--text-light);margin:0;line-height:1.5;max-width:300px}.confirm-btns[data-v-a2b7896d]{display:flex;gap:.75rem;margin-top:.5rem;width:100%}.btn-cancelar[data-v-a2b7896d]{background:var(--bg);color:var(--text-muted);border:1.5px solid var(--border)}.btn-cancelar[data-v-a2b7896d]:hover{background:var(--border);color:var(--text)}.btn-ok[data-v-a2b7896d]{background:var(--primary);color:#fff}.btn-ok[data-v-a2b7896d]:hover{background:var(--primary-dark)}.btn-ok.danger[data-v-a2b7896d]{background:var(--danger)}.btn-ok.danger[data-v-a2b7896d]:hover{background:#b91c1c}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #eff6ff;--secondary: #38bdf8;--accent: #8b5cf6;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--bg: #f1f5f9;--light: #f1f5f9;--lighter: #ffffff;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-2: #475569;--text-light: #94a3b8;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.04);--shadow-lg: 0 10px 30px rgba(0,0,0,.1), 0 4px 10px rgba(0,0,0,.05);--radius: 12px;--transition: all .2s ease}[data-theme=dark]{--bg: #0f172a;--light: #1e293b;--lighter: #1e293b;--surface: #1e293b;--border: #334155;--text: #f1f5f9;--text-2: #94a3b8;--text-light: #64748b}html,body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{display:flex;height:100vh;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.app-header{display:flex;justify-content:space-between;align-items:center;padding:0 2rem;height:64px;background:var(--lighter);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;flex-shrink:0}.header-left{display:flex;align-items:center;gap:1rem;min-width:0;flex:1}.menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px;border-radius:8px;transition:var(--transition);flex-shrink:0}.menu-toggle:hover{background:var(--bg)}.menu-toggle span{width:20px;height:2px;background:var(--text-2);border-radius:2px;transition:var(--transition)}.header-title{font-size:1.05rem;font-weight:600;color:var(--text);letter-spacing:-.01em}.header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.theme-toggle{width:36px;height:36px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:1rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.theme-toggle:hover{border-color:var(--primary);background:var(--primary-light)}.user-menu{position:relative}.user-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;cursor:pointer;transition:var(--transition);letter-spacing:.02em}.user-avatar:hover{transform:scale(1.05);box-shadow:0 4px 12px #2563eb4d}.user-dropdown{display:none;position:absolute;top:calc(100% + 10px);right:0;background:var(--lighter);border:1px solid var(--border);border-radius:12px;padding:.75rem;min-width:200px;box-shadow:var(--shadow-lg)}.user-menu:hover .user-dropdown{display:block}.user-dropdown p{font-weight:600;font-size:.9rem;color:var(--text);padding:.25rem .5rem .75rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.logout-btn{width:100%;padding:.5rem .75rem;background:transparent;color:var(--danger);border:1px solid rgba(239,68,68,.25);border-radius:8px;cursor:pointer;transition:var(--transition);font-weight:600;font-size:.85rem;font-family:inherit;text-align:left}.logout-btn:hover{background:#ef444412;border-color:var(--danger)}.page-container{flex:1;overflow-y:auto;padding:2rem}.toast{position:fixed;bottom:1.75rem;right:1.75rem;padding:.875rem 1.25rem;background:var(--text);color:#fff;border-radius:12px;box-shadow:var(--shadow-lg);z-index:9999;animation:slideInToast .3s cubic-bezier(.34,1.56,.64,1);font-size:.9rem;font-weight:500;max-width:340px;display:flex;align-items:center;gap:.625rem}.toast:before{content:"✓";width:20px;height:20px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;flex-shrink:0;line-height:20px;text-align:center}.toast.error{background:var(--text)}.toast.error:before{content:"✕";background:var(--danger)}.toast.warning{background:var(--text)}.toast.warning:before{content:"!";background:var(--warning)}.fade-in-enter-active,.fade-in-leave-active{transition:opacity .2s ease,transform .2s ease}.fade-in-enter-from,.fade-in-leave-to{opacity:0;transform:translateY(6px)}@keyframes slideInToast{0%{transform:translate(100px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.app-header{padding:0 1rem}.header-title{font-size:1rem}.user-name{display:none}.notification-toast{bottom:1rem;right:1rem;left:1rem;max-width:none}}:root{--primary: #0066cc;--primary-dark: #0052a3;--secondary: #00d9ff;--accent: #ff6b35;--success: #2ecc71;--warning: #f39c12;--danger: #e74c3c;--dark: #1a1a2e;--darker: #0f0f1e;--light: #f5f5f5;--lighter: #ffffff;--border: #e0e0e0;--text: #333;--text-light: #666;--radius: 12px;--transition: all .3s cubic-bezier(.25, .46, .45, .94)}[data-theme=dark]{--light: #1e1e2e;--lighter: #2a2a3e;--border: #3a3a4e;--text: #e0e0e0;--text-light: #a0a0a0}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--light);color:var(--text);line-height:1.6;overflow-x:hidden}*,*:before,*:after{min-width:0}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem}a{color:var(--primary);text-decoration:none;transition:var(--transition)}a:hover{text-decoration:underline}.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0066cc4d}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-secondary{background:var(--light);color:var(--primary);border:2px solid var(--primary)}.btn-secondary:hover{background:var(--primary);color:#fff}.btn-danger{background:#e74c3c33;color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],textarea,select{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.95rem;transition:var(--transition);background:var(--light);color:var(--text)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0066cc1a;background:var(--lighter)}textarea{resize:vertical;min-height:100px}table{width:100%;border-collapse:collapse;margin-top:1rem}thead{background:var(--light);border-bottom:2px solid var(--border)}th{padding:1rem;text-align:left;font-weight:600;color:var(--text)}td{padding:.75rem 1rem;border-bottom:1px solid var(--border)}tbody tr:hover{background:var(--light)}.card{background:var(--lighter);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.card:hover{box-shadow:0 8px 24px #0000001a}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.alert{padding:1rem;border-radius:8px;border-left:4px solid;margin-bottom:1rem}.alert-success{background:#2ecc711a;border-left-color:var(--success);color:#27ae60}.alert-error{background:#e74c3c1a;border-left-color:var(--danger);color:#c0392b}.alert-warning{background:#f39c121a;border-left-color:var(--warning);color:#d68910}.alert-info{background:#3498db1a;border-left-color:#3498db;color:#2980b9}.badge{display:inline-block;padding:.3rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.badge-primary{background:#06c3;color:var(--primary)}.badge-success{background:#2ecc7133;color:#27ae60}.badge-danger{background:#e74c3c33;color:#c0392b}.badge-warning{background:#f39c1233;color:#d68910}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease-out}.slide-in{animation:slideIn .3s ease-out}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.hidden{display:none!important}.visible{display:block!important}.spinner{width:40px;height:40px;border:4px solid var(--light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--light)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}@media (max-width: 1024px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.1rem}}@media (max-width: 768px){h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1rem}.btn-primary,.btn-secondary,.btn-danger{width:100%;padding:1rem}input,textarea,select{font-size:16px}}@media (max-width: 480px){h1{font-size:1.25rem}h2{font-size:1rem}.card{padding:1rem}table{font-size:.9rem}th,td{padding:.5rem}}@media (min-width: 768px){.sidebar{position:static!important;transform:none!important}.menu-toggle{display:none!important}.app-container{flex-direction:row}.page-container{padding:2rem}}@media (max-width: 767px){:root{font-size:16px}.app-container{flex-direction:column;height:auto;overflow:visible}.sidebar{position:fixed!important;left:0;top:60px;height:calc(100vh - 60px);width:280px;transform:translate(-100%);z-index:500;transition:transform .3s ease}.sidebar.collapsed{transform:translate(0);width:280px}.main-content{width:100%}.app-header{padding:1rem;height:60px}.header-left{gap:1rem}.header-title{font-size:1.2rem}.header-right{gap:1rem}.menu-toggle{display:flex!important}.page-container{padding:1rem;overflow-y:auto}.metrics-grid{grid-template-columns:1fr;gap:1rem}.metric-card{padding:1rem}.metric-icon{font-size:2rem}.metric-value{font-size:1.5rem}.actions-grid{grid-template-columns:repeat(2,1fr)}.action-btn{padding:1rem}.action-btn span{font-size:1.5rem}.action-btn p{font-size:.75rem}.page-header{flex-direction:column;gap:1rem;align-items:stretch}.page-header h1{font-size:1.5rem;margin:0}.page-header button{width:100%}.form-row{grid-template-columns:1fr}.filters-section{flex-direction:column;gap:.75rem}.search-input,.filter-select{width:100%}.student-card{padding:1rem}.student-header{flex-direction:column;align-items:flex-start;gap:1rem}.student-details{gap:.75rem;font-size:.85rem}.student-actions{width:100%;flex-direction:column}.btn-secondary,.btn-danger{width:100%;padding:.75rem}.student-form{gap:.75rem}.form-section{padding:1.5rem 1rem}.form-group input,.form-group select{font-size:16px}table{font-size:.85rem}th,td{padding:.5rem}.card,.section{padding:1rem}.section-title{font-size:1.1rem;margin-bottom:1rem}.nav-item{padding:.75rem 1rem}.modal{width:95%!important;height:auto!important;max-height:90vh!important}.btn-primary,.btn-secondary,.btn-danger{width:100%;padding:.875rem;border-radius:8px;font-size:1rem}.dialog{width:90%;max-width:100%}.user-dropdown{position:fixed;bottom:0;right:0;left:0;width:100%;border-radius:12px 12px 0 0;max-height:50vh}.toast{bottom:1rem;right:1rem;left:1rem;max-width:calc(100% - 2rem)}}@media (max-width: 479px){:root{font-size:14px}h1{font-size:1.25rem}h2{font-size:1.1rem}h3{font-size:1rem}.app-header{padding:.75rem;height:50px}.header-title{font-size:1rem}.page-header h1{font-size:1.25rem}.metrics-grid{gap:.75rem}.metric-card{padding:.75rem;gap:.75rem}.metric-value{font-size:1.25rem}.section{padding:.75rem}.section-title{font-size:1rem}.form-section{padding:1rem .75rem}.student-card{padding:.75rem}.competition-date{width:60px}.month{font-size:.65rem}.day{font-size:1.5rem}.actions-grid{grid-template-columns:1fr}.action-btn{padding:.75rem}.form-row,.filters-section,.student-details{gap:.5rem}.student-actions{gap:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.user-dropdown{left:auto;right:-100px;width:200px;bottom:auto;top:50px}.sidebar-header,.sidebar-footer{padding:1rem .75rem}input,textarea,select,.form-input{font-size:16px!important}.features-list{grid-template-columns:1fr}.competitions-list{gap:.75rem}@media (hover: none){button:hover,a:hover{opacity:.8;transform:none}}}@media (max-height: 500px){.page-container{padding:1rem}.dashboard-header{margin-bottom:1rem}.section{padding:1rem;margin-bottom:1rem}.metrics-grid{gap:.75rem;margin-bottom:1rem}.metric-card{padding:.75rem}}@media print{.sidebar,.app-header,.btn-primary,.btn-secondary,.btn-danger,button{display:none}.page-container{padding:0}.card,.section{break-inside:avoid}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme: dark){[data-theme=dark]{--lighter: #2a2a3e}}@media (orientation: landscape) and (max-height: 600px){.app-header{padding:.5rem 1rem}.page-container{padding:1rem}.dashboard-header,.section{margin-bottom:.5rem}}
