/* Estética Arc (uiarc.dev), sobre la capa de tema-interfaz.css.
   Traslada a CSS sin framework el lenguaje de Arc: neutros puros, acción casi negra, luz
   lavanda y melocotón, Geist en titulares e Inter en texto, sombras ligeras, radios
   redondos y movimiento tranquilo (entradas con desenfoque suave, pulsación, indicadores
   que se deslizan; estos últimos los pone arc-movimiento.js). No cambia permisos,
   cálculos ni documentos. El color de Identidad (brand.js) sigue mandando sobre
   --fc-primary si la empresa lo configura. Quitar esta hoja y arc-movimiento.js devuelve
   el tema anterior. */

/* Fuentes servidas desde el propio ERP: la CSP solo admite font-src 'self'. Licencia OFL. */
@font-face { font-family:"Inter Arc"; src:url("/fuentes/inter-variable.woff2") format("woff2"); font-weight:100 900; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Inter Arc"; src:url("/fuentes/inter-variable-ext.woff2") format("woff2"); font-weight:100 900; font-display:swap; unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Geist Arc"; src:url("/fuentes/geist-variable.woff2") format("woff2"); font-weight:100 900; font-display:swap; }

html[data-ui="erp"] {
  --fc-background:oklch(98.6% 0 0); --fc-ink:oklch(15% 0 0); --fc-muted:oklch(46% 0 0);
  --fc-card:oklch(100% 0 0); --fc-primary:oklch(23% 0 0); --fc-on-primary:oklch(100% 0 0);
  --fc-secondary:oklch(97.3% 0 0); --fc-selected:oklch(95.8% 0 0);
  --fc-row-hover:oklch(98.4% 0 0);
  --fc-border:oklch(93.5% 0 0); --fc-input:oklch(89.5% 0 0);
  --fc-success:oklch(49% .19 150); --fc-warning:oklch(52% .16 70); --fc-error:oklch(54% .21 25);
  --fc-nav:rgb(255 255 255 / .72); --fc-nav-border:oklch(93.5% 0 0 / .9);
  --fc-ambient:radial-gradient(ellipse at 0% 0%,oklch(95% .03 290) 0,transparent 48%),radial-gradient(ellipse at 100% 0%,oklch(96% .025 240) 0,transparent 42%),radial-gradient(ellipse at 100% 100%,oklch(96.5% .03 65) 0,transparent 50%);
  --fc-shadow:0 6px 18px oklch(0% 0 0 / .05),0 1px 3px oklch(0% 0 0 / .035);
  --fc-floating:0 20px 48px oklch(0% 0 0 / .105),0 3px 10px oklch(0% 0 0 / .045);
  --fc-button-shadow:0 1px 2px oklch(0% 0 0 / .06);
  --arc-lift:0 12px 28px -14px oklch(0% 0 0 / .16),0 2px 6px -2px oklch(0% 0 0 / .05);
  --fc-font:"Inter Arc",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --arc-display:"Geist Arc","Inter Arc",-apple-system,BlinkMacSystemFont,sans-serif;
  --arc-resting:0 1px 2px oklch(0% 0 0 / .035);
  --arc-gradient:linear-gradient(100deg,oklch(90% .045 300),oklch(92% .045 65));
  --arc-gradient-soft:linear-gradient(135deg,oklch(97.5% .016 300),oklch(98% .016 65));
  --arc-gradient-ink:linear-gradient(100deg,oklch(47% .1 300),oklch(50% .09 55));
  --arc-gradient-fg:oklch(22% .01 300);
  --arc-ease:cubic-bezier(.22,1,.36,1); --arc-ease-enter:cubic-bezier(.16,1,.3,1);
  --arc-spring:linear(0,.0258,.09,.1763,.2732,.3724,.4683,.5573,.6376,.7082,.7689,.8202,.8628,.8976,.9256,.9476,.9648,.9778,.9875,.9945,.9994,1.0026,1.0047,1.0058,1.0062,1.0062,1.0059,1.0055,1.0049,1.0043,1.0036,1.0031,1.0025,1.002,1.0016,1.0013,1);
  --arc-fast:160ms; --arc-standard:240ms; --arc-considered:480ms; --arc-spring-dur:580ms;
  --ease-salida:var(--arc-ease); --dur-ventana:var(--arc-standard);
  --bg-deep:oklch(98.4% 0 0); --table-stripe:oklch(99.2% 0 0);
  --accent-border:oklch(89.5% 0 0); --action-hover:oklch(32% 0 0);
  --purple:oklch(47% .1 300);
  --glass-mint:oklch(96.5% .03 155); --glass-blue:oklch(96.5% .02 250); --glass-purple:oklch(96.5% .025 300); --glass-sand:oklch(97% .035 75);
  --danger-bg:oklch(96.5% .03 25);
  --overlay:oklch(15% 0 0 / .32); --border-highlight:oklch(100% 0 0 / .85);
}
html[data-ui="erp"][data-theme="dark"] {
  --fc-background:oklch(19% 0 0); --fc-ink:oklch(96% 0 0); --fc-muted:oklch(70% 0 0);
  --fc-card:oklch(21.5% 0 0); --fc-primary:oklch(93% 0 0); --fc-on-primary:oklch(19% 0 0);
  --fc-secondary:oklch(26% 0 0); --fc-selected:oklch(28% 0 0); --fc-row-hover:oklch(24% 0 0);
  --fc-border:oklch(29% 0 0); --fc-input:oklch(34% 0 0);
  --fc-success:oklch(78% .18 150); --fc-warning:oklch(83% .17 80); --fc-error:oklch(76% .2 25);
  --fc-nav:oklch(21.5% 0 0 / .8); --fc-nav-border:var(--fc-border); --bg-deep:oklch(24% 0 0);
  --fc-ambient:radial-gradient(ellipse at 0% 0%,oklch(26% .04 300) 0,transparent 50%),radial-gradient(ellipse at 100% 100%,oklch(25% .03 60) 0,transparent 50%);
  --fc-shadow:0 8px 22px oklch(0% 0 0 / .22); --fc-floating:0 22px 55px oklch(0% 0 0 / .34);
  --arc-resting:0 1px 2px oklch(0% 0 0 / .18);
  --arc-lift:0 14px 30px -14px oklch(0% 0 0 / .5);
  --arc-gradient:linear-gradient(100deg,oklch(38% .05 300),oklch(40% .045 60));
  --arc-gradient-soft:linear-gradient(135deg,oklch(23.5% .016 300),oklch(24% .014 65));
  --arc-gradient-ink:linear-gradient(100deg,oklch(82% .07 300),oklch(86% .065 70));
  --arc-gradient-fg:oklch(96% .005 300);
  --action-hover:oklch(85% 0 0); --accent-border:var(--fc-input);
  --glass-mint:oklch(28% .04 155); --glass-blue:oklch(28% .03 250); --glass-purple:oklch(28% .04 300); --glass-sand:oklch(30% .04 75);
  --danger-bg:oklch(28% .06 25);
}

