/* DjCarpi v0.19.0 · capa específica sobre DjCore API Level 1 */
:root{--carpi-wood:#c99a68}
/* DjCarpi no expone Animación por keyframes ni Cinema. */
.menu-root:has([data-menu-button="examples"]),
#examplesToolBtn,
#animationMenuBtn,
.animation-section,
[data-dock-pane="animation"],
[data-dock-pane="cinema"],
[data-dock-tab="animation"],
[data-dock-tab="cinema"],
[data-context-panel="animation"],
.legacy-link{display:none!important}

.create-section .primitive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.create-section .primitive-grid button{min-height:62px}
.carpi-piece-icon{display:grid;place-items:center;width:26px;height:24px;border:1px solid rgba(201,154,104,.72);border-radius:4px;color:#f0c89f;background:rgba(201,154,104,.08);font-size:18px;line-height:1;box-shadow:inset 0 0 12px rgba(201,154,104,.05)}
.create-section .primitive-grid button:hover .carpi-piece-icon{border-color:#f0c89f;color:#ffe0bd}

/* Cuando Resultados IA está cerrado, el área inferior desaparece por completo. */
.bottom-dock[data-open="none"]{height:0!important;min-height:0!important;padding:0!important;border:0!important}
.status-dock-tabs{margin-left:4px}

/* Identidad visual discreta de carpintería manteniendo DjCore. */
.brand strong span{color:#e3b27e!important}
.version-pill{border-color:rgba(227,178,126,.24)!important;background:rgba(227,178,126,.06)!important;color:#e6bc91!important}

@media(max-width:720px){
  .create-section .primitive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* DjCarpi v0.2 · medidas de pieza y configuración global de placa */
.carpi-measure-grid,.carpi-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.carpi-measure-grid .geometry-field{min-width:0}
.carpi-thickness-readout{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid rgba(201,154,104,.24);border-radius:6px;background:rgba(201,154,104,.06)}
.carpi-thickness-readout span{font-size:11px;color:var(--muted,#9aa8b8)}
.carpi-thickness-readout strong{font-size:12px;color:#f0c89f}
.carpi-settings-subtitle{grid-column:1/-1;margin-top:2px;padding-top:4px;font-size:10px;font-weight:700;letter-spacing:.08em;color:#e3b27e;border-top:1px solid rgba(255,255,255,.06)}
.carpi-settings-subtitle:first-child{border-top:0;padding-top:0}
.carpi-settings-grid .field.full{grid-column:1/-1}
.carpi-settings-note{grid-column:1/-1;font-size:10px;line-height:1.35;color:var(--muted,#9aa8b8);padding:6px 8px;border-left:2px solid rgba(227,178,126,.55);background:rgba(227,178,126,.04)}
@media(max-width:720px){.carpi-measure-grid,.carpi-settings-grid{grid-template-columns:1fr}}

/* DjCarpi v0.3 · la versión comparte línea con el nombre del producto */
.brand .dj-product-heading .dj-product-version{color:#c99765!important}


/* DjCarpi v0.5 · pieza de melamina, cantos y lista de cortes */
.carpi-measure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.carpi-edge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.carpi-piece-kind{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid rgba(201,154,104,.24);border-radius:6px;background:rgba(201,154,104,.06)}
.carpi-piece-kind span{font-size:10px;color:var(--muted,#9aa8b8);text-transform:uppercase;letter-spacing:.06em}
.carpi-piece-kind strong{font-size:12px;color:#f0c89f}
.carpi-edge-field{display:grid;gap:5px;min-width:0}
.carpi-edge-field>span{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:var(--text,#d9e4ef)}
.carpi-edge-field>span small{font-size:9px;color:var(--muted,#9aa8b8);white-space:nowrap}
.carpi-edge-field select{width:100%;min-width:0}
.carpi-edge-legend{grid-column:1/-1;font-size:9px;line-height:1.35;color:var(--muted,#9aa8b8);padding:6px 8px;border-left:2px solid rgba(227,178,126,.45);background:rgba(227,178,126,.035)}

.carpi-cut-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}
.carpi-cut-summary>div{display:grid;gap:2px;padding:7px 8px;border:1px solid rgba(201,154,104,.18);border-radius:6px;background:rgba(201,154,104,.04)}
.carpi-cut-summary span{font-size:9px;color:var(--muted,#9aa8b8);text-transform:uppercase;letter-spacing:.04em}
.carpi-cut-summary strong{font-size:12px;color:#f0c89f}
.carpi-cut-table-wrap{overflow:auto;max-height:270px;border:1px solid rgba(255,255,255,.06);border-radius:6px}
.carpi-cut-table{width:100%;border-collapse:collapse;font-size:10px;min-width:560px}
.carpi-cut-table th,.carpi-cut-table td{padding:6px 7px;text-align:left;border-bottom:1px solid rgba(255,255,255,.055);white-space:nowrap}
.carpi-cut-table th{position:sticky;top:0;z-index:1;background:#0b1725;color:#d5a574;font-size:9px;text-transform:uppercase;letter-spacing:.04em}
.carpi-cut-table td strong{display:block;font-size:10px;font-weight:600;color:var(--text,#d9e4ef)}
.carpi-cut-table td small{display:block;font-size:8px;color:var(--muted,#9aa8b8);margin-top:1px}
.carpi-cut-table tr:last-child td{border-bottom:0}
.carpi-cut-empty{text-align:center!important;color:var(--muted,#9aa8b8)!important;padding:14px!important}
.carpi-cut-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:9px;color:var(--muted,#9aa8b8)}
.carpi-cut-footer .mini-btn{white-space:nowrap}

@media(max-width:720px){
  .carpi-edge-grid{grid-template-columns:1fr}
  .carpi-piece-kind,.carpi-edge-legend{grid-column:1}
  .carpi-cut-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* DjCarpi v0.6 · piezas, cantos, bisagras y lista de partes */
[data-transform="scale"],[data-transform-menu="scale"],[data-context-action="scale"]{display:none!important}
.panel-section.panel-disabled>.section-title .panel-icon-btn{opacity:.30;cursor:not-allowed;filter:saturate(.2)}
.panel-section.panel-disabled>.section-body{opacity:.48}
.carpi-measure-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;width:100%}
.carpi-measure-grid .geometry-field{min-width:0;width:100%}
.carpi-measure-grid .geometry-field input{width:100%;min-width:0;box-sizing:border-box;height:32px;font-size:12px}
.carpi-list-action{height:29px!important;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px!important}
.carpi-cut-footer{flex-wrap:wrap}
.carpi-cut-footer #cutBoardEquivalent{margin-right:auto}
.carpi-side-labels{position:absolute;inset:0;z-index:18;pointer-events:none;overflow:hidden}
.carpi-side-labels span{position:absolute;left:0;top:0;display:none;padding:0;border:0;background:none;box-shadow:none;color:#ffd889;font-size:10px;font-weight:700;line-height:1;white-space:nowrap;transform:translate(-9999px,-9999px)}
.carpi-side-labels span.visible{display:block}
.carpi-edge-section .panel-icon-btn{font-size:9px;letter-spacing:-1px}
.carpi-cut-list-section .panel-icon-btn{font-size:13px}
.carpi-hinge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.carpi-hinge-grid>.full,.carpi-hinge-grid>.wide-btn,.carpi-hinge-help,.carpi-door-actions,.carpi-hinge-status{grid-column:1/-1}
.carpi-hinge-help,.carpi-hinge-status{padding:7px 8px;border-left:2px solid rgba(213,181,60,.48);background:rgba(213,181,60,.035);color:#8596a3;font-size:9px;line-height:1.4}
.carpi-hinge-create{border-color:rgba(213,181,60,.32)!important;color:#d8c16a!important;background:rgba(213,181,60,.06)!important}

.carpi-hinge-action-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:7px;align-items:stretch}
.carpi-hinge-action-row .wide-btn{width:100%;min-width:0}
.carpi-hinge-delete{width:34px;min-width:34px;padding:0;display:grid;place-items:center;height:29px;border:1px solid rgba(82,217,255,.14);border-radius:6px;background:rgba(82,217,255,.04);color:#8eb1c2;font-size:15px;cursor:pointer}
.carpi-hinge-delete:disabled{opacity:.42;cursor:default}
.carpi-door-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.carpi-door-actions button{height:29px;border:1px solid rgba(82,217,255,.14);border-radius:6px;background:rgba(82,217,255,.04);color:#8eb1c2;font-size:9px;cursor:pointer}
.carpi-door-actions button:hover:not(:disabled){color:#e8fbff;border-color:rgba(82,217,255,.34);background:rgba(82,217,255,.08)}
.carpi-door-actions button:disabled{opacity:.35;cursor:default}
.create-section .category-tab[data-object-category="accessory"]{color:#d5b53c}
.create-section button[data-category="accessory"] .carpi-piece-icon{border-color:rgba(213,181,60,.52);color:#d8c16a;background:rgba(213,181,60,.055)}
@media(max-width:720px){
  .carpi-measure-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .carpi-hinge-grid{grid-template-columns:1fr}
  .carpi-hinge-grid>.full,.carpi-hinge-grid>.wide-btn,.carpi-hinge-help,.carpi-door-actions,.carpi-hinge-status{grid-column:1}
  .carpi-door-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* DjCarpi v0.7 · herramienta exclusiva Abrir puerta y panel Bisagra */
.door-swing-icon,.door-move-icon,.hinge-door-icon{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.door-open-mode-tool.active,.door-open-mode-item.active{color:#ffd77a!important;border-color:rgba(255,215,122,.5)!important;background:rgba(213,181,60,.13)!important;box-shadow:inset 0 0 0 1px rgba(255,215,122,.12)}
#viewport canvas.carpi-door-open-cursor{cursor:ew-resize!important}
#viewport canvas.carpi-door-open-cursor-vertical{cursor:ns-resize!important}
.carpi-hinge-grid .field select,.carpi-hinge-grid .field input{width:100%;min-width:0;box-sizing:border-box}
.carpi-handle-field{grid-column:1/-1}
.carpi-handle-field select{width:100%;min-width:0;box-sizing:border-box}


/* DjCarpi v0.10 · soporte de bisagra por proximidad física */
.carpi-support-picker-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:5px;align-items:stretch}
.carpi-support-picker-row select{min-width:0}

/* DJCARPI-HINGE-PANEL-CONTRACT@0.72.1
   Panel Bisagra: Normal y Corrediza son modos exclusivos. Los selectores con mouse
   comparten la misma geometría visual; las tapas de corredera agregan un tercer botón
   para quitar la relación y su guía sin alterar el tamaño habitual del panel. */
.hinge-mode-normal,.hinge-mode-sliding{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;grid-column:1/-1}
.hinge-mode-normal>.full,.hinge-mode-sliding>.full,.hinge-mode-normal>.carpi-hinge-help{grid-column:1/-1}
.carpi-hinge-subgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;grid-column:1/-1}
.carpi-support-picker-row-clear{grid-template-columns:minmax(0,1fr) 32px 32px}
.hinge-mode-normal[hidden],.hinge-mode-sliding[hidden]{display:none!important}
/* DJCARPI-HINGE-PICKER-STYLE@0.73.3
   Todos los botones compactos del Panel Bisagra usan el mismo lenguaje visual de la app.
   Antes solo #hingePickSupport estaba estilizado y los demás caían al estilo HTML nativo. */
.carpi-picker-icon-btn{width:32px;min-width:32px;height:30px;padding:0;display:grid;place-items:center;border:1px solid rgba(82,217,255,.18);border-radius:6px;background:rgba(82,217,255,.04);color:#8eb1c2;cursor:pointer;font:inherit;box-sizing:border-box}
.carpi-picker-icon-btn:hover:not(:disabled),.carpi-picker-icon-btn.active{color:#ffe09a;border-color:rgba(213,181,60,.55);background:rgba(213,181,60,.12)}
.carpi-picker-icon-btn:disabled{opacity:.32;cursor:default}
.carpi-picker-icon-btn.danger,.carpi-support-clear{color:#ffb2b2;border-color:rgba(255,112,112,.2);background:rgba(255,112,112,.035)}
.carpi-picker-icon-btn.danger:hover:not(:disabled),.carpi-support-clear:hover:not(:disabled){color:#ffd1d1;border-color:rgba(255,112,112,.46);background:rgba(255,112,112,.10)}
.support-picker-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
#viewport canvas.carpi-support-pick-cursor{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M4 2.5v22l6-5.7 4.1 8.4 3.6-1.8-4.1-8.2 8.2-1.2z' fill='%23e8fbff' stroke='%23051420' stroke-width='1.6' stroke-linejoin='round'/%3E%3Ccircle cx='23.5' cy='7.5' r='5' fill='none' stroke='%23ffd77a' stroke-width='2'/%3E%3Cpath d='M23.5 1v2M23.5 12v2M17 7.5h2M28 7.5h2' stroke='%23ffd77a' stroke-width='1.5'/%3E%3C/svg%3E") 4 3,crosshair!important}

/* DjCarpi v0.11 · bisagra física y movimiento articulado */
.hinge-door-icon{width:17px;height:17px;vertical-align:middle}
.panel-icon-btn .hinge-door-icon{width:18px;height:18px}
.door-move-icon{width:18px;height:18px}
.carpi-door-actions #doorMove{color:#ffd77a;border-color:rgba(213,181,60,.32);background:rgba(213,181,60,.06)}

/* DjCarpi v0.12 · bisagras desde bordes y panel Distancias (histórico; UI actual en mm) */
.distance-ruler-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.panel-icon-btn .distance-ruler-icon{width:18px;height:18px}
.distance-mode-tool.active,#distanceMenuBtn.active,#distanceMeasureBtn.active,.approach-mode-tool.active,#approachPanelBtn.active{color:#ffd77a!important;border-color:rgba(213,181,60,.52)!important;background:rgba(213,181,60,.12)!important}
#viewport canvas.carpi-distance-pick-cursor-1{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M4 2.5v22l6-5.7 4.1 8.4 3.6-1.8-4.1-8.2 8.2-1.2z' fill='%23e8fbff' stroke='%23051420' stroke-width='1.6' stroke-linejoin='round'/%3E%3Ccircle cx='24' cy='8' r='6' fill='%23051420' stroke='%23e8fbff' stroke-width='1.2'/%3E%3Ctext x='24' y='11' text-anchor='middle' font-family='Arial' font-size='9' font-weight='700' fill='%23e8fbff'%3E1%3C/text%3E%3C/svg%3E") 4 3,default!important}
#viewport canvas.carpi-distance-pick-cursor-2{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M4 2.5v22l6-5.7 4.1 8.4 3.6-1.8-4.1-8.2 8.2-1.2z' fill='%23e8fbff' stroke='%23051420' stroke-width='1.6' stroke-linejoin='round'/%3E%3Ccircle cx='24' cy='8' r='6' fill='%23051420' stroke='%23e8fbff' stroke-width='1.2'/%3E%3Ctext x='24' y='11' text-anchor='middle' font-family='Arial' font-size='9' font-weight='700' fill='%23e8fbff'%3E2%3C/text%3E%3C/svg%3E") 4 3,default!important}
#viewport canvas.carpi-approach-pick-cursor{cursor:crosshair!important}
.carpi-distance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.carpi-distance-grid>.full,.carpi-distance-actions,.carpi-distance-help{grid-column:1/-1}
.carpi-distance-grid .field select,.carpi-distance-grid .field input{width:100%;min-width:0;box-sizing:border-box}
#distanceObjectA[readonly]{color:#a7bdc8;background:rgba(82,217,255,.025)}
.carpi-distance-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.carpi-distance-actions button{min-width:0;height:30px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(82,217,255,.14);border-radius:6px;background:rgba(82,217,255,.04);color:#8eb1c2;font-size:9px;cursor:pointer}
.carpi-distance-actions button:hover:not(:disabled),.carpi-distance-actions button.active{color:#e8fbff;border-color:rgba(82,217,255,.34);background:rgba(82,217,255,.09)}
.carpi-distance-actions button:disabled{opacity:.34;cursor:default}
.carpi-distance-help{padding:7px 8px;border-left:2px solid rgba(82,217,255,.35);background:rgba(82,217,255,.035);color:#8596a3;font-size:9px;line-height:1.45}
.carpi-distance-section .panel-icon-btn{color:#77dff6}
.carpi-distance-label{position:absolute;left:0;top:0;z-index:22;display:none;padding:4px 7px;border:1px solid rgba(82,217,255,.72);border-radius:5px;background:rgba(5,15,23,.92);box-shadow:0 2px 10px rgba(0,0,0,.38);color:#c8f6ff;font-size:10px;font-weight:700;line-height:1;white-space:nowrap;pointer-events:none;transform:translate(-9999px,-9999px)}
.carpi-distance-label.visible{display:block}
@media(max-width:720px){.carpi-distance-grid{grid-template-columns:1fr}.carpi-distance-grid>.full,.carpi-distance-actions,.carpi-distance-help{grid-column:1}.carpi-distance-actions{grid-template-columns:1fr 1fr}}


/* DjCarpi v0.15 · Medidas contextuales y color uniforme de Bisagra */
.carpi-hinge-section .panel-icon-btn{color:inherit!important}
#measureFields{width:100%;max-width:none;box-sizing:border-box}
#measureFields .carpi-measure-grid{width:100%!important;max-width:none!important;align-items:start}
#measureFields .geometry-field{width:100%;min-width:0;box-sizing:border-box}
#measureFields .geometry-field input,#measureFields .geometry-field select{display:block;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box}
.carpi-measure-placement{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-top:2px;padding-top:9px;border-top:1px solid rgba(255,255,255,.07)}
.carpi-measure-placement-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text,#d9e4ef);font-size:10px;font-weight:700;letter-spacing:.03em}
.carpi-measure-placement-title small{color:var(--muted,#9aa8b8);font-size:9px;font-weight:500}
.carpi-measure-neighbors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.carpi-measure-placement .geometry-field.full{grid-column:1/-1}
.carpi-measure-fit-btn,.carpi-measure-join-btn{width:100%;min-height:30px}
.carpi-measure-placement-help{font-size:9px;line-height:1.35;color:var(--muted,#9aa8b8);padding:6px 8px;border-left:2px solid rgba(82,217,255,.34);background:rgba(82,217,255,.025)}
@media(max-width:720px){.carpi-measure-neighbors{grid-template-columns:minmax(0,1fr)}}


/* DjCarpi v0.15 · milímetros, cajones y redimensionado dimensional */
.resize-xy-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.panel-icon-btn .resize-xy-icon{width:18px;height:18px}
#measureFields .carpi-measure-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%!important}
#measureFields .carpi-measure-grid>.geometry-field,#measureFields .carpi-measure-placement{grid-column:1!important;width:100%!important}
#measureFields .carpi-measure-neighbors{grid-template-columns:minmax(0,1fr)!important}
.carpi-drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}
.carpi-drawer-grid>.full,.carpi-drawer-actions,.carpi-drawer-help,.carpi-drawer-status{grid-column:1/-1}
.carpi-drawer-grid .field input,.carpi-drawer-grid .field select{width:100%;min-width:0;box-sizing:border-box}
.carpi-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.carpi-drawer-actions button,.carpi-drawer-primary{min-height:30px;border:1px solid rgba(82,217,255,.16);border-radius:6px;background:rgba(82,217,255,.04);color:#9bc1d1;cursor:pointer;font-size:9px}
.carpi-drawer-actions button:hover:not(:disabled),.carpi-drawer-primary:hover:not(:disabled){color:#e9fbff;border-color:rgba(82,217,255,.36);background:rgba(82,217,255,.09)}
.carpi-drawer-primary{grid-column:1/-1;width:100%;font-weight:700}
.carpi-drawer-primary.active{color:#ffd77a;border-color:rgba(213,181,60,.44);background:rgba(213,181,60,.09)}
.carpi-drawer-help,.carpi-drawer-status{padding:7px 8px;border-left:2px solid rgba(82,217,255,.34);background:rgba(82,217,255,.025);color:#8596a3;font-size:9px;line-height:1.42}
.carpi-drawer-dimensions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.carpi-drawer-refs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.carpi-drawer-section .panel-icon-btn{color:inherit}
@media(max-width:720px){.carpi-drawer-grid,.carpi-drawer-dimensions,.carpi-drawer-refs{grid-template-columns:1fr}}

/* DjCarpi v0.15 · panel frontal / zócalo */
.carpi-front-panel-use{display:grid;grid-template-columns:1fr;gap:7px;width:100%;grid-column:1/-1}
.carpi-front-panel-use>.full,.carpi-front-panel-use select,.carpi-front-panel-use button{width:100%;box-sizing:border-box}


/* DjCarpi v0.16 · Medidas a ancho completo, icono Cajón y cajón autoajustado */
#measureFields.measure-fields{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
#measureFields.measure-fields>.geometry-field,
#measureFields.measure-fields>.carpi-measure-placement,
#measureFields.measure-fields>.carpi-front-panel-use,
#measureFields.measure-fields>.geometry-empty{width:100%!important;max-width:none!important;box-sizing:border-box!important}
#measureFields.measure-fields>.geometry-field{display:flex!important;flex-direction:column!important;gap:4px!important}
#measureFields.measure-fields>.geometry-field input,
#measureFields.measure-fields>.geometry-field select{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important}
.drawer-box-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.carpi-piece-icon .drawer-box-icon{width:22px;height:22px}
.carpi-drawer-section .panel-icon-btn .drawer-box-icon{width:18px;height:18px}

/* DjCarpi v0.18 · Redimensionar anclado, Autoajustar y Acercar */
.autofit-tool-icon,.approach-tool-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
#measureAutoFitToolBtn:disabled{opacity:.34;cursor:default}

/* DjCarpi v0.22 · confirmación breve al regenerar/copiar petición para IA externa */
#externalAiCopyStatus { color: inherit; transition: color .2s ease; }
#externalAiCopyStatus.copy-flash { color: #ffd84a; font-weight: 700; }

/* DjCarpi v0.22 · controles de apilado de cajones */
.carpi-drawer-stack-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:5px}
.carpi-drawer-stack-actions .wide-btn{width:100%;min-width:0}
@media(max-width:720px){.carpi-drawer-stack-actions{grid-template-columns:1fr 1fr}}


.carpi-drawer-primary-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch}
.carpi-drawer-primary-row .carpi-drawer-primary{grid-column:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.carpi-drawer-lock{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid rgba(82,217,255,.16);border-radius:6px;background:rgba(82,217,255,.04);color:#9bc1d1;cursor:pointer;font-size:9px}
.carpi-drawer-lock:hover:not(:disabled){color:#e9fbff;border-color:rgba(82,217,255,.36);background:rgba(82,217,255,.09)}
.carpi-drawer-lock.active{color:#ffd77a;border-color:rgba(213,181,60,.44);background:rgba(213,181,60,.09)}
.carpi-drawer-lock .ui-icon,.carpi-drawer-primary .ui-icon{width:15px;height:15px;flex:0 0 auto}
@media(max-width:720px){.carpi-drawer-primary-row{grid-template-columns:minmax(0,1fr) auto}.carpi-drawer-lock span{display:none}}


/* DjCarpi v0.36 · panel Textura */
.texture-grain-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.panel-icon-btn .texture-grain-icon{width:18px;height:18px}
.carpi-texture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}
.carpi-texture-grid>.full,.carpi-texture-preview,.carpi-texture-actions,.carpi-texture-help{grid-column:1/-1}
.carpi-texture-grid .field input,.carpi-texture-grid .field select{width:100%;min-width:0;box-sizing:border-box}
.carpi-texture-preview{display:block;width:100%;height:72px;box-sizing:border-box;border:1px solid rgba(82,217,255,.16);border-radius:6px;background:#d4a675}
.carpi-texture-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.carpi-texture-actions button{min-height:30px;border:1px solid rgba(82,217,255,.16);border-radius:6px;background:rgba(82,217,255,.04);color:#9bc1d1;cursor:pointer;font-size:9px}
.carpi-texture-actions button:hover:not(:disabled){color:#e9fbff;border-color:rgba(82,217,255,.36);background:rgba(82,217,255,.09)}
.carpi-texture-actions button:disabled{opacity:.34;cursor:default}
.carpi-texture-help{padding:7px 8px;border-left:2px solid rgba(82,217,255,.34);background:rgba(82,217,255,.025);color:#8596a3;font-size:9px;line-height:1.42}
@media(max-width:720px){.carpi-texture-grid{grid-template-columns:1fr}.carpi-texture-grid>.full,.carpi-texture-preview,.carpi-texture-actions,.carpi-texture-help{grid-column:1}}

/* v0.37 · Catálogo de muebles */
.catalog-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;vertical-align:middle}
.furniture-catalog-dialog{width:min(1240px,96vw);max-width:none;height:min(980px,96vh);max-height:96vh;padding:0;border:1px solid var(--line,#394655);border-radius:12px;background:var(--panel,#17202a);color:var(--text,#eef4f7);box-shadow:0 24px 80px #0009;overflow:hidden}
.furniture-catalog-dialog::backdrop{background:#081018b8;backdrop-filter:blur(2px)}
.furniture-catalog-shell{height:100%;display:flex;flex-direction:column;min-height:0}
.furniture-catalog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line,#394655);background:var(--panel-2,#1d2834)}
.furniture-catalog-header>div{display:flex;flex-direction:column;gap:2px}.furniture-catalog-header strong{font-size:14px;letter-spacing:.08em}.furniture-catalog-header small{opacity:.7}
.furniture-catalog-filters,.furniture-catalog-advanced{display:grid;grid-template-columns:minmax(280px,1fr) 170px 190px auto;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line,#394655);align-items:end}
.furniture-catalog-filters label,.furniture-catalog-advanced label{min-width:0}.furniture-catalog-filters label>span,.furniture-catalog-advanced label>span{opacity:.75}
.furniture-catalog-filters input,.furniture-catalog-filters select,.furniture-catalog-advanced input,.furniture-catalog-advanced select{width:100%;box-sizing:border-box}
.furniture-catalog-advanced{grid-template-columns:repeat(4,minmax(140px,1fr));background:#00000016}.furniture-catalog-advanced[hidden]{display:none}
.furniture-catalog-advanced .catalog-check{display:flex;flex-direction:row;align-items:center;gap:8px;padding-bottom:7px}.furniture-catalog-advanced .catalog-check input{width:auto}
.furniture-catalog-source{display:flex;justify-content:space-between;gap:10px;padding:7px 14px;font-size:11px;border-bottom:1px solid var(--line,#394655);opacity:.8}
.furniture-catalog-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0;min-height:0;flex:1 1 0;overflow:hidden}
.furniture-catalog-grid{padding:14px;overflow-y:auto;overflow-x:hidden;height:100%;max-height:100%;min-height:0;box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,148px));gap:10px;align-content:start;justify-content:start;overscroll-behavior:contain;scrollbar-gutter:stable}
.furniture-card{appearance:none;text-align:left;border:1px solid var(--line,#394655);border-radius:10px;background:var(--panel-2,#1c2732);color:inherit;padding:0;overflow:hidden;cursor:pointer;transition:border-color .12s,transform .12s,background .12s}.furniture-card:hover{transform:translateY(-1px);border-color:#7f99ad}.furniture-card.selected{border-color:#f0c34e;box-shadow:0 0 0 1px #f0c34e55 inset}
.furniture-card-thumb{aspect-ratio:4/3;min-height:0;display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;background:linear-gradient(145deg,#0f1822,#263746);position:relative;overflow:hidden}.furniture-card-thumb svg{width:auto;height:auto;max-width:88%;max-height:88%;stroke:#d9e7ef;fill:#89a8bb22;stroke-width:1.3}
.furniture-card-info{padding:10px}.furniture-card-name{font-weight:650;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.furniture-card-family{font-size:10px;opacity:.66;margin-top:2px}.furniture-card-dims{font-size:11px;margin-top:8px;opacity:.9}.furniture-card-counts{font-size:10px;margin-top:5px;opacity:.65}
.furniture-catalog-detail{border-left:1px solid var(--line,#394655);padding:16px;overflow:auto;background:#00000012}.catalog-detail-empty{opacity:.55;font-size:12px;padding:20px 4px}.catalog-detail-preview{height:220px;border:1px solid var(--line,#394655);border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#0f1822,#263746);margin-bottom:14px}.catalog-detail-preview svg{width:86%;height:86%;stroke:#d9e7ef;fill:#89a8bb22;stroke-width:1.2}.catalog-detail-title{font-size:17px;font-weight:700}.catalog-detail-subtitle{font-size:11px;opacity:.65;margin-top:2px}.catalog-detail-description{font-size:12px;line-height:1.45;margin:12px 0}.catalog-detail-specs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.catalog-detail-spec{border:1px solid var(--line,#394655);border-radius:7px;padding:7px}.catalog-detail-spec span{display:block;font-size:9px;opacity:.6;text-transform:uppercase}.catalog-detail-spec strong{display:block;font-size:12px;margin-top:2px}.catalog-detail-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.catalog-detail-tags span{font-size:9px;border:1px solid var(--line,#394655);border-radius:999px;padding:3px 6px;opacity:.8}.catalog-detail-source{font-size:10px;opacity:.55;margin:10px 0 14px}.catalog-detail-actions{display:grid;grid-template-columns:1fr;gap:8px;position:sticky;bottom:0;padding-top:10px;background:linear-gradient(transparent,var(--panel,#17202a) 28%)}.catalog-detail-actions .wide-btn{margin-top:0;font-weight:700}.catalog-loading,.catalog-empty{grid-column:1/-1;text-align:center;padding:38px 10px;opacity:.6}
@media(max-width:850px){.furniture-catalog-dialog{width:96vw;height:94vh;max-height:94vh}.furniture-catalog-body{grid-template-columns:1fr}.furniture-catalog-detail{border-left:0;border-top:1px solid var(--line,#394655);max-height:42vh}.furniture-catalog-filters{grid-template-columns:1fr 1fr}.furniture-catalog-filters>button{grid-column:1/-1}.furniture-catalog-advanced{grid-template-columns:1fr 1fr}}
.catalog-detail-parts{margin:12px 0;border-top:1px solid var(--line,#394655);padding-top:10px}.catalog-detail-parts>strong{font-size:11px}.catalog-detail-parts ul{margin:7px 0 0;padding-left:18px;font-size:10px;line-height:1.5;opacity:.82}

/* DjCarpi v0.38 · Catálogo usa controles canónicos de DjCore; aquí sólo se define layout. */
.furniture-catalog-filters>.wide-btn{width:100%;align-self:end}

/* v0.39 · miniaturas 3D renderizadas del Catálogo */
.furniture-card-thumb .catalog-render-thumb{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;display:block}.catalog-detail-preview .catalog-render-thumb{width:90%;height:90%;object-fit:contain;object-position:center;display:block}
.catalog-detail-preview{overflow:hidden}
.carpi-bar-icon{display:inline-flex;min-width:1.2em;align-items:center;justify-content:center;font-weight:800;letter-spacing:-.08em}


/* v0.46.5 · cajón acoplado: R/E deshabilitados sin alterar el sync global */
[data-transform].carpi-transform-disabled,[data-transform-menu].carpi-transform-disabled{opacity:.34;cursor:not-allowed;filter:saturate(.45)}

/* v0.46.5 · Catálogo: miniaturas claramente verticales para mostrar el mueble completo. */

/* v0.67.9 · Catálogo: tarjeta principal más angosta; contenedor sin padding interno y miniatura contenida al 100%. */

/* v0.67.9 · Catálogo: se reduce únicamente el contenedor externo de miniatura; la imagen interna mantiene su escala previa (78%). */

/* DJCARPI-HINGE-VISUAL-MODE-CONTRACT@0.73.5 */
.carpi-hinge-type-cards,.carpi-guide-type-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:5px}
.carpi-hinge-type-card,.carpi-guide-type-card{min-width:0;padding:6px;border:1px solid rgba(82,217,255,.16);border-radius:8px;background:rgba(82,217,255,.035);color:#9eb3bf;cursor:pointer;display:grid;gap:4px;place-items:center;font:inherit;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}
.carpi-hinge-type-card:hover,.carpi-guide-type-card:hover{border-color:rgba(213,181,60,.42);background:rgba(213,181,60,.07);color:#e1cf88}
.carpi-hinge-type-card.active,.carpi-guide-type-card.active,.carpi-hinge-type-card[aria-pressed="true"],.carpi-guide-type-card[aria-pressed="true"]{border-color:rgba(213,181,60,.7);background:rgba(213,181,60,.12);color:#ffe09a;box-shadow:inset 0 0 0 1px rgba(213,181,60,.12)}
.carpi-hinge-type-card:active,.carpi-guide-type-card:active{transform:translateY(1px)}
.carpi-hinge-type-card span,.carpi-guide-type-card span{font-size:9px;font-weight:700;letter-spacing:.02em}
.carpi-hinge-thumb{width:100%;max-width:150px;height:68px;display:block}.carpi-guide-thumb{width:100%;max-width:140px;height:58px;display:block}
.carpi-hinge-thumb .thumb-board,.carpi-guide-thumb .thumb-board{fill:#c8b18a;stroke:#7f6947;stroke-width:1.6}
.carpi-hinge-thumb .thumb-door,.carpi-guide-thumb .thumb-door{fill:#d9c7a6;stroke:#836d4c;stroke-width:1.5}
.carpi-hinge-thumb .thumb-hinge{fill:#adb8bf;stroke:#6f7b83;stroke-width:1}.carpi-hinge-thumb .thumb-hinge-arm{stroke:#9aa7ae;stroke-width:5;stroke-linecap:round}
.carpi-hinge-thumb .thumb-track,.carpi-guide-thumb .thumb-track{stroke:#84939b;stroke-width:2;stroke-linecap:round}.carpi-guide-thumb .thumb-track.thick{stroke-width:5}
.carpi-hinge-thumb .thumb-motion{stroke:#d5b53c;stroke-width:2;stroke-dasharray:5 4}.carpi-hinge-thumb .thumb-motion-fill{fill:#d5b53c}
.carpi-guide-thumb .thumb-groove{stroke:#4e5960;stroke-width:3;stroke-linecap:round}.carpi-guide-thumb .thumb-filament{stroke:#c5cdd2;stroke-width:2.5;stroke-linecap:round}
.hinge-mode-common{display:grid;grid-template-columns:1fr;gap:7px;grid-column:1/-1}.hinge-mode-common[hidden]{display:none!important}
#hingeDelete.full{grid-column:1/-1;width:100%;height:28px;font-size:9px}

/* DjCore 0.72 canonical Document I/O surfaces */
.document-io-tools{display:contents}
.file-flyout-item{position:relative}
.file-flyout-trigger{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%}
.file-flyout-arrow{margin-left:auto;opacity:.72;font-size:16px}
.file-flyout-menu{display:none;position:absolute;top:-4px;left:calc(100% + 4px);z-index:12030;min-width:180px;padding:4px;border:1px solid rgba(82,217,255,.18);border-radius:6px;background:#07131f;box-shadow:0 14px 38px rgba(0,0,0,.55)}
.file-flyout-item:hover>.file-flyout-menu,.file-flyout-item:focus-within>.file-flyout-menu{display:block}
