/* Operación diaria: taller, preparación, recepción y despacho.
   Solo presentación de los formularios existentes; no alcanza impresos. */
@media screen {
  .ops-dialog,
  #detail-dialog:has(#order-physical-form, #add-item-form) {
    --ops-ink: var(--erp-ink, #0f172a);
    --ops-muted: #526176;
    --ops-line: var(--erp-border, #e2e8f0);
    --ops-soft: var(--erp-surface-subtle, #f8fafc);
    color: var(--ops-ink);
    width: min(920px, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    border: 0;
    border-radius: 16px;
    box-shadow: 0 20px 64px #0f172a30;
  }
  .ops-dialog .dialog-content { padding: 24px; min-width: 0; }
  .ops-dialog :is(h2,h3,p) { overflow-wrap: anywhere; }
  .ops-dialog h2 { font-size: 22px; line-height: 1.3; margin: 0; letter-spacing: -.02em; }
  .ops-dialog h3, .ops-section-title, .ops-section-heading h3 { font-size: 15px; line-height: 1.4; font-weight: 700; margin: 0; }
  .ops-heading, .ops-dialog .sketchcut-pieces-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:20px; }
  .ops-heading > div { min-width:0; }
  .ops-heading > button { flex:none; }
  .ops-heading p { margin:6px 0 0; font-size:13px; }
  .ops-help { margin:0; color:var(--ops-muted, #526176); font-size:13px; line-height:1.5; }
  .ops-dialog .ops-help { margin-block:12px; }
  .ops-dialog .muted, #order-physical-form .muted, #add-item-form .muted { color:var(--ops-muted, #526176); }
  .ops-dialog :is(input,select,textarea), #order-physical-form :is(input,select,textarea) { min-width:0; max-width:100%; font-variant-numeric:tabular-nums; }
  .ops-dialog label, #order-physical-form label { font-size:13px; font-weight:600; }
  .ops-dialog :is(.primary,.secondary,.icon-button),
  #order-physical-form :is(.primary,.secondary),
  #add-item-form :is(.primary,.secondary) { min-height:44px; box-shadow:none; line-height:1.4; }
  .ops-dialog .secondary, #order-physical-form .secondary, #add-item-form .secondary { background:#fff; color:var(--ops-ink, #0f172a); }
  .ops-dialog .secondary:hover, #order-physical-form .secondary:hover, #add-item-form .secondary:hover { background:#f1f5f9; border-color:#94a3b8; }
  .ops-dialog :is(button,a,input,select,textarea):focus-visible,
  #order-physical-form :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--red, #c8102e); outline-offset:3px; }
  .ops-dialog a { text-underline-offset:3px; }
  .ops-dialog input::placeholder, .ops-dialog textarea::placeholder { color:#64748b; opacity:1; }
  .ops-dialog input, .ops-dialog textarea { caret-color:var(--red, #c8102e); }
  .ops-dialog ::selection { background:#ffe4e9; color:#0f172a; }
  .ops-dialog [hidden] { display:none !important; }
  .ops-dialog .dialog-actions, #order-physical-form .dialog-actions, #add-item-form .dialog-actions {
    display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; position:static;
    margin:20px 0 0; padding:16px 0 0; border-top:1px solid var(--ops-line, #e2e8f0);
  }
  .ops-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
  .ops-section-heading > span { color:#526176; font-size:12px; }
  .ops-document-link { display:inline-flex; width:fit-content; align-items:center; justify-content:center; text-decoration:none; padding:10px 14px; }
  .ops-order-context { display:flex; justify-content:space-between; gap:12px; padding:12px 16px; background:var(--ops-soft); border-radius:8px; }
  .ops-order-context span { color:var(--ops-muted); font-size:13px; }
  #cut-order-form { display:grid; gap:16px; margin-top:20px; }
  #cut-order-form > label { margin:0; display:grid; gap:8px; }
  #cut-order-form textarea { min-height:76px; }
  .ops-file-field { padding:16px; background:var(--ops-soft); border:1px dashed #94a3b8; border-radius:10px; }
  .ops-file-field small { font-weight:400; color:var(--ops-muted); }
  .ops-file-field input[type="file"] { margin:0; padding:0; border:0; border-radius:0; background:transparent; width:100%; min-height:44px; }
  .ops-file-field input::file-selector-button { border:1px solid #cbd5e1; background:white; color:#172033; border-radius:6px; padding:10px 12px; margin-right:12px; font:inherit; cursor:pointer; }
  .ops-dialog #cut-order-versions { margin-top:24px; }
  .ops-dialog .cut-version-list { padding:0; margin:12px 0 0; list-style:none; }
  .ops-dialog .cut-version-list li { margin:0; padding:14px 0; border-top:1px solid var(--ops-line); flex-wrap:nowrap; justify-content:space-between; }
  .ops-version-file { display:grid; gap:4px; min-width:0; }
  .ops-version-file a, .ops-version-file small { overflow-wrap:anywhere; }
  .ops-version-file small { color:var(--ops-muted); }
  .ops-version-label { font-size:12px; font-weight:700; }
  .ops-dialog .cut-version-list button { flex:none; }
  .ops-dialog .sketchcut-pieces-toolbar { margin:0 0 16px; }
  .ops-list-state { color:#526176; font-size:12px; font-weight:600; }
  .ops-piece-columns { display:flex; justify-content:space-between; padding:12px 16px; background:var(--ops-soft); border-block:1px solid var(--ops-line); font-size:12px; font-weight:600; color:var(--ops-muted); }
  .ops-dialog .sketchcut-pieces-list { max-height:none; overflow:visible; gap:0; padding:0; }
  .ops-dialog .sketchcut-piece-row { border:0; border-bottom:1px solid var(--ops-line); border-radius:0; padding:14px 0; }
  .ops-dialog .sketchcut-piece-readonly { padding:16px; font-variant-numeric:tabular-nums; }
  .ops-dialog .sketchcut-piece-readonly strong { font-size:15px; font-weight:600; }
  .ops-dialog .sketchcut-piece-readonly > span { font-size:14px; }
  .ops-piece-total { text-align:right; margin:0; padding:14px 16px; font-size:13px; font-weight:700; font-variant-numeric:tabular-nums; background:var(--ops-soft); }
  .ops-dialog .sketchcut-review-check, #order-physical-form .sketchcut-review-check { font-weight:500; line-height:1.5; padding:12px 0; margin:8px 0 0; }
  #detail-dialog:has(#order-physical-form, #add-item-form) > .dialog-head { padding:20px 24px; border-bottom:1px solid var(--ops-line); }
  #detail-dialog:has(#order-physical-form, #add-item-form) .dialog-head .eyebrow { display:none; }
  #detail-dialog:has(#order-physical-form, #add-item-form) .dialog-head h2 { font-size:22px; margin:0; }
  #detail-dialog:has(#order-physical-form, #add-item-form) #dialog-body { padding:20px 24px 24px; }
  #order-physical-form { display:grid; gap:12px; }
  #order-physical-form .ops-plan-reference { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; margin-block:4px 12px; }
  #order-physical-form .ops-plan-reference label, #order-physical-form .ops-plan-reference select { margin:0; }
  #order-physical-form .sketchcut-review-check { margin:0; padding:8px 0; }
  #order-physical-form .dialog-actions { margin-top:8px; }
  #order-physical-form > label { margin:0; }
  #order-physical-form .cut-finished-location { margin:0; padding:12px 16px; border:0; border-radius:8px; background:var(--ops-soft); }
  #order-physical-form .cut-finished-location legend { padding:0; font-size:12px; color:var(--ops-muted); }
  #order-physical-form .cut-finished-location p { margin:6px 0 0; font-size:12px; }
  #order-physical-form .order-physical-list { max-height:none; overflow:visible; padding:0; gap:0; }
  #order-physical-form .order-physical-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(64px,.65fr) minmax(0,1.3fr) auto; align-items:end; padding:14px 0; border:0; border-bottom:1px solid var(--ops-line); border-radius:0; gap:10px; }
  #order-physical-form .order-physical-row:has(select) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #order-physical-form .order-physical-row input { min-height:44px; margin:0; padding:10px; }
  #order-physical-form [data-physical-remove] { justify-self:end; padding:10px; font-size:13px; color:#9f1239; }
  #order-physical-form [data-physical-add] { justify-self:start; }
  #order-physical-form summary { cursor:pointer; min-height:44px; align-content:center; font-size:13px; font-weight:600; }
  /* La cola es una lista de trabajo: identidad, avance y documentos en una fila. */
  #view .ops-workshop-list { display:grid; grid-template-columns:minmax(0,1fr); gap:0; background:#fff; border:1px solid var(--erp-border); border-radius:12px; overflow:hidden; }
  #view .ops-workshop-list .cutting-order-card { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(130px,.8fr) minmax(240px,1fr); align-items:center; column-gap:24px; padding:20px 24px 0; border:0; border-bottom:1px solid var(--erp-border); border-radius:0; background:transparent; }
  #view .ops-workshop-list .cutting-order-card:last-child { border-bottom:0; }
  #view .ops-workshop-list .cutting-order-heading { gap:12px; align-items:flex-start; }
  #view .ops-workshop-list .cutting-order-heading h3 { font-size:16px; font-weight:700; margin-bottom:5px; }
  #view .ops-workshop-list .cutting-order-heading p { font-size:14px; }
  #view .ops-workshop-list .cutting-order-progress { padding:0; }
  #view .ops-workshop-list .cutting-order-progress > div { flex-wrap:wrap; gap:4px 12px; }
  #view .ops-workshop-list .cutting-order-toolbar { margin:0; gap:8px; }
  #view .ops-workshop-list .cutting-order-toolbar :is(a,button) { min-height:44px; font-weight:500; box-shadow:none; border-radius:6px; }
  #view .ops-workshop-list .cutting-order-materials { grid-column:1/-1; margin-top:12px; border-top:0; }
  #view .ops-workshop-list .cutting-order-materials > summary { padding:10px 0 14px; min-height:44px; width:fit-content; color:#526176; font-size:12px; }
  #view .ops-workshop-list .cutting-order-materials[open] > summary { color:var(--erp-brand); }
  #view .ops-workshop-list .cutting-order-items { padding-bottom:16px; }
  #view .ops-review-queue { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; padding:16px 20px; margin-bottom:20px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; }
  #view .ops-review-queue .ops-help { margin-top:4px; }
  #view .ops-review-queue .physical-order-selector { flex:1; max-width:520px; min-width:min(100%,280px); }
  /* Recepción: grupos de campos existentes y verificación física conservada. */
  dialog #add-item-form.inventory-ingress-form { gap:16px; }
  #add-item-form .ops-section-title { margin-top:8px; padding-top:20px; border-top:1px solid var(--ops-line); }
  dialog #add-item-form > .ops-material-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; margin:0; }
  #add-item-form .ops-material-grid > :nth-child(-n+2) { grid-column:span 3; }
  #add-item-form .ops-material-grid > :nth-child(n+3) { grid-column:span 2; }
  dialog #add-item-form > .ops-origin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; }
  #add-item-form .ops-section-heading button { font-size:12px; padding:8px 12px; }
  #add-item-form .field-grid label { font-size:13px; margin:0; }
  #add-item-form .field-grid select { margin:0; min-height:44px; }
  #add-item-form .btn-link { font-size:12px; min-height:32px; text-underline-offset:3px; }
  #add-item-form .inventory-unit-section { margin:8px 0 0; padding:20px 0 0; border:0; border-top:1px solid var(--ops-line); background:transparent; border-radius:0; }
  #add-item-form .inventory-unit-heading { align-items:flex-start; gap:12px; margin-bottom:16px; }
  #add-item-form .inventory-unit-heading h4 { margin:0; font-size:15px; }
  #add-item-form .inventory-measure-mode-switch { gap:4px; padding:4px; background:var(--ops-soft); border-radius:8px; }
  #add-item-form .inventory-mode-label { min-height:36px; padding:6px 8px; border-radius:6px; font-size:12px; }
  #add-item-form .inventory-mode-label:has(:checked) { background:#fff; box-shadow:0 1px 3px #0f172a18; color:#9f1239; }
  #add-item-form .inventory-compact-verify-row { padding:10px 0; border:0; background:transparent; }
  #add-item-form .inventory-exceptions-panel { padding:12px 16px; background:var(--ops-soft); border:0; border-radius:8px; }
  #add-item-form .inventory-exceptions-header p { margin:4px 0 0; }
  #add-item-form .inventory-units-total { padding:12px 0 0; margin:0; font-variant-numeric:tabular-nums; }
  #add-item-form .inventory-unit-feedback:empty { display:none; }
  #add-item-form .inventory-price-options { padding:0; border:0; border-radius:0; }
  #add-item-form .inventory-price-options summary { min-height:44px; align-content:center; }
  /* Despacho: cada casilla queda junto a la pieza, también en móvil. */
  .ops-dispatch-dialog #dispatch-material-form { display:grid; gap:24px; }
  .ops-dispatch-dialog .ops-section-heading { margin-bottom:12px; }
  .ops-dispatch-dialog .ops-section-title { margin-bottom:14px; }
  .ops-dispatch-pieces { border-block:1px solid var(--ops-line); }
  .ops-dispatch-dialog label.ops-dispatch-piece { display:flex; align-items:flex-start; gap:12px; padding:14px 12px; margin:0; border-bottom:1px solid var(--ops-line); cursor:pointer; font-weight:400; }
  .ops-dispatch-piece:last-child { border-bottom:0; }
  .ops-dispatch-piece:has(:checked) { background:var(--ops-soft); }
  .ops-dispatch-piece:focus-within { outline:2px solid var(--red, #c8102e); outline-offset:-2px; }
  .ops-dispatch-piece input[type="checkbox"] { flex:none; width:20px; height:20px; margin:2px 0 0; accent-color:var(--red, #c8102e); }
  .ops-dispatch-piece-info { min-width:0; display:grid; gap:5px; overflow-wrap:anywhere; }
  .ops-dispatch-piece-info strong { display:flex; flex-wrap:wrap; gap:4px 20px; font-size:14px; }
  .ops-dispatch-piece-info strong span { font-weight:500; font-variant-numeric:tabular-nums; }
  .ops-dispatch-piece-info > span { font-size:13px; }
  .ops-dispatch-piece-info small { color:var(--ops-muted); font-size:12px; }
  .ops-dispatch-dialog .receiver-type-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .ops-dispatch-dialog .receiver-card { padding:12px; border-radius:8px; min-height:76px; gap:10px; margin:0; }
  .ops-dispatch-dialog .receiver-card strong { font-size:13px; }
  .ops-dispatch-dialog .receiver-card small { font-size:12px; }
  .ops-dispatch-dialog .receiver-card:focus-within { outline:2px solid var(--red, #c8102e); outline-offset:2px; }
  .ops-dispatch-dialog .sig-canvas-box { padding:12px; border:1px solid var(--ops-line); border-radius:8px; background:var(--ops-soft); }
  .ops-dispatch-dialog #sig-canvas { display:block; width:100%; max-width:100%; background:white; }
  .ops-dispatch-dialog .sig-canvas-actions { display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
  .ops-dispatch-dialog .sig-canvas-actions span { font-size:12px; color:var(--ops-muted); }
  .ops-dispatch-dialog #dispatch-paper-fields { padding:16px; background:var(--ops-soft); border-radius:8px; }
  .ops-dispatch-dialog .ops-dispatch-actions { margin-top:0; }
}
@media screen and (max-width:1000px) {
  #view .ops-workshop-list .cutting-order-card { grid-template-columns:minmax(0,1fr) minmax(220px,.8fr); gap:16px 24px; }
  #view .ops-workshop-list .cutting-order-progress { grid-column:2; grid-row:1; }
  #view .ops-workshop-list .cutting-order-toolbar { grid-column:1/-1; justify-self:start; width:min(100%,400px); }
  #view .ops-workshop-list .cutting-order-materials { margin-top:0; }
}
@media screen and (max-width:600px) {
  .ops-dialog, #detail-dialog:has(#order-physical-form, #add-item-form) { width:calc(100vw - 16px); max-width:calc(100vw - 16px); border-radius:12px; }
  .ops-dialog .dialog-content { padding:20px 16px; }
  .ops-dialog h2, #detail-dialog:has(#order-physical-form, #add-item-form) .dialog-head h2 { font-size:20px; }
  #detail-dialog:has(#order-physical-form, #add-item-form) > .dialog-head { padding:16px; }
  #detail-dialog:has(#order-physical-form, #add-item-form) #dialog-body { padding:16px; }
  .ops-dialog .dialog-actions > button, #order-physical-form .dialog-actions > button, #add-item-form .dialog-actions > button { flex:1 1 120px; white-space:normal; }
  .ops-dialog .cut-version-list li { align-items:flex-start; flex-wrap:wrap; }
  .ops-dialog .sketchcut-piece-row:not(.sketchcut-piece-readonly) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ops-dialog .sketchcut-piece-row label:nth-child(4) { grid-column:auto; }
  #order-physical-form .order-physical-row, #order-physical-form .order-physical-row:has(select) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px 0; }
  #order-physical-form [data-physical-remove] { grid-column:1/-1; }
  #view .ops-workshop-list .cutting-order-card { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; padding:18px 16px 0; }
  #view .ops-workshop-list .cutting-order-progress { grid-column:auto; grid-row:auto; }
  #view .ops-workshop-list .cutting-order-toolbar { width:100%; }
  #view .ops-workshop-list .cutting-order-materials { margin-top:-4px; }
  #view .ops-review-queue { padding:16px; }
  #view .ops-review-queue .physical-order-selector { grid-template-columns:minmax(0,1fr); max-width:none; }
  dialog #add-item-form > .ops-material-grid, dialog #add-item-form > .ops-origin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
  #add-item-form .ops-material-grid > :nth-child(n) { grid-column:auto; }
  #add-item-form .ops-material-grid > :nth-child(-n+2) { grid-column:1/-1; }
  #add-item-form .ops-material-grid > :nth-child(3), #add-item-form .ops-origin-grid > :last-child { grid-column:1/-1; }
  #add-item-form .inventory-unit-heading { flex-direction:column; }
  #add-item-form .inventory-measure-mode-switch { width:100%; }
  #add-item-form .inventory-mode-label { flex:1; align-items:flex-start; }
  #add-item-form .inventory-exceptions-header { flex-wrap:wrap; gap:10px; }
  #add-item-form .inventory-exceptions-panel { padding:12px; }
  .ops-dispatch-dialog #dispatch-material-form { gap:20px; }
  #dispatch-material-form [data-ui-style="u209"] { grid-template-columns:minmax(0,1fr); }
  .ops-dispatch-dialog .receiver-type-grid { grid-template-columns:minmax(0,1fr); }
  .ops-dispatch-dialog label.ops-dispatch-piece { padding:12px 8px; }
}

@media screen {
  .ops-dispatch-dialog .receiver-choice-input {
    position:absolute; width:1px; height:1px; margin:-1px; padding:0;
    overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
  }
  .ops-dispatch-dialog .receiver-card:focus-within { outline:2px solid var(--red); outline-offset:3px; }
}

/* Ingreso físico sencillo y revisión administrativa por grupo. */
.inventory-ingress-form .ingress-intro,
.receipt-workspace .ingress-intro { border-left: 3px solid #c8102e; padding: 4px 0 4px 16px; margin-bottom: 8px; }
.ingress-step { color: #8c2437; font-size: .7rem; font-weight: 750; letter-spacing: .07em; }
.ingress-intro p { margin: 6px 0 0; color: #526071; line-height: 1.55; max-width: 66ch; }
.inventory-ingress-form .ingress-origin { background: #f6f8fb; border: 1px solid #e2e7ee; border-radius: 12px; padding: 18px; display: grid; gap: 12px; }
.inventory-ingress-form .ingress-origin p { margin: 0; }
.inventory-ingress-form .receipt-fields { border: 0; padding: 0; margin: 10px 0; min-width: 0; }
.inventory-ingress-form .ingress-extra { border-top: 1px solid #e2e7ee; padding-top: 16px; }
.ingress-extra summary, .receipt-pieces summary, .receipt-label-guide summary { cursor: pointer; font-weight: 650; padding: 10px 0; }
.ingress-extra[open] > .field-grid { margin-top: 12px; }
.ingress-save-note { color: #526071; font-size: .84rem; line-height: 1.5; margin: 4px 0; }
.inventory-ingress-form .ingress-footer, .receipt-workspace .ingress-footer { padding-top: 16px; border-top: 1px solid #e2e7ee; gap: 10px; }
.receipt-workspace { min-width: 0; gap: 20px; }
.receipt-workspace p { line-height: 1.55; }
.receipt-workspace .receipt-toolbar { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.receipt-tabs { display: flex; gap: 6px; padding: 5px; background: #f2f4f7; border-radius: 12px; flex-wrap: wrap; }
.receipt-tabs button { min-height: 42px; font-size: .83rem; }
.receipt-tabs button span { margin-left: 5px; }
.receipt-lot-note { padding: 14px 16px; border-radius: 10px; background: #f6f8fb; color: #526071; margin: 0; font-size: .86rem; }
.receipt-history { gap: 12px; }
.receipt-history > li { padding: 0; border: 0; }
.receipt-history-card { display: grid; gap: 10px; text-align: left; width: 100%; border: 1px solid #dbe2eb; border-radius: 12px; background: #fff; padding: 18px; color: #233047; }
.receipt-history-card:hover { border-color: #a1acbc; background: #fafbfd; }
.receipt-history-card > span:not(:first-child) { color: #526071; font-size: .84rem; font-weight: 400; }
.receipt-history-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.receipt-history-title .status { font-size: .73rem; }
.receipt-success { border: 1px solid #b9ddcc; border-radius: 12px; background: #f1faf5; padding: 18px; display: grid; gap: 8px; color: #235f45; }
.receipt-success strong { font-size: 1.08rem; }
.receipt-success span { font-size: .85rem; line-height: 1.5; }
.receipt-label-guide { border: 1px solid #dce2eb; border-radius: 12px; padding: 18px; display: grid; gap: 14px; }
.receipt-label-guide h3, .receipt-price-group h3, .receipt-group-heading h3 { margin: 0; font-size: 1.05rem; }
.receipt-label-guide p, .receipt-label-guide li { font-size: .84rem; line-height: 1.6; margin: 0; color: #526071; }
.receipt-label-guide ol { padding-left: 20px; }
.receipt-label-sample { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px; border: 1px solid #cbd2dc; background: white; color: #101010; font-family: Arial,sans-serif; min-width: 0; }
.receipt-label-sample > div { min-width: 0; display: grid; text-align: center; align-content: center; gap: 4px; }
.receipt-label-sample strong { font-size: 1.2rem; }
.receipt-label-sample em { font-size: .95rem; overflow-wrap: anywhere; }
.receipt-barcode-placeholder { border: 1px dashed #9aa3af; padding: 5px; font-size: .75rem; }
.receipt-workspace .receipt-empty { text-align: center; padding: 32px 20px; border: 1px dashed #cbd5e1; border-radius: 12px; color: #526071; }
.receipt-empty h3 { color: #233047; font-size: 1.1rem; margin: 0 0 8px; }
.receipt-price-groups { display: grid; gap: 14px; }
.receipt-price-group { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; border: 1px solid #dce2eb; border-radius: 12px; padding: 20px; }
.receipt-price-group h3 { margin: 7px 0; }
.receipt-price-group p, .receipt-group-heading p { color: #526071; font-size: .85rem; margin: 0; }
.receipt-price-group > button { grid-column: 1 / -1; justify-self: start; }
.receipt-group-total { display: grid; align-content: start; text-align: right; gap: 4px; }
.receipt-group-total strong { font-size: 1.6rem; color: #233047; }
.receipt-group-total span { font-size: .76rem; color: #526071; }
.receipt-prices-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.receipt-price-form { display: grid; gap: 20px; }
.receipt-price-form .receipt-fields { border: 1px solid #dce2eb; border-radius: 12px; padding: 16px; min-width: 0; }
.receipt-price-form legend { padding: 0 8px; font-size: .9rem; font-weight: 650; }
.receipt-review-units { max-height: 320px; overflow-y: auto; padding-right: 6px; }
.receipt-review-units small { display: block; padding-top: 6px; color: #526071; font-size: .78rem; }
.receipt-workspace button:focus-visible, .inventory-ingress-form summary:focus-visible, .receipt-workspace summary:focus-visible { outline: 3px solid #385eaf; outline-offset: 3px; }
@media (max-width: 600px) {
  .inventory-ingress-form .ingress-origin, .receipt-price-group, .receipt-label-guide { padding: 14px; }
  .receipt-prices-grid { grid-template-columns: 1fr; }
  .receipt-price-group { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .receipt-group-total { text-align: left; display: flex; align-items: baseline; gap: 8px; }
  .receipt-toolbar > button, .receipt-price-group > button, .receipt-tabs { width: 100%; }
  .receipt-label-sample { gap: 8px; padding: 8px; }
  .receipt-label-sample strong { font-size: .93rem; }
  .receipt-label-sample em { font-size: .8rem; }
  .receipt-workspace .ingress-footer > button, .inventory-ingress-form .ingress-footer > button { flex: 1 1 100%; }
}
/* Los campos de material están dentro del grupo físico, no en la raíz del formulario. */
@media screen and (min-width: 701px) {
  dialog #add-item-form .ops-material-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 16px; }
  dialog #add-item-form .ops-origin-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
}
@media screen and (max-width: 700px) {
  dialog #add-item-form .ops-material-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 12px; }
  dialog #add-item-form .ops-material-grid > :nth-child(n) { grid-column: auto; }
  dialog #add-item-form .ops-material-grid > :nth-child(-n+3) { grid-column: 1 / -1; }
  dialog #add-item-form .ops-origin-grid { display: grid; grid-template-columns: minmax(0,1fr); }
}

/* Etiqueta de canto: misma proporción y tamaño que el papel configurado. */
dialog.print-inventory-edge-labels .print-sheet { width: min(100%, 110mm); padding: 14px; overflow-x: auto; }
.inventory-edge-pages { display: grid; gap: 18px; padding-block: 16px; }
.inventory-edge-label { box-sizing: border-box; width: 100mm; height: 13mm; min-height: 13mm; padding: 1mm; display: grid; grid-template-columns: 44mm minmax(0,1fr); gap: 2mm; background: #fff; color: #000; outline: 1px solid #d3d9e1; font-family: Arial,sans-serif; line-height: 1; }
.inventory-edge-identity { display: grid; grid-template-rows: 7mm 3mm; align-content: center; text-align: center; min-width: 0; }
.inventory-edge-barcode { width: 44mm; height: 7mm; fill: #000; shape-rendering: crispEdges; }
.inventory-edge-code { font: 400 2.7mm/3mm Arial,sans-serif; letter-spacing: .1mm; }
.inventory-edge-description { display: grid; gap: .7mm; align-content: center; text-align: center; min-width: 0; overflow: hidden; }
.inventory-edge-measures { font: 700 3.7mm/4mm Arial,sans-serif; }
.inventory-edge-material { font: italic 700 2.6mm/2.9mm Arial,sans-serif; overflow-wrap: anywhere; }
.inventory-edge-help { margin: 0; color: #526071; font-size: 13px; line-height: 1.5; }
@page valri-edge-label { size: 100mm 13mm; margin: 0; }
@media print {
  body:has(dialog.print-inventory-edge-labels[open]) { page: valri-edge-label; }
  dialog.print-inventory-edge-labels[open] .print-sheet { width: 100mm !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
  .inventory-edge-pages { display: block; padding: 0; margin: 0; }
  .inventory-edge-label { outline: 0; margin: 0; break-inside: avoid; break-after: page; page: valri-edge-label; }
  .inventory-edge-label:last-child { break-after: auto; }
  .inventory-edge-help { display: none !important; }
}

/* Taller y Despachos: relevancia de código/caballete, visibilidad de materiales y desbloqueo según permisos */
@media screen {
  #view .ops-workshop-list .cutting-order-materials > summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 14px;
    width: 100%;
    cursor: pointer;
  }
  #view .ops-workshop-list .cutting-materials-summary-title {
    font-weight: 700;
    font-size: 13px;
  }
  #view .ops-workshop-list .cutting-materials-summary-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  #view .ops-workshop-list .cutting-summary-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    font-size: 12px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
  }
  #view .ops-workshop-list .cutting-summary-chip strong {
    color: #9f1239;
    font-weight: 700;
  }
  #view .ops-workshop-list .cutting-item-primary {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px 12px;
  }
  #view .ops-workshop-list .cutting-item-code {
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
  }
  #view .ops-workshop-list .cutting-item-location {
    display: inline-grid;
    gap: 2px;
    padding: 5px 10px;
    border-radius: 8px;
    border: 1px solid #fecdd3;
    background: #fff1f2;
    color: #881337;
    text-align: right;
  }
  #view .ops-workshop-list .cutting-item-location strong {
    font-size: 12.5px;
    font-weight: 800;
    color: #9f1239;
    letter-spacing: 0.01em;
  }
  #view .ops-workshop-list .cutting-item-location small {
    font-size:12px;
    color: #475569;
  }
  #view .ops-workshop-list .cutting-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
  }
  #view .ops-workshop-list .cutting-item-measures {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #334155;
  }

  #dispatch-pending-pane .dispatch-line-pieces {
    margin-top: 8px;
  }
  #dispatch-pending-pane .dispatch-line-pieces > summary {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    color: #334155;
    padding: 4px 0;
  }
  #dispatch-pending-pane .dispatch-line-pieces > summary:focus-visible,
  #view .ops-workshop-list .cutting-order-materials > summary:focus-visible {
    outline: 2px solid var(--red, #c8102e);
    outline-offset: 2px;
    border-radius: 4px;
  }
  #dispatch-pending-pane .dispatch-pieces-summary-loc {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    color: #9f1239;
    font-size: 11px;
    font-weight: 700;
  }
  #dispatch-pending-pane .dispatch-custody-pieces {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
  }
  #dispatch-pending-pane .dispatch-custody-chip {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    padding: 5px 10px;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    font-size: 12px;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
  }
  #dispatch-pending-pane .dispatch-piece-code {
    font-weight: 800;
    color: #0f172a;
  }
  #dispatch-pending-pane .dispatch-piece-dim {
    color: #475569;
  }
  #dispatch-pending-pane .dispatch-piece-loc {
    padding: 1px 7px;
    border-radius: 999px;
    background: #fff1f2;
    color: #9f1239;
    font-weight: 700;
    font-size: 11px;
  }
  #dispatch-pending-pane .dispatch-footer-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
  }
  #dispatch-pending-pane .dispatch-footer-actions button {
    min-height: 44px;
  }
  #dispatch-pending-pane .btn-dispatch-resolve {
    border-color: #9f1239;
    color: #9f1239;
    background: #fff1f2;
    font-weight: 700;
  }
  #dispatch-pending-pane .btn-dispatch-resolve:hover {
    background: #ffe4e6;
    border-color: #881337;
  }
  .ops-dispatch-dialog .ops-dispatch-piece-loc {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    color: #9f1239;
    font-size: 11.5px;
    font-weight: 700;
  }
}

@media screen and (max-width: 600px) {
  #view .ops-workshop-list .cutting-item-location {
    text-align: left;
    width: 100%;
  }
  #view .ops-workshop-list .cutting-order-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  #view .ops-workshop-list .cutting-item-actions {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  #view .ops-workshop-list .cutting-item-actions button {
    flex: 1 1 auto;
    min-height: 44px;
  }
  #view .dispatch-stat-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  #dispatch-pending-pane .dispatch-card {
    padding: 14px;
    min-width: 0;
  }
  #dispatch-pending-pane .dispatch-card-title {
    flex-wrap: wrap;
    gap: 6px 10px;
    min-width: 0;
  }
  #dispatch-pending-pane .dispatch-badges,
  #dispatch-pending-pane [data-ui-style="u149"] {
    min-width: 0;
    max-width: 100%;
  }
  #dispatch-pending-pane .custody-badge {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #dispatch-pending-pane .table-wrap {
    overflow-x: visible;
    min-width: 0;
  }
  #dispatch-pending-pane .custody-table,
  #dispatch-pending-pane .custody-table tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }
  #dispatch-pending-pane .custody-table thead {
    display: none;
  }
  #dispatch-pending-pane .custody-table tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #e2e8f0;
  }
  #dispatch-pending-pane .custody-table tr:last-child {
    border-bottom: 0;
  }
  #dispatch-pending-pane .custody-table td {
    display: grid;
    gap: 2px;
    padding: 0;
    border: 0;
    text-align: left !important;
    min-width: 0;
  }
  #dispatch-pending-pane .custody-table td:first-child {
    grid-column: 1 / -1;
  }
  #dispatch-pending-pane .custody-table td:first-child::before {
    display: none !important;
  }
  #dispatch-pending-pane .custody-table td::before {
    display: block !important;
    content: attr(data-label);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #64748b;
  }
  #dispatch-pending-pane [data-ui-style="u195"] {
    flex-direction: column;
    align-items: stretch;
  }
  #dispatch-pending-pane .dispatch-footer-actions {
    width: 100%;
    justify-content: stretch;
  }
  #dispatch-pending-pane .dispatch-footer-actions button {
    flex: 1 1 100%;
    justify-content: center;
  }
}
