/* Yellow ERP v51.144 · Optimizador de corte
   Sistema visual oficial: tarjetas principales sin contorno y sombra hacia la izquierda;
   campos grises sin borde; selectores internos sin sombra. */
#cutOptimizer,
#cutOptimizer *{box-sizing:border-box}
#cutOptimizer.page{padding-bottom:122px}
#cutOptimizer .co-root{
  margin:0!important;
  padding:18px 14px 8px 22px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#050505!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#cutOptimizer .co-root::before,
#cutOptimizer .co-root::after{display:none!important;content:none!important}
#cutOptimizer>.card>h2.app-section-title,
#cutOptimizer .co-root>h2.app-section-title{
  margin:0 0 12px!important;
  font-size:32px!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
  font-weight:950!important;
}
#cutOptimizer .co-root>h2.app-section-title::after{
  content:"";
  display:block;
  width:88px;
  height:6px;
  margin-top:8px;
  border-radius:999px;
  background:#f6c400;
  box-shadow:2px 2px 0 #e0b400;
}
#cutOptimizer .co-root>.accent-line{display:none}
#cutOptimizer .co-intro{
  margin:0 0 18px;
  padding:14px 16px;
  border:0;
  border-radius:18px;
  background:#f4f4f4;
  color:#333;
  font-size:15px;
  line-height:1.32;
  font-weight:780;
}

/* Tarjeta principal oficial: sin borde negro y sombra hacia la izquierda. */
#cutOptimizer .co-step,
#cutOptimizer .co-step.yy-card-main{
  position:relative!important;
  isolation:isolate!important;
  margin:20px 0 30px 0!important;
  padding:22px!important;
  border:0!important;
  outline:0!important;
  border-radius:28px!important;
  background:#fff!important;
  color:#050505!important;
  box-shadow:-7px 8px 0 #050505!important;
  overflow:visible!important;
}
#cutOptimizer .co-step::before,
#cutOptimizer .co-step::after{display:none!important;content:none!important}
#cutOptimizer .co-step-head{display:flex;align-items:flex-start;gap:12px;margin:0 0 17px}
#cutOptimizer .co-step-head>span{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:68px;
  min-height:34px;
  padding:6px 10px;
  border:2px solid #050505;
  border-radius:999px;
  background:#f6c400;
  color:#050505;
  font-size:12px;
  line-height:1;
  font-weight:950;
  letter-spacing:.02em;
}
#cutOptimizer .co-step-head>div{min-width:0}
#cutOptimizer .co-step-head h3{margin:0;color:#050505;font-size:22px;line-height:1.08;font-weight:950;letter-spacing:-.02em}
#cutOptimizer .co-step-head p{margin:5px 0 0;color:#555;font-size:14px;line-height:1.3;font-weight:760}

#cutOptimizer .co-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#cutOptimizer .co-grid.co-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
#cutOptimizer .co-machine-dimensions{margin-top:14px}
#cutOptimizer .co-piece-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
#cutOptimizer .co-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0!important}
#cutOptimizer .co-field>span,
#cutOptimizer .co-label,
#cutOptimizer .co-section-label{
  display:block;
  color:#050505;
  font-size:16px;
  line-height:1.15;
  font-weight:950;
  text-transform:none;
  letter-spacing:.01em;
}
#cutOptimizer .co-section-label{margin:17px 0 9px}
#cutOptimizer .co-field small{display:block;color:#707070;font-size:12px;line-height:1.3;font-weight:750}

