/* ══ Vista adic (#sec-adic) · Adicionales, Deductivos y Optimizaciones ══════════════════════
   Origen:
     · Dashboard: bloque <style id="adicionales-figma"> de ui/figma (781453a, index.html
       15734-15921), diseño del Figma «ADICIONALES / Dashboard» (780:2109), movido aquí.
     · Gestión de Adicionales / Optimizaciones: las reglas `#sec-adic …` que main inyectaba
       desde adicViewInjectStyles(), movidas aquí. En el inyector quedan solo las piezas
       que cuelgan del <body> (.adic-btn y .adic-badge base, #adicNvOv, #adicCtxOv y
       #adicCfOv): el diálogo adicConfirmar lo usan cinco vistas y no se toca desde aquí.
     · Impresión («Descargar PDF»): la regla @media print de ui/figma vive DENTRO del
       bloque `resumen-figma` (14718-14728). Ese bloque no está en la base común; se copia
       aquí la parte de Adicionales para que el botón imprima solo esta vista. Si Resumen
       trae su bloque entero, sobra una de las dos copias (ver lote3-adic.md).
       Lote 4 (integración, 13 vistas): esta es la ÚNICA copia —`resumen-figma` no está
       en la rama y ninguna otra hoja nombra `adic-imprimiendo`—. Quien traiga
       `resumen-figma` deja fuera sus líneas `adic-imprimiendo`: la regla es de
       Adicionales y vive aquí.

   Todo acotado a #sec-adic. Colores con las variables de tokens.css; donde la paleta no
   tiene el paso queda el hex del Figma con la nota «sin token» (no se edita tokens.css).

   Norma aplicada al portar (criterios-ui-esparq.md):
     · G01: fuera todo text-transform:uppercase (KPI, marca, títulos de bloque, cabeceras
       de tabla; una regla global pone los <th> en mayúsculas: hace falta `none`).
     · G04: nada por debajo de 10 px en escritorio ni de 12 px en el teléfono.
     · G05: botones pastilla con icono; G06: el Excel del top al alto de los demás botones.
     · G11: «Adicionales» | «Pendientes de Gerencia» | «Evaluación interna» = 3 contenedores,
       cada uno su tarjeta blanca con sombra; la vista de gestión ya no los envuelve en una. */

/* ── Armazón ── */
#sec-adic .adif-vista{ display:flex; flex-direction:column; gap:8px;           /* 780:2228 → 780:2240 */
  font-family:'Inter',system-ui,sans-serif; }
#sec-adic .adif-vista *{ box-sizing:border-box; }

/* ── Cabecera · 780:2228 ── */
#sec-adic .adif-cab{ display:flex; align-items:center; justify-content:space-between;
  gap:19px; padding:10px 20px 10px 0; background:var(--gray-1); border-radius:12px; }
#sec-adic .adif-cab-div{ align-self:stretch; width:1px; flex:none; min-height:36px;
  background:repeating-linear-gradient(180deg,var(--gray-4) 0 2px,transparent 2px 4px); }   /* 780:2236 */
#sec-adic .adif-btn{ flex:none; display:inline-flex; align-items:center; justify-content:center;
  gap:6px; padding:10px 18px; margin:0; border:0; border-radius:100px;
  background:linear-gradient(90deg,var(--degrade-1),var(--degrade-2)); color:var(--gray-1);
  font:700 14px/normal 'Inter',sans-serif; white-space:nowrap; cursor:pointer; }        /* 780:2237-2239 */
#sec-adic .adif-btn svg{ flex:none; }
#sec-adic .adif-btn:hover{ filter:brightness(.95); }
#sec-adic .adif-cab-tit{ flex:0 1 auto; min-width:0; padding-left:20px; display:flex;
  flex-direction:column; gap:4px; }                                                     /* 780:2230 */
#sec-adic .adif-cab-h{ margin:0; font:700 24px/28px 'Inter',sans-serif !important; color:#111827 !important; }   /* 780:2234 · sin token */
/* El h2 lleva `section-header` solo para que el recorrido guiado lo encuentre: la barra
   azul, el margen y el espaciado globales de .section-header no son de este diseño. */
