/* ══════════════════════════════════════════════════════════════
   HOLDMIN FINANCE — Nóminas (simulador y generador)
   Reutiliza el sistema v3 de index.html (.panel, .cfg-*, .btn, .seg, .kpi,
   .chip). Aquí solo lo propio, todo con prefijo nom-.
   ══════════════════════════════════════════════════════════════ */
.nom-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}
.nom-top .seg{flex-wrap:wrap}
.nom-who{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.nom-who .cfg-select{width:auto;min-width:220px;max-width:70vw;font-size:12px;padding:6px 8px}
.nom-status{font-size:10px;color:var(--muted2)}

.nom-cols{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:1rem;align-items:start}
@media(max-width:1000px){.nom-cols{grid-template-columns:1fr}}
.nom-body{padding:1rem}
.nom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem}
.nom-grid.two{grid-template-columns:1fr 1fr}
.nom-grid .wide{grid-column:1/-1}
.nom-sub{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin:1.1rem 0 .5rem}
.nom-hint{font-size:11px;color:var(--muted);line-height:1.5;margin-top:.4rem}
.nom-chk{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--text);cursor:pointer}
.nom-row{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.nom-msg{font-size:11px;color:var(--muted);min-height:15px;margin-top:.5rem}
.nom-msg.ok{color:var(--ok-text)}.nom-msg.err{color:var(--danger)}
input.cfg-input[type=number]{text-align:right}
.btn.danger{color:var(--danger)}
.btn.danger:hover{background:var(--danger-soft)}

/* líneas editables (conceptos puntuales, complementos) */
.nom-ln{display:grid;grid-template-columns:1fr 95px 140px 28px;gap:5px;margin-bottom:5px}
@media(max-width:520px){.nom-ln{grid-template-columns:1fr 1fr}}
.nom-x{background:none;border:0.5px solid var(--border-md);border-radius:6px;cursor:pointer;color:var(--muted);font-size:13px}
.nom-x:hover{color:var(--danger);border-color:var(--danger)}

/* resumen numérico */
.nom-sum{display:grid;grid-template-columns:1fr auto;gap:.45rem 1rem;font-size:12px}
.nom-sum dt{color:var(--muted)}
.nom-sum dd{margin:0;text-align:right;font-weight:500}
.nom-sum dt.sep,.nom-sum dd.sep{border-top:0.5px solid var(--border-md);padding-top:.45rem}
.nom-sum dd.big{font-size:18px;font-weight:600;color:var(--ok);letter-spacing:-.02em}

/* KPIs del simulador */
.nom-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:.85rem}
@media(max-width:1100px){.nom-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.nom-kpis{grid-template-columns:1fr}}

/* barra apilada: a dónde va el coste empresa */
.nom-stack{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#f0f0f0;margin:.25rem 0 .75rem}
.nom-stack span{display:block;height:100%}
.nom-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.4rem .9rem;font-size:11px}
.nom-legend div{display:flex;align-items:center;gap:6px}
.nom-legend i{width:8px;height:8px;border-radius:3px;flex-shrink:0}
.nom-legend b{margin-left:auto;font-weight:600}

/* tabla */
.nom-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.nom-tbl{width:100%;border-collapse:collapse;font-size:12px}
table.nom-tbl th,table.nom-tbl td{padding:.5rem .75rem;border-bottom:0.5px solid #f0f0f0;text-align:left;white-space:nowrap}
table.nom-tbl th{font-size:10px;color:var(--muted2);font-weight:500;text-transform:uppercase;letter-spacing:.06em}
table.nom-tbl .n{text-align:right}
table.nom-tbl tfoot td{font-weight:600;border-top:0.5px solid var(--border-md);border-bottom:none}
table.nom-tbl tr.hl td{background:var(--surface2)}
.nom-empty{padding:2rem;text-align:center;color:var(--muted);font-size:12px}

/* ── Recibo de salarios (siempre papel blanco) ───────────────── */
.nom-paper{overflow-x:auto;padding-bottom:6px}
.nom-slip{background:#fff;color:#111;width:800px;margin:0 auto;padding:26px 28px;font:11px/1.3 'DM Sans',sans-serif;border:1px solid var(--border-md);border-radius:var(--radius);box-shadow:var(--shadow-card)}
.nom-slip table{width:100%;border-collapse:collapse}
.nom-slip .box td{border:1px solid #222;padding:3px 6px;vertical-align:top}
.nom-slip .lbl{display:block;font-size:8px;color:#555;letter-spacing:.04em;text-transform:uppercase}
.nom-slip .val{display:block;font-size:11px;font-weight:500;min-height:14px}
.nom-slip .gap{height:8px}
.nom-slip .conc th{border:1px solid #222;font-size:8px;font-weight:600;padding:3px 5px;background:#f4f4f2;letter-spacing:.04em}
.nom-slip .conc td{border-left:1px solid #222;border-right:1px solid #222;padding:2px 5px;font-size:10.5px}
.nom-slip .conc tbody tr:last-child td{border-bottom:1px solid #222}
.nom-slip .conc .n{text-align:right}
.nom-slip .conc .c{text-align:center}
.nom-slip .conc .fill td{height:14px}
.nom-slip .tot td{border:1px solid #222;padding:4px 6px}
.nom-slip .tot .k{font-size:8px;color:#555;display:block;letter-spacing:.04em}
.nom-slip .tot .v{font-size:12px;font-weight:600;display:block;text-align:right}
.nom-slip .tot .liq{background:#f4f4f2}
.nom-slip .tot .liq .v{font-size:15px}
.nom-slip .bases td{border:1px solid #222;padding:3px 6px;font-size:10px}
.nom-slip .bases td.n{text-align:right}
.nom-slip .bases th{border:1px solid #222;font-size:8px;font-weight:600;padding:3px 6px;background:#f4f4f2;text-align:left;letter-spacing:.04em}
.nom-slip .bases th.n{text-align:right}
.nom-slip .sign td{border:1px solid #222;height:70px;vertical-align:top;padding:4px 6px;font-size:8px;color:#555;width:50%;letter-spacing:.04em}
.nom-slip .sign .stamp{display:block;margin-top:8px;color:#111;font-size:11px;letter-spacing:0}
.nom-slip .foot{font-size:8px;color:#555;margin:3px 0 6px}