/* Campos oficiales: fondo gris claro, sin borde ni sombra. */
#cutOptimizer input:not([type="checkbox"]),
#cutOptimizer select,
#cutOptimizer textarea{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:56px!important;
  margin:0!important;
  padding:12px 16px!important;
  border:0!important;
  outline:0!important;
  border-radius:18px!important;
  background:#f4f4f4!important;
  color:#050505!important;
  font:inherit!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:900!important;
  box-shadow:none!important;
}
#cutOptimizer textarea{min-height:100px!important;resize:vertical}
#cutOptimizer input:not([type="checkbox"]):focus,
#cutOptimizer select:focus,
#cutOptimizer textarea:focus{
  border:0!important;
  background:#f4f4f4!important;
  box-shadow:0 0 0 3px rgba(246,196,0,.22)!important;
}
#cutOptimizer input:disabled{opacity:.6}
#cutOptimizer input[type="file"]{padding:10px 12px!important;font-size:14px!important}
#cutOptimizer input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 auto;
  width:28px!important;
  min-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #050505!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:none!important;
  position:relative;
}
#cutOptimizer input[type="checkbox"]:checked{background:#f6c400!important}
#cutOptimizer input[type="checkbox"]:checked::after{
  content:"";
  position:absolute;
  left:8px;
  top:4px;
  width:7px;
  height:13px;
  border:solid #050505;
  border-width:0 3px 3px 0;
  transform:rotate(45deg);
}
#cutOptimizer .co-unit-wrap{position:relative;min-width:0}
#cutOptimizer .co-unit-wrap input{padding-right:58px!important}
#cutOptimizer .co-unit-wrap em{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:#666;
  font-size:14px;
  font-style:normal;
  font-weight:950;
  pointer-events:none;
}

/* Tarjetas seleccionables oficiales: sin sombra; activa amarilla con borde negro. */
#cutOptimizer .co-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}
#cutOptimizer .co-card-row.co-card-row-four{grid-template-columns:repeat(3,minmax(0,1fr))}
#cutOptimizer .co-choice{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block;
  width:100%!important;
  min-width:0!important;
  min-height:84px!important;
  margin:0!important;
  padding:14px!important;
  border:2px solid #e4e4e4!important;
  border-radius:22px!important;
  background:#fff!important;
  color:#050505!important;
  box-shadow:none!important;
  text-align:left!important;
  transform:none!important;
  outline:none!important;
}
#cutOptimizer .co-choice b{display:block;color:#050505;font-size:17px;line-height:1.1;font-weight:950;letter-spacing:-.01em}
#cutOptimizer .co-choice span{display:block;margin-top:6px;color:#333;font-size:13px;line-height:1.25;font-weight:780}
#cutOptimizer .co-choice.active{
  background:#f6c400!important;
  border:3px solid #050505!important;
  box-shadow:none!important;
  transform:none!important;
}
#cutOptimizer .co-choice.active span{color:#050505!important}
#cutOptimizer .co-choice:focus{outline:3px solid rgba(246,196,0,.35)!important;outline-offset:2px!important}
#cutOptimizer .co-quantity-mode{margin-bottom:12px}

/* Filas informativas y controles internos planos: sin cajas dentro de cajas. */
#cutOptimizer .co-switch{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  margin:12px 0 0!important;
  padding:14px 16px;
  border:0!important;
  border-radius:18px;
  background:#f4f4f4;
  box-shadow:none!important;
}
#cutOptimizer .co-switch>span{display:flex;flex-direction:column;gap:4px;min-width:0}
#cutOptimizer .co-switch b{color:#050505;font-size:16px;line-height:1.18;font-weight:950}
#cutOptimizer .co-switch small{color:#5f5f5f;font-size:12px;line-height:1.3;font-weight:750}
#cutOptimizer .co-material-limit{margin-top:14px;padding:0;border:0!important;border-radius:0;background:transparent;box-shadow:none!important}
#cutOptimizer .co-material-limit>.co-switch{margin:0!important}
#cutOptimizer .co-material-limit-fields{margin-top:12px}
#cutOptimizer .co-hidden{display:none!important}
#cutOptimizer .co-inline-note,
#cutOptimizer .co-auto-quantity-note{
  margin:12px 0 0;
  padding:12px 14px;
  border:0!important;
  border-radius:18px;
  background:#f4f4f4;
  color:#444;
  font-size:13px;
  line-height:1.32;
  font-weight:780;
  box-shadow:none!important;
}
#cutOptimizer .co-inline-note b,
#cutOptimizer .co-auto-quantity-note b{color:#050505;font-weight:950}
#cutOptimizer .co-auto-quantity-note{display:flex;flex-direction:column;gap:3px;margin-top:0}
#cutOptimizer .co-machine-note{margin-top:12px}
#cutOptimizer .co-file-box{
  margin-top:12px;
  padding:14px;
  border:0!important;
  border-radius:18px;
  background:#f4f4f4;
  color:#555;
  font-size:14px;
  line-height:1.35;
  font-weight:780;
  box-shadow:none!important;
}
#cutOptimizer .co-file-box.ready{background:#f6c400;color:#050505}

