:root{--color-bg: #f4f2ee;--color-surface: #ffffff;--color-border: #e4dfd7;--color-text: #1f1d1a;--color-text-muted: #6b6459;--color-accent: #2f6f5e;--color-accent-hover: #24584a;--color-accent-soft: #e7f0ed;--color-danger: #b3392c;--color-danger-soft: #fdecea;--color-success: #2f7a3c;--color-success-soft: #eefbf0;--color-warning: #a1750f;--color-warning-soft: #fdf6e3;--radius: 14px;--shadow: 0 1px 2px rgba(31, 29, 26, .06), 0 2px 8px rgba(31, 29, 26, .04);--ancho: 560px;--alto-tabbar: 64px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);line-height:1.4}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--color-accent)}h2{font-size:1.2rem}h3{font-size:1.05rem}.app-shell{min-height:100vh;min-height:100dvh}.topbar{position:sticky;top:0;z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:calc(.6rem + env(safe-area-inset-top)) 1rem .6rem}.topbar h1{max-width:var(--ancho);margin:0 auto;font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar h1 a{color:inherit;text-decoration:none}.main{width:100%;max-width:var(--ancho);margin:0 auto;padding:1rem 1rem calc(var(--alto-tabbar) + 1.5rem + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom)}.tabbar-items{display:flex;max-width:var(--ancho);margin:0 auto;height:var(--alto-tabbar)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;position:relative;color:var(--color-text-muted);text-decoration:none;font-size:.7rem;font-weight:600}.tabbar a svg{width:24px;height:24px}.tabbar a.activo{color:var(--color-accent)}.tabbar .punto{position:absolute;top:8px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-danger);color:#fff;font-size:.65rem;line-height:18px;text-align:center}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:1.5rem 0 .75rem;flex-wrap:wrap}.section-header:first-child{margin-top:.25rem}.section-header h2{margin:0}.section-header a{font-size:.9rem;font-weight:600;text-decoration:none;padding:.5rem 0}.breadcrumb{font-size:.9rem;margin-bottom:.5rem}.breadcrumb a{display:inline-block;padding:.4rem 0;text-decoration:none;font-weight:600}.list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.list-item{display:flex;flex-direction:column;gap:.2rem;min-height:56px;justify-content:center;padding:.75rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-decoration:none;color:inherit}.list-item:active{background:var(--color-accent-soft)}.list-item-title{font-weight:600;overflow-wrap:anywhere}.list-item-meta{font-size:.85rem;color:var(--color-text-muted)}.filas{list-style:none;margin:0;padding:0}.filas li{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--color-border)}.filas li:last-child{border-bottom:none}.filas li>:first-child{min-width:0;overflow-wrap:anywhere}.filas .derecha{text-align:right;flex-shrink:0}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1rem}.tile{display:flex;flex-direction:column;gap:.2rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-decoration:none;color:inherit;min-width:0}.tiles.compact .tile{padding:.6rem .7rem}.tile-label{font-size:.8rem;color:var(--color-text-muted)}.tile-valor{font-size:1.15rem;font-weight:700;overflow-wrap:anywhere}.form{display:flex;flex-direction:column;gap:.85rem}.form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--color-text-muted)}input,select,textarea{font-size:16px}.form input,.form textarea,.form select,.row input,.row select,select{min-height:44px;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);width:100%;max-width:100%}.form textarea{min-height:5rem;resize:vertical}.form input[type=file]{padding:.5rem}.form-grid{display:flex;flex-direction:column;gap:.85rem}.check{display:flex!important;flex-direction:row!important;align-items:center;gap:.6rem!important;min-height:44px;font-size:.95rem;color:var(--color-text)!important}.check input{width:20px!important;height:20px;min-height:0!important;flex-shrink:0;accent-color:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;padding:.6rem 1.1rem;border-radius:12px;border:1px solid transparent;background:var(--color-accent);color:#fff;font-weight:600;text-decoration:none;text-align:center;cursor:pointer}.btn:active{background:var(--color-accent-hover)}.btn.secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn.danger{background:var(--color-danger)}.btn.small{min-height:40px;padding:.4rem .9rem;font-size:.9rem}.btn.bloque,.form>.btn{width:100%}.btn:disabled{opacity:.6}.row{display:flex;gap:.5rem;flex-wrap:wrap}.row>.btn{flex:1 1 auto}.link-button{background:none;border:none;padding:.6rem .25rem;margin:0;font:inherit;font-weight:600;color:var(--color-accent);text-decoration:none;cursor:pointer}.link-button.peligro{color:var(--color-danger)}.acciones{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center}.muted{color:var(--color-text-muted)}.small{font-size:.85rem}.empty{color:var(--color-text-muted);font-size:.95rem;padding:1rem 0;text-align:center}.error{color:var(--color-danger);font-size:.95rem}.ok{color:var(--color-success);font-size:.95rem}.badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);width:fit-content;white-space:nowrap}.badge:first-letter{text-transform:uppercase}.badge.aprobado,.badge.aprobada,.badge.realizada,.badge.al-dia,.badge.voto-si{color:var(--color-success);border-color:#bfe2c4;background:var(--color-success-soft)}.badge.pendiente,.badge.proxima,.badge.abierta,.badge.en_curso{color:var(--color-warning);border-color:#f0dfaa;background:var(--color-warning-soft)}.badge.rechazado,.badge.rechazada,.badge.vencida,.badge.voto-no{color:var(--color-danger);border-color:#f3c6c2;background:var(--color-danger-soft)}.monto{font-variant-numeric:tabular-nums;white-space:nowrap}.monto.positivo{color:var(--color-success)}.monto.negativo{color:var(--color-danger)}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:1rem}.login-card{width:100%;max-width:400px}.selector-periodo{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.selector-periodo .btn{min-width:48px;font-size:1.2rem}.card.destacado{display:flex;flex-direction:column;gap:.35rem}.card.destacado .cifra{font-size:1.5rem;font-weight:700;line-height:1.2}.card.destacado.al-dia{border-left:5px solid var(--color-success)}.card.destacado.al-dia .cifra{color:var(--color-success)}.card.destacado.debe{border-left:5px solid var(--color-danger)}.card.destacado.debe .cifra{color:var(--color-danger)}.deudas{list-style:none;margin:.25rem 0 .5rem;padding:0}.deudas li{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--color-border)}.datos-pago{margin:.25rem 0 .5rem;padding:.75rem;background:var(--color-bg);border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.card.aviso{display:block;text-decoration:none;color:var(--color-warning);background:var(--color-warning-soft);border-color:#f0dfaa;font-weight:600}.tipo-tarea{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .4rem;border-radius:4px;margin-right:.25rem;vertical-align:middle}.tipo-tarea.pago{background:#e6f0ff;color:#2c5aa0}.tipo-tarea.tarea{background:var(--color-accent-soft);color:var(--color-accent)}.card.movimiento{margin-bottom:0;padding:.85rem}.card.movimiento.ignorado{opacity:.55}.movimiento-cabecera{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.movimiento-cabecera>div{min-width:0;overflow-wrap:anywhere}.movimiento-controles{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem}.revision{margin-top:.75rem;padding:.85rem;border-radius:10px;background:var(--color-bg)}.card.tarea,.card.cuenta-unidad{margin-bottom:0;padding:0}.card.tarea.vencida{border-left:5px solid var(--color-danger)}.card.tarea.proxima{border-left:5px solid #d9a521}.card.tarea.inactiva{opacity:.6}.tarea-cabecera{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:56px;padding:.75rem .9rem;background:none;border:none;text-align:left;color:inherit;cursor:pointer}.tarea-cabecera>div:first-child{min-width:0}.tarea-vencimiento{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;flex-shrink:0}.tarea-detalle{padding:0 .9rem .9rem}.tarea-detalle h4{margin:1rem 0 .25rem;font-size:.95rem}.historial{list-style:none;margin:0;padding:0;font-size:.9rem}.historial li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--color-border)}.miembro,.categoria{display:flex;flex-direction:column;gap:.5rem;padding:.85rem 0;border-bottom:1px solid var(--color-border)}.card.elegido{border-color:var(--color-success);border-width:2px}.menu-mas .list-item{flex-direction:row;align-items:center;justify-content:space-between}.menu-mas .list-item:after{content:"›";font-size:1.4rem;color:var(--color-text-muted)}.hoja-fondo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#14121073;display:flex;align-items:flex-end;justify-content:center}.hoja{width:100%;max-width:var(--ancho);background:var(--color-surface);border-radius:18px 18px 0 0;padding:1.25rem 1rem calc(1rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.75rem;animation:hoja-sube .18s ease-out}.hoja p{margin:0;font-size:1.05rem}@keyframes hoja-sube{0%{transform:translateY(30%);opacity:0}to{transform:translateY(0);opacity:1}}.tabbar a.centro{color:var(--color-accent);justify-content:flex-end;padding-bottom:.45rem;font-size:.66rem;text-align:center;line-height:1.1}.centro-boton{position:absolute;top:-18px;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--color-accent);color:#fff;box-shadow:0 4px 12px #2f6f5e66;border:4px solid var(--color-surface)}.tabbar a.centro.activo .centro-boton{background:var(--color-accent-hover)}.tabbar a.centro .punto{top:-16px;left:calc(50% + 14px);z-index:1}.btn.grande{min-height:56px;font-size:1.05rem;width:100%}.segmentado{display:flex;background:var(--color-border);border-radius:12px;padding:3px;gap:3px}.segmentado button{flex:1;min-height:44px;border:none;border-radius:10px;background:transparent;font-weight:600;font-size:.9rem;color:var(--color-text-muted);cursor:pointer}.segmentado button.activo{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow)}.elegir-archivo{display:flex;flex-direction:column;gap:.6rem;padding:1rem;border:2px dashed var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.archivo-elegido{display:flex;flex-direction:column;align-items:center;gap:.25rem}.archivo-elegido img{max-width:100%;max-height:45vh;border-radius:10px;border:1px solid var(--color-border);object-fit:contain}.archivo-pdf{width:100%;padding:1.25rem;text-align:center;border-radius:10px;background:var(--color-surface);border:1px solid var(--color-border);font-weight:600;overflow-wrap:anywhere}.form input.monto-grande{font-size:1.6rem;font-weight:700;min-height:60px;color:var(--color-text)}.card.listo{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;padding:2rem 1rem}.card.listo h2{margin:0}.card.listo p{margin:0 0 .5rem}.listo-icono{width:72px;height:72px;border-radius:50%;background:var(--color-success-soft);color:var(--color-success);font-size:2.4rem;font-weight:700;display:flex;align-items:center;justify-content:center}.vista-previa{display:block;margin-top:.75rem}.vista-previa img{width:100%;max-height:340px;object-fit:contain;border-radius:10px;background:var(--color-bg);border:1px solid var(--color-border)}.vista-previa.cargando{height:180px;border-radius:10px;background:var(--color-bg)}.card.comprobante{display:flex;flex-direction:column}