#sec-adic .adif-cab-h.section-header{ display:block; margin:0 !important; padding:0 !important;
  letter-spacing:0 !important; text-transform:none !important; border:0 !important; }
#sec-adic .adif-cab-h.section-header::before{ display:none !important; content:none !important; }
#sec-adic .adif-cab-sub{ margin:0; font:400 14px/22px 'Inter',sans-serif; color:#4B5563; }   /* 780:2235 · sin token */
#sec-adic .adif-cab-sub:empty{ display:none; }
#sec-adic .adif-cab-sub b{ font-weight:600; color:var(--gray-7); }

/* ── La tasa de utilidad de la obra (#adicUtilNota) ──────────────────────────────────────
   Sin diseño en la UI. Es un aviso de la vista, arriba de las tres pestañas: se viste con
   el componente de aviso del tablero, «alert-banner» (264:331: fondo #FFE4E4 al 80 %, borde
   blanco, radio 12, 16 de aire, texto de 12 en red/400). Tres estados (adicNotaUtilidad):
     · la obra pactó su tasa, o es E140 → aviso informativo en azul (misma forma);
     · otra obra sin tasa propia → «Ojo con la utilidad», en rojo: es una cifra de dinero
       que no es suya.
   La caja para fijarla va dentro de la misma frase, como en main. */
#sec-adic #adicUtilNota:empty{ display:none; }
#sec-adic #adicUtilNota .adic-card-nota{ display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap;
  margin:0; padding:16px; border:1px solid var(--gray-1); border-radius:12px;
  background:var(--blue-50); color:var(--gray-7); font:400 12px/18px 'Inter',sans-serif; }
#sec-adic #adicUtilNota .adic-card-nota b{ font-weight:700; color:inherit; }
#sec-adic #adicUtilNota .adic-card-nota.adic-util-ojo{ background:rgba(255,228,228,.8); color:var(--red-400); }   /* 264:331 · sin token (fondo) */
#sec-adic #adicUtilNota .adic-util-ico{ flex:none; width:18px; height:18px; margin-top:0; }
#sec-adic #adicUtilNota .adic-util-txt{ flex:1 1 320px; min-width:0; }
#sec-adic .adic-util-caja{ display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap;
  vertical-align:middle; margin-left:4px; }
#sec-adic .adic-util-in{ width:84px; border:1px solid var(--blue-75); border-radius:8px; background:var(--gray-1);
  color:var(--gray-7); font:700 12px/16px 'Inter',sans-serif; padding:6px 10px; text-align:right; }
#sec-adic .adic-util-in:focus{ outline:2px solid var(--blue-300); outline-offset:1px; border-color:var(--blue-300); }
#sec-adic .adic-util-pct{ font:700 12px/16px 'Inter',sans-serif; color:inherit; }

/* ── Pestañas · 780:2241 ──
   La tarjeta la forman la tira de pestañas (arriba) y la fila de KPI (abajo) en el
   Dashboard. En Gestión la tira se cierra sola y los tres bloques van debajo, cada uno en
   su tarjeta (G11): antes la UI los metía en un contenedor blanco común. */
#sec-adic .adif-card{ background:var(--gray-1); border-radius:12px; box-shadow:0 0 3.25px rgba(0,0,0,.09); }
#sec-adic .adif-card-tabs{ background:none; box-shadow:none; border-radius:0; padding:0; }
#sec-adic .presup-subtabs.adif-tabs{ display:flex; flex-wrap:nowrap; gap:0; margin:0; padding:8px 20px;
  border:0; border-radius:12px 12px 0 0; overflow-x:auto; scrollbar-width:none;
  background:linear-gradient(var(--blue-50),var(--blue-50)) 20px calc(100% - 8px)/calc(100% - 40px) 2px no-repeat, var(--gray-1); }
#sec-adic .adif-tabs .presup-subtab{ flex:none; padding:8px 12px; margin:0; border:0; background:none;
  border-radius:0; box-shadow:inset 0 -2px 0 #ECEEF2; white-space:nowrap;                     /* sin token */
  font:400 14px/17px 'Inter',sans-serif; color:#677790; cursor:pointer; }                   /* 780:2249 · sin token */