#cutOptimizer .co-form-actions{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:10px;margin-top:16px}
#cutOptimizer .co-form-actions button,
#cutOptimizer .co-main-actions button{
  width:100%!important;
  min-height:56px!important;
  margin:0!important;
  border:2.5px solid #050505!important;
  border-radius:19px!important;
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:950!important;
  box-shadow:4px 4px 0 #050505!important;
}
#cutOptimizer .co-form-actions .primary-btn,
#cutOptimizer .co-main-actions .primary-btn{background:#f6c400!important;color:#050505!important}
#cutOptimizer .co-form-actions .secondary-btn,
#cutOptimizer .co-main-actions .secondary-btn{background:#fff!important;color:#050505!important}
#cutOptimizer .co-machine-swap{
  align-self:end;
  width:100%!important;
  min-width:0!important;
  min-height:56px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:2.5px solid #050505!important;
  border-radius:19px!important;
  background:#fff!important;
  color:#050505!important;
  box-shadow:4px 4px 0 #050505!important;
  font-size:13px!important;
  font-weight:950!important;
}

/* Lista de piezas: una tarjeta interna limpia, sin franja ni sombra amarilla. */
#cutOptimizer .co-piece-list{display:grid;gap:12px;margin-top:12px}
#cutOptimizer .co-empty{
  padding:20px 16px;
  border:0!important;
  border-radius:18px;
  background:#f4f4f4;
  color:#666;
  text-align:center;
  font-size:14px;
  line-height:1.35;
  font-weight:850;
  box-shadow:none!important;
}
#cutOptimizer .co-piece-card{
  position:relative;
  overflow:hidden;
  border:2px solid #e4e4e4!important;
  border-radius:22px;
  background:#fff!important;
  box-shadow:none!important;
}
#cutOptimizer .co-piece-card::before{display:none!important;content:none!important}
#cutOptimizer .co-piece-main{padding:16px 16px 12px}
#cutOptimizer .co-piece-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
#cutOptimizer .co-piece-head h4{margin:0;color:#050505;font-size:19px;line-height:1.13;font-weight:950}
#cutOptimizer .co-piece-head>span{
  flex:0 0 auto;
  padding:5px 8px;
  border:0;
  border-radius:999px;
  background:#f4f4f4;
  font-size:12px;
  font-weight:950;
}
#cutOptimizer .co-piece-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
#cutOptimizer .co-piece-meta span{padding:6px 9px;border-radius:999px;background:#f4f4f4;color:#222;font-size:12px;line-height:1.2;font-weight:850}
#cutOptimizer .co-piece-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 16px 16px}
#cutOptimizer .co-piece-actions button{
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:8px!important;
  border:2px solid #050505!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#050505!important;
  box-shadow:2px 2px 0 #050505!important;
  font-size:13px!important;
  font-weight:950!important;
}
#cutOptimizer .co-piece-actions .co-delete{background:#050505!important;color:#f6c400!important}

