:root { --bd:#e6e6e6; --fg:#111; --mut:#666; --bg:#fafafa; --card:#fff; --bad:#b00020; }
    body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0;background:var(--bg);color:var(--fg)}
    .wrap{width:90%;max-width:none;margin:0 auto;}
    h1{margin:0 0 6px;font-size:22px}
    .sub{margin:0 0 18px;color:var(--mut);font-size:14px}
    .grid4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px}
    @media (max-width: 1180px){.grid4{grid-template-columns:1fr}}
    .card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:14px}
    .card h2{margin:0 0 10px;font-size:16px}
    .row{display:grid;grid-template-columns:1fr 180px;gap:10px;align-items:center;margin:8px 0}
    label{font-size:13px;color:var(--mut)}
    input,select{/*width:85%;*/padding:10px;border:1px solid var(--bd);border-radius:10px;font-size:14px;background:#fff}
    .hint{font-size:12px;color:var(--mut);margin-top:6px;line-height:1.35}
    .actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
    button{padding:10px 14px;border-radius:10px;border:1px solid var(--bd);background:#fff;cursor:pointer;font-weight:600}
    button.primary{background:#111;color:#fff;border-color:#111}
    .results3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
    @media (max-width: 1020px){.results3{grid-template-columns:1fr}}
    .kpi{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed var(--bd)}
    .kpi:last-child{border-bottom:none}
    .kpi .name{color:var(--mut);font-size:13px}
    .kpi .val{font-weight:700}
    .warn{color:var(--bad);font-size:13px;margin-top:10px;line-height:1.4}
    .ok{color:#0b6b0b;font-size:13px;margin-top:10px;line-height:1.4}
    .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:var(--mut);line-height:1.45}
    .chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--bd);border-radius:999px;background:#fff;font-size:12px;color:var(--mut)}
    .item{display:grid;grid-template-columns:1fr 180px 90px;gap:10px;align-items:center;margin:8px 0}
    .item button{padding:9px 10px}
    .muted{color:var(--mut)}
    .section-title{margin:0 0 6px;font-size:16px}
    .section-sub{margin:0 0 10px;color:var(--mut);font-size:12px}
  
    @media (max-width: 1180px){
      .row.top-controls{grid-template-columns: 1fr 1fr !important;}
    }

@media (max-width: 980px){
  .row.top-controls{grid-template-columns:1fr !important; gap:12px;}
  .row.top-controls .top-right{justify-content:flex-start !important;}
}


    /* --- Modal Hijos: una sola línea (flex-wrap) + botón × siempre alineado --- */
    .child-item{
      display:grid;
      grid-template-columns: 1fr 42px;
      gap:10px;
      align-items:start;
      margin:10px 0;
      padding:10px;
      border:1px dashed var(--bd);
      border-radius:12px;
      background:#fff;
    }
    .child-line{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:12px;
    }
    .child-field{
      display:flex;
      flex-direction:column;
      gap:6px;
      min-width:140px;
    }
    .child-field input{width:140px}
    .checkline{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:13px;
      color:var(--mut);
      white-space:nowrap;
    }
    .checkline input{width:auto}
    .child-actions{
      display:flex;
      justify-content:flex-end;
      align-items:flex-start;
    }
    .child-actions .btnX{margin-top:2px}

    @media (max-width: 980px){
      .child-item{grid-template-columns:1fr;}
      .child-actions{justify-content:flex-start}
      .child-field{min-width:120px}
      .child-field input{width:120px}
      .checkline{white-space:normal}
    }


    

    /* --- Dashboard layout (UI only) --- */
    .dash4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px;align-items:start;margin-top:14px}
    @media (max-width: 1400px){.dash4{grid-template-columns:1fr 1fr;}}
    @media (max-width: 980px){.dash4{grid-template-columns:1fr;}}
    .stack{display:flex;flex-direction:column;gap:14px}


    
    .actionsRight{justify-content:flex-end;margin:14px 0}
    .item{display:grid;grid-template-columns:1fr 160px 42px;gap:10px;align-items:center;margin:8px 0}
    .btnX{padding:8px 0;border-radius:10px;width:42px;line-height:1;font-size:18px}


    .actionsBar{display:flex;justify-content:flex-end;margin:14px 0}
    .actionsBar .actions{margin:0}

/* --- Children modal: single-line rows --- */
.child-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px;
  border:1px dashed var(--border,#e5e5e5);
  border-radius:14px;
  margin-top:12px;
  background:#fff;
}
.child-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  flex:1;
  min-width:0;
}
.child-field{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:260px;
}
.child-field label.muted{
  font-size:13px;
  color:#666;
  white-space:nowrap;
}
.child-field input{
  max-width:120px;
}
.checkline{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.child-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
}
.child-actions .btnX{
  width:42px;
  height:42px;
  border-radius:12px;
}


/* --- v2_18: force children row to stay on one line --- */
.child-item{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.child-line{ display:flex; align-items:center; gap:14px; flex:1; min-width:0; flex-wrap:nowrap; }
.child-field{ display:flex; align-items:center; gap:10px; min-width:0; }
.child-field label.muted{ white-space:nowrap; }
.checkline{ display:flex; align-items:center; gap:8px; white-space:nowrap; flex:0 0 auto; }
.child-actions{ flex:0 0 auto; display:flex; align-items:center; }
.child-actions .btnX{ margin-left:8px; }
@media (max-width: 860px){
  /* Allow wrap on small screens only */
  .child-line{ flex-wrap:wrap; }
}


/* --- v2_19: children modal row forced single-line --- */
.child-item{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.child-item > div:first-child{ flex:1; min-width:0; }
.child-grid{ display:flex !important; align-items:center; gap:14px; flex-wrap:nowrap !important; }
.child-grid > div:first-child{ display:flex; align-items:center; gap:10px; min-width:260px; }
.child-grid > div:first-child label{ white-space:nowrap; }
.child-grid input{ max-width:120px; }
.checkline{ display:flex; align-items:center; gap:8px; white-space:nowrap; }
.child-actions{ flex:0 0 auto; display:flex; align-items:center; }
@media (max-width: 860px){
  .child-grid{ flex-wrap:wrap !important; }
  .child-grid > div:first-child{ min-width:220px; }
}


/* v2_21: Auto-recalc mode (no manual Calcular) */
/* v2_25: email modal minimal */
#emailInput{ max-width:360px; padding:10px 12px !important; }
#emailModal .modalFieldRow{ display:flex; }