#sec-adic .adif-tabs .presup-subtab.active{ box-shadow:inset 0 -2px 0 var(--blue-300); color:var(--blue-300); }   /* 780:2246 */
#sec-adic .adif-tabs .presup-subtab:not(.active):hover{ color:var(--gray-7); }
/* Gestión: la tira se cierra (radio 12 abajo también) y deja 16 hasta el primer bloque */
#sec-adic .adif-card-tabs:has(> #adicDashView[style*="none"]) .adif-tabs{ border-radius:12px; }
#sec-adic #adicGesView, #sec-adic #adicOptView{ display:flex; flex-direction:column; gap:16px; padding:16px 0 0; background:none; }

/* ── Los cuatro KPI · 780:2254 ── */
#sec-adic .adif-kpis{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px; padding:8px 12px 12px; background:var(--gray-1); border-radius:0 0 12px 12px; }
#sec-adic .adif-k{ min-height:144px; padding:20px; display:flex; flex-direction:column;
  justify-content:center; gap:8px; background:var(--gray-1); border:0;
  border-radius:12px; box-shadow:inset 0 0 0 1px var(--gray-2), 0 1px 4px rgba(0,0,0,.05); }   /* 780:2259 */
#sec-adic .adif-k-l{ font:700 12px/15px 'Inter',sans-serif; letter-spacing:0;
  text-transform:none; color:var(--gray-6); }                                              /* 780:2260 · G01, G03 */
#sec-adic .adif-k-v{ font:700 28px/34px 'Inter',sans-serif; color:var(--gray-7);
  white-space:nowrap; }                                                                    /* 780:2261 */
#sec-adic .adif-k-d{ margin:0; font:400 12px/15px 'Inter',sans-serif; color:var(--gray-5); }   /* 780:2262 */
/* La cuarta no tiene cifra: dice qué falta para tenerla (780:2267). */
#sec-adic .adif-k-tag{ display:inline-flex; align-items:center; align-self:flex-start;
  margin:4px 0 0; padding:2px 8px; border-radius:4px; background:#FDFBED;                  /* sin token */
  font:700 10px/12px 'Inter',sans-serif; letter-spacing:0; text-transform:none;
  color:var(--orange-400); }                                                               /* 780:2271 · G01, G04 */
#sec-adic .adif-k-cab{ display:flex; flex-direction:column; align-items:flex-start; gap:0; }   /* 780:2268 */
#sec-adic .adif-k-falta{ margin:0; font:600 12px/15px 'Inter',sans-serif; color:var(--blue-300); }   /* 780:2273 */
#sec-adic .adif-k-falta b{ color:inherit; font-weight:600; }

/* ── El bloque de desglose · 780:2274 ── */
#sec-adic .adif-desglose{ margin:12px 0 0; padding:24px; border-radius:16px; box-shadow:0 1px 4px rgba(0,0,0,.05); }
#sec-adic .adif-sec-h{ padding-bottom:20px; border-bottom:0;
  background:linear-gradient(90deg,var(--gray-3) 0 2px,transparent 2px 4px) left bottom/4px 1px repeat-x; }   /* 780:2275 */
#sec-adic .adif-sec-h h3{ margin:0; font:700 16px/19px 'Inter',sans-serif;
  letter-spacing:0; text-transform:none; color:var(--gray-7); }                            /* 780:2276 · G01 */
#sec-adic .adif-sec-h p{ margin:4px 0 0; font:400 12px/15px 'Inter',sans-serif; color:var(--gray-5); }   /* 780:2277 */
#sec-adic .adif-cols{ display:flex; align-items:stretch; gap:32px; padding-top:20px; }
#sec-adic .adif-col{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap:16px; }
#sec-adic .adif-col-graf{ gap:20px; }                                                    /* 780:2280 */
#sec-adic .adif-col-div{ flex:0 0 1px; align-self:flex-start; height:454px;
  background:repeating-linear-gradient(180deg,var(--gray-3) 0 2px,transparent 2px 4px); }   /* 780:2316 */
#sec-adic .adif-col-h{ display:flex; align-items:center; justify-content:space-between;
  gap:12px; font:700 13px/16px 'Inter',sans-serif; letter-spacing:0;
  text-transform:none; color:var(--gray-6); }                                              /* 780:2281 · G01 */

