/* MegaRed sobre Tabler: colores de marca y componentes propios. */
:root{
  --tblr-font-sans-serif:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --tblr-body-font-family:var(--tblr-font-sans-serif);
  --tblr-body-font-size:.875rem;--tblr-body-line-height:1.5;
  --mr-blue:#073c88;--mr-deep:#04214a;--mr-cyan:#00a8e8;
  --tblr-primary:#0b58b7;--tblr-primary-rgb:11,88,183;--tblr-primary-fg:#fff;
  --tblr-primary-darken:#073c88;--tblr-primary-lt:#e8f1fc;
  --tblr-link-color:#0b58b7;--tblr-link-color-rgb:11,88,183;--tblr-link-hover-color:#073c88;
}
.btn-primary{--tblr-btn-bg:#0b58b7;--tblr-btn-border-color:#0b58b7;--tblr-btn-hover-bg:#073c88;--tblr-btn-hover-border-color:#073c88;--tblr-btn-active-bg:#062f6b}

/* Menú lateral */
.mr-sidebar{background:linear-gradient(180deg,var(--mr-deep) 0%,var(--mr-blue) 100%)!important}
.mr-sidebar .navbar-nav .nav-item.active>.nav-link,.mr-sidebar .nav-link:hover{background:rgba(255,255,255,.08)}
.mr-sidebar .nav-item.active>.nav-link{box-shadow:inset 3px 0 0 var(--mr-cyan)}
.mr-sidebar .dropdown-item.active{background:rgba(0,168,232,.2);color:#fff}
.mr-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.mr-brand img{width:44px;height:44px;object-fit:contain}
.mr-brand span{display:flex;flex-direction:column;line-height:1.1;text-align:left}
.mr-brand strong{font-size:1.15rem;font-weight:800}.mr-brand small{font-size:.7rem;color:#7ee6ff;font-weight:600}
.mr-sidebar-user{margin-top:auto;padding:12px 16px;border-top:1px solid rgba(255,255,255,.1);align-items:center;gap:10px}
.mr-sidebar-user .avatar{background:var(--mr-cyan);color:#fff;font-weight:700}
.mr-sidebar .navbar-collapse{flex-direction:column;align-items:stretch}

/* Utilidades */
.table td small,.table td .small-note{display:block;color:var(--tblr-secondary);font-size:.8rem}
.row-actions{white-space:nowrap}
.required:not(.form-label){color:var(--tblr-danger)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-grid .wide{grid-column:1/-1}
.form-grid .section-title{margin:.5rem 0 0;padding-top:1rem;border-top:1px solid var(--tblr-border-color);font-size:1rem}
.field .errorlist,.errorlist{list-style:none;padding:0;margin:.25rem 0 0;color:var(--tblr-danger);font-size:.85rem}
.field-error{display:block;color:var(--tblr-danger);font-size:.85rem;margin-top:.25rem}
.datagrid-compact{--tblr-datagrid-padding:.75rem}
.stat-value{font-size:1.75rem;font-weight:700;line-height:1;color:var(--mr-blue)}
@media(max-width:768px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}

/* Integración MikroWISP */
.integration-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--tblr-primary-lt);border:1px solid #b9d4f5;border-radius:var(--tblr-border-radius);padding:12px 14px}
.integration-box strong{color:var(--mr-blue)}
.input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.integration-result{min-height:19px;margin-top:6px;font-size:.85rem;font-weight:600}
.integration-result.loading{color:var(--tblr-secondary)}.integration-result.success{color:var(--tblr-success)}.integration-result.error{color:var(--tblr-danger)}
@media(max-width:700px){.input-action{grid-template-columns:1fr}}

/* Resumen de pagos */
.payment-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);background:var(--tblr-bg-surface-secondary)}
.payment-summary .wide-payment{grid-column:1/-1}
.payment-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 10px;background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius)}
.payment-item span{font-size:.8rem;color:var(--tblr-secondary);font-weight:600}
.payment-item strong{color:var(--mr-blue)}
.payment-date{color:var(--tblr-secondary);font-size:.75rem}
.payment-summary.debt{border-color:#f3a7a0;background:#fff5f4}.payment-summary.debt .payment-item strong{color:var(--tblr-danger)}
.payment-summary.clear{border-color:#86d5a5;background:#f0fff5}.payment-summary.clear .payment-item strong{color:var(--tblr-success)}
.payment-badge.debt{background:var(--tblr-danger-lt);color:var(--tblr-danger)}.payment-badge.clear{background:var(--tblr-success-lt);color:var(--tblr-success)}.payment-badge.unavailable{background:var(--tblr-secondary-lt);color:var(--tblr-secondary)}
@media(max-width:700px){.payment-summary{grid-template-columns:1fr}.payment-summary .wide-payment{grid-column:auto}}

/* Promociones */
.month-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.month-chip{display:flex;align-items:center;gap:6px;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);padding:6px 10px;cursor:pointer;font-weight:600;margin:0}
.month-chip:has(input:checked){background:var(--tblr-primary-lt);border-color:var(--tblr-primary);color:var(--mr-blue)}
.month-chip input{margin:0}
.promo-calendar{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.promo-month{border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);padding:10px;display:flex;flex-direction:column;gap:2px;background:var(--tblr-bg-surface-secondary);color:var(--tblr-secondary)}
.promo-month b{color:var(--tblr-body-color)}.promo-month em{font-style:normal;font-size:.75rem}
.promo-month.on{background:var(--tblr-primary-lt);border-color:var(--tblr-primary);color:var(--mr-blue)}.promo-month.on em{font-weight:700}

/* Login */
.mr-login{background:radial-gradient(circle at top,#e8f1fc 0,#f6f8fb 60%)}
.mr-login .card{border-top:4px solid var(--mr-cyan)}
.empty-hide:empty{display:none}
.month-pct{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}
.month-cell{border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);padding:6px;background:var(--tblr-bg-surface)}
.month-cell.on{background:var(--tblr-primary-lt);border-color:var(--tblr-primary)}
.month-cell.invalid{border-color:var(--tblr-danger)}
.month-cell-label{display:block;width:100%;border:0;background:none;padding:0 0 4px;text-align:left;font-weight:600;color:inherit;cursor:pointer}
.month-cell.on .month-cell-label{color:var(--mr-blue)}
.month-cell .form-control{padding-left:.5rem;padding-right:.25rem}

/* Tipografía unificada: una sola familia y escala en todo el sistema. */
body,button,input,select,textarea,.btn,.form-control,.form-select,.dropdown-menu,.table{font-family:var(--tblr-font-sans-serif)}
body{font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.page-title{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
.page-pretitle{font-size:.7rem;letter-spacing:.06em}
.card-title{font-size:1rem;font-weight:600}
.table thead th{font-size:.7rem;letter-spacing:.04em}
.table td,.table th{font-variant-numeric:tabular-nums}
.icono-grande{font-size:3rem;line-height:1}

/* Adaptación a pantallas pequeñas */
@media (max-width:991.98px){
  .mr-sidebar .container-fluid{flex-wrap:wrap}
  .mr-brand img{width:36px;height:36px}
  .mr-brand small{display:none}
  .page-body{margin-top:1rem}
}
@media (max-width:767.98px){
  .page-header .col-auto{width:100%}
  .page-header .col-auto>.btn,.page-header .col-auto>form,.page-header .col-auto>form>.btn{flex:1 1 auto}
  .page-header .col-auto .btn{justify-content:center}
  .card-footer{flex-wrap:wrap}
  .card-footer .btn{flex:1 1 auto}
  .table-mobile-sm td,.table-mobile-sm th{padding:.5rem .6rem}
  .row-actions .d-flex{flex-wrap:wrap}
  .stat-value{font-size:1.4rem}
  .datagrid{--tblr-datagrid-item-width:9rem}
  .container-xl{padding-left:.75rem;padding-right:.75rem}
}
@media (max-width:575.98px){
  /* 16px evita que iOS haga zoom al tocar un campo */
  .form-control,.form-select,.input-group-text{font-size:1rem}
  .page-title{font-size:1.125rem}
  .btn-group.nivel-grupo{flex-wrap:wrap}
  .btn-group.nivel-grupo>.btn{flex:1 1 33%}
  .month-pct{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
  .promo-calendar{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
}
@media (max-width:767.98px){
  .table .badge{white-space:normal;text-align:left;line-height:1.25}
  .table td a[href*="/referidos/"]{font-weight:600}
}
.mr-login-logo{height:96px;width:auto;max-width:100%;border-radius:18px}@media (max-width:575.98px){.mr-login-logo{height:72px}}
.table-avisos th:first-child,.table-avisos td:first-child{position:sticky;left:0;background:var(--tblr-bg-surface);z-index:1;min-width:11rem}
.table-avisos thead th{white-space:normal;min-width:6.5rem;line-height:1.2;vertical-align:bottom}
.table-avisos .form-check-input{width:1.15rem;height:1.15rem}
@media (max-width:767.98px){
  .table-avisos th:first-child,.table-avisos td:first-child{min-width:8.5rem;max-width:9.5rem;white-space:normal}
  .table-avisos td:first-child small{word-break:break-all}
  .table-avisos thead th{min-width:5.25rem;font-size:.65rem}
}

/* Columnas ordenables */
th.ordenable{cursor:pointer;user-select:none;white-space:nowrap}
th.ordenable:hover,th.ordenable:focus-visible{color:var(--tblr-primary);outline:none}
th.ordenable .orden-icono{margin-left:.25rem;font-size:.85rem;opacity:.35;vertical-align:-1px}
th.ordenable .orden-icono::before{content:"\eb1d"} /* ti-selector */
th.ordenable.orden-asc .orden-icono,th.ordenable.orden-desc .orden-icono{opacity:1;color:var(--tblr-primary)}
th.ordenable.orden-asc .orden-icono::before{content:"\ea25"} /* ti-arrow-up */
th.ordenable.orden-desc .orden-icono::before{content:"\ea16"} /* ti-arrow-down */
.table-avisos thead th.ordenable{white-space:normal}
.table .col-cliente{min-width:13rem}
.table .col-persona{min-width:9.5rem}
@media (min-width:768px){.table td .badge{white-space:nowrap}}

/* Fichas de meses y porcentajes de una promoción */
.promo-strip{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px;max-width:22rem}
.promo-strip .promo-chip{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:3.4rem;padding:4px 8px;border-radius:6px;background:var(--tblr-primary-lt);color:var(--mr-blue);line-height:1.15;border:1px solid rgba(11,88,183,.15)}
.promo-strip .promo-chip b{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;opacity:.8}
.promo-strip .promo-chip em{font-style:normal;font-size:.9rem;font-weight:700}
/* Filas que llevan a otra pantalla */
tr.fila-enlace{cursor:pointer}
a.card-link .stat-value{transition:color .15s}
a.card-link:hover .stat-value{color:var(--tblr-primary)}
.contrato-miniatura{height:11rem;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);overflow:hidden;background:var(--tblr-bg-surface-secondary)}
.contrato-miniatura img{width:100%;height:100%;object-fit:cover}
.contrato-miniatura:hover{border-color:var(--tblr-primary)}

/* Gráficos del panel */
.grafico{min-height:260px}
.grafico .apexcharts-tooltip{box-shadow:0 4px 16px rgba(4,33,74,.12)}
.grafico .apexcharts-bar-area:hover{cursor:pointer}
.lista-grafico summary{cursor:pointer}
.grafico-vacio{display:flex;align-items:center;justify-content:center}
