/* Estilos - BRX Consulta Planos - Versão MASTER */
.brx-consulta-planos { font-family: "Helvetica Neue", Arial, sans-serif; color:#2a3942; }

/* filtros */
.brx-filtros { background:#fff; border:1px solid #d3dbe0; padding:16px; border-radius:6px; margin-bottom:14px; }
.brx-filtros .brx-row { display:flex; gap:12px; flex-wrap:wrap; align-items: flex-end; }
.brx-filtros label { min-width:180px; display:block; font-size:13px; color:#4b5a64; }
.brx-select, .brx-filtros input[type="text"] { padding:8px 10px; border:1px solid #cfd8dd; border-radius:4px; width:100%; box-sizing:border-box; }

/* actions */
.brx-actions { margin-top:10px; display:flex; gap:8px; }
.brx-actions .button { background:#0a4b78; color:#fff; border:none; padding:8px 14px; border-radius:4px; cursor:pointer; }
.brx-actions .button:hover { opacity:0.95; }

/* list */
.brx-lista { background:#fff; border:1px solid #d3dbe0; padding:8px; border-radius:6px; }
.brx-table-wrapper { max-height:520px; overflow:auto; position:relative; }

/* table (fixed header) */
.brx-table { width:100%; border-collapse:collapse; min-width:980px; font-size:13px; }
.brx-table thead th { background:#f4f9fb; position:sticky; top:0; z-index:5; border-bottom:2px solid #e3eef3; padding:12px 10px; text-align:left; color:#1e4257; font-weight:700; }
.brx-table tbody td { padding:12px 10px; border-bottom:1px solid #eef4f6; vertical-align:middle; }
.brx-table tbody tr:nth-child(odd) { background:#f9fbfc; }
.brx-table tbody tr:hover { background:#eef7fb; }

/* action icon */
.brx-open-details { background:transparent; border:none; cursor:pointer; padding:6px; }
.brx-icon-circle { display:inline-block; width:34px; height:34px; line-height:34px; text-align:center; border-radius:50%; background:#0073aa; color:#fff; font-weight:700; }

/* pagination */
.brx-pagination { margin-top:12px; display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.brx-pager button { padding:6px 10px; border:1px solid #cfd8dd; background:#fff; border-radius:4px; cursor:pointer; }
.brx-pager button.active { background:#0073aa; color:#fff; border-color:#0073aa; }
.brx-pager .dots { padding:6px 8px; color:#999; }

/* info */
.brx-list-info { margin-top:8px; color:#5a6a72; font-size:13px; }

/* modal */
.brx-modal { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; z-index:9999; }
.brx-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.45); }
.brx-modal-content { position:relative; width:92%; max-width:980px; margin:24px; background:#fff; border-radius:8px; padding:18px; z-index:2; box-shadow:0 12px 40px rgba(0,0,0,0.24); }
.brx-modal-close { position:absolute; right:12px; top:8px; background:transparent; border:none; font-size:28px; cursor:pointer; }

/* details plus */
.brx-details-header { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:10px; }
.brx-details-left h2 { margin:0 0 6px; font-size:20px; color:#0e3a57; }
.brx-details-right { text-align:right; min-width:200px; }
.brx-big-value { font-size:20px; font-weight:700; color:#0a4b78; }
.brx-mini { font-size:12px; color:#6d808f; margin-top:6px; }

/* prazos table */
.brx-prazos-table { width:100%; border-collapse:collapse; margin-top:8px; }
.brx-prazos-table th, .brx-prazos-table td { border:1px solid #e6eef2; padding:8px; font-size:13px; text-align:left; }

/* footer actions */
.brx-actions-footer { display:flex; gap:8px; margin-top:12px; }
.brx-solicitar-simulacao, .brx-whatsapp { background:#0073aa; color:#fff; border:none; padding:10px 14px; border-radius:6px; cursor:pointer; }
.brx-whatsapp { background:#25D366; color:#fff; }

/* responsive small */
@media(max-width:900px) {
    .brx-row label { min-width: 140px; }
    .brx-table { font-size:12px; }
}
