/* r4.3.182 — Estas dos reglas son ESTRUCTURALES, no estéticas, y estaban dentro del
   @media (min-width:1024px). Por debajo de ese ancho (un portátil al 150% de escala,
   o una ventana partida) se pintaban a la vez la tabla Y las tarjetas, y la ficha de
   empresa mostraba sus cuatro paneles apilados. Ocultar no es decorar. */
#page-empresas .crm260-hidden{display:none!important}
#mo-emp-det .crm260-pane{display:none}

/*
 * MOD-260 · Empresas + Contactos revamp
 * Desktop-only and strictly namespaced. Existing mobile layers remain canonical.
 */
/* ═══ PALETA (r4.3.185) ═══════════════════════════════════════════════════════
   FUERA del @media y con los MODALES incluidos. Antes vivía sólo en
   `#page-empresas/.crm260-page`, pero `#mo-emp-det` y `#mo-con-det` se montan en
   <body> — son hermanos de la página, no descendientes — así que no heredaban
   ninguna variable. Con `var()` sin definir el navegador invalida la declaración
   completa: los `border:1px solid var(--crm-line)` quedaban en `border:none` y los
   fondos transparentes, en DÍA y en NOCHE. Declarar variables no pinta nada, así que
   pueden vivir en cualquier ancho sin efectos. */
body:not(.mobile-mode) #page-empresas.crm260-page,
body:not(.mobile-mode) #page-contactos.crm260-page,
#mo-emp-det,
#mo-con-det{
    --crm-bg:#f7f8fa;
    --crm-surface:#fff;
    --crm-line:#e7e9ed;
    --crm-line-strong:#d9dde4;
    --crm-text:#172033;
    --crm-text-2:#4f5b70;
    --crm-muted:#8a94a6;
    --crm-blue:#2563eb;
    --crm-blue-soft:#eff5ff;
    --crm-green:#16865c;
    --crm-green-soft:#edf9f3;
    --crm-red:#c24145;
    --crm-red-soft:#fff1f1;
    --crm-warn:#a36b08;
    --crm-warn-soft:#fff8e7;
    /* r4.3.185 — La paleta estaba incompleta: 112 reglas de este archivo pintaban con
       el hex a pelo, así que el bloque de noche (que sólo remapea variables) no las
       tocaba y Empresas/Contactos se quedaban BLANCOS sobre el shell oscuro. Todo el
       color vive ahora aquí y se remapea una sola vez al final del archivo. */
    --crm-hover:#fafbfd;
    --crm-th:#fafbfc;
    --crm-chip:#f1f3f5;
    --crm-blue-strong:#1d4ed8;
    --crm-blue-line:#d5e2fa;
    --crm-blue-hover:#acc4f8;
    --crm-on-blue:#fff;
    --crm-green-line:#cfeadb;
    --crm-red-line:#f1d3d5;
    --crm-warn-line:#f1e0b6;
    --crm-warn-tx:#8a6119;
    --crm-shadow-sm:rgba(16,24,40,.08);
    --crm-shadow-md:rgba(16,24,40,.07);
}

