/* =========================================================
   CMH Monterrey - capa visual moderna (cmhmty2)
   Paleta tomada del codigo original:
   #000066 navy (marca) | #000099 | #A7CAF0 / #99CCFF azul claro
   Estiliza el HTML legacy (tablas bgcolor, <font>, inputs) sin tocarlo.
   ========================================================= */
:root{
  --cmh-navy:#000066;
  --cmh-navy-2:#000099;
  --cmh-navy-dark:#0a0d3d;
  --cmh-sky:#A7CAF0;
  --cmh-sky-2:#99CCFF;
  --cmh-sky-50:#eef4fc;
  --cmh-sky-25:#f6f9fe;
  --cmh-bg:#f3f5f9;
  --cmh-card:#ffffff;
  --cmh-line:#e3e8f0;
  --cmh-text:#1d2433;
  --cmh-muted:#6b7385;
  --cmh-link:#1f3fae;
  --cmh-radius:10px;
  --cmh-shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
  --cmh-top-h:58px;
  --cmh-side-w:240px;
  --cmh-font:"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ---------- Base ---------- */
html,body{margin:0}
body{
  background:var(--cmh-bg) !important;
  color:var(--cmh-text);
  font-family:var(--cmh-font);
  font-size:13px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
body.cmh-shell{padding:calc(var(--cmh-top-h) + 22px) 24px 32px calc(var(--cmh-side-w) + 24px)}
body:not(.cmh-shell){padding:14px}

/* <font> legacy: tipografia uniforme, conserva color salvo en encabezados */
font{font-family:inherit !important}
font[size="1"]{font-size:12px}
font[size="2"]{font-size:13px}
font[size="3"]{font-size:15px}
font[size="4"]{font-size:18px}

a{color:var(--cmh-link);text-decoration:none}
a:hover{text-decoration:underline}
a img,img{border:0;vertical-align:middle}
hr{border:0;border-top:1px solid var(--cmh-line);margin:16px 0}

/* ---------- Tablas (estandar para TODAS) ----------
   Tarjeta: tablas con border="1" o con filas/celdas bgcolor (datos, info cliente, formularios).
   Tipografia unica: 13px en celdas, 11.5px mayusculas en encabezados <th>. */
table{border-collapse:separate;border-spacing:0}
table[border="1"],
table:has(> tbody > tr[bgcolor]),
table:has(> tbody > tr > td[bgcolor]){
  border:1px solid var(--cmh-line) !important;
  border-radius:var(--cmh-radius);
  background:var(--cmh-card);
  box-shadow:var(--cmh-shadow);
  overflow:hidden;
  margin:10px auto 16px;
}
table[border="1"]{min-width:min(420px,100%)}
table[border="1"] td, table[border="1"] th,
table:has(> tbody > tr[bgcolor]) > tbody > tr > td,
table:has(> tbody > tr[bgcolor]) > tbody > tr > th,
table:has(> tbody > tr > td[bgcolor]) > tbody > tr > td{
  border:0 !important;
  border-bottom:1px solid var(--cmh-line) !important;
  padding:8px 12px;
  vertical-align:middle;
}
table tr:last-child > td{border-bottom:0 !important}
table[border="1"] tr:hover > td{background-color:var(--cmh-sky-25)}

/* Tamano de letra unico dentro de tablas: se ignoran <font size>, <b>, <strong> anidados */
table td, table th{font-size:13px;line-height:1.45;color:var(--cmh-text)}
table font, table font[size], table td a, table td strong, table td b{font-size:inherit !important}
table td a, table td a:visited{color:var(--cmh-link)}
/* Celdas de acciones (solo iconos): en una linea */
table td:has(> a > img):not(:has(> font)),
table td:has(> p > a > img),
table td:has(> a.cmh-act),
table td:has(> p > a.cmh-act){white-space:nowrap;width:1%}
table td a > img{margin:0 2px}

/* Encabezados reales */
th{
  background:var(--cmh-sky-50) !important;
  color:var(--cmh-navy) !important;
  font-weight:600;
  font-size:11.5px !important;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}
th font, th a, th strong{color:var(--cmh-navy) !important;font-weight:600}

/* Filas/celdas navy legacy (#000066/#000099): franja clara, SIN mayusculas (pueden ser datos) */
[bgcolor="#000066" i],
[bgcolor="#000099" i]{background:var(--cmh-sky-50) !important;color:var(--cmh-navy) !important}
[bgcolor="#000066" i] font,[bgcolor="#000099" i] font,
[bgcolor="#000066" i] a,[bgcolor="#000099" i] a{color:var(--cmh-navy) !important}
tr[bgcolor="#000066" i] > td > font:first-child:only-child,
td[bgcolor="#000066" i] > font{font-weight:600}

/* Filas de formulario celestes (#A7CAF0/#99CCFF): etiqueta gris-azul a la izquierda */
[bgcolor="#A7CAF0" i],[bgcolor="#99CCFF" i]{background:var(--cmh-card) !important}
[bgcolor="#A7CAF0" i] > td:first-child,[bgcolor="#99CCFF" i] > td:first-child,
td[bgcolor="#A7CAF0" i],td[bgcolor="#99CCFF" i]{background:var(--cmh-sky-25) !important;width:1%;white-space:nowrap}
[bgcolor="#A7CAF0" i] font[color="#FFFFFF" i],[bgcolor="#99CCFF" i] font[color="#FFFFFF" i]{color:var(--cmh-muted) !important;font-weight:600}
[bgcolor="#A7CAF0" i] font[color="#000066" i],[bgcolor="#99CCFF" i] font[color="#000066" i]{color:var(--cmh-navy) !important;font-weight:700}
[bgcolor="#FFFFFF" i]{background-color:transparent}

/* Colores de texto legacy */
font[color="#000066" i],font[color="#0000665" i]{color:var(--cmh-text) !important}
font[color="#000099" i]{color:var(--cmh-navy) !important}
font[color="#FFFFFF" i]{color:inherit}

/* Titulos de pagina (tabla icono + "Manage X") */
table[border="0"] font[color="#000099" i] strong{
  font-size:20px !important;font-weight:700;color:var(--cmh-navy);letter-spacing:-.01em;
}

/* ---------- Formularios ---------- */
input,select,textarea,button{font-family:var(--cmh-font) !important}
input[type="text"],input[type="password"],input[type="email"],input[type="number"],
input[type="date"],input[type="month"],input[type="search"],input:not([type]),select,textarea{
  border:1px solid #cfd6e3 !important;
  border-radius:6px;
  background:#fff;
  color:var(--cmh-text) !important;
  font-weight:400 !important;
  font-size:13px !important;
  padding:6px 9px;
  box-sizing:border-box;
  max-width:100%;
  transition:border-color .15s,box-shadow .15s;
}
select{padding:6px 28px 6px 9px;min-height:32px}
input:focus,select:focus,textarea:focus{
  outline:0;border-color:var(--cmh-navy-2) !important;
  box-shadow:0 0 0 3px rgba(0,0,153,.12);
}
input[type="submit"],input[type="button"],input[type="reset"],button,input.btn{
  background:var(--cmh-navy) !important;
  color:#fff !important;
  border:1px solid var(--cmh-navy) !important;
  border-radius:6px;
  padding:7px 16px;
  font-size:12.5px !important;
  font-weight:600 !important;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .15s;
}
/* Hover unico para TODOS los botones: fondo azul + texto/icono blanco (antes solo cambiaba el fondo y el texto navy se perdia) */
input[type="submit"]:hover,input[type="button"]:hover,input[type="reset"]:hover,button:hover,input.btn:hover,a.cmh-btn-link:hover{background:var(--cmh-navy-2) !important;border-color:var(--cmh-navy-2) !important;color:#fff !important;text-decoration:none !important}
button:hover .bi,a.cmh-btn-link:hover .bi{color:#fff !important}
input[type="image"]{border:0 !important;padding:0}
form{margin:0 0 10px}

/* ---------- Paginacion (links sueltos en <center>) ---------- */
/* Paginador generado por assets/paginador.js */
.cmh-pager{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
  max-width:95%;margin:4px auto 20px;padding:10px 14px;box-sizing:border-box;
  background:var(--cmh-card);border:1px solid var(--cmh-line);border-radius:var(--cmh-radius);box-shadow:var(--cmh-shadow);
}
.cmh-pager-info{color:var(--cmh-muted);font-size:12.5px}
.cmh-pager-info strong{color:var(--cmh-text)}
.cmh-pager-list{display:flex;align-items:center;flex-wrap:wrap}
.cmh-pg{
  min-width:34px;height:34px;padding:0 10px;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--cmh-line);margin-left:-1px;background:#fff;
  color:var(--cmh-navy);font-size:13px;font-weight:500;text-decoration:none !important;
}
.cmh-pager-list .cmh-pg:first-child{border-radius:7px 0 0 7px;margin-left:0}
.cmh-pager-list .cmh-pg:last-child{border-radius:0 7px 7px 0}
a.cmh-pg:hover{background:var(--cmh-sky-50);position:relative;z-index:1}
.cmh-pg.active{background:var(--cmh-navy);border-color:var(--cmh-navy);color:#fff;font-weight:700;position:relative;z-index:2}
.cmh-pg.gap{color:var(--cmh-muted);background:#fff}
.cmh-pg.disabled{color:#b3b9c7;background:#fafbfd}
.cmh-pg-nav{padding:0 14px}
.cmh-pager-go{display:flex;align-items:center;gap:6px;margin:0;color:var(--cmh-muted);font-size:12.5px}
.cmh-pager-go input{width:70px !important;height:34px;padding:4px 8px !important}
.cmh-pager-go button{height:34px;padding:0 14px !important}
@media (max-width:900px){.cmh-pager{justify-content:center}.cmh-pager-info{width:100%;text-align:center}}
table[border="1"] td > p{margin:0;white-space:nowrap}

/* =========================================================
   Shell: topbar + sidebar (inyectado por menu.php)
   ========================================================= */
.cmh-topbar{
  position:fixed;top:0;left:0;right:0;height:var(--cmh-top-h);z-index:1000;
  display:flex;align-items:center;gap:14px;
  padding:0 20px 0 0;background:#fff;
  border-bottom:3px solid var(--cmh-sky);
  box-shadow:0 1px 2px rgba(16,24,40,.05);
}
.cmh-brand{
  width:var(--cmh-side-w);height:100%;box-sizing:border-box;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;padding:6px 14px;
  border-right:1px solid var(--cmh-line);
}
.cmh-brand img{max-height:42px;max-width:100%}
.cmh-burger{
  display:none;background:transparent !important;color:var(--cmh-navy) !important;
  border:1px solid var(--cmh-line) !important;padding:6px 10px !important;font-size:18px !important;
}
.cmh-page-title{font-size:16px;font-weight:600;color:var(--cmh-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmh-spacer{flex:1}
.cmh-user{
  display:flex;align-items:center;gap:10px;
  padding:5px 6px 5px 12px;border:1px solid var(--cmh-line);border-radius:999px;background:var(--cmh-sky-25);
}
.cmh-user .cmh-avatar{
  width:30px;height:30px;border-radius:50%;background:var(--cmh-navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;
}
.cmh-user .cmh-name{font-weight:600;color:var(--cmh-text);font-size:12.5px;white-space:nowrap}
.cmh-logout{
  display:inline-flex;align-items:center;gap:6px;color:var(--cmh-muted) !important;
  font-weight:600;font-size:12px;padding:6px 10px;border-radius:999px;
}
.cmh-logout:hover{background:#fdecec;color:#b42318 !important;text-decoration:none}

.cmh-sidebar{
  position:fixed;top:var(--cmh-top-h);bottom:0;left:0;width:var(--cmh-side-w);z-index:999;
  background:var(--cmh-navy-dark);color:#cdd3f0;overflow-y:auto;padding:10px 0 24px;
  box-sizing:border-box;
}
.cmh-sidebar a,.cmh-sidebar summary{
  display:flex;align-items:center;gap:10px;padding:10px 18px;
  color:#cdd3f0;font-size:13px;text-decoration:none;cursor:pointer;
}
.cmh-sidebar summary{list-style:none;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:12px;color:#fff}
.cmh-sidebar summary::-webkit-details-marker{display:none}
.cmh-sidebar summary::after{content:"\203A";margin-left:auto;font-size:18px;line-height:1;transition:transform .15s;opacity:.7}
.cmh-sidebar details[open] > summary::after{transform:rotate(90deg)}
.cmh-sidebar details{border-bottom:1px solid rgba(255,255,255,.06)}
.cmh-sidebar details > div{padding:0 0 6px}
.cmh-sidebar details a{padding:8px 18px 8px 44px;font-size:13px}
.cmh-sidebar .cmh-sub{padding:8px 18px 2px 44px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#8a92c4}
.cmh-sidebar a:hover,.cmh-sidebar summary:hover{background:rgba(167,202,240,.10);color:#fff;text-decoration:none}
.cmh-sidebar a.active{background:var(--cmh-navy-2);color:#fff;box-shadow:inset 3px 0 0 var(--cmh-sky)}
.cmh-sidebar a.cmh-top-link{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:12px;color:#fff;border-bottom:1px solid rgba(255,255,255,.06)}
.cmh-sidebar .bi{font-size:15px;width:18px;text-align:center;opacity:.9}
.cmh-backdrop{display:none}

/* ---------- Home ---------- */
.cmh-welcome{max-width:1440px}
.cmh-welcome h1{font-size:22px;color:var(--cmh-navy);margin:0 0 4px}
.cmh-welcome p{color:var(--cmh-muted);margin:0 0 20px}
.cmh-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.cmh-card{
  display:block;background:var(--cmh-card);border:1px solid var(--cmh-line);border-radius:var(--cmh-radius);
  box-shadow:var(--cmh-shadow);padding:18px;color:var(--cmh-text);transition:transform .12s,box-shadow .12s;
}
.cmh-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,102,.10)}
.cmh-card .bi{font-size:24px;color:var(--cmh-navy)}
.cmh-card strong{display:block;margin:10px 0 2px;font-size:14px}
.cmh-card span{color:var(--cmh-muted);font-size:12px}

/* ---------- Login ---------- */
.cmh-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;
  background:linear-gradient(135deg,var(--cmh-navy-dark) 0%,var(--cmh-navy) 55%,#1b2a8f 100%)}
body.cmh-login{padding:0 !important}
.cmh-login-card{width:100%;max-width:380px;background:#fff;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.30);overflow:hidden}
.cmh-login-card .cmh-login-head{padding:26px 28px 18px;text-align:center;border-bottom:3px solid var(--cmh-sky)}
.cmh-login-card .cmh-login-head img{max-width:250px;width:100%}
.cmh-login-card form{padding:22px 28px 26px;margin:0}
.cmh-login-card label{display:block;font-weight:600;font-size:12px;color:var(--cmh-muted);margin:0 0 5px;text-transform:uppercase;letter-spacing:.04em}
.cmh-login-card input[type="text"],.cmh-login-card input[type="password"]{width:100%;padding:10px 12px;margin-bottom:14px}
.cmh-login-card input[type="submit"]{width:100%;padding:11px;font-size:13px !important}
.cmh-login-foot{text-align:center;color:var(--cmh-muted);font-size:11px;padding:0 0 16px}
.cmh-msg{max-width:380px;margin:12vh auto;background:#fff;border:1px solid var(--cmh-line);border-radius:12px;box-shadow:var(--cmh-shadow);padding:26px;text-align:center}
.cmh-msg strong{display:block;color:#b42318;margin-bottom:14px}

/* ---------- Iconos de accion (assets/iconos.js) ---------- */
a.cmh-act{
  display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:1px 2px;
  border:1px solid var(--cmh-line);border-radius:7px;background:#fff;color:var(--cmh-navy) !important;
  font-size:14px;text-decoration:none !important;vertical-align:middle;transition:background .12s,border-color .12s,color .12s;
}
a.cmh-act:hover{background:var(--cmh-navy);border-color:var(--cmh-navy);color:#fff !important}
a.cmh-act.is-print{color:#475467 !important}
a.cmh-act.is-print:hover{background:#475467;border-color:#475467;color:#fff !important}
a.cmh-act.is-mail{color:#0e7490 !important}
a.cmh-act.is-mail:hover{background:#0e7490;border-color:#0e7490;color:#fff !important}
a.cmh-act.is-go{color:#067647 !important}
a.cmh-act.is-go:hover{background:#067647;border-color:#067647;color:#fff !important}
a.cmh-act.is-danger{color:#b42318 !important}
a.cmh-act.is-danger:hover{background:#b42318;border-color:#b42318;color:#fff !important}
.cmh-tip{
  position:fixed;z-index:9999;display:none;pointer-events:none;max-width:240px;
  background:#0a0d3d;color:#fff;font-size:11.5px;font-weight:500;line-height:1.3;
  padding:5px 9px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.2);white-space:nowrap;
}

/* ---------- Usuarios / formularios en dialogo ---------- */
.cmh-toolbar{display:flex;justify-content:flex-end;max-width:95%;margin:6px auto 0}
.cmh-toolbar button .bi{margin-right:6px}
.cmh-alert{display:flex;align-items:center;gap:8px;max-width:95%;margin:6px auto 10px;padding:10px 14px;border-radius:8px;font-weight:600;box-sizing:border-box}
.cmh-alert.is-ok{background:#e7f6ee;color:#067647;border:1px solid #b7e4c9}
.cmh-alert.is-err{background:#fdecec;color:#b42318;border:1px solid #f6c7c3}
form.cmh-inline{display:inline;margin:0}
button.cmh-act{
  display:inline-flex !important;align-items:center;justify-content:center;width:28px;height:28px;margin:1px 2px;padding:0 !important;
  border:1px solid var(--cmh-line) !important;border-radius:7px;background:#fff !important;color:var(--cmh-navy) !important;font-size:14px !important;vertical-align:middle;cursor:pointer
}
button.cmh-act.is-danger{color:#b42318 !important}
button.cmh-act.is-danger:hover{background:#b42318 !important;border-color:#b42318 !important;color:#fff !important}
.cmh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin:8px 0 0}
.cmh-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:600;color:var(--cmh-muted);text-transform:uppercase;letter-spacing:.04em}
.cmh-form-grid input,.cmh-form-grid select{width:100%;text-transform:none;letter-spacing:0}
.cmh-form-grid .span2{grid-column:1 / -1}
.cmh-form-grid .cmh-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
.cmh-btn-light{background:#fff !important;color:var(--cmh-text) !important;border:1px solid var(--cmh-line) !important}
.cmh-btn-light:hover{background:var(--cmh-navy-2) !important;border-color:var(--cmh-navy-2) !important;color:#fff !important}
@media (max-width:600px){.cmh-form-grid{grid-template-columns:1fr}}

/* ---------- Reporte de ordenes (report_orders.php) ---------- */
.cmh-rep .cmh-page-head h1{margin-bottom:12px}
.cmh-rep-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin:0 0 16px;padding:12px 14px;
  background:var(--cmh-card);border:1px solid var(--cmh-line);border-radius:var(--cmh-radius);box-shadow:var(--cmh-shadow)}
.cmh-rep-filters label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--cmh-muted);text-transform:uppercase;letter-spacing:.05em}
.cmh-rep-filters label.grow{flex:1 1 220px}
.cmh-rep-filters label.grow input,.cmh-rep-filters label.grow select{width:100%}
.cmh-rep-btns{display:flex;align-items:center;gap:8px}
.cmh-rep-btns button .bi{margin-right:4px}
.cmh-btn-link{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--cmh-line);border-radius:6px;background:#fff;
  color:var(--cmh-navy) !important;font-weight:600;font-size:12.5px;text-decoration:none !important}

.cmh-rep-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 0}
.cmh-rep .cmh-kpis{margin-bottom:14px}
.cmh-rep-table{margin-top:8px !important}
tr.cmh-subtotal td{background:var(--cmh-sky-50) !important;color:var(--cmh-navy);font-weight:700;border-bottom:2px solid var(--cmh-sky) !important}
.cmh-empty-state{padding:40px 20px;text-align:center;color:var(--cmh-muted);font-size:14px;background:var(--cmh-card);border:1px dashed var(--cmh-line);border-radius:var(--cmh-radius)}
.cmh-empty-state .bi{font-size:22px;display:block;margin-bottom:6px;color:var(--cmh-navy)}

/* ---------- Pagina de reportes ---------- */
.cmh-page-head h1{font-size:22px;color:var(--cmh-navy);margin:0 0 2px}
.cmh-page-head p{color:var(--cmh-muted);margin:0 0 18px}
.cmh-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:22px}
.cmh-kpi{display:flex;align-items:center;gap:14px;background:var(--cmh-card);border:1px solid var(--cmh-line);border-radius:var(--cmh-radius);box-shadow:var(--cmh-shadow);padding:16px}
.cmh-kpi-ic{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--cmh-sky-50);color:var(--cmh-navy);font-size:19px}
.cmh-kpi-ic.is-go{background:#e7f6ee;color:#067647}
.cmh-kpi small{display:block;color:var(--cmh-muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.cmh-kpi strong{font-size:19px;color:var(--cmh-text)}
.cmh-section{font-size:14px;font-weight:700;color:var(--cmh-navy);text-transform:uppercase;letter-spacing:.05em;margin:24px 0 10px}
.cmh-cards-sm{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.cmh-cards-sm .cmh-card{padding:14px 16px}
.cmh-report-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:20px;align-items:start}
.cmh-report-grid .cmh-filter,.cmh-report-grid .cmh-pager{max-width:100%}
.cmh-report-grid table[border="1"]{margin-top:10px}
@media (max-width:1600px){.cmh-report-grid{grid-template-columns:1fr}.cmh-report-grid section + section{max-width:820px}}
.cmh-muted{color:var(--cmh-muted) !important}
.cmh-badge{display:inline-block;min-width:44px;padding:2px 8px;border-radius:999px;font-weight:600;font-size:12px}
.cmh-badge.is-high{background:#e7f6ee;color:#067647}
.cmh-badge.is-mid{background:#fff5e0;color:#935f00}
.cmh-badge.is-low{background:#fdecec;color:#b42318}

/* ---------- Filtro de listados (assets/paginador.js) ---------- */
.cmh-filter{display:flex;align-items:center;gap:10px;max-width:95%;margin:10px auto 0;padding:8px 12px;
  background:var(--cmh-card);border:1px solid var(--cmh-line);border-radius:var(--cmh-radius);box-shadow:var(--cmh-shadow);box-sizing:border-box}
.cmh-filter .bi{color:var(--cmh-muted);font-size:15px}
.cmh-filter input[type="search"]{flex:1;border:0 !important;box-shadow:none !important;padding:6px 2px;font-size:13.5px !important;background:transparent}
.cmh-filter-count{color:var(--cmh-muted);font-size:12px;white-space:nowrap}
.cmh-pager-range{color:var(--cmh-muted)}
.cmh-empty{justify-content:center;color:var(--cmh-muted)}

/* ---------- LONG DESC editable (quotes_add / quotes_edit) ---------- */
table td a[href*="quotes_add_longdesc.php"]{
  display:block;color:var(--cmh-text) !important;font-size:12.5px;line-height:1.5;text-align:left;
  padding:6px 30px 6px 8px;margin:-4px -6px;border-radius:6px;border:1px dashed transparent;position:relative;
}
table td a[href*="quotes_add_longdesc.php"]:hover{background:var(--cmh-sky-25);border-color:var(--cmh-sky);text-decoration:none}
table td a[href*="quotes_add_longdesc.php"]:not(.cmh-act)::after{
  content:"\F4CB";font-family:"bootstrap-icons";position:absolute;right:8px;top:7px;color:var(--cmh-navy);opacity:0;transition:opacity .12s;
}
table td a[href*="quotes_add_longdesc.php"]:hover::after{opacity:1}
table td a.cmh-act[href*="quotes_add_longdesc.php"]{display:inline-flex;padding:0;margin:1px 2px;border-style:solid;border-color:var(--cmh-line)}

/* ---------- Barra de terminos + dialogo en pagina ---------- */
.cmh-terms-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:95%;margin:14px auto 20px;
  padding:10px 14px;background:var(--cmh-card);border:1px solid var(--cmh-line);border-radius:var(--cmh-radius);box-shadow:var(--cmh-shadow)}
.cmh-terms-bar button{margin-right:6px}
.cmh-terms-bar button .bi{margin-right:4px}
.cmh-chip{display:inline-flex;gap:6px;align-items:center;padding:4px 10px;border-radius:999px;background:var(--cmh-sky-50);color:var(--cmh-text);font-size:12px}
.cmh-chip b{color:var(--cmh-navy);font-weight:600}
.cmh-dlg{display:none;position:fixed;inset:0;z-index:3000;align-items:center;justify-content:center;background:rgba(10,13,61,.45)}
.cmh-dlg.open{display:flex;animation:cmhFade .15s ease-out}
.cmh-dlg-box{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;
  border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);animation:cmhPop .18s ease-out}
.cmh-dlg-body{padding:6px 16px 14px;overflow:auto}
.cmh-dlg-body table{width:100% !important;box-shadow:none !important}
.cmh-dlg-body input[type="text"]{width:100%}
.cmh-dlg-body p{margin:12px 0 0}

/* ---------- Pagina de descripcion larga (dentro del modal) ---------- */
.cmh-longdesc label{display:block;font-weight:600;font-size:12px;color:var(--cmh-muted);text-transform:uppercase;letter-spacing:.05em;margin:4px 0 6px}
.cmh-longdesc textarea{display:block;width:100%;min-height:300px;resize:vertical;line-height:1.5;font-size:13px !important}
.cmh-longdesc .cmh-actions{display:flex;justify-content:flex-end;margin-top:12px}

/* ---------- Modales (assets/modal.js) ---------- */
body.cmh-modal-open{overflow:hidden}
.cmh-modal{
  position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(10,13,61,.45);animation:cmhFade .15s ease-out;
}
.cmh-modal-box{
  display:flex;flex-direction:column;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);
  background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);
  animation:cmhPop .18s ease-out;
}
.cmh-modal-head{
  display:flex;align-items:center;gap:4px;padding:8px 8px 8px 16px;flex:0 0 auto;
  border-bottom:3px solid var(--cmh-sky);background:#fff;
}
.cmh-modal-title{flex:1;font-weight:700;font-size:13px;color:var(--cmh-navy);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmh-modal-btn{
  width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  background:transparent !important;border:0 !important;border-radius:8px;padding:0 !important;
  color:var(--cmh-muted) !important;font-size:16px !important;cursor:pointer;text-decoration:none !important;
}
.cmh-modal-btn:hover{background:var(--cmh-navy-2) !important;color:#fff !important}
.cmh-modal-x{font-size:24px !important;line-height:1}
.cmh-modal-x:hover{background:#b42318 !important;color:#fff !important}
.cmh-modal-box.cmh-modal-max{width:90vw !important;height:90vh !important}
.cmh-modal iframe{flex:1;width:100%;border:0;background:#fff}
html.cmh-in-modal body{background:#fff !important;padding:12px !important}
@keyframes cmhFade{from{opacity:0}to{opacity:1}}
@keyframes cmhPop{from{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}
@media (max-width:600px){.cmh-modal-box{width:100vw !important;height:100vh !important;max-width:none;max-height:none;border-radius:0}}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  :root{--cmh-side-w:220px}
  body.cmh-shell{padding-left:calc(var(--cmh-side-w) + 16px);padding-right:16px}
}
@media (max-width:900px){
  body.cmh-shell{padding-left:16px;padding-right:16px}
  .cmh-burger{display:inline-block}
  .cmh-brand{width:auto;border-right:0;padding-left:12px}
  .cmh-brand img{max-height:36px}
  .cmh-sidebar{transform:translateX(-100%);transition:transform .2s;width:260px}
  body.cmh-menu-open .cmh-sidebar{transform:none}
  body.cmh-menu-open .cmh-backdrop{display:block;position:fixed;inset:var(--cmh-top-h) 0 0 0;background:rgba(10,13,61,.35);z-index:998}
  .cmh-page-title,.cmh-user .cmh-name{display:none}
  /* (antes table{display:block}: rompia el ancho del encabezado; ahora .cmh-xscroll y DataTables Responsive) */
}

/* ---------- Impresion ---------- */
@media print{
  .cmh-topbar,.cmh-sidebar,.cmh-backdrop{display:none !important}
  body.cmh-shell{padding:0 !important;background:#fff !important}
  table[border="1"]{box-shadow:none}
}
.cmh-deco{font-size:15px;color:var(--cmh-navy);vertical-align:middle}
.cmh-rep-table td:nth-child(6){white-space:nowrap}

/* ---------- Dashboard del Home (dashboard.php) ---------- */
.dsh{margin-top:30px}
.dsh-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.dsh-head h2{margin:0;font-size:18px;color:var(--cmh-navy)}
.dsh-head h2 span{font-size:12.5px;font-weight:500;color:var(--cmh-muted);margin-left:6px}
.dsh-kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.dsh-kpis .cmh-kpi{align-items:flex-start}
.dsh-kpis em{display:block;font-style:normal;color:var(--cmh-muted);font-size:12px;margin-top:2px}
.cmh-kpi-ic.is-warn{background:#fff5e0;color:#935f00}
.dsh-delta{display:inline-flex;align-items:center;gap:3px;margin-top:4px;font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:999px}
.dsh-delta.up{background:#e7f6ee;color:#067647}
.dsh-delta.down{background:#fdecec;color:#b42318}
.dsh-card{background:var(--cmh-card);border:1px solid var(--cmh-line);border-radius:var(--cmh-radius);box-shadow:var(--cmh-shadow);padding:14px 16px}
.dsh-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.dsh-card-head h3{margin:0;font-size:13.5px;color:var(--cmh-text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dsh-card-head h3 .bi{color:var(--cmh-navy)}
.dsh-card-head > a{font-size:12px;font-weight:600;white-space:nowrap}
.dsh-chart-card{margin-bottom:16px}
.dsh-legend{display:flex;gap:14px;font-size:12px;color:var(--cmh-muted)}
.dsh-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.dsh-svg{width:100%;height:auto;display:block}
.dsh-svg .dsh-grid{stroke:#eef1f6;stroke-width:1}
.dsh-svg .dsh-grid.base{stroke:#cfd6e3}
.dsh-svg .dsh-ax{font-size:10.5px;fill:var(--cmh-muted);font-family:var(--cmh-font)}
.dsh-svg .dsh-hit{fill:transparent}
.dsh-svg .dsh-col:hover .dsh-hit{fill:var(--cmh-sky-25)}
.dsh-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1200px){.dsh-grid3{grid-template-columns:1fr 1fr}}
@media (max-width:800px){.dsh-grid3{grid-template-columns:1fr}}
.dsh-list{list-style:none;margin:0;padding:0}
.dsh-list li{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--cmh-line)}
.dsh-list li:first-child{border-top:0}
.dsh-list li > div{flex:1;min-width:0}
.dsh-list strong{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dsh-list span{font-size:11.5px;color:var(--cmh-muted)}
.dsh-list b{font-size:12.5px;white-space:nowrap}
.dsh-list .cmh-badge{white-space:nowrap;min-width:0;font-size:11px}
.dsh-meter{display:block;height:6px;border-radius:999px;background:var(--cmh-sky-50);margin-top:5px;overflow:hidden}
.dsh-meter i{display:block;height:100%;border-radius:999px;background:#3a4cc0}
.cmh-welcome > .cmh-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.cmh-welcome > .cmh-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dsh-svg .dsh-ax{font-size:11px}
.dsh-grid3 > .dsh-card{min-width:0}
.dsh-list span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dsh-list .cmh-badge,.dsh-card-head .cmh-badge{display:inline-block}
.dsh-chart-card{overflow-x:auto}
.dsh-chart-card .dsh-svg{min-width:960px}
.cmh-sidebar{display:flex;flex-direction:column}
.cmh-side-foot{margin-top:auto;padding:18px 18px 4px;font-size:10.5px;line-height:1.5;color:#7d85b8;border-top:1px solid rgba(255,255,255,.06)}
.cmh-login-foot{line-height:1.6}
table[border="0"] font[color="#000099" i] strong{white-space:nowrap}

/* ---------- P1/P2/P3 pulido ---------- */
/* 1) Contenido dentro de modales: tablas al 100% (sin hueco a la derecha) */
html.cmh-in-modal table[border="1"]{width:100% !important;min-width:0;margin:10px 0 !important}
html.cmh-in-modal form{margin:0 0 8px}
.cmh-modal-sub{margin:2px 0 12px;font-size:14px;font-weight:700;color:var(--cmh-navy)}
.cmh-modal-links{display:flex;gap:16px;margin:0 0 10px;font-weight:600;font-size:12.5px}
.cmh-modal-links .bi{margin-right:4px}

/* 3/5) Ficha del cliente (quotes_add / quotes_edit): sin zebra irregular */
.cmh-ficha-title{margin:8px 0 6px;font-size:13px;font-weight:700;color:var(--cmh-navy);text-transform:uppercase;letter-spacing:.05em}
table.cmh-ficha{margin:0 auto 16px !important;min-width:min(620px,100%)}
table.cmh-ficha tr[bgcolor],table.cmh-ficha tr[bgcolor] > td{background:#fff !important;color:var(--cmh-text) !important;font-weight:400 !important}
table.cmh-ficha tr > td:nth-child(odd){color:var(--cmh-muted) !important;font-weight:600 !important;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;width:1%}
table.cmh-ficha font{color:inherit !important;font-weight:inherit !important}

/* 6) Busqueda en vivo + select con filtro */
.cmh-live{margin-top:8px}
.cmh-live-hint{color:var(--cmh-muted);font-size:12.5px;padding:6px 2px}
.cmh-live .cmh-empty-state{padding:22px 12px}
.cmh-selfilter{display:inline-flex;flex-direction:column;gap:4px;min-width:280px;max-width:100%;vertical-align:top}
.cmh-selfilter input[type="search"]{width:100%}
.cmh-selfilter select{width:100%}
.cmh-rep-filters .cmh-selfilter{display:flex;width:100%}

/* 7) Customers: columna Contact angosta */
.pg-customers table[border="1"] th:nth-child(1),.pg-customers table[border="1"] td:nth-child(1){width:70px}
.pg-customers table[border="1"] th:nth-child(3),.pg-customers table[border="1"] td:nth-child(3){width:22%;color:var(--cmh-muted)}

/* 11) Tarjetas: resalte solo en hover o foco de teclado */
.cmh-card:focus{outline:none}
.cmh-card:focus-visible{outline:2px solid var(--cmh-navy-2);outline-offset:2px}
/* Tablas en pantallas angostas: scroll horizontal en .cmh-xscroll (assets/responsive.js) o DataTables Responsive */
html.cmh-in-modal table[border="1"]{display:table !important}
.dsh-delta{white-space:nowrap}
table[border="1"] td:has(> input[type="radio"]),table[border="1"] td:has(> input[type="checkbox"]){width:48px;text-align:center}

/* ---------- Alertas del topbar (alerts.php + assets/alerts.js) ---------- */
.cmh-bell-wrap{position:relative}
.cmh-bell{position:relative;width:40px;height:40px;padding:0 !important;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--cmh-sky-25) !important;border:1px solid var(--cmh-line) !important;color:var(--cmh-navy) !important;font-size:18px !important}
.cmh-bell:hover{background:var(--cmh-navy-2) !important;border-color:var(--cmh-navy-2) !important;color:#fff !important}
.cmh-bell-n{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:999px;
  background:#98a2b3;color:#fff;font-size:10.5px;font-weight:700;line-height:18px;text-align:center;border:2px solid #fff}
.cmh-bell.is-new .cmh-bell-n{background:#d92d20}
.cmh-bell.is-new i{animation:cmhRing 1.2s ease-in-out 2}
@keyframes cmhRing{0%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}
.cmh-alerts{position:absolute;top:calc(100% + 10px);right:-8px;width:400px;max-width:calc(100vw - 24px);max-height:70vh;overflow:auto;z-index:1100;
  background:#fff;border:1px solid var(--cmh-line);border-radius:12px;box-shadow:0 16px 40px rgba(16,24,40,.18)}
.cmh-alerts-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--cmh-line);position:sticky;top:0;background:#fff}
.cmh-alerts-head strong{font-size:14px;color:var(--cmh-navy)}
.cmh-alerts-head span{flex:1;font-size:11.5px;color:var(--cmh-muted)}
.cmh-alerts-refresh{width:30px;height:30px;padding:0 !important;background:#fff !important;color:var(--cmh-navy) !important;border:1px solid var(--cmh-line) !important;border-radius:8px}
.cmh-alerts-refresh.spin i{display:inline-block;animation:cmhSpin .8s linear}
@keyframes cmhSpin{to{transform:rotate(360deg)}}
.cmh-alerts-group{padding:10px 14px 4px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cmh-muted)}
.cmh-alert-item{border-top:1px solid var(--cmh-line)}
.cmh-alert-item summary{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;list-style:none;font-size:12.5px}
.cmh-alert-item summary::-webkit-details-marker{display:none}
.cmh-alert-item summary:hover{background:var(--cmh-sky-25)}
.cmh-alert-item summary > .bi{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:14px}
.cmh-alert-item.lvl-high summary > .bi{background:#fdecec;color:#b42318}
.cmh-alert-item.lvl-mid summary > .bi{background:#fff5e0;color:#935f00}
.cmh-alert-item summary > span{flex:1}
.cmh-alert-item summary b{font-size:13.5px}
.cmh-alert-go{font-size:11.5px;font-weight:600;white-space:nowrap}
.cmh-alert-item ul{list-style:none;margin:0;padding:0 14px 10px 52px;font-size:11.5px;color:var(--cmh-muted)}
.cmh-alert-item li{padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmh-alert-item li b{color:var(--cmh-text);margin-right:4px}
.cmh-alert-item li.more{font-style:italic}
.cmh-alerts-empty{padding:26px 16px;text-align:center;color:var(--cmh-muted)}
.cmh-alerts-empty .bi{display:block;font-size:24px;color:#067647;margin-bottom:6px}
/* Toast de bienvenida */
.cmh-toast{position:fixed;top:calc(var(--cmh-top-h) + 12px);right:20px;z-index:1200;width:340px;max-width:calc(100vw - 24px);box-sizing:border-box;
  background:#fff;border:1px solid var(--cmh-line);border-left:4px solid var(--cmh-navy-2);border-radius:12px;box-shadow:0 16px 40px rgba(16,24,40,.18);
  padding:12px 14px 12px 16px;animation:cmhToastIn .25s ease-out}
.cmh-toast.out{opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s}
@keyframes cmhToastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.cmh-toast-head{font-weight:700;color:var(--cmh-navy);font-size:13.5px;margin:0 24px 6px 0}
.cmh-toast-head .bi{margin-right:6px}
.cmh-toast ul{list-style:none;margin:0 0 8px;padding:0;font-size:12.5px}
.cmh-toast li{padding:3px 0}
.cmh-toast li a{color:var(--cmh-text) !important}
.cmh-toast li a:hover{color:var(--cmh-link) !important}
.cmh-toast li::before{content:"\2022";color:var(--cmh-navy-2);margin-right:6px}
.cmh-toast-x{position:absolute;top:8px;right:8px;width:26px;height:26px;padding:0 !important;background:transparent !important;border:0 !important;color:var(--cmh-muted) !important;font-size:18px !important}
.cmh-toast-more{background:transparent !important;border:0 !important;padding:0 !important;color:var(--cmh-link) !important;font-weight:600 !important;font-size:12.5px !important}
@media (max-width:600px){.cmh-alerts{position:fixed;left:12px;right:12px;width:auto;top:calc(var(--cmh-top-h) + 8px)}}
.cmh-toast.is-hover{animation-duration:.15s}
/* Botones de texto del toast: sin el hover navy global de los botones */
.cmh-toast-more{padding:5px 10px !important;margin-left:-10px;border-radius:6px}
.cmh-toast-more:hover,.cmh-toast-more:focus{background:var(--cmh-navy-2) !important;color:#fff !important}
.cmh-toast-x:hover,.cmh-toast-x:focus{background:var(--cmh-navy-2) !important;color:#fff !important;border-radius:6px}

/* ---------- Orden por columna (assets/paginador.js) ---------- */
th.cmh-sortable{cursor:pointer;user-select:none}
th.cmh-sortable:hover{background:#dde8f8 !important}
th.cmh-sortable::after{content:"\2195";margin-left:5px;font-size:10px;opacity:.35}
th.cmh-sortable.is-asc::after{content:"\25B2";opacity:.9}
th.cmh-sortable.is-desc::after{content:"\25BC";opacity:.9}

/* ---------- DataTables (assets/datatables.js) con el look del sistema ---------- */
.dataTables_wrapper{max-width:95%;margin:10px auto 18px;font-size:13px}
.cmh-report-grid .dataTables_wrapper,.cmh-rep .dataTables_wrapper{max-width:100%}
.dataTables_wrapper table.cmh-dt{margin:0 !important;width:100% !important;max-width:none}
.cmh-dt-top,.cmh-dt-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;background:var(--cmh-card);
  border:1px solid var(--cmh-line);border-radius:var(--cmh-radius);box-shadow:var(--cmh-shadow)}
.cmh-dt-top{margin-bottom:10px}
.cmh-dt-bottom{margin-top:10px}
.cmh-dt-search{margin-left:auto}
.cmh-dt-len{margin-left:auto}
.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;padding:0;margin:0;text-align:left}
.dataTables_wrapper .dataTables_filter input{margin:0 !important;min-width:240px}
.dataTables_wrapper .dataTables_length select{margin:0 4px;padding:4px 24px 4px 8px;min-height:30px}
.dataTables_wrapper .dataTables_info{color:var(--cmh-muted);font-size:12.5px}
/* Botones de exportacion */
.dataTables_wrapper .dt-buttons{display:flex;gap:6px;float:none}
.dataTables_wrapper button.dt-button.cmh-dtb{background:#fff !important;background-image:none !important;border:1px solid var(--cmh-line) !important;border-radius:6px;
  color:var(--cmh-navy) !important;padding:6px 12px !important;margin:0 !important;font-size:12.5px !important;font-weight:600 !important;box-shadow:none;line-height:1.2}
.dataTables_wrapper button.dt-button.cmh-dtb.is-xls{color:#067647 !important}
.dataTables_wrapper button.dt-button.cmh-dtb.is-pdf{color:#b42318 !important}
.dataTables_wrapper button.dt-button.cmh-dtb:hover{background:var(--cmh-navy-2) !important;border-color:var(--cmh-navy-2) !important;color:#fff !important}
/* Paginacion estilo cmh-pg (prefijo body: el CSS de DataTables carga despues y ganaba con color #333) */
body .dataTables_wrapper .dataTables_paginate .paginate_button{min-width:32px;height:32px;padding:0 10px !important;margin:0 0 0 -1px !important;box-sizing:border-box;
  display:inline-flex !important;align-items:center;justify-content:center;border:1px solid var(--cmh-line) !important;border-radius:0 !important;
  background:#fff !important;color:var(--cmh-navy) !important;font-size:13px}
body .dataTables_wrapper .dataTables_paginate .paginate_button:first-child{border-radius:7px 0 0 7px !important;margin-left:0 !important}
body .dataTables_wrapper .dataTables_paginate .paginate_button:last-child{border-radius:0 7px 7px 0 !important}
body .dataTables_wrapper .dataTables_paginate .paginate_button:hover{background:var(--cmh-navy-2) !important;border-color:var(--cmh-navy-2) !important;color:#fff !important}
body .dataTables_wrapper .dataTables_paginate .paginate_button.current,body .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
  background:var(--cmh-navy) !important;border-color:var(--cmh-navy) !important;color:#fff !important;font-weight:700}
body .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,body .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover{
  background:#fafbfd !important;color:#b3b9c7 !important;border-color:var(--cmh-line) !important}
body .dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 8px}
body .dataTables_wrapper .dataTables_paginate .paginate_button.current *{color:#fff !important}
/* Encabezados: conservan el estilo de la app; flechas de orden de DataTables */
table.dataTable thead th{padding:9px 22px 9px 10px !important;border-bottom:1px solid var(--cmh-line) !important}
table.dataTable tbody td{padding:8px 10px !important}
table.dataTable.no-footer{border-bottom:1px solid var(--cmh-line)}
table.dataTable tbody tr{background:transparent}
@media (max-width:900px){.cmh-dt-search,.cmh-dt-len{margin-left:0}.dataTables_wrapper .dataTables_filter input{min-width:0;width:100%}}

/* ---------- Loader de pagina (config.php) ---------- */
#cmh-loader{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
	background:rgba(243,245,250,.85);opacity:1;transition:opacity .25s ease,visibility .25s ease}
#cmh-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
#cmh-loader .cmh-spin{width:46px;height:46px;border-radius:50%;border:4px solid #d6e2f5;border-top-color:var(--cmh-navy,#000066);
	animation:cmh-spin .8s linear infinite}
@keyframes cmh-spin{to{transform:rotate(360deg)}}
@media print{#cmh-loader{display:none !important}}
/* DataTables serverSide: indicador mientras llega la pagina */
div.dataTables_wrapper div.dataTables_processing{background:rgba(255,255,255,.8);border:0;box-shadow:none;margin:0;padding:18px 0;
	left:0;right:0;top:40%;width:auto;transform:none;display:flex;justify-content:center}
div.dataTables_wrapper div.dataTables_processing > div:not(.cmh-spin){display:none}
div.dataTables_wrapper div.dataTables_processing .cmh-spin{width:34px;height:34px;border-radius:50%;border:4px solid #d6e2f5;
	border-top-color:var(--cmh-navy);animation:cmh-spin .8s linear infinite}
/* Tablas anchas (Tracker): scroll horizontal dentro del contenedor, no de toda la pagina */
.cmh-dt-scroll{overflow-x:auto;max-width:100%}

/* ================= Responsivo v2 (2026-09-30) ================= */
/* Tablas que no son DataTables: scroll horizontal en su propio contenedor (assets/responsive.js) */
.cmh-xscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin:0 auto 14px}
.cmh-xscroll > table{margin-bottom:0 !important}
.cmh-xscroll.is-wide > table{min-width:var(--cmh-minw,640px)}
.cmh-xscroll-hint{display:none;font-size:11.5px;color:var(--cmh-muted);text-align:right;margin:-2px 2px 4px}
.cmh-xscroll.is-scrollable + .cmh-xscroll-hint,.cmh-xscroll-hint.is-on{display:block}
.cmh-report-grid > section,.cmh-report-grid > div{min-width:0}
.dataTables_wrapper{max-width:100%}

/* DataTables Responsive: boton "+" propio (.cmh-dtr-btn, assets/datatables.js) solo cuando hay columnas ocultas */
.cmh-dtr-btn{display:none}
table.dataTable.collapsed .cmh-dtr-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;
  background:var(--cmh-navy);color:#fff;font-size:15px;line-height:1;cursor:pointer;margin:0 6px 4px 0;vertical-align:middle;user-select:none}
table.dataTable.collapsed .cmh-dtr-btn:before{content:"+"}
table.dataTable.collapsed tr.parent .cmh-dtr-btn{background:#b42318}
table.dataTable.collapsed tr.parent .cmh-dtr-btn:before{content:"\2212"}
table.dataTable > tbody > tr.child ul.dtr-details{display:block;width:100%}
table.dataTable > tbody > tr.child ul.dtr-details > li{display:flex;gap:10px;padding:7px 0;border-bottom:1px dashed var(--cmh-line)}
table.dataTable > tbody > tr.child span.dtr-title{min-width:110px;font-weight:600;color:var(--cmh-muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.03em}
table.dataTable > tbody > tr.child span.dtr-data{flex:1;word-break:break-word}
div.dt-button-collection{padding:6px;border-radius:10px;box-shadow:0 10px 30px rgba(10,13,61,.18)}
div.dt-button-collection button.dt-button{margin:2px 0 !important;text-align:left}

/* Telefonos */
@media (max-width:600px){
  .cmh-logout{font-size:0 !important;padding:8px !important}
  .cmh-logout .bi{font-size:18px}
  body.cmh-shell{padding-left:10px;padding-right:10px}
  .cmh-dt-top{flex-direction:column;align-items:stretch;gap:8px}
  .cmh-dt-buttons .dt-buttons{display:flex;flex-wrap:wrap;gap:6px}
  .cmh-dt-bottom{flex-direction:column;align-items:center;gap:8px}
  .dataTables_wrapper .dataTables_paginate{text-align:center}
  .dataTables_wrapper .dataTables_paginate .paginate_button{min-width:30px;padding:0 8px !important}
  .cmh-page-head h1{font-size:20px}
}

/* Formularios legacy (tabla de etiqueta | campo) en telefonos: una columna */
@media (max-width:700px){
  form table:not([border="1"]):not(.dataTable),form table:not([border="1"]):not(.dataTable) > tbody,
  form table:not([border="1"]):not(.dataTable) > tbody > tr,form table:not([border="1"]):not(.dataTable) > tbody > tr > td,
  form table:not([border="1"]):not(.dataTable) > tbody > tr > th{display:block;width:auto !important;max-width:100%;box-sizing:border-box}
  form table:not([border="1"]):not(.dataTable) > tbody > tr > td{padding:4px 2px !important;text-align:left !important}
  form table:not([border="1"]):not(.dataTable) > tbody > tr{padding:4px 0}
  form input[type=text],form input[type=email],form input[type=number],form input[type=date],form select,form textarea{max-width:100% !important;box-sizing:border-box}
  form input[type=text],form select,form textarea{width:100% !important}
}

/* ================= Editor de registro / papelera / dialogos ================= */
.cmh-rec-edit{max-width:1100px;margin:0 auto;padding:6px 4px 20px}
.cmh-rec-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cmh-rec-head h1{font-size:19px;margin:0;color:var(--cmh-navy)}
.cmh-rec-head h1 small{font-weight:500;color:var(--cmh-muted);font-size:14px;margin-left:6px}
.cmh-rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 16px}
.cmh-rec-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.cmh-rec-field > span{font-size:11.5px;font-weight:600;color:var(--cmh-muted);text-transform:uppercase;letter-spacing:.03em}
.cmh-rec-field > span em{font-style:normal;font-weight:400;text-transform:none;opacity:.7;margin-left:4px}
.cmh-rec-field input,.cmh-rec-field textarea{width:100% !important;box-sizing:border-box}
.cmh-rec-field textarea{min-height:70px;resize:vertical}
.cmh-rec-field.is-key input{background:var(--cmh-sky-50,#eef4fd);font-weight:600}
.cmh-rec-actions{position:sticky;bottom:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--cmh-card,#fff);padding:12px 0 4px;margin-top:14px;border-top:1px solid var(--cmh-line)}
.cmh-rec-note{font-size:12px;color:var(--cmh-muted)}
.cmh-flash{padding:9px 12px;border-radius:8px;margin:0 0 12px;font-weight:500}
.cmh-flash.is-ok{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.cmh-flash.is-err{background:#fef3f2;color:#b42318;border:1px solid #fecdca}
.cmh-act.is-del{color:#b42318 !important}
.cmh-act.is-del:hover{background:#b42318 !important;border-color:#b42318 !important;color:#fff !important}
.cmh-act.is-rec{color:#5b3cc4 !important}
.cmh-tabs{display:flex;gap:6px;margin:0 0 14px;flex-wrap:wrap}
.cmh-tabs a{padding:8px 14px;border-radius:999px;border:1px solid var(--cmh-line);background:#fff;color:var(--cmh-navy);font-weight:600;font-size:13px;text-decoration:none}
.cmh-tabs a.is-on{background:var(--cmh-navy);color:#fff;border-color:var(--cmh-navy)}
.cmh-badge.is-update{background:#eef4fd;color:#1d3fa6}
.cmh-badge.is-delete,.cmh-badge.is-bad{background:#fef3f2;color:#b42318}
.cmh-badge.is-restore,.cmh-badge.is-revert{background:#ecfdf3;color:#067647}
.cmh-badge.is-merge{background:#fff6e5;color:#93600b}
td.cmh-cut{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmh-rdlg-back{position:fixed;inset:0;z-index:100000;background:rgba(10,13,61,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.cmh-rdlg{background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(10,13,61,.35);padding:20px 22px;width:100%;max-width:480px;max-height:90vh;overflow:auto;box-sizing:border-box}
.cmh-rdlg h3{margin:0 0 10px;font-size:17px;color:var(--cmh-navy);display:flex;gap:8px;align-items:center}
.cmh-rdlg p{margin:6px 0;font-size:13.5px}
.cmh-rdlg-refs{margin:6px 0 10px;padding-left:18px;font-size:13.5px}
.cmh-rdlg-note{color:var(--cmh-muted);font-size:12px !important}
.cmh-rdlg-q,.cmh-rdlg-sel{width:100%;box-sizing:border-box;margin:4px 0}
.cmh-rdlg-sel{min-height:140px}
.cmh-rdlg-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;flex-wrap:wrap}
.cmh-rdlg-btns button.is-danger{background:#b42318 !important;border-color:#b42318 !important;color:#fff !important}
.cmh-rdlg-btns button.is-primary{background:var(--cmh-navy) !important;border-color:var(--cmh-navy) !important;color:#fff !important}
.cmh-rtoast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:100001;background:#0a0d3d;color:#fff;padding:11px 18px;border-radius:10px;
  box-shadow:0 10px 30px rgba(10,13,61,.35);font-size:13.5px;max-width:calc(100vw - 32px);transition:opacity .4s,transform .4s}
.cmh-rtoast.is-bad{background:#b42318}
.cmh-rtoast.is-out{opacity:0;transform:translate(-50%,10px)}
@media print{.cmh-rdlg-back,.cmh-rtoast,.cmh-xscroll-hint{display:none !important}}

/* Telefonos: acciones compactas (2 renglones) para dejar espacio a los datos */
@media (max-width:600px){
  table.dataTable > tbody > tr > td.cmh-actions{white-space:normal !important;width:98px;min-width:98px;max-width:98px;line-height:0}
  table.dataTable > tbody > tr > td.cmh-actions .cmh-act{display:inline-flex;width:28px;height:28px;min-width:28px;margin:1px !important;padding:0 !important;font-size:13px;vertical-align:top}
  table.dataTable > tbody > tr > td.cmh-actions br{display:none}
}
/* Tablas de maquetacion legacy con tablas/listas dentro (ej. purchase_report: por cliente | por proveedor): apiladas en pantallas chicas */
@media (max-width:900px){
  table:not([border="1"]):not(.dataTable):has(.dataTables_wrapper,table[border="1"]),
  table:not([border="1"]):not(.dataTable):has(.dataTables_wrapper,table[border="1"]) > tbody,
  table:not([border="1"]):not(.dataTable):has(.dataTables_wrapper,table[border="1"]) > tbody > tr,
  table:not([border="1"]):not(.dataTable):has(.dataTables_wrapper,table[border="1"]) > tbody > tr > td{display:block;width:auto !important;max-width:100%;box-sizing:border-box}
}
/* Boton Back del topbar (pantallas de detalle, ver menu.php $cmh_parents) */
.cmh-back{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;margin-right:12px;border:1px solid var(--cmh-line);border-radius:999px;
  background:#fff;color:var(--cmh-navy) !important;font-weight:600;font-size:13px;text-decoration:none !important;white-space:nowrap}
.cmh-back .bi{font-size:16px}
@media (max-width:600px){.cmh-back{padding:0 10px;margin-right:6px}.cmh-back span{display:none}}
@media print{.cmh-back{display:none !important}}
/* Acciones al final de las DataTables (assets/datatables.js): sin cortes de linea en escritorio */
table.dataTable > tbody > tr > td.cmh-actions{white-space:nowrap;text-align:right}
@media (max-width:600px){table.dataTable > tbody > tr > td.cmh-actions{white-space:normal !important;text-align:left}}

/* ================= Alta de cotizacion / orden (quotes_add.php, orders_add.php, assets/quote_form.js) ================= */
.qf{max-width:1180px;margin:0 auto}
.qf-card{background:var(--cmh-card);border:1px solid var(--cmh-line);border-radius:var(--cmh-radius);box-shadow:var(--cmh-shadow);padding:16px 18px;margin:0 0 16px}
.qf-card h2{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:15px;color:var(--cmh-navy);text-transform:uppercase;letter-spacing:.04em}
.qf-step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--cmh-navy);color:#fff;font-size:12px;letter-spacing:0}
.qf-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.qf-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.qf-field > span{font-size:11.5px;font-weight:600;color:var(--cmh-muted);text-transform:uppercase;letter-spacing:.03em;display:flex;gap:8px;align-items:center}
.qf-field input,.qf-field select,.qf-field textarea{width:100%;box-sizing:border-box}
.qf-grow{flex:1 1 320px}
.qf-row > .qf-field:not(.qf-grow):not(.qf-num):not(.qf-btn){flex:0 1 320px}
.qf-num{flex:0 0 120px}
.qf-btn{flex:0 0 auto}
.qf-combo{position:relative}
.qf-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;background:#fff;border:1px solid var(--cmh-line);border-radius:10px;
  box-shadow:0 12px 30px rgba(10,13,61,.16);max-height:320px;overflow:auto;padding:4px}
.qf-opt{padding:8px 10px;border-radius:7px;cursor:pointer;display:flex;flex-direction:column;gap:1px;font-size:13px}
.qf-opt small{color:var(--cmh-muted);font-size:11.5px}
.qf-opt.is-on,.qf-opt:hover{background:var(--cmh-sky-50)}
.qf-none{padding:10px;color:var(--cmh-muted);font-size:13px;display:flex;gap:8px;align-items:center}
.qf-spin{width:14px !important;height:14px !important;border-width:2px !important}
#qf-ficha{margin-top:14px}
table.qf-ficha{width:100%;min-width:0 !important;margin:0 !important}
table.qf-ficha td:nth-child(odd){font-size:11.5px;font-weight:600;color:var(--cmh-muted);white-space:nowrap;width:1%}
.qf-picked{margin:10px 0 0;padding:8px 12px;background:var(--cmh-sky-25);border:1px dashed var(--cmh-sky);border-radius:8px;font-size:13px}
.qf-items-wrap{margin-top:14px;overflow-x:auto}
table.qf-items{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}
table.qf-items th{background:var(--cmh-sky-50);color:var(--cmh-navy);font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:9px 10px;border-bottom:1px solid var(--cmh-line)}
table.qf-items td{padding:8px 10px;border-bottom:1px solid var(--cmh-line);vertical-align:middle}
table.qf-items .qf-n{text-align:right;white-space:nowrap}
table.qf-items td.qf-n input{width:96px;text-align:right}
table.qf-items tfoot td{font-weight:700;color:var(--cmh-navy);border-bottom:0;font-size:14px}
.qf-code{font-weight:600;white-space:nowrap}
.qf-muted{color:var(--cmh-muted)}
.qf-ld{background:none !important;border:1px dashed var(--cmh-line) !important;color:var(--cmh-link) !important;padding:4px 8px !important;border-radius:6px;font-size:12px;text-align:left;max-width:240px;white-space:normal;cursor:pointer}
.qf-ld.has{border-style:solid !important;color:var(--cmh-text) !important}
.qf-ld:hover{background:var(--cmh-navy-2) !important;color:#fff !important}
.qf-noitems{padding:18px;text-align:center;color:var(--cmh-muted);font-size:13px}
.qf-terms{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px}
.qf-wide{grid-column:1 / -1}
.qf-link{background:none !important;border:0 !important;padding:0 !important;color:var(--cmh-link) !important;font-size:11.5px;text-transform:none;letter-spacing:0;cursor:pointer;text-decoration:underline}
.qf-link:hover{color:var(--cmh-navy-2) !important;background:none !important}
.qf-actions{position:sticky;bottom:0;z-index:5;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--cmh-card);border:1px solid var(--cmh-line);
  border-radius:var(--cmh-radius);box-shadow:0 -4px 16px rgba(10,13,61,.08);padding:12px 16px;margin-bottom:16px}
.qf-primary{background:var(--cmh-navy) !important;border-color:var(--cmh-navy) !important;color:#fff !important;font-weight:600}
.qf-msg{font-size:13px;color:#067647}
.qf-msg.is-bad{color:#b42318}
.qf-restore{margin:0 0 12px;padding:9px 12px;border-radius:8px;background:#fff6e5;color:#93600b;font-size:13px;display:flex;gap:8px;align-items:center}
.qf-restore[hidden]{display:none}
.qf-done{max-width:760px;margin:10px auto}
.qf-done-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.qf-done-head .bi{font-size:34px;color:#067647}
.qf-done-head h2{margin:0;font-size:19px;color:var(--cmh-navy);text-transform:none;letter-spacing:0}
.qf-done-head p{margin:2px 0 0;color:var(--cmh-muted)}
.qf-done-btns{display:flex;flex-wrap:wrap;gap:8px}
.qf-lddlg{max-width:640px}
.qf-lddlg textarea{width:100%;box-sizing:border-box;min-height:220px;resize:vertical}
#qf-fallback p{margin:8px 0 0}
@media (max-width:600px){
  .qf-card{padding:12px}
  .qf-num{flex:1 1 40%}
  .qf-btn{flex:1 1 100%}
  .qf-btn button{width:100%}
  .qf-actions button{flex:1 1 auto}
}
/* Encabezado de la orden (orders_manage.php) */
.om-head{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 18px}
.om-head > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.om-head span{font-size:11.5px;font-weight:600;color:var(--cmh-muted);text-transform:uppercase;letter-spacing:.03em}
.om-head b{font-weight:600;color:var(--cmh-text);word-break:break-word}
.qf-step .bi{font-size:12px}
a.cmh-btn-link.qf-primary{color:#fff !important}
/* Listado abierto desde una alerta de la campana (?alert=clave, ver alerts.php cmh_alert_banner) */
.cmh-alert-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border-radius:10px;
  background:#fff6e5;border:1px solid #fedf89;color:#93600b;font-size:13.5px}
.cmh-alert-filter.is-high{background:#fef3f2;border-color:#fecdca;color:#b42318}
.cmh-alert-filter > .bi{font-size:18px}
.cmh-alert-filter span{flex:1 1 auto}
.cmh-alert-filter .cmh-btn-link{margin-left:auto}
.cmh-alert-item li a{color:inherit;text-decoration:none;display:block}
.cmh-alert-item li a:hover{color:var(--cmh-navy-2);text-decoration:underline}
.cmh-alert-item li.more a{color:var(--cmh-link)}