/* Acción de cálculo compacta, sin contenedor negro adicional. */
#cutOptimizer .co-optimize-bar{display:block;margin-top:18px;padding:0;background:transparent;color:#050505;border:0;border-radius:0;box-shadow:none}
#cutOptimizer .co-optimize-copy{min-width:0;margin:0 2px 11px}
#cutOptimizer .co-optimize-copy b{display:block;color:#050505;font-size:19px;line-height:1.13;font-weight:950}
#cutOptimizer .co-optimize-copy span{display:block;margin-top:5px;color:#555;font-size:13px;line-height:1.3;font-weight:750}
#cutOptimizer #coOptimizeBtn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%!important;
  min-width:0;
  min-height:58px!important;
  margin:0!important;
  padding:11px 14px!important;
  border:2.5px solid #050505!important;
  border-radius:19px!important;
  background:#f6c400!important;
  color:#050505!important;
  box-shadow:4px 4px 0 #050505!important;
  font-size:17px!important;
  font-weight:950!important;
}
#cutOptimizer #coOptimizeBtn.is-loading{opacity:.65;pointer-events:none}
#cutOptimizer .co-status{min-height:20px;margin:13px 2px 0;color:#444;font-size:14px;line-height:1.3;font-weight:850}
#cutOptimizer .co-status.error{color:#a31515}
#cutOptimizer .co-status.success{color:#176b31}
#cutOptimizer .co-save-note{margin-top:8px;color:#666;font-size:12px;line-height:1.28;font-weight:750}
#cutOptimizer .co-editing-note{display:none;margin:0 0 12px;padding:11px 13px;border:0!important;border-radius:16px;background:#f6c400;font-size:13px;font-weight:900}
#cutOptimizer .co-editing-note.active{display:block}

#cutOptimizer .co-results{margin-top:18px}
#cutOptimizer .co-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#cutOptimizer .co-stat{
  min-width:0;
  padding:14px;
  border:2px solid #e4e4e4!important;
  border-radius:22px;
  background:#fff!important;
  box-shadow:none!important;
}
#cutOptimizer .co-stat span{display:block;color:#333;font-size:12px;line-height:1.15;font-weight:950;text-transform:uppercase;letter-spacing:.025em}
#cutOptimizer .co-stat strong{display:block;margin-top:6px;color:#050505;font-size:23px;line-height:1.07;font-weight:950;overflow-wrap:anywhere}
#cutOptimizer .co-stat em{display:block;margin-top:5px;color:#666;font-size:12px;line-height:1.25;font-style:normal;font-weight:750}
#cutOptimizer .co-batch-tabs{display:flex;gap:8px;overflow-x:auto;margin:16px 0 10px;padding:2px 2px 5px;scrollbar-width:none}
#cutOptimizer .co-batch-tabs::-webkit-scrollbar{display:none}
#cutOptimizer .co-batch-tab{
  flex:0 0 auto;
  min-height:42px!important;
  margin:0!important;
  padding:9px 13px!important;
  border:2px solid #e4e4e4!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#050505!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:950!important;
  white-space:nowrap;
}
#cutOptimizer .co-batch-tab.active{background:#f6c400!important;border:2px solid #050505!important;box-shadow:none!important}
#cutOptimizer .co-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:12px 0 10px}
#cutOptimizer .co-preview-head h3{margin:0;color:#050505;font-size:21px;line-height:1.12;font-weight:950;letter-spacing:-.015em}
#cutOptimizer .co-preview-head span{color:#050505;font-size:13px;line-height:1.25;font-weight:900;text-align:right}
#cutOptimizer .co-preview-shell{
  position:relative;
  overflow:auto;
  min-height:290px;
  padding:12px;
  border:0!important;
  border-radius:20px;
  background:#f4f4f4;
  box-shadow:none!important;
}
#cutOptimizer .co-preview-shell svg{display:block;width:100%;min-width:250px;height:auto;max-height:620px;margin:auto;background:#fff;box-shadow:none!important}
#cutOptimizer .co-preview-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
#cutOptimizer .co-preview-legend span{display:inline-flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:16px;background:#f4f4f4;color:#222;font-size:13px;line-height:1.3;font-weight:850}
#cutOptimizer .co-preview-legend i{flex:0 0 auto;width:11px;height:11px;margin-top:1px;border:1.5px solid #050505;border-radius:3px;background:#f6c400}
#cutOptimizer .co-batch-detail{display:grid;gap:8px;margin-top:12px}
#cutOptimizer .co-batch-detail-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding:12px 14px;
  border:0!important;
  border-radius:18px;
  background:#f4f4f4;
  font-size:14px;
  font-weight:850;
  box-shadow:none!important;
}
#cutOptimizer .co-batch-detail-row strong{text-align:right}
#cutOptimizer .co-capacity-row{background:#f6c400}
#cutOptimizer .co-warning-list{margin-top:12px;padding:13px 15px;border:0!important;border-radius:18px;background:#fff0f0;color:#7d1111;font-size:12px;line-height:1.35;font-weight:850}
#cutOptimizer .co-main-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
#cutOptimizer .co-main-actions .co-reset{background:#050505!important;color:#f6c400!important}