/* ── Las barras por especialidad · 780:2282 ── */
#sec-adic .adif-barras{ display:flex; flex-direction:column; gap:16px; }
#sec-adic .adif-bar{ display:flex; align-items:center; gap:12px; }                       /* 780:2283 */
#sec-adic .adif-bar-l{ flex:0 0 80px; width:80px; text-align:right;
  font:500 12px/15px 'Inter',sans-serif; color:var(--gray-6); }                          /* 780:2284 */
#sec-adic .adif-bar-riel{ flex:1 1 0; min-width:0; height:48px; border-radius:4px;
  background:var(--blue-50); overflow:hidden; }                                          /* 780:2285 */
#sec-adic .adif-bar-fill{ height:100%; border-radius:4px; min-width:2px; }               /* 780:2286 */
#sec-adic .adif-eje{ display:flex; justify-content:space-between; padding-left:92px;
  font:400 10px/12px 'Inter',sans-serif; color:var(--gray-5); white-space:nowrap; }      /* 780:2307 */
/* Sin corte (adicDashSinDatos): el mismo vacío que la tabla, en el sitio de las barras */
#sec-adic .adif-vacio,
#sec-adic .adif-vacio-td{ padding:18px; text-align:center; font:400 12px/18px 'Inter',sans-serif; color:var(--gray-5); }
#sec-adic .adif-vacio{ border:1px dashed var(--gray-3); border-radius:8px; }

/* ── El botón de Excel · 780:2320 · G06: al alto de los demás botones, con su icono ── */
#sec-adic .adif-excel{ display:inline-flex; align-items:center; gap:6px; flex:none;
  padding:8px 14px; min-height:32px; border:0; border-radius:100px; background:var(--green-400);
  font:600 12px/16px 'Inter',sans-serif; color:var(--gray-1); cursor:pointer; white-space:nowrap; }
#sec-adic .adif-excel svg{ width:14px; height:14px; }
#sec-adic .adif-excel:hover{ background:var(--green-500); }

/* ── La tabla del top · 780:2323 ── */
#sec-adic .adif-tabla{ overflow:auto; }
#sec-adic .adif-tabla table{ width:100%; border-collapse:collapse; }
#sec-adic .adif-tabla th{ padding:0 0 8px; background:var(--gray-1); border:0;
  border-bottom:1px solid var(--gray-3); font:700 11px/13px 'Inter',sans-serif;
  letter-spacing:0; text-transform:none; color:var(--gray-6); text-align:left;
  white-space:nowrap; }                                                                  /* 780:2324-2327 · G01 */
#sec-adic .adif-tabla th+th, #sec-adic .adif-tabla td+td{ padding-left:12px; }
#sec-adic .adif-tabla td{ padding:9px 0 8px; background:var(--gray-1); border:0;
  border-bottom:1px solid var(--gray-3); font:500 12px/15px 'Inter',sans-serif; color:var(--gray-7);
  vertical-align:middle; }                                                               /* 780:2331 */
#sec-adic .adif-tabla th:first-child,
#sec-adic .adif-tabla td:first-child{ width:24px; }
#sec-adic .adif-tabla td:first-child{ font-weight:400; color:var(--gray-6); }
#sec-adic .adif-tabla td.adif-vacio-td{ width:auto; text-align:center; }
#sec-adic .adif-tabla th:nth-child(3), #sec-adic .adif-tabla td:nth-child(3){ width:50px; }
#sec-adic .adif-tabla th:last-child,
#sec-adic .adif-tabla td:last-child{ width:80px; text-align:right; white-space:nowrap;
  font-weight:600; font-variant-numeric:tabular-nums; }                                  /* 780:2335 */
#sec-adic .adif-tabla .badge{ display:inline-flex; align-items:center; justify-content:center;
  padding:4px 10px; border:0; border-radius:999px; background:var(--blue-50);
  font:700 11px/13px 'Inter',sans-serif; letter-spacing:0; text-transform:none;
  color:var(--blue-300); }                                                               /* 780:2333 */

