/* Nudura edition import surfaces only. Keep drawing/preview canvases and
   interaction geometry owned by their component styles. */

/* Shared PDF trace rail used by external and internal wall drawing. */
.nudura-edition .pdf-trace-controls {
  background: var(--nudura-surface);
  color: var(--nudura-ink);
  border-color: var(--nudura-border);
  box-shadow: var(--shadow-sm);
}
.nudura-edition .pdf-trace-controls__header strong { color: var(--nudura-ink); }
.nudura-edition :is(.pdf-trace-controls__eyebrow,.pdf-trace-controls__section h2,.pdf-trace-controls__range output) { color: var(--nudura-teal); }
.nudura-edition .pdf-trace-controls__section { border-bottom-color: var(--nudura-border); }
.nudura-edition :is(.pdf-trace-controls__range,.pdf-trace-controls__field,.pdf-trace-controls__section p) { color: var(--nudura-muted); }
.nudura-edition .pdf-trace-controls__range input { accent-color: var(--nudura-teal); }
.nudura-edition .pdf-trace-controls__field select {
  background: var(--nudura-surface);
  color: var(--nudura-ink);
  border-color: var(--nudura-border);
}
.nudura-edition .pdf-trace-controls__field select:focus-visible { outline-color: var(--nudura-teal); }
.nudura-edition :is(.pdf-trace-controls button,.pdf-trace-controls [data-pdf-recalibrate]) {
  background: var(--nudura-tint);
  color: var(--nudura-teal);
  border-color: var(--nudura-border);
}
.nudura-edition :is(.pdf-trace-controls button,.pdf-trace-controls [data-pdf-recalibrate]):hover {
  background: var(--nudura-surface);
  color: var(--nudura-teal-hover);
  border-color: var(--nudura-teal);
}
.nudura-edition :is(.pdf-trace-controls button[aria-pressed="true"],.pdf-trace-controls button.is-active) {
  background: var(--nudura-teal);
  color: white;
  border-color: var(--nudura-teal);
}
.nudura-edition :is(.pdf-trace-controls__locked,.pdf-trace-controls__scale) {
  background: #edf7ef;
  color: #23603a;
  border-color: #afd0b8;
}
.nudura-edition .pdf-trace-controls .pdf-trace-controls__end-run {
  background: #edf7ef;
  color: #23603a !important;
  border-color: #afd0b8 !important;
}
.nudura-edition .pdf-trace-controls .pdf-trace-controls__danger {
  background: #fff0f1;
  color: #a51f2e;
  border-color: #e4b3ba;
}
.nudura-edition .pdf-trace-controls .pdf-trace-controls__danger:hover {
  background: #fbe3e6;
  color: #8f1725;
  border-color: #cc8f98;
}
.nudura-edition .pdf-trace-controls kbd {
  background: var(--nudura-surface);
  color: var(--nudura-ink);
  border-color: var(--nudura-border);
}

/* Manual PDF scale calibration. The viewer, page thumbnails and loupe retain
   their paper-blue canvas backgrounds. */
