.lba-public-wrap{ max-width: 1100px; margin: 0 auto; padding: 16px 0; }
.lba-alert{ padding:12px 14px; border-radius:12px; margin: 0 0 12px 0; }
.lba-alert-success{ background:#f0fff4; border:1px solid #b7ebc6; }
.lba-alert-error{ background:#fff5f5; border:1px solid #feb2b2; }

.lba-grid{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 980px){ .lba-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px){ .lba-grid{ grid-template-columns: 1fr; } }

.lba-card{ background:#fff; border:1px solid #e5e7eb; border-radius: 16px; padding: 0; box-shadow: 0 2px 10px rgba(0,0,0,0.04); display:flex; flex-direction:column; gap: 10px; overflow:hidden; }

/* Imagen arriba a ancho completo */
.lba-card-top{ display:flex; flex-direction:column; gap:10px; align-items:stretch; padding: 0; }
.lba-img{ width:100%; height: 170px; object-fit:cover; border-radius: 0; background:#f3f4f6; display:block; }
.lba-card-head{ padding: 0 14px; }
.lba-img-placeholder{ display:block; }
.lba-title{ margin:0 0 4px 0; font-size: 18px; line-height: 1.2; }
.lba-text{ font-size: 13px; color:#4b5563; margin:0 0 6px 0; }
.lba-link{ font-size: 13px; text-decoration: underline; }

.lba-card-mid{ border-top: 1px solid #f0f0f0; padding: 10px 14px 0; }
.lba-row{ display:flex; justify-content:space-between; gap:10px; font-size: 13px; margin: 4px 0; }
.lba-row span{ color:#6b7280; }

.lba-progress{ width:100%; height: 10px; background:#f3f4f6; border-radius: 999px; overflow:hidden; margin-top: 8px; }
.lba-progress-bar{ height:100%; background:#111827; border-radius: 999px; }
.lba-progress-text{ font-size: 12px; color:#6b7280; margin-top: 6px; }

.lba-card-actions{ border-top: 1px solid #f0f0f0; padding: 10px 14px 14px; }
.lba-quick{ display:flex; gap: 8px; margin-bottom: 8px; }
.lba-add-row{ display:flex; flex-direction:column; gap: 10px; }

.lba-btn{ border-radius: 12px; padding: 10px 12px; border:1px solid transparent; cursor:pointer; font-weight:600; }
.lba-btn:disabled{ opacity:0.5; cursor:not-allowed; }
.lba-btn-primary{ background:#111827; color:#fff; }
/* Botones rápidos: texto negro; al activar, texto blanco */
.lba-btn-ghost{ background:#fff; border-color:#e5e7eb; color:#111; }
.lba-btn-ghost.is-active{ background:#111827; border-color:#111827; color:#fff; }

.lba-amount{ flex:1 1 auto; border-radius: 12px; border:1px solid #e5e7eb; padding: 10px 12px; }
.lba-error{ color:#b91c1c; font-size: 12px; margin-top: 6px; min-height: 14px; }

.lba-covered{ font-weight: 700; padding: 8px 10px; background:#f3f4f6; border-radius: 12px; text-align:center; }

.lba-summary{ margin-top: 18px; background:#fff; border:1px solid #e5e7eb; border-radius: 16px; padding: 14px; box-shadow: 0 2px 10px rgba(0,0,0,0.04); }
.lba-summary h3{ margin:0 0 10px 0; }
.lba-summary-items{ display:flex; flex-direction:column; gap: 10px; margin-bottom: 10px; }
.lba-summary-row{ display:flex; justify-content:space-between; gap: 10px; align-items:center; }
.lba-summary-name{ font-size: 13px; color:#111827; }
.lba-summary-actions{ display:flex; gap: 8px; align-items:center; }
.lba-summary-edit{ width: 90px; border-radius: 12px; border:1px solid #e5e7eb; padding: 8px 10px; }
.lba-summary-remove{ background:#fff; border:1px solid #e5e7eb; border-radius: 12px; padding: 8px 10px; cursor:pointer; }
.lba-summary-total{ display:flex; justify-content:space-between; align-items:center; border-top: 1px solid #f0f0f0; padding-top: 10px; margin-top: 10px; }

/* Modal */
.lba-modal{ display:none; }
.lba-modal.is-open{ display:block; }
.lba-modal-backdrop{ position:fixed; inset:0; background: rgba(0,0,0,0.45); z-index: 9998; }
.lba-modal-dialog{ position:fixed; left:50%; top:50%; transform: translate(-50%,-50%); width: min(560px, calc(100% - 24px)); background:#fff; border-radius: 16px; z-index: 9999; box-shadow: 0 10px 30px rgba(0,0,0,0.25); overflow:hidden; }
.lba-modal-header, .lba-modal-footer{ padding: 12px 14px; border-bottom:1px solid #f0f0f0; }
.lba-modal-footer{ border-bottom: none; border-top:1px solid #f0f0f0; display:flex; justify-content:flex-end; gap: 8px; }

/* Botón cancelar en negro (solo en el footer del modal) */
.lba-modal-footer [data-close]{ background:#111827; border-color:#111827; color:#fff; }
.lba-modal-body{ padding: 12px 14px; }
.lba-modal-close{ background:transparent; border:none; font-size: 22px; line-height: 1; cursor:pointer; }
.lba-modal-header{ display:flex; justify-content:space-between; align-items:center; }

.lba-label{ display:block; font-size: 13px; margin-bottom: 10px; }
.lba-input{ width:100%; border-radius: 12px; border:1px solid #e5e7eb; padding: 10px 12px; margin-top: 6px; }

.lba-modal-summary{ background:#f9fafb; border:1px solid #eef2f7; border-radius: 14px; padding: 10px 12px; margin-top: 10px; }
.lba-modal-summary-title{ font-weight:700; margin-bottom: 8px; }
.lba-modal-line{ display:flex; justify-content:space-between; gap:10px; font-size: 13px; margin: 4px 0; }
.lba-modal-total{ margin-top: 10px; font-weight:700; }

.lba-payment{ margin-top: 12px; }
.lba-payment-title{ font-weight: 700; margin-bottom: 6px; }
.lba-payment-text{ font-size: 13px; color:#374151; }

.lba-modal-error{ color:#b91c1c; font-size: 13px; margin-top: 10px; min-height: 16px; }