/* ── Las tres filas de resumen · 780:2378 ── */
#sec-adic .adif-resumen{ display:flex; flex-direction:column; gap:4px; }
#sec-adic .adif-r{ display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:8px 12px; font:400 12px/15px 'Inter',sans-serif; }
#sec-adic .adif-r b{ font-variant-numeric:tabular-nums; }
#sec-adic .adif-r-sub{ background:var(--blue-50); border-radius:4px; color:var(--gray-7); font-weight:600; }   /* 780:2379 */
#sec-adic .adif-r-sub b{ font-weight:700; }
#sec-adic .adif-r-otros{ color:var(--gray-5); font-weight:500; }                         /* 780:2382 */
#sec-adic .adif-r-otros b{ font-weight:600; }
#sec-adic .adif-r-tot{ padding:10px 12px; background:var(--blue-300); border-radius:6px;
  color:var(--gray-1); font-weight:700; }                                                /* 780:2385 */
#sec-adic .adif-r-tot b{ font-weight:800; }

/* ══ Gestión de Adicionales / Optimizaciones ═══════════════════════════════════════════════
   Sin diseño en la UI (el interior es el de main). Modelo §1: «Lista de registros»
   (Calidad › Registro de Inspecciones) — contenedor con título y contador; y el «+ Crear»
   de RFI › Registros, dentro del contenedor, en su barra. */
#sec-adic .adic-card{ margin:0; padding:20px; border:0; border-radius:12px;
  background:var(--gray-1); box-shadow:0 1px 4px rgba(0,0,0,.05); font-family:'Inter',system-ui,sans-serif; }
/* La barra del libro («Actualizar el control desde el Excel») es de la tarjeta de
   aprobados: se le pega como pie para que no flote entre dos contenedores. */
#sec-adic .adic-card:has(+ .adic-tools){ border-radius:12px 12px 0 0; }
#sec-adic .adic-card + .adic-tools{ margin:-16px 0 0; padding:0 20px 20px; background:var(--gray-1);
  border-radius:0 0 12px 12px; box-shadow:0 3px 4px -2px rgba(0,0,0,.05); }
#sec-adic .adic-card-t{ font:700 16px/19px 'Inter',sans-serif; color:var(--gray-7); }
#sec-adic .adic-card-s{ margin:4px 0 12px; font:400 12px/16px 'Inter',sans-serif; color:var(--gray-5); }
#sec-adic .adic-card .adic-card-nota{ margin:0 0 12px; padding:10px 12px; border-radius:8px;
  background:var(--blue-50); color:var(--gray-7); font:400 12px/18px 'Inter',sans-serif; }
#sec-adic .adic-card .adic-card-nota b{ font-weight:700; }
#sec-adic .adic-ph{ border:0; border-radius:12px; background:var(--gray-1); box-shadow:0 1px 4px rgba(0,0,0,.05); padding:48px 16px; text-align:center; }
#sec-adic .adic-ph-t{ font:700 16px/20px 'Inter',sans-serif; color:var(--gray-7); }
#sec-adic .adic-ph-s{ font:400 12px/16px 'Inter',sans-serif; color:var(--gray-5); margin-top:2px; }

/* Barra de la lista: «Crear propuesta» a la izquierda; borrador, Descartar y Publicar a la derecha */
#sec-adic .adic-tools{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
#sec-adic .adic-sp{ flex:1; }
#sec-adic .adic-draft{ font:600 12px/16px 'Inter',sans-serif; color:var(--orange-400); background:#FDFBED;   /* sin token */
  border:0; border-radius:100px; padding:6px 12px; white-space:nowrap; }
#sec-adic .adic-pill{ display:inline-block; background:#FDFBED; color:var(--orange-400);                     /* sin token */
  font:700 12px/16px 'Inter',sans-serif; border-radius:999px; padding:2px 10px; vertical-align:middle; margin-left:6px; }

/* Botones de la vista: pastilla + icono (G05). La base .adic-btn sigue en el inyector
   porque la usan los pop-ups; aquí se viste la de dentro de la sección. */
#sec-adic .adic-btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px;
  border:0; border-radius:100px; background:var(--blue-300); color:var(--gray-1);
  font:600 12px/16px 'Inter',sans-serif; padding:8px 16px; min-height:32px; }
