/* Étape 6 — harmonisation CNC avec le Studio Laser · 1.8.3 */
:root{
  --cnc-studio-bg:#05080d;
  --cnc-studio-panel:#091018;
  --cnc-studio-border:rgba(153,181,220,.14);
  --cnc-studio-border-strong:rgba(255,159,28,.45);
  --cnc-studio-cyan:#41d9ff;
  --cnc-studio-orange:#ff9f1c;
}
html:has(body.cnc-studio-ui),body.cnc-studio-ui{height:100%;max-height:100dvh;overflow:hidden}
body.cnc-studio-ui{background:var(--cnc-studio-bg)}
.cnc-studio-ui .app-shell{
  height:100dvh!important;
  grid-template-columns:300px minmax(420px,1fr) 390px!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:8px!important;
  padding:8px 8px 78px!important;
  background:
    radial-gradient(circle at 28% -12%,rgba(65,217,255,.08),transparent 31%),
    radial-gradient(circle at 95% 0,rgba(255,159,28,.12),transparent 26%),
    var(--cnc-studio-bg)!important;
  transition:grid-template-columns .22s ease;
}
.cnc-studio-ui .app-topbar{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:auto minmax(360px,1fr) auto!important;
  grid-template-areas:"brand workflow controls" "actions actions actions"!important;
  align-items:center!important;
  gap:8px 12px!important;
  min-height:0!important;
  height:auto!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  border-color:var(--cnc-studio-border)!important;
  background:rgba(10,16,26,.97)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.25)!important;
}
.cnc-studio-ui .app-topbar>.brand{grid-area:brand;min-width:176px!important;gap:9px}
.cnc-studio-ui .brand-mark{width:38px;height:38px;border-radius:11px;font-size:.92rem}
.cnc-studio-ui .brand strong{font-size:.96rem}.cnc-studio-ui .brand small{font-size:.66rem}
.cnc-studio-ui .studio-workflow{grid-area:workflow;justify-self:center;min-width:0}
.cnc-studio-ui .studio-panel-controls{grid-area:controls;justify-self:end;display:flex;align-items:center;gap:5px;min-width:0}
.cnc-studio-ui .studio-icon-btn{
  min-height:32px;padding:7px 9px;border:1px solid var(--cnc-studio-border);border-radius:9px;
  background:#0c1522;color:#aebdd1;font-size:.68rem;font-weight:850;white-space:nowrap
}
.cnc-studio-ui .studio-icon-btn:hover,.cnc-studio-ui .studio-icon-btn.is-active{border-color:var(--cnc-studio-border-strong);background:rgba(255,159,28,.12);color:#fff}
.cnc-studio-ui .studio-tori-btn{border-color:rgba(65,217,255,.32);color:#a8efff}
.cnc-studio-ui .project-actions{
  grid-area:actions!important;width:100%!important;min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(155px,1.1fr) minmax(330px,2fr) max-content max-content max-content!important;
  grid-template-areas:"title files status machine premium" "mode mode mode mode mode"!important;
  align-items:center!important;gap:6px!important
}
.cnc-studio-ui .project-title-wrap,.cnc-studio-ui .file-actions,.cnc-studio-ui .status-actions,.cnc-studio-ui .machine-actions,.cnc-studio-ui .premium-actions,.cnc-studio-ui .interface-mode-actions{min-width:0;max-width:100%}
.cnc-studio-ui .project-title-wrap{grid-area:title}.cnc-studio-ui .file-actions{grid-area:files}.cnc-studio-ui .status-actions{grid-area:status}.cnc-studio-ui .machine-actions{grid-area:machine}.cnc-studio-ui .premium-actions{grid-area:premium}.cnc-studio-ui .interface-mode-actions{grid-area:mode!important}
.cnc-studio-ui .project-title-wrap input{height:34px;padding:7px 10px;border-radius:9px;background:#050910}
.cnc-studio-ui .file-actions{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(92px,1fr))!important;gap:5px!important;overflow:visible!important}
.cnc-studio-ui .file-actions .btn{width:100%!important;min-width:0!important;min-height:32px;padding:6px 8px;font-size:.68rem;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
.cnc-studio-ui .status-actions{display:grid!important;grid-template-columns:max-content max-content;gap:5px!important;justify-self:end}
.cnc-studio-ui .status-actions .plan-pill,.cnc-studio-ui .status-actions .usage-pill{min-height:30px;padding:5px 7px;font-size:.66rem;white-space:nowrap!important}
.cnc-studio-ui .machine-actions{display:flex!important;justify-self:stretch!important}.cnc-studio-ui .machine-actions .btn{width:100%!important}
.cnc-studio-ui .premium-actions{display:grid!important;grid-template-columns:auto auto;justify-self:end!important;gap:5px!important}
.cnc-studio-ui .premium-actions .btn,.cnc-studio-ui .machine-actions .btn{min-height:32px;padding:6px 9px;font-size:.69rem;white-space:nowrap!important}
.cnc-studio-ui .interface-mode-actions{min-width:0!important;padding:5px 7px!important;border-radius:10px!important;grid-template-columns:auto minmax(0,420px)!important;justify-content:start!important}
.cnc-studio-ui .interface-mode-caption{max-width:520px}

.cnc-studio-ui .panel{border-radius:14px;border-color:var(--cnc-studio-border);background:rgba(9,15,24,.97);box-shadow:0 16px 42px rgba(0,0,0,.25)}
.cnc-studio-ui .studio-side-panel{position:relative;scrollbar-width:thin;scrollbar-color:#26364c transparent}
.cnc-studio-ui .studio-side-panel::-webkit-scrollbar{width:7px}.cnc-studio-ui .studio-side-panel::-webkit-scrollbar-thumb{background:#26364c;border-radius:99px}
.cnc-studio-ui .studio-panel-heading{position:sticky;top:-12px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-12px -12px 10px;padding:12px 13px 10px;border-bottom:1px solid var(--cnc-studio-border);background:rgba(8,14,23,.97);backdrop-filter:blur(12px)}
.cnc-studio-ui .studio-panel-heading>div{display:grid;gap:2px}.cnc-studio-ui .studio-panel-heading strong{font-size:.88rem}.cnc-studio-ui .studio-panel-kicker{color:var(--cnc-studio-orange);font-size:.6rem;font-weight:900;letter-spacing:.16em}.cnc-studio-ui .studio-panel-close{display:none;width:32px;height:32px;border:1px solid var(--cnc-studio-border);border-radius:9px;background:#0d1624;color:#b8c6d8;font-size:1.15rem}
.cnc-studio-ui .left-panel,.cnc-studio-ui .right-panel{padding:12px}
.cnc-studio-ui .left-panel section,.cnc-studio-ui .right-panel section{margin-bottom:9px;padding:12px;border:1px solid rgba(153,181,220,.11);border-radius:12px;background:linear-gradient(180deg,rgba(18,29,46,.62),rgba(9,15,24,.58))}
.cnc-studio-ui .left-panel section:last-child,.cnc-studio-ui .right-panel section:last-child{margin-bottom:0}
.cnc-studio-ui h2{font-size:.72rem;letter-spacing:.12em;color:#aebdd1;margin-bottom:10px}
.cnc-studio-ui .tool-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.cnc-studio-ui .tool{min-height:52px;display:grid;place-items:center;gap:2px;padding:6px 3px;font-size:1rem}.cnc-studio-ui .tool span{font-size:.58rem}.cnc-studio-ui .file-btn{min-height:36px;border-radius:9px;font-size:.7rem}.cnc-studio-ui .btn,.cnc-studio-ui .mini-btn,.cnc-studio-ui .seg{border-radius:9px}
.cnc-studio-ui .object-list{max-height:210px}
.cnc-studio-ui .studio-canvas-panel{position:relative;border-color:rgba(65,217,255,.20)!important;background:#05080d!important}
.cnc-studio-ui .studio-canvas-head{height:45px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 11px;border-bottom:1px solid var(--cnc-studio-border);background:linear-gradient(90deg,#09111d,#0c1522)}
.cnc-studio-ui .studio-canvas-title{display:grid;gap:1px;min-width:0}.cnc-studio-ui .studio-canvas-title span{font-size:.56rem;color:var(--cnc-studio-cyan);font-weight:900;letter-spacing:.16em}.cnc-studio-ui .studio-canvas-title strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cnc-studio-ui .studio-live-status{display:flex;align-items:center;gap:7px;color:#aab8ca;font-size:.66rem}.cnc-studio-ui .studio-live-status>span{display:flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid rgba(153,181,220,.12);border-radius:999px;background:#070c13;white-space:nowrap}.cnc-studio-ui .studio-status-dot{width:7px;height:7px;border-radius:50%}.cnc-studio-ui .studio-status-dot.operation{background:var(--cnc-studio-orange);box-shadow:0 0 9px rgba(255,159,28,.7)}.cnc-studio-ui .studio-status-dot.tool{background:var(--cnc-studio-cyan);box-shadow:0 0 9px rgba(65,217,255,.6)}.cnc-studio-ui .studio-disarmed-chip{color:#ffb7be!important;border-color:rgba(255,77,94,.27)!important;background:rgba(255,77,94,.07)!important;font-weight:900}
.cnc-studio-ui .canvas-toolbar{min-height:50px;padding:7px 9px;background:#080e17}.cnc-studio-ui .transform-bar{padding:7px 9px;background:#060b12}.cnc-studio-ui .transform-bar input{width:67px}.cnc-studio-ui .canvas-stage{background-color:#06090e;background-image:linear-gradient(rgba(81,110,148,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(81,110,148,.055) 1px,transparent 1px),linear-gradient(rgba(81,110,148,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(81,110,148,.025) 1px,transparent 1px);background-size:50px 50px,50px 50px,10px 10px,10px 10px}.cnc-studio-ui .hint{left:10px;bottom:10px;padding:6px 9px;border-radius:9px;font-size:.66rem}
.cnc-studio-ui .preview3d{height:230px;border-radius:10px}.cnc-studio-ui .gcode{min-height:180px;max-height:320px;border-radius:9px;font-size:.69rem}
.cnc-studio-ui.ui-left-collapsed .app-shell{grid-template-columns:0 minmax(420px,1fr) 390px!important}.cnc-studio-ui.ui-left-collapsed #studioLeftPanel{display:none}.cnc-studio-ui.ui-right-collapsed .app-shell{grid-template-columns:300px minmax(420px,1fr) 0!important}.cnc-studio-ui.ui-right-collapsed #studioRightPanel{display:none}.cnc-studio-ui.ui-left-collapsed.ui-right-collapsed .app-shell,.cnc-studio-ui.ui-canvas-focus .app-shell{grid-template-columns:0 minmax(420px,1fr) 0!important}.cnc-studio-ui.ui-canvas-focus #studioLeftPanel,.cnc-studio-ui.ui-canvas-focus #studioRightPanel{display:none}
.cnc-studio-ui .studio-mobile-nav,.cnc-studio-ui .studio-drawer-backdrop{display:none}
.cnc-studio-ui :focus-visible{outline:2px solid var(--cnc-studio-cyan);outline-offset:2px}

@media(max-width:1450px) and (min-width:1181px){
  .cnc-studio-ui .app-shell{grid-template-columns:276px minmax(390px,1fr) 356px!important}
  .cnc-studio-ui .brand small{display:none}.cnc-studio-ui .workflow-step span{display:none}
  .cnc-studio-ui .studio-icon-btn{font-size:0;padding:8px}.cnc-studio-ui .studio-icon-btn::before{font-size:.72rem}.cnc-studio-ui .studio-icon-btn:nth-child(1)::before{content:'◀'}.cnc-studio-ui .studio-focus-btn::before{content:'⌗'}.cnc-studio-ui .studio-icon-btn:nth-child(3)::before{content:'▶'}.cnc-studio-ui .studio-tori-btn::before{content:'T'}
  .cnc-studio-ui .project-actions{grid-template-columns:minmax(130px,.9fr) minmax(300px,2fr) max-content max-content!important;grid-template-areas:"title files machine premium" "status status mode mode"!important}
  .cnc-studio-ui .status-actions{justify-self:start}
}
@media(max-width:1180px){
  .cnc-studio-ui .app-shell{height:100dvh!important;min-height:0;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;padding:7px 7px 132px!important;gap:7px}
  .cnc-studio-ui .app-topbar{grid-template-columns:auto minmax(150px,1fr) auto!important;grid-template-areas:"brand workflow controls" "actions actions actions"!important}
  .cnc-studio-ui .project-actions{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"title premium" "files files" "machine status" "mode mode"!important}
  .cnc-studio-ui .file-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cnc-studio-ui .status-actions{justify-self:end}.cnc-studio-ui .interface-mode-caption{display:none}
  .cnc-studio-ui .center-panel{grid-column:1!important;grid-row:2!important;height:auto;min-height:0}
  .cnc-studio-ui .left-panel,.cnc-studio-ui .right-panel{display:block!important;position:fixed;z-index:10020;top:0;bottom:0;width:min(410px,92vw);height:100dvh;max-height:none;border-radius:0;transition:transform .22s ease;box-shadow:0 0 60px rgba(0,0,0,.6);padding:12px 12px 90px}
  .cnc-studio-ui .left-panel{left:0;transform:translateX(-105%)}.cnc-studio-ui .right-panel{right:0;transform:translateX(105%)}
  body[data-studio-drawer="left"] #studioLeftPanel{transform:translateX(0)}body[data-studio-drawer="right"] #studioRightPanel{transform:translateX(0)}
  .cnc-studio-ui .studio-panel-heading{top:-12px}.cnc-studio-ui .studio-panel-close{display:grid;place-items:center}
  .cnc-studio-ui .studio-drawer-backdrop{display:block;position:fixed;inset:0;z-index:10010;border:0;background:rgba(1,4,8,.72);backdrop-filter:blur(3px)}.cnc-studio-ui .studio-drawer-backdrop[hidden]{display:none}
  .cnc-studio-ui .studio-mobile-nav{position:fixed;z-index:10030;left:50%;bottom:max(70px,calc(env(safe-area-inset-bottom) + 70px));transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:min(420px,calc(100% - 16px));padding:5px;border:1px solid rgba(153,181,220,.18);border-radius:15px;background:rgba(8,14,23,.96);box-shadow:0 14px 45px rgba(0,0,0,.5);backdrop-filter:blur(14px)}
  .cnc-studio-ui .studio-mobile-nav button{border:0;border-radius:10px;background:transparent;color:#8192aa;display:grid;place-items:center;gap:1px;padding:7px 4px}.cnc-studio-ui .studio-mobile-nav button span{font-size:.9rem}.cnc-studio-ui .studio-mobile-nav button b{font-size:.62rem}.cnc-studio-ui .studio-mobile-nav button.is-active{background:rgba(255,159,28,.13);color:#fff}
}
@media(max-width:760px){
  .cnc-studio-ui .app-topbar{grid-template-columns:auto 1fr auto!important;padding:6px!important}.cnc-studio-ui .brand{min-width:0!important}.cnc-studio-ui .brand div{display:none}.cnc-studio-ui .brand-mark{width:34px;height:34px}
  .cnc-studio-ui .workflow-step{padding:6px}.cnc-studio-ui .workflow-step span{display:none}.cnc-studio-ui .studio-panel-controls{gap:3px}.cnc-studio-ui .studio-icon-btn{font-size:0;padding:8px}.cnc-studio-ui .studio-icon-btn::before{font-size:.7rem}.cnc-studio-ui .studio-icon-btn:nth-child(1)::before{content:'◀'}.cnc-studio-ui .studio-focus-btn::before{content:'⌗'}.cnc-studio-ui .studio-icon-btn:nth-child(3)::before{content:'▶'}.cnc-studio-ui .studio-tori-btn::before{content:'T'}
  .cnc-studio-ui .project-actions{grid-template-columns:minmax(0,1fr) max-content!important;grid-template-areas:"title premium" "files files" "machine machine" "mode mode"!important;gap:5px!important}.cnc-studio-ui .status-actions{display:none!important}.cnc-studio-ui .file-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cnc-studio-ui .premium-actions{grid-template-columns:auto auto!important}.cnc-studio-ui .interface-mode-actions{width:100%;grid-template-columns:auto minmax(0,1fr)!important}
  .cnc-studio-ui .studio-canvas-head{height:42px;padding:6px 8px}.cnc-studio-ui .studio-live-status>span:nth-child(2){display:none}.cnc-studio-ui .canvas-toolbar{display:grid;grid-template-columns:1fr auto;grid-template-areas:"views zoom" "coords coords"}.cnc-studio-ui .canvas-toolbar .view-toggle{grid-area:views}.cnc-studio-ui .canvas-toolbar .zoom-controls{grid-area:zoom}.cnc-studio-ui .canvas-toolbar .coords{grid-area:coords;font-size:.68rem}.cnc-studio-ui .transform-bar{overflow-x:auto;flex-wrap:nowrap}.cnc-studio-ui .transform-bar label{min-width:62px}
}
@media(max-width:480px){
  .cnc-studio-ui .project-actions{grid-template-columns:1fr!important;grid-template-areas:"title" "premium" "files" "machine" "mode"!important}.cnc-studio-ui .premium-actions{justify-self:stretch!important;grid-template-columns:1fr 1fr!important}.cnc-studio-ui .premium-actions .btn{width:100%!important}.cnc-studio-ui .interface-mode-title{display:none}.cnc-studio-ui .interface-mode-actions{grid-template-columns:1fr!important;grid-template-areas:"switch"!important;padding:4px!important}
}
@media(prefers-reduced-motion:reduce){.cnc-studio-ui *,.cnc-studio-ui *::before,.cnc-studio-ui *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* Correctif 1.8.6 — barre de transformation CNC alignée sur le Studio Laser. */
.cnc-studio-ui .transform-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:end;
  overflow:visible;
}
.cnc-studio-ui .transform-fields{
  display:grid;
  grid-template-columns:repeat(5,minmax(62px,1fr));
  gap:8px;
  min-width:0;
}
.cnc-studio-ui .transform-fields label{min-width:0}
.cnc-studio-ui .transform-fields input{width:100%;min-width:0}
.cnc-studio-ui .transform-actions{display:flex;align-items:end;gap:8px;min-width:0}
.cnc-studio-ui .transform-actions .mini-btn{min-height:34px;white-space:nowrap}

@media(max-width:760px){
  .cnc-studio-ui .transform-bar{grid-template-columns:minmax(0,1fr);gap:6px;padding:7px;overflow:visible;}
  .cnc-studio-ui .transform-fields{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;}
  .cnc-studio-ui .transform-fields label{min-width:0;font-size:.62rem}
  .cnc-studio-ui .transform-fields input{width:100%;padding:6px 5px}
  .cnc-studio-ui .transform-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;}
  .cnc-studio-ui .transform-actions .mini-btn{width:100%;min-width:0;font-size:.65rem;padding:7px 5px}
}
@media(max-width:420px){
  .cnc-studio-ui .transform-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cnc-studio-ui .transform-fields label:last-child{grid-column:1/-1}
  .cnc-studio-ui .transform-actions{grid-template-columns:1fr 1fr}
  .cnc-studio-ui .transform-actions #deleteBtn{grid-column:1/-1}
}


/* Correctif interactions 2026-08-06 — champs toujours visibles et non superposés. */
.cnc-studio-ui .transform-bar{
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
}
.cnc-studio-ui .transform-fields{
  grid-template-columns:repeat(5,minmax(0,1fr));
  width:100%;
}
.cnc-studio-ui .transform-actions{justify-content:flex-end;flex-wrap:wrap}
.cnc-studio-ui .transform-fields input[type="number"]{-moz-appearance:textfield;appearance:textfield}
.cnc-studio-ui .transform-fields input[type="number"]::-webkit-inner-spin-button,
.cnc-studio-ui .transform-fields input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:620px){.cnc-studio-ui .transform-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.cnc-studio-ui .transform-fields label:last-child{grid-column:1/-1}}


/* Correctif H/R 2026-08-06 — contrôles non interprétables comme mots de passe. */
.cnc-studio-ui .transform-fields,
.studio-ui .transform-fields{
  grid-template-columns:repeat(auto-fit,minmax(78px,1fr))!important;
  overflow:visible!important;
}
.cnc-studio-ui .transform-fields label,
.studio-ui .transform-fields label{
  min-width:0!important;
  overflow:visible!important;
}
.transform-number-control{
  display:block;
  width:100%;
  min-width:0;
  min-height:31px;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:10px;
  background:#05070b;
  color:var(--text);
  padding:6px 8px;
  outline:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  font-variant-numeric:tabular-nums;
  cursor:text;
  user-select:text;
  -webkit-user-select:text;
}
.transform-number-control:focus{
  border-color:rgba(255,159,28,.72);
  box-shadow:0 0 0 2px rgba(255,159,28,.16);
}
.transform-height-field,
.transform-rotation-field{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.transform-rotation-field{order:5}
@media(max-width:620px){
  .cnc-studio-ui .transform-fields,
  .studio-ui .transform-fields{grid-template-columns:repeat(2,minmax(78px,1fr))!important}
  .transform-rotation-field{grid-column:1/-1!important}
}


/* Correctif barre compacte X/Y/L/H/R 2026-08-06 — cinq contrôles visibles avec flèches. */
.cnc-studio-ui .transform-bar,
.studio-ui .transform-bar{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  overflow:visible!important;
}
.cnc-studio-ui .transform-fields,
.studio-ui .transform-fields{
  display:grid!important;
  grid-template-columns:repeat(5,112px)!important;
  gap:6px!important;
  width:max-content!important;
  max-width:100%!important;
  flex:0 1 auto!important;
  overflow:visible!important;
}
.transform-field{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  width:112px!important;
  min-width:0!important;
  visibility:visible!important;
  opacity:1!important;
}
.transform-field-label{
  display:block;
  color:var(--muted);
  font-size:.68rem;
  line-height:1;
  font-weight:700;
}
.transform-number-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px;
  width:100%;
  min-width:0;
  min-height:32px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:#05070b;
  box-sizing:border-box;
}
.transform-number-shell:focus-within{
  border-color:rgba(255,159,28,.72);
  box-shadow:0 0 0 2px rgba(255,159,28,.16);
}
.transform-number-control{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:30px!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--text)!important;
  padding:6px 5px 6px 7px!important;
  outline:none!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  font-variant-numeric:tabular-nums;
  cursor:text;
  user-select:text;
  -webkit-user-select:text;
}
.transform-number-control:focus{border:0!important;box-shadow:none!important}
.transform-number-steppers{
  display:grid;
  grid-template-rows:1fr 1fr;
  min-width:18px;
  border-left:1px solid var(--line);
  background:rgba(255,255,255,.025);
}
.transform-stepper{
  display:flex;
  align-items:center;
  justify-content:center;
  width:18px;
  min-width:18px;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  font-size:7px;
  line-height:1;
  cursor:pointer;
  user-select:none;
}
.transform-stepper:first-child{border-bottom:1px solid var(--line)}
.transform-stepper:hover{background:rgba(255,159,28,.12);color:var(--text)}
.transform-stepper:active{background:rgba(255,159,28,.2)}
.transform-rotation-field{order:initial!important;grid-column:auto!important}
.cnc-studio-ui .transform-actions,
.studio-ui .transform-actions{margin-left:auto!important;justify-content:flex-end!important}
@media(max-width:980px){
  .cnc-studio-ui .transform-fields,
  .studio-ui .transform-fields{
    grid-template-columns:repeat(5,minmax(76px,1fr))!important;
    width:100%!important;
  }
  .transform-field{width:auto!important}
  .cnc-studio-ui .transform-actions,
  .studio-ui .transform-actions{width:100%!important}
}
@media(max-width:620px){
  .cnc-studio-ui .transform-fields,
  .studio-ui .transform-fields{grid-template-columns:repeat(3,minmax(76px,1fr))!important}
  .transform-rotation-field{grid-column:auto!important}
}
@media(max-width:420px){
  .cnc-studio-ui .transform-fields,
  .studio-ui .transform-fields{grid-template-columns:repeat(2,minmax(76px,1fr))!important}
}


/* Correctif workflow transformations 2026-08-06 — édition uniquement en Concevoir/Préparer. */
body.workflow-ui[data-workflow-step="simulate"] #transformBar,
body.workflow-ui[data-workflow-step="produce"] #transformBar{
  display:none!important;
}
body.workflow-ui[data-workflow-step="simulate"] #studioCenterPanel,
body.workflow-ui[data-workflow-step="produce"] #studioCenterPanel{
  min-height:0!important;
}
body.workflow-ui[data-workflow-step="simulate"] #studioCenterPanel .canvas-stage,
body.workflow-ui[data-workflow-step="produce"] #studioCenterPanel .canvas-stage{
  flex:1 1 100%!important;
  min-height:0!important;
}
body.workflow-ui[data-workflow-step="simulate"] #stage3dLarge:not(.hidden),
body.workflow-ui[data-workflow-step="produce"] #stage3dLarge:not(.hidden){
  display:block;
}


/* Étape 1 sélection 2026-08-06 — Longueur / Largeur / Rotation uniquement. */
.cnc-studio-ui .transform-fields,
.studio-ui .transform-fields{
  grid-template-columns:repeat(3,150px)!important;
  width:max-content!important;
  max-width:100%!important;
}
.cnc-studio-ui .transform-field,
.studio-ui .transform-field{width:150px!important}
.cnc-studio-ui .transform-field-label,
.studio-ui .transform-field-label{font-size:.7rem!important}
@media(max-width:760px){
  .cnc-studio-ui .transform-fields,
  .studio-ui .transform-fields{
    grid-template-columns:repeat(3,minmax(92px,1fr))!important;
    width:100%!important;
  }
  .cnc-studio-ui .transform-field,
  .studio-ui .transform-field{width:auto!important}
}
@media(max-width:420px){
  .cnc-studio-ui .transform-fields,
  .studio-ui .transform-fields{grid-template-columns:1fr!important}
}


/* Étape 2 sélection souris 2026-08-06 — déplacement direct de l'objet. */
.canvas-stage canvas[data-editor-tool="select"]{cursor:grab!important}
.canvas-stage canvas[data-editor-tool="select"][data-dragging-object="true"]{cursor:grabbing!important}


/* Étape 3 — bandeau du plan de travail sans commandes de zoom. */
.cnc-studio-ui .canvas-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:8px 14px!important;
}
.cnc-studio-ui .canvas-toolbar .view-toggle{
  flex:0 0 auto!important;
  order:1!important;
}
.cnc-studio-ui .canvas-toolbar .coords{
  flex:0 1 auto!important;
  order:2!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  justify-content:flex-start!important;
  text-align:left!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.cnc-studio-ui .canvas-toolbar .zoom-controls{display:none!important}
@media(max-width:620px){
  .cnc-studio-ui .canvas-toolbar .coords{flex-basis:100%!important}
}

/* Étape 4 — aide de navigation 2D harmonisée CNC / Laser. */
.canvas-navigation-help{
  display:inline-flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:2px 6px!important;
  max-width:calc(100% - 20px)!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.35!important;
}
.canvas-navigation-help .canvas-help-item{white-space:nowrap}
.canvas-navigation-help .canvas-help-separator{opacity:.72}
@media(max-width:560px){
  .canvas-navigation-help{
    display:flex!important;
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    width:auto!important;
    max-width:none!important;
    padding:6px 8px!important;
    font-size:.62rem!important;
  }
}

