/* ============================================================
   Business-Theme · Génesis 1.00 · Pulido de consistencia (overrides Bootstrap)
   Depende de premium.css (tokens). Carga al final.
   ============================================================ */

/* ---- Botones ---- */
.btn{border-radius:5px;font-weight:600;}
.btn-primary{background:var(--pc-accent);border-color:var(--pc-accent);}
.btn-primary:hover,.btn-primary:focus{background:var(--pc-accent);border-color:var(--pc-accent);filter:brightness(1.06);}
.btn-outline-primary{color:var(--pc-accent);border-color:var(--pc-accent);}
.btn-outline-primary:hover{background:var(--pc-accent);border-color:var(--pc-accent);}
.btn-dark{background:var(--pc-heading);border-color:var(--pc-heading);}
.btn-dark:hover{background:#02205e;border-color:#02205e;}
.btn-light{background:var(--pc-bg);border-color:var(--pc-border);color:var(--pc-heading);}
.btn-light:hover{background:#eef2fb;border-color:#dbe3f3;color:var(--pc-heading);}
.btn-check:focus+.btn,.btn:focus{box-shadow:0 0 0 .2rem rgba(65,84,241,.18);}

/* ---- Inputs / selects ---- */
.form-control,.form-select{border-color:var(--pc-border);border-radius:6px;color:var(--pc-text);}
.form-control:focus,.form-select:focus{border-color:var(--pc-accent);box-shadow:0 0 0 .2rem rgba(65,84,241,.15);}
.form-label{color:var(--pc-heading);font-weight:600;}
.input-group-text{background:var(--pc-bg);border-color:var(--pc-border);color:var(--pc-muted-navy);}

/* ---- Badges ---- */
.badge{font-weight:600;border-radius:6px;padding:.4em .6em;}
.badge.bg-success{background:#e0f8e9!important;color:#07855f!important;}
.badge.bg-danger{background:#ffecec!important;color:#d63384!important;}
.badge.bg-warning{background:#fff5d9!important;color:#c97800!important;}
.badge.bg-secondary{background:#eef1f6!important;color:#5f6b80!important;}
.badge.bg-primary{background:var(--pc-accent-soft)!important;color:var(--pc-accent)!important;}
.badge.bg-info{background:#e7f1ff!important;color:#237eb8!important;}
.badge.bg-dark{background:#e6eaf2!important;color:var(--pc-heading)!important;}

/* ---- Alerts ---- */
.alert{border-radius:6px;border:0;font-size:14px;}
.alert-success{background:#e0f8e9;color:#07855f;}
.alert-danger{background:#ffecec;color:#c0322b;}

/* ---- Tablas ---- */
.table{color:var(--pc-text);}
.table>:not(caption)>*>*{padding:.8rem .9rem;}
.table-hover>tbody>tr:hover>*{background:var(--pc-accent-soft);}

/* ---- Paginación ---- */
.pagination{margin:0;gap:4px;flex-wrap:wrap;}
.page-link{border:1px solid var(--pc-border);border-radius:6px!important;color:var(--pc-heading);font-size:13px;margin:0;}
.page-link:hover{background:var(--pc-accent-soft);color:var(--pc-accent);border-color:var(--pc-border);}
.page-item.active .page-link{background:var(--pc-accent);border-color:var(--pc-accent);color:#fff;}
.page-item.disabled .page-link{color:var(--pc-muted-navy);}

/* ---- Dropdowns ---- */
.dropdown-menu{border:0;border-radius:8px;box-shadow:0 8px 30px rgba(1,41,112,.12);font-size:14px;}
.dropdown-item:active{background:var(--pc-accent);}
.dropdown-item i{color:var(--pc-muted-navy);}

/* ---- Enlaces ---- */
a{color:var(--pc-accent);text-decoration:none;}
a:hover{color:#2f3fd0;}

/* ---- Pie de página ---- */
.app-footer{margin-top:auto;padding:16px 22px;color:var(--pc-muted-navy);font-size:13px;text-align:center;border-top:1px solid var(--pc-border);background:transparent;}

/* ---- Estados vacíos consistentes ---- */
.pc-card .text-muted i,.crm-card .text-muted i{opacity:.9;}

/* ---- Responsivo fino ---- */
@media (max-width:576px){
  .app-content{padding:16px 14px;}
  .crm-welcome h2{font-size:22px;}
  .table-responsive{border-radius:5px;}
  #pwa-install-btn{right:12px;bottom:12px;padding:10px 14px;font-size:13px;}
}
