:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#1d8a72;--accent-bg:#1d8a721f;--accent-border:#1d8a7280;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#5fcf9f;--accent-bg:#5fcf9f29;--accent-border:#5fcf9f80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.login-page{box-sizing:border-box;background-image:linear-gradient(135deg,#0f3d3d,#1d5c5c);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100%;min-height:100svh;padding:1.5rem;display:flex;overflow-x:hidden}.login-hero{cursor:default;filter:drop-shadow(0 0 #5fcf9f00);border-radius:12px;width:100%;max-width:480px;height:auto;transition:transform .35s,filter .35s}.login-hero:hover{animation:1.8s ease-in-out infinite logo-neon-pulse;transform:scale(1.015)}@keyframes logo-neon-pulse{0%,to{filter:drop-shadow(0 0 6px #5fcf9f8c)drop-shadow(0 0 16px #1d8a7266)}50%{filter:drop-shadow(0 0 16px #5fcf9fe6)drop-shadow(0 0 34px #1d8a72a6)}}@media (prefers-reduced-motion:reduce){.login-hero{transition:filter .2s}.login-hero:hover{filter:drop-shadow(0 0 10px #5fcf9fb3);animation:none;transform:none}}.panel{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);border-radius:12px;width:100%;max-width:360px;margin:2rem auto;padding:2rem;font-family:system-ui,sans-serif;box-shadow:0 20px 60px #00000073}.panel h1{margin:0 0 1.5rem;font-size:1.4rem;line-height:1.4}.panel form{flex-direction:column;gap:1rem;display:flex}.panel label{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.panel input{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:.5rem;font-size:1rem}.password-field{display:flex;position:relative}.password-field input{flex:1;padding-right:2.2rem}.toggle-password{cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1rem;line-height:1;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.panel button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.6rem;font-size:1rem}.panel button:disabled{opacity:.6;cursor:default}.error{color:#dc2626;margin:0;font-size:.9rem}.login-links{flex-direction:column;align-items:center;gap:.4rem;margin-top:.25rem;display:flex}.checkbox-label{color:var(--text);cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.link-button.link-button-danger{color:#dc2626}.panel button.link-button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.link-button:hover{opacity:.8}.olvido-password{flex-direction:column;gap:.75rem;font-family:system-ui,sans-serif;display:flex}.olvido-password h2{margin:0;font-size:1.15rem}.olvido-password p{color:var(--text-muted,#555);margin:0;font-size:.9rem;line-height:1.5}.dashboard{max-width:640px;margin:2rem auto;padding:0 1.5rem;font-family:system-ui,sans-serif}.dashboard header{border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.dashboard header button{cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:4px;padding:.4rem .8rem}.admin-content section{margin-bottom:2rem}.admin-content h2{margin-bottom:.75rem;font-size:1.1rem}.admin-content ul{flex-direction:column;gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.admin-content li{border:1px solid var(--border);background:var(--code-bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.3rem;padding:.5rem .75rem;font-size:.9rem;animation:.25s both item-enter;display:flex}.admin-content li.empty{color:var(--text);background:0 0;border-style:dashed}.admin-content li:nth-child(n+1){animation-delay:0s}.admin-content li:nth-child(n+2){animation-delay:20ms}.admin-content li:nth-child(n+3){animation-delay:40ms}.admin-content li:nth-child(n+4){animation-delay:60ms}.admin-content li:nth-child(n+5){animation-delay:80ms}.admin-content li:nth-child(n+6){animation-delay:.1s}@keyframes item-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.admin-content li{flex-direction:column;align-items:flex-start;gap:.25rem}}.unidad-buscador{min-width:220px;position:relative}.unidad-buscador input{width:100%}.unidad-buscador-lista{z-index:20;background:var(--bg);border:1px solid var(--border);max-height:240px;box-shadow:var(--shadow);border-radius:6px;margin:0;padding:.25rem;animation:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto}.unidad-buscador-lista li{cursor:pointer;border:none;border-radius:4px;padding:.4rem .6rem;animation:none;display:block}.unidad-buscador-lista li:hover{background:var(--accent-bg)}.unidad-buscador-vacio{color:var(--text);opacity:.7;cursor:default!important}.unidad-buscador-vacio:hover{background:0 0!important}.dashboard li.empty{color:#888;border-style:dashed}.inline-form{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}section>form.inline-form{border:1px solid var(--border);background:var(--code-bg);border-radius:8px;margin-bottom:.75rem;padding:.85rem 1rem}.inline-form input{border:1px solid #ccc;border-radius:4px;flex:140px;padding:.45rem;font-size:.9rem}.inline-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.45rem .9rem}.hint{width:100%;color:var(--accent);margin:0;font-size:.85rem}.badge{text-transform:uppercase;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;display:inline-block}.cuota-pendiente .badge{color:#92400e;background:#fef3c7}.cuota-pagada .badge{color:#166534;background:#dcfce7}.cuota-vencida .badge{color:#991b1b;background:#fee2e2}.movimiento-ingreso .badge{color:#166534;background:#dcfce7}.movimiento-gasto .badge{color:#991b1b;background:#fee2e2}.aviso-modo-prueba{color:#dc2626;background:#dc262614;border:1px solid #dc2626;border-radius:10px;margin:1rem 0;padding:1rem 1.25rem;font-weight:600}.plan-actual{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;flex-direction:column;align-items:flex-start;gap:.5rem;margin:1rem 0 1.5rem;padding:1.25rem;display:flex}.plan-actual .badge{background:var(--accent);color:#fff;text-transform:none;font-size:.8rem}.plan-precio{margin:0;font-size:1.8rem;font-weight:700}.plan-precio .hint{width:auto;font-size:1rem;font-weight:400}.lista-planes{flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.plan-item{border:1px solid var(--border);border-radius:8px;align-items:center;gap:.4rem;padding:.65rem .9rem;display:flex}.plan-item-actual{border-color:var(--accent);background:var(--accent-bg)}.plan-item-precio{margin-left:auto;font-weight:600}.lista-incluido{flex-direction:column;gap:.3rem;margin:.5rem 0 1rem;padding-left:1.25rem;display:flex}.plan-actual-urgente{background:#d9770614;border-color:#d97706}.plan-actual-bloqueado{background:#dc26260f;border-color:#dc2626}.plan-actual .badge-prueba{background:var(--accent);color:#fff}.plan-actual-urgente .badge-prueba{background:#d97706}.plan-actual .badge-bloqueado{color:#fff;background:#dc2626}.plan-prueba-texto{margin:0;font-size:.95rem}.banner-prueba{background:var(--accent-bg);color:var(--accent);border-bottom:1px solid var(--border);padding:.6rem 1.5rem;font-size:.85rem}.banner-prueba a{color:inherit;font-weight:600}.banner-prueba-urgente{color:#d97706;background:#d977061f}.login-promo{color:#5fcf9f;text-align:center;background:#5fcf9f26;border-radius:999px;margin:0;padding:.4rem 1rem;font-size:.85rem;font-weight:600}.bloqueado-screen{justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex}.bloqueado-screen-admin{flex-direction:column;justify-content:flex-start;gap:1rem;max-width:640px;margin:0 auto}.bloqueado-header{text-align:center;padding-top:2rem}.bloqueado-header h1{margin:0 0 .5rem;font-size:1.5rem}.bloqueado-plan-wrapper{width:100%}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:.5rem;padding:0;font-size:.85rem;text-decoration:underline}.inline-form button:disabled{opacity:.6;cursor:default}.admin-shell{text-align:left;width:100%;min-height:100vh;display:flex}.sidebar{background:var(--code-bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;transition:width .2s;display:flex;position:relative}.sidebar-collapsed{width:68px}.sidebar-collapse-btn{background:var(--bg);border:1px solid var(--border);width:22px;height:22px;color:var(--text);cursor:pointer;z-index:2;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:22px;right:-11px}.sidebar-header{border-bottom:1px solid var(--border);background-image:linear-gradient(135deg,#0f3d3d,#1d5c5c);position:relative}.sidebar-header-overlay{color:#fff;text-shadow:0 1px 3px #0009;justify-content:space-between;align-items:center;padding:1rem;display:flex}.sidebar-brand{align-items:center;gap:.5rem;min-width:0;display:flex}.sidebar-brand-icon{flex-shrink:0;width:28px;height:28px;transition:transform .3s,filter .3s}.sidebar-brand-icon-collapsed{width:22px;height:22px;transition:transform .3s,filter .3s}.sidebar-brand-icon:hover,.sidebar-brand-icon-collapsed:hover{animation:1.8s ease-in-out infinite logo-neon-pulse;transform:scale(1.12)}@media (prefers-reduced-motion:reduce){.sidebar-brand-icon,.sidebar-brand-icon-collapsed{transition:filter .2s}.sidebar-brand-icon:hover,.sidebar-brand-icon-collapsed:hover{filter:drop-shadow(0 0 8px #5fcf9fb3);animation:none;transform:none}}.sidebar-brand-text{white-space:nowrap;flex-direction:column;gap:.15rem;min-width:0;line-height:1.1;display:flex;overflow:hidden}.sidebar-brand-text strong{text-overflow:ellipsis;overflow:hidden}.sidebar-brand-tagline{opacity:.85;text-overflow:ellipsis;font-size:.7rem;font-weight:400;overflow:hidden}.sidebar-close-btn{color:var(--text);cursor:pointer;background:0 0;border:none;display:none}.sidebar-nav{flex-direction:column;flex:1;gap:.15rem;padding:.5rem;display:flex;overflow-y:auto}.sidebar-item{color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-left:3px solid #0000;border-radius:6px;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;font-size:.9rem;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s,transform .1s,box-shadow .25s;display:flex;box-shadow:0 0 #5fcf9f00}.sidebar-item svg{flex-shrink:0;transition:transform .2s}.sidebar-item:hover{background:var(--accent-bg);color:var(--text-h);transform:translate(2px);box-shadow:0 0 10px #5fcf9f33}.sidebar-item:hover svg{transform:scale(1.1)}.sidebar-item-active{background:var(--accent-bg);color:var(--accent);border-left-color:var(--accent);font-weight:600;animation:.45s sidebar-item-enter}.sidebar-item-active svg{animation:.45s sidebar-icon-pop}@keyframes sidebar-item-enter{0%{box-shadow:0 0 #5fcf9f00}35%{box-shadow:0 0 14px #5fcf9f73}to{box-shadow:0 0 #5fcf9f00}}@keyframes sidebar-icon-pop{0%{transform:scale(.65)rotate(-8deg)}55%{transform:scale(1.25)rotate(4deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.sidebar-item-active,.sidebar-item-active svg,.sidebar-item:hover svg{animation:none;transform:none}}.sidebar-item-collapsed{justify-content:center;padding:.55rem 0}.sidebar-footer{border-top:1px solid var(--border);padding:.5rem}.sidebar-logout:hover{color:#dc2626;background:#dc26261a}.sidebar-overlay{display:none}.sidebar-toggle-mobile{color:var(--text-h);cursor:pointer;background:0 0;border:none;display:none}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-topbar{border-bottom:1px solid var(--border);color:var(--text-h);align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.campana-notificaciones{width:34px;height:34px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:background-color .15s,color .15s;display:flex;position:relative}.campana-notificaciones:hover{background:var(--accent-bg);color:var(--accent)}.campana-badge{color:#fff;text-align:center;background:#dc2626;border-radius:999px;min-width:15px;height:15px;padding:0 3px;font-size:.65rem;font-weight:700;line-height:15px;position:absolute;top:2px;right:2px}.admin-content{text-align:left;padding:1.25rem 1.5rem}@media (width<=720px){.sidebar{z-index:50;height:100vh;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);width:240px!important}.sidebar-open{transform:translate(0)}.sidebar-collapse-btn{display:none}.sidebar-close-btn,.sidebar-toggle-mobile{display:inline-flex}.sidebar-overlay{z-index:40;background:#00000080;display:block;position:fixed;inset:0}}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.stat-card{border:1px solid var(--border);background:var(--code-bg);border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.stat-value{color:var(--text-h);font-size:1.6rem;font-weight:600}.stat-label{color:var(--text);font-size:.8rem}.stat-card-pendiente{border-color:#f59e0b66}.stat-card-pagada{border-color:#16a34a66}.avatar{object-fit:cover;border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:32px;height:32px}.avatar-placeholder{background:var(--accent-bg);color:var(--accent);justify-content:center;align-items:center;font-weight:600;display:flex}.avatar-lg{width:64px;height:64px;font-size:1.5rem}.perfil-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.perfil-upload-label{cursor:pointer;display:inline-block}.equipo-item{flex-wrap:wrap;align-items:center;gap:.3rem .6rem;display:flex}.equipo-item-info{flex-wrap:wrap;flex:260px;align-items:center;gap:.4rem;min-width:0;display:flex}.equipo-item-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-left:auto;display:flex}.notificacion-item{align-items:center;gap:.5rem;display:flex}.cover-banner{color:#fff;background-image:linear-gradient(#0a081473,#0a0814b3),url(/images/torres-bicentenario.jpg);background-position:50%;background-size:cover;border-radius:12px;margin-bottom:1.5rem;padding:2rem 1.5rem}.cover-banner h2{color:#fff;text-shadow:0 1px 4px #00000080;margin:0 0 .35rem}.cover-banner p{color:#fff;opacity:.9;text-shadow:0 1px 4px #00000080;margin:0}
