/* Contabilidad · capa «CRM» (14/11/2026), inspirada en la aplicación de Attio (su producto, no su página de
   marketing; no se copian archivos, logos ni imágenes): barra lateral completa gris muy claro con espacio de trabajo,
   acciones rápidas (Ctrl+K), rótulos de sección, contenido blanco y denso, tablas tipo hoja de cálculo, embudo por
   columnas con tarjetas de borde fino, botones blancos con borde y el principal en azul. Se carga después de tema.css. */
:root{
  --a-bg:#ffffff;--a-side:#fbfbfb;--a-line:#eeeff1;--a-line-2:#e4e5e7;--a-hover:#f4f5f6;--a-activo:#eeeff1;
  --a-ink:#1c1d1f;--a-ink-2:#5c5e63;--a-muted:#75777c;--a-faint:#a0a2a7;
  --a-azul:#266df0;--a-azul-h:#1f5fd6;--a-azul-bg:#eaf1fe;
  --a-sombra:0 1px 2px rgba(16,24,40,.04);--a-sombra-2:0 4px 16px rgba(16,24,40,.08),0 0 0 1px rgba(16,24,40,.06);
  --x-ink:var(--a-ink);--x-ink-2:var(--a-ink-2);--x-muted:var(--a-muted);--x-faint:var(--a-faint);--x-line:var(--a-line);--x-line-2:var(--a-line-2);
  --x-panel-2:#f7f7f8;--x-black:var(--a-azul);--x-link:var(--a-azul);--lateral:232px;--alto-top:48px;
}
html body{font-size:14px;color:var(--a-ink);background:var(--a-bg)}
body::before{display:none!important} /* sin resplandor: la app es blanca y sobria */

