/* Pirela Group ERP + CRM 1.0.98
   Sistema cromático único: azul operativo, esmeralda CRM/éxito y neutros fríos. */
:root{
  --pg-primary:#2563eb;
  --pg-primary-hover:#1d4ed8;
  --pg-primary-soft:#eff6ff;
  --pg-accent:#0f766e;
  --pg-accent-hover:#115e59;
  --pg-accent-soft:#ecfdf5;
  --pg-bg:#f8fafc;
  --pg-surface:#ffffff;
  --pg-surface-muted:#f1f5f9;
  --pg-border:#d9e2ec;
  --pg-border-strong:#cbd5e1;
  --pg-text:#172033;
  --pg-text-muted:#64748b;
  --pg-disabled:#94a3b8;
  --pg-success:#15803d;
  --pg-success-soft:#dcfce7;
  --pg-warning:#b45309;
  --pg-warning-soft:#fef3c7;
  --pg-danger:#9f3447;
  --pg-danger-soft:#fff1f3;
  --pg-info:#0369a1;
  --pg-info-soft:#e0f2fe;
  --pg-shadow:0 10px 28px rgba(23,32,51,.07);
  --pg-shadow-raised:0 18px 48px rgba(23,32,51,.12);
  --nx-accent:var(--pg-primary);
  --nx-brand:var(--pg-text);
}

html,body{background:var(--pg-bg)!important;color:var(--pg-text)!important}
body,
button,
input,
select,
textarea{color:var(--pg-text)}
a{color:var(--pg-primary)}
a:hover{color:var(--pg-primary-hover)}
::selection{color:var(--pg-text);background:#bfdbfe}

/* Acceso */
#loginView.pg-login{color:var(--pg-text)!important;background:var(--pg-surface)!important}
#loginView.pg-login .pg-story{
  background:radial-gradient(ellipse 62% 72% at 34% 48%,#1e3a5f 0%,#172033 58%,#0f172a 100%)!important;
}
#loginView.pg-login .pg-story::before{
  background:radial-gradient(ellipse at 36% 50%,transparent 44%,rgba(37,99,235,.16) 76%,transparent 100%)!important;
}
#loginView.pg-login .pg-story::after{background:var(--pg-primary)!important;box-shadow:0 0 34px rgba(37,99,235,.28)!important}
#loginView.pg-login .pg-access{background:var(--pg-surface)!important}
#loginView.pg-login :where(.pg-login-title,.pg-floating-label){color:var(--pg-text)!important}
#loginView.pg-login .pg-form input,
#loginView.pg-login .pg-form input:focus,
#loginView.pg-login .pg-form input:focus-visible{color:var(--pg-text)!important;border-bottom-color:var(--pg-border-strong)!important}
#loginView.pg-login .pg-field:focus-within input{border-bottom-color:var(--pg-primary)!important;background:var(--pg-primary-soft)!important}
#loginView.pg-login .pg-form input:focus~.pg-floating-label,
#loginView.pg-login .pg-form input:not(:placeholder-shown)~.pg-floating-label{color:var(--pg-primary)!important}
#loginView.pg-login :where(.pg-submit,.login-submit){color:#fff!important;background:var(--pg-primary)!important;box-shadow:0 10px 24px rgba(37,99,235,.22)!important}
#loginView.pg-login :where(.pg-submit,.login-submit):hover{background:var(--pg-primary-hover)!important}
#loginView.pg-login :where(.pg-login-error,.login-error){color:var(--pg-danger)!important;background:var(--pg-danger-soft)!important;border-color:#fecaca!important}

