
/* Advanced Solver module: external CSS, intentionally separate from the original HTML. */
.advanced-solver-panel {
  position:absolute;
  top:112px;
  right:16px;
  z-index:10;
  width:286px;
  display:none;
  background:rgba(13,13,12,.95);
  backdrop-filter:blur(18px);
  border:1px solid var(--border-hi);
  border-radius:var(--r);
  padding:18px;
  box-shadow:var(--shadow-lg);
  font-family:var(--font);
}
.advanced-solver-panel.visible { display:block; }
body.light .advanced-solver-panel {
  background:rgba(250,247,239,.96);
  color:var(--ink);
  border-color:rgba(28,26,22,.18);
  box-shadow:0 18px 60px rgba(28,26,22,.15);
}
.adv-solver-title {
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
}
.adv-solver-sub {
  margin:8px 0 14px;
  font-size:8.8px;
  line-height:1.55;
  letter-spacing:.045em;
  color:var(--muted);
}
.adv-solver-row { margin-bottom:12px; }
.adv-solver-label {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:7px;
  color:var(--ink-dim);
  font-size:11px;
}
.adv-solver-value { color:var(--ink); font-variant-numeric:tabular-nums; }
.adv-solver-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:12px; }
.adv-solver-actions .action.full { grid-column:span 2; }
.adv-solver-status {
  padding:7px 10px;
  margin-bottom:10px;
  border:1px solid var(--border-hi);
  border-radius:var(--r);
  background:rgba(230,226,214,.035);
  font-size:9.5px;
  line-height:1.35;
  color:var(--ink-dim);
}
.adv-solver-status.ok { color:#85a76e; }
.adv-solver-status.warn { color:#d4a84b; }
.adv-solver-status.err { color:#c97a6b; }
.adv-solver-metrics {
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px 10px;
  padding-top:10px;
  border-top:1px solid var(--border);
  font-size:10px;
  color:var(--muted);
}
.adv-solver-metrics strong { color:var(--ink-dim); font-weight:400; font-variant-numeric:tabular-nums; }
.adv-solver-close {
  width:24px; height:24px; border:1px solid var(--border-hi); border-radius:4px;
  background:transparent; color:var(--muted); cursor:pointer; position:relative; font-size:0; flex-shrink:0;
}
.adv-solver-close::before, .adv-solver-close::after { content:''; position:absolute; left:50%; top:50%; width:10px; height:1.3px; background:currentColor; border-radius:999px; transform-origin:center; }
.adv-solver-close::before { transform:translate(-50%,-50%) rotate(45deg); }
.adv-solver-close::after { transform:translate(-50%,-50%) rotate(-45deg); }
.adv-solver-close:hover { color:var(--ink); border-color:var(--ink-dim); background:rgba(230,226,214,.04); }
.g-adv-diff { stroke:rgba(184,165,110,.44); stroke-width:.75; vector-effect:non-scaling-stroke; stroke-linecap:round; pointer-events:none; }
.g-adv-edge { stroke:var(--s-col-e); stroke-width:1.65; vector-effect:non-scaling-stroke; stroke-linecap:round; pointer-events:none; }
.g-adv-node { fill:var(--s-col-e); opacity:.88; pointer-events:none; }
body.light .g-adv-diff { stroke:rgba(127,101,51,.40); }
body.light .g-adv-edge { stroke:var(--s-col-e); }
body.light .g-adv-node { fill:var(--s-col-e); }


/* Live Solver additions */
.adv-live-strip {
  margin: 10px 0 12px;
}
#advLiveBtn.active {
  border-color: var(--accent);
  color: var(--accent);
  background: rgba(184,165,110,.12);
}
.adv-solver-metrics {
  grid-template-columns: 1fr auto;
}
.adv-solver-metrics strong {
  font-variant-numeric: tabular-nums;
}
.advanced-solver-panel [data-tip] {
  position: relative;
}


/* Real Solving v2 refinements */
#advSolverBtn.active span,
#advLiveBtn.active {
  color: var(--accent);
}
.adv-field {
  margin: 2px 0 12px;
}
.advanced-solver-panel select {
  min-width: 138px;
}
.g-adv-edge {
  opacity: .82;
}
.g-adv-diff {
  opacity: .72;
  stroke-dasharray: 3 4;
}
.advanced-solver-overlay {
  pointer-events: none;
}
#advBakeBtn {
  border-color: rgba(184,165,110,.42);
}
#advBakeBtn:hover {
  color: var(--accent);
  border-color: var(--accent);
}
#budgetMetric {
  color: var(--accent);
}