@media (min-width:1024px){
  body:not(.mobile-mode) #page-empresas.crm260-page,
  body:not(.mobile-mode) #page-contactos.crm260-page{
    font-family:var(--font);
    text-transform:none;
  }
  body:not(.mobile-mode) #page-empresas.crm260-page *,
  body:not(.mobile-mode) #page-contactos.crm260-page *{
    box-sizing:border-box;
    text-transform:none;
  }
  #page-empresas .crm260-page-head,
  #page-contactos .crm260-page-head{
    align-items:flex-start;
    display:flex;
    justify-content:space-between;
    gap:24px;
    margin:0 0 24px;
  }
  #page-empresas .crm260-crumb,
  #page-contactos .crm260-crumb{
    align-items:center;
    color:var(--crm-muted);
    display:flex;
    font-size:11px;
    font-weight:600;
    gap:7px;
    letter-spacing:.02em;
    margin-bottom:9px;
  }
  #page-empresas .crm260-crumb i,
  #page-contactos .crm260-crumb i{font-size:8px;opacity:.65}
  #page-empresas .crm260-title,
  #page-contactos .crm260-title{
    color:var(--crm-text);
    font-size:28px;
    font-weight:700;
    letter-spacing:-.025em;
    line-height:1.2;
    margin:0;
  }
  #page-empresas .crm260-sub,
  #page-contactos .crm260-sub{
    color:var(--crm-text-2);
    font-size:13px;
    margin-top:6px;
  }
  #page-empresas .crm260-head-actions,
  #page-contactos .crm260-head-actions{align-items:center;display:flex;gap:8px}
  #page-empresas .crm260-btn,
  #page-contactos .crm260-btn,
  #mo-emp-det .crm260-btn,
  #mo-con-det .crm260-btn{
    align-items:center;
    background:var(--crm-surface);
    border:1px solid var(--crm-line-strong);
    border-radius:8px;
    color:var(--crm-text-2);
    cursor:pointer;
    display:inline-flex;
    font-family:var(--font);
    font-size:12px;
    font-weight:600;
    gap:7px;
    height:36px;
    justify-content:center;
    padding:0 13px;
    white-space:nowrap;
  }
  #page-empresas .crm260-btn:hover,
  #page-contactos .crm260-btn:hover,
  #mo-emp-det .crm260-btn:hover,
  #mo-con-det .crm260-btn:hover{background:var(--crm-bg);color:var(--crm-text)}
  #page-empresas .crm260-btn.primary,
  #page-contactos .crm260-btn.primary,
  #mo-emp-det .crm260-btn.primary,
  #mo-con-det .crm260-btn.primary{background:var(--crm-blue);border-color:var(--crm-blue);color:var(--crm-on-blue)}
  #page-empresas .crm260-btn.primary:hover,
  #page-contactos .crm260-btn.primary:hover,
  #mo-emp-det .crm260-btn.primary:hover,
  #mo-con-det .crm260-btn.primary:hover{background:var(--crm-blue-strong);color:var(--crm-on-blue)}

  #page-empresas .crm260-metrics,
  #page-contactos .crm260-metrics{
    background:var(--crm-surface);
    border:1px solid var(--crm-line);
    border-radius:11px 11px 0 0;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:hidden;
  }
  #page-empresas .crm260-metric,
  #page-contactos .crm260-metric{min-width:0;padding:16px 18px}
  #page-empresas .crm260-metric+.crm260-metric,
  #page-contactos .crm260-metric+.crm260-metric{border-left:1px solid var(--crm-line)}
  #page-empresas .crm260-metric span,
  #page-contactos .crm260-metric span{
    align-items:center;
    color:var(--crm-muted);
    display:flex;
    font-size:9.5px;
    font-weight:650;
    gap:7px;
    letter-spacing:.07em;
    text-transform:uppercase;
  }
  #page-empresas .crm260-metric span i,
  #page-contactos .crm260-metric span i{font-size:12px}
  #page-empresas .crm260-metric b,
  #page-contactos .crm260-metric b{
    color:var(--crm-text);
    display:block;
    font-family:var(--font);
    font-size:23px;
    font-weight:600;
    letter-spacing:-.02em;
    margin-top:7px;
  }
  #page-empresas .crm260-metric small,
  #page-contactos .crm260-metric small{color:var(--crm-muted);display:block;font-size:9.5px;margin-top:3px}

  body:not(.mobile-mode) #page-empresas .crm260-toolbar,
  body:not(.mobile-mode) #page-contactos .crm260-toolbar{
    align-items:center;
    background:var(--crm-surface);
    border:1px solid var(--crm-line);
    border-radius:0;
    border-top:0;
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    margin:0;
    min-height:56px;
    padding:10px 12px;
  }
  body:not(.mobile-mode) #page-empresas .crm260-toolbar .finp,
  body:not(.mobile-mode) #page-empresas .crm260-toolbar .fsel,
  body:not(.mobile-mode) #page-empresas .crm260-toolbar .crm260-select{
    background:var(--crm-surface);
    border:1px solid var(--crm-line-strong);
    border-radius:8px;
    color:var(--crm-text-2);
    font-family:var(--font);
    font-size:12.5px;
    height:36px;
  }
  body:not(.mobile-mode) #page-empresas .crm260-toolbar .finp{
    flex:1 1 380px;
    max-width:470px;
    padding:0 12px;
  }
  body:not(.mobile-mode) #page-empresas .crm260-toolbar .fsel,
  body:not(.mobile-mode) #page-empresas .crm260-toolbar .crm260-select{
    max-width:190px;
    min-width:145px;
    padding:0 28px 0 10px;
  }
  #page-empresas .crm260-count{color:var(--crm-muted);font-family:var(--font);font-size:11px;white-space:nowrap}
  #page-empresas .crm260-view-switch{
    align-items:center;
    background:var(--crm-th);
    border:1px solid var(--crm-line);
    border-radius:8px;
    display:flex;
    gap:2px;
    height:34px;
    padding:2px;
  }
  #page-empresas .crm260-view-switch button{
    align-items:center;
    background:transparent;
    border:0;
    border-radius:6px;
    color:var(--crm-muted);
    cursor:pointer;
    display:flex;
    height:28px;
    justify-content:center;
    width:30px;
  }
  #page-empresas .crm260-view-switch button.active{background:var(--crm-surface);box-shadow:0 1px 2px var(--crm-shadow-sm);color:var(--crm-text-2)}

  body:not(.mobile-mode) #page-empresas #crm260-emp-table{
    background:var(--crm-surface);
    border:1px solid var(--crm-line);
    border-radius:0 0 11px 11px;
    border-top:0;
    box-shadow:0 1px 2px var(--crm-shadow-sm);
    margin:0;
    max-height:none;
    overflow:auto;
  }
  body:not(.mobile-mode) #page-empresas #crm260-emp-table table{font-family:var(--font);width:100%}
  body:not(.mobile-mode) #page-empresas #crm260-emp-table thead th{
    background:var(--crm-th);
    border-bottom:1px solid var(--crm-line);
    color:var(--crm-muted);
    font-family:var(--font);
    font-size:9px;
    font-weight:650;
    height:37px;
    letter-spacing:.07em;
    padding:0 13px;
    position:sticky;
    text-align:left;
    text-transform:uppercase;
    top:0;
  }
  body:not(.mobile-mode) #page-empresas #crm260-emp-table tbody td{
    border-bottom:1px solid var(--crm-line);
    color:var(--crm-text-2);
    font-size:12px;
    height:56px;
    padding:8px 13px;
    vertical-align:middle;
  }
  body:not(.mobile-mode) #page-empresas #crm260-emp-table tbody tr:hover td{background:var(--crm-hover)}
  body:not(.mobile-mode) #page-empresas #crm260-emp-table .ibtn{
    align-items:center;
    background:transparent;
    border:1px solid transparent;
    border-radius:7px;
    color:var(--crm-muted);
    display:inline-flex;
    height:29px;
    justify-content:center;
    padding:0;
    width:29px;
  }
  body:not(.mobile-mode) #page-empresas #crm260-emp-table .ibtn:hover{background:var(--crm-hover);border-color:var(--crm-line);color:var(--crm-text-2)}
  body:not(.mobile-mode) #page-empresas #crm260-emp-table .ibtn.danger{opacity:.18}
  body:not(.mobile-mode) #page-empresas #crm260-emp-table tr:hover .ibtn.danger{opacity:1}

  #page-empresas .crm260-company-grid{
    display:grid;
    gap:12px;
    grid-template-columns:repeat(3,minmax(230px,1fr));
    margin-top:12px;
  }
  #page-empresas .crm260-company-card{
    background:var(--crm-surface);
    border:1px solid var(--crm-line);
    border-radius:11px;
    color:var(--crm-text);
    cursor:pointer;
    min-width:0;
    padding:17px;
    text-align:left;
    transition:.14s ease;
  }
  #page-empresas .crm260-company-card:hover{border-color:var(--crm-blue-hover);box-shadow:0 8px 22px var(--crm-shadow-md);transform:translateY(-1px)}
  #page-empresas .crm260-card-top{align-items:flex-start;display:flex;gap:10px}
  #page-empresas .crm260-avatar{
    align-items:center;
    background:var(--crm-blue-soft);
    border:1px solid var(--crm-blue-line);
    border-radius:9px;
    color:var(--crm-blue);
    display:flex;
    flex:0 0 auto;
    font-size:12px;
    font-weight:700;
    height:36px;
    justify-content:center;
    width:36px;
  }
  #page-empresas .crm260-card-copy{flex:1;min-width:0}
  #page-empresas .crm260-card-copy b,
  #page-empresas .crm260-card-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #page-empresas .crm260-card-copy b{font-size:12.5px}
  #page-empresas .crm260-card-copy small{color:var(--crm-muted);font-size:9.5px;margin-top:3px}
  #page-empresas .crm260-card-top>i{color:var(--crm-muted);font-size:12px;margin-top:4px}
  #page-empresas .crm260-card-chips{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0}
  #page-empresas .crm260-card-stats{border-top:1px solid var(--crm-line);display:grid;gap:10px;grid-template-columns:1.3fr .7fr .7fr;padding-top:13px}
  #page-empresas .crm260-card-stats small,
  #page-empresas .crm260-card-stats b{display:block}
  #page-empresas .crm260-card-stats small{color:var(--crm-muted);font-size:8.5px;margin-bottom:3px;text-transform:uppercase}
  #page-empresas .crm260-card-stats b{font-family:var(--font);font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis}
