/* =====================================================================
   modulos-negocio.css — Ventas / Gastos / Sueldos / Resultados (v31)
   Solo se ve en negocios con módulos activados (negocio_modulos).
   ===================================================================== */
.mn-panel{
  --mn-ink:#14181D; --mn-sec:rgba(20,24,29,0.58); --mn-line:rgba(20,24,29,0.10);
  --mn-verde:#2C7A4B; --mn-rojo:#B5412F; --mn-dorado:#C08A28;
  background: linear-gradient(135deg,#FFFFFF 0%,#F6F4EC 55%,#FFFDF6 100%);
  border:1px solid rgba(192,138,40,0.45); border-radius:18px; padding:14px; margin-bottom:14px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.mn-panel-titulo{ font-family:'League Spartan',sans-serif; font-weight:800; font-size:1.02rem; color:var(--mn-ink); margin:0 2px 10px; letter-spacing:.01em; }
.mn-panel-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.mn-panel-card{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left; cursor:pointer;
  background:#fff; border:1px solid var(--mn-line); border-radius:14px; padding:12px; font:inherit; color:var(--mn-ink);
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.mn-panel-card:hover, .mn-panel-card:focus-visible{ transform: translateY(-1px); border-color: var(--gold-bright,#E4B54C); box-shadow:0 6px 16px rgba(192,138,40,0.18); outline:none; }
.mn-panel-ico{ flex:0 0 40px; height:40px; border-radius:12px; display:grid; place-items:center; font-size:1.25rem; background:rgba(192,138,40,0.12); }
.mn-panel-txt{ display:flex; flex-direction:column; min-width:0; flex:1; }
.mn-panel-nombre{ font-family:'Quicksand',sans-serif; font-weight:800; font-size:.95rem; }
.mn-panel-desc{ font-family:'IBM Plex Sans',sans-serif; font-size:.72rem; color:var(--mn-sec); line-height:1.3; }
.mn-panel-flecha{ color:var(--mn-dorado); font-weight:700; }
@media (max-width:480px){ .mn-panel-grid{ grid-template-columns:1fr; } }

/* ---------- Pantalla completa ---------- */
body.mn-abierto{ overflow:hidden; }
.mn-overlay{
  --mn-ink:#14181D; --mn-sec:rgba(20,24,29,0.58); --mn-line:rgba(20,24,29,0.10); --mn-fondo:#F7F4EC;
  --mn-verde:#2C7A4B; --mn-rojo:#B5412F; --mn-dorado:#C08A28;
  position:fixed; inset:0; z-index:4000; display:none; background:rgba(10,12,15,0.55); backdrop-filter: blur(3px);
}
.mn-overlay.open{ display:flex; align-items:stretch; justify-content:center; }
.mn-shell{
  background:var(--mn-fondo); color:var(--mn-ink); width:min(1180px,100%); margin:16px; border-radius:20px;
  display:flex; flex-direction:column; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,0.4);
}
.mn-head{ display:flex; align-items:center; gap:12px; padding:14px 18px; background:#fff; border-bottom:1px solid var(--mn-line); flex-wrap:wrap; }
.mn-volver{ border:1px solid var(--mn-line); background:#fff; border-radius:999px; padding:8px 14px; font-family:'Quicksand',sans-serif; font-weight:700; cursor:pointer; color:var(--mn-ink); }
.mn-volver:hover{ border-color:var(--mn-dorado); }
.mn-head-txt{ flex:1; min-width:140px; }
.mn-head-negocio{ font-family:'IBM Plex Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--mn-dorado); }
.mn-titulo{ margin:0; font-family:'League Spartan',sans-serif; font-weight:800; font-size:1.45rem; }
.mn-periodo{ display:flex; align-items:center; gap:6px; background:#F3EEE2; border-radius:999px; padding:4px; }
.mn-flecha{ width:32px; height:32px; border-radius:50%; border:none; background:#fff; cursor:pointer; font-size:1.1rem; font-weight:700; color:var(--mn-ink); }
.mn-flecha:hover{ background:var(--gold-bright,#E4B54C); }
.mn-periodo-txt{ min-width:128px; text-align:center; font-family:'Quicksand',sans-serif; font-weight:800; font-size:.92rem; }
.mn-tabs{ display:flex; gap:6px; padding:10px 18px 0; background:#fff; border-bottom:1px solid var(--mn-line); overflow-x:auto; }
.mn-tab{ border:none; background:none; padding:9px 12px 11px; font-family:'Quicksand',sans-serif; font-weight:700; font-size:.88rem; color:var(--mn-sec); cursor:pointer; border-bottom:3px solid transparent; white-space:nowrap; }
.mn-tab.activo{ color:var(--mn-ink); border-bottom-color:var(--mn-dorado); }
.mn-body{ flex:1; overflow:auto; padding:16px 18px 28px; }
.mn-cargando, .mn-error, .mn-vacio-grande{ padding:40px 16px; text-align:center; font-family:'IBM Plex Sans',sans-serif; color:var(--mn-sec); }
.mn-error{ color:var(--mn-rojo); }
.mn-ayuda, .mn-mini{ font-family:'IBM Plex Sans',sans-serif; font-size:.76rem; color:var(--mn-sec); line-height:1.45; margin:10px 2px 0; }
.mn-h3{ font-family:'League Spartan',sans-serif; font-weight:800; font-size:1.05rem; margin:20px 2px 10px; }
.verde{ color:var(--mn-verde) !important; } .rojo{ color:var(--mn-rojo) !important; }

/* ---------- Resumen superior ---------- */
.mn-resumen{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.mn-kpi{ background:#fff; border:1px solid var(--mn-line); border-radius:14px; padding:10px 14px; display:flex; flex-direction:column; gap:3px; min-width:140px; }
.mn-kpi-ancho{ flex:1; min-width:220px; }
.mn-kpi-lbl{ font-family:'IBM Plex Mono',monospace; font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; color:var(--mn-sec); }
.mn-kpi-val{ font-family:'League Spartan',sans-serif; font-weight:800; font-size:1.35rem; }
.mn-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.mn-chip{ font-family:'IBM Plex Sans',sans-serif; font-size:.76rem; background:#F3EEE2; border-radius:999px; padding:3px 10px; }
.mn-chip.socio{ background:rgba(192,138,40,0.18); font-weight:600; }
.mn-chip.vacio{ background:none; color:var(--mn-sec); }

/* ---------- Tabla tipo Excel ---------- */
.mn-tabla-wrap{ background:#fff; border:1px solid var(--mn-line); border-radius:14px; overflow:auto; max-width:100%; }
.mn-tabla{ width:100%; border-collapse:collapse; font-family:'IBM Plex Sans',sans-serif; font-size:.84rem; min-width:860px; }
.mn-tabla-res{ min-width:640px; }
.mn-tabla th{ position:sticky; top:0; z-index:1; background:#FBF8F1; text-align:left; font-family:'IBM Plex Mono',monospace; font-weight:500; font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; color:var(--mn-sec); padding:9px 8px; border-bottom:1px solid var(--mn-line); white-space:nowrap; }
.mn-tabla td{ border-bottom:1px solid var(--mn-line); padding:0; vertical-align:middle; }
.mn-tabla-res td{ padding:9px 8px; }
.mn-tabla td + td{ border-left:1px solid rgba(20,24,29,0.05); }
.mn-tabla input, .mn-tabla select{
  width:100%; box-sizing:border-box; border:1px solid transparent; background:transparent; padding:8px; font:inherit; color:var(--mn-ink); border-radius:6px; min-width:0;
}
.mn-tabla input:hover:not([readonly]):not([disabled]), .mn-tabla select:hover:not([disabled]){ border-color:var(--mn-line); background:#FFFDF8; }
.mn-tabla input:focus, .mn-tabla select:focus{ outline:none; border-color:var(--mn-dorado); background:#FFFBEF; box-shadow:0 0 0 2px rgba(192,138,40,0.18); }
.mn-tabla input.guardando{ background:#FFF6DD; }
.mn-tabla input.guardado, .mn-tabla select.guardado{ background:#E6F4EA; transition: background .6s ease; }
.mn-tabla .c-fecha{ width:132px; } .mn-tabla .c-medio{ width:130px; } .mn-tabla .c-num{ width:96px; }
.mn-tabla .c-cat{ width:190px; } .mn-tabla .c-pag{ width:160px; } .mn-tabla .c-acc{ width:38px; }
.mn-tabla .c-monto{ text-align:right; font-variant-numeric: tabular-nums; }
.mn-tabla th.c-monto{ width:118px; }
.mn-tabla input.c-monto{ font-weight:600; }
.mn-fila-nueva td{ background:#FFFBEF; border-bottom:2px solid rgba(192,138,40,0.35); }
.mn-fila-nueva input, .mn-fila-nueva select{ border-color:rgba(192,138,40,0.25); background:#fff; }
tr.pagado-socio td{ background:rgba(192,138,40,0.06); }
.mn-fila-click{ cursor:pointer; } .mn-fila-click:hover td{ background:#FFFBEF; }
.mn-vacio{ padding:22px 10px !important; text-align:center; color:var(--mn-sec); }
.mn-tabla tfoot td{ padding:10px 8px; background:#FBF8F1; border-bottom:none; }
.mn-tot-lbl{ font-family:'Quicksand',sans-serif; font-weight:800; text-align:right; }
.mn-tot{ font-family:'League Spartan',sans-serif; font-weight:800; font-size:1rem; }
.mn-btn-add, .mn-btn-del{ width:30px; height:30px; margin:0 4px; border-radius:8px; border:none; cursor:pointer; font-weight:700; }
.mn-btn-add{ background:var(--mn-dorado); color:#fff; font-size:1.05rem; }
.mn-btn-add:disabled{ opacity:.5; cursor:wait; }
.mn-btn-del{ background:transparent; color:rgba(20,24,29,0.35); }
.mn-btn-del:hover{ background:rgba(181,65,47,0.1); color:var(--mn-rojo); }

/* ---------- Botones ---------- */
.mn-btn, .mn-btn-sec{ border-radius:12px; padding:10px 16px; font-family:'Quicksand',sans-serif; font-weight:800; font-size:.88rem; cursor:pointer; }
.mn-btn{ background:var(--mn-dorado); color:#fff; border:none; }
.mn-btn:hover{ filter:brightness(1.05); } .mn-btn:disabled{ opacity:.45; cursor:not-allowed; }
.mn-btn-sec{ background:#fff; color:var(--mn-ink); border:1px solid var(--mn-line); }
.mn-btn-sec:hover{ border-color:var(--mn-dorado); }
.mn-vacio-grande .mn-btn{ margin-top:14px; }

/* ---------- Sueldos ---------- */
.mn-sueldo-top{ display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; margin-bottom:14px; }
.mn-prof{ display:flex; flex-direction:column; gap:4px; font-family:'IBM Plex Mono',monospace; font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; color:var(--mn-sec); }
.mn-prof select, .mn-prof input{ font-family:'Quicksand',sans-serif; font-weight:700; font-size:.92rem; text-transform:none; letter-spacing:0; color:var(--mn-ink); background:#fff; border:1px solid var(--mn-line); border-radius:10px; padding:8px 10px; min-width:150px; }
.mn-sueldo-grid{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:16px; align-items:start; }
.mn-cal{ background:#fff; border:1px solid var(--mn-line); border-radius:14px; padding:10px; }
.mn-cal-sem, .mn-cal-dias{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.mn-cal-sem span{ text-align:center; font-family:'IBM Plex Mono',monospace; font-size:.66rem; color:var(--mn-sec); padding:4px 0; }
.mn-dia{ min-height:66px; border:1px solid var(--mn-line); border-radius:10px; background:#FDFBF6; padding:6px; display:flex; flex-direction:column; align-items:flex-start; gap:2px; cursor:pointer; font:inherit; color:var(--mn-ink); text-align:left; }
.mn-dia.vacio{ border:none; background:none; cursor:default; }
.mn-dia:hover:not(.vacio){ border-color:var(--mn-dorado); }
.mn-dia.con{ background:rgba(192,138,40,0.12); border-color:rgba(192,138,40,0.35); }
.mn-dia.sel{ outline:2px solid var(--mn-dorado); outline-offset:1px; }
.mn-dia.hoy .mn-dia-num{ background:var(--mn-ink); color:#fff; border-radius:999px; padding:0 6px; }
.mn-dia-num{ font-family:'Quicksand',sans-serif; font-weight:800; font-size:.82rem; }
.mn-dia-h{ font-family:'League Spartan',sans-serif; font-weight:800; font-size:.9rem; }
.mn-dia-b{ font-family:'IBM Plex Sans',sans-serif; font-size:.64rem; color:var(--mn-sec); }
.mn-sueldo-card, .mn-dia-panel{ background:#fff; border:1px solid var(--mn-line); border-radius:14px; padding:14px; }
.mn-dia-panel{ margin-top:12px; }
.mn-sueldo-fila, .mn-res-linea{ display:flex; justify-content:space-between; gap:10px; padding:6px 0; font-family:'IBM Plex Sans',sans-serif; font-size:.86rem; border-bottom:1px dashed var(--mn-line); }
.mn-sueldo-fila strong, .mn-res-linea strong{ font-variant-numeric: tabular-nums; }
.mn-sueldo-total{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:12px 0 6px; font-family:'Quicksand',sans-serif; font-weight:800; }
.mn-sueldo-total strong{ font-family:'League Spartan',sans-serif; font-size:1.5rem; }
.mn-sueldo-estado{ margin-top:8px; display:flex; flex-direction:column; gap:8px; }
.mn-reg{ font-family:'IBM Plex Sans',sans-serif; font-size:.8rem; border-radius:10px; padding:8px 10px; line-height:1.4; }
.mn-reg.ok{ background:#E6F4EA; color:#1F5C36; } .mn-reg.alerta{ background:#FFF1DA; color:#7A4A0B; }
.mn-reg-acc{ display:flex; gap:8px; flex-wrap:wrap; }
.mn-dia-titulo{ font-family:'Quicksand',sans-serif; font-weight:800; display:flex; justify-content:space-between; gap:8px; margin-bottom:8px; }
.mn-dia-titulo::first-letter{ text-transform:uppercase; }
.mn-dia-titulo span{ font-family:'IBM Plex Mono',monospace; font-weight:500; font-size:.72rem; text-transform:none; color:var(--mn-sec); }
.mn-bloques{ display:flex; flex-direction:column; gap:6px; }
.mn-bloque{ display:flex; align-items:center; gap:8px; background:#FBF8F1; border-radius:10px; padding:4px 4px 4px 10px; font-family:'IBM Plex Sans',sans-serif; font-size:.84rem; }
.mn-bloque-h{ flex:1; font-weight:600; } .mn-bloque-m{ color:var(--mn-sec); font-variant-numeric: tabular-nums; }
.mn-bloque-nuevo{ display:grid; grid-template-columns:1fr 1fr 0.8fr auto; gap:8px; align-items:end; margin-top:12px; }
.mn-bloque-nuevo label{ display:flex; flex-direction:column; gap:3px; font-family:'IBM Plex Mono',monospace; font-size:.62rem; text-transform:uppercase; color:var(--mn-sec); }
.mn-bloque-nuevo input{ border:1px solid var(--mn-line); border-radius:8px; padding:7px; font-family:'IBM Plex Sans',sans-serif; font-size:.86rem; min-width:0; }

/* ---------- Resultados ---------- */
.mn-toggle{ display:inline-flex; background:#fff; border:1px solid var(--mn-line); border-radius:999px; padding:3px; margin-bottom:14px; }
.mn-toggle button{ border:none; background:none; border-radius:999px; padding:7px 16px; font-family:'Quicksand',sans-serif; font-weight:800; font-size:.84rem; cursor:pointer; color:var(--mn-sec); }
.mn-toggle button.activo{ background:var(--mn-ink); color:#fff; }
.mn-res-cuadro{ background:#fff; border:1px solid var(--mn-line); border-radius:14px; padding:12px 16px; max-width:560px; }
.mn-res-linea.total{ border-bottom:none; padding-top:10px; font-family:'Quicksand',sans-serif; font-weight:800; font-size:.95rem; }
.mn-res-linea.total strong{ font-family:'League Spartan',sans-serif; font-size:1.3rem; }
.mn-socios{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; }
.mn-socio{ background:#fff; border:1px solid var(--mn-line); border-radius:14px; padding:12px 16px; }
.mn-socio-nombre{ font-family:'League Spartan',sans-serif; font-weight:800; font-size:1.1rem; margin-bottom:4px; }
.mn-socio-nombre span{ font-family:'IBM Plex Mono',monospace; font-weight:500; font-size:.72rem; color:var(--mn-dorado); }
.mn-cats{ background:#fff; border:1px solid var(--mn-line); border-radius:14px; padding:8px 14px; }
.mn-cat-fila{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(60px,1fr) auto; gap:10px; align-items:center; padding:7px 0; font-family:'IBM Plex Sans',sans-serif; font-size:.84rem; border-bottom:1px dashed var(--mn-line); }
.mn-cat-fila:last-child{ border-bottom:none; }
.mn-cat-barra{ height:8px; background:#F3EEE2; border-radius:999px; overflow:hidden; }
.mn-cat-barra span{ display:block; height:100%; background:linear-gradient(90deg,var(--mn-rojo),#E38A4A); border-radius:999px; }

@media (max-width:820px){
  .mn-sueldo-grid{ grid-template-columns:1fr; }
}
@media (max-width:600px){
  .mn-shell{ margin:0; border-radius:0; }
  .mn-head{ padding:10px 16px; }
  .mn-titulo{ font-size:1.2rem; }
  .mn-periodo{ width:100%; justify-content:space-between; }
  .mn-body{ padding:12px 16px 24px; }
  .mn-tabs{ padding:6px 16px 0; }
  .mn-kpi{ min-width:0; flex:1 1 140px; }
  .mn-cal-sem, .mn-cal-dias{ gap:3px; }
  .mn-dia{ min-height:52px; padding:4px; }
  .mn-dia-b{ display:none; }
  .mn-dia-h{ font-size:.74rem; }
  .mn-bloque-nuevo{ grid-template-columns:1fr 1fr; }
  .mn-bloque-nuevo .mn-btn{ grid-column:1 / -1; }
}

/* ---------- Resultados anual (meses en columnas) ---------- */
.mn-tabla-trans{ min-width:520px; }
.mn-tabla-trans th, .mn-tabla-trans td{ white-space:nowrap; }
.mn-tabla-trans .mn-res-concepto{ position:sticky; left:0; z-index:1; text-align:left; min-width:180px; width:30%; background:#fff; }
.mn-tabla-trans thead .mn-res-concepto{ background:#FBF8F1; z-index:2; }
.mn-res-mes{ cursor:pointer; } .mn-res-mes:hover{ color:var(--mn-ink); text-decoration:underline; }
.mn-tabla-trans .mn-res-totcol{ font-weight:700; border-left:2px solid var(--mn-line) !important; }
.mn-tabla-trans tbody td{ padding:11px 10px; font-variant-numeric: tabular-nums; }
.mn-tabla-trans .mn-res-ventas td{ background:#E3EEFB; color:#16467A; font-weight:600; }
.mn-tabla-trans .mn-res-gastos td, .mn-tabla-trans .mn-res-sueldos td{ background:#FBE6E3; color:#8C2F22; font-weight:600; }
.mn-tabla-trans .mn-res-gastos:hover td{ background:#F7D8D3; }
.mn-res-chev{ display:inline-block; width:14px; color:#8C2F22; }
.mn-tabla-trans .mn-res-sub td{ background:#FFF6F4; color:rgba(20,24,29,0.75); font-size:.8rem; padding-top:7px !important; padding-bottom:7px !important; }
.mn-tabla-trans .mn-res-sub .mn-res-concepto{ padding-left:30px !important; }
.mn-tabla-trans .mn-res-utilidad td{ background:#E2F3E8; color:#1F5C36; font-family:'League Spartan',sans-serif; font-weight:800; font-size:1rem; border-top:2px solid rgba(31,92,54,0.35); }
.mn-tabla-trans .mn-rep-socio td{ background:#F3EEE2; font-family:'League Spartan',sans-serif; font-weight:800; font-size:.98rem; padding:10px !important; position:static; }
.mn-rep-socio td span{ font-family:'IBM Plex Mono',monospace; font-weight:500; font-size:.7rem; color:var(--mn-dorado); margin-left:6px; }
.mn-tabla-trans .mn-rep-fila td{ background:#fff; color:var(--mn-ink); }
.mn-tabla-trans .mn-rep-total td{ background:#E2F3E8; color:#1F5C36; font-weight:800; border-top:1px solid rgba(31,92,54,0.3); }
@media (max-width:600px){
  .mn-tabla-trans .mn-res-concepto{ min-width:128px; white-space:normal; }
  .mn-tabla-trans tbody td{ padding:9px 8px; }
}

/* =====================================================================
   v35 · Tipografía más grande y legible (una sola familia: Manrope)
   ===================================================================== */
.mn-overlay, .mn-overlay input, .mn-overlay select, .mn-overlay button{ font-family:'Manrope','IBM Plex Sans',sans-serif; }
.mn-overlay{ --mn-ink:#15191E; --mn-sec:rgba(21,25,30,0.62); }
.mn-titulo{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.6rem; letter-spacing:-.01em; }
.mn-head-negocio{ font-family:'Manrope',sans-serif; font-weight:700; font-size:.74rem; letter-spacing:.1em; }
.mn-periodo-txt{ font-family:'Manrope',sans-serif; font-size:1rem; }
.mn-tab{ font-family:'Manrope',sans-serif; font-size:.95rem; font-weight:700; }
.mn-ayuda, .mn-mini{ font-family:'Manrope',sans-serif; font-size:.84rem; }
.mn-h3{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.2rem; margin-top:26px; }

/* Tarjetas de resumen */
.mn-kpi{ padding:12px 16px; }
.mn-kpi-lbl{ font-family:'Manrope',sans-serif; font-weight:700; font-size:.72rem; letter-spacing:.06em; }
.mn-kpi-val{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.6rem; letter-spacing:-.01em; font-variant-numeric: tabular-nums; }
.mn-chip{ font-family:'Manrope',sans-serif; font-size:.86rem; font-weight:600; padding:4px 12px; }

/* Tablas */
.mn-tabla{ font-family:'Manrope',sans-serif; font-size:.95rem; }
.mn-tabla th{ font-family:'Manrope',sans-serif; font-weight:700; font-size:.74rem; letter-spacing:.06em; color:rgba(21,25,30,0.6); padding:11px 10px; }
.mn-tabla input, .mn-tabla select{ font-size:.95rem; padding:10px; }
.mn-tabla input.c-monto{ font-weight:700; font-variant-numeric: tabular-nums; }
.mn-tot-lbl{ font-family:'Manrope',sans-serif; font-size:.95rem; }
.mn-tot{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.1rem; font-variant-numeric: tabular-nums; }
.mn-toggle button{ font-family:'Manrope',sans-serif; font-size:.9rem; }

/* Gastos agrupados por categoría */
.mn-grupo td{ background:#F6EFE2; border-top:1px solid rgba(192,138,40,0.3); padding:10px 12px !important; }
.mn-grupo-nombre{ font-weight:800; font-size:1rem; color:var(--mn-ink); }
.mn-grupo-n{ font-size:.78rem; font-weight:600; color:var(--mn-sec); margin-left:6px; }
.mn-grupo-total{ font-weight:800; font-size:1rem; color:#8C2F22; text-align:right; font-variant-numeric: tabular-nums; }

/* Resultados (mensual) */
.mn-res-cuadro, .mn-socio, .mn-cats{ padding:14px 18px; }
.mn-res-linea, .mn-sueldo-fila{ font-family:'Manrope',sans-serif; font-size:1rem; padding:9px 0; }
.mn-res-linea strong, .mn-sueldo-fila strong{ font-weight:700; }
.mn-res-linea.total{ font-family:'Manrope',sans-serif; font-size:1.05rem; }
.mn-res-linea.total strong{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.45rem; }
.mn-socio-nombre{ font-family:'Manrope',sans-serif; font-size:1.2rem; }
.mn-socio-nombre span{ font-family:'Manrope',sans-serif; font-weight:700; font-size:.78rem; }
.mn-cat-fila{ font-family:'Manrope',sans-serif; font-size:.95rem; padding:9px 0; }
.mn-sueldo-total{ font-family:'Manrope',sans-serif; }
.mn-sueldo-total strong{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.7rem; }
.mn-dia-num{ font-family:'Manrope',sans-serif; font-size:.9rem; }
.mn-dia-h{ font-family:'Manrope',sans-serif; font-size:1rem; }

/* Resultados (anual, meses en columnas) */
.mn-tabla-trans{ font-size:1rem; }
.mn-tabla-trans th{ font-size:.8rem; color:var(--mn-ink); letter-spacing:.05em; padding:12px 14px; }
.mn-tabla-trans tbody td{ padding:13px 14px; font-size:1rem; }
.mn-tabla-trans .mn-res-concepto{ font-weight:700; }
.mn-tabla-trans .mn-res-ventas td, .mn-tabla-trans .mn-res-gastos td, .mn-tabla-trans .mn-res-sueldos td{ font-weight:700; font-size:1.02rem; }
.mn-tabla-trans .mn-res-sub td{ font-size:.92rem; font-weight:500; padding-top:9px !important; padding-bottom:9px !important; }
.mn-tabla-trans .mn-res-sub .mn-res-concepto{ font-weight:600; }
.mn-tabla-trans .mn-res-utilidad td{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.15rem; padding-top:15px; padding-bottom:15px; }
.mn-tabla-trans .mn-rep-socio td{ font-family:'Manrope',sans-serif; font-size:1.08rem; padding:12px 14px !important; }
.mn-tabla-trans .mn-rep-socio td span{ font-family:'Manrope',sans-serif; font-weight:700; font-size:.78rem; }
.mn-tabla-trans .mn-rep-fila td{ font-weight:600; }
.mn-tabla-trans .mn-rep-total td{ font-size:1.08rem; }
.mn-tabla-trans .mn-res-totcol{ font-weight:800; }
@media (max-width:600px){
  .mn-titulo{ font-size:1.3rem; }
  .mn-kpi-val{ font-size:1.35rem; }
  .mn-tabla-trans tbody td{ padding:11px 10px; font-size:.95rem; }
  .mn-tabla-trans th{ padding:10px; }
}
.mn-cat-fila{ grid-template-columns:minmax(0,1.2fr) minmax(80px,1fr) 120px; }
.mn-cat-fila strong{ text-align:right; font-variant-numeric: tabular-nums; }
.mn-grupo-movil{ display:none; }
@media (max-width:600px){
  .mn-grupo td:first-child{ position:sticky; left:0; }
  .mn-grupo-movil{ display:inline; margin-left:8px; font-weight:800; color:#8C2F22; font-variant-numeric: tabular-nums; }
}
/* Ventas: ordenar por columna */
.mn-th-orden{ cursor:pointer; user-select:none; }
.mn-th-orden:hover{ color:var(--mn-ink); background:#F3EEE2; }
.mn-th-orden.activo{ color:var(--mn-ink); }
.mn-flecha-orden{ margin-left:5px; font-size:.7rem; opacity:.45; }
.mn-th-orden.activo .mn-flecha-orden{ opacity:1; color:var(--mn-dorado); }
.mn-tabla .c-num{ width:84px; }
.mn-tabla input[data-k="n_atencion"]{ font-weight:700; font-variant-numeric: tabular-nums; }
/* Liquidación: quién transfiere a quién */
.mn-liquidacion{ margin-top:12px; background:#EAF4FB; border:1px solid rgba(22,70,122,0.2); border-radius:14px; padding:12px 18px; }
.mn-liq-fila{ display:flex; justify-content:space-between; gap:12px; align-items:baseline; font-family:'Manrope',sans-serif; font-weight:700; font-size:1rem; color:#16467A; padding:6px 0; }
.mn-liq-fila strong{ font-size:1.35rem; font-weight:800; font-variant-numeric: tabular-nums; }
.mn-liq-nota{ font-family:'Manrope',sans-serif; font-size:.84rem; color:rgba(21,25,30,0.62); margin-top:4px; }
.mn-tabla-trans .mn-rep-liq td{ background:#EAF4FB; color:#16467A; }
.mn-tabla-trans .mn-liq td{ background:#DCEBF8; color:#16467A; }

/* =====================================================================
   v37 · Gastos: botón «Nuevo gasto», ventana de ingreso y grupos
   ===================================================================== */
.mn-barra-acciones{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.mn-barra-acciones .mn-toggle{ margin-bottom:0; }
.mn-btn-nuevo{
  display:inline-flex; align-items:center; gap:10px; border:none; cursor:pointer;
  background:linear-gradient(135deg,#C1503E 0%,#D9722C 100%); color:#fff;
  font-family:'Manrope',sans-serif; font-weight:800; font-size:1.02rem; padding:12px 22px; border-radius:14px;
  box-shadow:0 8px 20px rgba(193,80,62,0.32); transition: transform .15s ease, box-shadow .15s ease;
}
.mn-btn-nuevo:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(193,80,62,0.4); }
.mn-btn-nuevo-mas{ display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,0.22); font-size:1.05rem; }

/* Grupos por categoría: título, filas, total al final y separación */
.mn-grupo td{ background:#F3EADB !important; border-top:2px solid rgba(192,138,40,0.45); padding:11px 14px !important; }
.mn-grupo-nombre{ font-size:1.05rem; }
.mn-grupo-pie td{ background:#FBE6E3; color:#8C2F22; font-weight:800; font-size:.92rem; padding:10px 12px !important; border-bottom:2px solid rgba(140,47,34,0.25); text-transform:uppercase; letter-spacing:.03em; }
.mn-grupo-pie td.c-monto{ font-size:1.05rem; text-transform:none; letter-spacing:0; text-align:right; font-variant-numeric: tabular-nums; }
.mn-grupo-sep td{ height:14px; padding:0 !important; background:#F7F4EC; border:none; }
.mn-grupo-movil{ display:none; }
@media (max-width:600px){
  .mn-grupo-pie td:first-child{ position:sticky; left:0; }
  .mn-grupo-pie .mn-grupo-movil{ display:inline; margin-left:8px; }
}

/* Ventana «Nuevo gasto» */
.mn-dlg-fondo{ position:absolute; inset:0; z-index:10; background:rgba(10,12,15,0.45); display:flex; align-items:center; justify-content:center; padding:16px; }
.mn-dlg{ background:#fff; width:min(560px,100%); max-height:calc(100vh - 32px); border-radius:20px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,0.35); }
.mn-dlg-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px 12px; border-bottom:1px solid var(--mn-line); }
.mn-dlg-head h3{ margin:0; font-family:'Manrope',sans-serif; font-weight:800; font-size:1.3rem; color:var(--mn-ink); }
.mn-dlg-head h3 span{ font-weight:700; font-size:.85rem; color:var(--mn-dorado); margin-left:6px; }
.mn-dlg-cerrar{ border:none; background:#F3EEE2; width:34px; height:34px; border-radius:50%; cursor:pointer; font-size:.95rem; color:var(--mn-ink); }
.mn-dlg-body{ padding:16px 20px; overflow:auto; display:flex; flex-direction:column; gap:16px; }
.mn-campo{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.mn-campo > span{ font-family:'Manrope',sans-serif; font-weight:800; font-size:.86rem; color:var(--mn-ink); }
.mn-campo > span em{ font-style:normal; font-weight:600; color:var(--mn-sec); }
.mn-campo input{ font-family:'Manrope',sans-serif; font-size:1rem; padding:12px 14px; border:1.5px solid rgba(21,25,30,0.14); border-radius:12px; color:var(--mn-ink); background:#fff; min-width:0; }
.mn-campo input:focus{ outline:none; border-color:var(--mn-dorado); box-shadow:0 0 0 3px rgba(192,138,40,0.18); }
.mn-input-monto{ font-weight:800 !important; font-size:1.25rem !important; font-variant-numeric: tabular-nums; }
.mn-campo-fila{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mn-chips-sel{ display:flex; flex-wrap:wrap; gap:8px; }
.mn-chip-sel{ border:1.5px solid rgba(21,25,30,0.14); background:#fff; border-radius:999px; padding:8px 14px; font-family:'Manrope',sans-serif; font-weight:700; font-size:.9rem; color:var(--mn-ink); cursor:pointer; }
.mn-chip-sel:hover{ border-color:var(--mn-dorado); }
.mn-chip-sel.activo{ background:#15191E; border-color:#15191E; color:#fff; }
.mn-seg{ display:flex; background:#F3EEE2; border-radius:14px; padding:4px; gap:4px; }
.mn-seg button{ flex:1; border:none; background:none; border-radius:10px; padding:11px 8px; font-family:'Manrope',sans-serif; font-weight:800; font-size:.92rem; color:var(--mn-sec); cursor:pointer; }
.mn-seg button.activo{ background:#fff; color:var(--mn-ink); box-shadow:0 2px 8px rgba(0,0,0,0.1); }
.mn-dlg-msg{ font-family:'Manrope',sans-serif; font-weight:700; font-size:.88rem; color:#8C2F22; min-height:1em; }
.mn-dlg-pie{ display:flex; justify-content:flex-end; gap:10px; padding:14px 20px 18px; border-top:1px solid var(--mn-line); flex-wrap:wrap; }
.mn-dlg-pie .mn-btn, .mn-dlg-pie .mn-btn-sec{ font-family:'Manrope',sans-serif; font-size:.95rem; padding:12px 18px; }
@media (max-width:600px){
  .mn-dlg-fondo{ padding:0; align-items:flex-end; }
  .mn-dlg{ border-radius:20px 20px 0 0; max-height:92vh; }
  .mn-campo-fila{ grid-template-columns:1fr; }
  .mn-dlg-pie{ justify-content:stretch; }
  .mn-dlg-pie button{ flex:1 1 100%; }
  .mn-btn-nuevo{ width:100%; justify-content:center; }
}
.mn-dlg label.mn-campo, .mn-dlg div.mn-campo{ margin:0; text-transform:none; letter-spacing:0; font-size:inherit; }
.mn-dlg .mn-campo > span{ text-transform:none; letter-spacing:0; margin:0; display:block; }
.mn-dlg .mn-campo input{ margin:0; width:100%; box-sizing:border-box; height:48px; }

/* =====================================================================
   v38 · Sueldos (plata por día, sesiones, selector de horario),
          Nueva venta y tamaño general un poco menor
   ===================================================================== */
.mn-btn-nuevo-verde{ background:linear-gradient(135deg,#2C7A4B 0%,#3FA36A 100%); box-shadow:0 8px 20px rgba(44,122,75,0.3); }
.mn-btn-nuevo-verde:hover{ box-shadow:0 10px 24px rgba(44,122,75,0.4); }
.mn-btn-verde{ background:#2C7A4B !important; }
.mn-chip-venta b{ font-weight:800; color:#2C7A4B; margin-left:4px; }
.mn-chip-venta.activo b{ color:#9FE3B9; }
.mn-campo-fila-n{ grid-template-columns:0.7fr 1fr; }

/* Calendario: plata del día en grande, horas y bloques en chico */
.mn-dia{ min-height:74px; gap:1px; }
.mn-dia-plata{ font-family:'Manrope',sans-serif; font-weight:800; font-size:.98rem; color:#1F5C36; font-variant-numeric: tabular-nums; letter-spacing:-.01em; }
.mn-dia .mn-dia-h{ font-family:'Manrope',sans-serif; font-weight:600; font-size:.68rem; color:var(--mn-sec); }
.mn-dia.con{ background:#EEF7F1; border-color:rgba(44,122,75,0.3); }
.mn-dia.sel{ outline-color:#2C7A4B; }

/* Panel del día */
.mn-dia-panel{ margin-top:0; margin-bottom:12px; }
.mn-sueldo-lado .mn-sueldo-card{ margin-top:0; }
.mn-dia-vacio{ font-family:'Manrope',sans-serif; font-size:.9rem; color:var(--mn-sec); line-height:1.45; padding:6px 2px; }
.mn-dia-cab{ display:flex; flex-direction:column; gap:10px; margin-bottom:12px; }
.mn-dia-cab .mn-dia-titulo{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.05rem; margin:0; }
.mn-dia-resumen{ background:linear-gradient(135deg,#EEF7F1,#E2F3E8); border:1px solid rgba(44,122,75,0.22); border-radius:14px; padding:12px 14px; }
.mn-dia-gano{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.mn-dia-gano span{ font-family:'Manrope',sans-serif; font-weight:700; font-size:.85rem; color:#1F5C36; }
.mn-dia-gano strong{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.55rem; color:#1F5C36; font-variant-numeric: tabular-nums; }
.mn-dia-datos{ display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.mn-dia-datos span{ font-family:'Manrope',sans-serif; font-size:.78rem; color:#1F5C36; background:rgba(255,255,255,0.7); border-radius:999px; padding:3px 10px; }
.mn-dia-sin{ font-family:'Manrope',sans-serif; font-size:.88rem; color:var(--mn-sec); background:#F7F4EC; border-radius:12px; padding:10px 12px; }
.mn-sesiones-tit{ font-family:'Manrope',sans-serif; font-weight:800; font-size:.86rem; margin:12px 0 8px; display:flex; justify-content:space-between; gap:8px; align-items:baseline; }
.mn-sesiones-tit span{ font-weight:600; font-size:.74rem; color:var(--mn-sec); }
.mn-sesiones{ display:grid; grid-template-columns:repeat(auto-fill,minmax(78px,1fr)); gap:7px; }
.mn-sesion{ display:flex; flex-direction:column; align-items:center; gap:1px; padding:8px 4px; border-radius:12px; border:1.5px solid rgba(21,25,30,0.12); background:#fff; cursor:pointer; font-family:'Manrope',sans-serif; transition: all .12s ease; }
.mn-sesion:hover:not(:disabled){ border-color:#2C7A4B; transform:translateY(-1px); }
.mn-sesion-h{ font-weight:800; font-size:.92rem; color:var(--mn-ink); font-variant-numeric: tabular-nums; }
.mn-sesion-f{ font-size:.66rem; color:var(--mn-sec); }
.mn-sesion.on{ background:#2C7A4B; border-color:#2C7A4B; box-shadow:0 4px 10px rgba(44,122,75,0.28); }
.mn-sesion.on .mn-sesion-h, .mn-sesion.on .mn-sesion-f{ color:#fff; }
.mn-sesion.dentro{ background:#CFE8D9; border-color:#CFE8D9; cursor:default; }
.mn-sesion.dentro .mn-sesion-h{ color:#1F5C36; } .mn-sesion.dentro .mn-sesion-f{ color:#1F5C36; }
.mn-bloque{ font-family:'Manrope',sans-serif; }
.mn-bloque-h em{ font-style:normal; color:var(--mn-sec); font-weight:600; }
.mn-otro{ margin-top:12px; border:1.5px dashed rgba(21,25,30,0.18); border-radius:14px; padding:10px 12px; }
.mn-otro summary{ cursor:pointer; font-family:'Manrope',sans-serif; font-weight:800; font-size:.9rem; color:#2C7A4B; list-style:none; }
.mn-otro summary::-webkit-details-marker{ display:none; }
.mn-hora-picker{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.mn-hora-grupo > span{ display:block; font-family:'Manrope',sans-serif; font-weight:700; font-size:.76rem; color:var(--mn-sec); margin-bottom:5px; }
.mn-hora-sel{ display:flex; align-items:center; gap:4px; background:#F3EEE2; border-radius:14px; padding:6px; }
.mn-hora-sel b{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.2rem; color:var(--mn-ink); }
.mn-hora-sel select{ flex:1; appearance:none; -webkit-appearance:none; border:none; background:#fff; border-radius:10px; padding:8px 4px; text-align:center; text-align-last:center; font-family:'Manrope',sans-serif; font-weight:800; font-size:1.25rem; color:var(--mn-ink); cursor:pointer; box-shadow:0 1px 4px rgba(0,0,0,0.08); font-variant-numeric: tabular-nums; }
.mn-hora-sel select:focus{ outline:2px solid #2C7A4B; }
.mn-hora-calc{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:10px 0; font-family:'Manrope',sans-serif; font-size:.88rem; }
.mn-hora-calc span{ background:#F7F4EC; border-radius:999px; padding:4px 10px; }
.mn-hora-calc .mn-hora-plata{ background:#E2F3E8; color:#1F5C36; font-weight:800; }
.mn-btn-ancho{ width:100%; background:#2C7A4B; }

/* Tamaño general un poco menor (≈ 8%) */
.mn-titulo{ font-size:1.45rem; }
.mn-tab{ font-size:.9rem; }
.mn-kpi-val{ font-size:1.42rem; }
.mn-tabla{ font-size:.9rem; }
.mn-tabla input, .mn-tabla select{ font-size:.9rem; padding:9px; }
.mn-tot{ font-size:1.02rem; }
.mn-h3{ font-size:1.1rem; }
.mn-tabla-trans{ font-size:.93rem; }
.mn-tabla-trans th{ font-size:.74rem; padding:10px 12px; }
.mn-tabla-trans tbody td{ padding:11px 12px; font-size:.93rem; }
.mn-tabla-trans .mn-res-ventas td, .mn-tabla-trans .mn-res-gastos td, .mn-tabla-trans .mn-res-sueldos td{ font-size:.95rem; }
.mn-tabla-trans .mn-res-sub td{ font-size:.86rem; }
.mn-tabla-trans .mn-res-utilidad td{ font-size:1.05rem; padding-top:13px; padding-bottom:13px; }
.mn-tabla-trans .mn-rep-socio td{ font-size:1rem; }
.mn-tabla-trans .mn-rep-total td{ font-size:1rem; }
.mn-res-linea, .mn-sueldo-fila{ font-size:.93rem; padding:8px 0; }
.mn-res-linea.total strong{ font-size:1.3rem; }
.mn-sueldo-total strong{ font-size:1.5rem; }
.mn-liq-fila strong{ font-size:1.22rem; }
@media (max-width:600px){
  .mn-dia{ min-height:58px; }
  .mn-dia-plata{ font-size:.7rem; }
  .mn-dia .mn-dia-h{ display:none; }
  .mn-sesiones{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}
.mn-dia-cab .mn-dia-titulo{ display:block; } .mn-dia-cab .mn-dia-titulo::first-letter{ text-transform:uppercase; }

/* =====================================================================
   v52 · Ventas (previsión + planes, N° correlativo), Gastos (una tabla
   con color por categoría), Sueldos (banners, horas trabajadas/disponibles)
   ===================================================================== */
.mn-body{ transition: opacity .15s ease; }
.mn-body.mn-body-cargando{ opacity:.55; pointer-events:none; }
.mn-kpi-val.mn-kpi-chico{ font-size:1.25rem; }

/* Tablas más compactas: caben más filas */
.mn-tabla.mn-tabla-compacta{ font-size:.88rem; }
.mn-tabla.mn-tabla-compacta th{ padding:8px 8px; font-size:.68rem; }
.mn-tabla.mn-tabla-compacta input, .mn-tabla.mn-tabla-compacta select{ padding:5px 7px; font-size:.88rem; }
.mn-tabla.mn-tabla-compacta td{ height:34px; }
.mn-tabla.mn-tabla-compacta tfoot td{ padding:8px 8px; }

/* Gastos: color por categoría dentro de una sola tabla */
.mn-gcats{ display:flex; flex-wrap:wrap; gap:6px; margin:-2px 0 12px; }
.mn-gcat-chip{ display:inline-flex; align-items:center; gap:7px; padding:5px 11px; border-radius:999px; background:var(--gcf); border:1px solid color-mix(in srgb, var(--gc) 30%, transparent); font-family:'Manrope',sans-serif; font-weight:700; font-size:.78rem; color:#15191E; }
.mn-gcat-chip i{ width:9px; height:9px; border-radius:50%; background:var(--gc); }
.mn-gcat-chip b{ font-weight:800; font-variant-numeric: tabular-nums; }
.mn-tabla-gastos tr.mn-gfila td{ background:var(--gcf); border-bottom-color:rgba(21,25,30,0.06); }
.mn-tabla-gastos tr.mn-gfila td:first-child{ box-shadow: inset 4px 0 0 var(--gc); }
.mn-tabla-gastos tr.mn-gfila.mn-g-ini td{ border-top:2px solid color-mix(in srgb, var(--gc) 35%, #fff); }
.mn-tabla-gastos tr.mn-gfila:hover td{ background:color-mix(in srgb, var(--gcf) 70%, #fff); }
.mn-tabla-gastos tr.mn-gfila select[data-k="categoria_id"]{ font-weight:700; color:color-mix(in srgb, var(--gc) 75%, #15191E); }
.mn-tabla-gastos tr.pagado-socio td{ background:var(--gcf); }
.mn-tabla-gastos tr.pagado-socio select[data-k="pagado_por"]{ font-weight:700; color:#8A5A12; }

/* Nueva venta: N° correlativo */
.mn-nat{ margin-top:-8px; font-family:'Manrope',sans-serif; font-size:.8rem; color:var(--mn-sec); line-height:1.45; }
.mn-nat.alerta{ background:#FFF6DD; border:1px solid rgba(192,138,40,0.45); color:#6B4A0E; border-radius:12px; padding:10px 12px; margin-top:-6px; }
.mn-nat.error{ background:#FBEDEA; border:1px solid rgba(181,65,47,0.35); color:#8C2F22; border-radius:12px; padding:10px 12px; margin-top:-6px; }
.mn-nat small{ font-size:.78rem; opacity:.9; }
.mn-nat-volver{ margin-left:6px; border:none; background:#15191E; color:#fff; border-radius:999px; padding:4px 10px; font:700 .74rem 'Manrope',sans-serif; cursor:pointer; }

/* Previsión: dos botones grandes */
.mn-prev{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.mn-prev-btn{ border:1.5px solid rgba(21,25,30,0.12); border-radius:14px; padding:14px 10px; cursor:pointer; font:800 1rem 'Manrope',sans-serif; letter-spacing:.08em; color:#15191E;
  background:linear-gradient(180deg,#fff,#F6F2E8); box-shadow:0 3px 0 rgba(21,25,30,0.10); transition:transform .1s ease; }
.mn-prev-btn:active{ transform:translateY(2px); box-shadow:0 1px 0 rgba(21,25,30,0.12); }
.mn-prev-btn.mn-prev-fonasa.activo{ background:linear-gradient(180deg,#4C8FE0,#2F6FC2); border-color:#245DA6; color:#fff; box-shadow:0 3px 0 #1D4E8E, 0 8px 16px rgba(47,111,194,0.3); }
.mn-prev-btn.mn-prev-isapre.activo{ background:linear-gradient(180deg,#3FB27A,#2C8F5E); border-color:#23784E; color:#fff; box-shadow:0 3px 0 #1C643F, 0 8px 16px rgba(44,143,94,0.3); }
.mn-prev-btn.activo:not(.mn-prev-fonasa):not(.mn-prev-isapre){ background:#15191E; color:#fff; }

/* Planes */
.mn-planes{ display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; }
.mn-plan{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:10px 12px; border-radius:12px; border:1.5px solid rgba(21,25,30,0.12); background:#fff; cursor:pointer; text-align:left; font-family:'Manrope',sans-serif; transition:transform .1s ease, border-color .1s ease; }
.mn-plan:hover{ border-color:var(--mn-dorado); transform:translateY(-1px); }
.mn-plan-n{ font-weight:800; font-size:.92rem; color:#15191E; }
.mn-plan-m{ font-weight:800; font-size:.86rem; color:#2C7A4B; font-variant-numeric: tabular-nums; }
.mn-plan-otra .mn-plan-m{ color:var(--mn-sec); font-weight:600; font-size:.74rem; }
.mn-plan.activo{ background:#15191E; border-color:#15191E; box-shadow:0 6px 14px rgba(21,25,30,0.25); }
.mn-plan.activo .mn-plan-n{ color:#fff; } .mn-plan.activo .mn-plan-m{ color:#9FE0B9; }
.mn-otra{ display:flex; flex-direction:column; gap:14px; background:#FBF8F1; border:1px dashed rgba(192,138,40,0.5); border-radius:14px; padding:12px; }
.mn-otra[hidden], .mn-elegido[hidden], .mn-campo[hidden]{ display:none !important; }
.mn-elegido{ display:flex; justify-content:space-between; align-items:center; gap:10px; background:#EAF6EF; border:1px solid rgba(44,122,75,0.3); border-radius:14px; padding:12px 14px; font-family:'Manrope',sans-serif; }
.mn-elegido span{ font-weight:700; color:#1F5C36; }
.mn-elegido strong{ font-weight:800; font-size:1.2rem; color:#1F5C36; font-variant-numeric: tabular-nums; }

/* Resumen por atención (ventas) */
.mn-rp{ margin-top:16px; background:#fff; border:1px solid var(--mn-line); border-radius:14px; overflow:hidden; }
.mn-rp-tit{ padding:11px 14px; font-family:'Manrope',sans-serif; font-weight:800; font-size:.95rem; color:#fff; background:linear-gradient(135deg,#1E1A12,#0D0F14); border-bottom:2px solid #C08A28; letter-spacing:.02em; }
.mn-rp-wrap{ overflow:auto; }
.mn-rp-tabla{ width:100%; border-collapse:collapse; font-family:'Manrope',sans-serif; font-size:.86rem; min-width:420px; }
.mn-rp-tabla th{ text-align:right; padding:8px 12px; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--mn-sec); background:#FBF8F1; border-bottom:1px solid var(--mn-line); }
.mn-rp-tabla th.mn-rp-fonasa{ color:#2F6FC2; } .mn-rp-tabla th.mn-rp-isapre{ color:#2C8F5E; }
.mn-rp-tabla td{ text-align:right; padding:7px 12px; border-bottom:1px solid var(--mn-line); vertical-align:top; }
.mn-rp-tabla td b{ display:block; font-weight:800; font-variant-numeric: tabular-nums; color:#15191E; }
.mn-rp-tabla td span{ font-size:.72rem; color:var(--mn-sec); }
.mn-rp-tabla .mn-rp-tipo{ text-align:left; font-weight:700; color:#15191E; }
.mn-rp-tabla .mn-rp-tot{ background:#FBF8F1; }
.mn-rp-tabla tfoot td{ background:#F3EEE2; border-bottom:none; }
.mn-rp-tabla tfoot .mn-rp-tipo{ font-weight:800; }
.mn-rp-vacio{ color:rgba(21,25,30,0.3) !important; }

/* Sueldos: banners de resumen */
.mn-banner{ display:flex; flex-direction:column; gap:2px; margin:-14px -14px 12px; padding:12px 16px; border-radius:14px 14px 0 0; color:#fff; position:relative; overflow:hidden; }
.mn-banner::after{ content:''; position:absolute; inset:0; background:radial-gradient(300px 80px at 90% 0%, rgba(255,255,255,0.18), transparent 70%); pointer-events:none; }
.mn-banner-k{ font-family:'IBM Plex Mono',monospace; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; opacity:.85; }
.mn-banner-t{ font-family:'Manrope',sans-serif; font-weight:800; font-size:1.08rem; letter-spacing:.03em; }
.mn-banner-s{ font-family:'Manrope',sans-serif; font-size:.74rem; opacity:.8; }
.mn-banner-mes{ background:linear-gradient(135deg,#2A2112 0%,#0D0F14 75%); border-bottom:2px solid #C08A28; }
.mn-banner-mes .mn-banner-k{ color:#F3D27A; }
.mn-banner-dia{ background:linear-gradient(135deg,#2C8F5E 0%,#1C5E3E 100%); border-bottom:2px solid #9FE0B9; }
.mn-sueldo-card{ overflow:hidden; }
.mn-dia-panel{ overflow:hidden; }

/* Sueldos: horas trabajadas / disponibles */
.mn-tit-trab{ color:#1F5C36; }
.mn-sesiones-trab{ background:#F1F8F3; border:1px solid rgba(44,122,75,0.18); border-radius:12px; padding:8px; min-height:44px; }
.mn-sesiones-vacio{ grid-column:1/-1; font-family:'Manrope',sans-serif; font-size:.8rem; color:var(--mn-sec); padding:6px 4px; }
.mn-sesion{ transition:transform .08s ease, background .08s ease; }
.mn-sesion:active:not(:disabled){ transform:scale(.96); }
.mn-sesion.pend{ opacity:.7; }
.mn-sesion-bloque{ position:relative; grid-column:span 2; cursor:default; padding-right:26px; }
.mn-sesion-bloque.anterior{ background:#5E8F73; border-color:#5E8F73; }
.mn-sesion-x{ position:absolute; top:4px; right:5px; border:none; background:rgba(255,255,255,0.22); color:#fff; width:20px; height:20px; border-radius:50%; cursor:pointer; font-size:.66rem; line-height:1; }
.mn-sesion-x:hover{ background:rgba(255,255,255,0.4); }

/* Resultados: explicación de la transferencia */
.mn-liq-detalle{ margin:2px 0 8px; padding-left:18px; font-family:'Manrope',sans-serif; font-size:.86rem; color:#21456B; line-height:1.5; }
.mn-liq-detalle b{ font-variant-numeric: tabular-nums; }
.mn-nat.ok{ color:#1F5C36; }
.mn-nat.ok b{ font-size:.95rem; }

/* v56 · Gastos: cajas por categoría (mismo tamaño), detalle y colores en «Nuevo gasto» */
.mn-gcajas{ display:grid; grid-template-columns:repeat(auto-fill,minmax(168px,1fr)); gap:12px; margin:0 0 14px; }
.mn-gcaja{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-height:132px; padding:14px 14px 16px; text-align:left; cursor:pointer;
  border-radius:16px; border:1px solid color-mix(in srgb, var(--gc) 28%, transparent);
  background: linear-gradient(160deg, #fff 0%, var(--gcf) 70%);
  box-shadow: 0 1px 0 rgba(255,255,255,0.9) inset, 0 4px 0 color-mix(in srgb, var(--gc) 22%, transparent), 0 10px 22px rgba(21,25,30,0.07);
  font-family:'Manrope',sans-serif; color:#15191E; overflow:hidden;
  transition: transform .16s cubic-bezier(.2,.8,.2,1), box-shadow .16s ease, border-color .16s ease;
}
.mn-gcaja::before{ content:''; position:absolute; left:0; right:0; top:0; height:4px; background:var(--gc); }
.mn-gcaja:hover, .mn-gcaja:focus-visible{
  transform: translateY(-4px); outline:none; border-color:var(--gc);
  box-shadow: 0 1px 0 rgba(255,255,255,0.9) inset, 0 7px 0 color-mix(in srgb, var(--gc) 30%, transparent), 0 18px 34px color-mix(in srgb, var(--gc) 22%, transparent);
}
.mn-gcaja:active{ transform: translateY(1px); box-shadow: 0 2px 0 color-mix(in srgb, var(--gc) 25%, transparent); }
.mn-gcaja-top{ display:flex; justify-content:space-between; align-items:center; width:100%; }
.mn-gcaja-top i{ width:28px; height:28px; border-radius:9px; background:var(--gc); box-shadow: inset 0 2px 0 rgba(255,255,255,0.35), 0 4px 10px color-mix(in srgb, var(--gc) 35%, transparent); }
.mn-gcaja-pct{ font-weight:800; font-size:.76rem; color:color-mix(in srgb, var(--gc) 80%, #15191E); background:#fff; border-radius:999px; padding:3px 9px; border:1px solid color-mix(in srgb, var(--gc) 25%, transparent); }
.mn-gcaja-nom{ margin-top:6px; font-weight:700; font-size:.86rem; line-height:1.25; color:rgba(21,25,30,0.75); }
.mn-gcaja-tot{ font-weight:800; font-size:1.3rem; font-variant-numeric: tabular-nums; letter-spacing:-.01em; }
.mn-gcaja-n{ font-size:.72rem; font-weight:600; color:rgba(21,25,30,0.5); margin-top:auto; }
.mn-gcaja:hover .mn-gcaja-n{ color:color-mix(in srgb, var(--gc) 80%, #15191E); }
.mn-gcaja-barra{ position:absolute; left:14px; right:14px; bottom:8px; height:3px; border-radius:99px; background:rgba(21,25,30,0.07); overflow:hidden; }
.mn-gcaja-barra span{ display:block; height:100%; background:var(--gc); border-radius:99px; }
@media (max-width:640px){ .mn-gcajas{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; } .mn-gcaja{ min-height:118px; padding:12px 12px 14px; } .mn-gcaja-tot{ font-size:1.12rem; } }

/* Detalle de una categoría */
.mn-catdet{ width:min(600px,100%); animation: mn-catdet-in .22s cubic-bezier(.2,.8,.2,1); }
@keyframes mn-catdet-in{ from{ opacity:0; transform:translateY(16px) scale(.98); } to{ opacity:1; transform:none; } }
.mn-catdet-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:18px 20px; color:#fff;
  background: linear-gradient(135deg, var(--gc) 0%, color-mix(in srgb, var(--gc) 65%, #0D0F14) 100%); }
.mn-catdet-head h3{ margin:2px 0 0; font-family:'Manrope',sans-serif; font-weight:800; font-size:1.35rem; }
.mn-catdet-k{ font-family:'IBM Plex Mono',monospace; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; opacity:.85; }
.mn-catdet-head .mn-dlg-cerrar{ background:rgba(255,255,255,0.22); color:#fff; }
.mn-catdet-total{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:color-mix(in srgb, var(--gc) 20%, #fff); border-bottom:1px solid var(--mn-line); }
.mn-catdet-total div{ background:var(--gcf); padding:12px 16px; display:flex; flex-direction:column; gap:2px; font-family:'Manrope',sans-serif; }
.mn-catdet-total span{ font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(21,25,30,0.55); }
.mn-catdet-total strong{ font-size:1.2rem; font-weight:800; font-variant-numeric: tabular-nums; color:#15191E; }
.mn-catdet-body{ gap:10px; }
.mn-catdet-lista{ display:flex; flex-direction:column; }
.mn-catdet-fila{ display:grid; grid-template-columns:52px 1fr auto; gap:12px; align-items:center; padding:11px 2px; border-bottom:1px solid var(--mn-line); font-family:'Manrope',sans-serif; }
.mn-catdet-fila:last-child{ border-bottom:none; }
.mn-catdet-fecha{ font-weight:800; font-size:.78rem; color:color-mix(in srgb, var(--gc) 80%, #15191E); background:var(--gcf); border-radius:8px; padding:5px 0; text-align:center; font-variant-numeric: tabular-nums; }
.mn-catdet-conc{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.mn-catdet-conc b{ font-weight:700; font-size:.92rem; color:#15191E; }
.mn-catdet-conc small{ font-size:.74rem; color:rgba(21,25,30,0.55); }
.mn-catdet-monto{ font-weight:800; font-size:1rem; font-variant-numeric: tabular-nums; }
.mn-catdet-quien{ display:flex; flex-wrap:wrap; gap:8px; padding-top:4px; }
.mn-catdet-quien span{ background:#F6F2E8; border-radius:999px; padding:6px 12px; font:600 .8rem 'Manrope',sans-serif; color:rgba(21,25,30,0.7); }
.mn-catdet-quien b{ color:#15191E; }

/* «Nuevo gasto»: categorías con su color */
.mn-chip-sel.mn-chip-cat{ display:inline-flex; align-items:center; gap:8px; }
.mn-chip-sel.mn-chip-cat i{ width:10px; height:10px; border-radius:50%; background:var(--gc); flex:0 0 auto; }
.mn-chip-sel.mn-chip-cat:hover{ border-color:var(--gc); background:var(--gcf); }
.mn-chip-sel.mn-chip-cat.activo{ background:var(--gcf); border-color:var(--gc); color:#15191E; box-shadow:0 0 0 2px color-mix(in srgb, var(--gc) 25%, transparent), 0 4px 10px color-mix(in srgb, var(--gc) 20%, transparent); }