#sec-adic .adic-btn svg{ flex:none; width:14px; height:14px; }
#sec-adic .adic-btn.adic-crear{ padding:10px 14px; font-size:13px; }                    /* RFI › Registros «Crear RFI» (684:8956) */
#sec-adic .adic-btn.sm{ font-size:12px; padding:6px 12px; min-height:28px; border-radius:100px; }
#sec-adic .adic-btn.sm+.adic-btn.sm{ margin-left:6px; }
#sec-adic .adic-btn.ok{ background:var(--green-400); }
#sec-adic .adic-btn.no{ background:var(--red-400); }
#sec-adic .adic-btn.gris{ background:var(--gray-1); color:var(--blue-300); box-shadow:inset 0 0 0 1px var(--blue-300); }
#sec-adic .adic-btn.gris:hover{ background:var(--blue-50); filter:none; }
#sec-adic .adic-btn.off, #sec-adic .adic-btn:disabled{ background:var(--gray-2); color:var(--gray-5); box-shadow:none; }
#sec-adic .adic-btn.sm.w{ white-space:normal; line-height:1.25; padding:6px 8px; width:100%; }

/* Tablas de gestión: mismo formato que la tabla de Presupuesto, cabecera en tipo oración */
#sec-adic .adic-wrap{ overflow-x:auto; margin-top:6px; }
#sec-adic .adic-tbl{ width:100%; table-layout:fixed; border-collapse:collapse; font-size:12px; background:transparent; }
#sec-adic .adic-tbl thead tr{ background:transparent; }
#sec-adic .adic-tbl th{ background:var(--blue-50); color:var(--gray-6); font:700 11px/14px 'Inter',sans-serif;
  text-transform:none; letter-spacing:0; text-align:center; padding:8px; border:none;
  border-bottom:1px solid var(--gray-3); vertical-align:middle; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }   /* G01 */
#sec-adic .adic-tbl thead tr:first-child th[colspan]{ text-align:center; border-bottom:1px solid var(--gray-3); }
#sec-adic .adic-tbl td{ padding:8px; border:none; border-bottom:1px solid var(--gray-2); color:var(--gray-7);
  background:transparent; vertical-align:top; text-align:center; font:400 11px/15px 'Inter',sans-serif; }
#sec-adic .adic-tbl .adic-izq{ text-align:left; font-weight:500; font-size:12px; word-break:break-word; line-height:1.35; }
#sec-adic .adic-tbl .adic-num{ text-align:right; font-variant-numeric:tabular-nums; font-feature-settings:'tnum' 1; font-size:11px; }
#sec-adic .adic-tbl .adic-imp{ display:block; white-space:nowrap; line-height:1.4; font-variant-numeric:tabular-nums; }
#sec-adic .adic-tbl .adic-imp+.adic-imp{ color:var(--gray-5); font-size:10px; }
#sec-adic .adic-tbl .adic-neg{ color:var(--red-400); }
#sec-adic .adic-tbl tbody tr:nth-child(even) td{ background:#FAFBFC; }                 /* sin token */
#sec-adic .adic-tbl tbody tr:hover td{ background:var(--blue-50); }
#sec-adic .adic-tbl .adic-total td{ background:var(--blue-50); font-weight:700; border-top:1px solid var(--gray-3); border-bottom:none; }
#sec-adic .adic-tbl .adic-total td:first-child{ text-align:right; padding-right:12px; font-size:11px; letter-spacing:0; }
#sec-adic .adic-tbl .adic-total:hover td{ background:var(--blue-50); }
#sec-adic .adic-tbl th.adic-sep, #sec-adic .adic-tbl td.adic-sep{ border-left:1px solid var(--gray-3); }
#sec-adic .adic-tbl td.adic-nro{ color:var(--gray-5); font-variant-numeric:tabular-nums; font-size:11px; }
#sec-adic .adic-tbl td.adic-izq{ max-width:0; overflow:hidden; text-overflow:ellipsis; display:table-cell; }
#sec-adic .adic-tbl th.adic-thizq{ text-align:left; }
#sec-adic .adic-tbl td.adic-fec{ text-align:center; font-variant-numeric:tabular-nums; font-size:11px; color:var(--gray-6); white-space:nowrap; }
#sec-adic .adic-tbl td:last-child .adic-badge{ white-space:nowrap; }
/* Chips de estado (G02: fondo tenue + texto). La base .adic-badge vive en el inyector. */
#sec-adic .adic-badge{ font-size:10px; font-weight:700; letter-spacing:0; border-radius:100px; padding:3px 8px; }
/* Especialidad y responsable como pastillas */
#sec-adic .adic-esp{ display:inline-block; font:700 10px/12px 'Inter',sans-serif; letter-spacing:0; padding:3px 7px;
  border-radius:4px; white-space:nowrap; background:var(--gray-2); color:var(--gray-6); border:1px solid var(--gray-2); }