body:not(.mobile-mode) #page-contactos .cl-head{margin:0 0 24px;padding:0}
  body:not(.mobile-mode) #page-contactos .cl-crumb{margin-bottom:9px}
  body:not(.mobile-mode) #page-contactos .cl-title{color:var(--crm-text);font-size:28px;font-weight:700;letter-spacing:-.025em}
  body:not(.mobile-mode) #page-contactos .cl-sub{color:var(--crm-text-2)}
  body:not(.mobile-mode) #page-contactos #banner-contactos-info{display:none!important}
  body:not(.mobile-mode) #page-contactos .cl-banner{margin:12px 0 0}
  body:not(.mobile-mode) #page-contactos .crm260-metrics+.cl-banner{border-radius:0;margin:0}
  body:not(.mobile-mode) #page-contactos .cl-toolbar{border-top:0}
  body:not(.mobile-mode) #page-contactos .cl-search,
  body:not(.mobile-mode) #page-contactos .cl-sel,
  body:not(.mobile-mode) #page-contactos .cl-chkfilter{border-radius:8px;height:36px}
  body:not(.mobile-mode) #page-contactos .cl-tab{font-family:var(--font)}
  body:not(.mobile-mode) #page-contactos .cl-tblwrap{border-radius:11px;margin-top:12px}
  body:not(.mobile-mode) #page-contactos .cl-table{font-family:var(--font)}
  body:not(.mobile-mode) #page-contactos .cl-table thead th{font-family:var(--font);font-size:9.5px;height:37px;padding:0 13px}
  body:not(.mobile-mode) #page-contactos .cl-table tbody td{height:56px;padding:9px 13px}

  /* Shared details */
  body:not(.mobile-mode) #mo-emp-det .ed-box,
  body:not(.mobile-mode) #mo-con-det .cd-box{
    border-radius:14px;
    font-family:var(--font);
    max-height:95vh;
    width:min(1220px,97vw);
  }
  body:not(.mobile-mode) #mo-emp-det .ed-head,
  body:not(.mobile-mode) #mo-con-det .cd-head{padding-left:28px;padding-right:28px}
  body:not(.mobile-mode) #mo-emp-det .ed-acts,
  body:not(.mobile-mode) #mo-con-det .cd-acts{padding-left:28px;padding-right:28px}
  body:not(.mobile-mode) #mo-emp-det .ed-body,
  body:not(.mobile-mode) #mo-con-det .cd-body{grid-template-columns:minmax(0,1fr) 320px}
  body:not(.mobile-mode) #mo-emp-det .ed-main,
  body:not(.mobile-mode) #mo-con-det .cd-main{min-width:0}
  body:not(.mobile-mode) #mo-emp-det .ed-card,
  body:not(.mobile-mode) #mo-con-det .cd-card{border-radius:10px;box-shadow:none}

  #mo-emp-det .crm260-tabs{
    align-items:center;
    border-bottom:1px solid var(--crm-line);
    display:flex;
    flex:0 0 auto;
    gap:22px;
    margin:-4px 0 16px;
    min-height:43px;
    overflow-x:auto;
  }
  #mo-emp-det .crm260-tabs button{
    align-items:center;
    background:transparent;
    border:0;
    border-bottom:2px solid transparent;
    color:var(--crm-muted);
    cursor:pointer;
    display:flex;
    font-family:var(--font);
    font-size:12px;
    gap:6px;
    height:42px;
    padding:0 1px;
    white-space:nowrap;
  }
  #mo-emp-det .crm260-tabs button.active{border-bottom-color:var(--crm-blue);color:var(--crm-text);font-weight:650}
  #mo-emp-det .crm260-tabs button span{background:var(--crm-chip);border-radius:999px;font-family:var(--font);font-size:9px;padding:2px 6px}