/* Armazón del ERP */
.command-center{
  --pg-shell-bg:var(--pg-bg)!important;
  --pg-sidebar-bg:var(--pg-surface)!important;
  --pg-sidebar-line:var(--pg-border)!important;
  --pg-ink:var(--pg-text)!important;
  --pg-muted:var(--pg-text-muted)!important;
  --pg-lime:var(--pg-primary)!important;
  --pg-blue:var(--pg-primary)!important;
  --pg-green:var(--pg-accent)!important;
  --pg-yellow:var(--pg-warning)!important;
  --pg-red:var(--pg-danger)!important;
  --pg-purple:var(--pg-primary)!important;
  --pg-aqua:var(--pg-info)!important;
  --pg-coral:var(--pg-danger)!important;
  --pg-nav-neutral:var(--pg-text-muted)!important;
  --pg-nav-icon-bg:var(--pg-surface-muted)!important;
  --pg-nav-hover:var(--pg-primary-soft)!important;
  --pg-nav-active:var(--pg-primary)!important;
  --pg-nav-active-bg:var(--pg-primary-soft)!important;
  background:var(--pg-bg)!important;
}
.command-center :where(.topbar,.main-nav,.primary-nav){background:var(--pg-surface)!important;border-color:var(--pg-border)!important}
.command-center .main-nav{background:var(--pg-surface)!important;box-shadow:8px 0 28px rgba(23,32,51,.05)!important}
.command-center .sidebar-brand img{background:var(--pg-text)!important;box-shadow:0 6px 16px rgba(23,32,51,.14)!important}
.command-center :where(.sidebar-nav-label,.sidebar-brand span,.topbar-product){color:var(--pg-text-muted)!important}
.command-center .sidebar-nav-group+.sidebar-nav-group,
.command-center .sidebar-nav-group--companies{border-color:var(--pg-border)!important}
.command-center .main-nav .nav-item{color:var(--pg-text-muted)!important;background:transparent!important;border-color:transparent!important}
.command-center .main-nav .nav-item i{color:var(--pg-text-muted)!important;background:var(--pg-surface-muted)!important}
.command-center .main-nav .nav-item:hover{color:var(--pg-primary)!important;background:var(--pg-primary-soft)!important}
.command-center .main-nav .nav-item:hover i{color:var(--pg-primary)!important;background:#dbeafe!important}
.command-center .main-nav .nav-item.active{color:var(--pg-primary-hover)!important;background:var(--pg-primary-soft)!important;box-shadow:inset 3px 0 0 var(--pg-primary)!important}
.command-center .main-nav .nav-item.active i{color:#fff!important;background:var(--pg-primary)!important}
.command-center :where(.sidebar-edge-toggle,.sidebar-toggle){color:var(--pg-primary)!important;background:var(--pg-surface)!important;border-color:var(--pg-border)!important;box-shadow:0 6px 18px rgba(23,32,51,.1)!important}
.command-center :where(.sidebar-edge-toggle,.sidebar-toggle):hover{color:#fff!important;background:var(--pg-primary)!important;border-color:var(--pg-primary)!important}
.command-center .topbar{box-shadow:0 1px 0 var(--pg-border)!important}
.command-center :where(.topbar-tools button,.topbar-actions button,.company-session-shell){color:var(--pg-text)!important;background:var(--pg-surface)!important;border-color:var(--pg-border)!important}

/* Compatibilidad con todas las familias históricas de variables. */
#appView{
  --erp-blue:var(--pg-primary)!important;
  --erp-blue-dark:var(--pg-primary-hover)!important;
  --erp-blue-soft:var(--pg-primary-soft)!important;
  --erp-blue-line:#bfdbfe!important;
  --erp-graphite:var(--pg-text)!important;
  --erp-graphite-dark:var(--pg-text)!important;
  --erp-graphite-soft:var(--pg-surface-muted)!important;
  --erp-muted:var(--pg-text-muted)!important;
  --erp-line:var(--pg-border)!important;
  --erp-surface:var(--pg-surface)!important;
  --erp-background:var(--pg-bg)!important;
  --state-pending:var(--pg-warning)!important;
  --state-pending-dark:var(--pg-warning)!important;
  --state-pending-soft:var(--pg-warning-soft)!important;
  --state-pending-line:#fcd34d!important;
  --state-paid:var(--pg-success)!important;
  --state-paid-dark:var(--pg-success)!important;
  --state-paid-soft:var(--pg-success-soft)!important;
  --state-paid-line:#86efac!important;
  --nx-bg:var(--pg-bg)!important;
  --nx-surface:var(--pg-surface)!important;
  --nx-ink:var(--pg-text)!important;
  --nx-muted:var(--pg-text-muted)!important;
  --nx-line:var(--pg-border)!important;
  --nx-accent:var(--pg-primary)!important;
  --nx-brand:var(--pg-text)!important;
  --pirela-black:var(--pg-text)!important;
  --pirela-ink:var(--pg-text)!important;
  --pirela-muted:var(--pg-text-muted)!important;
  --pirela-line:var(--pg-border)!important;
  --pirela-paper:var(--pg-bg)!important;
  --pirela-surface:var(--pg-surface)!important;
  --pirela-soft:var(--pg-surface-muted)!important;
  --hybrid-accent:var(--pg-primary)!important;
  --hybrid-accent-soft:var(--pg-primary-soft)!important;
  --hybrid-bg:var(--pg-bg)!important;
  --hybrid-panel:var(--pg-surface)!important;
  --hybrid-panel-soft:var(--pg-surface-muted)!important;
  --hybrid-text:var(--pg-text)!important;
  --hybrid-muted:var(--pg-text-muted)!important;
  --hybrid-line:var(--pg-border)!important;
  --minimal-accent:var(--pg-primary)!important;
  --minimal-accent-soft:var(--pg-primary-soft)!important;
  --minimal-bg:var(--pg-bg)!important;
  --minimal-panel:var(--pg-surface)!important;
  --minimal-panel-soft:var(--pg-surface-muted)!important;
  --minimal-text:var(--pg-text)!important;
  --minimal-muted:var(--pg-text-muted)!important;
  --minimal-line:var(--pg-border)!important;
}
#appView :is(#usuariosModule,#userModal){--team-purple:var(--pg-primary)!important;--team-purple-hover:var(--pg-primary-hover)!important;--team-purple-soft:var(--pg-primary-soft)!important;--team-lime:var(--pg-primary)!important;--team-success:var(--pg-success)!important;--team-ink:var(--pg-text)!important;--team-muted:var(--pg-text-muted)!important;--team-line:var(--pg-border)!important;--team-soft:var(--pg-surface-muted)!important;--team-surface:var(--pg-surface)!important}
#appView :is(#sucursalesModule,#locationCatalogModal){--branch-purple:var(--pg-primary)!important;--branch-coral:var(--pg-primary)!important;--branch-coral-soft:var(--pg-primary-soft)!important;--branch-ink:var(--pg-text)!important;--branch-muted:var(--pg-text-muted)!important;--branch-line:var(--pg-border)!important;--branch-surface:var(--pg-surface)!important;--branch-modal-purple:var(--pg-primary)!important;--branch-modal-coral:var(--pg-primary)!important;--branch-modal-ink:var(--pg-text)!important;--branch-modal-muted:var(--pg-text-muted)!important;--branch-modal-line:var(--pg-border)!important;--branch-modal-soft:var(--pg-surface-muted)!important}
#appView :is(#empresasModule,#companyDirectoryModal){--company-purple:var(--pg-primary)!important;--company-aqua:var(--pg-primary)!important;--company-coral:var(--pg-primary)!important;--company-coral-soft:var(--pg-primary-soft)!important;--company-red:var(--pg-danger)!important;--company-ink:var(--pg-text)!important;--company-muted:var(--pg-text-muted)!important;--company-line:var(--pg-border)!important;--company-soft:var(--pg-surface-muted)!important;--company-surface:var(--pg-surface)!important;--company-form-purple:var(--pg-primary)!important;--company-form-coral:var(--pg-primary)!important;--company-form-ink:var(--pg-text)!important;--company-form-muted:var(--pg-text-muted)!important;--company-form-line:var(--pg-border)!important;--company-form-soft:var(--pg-surface-muted)!important}
#appView :is(#clientesModule,#clientModal){--contact-accent:var(--pg-primary)!important;--contact-accent-deep:var(--pg-primary-hover)!important;--contact-accent-soft:var(--pg-primary-soft)!important;--contact-aqua:var(--pg-primary)!important;--contact-green:var(--pg-accent)!important;--contact-purple:var(--pg-primary)!important;--contact-red:var(--pg-danger)!important;--contact-ink:var(--pg-text)!important;--contact-muted:var(--pg-text-muted)!important;--contact-line:var(--pg-border)!important;--contact-surface:var(--pg-surface)!important}
#appView :is(#proveedoresModule,#providerModal){--provider-accent:var(--pg-primary)!important;--provider-accent-dark:var(--pg-primary-hover)!important;--provider-accent-soft:var(--pg-primary-soft)!important;--provider-ink:var(--pg-text)!important;--provider-muted:var(--pg-text-muted)!important;--provider-line:var(--pg-border)!important;--provider-form-accent:var(--pg-primary)!important;--provider-form-accent-dark:var(--pg-primary-hover)!important;--provider-form-ink:var(--pg-text)!important;--provider-form-muted:var(--pg-text-muted)!important;--provider-form-line:var(--pg-border)!important;--provider-form-soft:var(--pg-surface-muted)!important}
#appView #presupuestoModule{--project-violet:var(--pg-primary)!important;--project-violet-soft:var(--pg-primary-soft)!important;--project-blue:var(--pg-primary)!important;--project-blue-soft:var(--pg-primary-soft)!important;--project-coral:var(--pg-primary)!important;--project-ink:var(--pg-text)!important;--project-muted:var(--pg-text-muted)!important;--project-line:var(--pg-border)!important}
#appView #proyectosModule{--op-blue:var(--pg-primary)!important;--op-blue-soft:var(--pg-primary-soft)!important;--op-green:var(--pg-accent)!important;--op-green-soft:var(--pg-accent-soft)!important;--op-ink:var(--pg-text)!important;--op-muted:var(--pg-text-muted)!important;--op-line:var(--pg-border)!important}
#appView #organizacionModule{--org-accent:var(--pg-primary)!important;--org-accent-soft:var(--pg-primary-soft)!important;--org-amber:var(--pg-primary)!important;--org-coral:var(--pg-primary)!important;--org-cyan:var(--pg-primary)!important;--org-indigo:var(--pg-primary)!important;--org-slate:var(--pg-text)!important;--org-violet:var(--pg-primary)!important}
#appView #comprasModule{--pc-blue:var(--pg-primary)!important;--pc-blue-dark:var(--pg-primary-hover)!important;--pc-blue-soft:var(--pg-primary-soft)!important;--pc-blue-line:#bfdbfe!important;--pc-success:var(--pg-accent)!important;--pc-success-soft:var(--pg-accent-soft)!important;--pc-danger:var(--pg-danger)!important;--pc-danger-soft:var(--pg-danger-soft)!important;--pc-ink:var(--pg-text)!important;--pc-muted:var(--pg-text-muted)!important;--pc-line:var(--pg-border)!important;--pc-surface:var(--pg-surface)!important;--pc-surface-soft:var(--pg-surface-muted)!important}
#appView #cuentasPagarModule{--ap-blue:var(--pg-primary)!important;--ap-blue-dark:var(--pg-primary-hover)!important;--ap-blue-soft:var(--pg-primary-soft)!important;--ap-blue-line:#bfdbfe!important;--ap-success:var(--pg-success)!important;--ap-success-soft:var(--pg-success-soft)!important;--ap-danger:var(--pg-danger)!important;--ap-danger-soft:var(--pg-danger-soft)!important;--ap-ink:var(--pg-text)!important;--ap-muted:var(--pg-text-muted)!important;--ap-line:var(--pg-border)!important;--ap-surface:var(--pg-surface)!important;--ap-surface-soft:var(--pg-surface-muted)!important}
#appView #cuentasCobrarModule{--cx-forest:var(--pg-primary)!important;--cx-forest-dark:var(--pg-primary-hover)!important;--cx-sage:var(--pg-primary-soft)!important;--cx-sage-strong:#bfdbfe!important;--cx-cream:var(--pg-surface-muted)!important;--cx-cream-strong:var(--pg-border)!important;--cx-ink:var(--pg-text)!important;--cx-muted:var(--pg-text-muted)!important;--cx-line:var(--pg-border)!important;--cx-white:var(--pg-surface)!important}

/* Superficies y tipografía de todos los módulos */
.command-center :where(.workspace,.module-view){background:var(--pg-bg)!important;color:var(--pg-text)!important}
.command-center .module-view :where(h1,h2,h3,h4,h5,strong,b){color:var(--pg-text)}
.command-center .module-view :where(p,small,.muted,.helper-text,.field-hint,.table-note){color:var(--pg-text-muted)}
.command-center .module-view :where(
  .card,.panel,.section-card,.module-card,.summary-card,.metric-card,.content-card,
  .detail-card,.info-card,.filter-card,.filters-panel,.table-card,.data-card,
  .project-card,.budget-card,.company-card,.provider-card,.client-card,
  .directory-card,.document-card,.upload-card,.history-card,.form-section,
  .payment-card,.quote-card,.workspace-card
){color:var(--pg-text)!important;background:var(--pg-surface)!important;border-color:var(--pg-border)!important;box-shadow:var(--pg-shadow)!important}
.command-center .module-view :where(.section-header,.card-header,.panel-header,.table-header,.module-header){color:var(--pg-text)!important;background:var(--pg-surface)!important;border-color:var(--pg-border)!important}
.command-center .module-view :where(.section-header,.card-header,.panel-header,.module-header)::before{background:var(--pg-primary)!important}

/* Formularios */
.command-center :where(input,select,textarea){color:var(--pg-text)!important;background:var(--pg-surface)!important;border-color:var(--pg-border-strong)!important;box-shadow:none!important}
.command-center :where(input,select,textarea):hover{border-color:#94a3b8!important}
.command-center :where(input,select,textarea):focus{outline:0!important;border-color:var(--pg-primary)!important;box-shadow:0 0 0 3px rgba(37,99,235,.14)!important}
.command-center :where(input,textarea)::placeholder{color:var(--pg-disabled)!important}
.command-center :where(input,select,textarea):disabled,
.command-center :where(input,select,textarea)[readonly]{color:var(--pg-text-muted)!important;background:var(--pg-surface-muted)!important;border-color:var(--pg-border)!important}
.command-center input[type="checkbox"],
.command-center input[type="radio"]{accent-color:var(--pg-primary)!important}
.command-center label,
.command-center .field-label{color:var(--pg-text)!important}

/* Botones */
.command-center :where(button,.button,.btn){border-color:var(--pg-border);box-shadow:none}
.command-center :where(.primary-button,.button-primary,.btn-primary,.action-primary,.save-button,.submit-button){color:#fff!important;background:var(--pg-primary)!important;border-color:var(--pg-primary)!important}
.command-center :where(.primary-button,.button-primary,.btn-primary,.action-primary,.save-button,.submit-button):hover{background:var(--pg-primary-hover)!important;border-color:var(--pg-primary-hover)!important}
.command-center :where(.secondary-button,.button-secondary,.btn-secondary,.ghost-button,.outline-button){color:var(--pg-text)!important;background:var(--pg-surface)!important;border-color:var(--pg-border-strong)!important}
.command-center :where(.secondary-button,.button-secondary,.btn-secondary,.ghost-button,.outline-button):hover{color:var(--pg-primary)!important;background:var(--pg-primary-soft)!important;border-color:#93c5fd!important}
.command-center :where(.success-button,.button-success,.btn-success){color:#fff!important;background:var(--pg-accent)!important;border-color:var(--pg-accent)!important}
.command-center :where(.success-button,.button-success,.btn-success):hover{background:var(--pg-accent-hover)!important;border-color:var(--pg-accent-hover)!important}
.command-center :where(.danger-button,.button-danger,.btn-danger,.delete-button,.cancel-button){color:var(--pg-danger)!important;background:var(--pg-surface)!important;border-color:#e7b5be!important;box-shadow:inset 3px 0 0 var(--pg-danger)!important}
.command-center :where(.danger-button,.button-danger,.btn-danger,.delete-button,.cancel-button):hover{color:#84283a!important;background:var(--pg-danger-soft)!important;border-color:#d98d9b!important}
.command-center :where(button,.button,.btn):disabled{color:#fff!important;background:var(--pg-disabled)!important;border-color:var(--pg-disabled)!important;opacity:.7!important}
#appView#appView :where(.danger-button,.button-danger,.btn-danger,.delete-button,.cancel-button,.is-danger){color:var(--pg-danger)!important;background:var(--pg-surface)!important;border-color:#e7b5be!important;box-shadow:inset 3px 0 0 var(--pg-danger)!important}
#appView#appView :where(.danger-button,.button-danger,.btn-danger,.delete-button,.cancel-button,.is-danger):hover{color:#84283a!important;background:var(--pg-danger-soft)!important;border-color:#d98d9b!important}

/* Tablas, listas y paginación */
.command-center :where(.table-shell,.table-wrap,.data-table-wrap,.responsive-table,.list-shell){background:var(--pg-surface)!important;border-color:var(--pg-border)!important}
.command-center table{color:var(--pg-text)!important;background:var(--pg-surface)!important;border-color:var(--pg-border)!important}
.command-center :where(thead,thead tr,th){color:var(--pg-text)!important;background:var(--pg-surface-muted)!important;border-color:var(--pg-border)!important}
.command-center :where(td,tbody tr){color:var(--pg-text)!important;background:var(--pg-surface)!important;border-color:var(--pg-border)!important}
.command-center tbody tr:hover td{background:var(--pg-primary-soft)!important}
.command-center tbody tr.is-selected td,
.command-center tbody tr.selected td{background:#dbeafe!important}
.command-center :where(.pagination button,.page-button){color:var(--pg-text)!important;background:var(--pg-surface)!important;border-color:var(--pg-border)!important}
.command-center :where(.pagination button.active,.page-button.active){color:#fff!important;background:var(--pg-primary)!important;border-color:var(--pg-primary)!important}

/* Estados semánticos: solo aquí aparecen rojo y ámbar */
.command-center :where(.status,.badge,.chip,.pill,.tag){border-color:var(--pg-border);background:var(--pg-surface-muted);color:var(--pg-text-muted)}
.command-center :where(.status-info,.badge-info,.is-info,.status-processing,.in-process){color:var(--pg-info)!important;background:var(--pg-info-soft)!important;border-color:#bae6fd!important}
.command-center :where(.status-success,.badge-success,.is-success,.is-paid,.paid,.pagada,.cobrada,.completed,.approved){color:var(--pg-success)!important;background:var(--pg-success-soft)!important;border-color:#86efac!important}
.command-center :where(.status-warning,.badge-warning,.is-warning,.pending,.pendiente,.awaiting){color:var(--pg-warning)!important;background:var(--pg-warning-soft)!important;border-color:#fcd34d!important}
.command-center :where(.status-danger,.badge-danger,.is-danger,.overdue,.vencida,.rejected,.cancelled,.error){color:var(--pg-danger)!important;background:var(--pg-danger-soft)!important;border-color:#e7b5be!important}
.command-center :where(tr.is-paid,tr.paid-row,tr.row-paid) td{background:var(--pg-success-soft)!important}
.command-center :where(tr.is-overdue,tr.overdue-row,tr.row-overdue) td{background:var(--pg-surface)!important}
.command-center :where(tr.is-overdue,tr.overdue-row,tr.row-overdue) td:first-child{box-shadow:inset 4px 0 0 var(--pg-danger)!important}
.command-center :where(tr.is-pending,tr.pending-row,tr.row-pending) td{background:var(--pg-warning-soft)!important}

/* Pestañas, filtros, vacíos, archivos y desplegables */
.command-center :where(.tabs,.tab-list,.filters,.filter-bar,.toolbar,.actions-bar){border-color:var(--pg-border)!important}
.command-center :where(.tab,.tab-button,[role="tab"]){color:var(--pg-text-muted)!important;background:transparent!important;border-color:transparent!important}
.command-center :where(.tab,.tab-button,[role="tab"]):hover{color:var(--pg-primary)!important;background:var(--pg-primary-soft)!important}
.command-center :where(.tab.active,.tab-button.active,[role="tab"][aria-selected="true"]){color:var(--pg-primary)!important;border-color:var(--pg-primary)!important;background:var(--pg-primary-soft)!important}
.command-center :where(.empty-state,.empty-box,.no-data,.empty-message){color:var(--pg-text-muted)!important;background:var(--pg-bg)!important;border-color:var(--pg-border)!important}
.command-center :where(.document-upload,.upload-zone,.file-upload,.drop-zone,.document-list,.file-list){background:var(--pg-surface)!important;border-color:var(--pg-border)!important}
.command-center :where(.document-upload,.upload-zone,.file-upload,.drop-zone):hover{background:var(--pg-primary-soft)!important;border-color:#93c5fd!important}
.command-center :where(.document-icon,.file-icon,.upload-icon){color:var(--pg-primary)!important;background:var(--pg-primary-soft)!important}

/* Modales, avisos y menús */
.command-center .modal{background:rgba(15,23,42,.46)!important}
.command-center :where(.modal-panel,.dialog-panel,.popover,.dropdown-menu,.context-menu){color:var(--pg-text)!important;background:var(--pg-surface)!important;border-color:var(--pg-border)!important;box-shadow:var(--pg-shadow-raised)!important}
.command-center :where(.modal-heading,.modal-actions,.dialog-header,.dialog-footer){border-color:var(--pg-border)!important;background:var(--pg-surface)!important}
.command-center .modal-close{color:var(--pg-text-muted)!important;background:var(--pg-surface-muted)!important;border-color:var(--pg-border)!important}
.command-center .modal-close:hover{color:var(--pg-danger)!important;background:var(--pg-danger-soft)!important;border-color:#fecaca!important}
.command-center :where(.alert-info,.notice-info){color:var(--pg-info)!important;background:var(--pg-info-soft)!important;border-color:#bae6fd!important}
.command-center :where(.alert-success,.notice-success){color:var(--pg-success)!important;background:var(--pg-success-soft)!important;border-color:#86efac!important}
.command-center :where(.alert-warning,.notice-warning){color:var(--pg-warning)!important;background:var(--pg-warning-soft)!important;border-color:#fcd34d!important}
.command-center :where(.alert-danger,.notice-danger){color:var(--pg-danger)!important;background:var(--pg-danger-soft)!important;border-color:#fecaca!important}

/* Módulos operativos: elimina acentos heredados distintos */
#usuariosModule,#sucursalesModule,#empresasModule,#clientesModule,#proveedoresModule,
#listaPreciosModule,#gastosFijosModule,#presupuestoModule,#proyectosModule,#comprasModule,
#cuentasCobrarModule,#cuentasPagarModule,#prestamosModule,#comisionesModule,#nominaModule,
#organizacionModule,#reportesModule,#informesModule,#asistenciasModule,#exportacionesModule,
#recuperacionDocumentalModule,#tareasModule{
  --module-accent:var(--pg-primary)!important;
  --module-accent-dark:var(--pg-primary-hover)!important;
  --module-accent-soft:var(--pg-primary-soft)!important;
  --accent:var(--pg-primary)!important;
  --accent-soft:var(--pg-primary-soft)!important;
  --brand:var(--pg-primary)!important;
}
#inicioModule :where(.home-hero,.home-welcome,.home-panel){background:var(--pg-surface)!important;border-color:var(--pg-border)!important}
#inicioModule :where(.business-card,.company-launch-card,.workspace-launch-card){color:#fff!important;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)!important;border-color:#2563eb!important}
#inicioModule :where(.business-card,.company-launch-card,.workspace-launch-card):hover{background:linear-gradient(135deg,#0f766e 0%,#115e59 100%)!important;border-color:#0f766e!important}
#inicioModule :where(.business-card,.company-launch-card,.workspace-launch-card) :where(h2,h3,p,small,strong,i,span){color:#fff!important}
#appView#appView #inicioModule :where(.home-business-card,.home-business-card.is-media,.home-business-card.is-crm){--unit-a:var(--pg-primary)!important;--unit-b:var(--pg-primary-hover)!important;border-color:#bfdbfe!important;background:linear-gradient(135deg,var(--pg-primary),var(--pg-primary-hover))!important}
#appView#appView #inicioModule :where(.home-business-card,.home-business-card.is-media,.home-business-card.is-crm):hover,
#appView#appView #inicioModule :where(.home-business-card,.home-business-card.is-media,.home-business-card.is-crm):focus-visible{--unit-a:var(--pg-accent)!important;--unit-b:var(--pg-accent-hover)!important;border-color:var(--pg-accent)!important;background:linear-gradient(135deg,var(--pg-accent),var(--pg-accent-hover))!important;box-shadow:0 18px 38px rgba(15,118,110,.2)!important}

/* Vigencias, cotizaciones y proyectos */
#presupuestoModule :where(.project-term-card,.project-recurrence-banner){background:var(--pg-surface)!important;border-color:var(--pg-border)!important;border-left-color:var(--pg-primary)!important}
#presupuestoModule :where(.project-term-heading>span,.project-recurrence-banner>span){color:#fff!important;background:var(--pg-primary)!important}
#presupuestoModule :where(.project-term-message,.project-term-list-badge){color:var(--pg-info)!important;background:var(--pg-info-soft)!important}
#presupuestoModule .project-recurrence-banner>b{color:var(--pg-accent)!important;background:var(--pg-accent-soft)!important}
#presupuestoModule .project-recurrence-banner.is-ended{background:var(--pg-surface)!important;border-color:var(--pg-border)!important;border-left-color:var(--pg-danger)!important}
#presupuestoModule .project-recurrence-banner.is-ended>b{color:var(--pg-danger)!important;background:var(--pg-danger-soft)!important}
.receivable-period-tag{color:var(--pg-primary)!important}

/* CxP/CxC: el estado usa un acento lateral, no bloques completos */
#cuentasPagarModule :where(.payables-pending-header,.pending-section-header,.ocp-pending-header),
#cuentasCobrarModule :where(.receivables-pending-header,.pending-section-header){color:var(--pg-text)!important;background:var(--pg-surface)!important;border-color:var(--pg-border)!important;border-left:5px solid var(--pg-danger)!important}
#cuentasPagarModule :where(.payables-paid-header,.paid-section-header,.ocp-paid-header),
#cuentasCobrarModule :where(.receivables-paid-header,.paid-section-header){color:#fff!important;background:var(--pg-success)!important;border-color:var(--pg-success)!important}
#cuentasPagarModule :where(.payables-paid-header,.paid-section-header,.ocp-paid-header) *,
#cuentasCobrarModule :where(.receivables-paid-header,.paid-section-header) *{color:#fff!important}
#cuentasPagarModule :where(.payables-pending-header,.pending-section-header,.ocp-pending-header) *,
#cuentasCobrarModule :where(.receivables-pending-header,.pending-section-header) *{color:var(--pg-text)!important}
#appView#appView #cuentasPagarModule .purchase-section[data-payable-section$="pending"]>h2{color:var(--pg-text)!important;background:var(--pg-surface)!important;border-top-color:var(--pg-danger)!important;box-shadow:inset 5px 0 0 var(--pg-danger)!important}
#appView#appView #cuentasPagarModule .purchase-section[data-payable-section$="paid"]>h2{color:#fff!important;background:var(--pg-success)!important;border-top-color:var(--pg-success)!important}
#cuentasPagarModule :where(.payable-group,.payables-section,.ocp-section),
#cuentasCobrarModule :where(.receivable-group,.receivables-section){background:var(--pg-surface)!important;border-color:var(--pg-border)!important}

/* CRM independiente: azul comercial y estados semánticos */
#appView.crm-workspace-mode,
#appView.crm-workspace-mode #pirelaCrmModule{background:var(--pg-bg)!important}
#pirelaCrmModule{
  --crm-ink:var(--pg-text)!important;
  --crm-muted:var(--pg-text-muted)!important;
  --crm-line:var(--pg-border)!important;
  --crm-surface:var(--pg-surface)!important;
  --crm-soft:var(--pg-surface-muted)!important;
  --crm-blue:var(--pg-primary)!important;
  --crm-blue-dark:var(--pg-primary-hover)!important;
  --crm-blue-soft:var(--pg-primary-soft)!important;
  --crm-green:var(--pg-success)!important;
  --crm-green-soft:var(--pg-success-soft)!important;
  --crm-amber:var(--pg-warning)!important;
  --crm-amber-soft:var(--pg-warning-soft)!important;
  --crm-red:var(--pg-danger)!important;
  --crm-red-soft:var(--pg-danger-soft)!important;
}
#pirelaCrmModule .crm-standalone-page{background:linear-gradient(180deg,var(--pg-bg),var(--pg-surface-muted))!important}
#pirelaCrmModule .crm-standalone-brand img{background:var(--pg-text)!important}
#pirelaCrmModule :where(.crm-company-switcher,.crm-work-area,.crm-company-tab,.crm-stage>header,.crm-exit-button){background:var(--pg-surface)!important;border-color:var(--pg-border)!important}
#pirelaCrmModule .crm-company-tab:hover{color:var(--pg-primary)!important;background:var(--pg-primary-soft)!important;border-color:#93c5fd!important}
#pirelaCrmModule .crm-company-tab.is-active{color:var(--pg-primary-hover)!important;background:var(--pg-primary-soft)!important;border-color:var(--pg-primary)!important}
#pirelaCrmModule .crm-company-tab.is-active .crm-company-mark{color:#fff!important;background:var(--pg-primary)!important}
#pirelaCrmModule .crm-section-tabs{background:var(--pg-surface)!important;border-color:var(--pg-border)!important}
#pirelaCrmModule .crm-section-tabs button:hover{color:var(--pg-primary)!important;background:var(--pg-primary-soft)!important}
#pirelaCrmModule .crm-section-tabs button.is-active{color:var(--pg-primary-hover)!important;border-bottom-color:var(--pg-primary)!important}
#pirelaCrmModule .crm-toolbar .crm-primary-action{background:var(--pg-primary)!important}
#pirelaCrmModule .crm-stage{background:var(--pg-bg)!important;border-color:var(--pg-border)!important}
#pirelaCrmModule .crm-stage>header{border-top-color:var(--pg-primary)!important}
#pirelaCrmModule .crm-stage-2>header{border-top-color:#3b82f6!important}
#pirelaCrmModule .crm-stage-3>header{border-top-color:var(--pg-info)!important}
#pirelaCrmModule .crm-stage-4>header{border-top-color:var(--pg-warning)!important}
#pirelaCrmModule .crm-stage-5>header{border-top-color:var(--pg-success)!important}
#pirelaCrmModule .crm-stage-6>header{border-top-color:var(--pg-danger)!important}

/* Tema oscuro con los mismos dos acentos */
body.dark-mode{
  --pg-bg:#0f172a;
  --pg-surface:#172033;
  --pg-surface-muted:#1e293b;
  --pg-border:#334155;
  --pg-border-strong:#475569;
  --pg-text:#f8fafc;
  --pg-text-muted:#cbd5e1;
  --pg-disabled:#94a3b8;
  --pg-primary:#60a5fa;
  --pg-primary-hover:#93c5fd;
  --pg-primary-soft:#172f4f;
  --pg-accent:#34d399;
  --pg-accent-hover:#6ee7b7;
  --pg-accent-soft:#123c36;
  --pg-success:#4ade80;
  --pg-success-soft:#153b2a;
  --pg-warning:#fbbf24;
  --pg-warning-soft:#463517;
  --pg-danger:#e58a99;
  --pg-danger-soft:#3a242b;
  --pg-info:#38bdf8;
  --pg-info-soft:#14374a;
}
body.dark-mode .command-center :where(.topbar,.main-nav,.primary-nav,.module-view,.workspace){background:var(--pg-bg)!important}
body.dark-mode .command-center .main-nav{background:var(--pg-surface)!important}
body.dark-mode .command-center tbody tr:hover td{background:var(--pg-primary-soft)!important}
body.dark-mode .command-center .modal{background:rgba(2,6,23,.72)!important}
body.dark-mode #pirelaCrmModule{--crm-ink:var(--pg-text)!important;--crm-muted:var(--pg-text-muted)!important;--crm-line:var(--pg-border)!important;--crm-surface:var(--pg-surface)!important;--crm-soft:var(--pg-surface-muted)!important;--crm-blue:#60a5fa!important;--crm-blue-dark:#93c5fd!important;--crm-blue-soft:#1e3a5f!important;--crm-green:#4ade80!important;--crm-green-soft:#173b2b!important;--crm-amber:#fbbf24!important;--crm-amber-soft:#3b2f16!important;--crm-red:#fb7185!important;--crm-red-soft:#46222c!important}
body.dark-mode #pirelaCrmModule .crm-standalone-page{background:var(--pg-bg)!important}
body.dark-mode #pirelaCrmModule :where(.crm-company-switcher,.crm-work-area,.crm-company-tab,.crm-panel,.crm-metric,.crm-stage>header,.crm-stage-value,.crm-exit-button,.crm-section-tabs,.crm-team-summary){background:var(--pg-surface)!important}
body.dark-mode #pirelaCrmModule .crm-stage{background:var(--pg-bg)!important}

/* Acceso y centro de cuenta · contraste reforzado */
#loginView.pg-login .pg-login-title{color:#0f172a!important}
#loginView.pg-login .pg-floating-label{color:#334155!important}
#loginView.pg-login .pg-form input,
#loginView.pg-login .pg-form input:focus,
#loginView.pg-login .pg-form input:focus-visible{color:#0f172a!important;border-bottom-color:#475569!important}
#loginView.pg-login .pg-form input:focus~.pg-floating-label,
#loginView.pg-login .pg-form input:not(:placeholder-shown)~.pg-floating-label,
#loginView.pg-login .pg-form input:-webkit-autofill~.pg-floating-label{color:#1d4ed8!important}
#loginView.pg-login .pg-field-line{background:#2563eb!important;box-shadow:0 0 12px rgba(37,99,235,.24)!important}
#loginView.pg-login .pg-password button{color:#475569!important}

.command-center .company-session-copy strong{color:#172033!important;font-size:12px!important}
.command-center .company-session-copy small{color:#475569!important;font-size:9px!important;font-weight:750!important}
.command-center .company-session-trigger>i{color:#475569!important}
.command-center .account-menu-header{background:radial-gradient(circle at 92% 8%,rgba(59,130,246,.2),transparent 34%),linear-gradient(135deg,#0f2747,#1e3a5f)!important}
.command-center .account-menu-avatar{color:#1d4ed8!important;background:#dbeafe!important;box-shadow:0 10px 24px rgba(15,39,71,.24)!important}
.command-center .account-menu-header .account-menu-avatar>i{color:#1d4ed8!important}
.command-center .account-menu-header strong{color:#fff!important;font-size:15px!important}
.command-center .account-menu-header>div>span{color:#e2e8f0!important;font-size:9px!important;font-weight:800!important}
.command-center .account-menu-header small{color:#cbd5e1!important;font-size:9px!important;font-weight:650!important}
.command-center .account-menu-online{color:#14532d!important;background:#dcfce7!important;border:1px solid #86efac!important;font-size:9px!important;font-weight:850!important}
.command-center .account-menu-online i{background:#15803d!important;box-shadow:0 0 0 3px rgba(21,128,61,.15)!important}
.command-center .account-center-menu .session-menu-label{color:#475569!important;font-size:9px!important;font-weight:850!important}
.command-center .account-center-menu>button:not(.account-logout)>i:first-child{color:#1d4ed8!important;background:#dbeafe!important}
.command-center .account-center-menu>button:nth-of-type(2n)>i:first-child{color:#0f766e!important;background:#ccfbf1!important}
.command-center .account-center-menu>button b{color:#172033!important;font-size:11px!important}
.command-center .account-center-menu>button small{color:#475569!important;font-size:9px!important;font-weight:600!important}
.command-center .account-center-menu .account-row-arrow{color:#64748b!important}
.command-center .account-center-menu .account-logout{color:#84283a!important;background:#fff7f8!important;border-color:#e7b5be!important;box-shadow:inset 4px 0 0 #9f3447!important;font-weight:850!important}
.command-center .account-center-menu .account-logout:hover{color:#84283a!important;background:#fff1f3!important;border-color:#d98d9b!important}

body.dark-mode .command-center .company-session-copy strong{color:#f8fafc!important}
body.dark-mode .command-center .company-session-copy small{color:#cbd5e1!important}
body.dark-mode .command-center .company-session-trigger>i{color:#cbd5e1!important}
body.dark-mode .command-center .account-center-menu .session-menu-label{color:#cbd5e1!important}
body.dark-mode .command-center .account-center-menu>button b{color:#f8fafc!important}
body.dark-mode .command-center .account-center-menu>button small{color:#cbd5e1!important}

@media(max-width:760px){
  #loginView.pg-login .pg-story{background:linear-gradient(135deg,#172033,#1d4ed8)!important}
  .command-center .modal-panel{border-color:var(--pg-border)!important}
}

/* Legibilidad y alertas discretas · 1.0.98 */
#appView#appView button:is([class*="danger"],[class*="delete"],[class*="cancel"]),
#appView#appView button[data-action="reject"],
#appView#appView .company-confirm-accept{
  color:var(--pg-danger)!important;
  background:var(--pg-surface)!important;
  border-color:#e7b5be!important;
  box-shadow:inset 3px 0 0 var(--pg-danger)!important;
}
#appView#appView button:is([class*="danger"],[class*="delete"],[class*="cancel"]):hover,
#appView#appView button[data-action="reject"]:hover,
#appView#appView .company-confirm-accept:hover{
  color:#84283a!important;
  background:var(--pg-danger-soft)!important;
  border-color:#d98d9b!important;
}

.command-center .app-toast-error{color:#7f2939!important;background:var(--pg-surface)!important;border-color:var(--pg-border)!important;border-left-color:var(--pg-danger)!important}
.command-center .app-toast-error .app-toast-icon{color:var(--pg-danger)!important;background:var(--pg-danger-soft)!important}

.command-center .module-view :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){min-height:42px!important;font-size:12px!important;line-height:1.4!important}
.command-center .module-view :where(.primary-button,.secondary-button,.small-button,.ghost-button,.columns-button,.view-file-button,.danger-button,.success-button){min-height:36px!important;font-size:10px!important}
.command-center .module-view :where(th,.table-header-cell){font-size:9px!important;line-height:1.25!important}
.command-center .module-view :where(td,.table-cell){font-size:11px!important;line-height:1.45!important}
.command-center .module-view :where(label>span,.field-label,.section-label){font-size:9px!important;line-height:1.3!important}
.command-center .module-view :where(h1,.page-title){font-size:30px!important;line-height:1.12!important}
.command-center .module-view :where(h2,.section-title){font-size:20px!important;line-height:1.2!important}
.command-center .module-view :where(h3,.card-title){font-size:15px!important;line-height:1.25!important}

#pirelaCrmModule .crm-sidebar-link{min-height:60px!important}
#pirelaCrmModule .crm-sidebar-link strong{font-size:10.5px!important}
#pirelaCrmModule .crm-sidebar-link small{font-size:8.5px!important}
#pirelaCrmModule .crm-section-tabs button{min-height:52px!important;font-size:11px!important}
#pirelaCrmModule .crm-content-heading h2{font-size:26px!important}
#pirelaCrmModule .crm-content-heading small,
#pirelaCrmModule .crm-panel-heading small{font-size:9px!important}
#pirelaCrmModule .crm-metric{min-height:98px!important}
#pirelaCrmModule .crm-metric small{font-size:9px!important}
#pirelaCrmModule .crm-metric strong{font-size:22px!important}
#pirelaCrmModule :where(input,select,textarea){min-height:42px!important;font-size:11px!important}
#pirelaCrmModule :where(button,.crm-status-chip){font-size:9.5px}
#pirelaCrmModule .crm-agenda-kpi{min-height:82px!important}
#pirelaCrmModule .crm-agenda-kpi small{font-size:9px!important}
#pirelaCrmModule .crm-agenda-kpi strong{font-size:22px!important}
#pirelaCrmModule .crm-dalvo-agenda-row{min-height:92px!important}
#pirelaCrmModule .crm-agenda-date small,
#pirelaCrmModule .crm-agenda-project small,
#pirelaCrmModule .crm-agenda-owner small{font-size:8px!important}
#pirelaCrmModule .crm-agenda-date strong,
#pirelaCrmModule .crm-agenda-owner strong{font-size:10px!important}
#pirelaCrmModule .crm-agenda-project strong{font-size:12px!important}
#pirelaCrmModule .crm-agenda-project em,
#pirelaCrmModule .crm-agenda-owner em{font-size:9px!important}
#pirelaCrmModule th{font-size:9px!important}
#pirelaCrmModule td{font-size:10.5px!important}
#pirelaCrmModule .crm-pipeline-project strong{font-size:11px!important}
#pirelaCrmModule .crm-pipeline-project span,
#pirelaCrmModule .crm-pipeline-comment,
#pirelaCrmModule .crm-pipeline-timing{font-size:9px!important}

body.dark-mode #appView#appView button:is([class*="danger"],[class*="delete"],[class*="cancel"]),
body.dark-mode #appView#appView button[data-action="reject"]{color:#e58a99!important;background:var(--pg-surface)!important;border-color:#78434d!important}
body.dark-mode #pirelaCrmModule .crm-agenda-kpi.is-risk:hover,
body.dark-mode #pirelaCrmModule .crm-agenda-kpi.is-risk.is-active,
body.dark-mode #pirelaCrmModule .crm-dalvo-agenda-row.is-overdue:hover{background:var(--pg-danger-soft)!important}

@media(max-width:760px){
  .command-center .module-view :where(h1,.page-title){font-size:25px!important}
  .command-center .module-view :where(h2,.section-title){font-size:18px!important}
  #pirelaCrmModule .crm-content-heading h2{font-size:22px!important}
}