.nudura-edition .pdf-calibrate__viewport-controls {
  background: var(--nudura-surface);
  border-color: var(--nudura-border);
  box-shadow: var(--shadow-sm);
}
.nudura-edition .pdf-calibrate__viewport-controls button {
  background: var(--nudura-tint);
  color: var(--nudura-ink);
}
.nudura-edition .pdf-calibrate__viewport-controls button:hover {
  background: var(--nudura-teal);
  color: white;
}
.nudura-edition .pdf-calibrate__viewport-controls button[aria-pressed="true"] {
  background: var(--nudura-teal);
  color: white;
}
.nudura-edition .pdf-calibrate__zoom-label { color: var(--nudura-muted); }
.nudura-edition .pdf-calibrate__file { color: var(--nudura-muted); }
.nudura-edition .pdf-calibrate__file a { color: var(--nudura-teal); }
.nudura-edition :is(.pdf-calibrate__thumbnail,.pdf-calibrate__panel) {
  background: var(--nudura-surface);
  color: var(--nudura-ink);
  border-color: var(--nudura-border);
}
.nudura-edition .pdf-calibrate__thumbnail { color: var(--nudura-muted); }
.nudura-edition .pdf-calibrate__thumbnail.active {
  background: var(--nudura-tint);
  color: var(--nudura-ink);
  border-color: var(--nudura-teal);
}
.nudura-edition .pdf-calibrate__step { color: var(--nudura-muted); }
.nudura-edition .pdf-calibrate__step-number { background: var(--nudura-tint); color: var(--nudura-teal); }
.nudura-edition .pdf-calibrate label { color: var(--nudura-ink); }
.nudura-edition .pdf-calibrate__status { background: var(--nudura-tint); color: var(--nudura-muted); }
.nudura-edition .pdf-calibrate__status.error { background: #fff0f1; color: #a51f2e; }
.nudura-edition .pdf-calibrate__status.success { background: #edf7ef; color: #23603a; }
.nudura-edition #derived-scale-card { background: #edf7ef !important; border-color: #afd0b8 !important; }
.nudura-edition #derived-scale-card > div:first-child { color: #23603a !important; }

/* Server-vector PDF review. Preserve the paper preview and extracted geometry
   overlay colours; only the surrounding UI changes palette. */
.nudura-edition .pdf-vector-review__panel {
  background: var(--nudura-surface);
  color: var(--nudura-ink);
  border-color: var(--nudura-border);
}
.nudura-edition .pdf-vector-review__panel p { color: var(--nudura-muted); }
.nudura-edition .pdf-vector-stat { background: var(--nudura-tint); }
.nudura-edition .pdf-vector-stat span { color: var(--nudura-muted); }
.nudura-edition .pdf-vector-stat strong { color: var(--nudura-ink); }
.nudura-edition .pdf-vector-badge { background: #edf7ef; color: #23603a; border-color: #afd0b8; }
.nudura-edition .pdf-vector-notice { background: var(--nudura-tint); color: var(--nudura-ink); border-color: var(--nudura-border); }
.nudura-edition .pdf-vector-issues { background: #fff7e6; color: #805006; border-color: #e3ca92; }
.nudura-edition .pdf-vector-auto {
  background: var(--nudura-teal) !important;
  color: white !important;
  border-color: var(--nudura-teal) !important;
  box-shadow: none;
}
.nudura-edition .pdf-vector-auto:hover { background: var(--nudura-teal-hover) !important; }
.nudura-edition .pdf-vector-auto-note { color: #23603a; }
.nudura-edition .pdf-vector-status { color: var(--nudura-muted); }
.nudura-edition .pdf-vector-status.error { color: #a51f2e; }

/* Optional AI PDF import pages. */
.nudura-edition :is(.pdf-beta a,.pdf-beta__eyebrow) { color: var(--nudura-teal); }
.nudura-edition .pdf-beta__error { background: #fff0f1; color: #a51f2e; border: 1px solid #e4b3ba; }
.nudura-edition .pdf-beta :is(th,td) { border-bottom-color: var(--nudura-border); }
.nudura-edition .pdf-beta__default { background: var(--nudura-tint); border-color: var(--nudura-border); }
.nudura-edition .pdf-beta__default p { color: var(--nudura-muted); }

/* IFC upload intake. */
.nudura-edition .import-format[aria-pressed="true"] { background: var(--nudura-tint); border-color: var(--nudura-teal); box-shadow: 0 0 0 2px rgba(38,120,101,.15); }
.nudura-edition .import-drop.dragover { background: var(--nudura-tint); border-color: var(--nudura-teal); }
.nudura-edition :is(.import-ifc-prep,.import-progress) { background: var(--nudura-tint); border-color: var(--nudura-border); }
.nudura-edition .import-ifc-rule { background: var(--nudura-surface); border-color: var(--nudura-border); }
.nudura-edition .import-ifc-brief { border-top-color: var(--nudura-border); }
.nudura-edition .import-ifc-copy { background: var(--nudura-tint); color: var(--nudura-teal); border-color: var(--nudura-border); }
.nudura-edition .import-ifc-copy:hover { background: var(--nudura-surface); border-color: var(--nudura-teal); }

/* IFC floor review. The Three.js viewport and white 2D plan/editor canvases
   deliberately remain under the component's original palette. */
.nudura-edition .ifc-review-toolbar { background: var(--nudura-surface); border-color: var(--nudura-border); }
.nudura-edition .ifc-review-toolbar button { background: var(--nudura-tint); color: var(--nudura-ink); border-color: var(--nudura-border); }
.nudura-edition .ifc-review-toolbar button.active { background: var(--nudura-teal); color: white; border-color: var(--nudura-teal); }
.nudura-edition :is(.ifc-review-legend,.ifc-preview-message,.ifc-preview-floor-scope) {
  background: var(--nudura-surface);
  color: var(--nudura-ink);
  border-color: var(--nudura-border);
}
.nudura-edition .ifc-preview-floor-scope strong { color: var(--nudura-teal); }
.nudura-edition .ifc-preview-floor-scope button { background: var(--nudura-tint); color: var(--nudura-ink); border-color: var(--nudura-border); }
.nudura-edition .ifc-assistant-status { background: var(--nudura-surface); border-color: var(--nudura-border); }
.nudura-edition .ifc-assistant-status__badge { background: var(--nudura-tint); color: var(--nudura-teal); }
.nudura-edition .ifc-assistant-status[data-state="ready"] .ifc-assistant-status__badge { background: #edf7ef; color: #23603a; }
.nudura-edition .ifc-assistant-status[data-state="review"] .ifc-assistant-status__badge { background: #fff7e6; color: #805006; }
.nudura-edition .ifc-assistant-status__actions button { background: var(--nudura-tint); color: var(--nudura-teal); border-color: var(--nudura-border); }
.nudura-edition .ifc-assistant-status__advice { background: var(--nudura-tint); color: var(--nudura-ink); border-left-color: var(--nudura-teal); }
.nudura-edition .ifc-assistant-status__evidence summary { color: var(--nudura-teal); }
.nudura-edition .ifc-floor-choice:has(input:checked) { background: var(--nudura-tint); border-color: var(--nudura-teal); }
.nudura-edition .ifc-floor-choice input { accent-color: var(--nudura-teal); }
.nudura-edition .ifc-floor-status { background: #edf7ef; color: #23603a; }
.nudura-edition .ifc-floor-status.ready { background: var(--nudura-tint); color: var(--nudura-teal); }
.nudura-edition .ifc-floor-status.drawing { background: #fff7e6; color: #805006; }
.nudura-edition .ifc-floor-status.skipped { background: #edf3f0; color: var(--nudura-muted); }
.nudura-edition .ifc-floor-redraw { background: var(--nudura-tint); color: var(--nudura-teal); border-color: var(--nudura-border); }
.nudura-edition .ifc-floor-redraw:hover { background: var(--nudura-teal); color: white; border-color: var(--nudura-teal); }
.nudura-edition .ifc-next-floor-message { background: #edf7ef; color: var(--nudura-muted); border-color: #afd0b8; }
.nudura-edition .ifc-next-floor-message strong { color: #23603a; }
.nudura-edition :is(.ifc-finish-completed,.ifc-boundary-editor,.ifc-boundary-guidance,.ifc-boundary-fallback,.ifc-boundary-summary) {
  background: var(--nudura-surface);
  color: var(--nudura-ink);
  border-color: var(--nudura-border);
}
.nudura-edition .ifc-boundary-editor__tools button { background: var(--nudura-tint); color: var(--nudura-ink); border-color: var(--nudura-border); }
.nudura-edition .ifc-boundary-editor__tools [data-boundary-box] { background: var(--nudura-teal); color: white; border-color: var(--nudura-teal); }
.nudura-edition .ifc-boundary-editor__tools [data-boundary-box].active { background: #805006; border-color: #805006; }
.nudura-edition .ifc-boundary-editor__tools [data-boundary-clear] { background: #fff0f1; color: #a51f2e; border-color: #e4b3ba; }
.nudura-edition .ifc-boundary-task { background: var(--nudura-tint); color: var(--nudura-muted); border-left-color: var(--nudura-teal); }
.nudura-edition .ifc-boundary-task strong { color: var(--nudura-ink); }
.nudura-edition :is(.ifc-boundary-guidance > summary,.ifc-boundary-fallback > summary) { color: var(--nudura-teal); }
.nudura-edition .ifc-boundary-summary strong { color: var(--nudura-ink); }
.nudura-edition .ifc-floor-core { background: #edf7ef; color: var(--nudura-muted); border-color: #afd0b8; }
.nudura-edition .ifc-floor-core strong { color: #23603a; }
.nudura-edition .ifc-boundary-commit { background: var(--nudura-surface); border-top-color: var(--nudura-border); }
.nudura-edition .ifc-boundary-ready { color: var(--nudura-teal); }
.nudura-edition .ifc-boundary-action { border-color: var(--nudura-teal); box-shadow: var(--shadow-sm); }
.nudura-edition .ifc-boundary-help { color: #805006; }
.nudura-edition .ifc-technical-details { background: var(--nudura-surface); border-color: var(--nudura-border); }
.nudura-edition .ifc-technical-details > summary { color: var(--nudura-ink); }