#mo-emp-det .crm260-pane.active{display:block}

  #mo-emp-det .crm260-section-head,
  #mo-emp-det .crm260-products-head,
  #mo-con-det .crm260-products-head{
    align-items:center;
    background:var(--crm-surface);
    border:1px solid var(--crm-line);
    border-radius:10px 10px 0 0;
    display:flex;
    gap:10px;
    justify-content:space-between;
    min-height:55px;
    padding:9px 14px;
  }
  #mo-emp-det .crm260-section-head>div>b,
  #mo-emp-det .crm260-section-head>div>span,
  #mo-emp-det .crm260-products-head>div>b,
  #mo-emp-det .crm260-products-head>div>span,
  #mo-con-det .crm260-products-head>div>b,
  #mo-con-det .crm260-products-head>div>span{display:block}
  #mo-emp-det .crm260-section-head>div>b,
  #mo-emp-det .crm260-products-head>div>b,
  #mo-con-det .crm260-products-head>div>b{color:var(--crm-text);font-size:12px}
  #mo-emp-det .crm260-section-head>div>span,
  #mo-emp-det .crm260-products-head>div>span,
  #mo-con-det .crm260-products-head>div>span{color:var(--crm-muted);font-size:9.5px;margin-top:3px}
  #mo-emp-det .crm260-contact-list{background:var(--crm-surface);border:1px solid var(--crm-line);border-radius:0 0 10px 10px;border-top:0;overflow:hidden}
  #mo-emp-det .crm260-contact-list>button{
    align-items:center;
    background:var(--crm-surface);
    border:0;
    border-bottom:1px solid var(--crm-line);
    color:var(--crm-text);
    cursor:pointer;
    display:flex;
    gap:11px;
    min-height:62px;
    padding:10px 14px;
    text-align:left;
    width:100%;
  }
  #mo-emp-det .crm260-contact-list>button:last-child{border-bottom:0}
  #mo-emp-det .crm260-contact-list>button:hover{background:var(--crm-hover)}
  #mo-emp-det .crm260-contact-list>button>span:nth-child(2){flex:1;min-width:0}
  #mo-emp-det .crm260-contact-list>button b,
  #mo-emp-det .crm260-contact-list>button small{display:block}
  #mo-emp-det .crm260-contact-list>button b{font-size:12px}
  #mo-emp-det .crm260-contact-list>button small{color:var(--crm-muted);font-size:10px;margin-top:3px}
  #mo-emp-det .crm260-contact-list>button>i{color:var(--crm-muted);font-size:11px}
  #mo-emp-det .crm260-person{
    align-items:center;
    background:var(--crm-blue-soft);
    border-radius:50%;
    color:var(--crm-blue);
    display:flex;
    flex:0 0 auto;
    font-size:11px;
    font-weight:700;
    height:34px;
    justify-content:center;
    width:34px;
  }

  #mo-emp-det .crm260-deal-kpis,
  #mo-con-det .crm260-deal-kpis{
    display:grid;
    gap:8px;
    grid-template-columns:repeat(5,minmax(0,1fr));
    margin-bottom:10px;
  }
  #mo-emp-det .crm260-deal-kpis>div,
  #mo-con-det .crm260-deal-kpis>div{
    background:var(--crm-surface);
    border:1px solid var(--crm-line);
    border-radius:9px;
    min-width:0;
    padding:11px 12px;
  }
  #mo-emp-det .crm260-deal-kpis small,
  #mo-emp-det .crm260-deal-kpis b,
  #mo-con-det .crm260-deal-kpis small,
  #mo-con-det .crm260-deal-kpis b{display:block}
  #mo-emp-det .crm260-deal-kpis small,
  #mo-con-det .crm260-deal-kpis small{color:var(--crm-muted);font-size:8px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
  #mo-emp-det .crm260-deal-kpis b,
  #mo-con-det .crm260-deal-kpis b{color:var(--crm-text);font-family:var(--font);font-size:16px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #mo-emp-det .crm260-deal-kpis b.green,
  #mo-con-det .crm260-deal-kpis b.green{color:var(--crm-green)}
  #mo-emp-det .crm260-deal-kpis b.red,
  #mo-con-det .crm260-deal-kpis b.red{color:var(--crm-red)}
  #mo-emp-det .crm260-table-wrap,
  #mo-con-det .crm260-table-wrap{background:var(--crm-surface);border:1px solid var(--crm-line);border-radius:10px;overflow:auto}
  #mo-emp-det .crm260-table,
  #mo-con-det .crm260-table{border-collapse:collapse;font-family:var(--font);min-width:720px;width:100%}
  #mo-emp-det .crm260-table th,
  #mo-con-det .crm260-table th{background:var(--crm-th);border-bottom:1px solid var(--crm-line);color:var(--crm-muted);font-family:var(--font);font-size:8.5px;letter-spacing:.06em;padding:10px 11px;text-align:left;text-transform:uppercase}
  #mo-emp-det .crm260-table td,
  #mo-con-det .crm260-table td{border-bottom:1px solid var(--crm-line);color:var(--crm-text-2);font-size:10.5px;height:52px;padding:8px 11px}
  #mo-emp-det .crm260-table tr:last-child td,
  #mo-con-det .crm260-table tr:last-child td{border-bottom:0}
  #mo-emp-det .crm260-table tr.crm260-subdeal td,
  #mo-con-det .crm260-table tr.crm260-subdeal td{background:var(--crm-th);opacity:.78}
  #mo-emp-det .crm260-deal-link,
  #mo-con-det .crm260-deal-link{background:transparent;border:0;color:var(--crm-text);cursor:pointer;display:block;text-align:left}
  #mo-emp-det .crm260-deal-link b,
  #mo-emp-det .crm260-deal-link small,
  #mo-con-det .crm260-deal-link b,
  #mo-con-det .crm260-deal-link small{display:block}
  #mo-emp-det .crm260-deal-link b,
  #mo-con-det .crm260-deal-link b{font-family:var(--font);font-size:10.5px}
  #mo-emp-det .crm260-deal-link small,
  #mo-con-det .crm260-deal-link small{color:var(--crm-muted);font-size:8.5px;margin-top:3px}
  #mo-emp-det .crm260-num,
  #mo-con-det .crm260-num{font-family:var(--font);font-variant-numeric:tabular-nums}
  #mo-emp-det .crm260-legacy,
  #mo-con-det .crm260-legacy{color:var(--crm-warn);display:block;font-size:8px;margin-top:2px}
  #mo-emp-det .crm260-footnote,
  #mo-con-det .crm260-footnote{color:var(--crm-muted);font-size:9px;margin:8px 2px}

  #mo-emp-det .crm260-badge,
  #mo-con-det .crm260-badge,
  #page-empresas .crm260-badge{
    align-items:center;
    background:var(--crm-th);
    border:1px solid var(--crm-line);
    border-radius:999px;
    color:var(--crm-text-2);
    display:inline-flex;
    font-family:var(--font);
    font-size:9px;
    font-weight:600;
    gap:5px;
    min-height:20px;
    padding:2px 7px;
    white-space:nowrap;
  }
  #mo-emp-det .crm260-badge.win,
  #mo-con-det .crm260-badge.win{background:var(--crm-green-soft);border-color:var(--crm-green-line);color:var(--crm-green)}
  #mo-emp-det .crm260-badge.lost,
  #mo-con-det .crm260-badge.lost{background:var(--crm-red-soft);border-color:var(--crm-red-line);color:var(--crm-red)}
  #mo-emp-det .crm260-badge.open,
  #mo-con-det .crm260-badge.open{background:var(--crm-blue-soft);border-color:var(--crm-blue-line);color:var(--crm-blue)}
  #mo-emp-det .crm260-badge.warn{background:var(--crm-warn-soft);border-color:var(--crm-warn-line);color:var(--crm-warn)}

  #mo-emp-det .crm260-products,
  #mo-con-det .crm260-products,
  #mo-emp-det #crm260-emp-products,
  #mo-con-det #crm260-con-products{color:var(--crm-text)}
  #mo-con-det .crm260-contact-products{padding-top:14px}
  #mo-emp-det .crm260-loading,
  #mo-con-det .crm260-loading,
  #mo-emp-det .crm260-empty,
  #mo-con-det .crm260-empty,
  #page-empresas .crm260-empty{
    align-items:center;
    background:var(--crm-surface);
    border:1px solid var(--crm-line);
    border-radius:10px;
    color:var(--crm-muted);
    display:flex;
    flex-direction:column;
    gap:7px;
    justify-content:center;
    min-height:180px;
    padding:24px;
    text-align:center;
  }
  #mo-emp-det .crm260-loading i,
  #mo-con-det .crm260-loading i,
  #mo-emp-det .crm260-empty i,
  #mo-con-det .crm260-empty i,
  #page-empresas .crm260-empty i{color:var(--crm-blue);font-size:22px}
  #mo-emp-det .crm260-loading b,
  #mo-con-det .crm260-loading b,
  #mo-emp-det .crm260-empty b,
  #mo-con-det .crm260-empty b,
  #page-empresas .crm260-empty b{color:var(--crm-text-2);font-size:12px}
  #mo-emp-det .crm260-loading span,
  #mo-con-det .crm260-loading span,
  #mo-emp-det .crm260-empty span,
  #mo-con-det .crm260-empty span,
  #page-empresas .crm260-empty span{font-size:10px}
  #mo-emp-det .crm260-empty.error i,
  #mo-con-det .crm260-empty.error i{color:var(--crm-red)}
  #mo-emp-det .crm260-products-head,
  #mo-con-det .crm260-products-head{border-radius:10px;margin-bottom:9px}
  #mo-emp-det .crm260-state,
  #mo-con-det .crm260-state{background:var(--crm-green-soft);border-radius:999px;color:var(--crm-green);font-size:9px;font-weight:650;margin-left:auto;padding:4px 8px}
  #mo-emp-det .crm260-state.partial,
  #mo-con-det .crm260-state.partial{background:var(--crm-warn-soft);color:var(--crm-warn)}
  #mo-emp-det .crm260-diagnostics,
  #mo-con-det .crm260-diagnostics{background:var(--crm-warn-soft);border:1px solid var(--crm-warn-line);border-radius:8px;color:var(--crm-warn-tx);font-size:9.5px;margin-bottom:9px;padding:8px 10px}
  #mo-emp-det .crm260-diagnostics summary,
  #mo-con-det .crm260-diagnostics summary{cursor:pointer;font-weight:650}
  #mo-emp-det .crm260-diagnostics ul,
  #mo-con-det .crm260-diagnostics ul{margin:8px 0 0;padding-left:18px}
  #mo-emp-det .crm260-product-layout,
  #mo-con-det .crm260-product-layout{display:grid;gap:10px;grid-template-columns:minmax(420px,1.2fr) minmax(270px,.8fr)}
  #mo-emp-det .crm260-product-list,
  #mo-con-det .crm260-product-list{background:var(--crm-surface);border:1px solid var(--crm-line);border-radius:10px;overflow:hidden}
  #mo-emp-det .crm260-list-title,
  #mo-con-det .crm260-list-title{align-items:center;background:var(--crm-th);border-bottom:1px solid var(--crm-line);display:flex;justify-content:space-between;min-height:40px;padding:8px 12px}
  #mo-emp-det .crm260-list-title b,
  #mo-con-det .crm260-list-title b{font-size:10.5px}
  #mo-emp-det .crm260-list-title span,
  #mo-con-det .crm260-list-title span{color:var(--crm-muted);font-size:8.5px}
  #mo-emp-det .crm260-product-row,
  #mo-con-det .crm260-product-row{
    align-items:center;
    background:var(--crm-surface);
    border:0;
    border-bottom:1px solid var(--crm-line);
    color:var(--crm-text);
    cursor:pointer;
    display:grid;
    gap:10px;
    grid-template-columns:1fr 58px 105px 12px;
    min-height:59px;
    padding:9px 12px;
    text-align:left;
    width:100%;
  }
  #mo-emp-det .crm260-product-row:hover,
  #mo-con-det .crm260-product-row:hover,
  #mo-emp-det .crm260-product-row.active,
  #mo-con-det .crm260-product-row.active{background:var(--crm-blue-soft)}
  #mo-emp-det .crm260-product-row.active,
  #mo-con-det .crm260-product-row.active{box-shadow:inset 3px 0 var(--crm-blue)}
  #mo-emp-det .crm260-product-row b,
  #mo-emp-det .crm260-product-row small,
  #mo-con-det .crm260-product-row b,
  #mo-con-det .crm260-product-row small{display:block}
  #mo-emp-det .crm260-product-row b,
  #mo-con-det .crm260-product-row b{font-size:9.5px;overflow:hidden;text-overflow:ellipsis}
  #mo-emp-det .crm260-product-row small,
  #mo-con-det .crm260-product-row small{color:var(--crm-muted);font-size:7.8px;margin-top:3px}
  #mo-emp-det .crm260-product-row>i,
  #mo-con-det .crm260-product-row>i{color:var(--crm-muted);font-size:9px}
  #mo-emp-det .crm260-price-panel,
  #mo-con-det .crm260-price-panel{background:var(--crm-surface);border:1px solid var(--crm-line);border-radius:10px;min-width:0;padding:14px}
  #mo-emp-det .crm260-price-head,
  #mo-con-det .crm260-price-head{border-bottom:1px solid var(--crm-line);padding-bottom:11px}
  #mo-emp-det .crm260-price-head small,
  #mo-emp-det .crm260-price-head b,
  #mo-con-det .crm260-price-head small,
  #mo-con-det .crm260-price-head b{display:block}
  #mo-emp-det .crm260-price-head small,
  #mo-con-det .crm260-price-head small{color:var(--crm-muted);font-family:var(--font);font-size:8px}
  #mo-emp-det .crm260-price-head b,
  #mo-con-det .crm260-price-head b{font-size:11px;line-height:1.35;margin-top:4px}
  #mo-emp-det .crm260-price-stats,
  #mo-con-det .crm260-price-stats{display:grid;gap:6px;grid-template-columns:repeat(2,1fr);margin:11px 0}
  #mo-emp-det .crm260-price-stats span,
  #mo-con-det .crm260-price-stats span{background:var(--crm-th);border:1px solid var(--crm-line);border-radius:7px;padding:8px}
  #mo-emp-det .crm260-price-stats small,
  #mo-emp-det .crm260-price-stats b,
  #mo-con-det .crm260-price-stats small,
  #mo-con-det .crm260-price-stats b{display:block}
  #mo-emp-det .crm260-price-stats small,
  #mo-con-det .crm260-price-stats small{color:var(--crm-muted);font-size:7px;text-transform:uppercase}
  #mo-emp-det .crm260-price-stats b,
  #mo-con-det .crm260-price-stats b{font-family:var(--font);font-size:10px;margin-top:4px}
  #mo-emp-det .crm260-price-events>div,
  #mo-con-det .crm260-price-events>div{border-left:1px solid var(--crm-line);margin-left:4px;padding:0 0 12px 13px;position:relative}
  #mo-emp-det .crm260-price-events>div:before,
  #mo-con-det .crm260-price-events>div:before{background:var(--crm-surface);border:2px solid var(--crm-blue);border-radius:50%;content:"";height:7px;left:-5px;position:absolute;top:3px;width:7px}
  #mo-emp-det .crm260-price-events b,
  #mo-emp-det .crm260-price-events span,
  #mo-con-det .crm260-price-events b,
  #mo-con-det .crm260-price-events span{display:block}
  #mo-emp-det .crm260-price-events b,
  #mo-con-det .crm260-price-events b{font-family:var(--font);font-size:9.5px}
  #mo-emp-det .crm260-price-events span,
  #mo-con-det .crm260-price-events span{color:var(--crm-muted);font-size:7.8px;line-height:1.45;margin-top:2px}


  /* Los parches puntuales que había aquí (tabs, métricas, toolbar, tabla y tarjetas)
     se eliminaron: esas reglas ya leen la paleta de arriba. */
}

