:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;--header-h: 48px}*{box-sizing:border-box}body{margin:0;background:#eceef8;color:#1b1e30}#root{display:flex;height:100vh}.app-header{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;gap:16px;padding:0 14px;border-bottom:1px solid #2a2f38;background:#181c22;font-size:14px}.app-header-brand{white-space:nowrap}.app-header-brand .dim{color:#6b7280;font-weight:400}.app-header-name{color:#8b93a1;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-actions{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.app-header-actions button{width:auto;margin-bottom:0;white-space:nowrap}.unit-toggle{display:flex;border:1px solid #333a45;border-radius:6px;overflow:hidden}.unit-toggle button{border:none;border-radius:0;padding:7px 10px}.unit-toggle button+button{border-left:1px solid #333a45}.panel{grid-row:2;overflow-y:auto;padding:14px;border-right:1px solid #2a2f38}.panel--right{border-right:none;border-left:1px solid #2a2f38}.panel h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#8b93a1;margin:18px 0 8px}.panel h2:first-child{margin-top:0}select,button,input[type=text],input[type=number]{width:100%;padding:7px 8px;margin-bottom:6px;background:#1d2229;color:#e8eaed;border:1px solid #333a45;border-radius:6px;font-size:14px;font-family:inherit}select option{background:#1d2229;color:#e8eaed}button{cursor:pointer;text-align:left}button:disabled{opacity:.4;cursor:not-allowed}button.active{background:#3a5fc8;border-color:#3a5fc8}button.danger{color:#ff9aa8;border-color:#5a2c36}button.danger:hover{background:#3a1d22}button:hover:not(:disabled),select:hover{border-color:#4a5261}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid #3a5fc8;outline-offset:1px}.field{display:block;margin-bottom:8px}.field span{display:block;font-size:12px;color:#8b93a1;margin-bottom:3px}.field-input{position:relative}.field-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:#6b7280;pointer-events:none}.field--compact{margin-bottom:0}.dims-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.field-group-label{font-size:12px;color:#6b7280;margin:8px 0 4px}.hint-text{font-size:13px;color:#8b93a1;margin-bottom:6px;line-height:1.4}.node-editor{padding:10px;margin-bottom:4px;background:#1a1e25;border:1px solid #262b34;border-radius:8px}.node-editor .danger{margin-top:4px}.tree{margin-bottom:4px}.tree-node{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:4px;font-size:13px;cursor:pointer;white-space:nowrap}.tree-node:hover{background:#1d2229}.tree-node.selected{background:#3a5fc8;color:#fff}.tree-node span:first-child{overflow:hidden;text-overflow:ellipsis}.tree-node-toggle{width:auto;margin:0 0 0 auto;padding:1px 7px;font-size:11px;flex-shrink:0}.conflict{font-size:13px;padding:6px 8px;border-radius:6px;margin-bottom:6px;line-height:1.4}.conflict.error{background:#3a1d22;border:1px solid #7a2c36;color:#ff9aa8}.conflict.warning{background:#3a331d;border:1px solid #7a682c;color:#ffce9a}.compartido-error-global{margin:10px 16px 0}.compartido-banner{max-width:240px;box-sizing:border-box;margin-top:6px;padding:6px 10px;font-size:13px;line-height:1.4;text-align:center;color:var(--dp-accent);background:var(--dp-accent-soft);border-radius:6px}.compartido-banner .link-btn{font-weight:600}.aviso-solo-lectura-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:12px 14px;font-size:13px;line-height:1.4;color:#fff;background:#2a2740;border-radius:10px;box-shadow:0 12px 30px #14120c59;animation:aviso-solo-lectura-entra .18s ease-out}@keyframes aviso-solo-lectura-entra{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.aviso-solo-lectura-toast .link-btn{flex:none;width:auto;padding:5px 10px;font-weight:600;text-decoration:none;color:#fff;background:#ffffff29;border-radius:6px;white-space:nowrap}.aviso-solo-lectura-toast .link-btn:hover:not(:disabled){background:#ffffff42}.aviso-solo-lectura-toast-cerrar{flex:none;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;background:none;border:none;font-size:16px;line-height:1;color:#ffffffb3}.aviso-solo-lectura-toast-cerrar:hover{color:#fff}table.cutlist{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}table.cutlist th,table.cutlist td{text-align:left;vertical-align:middle;padding:8px 10px;border-bottom:1px solid var(--dp-border)}table.cutlist th{color:#8b93a1;font-weight:500}table.cutlist tbody tr:last-child td{border-bottom:none}.despiece-editable-table .field{margin-bottom:0}.despiece-editable-table .field span:empty{display:none}.despiece-editable-table input,.despiece-editable-table select{width:100%;min-width:0;margin-bottom:0}.despiece-editable-table td.td-etiqueta input,.despiece-editable-table select{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}table.piezas-tabla input[type=checkbox]{accent-color:var(--dp-accent)}.despiece-editable-table{table-layout:fixed}.despiece-editable-table td.td-centrado{text-align:center}.despiece-editable-table tr.fila-pieza-inactiva{opacity:.45}.despiece-editable-table input[type=number]:not(.qty-input):not(.dim-num){padding-right:24px}.dim-combo{display:flex;width:100%;align-items:center;gap:3px;padding:7px 30px 7px 8px;font-size:14px;background:#1d2229;color:#e8eaed;border:1px solid #333a45;border-radius:6px;box-sizing:border-box;cursor:text}.despiece-view .dim-combo,.despiece-view select{background:var(--dp-panel);color:var(--dp-text);border-color:var(--dp-border)}.despiece-editable-table .dim-combo input.dim-num,.pieza-card .dim-combo input.dim-num{min-width:0;flex:none;padding:0;margin:0;border:none;background:transparent;color:inherit;font-variant-numeric:tabular-nums}.dim-num:focus-visible{outline:none;background:#00000014;border-radius:3px}.dim-combo:focus-within{outline:2px solid #3a5fc8;outline-offset:1px}.dim-sep{flex:none;color:var(--dp-text-muted);font-size:12px;cursor:text}.dim-combo .field-suffix{position:static;transform:none;pointer-events:auto;cursor:text}.dim-combo{justify-content:center}.despiece-editable-table input[type=number]::-webkit-outer-spin-button,.despiece-editable-table input[type=number]::-webkit-inner-spin-button,.pieza-card input[type=number]::-webkit-outer-spin-button,.pieza-card input[type=number]::-webkit-inner-spin-button,.material-nuevo-panel input[type=number]::-webkit-outer-spin-button,.material-nuevo-panel input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.despiece-editable-table input[type=number],.pieza-card input[type=number],.material-nuevo-panel input[type=number]{-moz-appearance:textfield}.laminas-grupo{margin:18px 0 8px;text-align:center}.laminas-grupo-titulo{display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;font-weight:700;letter-spacing:.01em;color:var(--dp-text)}.laminas-grupo-titulo svg{flex:none;width:19px;height:19px;color:var(--dp-accent)}.laminas-grupo-subtitulo{margin:3px 0 0;font-size:13px;color:var(--dp-text-muted)}.material-grupo{margin:10px 6px 0;padding:8px 8px 10px;background:var(--dp-accent);border:none;border-radius:10px}.material-grupo-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.material-grupo-nombre{min-width:0;margin:0;padding:2px 0;border:none;background:none;font-size:13px;font-weight:600;color:#fff;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.material-grupo-nombre:hover{color:#ffffffbf}.material-select{position:relative;min-width:0}.material-select-trigger{display:flex;align-items:center;gap:6px;width:auto;max-width:100%;min-width:0;margin:0;padding:6px 10px;background:var(--dp-panel, #1a1d23);border:1px solid var(--dp-border, #2a2f38);border-radius:7px;color:var(--dp-text);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease}.material-select-trigger:hover{border-color:var(--dp-accent)}.material-select-trigger--nuevo{font-weight:400}.material-select-trigger-texto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.material-select-trigger-flecha{flex:none;opacity:.7;transition:transform .15s ease}.material-select-trigger[aria-expanded=true] .material-select-trigger-flecha{transform:rotate(180deg)}.material-select-trigger--desconocido{border-color:var(--dp-bad);color:var(--dp-bad)}input.material-select-trigger--nombre-nuevo{width:auto;max-width:100%;min-width:140px;margin:0;padding:6px 10px;background:var(--dp-panel, #1a1d23);border:1px solid var(--dp-border, #2a2f38);border-radius:7px;color:var(--dp-text);font-size:13px;font-weight:600}input.material-select-trigger--nombre-nuevo:focus{border-color:var(--dp-accent);outline:none}input.material-select-trigger--nombre-nuevo::placeholder{font-weight:400}@keyframes material-input-sacudir{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}input.material-select-trigger--sacudir{border-color:var(--dp-bad);animation:material-input-sacudir .4s ease-in-out}.material-select--texto .material-select-trigger{padding:2px 0;background:none;border:none;border-radius:0;color:var(--dp-text);font-weight:400}.material-select--texto .material-select-trigger:hover{border-color:transparent;color:var(--dp-text-muted)}.material-select--texto .material-select-trigger-flecha{opacity:.85}.laminas-seccion--bodega .material-select--texto .material-select-trigger{color:#fff}.laminas-seccion--bodega .material-select--texto .material-select-trigger:hover{color:#ffffffbf}.material-select-menu{--dp-bg: #eceef8;--dp-panel: #ffffff;--dp-panel-2: #f7f8fd;--dp-border: #e4e6f5;--dp-border-strong: #1e2142;--dp-text: #1b1e30;--dp-text-muted: #898fa8;--dp-text-faint: #b7bbd4;--dp-accent: #6a6ef5;--dp-accent-soft: #edecfe;--dp-accent-2: #2fc2df;--dp-good: #16b897;--dp-good-bg: #e3faf3;--dp-bad: #ef5d78;--dp-bad-bg: #fdeaf0;z-index:70;display:flex;flex-direction:column;gap:1px;min-width:200px;max-width:280px;max-height:280px;overflow-y:auto;padding:6px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:10px;box-shadow:0 12px 32px -8px #00000073;animation:material-select-menu-in .12s ease-out}@keyframes material-select-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.material-select-opcion{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:8px 10px;background:none;border:none;border-radius:6px;color:var(--dp-text);font-size:13.5px;text-align:left;cursor:pointer}.material-select-opcion:hover{background:var(--dp-bg)}.material-select-opcion--activa{color:var(--dp-accent);font-weight:600}.material-select-opcion-check{flex:none;color:var(--dp-accent);visibility:hidden}.material-select-opcion--activa .material-select-opcion-check{visibility:visible}.material-select-opcion-texto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-select-opcion--desconocida{color:var(--dp-bad);cursor:default}.material-select-separador{height:1px;margin:4px 2px;background:var(--dp-border)}.material-select-opcion--agregar{color:var(--dp-accent);font-weight:600}.nuevo-material-popover{min-width:220px;padding:10px;gap:8px}input[type=text].nuevo-material-popover-nombre{width:100%;margin:0;padding:7px 9px;font-size:13.5px;background:var(--dp-bg);border:1px solid var(--dp-border);border-radius:6px;color:var(--dp-text)}.nuevo-material-popover-veta{display:flex;flex-direction:column;gap:6px}.nuevo-material-popover-veta-label{padding:0 1px;font-size:12px;font-weight:600;color:var(--dp-text)}.nuevo-material-popover .material-select-opcion--agregar{justify-content:center;text-align:center;border:1px solid var(--dp-accent);border-radius:6px}.segmented-control{display:flex;border:1px solid var(--dp-border);border-radius:8px;overflow:hidden}.segmented-control-opcion{flex:1;min-width:0;margin:0;padding:7px 6px;background:var(--dp-panel);border:none;border-right:1px solid var(--dp-border);border-radius:0;color:var(--dp-text);font-size:12.5px;font-weight:600;text-align:center;cursor:pointer}.segmented-control-opcion:last-child{border-right:none}@media (hover: hover){.segmented-control-opcion:hover{background:var(--dp-bg)}}.segmented-control-opcion--activa,.segmented-control-opcion--activa:hover{background:var(--dp-accent);color:#fff}.material-grupo .icon-btn-mini{color:#ffffffd9}.material-grupo .icon-btn-mini:hover:not(:disabled){background:#fff3;color:#fff}.material-grupo .veta-toggle-texto{color:#ffffffd9}.material-grupo .veta-toggle-texto:hover{color:#fff}.material-grupo table.cutlist th,.material-grupo table.cutlist td{border-bottom-color:#ffffff40}.material-grupo table.cutlist th{color:#ffffffbf;font-size:12px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;padding-bottom:4px}.laminas-columnas{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}@container despiece-panel (max-width: 820px){.laminas-columnas{grid-template-columns:1fr}}.laminas-seccion{padding:14px 14px 18px;border-radius:14px}@container despiece-panel (min-width: 821px){.laminas-seccion{padding-top:28px}}.laminas-seccion>.laminas-grupo{margin-top:0}.laminas-seccion--bodega{background:var(--dp-panel);border:1px solid var(--dp-border);box-shadow:var(--dp-shadow)}.laminas-seccion--tienda{background:var(--dp-accent);border:none}.laminas-seccion--tienda .laminas-grupo-titulo,.laminas-seccion--tienda .laminas-grupo-titulo svg{color:#fff}.laminas-seccion--tienda .laminas-grupo-subtitulo{color:#fffc}.laminas-seccion--tienda .material-grupo{background:var(--dp-panel);border:1px solid rgba(255,255,255,.35)}.laminas-seccion--tienda .material-grupo-nombre{color:var(--dp-text)}.laminas-seccion--tienda .material-grupo-nombre:hover,.laminas-seccion--tienda .material-grupo-veta,.laminas-seccion--tienda .material-grupo .icon-btn-mini{color:var(--dp-text-muted)}.laminas-seccion--tienda .material-grupo .icon-btn-mini:hover:not(:disabled){background:var(--dp-accent-soft);color:var(--dp-accent)}.laminas-seccion--tienda .material-grupo .veta-toggle-texto{color:var(--dp-text-muted)}.laminas-seccion--tienda .material-grupo .veta-toggle-texto:hover{color:var(--dp-accent)}.laminas-seccion--tienda .material-grupo table.cutlist th,.laminas-seccion--tienda .material-grupo table.cutlist td{border-bottom-color:var(--dp-border)}.laminas-seccion--tienda .material-grupo table.cutlist th{color:var(--dp-text-muted)}.laminas-seccion--tienda .material-grupo--nuevo{background:none;border:none}.laminas-seccion--tienda .material-nuevo-boton{background:#fff;color:var(--dp-accent)}.laminas-seccion--tienda .material-nuevo-boton:hover{background:var(--dp-panel)}.laminas-seccion--tienda .material-nuevo-boton-leyenda,.laminas-seccion--tienda .material-nuevo-boton-flecha{color:#ffffffd9}.help-tip{position:relative;display:inline-flex;vertical-align:middle;margin-left:3px}.despiece-editable-table thead th{padding-top:20px;padding-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--dp-text-muted);border-bottom:1px solid var(--dp-border)}.despiece-editable-table:not(.material-grupo *) thead th{position:sticky;top:var(--piezas-thead-top, 0px);transition:top .2s ease;z-index:3;background:var(--dp-panel)}.despiece-editable-table thead th.th-centrado{text-align:center}.despiece-editable-table thead th.th-recortable{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-grupo table.cutlist th.th-recortable{overflow:visible;text-overflow:clip}table.cutlist th.th-con-ayuda{position:relative}.despiece-editable-table:not(.material-grupo *) thead th.th-con-ayuda{position:sticky}.th-con-ayuda .help-tip{margin:0 4px 0 0;vertical-align:middle}.th-con-ayuda .help-tip-bubble{left:auto;right:0;transform:none}.help-tip-btn{width:13px;height:13px;padding:0;margin:0;border:1px solid currentColor;border-radius:50%;background:none;color:inherit;opacity:.65;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.help-tip-btn:hover{opacity:1}.help-tip-bubble{position:absolute;z-index:20;top:100%;left:50%;transform:translate(-50%);margin-top:5px;width:190px;padding:7px 9px;border-radius:6px;background:var(--dp-text);color:var(--dp-panel);font-size:12px;font-weight:400;text-transform:none;letter-spacing:normal;line-height:1.35;white-space:normal;box-shadow:0 4px 14px #00000040}.tapacanto-picker{display:inline-flex}.tapacanto-picker-popover{position:fixed;z-index:70;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);padding:16px 20px 20px;border-radius:8px;background:#fff;border:1px solid #e4e6f5;box-shadow:0 4px 14px #00000040}.tapacanto-picker-cerrar{position:absolute;top:-8px;right:-8px;z-index:1;width:22px;height:22px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:1px solid #e4e6f5;border-radius:50%;background:#ffffffbf;color:#6b7280;opacity:.7;cursor:pointer}.tapacanto-picker-cerrar:hover{opacity:1;background:#fff;color:#1e2142}.tapacanto-picker-titulo{font-size:12.5px;font-weight:600;color:#1e2142;text-align:center;white-space:nowrap}.tapacanto-picker-popover--grande{padding:20px 26px 26px}.tapacanto-picker-popover--grande .tapacanto-picker-titulo{font-size:15px}.tapacanto-picker-popover--grande .tapacanto-picker-canto-texto{font-size:11px}.tapacanto-picker-popover--grande .tapacanto-picker-cuerpo{margin-top:28px}.tapacanto-picker-cuerpo{display:flex;flex-direction:row;align-items:flex-start;gap:18px;margin-top:24px}.tapacanto-picker-cuadro{position:relative;flex:none;border:1.5px solid #1e2142;border-radius:3px;background:#f7f8fd}.tapacanto-picker-veta{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tapacanto-picker-veta-line{stroke:#3a3527;stroke-width:1;stroke-opacity:.18}.tapacanto-picker-canto{position:absolute;margin:0;padding:0;border:none;border-radius:2px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.tapacanto-picker-canto--arriba,.tapacanto-picker-canto--abajo{left:4px;right:4px;width:auto;height:18px}.tapacanto-picker-canto--arriba{top:-9px}.tapacanto-picker-canto--abajo{bottom:-9px}.tapacanto-picker-canto--izquierda,.tapacanto-picker-canto--derecha{top:4px;bottom:4px;width:18px}.tapacanto-picker-canto--izquierda{left:-9px}.tapacanto-picker-canto--derecha{right:-9px}.tapacanto-picker-canto:hover{background:#6a6ef52e}.tapacanto-picker-canto:after{content:"";position:absolute;background:transparent;border-radius:1px}.tapacanto-picker-canto--arriba:after,.tapacanto-picker-canto--abajo:after{left:-4px;right:-4px;height:5px}.tapacanto-picker-canto--arriba:after{top:50%}.tapacanto-picker-canto--abajo:after{bottom:50%}.tapacanto-picker-canto--izquierda:after,.tapacanto-picker-canto--derecha:after{top:-4px;bottom:-4px;width:5px}.tapacanto-picker-canto--izquierda:after{left:50%}.tapacanto-picker-canto--derecha:after{right:50%}.tapacanto-picker-canto[aria-pressed=true]:after{background:var(--tapacanto-canto-color, #6a6ef5)}.tapacanto-picker-canto[aria-pressed=true]:hover:after{filter:brightness(.85)}.tapacanto-picker-canto-texto{position:absolute;display:block;text-align:center;font-size:9px;font-weight:600;letter-spacing:.01em;line-height:1;color:#4a5578;pointer-events:none;white-space:nowrap}.tapacanto-picker-canto--arriba .tapacanto-picker-canto-texto{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:2px}.tapacanto-picker-canto--abajo .tapacanto-picker-canto-texto{top:100%;left:50%;transform:translate(-50%);margin-top:2px}.tapacanto-picker-canto[aria-pressed=true] .tapacanto-picker-canto-texto{color:#4a5578}.tapacanto-picker-canto-texto--vertical{writing-mode:vertical-rl;top:50%;transform:translateY(-50%) rotate(180deg)}.tapacanto-picker-canto--izquierda .tapacanto-picker-canto-texto--vertical{right:100%;margin-right:2px}.tapacanto-picker-canto--derecha .tapacanto-picker-canto-texto--vertical{left:100%;margin-left:2px}.tapacanto-picker-colores{display:flex;flex-direction:column;gap:6px;width:148px}.tapacanto-picker-popover--grande .tapacanto-picker-colores{width:172px}.tapacanto-picker-colores-titulo{font-size:10.5px;font-weight:600;color:#4a5578;text-transform:uppercase;letter-spacing:.02em}.tapacanto-picker-colores-lista{display:flex;flex-direction:column;gap:2px;max-height:140px;overflow-y:auto}.tapacanto-picker-color-fila{display:flex;align-items:center;gap:2px}.tapacanto-picker-color{display:flex;align-items:center;gap:7px;padding:3px 4px;margin:0;flex:1;min-width:0;border:none;border-radius:4px;background:transparent;cursor:pointer;text-align:left}.tapacanto-picker-color:hover{background:#6a6ef51f}.tapacanto-picker-color-renombrar{flex:none;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:#8a8ec2;cursor:pointer}.tapacanto-picker-color-renombrar:hover{background:#6a6ef51f;color:#5457c9}.tapacanto-picker-color-cuadrito{flex:none;display:flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:3px;border:1.5px solid}.tapacanto-picker-color[aria-pressed=true] .tapacanto-picker-color-cuadrito{border-width:2px}.tapacanto-picker-color-nombre{font-size:11.5px;color:#1e2142;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tapacanto-picker-color-agregar{margin:2px 0 0;padding:5px 6px;border:1px dashed #c7cbee;border-radius:4px;background:transparent;color:#5457c9;font-size:11px;font-weight:600;cursor:pointer;text-align:center}.tapacanto-picker-color-agregar:hover{background:#6a6ef51a;border-color:#6a6ef5}.material-grupo--nuevo{margin:14px 6px 0;padding:10px 0 0;background:none;border:none;border-top:1px dashed var(--dp-border);border-radius:0}.material-nuevo-boton-fila{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 2px}.material-nuevo-boton-leyenda-fila{display:flex;align-items:center;justify-content:flex-end;align-self:flex-start;gap:6px;width:50%}.material-nuevo-boton-leyenda{font-size:11px;text-align:right;color:var(--dp-text-muted)}.material-nuevo-boton-flecha{flex:none;color:var(--dp-text-muted);opacity:.7}.material-nuevo-boton{width:34px;height:34px;margin:0;padding:0;border-radius:50%;border:none;background:var(--dp-accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.material-nuevo-boton svg{display:block}.material-nuevo-boton:hover{background:var(--dp-accent-hover, #2f4ea3)}.material-nuevo-panel{display:flex;flex-direction:column;gap:7px;padding:8px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:8px}.material-nuevo-panel-nombre{display:flex;align-items:center;gap:6px}.material-nuevo-panel-nombre .field{flex:1;min-width:0}.material-nuevo-panel-medida{display:flex;align-items:center;gap:8px}.material-nuevo-panel-medida .qty-input{flex:none;width:56px}.icon-btn-mini--confirmar{color:var(--dp-accent)}.icon-btn-mini--confirmar:hover:not(:disabled){background:var(--dp-accent-soft)}.icon-btn-mini{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:0;padding:0;border:none;border-radius:6px;background:none;color:var(--dp-text-muted);cursor:pointer}.icon-btn-mini:hover:not(:disabled){background:var(--dp-border);color:var(--dp-text)}.icon-btn-mini:disabled{opacity:.35;cursor:default}.icon-btn-mini.active{background:var(--dp-border);color:var(--dp-text)}.icon-btn-mini--quitar:hover:not(:disabled){color:#b3261e;background:#b3261e1f}.veta-toggle{display:inline-flex;align-items:center;gap:4px}.veta-toggle-texto{border:none;background:none;padding:0;margin:0;font:inherit;font-size:12px;color:var(--dp-text-muted);cursor:pointer;white-space:nowrap}.veta-toggle-texto:hover{color:var(--dp-text);text-decoration:underline}.laminas-vacio{padding:7px 9px;margin-bottom:4px;font-size:13px;line-height:1.4;color:var(--dp-text-faint);border:1px dashed var(--dp-border);border-radius:7px}.parcial-aviso{flex:none;margin:0 0 10px;padding:9px 12px;font-size:13px;line-height:1.45;color:var(--dp-bad);background:var(--dp-bad-bg);border:1px solid var(--dp-bad);border-radius:8px}.parcial-aviso-cta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px}.parcial-aviso-cta .optimize-btn{flex:none;padding:7px 16px;font-size:13px}.parcial-cuerpo{display:flex;flex:1 1 auto;min-height:0;gap:16px}.parcial-cuerpo .thumbnails-shell{flex:1 1 auto;min-width:0}@media (max-width: 860px){.parcial-cuerpo{flex-direction:column}}.faltantes{flex:none;margin-top:12px;padding-top:10px;border-top:1px solid var(--dp-border)}.faltantes--compacto{flex:0 0 260px;margin-top:0;padding:10px 12px;border-top:none;border:1px solid var(--dp-border);border-radius:8px;background:var(--dp-panel);overflow-y:auto}@media (max-width: 860px){.faltantes--compacto{flex:none;width:auto}}.faltantes-resumen{font-size:13px;color:var(--dp-text);margin-bottom:8px}.faltantes-resumen span{color:var(--dp-text-muted)}.faltantes-figuras{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px}.faltante-figura{display:flex;flex-direction:column;align-items:center;gap:3px}.faltante-rect{background:var(--dp-bad-bg);border:1px solid var(--dp-bad);border-radius:2px}.faltante-pie{display:flex;gap:4px;font-size:12px;color:var(--dp-text-muted);font-variant-numeric:tabular-nums}.faltante-cant{font-weight:700;color:var(--dp-text)}.faltante-figura--resto{align-self:center;font-size:12px;color:var(--dp-text-faint)}.faltantes-tabla{width:100%;border-collapse:collapse;font-size:13px}.faltantes-tabla th,.faltantes-tabla td{text-align:left;padding:3px 6px;border-bottom:1px solid var(--dp-border)}.faltantes-tabla th{color:var(--dp-text-muted);font-weight:600}.faltantes-tabla td:last-child,.faltantes-tabla th:last-child{text-align:right;font-variant-numeric:tabular-nums}.select--desconocido{border-color:var(--dp-bad)!important;color:var(--dp-bad)!important}.qty-input{width:100%;min-width:50px;background:var(--dp-panel, #1a1d23);border:1px solid var(--dp-border, #2a2f38);border-radius:4px;color:var(--dp-text, #e6e8eb);padding:3px 6px;font-size:13px;text-align:center}.import-textarea{width:100%;box-sizing:border-box;font-family:ui-monospace,monospace;font-size:13px;margin:6px 0;resize:vertical}.history-log{display:flex;flex-direction:column;gap:4px}.history-entry{display:flex;align-items:baseline;gap:6px;font-size:13px;padding:3px 0;line-height:1.3}.history-entry--undone{opacity:.45}.badge{flex-shrink:0;font-size:11px;text-transform:uppercase;letter-spacing:.03em;padding:1px 5px;border-radius:3px;background:#262b34;color:#8b93a1}.badge-ai{background:#2a3a5c;color:#9db4f0}.badge-user{background:#262b34;color:#a8b0bd}.badge-system{background:#3a2e1d;color:#e0b884}.viewer{grid-row:2;position:relative}.viewer-canvas{width:100%;height:100%;display:block}.viewer .hint{position:absolute;bottom:10px;left:14px;font-size:13px;color:#6b7280}.chat-fab{position:fixed;right:24px;bottom:24px;width:48px;height:48px;padding:0;border-radius:50%;font-size:20px;display:flex;align-items:center;justify-content:center;background:#3a5fc8;border-color:#3a5fc8;box-shadow:0 4px 16px #0006;z-index:40}.chat-drawer{position:fixed;right:24px;bottom:84px;width:380px;max-height:min(640px,calc(100vh - 120px));display:flex;flex-direction:column;background:#181c22;border:1px solid #2a2f38;border-radius:12px;box-shadow:0 12px 40px #00000080;z-index:40;overflow:hidden}.chat-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #2a2f38;font-size:14px;font-weight:600}.chat-drawer-header-actions{display:flex;gap:6px}.chat-drawer-header-actions button{width:28px;height:28px;padding:0;margin:0;display:flex;align-items:center;justify-content:center}.chat-settings{padding:10px 12px;border-bottom:1px solid #2a2f38;background:#141820;max-height:300px;overflow-y:auto}.chat-settings textarea{width:100%;padding:7px 8px;background:#1d2229;color:#e8eaed;border:1px solid #333a45;border-radius:6px;font-size:13px;font-family:inherit;resize:vertical}.chat-settings code{background:#262b34;padding:1px 4px;border-radius:3px;font-size:12px}.chat-full-prompt{margin:0;padding:8px;background:#10131810;border:1px solid #262b34;border-radius:6px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#a8b0bd;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto}.chat-messages{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;min-height:120px}.chat-entry{font-size:13px;line-height:1.4;padding:7px 9px;border-radius:8px;max-width:92%}.chat-entry--user{align-self:flex-end;background:#3a5fc8;color:#fff}.chat-entry-edit{width:auto;margin:0 0 0 6px;padding:0;border:0;background:#ffffff2e;color:#fff;border-radius:50%;width:18px;height:18px;font-size:11px;display:inline-grid;place-items:center;vertical-align:middle;opacity:.75}.chat-entry-edit:hover:not(:disabled){opacity:1;background:#ffffff4d}.chat-entry--assistant{align-self:flex-start;background:#1d2229;border:1px solid #262b34}.chat-entry--error{align-self:flex-start;background:#3a1d22;border:1px solid #7a2c36;color:#ff9aa8}.chat-entry--loading{color:#8b93a1;font-style:italic}.chat-entry-meta{margin-top:4px;font-size:12px;color:#8b93a1}.chat-input-row{display:flex;gap:6px;padding:10px 12px;border-top:1px solid #2a2f38}.chat-input-row input{flex:1;margin:0}.chat-input-row button{width:auto;margin:0;padding:7px 14px;text-align:center}.view-tabs{display:flex;gap:4px}.view-tabs button{width:auto;margin:0;padding:6px 13px}.project-title{font-size:18px;margin-bottom:4px}.proyecto-titulo-bloque{display:flex;flex-direction:column;align-items:center;gap:2px}button.project-title{display:block;width:auto;margin:0;padding:0;background:none;border:none;border-radius:0;font-family:inherit;font-weight:700;text-align:center;cursor:default;color:inherit}.proyecto-titulo-lapiz{margin-left:4px;vertical-align:middle;opacity:0;color:var(--dp-text-faint);transition:opacity .12s ease}button.project-title--editable{cursor:pointer}button.project-title--editable:hover .proyecto-titulo-lapiz{opacity:1}.proyecto-titulo-input{width:100%;margin:0;padding:2px 6px;font-size:18px;font-weight:700;font-family:inherit;background:var(--dp-panel);border:1px solid var(--dp-accent);border-radius:6px;color:var(--dp-text)}.proyecto-estado-inline{display:flex;align-items:center;gap:4px}.proyecto-estado-inline .proyecto-menu{width:auto}.proyecto-titulo-caret{flex:none;width:20px;height:20px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:6px;font-size:11px;line-height:1;color:var(--dp-text-faint)}.proyecto-titulo-caret:hover:not(:disabled),.proyecto-titulo-caret.active{background:#0000000a;color:var(--dp-text)}.proyecto-estado-leyenda{position:relative;display:inline-block}.proyecto-estado-btn{display:inline-flex;align-items:center;gap:5px;width:auto;min-width:92px;margin:0;padding:0;background:none;border:none;font-size:12px;color:var(--dp-text-muted)}.proyecto-estado-btn:hover{color:var(--dp-text)}.guardado-icono-oculto{visibility:hidden}.proyecto-estado-btn .guardado-icono{margin-left:0;vertical-align:initial}.proyecto-estado-bubble{position:absolute;top:calc(100% + 4px);left:0;transform:none;width:max-content;max-width:220px}.guardado-icono{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:6px;vertical-align:-2px}.guardado-icono--ocioso{color:var(--dp-text-muted)}.guardado-icono--error,.guardado-icono--sin-acceso{color:#b3261e}.guardado-icono-spin{width:12px;height:12px;border-radius:50%;border:2px solid var(--dp-border);border-top-color:var(--dp-accent);animation:pdf-spin .8s linear infinite}@media (prefers-reduced-motion: reduce){.guardado-icono-spin{animation:none}}.guardado-error-aviso{padding:7px 10px;margin-bottom:8px;background:var(--dp-bad-bg);border:1px solid var(--dp-bad);border-radius:7px;font-size:13px;line-height:1.4;color:#7a2b26}.guardado-error-aviso .link-btn{color:#7a2b26;font-weight:600}.module-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#1d2229;border:1px solid #262b34;border-radius:8px;padding:9px 12px;margin-bottom:6px}.module-row:hover{border-color:#4a5261}.module-row-info{flex:1;min-width:0}.module-row-name{font-weight:600;font-size:14px}.module-row-dim{color:#8b93a1;font-size:13px;font-family:IBM Plex Mono,ui-monospace,Consolas,monospace;margin-top:2px}.module-row-qty{font-family:IBM Plex Mono,ui-monospace,Consolas,monospace;font-size:13px;font-weight:500;background:#262b34;border-radius:6px;padding:3px 9px;flex-shrink:0}.proyectos-view{grid-column:1 / -1;grid-row:2;overflow-y:auto;padding:22px;max-width:720px}.despiece-view{--dp-bg: #eceef8;--dp-panel: #ffffff;--dp-panel-2: #f7f8fd;--dp-border: #e4e6f5;--dp-border-strong: #1e2142;--dp-text: #1b1e30;--dp-text-muted: #898fa8;--dp-text-faint: #b7bbd4;--dp-accent: #6a6ef5;--dp-accent-soft: #edecfe;--dp-accent-2: #2fc2df;--dp-sheet-bg: #ffffff;--dp-offcut-bg: #f0f1fa;--dp-offcut-border: #c7cbe8;--dp-good: #16b897;--dp-good-bg: #e3faf3;--dp-bad: #ef5d78;--dp-bad-bg: #fdeaf0;--dp-shadow: 0 12px 32px -16px rgba(30, 33, 66, .18);flex:1;width:100%;overflow:hidden;padding:22px;display:flex;min-height:0;background:var(--dp-bg);color:var(--dp-text)}.despiece-view ::selection{background:var(--dp-accent-soft);color:var(--dp-text)}.despiece-view .sec{color:var(--dp-text-faint)}.despiece-view .hint-text{color:var(--dp-text-muted)}.despiece-view .project-title{color:var(--dp-text)}.despiece-view .unit-toggle{border-color:var(--dp-border)}.despiece-view .unit-toggle button{background:var(--dp-panel);color:var(--dp-text-muted)}.despiece-view .unit-toggle button:hover{background:var(--dp-panel-2);color:var(--dp-text)}.despiece-view .unit-toggle button+button{border-left-color:var(--dp-border)}.despiece-view .unit-toggle button.active{background:var(--dp-accent);border-color:var(--dp-accent);color:#fff}.despiece-view .proyecto-titulo-seccion{display:flex;justify-content:center;padding-top:22px;margin-top:4px;border-top:1px solid var(--dp-border)}.despiece-view .conflict{background:var(--dp-bad-bg);border-color:var(--dp-bad);color:#7a2b26}.despiece-view .conflict.warning{background:#fdf1dc;border-color:#e2a83c;color:#7a5a12}.despiece-layout{display:grid;grid-template-columns:300px 1fr;gap:18px;grid-template-rows:minmax(0,1fr);width:100%;min-height:0}.despiece-sidebar{display:flex;flex-direction:column;overflow-y:auto;min-height:0;padding:18px 14px;background:var(--dp-panel);border-radius:18px;box-shadow:var(--dp-shadow)}.despiece-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding-top:10px;padding-bottom:22px;margin-bottom:14px;border-bottom:1px solid var(--dp-border);color:var(--dp-text)}.despiece-brand-logo{flex:none;border-radius:16px}.despiece-brand-text{display:flex;flex-direction:column;align-items:center;gap:3px}.despiece-brand-text strong{font-size:18px}.despiece-brand-subtitle{font-size:13px;font-weight:400;line-height:1.35;color:var(--dp-text-faint)}.despiece-nav{display:flex;flex-direction:column;gap:2px;margin:4px 0 18px}.despiece-nav--ajustes{margin-top:auto;margin-bottom:0;padding-top:10px;border-top:1px solid var(--dp-border)}.despiece-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;margin:0;border:1px solid transparent;border-radius:8px;background:none;color:var(--dp-text-muted);font-size:14px;text-align:left;cursor:pointer}.despiece-nav-item svg{flex:none;opacity:.75}.despiece-nav-item:hover{background:#0000000a;color:var(--dp-text)}.despiece-nav-item.active{background:var(--dp-accent-soft);border-color:var(--dp-accent);color:var(--dp-accent);font-weight:600}.despiece-nav-item.active svg{opacity:1}.despiece-nav-count{margin-left:auto;font-size:13px;font-variant-numeric:tabular-nums;color:var(--dp-text-faint)}.despiece-nav-item.active .despiece-nav-count{color:var(--dp-accent)}.despiece-bottombar{display:none}.despiece-bottombar-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:auto;min-height:56px;margin:0;padding:9px 2px 7px;background:none;border:none;border-radius:0;color:var(--dp-text-muted);font-size:10.5px;line-height:1.1}.despiece-bottombar-item svg{opacity:.75}.despiece-bottombar-item.active{background:none;border-color:transparent;color:var(--dp-accent);font-weight:600}.despiece-bottombar-item.active svg{opacity:1}.despiece-view input[type=text],.despiece-view input[type=number]{background:var(--dp-panel);color:var(--dp-text);border-color:var(--dp-border)}.despiece-detail{position:relative;z-index:0;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:20px 18px 24px;background:var(--dp-panel);border-radius:18px;box-shadow:var(--dp-shadow);container-type:inline-size;container-name:despiece-panel}.despiece-detail>.detail-header,.despiece-detail>.ajustes-panel,.despiece-detail>.bound-footer,.despiece-detail>.despiece-detail-empty{flex:none}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.sec.plano-titulo-header{display:flex;align-items:center;gap:10px;margin:0;font-size:21px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--dp-text)}.plano-titulo-header svg{flex:none;color:var(--dp-accent)}.detail-header-acciones{flex:none;display:flex;align-items:center;gap:10px}.stop-optimize-btn{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--dp-bad-bg);border:1px solid transparent;color:var(--dp-bad);z-index:2;pointer-events:auto;box-shadow:0 2px 10px #0000002e}.stop-optimize-btn:hover:not(:disabled){background:var(--dp-bad);color:#fff}.print-btn{flex:none;width:auto;margin-bottom:0;font-weight:600;background:var(--dp-accent);border-color:var(--dp-accent);color:#fff;padding:7px 14px}.pdf-menu{position:relative;flex:none}.pdf-menu-lista{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:240px;display:flex;flex-direction:column;padding:5px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:9px;box-shadow:0 10px 26px #1e1c142e}.pdf-menu-lista button{width:100%;margin:0;display:flex;flex-direction:column;gap:1px;padding:8px 10px;background:none;border:0;border-radius:6px;text-align:left;color:var(--dp-text)}.pdf-menu-lista button:hover:not(:disabled){background:var(--dp-accent-soft);border-color:transparent}.pdf-menu-lista strong{font-size:14px;font-weight:600}.pdf-menu-lista span{font-size:13px;color:var(--dp-text-muted)}.proyecto-menu{position:relative;width:100%}.proyecto-menu-btn .guardado-icono{margin-left:0;vertical-align:initial}.proyecto-menu-lista{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:180px;display:flex;flex-direction:column;padding:5px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:9px;box-shadow:0 10px 26px #1e1c142e}.proyecto-menu-lista button{width:100%;margin:0;padding:8px 10px;background:none;border:0;border-radius:6px;text-align:left;font-size:14px;color:var(--dp-text)}.proyecto-menu-lista button:hover:not(:disabled){background:var(--dp-accent-soft)}.compartir-modal-backdrop{--dp-bg: #eceef8;--dp-panel: #ffffff;--dp-panel-2: #f7f8fd;--dp-border: #e4e6f5;--dp-border-strong: #1e2142;--dp-text: #1b1e30;--dp-text-muted: #898fa8;--dp-text-faint: #b7bbd4;--dp-accent: #6a6ef5;--dp-accent-soft: #edecfe;--dp-accent-2: #2fc2df;--dp-good: #16b897;--dp-good-bg: #e3faf3;--dp-bad: #ef5d78;--dp-bad-bg: #fdeaf0;position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;display:flex;align-items:center;justify-content:center;padding:20px}.compartir-modal{width:360px;max-width:100%;max-height:calc(100vh - 40px);overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:14px;background:var(--dp-panel);border-radius:14px;box-shadow:0 20px 50px #1e1c144d}.compartir-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.compartir-modal-header h3{margin:0;font-size:17px;font-weight:700;color:var(--dp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compartir-modal-decoracion{display:flex;justify-content:center;margin:-2px 0 2px}.compartir-modal-cerrar{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;background:none;border:none;border-radius:7px;font-size:18px;line-height:1;color:var(--dp-text-muted)}.compartir-modal-cerrar:hover{background:var(--dp-border);color:var(--dp-text)}.compartir-modal-selector{display:flex;align-items:center;gap:10px}.compartir-modal-selector-titulo{font-size:14px;font-weight:600;color:var(--dp-text)}.compartir-modal-selector .material-select--texto .material-select-trigger{font-size:14px;font-weight:600;color:var(--dp-accent)}.compartir-modal-selector .material-select--texto .material-select-trigger:hover{text-decoration:underline}.compartir-modal-url{position:relative}.compartir-modal-url input{width:100%;box-sizing:border-box;margin-bottom:0;font-size:13px;padding:8px 76px 8px 10px;border:1px solid var(--dp-border);border-radius:7px;background:var(--dp-bg);color:var(--dp-text-muted)}.compartir-modal-url-copiar{position:absolute;width:auto;top:4px;right:4px;bottom:4px;margin:0;padding:0 10px;border:none;border-radius:5px;background:var(--dp-accent);color:#fff;font-size:12px;font-weight:600}.compartir-modal-leyenda{margin:0;font-size:12px;line-height:1.45;min-height:2.9em;color:var(--dp-text-muted)}.compartir-modal-peligro{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;margin:4px 0 0;padding:12px 0 0;border:none;border-top:1px solid var(--dp-border);border-radius:0;box-shadow:none;background:none;display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:12px;color:var(--dp-text-faint);cursor:pointer}.compartir-modal-peligro:hover:not(:disabled){border-top-color:var(--dp-border)}.compartir-modal-peligro svg{flex:none;width:13px;height:13px}.compartir-modal-peligro:hover{color:var(--dp-bad)}.compartir-modal-link-botones .link-btn{width:auto;padding:6px 12px;text-align:center}.pdf-menu-error{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:max-content;max-width:260px;padding:7px 10px;background:var(--dp-bad-bg);border:1px solid var(--dp-bad);border-radius:7px;font-size:13px;color:#7a2b26}.despiece-dust{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .7s ease}.despiece-dust--running{opacity:1}.despiece-dust:before,.despiece-dust:after{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background-repeat:repeat}.despiece-dust:before{background-image:radial-gradient(circle,rgba(92,78,48,.16) 1.6px,transparent 2.6px),radial-gradient(circle,rgba(92,78,48,.11) 1.3px,transparent 2.2px);background-size:90px 90px,60px 60px;background-position:0 0,30px 45px;animation:despiece-dust-lejos 20s linear infinite}.despiece-dust:after{background-image:radial-gradient(circle,rgba(92,78,48,.24) 2px,transparent 3.2px),radial-gradient(circle,rgba(92,78,48,.15) 1.6px,transparent 2.6px);background-size:120px 120px,70px 70px;background-position:15px 20px,55px 8px;animation:despiece-dust-cerca 12s linear infinite}@keyframes despiece-dust-lejos{0%{transform:translateY(0)}to{transform:translateY(-140px)}}@keyframes despiece-dust-cerca{0%{transform:translateY(0)}to{transform:translateY(-180px)}}@media (prefers-reduced-motion: reduce){.despiece-dust:before,.despiece-dust:after{animation:none}}.despiece-dust-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 38%,#3a5fc847,#3a5fc800 62%);opacity:0;animation:despiece-dust-flash .9s ease-out forwards}@keyframes despiece-dust-flash{0%{opacity:0}14%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.despiece-dust-flash{animation:none;opacity:0}}.despiece-grain-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .1s ease}.despiece-grain-bg--visible{opacity:1}.despiece-grain-bg--v{background-image:repeating-linear-gradient(to right,rgba(92,78,48,.07) 0,rgba(92,78,48,.07) 1px,transparent 1px,transparent 11px)}.despiece-grain-bg--h{background-image:repeating-linear-gradient(to bottom,rgba(92,78,48,.07) 0,rgba(92,78,48,.07) 1px,transparent 1px,transparent 11px)}.pdf-spinner{flex:none;width:14px;height:14px;border-radius:50%;border:2px solid var(--dp-border);border-top-color:var(--dp-accent);animation:pdf-spin .8s linear infinite}@keyframes pdf-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pdf-spinner{animation:none}}.case-list{display:flex;flex-direction:column;gap:8px}.case-list-header,.case-row{display:grid;grid-template-columns:20px minmax(160px,1fr) 150px 150px 84px;align-items:center;gap:16px}.case-list-header{padding:0 16px 6px}.case-list-header-espaciador{grid-column:span 2}.case-list-orden-btn{width:100%;margin:0;padding:2px 4px;background:none;border:none;border-radius:0;color:var(--dp-text-faint);font-size:12px;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.03em}.case-list-orden-btn:hover,.case-list-orden-btn.active{background:none;border-color:transparent;color:var(--dp-text)}.case-list-orden-flecha{margin-left:2px;color:var(--dp-accent)}.case-row-fechas{display:contents}.case-row-fechas span{text-align:center;font-size:12.5px;color:var(--dp-text-muted);white-space:nowrap}.case-row{width:100%;text-align:left;padding:13px 16px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:10px;box-shadow:var(--dp-shadow);cursor:pointer;margin:0;color:var(--dp-text)}.case-row:hover:not(:disabled){border-color:var(--dp-accent)}.case-row--active{border-color:var(--dp-accent);background:var(--dp-accent-soft)}.case-row--demo{border-style:dashed;border-color:var(--dp-accent);background:var(--dp-accent-soft)}.case-row--demo .case-row-icono{opacity:1}.case-row-icono{color:var(--dp-accent);opacity:.75}.case-row-texto{min-width:0}.case-row-name{font-size:14px;font-weight:600;color:var(--dp-text)}.case-row-count{font-weight:400;color:var(--dp-text-muted);font-size:13px;white-space:nowrap}.case-row-compartido{display:inline-block;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:500;color:var(--dp-accent);background:var(--dp-accent-soft);border-radius:999px;white-space:nowrap}.case-row-desc{font-size:13px;color:var(--dp-text-muted);margin-top:3px;line-height:1.4;white-space:normal}.case-row-acciones{display:flex;align-items:center;justify-content:flex-end;gap:6px}.cargar-vista-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.cargar-vista-nuevo{flex:none;width:auto;margin:0;padding:9px 16px;display:inline-flex;align-items:center;gap:7px}@media (max-width: 860px){.case-list-header{display:flex;justify-content:flex-end;padding:0 16px 6px}.case-list-header-espaciador,.case-list-header-acciones-espaciador{display:none}.case-list-header .case-list-orden-btn{width:auto}.case-row{grid-template-columns:20px 1fr auto}.case-row-fechas{display:none}}.filtro-proyectos{width:100%;box-sizing:border-box;padding:6px 9px;margin-bottom:6px;font-size:13px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:8px;color:var(--dp-text)}.despiece-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;text-align:center}.despiece-detail-empty-guiado{flex-direction:column;gap:14px}.despiece-detail-empty-guiado .optimize-btn{width:auto;padding:10px 22px}.despiece-spinner-overlay--estatico{position:relative;inset:auto}.despiece-progress-fill--indeterminado{stroke-dasharray:90 150;transform-origin:center;animation:despiece-spinner-girar 1s linear infinite}@keyframes despiece-spinner-girar{to{transform:rotate(360deg)}}.proyectos-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.sec{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#8b93a1;margin:22px 0 8px}.tab-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;background:transparent;padding:0;margin-bottom:8px;scrollbar-width:thin;scrollbar-color:rgba(20,18,12,.18) transparent}.tab-panel.is-scrolling{scrollbar-color:rgba(20,18,12,.4) transparent}.tab-panel::-webkit-scrollbar{width:7px}.tab-panel::-webkit-scrollbar-track{background:transparent}.tab-panel::-webkit-scrollbar-thumb{background:#14120c2e;border-radius:4px;transition:background .2s ease-out}.tab-panel.is-scrolling::-webkit-scrollbar-thumb{background:#14120c73}.tab-panel::-webkit-scrollbar-thumb:hover{background:#14120c73}.piezas-flecha-flotante{position:sticky;z-index:12;height:0;display:flex;justify-content:center;pointer-events:none;opacity:0;transition:opacity .16s ease}.piezas-flecha-flotante.is-visible{opacity:1}.piezas-flecha-flotante--arriba{padding-top:10px}.piezas-flecha-flotante--abajo{bottom:12px;align-items:flex-end}.piezas-flecha-btn{pointer-events:auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:1px solid var(--dp-border);border-radius:50%;background:var(--dp-panel);color:var(--dp-text-muted);box-shadow:0 3px 12px -3px #14120c59;cursor:pointer;transition:background .15s ease-out,color .15s ease-out,transform .15s ease-out}.piezas-flecha-btn:hover{background:var(--dp-panel-2);color:var(--dp-text)}.piezas-flecha-flotante--arriba .piezas-flecha-btn:hover{transform:translateY(-2px)}.piezas-flecha-flotante--abajo .piezas-flecha-btn:hover{transform:translateY(2px)}.piezas-toolbar{display:flex;flex-direction:column;gap:8px;padding:6px 4px 16px;position:sticky;top:0;z-index:4;background:var(--dp-panel)}.piezas-toolbar-fila{display:flex;align-items:center;justify-content:space-between;gap:8px}.piezas-toolbar-fila--filtro{justify-content:flex-start}.piezas-toolbar-filtro-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.piezas-toolbar-filtro-collapse.is-visible{grid-template-rows:1fr}.piezas-toolbar-filtro-collapse>div{overflow:hidden;min-height:0}.piezas-toolbar-filtro-collapse.is-visible>div{overflow:visible}.piezas-filtro-cerrar-fila{text-align:right;padding:3px 4px 0}.piezas-toolbar-fila--filtro .help-tip-bubble{left:0;transform:none}.piezas-filtro-input-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:center}.piezas-filtro-input{width:100%;min-width:0;padding-right:26px;margin-bottom:0}.piezas-filtro-input:focus{outline-offset:-2px}.piezas-filtro-input-limpiar{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:20px;height:20px}.piezas-toolbar-derecha{display:flex;align-items:center;gap:10px}.piezas-unidad-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:auto;margin:0;padding:2px 0;background:none;border:none;border-radius:0;color:var(--dp-text-muted);font-size:13px;font-weight:600;text-align:center;cursor:pointer}.piezas-unidad-select:hover,.piezas-unidad-select:focus{color:var(--dp-accent)}.piezas-unidad-select:focus-visible{outline:none;text-decoration:underline;text-underline-offset:3px}.piezas-toolbar-iconos{display:flex;align-items:center;gap:6px;flex:none}.piezas-toolbar-iconos .icon-btn-mini{width:30px;height:30px;border-radius:8px}.piezas-toolbar-iconos .icon-btn-mini svg{width:19px;height:19px}.piezas-toolbar .icon-btn-mini.active{color:var(--dp-accent);background:var(--dp-accent-soft)}.piezas-filtro-sin-resultados{padding:16px 8px;text-align:center;color:var(--dp-text-muted);font-size:13px}.piezas-filtro-aviso-ocultas{padding:26px 8px 18px;text-align:center;color:var(--dp-text-muted);font-size:12px}.piezas-filtro-aviso-ocultas>div{text-align:center;margin-bottom:6px}.piezas-filtro-aviso-link{display:inline;width:auto;margin:0;padding:0;border:none;background:none;color:var(--dp-accent);font-size:12px;font-weight:600;text-decoration:underline;cursor:pointer}.piezas-tip-agregar-wrap{position:relative;display:inline-flex}.piezas-tip-agregar{position:absolute;z-index:20;top:100%;left:50%;transform:translate(-50%);margin-top:6px;width:max-content;max-width:160px;padding:7px 9px;border-radius:6px;background:var(--dp-text);color:var(--dp-panel);font-size:12px;font-weight:400;line-height:1.35;text-align:center;box-shadow:0 4px 14px #00000040;pointer-events:none}.switch-field{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--dp-text-muted);cursor:pointer;min-width:0}.switch-field:has(input:disabled){cursor:default;opacity:.55}.switch-toggle{position:relative;flex:none;width:30px;height:17px}.switch-toggle input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.switch-track{display:block;width:100%;height:100%;border-radius:999px;background:var(--dp-border);transition:background .14s ease-out}.switch-thumb{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--dp-panel);box-shadow:0 1px 2px #0000004d;transition:transform .14s ease-out}.switch-toggle input:checked+.switch-track{background:var(--dp-accent)}.switch-toggle input:checked+.switch-track .switch-thumb{transform:translate(13px)}.switch-toggle input:focus-visible+.switch-track{outline:2px solid var(--dp-accent);outline-offset:2px}.fila-borrador input::placeholder{color:var(--dp-text-faint, #b8b2a0)}.fila-borrador--bloqueada .fila-borrador-collapse-inner{pointer-events:none;opacity:.45}.fila-borrador--bloqueada{cursor:pointer}.module-row-open{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;background:none;border:none;padding:0;margin:0}.module-row-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}.resultados-grid{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:4px}.resultados-grid .strategy-row{flex:0 0 240px}.strategy-row{display:flex}.optimize-btn{text-align:center;font-weight:600;background:var(--dp-accent);border-color:var(--dp-accent);color:#fff;padding:10px}.optimize-btn-shell{display:flex;align-items:stretch;width:100%;margin-bottom:6px;border-radius:6px;overflow:hidden;background:var(--dp-accent);border:1px solid var(--dp-accent)}.optimize-btn-shell .optimize-btn{flex:1 1 auto;width:auto;margin-bottom:0;border:none;border-radius:0}.optimize-btn-borrar{flex:none;width:auto;margin:0;padding:0 12px;border:none;border-left:1px solid rgba(255,255,255,.35);border-radius:0;background:transparent;color:#fff;opacity:.85;display:flex;align-items:center;justify-content:center}.optimize-btn-borrar:hover{opacity:1;background:#00000026}.strategy-row{flex-direction:column;align-items:stretch;gap:5px;width:100%;text-align:left;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:8px;padding:10px 12px;margin-bottom:6px;color:var(--dp-text)}.strategy-row--winner{border-color:var(--dp-accent);background:var(--dp-accent-soft)}.strategy-row--open{outline:1px solid var(--dp-border-strong)}.strategy-row{cursor:pointer}.strategy-row:disabled,.strategy-row[aria-disabled=true]{opacity:.7;cursor:default}.resultados-presupuesto{display:flex;flex-wrap:nowrap;align-items:center;gap:6px 8px;margin-top:8px;font-size:12px;color:var(--dp-text-muted);white-space:nowrap}.resultados-presupuesto select{width:auto;margin-bottom:0;font-size:13px}#estrategia-recorrer{flex:1 1 auto;min-width:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#presupuesto-extra{flex:none}.icon-btn{flex:none;width:auto;margin:0;padding:4px 9px;font-size:13px;line-height:1;background:var(--dp-panel);border-color:var(--dp-border);color:var(--dp-text)}.icon-btn:hover:not(:disabled){border-color:var(--dp-accent);color:var(--dp-accent)}.presupuesto-cuenta-regresiva{display:inline-block;min-width:40px;font-variant-numeric:tabular-nums;font-weight:600;color:var(--dp-accent)}.strategy-row-rerun-note{font-size:12px;color:var(--dp-accent)}.strategy-row-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.strategy-row-name{font-weight:600;font-size:14px}.strategy-row-metrics{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;font-size:13px;font-variant-numeric:tabular-nums;color:var(--dp-text-muted)}.strategy-metric-main{font-size:18px;font-weight:700;color:var(--dp-text)}.strategy-row-delta{font-size:13px;color:#8a6a2a}.strategy-row-note{font-size:13px;color:#3a5fc8}.bound-footer{flex:none;text-align:center;font-variant-numeric:tabular-nums;padding:6px 0 0;cursor:help}.link-btn{width:auto;margin:0;padding:0;border:none;background:none;color:var(--dp-accent);text-decoration:underline;font-size:inherit}.link-btn:hover:not(:disabled){color:#24408f}.inline-select{width:auto;margin:0;padding:2px 6px;font-size:inherit;font-family:inherit;border:1px solid var(--dp-border);border-radius:4px;background:var(--dp-panel);color:var(--dp-text)}.inline-select:disabled{opacity:.55}.objective-select{width:100%;margin:0;padding:7px 9px;font-size:14px;font-family:inherit;border:1px solid var(--dp-border);border-radius:6px;background:var(--dp-panel);color:var(--dp-text)}.objective-select:disabled{opacity:.55}.ajustes-btn{flex:none;width:34px;height:34px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:50%;color:var(--dp-text-muted)}.ajustes-btn:hover:not(:disabled){background:#0000000a;color:var(--dp-text)}.ajustes-btn.active{background:var(--dp-accent-soft);color:var(--dp-accent)}.ajustes-panel{margin:8px 0 4px;padding:10px 11px 12px;border:1px solid var(--dp-border);border-radius:8px;background:var(--dp-panel-2)}.ajustes-titulo{margin:0 0 5px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dp-text-muted)}.debug-reporte{margin:4px 0 8px;padding:10px 12px;max-height:320px;overflow:auto;border:1px solid var(--dp-border);border-radius:6px;background:var(--dp-panel);color:var(--dp-text);font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.ajustes-vista{max-width:420px;padding:4px 18px 24px}@container despiece-panel (min-width: 760px){.ajustes-vista{max-width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));column-gap:40px;align-items:start}.ajustes-vista>h2.project-title,.ajustes-vista>.hint-text,.ajustes-vista>h3.ajustes-seccion,.ajustes-vista>.ajustes-mejora,.ajustes-vista>.ajustes-actualizacion{grid-column:1 / -1}}.cargar-vista{width:100%;height:100%;overflow-y:auto;padding:4px 18px 24px}.cargar-vista .filtro-proyectos{margin-bottom:12px}.nuevo-vista{height:100%;display:flex;align-items:flex-start;justify-content:center;padding:88px 32px 32px}.nuevo-vista-form{display:flex;flex-direction:column;align-items:center;gap:36px;width:100%;max-width:640px;text-align:center}.nuevo-vista-icono{display:flex;align-items:center;justify-content:center;width:104px;height:104px;margin-bottom:-40px;border-radius:50%;background:var(--dp-accent-soft)}@media (max-width: 860px){.nuevo-vista{height:100%;overflow-y:auto;align-items:center;padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px))}.nuevo-vista-form{gap:16px}.nuevo-vista-form .login-ilustracion{width:110px;height:75px}.nuevo-vista-form .project-title{font-size:24px}.nuevo-vista-form .hint-text{font-size:14px}.login-boton{padding:13px}}.nuevo-vista-form .project-title{font-size:34px}.nuevo-vista-form .hint-text{max-width:460px;font-size:16px;line-height:1.5}.nuevo-vista-form .field{width:100%;max-width:420px;margin-bottom:0;text-align:left}.nuevo-vista-form .field span{font-size:14px;margin-bottom:6px}.nuevo-vista-form .field input{padding:16px 18px;font-size:18px}.nuevo-vista-form .optimize-btn{width:100%;max-width:420px;padding:17px;font-size:17px;border-radius:10px}.login-boton{display:block;width:100%;max-width:420px;margin:0;padding:17px;border-radius:999px;font-size:16px;font-weight:700;text-align:center}.login-boton--solido{border:none;background:var(--dp-accent);color:#fff}.login-boton--solido:hover:not(:disabled){background:var(--dp-accent-hover, #4d51e0)}.login-boton--solido:disabled{opacity:.6;cursor:default}.login-boton--borde{background:none;border:2px solid var(--dp-accent);color:var(--dp-accent)}.login-boton--borde:hover{background:var(--dp-accent-soft)}.login-social-fila{display:flex;flex-direction:column;gap:10px;width:100%;max-width:400px}.login-social-fila .auth-modal-social{font-size:15px}.login-social-fila:empty,.login-social-fila:empty+.login-separador{display:none}.login-separador{display:flex;align-items:center;gap:10px;width:100%;max-width:420px;color:var(--dp-text-faint);font-size:13px}.login-separador:before,.login-separador:after{content:"";flex:1;height:1px;background:var(--dp-border)}.login-campo{display:flex;flex-direction:column;gap:6px;width:100%;max-width:420px;margin:0;text-align:left;font-size:14px;color:var(--dp-text-muted)}.login-campo input{width:100%;margin:0;padding:16px 22px;border:1px solid var(--dp-border);border-radius:999px;background:var(--dp-panel);color:var(--dp-text);font-size:16px}.login-campo input:focus-visible{outline:none;border-color:var(--dp-accent);box-shadow:0 0 0 3px var(--dp-accent-soft)}.login-cambiar-modo{margin-top:-24px;font-size:13.5px;color:var(--dp-text-muted)}.login-cambiar-modo button{width:auto;margin:0;padding:0;border:none;background:none;color:var(--dp-accent);font-weight:700;text-decoration:underline}.nuevo-vista-gratis{display:flex;align-items:center;gap:4px;margin-top:-28px;font-size:13.5px;font-weight:700;color:var(--dp-good)}.nuevo-vista-materiales{max-width:420px;margin-top:-20px;font-size:12.5px;line-height:1.5;color:var(--dp-text-faint)}.nuevo-vista-demo-link{width:auto;display:block;margin:6px auto 0;padding:0;border:none;background:none;color:var(--dp-text-faint);font-size:12.5px;text-decoration:underline;text-align:center}.nuevo-vista-demo-link:hover{color:var(--dp-accent)}.nuevo-vista-asistente{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:480px;text-align:center}.nuevo-vista-asistente .project-title{font-size:28px}.nuevo-vista-asistente-opciones{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%}.nuevo-vista-asistente-opcion{width:auto;min-width:88px;margin-bottom:0;padding:14px 22px;background:var(--dp-panel-2);border:1px solid var(--dp-border);border-radius:10px;color:var(--dp-text);font-size:16px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.nuevo-vista-asistente-opcion:hover{background:var(--dp-accent-soft);border-color:var(--dp-accent)}.nuevo-vista-confirmacion{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:520px;text-align:center}.nuevo-vista-confirmacion .project-title{font-size:34px;margin-top:4px}.nuevo-vista-confirmacion .hint-text{font-size:16px;line-height:1.5}.nuevo-vista-confirmacion .optimize-btn{margin-top:4px}@media (min-width: 861px){.nuevo-vista-confirmacion{max-width:620px;gap:22px}.nuevo-vista-confirmacion .project-title{font-size:42px}.nuevo-vista-confirmacion .hint-text{font-size:18px}.nuevo-vista-confirmacion .optimize-btn{padding:16px 32px;font-size:18px}}.ajustes-fila{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--dp-border)}.ajustes-fila-etiqueta{font-size:14px;color:var(--dp-text)}.ajustes-fila-etiqueta .hint-text{margin-top:3px;max-width:30ch}.ajustes-fila:has(.ajustes-fila-etiqueta .hint-text){align-items:flex-start}.ajustes-seccion{margin:28px 0 2px;font-size:15px;font-weight:600;color:var(--dp-text)}.ajustes-opcional{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.ajustes-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--dp-muted);white-space:nowrap;cursor:pointer}.ajustes-select{padding:6px 10px;border:1px solid var(--dp-border);border-radius:8px;background:var(--dp-panel);color:var(--dp-text);font-size:14px}@media (max-width: 860px){.ajustes-fila,.ajustes-fila:has(.ajustes-fila-etiqueta .hint-text){flex-direction:column;align-items:stretch}.ajustes-fila-etiqueta .hint-text{max-width:none}.ajustes-select,.ajustes-fila .field,.ajustes-fila .field-input,.ajustes-fila .field-input input{width:100%}.ajustes-opcional{align-items:stretch}}.ajustes-mejora{margin-top:12px;padding-top:16px;border-top:1px solid var(--dp-border);display:flex;flex-direction:column;gap:8px;align-items:flex-start}.ajustes-mejora-texto{width:100%;max-width:520px;padding:8px 10px;border:1px solid var(--dp-border);border-radius:8px;background:var(--dp-panel);color:var(--dp-text);font-size:14px;font-family:inherit;resize:vertical}.ajustes-actualizacion{margin-top:16px;padding-top:14px;border-top:1px solid var(--dp-border)}.ajustes-actualizacion-link{display:inline-flex;align-items:center;gap:7px;color:var(--dp-text-muted);font-size:13px;text-decoration:underline}.ajustes-actualizacion-link:hover:not(:disabled){color:var(--dp-accent)}.ajustes-actualizacion-spinner{width:12px;height:12px;border:2px solid var(--dp-border);border-top-color:var(--dp-accent);border-radius:50%;animation:ajustes-actualizacion-girar .7s linear infinite}@keyframes ajustes-actualizacion-girar{to{transform:rotate(360deg)}}.ajustes-panel .objective-help+.ajustes-titulo{margin-top:12px}.ajustes-kerf-row{display:flex;gap:12px}.motor-row{display:flex;align-items:center;gap:6px}.motor-row button{width:auto;margin:0;padding:4px 10px;font-size:12px;background:var(--dp-panel);border-color:var(--dp-border);color:var(--dp-text)}.motor-row button.active{background:var(--dp-accent-soft);border-color:var(--dp-accent);color:var(--dp-accent)}.ajustes-tabs{display:flex;gap:4px;margin:4px 0 12px;border-bottom:1px solid var(--dp-border)}.ajustes-tabs button{width:auto;margin:0 0 -1px;padding:6px 12px;font-size:12px;background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--dp-text-muted)}.ajustes-tabs button.active{background:none;color:var(--dp-text);border-bottom-color:var(--dp-accent)}.ajustes-tabs button:hover:not(.active){color:var(--dp-text)}.objective-help{margin:6px 0 2px;font-size:12px;line-height:1.45;color:var(--dp-text-muted)}.badge-tier-estable{background:#dcefe1;color:#1f6b3d}.badge-tier-avanzado{background:var(--dp-accent-soft);color:#2a3f80}.badge-tier-exacto{background:#f3e6cf;color:#8a5c1f}.badge-tier-experimental{background:#fbe2e6;color:#a33345}.sheet-view{margin-bottom:18px}.sheet-view-header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px;font-size:14px}.sheet-svg{width:100%;height:auto;display:block;max-height:78vh}.sheet-bg{fill:#fffdf7;stroke:#35322a;stroke-width:6}.sheet-piece{fill:#dbe3ee;stroke:#3b5a9e;stroke-width:4}.sheet-piece--rotated{fill:#fbe9c8;stroke:#a3762a}.plano-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;margin-bottom:16px}@media (max-width: 860px){.plano-widgets{grid-template-columns:repeat(2,1fr)}.plano-widget-optimizacion{order:-2}.plano-widget-aprovechamiento{order:-1}.plano-widget-resultados{grid-column:1 / -1}}.plano-resultado-fila{display:flex;flex:1 1 auto;min-height:0;gap:16px}.plano-resultado-fila .thumbnails-shell{flex:1 1 auto;min-width:0}.plano-widget-ficha{flex:0 0 220px}@media (max-width: 860px){.plano-resultado-fila{flex-direction:column}.plano-resultado-fila .plano-widget-ficha,.parcial-cuerpo .plano-widget-ficha{flex:none;width:100%}}.plano-widget{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:14px;box-shadow:var(--dp-shadow)}.plano-widget-titulo{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dp-text-faint)}.plano-widget .hint-text{margin-bottom:0}.plano-widget-pie{font-size:13px}.plano-widget-material{font-size:13px;font-weight:600;color:var(--dp-text)}.plano-widget-medidas{display:flex;flex-direction:column;gap:6px}.plano-widget-subtitulo{margin-top:10px;margin-bottom:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--dp-text-faint)}.plano-widget-medida{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--dp-text-muted)}.plano-widget-medida-valor{font-variant-numeric:tabular-nums;color:var(--dp-text);font-weight:600}.plano-inline-edit{display:inline-flex;align-items:center;gap:5px;width:auto;margin:0;padding:2px 6px;background:none;border:1px solid transparent;border-radius:6px;color:var(--dp-text);font-weight:600;font-variant-numeric:tabular-nums;font-size:13px}.plano-inline-edit svg{flex:none;opacity:.45}.plano-inline-edit:hover{background:var(--dp-accent-soft);border-color:var(--dp-accent);color:var(--dp-accent)}.plano-inline-edit:hover svg{opacity:1}input[type=number].plano-inline-input{width:78px;margin:0;padding:2px 20px 2px 6px;background:var(--dp-panel);border:1px solid var(--dp-accent);border-radius:6px;color:var(--dp-text);font-weight:600;font-variant-numeric:tabular-nums;font-size:13px;text-align:right}.plano-benchmark-lista{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--dp-text)}.plano-benchmark-lista li{line-height:1.4}.plano-widget-aprovechamiento{align-items:center;text-align:center}.plano-gauge{position:relative;width:92px;height:92px;display:flex;align-items:center;justify-content:center}.plano-gauge-ring{width:100%;height:100%;transform:rotate(-90deg)}.plano-gauge-track{fill:none;stroke:var(--dp-border)}.plano-gauge-fill{fill:none;stroke-linecap:round;transition:stroke-dashoffset .4s ease-out,stroke .2s ease-out}@media (prefers-reduced-motion: reduce){.plano-gauge-fill{transition:none}}.plano-gauge-label{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1.15}.plano-gauge-label strong{font-size:19px;font-variant-numeric:tabular-nums;color:var(--dp-text)}.plano-gauge-label span{font-size:10px;color:var(--dp-text-faint)}.plano-widget-tiempo{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--dp-text)}.plano-esfuerzo{display:flex;flex-direction:column;gap:6px;margin-top:auto}.plano-esfuerzo-track{position:relative;display:grid;grid-template-columns:repeat(3,1fr);height:32px;border:1px solid var(--dp-border);border-radius:999px;transition:background-color .2s ease,border-color .2s ease}.plano-esfuerzo-track--rapido{background:var(--dp-bg)}.plano-esfuerzo-track--normal{background:var(--dp-accent-soft);border-color:var(--dp-accent-soft)}.plano-esfuerzo-track--afondo{background:var(--dp-accent);border-color:var(--dp-accent)}.plano-esfuerzo-knob{position:absolute;top:3px;width:26px;height:26px;border-radius:50%;background:var(--dp-panel);box-shadow:0 1px 3px #1e21424d;transition:left .2s ease;pointer-events:none}@media (prefers-reduced-motion: reduce){.plano-esfuerzo-track,.plano-esfuerzo-knob{transition:none}}.plano-esfuerzo-zona{width:auto;height:100%;margin:0;padding:0;background:none;border:none}.plano-esfuerzo-zona:disabled{cursor:not-allowed}.plano-esfuerzo-labels{display:grid;grid-template-columns:repeat(3,1fr)}.plano-esfuerzo-label{display:inline-flex;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600;text-align:center;color:var(--dp-text-faint)}.plano-esfuerzo-label.active{color:var(--dp-accent)}.plano-esfuerzo-candado{flex:none}.plano-widget-titulo-fila{display:flex;align-items:center;gap:6px}.plano-widget-titulo-grupo{display:flex;align-items:center;gap:6px;min-width:0}.plano-widget-titulo-grupo .plano-widget-titulo{min-width:0}@media (max-width: 860px){.plano-widget-titulo-fila{flex-wrap:wrap}.plano-widget-titulo-fila .badge-nuevo{order:-1;margin-left:auto}.plano-widget-titulo-grupo{flex-basis:100%}}.plano-widget-optimizacion{background:linear-gradient(135deg,var(--dp-accent),var(--dp-accent-2));border-color:transparent;color:#fff}.plano-widget-optimizacion .plano-widget-titulo{color:#ffffffd9}.plano-widget-titulo-chispita{display:flex;flex:none}.plano-widget-optimizacion .badge-nuevo{background:#fff;color:var(--dp-accent)}.plano-widget-optimizacion .help-tip-btn{color:#ffffffd9;border-color:#ffffff80}.plano-widget-optimizacion .imposibles-aviso{background:#fff;color:var(--dp-text)}.plano-widget-optimizacion .plano-widget-tiempo{color:#fff}.plano-widget-optimizacion .optimize-btn{background:#fff;border-color:#fff;color:var(--dp-accent)}.plano-widget-optimizacion .optimize-btn:hover:not(:disabled){background:#ffffffe6}.plano-widget-optimizacion .plano-esfuerzo-track--rapido{background:#ffffff2e;border-color:#ffffff59}.plano-widget-optimizacion .plano-esfuerzo-track--normal{background:#ffffff8c;border-color:#ffffffa6}.plano-widget-optimizacion .plano-esfuerzo-track--afondo{background:#fff;border-color:#fff}.plano-widget-optimizacion .plano-esfuerzo-knob{background:var(--dp-accent)}.plano-widget-optimizacion .plano-esfuerzo-label{color:#ffffffbf}.plano-widget-optimizacion .plano-esfuerzo-label.active{color:#fff}.plano-widget-optimizacion .plano-esfuerzo-candado{color:#ffffffbf}.plano-widget-optimizacion .ia-switch-zona{margin:auto 0}.plano-widget-optimizacion .ia-switch-leyenda{color:#ffffffd9}.plano-widget-optimizacion .ia-switch-track{background:#ffffff47;border-color:#ffffff80}.plano-widget-optimizacion .ia-switch-knob{background:#fff}.plano-widget-optimizacion .ia-switch-text--off{color:#ffffffe6}.badge-nuevo{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;background:var(--dp-accent);color:#fff;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ia-switch-zona{display:flex;flex-direction:column;align-items:center;gap:8px;margin:auto 0}.ia-switch{display:inline-flex;cursor:pointer}.ia-switch input{position:absolute;opacity:0;width:1px;height:1px}.ia-switch-track{position:relative;width:80px;height:34px;border:1px solid var(--dp-border);border-radius:999px;background:var(--dp-bg);transition:background-color .2s ease,border-color .2s ease}.ia-switch input:checked+.ia-switch-track{background:#fff;border-color:#fff}.ia-switch-knob{position:absolute;top:2px;left:2px;width:28px;height:28px;border-radius:50%;background:var(--dp-panel);box-shadow:0 1px 3px #1e21424d;transition:left .2s ease,background-color .2s ease;z-index:1}.ia-switch input:checked+.ia-switch-track .ia-switch-knob{left:50px;background:var(--dp-accent)}.ia-switch-text{position:absolute;top:50%;transform:translateY(-50%);font-size:11px;font-weight:800;letter-spacing:.03em;color:var(--dp-text-muted);transition:opacity .15s ease}.ia-switch-text--on{left:11px;color:var(--dp-accent);opacity:0}.ia-switch-text--off{right:10px;opacity:1}.ia-switch input:checked+.ia-switch-track .ia-switch-text--on{opacity:1}.ia-switch input:checked+.ia-switch-track .ia-switch-text--off{opacity:0}.ia-switch input:focus-visible+.ia-switch-track{outline:2px solid var(--dp-accent);outline-offset:2px}.ia-switch input:disabled+.ia-switch-track{opacity:.6}.ia-switch-leyenda{margin:0;max-width:190px;font-size:12px;line-height:1.35;text-align:center;color:var(--dp-text-muted)}@media (prefers-reduced-motion: reduce){.ia-switch-track,.ia-switch-knob{transition:none}}.pdf-menu-envoltura{position:relative;display:inline-flex}.pdf-menu-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:none;border:none;padding:0;margin:0;cursor:pointer}.thumbnails-shell{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.sheet-thumbnails-grid{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;gap:14px;align-content:start;padding:4px 4px 10px}.despiece-spinner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none}.despiece-progress-backdrop{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:230px;height:230px;background:#0000;mask-image:radial-gradient(circle,black 38%,transparent 72%);-webkit-mask-image:radial-gradient(circle,black 38%,transparent 72%)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.despiece-progress-backdrop{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.despiece-progress-backdrop{background:var(--dp-panel);opacity:.65}}.despiece-progress-ring{position:relative;z-index:1;width:168px;height:168px;opacity:.55;transform:rotate(-90deg)}.despiece-progress-track{fill:none;stroke:var(--dp-border)}.despiece-progress-fill{fill:none;stroke:var(--dp-accent);stroke-linecap:round;transition:stroke-dashoffset .28s linear,stroke-width .2s ease-out}@media (prefers-reduced-motion: reduce){.despiece-progress-fill{transition:none}}.sheet-thumb{position:relative;width:100%;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:8px;padding:6px;margin-bottom:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.sheet-thumb-origen{position:absolute;top:6px;right:6px;z-index:1;display:flex;color:var(--dp-text-muted);filter:drop-shadow(0 0 2px var(--dp-panel)) drop-shadow(0 0 2px var(--dp-panel))}.sheet-thumb-ia{position:absolute;top:6px;left:6px;z-index:1;display:flex;color:var(--dp-accent);filter:drop-shadow(0 0 2px var(--dp-panel)) drop-shadow(0 0 2px var(--dp-panel))}.sheet-thumb-indice{display:none;position:absolute;top:6px;left:6px;z-index:1;color:var(--dp-text-muted);font-size:10px;font-weight:700;line-height:1;filter:drop-shadow(0 0 2px var(--dp-panel)) drop-shadow(0 0 2px var(--dp-panel))}.sheet-thumb:hover{border-color:var(--dp-accent)}.sheet-thumb--ia{border:2px solid transparent;padding:5px;background-image:linear-gradient(var(--dp-panel),var(--dp-panel)),linear-gradient(135deg,var(--dp-accent),var(--dp-accent-2),var(--dp-accent));background-size:100% 100%,300% 300%;background-origin:border-box;background-clip:padding-box,border-box;animation:sheet-thumb-ia-degrade 5s ease-in-out infinite}@keyframes sheet-thumb-ia-degrade{0%,to{background-position:0 0,0% 50%}50%{background-position:0 0,100% 50%}}@media (prefers-reduced-motion: reduce){.sheet-thumb--ia{animation:none}}.sheet-thumb.sheet-thumb--ia:hover{border-color:transparent;box-shadow:0 0 0 3px var(--dp-accent-soft)}.sheet-thumb-svg{width:100%;aspect-ratio:1.3;display:block}.sheet-thumb-bg{fill:#fffdf7;stroke:#6b6656;stroke-width:8}.sheet-thumb-piece{fill:#dbe3ee;stroke:#00000059;stroke-width:3}.sheet-thumb-label{font-size:11px;color:var(--dp-text-muted);font-variant-numeric:tabular-nums}.sheet-thumbnails-grid--md .sheet-thumb-label,.sheet-thumbnails-grid--lg .sheet-thumb-label{font-size:13px;font-weight:600;color:var(--dp-text)}.sheet-thumb-util{font-weight:400;color:var(--dp-text-muted)}.sheet-lightbox{--dp-bg: #eae5d8;--dp-panel: #fbfaf5;--dp-panel-2: #f1ecdf;--dp-border: #d6cfba;--dp-border-strong: #35322a;--dp-text: #262319;--dp-text-muted: #6c6656;--dp-text-faint: #96907a;--dp-accent: #3a5fc8;--dp-accent-soft: #e1e8fb;--dp-sheet-bg: #fffdf7;--dp-offcut-bg: #e1dccb;--dp-offcut-border: #8f8770;--dp-good: #2f8f4e;--dp-good-bg: #e3f2e7;--dp-bad: #c1443c;--dp-bad-bg: #fbe9e6;position:fixed;top:0;left:0;right:0;z-index:200;background:#14120ceb;display:flex;flex-direction:column;height:100vh;height:100dvh}.sheet-lightbox-bar{flex:none;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));color:#f2efe6}.sheet-lightbox-counter{font-size:14px;font-variant-numeric:tabular-nums;font-weight:600}.sheet-lightbox-close{width:auto;margin:0;padding:6px 11px;background:#ffffff1a;border:1px solid rgba(255,255,255,.25);color:#f2efe6;border-radius:6px;font-size:16px;line-height:1;cursor:pointer}.sheet-lightbox-close:hover{background:#ffffff2e}.sheet-lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:44px;height:44px;margin:0;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#f2efe6;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.sheet-lightbox-arrow:hover:not(:disabled){background:#ffffff38}.sheet-lightbox-arrow:disabled{opacity:.25;cursor:default}.sheet-lightbox-arrow--left{left:16px}.sheet-lightbox-arrow--right{right:16px}.sheet-lightbox-swipe-hint{display:none;position:relative;flex:none;height:20px;align-items:center;justify-content:center;color:#f2efe673}.sheet-lightbox-swipe-hint-btn{position:absolute;top:-10px;right:0;bottom:-10px;left:0;display:flex;align-items:center;justify-content:center;background:none;border:none;margin:0;padding:0;color:inherit;cursor:pointer}.sheet-lightbox-swipe-hint-btn:hover,.sheet-lightbox-swipe-hint-btn:active{color:#f2efe6d9}.sheet-lightbox-scroller{flex:1 1 auto;min-height:0;display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}.sheet-lightbox-scroller::-webkit-scrollbar{display:none}.sheet-lightbox-filmstrip{flex:none;display:flex;align-items:flex-end;gap:8px;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));overflow-x:auto;scrollbar-width:thin}.sheet-lightbox-filmstrip-item{flex:none;width:64px;opacity:.55;border-radius:8px;transition:opacity .15s ease}.sheet-lightbox-filmstrip-item:hover{opacity:1}.sheet-lightbox-filmstrip-preview{position:fixed;bottom:92px;z-index:2;transform:translate(-50%);pointer-events:none;filter:drop-shadow(0 10px 24px rgba(0,0,0,.55))}.sheet-lightbox-filmstrip-item--activo{opacity:1;outline:2px solid var(--dp-accent);outline-offset:2px}.sheet-lightbox-filmstrip .sheet-thumb{cursor:pointer}.sheet-lightbox-filmstrip .sheet-thumb-label{display:none}.sheet-lightbox-filmstrip .sheet-thumb-indice{display:block}.sheet-lightbox-filmstrip .sheet-thumb-origen,.sheet-lightbox-filmstrip .sheet-thumb-indice{top:2px}.sheet-lightbox-filmstrip .sheet-thumb-origen{right:2px}.sheet-lightbox-filmstrip .sheet-thumb-indice{left:2px}.sheet-lightbox-slide{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;padding:8px 56px 24px;overflow:auto}.sheet-lightbox-slide .sheet-view-header{display:none}.sheet-lightbox-content{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;height:100%}.sheet-lightbox-content--row{flex-direction:row}.sheet-lightbox-content--column{flex-direction:column}.sheet-lightbox-content--column .sheet-view{width:100%;flex:1 1 auto;min-height:0;margin-bottom:0;display:flex;justify-content:center}.sheet-lightbox-content--row .sheet-view{flex:0 0 auto;min-width:0}.sheet-lightbox-slide .sheet-svg{max-height:82vh;max-height:82dvh}.sheet-lightbox-content--row .sheet-svg{height:82vh;height:82dvh;width:auto;max-width:calc(100vw - 390px)}.sheet-lightbox-content--column .sheet-svg{height:100%;width:auto;max-width:100%;max-height:none}.sheet-lightbox-info{flex:none;display:flex;gap:14px;background:#fbfaf5;border:1px solid #d6cfba;border-radius:10px;padding:14px 16px;color:#262319}.sheet-lightbox-content--row .sheet-lightbox-info{width:220px;flex-direction:column;align-items:flex-start;max-height:82vh;max-height:82dvh;overflow-y:auto}.sheet-lightbox-content--column .sheet-lightbox-info{width:100%;max-width:480px;flex-direction:row;flex-wrap:wrap;justify-content:space-around}.sheet-lightbox-info-origen{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding-bottom:10px;margin-bottom:2px;border-bottom:1px solid #d6cfba;font-size:14px;font-weight:600;color:#262319}.sheet-lightbox-info-origen-texto{display:flex;align-items:center;gap:6px;flex-shrink:0}.sheet-lightbox-info-material{font-size:13px;font-weight:400;color:#6b6552;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sheet-lightbox-info-stat{display:flex;flex-direction:column;gap:2px;min-width:0}.sheet-lightbox-info-value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.sheet-lightbox-info-value--sm{font-size:16px;text-transform:capitalize}.sheet-lightbox-info-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#6c6656}.sheet-lightbox-info-conteo{font-weight:700;font-variant-numeric:tabular-nums;color:#262319;text-transform:none;letter-spacing:normal}.sheet-lightbox-info-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.sheet-lightbox-info-chip{font-size:12px;font-variant-numeric:tabular-nums;color:#6c6656;border:1px solid #d6cfba;border-radius:5px;padding:2px 6px}.sheet-lightbox-info-desbloquear{display:flex;flex-direction:column;gap:8px;width:100%;padding-bottom:12px;margin-bottom:2px;border-bottom:1px solid #d6cfba}.sheet-lightbox-info-desbloquear .hint-text{margin:0}.sheet-lightbox-info-desbloquear .optimize-btn{align-self:flex-start}@media (max-width: 860px){.sheet-lightbox-arrow{display:none}.sheet-lightbox-swipe-hint{display:flex;height:14px}.sheet-lightbox-scroller{flex-direction:column;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory}.sheet-lightbox-slide{padding:8px 14px 20px}.sheet-lightbox-content{gap:10px}.sheet-lightbox-content--column .sheet-lightbox-info{gap:8px;padding:10px 14px}.sheet-lightbox-info-origen{font-size:13px}.sheet-lightbox-info-material{padding-bottom:6px;font-size:12px}.sheet-lightbox-info-value{font-size:17px}.sheet-lightbox-info-value--sm{font-size:13px}.sheet-lightbox-info-label{font-size:10.5px}.sheet-lightbox-info-chips{margin-top:2px}}@media (max-width: 860px){.detail-header{flex-direction:column;align-items:flex-start;gap:8px}.detail-header-acciones{width:100%;flex-wrap:wrap;row-gap:8px}.despiece-view .icon-btn-mini:not(table *){width:36px;height:36px}}.sheet-offcut{fill:#fafafa;stroke:#999;stroke-width:2.5;stroke-dasharray:18 12}.sheet-offcut-label{fill:#666;text-anchor:middle;dominant-baseline:middle;font-family:system-ui,sans-serif;font-weight:700;letter-spacing:.03em}.sheet-offcut-dim{font-weight:400;letter-spacing:normal;fill:#888}.strategy-row-offcuts{font-size:13px;color:#3f7350}.sheet-label,.sheet-dim{fill:#24221c;text-anchor:middle;dominant-baseline:middle;font-family:system-ui,sans-serif}.sheet-dim{fill:#5c5646}.price-total{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;margin:4px 0 10px}.qty-btn{width:26px;height:26px;padding:0;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:6px}.panel-details summary{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#8b93a1;padding:4px 0 10px;list-style:none}.panel-details summary::-webkit-details-marker{display:none}.panel-details summary:before{content:"▸ "}.panel-details[open]>summary:before{content:"▾ "}.piezas-cards{display:none;flex-direction:column;gap:10px;padding:4px 2px 16px}@keyframes pieza-card-entrada{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}.pieza-card-collapse{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .35s ease,opacity .3s ease;animation:pieza-card-entrada .22s ease-out}.pieza-card-collapse.pieza-card-colapsada{grid-template-rows:0fr;opacity:0}.pieza-card-collapse-inner{overflow:hidden;min-height:0}.pieza-card{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--dp-panel-2);border:1px solid var(--dp-border);border-radius:12px}.pieza-card--inactiva{opacity:.55;border-color:var(--dp-bad)}.pieza-card-top{display:flex;align-items:flex-start;gap:8px}.pieza-card-etiqueta{flex:1 1 auto;min-width:0}.pieza-card-etiqueta .field{margin-bottom:0}.pieza-card-etiqueta input{font-size:15px;font-weight:700}.pieza-card-menu{position:relative;flex:none}.pieza-card-menu-btn{width:auto;display:flex;align-items:center;justify-content:center;padding:5px;margin:0;background:none;border:none;border-radius:6px;color:var(--dp-text-muted)}.pieza-card-menu-btn:hover{background:var(--dp-bg);color:var(--dp-text)}.pieza-card-menu-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:20;display:flex;flex-direction:column;min-width:168px;padding:4px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:8px;box-shadow:0 8px 24px -8px #0006}.pieza-card-menu-pop button{width:auto;margin:0;padding:8px 10px;background:none;border:none;border-radius:6px;color:var(--dp-text);font-size:13.5px;text-align:left}.pieza-card-menu-pop button:hover{background:var(--dp-bg)}.pieza-card-menu-danger{color:var(--dp-danger, #d94b4b)}.pieza-card-material-row{display:flex;align-items:center;gap:10px}.pieza-card-dato--tapacanto .tapacanto-picker .icon-btn-mini,.pieza-card-pie .tapacanto-picker .icon-btn-mini{width:34px;height:34px;border-radius:50%;background:var(--dp-bg)}.pieza-card-material-select{flex:1 1 auto;min-width:0}.pieza-card-material-select .field{margin-bottom:0}.pieza-card-estado{position:relative;flex:none;margin-left:auto}.pieza-card-estado-pill{width:auto;display:inline-flex;align-items:center;gap:4px;flex:none;margin:0;padding:4px 8px 4px 10px;background:var(--dp-bad-bg);border:none;border-radius:999px;color:var(--dp-bad);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;cursor:pointer}.pieza-card-estado-pill svg{flex:none;opacity:.7}.pieza-card-estado-pill--activo{background:var(--dp-good-bg);color:var(--dp-good)}.pieza-card-estado-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:20;display:flex;flex-direction:column;min-width:130px;padding:4px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:8px;box-shadow:0 8px 24px -8px #0006}.pieza-card-estado-dropdown--arriba{top:auto;bottom:calc(100% + 4px)}.pieza-card-estado-dropdown button{width:auto;margin:0;padding:8px 10px;background:none;border:none;border-radius:6px;color:var(--dp-text);font-size:13.5px;text-align:left}.pieza-card-estado-dropdown button:hover{background:var(--dp-bg)}.pieza-card-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pieza-card-datos{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-top:8px;border-top:1px solid var(--dp-border)}.pieza-card-dato{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none}.pieza-card-dato .qty-input{width:56px;text-align:center}.pieza-card-dato-titulo{color:var(--dp-text-faint);font-size:12.5px}.pieza-card-dato-titulo--izquierda{align-self:flex-start}.pieza-card-tapacanto-suelto{display:flex;align-items:center;gap:6px;color:var(--dp-text-faint);font-size:12.5px}.pieza-card-material-suelto{flex:1 1 auto;min-width:0}.pieza-card-material-suelto .field{margin-bottom:0}.pieza-card-pie{display:flex;align-items:center;gap:10px;padding-top:4px}.pieza-card-meta-label{flex:none;color:var(--dp-text-faint);font-size:12.5px}.pieza-card-meta-valor{flex:none}.pieza-card-meta-valor .qty-input{width:56px;margin-bottom:0;text-align:right}.pieza-card--borrador{border-style:dashed;gap:8px}.pieza-card--borrador>input[type=text]{font-size:15px;font-weight:700}.pieza-card--borrador .dim-combo{justify-content:flex-start}@media (max-width: 860px){input,select,textarea{font-size:16px!important}#root{display:block;height:auto;min-height:100vh;padding-top:env(safe-area-inset-top,0px)}body{overflow-x:hidden}.app-header{flex-wrap:wrap;height:auto;padding:8px 10px;row-gap:8px;position:relative;z-index:50}.app-header-name{display:none}.app-header-actions{margin-left:0;width:100%;overflow-x:auto;padding-bottom:2px}.viewer{height:42vh;min-height:240px}.panel,.panel--right{height:auto;overflow-y:visible;border:none;border-top:1px solid #2a2f38;padding:10px 14px}.panel-details summary{cursor:pointer}.proyectos-view{max-width:100%;padding:14px}.despiece-view{min-height:100vh;min-height:100dvh;padding:14px;overflow:visible;flex-direction:column;background:linear-gradient(135deg,var(--dp-accent),var(--dp-accent-2))}.despiece-layout{flex:1 1 auto;min-height:0;grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start;gap:0;width:auto;margin:-14px -14px 0;padding:16px 14px calc(58px + env(safe-area-inset-bottom,0px));background:var(--dp-panel);border-radius:20px 20px 0 0;box-shadow:var(--dp-shadow)}.despiece-sidebar,.despiece-detail{overflow-y:visible;padding:0;background:none;border-radius:0;box-shadow:none}.despiece-sidebar nav.despiece-nav{display:none}.despiece-brand{display:none}.despiece-mobile-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:calc(-14px - env(safe-area-inset-top,0px)) -14px 14px;padding:calc(16px + env(safe-area-inset-top,0px)) 16px 16px}.despiece-mobile-header-marca{display:flex;align-items:center;gap:8px;min-width:0}.despiece-mobile-header-marca img{flex:none;width:56px;height:56px}.despiece-mobile-header-marca strong{overflow:hidden;color:#fff;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.despiece-mobile-header-acciones{display:flex;flex:none;align-items:center;gap:8px}.despiece-mobile-header-icono{display:flex;flex:none;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff38;color:#fff}.despiece-mobile-header-icono:hover{background:#ffffff57}.despiece-mobile-header-icono .despiece-cuenta-avatar{width:27px;height:27px;background:#fff;color:var(--dp-accent);font-size:13px}.despiece-mobile-header-icono .despiece-cuenta-avatar--vacio{border-color:transparent;background:#ffffffe6;color:var(--dp-accent)}.proyecto-titulo-seccion .proyecto-titulo-bloque{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;row-gap:2px;column-gap:8px}.despiece-view .proyecto-titulo-seccion{justify-content:flex-start;padding-top:0;margin-top:0;margin-bottom:12px;border-top:none}.proyecto-titulo-seccion .project-title{font-size:14px;font-weight:500;color:var(--dp-text-muted)}.proyecto-titulo-seccion .proyecto-titulo-lapiz{opacity:.7}.despiece-bottombar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--dp-panel);border-top:1px solid var(--dp-border);box-shadow:0 -4px 16px -8px #1e214226}table.piezas-tabla{display:none}.piezas-cards{display:flex}.laminas-tabla-scroll{overflow-x:auto}.laminas-tabla-scroll table.despiece-editable-table{width:max-content;min-width:100%;table-layout:auto}.laminas-tabla-scroll .dim-combo{width:max-content;min-width:100%}.piezas-flecha-flotante{display:none}.piezas-titulo-fila{display:flex;align-items:center;justify-content:space-between;gap:10px}.piezas-toolbar-menu-mobile{position:relative;flex:none}.piezas-toolbar-menu-mobile-pop{min-width:220px;gap:2px}.piezas-toolbar-menu-mobile-pop .switch-field{padding:8px 10px}.piezas-toolbar-menu-mobile-unidad{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--dp-border);color:var(--dp-text-muted);font-size:13px}.piezas-toolbar-menu-mobile-unidad select{width:auto;margin:0;padding:4px 6px}.chat-fab{right:14px;bottom:14px}.chat-drawer{right:0;left:0;bottom:0;top:var(--header-h);width:100%;max-height:calc(100vh - var(--header-h));border-radius:0}}@media (min-width: 861px){.panel-details summary{cursor:default;pointer-events:none}}.printable{display:none}.sheet-grain-note{font-size:12px;color:#8a5c1f;letter-spacing:.04em}.sheet-grain-line{stroke:#3a3527;stroke-width:4}.sheet-grain-note--none{color:var(--dp-text-muted)}.sheet-grain-fill{stroke-opacity:.22;pointer-events:none}@media (max-width: 860px){.sheet-grain-fill{stroke-opacity:.06}}.sheet-banding-edge{stroke:#a3384a;stroke-width:8;stroke-linecap:square}.sheet-banding{fill:#a3384a;font-family:system-ui,sans-serif;font-weight:700}@media print{:root,body{background:#fff;color:#000}body>*:not(#root),.app-header,.chat-fab,.chat-drawer,.panel,.viewer,.proyectos-view>.body>*:not(.printable),.despiece-sidebar,.despiece-detail>*:not(.printable),.objective-select,.objective-help,.plano-widgets,.ajustes-panel,.optimize-btn,.strategy-row,.sec,.link-btn,.project-title{display:none!important}#root{display:block!important;height:auto!important}.proyectos-view{max-width:none!important;padding:0!important;overflow:visible!important}.despiece-view,.despiece-layout,.despiece-detail{display:block!important;max-width:none!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:none!important}.printable{display:block!important;color:#000}.printable,.printable *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-page{page-break-after:always;break-after:page;position:relative;min-height:175mm}.print-page:last-child{page-break-after:auto;break-after:auto}.print-parcial{border:3px solid #000;padding:10px 12px;margin-bottom:12px;page-break-inside:avoid;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-parcial-titulo{font-size:15px;font-weight:800;letter-spacing:.02em;margin-bottom:4px}.print-parcial-texto{font-size:11px;line-height:1.45;margin-bottom:8px}.print-parcial-tabla{width:100%;border-collapse:collapse;font-size:10px}.print-parcial-tabla th,.print-parcial-tabla td{border:1px solid #000;padding:2px 5px;text-align:left}.print-parcial-tabla th{font-weight:700}.print-parcial-tabla td:last-child,.print-parcial-tabla th:last-child{text-align:right;font-variant-numeric:tabular-nums}.print-kicker{font-size:10pt;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#666;margin-bottom:1mm}.print-title h1{font-size:26pt;font-weight:800;margin:0 0 6mm;letter-spacing:-.01em}.print-meta{border-collapse:collapse;font-size:10pt;margin-bottom:6mm}.print-meta th{text-align:left;color:#555;font-weight:500;padding:1mm 6mm 1mm 0;white-space:nowrap}.print-meta td{padding:1mm 0}.print-section-title{font-size:11pt;font-weight:700;border-bottom:1.5px solid #000;padding-bottom:1mm;margin:6mm 0 3mm;break-after:avoid}.print-bars{display:flex;flex-direction:column;gap:1.2mm;font-size:9pt}.print-bar-row{display:flex;align-items:center;gap:2mm}.print-bar-label{width:18mm;color:#333}.print-bar-track{position:relative;flex:1;height:4mm;background:#eee;border:.5px solid #bbb;display:block}.print-bar-fill{display:block;height:100%;background:#555}.print-bar-offcut-block{position:absolute;top:0;height:100%}.print-bar-waste{position:absolute;top:0;height:100%;background:repeating-linear-gradient(45deg,#c2c2c2 0,#c2c2c2 .5mm,transparent .5mm,transparent 1.3mm)}.print-bar-legends{display:flex;flex-direction:row;gap:8mm;margin-top:1.5mm}.print-bar-legend{display:flex;align-items:center;gap:1.5mm;font-size:7.5pt;color:#555}.print-bar-legend-swatch{display:flex;width:6mm;height:3mm;border:.5px solid #999;background:#eee;flex-shrink:0;overflow:hidden}.print-bar-legend-swatch--bloques span{flex:1}.print-bar-legend-swatch--bloques span:nth-child(odd){background:#bcbcbc}.print-bar-legend-swatch--bloques span:nth-child(2n){background:#dedede}.print-bar-legend-swatch--rayado{background:repeating-linear-gradient(45deg,#c2c2c2 0,#c2c2c2 .5mm,transparent .5mm,transparent 1.3mm),#eee}.print-bar-value{width:12mm;text-align:right;font-variant-numeric:tabular-nums}.print-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:6mm}.print-total-panel{flex:0 0 auto;display:flex;flex-direction:row;align-items:center;gap:1.5mm}.print-total-panel .print-section-title{margin:0;padding-bottom:0;border-bottom:none;white-space:nowrap}.print-donut{width:42mm;height:42mm}.print-donut-pct{font:700 6.5px Arial,sans-serif;fill:#000}.print-bars-panel{margin-bottom:3mm}.print-bars-layout{display:flex;gap:5mm;align-items:flex-start}.print-bars-main{flex:1;min-width:0}.print-mini-thumbs{flex:0 0 52mm;display:grid;grid-template-columns:repeat(3,1fr);gap:2mm}.print-mini-thumb-wrap{position:relative}.print-mini-thumb{display:block;width:100%;aspect-ratio:1 / 1;border:.5px solid #bbb;background:#fff}.print-mini-thumb-bg{fill:#fff}.print-mini-thumb-piece{fill:#ddd;stroke:#999;stroke-width:3}.print-mini-thumb-num{position:absolute;top:.5mm;left:.5mm;min-width:3mm;padding:0 .6mm;background:#ffffffd9;border:.4px solid #999;font-size:6pt;font-weight:700;line-height:1.5;text-align:center;color:#333}.print-cover-top{display:flex;flex-wrap:wrap;gap:10mm;align-items:start;margin-bottom:3mm}.print-cover-panel{flex:1 1 60mm;min-width:55mm}.print-groups{column-count:2;column-gap:8mm}.print-sheet-group{break-inside:avoid;page-break-inside:avoid;margin-bottom:4mm;background:#f7f7f7;padding:0 1.5mm 1.5mm}.print-sheet-group-title{font-size:9.5pt;font-weight:600;background:#eaeaea;padding:1.2mm 2mm;border-left:3px solid #000;margin:0 -1.5mm}.sheet-view-header{color:#000;font-size:10pt;margin-bottom:2mm}.sheet-view-header .hint-text{display:inline!important;color:#333}.sheet-grain-note{color:#000;border:1px solid #000;padding:.4mm 1.5mm}.sheet-svg{background:#fff}.print-page--plano{height:186mm;overflow:hidden;display:flex;flex-direction:column}.print-page--plano .sheet-view{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.print-page--plano .sheet-svg{flex:1 1 auto;min-height:0;height:auto}.print-cliente{font-weight:700}.sheet-bg{fill:#fff;stroke:#000;stroke-width:7}.sheet-piece{stroke-width:3}.sheet-grain-line{stroke:#666;stroke-width:5}.sheet-grain-fill{stroke-opacity:.45}.sheet-grain-note--none{color:#000;border:1px solid #000;padding:.4mm 1.5mm}.sheet-label,.sheet-dim{fill:#000}.sheet-banding-edge{stroke:#000;stroke-width:9}.sheet-banding{fill:#000}.print-cutlist{display:table!important;width:100%;margin-top:3mm;font-size:8.5pt;color:#000}.print-cutlist th{color:#000;border-bottom:1.5px solid #000;padding:1mm 2mm 1mm 0}.print-cutlist td{border-bottom:.5px solid #ccc;color:#000;padding:.8mm 2mm .8mm 0}.print-col-swatch{width:6mm}.print-swatch{display:inline-block;width:3.5mm;height:3.5mm;border:1px solid #666;border-radius:1px;vertical-align:middle}.print-banding td{font-variant-numeric:tabular-nums;font-weight:700}.print-note{font-size:7.5pt;color:#666;margin-top:1.5mm;max-width:130mm}.print-offcuts{font-size:9pt;color:#000;margin-top:2mm}.print-offcut-chip{display:inline-block;border:.5px solid #999;padding:.6mm 1.6mm;margin:0 1.2mm 1.2mm 0;font-variant-numeric:tabular-nums}@page{size:landscape;margin:12mm}}.admin-panel{max-width:900px;height:100%;overflow-y:auto;padding:4px 18px 24px}.admin-panel-tabs{display:flex;align-items:flex-end;gap:3px;margin:14px 0 0;padding:8px 8px 0;background:var(--dp-bg);border-radius:10px 10px 0 0;flex-wrap:wrap}.admin-panel-tab{width:auto;padding:9px 16px;border:none;border-radius:9px 9px 0 0;background:var(--dp-panel-2);color:var(--dp-text-muted);font-size:13px;font-weight:500;cursor:pointer;position:relative;top:3px;transition:background-color .12s ease,color .12s ease,top .12s ease}.admin-panel-tab:hover:not(.admin-panel-tab--activa){color:var(--dp-text);background:var(--dp-panel);top:1px}.admin-panel-tab--activa{background:var(--dp-panel);color:var(--dp-text);font-weight:600;top:0;box-shadow:0 -1px 4px #1414280f}.admin-panel-content{background:var(--dp-panel);border-radius:0 10px 10px;padding:18px}.admin-panel-errores{display:flex;flex-direction:column;gap:10px;margin-top:8px}.admin-panel-error-tarjeta{background:var(--dp-panel);border-radius:10px;box-shadow:var(--dp-shadow);padding:12px 16px;display:flex;flex-direction:column;gap:4px}.admin-panel-error-cabecera{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.admin-panel-error-contador{flex:none;font-size:12px;font-weight:600;color:var(--dp-text-muted);white-space:nowrap}.admin-panel-error-stack{margin:6px 0 0;padding:8px 10px;background:var(--dp-panel-2);border-radius:6px;font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto}.admin-panel-stats{display:flex;gap:14px;margin:16px 0 18px}.admin-panel-stat{display:flex;flex-direction:column;gap:2px;padding:12px 18px;background:var(--dp-panel);border-radius:12px;box-shadow:var(--dp-shadow)}.admin-panel-stat strong{font-size:22px;font-variant-numeric:tabular-nums}.admin-panel-stat span{font-size:12px;color:var(--dp-text-muted);text-transform:uppercase;letter-spacing:.04em}.admin-panel-mantenimiento{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:14px 18px;margin-bottom:18px;background:color-mix(in srgb,var(--dp-ok, #2e9e5b) 8%,var(--dp-panel));border:1px solid color-mix(in srgb,var(--dp-ok, #2e9e5b) 35%,transparent);border-radius:14px}.admin-panel-mantenimiento.activo{background:color-mix(in srgb,var(--dp-danger, #d94b4b) 9%,var(--dp-panel));border-color:color-mix(in srgb,var(--dp-danger, #d94b4b) 40%,transparent)}.admin-panel-mantenimiento-mensaje{width:100%;max-width:420px}.admin-panel-caja{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:14px 18px;margin-bottom:18px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:14px;width:100%;box-sizing:border-box}.admin-panel-caja.aviso{background:color-mix(in srgb,var(--dp-danger, #d94b4b) 9%,var(--dp-panel));border-color:color-mix(in srgb,var(--dp-danger, #d94b4b) 40%,transparent)}.admin-panel-lista-ip{display:flex;flex-wrap:wrap;gap:8px}.admin-panel-ip-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;background:var(--dp-panel);border:1px solid var(--dp-border);font-size:12px;font-variant-numeric:tabular-nums}.admin-panel-ip-chip button{width:auto;margin:0;padding:2px 6px;font-size:11px;background:none;border:none;color:var(--dp-text-muted);cursor:pointer}.admin-panel-ip-chip button:hover{color:var(--dp-accent)}.admin-panel-actividad-fila{display:flex;gap:12px;align-items:center;font-size:12px;font-variant-numeric:tabular-nums;color:var(--dp-text-muted)}.admin-panel-releases{display:flex;flex-direction:column;gap:6px;width:100%}.admin-panel-release-fila{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;flex-wrap:wrap}.admin-panel-release-fila.actual{background:color-mix(in srgb,var(--dp-ok, #2e9e5b) 10%,transparent)}.admin-panel-version-fila{display:flex;align-items:center;gap:10px;width:100%}.admin-panel-version-fila input{max-width:220px}.admin-panel-tabla-shell{overflow-x:auto;background:var(--dp-panel);border-radius:14px;box-shadow:var(--dp-shadow);padding:6px 18px}.admin-panel-tabla select{width:auto;margin:0;padding:5px 8px;font-size:13px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:6px;color:var(--dp-text)}.admin-panel-fila-acciones{display:flex;gap:8px}.admin-panel-fila-acciones button{width:auto;margin:0;padding:5px 10px;font-size:12px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:6px;color:var(--dp-text-muted)}.admin-panel-fila-acciones button:hover:not(:disabled){border-color:var(--dp-accent);color:var(--dp-accent)}.admin-panel-fila-acciones button.danger{color:var(--dp-bad)}.admin-panel-fila-acciones button.danger:hover:not(:disabled){background:var(--dp-bad-bg);border-color:var(--dp-bad)}.admin-panel-cortesia-activa{display:flex;align-items:center;gap:8px}.admin-panel-cortesia-chip{padding:3px 9px;background:var(--dp-accent-soft);border-radius:999px;font-size:12px;font-weight:600;color:var(--dp-accent);white-space:nowrap}.admin-panel-cortesia-activa button{width:auto;margin:0;padding:4px 9px;font-size:12px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:6px;color:var(--dp-text-muted)}.admin-panel-cortesia-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.admin-panel-meses-input{width:48px;margin:0;padding:4px 6px;font-size:12px;text-align:center;font-variant-numeric:tabular-nums;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:6px;color:var(--dp-text)}.admin-panel-cortesia-form button{width:auto;margin:0;padding:4px 9px;font-size:12px;white-space:nowrap;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:6px;color:var(--dp-text-muted)}.admin-panel-cortesia-form button:hover:not(:disabled){border-color:var(--dp-accent);color:var(--dp-accent)}.cuenta-vista{max-width:860px;padding:4px 18px 24px}.cuenta-cabecera{display:flex;align-items:center;gap:14px;margin-bottom:20px}.cuenta-avatar-grande{flex:none;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--dp-accent);color:#fff;font-size:20px;font-weight:700}.cuenta-cabecera .project-title{margin:0}.cuenta-tarjetas{display:grid;grid-template-columns:1fr;gap:16px}@container despiece-panel (min-width: 700px){.cuenta-tarjetas{grid-template-columns:1fr 1fr;align-items:start}}.cuenta-tarjeta{padding:18px 20px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:12px;box-shadow:var(--dp-shadow)}.cuenta-tarjeta-titulo{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--dp-text)}.cuenta-tarjeta .hint-text{margin-bottom:12px}.cuenta-tarjeta .field{max-width:none}.cuenta-submit{margin-top:6px}.cuenta-plan-fila{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cuenta-plan-badge{padding:3px 12px;border-radius:999px;background:var(--dp-bg);color:var(--dp-text-muted);font-size:13px;font-weight:700}.cuenta-plan-badge--pago{background:var(--dp-accent-soft);color:var(--dp-accent)}.cuenta-pw-ok{color:var(--dp-good)}.suscripcion-selector{display:flex;flex-direction:column;gap:12px;margin-top:4px}.suscripcion-planes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.suscripcion-plan{position:relative;display:flex;flex-direction:column;gap:2px;padding:20px 12px 14px;background:var(--dp-panel);border:1.5px solid var(--dp-border);border-radius:12px;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s ease,background .15s ease}.suscripcion-plan:hover{border-color:var(--dp-accent)}.suscripcion-plan--activo{border-color:var(--dp-accent);background:var(--dp-accent-soft)}.suscripcion-plan-etiqueta{position:absolute;top:-9px;left:50%;transform:translate(-50%);padding:2px 10px;border-radius:999px;background:var(--dp-accent);color:#fff;font-size:10.5px;font-weight:800;white-space:nowrap}.suscripcion-plan-titulo{font-size:13px;font-weight:600;color:var(--dp-text-muted)}.suscripcion-plan-precio{font-size:19px;font-weight:800;color:var(--dp-text)}.suscripcion-plan-sufijo{font-size:12px;font-weight:600;color:var(--dp-text-muted)}.suscripcion-legal{font-size:11.5px;color:var(--dp-text-muted);line-height:1.4}.cuenta-cerrar-sesion{margin-top:20px;padding-top:16px;border-top:1px solid var(--dp-border)}.cuenta-peligro{margin-top:20px;padding:16px 20px;background:var(--dp-bad-bg);border:1px solid rgba(239,93,120,.35);border-radius:12px}.cuenta-peligro-titulo,.cuenta-peligro-link{color:var(--dp-bad)}.cuenta-peligro-link:hover:not(:disabled){color:#c23a54}.cuenta-peligro-acciones{display:flex;align-items:center;gap:14px;margin-top:4px}.cuenta-peligro-boton{width:auto;margin:0;padding:10px 18px;border:none;border-radius:8px;background:var(--dp-bad);color:#fff;font-weight:700;font-size:14px}.cuenta-peligro-boton:hover:not(:disabled){background:#c23a54}.cuenta-peligro-boton:disabled{opacity:.6;cursor:default}.despiece-cuenta-fila{display:flex;align-items:center;gap:10px;padding:8px 12px;color:var(--dp-text-muted);font-size:13px}.despiece-cuenta-avatar{flex:none;width:24px;height:24px;border-radius:50%;background:var(--dp-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.despiece-cuenta-avatar--vacio{background:var(--dp-bg);color:var(--dp-text-faint);border:1px solid var(--dp-border)}.despiece-cuenta-email{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;display:flex;align-items:center;justify-content:center;background:#14141e73}.auth-modal{position:relative;width:340px;max-width:calc(100vw - 32px);padding:26px 22px 22px;background:var(--dp-panel);border-radius:16px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;gap:4px}.auth-modal-cerrar{position:absolute;top:12px;right:12px;width:26px;height:26px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;color:var(--dp-text-muted)}.auth-modal-cerrar:hover{background:#0000000f;color:var(--dp-text)}.auth-modal-motivo{margin:0 26px 14px 0;font-size:14px;font-weight:600;color:var(--dp-text)}.auth-modal-tabs{display:flex;gap:6px;margin-bottom:10px}.auth-modal-tabs button{flex:1;width:auto;margin:0;padding:8px 6px;background:var(--dp-bg);border:1px solid var(--dp-border);border-radius:8px;font-size:13px;font-weight:600;color:var(--dp-text-muted)}.auth-modal-tabs button.active{background:var(--dp-accent-soft);border-color:var(--dp-accent);color:var(--dp-accent)}.auth-modal input{width:100%;margin:0;padding:8px 10px;background:var(--dp-panel);border:1px solid var(--dp-border);border-radius:8px;color:var(--dp-text);font-size:14px;font-family:inherit}.auth-modal-social-fila{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.auth-modal-social{width:100%;height:40px;margin:0;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:8px;background:#000;border:none;border-radius:999px;color:#fff;font-size:14px;font-weight:600}.auth-modal-social:disabled{opacity:.6}.auth-modal-social-fila:empty+.auth-modal-separador{display:none}.auth-modal-separador{display:flex;align-items:center;gap:10px;margin:8px 0 12px;color:var(--dp-text-faint);font-size:12px}.auth-modal-separador:before,.auth-modal-separador:after{content:"";flex:1;height:1px;background:var(--dp-border)}.auth-modal .optimize-btn{margin-top:6px}.auth-modal-upgrade{display:flex;flex-direction:column;gap:12px}.auth-modal-ia-elegir{display:flex;flex-direction:column;gap:8px}.auth-modal-secundario{background:none;border:1px solid #d0d0d5;border-radius:8px;padding:9px 14px;font-size:13px;color:#444;cursor:pointer}.auth-modal-secundario:hover{background:#f5f5f7}.sheet-cota{stroke:#8a8a8a;fill:none;stroke-linecap:butt}.sheet-cota-ext{stroke:#bbb;fill:none}.sheet-cota-texto{fill:#777;font-family:system-ui,sans-serif;font-weight:400;letter-spacing:.02em;text-anchor:middle}.despiece-view .despiece-editable-table:not(.material-grupo *) input,.despiece-view .despiece-editable-table:not(.material-grupo *) select,.despiece-view .despiece-editable-table:not(.material-grupo *) .dim-combo{border-color:transparent;background:transparent;outline:none}.despiece-view .despiece-editable-table:not(.material-grupo *) input:not(.dim-num):hover,.despiece-view .despiece-editable-table:not(.material-grupo *) input:not(.dim-num):focus,.despiece-view .despiece-editable-table:not(.material-grupo *) select:hover,.despiece-view .despiece-editable-table:not(.material-grupo *) select:focus,.despiece-view .despiece-editable-table:not(.material-grupo *) .dim-combo:hover,.despiece-view .despiece-editable-table:not(.material-grupo *) .dim-combo:focus-within{border-color:transparent;background:#3a5fc814;outline:none}.piezas-cards .pieza-card:not(.pieza-card--borrador) input,.piezas-cards .pieza-card:not(.pieza-card--borrador) select,.piezas-cards .pieza-card:not(.pieza-card--borrador) .dim-combo{border-color:transparent;background:transparent;outline:none}.piezas-cards .pieza-card:not(.pieza-card--borrador) input:not(.dim-num):hover,.piezas-cards .pieza-card:not(.pieza-card--borrador) input:not(.dim-num):focus,.piezas-cards .pieza-card:not(.pieza-card--borrador) select:hover,.piezas-cards .pieza-card:not(.pieza-card--borrador) select:focus,.piezas-cards .pieza-card:not(.pieza-card--borrador) .dim-combo:hover,.piezas-cards .pieza-card:not(.pieza-card--borrador) .dim-combo:focus-within{border-color:transparent;background:#3a5fc814;outline:none}.despiece-view .despiece-editable-table:not(.material-grupo *) tbody tr td{border-bottom:none}.despiece-view .despiece-editable-table:not(.material-grupo *) tbody tr.fila-impar{background:var(--dp-panel)}.despiece-view .despiece-editable-table:not(.material-grupo *) tbody tr.fila-par{background:var(--dp-panel-2)}@keyframes fila-pieza-entrada{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}.fila-pieza-collapse{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .35s ease,opacity .3s ease;animation:fila-pieza-entrada .22s ease-out}tr.fila-pieza-colapsada .fila-pieza-collapse{grid-template-rows:0fr;opacity:0}.fila-pieza-collapse-inner{overflow:hidden;min-height:0}@keyframes fila-borrador-entrada{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}.fila-borrador-collapse{display:grid;grid-template-rows:1fr;animation:fila-borrador-entrada .5s ease-out}.fila-borrador-collapse--sin-animar{animation:none}.fila-borrador-collapse-inner{overflow:hidden;min-height:0}.imposibles-aviso{margin:10px 0 12px;padding:10px 12px;border:1px solid var(--dp-danger, #d94b4b);border-left-width:3px;border-radius:8px;background:color-mix(in srgb,var(--dp-danger, #d94b4b) 7%,transparent);font-size:13px;color:var(--dp-text)}.imposibles-aviso ul{margin:8px 0 0;padding-left:18px}.imposibles-aviso li{margin-bottom:3px}.faltante-imposible{color:var(--dp-danger, #d94b4b);font-weight:600}.admin-seccion{margin:32px 0 2px;font-size:15px;font-weight:600;color:var(--dp-text)}.admin-panel-telegram-acciones{display:flex;gap:10px;margin-top:4px}.admin-panel-telegram-acciones button{width:auto}.predictor-cifras{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 6px}.predictor-cifra{flex:1 1 180px;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--dp-border);border-radius:10px;background:var(--dp-panel)}.predictor-cifra-valor{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--dp-text)}.predictor-cifra-etq{font-size:13px;color:var(--dp-text)}.predictor-cifra--bien{border-color:color-mix(in srgb,var(--dp-ok, #2e9e5b) 40%,transparent)}.predictor-cifra--bien .predictor-cifra-valor{color:var(--dp-ok, #2e9e5b)}.predictor-cifra--mal{border-color:color-mix(in srgb,var(--dp-danger, #d94b4b) 40%,transparent)}.predictor-cifra--mal .predictor-cifra-valor{color:var(--dp-danger, #d94b4b)}.predictor-periodo{margin-bottom:4px}.predictor-bloque{margin-top:20px}.predictor-bloque h4{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--dp-text)}.predictor-tabla{width:100%;margin-top:8px;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.predictor-tabla th{text-align:left;font-weight:500;color:var(--dp-muted);padding:4px 8px 4px 0;border-bottom:1px solid var(--dp-border)}.predictor-tabla td{padding:5px 8px 5px 0;border-bottom:1px solid var(--dp-border)}.predictor-dim{color:var(--dp-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-right:4px}.predictor-fila-sin-victorias td{color:var(--dp-muted)}.predictor-vacio{margin-top:14px}.mantenimiento-pantalla{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#eceef8;z-index:1000;padding:24px}.mantenimiento-caja{max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 32px;background:#fff;border-radius:18px;box-shadow:0 8px 30px #1b1e301f;color:#1b1e30}.mantenimiento-icono{font-size:40px}.mantenimiento-caja h1{font-size:20px;margin:0;color:#1b1e30}.mantenimiento-caja p{color:#5a5f7a;margin:0}.mantenimiento-caja button{margin-top:8px;padding:10px 20px;border:none;border-radius:10px;background:#4c4fe0;color:#fff;font-weight:600;cursor:pointer}.mantenimiento-caja button:disabled{opacity:.6;cursor:default}.etiquetas-config{width:380px}.etiquetas-config-grupo{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:6px}.etiquetas-config-grupo legend{padding:0;margin-bottom:4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dp-text-muted)}.etiquetas-config-opcion{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid var(--dp-border);border-radius:8px;cursor:pointer}.etiquetas-config-opcion:hover{background:var(--dp-accent-soft)}.etiquetas-config-opcion:has(input:checked){border-color:var(--dp-accent);background:var(--dp-accent-soft)}.etiquetas-config-opcion:focus-within{outline:2px solid var(--dp-accent);outline-offset:1px}.etiquetas-config-opcion input{margin:2px 0 0;flex:none}.etiquetas-config-opcion-texto{display:flex;flex-direction:column;gap:1px}.etiquetas-config-opcion-texto strong{font-size:14px;font-weight:600;color:var(--dp-text)}.etiquetas-config-opcion-texto span{font-size:12.5px;color:var(--dp-text-muted)}.etiquetas-config-acciones{display:flex;justify-content:flex-end;align-items:center;gap:10px}.plano-motor{display:flex;justify-content:center;gap:4px;margin-top:6px}.plano-motor-opcion{border:1px solid var(--dp-border, rgba(127, 127, 127, .35));background:transparent;color:var(--dp-text-faint);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600;cursor:pointer}.plano-motor-opcion.active{color:var(--dp-text);border-color:currentColor}.plano-motor-opcion:disabled{opacity:.5;cursor:default}.anytime-mejor{position:absolute;top:calc(50% + 96px);left:50%;transform:translate(-50%);z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px;max-width:min(92%,420px);padding:6px 12px;border-radius:10px;background:var(--dp-panel);box-shadow:0 1px 6px #0000002e;font-size:12px;line-height:1.4;text-align:center}.anytime-mejor__titulo{width:100%;font-weight:600}.anytime-mejor__laminas{font-weight:600}.anytime-mejor__cert{font-weight:600;color:var(--dp-ok, #1e7a3c)}.anytime-mejor__prov{width:100%;opacity:.7;font-style:italic}
