*{box-sizing:border-box}body{color:#1a1a1a;background:#f5f5f5;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root,.app-shell{min-height:100vh}.app-header{color:#fff;background:#222;align-items:center;gap:1.25rem;padding:.75rem 1.25rem;display:flex}.app-header nav{flex:1;gap:1rem;display:flex}.app-header a{color:#ddd;text-decoration:none}.app-header a:hover{color:#fff;text-decoration:underline}.usuario-actual{color:#ccc;font-size:.85rem}.app-content{max-width:1100px;margin:0 auto;padding:1.25rem}.cargando{text-align:center;padding:2rem}table{border-collapse:collapse;background:#fff;width:100%;margin:.75rem 0 1.5rem}th,td{text-align:left;border:1px solid #ccc;padding:.4rem .6rem;font-size:.9rem}th{background:#eee}form{flex-direction:column;gap:.5rem;max-width:480px;margin-bottom:1.5rem;display:flex}form.inline{flex-flow:wrap;align-items:center;max-width:none}label{flex-direction:column;gap:.2rem;font-size:.85rem;display:flex}input,select,textarea{border:1px solid #999;border-radius:3px;padding:.4rem;font-family:inherit;font-size:.95rem}button{color:#fff;cursor:pointer;background:#333;border:1px solid #333;border-radius:3px;width:fit-content;padding:.45rem .9rem;font-size:.9rem}button.secundario{color:#333;background:#fff}button.peligro{background:#a11;border-color:#a11}button.exito{background:#17761c;border-color:#17761c}button:disabled{opacity:.5;cursor:not-allowed}.error{color:#a11;font-size:.9rem}.ok{color:#17761c;font-size:.9rem}.aviso{color:#8a6d1f;font-size:.9rem}.tarjeta{background:#fff;border:1px solid #ddd;border-radius:4px;margin-bottom:1rem;padding:1rem}.fila-acciones{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}tr.fila-agregada>td{background:#e3f4e4;transition:background .3s}@keyframes aparecer-suave{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ok,.aviso,.mensaje-fade{animation:.25s ease-out aparecer-suave}.encabezado-catalogo{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.boton-ir-carrito{color:#fff;white-space:nowrap;background:#333;border-radius:3px;padding:.45rem .9rem;font-size:.9rem;text-decoration:none;display:inline-block}.boton-ir-carrito[aria-disabled=true]{opacity:.5;pointer-events:none}.accion-pedido{color:#555;margin-top:.25rem;font-size:.8rem}.accion-pedido.requiere{color:#17761c;font-weight:600}tr.fila-cerrada,tr.fila-cerrada .accion-pedido{color:#999}.pestanas{border-bottom:1px solid #ddd;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem;padding-bottom:.5rem;display:flex}button.boton-favorito{color:inherit;background:0 0;border:none;padding:.1rem .3rem;font-size:1.2rem;line-height:1}button.boton-favorito:hover{transform:scale(1.15)}.badge-novedad{white-space:nowrap;font-size:.85rem}.fila-acciones-tabla{flex-wrap:wrap;gap:.4rem;display:flex}.precio-tachado{color:#888;margin-right:.35rem;font-size:.85rem;text-decoration:line-through}.badge-oferta{color:#fff;white-space:nowrap;background:#c0392b;border-radius:4px;margin-left:.35rem;padding:.05rem .35rem;font-size:.75rem;font-weight:600;display:inline-block}.tarjetas-dashboard{flex-wrap:wrap;gap:1rem;display:flex}.tarjeta-dashboard{min-width:12rem;color:inherit;flex-direction:column;gap:.4rem;text-decoration:none;display:flex}.tarjeta-dashboard-numero{font-size:2rem;font-weight:700}.etiqueta-estado{background:#ddd;border-radius:10px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.pantalla-login{justify-content:center;align-items:center;min-height:100vh;display:flex}.datos-solo-lectura{grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:.5rem 0;display:grid}.datos-solo-lectura dt{font-weight:600}.datos-solo-lectura dd{margin:0}.chat-encabezado{justify-content:space-between;align-items:center;gap:1rem;display:flex}.chat-mensajes{flex-direction:column;gap:.5rem;max-height:22rem;padding:.5rem 0;display:flex;overflow-y:auto}.chat-vacio{color:#555}.chat-burbuja{background:#eee;border-radius:10px;align-self:flex-start;max-width:80%;padding:.4rem .6rem}.chat-burbuja.mia{color:#fff;background:#333;align-self:flex-end}.chat-meta{opacity:.8;gap:.5rem;margin-bottom:.15rem;font-size:.7rem;display:flex}.chat-remitente{font-weight:600}.chat-cuerpo{white-space:pre-wrap;word-break:break-word}.chat-envio{align-items:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.chat-envio textarea{resize:vertical;flex:1}.badge-no-leidos{color:#fff;white-space:nowrap;background:#a11;border-radius:10px;margin-left:.4rem;padding:.1rem .45rem;font-size:.75rem;display:inline-block}.chip-modalidad{color:#334;white-space:nowrap;background:#eef;border-radius:10px;margin-left:.4rem;padding:.1rem .45rem;font-size:.75rem;display:inline-block}.chip-pago{color:#7a4a00;white-space:nowrap;background:#fbe8c8;border-radius:10px;margin-left:.4rem;padding:.1rem .45rem;font-size:.75rem;display:inline-block}.chip-pago.parcial{color:#1c3a66;background:#dce8fb}.desglose-mixta{flex-wrap:wrap;gap:.75rem;margin:.5rem 0;display:flex}.tramo-mixta{background:#f7f7fb;border:1px solid #dcdce4;border-radius:8px;flex:12rem;padding:.6rem .8rem}.tramo-mixta p{margin:.2rem 0}.estado-pagos-mixta{background:#eef3fb;border:1px solid #dcdce4;border-radius:8px;margin:.25rem 0 .5rem;padding:.6rem .8rem}.estado-pagos-mixta p{margin:.2rem 0}.cashflow-tramos{color:#555;flex-direction:column;margin-top:.25rem;font-size:.75rem;display:flex}.cashflow-selector-mes{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.cashflow-mes-nombre{margin-left:.25rem;font-size:1.1rem}.cashflow-obs{color:#777;font-size:.8rem}.nav-mas{position:relative}.nav-mas-boton{font:inherit;color:#ddd;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.nav-mas-boton:hover,.nav-mas-boton.activo{color:#fff;text-decoration:underline}.nav-mas-panel{z-index:30;background:#333;border-radius:8px;flex-direction:column;gap:.6rem;min-width:210px;margin-top:.5rem;padding:.6rem .75rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 6px 18px #00000059}.nav-mas-panel a{white-space:nowrap}@media (width<=640px){.app-header{flex-wrap:wrap;gap:.75rem 1rem}.app-header nav{flex-wrap:wrap;flex-basis:100%;order:3;gap:.6rem 1rem}}.campana{display:inline-flex;position:relative}.campana-boton{color:#fff;cursor:pointer;background:0 0;border:none;padding:.15rem;font-size:1.2rem;line-height:1;position:relative}.campana-badge{box-sizing:border-box;color:#fff;background:#e53935;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:600;display:flex;position:absolute;top:-6px;right:-8px}.campana-panel{color:#222;z-index:40;background:#fff;border-radius:10px;width:320px;max-width:85vw;margin-top:.5rem;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.campana-panel-cabecera{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .9rem;display:flex}.campana-marcar-todas{color:#863bff;cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem}.campana-marcar-todas:hover{text-decoration:underline}.campana-lista{max-height:60vh;overflow-y:auto}.campana-vacio,.campana-error{color:#777;margin:0;padding:1rem .9rem;font-size:.85rem}.campana-error{color:#c62828}.campana-item{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f2f2f2;flex-direction:column;gap:.15rem;width:100%;padding:.7rem .9rem;display:flex}.campana-item:hover{background:#faf7ff}.campana-item.no-leida{background:#f4eeff}.campana-item.no-leida .campana-item-titulo{font-weight:600}.campana-item-titulo{color:#222;font-size:.88rem}.campana-item-mensaje{color:#555;font-size:.8rem}.campana-item-fecha{color:#999;font-size:.72rem}.aviso-nueva-version{z-index:50;color:#fff;background:#222;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.75rem;max-width:92vw;padding:.75rem 1rem;font-size:.9rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.aviso-nueva-version-acciones{gap:.5rem;display:flex}.aviso-nueva-version button{color:#fff;cursor:pointer;background:#863bff;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.85rem}.aviso-nueva-version-luego{color:#ccc!important;background:0 0!important}.aviso-nueva-version-luego:hover{color:#fff!important}
