/* NexoProCRM v0.17.1 · Fase 1: sistema visual común
   Base visual global. No modifica lógica fiscal, plantillas de factura ni flujos de datos. */
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800;900&display=swap');
:root{
  --nxp-font:"Mulish",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --nxp-bg:#f4f6f8;
  --nxp-bg-soft:#f8fafc;
  --nxp-surface:#ffffff;
  --nxp-surface-muted:#f1f4f7;
  --nxp-ink:#202832;
  --nxp-ink-strong:#111827;
  --nxp-muted:#667085;
  --nxp-muted-2:#8a97a6;
  --nxp-border:#dfe5ec;
  --nxp-border-strong:#cbd5df;
  --nxp-sidebar:#1f252d;
  --nxp-sidebar-2:#151a20;
  --nxp-sidebar-hover:#2b333d;
  --nxp-accent:#d71920;
  --nxp-accent-dark:#b71118;
  --nxp-accent-soft:#fff1f2;
  --nxp-success:#1f7a4d;
  --nxp-warning:#996a00;
  --nxp-radius-sm:10px;
  --nxp-radius:14px;
  --nxp-radius-lg:18px;
  --nxp-shadow-sm:0 4px 14px rgba(17,24,39,.05);
  --nxp-shadow:0 14px 36px rgba(17,24,39,.08);
  --nxp-shadow-strong:0 22px 60px rgba(17,24,39,.12);

  --ch301-red:var(--nxp-accent);
  --ch301-red-dark:var(--nxp-accent-dark);
  --ch301-blue:#313a46;
  --ch301-blue-dark:#202832;
  --ch301-blue-deep:#151a20;
  --ch301-blue-soft:#f1f4f7;
  --ch301-bg:var(--nxp-bg);
  --ch301-card:var(--nxp-surface);
  --ch301-text:var(--nxp-ink);
  --ch301-muted:var(--nxp-muted);
  --ch301-border:var(--nxp-border);
  --ch301-shadow:var(--nxp-shadow);

  --nsh-red:var(--nxp-accent);
  --nsh-red-dark:var(--nxp-accent-dark);
  --nsh-blue:#3b4652;
  --nsh-blue-dark:#202832;
  --nsh-dark:#202832;
  --nsh-blue-soft:#f1f4f7;
  --nsh-ink:var(--nxp-ink);
  --nsh-muted:var(--nxp-muted);
  --nsh-bg:var(--nxp-bg);
  --nsh-card:var(--nxp-surface);
  --nsh-border:var(--nxp-border);
  --nsh-radius:var(--nxp-radius);
  --nsh-shadow:var(--nxp-shadow);
}
html body.nexopro-app-page,
html body.ch301-app-page,
html body.nsh-app-page{
  font-family:var(--nxp-font)!important;
  background:var(--nxp-bg)!important;
  color:var(--nxp-ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.ch301-app,.ch301-app *,.nsh-app,.nsh-app *,.nsh-admin-wrap,.nsh-admin-wrap *{
  font-family:var(--nxp-font);
}
.ch301-shell{
  background:var(--nxp-bg)!important;
  min-height:100vh;
  padding:18px!important;
}
.ch301-app{color:var(--nxp-ink);}
.ch301-main{min-width:0;}

/* Cabecera común: menos azul, más blanco y lectura limpia */
.ch301-header{
  min-height:72px!important;
  background:var(--nxp-surface)!important;
  color:var(--nxp-ink)!important;
  border:1px solid var(--nxp-border)!important;
  border-radius:18px!important;
  box-shadow:var(--nxp-shadow-sm)!important;
  padding:16px 20px!important;
}
.ch301-header:before{
  height:4px!important;
  background:linear-gradient(90deg,var(--nxp-accent),#f0f2f5 180px,#f0f2f5)!important;
}
.ch301-title-block h1,.ch301-header h1{
  color:var(--nxp-ink-strong)!important;
  font-weight:900;
  letter-spacing:-.025em;
}
.ch301-eyebrow{
  color:var(--nxp-muted)!important;
  letter-spacing:.12em;
}
.ch301-brand-bosch{
  background:var(--nxp-accent-soft)!important;
  color:var(--nxp-accent-dark)!important;
  box-shadow:none!important;
  border:1px solid #ffd8db;
}
.ch301-user-pill,.ch301-refresh-button{
  background:#fff!important;
  color:var(--nxp-ink)!important;
  border:1px solid var(--nxp-border)!important;
  box-shadow:var(--nxp-shadow-sm)!important;
}
.ch301-refresh-button:hover{border-color:var(--nxp-border-strong)!important;background:var(--nxp-bg-soft)!important;color:var(--nxp-ink-strong)!important;}

/* Menú lateral: base oscura neutra */
.ch301-layout{grid-template-columns:252px minmax(0,1fr)!important;gap:18px!important;}
.ch301-nav{
  background:linear-gradient(180deg,var(--nxp-sidebar),var(--nxp-sidebar-2))!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:18px!important;
  box-shadow:0 24px 60px rgba(17,24,39,.18)!important;
  padding:14px!important;
}
.ch301-nav:before{
  color:#fff!important;
  font-size:21px!important;
  letter-spacing:-.045em!important;
}
.ch301-nav:after{color:#9aa6b4!important;}
.ch301-nav a{
  color:#d9e0e8!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:12px!important;
  min-height:42px;
  font-weight:800;
}
.ch301-nav a:hover{
  background:var(--nxp-sidebar-hover)!important;
  color:#fff!important;
  transform:none!important;
}
.ch301-nav a[href*="nexo-pro-crm/"]{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}
.ch301-nav .ch301-nav-logout{
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
}

/* Paneles, tarjetas e indicadores */
.ch301-panel,.ch301-card,.ch301-login-card,.nsh-content-card,.nsh-stat-card,.nsh-admin-card,.nsh-admin-panel{
  background:var(--nxp-surface)!important;
  border-color:var(--nxp-border)!important;
  box-shadow:var(--nxp-shadow-sm)!important;
}
.ch301-panel{
  border-radius:18px!important;
  padding:22px!important;
}
.ch301-panel h2,.ch301-panel h3,.ch301-client-head h2,.ch301-dashboard-columns h3,
.nxp-commission-section-head h2,.nxp-commission-intro h2,
.nsh-topbar h1,.nsh-section-heading h2,.nsh-card-body h3,.nsh-admin-panel h2{
  color:var(--nxp-ink-strong)!important;
}
.ch301-muted,.ch301-panel p,.nxp-commission-intro p,.nxp-commission-section-head p,.nsh-card-body p,.nsh-section-heading p{
  color:var(--nxp-muted)!important;
}
.ch301-cards{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.ch301-card{
  border-radius:16px!important;
  padding:20px!important;
  min-height:112px;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.ch301-card:before{
  width:4px!important;
  background:#d9dee6!important;
}
.ch301-card strong{
  color:var(--nxp-ink-strong)!important;
  font-size:30px!important;
  line-height:1!important;
  letter-spacing:-.025em;
}
.ch301-card span{
  color:var(--nxp-muted)!important;
  font-size:13px!important;
}
.ch301-card-link:hover{
  border-color:var(--nxp-border-strong)!important;
  box-shadow:var(--nxp-shadow)!important;
  transform:translateY(-2px)!important;
}
.ch301-card-link:hover:before{background:var(--nxp-accent)!important;}

/* Botones: rojo solo para acciones críticas o principales */
.ch301-btn,.nsh-admin-link,.nsh-primary-button.button-primary{
  background:var(--nxp-ink)!important;
  border:1px solid var(--nxp-ink)!important;
  color:#fff!important;
  border-radius:12px!important;
  box-shadow:0 8px 18px rgba(17,24,39,.12)!important;
  font-weight:900;
}
.ch301-btn:hover,.nsh-admin-link:hover,.nsh-primary-button.button-primary:hover{
  background:var(--nxp-ink-strong)!important;
  border-color:var(--nxp-ink-strong)!important;
  color:#fff!important;
  transform:translateY(-1px);
}
.ch301-btn-red,.ch301-btn-danger:hover,.nsh-text-button.is-danger,
button.ch301-btn-red,a.ch301-btn-red{
  background:var(--nxp-accent)!important;
  border-color:var(--nxp-accent)!important;
  color:#fff!important;
}
.ch301-btn-red:hover,button.ch301-btn-red:hover,a.ch301-btn-red:hover{
  background:var(--nxp-accent-dark)!important;
  border-color:var(--nxp-accent-dark)!important;
}
.ch301-btn-light,.ch301-btn-secondary,.ch301-btn-danger,
.nxp-invoice-nav a,.nxp-commission-tab,
.ch301-export-form .ch301-btn:not(.ch301-btn-red){
  background:#fff!important;
  color:var(--nxp-ink)!important;
  border:1px solid var(--nxp-border)!important;
  box-shadow:var(--nxp-shadow-sm)!important;
}
.ch301-btn-light:hover,.ch301-btn-secondary:hover,.ch301-btn-danger:hover,
.nxp-invoice-nav a:hover,.nxp-commission-tab:hover{
  background:var(--nxp-bg-soft)!important;
  color:var(--nxp-ink-strong)!important;
  border-color:var(--nxp-border-strong)!important;
}
.ch301-actions{gap:10px!important;}
.ch301-actions .ch301-btn{min-height:44px!important;}

/* Formularios y tablas */
.ch301-form input,.ch301-form select,.ch301-form textarea,
.nxp-invoice-form input,.nxp-invoice-form select,.nxp-invoice-form textarea,
.nxp-payment-form input,.nxp-payment-form select,.nxp-invoice-filters input,.nxp-invoice-filters select,
.nxp-period-selector select,.nxp-history-year select,
.nxp-commission-settings input,.nxp-commission-settings select,
.nxp-total-sales-panel input,.nxp-commission-form textarea,
.nsh-search input,.nsh-filter select,
.nsh-settings-fields input[type="text"],.nsh-settings-fields input[type="url"],.nsh-settings-fields select,
.nsh-meta-grid input[type="text"],.nsh-meta-grid input[type="date"],.nsh-meta-grid select,.nsh-meta-grid textarea{
  background:#fff!important;
  border:1px solid var(--nxp-border)!important;
  border-radius:12px!important;
  color:var(--nxp-ink)!important;
  box-shadow:none!important;
}
.ch301-form input:focus,.ch301-form select:focus,.ch301-form textarea:focus,
.nxp-invoice-form input:focus,.nxp-invoice-form select:focus,.nxp-invoice-form textarea:focus,
.nxp-payment-form input:focus,.nxp-payment-form select:focus,.nxp-invoice-filters input:focus,.nxp-invoice-filters select:focus,
.nxp-period-selector select:focus,.nxp-history-year select:focus,
.nxp-commission-settings input:focus,.nxp-commission-settings select:focus,
.nxp-total-sales-panel input:focus,.nxp-commission-form textarea:focus,
.nsh-search input:focus,.nsh-filter select:focus{
  border-color:#9aa6b2!important;
  box-shadow:0 0 0 4px rgba(32,40,50,.08)!important;
  outline:none!important;
}
.ch301-table th,.nxp-commission-table th,.nxp-invoice-table th{
  background:var(--nxp-surface-muted)!important;
  color:var(--nxp-ink)!important;
  border-color:var(--nxp-border)!important;
}
.ch301-table td,.nxp-commission-table td,.nxp-invoice-table td{
  border-color:var(--nxp-border)!important;
}
.ch301-table-wrap,.nxp-commission-table-wrap{
  background:#fff!important;
  border-color:var(--nxp-border)!important;
  border-radius:14px!important;
}

/* Contabilidad y comisiones: conservar estructura, unificar visual */
.nxp-invoice-summary article,.nxp-commission-summary article,.nxp-quarter-card,.nxp-invoice-totals-live>div{
  background:#fff!important;
  border-color:var(--nxp-border)!important;
  box-shadow:var(--nxp-shadow-sm)!important;
  border-radius:14px!important;
}
.nxp-invoice-summary strong,.nxp-invoice-totals-live strong,.nxp-quarter-card dd,
.nxp-commission-summary strong,.nxp-achievement,.nxp-payout{
  color:var(--nxp-ink-strong)!important;
}
.nxp-invoice-summary span,.nxp-invoice-totals-live span,.nxp-quarter-card dt,
.nxp-commission-summary span{color:var(--nxp-muted)!important;}
.nxp-invoice-totals-live .is-total,.nxp-commission-summary article.is-total{
  background:var(--nxp-ink)!important;
  border-color:var(--nxp-ink)!important;
}
.nxp-invoice-totals-live .is-total span,.nxp-invoice-totals-live .is-total strong,
.nxp-commission-summary article.is-total span,.nxp-commission-summary article.is-total strong{color:#fff!important;}
.nxp-invoice-nav a.is-primary,.nxp-commission-tab.is-active{
  background:var(--nxp-ink)!important;
  color:#fff!important;
  border-color:var(--nxp-ink)!important;
}
.nxp-invoice-line{background:var(--nxp-bg-soft)!important;border-color:var(--nxp-border)!important;border-radius:14px!important;}
.nxp-remove-invoice-line{color:var(--nxp-accent-dark)!important;background:#fff!important;border:1px solid var(--nxp-border)!important;box-shadow:var(--nxp-shadow-sm)!important;}
.nxp-incentive{color:var(--nxp-success)!important;}
.nxp-commission-rate{background:var(--nxp-surface-muted)!important;}
.nxp-commission-rate strong{color:var(--nxp-ink-strong)!important;}
.nxp-commission-warning{background:var(--nxp-accent-soft)!important;border-left-color:var(--nxp-accent)!important;color:#5a2226!important;}

/* Alertas y estados */
.ch301-alert,.ch301-error,.ch301-success,.ch301-notification-banner,.ch301-toast,.ch301-export-panel{
  border-radius:16px!important;
  box-shadow:var(--nxp-shadow-sm)!important;
}
.ch301-alert,.ch301-error{background:var(--nxp-accent-soft)!important;border-color:#ffd8db!important;color:#7d161c!important;}
.ch301-success{background:#edf9f2!important;border-color:#cdeedb!important;color:#14643d!important;}
.ch301-notification-banner,.ch301-export-panel{border-left-color:var(--nxp-accent)!important;background:#fff!important;}
.ch301-notification-banner strong,.ch301-export-panel h2{color:var(--nxp-ink-strong)!important;}
.ch301-notification-banner span,.ch301-export-panel p{color:var(--nxp-muted)!important;}
.ch301-status,.nxp-invoice-status{font-weight:900;border-radius:999px!important;}

/* Sales Hub embebido y standalone: mismas variables visuales */
.nsh-app{background:var(--nxp-bg)!important;color:var(--nxp-ink)!important;}
.nsh-sidebar{background:linear-gradient(180deg,var(--nxp-sidebar),var(--nxp-sidebar-2))!important;box-shadow:8px 0 30px rgba(17,24,39,.16)!important;}
.nsh-brand-mark,.nsh-login-mark{background:var(--nxp-accent)!important;box-shadow:0 6px 16px rgba(215,25,32,.18)!important;}
.nsh-topbar{background:rgba(244,246,248,.94)!important;}
.nsh-eyebrow,.nsh-section-heading>div>span,.nsh-card-brand{color:var(--nxp-muted)!important;}
.nsh-topbar h1,.nsh-section-heading h2,.nsh-card-body h3,.nsh-empty strong{color:var(--nxp-ink-strong)!important;}
.nsh-nav-button:hover,.nsh-nav-button.is-active{background:#fff!important;color:var(--nxp-ink)!important;}
.nsh-nav-button.is-active:before{background:var(--nxp-accent)!important;}
.nsh-user-avatar,.nsh-stat-icon{background:var(--nxp-surface-muted)!important;color:var(--nxp-ink)!important;}
.nsh-stat-card strong{color:var(--nxp-ink-strong)!important;}
.nsh-card-type{background:rgba(32,40,50,.92)!important;}
.nsh-card-placeholder{background:linear-gradient(145deg,#202832,#3b4652)!important;}
.nsh-favorite-button.is-active{background:var(--nxp-accent)!important;}
.nsh-text-button{color:var(--nxp-ink)!important;}
.nsh-admin-link{background:var(--nxp-ink)!important;}

/* WP Admin Sales Hub */
.nsh-admin-hero{background:linear-gradient(120deg,var(--nxp-ink),#3b4652)!important;box-shadow:var(--nxp-shadow)!important;}
.nsh-admin-eyebrow,.nsh-admin-eyebrow-dark{color:#d9e0e8!important;}
.nsh-admin-card .dashicons,.nsh-admin-section-head>.dashicons{color:var(--nxp-ink)!important;}
.nsh-file-picker-featured .button-primary{background:var(--nxp-ink)!important;border-color:var(--nxp-ink)!important;}

@media(max-width:960px){
  .ch301-shell{padding:0!important;}
  .ch301-layout{display:block!important;}
  .ch301-main{padding:0 12px!important;}
  .ch301-header{border-radius:0 0 18px 18px!important;margin:0 0 12px!important;}
  .ch301-nav{
    background:#fff!important;
    border:1px solid var(--nxp-border)!important;
    box-shadow:0 -12px 34px rgba(17,24,39,.12)!important;
  }
  .ch301-nav a{color:var(--nxp-muted)!important;background:#fff!important;}
  .ch301-nav a:hover,.ch301-nav a[href*="nexo-pro-crm/"]{color:var(--nxp-ink-strong)!important;background:var(--nxp-surface-muted)!important;}
  .ch301-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .ch301-card{min-height:90px;padding:14px!important;}
  .ch301-card strong{font-size:24px!important;}
}
@media(max-width:680px){
  .ch301-cards{grid-template-columns:1fr!important;}
  .ch301-panel{padding:16px!important;}
}
