/* ============================================================
   mining.css — Módulo de minería de datos
   Paleta categórica validada para la superficie oscura (#0c121c):
   3 tonos que pasan todos los pares (CVD ΔE ≥ 9,4; visión normal ≥ 20,9).
   QueryLab · Dr. César Ortiz Méndez
   ============================================================ */
main.main{ min-width:0; }
:root{ --s1:#3987e5; --s2:#d95926; --s3:#199e70; --mn-surface:#0c121c; --mn-muted:#3a4a5c; --mn-grid:#1a2533; --mn-ax:#8ea3b8; }
.mn-kdd{ list-style:none; counter-reset:k; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; padding:0; margin:10px 0; }
.mn-kdd li{ counter-increment:k; border:1px solid var(--line); border-top:3px solid var(--s1); border-radius:6px; background:var(--bg-elev); padding:10px 12px; }
.mn-kdd li::before{ content:counter(k); color:var(--muted); font-size:11px; margin-right:6px; }
.mn-kdd b{ color:#dce6f0; } .mn-kdd span{ display:block; margin-top:4px; color:#a9b8c8; font-family:var(--sans); font-size:12.5px; line-height:1.45; }
.nf-forms{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:12px; margin-bottom:12px; }
.nf-form{ border:1px solid var(--line); border-radius:6px; background:var(--bg-elev); padding:12px 14px; font-family:var(--sans); font-size:13.5px; color:#bac8d6; line-height:1.55; }
.nf-form p{ margin:6px 0; } .nf-fh{ font-family:var(--mono); color:var(--muted); font-size:12px; } .nf-fh b{ color:var(--phosphor); font-size:15px; margin-right:4px; }
.mn-view{ border:1px solid var(--line); border-radius:8px; background:var(--bg-elev); padding:12px; }
.mn-vbar{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; } .mn-sel{ flex:1; min-width:220px; width:auto !important; }
.mn-sqlta{ font-family:var(--mono) !important; font-size:12px !important; line-height:1.5; }
.mn-profile{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; }
.mn-card{ border:1px solid var(--line); border-radius:8px; background:var(--bg-elev); padding:10px 12px; min-width:0; }
.mn-ch{ display:flex; justify-content:space-between; gap:8px; align-items:baseline; } .mn-ch b{ color:#dce6f0; }
.mn-type{ font-size:10.5px; color:var(--violet); border:1px solid #3a2a6a; border-radius:99px; padding:1px 8px; }
.mn-facts{ display:grid; grid-template-columns:auto 1fr; gap:2px 10px; margin:8px 0; font-size:11.5px; }
.mn-facts dt{ color:var(--muted); } .mn-facts dd{ margin:0; color:#dce6f0; text-align:right; }
.mn-chart{ min-width:0; } .mn-chart.wide{ max-width:640px; }
.mn-svg{ display:block; height:auto; overflow:visible; }
.mn-svg .mn-grid{ stroke:var(--mn-grid); stroke-width:1; }
.mn-svg .mn-ax{ fill:var(--mn-ax); font:10px var(--mono); } .mn-svg .mn-axt{ fill:var(--mn-ax); font:10.5px var(--sans); }
.mn-svg .mn-lbl{ fill:#cdd9e6; font:10.5px var(--sans); } .mn-svg .mn-val{ fill:#cdd9e6; font:10px var(--mono); }
.mn-svg .mn-mark{ stroke:var(--mn-ax); stroke-width:1; stroke-dasharray:3 3; }
.mn-svg circle, .mn-svg path{ cursor:default; } .mn-svg circle:hover{ stroke:#fff; }
.mn-note{ color:var(--muted); font-family:var(--sans); font-size:12px; line-height:1.5; margin:6px 0; }
.mn-lab{ display:grid; grid-template-columns:270px minmax(0,1fr); gap:14px; align-items:start; }
.mn-ctl{ border:1px solid var(--line); border-radius:8px; background:var(--bg-elev); padding:12px; position:sticky; top:52px; display:flex; flex-direction:column; gap:8px; }
.mn-res{ min-width:0; }
.mn-chks{ display:flex; flex-wrap:wrap; gap:5px; }
.mn-chk{ display:inline-flex; gap:6px; align-items:center; font-size:11.5px; color:var(--text); border:1px solid var(--line); border-radius:99px; padding:3px 9px; cursor:pointer; background:#0a1320; }
.mn-chk input{ accent-color:var(--phosphor); margin:0; }
.mn-range{ display:flex; flex-direction:column; gap:4px; font-size:11.5px; color:var(--muted); } .mn-range b{ color:var(--phosphor); }
.mn-range input{ accent-color:var(--phosphor); }
.mn-kpis{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
.mn-kpis > div{ border:1px solid var(--line); border-radius:6px; background:var(--bg-elev); padding:8px 12px; min-width:120px; flex:1; }
.mn-kpis b{ display:block; color:var(--phosphor); font-size:20px; } .mn-kpis small{ color:var(--muted); font-size:10.5px; line-height:1.3; display:block; }
.mn-plots{ margin-bottom:8px; }
.mn-facets{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:8px; }
.mn-ft{ color:#cdd9e6; font-size:11.5px; margin-bottom:2px; }
.mn-legend{ display:flex; flex-wrap:wrap; gap:14px; font-size:11.5px; color:#cdd9e6; margin:4px 0 8px; }
.mn-legend i{ display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; vertical-align:-1px; }
.mn-dot{ display:inline-block; width:9px; height:9px; border-radius:50%; vertical-align:0; }
.mn-sub{ color:var(--cyan); font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin:14px 0 6px; }
.qresult .mn-rules td{ white-space:normal; min-width:90px; }
.mn-tree small{ white-space:nowrap; }
.mn-rules td.up{ color:var(--phosphor); font-weight:700; } .mn-rules td.down{ color:var(--amber); }
.mn-explain{ border-left:3px solid var(--violet); background:#100c1d; padding:8px 12px; border-radius:0 6px 6px 0; margin:10px 0; font-family:var(--sans); font-size:13px; color:#c8bfe6; line-height:1.55; }
.mn-explain.warn{ border-color:var(--amber); background:#1e1708; color:#ecd9ad; }
.mn-explain code{ color:var(--phosphor); font-family:var(--mono); }
.mn-trgrid{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:16px; }
.mn-trgrid > div{ min-width:0; overflow-x:auto; }
.mn-tree, .mn-tree ul{ list-style:none; margin:0; padding-left:16px; }
.mn-tree{ padding-left:0; font-size:12px; }
.mn-tree li{ position:relative; margin:3px 0; }
.mn-tree ul li{ border-left:1px solid #22344c; padding-left:12px; }
.mn-q{ display:inline-block; background:#0b1524; border:1px solid #2a4a78; border-radius:5px; padding:3px 8px; color:#dce6f0; }
.mn-q small, .mn-tree small{ color:var(--muted); font-size:10.5px; }
.mn-yes, .mn-no{ font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.mn-leaf{ display:inline-block; border-radius:99px; padding:1px 9px; border:1px solid #15402c; color:var(--phosphor); background:#0d2018; font-weight:600; }
.mn-leaf.pos{ border-color:#5a2d16; color:#ffb48f; background:#1f120a; }
.mn-cm{ border-collapse:collapse; font-size:12px; margin-bottom:6px; }
.mn-cm th, .mn-cm td{ border:1px solid var(--line); padding:6px 10px; text-align:center; } .mn-cm th{ color:var(--cyan); font-weight:600; background:#0b1421; }
.mn-cm td.ok{ color:var(--phosphor); font-weight:700; } .mn-cm td.bad{ color:#ff9cc8; }
@media (max-width: 1000px){ .mn-lab, .mn-trgrid{ grid-template-columns:1fr; } .mn-ctl{ position:static; } }
