/* TOOLTRACE — steg-basert bilde-til-verktøyinnsats-flyt. Gjenbruker gf-panel/gf-field/gf-stats/
 * gf-viz-wrap/gf-3d-wrap/gf-download-btn/gf-disclaimer fra gridfinity.css for visuell konsistens. */

.tt-steps { display: flex; flex-direction: column; gap: 1.5rem; max-width: 900px; margin: 0 auto; }

.tt-step-header {
  display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.25rem;
}
.tt-step-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.9rem; height: 1.9rem; border-radius: 50%;
  background: var(--primary); color: #fff; font-family: var(--font-head); font-size: 0.95rem; font-weight: 600;
  flex-shrink: 0;
}

.tt-disabled { opacity: 0.4; pointer-events: none; filter: grayscale(0.4); transition: opacity 0.2s; }

.tt-dropzone {
  border: 2px dashed var(--border-strong); border-radius: var(--radius);
  padding: 2.5rem 1.5rem; text-align: center; cursor: pointer;
  color: var(--fg-muted); font-size: 0.9rem; transition: all 0.2s;
}
.tt-dropzone:hover, .tt-dropzone.tt-drop-active { border-color: var(--primary); color: var(--fg); background: var(--bg-muted); }
.tt-dropzone strong { color: var(--fg); }

.tt-status-line { font-size: 0.8rem; color: var(--fg-muted); margin-top: 0.75rem; }
.tt-status-ready { color: #5FB56C; }

.tt-canvas-wrap {
  position: relative; width: 100%; max-width: 640px; margin: 1rem auto 0;
  border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: #000;
}
.tt-canvas-wrap canvas { display: block; width: 100%; height: auto; cursor: crosshair; touch-action: none; }

.tt-hint { font-size: 0.78rem; color: var(--fg-muted); margin-top: 0.6rem; }

.tt-toggle-row { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.75rem; font-size: 0.85rem; color: var(--fg-muted); }

.tt-mode-row { display: flex; gap: 1.5rem; margin-bottom: 1rem; font-size: 0.85rem; }
.tt-mode-row label { display: flex; align-items: center; gap: 0.4rem; cursor: pointer; }

.tt-slider-row { margin-bottom: 1rem; }
.tt-slider-row label {
  display: flex; justify-content: space-between; font-size: 0.78rem; font-weight: 600;
  color: var(--fg-muted); letter-spacing: 0.03em; text-transform: uppercase; margin-bottom: 0.4rem;
}
.tt-slider-row label span:last-child { color: var(--fg); font-variant-numeric: tabular-nums; text-transform: none; letter-spacing: normal; }
.tt-slider-row input[type="range"] { width: 100%; accent-color: var(--primary); }

.tt-btn-row { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 1.25rem; }

.tt-radio-row { display: flex; gap: 1.5rem; margin-bottom: 1.25rem; }
.tt-radio-row label { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.9rem; color: var(--fg); }

.tt-warning {
  margin-top: 1rem; padding: 0.85rem 1.1rem;
  background: rgba(216, 90, 48, 0.12); border: 1px solid rgba(216, 90, 48, 0.4);
  border-radius: var(--radius); font-size: 0.85rem; color: var(--fg);
  display: none;
}

.tt-btn-active { border-color: var(--primary); color: var(--primary); background: rgba(216, 90, 48, 0.1); }

.tt-tool-list { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 1rem; }
.tt-tool-row {
  display: flex; align-items: stretch; gap: 0.5rem;
  border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden;
}
.tt-tool-row-active { border-color: var(--primary); }
.tt-tool-select {
  flex: 1; text-align: left; padding: 0.6rem 0.9rem; border: none; background: var(--bg-muted);
  color: var(--fg); font-family: var(--font); font-size: 0.85rem; cursor: pointer;
}
.tt-tool-row-active .tt-tool-select { color: var(--primary); font-weight: 600; }
.tt-tool-remove {
  padding: 0 0.9rem; border: none; background: var(--bg-muted); color: var(--fg-muted);
  font-size: 1.1rem; cursor: pointer; transition: color 0.2s;
}
.tt-tool-remove:hover { color: var(--primary); }

@media (max-width: 900px) {
  .tt-steps { max-width: 100%; }
}