/*
 * The Desktop root includes body:not(.mobile-mode), so the theme selector
 * must carry the same boundary (plus html) or its variables lose on
 * specificity in Midnight. Keep this near EOF for an auditable cascade.
 */
html[data-mode="noche"] body:not(.mobile-mode) #page-empresas.crm260-page,
html[data-mode="noche"] body:not(.mobile-mode) #page-contactos.crm260-page,
html[data-mode="noche"] #mo-emp-det,
html[data-mode="noche"] #mo-con-det{
  /* 4.3.202 — alineado al casi negro neutro global. Antes era índigo propio. */
  --crm-bg:#0d1117;--crm-surface:#161b22;--crm-line:#30363d;
  --crm-line-strong:#3d444d;--crm-text:#e6edf3;--crm-text-2:#adbac7;--crm-muted:#8b949e;
  /* r4.3.185 — el resto de la paleta. Sin esto los blancos, los grises de encabezado
     y los chips de estado se quedaban claros aunque el fondo ya fuera oscuro. */
  --crm-hover:#21262d;
  --crm-th:#21262d;
  --crm-chip:#30363d;
  --crm-blue:#6b8cff;
  --crm-blue-strong:#8aa4ff;
  --crm-blue-soft:rgba(107,140,255,.14);
  --crm-blue-line:rgba(107,140,255,.34);
  --crm-blue-hover:rgba(107,140,255,.5);
  --crm-on-blue:#0b1020;
  --crm-green:#5fd6ab;
  --crm-green-soft:rgba(95,214,171,.13);
  --crm-green-line:rgba(95,214,171,.32);
  --crm-red:#ff7089;
  --crm-red-soft:rgba(255,112,137,.13);
  --crm-red-line:rgba(255,112,137,.32);
  --crm-warn:#f2c15c;
  --crm-warn-tx:#f0cd85;
  --crm-warn-soft:rgba(242,193,92,.12);
  --crm-warn-line:rgba(242,193,92,.32);
  --crm-shadow-sm:rgba(0,0,0,.35);
  --crm-shadow-md:rgba(0,0,0,.42);
}