#sec-adic .adic-esp.e-arq{ background:#F3EEFC; color:#6D3FBF; border-color:#E0D3F7; }            /* sin token */
#sec-adic .adic-esp.e-est{ background:var(--blue-50); color:var(--blue-400); border-color:var(--blue-50); }
#sec-adic .adic-esp.e-iiss{ background:#E6F6FA; color:#0E7490; border-color:#C7EAF2; }           /* sin token */
#sec-adic .adic-esp.e-iiee{ background:#FDFBED; color:var(--orange-400); border-color:#F7E3B8; } /* sin token */
#sec-adic .adic-esp.e-iimm{ background:var(--green-50); color:var(--green-500); border-color:var(--green-50); }
#sec-adic .adic-esp.e-dya{ background:var(--gray-2); color:var(--gray-6); border-color:var(--gray-2); }
#sec-adic .adic-esp.e-provisionales{ background:var(--gray-2); color:var(--gray-5); border-color:var(--gray-2); }
#sec-adic .adic-resp{ display:inline-block; font:700 10px/12px 'Inter',sans-serif; font-variant-numeric:tabular-nums;
  padding:3px 7px; border-radius:20px; background:var(--blue-50); color:var(--blue-400); border:0; white-space:nowrap; }
/* Propuestas: el costo directo se teclea; lo calculado sale en gris */
#sec-adic .adic-in{ width:100%; border:1px solid var(--gray-3); border-radius:8px; background:var(--gray-1);
  font:400 11px/15px 'Inter',sans-serif; font-variant-numeric:tabular-nums; text-align:right; padding:4px 6px; outline:none; }
#sec-adic .adic-in:focus{ border-color:var(--blue-300); box-shadow:0 0 0 2px rgba(7,127,207,.12); }
#sec-adic .adic-prop .adic-calc{ color:var(--gray-6); }
#sec-adic .adic-acc{ text-align:center; white-space:nowrap; }
/* Aprobar / Rechazar con su icono no caben lado a lado en el 14 % de la columna:
   van uno bajo el otro, al ancho de la celda (antes se cortaba «Rechazar»). */
#sec-adic td.adic-acc .adic-btn.sm{ width:100%; }
#sec-adic td.adic-acc .adic-btn.sm+.adic-btn.sm{ margin:6px 0 0; }
#sec-adic .adic-lock{ display:inline-flex; color:var(--gray-5); }
#sec-adic .adic-lock svg{ width:14px; height:14px; }
#sec-adic .adic-vacio{ font:400 12px/18px 'Inter',sans-serif; color:var(--gray-5); border:1px dashed var(--gray-3); border-radius:8px; padding:16px; text-align:center; }
#sec-adic .adic-local{ font:400 12px/18px 'Inter',sans-serif; color:var(--orange-500); background:#FDFBED; border:0; border-radius:8px; padding:10px 12px; margin-bottom:10px; }   /* sin token */
#sec-adic .adic-local code{ font:400 11px/15px 'Inter',sans-serif; background:var(--gray-1); padding:1px 5px; border-radius:4px; }
#sec-adic .adic-vetado{ opacity:1; }
#sec-adic .adic-vetado .adic-card-s{ margin-bottom:0; }
/* Fuente del adicional y su contexto */
#sec-adic .adic-fuente{ border:0; background:var(--blue-50); color:var(--blue-300); border-radius:100px;
  font:600 10px/12px 'Inter',sans-serif; padding:4px 8px; cursor:pointer; white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
