
  /* 1.200.14 · nomes rápidos na configuração da peça */
  .pieceNameEditor{margin-bottom:8px;padding:8px;border:1px solid #343b40;border-radius:10px;background:#111415}
  .pieceNameCurrentLabel,.pieceNamePresetLabel{display:block;color:#9ca7ad;font-size:9px;font-weight:800}
  .pieceNameCurrentLabel input,.pieceNamePresetLabel select{width:100%;margin-top:4px}
  .pieceNamePresetLabel{margin-top:7px}
  .pieceNamePresetLabel select{min-height:42px;padding:8px 10px;border:1px solid #484d50;border-radius:9px;background:#0e1112;color:#fff;font-size:11px}
  .pieceNameCustomRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:7px}
  .pieceNameCustomRow input{min-width:0}
  .pieceNameCustomRow button{min-height:42px;white-space:nowrap}
  @media(max-width:520px){.pieceNameCustomRow{grid-template-columns:1fr}.pieceNameCustomRow button{width:100%}}

/* DesignLabMoveis 1.100.87 · extraído do monólito 1.100.78 · ordem preservada */
  /* 1.100.78 · segurar para abrir / confirmação de duplicação */
  .pieceDeleteRow{
    margin-top:8px;padding-top:8px;border-top:1px solid #373c3f;
  }
  .pieceDeleteRow button{width:100%;min-height:42px}
  .pieceTripleHint{
    display:block;margin-top:3px;color:#88a5bd;font-size:8px;font-weight:700;
  }
  #inspectorHeader{
    touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;
    padding:2px 2px 5px;border-radius:9px;
  }
  #inspectorHeader:active{cursor:grabbing}
  #inspectorHeader button{touch-action:manipulation;cursor:pointer}
  .pieceInspectorDragNote{display:block;margin-top:2px;color:#7f8b91;font-size:8px;font-weight:700}
  .pieceDuplicateConfirm{
    display:none;margin-top:7px;padding:8px;border-radius:10px;
    border:1px solid rgba(255,190,70,.34);background:rgba(255,190,70,.07);
  }
  .pieceDuplicateConfirm.show{display:block}
  .pieceDuplicateConfirmText{color:#ffd07a;font-size:9px;font-weight:800;line-height:1.35;margin-bottom:7px}
  .pieceDuplicateConfirmBtns{display:grid;grid-template-columns:1fr auto;gap:6px}
  .pieceDuplicateConfirmBtns button{min-height:40px}
  .pieceProductionToggle{
    display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border-radius:10px;
    border:1px solid #41474b;background:#111415;cursor:pointer;
  }
  .pieceProductionToggle input{width:22px;height:22px;margin:1px 0 0;flex:0 0 auto;accent-color:#ff554d}
  .pieceProductionToggle strong{display:block;color:#f3f5f6;font-size:10px;line-height:1.25}
  .pieceProductionToggle span{display:block;margin-top:3px;color:#98a2a8;font-size:8px;line-height:1.4}
  .pieceProductionToggle.isExcluded{border-color:rgba(255,79,70,.55);background:rgba(255,79,70,.09)}
  .pieceProductionToggle.isExcluded strong{color:#ff938c}


  /* 1.100.87 · rotação independente do veio por peça */
  .pieceGrainRotateBtn{width:100%;min-height:42px;font-weight:850}
  .pieceGrainStatus{margin-top:7px;padding:7px 8px;border-radius:8px;background:#101314;border:1px solid #343a3d;color:#a9c9ff;font-size:9px;font-weight:800;line-height:1.35}
  .pieceGrainStatus.rotated{color:#ffd06d;border-color:rgba(255,190,70,.38);background:rgba(255,190,70,.06)}

  /* ==========================================================================
     1.100.30 · CONFIGURAÇÃO DA PEÇA
     ========================================================================== */
  #inspector{
    width:min(370px,calc(100vw - 16px));
    max-height:calc(100vh - 104px);
    overflow:auto;
    overscroll-behavior:contain;
  }
  .pieceConfigHeading{
    margin:3px 0 8px;padding:7px 8px;border-radius:9px;
    background:rgba(45,125,250,.08);border:1px solid rgba(45,125,250,.20);
    color:#a9c9ff;font-size:10px;font-weight:900;line-height:1.35;
  }
  .pieceConfigSection{
    margin-top:8px;padding:8px;border:1px solid #3a3f42;border-radius:10px;background:#151718;
  }
  .pieceConfigSectionTitle{
    display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:7px;
  }
  .pieceConfigSectionTitle strong{font-size:10px}
  .pieceConfigSectionTitle span{color:#89949a;font-size:8px}
  .pieceDeltaGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .pieceDeltaGrid .field label{font-size:9px;line-height:1.2}
  .pieceDeltaGrid .signedMinusWrap{
    grid-template-columns:minmax(0,1fr) 34px;gap:4px;
  }
  .pieceDeltaGrid .signedMinusBtn{
    min-height:40px;font-size:21px;border-radius:8px;
  }
  .pieceDeltaGrid input{padding:8px 5px;font-size:12px}
  .pieceResizeAnchor{
    display:grid;grid-template-columns:1fr;gap:4px;margin-top:7px;
  }
  .pieceResizeAnchor label{font-size:9px;color:var(--muted)}
  .pieceResizeAnchor select{
    width:100%;margin-top:3px;padding:8px;border:1px solid #484d50;border-radius:8px;
    background:#101214;color:#fff;font-size:11px;
  }
  .pieceConfigHelp{
    margin:6px 1px 0;color:#8f9aa0;font-size:8px;line-height:1.4;
  }
  .pieceConfigApply{
    display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:8px;
  }
  .pieceConfigApply button{min-height:40px}
  .pieceConfigApply .secondary{min-width:75px}
  .doorInspectorHingeChoices{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .doorInspectorHingeChoices button{min-height:42px;font-size:10px;line-height:1.2}
  .doorInspectorHingeChoices button.active{background:#2d7dfa;border-color:#5597ff;color:#fff}
  #doorInspectorHingeStatus{margin-top:7px;padding:7px 8px;border-radius:8px;background:#101314;color:#9fb0b8;font-size:8px;line-height:1.35}
  @media(max-width:700px){
    #inspector{
      max-height:min(72vh,610px);
      bottom:calc(8px + env(safe-area-inset-bottom));
    }
  }


  /* v61: painel flutuante substitui a barra inferior fixa */
  #toolDock {
    position:fixed; z-index:46; left:12px; top:118px; width:min(286px,calc(100vw - 24px));
    border-radius:16px; background:rgba(24,24,24,.96); border:1px solid rgba(255,255,255,.12);
    box-shadow:0 12px 34px rgba(0,0,0,.48); backdrop-filter:blur(10px);
    overflow:hidden; touch-action:none; user-select:none;
  }
  #toolDockHeader {
    min-height:48px; display:flex; align-items:center; gap:8px; padding:7px 8px 7px 11px;
    cursor:grab; background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  }
  #toolDockHeader:active { cursor:grabbing; }
  #toolDockTitle { min-width:0; flex:1; font-size:12px; font-weight:900; letter-spacing:.15px; }
  #toolDockTitle small { display:block; color:var(--muted); font-size:9px; font-weight:650; margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #toolDockHeader button { min-height:34px; min-width:38px; padding:6px 8px; border-radius:9px; box-shadow:none; }
  #toolDockBody {
    max-height:0; opacity:0; overflow:hidden; padding:0 8px;
    transform:translateY(-10px);
    transition:max-height .24s ease,opacity .18s ease,transform .24s ease,padding .24s ease;
  }
  #toolDock.open #toolDockBody {
    max-height:min(68vh,560px); opacity:1; transform:translateY(0); padding:4px 8px 9px;
    overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; touch-action:pan-y;
    scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.38) rgba(255,255,255,.08);
  }
  #toolDock.open #toolDockBody::-webkit-scrollbar { width:8px; }
  #toolDock.open #toolDockBody::-webkit-scrollbar-track { background:rgba(255,255,255,.06); border-radius:8px; }
  #toolDock.open #toolDockBody::-webkit-scrollbar-thumb { background:rgba(255,255,255,.34); border-radius:8px; }
  #toolDockTools {
    display:grid; grid-template-columns:1fr 1fr; gap:7px; touch-action:pan-y;
  }
  #toolDockTools button { width:100%; min-width:0; padding:9px 8px; min-height:42px; }
  #toolDockTools button.active { background:var(--green); }
  #toolDockFooter { margin-top:7px; display:flex; gap:7px; }
  #toolDockFooter button { flex:1 1 0; box-shadow:none; }
  #toolDockDragHint { color:#8e8e8e; font-size:9px; text-align:center; margin-top:6px; }

  #toolDockEditDialog {
    position:fixed; inset:0; z-index:110; display:none; align-items:center; justify-content:center;
    padding:16px; background:rgba(0,0,0,.66); touch-action:auto;
  }
  #toolDockEditDialog .card {
    width:min(430px,100%); max-height:82%; overflow:auto; background:#222; border-radius:17px;
    padding:14px; box-shadow:0 18px 45px rgba(0,0,0,.58); border:1px solid rgba(255,255,255,.08);
  }
  #toolDockEditDialog h3 { margin:0 0 5px; font-size:17px; }
  #toolDockEditDialog .help { color:var(--muted); font-size:11px; line-height:1.35; margin:0 0 10px; }
  #toolDockEditList { display:flex; flex-direction:column; gap:7px; }
  .toolEditGroup {
    margin:9px 0 1px; padding:7px 9px 4px;
    color:#73d7ff; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.7px;
    border-bottom:1px solid #3a3a3a;
  }
  .toolEditRow {
    display:grid; grid-template-columns:36px 1fr auto; gap:8px; align-items:center;
    background:#171717; border:1px solid #3b3b3b; border-radius:12px; padding:8px;
  }
  .toolEditRow input { width:22px; height:22px; }
  .toolEditRow .meta { min-width:0; }
  .toolEditRow .meta b { display:block; font-size:12px; }
  .toolEditRow .meta span { display:block; color:var(--muted); font-size:9px; margin-top:2px; }
  .toolEditRow .order { display:flex; gap:4px; }
  .toolEditRow .order button { min-height:32px; min-width:34px; padding:5px 7px; box-shadow:none; }
  #toolDockEditActions { display:flex; gap:7px; margin-top:11px; justify-content:flex-end; }


  /* 1.200.59 · visual da 1.200.56 preservado; submenus apenas flutuam acima */
  #quickDock{
    position:fixed;z-index:45;left:50%;transform:translateX(-50%);
    bottom:calc(8px + env(safe-area-inset-bottom));width:min(540px,calc(100vw - 16px));
    display:flex;align-items:stretch;gap:6px;padding:6px;border-radius:17px;
    background:rgba(24,24,24,.94);border:1px solid rgba(255,255,255,.14);
    box-shadow:0 10px 30px rgba(0,0,0,.38);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    user-select:none;touch-action:manipulation;
  }
  #quickDockTools{display:grid;gap:5px;flex:1 1 auto;min-width:0}
  #quickDock .quickDockTool,#quickDockSettings{
    min-width:0;min-height:52px;padding:5px 2px;border-radius:11px;box-shadow:none;
  }
  #quickDockSwap{
    position:absolute;z-index:3;right:49px;top:-10px;width:31px;height:24px;min-height:24px;padding:0;
    display:grid;place-items:center;border-radius:999px;background:rgba(50,50,50,.96);color:#fff;
    border:1px solid rgba(255,255,255,.18);box-shadow:0 3px 10px rgba(0,0,0,.34);font-size:16px;line-height:1;
  }
  #quickDockSwap::after{
    content:attr(data-page);position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;
    display:grid;place-items:center;background:var(--green);color:#fff;font:900 7px/1 system-ui,sans-serif;border:1px solid #202020;
  }
  #quickDockSwap:active{transform:scale(.92)}
  #quickDock .quickDockTool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
  #quickDock .quickDockTool.active{background:var(--green)}
  .quickDockIcon{font-size:18px;line-height:1;max-width:100%;overflow:hidden}
  .quickDockText{display:block;width:100%;font-size:7.5px;line-height:1.05;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
  #quickDockSettings{flex:0 0 46px;font-size:20px;background:#3a3a3a;padding:4px}
  #quickDockSubmenu{
    /* Fora do #quickDock para nunca participar do flex/grid da barra principal. */
    position:fixed;z-index:46;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));
    transform:translateX(-50%) translateY(6px);
    width:min(650px,calc(100vw - 12px));padding:7px;border-radius:16px;background:rgba(24,24,24,.97);
    border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 34px rgba(0,0,0,.42);
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,transform .12s ease;
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  }
  #quickDockSubmenu.show{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
  .quickDockSubmenuHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px 5px}
  .quickDockSubmenuHeader b{font-size:9px;color:#8fe1ff;letter-spacing:.2px}.quickDockSubmenuHeader span{font-size:7px;color:#aeb7bc;font-weight:750}
  #quickDockSubmenuTools{display:grid;grid-template-columns:repeat(var(--quick-sub-count,8),minmax(0,1fr));gap:4px}
  .quickDockSubTool{min-width:0;min-height:62px;padding:5px 2px 4px;border-radius:11px;box-shadow:none!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#303030!important}
  .quickDockSubTool:active{transform:scale(.96);background:#3b454a!important}
  .quickDockSubIcon{font-size:19px;line-height:1;display:grid;place-items:center;height:29px}
  .quickDockSubText{width:100%;font-size:7px;line-height:1.05;font-weight:850;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
  .quickSubPieceIconSvg{width:40px;height:36px;display:grid;place-items:center;flex:0 0 auto}
  .quickSubPieceIconSvg svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28))}
  .quickSubPieceIconSvg .quickPieceFace{stroke:#8fe1ff;stroke-width:1.25;stroke-linejoin:round}
  .quickSubPieceIconSvg .quickPieceWire{fill:none;stroke:#c5d0d5;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
  .quickSubPieceIconSvg .quickPieceAccent{fill:none;stroke:#e7f7ff;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
  @media(max-width:430px){.quickDockSubTool{min-height:58px}.quickSubPieceIconSvg{width:36px;height:32px}.quickDockSubText{font-size:6.4px}#quickDockSubmenu{padding:6px 5px}}
  body.project-home-active #quickDock,body.presentation-active #quickDock,body.visualization-only #quickDock,
  body.project-home-active #quickDockConfigDialog,body.presentation-active #quickDockConfigDialog,body.visualization-only #quickDockConfigDialog,body.project-home-active #quickDockSubmenu,body.presentation-active #quickDockSubmenu,body.visualization-only #quickDockSubmenu{display:none!important}

  #quickDockConfigDialog{
    position:fixed;inset:0;z-index:116;display:none;align-items:flex-end;justify-content:center;
    padding:14px 12px calc(14px + env(safe-area-inset-bottom));background:rgba(0,0,0,.68);touch-action:auto;
  }
  #quickDockConfigDialog .card{
    width:min(470px,100%);max-height:min(82vh,650px);overflow:auto;background:#222;border:1px solid rgba(255,255,255,.1);
    border-radius:20px;padding:15px;box-shadow:0 20px 55px rgba(0,0,0,.6)
  }
  #quickDockConfigDialog h3{margin:0 0 5px;font-size:18px}
  #quickDockConfigDialog .help{margin:0 0 12px;color:var(--muted);font-size:10px;line-height:1.4}
  #quickDockCountChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}
  #quickDockCountChoices button{min-height:42px;box-shadow:none}
  #quickDockCountChoices button.active{background:var(--green)}
  #quickDockSlotList{display:flex;flex-direction:column;gap:8px}
  .quickDockPageHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:3px;padding:5px 3px 1px;color:#fff}
  .quickDockPageHeader b{font-size:11px;color:#8fe1ff}.quickDockPageHeader span{font-size:8px;color:var(--muted);font-weight:800}
  .quickDockSlotRow{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:8px;padding:7px;background:#171717;border:1px solid #3b3b3b;border-radius:12px}
  .quickDockSlotNumber{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#303030;font-size:12px;font-weight:900;color:#8fe1ff}
  .quickDockSelect{width:100%;min-height:40px;border-radius:9px;background:#2d2d2d;color:#fff;border:1px solid #505050;padding:7px 8px;font:750 11px system-ui,sans-serif}
  #quickDockConfigActions{display:grid;grid-template-columns:auto 1fr 1fr;gap:7px;margin-top:13px}
  #quickDockConfigActions button{box-shadow:none}
  @media(min-width:800px){#quickDock{bottom:12px}.quickDockText{font-size:8px}}
  #miniAxes {
    position:fixed; z-index:22; right:12px; top:74px; width:66px; height:66px;
    display:none; pointer-events:none; border-radius:14px; background:rgba(10,10,10,.66);
    border:1px solid rgba(255,255,255,.10); backdrop-filter:blur(8px);
  }
  body.visual-mode #miniAxes { display:block; }
  #miniAxes svg { width:100%; height:100%; overflow:visible; }
  #miniAxes text { font:900 9px system-ui,sans-serif; paint-order:stroke; stroke:#111; stroke-width:2px; }
  body.visual-mode #topbar { opacity:.72; }
  body.visual-mode #measureBadge { opacity:.86; }
  button {
    flex:0 0 auto; min-height:42px; border:0; border-radius:10px; padding:10px 13px; color:#fff; background:var(--blue);
    font-size:12px; font-weight:800; box-shadow:0 2px 8px rgba(0,0,0,.3); touch-action:manipulation;
  }
  button.secondary { background:#3a3a3a; }
  button.danger { background:var(--danger); }
  button.active { background:var(--green); box-shadow:0 0 0 2px rgba(52,208,88,.35); }
  button:disabled { opacity:.42; }
  button.small { min-height:34px; padding:7px 9px; font-size:11px; }

  #morePanel {
    position:fixed; z-index:50; left:8px; right:8px; bottom:calc(10px + env(safe-area-inset-bottom));
    background:var(--panel); border-radius:14px; padding:10px; display:none; border:1px solid rgba(255,255,255,.08);
    box-shadow:0 8px 30px rgba(0,0,0,.45); touch-action:auto; max-height:62vh; overflow:auto;
  }
  #morePanel .grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
  #morePanel button { width:100%; padding:9px 6px; }

  #newPanelDialog {
    position:fixed; inset:0; z-index:80; background:rgba(0,0,0,.65); display:none; align-items:center; justify-content:center; padding:16px; touch-action:auto;
  }
  #newPanelDialog .card { width:min(390px,100%); background:#222; border-radius:16px; padding:14px; box-shadow:0 12px 35px rgba(0,0,0,.5); }
  #newPanelDialog h3 { margin:0 0 10px; font-size:16px; }
  #newPanelDialog .row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:7px; }
  #newPanelDialog label { font-size:10px; color:var(--muted); }
  #newPanelDialog input, #newPanelDialog select {
    width:100%; margin-top:3px; padding:9px 7px; border-radius:8px; border:1px solid #4b4b4b; background:#111; color:#fff; font-size:13px;
  }
  #thicknessPresets { display:flex; gap:5px; margin-top:8px; overflow-x:auto; }
  #dialogBtns { display:flex; gap:7px; justify-content:flex-end; margin-top:12px; }

  #toast {
    position:fixed; z-index:20000; left:50%; bottom:calc(84px + env(safe-area-inset-bottom)); transform:translateX(-50%);
    background:rgba(0,0,0,.88); color:#fff; padding:8px 12px; border-radius:999px; font-size:12px; font-weight:700;
    opacity:0; pointer-events:none; transition:opacity .2s; white-space:nowrap; max-width:90vw; overflow:hidden; text-overflow:ellipsis;
  }
  #toast.show { opacity:1; }

  #tapeCrosshair {
    position:fixed; z-index:60; width:30px; height:30px; margin:-15px 0 0 -15px;
    pointer-events:none; display:none; border:2px solid #fff; border-radius:50%;
    box-shadow:0 0 0 1px rgba(0,0,0,.85),0 0 10px rgba(0,229,255,.55);
  }
  #tapeCrosshair::before, #tapeCrosshair::after {
    content:''; position:absolute; left:50%; top:50%; background:#fff; transform:translate(-50%,-50%);
    box-shadow:0 0 0 1px rgba(0,0,0,.55);
  }
  #tapeCrosshair::before { width:42px; height:2px; }
  #tapeCrosshair::after { width:2px; height:42px; }
  #tapeCrosshair.snap-axis { border-color:#00e5ff; }
  #tapeCrosshair.snap-edge { border-color:#ffd23f; }
  #tapeCrosshair.snap-corner { border-color:#34d058; }
  #tapeCrosshair.snap-guide { border-color:#ff2ea6; }
  #tapeCrosshairLabel {
    position:absolute; left:50%; top:-28px; transform:translateX(-50%);
    padding:4px 7px; border-radius:6px; background:rgba(0,0,0,.84); color:#fff;
    font-size:10px; font-weight:900; white-space:nowrap; border:1px solid rgba(255,255,255,.18);
  }
  #tapeSnapDot {
    position:fixed; z-index:61; width:8px; height:8px; margin:-4px 0 0 -4px;
    pointer-events:none; display:none; border:1px solid #fff; border-radius:50%;
    background:#111; box-shadow:0 0 0 2px rgba(0,0,0,.7),0 0 0 6px rgba(255,210,63,.12);
  }
  #tapeSnapDot.snap-axis { border-color:#00e5ff; background:#00e5ff; }
  #tapeSnapDot.snap-edge { border-color:#ffd23f; background:#ffd23f; }
  #tapeSnapDot.snap-corner { border-color:#34d058; background:#34d058; }
  #tapeSnapDot.snap-guide { border-color:#ff2ea6; background:#ff2ea6; }



  /* ---------- Espaços / cortes estilo configurador ---------- */
  #spaceActions {
    position:fixed; z-index:42; left:8px; top:calc(72px + env(safe-area-inset-top));
    width:min(258px,calc(100vw - 16px)); display:none; padding:9px;
    background:rgba(22,22,22,.93); border:1px solid rgba(255,255,255,.1); border-radius:13px;
    box-shadow:0 7px 24px rgba(0,0,0,.38); touch-action:auto;
  }
  #spaceActions .spaceDragHandle {
    touch-action:none; user-select:none; -webkit-user-select:none; cursor:grab;
    padding:1px 2px 3px; margin:-1px -2px 1px; border-radius:9px;
  }
  #spaceActions .spaceDragHandle:active { cursor:grabbing; }
  #spaceActions .spaceTitle { font-size:12px; font-weight:900; }
  #spaceActions .spaceDims { font-size:10px; color:var(--cyan); margin:2px 0 7px; line-height:1.3; }
  #spaceActions .spaceBtns { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
  #spaceActions button { width:100%; min-height:40px; padding:8px 7px; font-size:12px; }
  .fixedBadge { color:var(--yellow); font-weight:900; }
  .fixedChoice { display:flex; align-items:center; gap:9px; margin-top:10px; padding:9px 10px; border-radius:10px; background:#171717; border:1px solid #3a3a3a; }
  .fixedChoice input { width:20px; height:20px; accent-color:var(--green); flex:0 0 auto; }
  .fixedChoice strong { display:block; font-size:12px; }
  .fixedChoice span { display:block; color:var(--muted); font-size:10px; line-height:1.3; margin-top:2px; }
  .spaceMoreGrid { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:8px; }
  .spaceMoreGrid button { width:100%; min-height:44px; }

  #newSpaceDialog, #editSelectedSpaceDialog, #editSpaceDialog, #cutSpaceDialog, #createPiecesDialog, #drawerSystemDialog, #libraryDialog, #spaceMoreDialog, #deleteSpaceCellDialog, #slattedPanelDialog, #machiningDialog, #hardwareBuilderDialog, #partsListDialog, #curvedStructureDialog, #shapeDialog, #productionDialog, #adminDialog {
    position:fixed; inset:0; z-index:90; background:rgba(0,0,0,.68); display:none;
    align-items:center; justify-content:center; padding:16px; touch-action:auto;
  }
  #newSpaceDialog .card, #editSelectedSpaceDialog .card, #editSpaceDialog .card, #cutSpaceDialog .card, #createPiecesDialog .card, #drawerSystemDialog .card, #libraryDialog .card, #spaceMoreDialog .card, #deleteSpaceCellDialog .card, #slattedPanelDialog .card, #machiningDialog .card, #hardwareBuilderDialog .card, #partsListDialog .card, #curvedStructureDialog .card, #shapeDialog .card, #productionDialog .card, #adminDialog .card {
    width:min(430px,100%); max-height:82%; overflow:auto; background:#222; border-radius:16px;
    padding:14px; box-shadow:0 12px 35px rgba(0,0,0,.52); border:1px solid rgba(255,255,255,.08);
  }
  #newSpaceDialog h3, #editSelectedSpaceDialog h3, #editSpaceDialog h3, #cutSpaceDialog h3, #createPiecesDialog h3, #drawerSystemDialog h3, #libraryDialog h3, #spaceMoreDialog h3, #deleteSpaceCellDialog h3, #slattedPanelDialog h3, #machiningDialog h3, #hardwareBuilderDialog h3, #partsListDialog h3, #curvedStructureDialog h3, #shapeDialog h3, #productionDialog h3, #adminDialog h3 { margin:0 0 5px; font-size:16px; }
  .dialogHelp { margin:0 0 11px; color:var(--muted); font-size:11px; line-height:1.35; }
  .spaceFields { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
  .spaceFields.two { grid-template-columns:1fr 1fr; }
  .spaceFields label { font-size:10px; color:var(--muted); }
  .spaceFields input, .spaceFields select {
    width:100%; margin-top:3px; padding:10px 8px; border-radius:8px; border:1px solid #4b4b4b;
    background:#111; color:#fff; font-size:16px; outline:none;
  }
  .spaceFields input:focus, .spaceFields select:focus { border-color:var(--cyan); }

  /* 1.100.7 · opções compactas dos lados do rasgo */
  .drawerGrooveGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-top:7px;
  }
  .drawerGrooveChoice{
    min-width:0;
    display:flex;
    align-items:flex-start;
    gap:8px;
    margin:0;
    padding:9px;
    border-radius:9px;
    border:1px solid #3a3f43;
    background:#17191a;
    color:#e8ecef;
    cursor:pointer;
  }
  .drawerGrooveChoice input[type="checkbox"]{
    width:18px !important;
    height:18px !important;
    min-width:18px;
    flex:0 0 18px;
    margin:1px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:3px;
    accent-color:var(--green);
  }
  .drawerGrooveChoice > div{
    min-width:0;
    flex:1 1 auto;
  }
  .drawerGrooveChoice strong{
    display:block;
    font-size:11px;
    line-height:1.2;
    color:#f3f5f6;
    overflow-wrap:anywhere;
  }
  .drawerGrooveChoice span{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:9px;
    line-height:1.3;
    overflow-wrap:anywhere;
  }
  .drawerGrooveChoice:has(input:checked){
    border-color:rgba(52,208,88,.55);
    background:rgba(52,208,88,.07);
  }

  /* 1.100.8 · configuração do padrão de furação da corrediça */
  .drawerDrillBox{margin-top:8px;padding:9px;border:1px solid #34393d;border-radius:10px;background:#111315}
  .drawerDrillResult{margin-top:7px;padding:7px 8px;border-radius:8px;background:#171a1c;border:1px solid #30363a;color:#c7d0d6;font-size:10px;line-height:1.45}
  .drawerDrillResult strong{color:var(--cyan)}
  @media(max-width:390px){
    .drawerGrooveGrid{grid-template-columns:1fr;}
  }




/* 1.200.50 · Copiar Forma em lote */
.shapeCopyBar{
  position:fixed;z-index:180;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);
  width:min(760px,calc(100vw - 24px));display:none;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;border-radius:16px;background:var(--panel);color:var(--text);border:1px solid rgba(83,214,232,.38);
  box-shadow:0 12px 34px rgba(0,0,0,.34);touch-action:auto;pointer-events:auto;
}
.shapeCopyBarText{display:grid;gap:3px;min-width:0}.shapeCopyBarText strong{font-size:13px}.shapeCopyBarText span{font-size:11px;color:var(--muted);line-height:1.35}
.shapeCopyBarActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.shapeCopyBar button{min-height:38px;padding:8px 12px;border-radius:10px}
@media(max-width:620px){.shapeCopyBar{align-items:stretch;flex-direction:column;bottom:calc(10px + env(safe-area-inset-bottom))}.shapeCopyBarActions{display:grid;grid-template-columns:1fr 1fr 1fr}.shapeCopyBar button{padding:8px 6px;font-size:11px}}


/* 1.200.68 · submenus rápidos sem alterar a barra principal */
#quickDockSubmenu[data-kind="delete"]{width:min(300px,calc(100vw - 24px))}
#quickDockSubmenu[data-kind="delete"] #quickDockSubmenuTools{grid-template-columns:repeat(2,minmax(0,1fr))}
#quickDockSubmenu[data-kind="cut"]{width:min(520px,calc(100vw - 12px))}
#quickDockSubmenu[data-kind="cut"] #quickDockSubmenuTools{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:430px){#quickDockSubmenu[data-kind="cut"] .quickDockSubText{font-size:6.2px}}


/* 1.200.71 · Painel ripado */
.slattedPanelPreview{
  height:150px;margin-top:12px;border:1px solid #3d4449;border-radius:12px;background:#111820;overflow:hidden;
  display:flex;align-items:stretch;justify-content:center;padding:10px;gap:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.slattedPanelPreview.vertical{flex-direction:row;align-items:stretch}.slattedPanelPreview.horizontal{flex-direction:column;align-items:stretch}
.slattedPanelPreview .slatDemo{background:#c99b62;border:1px solid rgba(255,255,255,.18);border-radius:2px;flex:0 0 auto}
.slattedPanelPreview.vertical .slatDemo{height:100%}.slattedPanelPreview.horizontal .slatDemo{width:100%}
.slattedPanelSummary{margin-top:8px;padding:9px 10px;border-radius:10px;background:#121619;border:1px solid #31404a;color:#bfe9ff;font-size:11px;line-height:1.45;font-weight:750}.slattedPanelSummary.error{color:#ffb3b3;border-color:#6b3434;background:#211414}
.slattedPanelWarning{margin-top:9px;padding:9px 10px;border-radius:10px;background:#201b10;border:1px solid #5b4920;color:#f2d98a;font-size:10px;line-height:1.4}
.slattedPanelWarning strong,.slattedPanelWarning span{display:block}.slattedPanelWarning span{margin-top:3px;color:#cfc4a5}
#quickDockSubmenu[data-kind="machining"]{width:min(520px,calc(100vw - 12px))}
#quickDockSubmenu[data-kind="machining"] #quickDockSubmenuTools{grid-template-columns:repeat(4,minmax(0,1fr))}


/* 1.200.94 · material diretamente na configuração da peça */
.pieceMaterialSelect{
  width:100%;min-height:43px;padding:8px 10px;border:1px solid #484d50;border-radius:9px;
  background:#0e1112;color:#fff;font-size:11px;font-weight:750;
}
.pieceMaterialSelect optgroup{font-weight:900;color:#c9d8e8;background:#111}
.pieceMaterialSelect option{color:#fff;background:#111}
.pieceMaterialSyncChoice{
  display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:7px 8px;border-radius:8px;
  border:1px solid #343b40;background:#101314;color:#aab5ba;font-size:8px;line-height:1.35;cursor:pointer;
}
.pieceMaterialSyncChoice input{width:18px;height:18px;margin:0;accent-color:#2d7dfa;flex:0 0 auto}
.pieceMaterialApplyBtn{width:100%;min-height:42px;margin-top:8px;font-weight:900}

/* 1.200.95 · busca de material e catálogo sem duplicação por espessura */
.pieceMaterialSearch{
  width:100%;min-height:41px;margin:0 0 7px;padding:8px 11px;border:1px solid #484d50;border-radius:9px;
  background:#0e1112;color:#fff;font-size:11px;font-weight:750;outline:none;
}
.pieceMaterialSearch::placeholder{color:#778188;font-weight:650}
.pieceMaterialSearch:focus{border-color:#2d7dfa;box-shadow:0 0 0 2px rgba(45,125,250,.12)}

/* 1.300.31 · seleção múltipla de espaços para criar portas */
.spaceMultiSelectBar{bottom:calc(82px + env(safe-area-inset-bottom));border-color:rgba(52,208,88,.55)}
.spaceMultiSelectBar .shapeCopyBarText strong{color:#8cff9f}
.spaceMultiSelectBar .spaceMultiSelectActions{display:grid;grid-template-columns:1fr 1fr;min-width:min(310px,42vw)}
.spaceMultiSelectBar button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:620px){
  .spaceMultiSelectBar{bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100vw - 16px);padding:9px 10px;gap:8px}
  .spaceMultiSelectBar .spaceMultiSelectActions{grid-template-columns:1fr 1fr;min-width:0;width:100%}
  .spaceMultiSelectBar .shapeCopyBarActions button{font-size:11px;min-height:38px}
}

/* 1.312.00-r1 · tamponamento de gaveta */
.drawerTamponStripCard{margin-top:8px;padding:8px;border:1px solid #344047;border-radius:10px;background:#11191d;}
.drawerTamponStripCard .drawerTamponChoice{margin:0 0 8px 0;}
.drawerTamponInset{display:block;font-size:10px;color:var(--muted);}
.drawerTamponInset input{display:block;width:100%;margin-top:4px;}
.drawerTamponInset span{display:block;margin-top:4px;font-size:10px;line-height:1.35;color:var(--muted);}

/* 1.312.00-r1 · Windows: campos de configuração mantêm interação/foco estáveis. */
html.designlab-windows input:not([disabled]),
html.designlab-windows textarea:not([disabled]),
html.designlab-windows select:not([disabled]){pointer-events:auto;}
html.designlab-windows.designlab-editing-field input:focus,
html.designlab-windows.designlab-editing-field textarea:focus,
html.designlab-windows.designlab-editing-field select:focus{position:relative;z-index:1;}
