/* Capa SaaS transversal: consistencia visual, lectura y uso tactil/raton. */
:root{
  --saas-bg:#f4f7f9;
  --saas-surface:#ffffff;
  --saas-surface-soft:#f8fbfc;
  --saas-border:#d9e5ec;
  --saas-border-strong:#c3d3de;
  --saas-text:#10283a;
  --saas-muted:#5c7180;
  --saas-primary:#087f63;
  --saas-primary-soft:#e7f6f1;
  --saas-danger:#c9404b;
  --saas-radius:12px;
  --saas-shadow:0 12px 34px rgba(16,40,58,.08);
  --saas-fast:.08s;
}
html{scroll-behavior:auto}
body{background:var(--saas-bg);color:var(--saas-text)}
a,button,[role="button"],summary,label[for],select,input[type="checkbox"],input[type="radio"],.tab,[data-tab],[data-open],[data-close],[data-module],[data-action],[data-snav-link],[data-snav-menu],[data-snav-search-open],[data-snav-user],[data-snav-star]{cursor:pointer}
button:disabled,[aria-disabled="true"],input:disabled,select:disabled,textarea:disabled{cursor:not-allowed!important}
button,.button,[class*="btn"],input[type="submit"],input[type="button"],[role="button"]{min-height:40px;border-radius:10px;transition:background-color var(--saas-fast) ease,border-color var(--saas-fast) ease,color var(--saas-fast) ease,box-shadow var(--saas-fast) ease,transform var(--saas-fast) ease;touch-action:manipulation}
button:hover,.button:hover,[class*="btn"]:hover,input[type="submit"]:hover,input[type="button"]:hover,[role="button"]:hover{filter:saturate(1.04)}
button:active,.button:active,[class*="btn"]:active,input[type="submit"]:active,input[type="button"]:active,[role="button"]:active{transform:translateY(1px)}
input,select,textarea{min-height:40px;border-radius:10px;border-color:var(--saas-border-strong);background:#fff;color:var(--saas-text);transition:border-color var(--saas-fast) ease,box-shadow var(--saas-fast) ease,background-color var(--saas-fast) ease;touch-action:manipulation}
textarea{line-height:1.45}
input:hover,select:hover,textarea:hover{border-color:#9fb5c3}
input:focus,select:focus,textarea:focus{border-color:var(--saas-primary)!important;box-shadow:0 0 0 3px rgba(8,127,99,.14)!important;outline:0}
table{font-variant-numeric:tabular-nums}
th{background:var(--saas-surface-soft);color:#607684;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
td,th{vertical-align:middle}
tbody tr{transition:background-color var(--saas-fast) ease}
tbody tr:hover{background:#f8fbfc}
.card,.panel,.config-card,.co-panel,.sst-card,.payroll-card,.product-card,.inventory-card,.sales-card,.pos-card,.crm-card,section[class*="card"],article[class*="card"],section[class*="panel"],article[class*="panel"]{border-color:var(--saas-border);box-shadow:var(--saas-shadow)}
.empty,[class*="empty"]{color:var(--saas-muted)}
.state,.status,.badge,[class*="badge"],[class*="status"]{border-radius:999px;white-space:nowrap}
dialog,[role="dialog"],[class$="-overlay"],[class*="-overlay "],[class$="-modal"],[class*="-modal "]{scrollbar-gutter:stable}
dialog::backdrop{background:rgba(6,25,47,.58);backdrop-filter:none}
dialog[open]{box-shadow:0 26px 80px rgba(0,16,31,.32)}
.erp-table-wrap,.table,.table-wrap,[class*="table-wrap"],[class*="table-responsive"]{overflow:auto;scrollbar-gutter:stable}
.erp-list-toolbar,.filters,.filter-bar,[class*="filters"],[class*="toolbar"]{gap:10px}
.message,.notice,.alert,.po-toast,.msg{border-radius:12px}
.snav-item,.snav-group-trigger,.snav-search-trigger,.snav-user-trigger,.snav-icon-button,.snav-star,.nav-item,.nav-group-trigger{cursor:pointer}
.erp-svg-icon{display:inline-block;width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.18em;color:currentColor}
.nav-icon .erp-svg-icon,.kpi-icon .erp-svg-icon,.toast-symbol .erp-svg-icon,.confirm-symbol .erp-svg-icon{width:1.35em;height:1.35em}
.erp-action-icon{display:inline-grid;place-items:center;width:1.2em;height:1.2em;margin-right:.42em;vertical-align:-.18em}
.erp-icon-only .erp-action-icon{margin-right:0}
.nav-icon,.kpi-icon,.toast-symbol,.confirm-symbol{line-height:1}
button .erp-svg-icon,a .erp-svg-icon{pointer-events:none}
.erp-enhanced-table{position:relative;border:1px solid var(--saas-border);border-radius:14px;background:#fff;overflow:auto;scrollbar-gutter:stable;box-shadow:0 8px 24px rgba(16,40,58,.05)}
.erp-enhanced-table table{margin:0}
.erp-enhanced-table thead th{position:sticky;top:0;z-index:2}
.erp-enhanced-table tbody tr:focus-within{background:#eefaf6}
.erp-density-compact table td,.erp-density-compact table th{padding-top:8px!important;padding-bottom:8px!important}
.erp-field-invalid{border-color:var(--saas-danger)!important;box-shadow:0 0 0 3px rgba(201,64,75,.13)!important}
.erp-field-hint{display:block;margin-top:5px;color:var(--saas-muted);font-size:12px;line-height:1.35}
.erp-required-mark::after{content:" *";color:var(--saas-danger);font-weight:800}
@media (hover:hover){.snav-item:hover,.nav-item:hover,[data-tab]:hover,.tab:hover{box-shadow:inset 0 0 0 1px rgba(8,127,99,.16)}}
@media (max-width:760px){button,.button,[class*="btn"],input[type="submit"],input[type="button"],[role="button"],input,select,textarea{min-height:44px}body{font-size:15px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
