/* Controles físicos e prancheta do XS Neon Studio, nos dois temas. */
.editor-unit { color: var(--text-muted); font-size: .65rem; font-weight: 400; }
.editor-dimensions { gap: 12px; }
.editor-dimension-row { display: grid; grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr); align-items: end; gap: 8px; }
.editor-dimension-row > label, .editor-property-row > label { min-width: 0; display: flex; flex-direction: column; gap: 6px; font-size: .69rem; color: var(--text-muted); }
.editor-number { display: flex; align-items: center; gap: 5px; padding-right: 9px; border: 1px solid var(--border-strong); border-radius: 7px; background: var(--bg-dark); }
.editor-number input { min-width: 0; width: 100%; padding: 10px 0 10px 10px; background: none; border: 0; color: var(--text-main); font-size: .85rem; outline-offset: 0; }
.editor-number > span { font-size: .63rem; }
.editor-icon-button { width: 30px; height: 34px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--text-muted); cursor: pointer; }
.editor-icon-button svg { width: 16px; height: 16px; }
.editor-icon-button.active { color: var(--accent); background: var(--accent-soft); }
.editor-icon-button:hover:not(:disabled) { background: var(--bg-elevated); color: var(--text-main); }
.editor-icon-button:disabled { opacity: .3; cursor: default; }
.editor-presets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.editor-presets > button { padding: 7px; border: 1px solid var(--border-subtle); border-radius: 5px; background: var(--bg-elevated); color: var(--text-muted); font-size: .65rem; cursor: pointer; }
.editor-presets > button:hover { color: var(--accent); border-color: var(--accent); }
.editor-property-row { display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; }
.editor-property-row :is(select, input) { min-width: 0; width: 100%; background: var(--bg-dark); color: var(--text-main); padding: 9px 7px; border: 1px solid var(--border-strong); border-radius: 6px; font-size: .68rem; }
.editor-checkbox { display: flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: .68rem; line-height: 1.5; cursor: pointer; }
.editor-checkbox input { accent-color: var(--designi-blue); width: 14px; height: 14px; }
.editor-artwork-adjustments { border: 1px solid var(--border-subtle); border-radius: 8px; padding: 10px; margin-bottom: 5px; }
.editor-artwork-adjustments > summary { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: .72rem; color: var(--text-muted); list-style: none; cursor: pointer; }
.editor-artwork-adjustments > summary::-webkit-details-marker { display: none; }
.editor-artwork-adjustments > summary svg { width: 14px; height: 14px; }
.editor-artwork-adjustments[open] > summary { margin-bottom: 16px; color: var(--text-main); }
.editor-range-label { display: flex; justify-content: space-between; gap: 10px; color: var(--text-muted); font-size: .68rem; margin-top: 14px; }
.editor-range-label output { color: var(--text-main); }
.editor-text-button { display: flex; align-items: center; justify-content: center; gap: 7px; background: transparent; border: 0; color: var(--text-muted); font-size: .7rem; padding: 9px 4px; cursor: pointer; }
.editor-text-button svg { width: 14px; height: 14px; }
.editor-text-button:hover { color: var(--accent); }
.editor-artwork-adjustments .editor-text-button { width: 100%; margin-top: 7px; }
.editor-artwork-adjustments > summary:focus-visible { outline: 2px solid #9cadff; outline-offset: 4px; }
.editor-toolbar { display: none; align-items: center; gap: 5px; }
.editor-toolbar-divider { height: 18px; width: 1px; background: var(--border-strong); margin: 0 4px; }
.stage-wall-selector .wall-pill { display: inline-flex; align-items: center; gap: 6px; }
.stage-wall-selector .wall-pill > svg { width: 13px; height: 13px; }
.studio-center-stage:has(.viewport-3d[data-mode="editor"]) .stage-camera-controls { display: none; }
.studio-center-stage:has(.viewport-3d[data-mode="editor"]) .editor-toolbar { display: flex; }
.technical-editor { display: none; position: absolute; inset: 0; overflow: hidden; outline: 0; }
.technical-editor:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.viewport-3d[data-mode="editor"] .technical-editor { display: block; }
.viewport-3d[data-mode="editor"] .stage-comparison-container { display: none; }
#editor-canvas { width: 100%; height: 100%; display: block; touch-action: none; user-select: none; cursor: grab; }
#editor-canvas:active { cursor: grabbing; }
#editor-canvas [data-editor-artwork] { cursor: move; }
.editor-canvas-caption { position: absolute; top: 43px; left: 47px; display: flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: .65rem; pointer-events: none; }
.editor-live-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }
.editor-canvas-help { position: absolute; bottom: 84px; left: 45px; right: 20px; color: var(--text-dim); font-size: .62rem; line-height: 1.6; pointer-events: none; text-align: center; }
.editor-export-note { color: var(--text-dim); font-size: .64rem; text-align: center; line-height: 1.6; }
.export-actions > button:disabled { opacity: .6; cursor: wait; }
.spec-list li strong { text-align: right; max-width: 60%; }
.spec-list li { gap: 9px; }
#sheet-size-text[readonly] { color: var(--text-muted); cursor: default; }
.custom-seal-controls { display: flex; flex-direction: column; gap: 10px; padding-top: 12px; margin-top: 5px; border-top: 1px solid var(--border-subtle); }
.custom-seal-hint { color: var(--text-muted); font-size: .65rem; line-height: 1.6; }
.custom-seal-preview { display: flex; align-items: center; gap: 9px; padding: 8px; background: var(--bg-dark); border: 1px solid var(--border-subtle); border-radius: 8px; }
.custom-seal-preview[hidden] { display: none; }
.custom-seal-preview > img { width: 58px; height: 42px; padding: 4px; object-fit: contain; border-radius: 4px; background: repeating-conic-gradient(#d8dce1 0% 25%, #fff 0% 50%) 0 / 10px 10px; }
.custom-seal-preview > span { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-muted); font-size: .65rem; }
.custom-seal-preview > button { display: grid; place-items: center; width: 28px; height: 30px; flex-shrink: 0; border: 0; border-radius: 5px; background: transparent; color: var(--text-muted); cursor: pointer; }
.custom-seal-preview > button:hover { background: var(--bg-elevated); color: #e87083; }
.custom-seal-preview > button svg { width: 15px; height: 15px; }
.custom-seal-controls .switch input:disabled + .slider-toggle { opacity: .4; cursor: default; }
.custom-seal-controls .switch input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.custom-seal-controls .switch input:disabled { cursor: default; }
.custom-seal-controls .switch input:focus-visible + .slider-toggle { outline: 2px solid #9cadff; outline-offset: 3px; }
.sheet-tech-bottom { flex-wrap: wrap; }
.custom-sheet-seal { width: 120px; height: 60px; max-width: 45%; align-items: center; justify-content: flex-start; flex-shrink: 0; }
.custom-sheet-seal > img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.scene-scale-row { display: flex; align-items: center; gap: 12px; }
.scene-scale-row > .studio-range { flex: 1; min-width: 0; }
.scene-scale-number { display: flex; align-items: center; gap: 3px; padding-right: 7px; border: 1px solid var(--border-strong); border-radius: 6px; background: var(--bg-dark); color: var(--text-muted); font-size: .65rem; }
.scene-scale-number > input { width: 57px; padding: 7px 0 7px 7px; background: transparent; border: 0; color: var(--text-main); font-size: .75rem; }
.scene-scale-presets { display: flex; flex-wrap: wrap; gap: 5px; }
.scene-scale-presets > button { flex: 1; padding: 7px 4px; border: 1px solid var(--border-subtle); border-radius: 5px; background: var(--bg-elevated); color: var(--text-muted); font-size: .61rem; cursor: pointer; }
.scene-scale-presets > button.active { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.scene-presentation-hint { color: var(--text-dim); font-size: .63rem; line-height: 1.6; }
.scene-measurements-button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid var(--border-strong); border-radius: 6px; background: var(--bg-elevated); color: var(--text-muted); font-size: .67rem; cursor: pointer; }
.scene-measurements-button svg { width: 14px; height: 14px; }
.scene-measurements-button.active { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.studio-center-stage:has(.viewport-3d[data-mode="editor"]) .scene-measurements-button { display: none; }
.sheet-artwork-frame { position: relative; width: 100%; aspect-ratio: 680 / 450; transform: scale(var(--scene-scale, 1)); transform-origin: center; }
.sheet-artwork-frame #neon-processor-canvas { display: block; width: 100%; height: 100%; max-height: none; }
.sheet-artwork-frame #neon-processor-canvas { filter: none; }
@media (min-width: 1201px) { .commercial-sheet-card { width: min(410px, calc((100dvh - 300px) * .519)); } }
#sheet-measurements { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
#sheet-measurements[hidden] { display: none; }
.footer-position-controls { gap: 12px; }
.footer-position-arrows { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.footer-position-arrows > button { height: 32px; display: grid; place-items: center; background: var(--bg-elevated); color: var(--text-muted); border: 1px solid var(--border-subtle); border-radius: 6px; cursor: pointer; }
.footer-position-arrows > button svg { width: 15px; height: 15px; }
.footer-position-arrows > button:hover:not(:disabled) { color: var(--accent); border-color: var(--accent); }
.footer-position-controls :is(input, button):disabled { opacity: .4; cursor: default; }
#footer-move-toggle.active { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }
.footer-movable { position: relative; }
.sheet-quote-info.footer-movable { align-self: flex-start; width: fit-content; max-width: 100%; overflow-wrap: anywhere; }
.footer-editing .footer-movable { cursor: move; touch-action: none; user-select: none; outline: 1px dashed #6eeaf266; outline-offset: 4px; border-radius: 3px; }
.footer-editing .footer-movable.footer-position-selected, .footer-editing .footer-movable:focus-visible { outline: 2px solid #6eeaf2; outline-offset: 4px; }
.footer-editing .footer-movable img { -webkit-user-drag: none; pointer-events: none; }
@media (max-width: 1200px) {
  .studio-sidebar-right { align-items: start; }
  .studio-sidebar-right .export-actions { gap: 8px; }
}
@media (max-width: 640px) {
  .studio-sidebar-right { align-items: stretch; }
  .studio-center-stage:has(.viewport-3d[data-mode="editor"]) { min-height: 680px; }
  .stage-topbar { gap: 8px; }
  .stage-wall-selector { gap: 5px; }
  .stage-wall-selector .wall-pill { font-size: .63rem; }
  .editor-toolbar { gap: 3px; }
  .editor-canvas-caption { font-size: .58rem; left: 40px; gap: 5px; }
  .editor-canvas-help { bottom: 81px; left: 38px; font-size: .58rem; }
  .studio-controls-scroll { max-height: 540px; }
}