@media(max-width:760px){
  #cutOptimizer .co-grid.co-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}
  #cutOptimizer .co-machine-swap{grid-column:1/-1}
  #cutOptimizer .co-card-row.co-card-row-four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  #cutOptimizer .co-root{padding-left:20px!important;padding-right:14px!important}
  #cutOptimizer>.card>h2.app-section-title,
  #cutOptimizer .co-root>h2.app-section-title{font-size:29px!important}
  #cutOptimizer .co-step,
  #cutOptimizer .co-step.yy-card-main{
    padding:17px!important;
    border-radius:24px!important;
    box-shadow:-6px 8px 0 #050505!important;
    margin:18px 0 28px!important;
  }
  #cutOptimizer .co-step-head{gap:10px}
  #cutOptimizer .co-step-head>span{min-width:62px;min-height:32px;font-size:11px}
  #cutOptimizer .co-step-head h3{font-size:20px}
  #cutOptimizer .co-grid,
  #cutOptimizer .co-grid.co-grid-three,
  #cutOptimizer .co-piece-fields{grid-template-columns:1fr}
  #cutOptimizer .co-card-row,
  #cutOptimizer .co-card-row.co-card-row-four{grid-template-columns:1fr 1fr}
  #cutOptimizer .co-quantity-mode{grid-template-columns:1fr}
  #cutOptimizer .co-choice{min-height:78px!important;padding:12px!important;border-radius:20px!important}
  #cutOptimizer .co-form-actions{grid-template-columns:1fr}
  #cutOptimizer .co-main-actions{grid-template-columns:1fr}
  #cutOptimizer .co-preview-shell{min-height:250px;padding:9px}
}

/* v51.144 · Carga SVG visible y compatible con Archivos en iPhone/iPad */
#cutOptimizer .co-svg-uploader{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
#cutOptimizer .co-native-file{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:0!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
#cutOptimizer .co-svg-upload-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:56px;
  padding:12px 16px;
  border:2.5px solid #050505;
  border-radius:19px;
  background:#f6c400;
  color:#050505;
  font-size:17px;
  line-height:1.15;
  font-weight:950;
  text-align:center;
  cursor:pointer;
  box-shadow:-7px 8px 0 #050505;
  -webkit-tap-highlight-color:transparent;
}
#cutOptimizer .co-svg-upload-btn:active{
  transform:translate(-2px,2px);
  box-shadow:-5px 6px 0 #050505;
}
#cutOptimizer .co-svg-upload-btn:focus-within,
#cutOptimizer .co-native-file:focus + .co-svg-upload-btn{
  outline:3px solid rgba(246,196,0,.35);
  outline-offset:3px;
}
#cutOptimizer .co-svg-file-name{
  min-height:52px;
  padding:14px 16px;
  border:0;
  border-radius:18px;
  background:#f4f4f4;
  color:#555;
  font-size:15px;
  line-height:1.25;
  font-weight:850;
  overflow-wrap:anywhere;
}
#cutOptimizer .co-svg-file-name.ready{
  background:#f6c400;
  color:#050505;
}
#cutOptimizer .co-svg-uploader>small{
  display:block;
  color:#707070;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
}