/* ===== Tipografía: Geist apretada en titulares, Inter en el resto, cifras tabulares. ===== */
html[data-ui="erp"] body { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; letter-spacing:-.01em; font-feature-settings:"cv11","ss01"; }
html[data-ui="erp"] :is(h1,h2,h3,.view-header h1,.section-title,.nav-brand-text,.dash-card h3,.contab-panel-header h2,.modal-header h2,.modal-header h3) { font-family:var(--arc-display); }
html[data-ui="erp"] :is(.view-header h1,#view-dashboard h1,#view-mi-espacio h1) { letter-spacing:-.035em; line-height:1.1; font-weight:600; }
html[data-ui="erp"] :is(.section-header h2,.section-title,.contab-panel-header h2,.dash-card h3) { letter-spacing:-.02em; }
html[data-ui="erp"] :is(td,.stat-value,.stat-number,.ctz-kpi-importe,.fin-kpi,.importe,.num,[class*="importe"],[class*="total"]) { font-variant-numeric:tabular-nums; }
html[data-ui="erp"] ::selection { background:oklch(90% .045 300); color:var(--arc-gradient-fg); }

/* ===== Acciones ===== */
html[data-ui="erp"] :is(.btn,.btn-primary,.btn-secondary,.btn-danger,.home-button,.nav-fichar-btn-primary,.login-pass-entrar) { border-radius:14px!important; font-weight:500; letter-spacing:-.005em; transition:opacity var(--arc-fast) var(--arc-ease),background-color var(--arc-fast) var(--arc-ease),border-color var(--arc-fast) var(--arc-ease),box-shadow var(--arc-fast) var(--arc-ease),transform var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] :is(.btn-primary,.login-pass-entrar) { background:var(--fc-primary)!important; color:var(--fc-on-primary)!important; border-color:var(--fc-primary)!important; box-shadow:var(--fc-button-shadow),inset 0 1px 0 oklch(100% 0 0 / .08)!important; }
html[data-ui="erp"] :is(.btn-primary,.login-pass-entrar):hover:not(:disabled) { opacity:.9; filter:none; }
html[data-ui="erp"] .btn-secondary { border-color:var(--fc-border)!important; box-shadow:var(--arc-resting)!important; }
html[data-ui="erp"] .btn-secondary:hover:not(:disabled) { background:var(--fc-secondary)!important; }
html[data-ui="erp"] :is(button,.btn,.btn-primary,.btn-secondary,[role=button]):active:not(:disabled) { transform:scale(.97); }
html[data-ui="erp"] :is(button,.btn):disabled { cursor:not-allowed; }

/* ===== Navegación ===== */
html[data-ui="erp"] body:not(.employee-app) .nav-sidebar { border-radius:26px; }
html[data-ui="erp"] .nav-brand-text { font-weight:600; letter-spacing:-.04em; }
html[data-ui="erp"] .nav-sidebar :is(.nav-item,.nav-group-head) { border-radius:14px; transition:background-color var(--arc-fast) var(--arc-ease),color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .nav-sidebar :is(.nav-item.active,.nav-group.active > .nav-group-head,.nav-group-head.active) { color:var(--fc-ink)!important; background:var(--fc-card)!important; box-shadow:0 0 0 1px var(--fc-border),var(--fc-button-shadow)!important; }
html[data-ui="erp"] .nav-sidebar :is(.nav-item,.nav-group-head) svg { transition:transform var(--arc-standard) var(--arc-ease); }
html[data-ui="erp"] .nav-sidebar :is(.nav-item,.nav-group-head):hover svg { transform:translateX(1px) scale(1.04); }
html[data-ui="erp"] .nav-logo { color:var(--fc-on-primary)!important; background:var(--fc-primary)!important; box-shadow:inset 0 1px 0 oklch(100% 0 0 / .12),var(--fc-button-shadow); }
html[data-ui="erp"] :is(.nav-user-avatar,.login-user-avatar,.ts-avatar) { background:var(--arc-gradient)!important; color:var(--arc-gradient-fg)!important; }
html[data-ui="erp"] .nav-badge { background:var(--fc-primary)!important; color:var(--fc-on-primary)!important; border-radius:999px; font-variant-numeric:tabular-nums; }

/* ===== Controles segmentados. arc-movimiento.js añade .arc-indicador, una píldora blanca
   que se desliza al activo; mientras está, el activo no pinta su propio fondo. ===== */
html[data-ui="erp"] :is(#rrhh-tabs,.contab-tabs,.seg-secciones,.gm-pills) { background:var(--fc-selected); border-radius:16px; }
html[data-ui="erp"] :is(.filter-btn,.contab-tab,.ctz-tab,.gm-cuenta) { transition:color var(--arc-fast) var(--arc-ease),background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] :is(.filter-btn,.contab-tab,.ctz-tab,.gm-cuenta).active,
html[data-ui="erp"] #rrhh-tabs .filter-btn.active { color:var(--fc-ink)!important; box-shadow:0 1px 2px oklch(0% 0 0 / .06),0 0 0 .5px oklch(0% 0 0 / .05)!important; }
html[data-ui="erp"] .arc-con-indicador { position:relative; isolation:isolate; }
html[data-ui="erp"] .arc-indicador { position:absolute; z-index:-1; left:0; top:0; border-radius:12px; background:var(--fc-card); box-shadow:0 1px 2px oklch(0% 0 0 / .06),0 0 0 .5px oklch(0% 0 0 / .05); pointer-events:none; transition:transform var(--arc-spring-dur) var(--arc-spring),width var(--arc-spring-dur) var(--arc-spring),height var(--arc-spring-dur) var(--arc-spring),opacity var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .arc-indicador.arc-sin-transicion { transition:none; }
html[data-ui="erp"] .arc-con-indicador.arc-con-indicador > :is(.filter-btn,.contab-tab,.ctz-tab,.gm-cuenta,.gm-cuenta-tab,.tab).active { background:transparent!important; box-shadow:none!important; }
html[data-ui="erp"] .nav-menu.arc-con-indicador .arc-indicador { border-radius:14px; box-shadow:0 0 0 1px var(--fc-border),var(--fc-button-shadow); }
html[data-ui="erp"] .nav-menu.arc-con-indicador :is(.nav-item.active,.nav-group-head.active,.nav-group.active > .nav-group-head) { background:transparent!important; box-shadow:none!important; }

/* Las barras de filtros pasan a ser un control segmentado: pista gris y opciones sin borde. */
html[data-ui="erp"] .filter-bar:has(> .filter-btn) { display:inline-flex; flex-wrap:wrap; max-width:100%; gap:2px; padding:4px; background:var(--fc-selected); border-radius:16px; box-shadow:inset 0 0 0 1px oklch(0% 0 0 / .02); }
html[data-ui="erp"] .filter-bar > .filter-btn { border:0!important; background:transparent!important; color:var(--fc-muted)!important; border-radius:12px!important; padding:7px 14px; box-shadow:none!important; }
html[data-ui="erp"] .filter-bar > .filter-btn:hover:not(.active) { color:var(--fc-ink)!important; }
html[data-ui="erp"] .filter-bar > .filter-btn.active { color:var(--fc-ink)!important; background:var(--fc-card)!important; }
html[data-ui="erp"] .home-section { border-radius:26px!important; }
html[data-ui="erp"] .home-amount { font-family:var(--arc-display); letter-spacing:-.03em; }

/* ===== Campos ===== */
html[data-ui="erp"] :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),select,textarea,.login-pass-input) { border-radius:14px; border-color:var(--fc-input); transition:border-color var(--arc-fast) var(--arc-ease),box-shadow var(--arc-fast) var(--arc-ease),background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.login-pass-input):hover:not(:focus):not(:disabled) { border-color:oklch(82% 0 0); }
html[data-ui="erp"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.login-pass-input):focus { border-color:var(--fc-muted)!important; box-shadow:0 0 0 4px oklch(0% 0 0 / .05)!important; outline:none; }
html[data-ui="erp"][data-theme="dark"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.login-pass-input):focus { box-shadow:0 0 0 4px oklch(100% 0 0 / .08)!important; }
html[data-ui="erp"] :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid oklch(0% 0 0 / .2)!important; outline-offset:2px!important; }
/* Los campos de texto ya marcan el foco con su borde y su halo: el contorno encima doblaba el anillo. */
html[data-ui="erp"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus-visible { outline:none!important; }

/* Casillas y opciones al estilo Arc. Se excluyen los interruptores y fichas que ya
   esconden su casilla para dibujar la suya. */
html[data-ui="erp"] body:not(.employee-app) input:is([type=checkbox],[type=radio]):not(:is(.seg-switch,.terc-chip,.m347-segmento,.tar-item,.portal-theme-switch) input) {
  appearance:none; -webkit-appearance:none; flex:none; width:18px; height:18px; margin:0; display:inline-grid; place-content:center; vertical-align:middle;
  border:1px solid oklch(82% 0 0)!important; background:var(--fc-card)!important; border-radius:6px; cursor:pointer; box-shadow:var(--arc-resting);
  transition:background-color var(--arc-fast) var(--arc-ease),border-color var(--arc-fast) var(--arc-ease);
}
html[data-ui="erp"] body:not(.employee-app) input[type=radio]:not(:is(.seg-switch,.terc-chip,.m347-segmento,.portal-theme-switch) input) { border-radius:999px; }
html[data-ui="erp"] body:not(.employee-app) input:is([type=checkbox],[type=radio]):not(:is(.seg-switch,.terc-chip,.m347-segmento,.tar-item,.portal-theme-switch) input)::before {
  content:""; width:10px; height:10px; background:var(--fc-on-primary); transform:scale(0); opacity:0; transition:transform var(--arc-standard) var(--arc-spring),opacity var(--arc-fast) var(--arc-ease);
  clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,37% 70%);
}
html[data-ui="erp"] body:not(.employee-app) input[type=radio]:not(:is(.seg-switch,.terc-chip,.m347-segmento,.portal-theme-switch) input)::before { width:8px; height:8px; clip-path:circle(50%); }
html[data-ui="erp"] body:not(.employee-app) input:is([type=checkbox],[type=radio]):checked:not(:is(.seg-switch,.terc-chip,.m347-segmento,.tar-item,.portal-theme-switch) input) { background:var(--fc-primary)!important; border-color:var(--fc-primary)!important; }
html[data-ui="erp"] body:not(.employee-app) input:is([type=checkbox],[type=radio]):checked:not(:is(.seg-switch,.terc-chip,.m347-segmento,.tar-item,.portal-theme-switch) input)::before { transform:scale(1); opacity:1; }
html[data-ui="erp"] body:not(.employee-app) input:is([type=checkbox],[type=radio]):disabled:not(:is(.seg-switch,.terc-chip,.m347-segmento,.tar-item,.portal-theme-switch) input) { opacity:.5; cursor:not-allowed; }

/* Interruptor: pista gris, bola blanca con resorte. */
html[data-ui="erp"] .seg-switch span { background:oklch(89.5% 0 0)!important; transition:background-color var(--arc-standard) var(--arc-ease)!important; }
html[data-ui="erp"] .seg-switch span::after { background:#fff!important; box-shadow:0 0 0 .5px oklch(0% 0 0 / .07),0 1px 2px oklch(0% 0 0 / .14),0 2px 6px oklch(0% 0 0 / .06)!important; transition:transform var(--arc-spring-dur) var(--arc-spring)!important; }
html[data-ui="erp"] .seg-switch input:checked + span { background:var(--fc-primary)!important; }

/* ===== Insignias de estado: píldora tintada con punto. ===== */
html[data-ui="erp"] :is(.badge,.tipo-badge,.seg-status,.rh-task-state,.ps-status) { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:3px 10px 3px 8px; font-size:12px; font-weight:500; line-height:1.5; letter-spacing:0; border:0; box-shadow:inset 0 0 0 1px color-mix(in oklab,currentColor 14%,transparent); white-space:nowrap; }
html[data-ui="erp"] .badge::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.85; flex:none; }
html[data-ui="erp"] :is(.badge-cancelado,.badge-cancelada,.badge-ef-anulado) { box-shadow:inset 0 0 0 1px var(--fc-border); }
html[data-ui="erp"] :is(.badge-borrador,.badge-enviada,.badge-enviado,.badge-ef-gestion) { color:var(--fc-muted); background:var(--fc-secondary); }

/* ===== Superficies ===== */
html[data-ui="erp"] :is(.contab-panel,.dash-card,.contab-dash-card,.res-card,.asesoria-card,.me-card,#contab-panel-balances :is(.bal-col,.pyg-cascada,.pyg-account-group)) { border-radius:26px; border-color:var(--fc-border); }
html[data-ui="erp"] :is(.stat-card,.tf-stat,.ctz-kpi,.fin-kpi) { background:var(--fc-card)!important; border:1px solid var(--fc-border)!important; border-radius:22px; box-shadow:var(--fc-shadow); }
html[data-ui="erp"] .stat-value,html[data-ui="erp"] .stat-number { font-family:var(--arc-display); letter-spacing:-.03em; font-weight:600; }
html[data-ui="erp"] .stat-icon { border-radius:14px; background:var(--arc-gradient-soft)!important; color:var(--fc-ink)!important; box-shadow:inset 0 0 0 1px var(--fc-border); }
html[data-ui="erp"] :is(.stat-blue,.stat-green,.stat-orange,.stat-purple) .stat-icon { background:var(--arc-gradient-soft)!important; }
/* Tarjetas que llevan a un sitio: se elevan un poco al pasar por encima. */
html[data-ui="erp"] :is(.home-card,.contab-dash-card,.res-card,.linea-card,.contrato-step-card,.asesoria-card,.login-user-card,[class*="-tile"]) { transition:transform var(--arc-standard) var(--arc-ease),box-shadow var(--arc-standard) var(--arc-ease),border-color var(--arc-standard) var(--arc-ease); }
html[data-ui="erp"] :is(.home-card,.contab-dash-card,.res-card,.asesoria-card,.login-user-card,[class*="-tile"]):hover { transform:translateY(-2px); box-shadow:var(--arc-lift); border-color:oklch(90% 0 0); }
html[data-ui="erp"] .main-content :is(a,button,[role=button])[class*="card"]:not(.btn) { transition:transform var(--arc-standard) var(--arc-ease),box-shadow var(--arc-standard) var(--arc-ease); }
html[data-ui="erp"] .main-content :is(a,button,[role=button])[class*="card"]:not(.btn):hover { transform:translateY(-2px); box-shadow:var(--arc-lift); }

/* La pantalla hace scroll y recorta lo que sobresale: sin margen lateral, las sombras de
   las tarjetas se cortaban en seco por los lados. Se le da aire por dentro y se descuenta
   del hueco con el menú, así el contenido queda donde estaba. */
@media (min-width:801px) {
  html[data-ui="erp"] body:not(.employee-app) .app { gap:6px; }
  html[data-ui="erp"] body:not(.employee-app) .view { padding-inline:18px; }
}

/* ===== Tablas ===== */
html[data-ui="erp"] .table-container { border-radius:20px; }
html[data-ui="erp"] :is(.data-table,.contab-table,.seg-table,.ctz-tabla,.chatia-tabla,.fin-table,.conc-tabla) th { background:var(--fc-card)!important; border-bottom:1px solid var(--fc-border)!important; font-size:12px; font-weight:500; color:var(--fc-muted)!important; letter-spacing:0; }
html[data-ui="erp"] :is(.data-table,.contab-table,.seg-table,.ctz-tabla,.fin-table,.conc-tabla) tbody tr { transition:background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] :is(.data-table,.contab-table,.seg-table,.ctz-tabla,.fin-table,.conc-tabla) tbody tr:hover { background:var(--fc-row-hover); }
html[data-ui="erp"] :is(.data-table,.contab-table,.seg-table,.ctz-tabla,.fin-table,.conc-tabla) td { border-color:var(--fc-border)!important; }

/* ===== Ventanas: velo claro con desenfoque, tarjeta que sube desde un poco de blur. ===== */
html[data-ui="erp"] .modal { background:oklch(15% 0 0 / .22)!important; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
html[data-ui="erp"] .modal-content { background:var(--fc-card)!important; border:0!important; border-radius:26px!important; box-shadow:var(--fc-floating),0 0 0 1px var(--fc-border)!important; transition:transform var(--arc-considered) var(--arc-ease-enter),filter var(--arc-standard) var(--arc-ease)!important; }
@starting-style {
  html[data-ui="erp"] .modal:not(.hidden) .modal-content { transform:translateY(12px) scale(.96); filter:blur(4px); }
}
html[data-ui="erp"] .modal.modal-saliendo .modal-content { transform:scale(.98); filter:blur(2px); transition-duration:160ms!important; }
html[data-ui="erp"] .modal-header { border-color:var(--fc-border)!important; }
html[data-ui="erp"] .ui-confirm-box { border-radius:24px!important; box-shadow:var(--fc-floating)!important; }

/* ===== Menús y desplegables: escalan desde su origen. ===== */
html[data-ui="erp"] :is(.search-dropdown,.sel2-menu,.gm-ctx,.emp-panel,.datepicker-popover) { border-radius:16px!important; border-color:var(--fc-border)!important; box-shadow:var(--fc-floating)!important; padding:6px; transform-origin:top center; transition:opacity var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-ease-enter),display var(--arc-fast) allow-discrete; }
@starting-style {
  html[data-ui="erp"] :is(.search-dropdown,.sel2-menu,.gm-ctx,.emp-panel,.datepicker-popover):not(.hidden) { opacity:0; transform:translateY(-4px) scale(.97); }
}
html[data-ui="erp"] :is(.search-dropdown-item,.sel2-menu button,.gm-ctx button,.emp-panel button) { border-radius:10px; transition:background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] :is(.search-dropdown-item,.sel2-menu button,.gm-ctx button,.emp-panel button):hover { background:var(--fc-secondary)!important; }

/* ===== Avisos: tarjeta blanca que baja con desenfoque, icono en círculo. ===== */
html[data-ui="erp"] .ui-toast { border:0!important; border-radius:18px; padding:12px 16px 12px 12px; background:var(--fc-card); box-shadow:var(--fc-floating),0 0 0 1px var(--fc-border); font-size:13.5px; transform:translateY(-10px) scale(.97); filter:blur(4px); transition:opacity var(--arc-standard) var(--arc-ease),transform var(--arc-considered) var(--arc-spring),filter var(--arc-standard) var(--arc-ease); }
html[data-ui="erp"] .ui-toast-show { transform:none; filter:none; }
html[data-ui="erp"] .ui-toast-ico { width:20px; height:20px; font-size:11px; color:var(--fc-on-primary)!important; }
html[data-ui="erp"] .ui-toast-ok .ui-toast-ico { background:var(--fc-success)!important; }
html[data-ui="erp"] .ui-toast-error .ui-toast-ico { background:var(--fc-error)!important; }
html[data-ui="erp"] .ui-toast-info .ui-toast-ico { background:var(--fc-primary)!important; }

/* ===== Vacíos y cargas ===== */
html[data-ui="erp"] :is(.empty-state,.gm-empty,.ts-empty,.rh-task-empty) { color:var(--fc-muted); }
html[data-ui="erp"] .empty-state svg { padding:14px; width:52px; height:52px; box-sizing:border-box; border-radius:16px; background:var(--arc-gradient-soft); box-shadow:inset 0 0 0 1px var(--fc-border); color:var(--fc-ink); }
/* Texto «Cargando…» con el brillo que recorre los esqueletos de Arc. */
html[data-ui="erp"] .loading:not(:empty) { background:linear-gradient(90deg,var(--fc-muted) 0%,var(--fc-muted) 40%,var(--fc-ink) 50%,var(--fc-muted) 60%,var(--fc-muted) 100%); background-size:250% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:arc-brillo 1.6s linear infinite; }
@keyframes arc-brillo { from { background-position:100% 0; } to { background-position:-150% 0; } }

/* ===== Entrada de pantallas: suben 6 px desde un desenfoque suave. ===== */
html[data-ui="erp"] body:not(.employee-app) .view { transition:opacity var(--arc-considered) var(--arc-ease-enter),transform var(--arc-considered) var(--arc-ease-enter),filter var(--arc-standard) var(--arc-ease); }
@starting-style {
  html[data-ui="erp"] body:not(.employee-app) .view:not(.hidden) { opacity:0; transform:translateY(6px); filter:blur(4px); }
}
/* Las tarjetas del inicio llegan escalonadas. */
html[data-ui="erp"] .arc-entrada { animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; animation-delay:calc(var(--arc-i,0) * 45ms); }
@keyframes arc-entrada { from { opacity:0; transform:translateY(8px); filter:blur(4px); } }
/* Cifras que cambian: la nueva aparece desde un desenfoque (arc-movimiento.js). */
html[data-ui="erp"] .arc-cifra { animation:arc-cifra var(--arc-considered) var(--arc-ease-enter); }
@keyframes arc-cifra { from { opacity:.2; transform:translateY(4px); filter:blur(4px); } }

/* ===== Pantalla de entrada ===== */
html[data-ui="erp"] #login-screen { background:radial-gradient(ellipse 70% 60% at 15% 10%,oklch(93% .04 295) 0,transparent 60%),radial-gradient(ellipse 60% 55% at 90% 20%,oklch(94% .035 235) 0,transparent 60%),radial-gradient(ellipse 70% 60% at 70% 100%,oklch(95% .04 60) 0,transparent 60%),var(--fc-background)!important; }
html[data-ui="erp"] #login-screen > div { border-radius:32px!important; padding:36px 32px 32px!important; background:oklch(100% 0 0 / .82)!important; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:var(--fc-floating),0 0 0 1px oklch(100% 0 0 / .9),0 0 0 1px var(--fc-border)!important; animation:arc-entrada 640ms var(--arc-ease-enter) both; }
html[data-ui="erp"][data-theme="dark"] :is(.ai-assist,.asi-ia,#ncr-form-inline) { background:radial-gradient(ellipse at 100% 0%, oklch(32% .06 262) 0, transparent 55%), radial-gradient(ellipse at 0% 100%, oklch(28% .04 20) 0, transparent 50%), var(--fc-card)!important; }
html[data-ui="erp"][data-theme="dark"] #login-screen > div { background:oklch(21.5% 0 0 / .82)!important; }
html[data-ui="erp"] #login-screen [data-marca="logotipo-texto"] { font-family:var(--arc-display); font-weight:600!important; letter-spacing:-.05em!important; background:var(--arc-gradient-ink); -webkit-background-clip:text; background-clip:text; color:transparent!important; }
html[data-ui="erp"] #login-screen h2 { font-family:var(--arc-display); letter-spacing:-.03em; font-weight:600; }
html[data-ui="erp"] .login-pass-input { min-height:46px; }

/* ===== Bienvenida tras entrar (arc-movimiento.js): avatar, anillo, verificado y saludo. ===== */
html[data-ui="erp"] #login-screen > div.arc-bienvenida-activa { position:relative; }
html[data-ui="erp"] .arc-bienvenida-activa > :not(.arc-bienvenida) { animation:arc-salida 280ms var(--arc-ease) forwards; }
@keyframes arc-salida { to { opacity:0; filter:blur(6px); transform:scale(.98); } }
html[data-ui="erp"] .arc-bienvenida { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:32px; }
html[data-ui="erp"] .arc-bienvenida-escena { position:relative; width:96px; height:96px; margin-bottom:22px; }
html[data-ui="erp"] .arc-bienvenida-anillo { position:absolute; inset:0; width:100%; height:100%; overflow:visible; color:var(--fc-success); transform:rotate(-90deg); }
html[data-ui="erp"] .arc-bienvenida-anillo circle { stroke-dasharray:1; stroke-dashoffset:1; animation:arc-anillo 600ms var(--arc-ease) 220ms forwards; }
@keyframes arc-anillo { to { stroke-dashoffset:0; } }
html[data-ui="erp"] .arc-bienvenida-avatar { position:absolute; inset:6px; display:grid; place-items:center; border-radius:50%; background:var(--arc-gradient); color:var(--arc-gradient-fg); font-family:var(--arc-display); font-size:28px; font-weight:600; letter-spacing:-.03em; box-shadow:inset 0 0 0 1px oklch(0% 0 0 / .05); animation:arc-avatar var(--arc-spring-dur) var(--arc-spring) 120ms both; }
@keyframes arc-avatar { from { opacity:0; transform:scale(.7); filter:blur(4px); } }
html[data-ui="erp"] .arc-bienvenida-insignia { position:absolute; right:2px; bottom:4px; z-index:2; display:grid; place-items:center; width:26px; height:26px; border-radius:999px; background:var(--fc-success); color:#fff; border:2px solid var(--fc-card); animation:arc-insignia 420ms cubic-bezier(.34,1.56,.64,1) 780ms both; }
@keyframes arc-insignia { from { opacity:0; transform:scale(.4); } }
html[data-ui="erp"] .arc-bienvenida h2 { margin:0 0 6px; font-family:var(--arc-display); font-size:22px; font-weight:600; letter-spacing:-.03em; color:var(--fc-ink); animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) 300ms both; }
html[data-ui="erp"] .arc-bienvenida p { margin:0; font-size:14px; color:var(--fc-muted); animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) 380ms both; }

/* ===================================================================================
   Acabado uiarc.dev. La web de Arc es más sobria que su paquete: fondo blanco plano,
   tarjetas blancas con borde fino y sin sombra, bandejas grises que las agrupan, menú
   pegado al borde y titulares Geist finos y muy apretados. Esta sección manda sobre lo
   anterior (va después, misma especificidad).
   =================================================================================== */
html[data-ui="erp"] {
  --fc-background:oklch(100% 0 0); --fc-ambient:none;
  --fc-secondary:oklch(97.8% 0 0); --fc-selected:oklch(96.5% 0 0);
  --fc-shadow:none; --arc-lift:none;
  --arc-tray:oklch(97.8% 0 0);
  --fc-nav:oklch(100% 0 0); --fc-nav-border:oklch(93.5% 0 0);
}
html[data-ui="erp"][data-theme="dark"] { --fc-background:oklch(19% 0 0); --fc-ambient:none; --arc-tray:oklch(22.5% 0 0); --fc-nav:oklch(19% 0 0); }

/* Titulares: Geist en peso normal, grandes y apretados, como «Build interfaces that feel finished». */
html[data-ui="erp"] :is(.view-header h1,#view-dashboard h1,#view-mi-espacio h1,.home-heading h1) { font-weight:400!important; font-size:40px; letter-spacing:-.055em!important; line-height:1.05; }
html[data-ui="erp"] :is(.section-header h2,.section-title,.contab-panel-header h2,.dash-card h3,.home-section h2) { font-weight:500; letter-spacing:-.025em; }
html[data-ui="erp"] :is(.stat-value,.stat-number,.cs2-val,.fin-kpi-val,.tf-stat-val,.tf-stat-saldo,.esc-kpi-val,.ctz-kpi-val,.ctz-kpi-importe,.cartera-saldo,.home-amount,.pyg-resultado-valor,.payroll-amount,.af-hero-num,.mayor-saldo) { font-family:var(--arc-display); font-weight:400!important; letter-spacing:-.045em; }

/* Marco: menú pegado al borde, separado por una línea; el contenido respira. */
@media (min-width:801px) {
  html[data-ui="erp"] body:not(.employee-app) .app { max-width:none; padding:0; gap:0; }
  html[data-ui="erp"] body:not(.employee-app) .nav-sidebar { border:0!important; border-right:1px solid var(--fc-border)!important; border-radius:0; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; padding:12px 12px 16px; width:248px; min-width:248px; }
  html[data-ui="erp"] body:not(.employee-app) .view { padding:40px 48px 64px; }
}
html[data-ui="erp"] .nav-sidebar :is(.nav-item,.nav-group-head) { min-height:38px; padding:8px 12px; border-radius:12px; font-size:14px; }
html[data-ui="erp"] .nav-sidebar :is(.nav-item.active,.nav-group.active > .nav-group-head,.nav-group-head.active),
html[data-ui="erp"] .nav-menu.arc-con-indicador .arc-indicador { background:var(--fc-selected)!important; box-shadow:none!important; }
html[data-ui="erp"] .nav-menu.arc-con-indicador .arc-indicador { border-radius:12px; }
html[data-ui="erp"] .nav-sidebar :is(.nav-item,.nav-group-head):hover:not(.active) { background:var(--fc-secondary)!important; }

/* Tarjetas: blancas, borde de un pelo, sin sombra. Al pasar por encima solo se oscurece el borde. */
html[data-ui="erp"] :is(.contab-panel,.dash-card,.contab-dash-card,.res-card,.asesoria-card,.me-card,.home-section,.stat-card,.tf-stat,.ctz-kpi,.fin-kpi,.table-container,.terc-bloque,#contab-panel-balances :is(.bal-col,.pyg-cascada,.pyg-account-group)) { background:var(--fc-card)!important; border:1px solid var(--fc-border)!important; box-shadow:none!important; }
html[data-ui="erp"] :is(.home-card,.contab-dash-card,.res-card,.asesoria-card,.login-user-card,[class*="-tile"]):hover,
html[data-ui="erp"] .main-content :is(a,button,[role=button])[class*="card"]:not(.btn):hover { transform:none; box-shadow:none!important; border-color:oklch(85% 0 0)!important; background:var(--fc-card)!important; }
/* Bandeja: el fondo gris que agrupa tarjetas en la web de Arc. Las rejillas de cifras la llevan. */
html[data-ui="erp"] :is(.stats-grid,.contab-stats,.stat-grid,.kpi-grid,.home-top-grid) { background:var(--arc-tray); border-radius:28px; padding:12px; gap:12px; }
html[data-ui="erp"] .stat-icon { background:var(--arc-tray)!important; box-shadow:none; border-radius:12px; }

/* Botones en píldora, como en la web. */
html[data-ui="erp"] :is(.btn,.btn-primary,.btn-secondary,.btn-danger,.home-button,.nav-fichar-btn-primary,.login-pass-entrar) { border-radius:999px!important; }
html[data-ui="erp"] .btn-secondary { box-shadow:none!important; }
html[data-ui="erp"] :is(.btn-primary,.login-pass-entrar) { box-shadow:none!important; }

/* Ventanas y menús siguen flotando: son lo único con sombra, como en Arc. */
html[data-ui="erp"] .modal { background:oklch(15% 0 0 / .18)!important; }

/* ===== Cifras que ruedan (arc-movimiento.js). Cada dígito es una rueda recortada que gira
   hasta su valor; los bordes se difuminan para que el giro no se corte en seco. El texto
   real queda en .arc-cifra-texto para lectores de pantalla y para quien lea textContent. ===== */
html[data-ui="erp"] .arc-ruedas { display:inline-flex; align-items:flex-start; white-space:nowrap; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-rueda { --pluma:.16em; position:relative; display:inline-block; width:1ch; height:1.2em; overflow:hidden; margin-block:calc(var(--pluma) * -1); padding-block:var(--pluma); box-sizing:content-box; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 calc(var(--pluma) * 1.5),#000 calc(100% - var(--pluma) * 1.5),transparent); mask-image:linear-gradient(to bottom,transparent,#000 calc(var(--pluma) * 1.5),#000 calc(100% - var(--pluma) * 1.5),transparent); vertical-align:top; }
html[data-ui="erp"] .arc-rueda::before { content:"0\A 1\A 2\A 3\A 4\A 5\A 6\A 7\A 8\A 9"; position:absolute; left:0; right:0; top:var(--pluma); white-space:pre; line-height:1.2em; text-align:center; transform:translateY(calc(var(--d,0) * -1.2em)); transition:transform 900ms var(--arc-spring); transition-delay:var(--retraso,0ms); }
html[data-ui="erp"] .arc-simbolo { display:inline-block; height:1.2em; line-height:1.2em; }
html[data-ui="erp"] .arc-simbolo::before { content:attr(data-c); white-space:pre; }
html[data-ui="erp"] .arc-cifra-texto { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
html[data-ui="erp"] .arc-cifra { animation:none; }

/* ===== Cargas: barra fina arriba mientras hay peticiones, y esqueletos que laten. ===== */
html[data-ui="erp"] .arc-barra-carga { position:fixed; z-index:99999; top:0; left:0; right:0; height:2px; pointer-events:none; overflow:hidden; opacity:0; transition:opacity var(--arc-standard) var(--arc-ease); }
html[data-ui="erp"] .arc-barra-carga.activa { opacity:1; }
html[data-ui="erp"] .arc-barra-carga::before { content:""; position:absolute; inset:0 auto 0 0; width:40%; border-radius:2px; background:linear-gradient(90deg,transparent,var(--fc-ink) 30%,var(--fc-ink) 70%,transparent); animation:arc-barra 1.2s var(--arc-ease) infinite; }
@keyframes arc-barra { from { transform:translateX(-100%); } to { transform:translateX(260%); } }
/* Un «Cargando…» se convierte en un esqueleto de tres líneas que late, escalonado. */
html[data-ui="erp"] .arc-cargando { position:relative; color:transparent!important; min-height:64px; background:none!important; animation:none!important; -webkit-background-clip:border-box!important; background-clip:border-box!important; }
html[data-ui="erp"] .arc-cargando::before,html[data-ui="erp"] .arc-cargando::after { content:""; position:absolute; left:16px; height:12px; border-radius:999px; background:color-mix(in oklab,oklch(82% 0 0) 38%,var(--fc-card)); animation:arc-latido 1.8s cubic-bezier(.65,0,.35,1) infinite both; }
html[data-ui="erp"] .arc-cargando::before { top:calc(50% - 16px); width:min(48%,280px); height:16px; }
html[data-ui="erp"] .arc-cargando::after { top:calc(50% + 8px); width:min(72%,420px); animation-delay:90ms; }
@keyframes arc-latido { 0%,100% { opacity:1; } 50% { opacity:.52; } }

/* ===== Pantallas de apartados (Ventas, Compras…): bandeja gris, tarjetas con relieve
   suave, icono tintado y datos vivos (arc-movimiento.js añade .arc-hub-dato). ===== */
html[data-ui="erp"] .res-cards { background:var(--arc-tray); border-radius:30px; padding:12px; gap:12px; }
html[data-ui="erp"] .res-card { position:relative; gap:6px; padding:24px!important; border-radius:22px!important; border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; box-shadow:0 1px 2px oklch(0% 0 0 / .04),0 0 0 .5px oklch(0% 0 0 / .02)!important; text-align:left; transition:border-color var(--arc-fast) var(--arc-ease),box-shadow var(--arc-standard) var(--arc-ease),transform var(--arc-standard) var(--arc-ease)!important; }
html[data-ui="erp"] .res-card:hover { border-color:oklch(86% 0 0)!important; box-shadow:0 10px 24px -14px oklch(0% 0 0 / .18),0 1px 2px oklch(0% 0 0 / .04)!important; transform:translateY(-1px)!important; }
html[data-ui="erp"] .res-card:active { transform:scale(.99)!important; }
/* Flecha de «abrir» arriba a la derecha que se asoma al pasar por encima, como en uiarc.dev. */
html[data-ui="erp"] .res-card[data-hub-view]::after { content:"↗"; position:absolute; top:22px; right:24px; font-size:16px; color:var(--fc-muted); opacity:.45; transition:transform var(--arc-standard) var(--arc-spring),opacity var(--arc-fast) var(--arc-ease),color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .res-card[data-hub-view]:hover::after { opacity:1; color:var(--fc-ink); transform:translate(2px,-2px); }
html[data-ui="erp"] .res-card-ico { width:44px; height:44px; border-radius:14px; margin-bottom:12px; color:var(--arc-tinta,var(--fc-ink))!important; background:var(--arc-tinte,var(--arc-tray))!important; box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--arc-tinta,#000) 10%,transparent); }
html[data-ui="erp"] .res-card-ico svg { width:20px; height:20px; }
html[data-ui="erp"] .res-card:nth-child(4n+1) { --arc-tinte:oklch(95.5% .03 295); --arc-tinta:oklch(42% .12 295); }
html[data-ui="erp"] .res-card:nth-child(4n+2) { --arc-tinte:oklch(96% .035 65); --arc-tinta:oklch(46% .11 55); }
html[data-ui="erp"] .res-card:nth-child(4n+3) { --arc-tinte:oklch(95.5% .03 235); --arc-tinta:oklch(44% .11 245); }
html[data-ui="erp"] .res-card:nth-child(4n+4) { --arc-tinte:oklch(95.5% .035 160); --arc-tinta:oklch(42% .1 160); }
html[data-ui="erp"][data-theme="dark"] .res-card { --arc-tinte:oklch(28% .03 290)!important; --arc-tinta:oklch(85% .06 290)!important; }
html[data-ui="erp"] .res-card-title { font-family:var(--arc-display); font-size:19px; font-weight:500; letter-spacing:-.03em; }
html[data-ui="erp"] .res-card-desc { font-size:13.5px; color:var(--fc-muted); max-width:46ch; }
html[data-ui="erp"] .res-card-salir .res-card-ico { --arc-tinte:oklch(96% .03 25); --arc-tinta:var(--fc-error); }
/* Pie de la tarjeta con la cifra viva y su minigráfica. */
html[data-ui="erp"] .arc-hub-dato { align-self:stretch; display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:16px; padding-top:16px; border-top:1px solid var(--fc-border); animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; }
html[data-ui="erp"] .arc-hub-cifras { display:grid; gap:2px; min-width:0; }
html[data-ui="erp"] .arc-hub-cifra { font-family:var(--arc-display); font-size:30px; font-weight:400; letter-spacing:-.045em; line-height:1.1; color:var(--fc-ink); font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-hub-nota { font-size:12.5px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-hub-nota b { font-weight:500; color:var(--fc-ink); }
html[data-ui="erp"] .arc-hub-nota .aviso { color:var(--fc-warning); }
html[data-ui="erp"] .arc-hub-grafica { flex:none; width:120px; height:40px; color:var(--arc-tinta,var(--fc-ink)); overflow:visible; }
html[data-ui="erp"] .arc-hub-grafica path.linea { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; animation:arc-anillo 900ms var(--arc-ease) 200ms forwards; }
html[data-ui="erp"] .arc-hub-grafica path.area { fill:currentColor; opacity:.08; }
html[data-ui="erp"] .arc-hub-grafica circle { fill:currentColor; }
html[data-ui="erp"] .arc-hub-vacio { font-size:13px; color:var(--fc-muted); }

/* ===== Controles segmentados detectados (arc-movimiento.js marca .arc-segmentado): pista
   gris, opciones sin borde y la píldora blanca que se desliza a la elegida. ===== */
html[data-ui="erp"] .arc-segmentado { display:inline-flex; flex-wrap:wrap; align-items:center; max-width:100%; gap:2px; padding:4px; margin-bottom:16px; background:var(--fc-selected)!important; border:0!important; border-radius:16px!important; box-shadow:inset 0 0 0 1px oklch(0% 0 0 / .02)!important; }
html[data-ui="erp"] .arc-segmentado > :is(.filter-btn,.contab-tab,.ctz-tab,.gm-cuenta-tab,.tab) { min-height:34px; margin:0!important; padding:7px 14px!important; border:0!important; border-radius:12px!important; background:transparent!important; color:var(--fc-muted)!important; box-shadow:none!important; font-size:13.5px; font-weight:500; transition:color var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] .arc-segmentado > :is(.filter-btn,.contab-tab,.ctz-tab,.gm-cuenta-tab,.tab):hover:not(.active) { color:var(--fc-ink)!important; }
html[data-ui="erp"] .arc-segmentado > :is(.filter-btn,.contab-tab,.ctz-tab,.gm-cuenta-tab,.tab).active { color:var(--fc-ink)!important; }
/* Sin píldora todavía (primer pintado), el activo se marca por sí mismo. */
html[data-ui="erp"] .arc-segmentado:not(.arc-con-indicador) > .active { background:var(--fc-card)!important; box-shadow:0 1px 2px oklch(0% 0 0 / .06),0 0 0 .5px oklch(0% 0 0 / .05)!important; }
/* El foco de teclado va por dentro de la opción, no en un marco negro alrededor. */
html[data-ui="erp"] .arc-segmentado > :focus { outline:none; }
html[data-ui="erp"] .arc-segmentado > :focus-visible { outline:2px solid oklch(0% 0 0 / .22)!important; outline-offset:-2px!important; }

/* ===== Contabilidad con movimiento: ruedas que se reinician, minigráficas en las cifras
   y filas que responden al pasar por encima. ===== */
html[data-ui="erp"] .arc-rueda.arc-sin-giro::before { transition:none!important; }
html[data-ui="erp"] .arc-kpi-grafica { display:grid; gap:6px; margin-top:18px; color:var(--arc-tinta,var(--fc-ink)); }
html[data-ui="erp"] .arc-linea-lienzo { position:relative; cursor:crosshair; touch-action:pan-y; }
html[data-ui="erp"] .arc-linea-lienzo svg { display:block; overflow:visible; }
html[data-ui="erp"] .arc-linea-lienzo .guia { stroke:var(--fc-border); stroke-width:1; }
html[data-ui="erp"] .arc-linea-lienzo .media { stroke:currentColor; stroke-opacity:.45; stroke-width:1.25; stroke-dasharray:3 4; }
html[data-ui="erp"] .arc-linea-lienzo .trazo { fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:stroke-dashoffset 1100ms var(--arc-ease) 150ms; }
html[data-ui="erp"] .arc-linea-lienzo .area { animation:arc-area 900ms var(--arc-ease) 350ms both; }
@keyframes arc-area { from { opacity:0; } }
html[data-ui="erp"] .arc-linea-lienzo .punto { fill:var(--fc-card); stroke:currentColor; stroke-width:2; transition:cx 200ms var(--arc-ease),cy 200ms var(--arc-ease); animation:arc-area 300ms var(--arc-ease) 1100ms both; }
html[data-ui="erp"] .arc-linea-lienzo .cursor { stroke:currentColor; stroke-opacity:.35; stroke-width:1; opacity:0; transition:opacity var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .arc-linea-lienzo.leyendo .cursor { opacity:1; }
html[data-ui="erp"] .arc-linea-etiqueta { position:absolute; top:-30px; transform:translateX(-50%); padding:4px 10px; border-radius:999px; background:var(--fc-primary); color:var(--fc-on-primary); font-size:11.5px; white-space:nowrap; pointer-events:none; opacity:0; transition:opacity var(--arc-fast) var(--arc-ease),left 120ms var(--arc-ease); }
html[data-ui="erp"] .arc-linea-etiqueta b { font-weight:600; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-linea-lienzo.leyendo .arc-linea-etiqueta { opacity:1; }
html[data-ui="erp"] .arc-linea-meses { display:flex; justify-content:space-between; font-size:11px; color:var(--fc-muted); text-transform:capitalize; }
html[data-ui="erp"] .arc-linea-leyenda { display:flex; gap:14px; margin-top:4px; font-size:11px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-linea-leyenda span { display:inline-flex; align-items:center; gap:6px; }
html[data-ui="erp"] .arc-linea-leyenda i { display:inline-block; width:14px; height:0; border-top:2px solid currentColor; color:var(--arc-tinta,var(--fc-ink)); }
html[data-ui="erp"] .arc-linea-leyenda i.d { border-top:2px dashed currentColor; opacity:.6; }
html[data-ui="erp"] #contab-stats .stat-card:nth-child(2) { --arc-tinta:oklch(46% .12 250); }
html[data-ui="erp"] #contab-stats .stat-card:nth-child(3) { --arc-tinta:oklch(50% .12 55); }
html[data-ui="erp"] #contab-stats .stat-card:nth-child(4) { --arc-tinta:oklch(45% .13 295); }
html[data-ui="erp"] :is(.ctz-kpi-ico,.cdc-ico,.stat-icon) { transition:transform var(--arc-spring-dur) var(--arc-spring),background-color var(--arc-standard) var(--arc-ease),color var(--arc-standard) var(--arc-ease)!important; }
html[data-ui="erp"] .stat-card.arc-entrada :is(.ctz-kpi-ico,.stat-icon) { animation:arc-icono var(--arc-spring-dur) var(--arc-spring) both; animation-delay:calc(var(--arc-i,0) * 45ms + 120ms); }
@keyframes arc-icono { from { opacity:0; transform:scale(.6) rotate(-8deg); } }
html[data-ui="erp"] .contab-dash-card { position:relative; transition:background-color var(--arc-fast) var(--arc-ease),border-color var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-ease)!important; }
html[data-ui="erp"] .contab-dash-card:hover { background:var(--fc-secondary)!important; border-color:oklch(88% 0 0)!important; }
html[data-ui="erp"] .contab-dash-card:active { transform:scale(.985)!important; }
html[data-ui="erp"] .contab-dash-card:hover .cdc-ico { transform:scale(1.06) rotate(-3deg); background:oklch(95.5% .03 295)!important; color:oklch(42% .12 295)!important; }
html[data-ui="erp"] .contab-dash-grupo .contab-dash-card::after { transition:transform var(--arc-standard) var(--arc-spring),color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .contab-dash-grupo .contab-dash-card:hover::after { transform:translateX(4px); color:var(--fc-ink); }
html[data-ui="erp"] .contab-dash-grupo-cab h2 { font-family:var(--arc-display); font-weight:500; letter-spacing:-.03em; }

/* ===== Chat con el asistente, al estilo del «chat thread» de Arc. ===== */
/* Columna de conversaciones: acción principal en negro, vacío con mensaje, etiquetas discretas. */
html[data-ui="erp"] .chatia-nueva { background:var(--fc-primary)!important; color:var(--fc-on-primary)!important; border:0!important; border-radius:999px!important; font-weight:500!important; filter:none!important; transition:opacity var(--arc-fast) var(--arc-ease),transform var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] .chatia-nueva:hover { opacity:.9; }
html[data-ui="erp"] .chatia-refrescar { border-radius:999px!important; border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; transition:transform var(--arc-considered) var(--arc-spring)!important; }
html[data-ui="erp"] .chatia-refrescar:hover { transform:rotate(90deg); }
/* Lista vacía: tres conversaciones «fantasma» que se desvanecen hacia abajo (avatar y dos líneas),
   como las ilustraciones de estado vacío de Arc, y una frase corta debajo. */
html[data-ui="erp"] .chatia-convs:empty { display:flex; flex-direction:column; align-items:center; padding:18px 10px 8px; }
html[data-ui="erp"] .chatia-convs:empty::before { content:""; display:block; width:100%; max-width:210px; height:132px; border-radius:14px;
  --fila:linear-gradient(var(--fc-card), var(--fc-card));
  background:
    radial-gradient(circle at 17px 20px, oklch(88% .04 300) 0 9px, transparent 10px) 0 0 / 100% 44px no-repeat,
    linear-gradient(oklch(90% 0 0), oklch(90% 0 0)) 36px 13px / 52% 7px no-repeat,
    linear-gradient(oklch(94% 0 0), oklch(94% 0 0)) 36px 26px / 76% 6px no-repeat,
    radial-gradient(circle at 17px 20px, oklch(90% .04 150) 0 9px, transparent 10px) 0 44px / 100% 44px no-repeat,
    linear-gradient(oklch(90% 0 0), oklch(90% 0 0)) 36px 57px / 38% 7px no-repeat,
    linear-gradient(oklch(94% 0 0), oklch(94% 0 0)) 36px 70px / 64% 6px no-repeat,
    radial-gradient(circle at 17px 20px, oklch(90% .05 70) 0 9px, transparent 10px) 0 88px / 100% 44px no-repeat,
    linear-gradient(oklch(90% 0 0), oklch(90% 0 0)) 36px 101px / 46% 7px no-repeat,
    linear-gradient(oklch(94% 0 0), oklch(94% 0 0)) 36px 114px / 70% 6px no-repeat;
  -webkit-mask-image:linear-gradient(180deg, #000 20%, transparent 100%); mask-image:linear-gradient(180deg, #000 20%, transparent 100%);
  animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; }
html[data-ui="erp"] .chatia-convs:empty::after { content:"Lo que hables con el asistente se queda aquí"; display:block; margin:-6px 8px 0; font-size:12.5px; line-height:1.45; color:var(--fc-muted); text-align:center; max-width:22ch; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) 120ms both; }
html[data-ui="erp"][data-theme="dark"] .chatia-convs:empty::before { filter:invert(.85) hue-rotate(180deg); }
html[data-ui="erp"] .chatint-head-left { font-size:11px!important; font-weight:500!important; letter-spacing:.06em!important; color:var(--fc-muted)!important; }
html[data-ui="erp"] :is(.chatia-lista-col,.chatia-panel) { border-radius:26px!important; }

/* Bienvenida: orbe con el degradado de Arc que respira, saludo grande y sugerencias escalonadas. */
html[data-ui="erp"] .chatia-bienvenida h2 { font-family:var(--arc-display); font-size:30px; font-weight:400; letter-spacing:-.045em; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) 80ms both; }
html[data-ui="erp"] .chatia-bienvenida > p { color:var(--fc-muted); max-width:46ch; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) 140ms both; }
html[data-ui="erp"] .chatia-bv-ico { position:relative; width:64px!important; height:64px!important; border-radius:50%!important; background:var(--arc-gradient)!important; color:var(--arc-gradient-fg)!important; box-shadow:inset 0 0 0 1px oklch(100% 0 0 / .5),0 12px 30px -10px oklch(70% .08 300 / .55); animation:arc-orbe-llega var(--arc-spring-dur) var(--arc-spring) both,arc-orbe 5s ease-in-out 700ms infinite; }
html[data-ui="erp"] .chatia-bv-ico::after { content:""; position:absolute; inset:-10px; z-index:-1; border-radius:50%; background:radial-gradient(circle,oklch(88% .06 300 / .55),transparent 70%); filter:blur(6px); animation:arc-halo 5s ease-in-out 700ms infinite; }
@keyframes arc-orbe-llega { from { opacity:0; transform:scale(.6); filter:blur(6px); } }
@keyframes arc-orbe { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-3px) scale(1.03); } }
@keyframes arc-halo { 0%,100% { opacity:.6; transform:scale(1); } 50% { opacity:1; transform:scale(1.12); } }
html[data-ui="erp"] .chatia-bv-chip { border-radius:999px!important; border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; color:var(--fc-ink)!important; font-weight:500; box-shadow:0 1px 2px oklch(0% 0 0 / .04); animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; transition:background-color var(--arc-fast) var(--arc-ease),border-color var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-spring)!important; }
html[data-ui="erp"] .chatia-bv-chip:nth-child(1) { animation-delay:200ms; } html[data-ui="erp"] .chatia-bv-chip:nth-child(2) { animation-delay:245ms; }
html[data-ui="erp"] .chatia-bv-chip:nth-child(3) { animation-delay:290ms; } html[data-ui="erp"] .chatia-bv-chip:nth-child(4) { animation-delay:335ms; }
html[data-ui="erp"] .chatia-bv-chip:nth-child(5) { animation-delay:380ms; } html[data-ui="erp"] .chatia-bv-chip:nth-child(n+6) { animation-delay:420ms; }
html[data-ui="erp"] .chatia-bv-chip:hover { background:var(--fc-secondary)!important; border-color:oklch(86% 0 0)!important; color:var(--fc-ink)!important; transform:translateY(-1px); }
html[data-ui="erp"] .chatia-bv-chip:active { transform:scale(.97); }

/* Mensajes: burbujas que entran desde un desenfoque; la tuya en negro, la del asistente en gris. */
html[data-ui="erp"] .chatia-burbuja { border-radius:20px!important; padding:12px 16px!important; line-height:1.6; animation:arc-burbuja 420ms var(--arc-ease-enter) both; }
@keyframes arc-burbuja { from { opacity:0; transform:translateY(8px) scale(.98); filter:blur(4px); } }
html[data-ui="erp"] .chatia-burbuja.chatia-usuario { border-bottom-right-radius:6px!important; transform-origin:bottom right; }
html[data-ui="erp"] .chatia-burbuja.chatia-ia { background:var(--arc-tray)!important; color:var(--fc-ink)!important; border:0!important; border-bottom-left-radius:6px!important; transform-origin:bottom left; }
/* «Pensando…» con tres puntos que laten como el indicador de Arc. */
html[data-ui="erp"] .chatia-pensando { display:inline-flex; align-items:center; gap:4px; padding:10px 14px!important; border-radius:999px; background:var(--arc-tray); color:var(--fc-muted)!important; font-size:13px; animation:arc-burbuja 320ms var(--arc-ease-enter) both; }
html[data-ui="erp"] .chatia-pensando i { font-size:7px; animation:arc-punto 1.2s var(--arc-ease) infinite!important; }
html[data-ui="erp"] .chatia-pensando i:nth-child(2) { animation-delay:.15s!important; } html[data-ui="erp"] .chatia-pensando i:nth-child(3) { animation-delay:.3s!important; }
@keyframes arc-punto { 0%,100% { opacity:.3; transform:translateY(0); } 40% { opacity:1; transform:translateY(-3px); } }

/* Caja de escribir: una sola cápsula. El campo de dentro no lleva marco propio. */
html[data-ui="erp"] .chatia-input-row { margin:12px; padding:6px 6px 6px 8px!important; align-items:center!important; border:1px solid var(--fc-border)!important; border-radius:26px!important; background:var(--fc-card)!important; box-shadow:0 1px 2px oklch(0% 0 0 / .04),0 8px 24px -16px oklch(0% 0 0 / .18)!important; transition:border-color var(--arc-fast) var(--arc-ease),box-shadow var(--arc-standard) var(--arc-ease)!important; }
html[data-ui="erp"] .chatia-input-row:focus-within { border-color:oklch(80% 0 0)!important; box-shadow:0 0 0 4px oklch(0% 0 0 / .045),0 8px 24px -16px oklch(0% 0 0 / .22)!important; }
html[data-ui="erp"] .chatia-input-row textarea { border:0!important; background:transparent!important; box-shadow:none!important; outline:none!important; padding:10px 6px!important; min-height:0!important; font-size:15px!important; }
html[data-ui="erp"] .chatia-input-row textarea:focus,html[data-ui="erp"] #chatia-input:focus { box-shadow:none!important; border:0!important; background:transparent!important; }
html[data-ui="erp"] .chatia-clip { border:0!important; background:transparent!important; border-radius:999px!important; width:38px; height:38px; padding:0!important; display:grid; place-items:center; color:var(--fc-muted)!important; transition:background-color var(--arc-fast) var(--arc-ease),color var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-spring)!important; }
html[data-ui="erp"] .chatia-clip:hover { background:var(--fc-secondary)!important; color:var(--fc-ink)!important; transform:rotate(-12deg); }
html[data-ui="erp"] #btn-chatia-enviar { width:40px; height:40px; min-height:0!important; padding:0!important; border-radius:999px!important; display:grid; place-items:center; flex:none; transition:transform var(--arc-standard) var(--arc-spring),opacity var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] #btn-chatia-enviar:hover:not(:disabled) { transform:translateY(-1px); }
html[data-ui="erp"] #btn-chatia-enviar:disabled { opacity:.35!important; }

/* ===== Chat, segunda pasada: estructura del «chat thread» de Arc. ===== */
html[data-ui="erp"] .chatia-panel { display:flex; flex-direction:column; overflow:hidden; padding:0!important; }
html[data-ui="erp"] .arc-chat-cab { display:flex; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid var(--fc-border); background:var(--fc-card); }
html[data-ui="erp"] .chatia-panel:has(.chatint-conv-head:not(.hidden)) .arc-chat-cab { display:none; }
html[data-ui="erp"] .arc-chat-orbe { position:relative; width:34px; height:34px; flex:none; border-radius:50%; background:var(--arc-gradient); box-shadow:inset 0 0 0 1px oklch(100% 0 0 / .5); }
html[data-ui="erp"] .arc-chat-orbe::after { content:""; position:absolute; right:-1px; bottom:-1px; width:10px; height:10px; border-radius:50%; background:var(--fc-success); border:2px solid var(--fc-card); }
html[data-ui="erp"] .arc-chat-quien { display:grid; line-height:1.3; }
html[data-ui="erp"] .arc-chat-quien b { font-family:var(--arc-display); font-size:15px; font-weight:500; letter-spacing:-.02em; }
html[data-ui="erp"] .arc-chat-quien small { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-chat-quien small i { width:6px; height:6px; border-radius:50%; background:var(--fc-success); animation:arc-latido 2.4s cubic-bezier(.65,0,.35,1) infinite; }

/* Hilo: columna centrada, separador «Hoy», asistente con su orbe y grupos ceñidos. */
html[data-ui="erp"] .chatia-mensajes { padding:20px 24px 12px!important; gap:2px!important; }
html[data-ui="erp"] .chatia-mensajes:has(.chatia-burbuja)::before { content:"Hoy"; display:flex; align-items:center; gap:12px; align-self:stretch; margin:0 0 12px; font-size:11.5px; font-weight:500; color:var(--fc-muted); background:linear-gradient(var(--fc-border),var(--fc-border)) left center / calc(50% - 26px) 1px no-repeat,linear-gradient(var(--fc-border),var(--fc-border)) right center / calc(50% - 26px) 1px no-repeat; justify-content:center; }
html[data-ui="erp"] .chatia-burbuja { max-width:min(78%,40rem)!important; margin-top:2px; }
html[data-ui="erp"] .chatia-burbuja.chatia-usuario { align-self:flex-end; }
html[data-ui="erp"] .chatia-burbuja.chatia-ia { align-self:flex-start; margin-left:42px; }
/* Primera de cada grupo con más aire; las intermedias, esquinas ceñidas (6px) como en Arc. */
html[data-ui="erp"] :is(.chatia-usuario + .chatia-ia,.chatia-ia + .chatia-usuario,.chatia-pensando + .chatia-ia) { margin-top:14px; }
html[data-ui="erp"] .chatia-ia + .chatia-ia { border-top-left-radius:6px!important; }
html[data-ui="erp"] .chatia-ia:has(+ .chatia-ia) { border-bottom-left-radius:6px!important; }
html[data-ui="erp"] .chatia-usuario + .chatia-usuario { border-top-right-radius:6px!important; }
html[data-ui="erp"] .chatia-usuario:has(+ .chatia-usuario) { border-bottom-right-radius:6px!important; }
/* El orbe del asistente acompaña al último mensaje de cada grupo. */
html[data-ui="erp"] .chatia-ia:not(:has(+ .chatia-ia))::before { content:""; position:absolute; left:-42px; bottom:0; width:30px; height:30px; border-radius:50%; background:var(--arc-gradient); box-shadow:inset 0 0 0 1px oklch(100% 0 0 / .5); }
/* La respuesta se revela de arriba abajo, como si se escribiera. */
html[data-ui="erp"] .chatia-burbuja.chatia-ia { animation:arc-revela 700ms var(--arc-ease-enter) both!important; }
@keyframes arc-revela { from { opacity:.2; clip-path:inset(0 0 100% 0 round 20px); filter:blur(4px); } 60% { filter:blur(0); } to { clip-path:inset(0 0 0 0 round 20px); } }
html[data-ui="erp"] .burbuja-reenviar { border-radius:999px!important; background:var(--fc-card)!important; border:1px solid var(--fc-border)!important; box-shadow:var(--fc-button-shadow); }

/* «Pensando»: burbuja gris con tres puntos que respiran, y el orbe al lado. */
html[data-ui="erp"] .chatia-pensando { position:relative; margin:14px 0 0 42px; height:36px; padding:0 14px!important; font-size:0!important; gap:4px; }
html[data-ui="erp"] .chatia-pensando i { width:6px; height:6px; border-radius:50%; background:var(--fc-muted); font-size:0!important; animation:arc-respira 1.2s cubic-bezier(.65,0,.35,1) infinite!important; }
html[data-ui="erp"] .chatia-pensando i:nth-child(2) { animation-delay:.16s!important; } html[data-ui="erp"] .chatia-pensando i:nth-child(3) { animation-delay:.32s!important; }
@keyframes arc-respira { 0%,100% { opacity:.35; transform:scale(.85); } 50% { opacity:1; transform:scale(1); } }
html[data-ui="erp"] .chatia-pensando::before { content:""; position:absolute; left:-42px; bottom:3px; width:30px; height:30px; border-radius:50%; background:var(--arc-gradient); animation:arc-orbe 1.6s ease-in-out infinite; }

/* Caja de escribir integrada al pie, como el composer de Arc. */
html[data-ui="erp"] .chatia-panel > .chatia-input-row { margin:0!important; border-radius:0!important; border:0!important; border-top:1px solid var(--fc-border)!important; box-shadow:none!important; padding:10px 12px 12px!important; background:var(--fc-card)!important; }
html[data-ui="erp"] .chatia-panel > .chatia-input-row:focus-within { box-shadow:none!important; }
html[data-ui="erp"] .chatia-panel > .chatia-input-row #chatia-input { flex:1; border:1px solid var(--fc-border)!important; border-radius:20px!important; padding:10px 16px!important; background:var(--fc-card)!important; transition:border-color var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] .chatia-panel > .chatia-input-row #chatia-input:focus { border:1px solid oklch(80% 0 0)!important; }

/* Lista de conversaciones: filas limpias; la activa con fondo gris, sin marco. */
html[data-ui="erp"] .chatia-conv { border:0!important; background:transparent!important; border-radius:12px!important; padding:10px 12px!important; transition:background-color var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] .chatia-conv:hover { background:var(--fc-secondary)!important; }
html[data-ui="erp"] .chatia-conv.chatia-conv-activa { background:var(--fc-selected)!important; }
html[data-ui="erp"] .chatia-conv-titulo { font-weight:500!important; }
html[data-ui="erp"] .chatia-conv-borrar { border-radius:999px!important; }

/* ===== Resumen del Inicio (bloque «Metrics dashboard» de Arc). ===== */
html[data-ui="erp"] .arc-resumen { grid-column:1 / -1; margin-bottom:20px; border:1px solid var(--fc-border); border-radius:26px; background:var(--fc-card); overflow:hidden; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; }
html[data-ui="erp"] .arc-res-cab { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding:20px 24px; border-bottom:1px solid var(--fc-border); }
html[data-ui="erp"] .arc-res-cab h2 { margin:0; font-family:var(--arc-display); font-size:18px; font-weight:500; letter-spacing:-.025em; }
html[data-ui="erp"] .arc-res-cab p { margin:2px 0 0; font-size:13px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-res-acciones { display:flex; align-items:center; gap:8px; }
html[data-ui="erp"] .arc-res-periodo.arc-segmentado { margin:0; }
html[data-ui="erp"] .arc-res-periodo > .filter-btn { padding:6px 12px!important; min-height:30px; font-size:13px; }
html[data-ui="erp"] .arc-res-exportar { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 16px!important; }
html[data-ui="erp"] .arc-res-kpis { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--fc-border); }
html[data-ui="erp"] .arc-res-kpi { display:grid; justify-items:start; gap:4px; padding:18px 24px 20px; border:0; border-right:1px solid var(--fc-border); background:transparent; text-align:left; cursor:pointer; font:inherit; color:inherit; transition:background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .arc-res-kpi:last-of-type { border-right:0; }
html[data-ui="erp"] .arc-res-kpis.una { grid-template-columns:1fr; }
html[data-ui="erp"] .arc-res-kpi:hover { background:var(--fc-row-hover); }
html[data-ui="erp"] .arc-res-kpi-nombre { font-size:13.5px; color:var(--fc-muted); transition:color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .arc-res-kpi.activa .arc-res-kpi-nombre { color:var(--fc-ink); }
html[data-ui="erp"] .arc-res-cifra { font-family:var(--arc-display); font-size:28px; font-weight:400; letter-spacing:-.045em; line-height:1.15; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-res-var { font-size:12.5px; font-weight:500; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-res-var.bien { color:var(--fc-success); } html[data-ui="erp"] .arc-res-var.mal { color:var(--fc-error); } html[data-ui="erp"] .arc-res-var.neutra { color:var(--fc-muted); font-weight:400; }
html[data-ui="erp"] .arc-res-raya { position:absolute; left:0; bottom:-1px; height:2px; background:var(--fc-ink); border-radius:2px; transition:transform var(--arc-spring-dur) var(--arc-spring),width var(--arc-spring-dur) var(--arc-spring); }
html[data-ui="erp"] .arc-res-grafica-cab { display:flex; justify-content:space-between; align-items:center; padding:18px 24px 6px; font-size:13px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-res-leyenda { display:inline-flex; align-items:center; gap:8px; }
html[data-ui="erp"] .arc-res-leyenda i { display:inline-block; width:14px; border-top:2px solid var(--fc-ink); }
html[data-ui="erp"] .arc-res-leyenda i.d { margin-left:12px; border-top:2px dashed var(--fc-muted); }
html[data-ui="erp"] .arc-res-comparar { display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
html[data-ui="erp"] .arc-res-grafica { position:relative; padding:4px 24px 12px; color:var(--fc-ink); cursor:crosshair; }
html[data-ui="erp"] .arc-res-grafica svg { display:block; overflow:visible; }
html[data-ui="erp"] .arc-res-grafica .guia { stroke:var(--fc-border); }
html[data-ui="erp"] .arc-res-grafica .eje { font-size:11px; fill:var(--fc-muted); font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-res-grafica .trazo { fill:none; stroke:currentColor; stroke-width:2; stroke-linejoin:round; stroke-linecap:round; transition:stroke-dashoffset 1200ms var(--arc-ease) 100ms; }
html[data-ui="erp"] .arc-res-grafica .previa { fill:none; stroke:var(--fc-muted); stroke-width:1.5; stroke-dasharray:4 4; animation:arc-area 600ms var(--arc-ease) both; }
html[data-ui="erp"] .arc-res-grafica .area { animation:arc-area 900ms var(--arc-ease) 300ms both; }
html[data-ui="erp"] .arc-res-grafica .cursor { stroke:currentColor; stroke-opacity:.3; opacity:0; transition:opacity var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .arc-res-grafica .punto { fill:var(--fc-card); stroke:currentColor; stroke-width:2; opacity:0; transition:opacity var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .arc-res-grafica.leyendo :is(.cursor,.punto) { opacity:1; }
html[data-ui="erp"] .arc-res-etiqueta { position:absolute; top:0; transform:translateX(-50%); display:grid; gap:1px; padding:8px 12px; border-radius:12px; background:var(--fc-primary); color:var(--fc-on-primary); font-size:12px; white-space:nowrap; pointer-events:none; opacity:0; transition:opacity var(--arc-fast) var(--arc-ease),left 120ms var(--arc-ease); }
html[data-ui="erp"] .arc-res-etiqueta small { opacity:.7; font-size:11px; } html[data-ui="erp"] .arc-res-etiqueta b { font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-res-grafica.leyendo .arc-res-etiqueta { opacity:1; }
html[data-ui="erp"] .arc-res-listas { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--fc-border); }
html[data-ui="erp"] .arc-res-lista { padding:18px 24px 22px; display:grid; gap:6px; }
html[data-ui="erp"] .arc-res-lista + .arc-res-lista { border-left:1px solid var(--fc-border); }
html[data-ui="erp"] .arc-res-lista-cab { display:flex; justify-content:space-between; margin-bottom:6px; font-size:13px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-res-lista-cab b { color:var(--fc-ink); font-weight:500; font-family:var(--arc-display); font-size:15px; letter-spacing:-.02em; }
html[data-ui="erp"] .arc-res-fila { position:relative; display:flex; justify-content:space-between; gap:12px; padding:9px 12px; font-size:13.5px; isolation:isolate; }
html[data-ui="erp"] .arc-res-fila::before { content:""; position:absolute; inset:0 auto 0 0; z-index:-1; width:var(--ancho); border-radius:10px; background:var(--fc-selected); transform-origin:left; animation:arc-barra-crece 900ms var(--arc-ease-enter) both; animation-delay:calc(var(--i) * 70ms + 200ms); }
@keyframes arc-barra-crece { from { transform:scaleX(0); } }
html[data-ui="erp"] .arc-res-fila span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] .arc-res-fila b { font-weight:500; font-variant-numeric:tabular-nums; }
@media (max-width:900px) {
  html[data-ui="erp"] .arc-res-kpis { grid-template-columns:1fr 1fr; }
  html[data-ui="erp"] .arc-res-kpi:nth-child(2) { border-right:0; }
  html[data-ui="erp"] .arc-res-kpi:nth-child(-n+2) { border-bottom:1px solid var(--fc-border); }
  html[data-ui="erp"] .arc-res-raya { display:none; }
  html[data-ui="erp"] .arc-res-kpi.activa { background:var(--fc-row-hover); }
  html[data-ui="erp"] .arc-res-listas { grid-template-columns:1fr; }
  html[data-ui="erp"] .arc-res-lista + .arc-res-lista { border-left:0; border-top:1px solid var(--fc-border); }
}
@media (max-width:480px) {
  html[data-ui="erp"] .arc-res-kpis { grid-template-columns:1fr; }
  html[data-ui="erp"] .arc-res-kpi { border-right:0; padding:14px 18px 16px; }
  html[data-ui="erp"] .arc-res-kpi:not(:last-of-type) { border-bottom:1px solid var(--fc-border); }
}
/* Chat: tu burbuja en negro (la regla heredada la dejaba en el tono de acento). */
html[data-ui="erp"] .chatia-burbuja.chatia-usuario { background:var(--fc-primary)!important; color:var(--fc-on-primary)!important; border:0!important; }

/* ===== Inicio: tarjeta «Por cobrar». ===== */
html[data-ui="erp"] .arc-cobros { display:flex; flex-direction:column; }
html[data-ui="erp"] .arc-cobros .home-title-inline span { color:var(--fc-muted); }
html[data-ui="erp"] .arc-cobros-total { display:grid; gap:2px; margin:6px 0 14px; }
html[data-ui="erp"] .arc-cobros-total .arc-res-cifra { font-size:34px; }
html[data-ui="erp"] .arc-cobros-total small { font-size:12.5px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-cobros-lista { list-style:none; margin:0; padding:0; display:grid; gap:2px; flex:1; }
html[data-ui="erp"] .arc-cobros-lista li { display:flex; align-items:center; gap:12px; padding:10px; margin:0 -10px; border-radius:14px; transition:background-color var(--arc-fast) var(--arc-ease); animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; animation-delay:calc(var(--i) * 50ms + 150ms); }
html[data-ui="erp"] .arc-cobros-lista li:hover { background:var(--fc-secondary); }
html[data-ui="erp"] .arc-cobros-avatar { flex:none; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--arc-gradient); color:var(--arc-gradient-fg); font-size:12px; font-weight:600; letter-spacing:.02em; }
html[data-ui="erp"] .arc-cobros-lista li:nth-child(2n) .arc-cobros-avatar { background:linear-gradient(135deg,oklch(92% .04 235),oklch(93% .035 180)); }
html[data-ui="erp"] .arc-cobros-lista li:nth-child(3n) .arc-cobros-avatar { background:linear-gradient(135deg,oklch(93% .045 65),oklch(92% .04 25)); }
html[data-ui="erp"] .arc-cobros-info { display:grid; min-width:0; flex:1; }
html[data-ui="erp"] .arc-cobros-info b { font-weight:500; font-size:13.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] .arc-cobros-info small { font-size:12px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-cobros-info em { font-style:normal; margin-left:6px; padding:1px 8px; border-radius:999px; background:var(--glass-sand); color:var(--fc-warning); font-size:11px; font-weight:500; }
html[data-ui="erp"] .arc-cobros-importe { font-variant-numeric:tabular-nums; font-weight:500; font-size:13.5px; }
html[data-ui="erp"] .arc-cobros-ver { align-self:flex-start; margin-top:12px; }
html[data-ui="erp"] .arc-cobros-vacio { flex:1; display:grid; place-content:center; justify-items:center; gap:4px; text-align:center; padding:24px; }
html[data-ui="erp"] .arc-cobros-vacio span { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--glass-mint); color:var(--fc-success); font-size:20px; margin-bottom:6px; }
html[data-ui="erp"] .arc-cobros-vacio small { color:var(--fc-muted); }

/* ===== Inicio: el año mes a mes (sustituye a la tarjeta de facturación, que se oculta). ===== */
html[data-ui="erp"] #home-sales:has(~ #arc-anual) { display:none!important; }
html[data-ui="erp"] #home-sales.hidden ~ #arc-anual { display:none!important; }
html[data-ui="erp"] .arc-anual .home-section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
html[data-ui="erp"] .arc-anual-metrica.arc-segmentado { margin:0; }
html[data-ui="erp"] .arc-anual-metrica > .filter-btn { padding:6px 12px!important; min-height:30px; font-size:13px; }
html[data-ui="erp"] .arc-anual-cifras { display:grid; gap:4px; margin:10px 0 18px; }
html[data-ui="erp"] .arc-anual-cifras .arc-res-cifra { font-size:34px; }
html[data-ui="erp"] .arc-anual-cifras small { font-size:12.5px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-anual-grafica { position:relative; display:grid; grid-template-columns:44px 1fr; height:220px; padding-bottom:26px; }
html[data-ui="erp"] .arc-anual-ejes { position:relative; }
html[data-ui="erp"] .arc-anual-ejes span { position:absolute; right:10px; transform:translateY(50%); font-size:11px; color:var(--fc-muted); font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-anual-ejes span::after { content:""; position:absolute; left:calc(100% + 10px); top:50%; width:var(--ancho-guias,2000px); max-width:calc(100vw); border-top:1px solid var(--fc-border); z-index:-1; }
html[data-ui="erp"] .arc-anual-grafica { overflow:visible; isolation:isolate; }
html[data-ui="erp"] .arc-anual-ejes { overflow:visible; }
html[data-ui="erp"] .arc-anual-ejes span::after { max-width:calc(var(--ancho-guias, 100vw)); }
html[data-ui="erp"] .arc-anual-barras { position:relative; display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(4px,1vw,10px); height:100%; }
html[data-ui="erp"] .arc-anual-mes { position:relative; height:100%; cursor:default; }
html[data-ui="erp"] .arc-anual-mes i { position:absolute; left:12%; right:12%; border-radius:8px; }
html[data-ui="erp"] .arc-anual-mes .barra { background:oklch(30% 0 0 / .78); transform-origin:bottom; animation:arc-barra-sube 800ms var(--arc-spring) both; animation-delay:calc(var(--i) * 45ms + 150ms); transition:background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .arc-anual-mes .barra.neg { background:var(--fc-error); opacity:.7; transform-origin:top; }
html[data-ui="erp"] .arc-anual-mes.actual .barra { background:var(--fc-ink); }
html[data-ui="erp"] .arc-anual-mes.futuro .barra { background:var(--fc-selected); animation:none; }
html[data-ui="erp"] .arc-anual-mes .fantasma { left:4%; right:4%; background:var(--fc-selected); border:1px dashed oklch(80% 0 0); border-radius:9px; }
@keyframes arc-barra-sube { from { transform:scaleY(0); } }
html[data-ui="erp"] .arc-anual-mes:hover .barra:not(.neg) { background:var(--fc-ink); }
html[data-ui="erp"] .arc-anual-mes .etq { position:absolute; left:0; right:0; bottom:-24px; text-align:center; font-size:11px; color:var(--fc-muted); text-transform:capitalize; }
html[data-ui="erp"] .arc-anual-mes.actual .etq { color:var(--fc-ink); font-weight:600; }
html[data-ui="erp"] .arc-anual-mes .globo { position:absolute; left:50%; bottom:min(calc(var(--cero, 0%) + var(--barra, 0%) + 10px), calc(100% - 52px)); transform:translate(-50%,4px); display:grid; padding:7px 11px; border-radius:12px; background:var(--fc-primary); color:var(--fc-on-primary); font-size:11.5px; white-space:nowrap; opacity:0; pointer-events:none; z-index:5; transition:opacity var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-spring); }
html[data-ui="erp"] .arc-anual-mes .globo b { font-size:13.5px; font-weight:600; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-anual-mes:hover .globo { opacity:1; transform:translate(-50%,0); }
html[data-ui="erp"] .arc-anual-mes:first-child .globo { left:0; transform:translate(0,4px); } html[data-ui="erp"] .arc-anual-mes:first-child:hover .globo { transform:translate(0,0); }
html[data-ui="erp"] .arc-anual-mes:last-child .globo { left:auto; right:0; transform:translate(0,4px); } html[data-ui="erp"] .arc-anual-mes:last-child:hover .globo { transform:translate(0,0); }
/* En el móvil las barras miden unos 30 px: el globo centrado de los meses de los extremos, aunque
   invisible, sobresalía de la pantalla y la hacía desplazable de lado. Se ancla al borde. */
@media (max-width:800px) {
  html[data-ui="erp"] .arc-anual-mes:nth-child(-n+3) .globo { left:0; right:auto; transform:translate(0,4px); }
  html[data-ui="erp"] .arc-anual-mes:nth-last-child(-n+3) .globo { left:auto; right:0; transform:translate(0,4px); }
  html[data-ui="erp"] .arc-anual-mes:is(:nth-child(-n+3),:nth-last-child(-n+3)):hover .globo { transform:translate(0,0); }
}
html[data-ui="erp"] .arc-anual-leyenda { margin-top:10px; font-size:12px; color:var(--fc-muted); }

/* Contabilidad: el número de asientos no merecía una tarjeta; sus tres compañeras, con su
   gráfica, se reparten el ancho. El dato sigue en el DOM y en el libro diario. */
html[data-ui="erp"] #contab-stats .stat-card:has(#contab-stat-asientos) { display:none!important; }
@media (min-width:901px) { html[data-ui="erp"] #contab-stats { grid-template-columns:repeat(3,minmax(0,1fr))!important; } }

/* Pasos del asistente (presupuesto y demás): sobre el círculo negro, número y check en blanco.
   La regla del formulario lleva id y pintaba el número del color del texto: negro sobre negro. */
html[data-ui="erp"] :is(#modal-presupuesto .cw-stepper,.wizard-steps) .wizard-step:is(.active,.done) .wizard-num { color:var(--fc-on-primary)!important; background:var(--fc-primary)!important; border-color:var(--fc-primary)!important; }
html[data-ui="erp"] :is(#modal-presupuesto .cw-stepper,.wizard-steps) .wizard-step.done .wizard-num::after { border-color:var(--fc-on-primary)!important; }
html[data-ui="erp"] #modal-presupuesto .cw-stepper .wizard-step.active .wizard-num { box-shadow:0 0 0 4px oklch(0% 0 0 / .08)!important; }

/* ===== «Presupuesto guardado»: éxito animado al estilo del login de Arc. ===== */
html[data-ui="erp"] .pg-modal { text-align:center; padding:36px 28px 20px!important; max-width:460px!important; }
html[data-ui="erp"] .pg-icono { position:relative; width:64px!important; height:64px!important; margin:0 auto 18px!important; border:0!important; background:transparent!important; box-shadow:none!important; color:var(--fc-success)!important; overflow:visible!important; }
html[data-ui="erp"] .arc-exito { position:relative; z-index:1; display:block; width:64px; height:64px; overflow:visible; }
/* Extremos redondos: el trazo cierra sin muesca arriba. */
html[data-ui="erp"] .arc-exito-anillo { fill:color-mix(in oklab,var(--fc-success) 8%,var(--fc-card)); stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-dasharray:1 1; stroke-dashoffset:1; transform:rotate(-90deg); transform-origin:center; }
html[data-ui="erp"] .arc-exito-check { fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1 1; stroke-dashoffset:1; }
html[data-ui="erp"] .arc-pg-anima .arc-exito-anillo { animation:arc-trazo 520ms cubic-bezier(.65,0,.35,1) 160ms forwards; }
html[data-ui="erp"] .arc-pg-anima .arc-exito-check { animation:arc-trazo 320ms var(--arc-ease-enter) 560ms forwards; }
html[data-ui="erp"] .arc-pg-anima .arc-exito { animation:arc-exito-pop 600ms var(--arc-spring) 560ms both; }
@keyframes arc-trazo { to { stroke-dashoffset:0; } }
@keyframes arc-exito-pop { 0% { transform:scale(1); } 40% { transform:scale(1.08); } 100% { transform:scale(1); } }
/* Ondas que se expanden al cerrarse el anillo. */
html[data-ui="erp"] .arc-ondas b { position:absolute; inset:0; border-radius:50%; border:1.5px solid var(--fc-success); opacity:0; }
html[data-ui="erp"] .arc-pg-anima .arc-ondas b { animation:arc-onda 1100ms cubic-bezier(.16,1,.3,1) 600ms both; }
html[data-ui="erp"] .arc-pg-anima .arc-ondas b + b { animation-delay:780ms; }
@keyframes arc-onda { 0% { opacity:.55; transform:scale(1); } 100% { opacity:0; transform:scale(1.9); } }
/* Chispas: ocho puntos que salen del anillo y se apagan. */
html[data-ui="erp"] .arc-chispas i { position:absolute; left:50%; top:50%; width:5px; height:5px; margin:-2.5px; border-radius:50%; background:var(--fc-success); opacity:0; }
html[data-ui="erp"] .arc-chispas i:nth-child(even) { width:4px; height:4px; margin:-2px; background:oklch(78% .12 150); }
html[data-ui="erp"] .arc-pg-anima .arc-chispas i { animation:arc-chispa 760ms cubic-bezier(.16,1,.3,1) 620ms both; }
@keyframes arc-chispa { 0% { opacity:0; transform:rotate(var(--a)) translateY(-30px) scale(.4); } 25% { opacity:1; } 100% { opacity:0; transform:rotate(var(--a)) translateY(-54px) scale(1); } }
html[data-ui="erp"] .pg-titulo { font-family:var(--arc-display); font-size:25px!important; font-weight:500!important; letter-spacing:-.035em; margin:0 0 4px!important; }
html[data-ui="erp"] .pg-sub { color:var(--fc-muted); margin:0 0 16px!important; font-size:14px; }
html[data-ui="erp"] .arc-pg-anima :is(.pg-titulo,.pg-sub,.arc-pg-ficha,.pg-acciones > *) { animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; }
html[data-ui="erp"] .arc-pg-anima .pg-titulo { animation-delay:380ms; } html[data-ui="erp"] .arc-pg-anima .pg-sub { animation-delay:430ms; }
html[data-ui="erp"] .arc-pg-anima .arc-pg-ficha { animation-delay:480ms; } html[data-ui="erp"] .arc-pg-anima .pg-acciones > :nth-child(1) { animation-delay:560ms; }
html[data-ui="erp"] .arc-pg-anima .pg-acciones > :nth-child(2) { animation-delay:620ms; } html[data-ui="erp"] .arc-pg-anima .pg-acciones > :nth-child(3) { animation-delay:680ms; }
/* Ficha: filas etiqueta–valor en una bandeja, con el total grande abajo. */
html[data-ui="erp"] .arc-pg-ficha:not(:empty) { margin:0 0 18px; padding:6px 16px 14px; border-radius:20px; background:var(--arc-tray); text-align:left; }
html[data-ui="erp"] .arc-pg-ficha dl { margin:0; }
html[data-ui="erp"] .arc-pg-ficha dl > div { display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-bottom:1px solid var(--fc-border); font-size:13px; }
html[data-ui="erp"] .arc-pg-ficha dt { color:var(--fc-muted); }
html[data-ui="erp"] .arc-pg-ficha dd { margin:0; font-weight:500; text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-pg-total { display:flex; justify-content:space-between; align-items:baseline; padding-top:12px; }
html[data-ui="erp"] .arc-pg-total > span:first-child { font-size:13px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-pg-total .arc-res-cifra { font-size:28px; }
/* Acciones: la principal con su explicación al lado; las otras dos, tarjetas con icono y nota. */
html[data-ui="erp"] .pg-acciones { display:grid; gap:10px; }
html[data-ui="erp"] .pg-btn { display:inline-flex!important; align-items:center; justify-content:center; gap:10px; min-height:52px; font-size:14.5px!important; }
html[data-ui="erp"] .arc-pg-ico { width:18px; height:18px; flex:none; }
html[data-ui="erp"] .arc-pg-txt { display:inline-flex; align-items:baseline; gap:8px; }
html[data-ui="erp"] .arc-pg-txt b { font-weight:500; }
html[data-ui="erp"] .arc-pg-txt small { font-size:12px; opacity:.6; font-weight:400; }
html[data-ui="erp"] .pg-secundarias { display:grid!important; grid-template-columns:1fr 1fr; gap:10px; }
html[data-ui="erp"] .pg-secundarias .pg-btn { flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:10px; min-height:96px; padding:16px!important; border-radius:20px!important; text-align:left; }
html[data-ui="erp"] .pg-secundarias .arc-pg-txt { flex-direction:column; align-items:flex-start; gap:2px; }
html[data-ui="erp"] .pg-secundarias .arc-pg-txt small { opacity:1; color:var(--fc-muted); white-space:normal; line-height:1.35; }
html[data-ui="erp"] .pg-secundarias .arc-pg-ico { width:20px; height:20px; padding:8px; box-sizing:content-box; border-radius:12px; background:var(--arc-tray); color:var(--fc-ink); transition:transform var(--arc-standard) var(--arc-spring),background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .pg-secundarias .pg-btn:hover .arc-pg-ico { transform:translateY(-2px) rotate(-4deg); background:var(--fc-selected); }
/* «Cerrar»: botón de ancho completo sobre la bandeja gris, para que no quede como texto suelto. */
html[data-ui="erp"] .pg-cerrar { width:100%; min-height:44px; margin-top:2px; color:var(--fc-ink)!important; background:var(--arc-tray)!important; border:1px solid var(--fc-border)!important; font:inherit; font-size:14px; font-weight:500; cursor:pointer; padding:10px 16px; border-radius:999px; transition:background-color var(--arc-fast) var(--arc-ease),border-color var(--arc-fast) var(--arc-ease),transform var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .pg-cerrar:hover { background:var(--fc-selected)!important; border-color:oklch(86% 0 0)!important; }
html[data-ui="erp"] .pg-cerrar:active { transform:scale(.98); }
@media (max-width:480px) { html[data-ui="erp"] .arc-pg-txt:not(.pg-secundarias *) small { display:none; } }
/* Pantallas bajas: menos aire para que la ventana quepa entera sin desplazarse. */
@media (max-height:820px) {
  html[data-ui="erp"] .pg-modal { padding-top:24px!important; }
  html[data-ui="erp"] .pg-icono { width:52px!important; height:52px!important; margin-bottom:12px!important; }
  html[data-ui="erp"] .arc-exito { width:52px; height:52px; }
  html[data-ui="erp"] .pg-titulo { font-size:22px!important; }
  html[data-ui="erp"] .arc-pg-ficha dl > div { padding:6px 0; }
  html[data-ui="erp"] .arc-pg-total .arc-res-cifra { font-size:24px; }
  html[data-ui="erp"] .pg-secundarias .pg-btn { min-height:80px; padding:12px 14px!important; gap:8px; }
  html[data-ui="erp"] .pg-btn { min-height:46px; }
}

/* ===== Asientos: filtros como control segmentado (la hoja de contabilidad los pintaba como
   pestañas subrayadas, con una raya negra bajo el activo), cabecera limpia y estados con color. ===== */
html[data-ui="erp"] #contab-panel-asientos .ledger-filter-row { border-bottom:0!important; margin-bottom:14px!important; }
html[data-ui="erp"] #contab-panel-asientos #filter-estado-asientos { gap:2px!important; padding:4px!important; }
html[data-ui="erp"] #contab-panel-asientos #filter-estado-asientos .filter-btn { min-height:34px!important; padding:7px 14px!important; border:0!important; border-bottom:0!important; border-radius:12px!important; }
html[data-ui="erp"] :is(.data-table,.contab-table) :is(thead,thead tr) { background:transparent!important; }
html[data-ui="erp"] :is(.data-table,.contab-table) thead th { background:transparent!important; font-size:12px!important; font-weight:500!important; color:var(--fc-muted)!important; text-transform:none!important; letter-spacing:0!important; }
/* La hoja de contabilidad pinta estas cabeceras por id; se iguala la prioridad. Y la tabla de
   asientos pedía 880 px y cortaba las acciones en pantallas medianas: el concepto se adapta. */
html[data-ui="erp"] :is(#tabla-asientos,#tabla-prevision) thead th { background:transparent!important; }
html[data-ui="erp"] #tabla-asientos { min-width:720px!important; }
html[data-ui="erp"] .ledger-entry-link { font-family:var(--arc-display); font-weight:500; letter-spacing:-.01em; }
html[data-ui="erp"] .ledger-state { gap:6px; padding:3px 10px 3px 8px!important; border-radius:999px!important; font-size:12px!important; font-weight:500!important; box-shadow:inset 0 0 0 1px color-mix(in oklab,currentColor 14%,transparent); }
html[data-ui="erp"] .ledger-state::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
html[data-ui="erp"] .ledger-state-contabilizado { background:var(--glass-mint)!important; color:var(--fc-success)!important; }
html[data-ui="erp"] .ledger-state-borrador { background:var(--glass-sand)!important; color:var(--fc-warning)!important; }
html[data-ui="erp"] .ledger-state-anulado { background:var(--fc-secondary)!important; color:var(--fc-muted)!important; text-decoration:line-through; }
html[data-ui="erp"] .ra-btn { border-radius:10px!important; transition:background-color var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-spring)!important; }
html[data-ui="erp"] .ra-btn:hover { background:var(--fc-secondary)!important; transform:translateY(-1px); }

/* ===== Nuevo asiento. ===== */
html[data-ui="erp"] .asi-subtit { color:var(--fc-muted)!important; }
/* Ayuda con IA: caja con el degradado suave de Arc, orbe y chispa en el botón. */
html[data-ui="erp"] .asi-ia { position:relative; padding:18px 18px 16px!important; border-radius:22px!important; border:1px solid oklch(92% .02 300)!important; background:linear-gradient(135deg,oklch(97% .028 300),oklch(97.6% .026 65))!important; box-shadow:none!important; }
html[data-ui="erp"] .asi-ia-cab { gap:10px!important; margin-bottom:12px!important; flex-wrap:wrap; }
html[data-ui="erp"] .asi-ia-cab::before { content:""; flex:none; width:26px; height:26px; border-radius:50%; background:var(--arc-gradient); box-shadow:inset 0 0 0 1px oklch(100% 0 0 / .6),0 6px 16px -6px oklch(70% .08 300 / .6); animation:arc-orbe 5s ease-in-out infinite; }
html[data-ui="erp"] .asi-ia-cab b { font-family:var(--arc-display); font-weight:500; font-size:15px; letter-spacing:-.02em; }
html[data-ui="erp"] .asi-ia-hint { color:var(--fc-muted)!important; }
html[data-ui="erp"] .asi-ia-fila { gap:8px!important; padding:5px; border-radius:999px; background:var(--fc-card); border:1px solid var(--fc-border); transition:border-color var(--arc-fast) var(--arc-ease),box-shadow var(--arc-standard) var(--arc-ease); }
html[data-ui="erp"] .asi-ia-fila:focus-within { border-color:oklch(80% 0 0); box-shadow:0 0 0 4px oklch(0% 0 0 / .045); }
html[data-ui="erp"] .asi-ia-fila input { border:0!important; box-shadow:none!important; background:transparent!important; padding:9px 12px!important; }
html[data-ui="erp"] #btn-asiento-ia { display:inline-flex; align-items:center; gap:8px; }
html[data-ui="erp"] #btn-asiento-ia::before { content:"✦"; font-size:13px; line-height:1; background:var(--arc-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; filter:saturate(1.6) brightness(1.2); }
html[data-ui="erp"] .asi-ia-chips { gap:6px!important; margin-top:12px!important; }
html[data-ui="erp"] .asi-chip { border-radius:999px!important; border:1px solid var(--fc-border)!important; background:oklch(100% 0 0 / .7)!important; color:var(--fc-ink)!important; padding:6px 12px!important; font-size:12.5px!important; font-weight:500; transition:background-color var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-spring),border-color var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] .asi-chip:hover { background:var(--fc-card)!important; border-color:oklch(84% 0 0)!important; transform:translateY(-1px); }
html[data-ui="erp"] .asi-ia-ok { color:var(--fc-success)!important; }
/* Partidas: cabecera, aviso de cuadre con punto y rebote al cambiar, tabla limpia y totales grandes. */
html[data-ui="erp"] .asi-partidas-cab h4 { font-family:var(--arc-display); font-size:17px; font-weight:500; letter-spacing:-.02em; }
html[data-ui="erp"] .asi-cuadre { display:inline-flex; align-items:center; gap:6px; padding:5px 12px 5px 10px!important; font-weight:500!important; font-size:12.5px!important; box-shadow:inset 0 0 0 1px color-mix(in oklab,currentColor 14%,transparent); }
html[data-ui="erp"] .asi-cuadre::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
html[data-ui="erp"] .asi-cuadre-ok { background:var(--glass-mint)!important; color:var(--fc-success)!important; }
html[data-ui="erp"] .asi-cuadre-mal { background:var(--danger-bg)!important; color:var(--fc-error)!important; }
html[data-ui="erp"] .asi-cuadre-neutro { background:var(--fc-secondary)!important; color:var(--fc-muted)!important; }
html[data-ui="erp"] .asi-cuadre.arc-rebote { animation:arc-rebote 420ms var(--arc-spring); }
@keyframes arc-rebote { 0% { transform:scale(.92); } 60% { transform:scale(1.05); } 100% { transform:scale(1); } }
html[data-ui="erp"] .asi-tabla-wrap { border-radius:20px!important; border-color:var(--fc-border)!important; overflow:hidden!important; }
html[data-ui="erp"] .asi-tabla thead th { padding:12px 12px 8px!important; }
/* «backwards» y no «both»: al acabar, la fila no se queda con transform ni filter. Con ellos,
   cada fila era su propio contexto de apilamiento y el desplegable de la cuenta quedaba debajo
   de la fila siguiente, que se llevaba el clic. */
html[data-ui="erp"] .asi-tabla tbody tr { animation:arc-entrada 360ms var(--arc-ease-enter) backwards; }
html[data-ui="erp"] .asi-tabla tbody td { border-bottom:1px solid var(--fc-border)!important; padding:8px 10px!important; }
html[data-ui="erp"] .asi-tabla input { border-radius:12px!important; border-color:var(--fc-border)!important; background:var(--fc-card)!important; }
html[data-ui="erp"] .asi-tabla input.asi-num { font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .asi-tabla input.asi-num:not(:placeholder-shown):not([value="0,00"]) { background:var(--fc-row-hover)!important; }
html[data-ui="erp"] .asi-td-quitar button { border-radius:999px!important; transition:background-color var(--arc-fast) var(--arc-ease),color var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] .asi-td-quitar button:hover { background:var(--danger-bg)!important; color:var(--fc-error)!important; }
html[data-ui="erp"] .asi-tabla tfoot { background:var(--arc-tray); }
html[data-ui="erp"] .asi-tabla tfoot td { border-top:1px solid var(--fc-border)!important; padding:12px!important; }
html[data-ui="erp"] .asi-tot-lbl { font-size:12px!important; font-weight:500!important; letter-spacing:0!important; text-transform:none!important; color:var(--fc-muted)!important; }
html[data-ui="erp"] :is(#asiento-total-debe,#asiento-total-haber) { font-family:var(--arc-display); font-size:19px; font-weight:500; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .asi-ayuda { display:flex; gap:8px; align-items:flex-start; margin-top:10px; font-size:12.5px; color:var(--fc-muted); }
html[data-ui="erp"] .asi-ayuda::before { content:"i"; flex:none; display:grid; place-items:center; width:16px; height:16px; margin-top:1px; border-radius:50%; background:var(--fc-selected); color:var(--fc-ink); font-size:10.5px; font-weight:600; font-style:italic; font-family:Georgia,serif; }

/* ===== Libro Mayor: filtros sobre bandeja gris y resultados en una franja negra. ===== */
html[data-ui="erp"] #contab-panel-libro-mayor .mayor-filtros { padding:20px!important; border-radius:22px; background:var(--arc-tray); border:1px solid var(--fc-border); }
html[data-ui="erp"] #contab-panel-libro-mayor .mayor-resumen { grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:0!important; margin:18px 0!important; padding:6px; border-radius:22px; background:var(--fc-primary); color:var(--fc-on-primary); box-shadow:0 18px 36px -24px oklch(0% 0 0 / .55); }
html[data-ui="erp"] #contab-panel-libro-mayor .mayor-card { display:flex!important; flex-direction:column; justify-content:space-between; gap:10px; background:transparent!important; border:0!important; box-shadow:none!important; border-radius:0!important; padding:16px 18px!important; text-align:left!important; }
html[data-ui="erp"] #contab-panel-libro-mayor .mayor-card + .mayor-card { border-left:1px solid oklch(100% 0 0 / .12)!important; }
html[data-ui="erp"] #contab-panel-libro-mayor .mayor-label { color:oklch(100% 0 0 / .62)!important; font-size:12.5px!important; font-weight:400!important; }
html[data-ui="erp"] #contab-panel-libro-mayor .mayor-value { color:var(--fc-on-primary)!important; font-family:var(--arc-display); font-size:22px!important; font-weight:400!important; letter-spacing:-.04em; font-variant-numeric:tabular-nums; margin-top:0; }
html[data-ui="erp"] #contab-panel-libro-mayor .mayor-value.text-green { color:oklch(82% .14 150)!important; }
html[data-ui="erp"] #contab-panel-libro-mayor .mayor-value.text-red { color:oklch(78% .15 25)!important; }
@media (max-width:1100px) {
  html[data-ui="erp"] #contab-panel-libro-mayor .mayor-resumen { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  html[data-ui="erp"] #contab-panel-libro-mayor .mayor-card + .mayor-card { border-left:0!important; }
  html[data-ui="erp"] #contab-panel-libro-mayor .mayor-card { border-bottom:1px solid oklch(100% 0 0 / .12)!important; }
}

/* ===== Pestañas que las hojas de cada pantalla pintaban subrayadas (por id): todas como
   control segmentado, ajustado a su contenido, sin raya bajo el activo. ===== */
html[data-ui="erp"] :is(#contab-panel-balances #filter-tipo-balance,#view-rrhh #rrhh-tabs,#contab-panel-asientos #filter-estado-asientos) { display:inline-flex!important; width:auto!important; max-width:100%; gap:2px!important; padding:4px!important; margin-bottom:18px!important; border:0!important; border-radius:16px!important; background:var(--fc-selected)!important; overflow-x:auto; }
html[data-ui="erp"] :is(#contab-panel-balances #filter-tipo-balance,#view-rrhh #rrhh-tabs,#contab-panel-asientos #filter-estado-asientos) .filter-btn { min-height:34px!important; padding:7px 14px!important; border:0!important; border-bottom:0!important; border-radius:12px!important; box-shadow:none!important; flex-shrink:0; }
html[data-ui="erp"] :is(#contab-panel-balances #filter-tipo-balance,#view-rrhh #rrhh-tabs,#contab-panel-asientos #filter-estado-asientos) .filter-btn.active { border-bottom:0!important; color:var(--fc-ink)!important; }
html[data-ui="erp"] :is(#contab-panel-balances #filter-tipo-balance,#view-rrhh #rrhh-tabs,#contab-panel-asientos #filter-estado-asientos):not(.arc-con-indicador) .filter-btn.active { background:var(--fc-card)!important; box-shadow:0 1px 2px oklch(0% 0 0 / .06),0 0 0 .5px oklch(0% 0 0 / .05)!important; }
html[data-ui="erp"] :is(#contab-panel-balances #filter-tipo-balance,#view-rrhh #rrhh-tabs,#contab-panel-asientos #filter-estado-asientos).arc-con-indicador .filter-btn.active { background:transparent!important; box-shadow:none!important; }

/* Cabeceras de tabla que otras hojas pintaban de gris por id: limpias, como el resto. */
html[data-ui="erp"] :is(#contab-panel-balances .data-table,#view-rrhh .data-table,#tes-seguimiento #tabla-seg,#cartera-historial,#modal-remesa) thead th,
html[data-ui="erp"] #contab-panel-conciliacion thead th { background:transparent!important; color:var(--fc-muted)!important; font-size:12px!important; font-weight:500!important; letter-spacing:0!important; text-transform:none!important; border-bottom:1px solid var(--fc-border)!important; }
html[data-ui="erp"] #contab-panel-balances .data-table td:first-child { font-family:var(--arc-display); font-weight:500; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] #contab-panel-balances .data-table td { font-variant-numeric:tabular-nums; }

/* ===== Analítica: filtros en bandeja, tarjetas con el margen como protagonista y medidor,
   total de empresa en negro y barras que crecen. ===== */
html[data-ui="erp"] #contab-panel-analitica .ui-analytics-filters { padding:18px 20px!important; margin-bottom:18px!important; border-radius:22px; background:var(--arc-tray); border:1px solid var(--fc-border)!important; }
html[data-ui="erp"] #contab-panel-analitica .ana-cards { gap:12px!important; padding:12px; border-radius:28px; background:var(--arc-tray); }
html[data-ui="erp"] .ana-card { display:flex; flex-direction:column; padding:18px 20px 16px!important; border-radius:22px!important; border:1px solid var(--fc-primary)!important; background:var(--fc-primary)!important; color:var(--fc-on-primary)!important; box-shadow:0 18px 36px -24px oklch(0% 0 0 / .55)!important; }
html[data-ui="erp"] .ana-cards > .ana-card:nth-child(1) { --punto:oklch(62% .12 295); --tinte:oklch(95.5% .03 295); }
html[data-ui="erp"] .ana-cards > .ana-card:nth-child(2) { --punto:oklch(66% .13 55); --tinte:oklch(96% .035 65); }
html[data-ui="erp"] .ana-cards > .ana-card:nth-child(3) { --punto:oklch(60% 0 0); --tinte:var(--fc-selected); }
html[data-ui="erp"] .ana-card-head { order:0; display:flex; align-items:center; gap:8px; padding:0!important; margin-bottom:10px; background:none!important; color:var(--fc-muted)!important; font-size:12.5px!important; font-weight:500!important; letter-spacing:0!important; text-transform:none!important; }
/* Punto de estado: late en verde si el margen es positivo y en rojo si es negativo
   (arc-movimiento.js pone data-resultado). Sin resultado propio (Comunes), quieto y neutro. */
html[data-ui="erp"] .ana-card-head::before { content:""; flex:none; width:8px; height:8px; border-radius:50%; background:var(--estado,oklch(100% 0 0 / .55)); }
html[data-ui="erp"] .ana-card[data-resultado] .ana-card-head::before { animation:arc-latido-estado 2s cubic-bezier(.4,0,.6,1) infinite; }
html[data-ui="erp"] .ana-card[data-resultado="positivo"] { --estado:oklch(78% .17 150); --medidor:oklch(78% .17 150); }
html[data-ui="erp"] .ana-card[data-resultado="negativo"] { --estado:oklch(70% .19 25); --medidor:oklch(70% .19 25); }
@keyframes arc-latido-estado { 0%,100% { box-shadow:0 0 0 0 color-mix(in oklab,var(--estado) 55%,transparent); } 70% { box-shadow:0 0 0 7px color-mix(in oklab,var(--estado) 0%,transparent); } }
html[data-ui="erp"] .ana-row { padding:5px 0!important; font-size:13px; gap:12px; }
html[data-ui="erp"] .ana-row > span:first-child { color:var(--fc-muted); }
html[data-ui="erp"] .ana-row > span:nth-child(2) { font-variant-numeric:tabular-nums; font-weight:500; white-space:nowrap; }
/* El margen sube arriba y se hace grande; el % va debajo con su medidor; el resto, después. */
html[data-ui="erp"] .ana-row-margen { order:1; flex-direction:column; align-items:flex-start!important; gap:2px!important; padding:0 0 4px!important; border:0!important; }
html[data-ui="erp"] .ana-row-margen > span:first-child { font-size:12px; color:var(--fc-muted)!important; font-weight:400!important; }
html[data-ui="erp"] .ana-row-margen > span:nth-child(2) { font-family:var(--arc-display); font-size:clamp(20px,2.1vw,28px)!important; font-weight:400!important; letter-spacing:-.045em; color:var(--fc-ink)!important; }
html[data-ui="erp"] .ana-row-pct { order:2; padding:0 0 12px!important; margin-bottom:8px; border-bottom:1px solid var(--fc-border); flex-wrap:wrap; }
html[data-ui="erp"] .ana-row-pct > span:nth-child(2) { color:var(--fc-ink)!important; }
html[data-ui="erp"] .arc-medidor { flex-basis:100%; height:6px; margin-top:8px; border-radius:999px; background:var(--fc-selected); overflow:hidden; }
html[data-ui="erp"] .arc-medidor i { display:block; height:100%; width:var(--p,0%); border-radius:inherit; background:var(--medidor,oklch(100% 0 0 / .6)); transform-origin:left; animation:arc-barra-crece 1s var(--arc-ease-enter) 250ms both; }
html[data-ui="erp"] .ana-card > .ana-row:not(.ana-row-margen):not(.ana-row-pct) { order:3; }
html[data-ui="erp"] .ana-mini { order:4; margin-top:auto; padding:10px 0 0!important; font-size:12px; color:var(--fc-muted); }
html[data-ui="erp"] .ana-card > :not(.ana-card-head):not(.ana-row):not(.ana-mini) { order:5; }
html[data-ui="erp"] .ana-reparto-link { color:var(--fc-on-primary)!important; text-decoration:none!important; font-size:12.5px; font-weight:500; display:inline-flex; align-items:center; gap:4px; padding:7px 14px; border-radius:999px; background:oklch(100% 0 0 / .1)!important; border:1px solid oklch(100% 0 0 / .16)!important; width:fit-content; margin-top:8px; transition:background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .ana-reparto-link:hover { background:oklch(100% 0 0 / .18)!important; }
/* Total de empresa: la tarjeta negra, como el resumen del Mayor. */
html[data-ui="erp"] .ana-card.ana-card-total { --punto:oklch(82% .14 150); --tinte:oklch(100% 0 0 / .12); background:var(--fc-primary)!important; border-color:var(--fc-primary)!important; color:var(--fc-on-primary); box-shadow:0 18px 36px -24px oklch(0% 0 0 / .55)!important; }
html[data-ui="erp"] .ana-card :is(.ana-card-head,.ana-row > span:first-child,.ana-mini,.ana-mini strong) { color:oklch(100% 0 0 / .62)!important; }
html[data-ui="erp"] .ana-card .ana-row > span:nth-child(2),html[data-ui="erp"] .ana-card .ana-row-margen > span:nth-child(2) { color:var(--fc-on-primary)!important; }
html[data-ui="erp"] .ana-card .ana-row-pct { border-color:oklch(100% 0 0 / .14)!important; }
html[data-ui="erp"] .ana-card[data-resultado="negativo"] .ana-row-margen > span:nth-child(2) { color:oklch(78% .15 25)!important; }
html[data-ui="erp"] .ana-card :is(p,.text-muted,small) { color:oklch(100% 0 0 / .62)!important; }
html[data-ui="erp"] .ana-card .arc-medidor { background:oklch(100% 0 0 / .14); }
/* Gráficas: cabecera limpia, barras redondeadas que crecen escalonadas y fila resaltada. */
html[data-ui="erp"] .ana-charts { gap:12px!important; }
html[data-ui="erp"] .ana-chart { border-radius:22px!important; border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; }
html[data-ui="erp"] .ana-chart-title { padding:16px 20px 6px!important; background:none!important; color:var(--fc-ink)!important; font-family:var(--arc-display); font-size:15px!important; font-weight:500!important; letter-spacing:-.02em!important; text-transform:none!important; }
html[data-ui="erp"] .ana-chart-body { padding:8px 20px 16px!important; gap:4px!important; }
html[data-ui="erp"] .ana-bar-row { padding:4px 8px; margin:0 -8px; border-radius:10px; transition:background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .ana-bar-row:hover { background:var(--fc-row-hover); }
html[data-ui="erp"] .ana-bar-mes { color:var(--fc-muted)!important; font-weight:500!important; }
html[data-ui="erp"] .ana-bar { height:12px!important; border-radius:999px!important; background:var(--fc-selected)!important; }
html[data-ui="erp"] .ana-bar i { transform-origin:left; animation:arc-barra-crece 900ms var(--arc-ease-enter) both; }
html[data-ui="erp"] .ana-bar-row:nth-child(1) .ana-bar i { animation-delay:100ms; } html[data-ui="erp"] .ana-bar-row:nth-child(2) .ana-bar i { animation-delay:140ms; }
html[data-ui="erp"] .ana-bar-row:nth-child(3) .ana-bar i { animation-delay:180ms; } html[data-ui="erp"] .ana-bar-row:nth-child(4) .ana-bar i { animation-delay:220ms; }
html[data-ui="erp"] .ana-bar-row:nth-child(5) .ana-bar i { animation-delay:260ms; } html[data-ui="erp"] .ana-bar-row:nth-child(6) .ana-bar i { animation-delay:300ms; }
html[data-ui="erp"] .ana-bar-row:nth-child(n+7) .ana-bar i { animation-delay:340ms; }
html[data-ui="erp"] .ana-seg-res,html[data-ui="erp"] .ana-dot-res { background:oklch(62% .12 295)!important; }
html[data-ui="erp"] .ana-seg-gal,html[data-ui="erp"] .ana-dot-gal { background:oklch(72% .12 55)!important; }
html[data-ui="erp"] :is(.ana-seg-com,.ana-seg-neutro),html[data-ui="erp"] .ana-dot-com { background:oklch(30% 0 0 / .72)!important; }
html[data-ui="erp"] .ana-bar-row:hover .ana-bar i { filter:brightness(.92); }
html[data-ui="erp"] .ana-bar-total { font-weight:500!important; }
html[data-ui="erp"] .ana-leyenda { padding:0 20px 16px!important; color:var(--fc-muted)!important; }
html[data-ui="erp"] .ana-leyenda .ana-dot { width:14px!important; height:3px!important; border-radius:2px!important; vertical-align:middle; margin-right:6px!important; }

/* Avisos que van dentro del marco de una tabla (p. ej. el de Analítica): tenían margen cero y
   el borde redondeado los recortaba. Pasan a ser una franja de nota con su icono. */
html[data-ui="erp"] .table-container > p { display:flex; gap:8px; align-items:flex-start; margin:0!important; padding:12px 18px!important; background:var(--arc-tray); border-bottom:1px solid var(--fc-border); font-size:12.5px!important; line-height:1.5; color:var(--fc-muted)!important; }
html[data-ui="erp"] .table-container > p::before { content:"i"; flex:none; display:grid; place-items:center; width:16px; height:16px; margin-top:1px; border-radius:50%; background:var(--fc-card); box-shadow:inset 0 0 0 1px var(--fc-border); color:var(--fc-ink); font-size:10.5px; font-weight:600; font-style:italic; font-family:Georgia,serif; }
html[data-ui="erp"] .table-container > p:empty,html[data-ui="erp"] .table-container > p.hidden { display:none!important; }

/* Campos dentro de tablas (líneas del albarán de venta y otras): solo traían el color del
   borde, y el navegador ponía su borde por defecto (2 px en relieve) que, con las esquinas
   redondeadas, se veía como un arco. Borde fino y sólido, como el resto de campos. */
html[data-ui="erp"] td > :is(input:not([type=checkbox]):not([type=radio]),select) { border-width:1px; border-style:solid; border-color:var(--fc-border); border-radius:12px; min-height:38px; padding:8px 12px; background:var(--fc-card); box-sizing:border-box; }
/* Los mismos campos sueltos, fuera de tablas, que tampoco traían grosor ni estilo de borde. */
html[data-ui="erp"] :is(#tf-desde,#tf-hasta,.concepto-ud-custom,#ana-reparto-pct-l1,#ana-reparto-pct-l2,#rf-chat-input,#pw-actual,#pw-nueva,#pw-repite,#fe-doc-mes,#albv-cliente-search) { border-width:1px; border-style:solid; border-color:var(--fc-input); }
html[data-ui="erp"] .albv-fila td { padding:6px 4px!important; vertical-align:middle; }
html[data-ui="erp"] :is(.albv-cant,.albv-precio,.albv-iva) { text-align:right; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .albv-importe { font-weight:500; }
html[data-ui="erp"] .albv-quitar { border-radius:999px!important; }
html[data-ui="erp"] .albv-quitar:hover { background:var(--danger-bg)!important; color:var(--fc-error)!important; }

/* Cabecera del balance: sin la franja gris pegada al texto; «Cuadra» como píldora con punto. */
html[data-ui="erp"] #contab-panel-balances :is(.bal-cab,.bal-report-heading) { background:transparent!important; padding:0!important; align-items:flex-end; }
html[data-ui="erp"] #contab-panel-balances :is(.bal-cab,.bal-report-heading) h2 { font-family:var(--arc-display); font-weight:500!important; letter-spacing:-.03em!important; font-size:22px!important; }
html[data-ui="erp"] #contab-panel-balances .bal-match { gap:6px!important; padding:4px 11px 4px 9px!important; border-radius:999px!important; font-size:12px!important; background:var(--glass-mint)!important; color:var(--fc-success)!important; box-shadow:inset 0 0 0 1px color-mix(in oklab,currentColor 14%,transparent); }
html[data-ui="erp"] #contab-panel-balances .bal-match::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
html[data-ui="erp"] #contab-panel-balances .bal-match-error { background:var(--danger-bg)!important; color:var(--fc-error)!important; }

/* ===== Albarán de venta con las líneas en tarjetas, como el presupuesto. Solo estilo: la tabla
   sigue siendo la misma (mismas filas y campos), se pinta cada fila como una tarjeta. ===== */
html[data-ui="erp"] #modal-albaran-venta .data-table { display:block; border:0; }
html[data-ui="erp"] #modal-albaran-venta .data-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
html[data-ui="erp"] #modal-albaran-venta #albv-lineas { display:grid; gap:12px; counter-reset:albv; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila { counter-increment:albv; display:grid; grid-template-columns:36px repeat(4,minmax(0,1fr)) minmax(90px,auto) 36px; grid-template-areas:"num desc desc desc desc desc quitar" ". cant ud precio iva imp ."; gap:12px 12px; align-items:end; padding:16px; border:1px solid var(--fc-border); border-radius:22px; background:var(--fc-card); transition:border-color var(--arc-fast) var(--arc-ease),box-shadow var(--arc-standard) var(--arc-ease); animation:arc-entrada 360ms var(--arc-ease-enter) backwards; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila:focus-within { border-color:oklch(84% 0 0); box-shadow:0 10px 24px -16px oklch(0% 0 0 / .2); }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila::before { content:counter(albv); grid-area:num; align-self:center; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--fc-primary); color:var(--fc-on-primary); font-size:13px; font-weight:600; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila,html[data-ui="erp"] #modal-albaran-venta tr.albv-fila:hover { background:var(--fc-card)!important; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td { display:block; padding:0!important; border:0!important; background:transparent!important; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(1) { grid-area:desc; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(2) { grid-area:cant; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(3) { grid-area:ud; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(4) { grid-area:precio; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(5) { grid-area:iva; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(6) { grid-area:imp; text-align:right; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(7) { grid-area:quitar; align-self:center; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(n+2):nth-child(-n+6)::before { display:block; margin-bottom:6px; font-size:11px; font-weight:600; letter-spacing:.06em; color:var(--fc-muted); text-align:left; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(2)::before { content:"CANTIDAD"; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(3)::before { content:"UNIDAD"; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(4)::before { content:"PRECIO (€)"; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(5)::before { content:"IVA (%)"; }
html[data-ui="erp"] #modal-albaran-venta tr.albv-fila > td:nth-child(6)::before { content:"IMPORTE"; text-align:right; }
html[data-ui="erp"] #modal-albaran-venta .albv-desc { min-height:48px!important; padding:12px 16px!important; font-size:15px; border-radius:16px!important; }
html[data-ui="erp"] #modal-albaran-venta .albv-importe { font-family:var(--arc-display); font-size:18px; font-weight:500!important; letter-spacing:-.02em; padding-bottom:8px!important; }
html[data-ui="erp"] #modal-albaran-venta :is(.albv-cant,.albv-precio,.albv-iva) { text-align:left; }
/* Añadir línea: franja discontinua de ancho completo. */
html[data-ui="erp"] #modal-albaran-venta #albv-add-linea { display:flex; justify-content:center; align-items:center; width:100%; min-height:48px; margin-top:12px!important; border:1.5px dashed oklch(84% 0 0)!important; background:transparent!important; box-shadow:none!important; color:var(--fc-muted)!important; font-weight:500; }
html[data-ui="erp"] #modal-albaran-venta #albv-add-linea:hover { border-color:var(--fc-ink)!important; color:var(--fc-ink)!important; background:var(--fc-row-hover)!important; }
/* Resumen de importes en bandeja, con el total grande. */
html[data-ui="erp"] #modal-albaran-venta #albv-add-linea + div { display:flex; justify-content:flex-end; align-items:baseline; flex-wrap:wrap; gap:6px 10px; margin-top:16px!important; padding:16px 20px; border-radius:20px; background:var(--arc-tray); font-weight:400!important; color:var(--fc-muted); font-size:13.5px; }
html[data-ui="erp"] #modal-albaran-venta :is(#albv-base,#albv-iva) { color:var(--fc-ink); font-weight:500; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] #modal-albaran-venta #albv-total { color:var(--fc-ink)!important; font-family:var(--arc-display); font-size:24px; font-weight:500; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
@media (max-width:640px) {
  html[data-ui="erp"] #modal-albaran-venta tr.albv-fila { grid-template-columns:32px repeat(2,minmax(0,1fr)) 32px; grid-template-areas:"num desc desc quitar" ". cant ud ." ". precio iva ." ". imp imp ."; }
}

/* ===== Fiscal. ===== */
html[data-ui="erp"] #contab-panel-fiscal > .contab-panel-header { padding:16px 20px!important; margin-bottom:18px!important; border-radius:22px; background:var(--arc-tray); border:1px solid var(--fc-border); }
html[data-ui="erp"] #contab-panel-fiscal .fiscal-grid > .dash-card { border-radius:24px!important; border:1px solid var(--fc-border)!important; box-shadow:none!important; }
html[data-ui="erp"] #contab-panel-fiscal .fiscal-grid > .dash-card :is(h3,h4) { font-family:var(--arc-display); font-weight:500!important; letter-spacing:-.025em; }
/* Liquidación del IVA: tarjeta negra, resultado protagonista, estado que late y barra comparativa. */
html[data-ui="erp"] #contab-panel-fiscal .dash-card:has(.fiscal-resumen) { background:var(--fc-primary)!important; border-color:var(--fc-primary)!important; color:var(--fc-on-primary)!important; box-shadow:0 18px 36px -24px oklch(0% 0 0 / .55)!important; }
html[data-ui="erp"] #contab-panel-fiscal .dash-card:has(.fiscal-resumen) :is(h3,h4) { color:var(--fc-on-primary)!important; border-color:oklch(100% 0 0 / .12)!important; }
html[data-ui="erp"] .fiscal-resumen { display:flex; flex-direction:column; gap:0!important; }
html[data-ui="erp"] .fiscal-resumen .fiscal-item { display:flex; justify-content:space-between; align-items:baseline; padding:6px 0!important; border:0!important; }
html[data-ui="erp"] .fiscal-resumen .fiscal-label { color:oklch(100% 0 0 / .62)!important; font-size:13px!important; font-weight:400!important; }
html[data-ui="erp"] .fiscal-resumen .fiscal-value { color:var(--fc-on-primary)!important; font-family:var(--arc-display); font-weight:400!important; font-size:18px!important; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
/* El resultado sube arriba y se hace grande; el «Tipo» original lo sustituye el estado. */
html[data-ui="erp"] .fiscal-resumen .fiscal-item-total { order:-1; flex-direction:column; align-items:flex-start!important; gap:2px; padding:4px 0 14px!important; }
html[data-ui="erp"] .fiscal-resumen .fiscal-item-total .fiscal-value { font-size:clamp(28px,3.2vw,40px)!important; letter-spacing:-.05em; }
html[data-ui="erp"] .fiscal-resumen .fiscal-item:has(#fiscal-tipo-resultado),html[data-ui="erp"] .fiscal-resumen .fiscal-divider { display:none!important; }
html[data-ui="erp"] .arc-fiscal-estado { order:-2; align-self:flex-start; display:inline-flex; align-items:center; gap:7px; margin-bottom:10px; padding:4px 11px 4px 9px; border-radius:999px; font-size:12px; font-weight:500; background:oklch(100% 0 0 / .1); color:var(--estado,oklch(100% 0 0 / .8)); }
html[data-ui="erp"] .arc-fiscal-estado::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; animation:arc-latido-estado 2s cubic-bezier(.4,0,.6,1) infinite; --estado:currentColor; }
html[data-ui="erp"] .fiscal-resumen[data-resultado="ingresar"] { --estado:oklch(82% .14 75); }
html[data-ui="erp"] .fiscal-resumen[data-resultado="devolver"] { --estado:oklch(78% .17 150); }
html[data-ui="erp"] .fiscal-resumen[data-resultado="cero"] .arc-fiscal-estado::before { animation:none; }
html[data-ui="erp"] .arc-fiscal-barra { order:0; display:flex; gap:3px; height:8px; margin:12px 0 6px; }
html[data-ui="erp"] .arc-fiscal-barra i { display:block; min-width:3px; border-radius:999px; transform-origin:left; animation:arc-barra-crece 900ms var(--arc-ease-enter) 200ms both; transition:flex-grow 600ms var(--arc-ease); }
html[data-ui="erp"] .arc-fiscal-barra .dev { background:oklch(100% 0 0 / .85); }
html[data-ui="erp"] .arc-fiscal-barra .ded { background:oklch(100% 0 0 / .3); }
html[data-ui="erp"] .fiscal-resumen .fiscal-item:has(#fiscal-iva-rep) .fiscal-label::before,html[data-ui="erp"] .fiscal-resumen .fiscal-item:has(#fiscal-iva-sop) .fiscal-label::before { content:""; display:inline-block; width:10px; height:3px; margin-right:8px; vertical-align:middle; border-radius:2px; background:oklch(100% 0 0 / .85); }
html[data-ui="erp"] .fiscal-resumen .fiscal-item:has(#fiscal-iva-sop) .fiscal-label::before { background:oklch(100% 0 0 / .3); }
/* Lo que va dentro de la tarjeta negra (tabla de casillas y notas) sigue su tono. */
html[data-ui="erp"] #contab-panel-fiscal .dash-card:has(.fiscal-resumen) :is(.table-container,table,thead,tbody,tr,th,td) { background:transparent!important; color:oklch(100% 0 0 / .86)!important; border-color:oklch(100% 0 0 / .12)!important; box-shadow:none!important; }
html[data-ui="erp"] #contab-panel-fiscal .dash-card:has(.fiscal-resumen) .table-container { border:1px solid oklch(100% 0 0 / .12)!important; border-radius:16px; margin-top:10px; }
html[data-ui="erp"] #contab-panel-fiscal .dash-card:has(.fiscal-resumen) thead th { color:oklch(100% 0 0 / .55)!important; }
html[data-ui="erp"] #contab-panel-fiscal .dash-card:has(.fiscal-resumen) tbody tr:hover { background:oklch(100% 0 0 / .05)!important; }
html[data-ui="erp"] #contab-panel-fiscal .dash-card:has(.fiscal-resumen) :is(p,small,.text-muted) { color:oklch(100% 0 0 / .55)!important; }
/* Tipos de IVA: tabla limpia, porcentaje en píldora. */
html[data-ui="erp"] #contab-panel-fiscal .dash-card:not(:has(.fiscal-resumen)) .data-table { min-width:0!important; }
html[data-ui="erp"] #contab-panel-fiscal .dash-card:not(:has(.fiscal-resumen)) .data-table :is(th,td) { padding:10px 12px!important; }
html[data-ui="erp"] #contab-panel-fiscal .data-table td:nth-child(2) { font-variant-numeric:tabular-nums; }
html[data-ui="erp"] #contab-panel-fiscal .capitalize { color:var(--fc-muted); }
/* Modelos: el número grande en Geist, sin el verde. */
html[data-ui="erp"] .fiscal-modelos { gap:12px!important; padding:12px; border-radius:24px; background:var(--arc-tray); }
html[data-ui="erp"] .modelo-card { padding:18px 20px!important; border-radius:20px!important; border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; box-shadow:none!important; transition:border-color var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-ease); }
html[data-ui="erp"] .modelo-card:hover { border-color:oklch(86% 0 0)!important; transform:translateY(-1px); }
html[data-ui="erp"] .modelo-num { font-family:var(--arc-display); font-size:30px!important; font-weight:400!important; letter-spacing:-.04em; color:var(--fc-ink)!important; }
html[data-ui="erp"] .modelo-num::before { content:"Modelo"; display:block; font-family:var(--fc-font); font-size:11.5px; letter-spacing:0; color:var(--fc-muted); margin-bottom:2px; }
html[data-ui="erp"] .modelo-desc { color:var(--fc-muted)!important; font-size:12.5px!important; }
/* Ficheros para la AEAT: secciones con título claro y casillas como tarjetas seleccionables. */
html[data-ui="erp"] .aeat-datos { border-radius:22px!important; border:1px solid var(--fc-border)!important; background:var(--arc-tray)!important; padding:20px!important; }
html[data-ui="erp"] #contab-panel-fiscal .aw-section-heading { font-family:var(--arc-display); font-weight:500!important; letter-spacing:-.025em; }
html[data-ui="erp"] .aeat-fila { display:flex!important; flex-wrap:wrap; gap:8px!important; }
html[data-ui="erp"] .aeat-check { display:inline-flex!important; align-items:center; gap:10px; padding:10px 14px!important; border-radius:14px; background:var(--fc-card); border:1px solid var(--fc-border); cursor:pointer; transition:border-color var(--arc-fast) var(--arc-ease),background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .aeat-check:hover { border-color:oklch(84% 0 0); }
html[data-ui="erp"] .aeat-check:has(input:checked) { border-color:var(--fc-ink); background:var(--fc-card); box-shadow:0 0 0 1px var(--fc-ink); }

/* ===== RRHH · Hoy: panel de equipo (arc-movimiento.js) y renovación de la pestaña. ===== */
html[data-ui="erp"] #view-rrhh { --st-trabajando:oklch(62% .16 150); --st-pausa:oklch(72% .15 75); --st-terminada:oklch(60% .1 245); --st-sin_fichar:oklch(72% 0 0); --st-ausente:oklch(64% .11 295); }
html[data-ui="erp"] .arc-rrhh { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1fr); grid-template-areas:"presencia mosaico cifras" "vacaciones vacaciones vacaciones"; gap:12px; padding:12px; margin-bottom:20px; border-radius:30px; background:var(--arc-tray); animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; }
html[data-ui="erp"] .arc-rrhh-tarjeta { padding:18px 20px; border-radius:22px; background:var(--fc-card); border:1px solid var(--fc-border); min-width:0; }
html[data-ui="erp"] .arc-rrhh-tit { display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:12px; font-family:var(--arc-display); font-size:15px; font-weight:500; letter-spacing:-.02em; }
html[data-ui="erp"] .arc-rrhh-tit span { font-family:var(--fc-font); font-size:12.5px; font-weight:400; letter-spacing:0; color:var(--fc-muted); }
/* Presencia: medidor semicircular que se llena. */
html[data-ui="erp"] .arc-rrhh-presencia { grid-area:presencia; background:var(--fc-primary); border-color:var(--fc-primary); color:var(--fc-on-primary); box-shadow:0 18px 36px -24px oklch(0% 0 0 / .55); }
html[data-ui="erp"] .arc-gauge-caja { position:relative; width:100%; max-width:220px; margin:0 auto; }
html[data-ui="erp"] .arc-gauge { display:block; width:100%; overflow:visible; }
html[data-ui="erp"] .arc-gauge path { fill:none; stroke-width:14; stroke-linecap:round; }
html[data-ui="erp"] .arc-gauge .pista { stroke:oklch(100% 0 0 / .12); }
html[data-ui="erp"] .arc-gauge .lleno { stroke:var(--st-trabajando); stroke-dasharray:var(--p) 1; stroke-dashoffset:0; animation:arc-gauge 1.1s var(--arc-ease-enter) 200ms both; }
@keyframes arc-gauge { from { stroke-dasharray:0 1; } }
/* A cero, el extremo redondeado dejaría un punto suelto: no se pinta. */
html[data-ui="erp"] .arc-gauge.vacio .lleno { display:none; }
html[data-ui="erp"] .arc-gauge-cifra { position:absolute; left:0; right:0; bottom:2px; display:grid; justify-items:center; }
html[data-ui="erp"] .arc-gauge-cifra .arc-res-cifra { font-family:var(--arc-display); font-size:40px; font-weight:400; letter-spacing:-.05em; line-height:1; }
html[data-ui="erp"] .arc-gauge-cifra small { font-size:12px; color:oklch(100% 0 0 / .6); }
html[data-ui="erp"] .arc-rrhh-leyenda { list-style:none; margin:16px 0 0; padding:12px 0 0; border-top:1px solid oklch(100% 0 0 / .12); display:grid; gap:6px; font-size:12.5px; color:oklch(100% 0 0 / .72); }
html[data-ui="erp"] .arc-rrhh-leyenda li { display:flex; align-items:center; gap:8px; }
html[data-ui="erp"] .arc-rrhh-leyenda i { width:8px; height:8px; border-radius:50%; background:var(--c); }
html[data-ui="erp"] .arc-rrhh-leyenda b { margin-left:auto; color:var(--fc-on-primary); font-weight:500; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] :is(.arc-rrhh-leyenda li,.arc-waffle-ficha)[data-est="trabajando"] { --c:var(--st-trabajando); }
html[data-ui="erp"] :is(.arc-rrhh-leyenda li,.arc-waffle-ficha)[data-est="pausa"] { --c:var(--st-pausa); }
html[data-ui="erp"] :is(.arc-rrhh-leyenda li,.arc-waffle-ficha)[data-est="terminada"] { --c:var(--st-terminada); }
html[data-ui="erp"] :is(.arc-rrhh-leyenda li,.arc-waffle-ficha)[data-est="sin_fichar"] { --c:var(--st-sin_fichar); }
html[data-ui="erp"] :is(.arc-rrhh-leyenda li,.arc-waffle-ficha)[data-est="ausente"] { --c:var(--st-ausente); }
html[data-ui="erp"] .arc-rrhh-leyenda li[data-est="trabajando"] i { animation:arc-latido-estado 2s cubic-bezier(.4,0,.6,1) infinite; --estado:var(--st-trabajando); }
/* Mosaico del equipo: una ficha por persona, del color de su estado. */
html[data-ui="erp"] .arc-rrhh-mosaico { grid-area:mosaico; }
html[data-ui="erp"] .arc-waffle { display:grid; grid-template-columns:repeat(auto-fill,minmax(52px,1fr)); gap:8px; }
html[data-ui="erp"] .arc-waffle-ficha { position:relative; aspect-ratio:1; display:grid; place-items:center; border:0; border-radius:14px; background:color-mix(in oklab,var(--c) 16%,var(--fc-card)); color:color-mix(in oklab,var(--c) 70%,var(--fc-ink)); font:inherit; font-size:13px; font-weight:600; cursor:pointer; box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--c) 26%,transparent); animation:arc-ficha 520ms var(--arc-spring) both; animation-delay:calc(var(--i) * 40ms + 120ms); transition:transform var(--arc-standard) var(--arc-spring),box-shadow var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .arc-waffle-ficha::after { content:""; position:absolute; top:6px; right:6px; width:7px; height:7px; border-radius:50%; background:var(--c); }
html[data-ui="erp"] .arc-waffle-ficha[data-est="trabajando"]::after { animation:arc-latido-estado 2s cubic-bezier(.4,0,.6,1) infinite; --estado:var(--st-trabajando); }
html[data-ui="erp"] .arc-waffle-ficha:hover { transform:translateY(-2px) scale(1.04); box-shadow:inset 0 0 0 1.5px var(--c); }
@keyframes arc-ficha { from { opacity:0; transform:scale(.6); } }
/* Cifras del día. */
html[data-ui="erp"] .arc-rrhh-cifras { grid-area:cifras; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
html[data-ui="erp"] .arc-rrhh-cifra { display:flex; flex-direction:column; justify-content:space-between; gap:8px; padding:16px; border-radius:20px; background:var(--fc-card); border:1px solid var(--fc-border); min-width:0; }
html[data-ui="erp"] .arc-rrhh-cifra small { font-size:12px; color:var(--fc-muted); line-height:1.3; }
html[data-ui="erp"] .arc-rrhh-cifra .arc-res-cifra { font-family:var(--arc-display); font-size:28px; font-weight:400; letter-spacing:-.045em; }
html[data-ui="erp"] .arc-rrhh-cifra.aviso { background:var(--glass-sand); border-color:color-mix(in oklab,var(--fc-warning) 25%,transparent); }
html[data-ui="erp"] .arc-rrhh-cifra.mal { background:var(--danger-bg); border-color:color-mix(in oklab,var(--fc-error) 25%,transparent); }
html[data-ui="erp"] .arc-rrhh-cifra.mal .arc-res-cifra { color:var(--fc-error); }
/* Vacaciones: medidor de uso del equipo y una barra por persona. */
html[data-ui="erp"] .arc-rrhh-vacaciones { grid-area:vacaciones; }
html[data-ui="erp"] .arc-uso { height:10px; border-radius:999px; background:var(--fc-selected); overflow:hidden; }
html[data-ui="erp"] .arc-uso i { display:block; height:100%; width:var(--p); border-radius:inherit; background:var(--fc-ink); transform-origin:left; animation:arc-barra-crece 1s var(--arc-ease-enter) 200ms both; }
html[data-ui="erp"] .arc-uso.mini { height:6px; flex:1; }
html[data-ui="erp"] .arc-uso.mini i { background:var(--st-ausente); }
html[data-ui="erp"] .arc-rrhh-vac { list-style:none; margin:14px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:8px 24px; }
html[data-ui="erp"] .arc-rrhh-vac li { display:flex; align-items:center; gap:10px; font-size:13px; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; animation-delay:calc(var(--i) * 50ms + 200ms); }
html[data-ui="erp"] .arc-rrhh-vac b { font-weight:500; min-width:0; flex:0 1 140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] .arc-rrhh-vac em { font-style:normal; font-variant-numeric:tabular-nums; color:var(--fc-muted); min-width:32px; text-align:right; }
html[data-ui="erp"] .arc-rrhh-av { flex:none; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--arc-gradient); color:var(--arc-gradient-fg); font-size:11px; font-weight:600; }
@media (max-width:1100px) { html[data-ui="erp"] .arc-rrhh { grid-template-columns:1fr 1fr; grid-template-areas:"presencia mosaico" "cifras cifras" "vacaciones vacaciones"; } html[data-ui="erp"] .arc-rrhh-cifras { grid-template-columns:repeat(4,1fr); } }
@media (max-width:700px) { html[data-ui="erp"] .arc-rrhh { grid-template-columns:1fr; grid-template-areas:"presencia" "mosaico" "cifras" "vacaciones"; } html[data-ui="erp"] .arc-rrhh-cifras { grid-template-columns:1fr 1fr; } }
/* Tareas del equipo: tarjeta con estado vacío amable. */
html[data-ui="erp"] #rrhh-hoy .rh-tasks-focus { padding:20px 22px!important; margin-bottom:20px; border-radius:24px!important; border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; box-shadow:none!important; }
html[data-ui="erp"] #rrhh-hoy .rh-focus-heading h2 { font-family:var(--arc-display); font-weight:500; letter-spacing:-.025em; }
html[data-ui="erp"] #rrhh-hoy #rh-tasks-summary { color:var(--fc-muted); }
html[data-ui="erp"] #rrhh-hoy .rh-tasks-open { display:inline-flex; align-items:center; gap:6px; margin-top:8px; padding:8px 14px; border-radius:999px; border:1px solid var(--fc-border); background:var(--fc-card); font-weight:500; transition:background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] #rrhh-hoy .rh-tasks-open:hover { background:var(--fc-secondary); }
/* Lista del equipo: filtros en pista, filas con avatar redondo y estado en píldora. */
html[data-ui="erp"] .rhh-fecha { font-family:var(--arc-display); font-size:20px!important; font-weight:500!important; letter-spacing:-.025em!important; }
html[data-ui="erp"] .rhh-filtros { display:inline-flex!important; justify-self:start; width:fit-content; max-width:100%; gap:2px!important; padding:4px!important; border-radius:16px; background:var(--fc-selected); }
html[data-ui="erp"] .rhh-filtro { min-height:34px!important; padding:6px 14px!important; border:0!important; border-radius:12px!important; background:transparent!important; color:var(--fc-muted)!important; font-weight:500; transition:background-color var(--arc-fast) var(--arc-ease),color var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] .rhh-filtro b { color:inherit!important; font-weight:500!important; opacity:.7; }
html[data-ui="erp"] .rhh-filtro[aria-pressed="true"] { background:var(--fc-card)!important; color:var(--fc-ink)!important; box-shadow:0 1px 2px oklch(0% 0 0 / .06),0 0 0 .5px oklch(0% 0 0 / .05)!important; }
html[data-ui="erp"] .rhh-grupo h2 { font-size:12.5px!important; font-weight:500!important; color:var(--fc-muted)!important; text-transform:none!important; letter-spacing:0!important; }
html[data-ui="erp"] .rhh-equipo ul { display:grid; gap:4px; }
html[data-ui="erp"] .rhh-persona { border-radius:16px!important; padding:8px 12px!important; transition:background-color var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] .rhh-persona:hover { background:var(--fc-secondary)!important; }
html[data-ui="erp"] .rhh-avatar { border-radius:50%!important; font-weight:600!important; }
html[data-ui="erp"] .rhh-av-sin_fichar,html[data-ui="erp"] .rhh-avatar:not([class*="rhh-av-"]) { background:var(--fc-selected)!important; color:var(--fc-muted)!important; }
html[data-ui="erp"] .rhh-av-terminada { background:color-mix(in oklab,var(--st-terminada) 16%,var(--fc-card))!important; color:color-mix(in oklab,var(--st-terminada) 70%,var(--fc-ink))!important; }
html[data-ui="erp"] .rhh-quien b { font-weight:500!important; }
html[data-ui="erp"] .rhh-lado b { display:inline-flex; align-items:center; gap:6px; padding:3px 10px 3px 8px; border-radius:999px; font-size:12px; font-weight:500!important; background:var(--fc-selected); color:var(--fc-muted); }
html[data-ui="erp"] .rhh-lado b::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
html[data-ui="erp"] .rhh-lado .rhh-dentro { background:color-mix(in oklab,var(--st-trabajando) 14%,var(--fc-card))!important; color:color-mix(in oklab,var(--st-trabajando) 80%,var(--fc-ink))!important; }
html[data-ui="erp"] .rhh-lado .rhh-pausa { background:var(--glass-sand)!important; color:var(--fc-warning)!important; }
html[data-ui="erp"] .rhh-lado .rhh-aus { background:color-mix(in oklab,var(--st-ausente) 14%,var(--fc-card))!important; color:color-mix(in oklab,var(--st-ausente) 80%,var(--fc-ink))!important; }
html[data-ui="erp"] .rhh-lado small { display:block; margin-top:3px; text-align:right; color:var(--fc-muted); }
html[data-ui="erp"] .rhh-lateral { padding:18px 20px!important; border-radius:22px!important; background:var(--fc-card)!important; border:1px solid var(--fc-border)!important; }
html[data-ui="erp"] .rhh-lateral h2 { font-family:var(--arc-display); font-size:15px!important; font-weight:500!important; letter-spacing:-.02em; }
html[data-ui="erp"] .rhh-accion { border-radius:999px!important; background:var(--fc-primary)!important; color:var(--fc-on-primary)!important; border:0!important; font-weight:500; }
html[data-ui="erp"] .rhh-enlace { font-weight:500; text-decoration:none!important; padding:6px 12px!important; min-height:0!important; border-radius:999px; background:var(--fc-selected); }

/* ===== Fotos de perfil del equipo: donde hay foto, la cara; si no, las iniciales. ===== */
html[data-ui="erp"] :is(.arc-rrhh-av,.rhh-avatar,.ter-avatar,.arc-dir-av,.arc-dir-foto).con-foto { padding:0!important; overflow:hidden; background:var(--fc-selected)!important; }
html[data-ui="erp"] :is(.arc-rrhh-av,.rhh-avatar,.ter-avatar,.arc-dir-av,.arc-dir-foto).con-foto img { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
html[data-ui="erp"] .arc-waffle-ficha.con-foto { overflow:hidden; padding:0; box-shadow:inset 0 0 0 2px var(--c); }
html[data-ui="erp"] .arc-waffle-ficha.con-foto img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
html[data-ui="erp"] .arc-waffle-ficha.con-foto::after { z-index:1; box-shadow:0 0 0 2px var(--fc-card); }

/* ===== Directorio del equipo (pestaña Empleados), como el «people» de Arc. ===== */
html[data-ui="erp"] #rrhh-empleados .arc-dir-vista { margin:0 0 14px!important; }
html[data-ui="erp"] #rrhh-empleados.arc-dir-activo > .table-container { display:none!important; }
html[data-ui="erp"] #rrhh-empleados:not(.arc-dir-activo) .arc-dir { display:none; }
html[data-ui="erp"] .arc-dir { border:1px solid var(--fc-border); border-radius:26px; background:var(--fc-card); overflow:hidden; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; }
html[data-ui="erp"] .arc-dir-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; padding:18px 22px 14px; border-bottom:1px solid var(--fc-border); }
html[data-ui="erp"] .arc-dir-top h2 { margin:0; font-family:var(--arc-display); font-size:20px; font-weight:500; letter-spacing:-.03em; }
html[data-ui="erp"] .arc-dir-top h2 span { font-family:var(--fc-font); font-size:14px; font-weight:400; color:var(--fc-muted); margin-left:4px; }
html[data-ui="erp"] .arc-dir-grupos.arc-segmentado { margin:0!important; }
html[data-ui="erp"] .arc-dir-grupos .filter-btn span { opacity:.55; margin-left:4px; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-dir-cuerpo { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr); min-height:420px; }
html[data-ui="erp"] .arc-dir-lista { list-style:none; margin:0; padding:10px; border-right:1px solid var(--fc-border); display:grid; align-content:start; gap:2px; max-height:560px; overflow-y:auto; }
html[data-ui="erp"] .arc-dir-lista li { animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; animation-delay:calc(var(--i) * 35ms); }
html[data-ui="erp"] .arc-dir-persona { position:relative; width:100%; display:flex; align-items:center; gap:12px; padding:10px 12px; border:0; border-radius:16px; background:transparent; text-align:left; cursor:pointer; font:inherit; color:inherit; transition:background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .arc-dir-persona:hover { background:var(--fc-row-hover); }
html[data-ui="erp"] .arc-dir-persona.activa { background:var(--fc-selected); }
html[data-ui="erp"] .arc-dir-persona span { display:grid; min-width:0; }
html[data-ui="erp"] .arc-dir-persona b { font-weight:500; font-size:14.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html[data-ui="erp"] .arc-dir-persona small { font-size:13px; color:var(--fc-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html[data-ui="erp"] .arc-dir-av { flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--arc-gradient); color:var(--arc-gradient-fg); font-size:14px; font-weight:600; }
html[data-ui="erp"] .arc-dir-punto { position:absolute; left:44px; top:42px; width:10px; height:10px; border-radius:50%; border:2px solid var(--fc-card); background:var(--c,oklch(72% 0 0)); }
html[data-ui="erp"] .arc-dir-persona.activa .arc-dir-punto { border-color:var(--fc-selected); }
html[data-ui="erp"] :is(.arc-dir-punto,.arc-dir-estado)[data-est="trabajando"] { --c:oklch(62% .16 150); }
html[data-ui="erp"] :is(.arc-dir-punto,.arc-dir-estado)[data-est="pausa"] { --c:oklch(72% .15 75); }
html[data-ui="erp"] :is(.arc-dir-punto,.arc-dir-estado)[data-est="terminada"] { --c:oklch(60% .1 245); }
html[data-ui="erp"] :is(.arc-dir-punto,.arc-dir-estado)[data-est="sin_fichar"] { --c:oklch(72% 0 0); }
html[data-ui="erp"] :is(.arc-dir-punto,.arc-dir-estado)[data-est="ausente"] { --c:oklch(64% .11 295); }
html[data-ui="erp"] .arc-dir-detalle { padding:28px 32px; min-width:0; }
html[data-ui="erp"] .arc-dir-ficha { animation:arc-dir-cambio 380ms var(--arc-ease-enter) both; }
@keyframes arc-dir-cambio { from { opacity:0; transform:translateY(6px); filter:blur(4px); } }
html[data-ui="erp"] .arc-dir-cab { display:flex; align-items:center; gap:18px; margin-bottom:18px; }
html[data-ui="erp"] .arc-dir-foto { flex:none; display:grid; place-items:center; width:84px; height:84px; border-radius:50%; background:var(--arc-gradient); color:var(--arc-gradient-fg); font-family:var(--arc-display); font-size:28px; font-weight:500; box-shadow:0 0 0 4px var(--fc-card),0 0 0 5px var(--fc-border); }
html[data-ui="erp"] .arc-dir-cab h3 { margin:0; font-family:var(--arc-display); font-size:26px; font-weight:500; letter-spacing:-.035em; }
html[data-ui="erp"] .arc-dir-cab p { margin:2px 0 0; font-size:15px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-dir-nota { margin:0 0 18px; font-size:15px; line-height:1.55; color:var(--fc-ink); max-width:60ch; }
html[data-ui="erp"] .arc-dir-ficha dl { margin:0 0 20px; border-top:1px solid var(--fc-border); }
html[data-ui="erp"] .arc-dir-ficha dl > div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:16px; align-items:center; padding:13px 0; border-bottom:1px solid var(--fc-border); font-size:14px; }
html[data-ui="erp"] .arc-dir-ficha dt { color:var(--fc-muted); }
html[data-ui="erp"] .arc-dir-ficha dd { margin:0; min-width:0; }
html[data-ui="erp"] .arc-dir-ficha dd small { color:var(--fc-muted); margin-left:6px; }
html[data-ui="erp"] .arc-dir-estado { display:inline-flex; align-items:center; gap:8px; }
html[data-ui="erp"] .arc-dir-estado i { width:8px; height:8px; border-radius:50%; background:var(--c); }
html[data-ui="erp"] .arc-dir-estado[data-est="trabajando"] i { animation:arc-latido-estado 2s cubic-bezier(.4,0,.6,1) infinite; --estado:var(--c); }
html[data-ui="erp"] .arc-dir-vac { display:flex; align-items:center; gap:10px; }
html[data-ui="erp"] .arc-dir-vac .arc-uso.mini { flex:0 1 160px; }
html[data-ui="erp"] .arc-dir-copiar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
html[data-ui="erp"] .arc-dir-copiar > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] .arc-dir-copia { flex:none; padding:6px 14px!important; min-height:0!important; font-size:13px!important; }
html[data-ui="erp"] .arc-dir-vacio { padding:24px; color:var(--fc-muted); text-align:center; }
@media (max-width:800px) { html[data-ui="erp"] .arc-dir-cuerpo { grid-template-columns:1fr; } html[data-ui="erp"] .arc-dir-lista { border-right:0; border-bottom:1px solid var(--fc-border); max-height:280px; } html[data-ui="erp"] .arc-dir-detalle { padding:20px; } html[data-ui="erp"] .arc-dir-ficha dl > div { grid-template-columns:110px minmax(0,1fr); } }

/* Etiqueta «Nuevo» para lo que se estrene (se pone con data-nuevo en el apartado). */
html[data-ui="erp"] .nav-item[data-nuevo]::after { content:"Nuevo"; margin-left:auto; padding:1px 8px; border-radius:999px; background:var(--glass-mint); color:var(--fc-success); font-size:11px; font-weight:500; }

/* ===== Estados vacíos («Sin ausencias registradas.», «No hay facturas…»): dejan de ser una
   frase suelta y pasan a ser el empty-state de Arc, con icono en baldosa y caja suave. ===== */
html[data-ui="erp"] :is(.seg-vacio,.table-empty,.rhh-nada,.rh-task-empty,.gm-empty,.ts-empty):not(.hidden) { display:flex!important; flex-direction:column; align-items:center; justify-content:center; gap:12px; margin:12px 0!important; padding:30px 24px!important; border-radius:20px; background:var(--arc-tray)!important; border:1px dashed oklch(86% 0 0); color:var(--fc-muted)!important; font-size:14px!important; line-height:1.5; text-align:center!important; text-wrap:balance; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; }
html[data-ui="erp"] :is(.seg-vacio,.table-empty,.rhh-nada,.rh-task-empty,.gm-empty,.ts-empty):not(.hidden)::before { content:""; flex:none; width:44px; height:44px; border-radius:14px; background:var(--fc-card) var(--arc-icono-vacio) center / 20px no-repeat; box-shadow:inset 0 0 0 1px var(--fc-border),0 1px 2px oklch(0% 0 0 / .04); }
html[data-ui="erp"] { --arc-icono-vacio:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E"); }
/* Dentro de la tarjeta lateral de «Pendiente de ti», más compacto. */
html[data-ui="erp"] .rhh-lateral .rhh-nada { padding:18px 14px!important; flex-direction:row; text-align:left!important; justify-content:flex-start; }
html[data-ui="erp"] .rhh-lateral .rhh-nada::before { width:32px; height:32px; border-radius:10px; background-size:16px; }
/* Las tablas con su aviso vacío no dejan la cabecera colgando encima. */
html[data-ui="erp"] .table-container:has(> .table-empty:not(.hidden)) > table { display:none; }
html[data-ui="erp"] .table-container:has(> .table-empty:not(.hidden)) { border:0!important; background:transparent!important; }

/* Ficha del empleado: su foto (o sus iniciales) en la cabecera. */
html[data-ui="erp"] #modal-ficha-empleado .modal-header > div:first-child { display:flex; align-items:center; gap:16px; }
html[data-ui="erp"] .arc-fe-foto { flex:none; display:grid; place-items:center; width:60px; height:60px; border-radius:50%; background:var(--arc-gradient); color:var(--arc-gradient-fg); font-family:var(--arc-display); font-size:20px; font-weight:500; box-shadow:0 0 0 3px var(--fc-card),0 0 0 4px var(--fc-border); overflow:hidden; animation:arc-ficha 480ms var(--arc-spring) both; }
html[data-ui="erp"] .arc-fe-foto img { width:100%; height:100%; object-fit:cover; }
html[data-ui="erp"] #modal-ficha-empleado #fe-titulo { font-family:var(--arc-display); font-weight:500; letter-spacing:-.03em; }

/* ===== RRHH · Hoy: la lista del día sobre bandeja, cada persona en su tarjeta. ===== */
html[data-ui="erp"] .rhh-equipo { padding:12px; border-radius:28px; background:var(--arc-tray); align-self:start; }
html[data-ui="erp"] .rhh-grupo + .rhh-grupo { margin-top:16px!important; }
html[data-ui="erp"] .rhh-grupo h2 { margin:4px 8px 10px!important; display:flex; align-items:center; gap:8px; }
html[data-ui="erp"] .rhh-grupo h2 span { display:inline-grid; place-items:center; min-width:22px; height:20px; padding:0 7px; border-radius:999px; background:var(--fc-card); box-shadow:inset 0 0 0 1px var(--fc-border); font-size:11.5px; font-weight:500; color:var(--fc-ink); font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .rhh-equipo ul { gap:8px!important; }
html[data-ui="erp"] .rhh-equipo li { animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; }
html[data-ui="erp"] .rhh-equipo li:nth-child(2) { animation-delay:40ms; } html[data-ui="erp"] .rhh-equipo li:nth-child(3) { animation-delay:80ms; }
html[data-ui="erp"] .rhh-equipo li:nth-child(4) { animation-delay:120ms; } html[data-ui="erp"] .rhh-equipo li:nth-child(5) { animation-delay:160ms; }
html[data-ui="erp"] .rhh-equipo li:nth-child(n+6) { animation-delay:200ms; }
html[data-ui="erp"] .rhh-persona { min-height:64px!important; padding:10px 16px 10px 12px!important; border-radius:20px!important; background:var(--fc-card)!important; border:1px solid var(--fc-border)!important; transition:border-color var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-ease),box-shadow var(--arc-standard) var(--arc-ease)!important; }
html[data-ui="erp"] .rhh-persona:hover { background:var(--fc-card)!important; border-color:oklch(86% 0 0)!important; transform:translateY(-1px); box-shadow:0 10px 22px -16px oklch(0% 0 0 / .22); }
html[data-ui="erp"] .rhh-persona:hover .rhh-lado b { background:var(--fc-secondary); color:var(--fc-ink); }
html[data-ui="erp"] .rhh-persona .rhh-avatar { width:42px!important; height:42px!important; }
html[data-ui="erp"] .rhh-lateral { position:relative; }
html[data-ui="erp"] .rhh-cuerpo:has(.rhh-lateral) .rhh-lateral { box-shadow:0 0 0 12px var(--arc-tray)!important; margin:12px; }
@media (max-width:800px) { html[data-ui="erp"] .rhh-cuerpo:has(.rhh-lateral) .rhh-lateral { margin:0; box-shadow:none!important; } }

/* ===== Mandar tarea: elegir a quién, con la cara de cada uno y más espacio. ===== */
html[data-ui="erp"] #modal-tarea .tar-check-grid { max-height:min(420px,48vh)!important; gap:8px!important; padding:8px; border-radius:20px; background:var(--arc-tray); }
html[data-ui="erp"] #modal-tarea .tar-check-grid .tar-check { position:relative; align-items:center!important; gap:12px!important; padding:12px 44px 12px 12px!important; border-radius:16px!important; border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; transition:border-color var(--arc-fast) var(--arc-ease),box-shadow var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-ease)!important; }
html[data-ui="erp"] #modal-tarea .tar-check-grid .tar-check:hover { border-color:oklch(84% 0 0)!important; transform:translateY(-1px); }
html[data-ui="erp"] #modal-tarea .tar-check-grid .tar-check:has(input:checked) { border-color:var(--fc-ink)!important; box-shadow:0 0 0 1px var(--fc-ink)!important; background:var(--fc-card)!important; }
html[data-ui="erp"] #modal-tarea .tar-check > input { position:absolute; top:50%; right:14px; transform:translateY(-50%); margin:0!important; }
html[data-ui="erp"] #modal-tarea .tar-av { flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; overflow:hidden; background:var(--arc-gradient); color:var(--arc-gradient-fg); font-size:14px; font-weight:600; }
html[data-ui="erp"] #modal-tarea .tar-av img { width:100%; height:100%; object-fit:cover; }
html[data-ui="erp"] #modal-tarea .tar-check:has(input:checked) .tar-av { box-shadow:0 0 0 2px var(--fc-card),0 0 0 3.5px var(--fc-ink); }
html[data-ui="erp"] #modal-tarea .tar-check b { font-size:14px!important; font-weight:500!important; }
html[data-ui="erp"] #modal-tarea .tar-check small { font-size:12.5px!important; color:var(--fc-muted)!important; }

/* ===== Contabilidad · resto de apartados (plan de cuentas, nóminas, activos, cobros y pagos,
   conciliación, deudas, terceros, SII, contabilizador, asesoría, informes y cierre).
   Mismo lenguaje que los ya hechos: cifras sobre bandeja gris con la protagonista en negro,
   estados como píldoras con punto, nada de palabras sueltas partidas en dos líneas. ===== */

/* Ninguna referencia, fecha, importe, estado o botón se parte en dos líneas. */
html[data-ui="erp"] #view-contabilidad :is(td.ui-cell-ref,td.ui-cell-money,td.num,th) { white-space:nowrap; }
html[data-ui="erp"] #view-contabilidad td:has(> :is(.action-btns,.badge,.per-chip)) { white-space:nowrap; width:1%; }
html[data-ui="erp"] #view-contabilidad .action-btns { flex-wrap:nowrap!important; }
html[data-ui="erp"] #view-contabilidad .contab-panel :is(.btn,.btn-ctz-verde,.ra-primary,.filter-btn) { white-space:nowrap; }

/* Cobros y pagos: la tabla es ancha; celdas más ceñidas para que el cliente quepa en una línea. */
html[data-ui="erp"] #contab-panel-tesoreria .data-table :is(th,td) { padding-left:10px!important; padding-right:10px!important; }
html[data-ui="erp"] #contab-panel-tesoreria .data-table tbody td:nth-child(4) { min-width:200px; line-height:1.35; }
html[data-ui="erp"] #contab-panel-tesoreria .action-btns { gap:4px!important; }

/* Estados: píldora con punto del color del estado. */
html[data-ui="erp"] #view-contabilidad .badge { display:inline-flex!important; align-items:center; gap:6px; padding:3px 10px 3px 8px!important; border-radius:999px!important; font-size:12px!important; font-weight:500!important; line-height:18px; letter-spacing:0; text-transform:none!important; border:1px solid color-mix(in oklab,currentColor 16%,transparent)!important; background:color-mix(in oklab,currentColor 7%,var(--fc-card))!important; }
html[data-ui="erp"] #view-contabilidad .badge::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex:none; }

/* Cifras de cabecera: bandeja gris y la primera, la que importa, en negro. */
html[data-ui="erp"] #view-contabilidad :is(.fin-kpis,#terceros-contab-resumen,.ctz-kpis) { display:grid!important; grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important; gap:10px!important; padding:10px; margin-bottom:18px!important; border-radius:26px; background:var(--arc-tray); border:1px solid var(--fc-border); }
html[data-ui="erp"] #view-contabilidad :is(.fin-kpi,#terceros-contab-resumen > .dash-card,.ctz-kpi) { display:flex!important; flex-direction:column; justify-content:space-between; gap:14px; min-height:104px; margin:0!important; padding:16px 18px!important; border-radius:20px!important; box-shadow:0 1px 2px oklch(0% 0 0 / .04)!important; transition:transform var(--arc-standard) var(--arc-spring),box-shadow var(--arc-standard) var(--arc-ease)!important; }
html[data-ui="erp"] #view-contabilidad :is(.fin-kpi,#terceros-contab-resumen > .dash-card,.ctz-kpi):hover { transform:translateY(-2px); box-shadow:0 14px 28px -18px oklch(0% 0 0 / .3)!important; }
html[data-ui="erp"] #view-contabilidad :is(.fin-kpi-lbl,.ctz-kpi-lbl,#terceros-contab-resumen h4) { order:-1; margin:0!important; color:var(--fc-muted)!important; font-size:12.5px!important; font-weight:450!important; letter-spacing:0!important; line-height:1.35; }
/* «TOTAL NOS DEBEN» se lee como una frase: «Total nos deben». */
html[data-ui="erp"] #terceros-contab-resumen h4 { text-transform:lowercase; }
html[data-ui="erp"] #terceros-contab-resumen h4::first-letter { text-transform:uppercase; }
html[data-ui="erp"] #view-contabilidad :is(.fin-kpi-val,.ctz-kpi-val,#terceros-contab-resumen .dash-card > div) { font-family:var(--arc-display); font-size:28px!important; font-weight:400!important; letter-spacing:-.045em; line-height:1; white-space:nowrap; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] #view-contabilidad :is(.fin-kpis > .fin-kpi:first-child,#terceros-contab-resumen > .dash-card:first-child) { background:var(--fc-primary)!important; border-color:var(--fc-primary)!important; color:var(--fc-on-primary)!important; box-shadow:0 18px 36px -24px oklch(0% 0 0 / .6)!important; }
html[data-ui="erp"] #view-contabilidad :is(.fin-kpis > .fin-kpi:first-child,#terceros-contab-resumen > .dash-card:first-child) :is(.fin-kpi-lbl,h4) { color:oklch(100% 0 0 / .6)!important; }
html[data-ui="erp"] #view-contabilidad :is(.fin-kpis > .fin-kpi:first-child .fin-kpi-val,#terceros-contab-resumen > .dash-card:first-child > div) { color:var(--fc-on-primary)!important; }
html[data-ui="erp"] #view-contabilidad .fin-kpi-rojo .fin-kpi-val { color:var(--fc-error)!important; }
html[data-ui="erp"] #tc-total-debemos { color:var(--fc-error)!important; }
html[data-ui="erp"] .ctz-kpi-fila { display:flex; align-items:center; gap:12px; }
html[data-ui="erp"] #view-contabilidad .ctz-kpi-ico { width:34px!important; height:34px!important; border-radius:11px!important; display:grid!important; place-items:center; flex:none; }

/* Buscadores de los apartados (el de terceros venía con estilo en línea). */
html[data-ui="erp"] #tc-search { min-height:38px; border-radius:12px!important; border:1px solid var(--fc-input)!important; background:var(--fc-card)!important; padding:8px 14px!important; }

/* Plan de cuentas: el grupo manda, el subgrupo acompaña y la cuenta cuelga del árbol. */
html[data-ui="erp"] #contab-panel-plan-cuentas tbody tr.cuenta-nivel-1 > td { background:var(--arc-tray)!important; font-weight:600; }
html[data-ui="erp"] #contab-panel-plan-cuentas tbody tr.cuenta-nivel-1 > td:first-child { border-radius:14px 0 0 14px; }
html[data-ui="erp"] #contab-panel-plan-cuentas tbody tr.cuenta-nivel-1 > td:last-child { border-radius:0 14px 14px 0; }
html[data-ui="erp"] #contab-panel-plan-cuentas tbody tr.cuenta-nivel-2 > td { font-weight:500; }
html[data-ui="erp"] #contab-panel-plan-cuentas td.cuenta-nivel-1 { font-family:var(--arc-display); letter-spacing:-.015em; }
html[data-ui="erp"] #contab-panel-plan-cuentas td.cuenta-nivel-2 { padding-left:22px!important; }
html[data-ui="erp"] #contab-panel-plan-cuentas td.cuenta-nivel-3 { padding-left:44px!important; position:relative; color:var(--fc-ink); font-weight:400!important; }
html[data-ui="erp"] #contab-panel-plan-cuentas td.cuenta-nivel-3::before { content:""; position:absolute; left:26px; top:50%; width:10px; height:10px; margin-top:-10px; border-left:1.5px solid var(--fc-input); border-bottom:1.5px solid var(--fc-input); border-bottom-left-radius:6px; }
html[data-ui="erp"] #contab-panel-plan-cuentas td.ui-cell-ref strong { font-family:var(--arc-display); font-weight:500; font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
html[data-ui="erp"] #contab-panel-plan-cuentas tbody td:nth-child(3) { white-space:nowrap; color:var(--fc-muted); }
html[data-ui="erp"] #contab-panel-plan-cuentas tbody td > span.capitalize { display:inline-flex; padding:2px 9px; border-radius:999px; background:var(--fc-secondary); border:1px solid var(--fc-border); font-size:12px; color:var(--fc-ink); white-space:nowrap; }

html[data-ui="erp"] { --arc-icono-subir:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23262626' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m17 8-5-5-5 5'/%3E%3Cpath d='M12 3v12'/%3E%3C/svg%3E"); }
/* Nóminas: la subida es una zona de arrastre, no un botón con una frase al lado. */
html[data-ui="erp"] #nom-subida { display:flex!important; align-items:center; gap:16px; flex-wrap:wrap; padding:22px!important; margin:4px 0 22px!important; border-radius:22px; border:1.5px dashed var(--fc-input); background:var(--arc-tray); transition:border-color var(--arc-fast) var(--arc-ease),background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] #nom-subida:hover { border-color:oklch(70% 0 0); background:var(--fc-secondary); }
html[data-ui="erp"] #nom-subida::before { content:""; order:-2; width:44px; height:44px; flex:none; border-radius:14px; background:var(--fc-card) var(--arc-icono-subir) center / 20px no-repeat; border:1px solid var(--fc-border); box-shadow:0 1px 2px oklch(0% 0 0 / .05); }
html[data-ui="erp"] #nom-subida .nom-ayuda { order:-1; flex:1 1 260px; color:var(--fc-muted); font-size:13.5px; line-height:1.45; }
html[data-ui="erp"] #nom-subida .btn { margin-left:auto; }
html[data-ui="erp"] #contab-panel-nominas .nom-historico h3 { margin:0 0 12px; font-family:var(--arc-display); font-size:16px; font-weight:500; letter-spacing:-.02em; }

/* Conciliación: tarjeta de importación con su icono en tesela negra y la zona de arrastre blanca. */
html[data-ui="erp"] #contab-panel-conciliacion .conc-import-card { padding:20px!important; border-radius:24px!important; background:var(--arc-tray)!important; border:1px solid var(--fc-border)!important; box-shadow:none!important; }
html[data-ui="erp"] #contab-panel-conciliacion .conc-imp-cab { gap:14px!important; align-items:flex-start; }
html[data-ui="erp"] #contab-panel-conciliacion .conc-imp-cab h3 { margin:0 0 4px!important; font-family:var(--arc-display); font-size:16px; font-weight:500; letter-spacing:-.02em; }
html[data-ui="erp"] #contab-panel-conciliacion .conc-imp-cab .view-subtitle { max-width:70ch; color:var(--fc-muted)!important; font-size:13px!important; line-height:1.5; }
html[data-ui="erp"] :is(.conc-imp-ico,.ctz-hero-ico) { width:44px!important; height:44px!important; border-radius:14px!important; background:var(--fc-primary)!important; color:var(--fc-on-primary)!important; display:grid!important; place-items:center; flex:none; }
html[data-ui="erp"] #contab-panel-conciliacion .conc-drop { margin-top:14px; border-radius:18px!important; border:1.5px dashed var(--fc-input)!important; background:var(--fc-card)!important; transition:border-color var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-spring)!important; }
html[data-ui="erp"] #contab-panel-conciliacion .conc-drop:hover { border-color:oklch(65% 0 0)!important; transform:translateY(-1px); }

/* SII y contabilizador: cabecera en negro, como la tarjeta del IVA. */
html[data-ui="erp"] #view-contabilidad .ctz-hero { padding:20px 22px!important; border-radius:24px!important; background:var(--fc-primary)!important; border:1px solid var(--fc-primary)!important; color:var(--fc-on-primary)!important; box-shadow:0 18px 36px -24px oklch(0% 0 0 / .6)!important; gap:16px; flex-wrap:wrap; }
html[data-ui="erp"] #view-contabilidad .ctz-hero-ico { background:oklch(100% 0 0 / .1)!important; border:1px solid oklch(100% 0 0 / .14); }
html[data-ui="erp"] #view-contabilidad .ctz-hero-tit { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:var(--fc-on-primary)!important; font-family:var(--arc-display); font-size:20px!important; font-weight:500!important; letter-spacing:-.03em; }
html[data-ui="erp"] #view-contabilidad :is(.ctz-hero-sub,.ctz-hero p) { color:oklch(100% 0 0 / .62)!important; font-size:13px!important; line-height:1.5; max-width:72ch; }
html[data-ui="erp"] #view-contabilidad .ctz-buzon-badge { display:inline-flex; align-items:center; gap:6px; padding:3px 10px!important; border-radius:999px!important; font-family:var(--fc-font); font-size:12px!important; font-weight:500!important; letter-spacing:0; background:oklch(100% 0 0 / .1)!important; color:oklch(88% .12 75)!important; border:1px solid oklch(100% 0 0 / .14)!important; }
html[data-ui="erp"] #view-contabilidad .ctz-buzon-badge.ctz-buzon-si { color:oklch(84% .14 150)!important; }
html[data-ui="erp"] #view-contabilidad .ctz-hero-acciones { display:flex; flex-wrap:wrap; gap:8px; }
html[data-ui="erp"] #view-contabilidad .ctz-hero-acciones :is(.btn,button) { display:inline-flex!important; align-items:center; gap:8px; white-space:nowrap!important; min-height:38px; padding:8px 14px!important; border-radius:12px!important; background:oklch(100% 0 0 / .08)!important; color:var(--fc-on-primary)!important; border:1px solid oklch(100% 0 0 / .16)!important; box-shadow:none!important; transition:background-color var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-spring)!important; }
html[data-ui="erp"] #view-contabilidad .ctz-hero-acciones :is(.btn,button):hover { background:oklch(100% 0 0 / .16)!important; }
html[data-ui="erp"] #view-contabilidad .ctz-hero-acciones :is(.btn,button):active { transform:scale(.97); }
html[data-ui="erp"] #view-contabilidad .ctz-hero-acciones :is(.btn-ctz-verde,.btn-primary) { background:var(--fc-on-primary)!important; color:var(--fc-primary)!important; border-color:var(--fc-on-primary)!important; }
html[data-ui="erp"] #view-contabilidad .ctz-hero-acciones :is(.btn-ctz-verde,.btn-primary):hover { background:oklch(92% 0 0)!important; }
html[data-ui="erp"] #view-contabilidad .ctz-hero-acciones svg { flex:none; }
/* Paginación «Anterior · 0 registros · Siguiente» como un único control. */
html[data-ui="erp"] #view-contabilidad .ctz-toolbar:has(> [id$="-pagina"]) { display:inline-flex!important; align-items:center; gap:4px!important; padding:4px; margin-top:14px; border-radius:14px; background:var(--arc-tray); border:1px solid var(--fc-border); }
html[data-ui="erp"] #view-contabilidad .ctz-toolbar:has(> [id$="-pagina"]) .btn { min-height:32px; padding:4px 12px!important; border:0!important; background:transparent!important; box-shadow:none!important; border-radius:10px!important; }
html[data-ui="erp"] #view-contabilidad .ctz-toolbar:has(> [id$="-pagina"]) .btn:not(:disabled):hover { background:var(--fc-card)!important; }
html[data-ui="erp"] #view-contabilidad .ctz-toolbar > [id$="-pagina"] { padding:5px 12px; border-radius:10px; background:var(--fc-card); box-shadow:0 1px 2px oklch(0% 0 0 / .06); font-size:12.5px; font-variant-numeric:tabular-nums; white-space:nowrap; }
/* Notas de recuento («0 registros por contrastar…»): banda discreta, no texto suelto. */
html[data-ui="erp"] #view-contabilidad :is(#sii-contraste-info,.ctz-pie,.ctz-recuento,:not(td).contab-list-message) { display:flex; align-items:center; gap:8px; width:fit-content; max-width:100%; margin:10px 0!important; padding:7px 12px; border-radius:12px; background:var(--arc-tray); border:1px solid var(--fc-border); color:var(--fc-muted)!important; font-size:12.5px!important; }
html[data-ui="erp"] #view-contabilidad :is(#sii-contraste-info,.ctz-pie,.ctz-recuento,:not(td).contab-list-message)::before { content:""; width:6px; height:6px; border-radius:50%; background:oklch(70% 0 0); flex:none; }
html[data-ui="erp"] #view-contabilidad :is(#sii-contraste-info,.ctz-pie,.ctz-recuento,:not(td).contab-list-message):empty { display:none; }
/* Columna lateral del contabilizador. */
html[data-ui="erp"] #view-contabilidad .ctz-card-lat { padding:18px!important; border-radius:22px!important; background:var(--arc-tray)!important; border:1px solid var(--fc-border)!important; box-shadow:none!important; }
html[data-ui="erp"] #view-contabilidad .ctz-card-lat-tit { display:flex; align-items:center; gap:10px; font-family:var(--arc-display); font-size:15px; font-weight:500; letter-spacing:-.02em; }
html[data-ui="erp"] #view-contabilidad .ctz-pasos { counter-reset:paso; list-style:none!important; padding:0!important; margin:14px 0 0!important; display:grid; gap:10px; }
html[data-ui="erp"] #view-contabilidad .ctz-pasos li { counter-increment:paso; position:relative; display:block; min-height:22px; padding-left:32px; font-size:13px; line-height:1.45; color:var(--fc-muted); }
html[data-ui="erp"] #view-contabilidad .ctz-pasos li::before { content:counter(paso); position:absolute; left:0; top:-1px; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:var(--fc-card); border:1px solid var(--fc-border); color:var(--fc-ink); font-size:11.5px; font-weight:600; }
html[data-ui="erp"] #view-contabilidad .ctz-pasos li b { color:var(--fc-ink); font-weight:550; }

/* Asesoría: paquetes como chips, grupos sobre bandeja y cada documento como fila marcable. */
html[data-ui="erp"] #contab-panel-asesoria .ase-packs { display:flex!important; flex-wrap:wrap; gap:6px!important; padding:6px; border-radius:16px; background:var(--arc-tray); border:1px solid var(--fc-border); width:fit-content; max-width:100%; }
html[data-ui="erp"] #contab-panel-asesoria .ase-packs .btn { border-radius:11px!important; min-height:32px; padding:5px 12px!important; background:var(--fc-card)!important; border:1px solid var(--fc-border)!important; box-shadow:0 1px 2px oklch(0% 0 0 / .04)!important; transition:transform var(--arc-standard) var(--arc-spring),background-color var(--arc-fast) var(--arc-ease)!important; }
html[data-ui="erp"] #contab-panel-asesoria .ase-packs .btn:hover { transform:translateY(-1px); }
html[data-ui="erp"] #contab-panel-asesoria .ase-packs .btn:active { transform:scale(.96); background:var(--fc-primary)!important; color:var(--fc-on-primary)!important; }
html[data-ui="erp"] #contab-panel-asesoria .ase-grupos { display:grid!important; grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important; gap:12px!important; align-items:start; }
html[data-ui="erp"] #contab-panel-asesoria .ase-grupo { padding:12px!important; border-radius:22px!important; background:var(--arc-tray)!important; border:1px solid var(--fc-border)!important; box-shadow:none!important; }
html[data-ui="erp"] #contab-panel-asesoria .ase-grupo h4 { margin:4px 6px 10px!important; font-family:var(--arc-display); font-size:14.5px!important; font-weight:500!important; letter-spacing:-.02em; color:var(--fc-ink)!important; text-transform:none!important; }
html[data-ui="erp"] #contab-panel-asesoria .ase-doc { display:flex!important; align-items:flex-start; gap:10px; margin:0 0 4px!important; padding:9px 10px!important; border-radius:12px; border:1px solid transparent; font-size:13px; line-height:1.4; cursor:pointer; transition:background-color var(--arc-fast) var(--arc-ease),border-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] #contab-panel-asesoria .ase-doc:hover { background:var(--fc-card); }
html[data-ui="erp"] #contab-panel-asesoria .ase-doc:has(input:checked) { background:var(--fc-card); border-color:var(--fc-border); box-shadow:0 1px 2px oklch(0% 0 0 / .05); font-weight:500; }
html[data-ui="erp"] #contab-panel-asesoria .ase-doc input { margin:1px 0 0!important; flex:none; }
/* La barra de descarga acompaña al bajar, flotando como la de Arc. */
html[data-ui="erp"] #contab-panel-asesoria .ase-acciones { position:sticky; bottom:14px; z-index:3; display:flex!important; align-items:center; flex-wrap:wrap; gap:8px!important; margin-top:16px!important; padding:8px!important; border-radius:18px; background:oklch(100% 0 0 / .86); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid var(--fc-border); box-shadow:0 18px 40px -22px oklch(0% 0 0 / .35); }
html[data-ui="erp"] #contab-panel-asesoria .ase-cuenta { margin-left:auto; padding:5px 12px; border-radius:999px; background:var(--arc-tray); font-size:12.5px; color:var(--fc-muted); white-space:nowrap; font-variant-numeric:tabular-nums; }
html[data-ui="erp"][data-theme="dark"] #contab-panel-asesoria .ase-acciones { background:oklch(22% 0 0 / .86); }
html[data-ui="erp"] #view-contabilidad :is(.cd-periodo) { display:flex; flex-wrap:wrap; gap:12px; padding:12px; border-radius:18px; background:var(--arc-tray); border:1px solid var(--fc-border); }
html[data-ui="erp"] #view-contabilidad .cd-periodo label { display:flex; flex-direction:column; gap:6px; flex:1 1 160px; font-size:12.5px; color:var(--fc-muted); }
html[data-ui="erp"] #view-contabilidad .asesoria-card .asi-subtit { color:var(--fc-muted); font-size:13.5px; max-width:72ch; }

/* Informes y cierre: cada tarjeta con su icono en tesela y los meses como mosaico. */
html[data-ui="erp"] #contab-panel-otros .dash-card { padding:20px!important; border-radius:24px!important; }
html[data-ui="erp"] #contab-panel-otros .dash-card > h3 { font-family:var(--arc-display); font-size:16px!important; font-weight:500!important; letter-spacing:-.02em; gap:12px!important; }
html[data-ui="erp"] #contab-panel-otros .dash-card > h3 > span:first-child { width:34px; height:34px; border-radius:11px; display:grid; place-items:center; background:var(--arc-tray); border:1px solid var(--fc-border); font-size:0!important; flex:none; }
html[data-ui="erp"] #contab-panel-otros .dash-card > p { color:var(--fc-muted)!important; line-height:1.5; max-width:72ch; }
html[data-ui="erp"] #contab-panel-otros .per-cab { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:8px 8px 8px 14px; margin-bottom:12px; border-radius:16px; background:var(--arc-tray); border:1px solid var(--fc-border); font-size:12.5px; color:var(--fc-muted); }
html[data-ui="erp"] #contab-panel-otros .per-leyenda { display:inline-flex; align-items:center; flex-wrap:wrap; gap:6px; margin-left:auto; }
html[data-ui="erp"] #contab-panel-otros .per-meses { display:grid!important; grid-template-columns:repeat(auto-fill,minmax(168px,1fr))!important; gap:10px!important; padding:10px; border-radius:24px; background:var(--arc-tray); }
html[data-ui="erp"] #contab-panel-otros .per-mes { display:flex!important; flex-direction:column; gap:10px; padding:14px!important; border-radius:18px!important; background:var(--fc-card)!important; border:1px solid var(--fc-border)!important; box-shadow:0 1px 2px oklch(0% 0 0 / .04); transition:transform var(--arc-standard) var(--arc-spring),box-shadow var(--arc-standard) var(--arc-ease); }
html[data-ui="erp"] #contab-panel-otros .per-mes:hover { transform:translateY(-2px); box-shadow:0 14px 28px -18px oklch(0% 0 0 / .3); }
html[data-ui="erp"] #contab-panel-otros .per-mes:has(.per-cerrado) { background:var(--fc-secondary)!important; }
html[data-ui="erp"] #contab-panel-otros .per-mes-tit { display:flex!important; align-items:center; justify-content:space-between; gap:8px; font-family:var(--arc-display); font-size:15px; font-weight:500; letter-spacing:-.02em; text-transform:capitalize; }
html[data-ui="erp"] #contab-panel-otros .per-mes-dato { color:var(--fc-muted); font-size:12.5px; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] #contab-panel-otros .per-mes > button { margin-top:auto; min-height:32px; padding:5px 12px; border-radius:10px; border:1px solid var(--fc-border); background:var(--fc-card); color:var(--fc-ink); font:500 12.5px var(--fc-font); cursor:pointer; white-space:nowrap; transition:background-color var(--arc-fast) var(--arc-ease),transform var(--arc-standard) var(--arc-spring); }
html[data-ui="erp"] #contab-panel-otros .per-mes > button:hover { background:var(--fc-primary); color:var(--fc-on-primary); border-color:var(--fc-primary); }
html[data-ui="erp"] #contab-panel-otros .per-mes > button:active { transform:scale(.96); }
html[data-ui="erp"] #view-contabilidad .per-chip { display:inline-flex!important; align-items:center; gap:6px; padding:2px 9px 2px 7px!important; border-radius:999px!important; font-family:var(--fc-font); font-size:11.5px!important; font-weight:500!important; letter-spacing:0; text-transform:none; white-space:nowrap; border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; color:var(--fc-ink)!important; }
html[data-ui="erp"] #view-contabilidad .per-chip::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--fc-success); }
html[data-ui="erp"] #view-contabilidad .per-chip.per-abierto::before { animation:arc-latido 2.4s ease-in-out infinite; }
html[data-ui="erp"] #view-contabilidad .per-chip.per-cerrado::before { background:oklch(60% 0 0); }

/* Activos, deudas y paginación de tablas: los mismos controles en píldora. */
html[data-ui="erp"] #view-contabilidad .contab-pagination { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:14px; }
html[data-ui="erp"] #view-contabilidad .contab-pagination :is(button,.btn) { border-radius:10px!important; min-height:32px; }
html[data-ui="erp"] #view-contabilidad .contab-pagination span { padding:5px 12px; border-radius:10px; background:var(--arc-tray); font-size:12.5px; font-variant-numeric:tabular-nums; white-space:nowrap; }

/* ===== Presupuesto: productos sugeridos al escribir el texto de una línea (presupuestos.js). ===== */
html[data-ui="erp"] #presupuesto-lineas-list .linea-card-header { position:relative; z-index:5; }
html[data-ui="erp"] #presupuesto-lineas-list .linea-card:has(.lin-sug) { z-index:6; position:relative; }
html[data-ui="erp"] .lin-sug { position:absolute; z-index:40; left:44px; right:0; top:calc(100% + 6px); display:flex; flex-direction:column; gap:2px; padding:6px; border-radius:18px; background:var(--fc-card); border:1px solid var(--fc-border); box-shadow:0 20px 44px -18px oklch(0% 0 0 / .35),0 2px 6px oklch(0% 0 0 / .05); animation:arc-entrada 180ms var(--arc-ease-enter) both; }
html[data-ui="erp"] .lin-sug-op { display:flex; align-items:center; gap:12px; width:100%; padding:8px 10px; border:0; border-radius:12px; background:transparent; color:var(--fc-ink); text-align:left; font:inherit; cursor:pointer; transition:background-color var(--arc-fast) var(--arc-ease); }
html[data-ui="erp"] .lin-sug-op:is(:hover,.activa) { background:var(--fc-secondary); }
html[data-ui="erp"] .lin-sug-ico { width:32px; height:32px; flex:none; display:grid; place-items:center; border-radius:10px; background:var(--fc-primary); color:var(--fc-on-primary); font:600 13px var(--arc-display); }
html[data-ui="erp"] .lin-sug-txt { display:flex; flex-direction:column; gap:1px; min-width:0; flex:1; }
html[data-ui="erp"] .lin-sug-txt strong { font-size:13.5px; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html[data-ui="erp"] .lin-sug-txt small { font-size:12px; color:var(--fc-muted); }
html[data-ui="erp"] .lin-sug-precio { padding:3px 9px; border-radius:999px; background:var(--arc-tray); border:1px solid var(--fc-border); font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }

/* ===== Totales de presupuestos, facturas y albaranes: bandeja gris, no verde. ===== */
html[data-ui="erp"] .factura-totales { background:var(--arc-tray)!important; border:1px solid var(--fc-border)!important; border-radius:20px!important; box-shadow:none!important; }
html[data-ui="erp"] .factura-totales .total-row { color:var(--fc-muted); }
html[data-ui="erp"] .factura-totales .total-row span:last-child { color:var(--fc-ink); font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .factura-totales .total-final { border-top-color:var(--fc-border)!important; color:var(--fc-ink)!important; }
html[data-ui="erp"] .factura-totales .total-final span:last-child { font-family:var(--arc-display); letter-spacing:-.03em; }

/* ===== Asistente del presupuesto: menos blanco. Cada sección sobre bandeja gris con los campos en
   blanco encima, y el resumen final en tarjeta negra. ===== */
html[data-ui="erp"] #modal-presupuesto .cw-section { background:var(--arc-tray)!important; border:1px solid var(--fc-border)!important; border-radius:22px!important; box-shadow:none!important; padding:18px 20px!important; }
html[data-ui="erp"] #modal-presupuesto .cw-section :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { background-color:var(--fc-card)!important; }
html[data-ui="erp"] #modal-presupuesto .cw-section-title { font-family:var(--arc-display); font-size:15px!important; font-weight:500!important; letter-spacing:-.02em!important; text-transform:none!important; color:var(--fc-ink)!important; }
html[data-ui="erp"] #modal-presupuesto #presupuesto-condiciones { min-height:96px; field-sizing:content; max-height:320px; }
/* Resumen final: en claro, como las fichas de Arc; el total como cifra grande y lo demás con separadores. */
html[data-ui="erp"] #modal-presupuesto .cw-final-resumen { margin:4px 0 18px!important; padding:18px 20px!important; background:var(--fc-card)!important; border:1px solid var(--fc-border)!important; border-radius:22px!important; box-shadow:none!important; }
html[data-ui="erp"] #modal-presupuesto .cw-final-title { margin:0 0 12px!important; font-family:var(--arc-display); font-size:15px!important; font-weight:500!important; letter-spacing:-.02em!important; text-transform:none!important; color:var(--fc-ink)!important; }
html[data-ui="erp"] #modal-presupuesto .cw-final-grid { display:grid!important; grid-template-columns:repeat(4, minmax(0,1fr))!important; gap:0!important; border-top:1px solid var(--fc-border); border-bottom:1px solid var(--fc-border); }
html[data-ui="erp"] #modal-presupuesto .cw-final-grid > div { display:flex; flex-direction:column; gap:3px; padding:12px 0; min-width:0; }
html[data-ui="erp"] #modal-presupuesto .cw-final-grid > div + div { padding-left:16px; border-left:1px solid var(--fc-border); }
html[data-ui="erp"] #modal-presupuesto .cw-final-grid span { font-size:12px!important; font-weight:400!important; letter-spacing:0!important; text-transform:none!important; color:oklch(60% 0 0)!important; }
html[data-ui="erp"] #modal-presupuesto .cw-final-grid strong { font-size:14px!important; font-weight:500!important; color:var(--fc-ink)!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html[data-ui="erp"] #modal-presupuesto .cw-final-resumen .cw-final-total { font-family:var(--arc-display); font-size:26px!important; font-weight:400!important; letter-spacing:-.05em!important; line-height:1!important; }
html[data-ui="erp"] #modal-presupuesto .alq-res-evento { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); border-bottom:1px solid var(--fc-border); }
html[data-ui="erp"] #modal-presupuesto .alq-res-evento > div { display:flex; flex-direction:column; gap:3px; padding:12px 0; min-width:0; }
html[data-ui="erp"] #modal-presupuesto .alq-res-evento > div + div { padding-left:16px; border-left:1px solid var(--fc-border); }
html[data-ui="erp"] #modal-presupuesto .alq-res-evento span { font-size:12px; color:oklch(60% 0 0); }
html[data-ui="erp"] #modal-presupuesto .alq-res-evento strong { font-size:14px; font-weight:500; color:var(--fc-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] #modal-presupuesto .alq-res-evento small { font-size:12px; color:var(--fc-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] #modal-presupuesto .alq-res-material { list-style:none; margin:12px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
html[data-ui="erp"] #modal-presupuesto .alq-res-material li { display:inline-flex; align-items:center; gap:8px; padding:5px 11px 5px 6px; border-radius:999px; background:var(--arc-tray); border:1px solid var(--fc-border); font-size:13px; color:var(--fc-ink); max-width:100%; }
html[data-ui="erp"] #modal-presupuesto .alq-res-material li.sub { background:var(--fc-card); color:var(--fc-muted); }
html[data-ui="erp"] #modal-presupuesto .alq-res-material b { display:inline-flex; align-items:baseline; gap:1px; height:24px; padding:0 7px; border-radius:7px; background:var(--fc-card); border:1px solid var(--fc-border); font-weight:600; font-size:12.5px; line-height:24px; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] #modal-presupuesto .alq-res-material li.sub b { background:var(--arc-tray); }
html[data-ui="erp"] #modal-presupuesto .alq-res-material b small { font-size:10px; font-weight:400; color:oklch(60% 0 0); }
html[data-ui="erp"] #modal-presupuesto .alq-res-material span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] #modal-presupuesto .alq-res-material em { font-style:normal; color:var(--fc-muted); margin-left:6px; }
@media (max-width:760px) {
  html[data-ui="erp"] #modal-presupuesto .cw-final-grid, html[data-ui="erp"] #modal-presupuesto .alq-res-evento { grid-template-columns:1fr 1fr!important; }
  html[data-ui="erp"] #modal-presupuesto .cw-final-grid > div:nth-child(3), html[data-ui="erp"] #modal-presupuesto .alq-res-evento > div:nth-child(3) { padding-left:0; border-left:0; border-top:1px solid var(--fc-border); }
  html[data-ui="erp"] #modal-presupuesto .cw-final-grid > div:nth-child(4) { border-top:1px solid var(--fc-border); }
  html[data-ui="erp"] #modal-presupuesto .alq-res-evento > div:nth-child(3) { grid-column:1 / -1; }
}
/* El calendario del evento ya es una bandeja: dentro de la sección gris va un tono más. */
html[data-ui="erp"] #modal-presupuesto .cw-section .alq-cal { background:oklch(95.6% 0 0)!important; }
html[data-ui="erp"][data-theme="dark"] #modal-presupuesto .cw-section .alq-cal { background:oklch(26% 0 0)!important; }

/* ===== Listas de presupuestos, facturas y albaranes: que quepan sin desplazar. Celdas con menos
   relleno, cifras y botones sin partirse, el cliente en una o dos líneas y los iconos pegados. ===== */
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) { table-layout:auto; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) :is(th,td) { padding:10px 8px!important; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) :is(th,td):first-child { padding-left:14px!important; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) :is(th,td):last-child { padding-right:10px!important; }
/* El número y la fecha van en una letra de ancho fijo que se come sitio: la misma letra que el resto. */
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) td:first-child strong { font-family:var(--fc-font)!important; letter-spacing:-.01em; font-weight:600; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) td:has(> .badge) .badge { padding-left:7px!important; padding-right:8px!important; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) th { white-space:nowrap; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) td:has(> strong:only-child), html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) td[style*="text-align:right"] { white-space:nowrap; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) td:nth-child(3) { min-width:150px; max-width:260px; line-height:1.3; }
/* El reparto automático de la tabla daba al estado y a las acciones el doble de lo que necesitan:
   las columnas que no crecen se fijan por su cabecera y el resto se lo lleva el cliente. */
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) :is(th,td):nth-last-child(2) { width:1%; white-space:nowrap; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) :is(th,td):last-child { width:1%; white-space:nowrap; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) :is(th,td):nth-child(2) { width:1%; white-space:nowrap; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) :is(th,td):first-child { width:1%; white-space:nowrap; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) td:nth-child(3) { width:auto; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) .action-btns { flex-wrap:nowrap!important; gap:2px!important; justify-content:flex-end; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) .ra-btn { width:28px!important; height:28px!important; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) .ra-primary { padding:0 10px!important; min-height:28px!important; }
/* Los borradores llevan seis acciones; para que quepan sin desplazar, los importes van más prietos
   y el apodo cede sitio. Por debajo de 1180 px el apodo se oculta y, de 1080, también el IVA (sigue en el total). */
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) td[style*="text-align:right"] { padding-left:6px!important; padding-right:6px!important; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) th:has(+ th + th + th + th) { padding-left:6px!important; padding-right:6px!important; }
html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) td:nth-child(3) { min-width:120px; max-width:200px; }
@media (max-width:1180px) { html[data-ui="erp"] #tabla-presupuestos :is(th,td):nth-child(6) { display:none; } }
@media (max-width:1320px) { html[data-ui="erp"] #tabla-presupuestos :is(th,td):nth-child(4) { display:none; } }
/* Menú «⋯» de la fila: lo que no es del día a día (correo, firma, eliminar). */
html[data-ui="erp"] .ra-mas-caja { position:relative; display:inline-flex; }
html[data-ui="erp"] .ra-mas { font-size:16px; letter-spacing:.05em; }
html[data-ui="erp"] .ra-menu { position:absolute; right:0; top:calc(100% + 6px); z-index:40; min-width:190px; display:flex; flex-direction:column; gap:2px; padding:6px; border-radius:14px; background:var(--fc-card); border:1px solid var(--fc-border); box-shadow:0 20px 40px -18px oklch(0% 0 0 / .4); animation:arc-entrada 160ms var(--arc-ease-enter) both; }
html[data-ui="erp"] .ra-menu.hidden { display:none; }
html[data-ui="erp"] .ra-menu > button { display:block; width:100%; padding:8px 10px; border:0; border-radius:9px; background:transparent; color:var(--fc-ink); font:500 13px var(--fc-font); text-align:left; cursor:pointer; white-space:nowrap; }
html[data-ui="erp"] .ra-menu > button:hover { background:var(--fc-secondary); }
html[data-ui="erp"] .ra-menu > button.peligro { color:var(--fc-error); }
/* La última fila abre el menú hacia arriba para no quedar bajo el borde de la tabla. */
html[data-ui="erp"] tr:last-child .ra-menu { top:auto; bottom:calc(100% + 6px); }
html[data-ui="erp"] .table-container:has(.ra-menu:not(.hidden)) { overflow:visible!important; }
/* El apodo, que casi siempre está vacío, no se lleva sitio de los demás. */
html[data-ui="erp"] #tabla-presupuestos td:nth-child(4) { max-width:90px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--fc-muted); }
@media (max-width:1180px) {
  html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) :is(th,td):nth-child(4) { display:none; }
  html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) :is(th,td) { padding:9px 6px!important; font-size:12.5px; }
  html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) :is(th,td):first-child { padding-left:12px!important; }
  html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) td:nth-child(3) { min-width:96px; }
  html[data-ui="erp"] :is(#tabla-presupuestos,#tabla-facturas,#tabla-albaranes) .ra-primary { padding:0 8px!important; }
}

/* ===== Accesibilidad: sin movimiento ni transparencias cuando el sistema lo pide. ===== */
@media (prefers-reduced-motion:reduce) {
  html[data-ui="erp"] .arc-rrhh-leyenda i,html[data-ui="erp"] .arc-waffle-ficha::after { animation:none!important; }
  html[data-ui="erp"] .ana-card .ana-card-head::before { animation:none!important; }
  html[data-ui="erp"] *,html[data-ui="erp"] *::before,html[data-ui="erp"] *::after { animation-duration:1ms!important; animation-iteration-count:1!important; transition-duration:1ms!important; }
  html[data-ui="erp"] :is(button,.btn,.btn-primary,.btn-secondary,[role=button]):active:not(:disabled) { transform:none; }
  html[data-ui="erp"] .loading:not(:empty) { animation:none; background:none; color:var(--fc-muted); }
}
@media (prefers-reduced-transparency:reduce) {
  html[data-ui="erp"] :is(.modal,#login-screen > div) { backdrop-filter:none; -webkit-backdrop-filter:none; }
  html[data-ui="erp"] #login-screen > div { background:var(--fc-card)!important; }
}

/* ===== Contabilidad · informes: cabecera de la subpágina y la cuenta de pérdidas y ganancias en Arc ===== */
html[data-ui="erp"] .otros-pagina-cab { display:flex; align-items:center; gap:14px; margin:0 0 18px; }
html[data-ui="erp"] .otros-pagina-cab h2 { margin:0; font-family:var(--arc-display); font-weight:400; letter-spacing:-.03em; font-size:24px; }
html[data-ui="erp"] .pyg-filtros { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
html[data-ui="erp"] .pyg-seg-grupo { display:inline-flex; gap:2px; padding:3px; border-radius:14px; background:var(--fc-secondary); border:1px solid var(--fc-border); overflow-x:auto; scrollbar-width:none; max-width:100%; }
html[data-ui="erp"] .pyg-seg-grupo::-webkit-scrollbar { display:none; }
html[data-ui="erp"] .pyg-seg { min-height:32px; padding:0 12px; border:0; border-radius:11px; background:transparent; color:var(--fc-muted); font:500 13px var(--fc-font, inherit); white-space:nowrap; cursor:pointer; transition:background-color 160ms ease, color 160ms ease; }
html[data-ui="erp"] .pyg-seg:hover { color:var(--fc-ink); }
html[data-ui="erp"] .pyg-seg.activa { background:var(--fc-card); color:var(--fc-ink); box-shadow:0 1px 2px oklch(0% 0 0 / .1), 0 0 0 1px var(--fc-border); }
html[data-ui="erp"] .pyg-resultado-arc { display:grid; grid-template-columns:1fr auto; gap:6px 18px; align-items:start; padding:22px 24px; border-radius:26px; border:1px solid var(--fc-border); background:var(--fc-card); margin:0 0 14px; }
html[data-ui="erp"] .pyg-res-etq { display:block; font-size:12.5px; color:var(--fc-muted); margin-bottom:6px; }
html[data-ui="erp"] .pyg-res-cifra { display:block; font-family:var(--arc-display); font-size:clamp(32px, 4vw, 44px); letter-spacing:-.045em; line-height:1; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .pyg-resultado-arc.negativo .pyg-res-cifra { color:var(--fc-error); }
html[data-ui="erp"] .pyg-res-badge { align-self:start; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:500; border:1px solid var(--fc-border); background:var(--fc-secondary); color:var(--fc-ink); }
html[data-ui="erp"] .pyg-resultado-arc.positivo .pyg-res-badge { background:oklch(95% .05 150); border-color:oklch(85% .08 150); color:oklch(35% .12 150); }
html[data-ui="erp"] .pyg-resultado-arc.negativo .pyg-res-badge { background:oklch(95% .04 25); border-color:oklch(86% .07 25); color:oklch(40% .15 25); }
html[data-ui="erp"] .pyg-res-kpis { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:0; margin:14px 0 0; padding-top:14px; border-top:1px solid var(--fc-border); }
html[data-ui="erp"] .pyg-res-kpis div { padding:0 16px; border-left:1px solid var(--fc-border); }
html[data-ui="erp"] .pyg-res-kpis div:first-child { padding-left:0; border-left:0; }
html[data-ui="erp"] .pyg-res-kpis dt { font-size:12px; color:var(--fc-muted); margin-bottom:3px; }
html[data-ui="erp"] .pyg-res-kpis dd { margin:0; font-family:var(--arc-display); font-size:20px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .pyg-bloques { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
html[data-ui="erp"] .pyg-bloque { border-radius:26px; border:1px solid var(--fc-border); background:var(--fc-card); padding:18px 20px; min-width:0; }
html[data-ui="erp"] .pyg-bloque header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-bottom:12px; border-bottom:1px solid var(--fc-border); }
html[data-ui="erp"] .pyg-bloque h4 { margin:0; font-size:15px; font-weight:600; letter-spacing:-.01em; display:flex; align-items:center; gap:8px; }
html[data-ui="erp"] .pyg-bloque h4 small { font-weight:500; font-size:11.5px; color:var(--fc-muted); padding:2px 7px; border-radius:999px; background:var(--fc-secondary); border:1px solid var(--fc-border); }
html[data-ui="erp"] .pyg-bloque-total { font-family:var(--arc-display); font-size:20px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; white-space:nowrap; }
html[data-ui="erp"] .pyg-bloque.gastos .pyg-bloque-total { color:var(--fc-error); }
html[data-ui="erp"] .pyg-cuentas { list-style:none; margin:0; padding:0; }
html[data-ui="erp"] .pyg-cuenta { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid var(--fc-border); font-size:13.5px; }
html[data-ui="erp"] .pyg-cuenta:last-child { border-bottom:0; }
html[data-ui="erp"] .pyg-cuenta code { font-size:12px; color:var(--fc-muted); background:var(--fc-secondary); border:1px solid var(--fc-border); padding:2px 6px; border-radius:7px; }
html[data-ui="erp"] .pyg-cuenta-nombre { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] .pyg-cuenta-importe { font-variant-numeric:tabular-nums; font-weight:500; white-space:nowrap; }
html[data-ui="erp"] .pyg-vacio { margin:12px 0 0; color:var(--fc-muted); font-size:13px; }
@media (max-width:760px) {
  html[data-ui="erp"] .pyg-bloques { grid-template-columns:1fr; }
  html[data-ui="erp"] .pyg-resultado-arc { padding:18px; }
  html[data-ui="erp"] .pyg-res-kpis div { padding:0 10px; }
  html[data-ui="erp"] .pyg-res-kpis dd { font-size:15px; white-space:nowrap; }
}

/* ===== Logotipo de la empresa en la barra lateral: sustituye a la inicial y al nombre. ===== */
html[data-ui="erp"] .nav-brand-logo { display:none; max-width:120px; max-height:40px; width:auto; height:auto; object-fit:contain; }
html[data-ui="erp"] .nav-brand.con-logo .nav-brand-logo { display:block; }
html[data-ui="erp"] .nav-brand.con-logo .nav-logo, html[data-ui="erp"] .nav-brand.con-logo .nav-brand-text { display:none; }
@media (prefers-color-scheme: dark) { html[data-ui="erp"]:not([data-theme="light"]) .nav-brand-logo { filter:invert(1) hue-rotate(180deg); } }
html[data-ui="erp"][data-theme="dark"] .nav-brand-logo { filter:invert(1) hue-rotate(180deg); }

/* ===== Bloque «rellenar con IA» (productos, asientos, etc.): neutro al estilo Arc, sin tinte verde,
   con el área de texto dentro de su marco y un anillo de foco fino. ===== */
html[data-ui="erp"] :is(.ai-assist,.asi-ia,#ncr-form-inline) { background:radial-gradient(ellipse at 100% 0%, oklch(88% .07 262) 0, transparent 55%), radial-gradient(ellipse at 0% 100%, oklch(93% .035 20) 0, transparent 50%), radial-gradient(ellipse at 70% 100%, oklch(96% .03 85) 0, transparent 45%), oklch(99% .003 80)!important; border:1px solid var(--fc-border)!important; border-radius:22px!important; padding:18px 18px 16px!important; box-shadow:none!important; margin-bottom:22px!important; overflow:hidden; }
html[data-ui="erp"] .ai-assist-head { gap:12px; margin-bottom:12px; }
html[data-ui="erp"] .ai-assist-icon { width:36px; height:36px; border-radius:11px; background:oklch(100% 0 0 / .7)!important; border:1px solid var(--fc-border)!important; color:var(--fc-ink)!important; }
html[data-ui="erp"] .ai-assist-title { font-size:14.5px!important; font-weight:600!important; margin:0 0 3px!important; }
html[data-ui="erp"] .ai-assist p { font-size:13px; color:var(--fc-muted); }
html[data-ui="erp"] .ai-assist textarea { display:block; width:100%!important; max-width:100%; box-sizing:border-box; min-height:84px; padding:12px 14px!important; line-height:1.45; resize:none!important; border:1px solid var(--fc-border)!important; border-radius:14px!important; background:var(--fc-card)!important; box-shadow:none!important; }
html[data-ui="erp"] .ai-assist textarea:focus { border-color:var(--fc-input)!important; box-shadow:0 0 0 3px oklch(0% 0 0 / .06)!important; outline:none; }
html[data-ui="erp"] .ai-assist-actions { gap:12px; margin-top:12px; }
html[data-ui="erp"] .ai-assist-actions .btn-primary:disabled { background:oklch(100% 0 0 / .7)!important; color:var(--fc-muted)!important; border:1px solid var(--fc-border)!important; opacity:1!important; box-shadow:none!important; }
html[data-ui="erp"] .ai-assist-note { font-size:12.5px!important; color:var(--fc-muted)!important; }
html[data-ui="erp"] .ai-assist .ai-assist-status { color:var(--fc-ink); }

/* ===== Chat: la conversación flota sobre un fondo atmosférico (cielo arriba, tierra abajo),
   como la tarjeta de voz de Arc, y el orbe de bienvenida es una esfera oscura que se mueve. ===== */
html[data-ui="erp"] .chatia-layout { position:relative; isolation:isolate; padding:16px; border-radius:32px; overflow:hidden; background:linear-gradient(180deg, oklch(84% .045 245) 0%, oklch(89% .025 240) 26%, oklch(80% .012 70) 52%, oklch(84% .018 75) 72%, oklch(91% .03 85) 100%); }
html[data-ui="erp"] .chatia-layout::before { content:""; position:absolute; inset:-20%; z-index:-1; pointer-events:none; filter:blur(48px); background:radial-gradient(ellipse 60% 40% at 20% 8%, oklch(80% .07 250 / .9), transparent 70%), radial-gradient(ellipse 50% 35% at 85% 55%, oklch(74% .02 60 / .8), transparent 70%), radial-gradient(ellipse 70% 30% at 40% 100%, oklch(93% .05 85 / .9), transparent 70%); animation:arc-atmosfera 28s ease-in-out infinite alternate; }
@keyframes arc-atmosfera { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(-3%, 2%, 0) scale(1.06); } }
html[data-ui="erp"] :is(.chatia-lista-col,.chatia-panel) { border:1px solid oklch(100% 0 0 / .65)!important; box-shadow:0 24px 50px -30px oklch(20% .02 250 / .45), 0 1px 0 oklch(100% 0 0 / .6) inset!important; background:oklch(100% 0 0 / .92)!important; backdrop-filter:blur(14px); }
html[data-ui="erp"] .chatia-bv-ico { width:96px!important; height:96px!important; color:transparent!important; background:radial-gradient(circle at 32% 28%, oklch(96% .03 330) 0, oklch(88% .06 320) 30%, oklch(80% .07 300) 62%, oklch(84% .06 60) 100%)!important; box-shadow:0 30px 50px -22px oklch(60% .1 310 / .5), inset 0 -10px 24px oklch(70% .08 300 / .35), inset 0 6px 14px oklch(100% 0 0 / .6); overflow:hidden; }
html[data-ui="erp"] .chatia-bv-ico svg { display:none; }
html[data-ui="erp"] .chatia-bv-ico::before { content:""; position:absolute; inset:-30%; border-radius:50%; background:conic-gradient(from 0deg, oklch(100% 0 0 / 0) 0, oklch(100% 0 0 / .7) 18%, oklch(80% .1 320 / 0) 34%, oklch(92% .05 70 / .6) 55%, oklch(80% .1 300 / 0) 70%, oklch(100% 0 0 / .6) 86%, oklch(100% 0 0 / 0) 100%); filter:blur(9px); mix-blend-mode:soft-light; animation:arc-orbe-liquido 9s linear infinite; }
@keyframes arc-orbe-liquido { from { transform:rotate(0deg) scale(1); } 50% { transform:rotate(180deg) scale(1.15); } to { transform:rotate(360deg) scale(1); } }
html[data-ui="erp"] .chatia-bv-ico::after { inset:-18px; background:radial-gradient(circle, oklch(85% .08 320 / .6), transparent 70%); filter:blur(10px); }
html[data-ui="erp"][data-theme="dark"] .chatia-layout { background:linear-gradient(180deg, oklch(30% .05 250) 0%, oklch(24% .02 240) 30%, oklch(22% .01 70) 60%, oklch(26% .03 85) 100%); }
html[data-ui="erp"][data-theme="dark"] :is(.chatia-lista-col,.chatia-panel) { background:oklch(21.5% 0 0 / .88)!important; border-color:oklch(100% 0 0 / .08)!important; }
@media (max-width:760px) { html[data-ui="erp"] .chatia-layout { padding:10px; border-radius:24px; } }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] .chatia-layout::before, html[data-ui="erp"] .chatia-bv-ico::before { animation:none; } }

/* ===== Documentos y listas «seg» (ficha de empleado, mi espacio): barra con los controles a la misma
   altura, filas con separador fino y el nombre sin subrayado azul; las acciones a la derecha. ===== */
html[data-ui="erp"] .seg-barra { gap:8px; margin-bottom:14px; }
html[data-ui="erp"] .seg-barra :is(.seg-search,input[type="month"],input[type="date"],select) { height:40px; padding:0 12px; border:1px solid var(--fc-border)!important; border-radius:12px!important; background:var(--fc-card)!important; font-size:13.5px; color:var(--fc-ink); min-width:0; }
html[data-ui="erp"] .seg-barra input[type="month"] { width:170px; flex:0 0 auto; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .seg-barra input[type="month"]::-webkit-datetime-edit { color:var(--fc-muted); }
html[data-ui="erp"] .seg-barra input[type="month"]:valid::-webkit-datetime-edit { color:var(--fc-ink); }
html[data-ui="erp"] .seg-barra .btn { height:40px; }
html[data-ui="erp"] .seg-lista { border:1px solid var(--fc-border); border-radius:16px; overflow:hidden; background:var(--fc-card); }
html[data-ui="erp"] .seg-lista:empty, html[data-ui="erp"] .seg-lista:has(> .seg-vacio:only-child) { border:0; background:transparent; }
html[data-ui="erp"] .seg-item { padding:12px 14px!important; border-bottom:1px solid var(--fc-border)!important; gap:12px; transition:background-color 140ms ease; }
html[data-ui="erp"] .seg-item:hover { background:var(--fc-row-hover); }
html[data-ui="erp"] .seg-item:last-child { border-bottom:0!important; }
html[data-ui="erp"] .seg-item-ico { display:inline-grid; place-items:center; width:36px; height:36px; flex:none; border-radius:11px; background:var(--fc-secondary); border:1px solid var(--fc-border); color:var(--fc-muted); }
html[data-ui="erp"] .seg-item-ico svg { width:17px; height:17px; }
html[data-ui="erp"] .seg-item-cuerpo b { font-weight:500; font-size:13.5px; color:var(--fc-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] .seg-item-cuerpo b a { color:inherit; text-decoration:none; }
html[data-ui="erp"] .seg-item-cuerpo b a:hover { text-decoration:underline; text-underline-offset:3px; }
html[data-ui="erp"] .seg-item-cuerpo small { font-size:12px; margin-top:2px; }
html[data-ui="erp"] .seg-item-acciones { display:inline-flex; align-items:center; gap:4px; flex:none; }
html[data-ui="erp"] .seg-item-acciones .btn-small { height:32px; padding:0 12px; border-radius:999px; }
html[data-ui="erp"] .seg-item .btn-icon { width:32px; height:32px; border-radius:999px; display:inline-grid; place-items:center; color:var(--fc-muted); }
html[data-ui="erp"] .seg-item .btn-icon:hover { background:var(--fc-secondary); color:var(--fc-error); }
html[data-ui="erp"] a.seg-item { text-decoration:none; color:inherit; }

/* ===== Donut de Arc en el resumen: anillo con huecos, centro que lee el segmento activo y filas
   sincronizadas; al pasar por encima se ilumina uno y el resto se atenúa; un clic lo fija. ===== */
html[data-ui="erp"] .arc-donut-cuerpo { display:grid; grid-template-columns:180px minmax(0,1fr); gap:6px 20px; align-items:center; }
html[data-ui="erp"] .arc-donut-anillo { position:relative; width:180px; height:180px; }
html[data-ui="erp"] .arc-donut-anillo svg { display:block; overflow:visible; }
/* Al destacarse, el segmento se separa del centro con un muelle (sobrepasa y vuelve) y los demás
   se apagan y encogen un poco; al soltar, todo vuelve suave. */
html[data-ui="erp"] .arc-donut-seg { fill:color-mix(in oklab, var(--fc-ink) var(--tono), var(--fc-card)); stroke:color-mix(in oklab, var(--fc-ink) var(--tono), var(--fc-card)); stroke-width:8; stroke-linejoin:round; paint-order:stroke; transform-origin:90px 90px; transform-box:view-box; cursor:pointer; transition:opacity 320ms var(--arc-ease), transform 520ms cubic-bezier(.34,1.56,.64,1), fill 220ms var(--arc-ease), stroke 220ms var(--arc-ease); animation:arc-donut-llega 600ms var(--arc-ease-enter) both; animation-delay:calc(var(--i) * 60ms); }
@keyframes arc-donut-llega { from { opacity:0; transform:scale(.86) rotate(-8deg); } }
html[data-ui="erp"] .arc-donut-seg.atenuado { opacity:.32; transform:scale(.965); transition-timing-function:var(--arc-ease), cubic-bezier(.2,.8,.2,1), var(--arc-ease); }
html[data-ui="erp"] .arc-donut-seg.activo, html[data-ui="erp"] .arc-donut-seg.fijado { transform:translate(calc(var(--mx) * 3px), calc(var(--my) * 3px)) scale(1.02); }
html[data-ui="erp"] .arc-donut-centro.cambia > * { animation:arc-donut-centro 460ms cubic-bezier(.34,1.4,.64,1) both; }
html[data-ui="erp"] .arc-donut-centro.cambia > b { animation-delay:40ms; }
html[data-ui="erp"] .arc-donut-centro.cambia > span { animation-delay:80ms; }
@keyframes arc-donut-centro { from { opacity:0; transform:translateY(6px) scale(.9); } }
html[data-ui="erp"] .arc-donut-centro { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; pointer-events:none; padding:0 32px; }
html[data-ui="erp"] .arc-donut-centro small { font-size:12px; color:var(--fc-muted); max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] .arc-donut-centro b { font-family:var(--arc-display); font-weight:400; font-size:21px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; line-height:1.15; margin:2px 0; white-space:nowrap; }
html[data-ui="erp"] .arc-donut-centro span { font-size:10.5px; color:var(--fc-muted); }
html[data-ui="erp"] .arc-donut-filas { display:grid; gap:2px; min-width:0; }
html[data-ui="erp"] .arc-donut-fila { display:grid; grid-template-columns:10px minmax(0,1fr) auto 3.2em; align-items:center; gap:10px; min-height:34px; padding:4px 10px; border:0; border-radius:10px; background:transparent; color:var(--fc-ink); font:inherit; font-size:13px; text-align:left; cursor:pointer; transition:background-color 180ms var(--arc-ease), opacity 260ms var(--arc-ease), transform 420ms cubic-bezier(.34,1.56,.64,1); animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; animation-delay:calc(120ms + var(--i) * 45ms); }
html[data-ui="erp"] .arc-donut-fila i { width:10px; height:10px; border-radius:3px; background:color-mix(in oklab, var(--fc-ink) var(--tono), var(--fc-card)); }
html[data-ui="erp"] .arc-donut-fila span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] .arc-donut-fila b { font-weight:400; color:var(--fc-muted); font-variant-numeric:tabular-nums; white-space:nowrap; }
html[data-ui="erp"] .arc-donut-fila em { font-style:normal; font-weight:500; justify-self:end; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-donut-fila:hover, html[data-ui="erp"] .arc-donut-fila.activo, html[data-ui="erp"] .arc-donut-fila.fijado { background:var(--fc-selected); }
html[data-ui="erp"] .arc-donut-fila.atenuado { opacity:.45; }
html[data-ui="erp"] .arc-donut-fila.activo { transform:translateX(4px); }
html[data-ui="erp"] .arc-donut-fila i { transition:transform 420ms cubic-bezier(.34,1.56,.64,1); }
html[data-ui="erp"] .arc-donut-fila.activo i { transform:scale(1.35); }
html[data-ui="erp"] .arc-donut-fila:active { transform:scale(.985); }
@media (max-width:760px) { html[data-ui="erp"] .arc-donut-cuerpo { grid-template-columns:1fr; justify-items:center; } html[data-ui="erp"] .arc-donut-filas { width:100%; } }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] :is(.arc-donut-seg,.arc-donut-fila) { animation:none; } }

/* «Pedir una foto»: es un .tar-check fuera de la rejilla, y la regla que lleva la casilla a la
   derecha la dejaba sin referencia (se iba del recuadro). Misma tarjeta que las de la rejilla. */
html[data-ui="erp"] #modal-tarea .tar-pide-foto { position:relative; display:flex; align-items:center; gap:12px; margin:6px 0 16px; padding:12px 48px 12px 14px; border-radius:16px; border:1px solid var(--fc-border); background:var(--arc-tray); cursor:pointer; transition:border-color 160ms var(--arc-ease), background-color 160ms var(--arc-ease); }
html[data-ui="erp"] #modal-tarea .tar-pide-foto:hover { border-color:oklch(84% 0 0); }
html[data-ui="erp"] #modal-tarea .tar-pide-foto:has(input:checked) { border-color:var(--fc-ink); box-shadow:0 0 0 1px var(--fc-ink); background:var(--fc-card); }
html[data-ui="erp"] #modal-tarea .tar-pide-foto > input { position:absolute; top:50%; right:14px; transform:translateY(-50%); margin:0!important; }
html[data-ui="erp"] #modal-tarea .tar-pide-foto > span { display:flex; flex-direction:column; gap:2px; min-width:0; }

/* ===== Inicio: la banda de correo y cobros sobre un degradado pastel muy suave (lavanda a
   melocotón), como las tarjetas de muestra de Arc; las dos tarjetas en blanco encima. ===== */
html[data-ui="erp"] #view-dashboard .home-top-grid { position:relative; padding:16px; border-radius:32px; background:linear-gradient(118deg, oklch(95.5% .035 300) 0%, oklch(97.5% .02 290) 32%, oklch(98.2% .012 80) 60%, oklch(97% .03 45) 100%); }
html[data-ui="erp"] #view-dashboard .home-top-grid > .home-section { border:1px solid oklch(100% 0 0 / .8)!important; box-shadow:0 18px 40px -30px oklch(40% .06 300 / .35)!important; background:var(--fc-card)!important; }
html[data-ui="erp"][data-theme="dark"] #view-dashboard .home-top-grid { background:linear-gradient(118deg, oklch(27% .04 300) 0%, oklch(24% .02 290) 40%, oklch(25% .03 50) 100%); }
html[data-ui="erp"][data-theme="dark"] #view-dashboard .home-top-grid > .home-section { border-color:oklch(100% 0 0 / .08)!important; }
/* La etiqueta «Más de 30 días» no se parte en dos líneas: la línea de detalle se acorta antes. */
html[data-ui="erp"] .arc-cobros-info small { display:flex; align-items:center; gap:6px; min-width:0; }
html[data-ui="erp"] .arc-cobros-info em { flex:none; margin-left:0; white-space:nowrap; }
@media (max-width:760px) { html[data-ui="erp"] #view-dashboard .home-top-grid { padding:10px; border-radius:24px; } }

/* ===== Inicio · botón de actualizar con semáforo en su anillo (verde / ámbar / rojo) y onda al
   terminar. El texto «Actualizado HH:MM» solo lo lee el lector de pantalla. ===== */
html[data-ui="erp"] .home-header-actions { display:inline-flex; align-items:center; gap:10px; --sem:var(--fc-success); --sem-suave:oklch(49% .19 150 / .18); }
html[data-ui="erp"] .home-header-actions[data-estado="ambar"] { --sem:var(--fc-warning); --sem-suave:oklch(52% .16 70 / .2); }
html[data-ui="erp"] .home-header-actions[data-estado="rojo"] { --sem:var(--fc-error); --sem-suave:oklch(54% .21 25 / .2); }
html[data-ui="erp"] .home-header-actions[data-estado="carga"] { --sem:var(--fc-muted); --sem-suave:oklch(46% 0 0 / .14); }
html[data-ui="erp"] #home-updated { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
html[data-ui="erp"] #home-refresh { position:relative; width:28px!important; height:28px!important; min-height:0!important; aspect-ratio:1; border-radius:50%!important; flex:none; padding:0!important; display:inline-grid; place-items:center; border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; color:var(--fc-ink)!important; box-shadow:0 0 0 4px var(--sem-suave)!important; font-size:0!important; transition:box-shadow 480ms var(--arc-ease), background-color 160ms var(--arc-ease), transform 90ms var(--arc-ease)!important; }
html[data-ui="erp"] #home-refresh svg { width:13px; height:13px; transition:transform 520ms cubic-bezier(.34,1.56,.64,1); }
html[data-ui="erp"] #home-refresh:hover { background:var(--fc-secondary)!important; }
html[data-ui="erp"] #home-refresh:hover svg { transform:rotate(90deg); }
html[data-ui="erp"] #home-refresh:active { transform:scale(.94); }
html[data-ui="erp"] #home-refresh:disabled { opacity:1!important; color:var(--fc-muted)!important; cursor:progress; }
html[data-ui="erp"] #home-refresh:disabled svg { animation:arc-gira 900ms linear infinite; transition:none; }
@keyframes arc-gira { to { transform:rotate(360deg); } }
/* Onda al volver a verde: dos anillos que salen del botón y se desvanecen, y la flecha da un salto. */
html[data-ui="erp"] #home-refresh::before, html[data-ui="erp"] #home-refresh::after { content:""; position:absolute; inset:-4px; border-radius:50%; border:2px solid var(--sem); opacity:0; pointer-events:none; }
html[data-ui="erp"] .home-header-actions.exito #home-refresh::before { animation:arc-onda 900ms var(--arc-ease-enter) both; }
html[data-ui="erp"] .home-header-actions.exito #home-refresh::after { animation:arc-onda 900ms var(--arc-ease-enter) 160ms both; }
html[data-ui="erp"] .home-header-actions.exito #home-refresh svg { animation:arc-salto 600ms cubic-bezier(.34,1.56,.64,1) both; }
/* En reposo solo queda el halo claro; el verde fuerte aparece al pulsar y se va con la onda. */
html[data-ui="erp"] .home-header-actions.exito #home-refresh { animation:arc-anillo-fuerte 1400ms var(--arc-ease) both; }
html[data-ui="erp"] #home-refresh:active { box-shadow:0 0 0 1.5px var(--sem), 0 0 0 4px var(--sem-suave)!important; }
@keyframes arc-anillo-fuerte { 0%, 55% { box-shadow:0 0 0 1.5px var(--sem), 0 0 0 4px var(--sem-suave); } 100% { box-shadow:0 0 0 0 var(--sem), 0 0 0 4px var(--sem-suave); } }
@keyframes arc-onda { 0% { opacity:.9; transform:scale(.92); } 100% { opacity:0; transform:scale(1.45); } }
@keyframes arc-salto { 0% { transform:scale(.6) rotate(-90deg); } 100% { transform:scale(1) rotate(0); } }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] #home-refresh:disabled svg, html[data-ui="erp"] .home-header-actions.exito #home-refresh::before, html[data-ui="erp"] .home-header-actions.exito #home-refresh::after { animation:none; } }

/* ===== Pantallas de grupo (Ventas, Compras…): las casillas sobre el mismo degradado pastel ===== */
html[data-ui="erp"] #view-grupo-hub .res-cards { padding:16px; border-radius:32px; background:linear-gradient(118deg, oklch(95.5% .035 300) 0%, oklch(97.5% .02 290) 32%, oklch(98.2% .012 80) 60%, oklch(97% .03 45) 100%); }
html[data-ui="erp"] #view-grupo-hub .res-card { border-color:oklch(100% 0 0 / .8)!important; box-shadow:0 18px 40px -30px oklch(40% .06 300 / .35)!important; }
html[data-ui="erp"][data-theme="dark"] #view-grupo-hub .res-cards { background:linear-gradient(118deg, oklch(27% .04 300) 0%, oklch(24% .02 290) 40%, oklch(25% .03 50) 100%); }
html[data-ui="erp"][data-theme="dark"] #view-grupo-hub .res-card { border-color:oklch(100% 0 0 / .08)!important; }

/* ===== El degradado pastel se mueve despacio, como los fondos de Apple: tres manchas de color
   desenfocadas que derivan y giran en bucle (unos 40 s), sobre la base fija. ===== */
html[data-ui="erp"] #view-dashboard .home-top-grid, html[data-ui="erp"] #view-grupo-hub .res-cards { position:relative; isolation:isolate; overflow:hidden; }
html[data-ui="erp"] #view-dashboard .home-top-grid::before, html[data-ui="erp"] #view-grupo-hub .res-cards::before { content:""; position:absolute; inset:-35%; z-index:-1; pointer-events:none; filter:blur(60px); will-change:transform; opacity:.72;
  background:radial-gradient(ellipse 36% 30% at 18% 22%, oklch(86% .13 300), transparent 70%), radial-gradient(ellipse 32% 28% at 82% 30%, oklch(90% .12 45), transparent 70%), radial-gradient(ellipse 38% 28% at 55% 85%, oklch(90% .09 230), transparent 70%), radial-gradient(ellipse 26% 24% at 30% 80%, oklch(93% .1 80), transparent 70%);
  animation:arc-deriva 22s ease-in-out infinite alternate; }
html[data-ui="erp"] #view-grupo-hub .res-cards::before { animation-delay:-14s; }
@keyframes arc-deriva {
  0% { transform:translate3d(0,0,0) rotate(0deg) scale(1); }
  33% { transform:translate3d(12%,-8%,0) rotate(14deg) scale(1.12); }
  66% { transform:translate3d(-10%,10%,0) rotate(-12deg) scale(1.06); }
  100% { transform:translate3d(8%,6%,0) rotate(22deg) scale(1.16); }
}
html[data-ui="erp"][data-theme="dark"] #view-dashboard .home-top-grid::before, html[data-ui="erp"][data-theme="dark"] #view-grupo-hub .res-cards::before { background:radial-gradient(ellipse 38% 32% at 18% 22%, oklch(40% .08 300 / .8), transparent 70%), radial-gradient(ellipse 34% 30% at 82% 30%, oklch(38% .07 45 / .8), transparent 70%), radial-gradient(ellipse 40% 30% at 55% 85%, oklch(36% .06 230 / .8), transparent 70%); }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] #view-dashboard .home-top-grid::before, html[data-ui="erp"] #view-grupo-hub .res-cards::before { animation:none; } }


/* ===== Equipo · Hoy: el fondo atmosférico del chat, muy tenue y en movimiento, detrás del tablero,
   de cada grupo de personas y del lateral «Pendiente de ti». ===== */
html[data-ui="erp"] :is(.arc-rrhh, #rh-hoy .rhh-equipo, #rh-hoy .rhh-lateral) { position:relative; isolation:isolate; overflow:hidden; background:var(--fc-background)!important; }
html[data-ui="erp"] :is(.arc-rrhh, #rh-hoy .rhh-equipo, #rh-hoy .rhh-lateral)::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.22; background:linear-gradient(180deg, oklch(84% .045 245) 0%, oklch(89% .025 240) 26%, oklch(80% .012 70) 52%, oklch(84% .018 75) 72%, oklch(91% .03 85) 100%); }
html[data-ui="erp"] :is(.arc-rrhh, #rh-hoy .rhh-equipo, #rh-hoy .rhh-lateral)::after { content:""; position:absolute; inset:-30%; z-index:-1; pointer-events:none; opacity:.3; filter:blur(52px); will-change:transform; background:radial-gradient(ellipse 40% 34% at 22% 20%, oklch(82% .09 250), transparent 70%), radial-gradient(ellipse 36% 30% at 80% 45%, oklch(78% .05 60), transparent 70%), radial-gradient(ellipse 44% 30% at 45% 95%, oklch(92% .07 85), transparent 70%); animation:arc-deriva 26s ease-in-out infinite alternate; }
html[data-ui="erp"] #rh-hoy .rhh-equipo::after { animation-delay:-9s; }
html[data-ui="erp"] #rh-hoy .rhh-grupo { background:transparent!important; }
html[data-ui="erp"] #rh-hoy .rhh-lateral::after { animation-delay:-17s; }
html[data-ui="erp"] .arc-rrhh > .arc-rrhh-tarjeta:not(.arc-rrhh-presencia), html[data-ui="erp"] #rh-hoy .rhh-grupo .rhh-persona, html[data-ui="erp"] #rh-hoy .rhh-lateral > * { position:relative; }
html[data-ui="erp"] .arc-rrhh > .arc-rrhh-tarjeta:not(.arc-rrhh-presencia), html[data-ui="erp"] #rh-hoy .rhh-grupo .rhh-persona { border-color:oklch(100% 0 0 / .75)!important; background:oklch(100% 0 0 / .9)!important; backdrop-filter:blur(10px); box-shadow:0 18px 40px -30px oklch(30% .04 250 / .4); }
html[data-ui="erp"] #rh-hoy .rhh-lateral { border-color:oklch(100% 0 0 / .75)!important; box-shadow:none!important; }
html[data-ui="erp"][data-theme="dark"] :is(.arc-rrhh, #rh-hoy .rhh-equipo, #rh-hoy .rhh-lateral)::before { background:linear-gradient(180deg, oklch(30% .05 250) 0%, oklch(24% .02 240) 30%, oklch(22% .01 70) 60%, oklch(26% .03 85) 100%); opacity:.6; }
html[data-ui="erp"][data-theme="dark"] .arc-rrhh > .arc-rrhh-tarjeta:not(.arc-rrhh-presencia), html[data-ui="erp"][data-theme="dark"] #rh-hoy .rhh-grupo .rhh-persona { background:oklch(21.5% 0 0 / .88)!important; border-color:oklch(100% 0 0 / .08)!important; }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] :is(.arc-rrhh, #rh-hoy .rhh-equipo, #rh-hoy .rhh-lateral)::after { animation:none; } }

/* ===== Ajustes (Perfil de la empresa y Administración) como la pantalla Settings de Arc: menú lateral
   con buscador, una sección cada vez, y dentro filas «etiqueta + ayuda | control» separadas por una
   línea fina. arc-movimiento.js arma el menú a partir de las secciones que ya existen. ===== */
html[data-ui="erp"] .arc-aj { display:grid; grid-template-columns:248px minmax(0,1fr); gap:0; border:1px solid var(--fc-border); border-radius:28px; background:var(--fc-card); overflow:hidden; min-height:60vh; }
html[data-ui="erp"] .arc-aj-nav { padding:14px 10px; border-right:1px solid var(--fc-border); background:var(--arc-tray); display:flex; flex-direction:column; gap:2px; align-self:stretch; }
html[data-ui="erp"] .arc-aj-busca { position:relative; margin:0 2px 10px; }
html[data-ui="erp"] .arc-aj-busca input { width:100%; height:38px; padding:0 12px 0 34px!important; border-radius:12px!important; background:var(--fc-card)!important; font-size:13.5px; }
html[data-ui="erp"] .arc-aj-busca::before { content:""; position:absolute; left:12px; top:50%; width:15px; height:15px; transform:translateY(-50%); pointer-events:none; opacity:.55; background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E"); }
html[data-ui="erp"] .arc-aj-grupo { margin:8px 10px 2px; font-size:11px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--fc-muted); }
html[data-ui="erp"] .arc-aj-item { display:flex; align-items:center; gap:8px; width:100%; height:36px; padding:0 10px; line-height:1; border:1px solid transparent; border-radius:12px; background:transparent; color:var(--fc-ink); font:500 13.5px var(--fc-font, inherit); text-align:left; cursor:pointer; transition:background-color 140ms var(--arc-ease), border-color 140ms var(--arc-ease); }
html[data-ui="erp"] .arc-aj-item svg { width:14px; height:14px; flex:none; color:var(--fc-muted); }
html[data-ui="erp"] .arc-aj-item span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] .arc-aj-item:hover { background:var(--fc-card); }
html[data-ui="erp"] .arc-aj-item.activa { background:var(--fc-card); border-color:var(--fc-border); box-shadow:0 1px 2px oklch(0% 0 0 / .05); }
html[data-ui="erp"] .arc-aj-item.activa svg { color:var(--fc-ink); }
html[data-ui="erp"] .arc-aj-item[hidden] { display:none; }
html[data-ui="erp"] .arc-aj-cuerpo { padding:26px 30px 30px; min-width:0; }
html[data-ui="erp"] .arc-aj-cuerpo > .empresa-form, html[data-ui="erp"] .arc-aj-cuerpo > .admin-grid { display:block; max-width:none; }
html[data-ui="erp"] .arc-aj .empresa-section, html[data-ui="erp"] .arc-aj .admin-grid > .dash-card { padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; border-radius:0!important; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; }
html[data-ui="erp"] .arc-aj .empresa-section[data-oculta], html[data-ui="erp"] .arc-aj .admin-grid > .dash-card[data-oculta] { display:none!important; }
html[data-ui="erp"] .arc-aj .empresa-section > h3, html[data-ui="erp"] .arc-aj .admin-grid > .dash-card > h3 { margin:0 0 4px!important; font-family:var(--arc-display); font-size:22px!important; font-weight:400!important; letter-spacing:-.03em; color:var(--fc-ink)!important; display:flex; align-items:center; justify-content:space-between; gap:12px; }
html[data-ui="erp"] .arc-aj .admin-grid > .dash-card > h3 .btn { float:none!important; }
html[data-ui="erp"] .arc-aj .empresa-hint { margin:0 0 18px; font-size:13.5px; color:var(--fc-muted); max-width:70ch; }
html[data-ui="erp"] .arc-aj .empresa-section > h3 + :not(.empresa-hint) { margin-top:18px; }
/* Filas: etiqueta y ayuda a la izquierda, control a la derecha. */
html[data-ui="erp"] .arc-aj .form-grid { display:block!important; margin:0!important; border-top:1px solid var(--fc-border); }
html[data-ui="erp"] .arc-aj .form-grid > .form-group { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); align-items:center; gap:10px 24px; margin:0!important; padding:14px 0; border-bottom:1px solid var(--fc-border); }
html[data-ui="erp"] .arc-aj .form-grid > .form-group > label { margin:0!important; font-size:14px!important; font-weight:500!important; color:var(--fc-ink)!important; text-transform:none!important; letter-spacing:0!important; display:flex; flex-direction:column; gap:3px; }
html[data-ui="erp"] .arc-aj .form-grid > .form-group > label .campo-nota { font-size:12.5px; font-weight:400; color:var(--fc-muted); }
html[data-ui="erp"] .arc-aj .form-grid > .form-group > :is(input,select,textarea) { width:100%; min-width:0; }
html[data-ui="erp"] .arc-aj .form-grid > .form-group.form-full { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); }
html[data-ui="erp"] .arc-aj .form-grid > .form-group:has(> .cb-head), html[data-ui="erp"] .arc-aj .form-grid > .form-group:has(> #cb-lista) { display:block; }
html[data-ui="erp"] .arc-aj .table-container { border:1px solid var(--fc-border); border-radius:16px; }
@media (max-width:900px) {
  html[data-ui="erp"] .arc-aj { grid-template-columns:1fr; }
  html[data-ui="erp"] .arc-aj-nav { position:static; max-height:none; border-right:0; border-bottom:1px solid var(--fc-border); flex-direction:row; flex-wrap:nowrap; overflow-x:auto; gap:4px; padding:10px; }
  html[data-ui="erp"] .arc-aj-busca { display:none; }
  html[data-ui="erp"] .arc-aj-grupo { display:none; }
  html[data-ui="erp"] .arc-aj-item { flex:none; white-space:nowrap; }
  html[data-ui="erp"] .arc-aj-cuerpo { padding:18px 16px 22px; }
  html[data-ui="erp"] .arc-aj .form-grid > .form-group { grid-template-columns:1fr; gap:6px; }
}

/* ===== Contabilidad · cifras del ejercicio: mismo degradado pastel que las pantallas de grupo, algo
   más tenue, con las manchas derivando detrás. ===== */
html[data-ui="erp"] #contab-stats { position:relative; isolation:isolate; overflow:hidden; padding:16px!important; border-radius:32px!important; background:linear-gradient(118deg, oklch(96.5% .025 300) 0%, oklch(98% .014 290) 32%, oklch(98.5% .009 80) 60%, oklch(97.8% .02 45) 100%)!important; }
html[data-ui="erp"] #contab-stats::before { content:""; position:absolute; inset:-35%; z-index:-1; pointer-events:none; opacity:.55; filter:blur(60px); will-change:transform; background:radial-gradient(ellipse 36% 30% at 18% 22%, oklch(86% .13 300), transparent 70%), radial-gradient(ellipse 32% 28% at 82% 30%, oklch(90% .12 45), transparent 70%), radial-gradient(ellipse 38% 28% at 55% 85%, oklch(90% .09 230), transparent 70%), radial-gradient(ellipse 26% 24% at 30% 80%, oklch(93% .1 80), transparent 70%); animation:arc-deriva 24s ease-in-out infinite alternate; animation-delay:-6s; }
html[data-ui="erp"] #contab-stats > * { border-color:oklch(100% 0 0 / .8)!important; box-shadow:0 18px 40px -30px oklch(40% .06 300 / .3)!important; background:var(--fc-card)!important; }
html[data-ui="erp"][data-theme="dark"] #contab-stats { background:linear-gradient(118deg, oklch(26% .03 300) 0%, oklch(23% .015 290) 40%, oklch(24% .025 50) 100%)!important; }
html[data-ui="erp"][data-theme="dark"] #contab-stats > * { border-color:oklch(100% 0 0 / .08)!important; }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] #contab-stats::before { animation:none; } }

/* El contorno de foco solo cuando se navega con teclado: al pulsar con el ratón las entradas del menú
   (y los botones en general) no se quedan con el anillo gris. */
html[data-ui="erp"] :is(.nav-item,.nav-group-head,.nav-fijo,.btn,.filter-btn,.res-card,.arc-aj-item,.alm-tarjeta):focus:not(:focus-visible) { outline:none!important; }
html[data-ui="erp"] .nav-sidebar :is(.nav-item,.nav-group-head):focus-visible { outline-offset:-2px!important; }

/* Aire entre la banda de correo/cobros y el resumen que va debajo. */
html[data-ui="erp"] #view-dashboard .home-top-grid { margin-bottom:22px!important; }
html[data-ui="erp"] #view-dashboard .home-top-grid + .arc-resumen { margin-top:0; }

/* La gráfica del resumen con el color de lo que mide: verde para lo facturado, rojo para los gastos. */
html[data-ui="erp"] .arc-res-grafica[data-color="verde"] { color:oklch(52% .16 150); }
html[data-ui="erp"] .arc-res-grafica[data-color="rojo"] { color:oklch(56% .2 25); }
html[data-ui="erp"] .arc-res-grafica-cab:has(+ .arc-res-grafica[data-color="verde"]) .arc-res-leyenda i:not(.d) { border-top-color:oklch(52% .16 150); }
html[data-ui="erp"] .arc-res-grafica-cab:has(+ .arc-res-grafica[data-color="rojo"]) .arc-res-leyenda i:not(.d) { border-top-color:oklch(56% .2 25); }

/* ===== Tareas del equipo al estilo Arc: avatares con foto, filas limpias sin rejilla de tabla,
   grupos como rótulos pequeños, etiquetas tintadas y acciones que asoman al pasar. ===== */
html[data-ui="erp"] .rh-task-avatar { display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; overflow:hidden; flex:none; background:var(--arc-gradient); color:var(--arc-gradient-fg); font-size:11.5px; font-weight:600; letter-spacing:.02em; box-shadow:inset 0 0 0 1px oklch(0% 0 0 / .06); }
html[data-ui="erp"] .rh-task-avatar.con-foto { background:var(--fc-secondary); }
html[data-ui="erp"] .rh-task-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
/* Vista previa en Hoy: tres filas con avatar, título y plazo. */
html[data-ui="erp"] #rrhh-hoy #rh-tasks-preview { display:grid; gap:4px; margin:14px 0 4px; }
html[data-ui="erp"] #rrhh-hoy .rh-task-preview { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:12px; width:100%; padding:10px 12px; border:1px solid transparent; border-radius:14px; background:transparent; text-align:left; cursor:pointer; color:var(--fc-ink); font:inherit; transition:background-color 140ms var(--arc-ease), border-color 140ms var(--arc-ease), transform 90ms var(--arc-ease); }
html[data-ui="erp"] #rrhh-hoy .rh-task-preview:hover { background:var(--fc-secondary); border-color:var(--fc-border); }
html[data-ui="erp"] #rrhh-hoy .rh-task-preview:active { transform:scale(.995); }
html[data-ui="erp"] #rrhh-hoy .rh-task-preview > span:not(.rh-task-avatar):not(.rh-task-due) { display:grid; gap:2px; min-width:0; }
html[data-ui="erp"] #rrhh-hoy .rh-task-preview strong { font-weight:500; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] #rrhh-hoy .rh-task-preview small { color:var(--fc-muted); font-size:12.5px; }
html[data-ui="erp"] #rrhh-hoy .rh-task-due { display:grid; justify-items:end; gap:2px; font-size:12.5px; color:var(--fc-muted); font-variant-numeric:tabular-nums; white-space:nowrap; }
html[data-ui="erp"] #rrhh-hoy .rh-task-due .rh-task-urgent, html[data-ui="erp"] .rh-task-urgent { display:inline-flex; align-items:center; padding:2px 8px; border-radius:999px; background:oklch(95% .04 25); color:oklch(42% .16 25); border:1px solid oklch(88% .06 25); font-size:11.5px; font-weight:500; }
/* La tabla de tareas, como lista: sin cabecera, filas con separador fino, grupos como rótulos. */
html[data-ui="erp"] .rh-task-table-wrap { border:1px solid var(--fc-border)!important; border-radius:20px!important; background:var(--fc-card)!important; overflow:hidden!important; box-shadow:none!important; }
html[data-ui="erp"] #tabla-rh-tar thead { visibility:collapse; }
html[data-ui="erp"] #tabla-rh-tar thead th { padding:0!important; border:0!important; height:0; line-height:0; font-size:0; }
html[data-ui="erp"] #tabla-rh-tar { border-collapse:collapse; width:100%; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-group th { padding:12px 18px!important; background:var(--arc-tray)!important; border:0!important; border-top:1px solid var(--fc-border)!important; font-size:11.5px!important; font-weight:500!important; letter-spacing:.06em; text-transform:uppercase; color:var(--fc-muted)!important; text-align:left; }
html[data-ui="erp"] #tabla-rh-tar tbody > tr:first-child th { border-top:0!important; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-group th span { margin-left:8px; padding:1px 7px; border-radius:999px; background:var(--fc-card); border:1px solid var(--fc-border); color:var(--fc-ink); letter-spacing:0; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-row td { padding:14px 12px!important; background:transparent!important; border:0!important; border-top:1px solid var(--fc-border)!important; vertical-align:middle!important; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-group + .rh-task-row td { border-top:0!important; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-row td:first-child { padding-left:18px!important; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-row td:last-child { padding-right:12px!important; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-row:hover td { background:var(--fc-row-hover)!important; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-title { font-weight:500; font-size:14.5px; color:var(--fc-ink); background:none; border:0; padding:0; text-align:left; cursor:pointer; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-title:hover { text-decoration:underline; text-underline-offset:3px; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-detail { margin:4px 0 0; font-size:13px; color:var(--fc-muted); max-width:62ch; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-tags { display:flex; gap:6px; margin-top:8px; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-photo-label { display:inline-flex; align-items:center; gap:5px; padding:2px 8px; border-radius:999px; background:var(--fc-secondary); border:1px solid var(--fc-border); color:var(--fc-muted); font-size:11.5px; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-assignee { display:flex; align-items:center; gap:10px; white-space:nowrap; font-size:13.5px; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-date { font-variant-numeric:tabular-nums; white-space:nowrap; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-date small { display:block; margin-top:2px; font-size:12px; color:var(--fc-muted); }
html[data-ui="erp"] #tabla-rh-tar .rh-task-row:not(.rh-task-done) .rh-task-date small:not(:empty) { color:oklch(50% .16 25); }
html[data-ui="erp"] #tabla-rh-tar .rh-task-state { background:var(--fc-secondary)!important; border:1px solid var(--fc-border)!important; color:var(--fc-muted)!important; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-state.is-done { background:oklch(95% .05 150)!important; border-color:oklch(86% .08 150)!important; color:oklch(35% .12 150)!important; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-note { margin:6px 0 0; font-size:12.5px; color:var(--fc-muted); max-width:28ch; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-photo-link { display:inline-flex; align-items:center; gap:5px; margin-top:6px; font-size:12.5px; color:var(--fc-ink); text-decoration:none; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-actions { white-space:nowrap; text-align:right; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-actions button { display:inline-grid; place-items:center; width:32px; height:32px; padding:0; border-radius:999px; border:1px solid transparent; background:transparent; color:var(--fc-muted); cursor:pointer; opacity:0; transition:opacity 140ms var(--arc-ease), background-color 140ms var(--arc-ease); }
html[data-ui="erp"] #tabla-rh-tar .rh-task-actions button span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
html[data-ui="erp"] #tabla-rh-tar .rh-task-row:hover .rh-task-actions button, html[data-ui="erp"] #tabla-rh-tar .rh-task-actions button:focus-visible { opacity:1; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-actions button:hover { background:var(--fc-secondary); border-color:var(--fc-border); color:var(--fc-ink); }
html[data-ui="erp"] #tabla-rh-tar .rh-task-delete:hover { color:var(--fc-error)!important; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-done .rh-task-title { color:var(--fc-muted); }
@media (max-width:760px) { html[data-ui="erp"] #tabla-rh-tar .rh-task-actions button { opacity:1; } }
/* Anchos de la lista de tareas: la tarea se lleva el sitio; persona, plazo y estado, lo justo. */
html[data-ui="erp"] #tabla-rh-tar { table-layout:fixed; width:100%; }
html[data-ui="erp"] #tabla-rh-tar thead th:nth-child(1) { width:auto; }
html[data-ui="erp"] #tabla-rh-tar thead th:nth-child(2) { width:230px; }
html[data-ui="erp"] #tabla-rh-tar thead th:nth-child(3) { width:150px; }
html[data-ui="erp"] #tabla-rh-tar thead th:nth-child(4) { width:200px; }
html[data-ui="erp"] #tabla-rh-tar thead th:nth-child(5) { width:84px; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-detail { white-space:normal; }
html[data-ui="erp"] #tabla-rh-tar .rh-task-assignee { white-space:normal; }
@media (max-width:900px) { html[data-ui="erp"] #tabla-rh-tar { table-layout:auto; } }

/* ===== «Pendiente de ti» ordenado: título, estado vacío en tarjeta, dos cifras (tareas para hoy /
   fuera de plazo) y el botón abajo a todo el ancho. ===== */
html[data-ui="erp"] .rhh-lateral { display:flex; flex-direction:column; gap:14px; }
html[data-ui="erp"] .rhh-lateral h2 { margin:0!important; }
html[data-ui="erp"] .rhh-lateral .rhh-nada { margin:0!important; border-style:solid!important; background:oklch(100% 0 0 / .6)!important; }
html[data-ui="erp"] .rhh-lateral .rhh-linea { display:grid; gap:12px; margin:0!important; padding:0!important; border:0!important; }
html[data-ui="erp"] .rhh-cifras { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
html[data-ui="erp"] .rhh-cifra { display:grid; gap:2px; padding:12px 14px; border-radius:14px; background:oklch(100% 0 0 / .7); border:1px solid var(--fc-border); }
html[data-ui="erp"] .rhh-cifra b { font-family:var(--arc-display); font-size:26px; font-weight:400; letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .rhh-cifra small { font-size:12px; color:var(--fc-muted); }
html[data-ui="erp"] .rhh-cifra.tarde b { color:var(--fc-error); }
html[data-ui="erp"] .rhh-lateral .rhh-enlace { display:flex; justify-content:center; width:100%; min-height:38px; padding:0 14px; border-radius:999px; border:1px solid var(--fc-border); background:var(--fc-card); color:var(--fc-ink); font:500 13.5px var(--fc-font, inherit); cursor:pointer; transition:background-color 140ms var(--arc-ease); }
html[data-ui="erp"] .rhh-lateral .rhh-enlace:hover { background:var(--fc-secondary); }

/* ===== Bienvenida del chat: centrada solo si cabe; si la ventana es baja, se desplaza y no se
   recorta por arriba ni por abajo (el «margin:auto» dentro de un scroll la cortaba). Más compacta. ===== */
html[data-ui="erp"] .chatia-mensajes:has(> .chatia-bienvenida) { justify-content:safe center; }
html[data-ui="erp"] .chatia-bienvenida { margin:0 auto!important; flex:none; padding:12px 6px 20px!important; }
html[data-ui="erp"] .chatia-bv-ico { width:80px!important; height:80px!important; margin-bottom:14px!important; }
html[data-ui="erp"] .chatia-bienvenida h2 { font-size:28px; margin:0 0 8px!important; }
html[data-ui="erp"] .chatia-bienvenida > p { margin:0 auto 16px!important; font-size:14px; line-height:1.55; }
html[data-ui="erp"] .chatia-bv-chips { gap:8px!important; }
@media (max-height:760px) {
  html[data-ui="erp"] .chatia-bv-ico { width:64px!important; height:64px!important; margin-bottom:10px!important; }
  html[data-ui="erp"] .chatia-bienvenida h2 { font-size:24px; }
}

/* Inicio · correo: la lista ocupa toda la tarjeta y el enlace queda abajo. */
html[data-ui="erp"] #home-mail { display:flex; flex-direction:column; }
html[data-ui="erp"] #home-mail-list { flex:1; display:flex; flex-direction:column; }
html[data-ui="erp"] #home-mail-list .home-email { flex:1; min-height:52px; max-height:72px; }
html[data-ui="erp"] #home-mail-all { margin-top:auto; padding-top:14px; }

/* ===== El fichaje en el menú (estaba pensado para un menú oscuro): texto, puntos y botones en
   claro, como una tarjeta pequeña más del menú. ===== */
html[data-ui="erp"] .nav-fichar { background:var(--arc-tray)!important; border:1px solid var(--fc-border)!important; color:var(--fc-ink)!important; border-radius:16px!important; padding:12px!important; }
html[data-ui="erp"] .nav-fichar-estado { color:var(--fc-ink); }
html[data-ui="erp"] .nav-fichar-estado small { color:var(--fc-muted); opacity:1; }
html[data-ui="erp"] .nav-fichar-dot { background:var(--fc-muted); }
html[data-ui="erp"] .nav-fichar-dentro .nav-fichar-dot { background:var(--fc-success); box-shadow:0 0 0 3px oklch(49% .19 150 / .2); }
html[data-ui="erp"] .nav-fichar-btn { border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; color:var(--fc-ink)!important; border-radius:999px!important; }
html[data-ui="erp"] .nav-fichar-btn-primary { background:var(--fc-primary)!important; border-color:var(--fc-primary)!important; color:var(--fc-on-primary)!important; }
html[data-ui="erp"] .nav-fichar .rh-location-notice { color:var(--fc-muted); }
html[data-ui="erp"] .nav-fichar .rh-location-notice summary { color:var(--fc-muted); }
html[data-ui="erp"] .nav-fichar .rh-location-notice p, html[data-ui="erp"] .nav-fichar .rh-location-status { color:var(--fc-muted); }

/* Foto de perfil del usuario en la barra lateral y en la bienvenida de acceso. */
html[data-ui="erp"] .nav-user-avatar.con-foto { overflow:hidden; padding:0; border-radius:50%; background:var(--fc-secondary)!important; }
html[data-ui="erp"] .nav-user-avatar.con-foto img, html[data-ui="erp"] .arc-bienvenida-avatar.con-foto img { width:100%; height:100%; object-fit:cover; display:block; border-radius:inherit; }
html[data-ui="erp"] .arc-bienvenida-avatar.con-foto { overflow:hidden; background:var(--fc-secondary); }

/* ===== Menú flotante, versión discreta: tarjeta despegada del borde con borde fino y apenas sombra. ===== */
@media (min-width:801px) {
  html[data-ui="erp"] body:not(.employee-app) .app { padding:14px 0 14px 14px; gap:0; background:var(--fc-background); }
  html[data-ui="erp"] body:not(.employee-app) .nav-sidebar { border:1px solid var(--fc-border)!important; border-radius:26px!important; background:var(--fc-card)!important; box-shadow:0 1px 2px oklch(0% 0 0 / .04)!important; padding:16px 12px 16px; height:calc(100vh - 28px); position:sticky; top:14px; align-self:flex-start; }
  html[data-ui="erp"] body:not(.employee-app) .nav-brand { padding:8px 10px 18px; }
  html[data-ui="erp"] body:not(.employee-app) .view { padding:40px 40px 64px; }
  html[data-ui="erp"][data-theme="dark"] body:not(.employee-app) .nav-sidebar { background:var(--fc-card)!important; border-color:oklch(100% 0 0 / .08)!important; }
}
/* La foto de perfil con un anillo fino (borde + hueco blanco), como los avatares de Arc. */
html[data-ui="erp"] .nav-user-avatar.con-foto { box-shadow:0 0 0 2px var(--fc-card), 0 0 0 3px var(--fc-border); }
html[data-ui="erp"] .arc-bienvenida-avatar.con-foto { box-shadow:0 0 0 3px var(--fc-card); }
html[data-ui="erp"] .rh-task-avatar.con-foto, html[data-ui="erp"] .rhh-avatar.con-foto { box-shadow:0 0 0 1px var(--fc-border); }

/* Bienvenida con más vida: fecha, tres cifras de lo que espera hoy y una frase de cierre. */
html[data-ui="erp"] .arc-bienvenida-cifras { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:18px 0 0; min-height:56px; }
html[data-ui="erp"] .arc-bienvenida-cifra { display:grid; gap:2px; min-width:96px; padding:10px 14px; border-radius:14px; border:1px solid var(--fc-border); background:var(--fc-secondary); text-align:center; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; animation-delay:calc(520ms + var(--i) * 90ms); }
html[data-ui="erp"] .arc-bienvenida-cifra b { font-family:var(--arc-display); font-size:22px; font-weight:400; letter-spacing:-.04em; line-height:1; color:var(--fc-ink); font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-bienvenida-cifra small { font-size:11.5px; color:var(--fc-muted); white-space:nowrap; }
html[data-ui="erp"] .arc-bienvenida-cifra em { font-style:normal; font-size:11px; color:var(--fc-error); white-space:nowrap; }
html[data-ui="erp"] .arc-bienvenida-cierre { margin-top:14px!important; font-size:13px!important; animation-delay:820ms!important; }

/* ===== Bienvenida como el estado final del «Sign in» de Arc: alineada a la izquierda, identidad
   arriba (foto pequeña con insignia, nombre y correo), titular grande en Geist y una frase. ===== */
html[data-ui="erp"] .arc-bienvenida { align-items:flex-start!important; justify-content:center; text-align:left!important; padding:36px 36px!important; }
html[data-ui="erp"] .arc-bienvenida-id { display:flex; align-items:center; gap:12px; margin-bottom:26px; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) 120ms both; }
html[data-ui="erp"] .arc-bienvenida-escena { width:44px!important; height:44px!important; margin:0!important; flex:none; }
html[data-ui="erp"] .arc-bienvenida-avatar { inset:0!important; font-size:15px!important; box-shadow:0 0 0 1px var(--fc-border)!important; animation:arc-avatar 480ms var(--arc-ease-enter) both; }
html[data-ui="erp"] .arc-bienvenida-anillo { display:none; }
html[data-ui="erp"] .arc-bienvenida-insignia { right:-3px!important; bottom:-3px!important; width:18px!important; height:18px!important; border-width:2px!important; }
html[data-ui="erp"] .arc-bienvenida-quien { display:grid; gap:1px; min-width:0; }
html[data-ui="erp"] .arc-bienvenida-quien b { font-size:14.5px; font-weight:600; color:var(--fc-ink); }
html[data-ui="erp"] .arc-bienvenida-quien small { font-size:12.5px; color:var(--fc-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-ui="erp"] .arc-bienvenida h2 { font-size:clamp(30px, 4.2vw, 40px)!important; font-weight:400!important; letter-spacing:-.045em!important; line-height:1.05; margin:0 0 12px!important; text-wrap:balance; }
html[data-ui="erp"] .arc-bienvenida p { font-size:15px!important; line-height:1.5; color:var(--fc-muted); text-wrap:pretty; max-width:34ch; }
html[data-ui="erp"] .arc-bienvenida-cifras, html[data-ui="erp"] .arc-bienvenida-cierre { display:none; }
/* Identidad en columna: la foto arriba y el nombre grande debajo; el cargo y el correo, en gris. */
html[data-ui="erp"] .arc-bienvenida-id { flex-direction:column; align-items:flex-start; gap:14px; margin-bottom:22px; }
html[data-ui="erp"] .arc-bienvenida-escena { width:64px!important; height:64px!important; }
html[data-ui="erp"] .arc-bienvenida-avatar { font-size:20px!important; }
html[data-ui="erp"] .arc-bienvenida-insignia { width:22px!important; height:22px!important; right:-2px!important; bottom:-2px!important; }
html[data-ui="erp"] .arc-bienvenida-quien b { font-family:var(--arc-display); font-size:26px; font-weight:400; letter-spacing:-.035em; line-height:1.1; }
html[data-ui="erp"] .arc-bienvenida-quien small { font-size:13.5px; margin-top:2px; }
html[data-ui="erp"] .arc-bienvenida h2 { font-size:clamp(22px, 2.6vw, 26px)!important; font-weight:500!important; letter-spacing:-.03em!important; color:var(--fc-ink); margin:0 0 8px!important; }

/* Una sola jerarquía: foto, el nombre como titular, una línea gris (cargo · fecha) y la frase. */
html[data-ui="erp"] .arc-bienvenida-id { gap:18px; margin-bottom:14px; }
html[data-ui="erp"] .arc-bienvenida-escena { width:72px!important; height:72px!important; }
html[data-ui="erp"] .arc-bienvenida-quien { gap:4px; }
html[data-ui="erp"] .arc-bienvenida-quien b { font-size:clamp(30px, 4vw, 38px); letter-spacing:-.045em; line-height:1.02; }
html[data-ui="erp"] .arc-bienvenida-quien small { font-size:14px; white-space:normal; }
html[data-ui="erp"] .arc-bienvenida p { margin-top:2px!important; }

/* ===== Bienvenida definitiva: foto grande centrada, nombre y cargo debajo, y el reparto en filas
   «concepto | dato» separadas por líneas, como la tarjeta «You're signed in» de Arc. ===== */
html[data-ui="erp"] .arc-bienvenida { align-items:stretch!important; text-align:center!important; padding:34px 32px 28px!important; }
html[data-ui="erp"] .arc-bienvenida-id { align-items:center; gap:14px; margin-bottom:18px; }
html[data-ui="erp"] .arc-bienvenida-escena { width:96px!important; height:96px!important; }
html[data-ui="erp"] .arc-bienvenida-anillo { display:block; }
html[data-ui="erp"] .arc-bienvenida-avatar { inset:6px!important; box-shadow:none!important; }
html[data-ui="erp"] .arc-bienvenida-insignia { width:26px!important; height:26px!important; right:2px!important; bottom:4px!important; }
html[data-ui="erp"] .arc-bienvenida-quien { justify-items:center; gap:3px; }
html[data-ui="erp"] .arc-bienvenida-quien b { font-size:clamp(26px, 3.4vw, 32px); }
html[data-ui="erp"] .arc-bienvenida-quien small { font-size:13.5px; }
html[data-ui="erp"] .arc-bienvenida-filas { margin:0; border-top:1px solid var(--fc-border); animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) 420ms both; }
html[data-ui="erp"] .arc-bienvenida-filas > div { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:11px 2px; border-bottom:1px solid var(--fc-border); font-size:14px; }
html[data-ui="erp"] .arc-bienvenida-filas dt { color:var(--fc-muted); white-space:nowrap; }
html[data-ui="erp"] .arc-bienvenida-filas dd { margin:0; color:var(--fc-ink); font-weight:500; text-align:right; display:grid; gap:1px; font-variant-numeric:tabular-nums; }
html[data-ui="erp"] .arc-bienvenida-filas dd small { font-size:12px; font-weight:400; color:var(--fc-error); }
html[data-ui="erp"] .arc-bienvenida p { margin:14px 0 0!important; max-width:none; font-size:13.5px!important; animation-delay:560ms!important; }
/* La foto de la bienvenida con el anillo de Arc: borde fino gris y un hueco blanco entre el borde y la foto. */
html[data-ui="erp"] .arc-bienvenida-anillo { display:none; }
html[data-ui="erp"] .arc-bienvenida-escena { border-radius:50%; box-shadow:0 0 0 1.5px var(--fc-border); background:var(--fc-card); }
html[data-ui="erp"] .arc-bienvenida-avatar { inset:5px!important; box-shadow:none!important; }
/* El anillo verde se dibuja sobre el borde gris, empezando y acabando en la insignia; cuando llega, salta el tick. */
html[data-ui="erp"] .arc-bienvenida-anillo { display:block; transform:rotate(45deg); z-index:1; }
html[data-ui="erp"] .arc-bienvenida-anillo circle { stroke-width:2; animation:arc-anillo 760ms cubic-bezier(.4,0,.2,1) 260ms forwards; }
html[data-ui="erp"] .arc-bienvenida-insignia { animation-delay:980ms!important; }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] .arc-bienvenida-anillo circle { animation-duration:1ms; } html[data-ui="erp"] .arc-bienvenida-insignia { animation-delay:0ms!important; } }

/* Sin el reparto: solo foto, nombre, cargo y una frase; todo centrado y con aire. */
html[data-ui="erp"] .arc-bienvenida { justify-content:center; }
html[data-ui="erp"] .arc-bienvenida-id { margin-bottom:10px; }
html[data-ui="erp"] .arc-bienvenida p { margin:6px 0 0!important; font-size:15px!important; color:var(--fc-muted); animation-delay:460ms!important; }

/* «¡Hola!» grande en Geist entre la identidad y la frase. */
html[data-ui="erp"] .arc-bienvenida h2.arc-bienvenida-hola { margin:14px 0 2px!important; font-family:var(--arc-display)!important; font-size:clamp(40px, 5.5vw, 56px)!important; font-weight:400!important; letter-spacing:-.05em!important; line-height:1!important; color:var(--fc-ink); animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) 380ms both!important; }
html[data-ui="erp"] .arc-bienvenida-quien b { font-size:22px; font-weight:500; letter-spacing:-.025em; font-family:var(--fc-font); }
html[data-ui="erp"] .arc-bienvenida p { animation-delay:520ms!important; }

/* Trazo interior de la tarjeta de bienvenida: un rectángulo redondeado fino que se dibuja solo. */
html[data-ui="erp"] .arc-bienvenida-marco { position:absolute; inset:14px; width:calc(100% - 28px); height:calc(100% - 28px); color:var(--fc-border); pointer-events:none; overflow:visible; }
html[data-ui="erp"] .arc-bienvenida-marco rect { stroke-dasharray:1; stroke-dashoffset:1; animation:arc-marco 1500ms cubic-bezier(.4,0,.2,1) 120ms forwards; }
@keyframes arc-marco { to { stroke-dashoffset:0; } }
html[data-ui="erp"] .arc-bienvenida > :not(.arc-bienvenida-marco):not(.arc-bienvenida-fondo) { position:relative; z-index:1; }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] .arc-bienvenida-marco rect { animation-duration:1ms; } }

/* ===== Verificación en dos pasos: seis casillas como el OTP de Arc ===== */
html[data-ui="erp"] .login-otp { display:grid; gap:16px; animation:arc-entrada var(--arc-considered) var(--arc-ease-enter) both; }
html[data-ui="erp"] .login-otp-texto { margin:0; font-size:14px; line-height:1.5; color:var(--fc-muted); text-align:center; }
html[data-ui="erp"] .login-otp-texto b { color:var(--fc-ink); font-weight:500; }
html[data-ui="erp"] .login-otp-casillas { display:flex; justify-content:center; gap:8px; }
html[data-ui="erp"] .login-otp-casillas input { width:44px; height:52px; padding:0!important; text-align:center; font-family:var(--arc-display); font-size:22px!important; font-weight:400; letter-spacing:0; border:1px solid var(--fc-border)!important; border-radius:12px!important; background:var(--fc-card)!important; color:var(--fc-ink); caret-color:var(--fc-ink); transition:border-color 140ms var(--arc-ease), background-color 140ms var(--arc-ease), transform 120ms var(--arc-ease); }
html[data-ui="erp"] .login-otp-casillas input.llena { border-color:var(--fc-ink)!important; background:var(--fc-secondary)!important; }
html[data-ui="erp"] .login-otp-casillas input:focus { border-color:var(--fc-ink)!important; box-shadow:0 0 0 3px oklch(0% 0 0 / .06)!important; outline:none; }
html[data-ui="erp"] .login-otp-casillas input.ok { border-color:var(--fc-success)!important; background:oklch(95% .05 150)!important; }
html[data-ui="erp"] .login-otp-casillas input.mal { border-color:var(--fc-error)!important; animation:arc-tiembla 320ms var(--arc-ease); }
@keyframes arc-tiembla { 0%,100% { transform:translateX(0); } 25% { transform:translateX(-4px); } 75% { transform:translateX(4px); } }
html[data-ui="erp"] .login-otp-demo { margin:-6px 0 0; font-size:12px; color:var(--fc-muted); text-align:center; }
html[data-ui="erp"] .login-otp-boton { width:100%; min-height:44px; }
html[data-ui="erp"] .login-otp-boton:disabled { opacity:.45; }
html[data-ui="erp"] .login-otp-pie { display:flex; justify-content:space-between; gap:12px; }
html[data-ui="erp"] .login-otp-enlace { border:0; background:none; padding:4px 0; font:500 13px var(--fc-font, inherit); color:var(--fc-ink); cursor:pointer; text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--fc-border); }
html[data-ui="erp"] .login-otp-enlace:disabled { color:var(--fc-muted); text-decoration:none; cursor:default; }
html[data-ui="erp"] .login-otp-enlace span { font-variant-numeric:tabular-nums; }
@media (max-width:380px) { html[data-ui="erp"] .login-otp-casillas { gap:6px; } html[data-ui="erp"] .login-otp-casillas input { width:40px; height:48px; } }

/* El aviso de «no se ha podido cargar» de Inicio, como un estado vacío de Arc: icono, texto y botón. */
html[data-ui="erp"] #home-error { display:flex; flex-direction:column; align-items:center; gap:6px; padding:34px 24px!important; margin:0 0 18px; border:1px dashed var(--fc-border)!important; border-radius:24px!important; background:var(--fc-card)!important; color:var(--fc-ink)!important; text-align:center; font-size:13.5px; }
html[data-ui="erp"] #home-error.hidden { display:none; }
html[data-ui="erp"] #home-error::before { content:""; width:44px; height:44px; margin-bottom:6px; border-radius:14px; border:1px solid var(--fc-border); background:var(--fc-secondary) center / 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-2.64-6.36'/%3E%3Cpath d='M21 3v6h-6'/%3E%3C/svg%3E"); }
html[data-ui="erp"] #home-error b { font-weight:500; font-size:15px; }
html[data-ui="erp"] #home-error span { color:var(--fc-muted); }
html[data-ui="erp"] #home-error .btn { margin-top:10px; }

/* ===== Bienvenida · onda verde al llegar el tick, trazo que se queda verde, y transición de salida ===== */
html[data-ui="erp"] .arc-bienvenida-fondo { position:absolute!important; inset:14px; border-radius:22px; overflow:hidden; pointer-events:none; z-index:0; }
html[data-ui="erp"] .arc-bienvenida-onda { position:absolute; width:12px; height:12px; margin:-6px 0 0 -6px; border-radius:50%; background:radial-gradient(circle, oklch(94% .06 150) 0%, oklch(96.5% .04 150) 55%, oklch(98.2% .02 150) 100%); opacity:0; transform:scale(0); opacity:0; }
html[data-ui="erp"] .arc-bienvenida-ok .arc-bienvenida-onda { animation:arc-onda-verde 1400ms cubic-bezier(.35,.4,.25,1) forwards; }
@keyframes arc-onda-verde { 0% { transform:scale(0); opacity:0; } 10% { opacity:.3; } 100% { transform:scale(75); opacity:.3; } }
/* El trazo verde se dibuja sobre el gris, recorriendo el rectángulo desde arriba a la izquierda. */
html[data-ui="erp"] .arc-bienvenida-marco rect.verde { stroke:var(--fc-success); stroke-width:2; stroke-dasharray:1; stroke-dashoffset:1; animation:none; }
html[data-ui="erp"] .arc-bienvenida-ok .arc-bienvenida-marco rect.verde { animation:arc-marco 1300ms cubic-bezier(.4,0,.2,1) 420ms forwards; }
/* Salida: la tarjeta crece un poco y se desvanece; el fondo del acceso se apaga con ella. */
html[data-ui="erp"] #login-screen > div.arc-bienvenida-salida { animation:arc-tarjeta-salida 420ms var(--arc-ease) forwards!important; }
@keyframes arc-tarjeta-salida { to { opacity:0; transform:scale(1.04); filter:blur(8px); } }
html[data-ui="erp"] #login-screen.arc-login-salida { animation:arc-fondo-salida 420ms var(--arc-ease) 60ms forwards; }
@keyframes arc-fondo-salida { to { opacity:0; } }
/* Entrada de la aplicación tras la bienvenida: menú desde la izquierda y contenido subiendo, en escalón. */
html[data-ui="erp"].arc-entrando-listo .nav-sidebar { animation:arc-llega-izq 700ms var(--arc-ease-enter) both; }
html[data-ui="erp"].arc-entrando-listo .main-content { animation:arc-llega-arriba 760ms var(--arc-ease-enter) 120ms both; }
@keyframes arc-llega-izq { from { opacity:0; transform:translateX(-18px); } }
@keyframes arc-llega-arriba { from { opacity:0; transform:translateY(14px); } }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] .arc-bienvenida-onda, html[data-ui="erp"].arc-entrando .nav-sidebar, html[data-ui="erp"].arc-entrando .main-content { animation:none!important; } }

/* ===== Bienvenida: mientras el anillo rodea la foto, el fondo se va poniendo verde (muy suave) al
   mismo ritmo; al salir el tick, aparece de golpe el trazo verde del marco. ===== */
html[data-ui="erp"] .arc-bienvenida-onda { display:none!important; }
html[data-ui="erp"] .arc-bienvenida-fondo { background:radial-gradient(ellipse at 50% 30%, oklch(94% .06 150) 0%, oklch(96.5% .04 150) 55%, oklch(98.2% .02 150) 100%); opacity:0; animation:arc-fondo-verde 760ms cubic-bezier(.4,0,.2,1) 260ms forwards; }
@keyframes arc-fondo-verde { to { opacity:.3; } }
/* El trazo verde del marco se recorre (como el anillo) en cuanto sale el tick. */
html[data-ui="erp"] .arc-bienvenida-marco rect.verde { stroke-dasharray:1; stroke-dashoffset:1; opacity:1; animation:none!important; }
html[data-ui="erp"] .arc-bienvenida-ok .arc-bienvenida-marco rect.verde { animation:arc-marco 1300ms cubic-bezier(.4,0,.2,1) 0ms forwards!important; }
@keyframes arc-marco-aparece { to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] .arc-bienvenida-fondo { animation-duration:1ms; } }

/* El anillo de la foto y el trazo del marco se recorren a la vez, más despacio (1,6 s), y acaban juntos;
   el fondo se tiñe en ese mismo tiempo. El tick salta al cerrarse los dos. */
html[data-ui="erp"] .arc-bienvenida-anillo circle { animation:arc-anillo 1600ms cubic-bezier(.4,0,.2,1) 300ms forwards!important; }
html[data-ui="erp"] .arc-bienvenida-marco rect.verde { animation:arc-marco 1600ms cubic-bezier(.4,0,.2,1) 300ms forwards!important; }
html[data-ui="erp"] .arc-bienvenida-ok .arc-bienvenida-marco rect.verde { animation:arc-marco 1600ms cubic-bezier(.4,0,.2,1) 300ms forwards!important; }
html[data-ui="erp"] .arc-bienvenida-fondo { animation:arc-fondo-verde 1600ms cubic-bezier(.4,0,.2,1) 300ms forwards!important; }
html[data-ui="erp"] .arc-bienvenida-insignia { animation-delay:1900ms!important; }

/* ===== Telón entre la bienvenida y el programa: el mismo fondo del acceso tapa la página desde el
   primer pintado hasta que Inicio está listo; entonces se levanta y el programa entra en escalón. ===== */
html.arc-entrando body::after { content:""; position:fixed; inset:0; z-index:2147483000; pointer-events:none; background:radial-gradient(ellipse 70% 60% at 15% 10%,oklch(93% .04 295) 0,transparent 60%),radial-gradient(ellipse 60% 55% at 90% 20%,oklch(94% .035 235) 0,transparent 60%),radial-gradient(ellipse 70% 60% at 70% 100%,oklch(95% .04 60) 0,transparent 60%),oklch(98.6% 0 0); }
html.arc-entrando:not(.arc-entrando-listo) .app, html.arc-entrando:not(.arc-entrando-listo) #login-screen { visibility:hidden; }
html.arc-entrando-listo body::after { animation:arc-telon 720ms cubic-bezier(.4,0,.2,1) forwards; }
@keyframes arc-telon { to { opacity:0; } }
html.arc-entrando-listo .app { visibility:visible; }
@media (prefers-reduced-motion:reduce) { html.arc-entrando-listo body::after { animation-duration:1ms; } }

/* La pantalla de acceso va por encima del programa, que se monta debajo durante la bienvenida. */
html[data-ui="erp"] #login-screen { position:fixed; inset:0; z-index:9000; }
html[data-ui="erp"] #login-screen.arc-login-salida { animation:arc-fondo-salida 520ms var(--arc-ease) 0ms forwards; pointer-events:none; }

/* ===== Diálogos de confirmación como el «dialog» de Arc: fondo oscurecido y desenfocado, tarjeta
   que entra con un muelle, icono tintado, título corto y detalle en gris; acciones a la derecha,
   la peligrosa en rojo suave. ===== */
html[data-ui="erp"] .ui-dialog-overlay { background:oklch(10% 0 0 / .42)!important; backdrop-filter:blur(7px)!important; -webkit-backdrop-filter:blur(7px); transition:opacity 240ms var(--arc-ease)!important; }
html[data-ui="erp"] .ui-dialog { max-width:440px!important; padding:0!important; border-radius:24px!important; border:1px solid var(--fc-border)!important; background:var(--fc-card)!important; box-shadow:var(--fc-floating)!important; transform:translateY(10px) scale(.96)!important; opacity:0; transition:transform 480ms cubic-bezier(.34,1.3,.64,1), opacity 180ms var(--arc-ease)!important; }
html[data-ui="erp"] .ui-dialog-show .ui-dialog { transform:none!important; opacity:1; }
html[data-ui="erp"] .ui-dialog-cab { display:flex; align-items:flex-start; gap:14px; padding:22px 24px 20px; border-bottom:1px solid var(--fc-border); }
html[data-ui="erp"] .ui-dialog-ico { flex:none; display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:var(--fc-secondary); border:1px solid var(--fc-border); color:var(--fc-ink); }
html[data-ui="erp"] .ui-dialog-peligro .ui-dialog-ico { background:oklch(96% .04 25); border-color:oklch(90% .06 25); color:oklch(50% .18 25); }
html[data-ui="erp"] .ui-dialog-texto { min-width:0; flex:1; }
html[data-ui="erp"] .ui-dialog-title { margin:0!important; font-size:16px!important; font-weight:500!important; letter-spacing:-.01em; line-height:1.35; color:var(--fc-ink)!important; }
html[data-ui="erp"] .ui-dialog-msg { margin:6px 0 0!important; font-size:13.5px!important; line-height:1.5; color:var(--fc-muted)!important; }
html[data-ui="erp"] .ui-dialog-actions { margin:0!important; padding:14px 20px 18px; gap:8px!important; }
html[data-ui="erp"] .ui-dialog-actions .btn { min-height:40px; padding:0 18px!important; font-size:14px!important; }
html[data-ui="erp"] .ui-dialog-danger { background:oklch(96% .04 25)!important; color:oklch(45% .18 25)!important; border:1px solid oklch(90% .06 25)!important; box-shadow:none!important; }
html[data-ui="erp"] .ui-dialog-danger:hover { background:oklch(93% .06 25)!important; }
@media (max-width:480px) { html[data-ui="erp"] .ui-dialog-cab { padding:18px 18px 16px; } html[data-ui="erp"] .ui-dialog-actions { padding:12px 14px 14px; } html[data-ui="erp"] .ui-dialog-actions .btn { flex:1; } }
@media (prefers-reduced-motion:reduce) { html[data-ui="erp"] .ui-dialog { transition:none!important; } }
/* La ventanita que pide un dato (uiPrompt): su campo con el aspecto de la aplicación */
html[data-ui="erp"] .ui-dialog-input { height:42px; padding:0 14px!important; border:1px solid var(--fc-border)!important; border-radius:12px!important; background:var(--fc-card)!important; color:var(--fc-ink)!important; font:inherit; font-size:15px!important; box-shadow:none!important; }
html[data-ui="erp"] .ui-dialog-input:focus { outline:none; border-color:oklch(78% 0 0)!important; box-shadow:0 0 0 4px oklch(0% 0 0 / .05)!important; }
html[data-ui="erp"] .ui-dialog-input[type=number] { -moz-appearance:textfield; }
html[data-ui="erp"] .ui-dialog-input[type=number]::-webkit-inner-spin-button, html[data-ui="erp"] .ui-dialog-input[type=number]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
html[data-ui="erp"] .ui-dialog-pregunta .ui-dialog-title + .ui-dialog-msg { margin-top:4px!important; }

/* ---- Tarifas de venta (Productos → Tarifas) y el selector de tarifa del presupuesto ---- */
.view-header-acciones { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.tar-modal { width:min(980px, calc(100vw - 32px)); max-width:none; }
.tar-cuerpo { display:grid; grid-template-columns:220px minmax(0,1fr); gap:18px; min-height:0; }
.tar-lista { display:flex; flex-direction:column; gap:6px; padding-right:14px; border-right:1px solid var(--arc-borde, oklch(93% 0 0)); }
.tar-lista #tar-lista { display:flex; flex-direction:column; gap:4px; }
.tar-item { display:flex; flex-direction:column; align-items:flex-start; gap:2px; width:100%; padding:9px 11px; border:0; border-radius:11px; background:transparent; font:inherit; text-align:left; cursor:pointer; color:var(--arc-fg, #111); transition:background .15s; }
.tar-item:hover { background:var(--arc-hover, oklch(96.5% 0 0)); }
.tar-item.activo { background:var(--arc-sel, oklch(95% 0 0)); box-shadow:inset 0 0 0 1px var(--arc-borde, oklch(91% 0 0)); }
.tar-item b { font-size:13.5px; font-weight:600; }
.tar-item small { font-size:12px; color:var(--arc-mut, oklch(50% 0 0)); }
.tar-vacio { margin:4px 2px 8px; font-size:13px; color:var(--arc-mut, oklch(50% 0 0)); }
.tar-lista > .btn { margin-top:4px; align-self:flex-start; }
.tar-form { display:flex; flex-direction:column; gap:12px; min-width:0; }
.tar-cab { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:10px 14px; align-items:end; }
.tar-cab .form-group { margin:0; }
.tar-pct { display:flex; align-items:center; gap:6px; }
.tar-pct input { width:100%; }
.tar-pct span { color:var(--arc-mut, oklch(50% 0 0)); }
.tar-check { display:flex; align-items:center; gap:8px; font-size:13.5px; cursor:pointer; }
.tar-ayuda { margin:0; font-size:12.5px; color:var(--arc-mut, oklch(50% 0 0)); }
.tar-tabla-caja { max-height:46vh; overflow:auto; border:1px solid var(--arc-borde, oklch(93% 0 0)); border-radius:12px; }
.tar-tabla { margin:0; }
.tar-tabla th { position:sticky; top:0; z-index:1; background:var(--arc-fondo-card, #fff); }
.tar-tabla .ra { text-align:right; white-space:nowrap; }
.tar-tabla .tar-precio { width:110px; text-align:right; }
.tar-calc { color:var(--arc-sec, oklch(40% 0 0)); }
.tar-calc.tar-tachado { text-decoration:line-through; color:var(--arc-mut, oklch(60% 0 0)); }
.tar-pie { display:flex; align-items:center; gap:10px; }
.tar-pie span { flex:1; }
@media (max-width: 720px) {
  .tar-cuerpo { grid-template-columns:1fr; }
  .tar-lista { padding:0 0 12px; border-right:0; border-bottom:1px solid var(--arc-borde, oklch(93% 0 0)); }
  .tar-cab { grid-template-columns:1fr; }
}
.cw-step-head .pre-tarifa { display:inline-flex; align-items:center; gap:8px; margin-top:8px; font-size:13px; color:var(--arc-mut, oklch(50% 0 0)); }
.cw-step-head .pre-tarifa.hidden { display:none; }
.cw-step-head .pre-tarifa select { min-width:180px; height:34px; padding:0 30px 0 11px; border-radius:10px; font-size:13.5px; }

/* Contabilizador: la vista previa del asiento, destacada (tinte Arc, sumas y «Cuadra») */
html[data-ui="erp"] .ctz-asiento { margin-top:16px; padding:16px 18px; border-radius:16px; background:var(--arc-gradient-soft); border:1px solid color-mix(in oklab, oklch(60% .12 290) 30%, var(--fc-border)); box-shadow:var(--arc-resting); }
html[data-ui="erp"] .ctz-asiento-tit { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--fc-ink); letter-spacing:.06em; margin-bottom:10px; }
html[data-ui="erp"] .ctz-asiento-tit::before { content:""; width:9px; height:9px; border-radius:50%; background:oklch(60% .13 290); box-shadow:0 0 0 3px oklch(60% .13 290 / .2); }
html[data-ui="erp"] .ctz-asiento-tabla { font-size:13.5px; background:var(--fc-card); border-radius:12px; overflow:hidden; box-shadow:0 0 0 1px var(--fc-border); }
html[data-ui="erp"] .ctz-asiento-tabla th { padding:9px 12px; background:var(--fc-secondary); }
html[data-ui="erp"] .ctz-asiento-tabla td { padding:9px 12px; }
html[data-ui="erp"] .ctz-asiento-tabla .num { font-size:14px; }
html[data-ui="erp"] .ctz-asiento-prov td { background:color-mix(in oklab, oklch(60% .13 290) 6%, var(--fc-card)); }
html[data-ui="erp"] .ctz-asiento-prov td small { display:block; margin-top:2px; font-size:11.5px; font-weight:400; color:var(--fc-muted); }
html[data-ui="erp"] #ctz-asiento-pie td { padding:10px 12px; border-top:2px solid var(--fc-ink); border-bottom:0; font-weight:700; }
html[data-ui="erp"] .ctz-asiento-cuadra { margin-left:8px; padding:2px 8px; border-radius:999px; font-size:11.5px; font-weight:600; background:color-mix(in oklab, var(--fc-success) 16%, transparent); color:color-mix(in oklab, var(--fc-success) 75%, var(--fc-ink)); }
html[data-ui="erp"] .ctz-asiento-cuadra.mal { background:color-mix(in oklab, var(--fc-error) 16%, transparent); color:var(--fc-error); }

/* Remesa SEPA: filtros y selección */
.remesa-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 4px 0 10px; }
.remesa-filtros input[type="search"] { flex: 1 1 200px; min-width: 160px; }
.remesa-filtros select { flex: 0 1 200px; }
.remesa-filtros label { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-secondary); margin: 0; white-space: nowrap; }
.remesa-filtros label input[type="date"] { width: 150px; }
.remesa-filtros .remesa-chk { cursor: pointer; }
.remesa-tabla th:first-child, .remesa-tabla td:first-child { width: 36px; text-align: center; }
.remesa-tabla td { vertical-align: middle; }
.remesa-iban { font-variant-numeric: tabular-nums; letter-spacing: .02em; font-size: 13px; }
.remesa-tabla tr.remesa-no-lista td { opacity: .55; }
.remesa-filtros { padding: 10px; border: 1px solid var(--border-color, rgba(0,0,0,.08)); border-radius: 14px; background: var(--bg-secondary, rgba(0,0,0,.02)); }
.remesa-filtros input[type="search"], .remesa-filtros select, .remesa-filtros input[type="date"] {
  height: 38px; padding: 0 12px; border: 1px solid var(--border-color, rgba(0,0,0,.12)); border-radius: 10px;
  background: var(--bg-primary, #fff); color: var(--text-primary); font: inherit; font-size: 14px; box-shadow: none; }
.remesa-filtros input[type="search"]:focus, .remesa-filtros select:focus, .remesa-filtros input[type="date"]:focus { outline: none; border-color: var(--text-primary); }
html[data-ui="erp"] .ctz-asiento-tabla thead th, html[data-ui="erp"] .ctz-asiento-tabla thead th.num { font-size: 11px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(--text-secondary); }

/* Producto: accesorios que solo salen en el albarán de carga */
.prod-solo-carga { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border-radius:12px; background:var(--bg-secondary, rgba(0,0,0,.03)); border:1px solid var(--border-color, rgba(0,0,0,.08)); cursor:pointer; }
.prod-solo-carga input { margin-top:3px; }
.prod-solo-carga span { display:flex; flex-direction:column; gap:2px; font-size:14px; }
.prod-solo-carga small { color:var(--text-secondary); font-size:12.5px; }
.prod-acc { display:flex; flex-direction:column; gap:10px; }
.prod-acc-cab { display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.prod-acc-cab small, .prod-acc-vacio { color:var(--text-secondary); font-size:12.5px; margin:0; }
.prod-acc-lista { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.prod-acc-lista li { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:8px 10px 8px 14px; border-radius:12px; border:1px solid var(--border-color, rgba(0,0,0,.08)); }
.prod-acc-lista li.prod-acc-off { opacity:.55; }
.prod-acc-cant { font-variant-numeric:tabular-nums; font-weight:600; }
.prod-acc-nom { display:flex; flex-direction:column; min-width:0; }
.prod-acc-nom small { color:var(--text-secondary); font-size:12px; }
.prod-acc-nuevo { display:grid; grid-template-columns:76px minmax(0,1.6fr) minmax(0,1fr) auto; gap:8px; align-items:center; }
.prod-acc-nuevo #prod-acc-nombre { grid-column:2 / 3; grid-row:2; }
.prod-acc-nuevo :is(input, select) { height:38px; padding:0 10px; border-radius:10px; border:1px solid var(--border-color, rgba(0,0,0,.12)); background:var(--bg-primary, #fff); color:var(--text-primary); font:inherit; font-size:14px; min-width:0; }
.prod-badge-acc { margin-left:6px; font-size:11px; padding:2px 8px; border-radius:999px; background:var(--bg-secondary, rgba(0,0,0,.05)); color:var(--text-secondary); font-weight:500; }
@media (max-width: 640px) { .prod-acc-nuevo { grid-template-columns:70px minmax(0,1fr); } .prod-acc-nuevo #prod-acc-nombre { grid-column:1 / -1; grid-row:auto; } }