#sec-adic .adic-fuente:hover{ background:#D6EAF7; }                                      /* sin token */
#sec-adic .adic-fuente{ display:inline-flex; align-items:center; gap:4px; }
#sec-adic .adic-fuente-i{ flex:none; width:12px; height:12px; opacity:.8; }
#sec-adic .adic-fuente-x{ font-size:10px; color:var(--gray-5); font-style:italic; }
/* «sin fila en el libro» (A7): chip de aviso, fondo tenue + texto (G02); antes, hex en línea */
#sec-adic .adic-fuente-x.adic-sinfila{ display:inline-block; font-style:normal; font-weight:600; padding:3px 8px;
  border-radius:100px; background:#FDFBED; color:var(--orange-400); }                    /* sin token (fondo) */

/* ── Anchos intermedios (de ui/figma) ── */
@media (max-width:1100px){
  #sec-adic .adif-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #sec-adic .adif-cols{ flex-wrap:wrap; gap:20px; }
  #sec-adic .adif-col-div{ display:none; }
  #sec-adic .adif-col{ flex:1 1 100%; }
}
@media (max-width:820px){
  #sec-adic .adif-kpis{ grid-template-columns:minmax(0,1fr); }
  #sec-adic .adif-desglose{ margin:12px 0 0; padding:16px; }
  #sec-adic .adif-cab-tit{ padding-left:16px; }
  #sec-adic .adif-cab{ flex-wrap:wrap; padding-right:16px; }
  #sec-adic .adif-cab-div{ display:none; }
  #sec-adic .adif-btn{ margin-left:16px; min-height:44px; }
  #sec-adic .adif-tabla table{ min-width:520px; }
  #sec-adic .adif-bar-l{ flex:0 0 64px; width:64px; }
  #sec-adic .adif-bar-riel{ height:36px; }
  #sec-adic .adif-eje{ padding-left:76px; }
  #sec-adic .adic-card{ padding:16px; }
}

/* ── Teléfono (G04 ≥ 12 px; campo a 16 px para que iOS no amplíe; toque de 44) ── */
@media (max-width:900px){
  #sec-adic .adif-k-tag, #sec-adic .adif-eje, #sec-adic .adif-tabla th, #sec-adic .adif-tabla .badge,
  #sec-adic .adic-tbl th, #sec-adic .adic-tbl td, #sec-adic .adic-tbl .adic-num, #sec-adic .adic-tbl .adic-imp+.adic-imp,
  #sec-adic .adic-tbl td.adic-nro, #sec-adic .adic-tbl td.adic-fec, #sec-adic .adic-tbl .adic-total td:first-child,
  #sec-adic .adic-badge, #sec-adic .adic-esp, #sec-adic .adic-resp, #sec-adic .adic-fuente, #sec-adic .adic-fuente-x,
  #sec-adic .adic-in, #sec-adic .adic-local code{ font-size:12px; line-height:16px; }
  #sec-adic .adif-eje{ white-space:normal; gap:2px; }
  #sec-adic .adic-util-in{ font-size:16px; line-height:20px; min-height:44px; }
  #sec-adic .adic-btn, #sec-adic .adif-excel{ min-height:44px; }
  #sec-adic .adic-btn.sm{ min-height:40px; }
  #sec-adic .adif-tabs .presup-subtab{ min-height:44px; }
}

/* ── «Descargar PDF» (780:2237) → imprimir sólo Adicionales ──
   Copiado de ui/figma, bloque `resumen-figma` (14718-14728). */
@media print{
  body.adic-imprimiendo *{ visibility:hidden!important; }
  body.adic-imprimiendo #sec-adic,body.adic-imprimiendo #sec-adic *{ visibility:visible!important; }
  body.adic-imprimiendo #sec-adic{ position:absolute!important; left:0; top:0; width:100%!important; }
  body.adic-imprimiendo,body.adic-imprimiendo html,body.adic-imprimiendo .app,body.adic-imprimiendo .content-area,body.adic-imprimiendo .scroll-area{
    overflow:visible!important; height:auto!important; max-height:none!important;
  }
  body.adic-imprimiendo #sec-adic .adif-btn{ display:none!important; }   /* el propio botón no sale en el PDF */
  body.adic-imprimiendo #sec-adic :is(.adif-cab,.adif-desglose){ break-inside:avoid; box-shadow:none!important; border:1px solid var(--blue-50); }
}