/* ---------- Barra superior: miga de pan a la izquierda, estado y salir a la derecha ---------- */
.topbar{height:48px;background:#fff;border-bottom:1px solid var(--a-line);backdrop-filter:none}
@media (min-width:901px){.topbar{left:232px}.topbar .logo{display:none}}
.miga{display:flex;align-items:center;gap:8px;font:500 13.5px/1 var(--x-font);color:var(--a-ink)}
.miga .lu{width:15px;height:15px;color:var(--a-muted)}
.miga span{color:var(--a-faint)}
#estado-ia.pill{border-radius:6px;font-size:12px}
.btn-util{border-radius:8px;box-shadow:none;border:1px solid var(--a-line-2);background:#fff}

/* ---------- Barra lateral completa (escritorio) ---------- */
@media (min-width:901px){
  .sidebar{top:0;width:232px;padding:10px 10px 12px;background:var(--a-side);border-right:1px solid var(--a-line);align-items:stretch;overflow-y:auto;overflow-x:hidden}
  .espacio{display:flex;align-items:center;gap:9px;padding:6px 8px 10px;font:600 14px/1 var(--x-font);color:var(--a-ink)}
  .espacio .marca{width:24px;height:24px;border-radius:7px;background:var(--a-ink)}
  .espacio .marca svg{width:14px;height:14px}
  .buscar-rapido{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;margin:0 0 10px;padding:0 8px;border-radius:8px;background:#fff;border:1px solid var(--a-line-2);box-shadow:var(--a-sombra);color:var(--a-muted);font:400 13px/1 var(--x-font);justify-content:flex-start}
  .buscar-rapido:hover:not(:disabled){background:#fff;border-color:#d6d8db}
  .buscar-rapido .lu{width:15px;height:15px}
  .buscar-rapido kbd{margin-left:auto}
  .sidebar nav{gap:1px;justify-items:stretch}
  .sidebar nav a{width:auto;height:32px;min-height:32px;padding:0 8px;justify-content:flex-start;gap:9px;border-radius:7px;font:500 13.5px/1 var(--x-font);color:var(--a-ink-2);background:none;box-shadow:none}
  .sidebar nav a::after{display:none}
  .sidebar nav a .chip,.sidebar nav a.activo .chip{width:20px;height:20px;border-radius:5px}
  .sidebar nav a .lu{width:13px;height:13px}
  .sidebar nav a:hover{background:var(--a-hover);color:var(--a-ink)}
  .sidebar nav a.activo{background:var(--a-activo);color:var(--a-ink);box-shadow:none;font-weight:500}
  .sidebar nav a:hover .chip,.sidebar nav a:hover + a .chip,.sidebar nav a:has(+ a:hover) .chip{transform:none}
  .sidebar .nav-head{font:500 11.5px/1 var(--x-font);width:auto;height:auto;background:none;margin:16px 8px 6px;color:var(--a-faint);letter-spacing:0;text-transform:none}
  .sidebar-foot{margin-top:auto;padding:10px 4px 0;border-top:1px solid var(--a-line)}
  .sidebar-foot>*:not(.avatar),.sidebar-foot .pie-caja{display:grid!important;position:static!important;box-shadow:none!important;background:none!important;padding:0!important;min-width:0!important;gap:2px}
  .sidebar-foot .avatar{display:none}
  main{margin-left:232px;max-width:calc(1400px + 232px);padding:calc(48px + 28px) 40px 80px}
}

/* ---------- Encabezado de módulo: título compacto como el de un registro ---------- */
.page-top{margin-bottom:18px;gap:12px}
.pt-ic{width:32px;height:32px;border-radius:8px}
.pt-ic .lu{width:17px;height:17px}
.pt-pre{display:none}
.page-top h1{font:600 22px/1.2 var(--x-font);letter-spacing:-.015em}
#v-inicio .page-top.hero{padding:6px 0 18px}
.saludo{font:500 13px/1 var(--x-font);color:var(--a-muted)}
.titular{font:600 30px/1.15 var(--x-font);letter-spacing:-.02em}

/* ---------- Superficies: borde fino, casi sin sombra ---------- */
.panel,details.panel,.vista>.panel,.vista>section.panel,.tarjetas,.modulo,.mat-estado,[role=status].mat-estado{border:1px solid var(--a-line)!important;border-radius:10px;box-shadow:var(--a-sombra)}
.panel{padding:18px 20px}
.panel h2,dialog h2{font:600 14.5px/1.3 var(--x-font)}
.panel>.fila.entre:first-child,.panel>h2:first-child{padding-bottom:12px;margin-bottom:14px}
.seguimiento{background:#fafafa;border:1px solid var(--a-line);border-radius:10px}

/* ---------- Botones: blancos con borde; el principal en azul ---------- */
button{border-radius:8px;background:#fff;color:var(--a-ink);border:1px solid var(--a-line-2);box-shadow:var(--a-sombra);font:500 13px/1.2 var(--x-font);min-height:32px;padding:6px 12px}
button:hover:not(:disabled){background:var(--a-hover);border-color:#d6d8db}
button.primary{background:var(--a-azul);border-color:var(--a-azul);color:#fff;box-shadow:0 1px 2px rgba(38,109,240,.25),inset 0 1px 0 rgba(255,255,255,.12)}
button.primary:hover:not(:disabled){background:var(--a-azul-h);border-color:var(--a-azul-h)}
button.primary:disabled{background:#b9cdf7;border-color:#b9cdf7}
button.enlace,.enlace{border:0;box-shadow:none;color:var(--a-azul)}
.pestanas [role=tab],.mat-tabs [role=tab]{border:0}

/* ---------- Campos ---------- */
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border-radius:8px;box-shadow:inset 0 0 0 1px var(--a-line-2);font-size:13.5px}
input:focus,select:focus,textarea:focus{box-shadow:inset 0 0 0 1px var(--a-azul),0 0 0 3px rgba(38,109,240,.16)}

/* ---------- Tablas tipo hoja de cálculo ---------- */
.tabla{border-radius:10px;box-shadow:inset 0 0 0 1px var(--a-line)}
table{font-size:13px}
th{background:#fbfbfb;color:var(--a-muted);font:500 12.5px/1.2 var(--x-font);height:34px;border-bottom:1px solid var(--a-line);border-right:1px solid var(--a-line)}
td{padding:8px 12px;border-bottom:1px solid var(--a-line);border-right:1px solid var(--a-line)}
th:last-child,td:last-child{border-right:0}
tbody tr:hover{background:#fafbfc}

/* ---------- Etiquetas como las de Attio: fondo suave y punto ---------- */
.est,.tag,.pill:not(#estado-ia){border-radius:6px;font:500 12px/1 var(--x-font);padding:4px 8px}

/* ---------- Embudo por columnas (tablero) ---------- */
.kb-col{background:#fafafa;box-shadow:none;border:1px solid var(--a-line);border-radius:12px;padding:8px}
.kb-cab{text-transform:none;letter-spacing:0;font:500 13px/1 var(--x-font);color:var(--a-ink);padding:6px 6px 10px}
.kb-cab b{color:var(--a-ink)}
.kb-n{box-shadow:none;background:#efeff1;color:var(--a-muted)}
.kb-tarjeta{border:1px solid var(--a-line);box-shadow:var(--a-sombra);border-radius:8px;padding:11px 12px}
.kb-tarjeta:hover:not(:disabled){border-color:#dcdee1;box-shadow:var(--a-sombra-2);transform:none}
.kb-tarjeta::before{display:none}

/* ---------- Tarjetas de cifras ---------- */
.tarjeta strong{font:600 22px/1.15 var(--x-font)}
.tarjeta span{text-transform:none;letter-spacing:0;font:500 12px/1.3 var(--x-font);color:var(--a-muted)}

/* ---------- Vista de incidencia (revisión de casos) ---------- */
dialog{border-radius:12px}
.inc-props{background:#fbfbfb}
.inc-ic{background:var(--a-azul-bg);color:var(--a-azul)}

/* ---------- Paleta de comandos (Ctrl+K) ---------- */
.paleta{width:min(620px,94vw);padding:0;border:0;border-radius:12px;box-shadow:0 24px 64px rgba(16,24,40,.22),0 0 0 1px rgba(16,24,40,.08)}
.paleta::backdrop{background:rgba(16,24,40,.25);backdrop-filter:blur(2px)}
.paleta input{width:100%;min-height:48px!important;border:0!important;box-shadow:none!important;border-bottom:1px solid var(--a-line)!important;border-radius:0!important;padding:0 16px!important;font-size:15px!important}
.paleta ul{list-style:none;margin:0;padding:6px;max-height:360px;overflow:auto}
.paleta li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:13.5px;color:var(--a-ink)}
.paleta li .chip{width:22px;height:22px;border-radius:6px;display:grid;place-items:center}
.paleta li .chip .lu{width:13px;height:13px}
.paleta li small{margin-left:auto;color:var(--a-faint)}
.paleta li[aria-selected=true]{background:var(--a-activo)}
.paleta .grupo{padding:10px 10px 4px;font:500 11.5px/1 var(--x-font);color:var(--a-faint);cursor:default}
.paleta-pie{display:flex;gap:14px;padding:8px 14px;border-top:1px solid var(--a-line);font-size:12px;color:var(--a-faint)}
.miga b{font-weight:500;color:var(--a-ink)}
#acceso p:not([id]){display:none}

/* Ajustes con datos reales (14/11/2026) */
.kanban{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));overflow:visible}
.kb-col{max-height:none}
.kb-lista{max-height:62vh}
.tarjeta strong{font-size:clamp(16px,1.55vw,22px)}
.modulo .hoy{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kb-base{flex-wrap:wrap;row-gap:6px}
.kb-marcas{justify-content:flex-start;flex-wrap:nowrap}
.kb-lista{scrollbar-width:thin;scrollbar-color:#d9dade transparent}

/* ================= Tableros de Desistimientos y TEX (14/11/2026) ================= */
#tarjetas,#tex-tarjetas,#tex-graficos{display:none!important}
.dash{display:grid;gap:14px;margin:0 0 18px}
.dash:empty{display:none}
.dash-cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.dash-cifra{position:relative;display:grid;gap:6px;align-content:start;padding:14px 16px;background:#fff;border:1px solid var(--a-line);border-radius:12px;box-shadow:var(--a-sombra);color:var(--a-ink);text-decoration:none}
a.dash-cifra:hover{border-color:#dcdee1;box-shadow:var(--a-sombra-2)}
.dash-et{display:flex;align-items:center;gap:7px;font:500 12.5px/1.2 var(--x-font);color:var(--a-muted)}
.dash-punto{flex:none;width:8px;height:8px;border-radius:50%;background:var(--tono,#a0a2a7)}
.t-critico{--tono:#d03b3b}.t-aviso{--tono:#fab219}.t-bien{--tono:#0ca30c}.t-azul{--tono:#2a78d6}.t-serio{--tono:#ec835a}
.dash-valor{font:600 clamp(18px,1.7vw,26px)/1.1 var(--x-font);letter-spacing:-.02em;color:var(--a-ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-nota{font-size:12px;color:var(--a-muted);line-height:1.35}
.dash-avance{display:block;height:6px;border-radius:99px;background:#eef0f2;overflow:hidden}
.dash-avance i{display:block;height:100%;border-radius:99px;background:var(--tono,#0ca30c);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.dash-rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.dash-graf{margin:0;padding:14px 16px 16px;background:#fff;border:1px solid var(--a-line);border-radius:12px;box-shadow:var(--a-sombra);min-width:0}
.dash-graf figcaption{margin:0 0 12px;font:600 13.5px/1.3 var(--x-font);color:var(--a-ink)}
.g-vacio{margin:0;color:var(--a-faint);font-size:13px}
/* barras horizontales y apiladas */
.g-barras{display:grid;gap:9px}
.g-fila{display:grid;grid-template-columns:minmax(64px,90px) 1fr auto;align-items:center;gap:10px;font-size:12.5px}
.g-etq{color:var(--a-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-pista{display:flex;height:12px;border-radius:0 4px 4px 0}
.g-pista>i{display:block;height:100%;border-radius:0 4px 4px 0;transition:filter .12s ease-out}
.g-apilada{width:var(--ancho);gap:2px}
.g-apilada>i{border-radius:0;min-width:3px}
.g-apilada>i:last-child{border-radius:0 4px 4px 0}
.g-pista>i:hover,.g-col-pista>i:hover,.g-prop>i:hover{filter:brightness(.92)}
.g-val{color:var(--a-ink);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.g-leyenda{display:flex;flex-wrap:wrap;gap:6px 14px;margin:-4px 0 12px;font-size:12px;color:var(--a-ink-2)}
.g-leyenda span{display:inline-flex;align-items:center;gap:6px}
.g-leyenda i,.g-prop-leyenda i{width:9px;height:9px;border-radius:3px}
/* columnas en el tiempo */
.g-cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:6px;align-items:end;height:170px;padding-top:4px;border-bottom:1px solid var(--a-line)}
.g-col{display:grid;grid-template-rows:auto 1fr auto;height:100%;min-width:0;text-align:center}
.g-col-val{font-size:11px;color:var(--a-ink);font-variant-numeric:tabular-nums;min-height:14px;font-weight:500}
.g-col-pista{display:flex;align-items:flex-end;justify-content:center}
.g-col-pista>i{display:block;width:min(70%,26px);border-radius:4px 4px 0 0;transition:filter .12s ease-out}
.g-col-etq{padding-top:6px;margin-bottom:-22px;font-size:11px;color:var(--a-muted);white-space:nowrap}
.dash-graf:has(.g-cols){padding-bottom:30px}
/* proporción */
.g-prop{display:flex;gap:2px;height:14px;border-radius:5px;overflow:hidden;margin-bottom:14px}
.g-prop>i{display:block;min-width:3px}
.g-prop-leyenda{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.g-prop-leyenda li{display:grid;grid-template-columns:auto 1fr auto 44px;align-items:center;gap:8px;font-size:12.5px;color:var(--a-ink-2)}
.g-prop-leyenda b{color:var(--a-ink);font-weight:500;font-variant-numeric:tabular-nums}
.g-prop-leyenda small{color:var(--a-muted);text-align:right;font-variant-numeric:tabular-nums}
/* aviso al pasar el mouse */
.viz-tip{position:fixed;left:0;top:0;z-index:150;pointer-events:none;padding:6px 9px;border-radius:7px;background:#1c1d1f;color:#fff;font:500 12px/1.3 var(--x-font);box-shadow:0 6px 18px rgba(0,0,0,.18);white-space:nowrap}
.viz-tip[hidden]{display:none}
/* entrada de los tableros la primera vez */
.vista.primera-vez .dash-graf,.vista.primera-vez .dash-cifra{animation:entra .45s cubic-bezier(.2,.8,.2,1) both}
.vista.primera-vez .g-pista>i,.vista.primera-vez .g-col-pista>i,.vista.primera-vez .g-prop{animation:crece .7s cubic-bezier(.2,.8,.2,1) both .15s}
@keyframes crece{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.vista.primera-vez .dash-graf,.vista.primera-vez .dash-cifra,.vista.primera-vez .g-pista>i,.vista.primera-vez .g-col-pista>i,.vista.primera-vez .g-prop{animation:none}}
.dash-cifra.largo .dash-valor{font-size:clamp(16px,1.35vw,20px)}
@media (min-width:1100px){#desist-dash .dash-rejilla{grid-template-columns:1.2fr 1fr 1fr}#tex-dash .dash-rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Reembolsos: visto bueno del jefe (14/11/2026) */
.reem-vb-aviso{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border-radius:10px;border:1px solid var(--a-line);background:#fafafa;font-size:13px}
.reem-vb-aviso p{margin:4px 0 0;color:var(--a-ink-2);max-width:70ch}
.reem-vb-aviso.vb-detectado{background:#effaf3;border-color:#c9ecd6}.reem-vb-aviso.vb-detectado b{color:#167a3d}
.reem-vb-aviso.vb-falta,.reem-vb-aviso.vb-negado{background:#fdf1f1;border-color:#f3cfcf}.reem-vb-aviso.vb-falta b,.reem-vb-aviso.vb-negado b{color:#b42323}
.reem-vb-aviso.vb-mencionado{background:#fff7e6;border-color:#f3dcae}.reem-vb-aviso.vb-mencionado b{color:#8a5a00}
.boton-enlace{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border-radius:8px;border:1px solid var(--a-line-2);background:#fff;color:var(--a-ink);font:500 13px/1.2 var(--x-font);text-decoration:none}
.boton-enlace:hover{background:var(--a-hover)}
.reem-vb{margin-bottom:4px}
#reem-atajos{display:flex;flex-wrap:wrap;gap:6px;align-items:center}#reem-atajos .pestanas{margin:0 6px 0 0}
