.summary-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; margin-bottom: 1rem; border: 1px solid var(--border); border-radius: .85rem; background: var(--surface); box-shadow: 0 4px 16px rgba(23, 68, 95, .05); }
.summary-strip a { display: grid; min-width: 0; min-height: 3.5rem; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .45rem; border-right: 1px solid var(--border); padding: .55rem .75rem; text-decoration: none; }
.summary-strip a:last-child { border-right: 0; }
.summary-strip strong { color: var(--accent-dark); font-size: 1.35rem; line-height: 1; font-variant-numeric: tabular-nums; }
.summary-strip span { overflow: hidden; color: var(--muted); font-size: .72rem; font-weight: 800; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.summary-strip a.attention { background: #fffbef; }
.summary-strip a.attention strong { color: var(--warning); }
.home-action-total { display: grid; min-width: 5rem; min-height: 4.25rem; place-content: center; border: 1px solid var(--border); border-radius: .9rem; background: white; color: var(--muted); text-align: center; box-shadow: var(--shadow-soft); }
.home-action-total.has-tasks { border-color: #e7c067; background: #fffbef; color: #765000; }
.home-action-total strong { font-size: 1.55rem; line-height: 1; font-variant-numeric: tabular-nums; }
.home-action-total small { margin-top: .18rem; font-size: .65rem; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
.workspace-task-board { max-width: 58rem; margin-bottom: 1rem; }
.workspace-task-heading { margin-bottom: .55rem; border-bottom: 2px solid #c9d9e3; padding-bottom: .5rem; }
.workspace-task-heading h2 { margin: 0; color: var(--accent-dark); font-size: 1.18rem; }
.workspace-task-heading p { margin: .12rem 0 0; color: var(--muted); font-size: .74rem; }
.home-task-row { min-height: 4.7rem; }
.home-task-row .task-main small b { color: var(--accent-dark); font-size: .65rem; letter-spacing: .035em; text-transform: uppercase; }
.home-task-marker.purchase, .home-task-marker.price { background: #28658a; }
.home-task-marker.reservation { color: #765000; background: #fff0c7; }
.home-task-marker.stock { background: var(--danger); }
.home-task-marker.receipt { color: #19578b; background: #e2f1fc; }
.workspace-task-overflow { margin: .55rem .2rem 0; color: var(--muted); font-size: .72rem; }
.workspace-all-clear { max-width: 40rem; }
.home-secondary-panel { overflow: hidden; max-width: 58rem; border: 1px solid var(--border); border-radius: .85rem; background: #f8fafb; }
.home-secondary-panel > summary { display: flex; min-height: var(--touch-target); align-items: center; justify-content: space-between; gap: .7rem; padding: .65rem .8rem; color: var(--accent-dark); cursor: pointer; }
.home-secondary-panel > summary > span:first-child { display: flex; min-width: 0; flex-direction: column; gap: .08rem; }
.home-secondary-panel > summary strong { font-size: .82rem; }
.home-secondary-panel > summary small { color: var(--muted); font-size: .68rem; font-weight: 500; }
.home-secondary-panel > summary > span:last-child { font-size: 1.15rem; transition: transform .15s ease; }
.home-secondary-panel[open] > summary { border-bottom: 1px solid var(--border); background: white; }
.home-secondary-panel[open] > summary > span:last-child { transform: rotate(180deg); }
.home-secondary-body { padding: .75rem; }
.home-secondary-body .summary-strip { margin-bottom: .85rem; }
.home-secondary-body .recent-activity { margin-bottom: 0; }
.workspace-dashboard { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: start; gap: 1rem; }
.workspace-dashboard > *, .workspace-attention, .workspace-dashboard .workspace-section { min-width: 0; }
.workspace-dashboard .section-heading { align-items: center; margin-bottom: .45rem; }
.workspace-dashboard .section-heading > h3, .workspace-dashboard .section-heading > div > h3 { margin: 0; font-size: .95rem; font-weight: 750; }
.workspace-dashboard .section-heading > div > p { margin: .12rem 0 0; color: var(--muted); font-size: .72rem; }
.workspace-dashboard .workspace-group-heading { min-height: calc(var(--touch-target) + .35rem + 2px); margin-bottom: .7rem; border-bottom: 2px solid #c9d9e3; padding-bottom: .35rem; }
.workspace-dashboard .workspace-group-heading > h2 { color: var(--accent-dark); font-size: 1.18rem; font-weight: 850; }
.workspace-dashboard .workspace-section { margin-bottom: .85rem; }
.section-link { gap: .3rem; border: 1px solid #b8cfdd; border-radius: .65rem; background: var(--accent-pale); padding: .35rem .6rem; font-size: .76rem; line-height: 1; text-decoration: none; white-space: nowrap; }
.section-link:hover { border-color: var(--accent); background: var(--accent-soft); }
.section-link span { font-size: 1rem; line-height: 1; }
.recent-movement-row { min-height: 3.65rem; gap: .55rem; padding: .48rem .6rem; }
.recent-movement-row .task-main strong { overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.activity-time { display: flex; min-width: 2.7rem; flex-direction: column; align-items: flex-end; color: var(--ink); font-size: .72rem; font-variant-numeric: tabular-nums; }
.activity-time small { color: var(--muted); font-size: .66rem; }
.ready-mark.quiet { background: #7a8790; }
.workspace-columns, .detail-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: .8rem; }
.movement-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.movement-card { display: flex; min-width: 0; min-height: 4.25rem; align-items: center; gap: .7rem; padding: .65rem .8rem; text-decoration: none; }
.movement-card.detailed { min-height: 5rem; }
.movement-symbol { display: inline-grid; width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; place-items: center; border-radius: .75rem; background: #e2f1fc; color: #19578b; font-size: 1.15rem; font-weight: 900; }
.movement-symbol.issue, .movement-symbol.adjustment_out { color: #8c3c13; background: #ffebd8; }
.movement-symbol.reversal { color: #6c3c88; background: #f0e5f6; }
.movement-symbol.transfer { color: var(--accent-dark); background: var(--accent-soft); }
.movement-capture-form { display: grid; gap: .8rem; }
.movement-step { display: grid; gap: .8rem; }
.movement-step-heading { display: grid; grid-template-columns: 2rem minmax(0, 1fr); align-items: start; gap: .65rem; border-bottom: 1px solid var(--border); padding-bottom: .65rem; }
.movement-step-heading h2 { margin: .05rem 0 .12rem; color: var(--accent-dark); }
.movement-step-heading p { margin: 0; color: var(--muted); font-size: .78rem; }
.movement-step-number { display: inline-grid; width: 2rem; height: 2rem; place-items: center; border-radius: .65rem; background: var(--accent); color: white; font-size: .78rem; font-weight: 900; }
.movement-common-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: .7rem; }
.receipt-common-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: .7rem; }
.operation-actor { display: flex; align-items: center; gap: .55rem; border: 1px solid #b9d8c6; border-radius: .75rem; background: #f3faf5; padding: .55rem .65rem; }
.operation-actor > span { display: inline-grid; width: 1.8rem; height: 1.8rem; flex: 0 0 1.8rem; place-items: center; border-radius: .55rem; background: var(--success); color: white; font-size: .78rem; font-weight: 900; }
.operation-actor p { display: flex; min-width: 0; flex-direction: column; gap: .08rem; margin: 0; }
.operation-actor strong { color: #245d39; font-size: .8rem; }
.operation-actor small { color: var(--muted); font-size: .72rem; }
.scanner-launch { display: grid; grid-template-columns: minmax(13rem, auto) minmax(0, 1fr); align-items: center; gap: .75rem; border: 1px solid #abc7d8; border-radius: .85rem; background: linear-gradient(135deg, var(--accent-pale), white); padding: .7rem; }
.scanner-block { display: grid; gap: .55rem; }
.scanner-launch p { margin: 0; color: var(--muted); font-size: .78rem; }
.scanner-open { gap: .55rem; }
.scanner-open svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.scanner-stage { position: relative; overflow: hidden; min-height: 15rem; border-radius: .9rem; background: #101820; color: white; }
.scanner-stage video { display: block; width: 100%; height: clamp(15rem, 42vw, 24rem); object-fit: cover; }
.scanner-guide { position: absolute; inset: 1rem 1rem 4.7rem; display: grid; place-items: center; pointer-events: none; }
.scanner-guide span { width: min(88%, 30rem); height: min(42%, 8rem); border: 2px solid rgba(255,255,255,.9); border-radius: .8rem; box-shadow: 0 0 0 999px rgba(5, 14, 20, .24); }
.scanner-guide span::after { content: ""; display: block; width: 88%; height: 2px; margin: calc(50% - 1px) auto 0; background: #79c8f2; box-shadow: 0 0 8px rgba(121, 200, 242, .9); }
.scanner-controls { position: absolute; right: 0; bottom: 0; left: 0; display: flex; min-height: 4rem; align-items: center; justify-content: space-between; gap: .75rem; background: linear-gradient(transparent, rgba(5,14,20,.92) 32%); padding: 1.25rem .75rem .65rem; }
.scanner-controls p { margin: 0; font-size: .78rem; font-weight: 750; }
.capture-separator { display: flex; align-items: center; gap: .65rem; color: var(--muted); font-size: .72rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.capture-separator::before, .capture-separator::after { content: ""; height: 1px; flex: 1; background: var(--border); }
.item-combobox { position: relative; }
.item-combobox > input { padding-right: 2.8rem; padding-left: 2.35rem; }
.item-selection-clear { position: absolute; z-index: 2; top: 50%; right: .35rem; width: 2.1rem; height: 2.1rem; border: 0; border-radius: .55rem; background: transparent; color: var(--muted); font-size: 1.35rem; line-height: 1; transform: translateY(-50%); cursor: pointer; }
.item-selection-clear:hover { color: var(--ink); background: var(--accent-soft); }
.item-search-results { position: absolute; z-index: 80; top: calc(100% + .3rem); right: 0; left: 0; max-height: min(22rem, 48vh); overflow-y: auto; border: 1px solid #9ebdce; border-radius: .75rem; background: white; box-shadow: 0 12px 32px rgba(23,68,95,.18); }
.item-search-option { display: grid; width: 100%; min-height: 3.45rem; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .65rem; border: 0; border-bottom: 1px solid var(--border); background: white; padding: .55rem .65rem; color: var(--ink); text-align: left; cursor: pointer; }
.item-search-option:last-child { border-bottom: 0; }
.item-search-option:hover, .item-search-option:focus { outline: 0; background: var(--accent-pale); }
.item-search-option:focus-visible { box-shadow: inset 0 0 0 3px rgba(40,101,138,.25); }
.item-search-option-main { display: flex; min-width: 0; flex-direction: column; gap: .15rem; }
.item-search-option-main strong { overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.item-search-option-main small { overflow: hidden; color: var(--muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.item-search-availability { color: var(--accent-dark); font-size: .72rem; font-weight: 850; white-space: nowrap; }
.capture-picker-block { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(16rem, .55fr); align-items: stretch; gap: .65rem; }
.quick-item-prompt { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: .45rem; border: 1px dashed #91b3c8; border-radius: .8rem; background: #f7fbfd; padding: .65rem .7rem; }
.quick-item-prompt p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.35; }
.quick-item-prompt strong { color: var(--accent-dark); }
.quick-item-prompt .button { min-height: var(--touch-target); padding: .4rem .65rem; font-size: .74rem; }
.movement-cart { overflow: hidden; border: 1px solid #acc7d7; border-radius: .85rem; background: white; }
.movement-cart.has-error { border-color: var(--danger); }
.movement-cart-heading { display: flex; min-height: 3.4rem; align-items: center; justify-content: space-between; gap: .7rem; background: linear-gradient(90deg, var(--accent-pale), white); padding: .55rem .7rem; }
.movement-cart-heading h3 { margin: 0 0 .08rem; color: var(--accent-dark); font-size: .9rem; }
.movement-cart-heading p { margin: 0; color: var(--muted); font-size: .7rem; }
.movement-cart-count { display: inline-grid; min-width: 2rem; height: 2rem; place-items: center; border-radius: 999px; background: var(--accent); padding: 0 .45rem; color: white; font-size: .75rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.movement-cart-empty { display: flex; min-height: 5rem; align-items: center; justify-content: center; gap: .6rem; border-top: 1px solid var(--border); padding: .75rem; color: var(--muted); text-align: left; }
.movement-cart-empty > span { color: #85a6ba; font-size: 1.7rem; }
.movement-cart-empty p, .movement-cart-identity { display: flex; min-width: 0; flex-direction: column; gap: .1rem; margin: 0; }
.movement-cart-empty strong { color: var(--ink); font-size: .84rem; }
.movement-cart-empty small { font-size: .72rem; }
.movement-cart-lines { border-top: 1px solid var(--border); }
.movement-cart-line { display: grid; min-height: 3.7rem; grid-template-columns: minmax(0, 1fr) auto var(--touch-target); align-items: center; gap: .65rem; border-top: 1px solid var(--border); padding: .45rem .55rem .45rem .7rem; transition: background .18s ease; }
.movement-cart-line.has-labels { grid-template-columns: minmax(0, 1fr) auto 7rem var(--touch-target); }
.receipt-pending-cart .movement-cart-line.has-labels { grid-template-columns: minmax(0, 1fr) auto 7rem; }
.receipt-pending-cart .movement-cart-line.is-inactive { background: #f6f8f9; }
.receipt-pending-cart .movement-cart-line.is-inactive .movement-cart-identity { opacity: .72; }
.movement-cart-line:first-child { border-top: 0; }
.movement-cart-line.just-scanned { background: #eaf7ef; animation: cart-scan-pulse .7s ease-out; }
@keyframes cart-scan-pulse { from { box-shadow: inset 4px 0 var(--success); } to { box-shadow: inset 0 0 transparent; } }
.movement-cart-identity strong { overflow: hidden; font-size: .84rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.movement-cart-identity small { overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.variable-package-inline-link { display: inline-flex; width: fit-content; min-height: var(--touch-target); align-items: center; margin: -.38rem 0 -.45rem; color: var(--accent-dark); font-size: .67rem; font-weight: 800; line-height: 1.25; text-decoration: underline; text-decoration-color: #94b7ca; text-underline-offset: .16rem; }
.variable-package-inline-link:hover, .variable-package-inline-link:focus-visible { color: var(--accent); text-decoration-color: currentColor; }
.provisional-item-mark { width: fit-content; border-radius: 999px; background: #fff0c7; padding: .14rem .38rem; color: #7a4b00; font-size: .62rem; font-style: normal; font-weight: 850; }
.movement-cart-quantity { display: grid; grid-template-columns: var(--touch-target) 4.9rem var(--touch-target) auto; align-items: center; gap: .25rem; }
.movement-cart-quantity input { width: 100%; min-height: var(--touch-target); padding: .35rem; text-align: center; font-variant-numeric: tabular-nums; }
.movement-cart-quantity small { max-width: 4.5rem; overflow: hidden; color: var(--muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.movement-cart-labels { display: grid; gap: .15rem; margin: 0; color: var(--muted); font-size: .64rem; font-weight: 800; text-align: center; }
.movement-cart-labels input { min-height: var(--touch-target); padding: .35rem; text-align: center; font-variant-numeric: tabular-nums; }
.quantity-button, .movement-cart-remove { display: inline-grid; width: var(--touch-target); height: var(--touch-target); place-items: center; border: 1px solid #b8cbd6; border-radius: .65rem; background: white; color: var(--accent-dark); font-size: 1.15rem; font-weight: 850; line-height: 1; cursor: pointer; }
.quantity-button:hover, .quantity-button:focus-visible { border-color: var(--accent); background: var(--accent-pale); }
.movement-cart-remove { border-color: transparent; color: var(--muted); font-size: 1.4rem; }
.movement-cart-remove:hover, .movement-cart-remove:focus-visible { background: #fff0f0; color: var(--danger); }
.request-capture-form, .request-header-step, .request-material-editor, .request-line-add-form { display: grid; gap: .85rem; }
.request-header-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem .8rem; }
.request-header-grid .field { margin: 0; }
.request-actor { margin-bottom: .05rem; }
.work-context-actions { display: flex; min-height: var(--touch-target); align-items: center; flex-wrap: wrap; gap: .4rem .7rem; margin-top: .3rem; }
.work-context-actions .text-link { font-size: .74rem; }
.optional-context { min-width: 0; overflow: visible; border: 1px dashed #9ebdce; border-radius: .8rem; background: #f7fbfd; }
.optional-context > summary { display: flex; min-height: var(--touch-target); align-items: center; justify-content: space-between; gap: .7rem; padding: .55rem .7rem; color: var(--accent-dark); font-size: .78rem; font-weight: 850; cursor: pointer; }
.optional-context > summary small { border-radius: 999px; background: var(--accent-soft); padding: .18rem .42rem; color: var(--muted); font-size: .63rem; text-transform: uppercase; }
.optional-context[open] > summary { border-bottom: 1px solid var(--border); }
.optional-context-body { padding: .7rem; }
.optional-context-body > .field { margin: 0; }
.request-editor-heading { grid-template-columns: minmax(0, 1fr); }
.request-line-add-form { margin-bottom: 1rem; }
.request-line-add-actions { justify-content: flex-end; margin-top: -.25rem; }
.request-material-lines { border-top: 1px solid var(--border); }
.request-material-line { display: grid; min-height: 4.3rem; grid-template-columns: minmax(11rem, 1fr) auto minmax(10rem, .72fr) var(--touch-target); align-items: center; gap: .6rem; border-top: 1px solid var(--border); padding: .55rem .55rem .55rem .7rem; }
.request-material-line:first-child { border-top: 0; }
.request-material-identity { display: flex; min-width: 0; flex-direction: column; gap: .1rem; }
.request-material-identity strong { overflow: hidden; font-size: .84rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.request-material-identity small { overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.request-material-note { display: grid; min-width: 0; gap: .15rem; margin: 0; color: var(--muted); font-size: .64rem; font-weight: 800; }
.request-material-note input { width: 100%; min-height: var(--touch-target); padding: .4rem .55rem; }
.request-material-remove { align-self: end; }
.request-free-material-link { width: fit-content; margin-top: -.2rem; font-size: .75rem; }
.request-free-fields { display: grid; grid-template-columns: minmax(7rem, .45fr) minmax(10rem, 1fr); gap: .7rem; }
.request-free-material-dialog .field { margin: 0; }
.request-material-line.is-uncatalogued { background: #fffaf0; }
.request-material-line.is-uncatalogued .request-material-identity small { color: #7a4b00; font-weight: 800; }
.reservation-header-step, .reservation-material-editor, .reservation-line-add-form { display: grid; gap: .85rem; }
.reservation-owner-note { display: flex; align-items: center; gap: .55rem; border: 1px solid #b9d8c6; border-radius: .75rem; background: #f3faf5; padding: .55rem .65rem; }
.reservation-owner-note > span { display: inline-grid; width: 1.8rem; height: 1.8rem; flex: 0 0 1.8rem; place-items: center; border-radius: .55rem; background: var(--success); color: white; font-size: .62rem; }
.reservation-owner-note > div { display: flex; min-width: 0; flex-direction: column; gap: .08rem; }
.reservation-owner-note strong { color: #245d39; font-size: .8rem; }
.reservation-owner-note small { color: var(--muted); font-size: .72rem; }
.reservation-header-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem .8rem; }
.reservation-header-grid .field { margin: 0; }
.reservation-header-grid .field-wide { grid-column: 1 / -1; }
.reservation-material-editor { margin-bottom: 0; }
.reservation-line-add-form { margin: .2rem 0 1rem; }
.reservation-line-add-form .reservation-material-editor { background: #f9fbfc; box-shadow: none; }
.reservation-warehouse-field { max-width: 28rem; margin: 0; }
.reservation-cart-lines { border-top: 1px solid var(--border); }
.reservation-cart-line { display: grid; min-height: 4rem; grid-template-columns: minmax(11rem, 1fr) auto var(--touch-target); align-items: center; gap: .65rem; border-top: 1px solid var(--border); padding: .5rem .55rem .5rem .7rem; }
.reservation-cart-line:first-child { border-top: 0; }
.reservation-cart-identity { display: flex; min-width: 0; flex-direction: column; gap: .1rem; }
.reservation-cart-identity strong { overflow: hidden; font-size: .84rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.reservation-cart-identity small { overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.reservation-cart-identity .reservation-cart-technical { color: #49616f; }
.reservation-cart-remove { align-self: center; }
.reservation-submit-note { margin-top: -.15rem; border-left: 4px solid var(--accent); border-radius: .7rem; background: var(--accent-pale); padding: .6rem .75rem; color: var(--muted); font-size: .78rem; }
.reservation-submit-note strong { color: var(--accent-dark); }
.reservation-line-edit { display: grid; grid-template-columns: minmax(5.5rem, 8rem) auto; gap: .4rem; }
.reservation-line-edit input { min-height: var(--touch-target); padding: .35rem .45rem; text-align: right; }
.reservation-remove-line { min-height: 2.1rem; margin-top: .2rem; }
.reservation-lines-table td small { display: block; margin-top: .1rem; color: var(--muted); font-size: .7rem; }
.reservation-flow-note { margin-top: .8rem; border-left: 4px solid var(--accent); border-radius: .7rem; background: var(--accent-pale); padding: .65rem .8rem; color: var(--muted); font-size: .78rem; }
.reservation-flow-note strong { color: var(--accent-dark); }
.personal-reservation-reminder { border: 1px solid #e4c36b; border-radius: .85rem; background: #fffbef; padding: .7rem; }
.personal-reservation-reminder .compact-task-list { box-shadow: none; }
.task-count.reservation-count { color: #765000; background: #fff0c7; }
.reservation-reminder-overflow { margin: .5rem .2rem 0; color: #765000; font-size: .72rem; font-weight: 750; }
.movement-trace-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.movement-form-actions { margin-top: 0; border: 1px solid #b8ccd8; border-radius: .85rem; background: white; padding: .6rem; box-shadow: 0 5px 18px rgba(23,68,95,.08); }
.receipt-secondary-capture { overflow: hidden; border: 1px solid var(--border); border-radius: .8rem; background: #f7fafc; }
.receipt-secondary-capture > summary { padding: .55rem .7rem; color: var(--accent-dark); font-size: .78rem; }
.receipt-secondary-capture > summary::after { content: "▾"; margin-left: auto; transition: transform .15s ease; }
.receipt-secondary-capture[open] > summary::after { transform: rotate(180deg); }
.receipt-secondary-capture-body { display: grid; gap: .65rem; border-top: 1px solid var(--border); padding: .7rem; }
.document-capture { overflow: hidden; border: 1px solid #adc7d6; border-radius: .85rem; background: linear-gradient(135deg, var(--accent-pale), white); padding: .7rem; }
.document-capture-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.document-capture-actions .button { width: 100%; }
.document-capture-actions .button svg { width: 1rem; height: 1rem; flex: 0 0 auto; fill: currentColor; }
.document-file-control { position: relative; overflow: hidden; cursor: pointer; }
.document-file-control input { position: absolute; width: 1px; height: 1px; min-height: 1px; opacity: 0; pointer-events: none; }
.document-file-status { margin: .45rem 0 0; color: var(--muted); font-size: .72rem; }
.document-camera-stage { position: relative; overflow: hidden; margin-top: .65rem; border-radius: .8rem; background: #081117; color: white; }
.document-camera-stage video { display: block; width: 100%; height: min(58dvh, 30rem); object-fit: cover; }
.document-camera-guide { position: absolute; inset: 7% 8% 5.2rem; border: 2px solid rgba(255,255,255,.9); border-radius: .35rem; box-shadow: 0 0 0 200vmax rgba(0,0,0,.24); pointer-events: none; }
.document-camera-controls { position: absolute; right: 0; bottom: 0; left: 0; display: grid; min-height: 4.7rem; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .5rem; background: linear-gradient(transparent, rgba(5,14,20,.94) 30%); padding: 1.4rem .65rem .55rem; }
.document-camera-controls p { margin: 0; font-size: .7rem; }
.document-scan-preview { margin-top: .65rem; border-radius: .75rem; background: white; padding: .55rem; box-shadow: inset 0 0 0 1px var(--border); }
.document-scan-preview canvas { display: block; width: auto; max-width: 100%; max-height: 28rem; margin: 0 auto; border-radius: .25rem; background: #eef2f4; }
.document-scan-preview > p { margin: .5rem 0 0; color: var(--muted); font-size: .72rem; text-align: center; }
.document-scan-preview .button-row { justify-content: center; margin-top: .5rem; }
.receipt-signature-step { border-color: #a8c6d7; }
.receipt-signature-options > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; }
.receipt-signature-options label { display: flex; min-height: var(--touch-target); align-items: center; gap: .45rem; margin: 0; border: 1px solid var(--border); border-radius: .7rem; background: #f8fafb; padding: .5rem .6rem; font-size: .75rem; cursor: pointer; }
.receipt-signature-options label:has(input:checked) { border-color: var(--accent); background: var(--accent-pale); color: var(--accent-dark); }
.receipt-signature-step .signature-field, .receipt-sign-form .signature-field { margin-top: .7rem; }
.unexpected-material-notice { display: flex; align-items: center; justify-content: space-between; gap: .75rem; border-left: 4px solid var(--warning); border-radius: .7rem; background: #fffbef; padding: .65rem .75rem; }
.unexpected-material-notice p { margin: .15rem 0 0; color: var(--muted); font-size: .74rem; }
.unexpected-material-notice .button { flex: 0 0 auto; }
.quick-item-dialog { width: min(94vw, 36rem); max-height: 90vh; overflow: auto; border: 0; border-radius: 1rem; padding: 0; box-shadow: 0 24px 70px rgba(12, 38, 54, .28); }
.quick-item-dialog::backdrop { background: rgba(12, 38, 54, .58); backdrop-filter: blur(2px); }
.quick-item-dialog-shell { display: grid; gap: .7rem; padding: 1rem; }
.quick-item-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; border-bottom: 1px solid var(--border); padding-bottom: .7rem; }
.quick-item-dialog-heading h2 { margin-bottom: .2rem; }
.quick-item-dialog-heading p { margin: 0; color: var(--muted); font-size: .78rem; }
.dialog-close { display: grid; width: var(--touch-target); height: var(--touch-target); flex: 0 0 var(--touch-target); place-items: center; border: 0; border-radius: .65rem; background: var(--accent-pale); color: var(--accent-dark); font-size: 1.5rem; cursor: pointer; }
.quick-item-safety { border-radius: .7rem; background: #fffbef; padding: .6rem .7rem; }
.quick-item-safety p { margin: .15rem 0 0; color: var(--muted); font-size: .74rem; }
.quick-item-dialog .alert { margin: 0; }
.quick-item-dialog .alert ul { margin: 0; padding-left: 1.2rem; }
.quick-barcode-panel { display: grid; gap: .6rem; border: 1px solid #c8d8e2; border-radius: .8rem; background: #f8fbfd; padding: .7rem; }
.quick-barcode-heading { display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.quick-barcode-heading > div { display: flex; min-width: 0; align-items: center; gap: .5rem; }
.quick-barcode-heading h3 { margin: 0; font-size: .9rem; }
.quick-step { display: grid; min-width: 2.1rem; height: 1.55rem; place-items: center; border-radius: 999px; background: var(--accent-soft); color: var(--accent-dark); font-size: .62rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.quick-barcode-field { border-top: 1px solid var(--border); padding-top: .55rem; }
.optional-mark { margin-left: .25rem; color: var(--muted); font-size: .65rem; font-weight: 700; }
.quick-barcode-pending { border-left: 3px solid #91a6b2; border-radius: .55rem; background: white; padding: .55rem .65rem; }
.quick-barcode-pending p { margin: .12rem 0 0; color: var(--muted); font-size: .73rem; line-height: 1.4; }
.quick-barcode-config { display: grid; gap: .5rem; border-top: 1px solid var(--border); padding-top: .6rem; }
.quick-factor-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.quick-factor-heading strong { color: var(--accent-dark); font-size: .8rem; }
.quick-factor-heading span { color: var(--muted); font-size: .68rem; }
.quick-scan-equivalence { margin: 0; border-radius: .55rem; background: var(--accent-pale); padding: .5rem .6rem; color: var(--muted); font-size: .73rem; line-height: 1.4; }
.quick-scan-equivalence strong { color: var(--accent-dark); }
.quick-barcode-config .danger-link { justify-self: start; min-height: 2rem; }
.batch-lines-dense .dense-list-head, .batch-lines-dense .dense-list-row { grid-template-columns: minmax(13rem, 1fr) minmax(7rem, .32fr) minmax(7rem, .28fr) .8rem; }
.tools-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.tool-action-card { display: flex; min-width: 0; min-height: 8rem; flex-direction: column; justify-content: flex-start; gap: .15rem; border: 1px solid var(--border); border-radius: .9rem; background: var(--surface); padding: .8rem; color: var(--ink); text-decoration: none; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.tool-action-card:hover { border-color: #91b3c8; background: var(--accent-pale); }
.tool-action-icon { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; place-items: center; margin-bottom: .5rem; border-radius: .8rem; background: var(--accent-soft); color: var(--accent-dark); font-size: 1.2rem; font-weight: 900; }
.tool-action-card strong { font-size: 1.05rem; }
.tool-action-card small { color: var(--muted); line-height: 1.35; }
.search-toolbar { display: grid; container-type: inline-size; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .4rem; margin-bottom: .8rem; border: 1px solid #c8d8e2; border-radius: .9rem; background: rgba(255, 255, 255, .92); padding: .4rem; box-shadow: 0 5px 18px rgba(23, 68, 95, .055); }
.search-control { position: relative; min-width: 0; grid-column: 1; grid-row: 1; }
.search-control input { min-height: var(--touch-target); border-color: transparent; background: #f1f6f9; padding-left: 2.35rem; }
.search-control input:focus { border-color: var(--accent); background: white; }
.search-icon { position: absolute; z-index: 1; top: 50%; left: .8rem; color: var(--accent); font-size: 1.25rem; font-weight: 900; line-height: 1; transform: translateY(-52%); pointer-events: none; }
.filter-drawer { display: contents; }
.filter-drawer > summary { min-height: var(--touch-target); grid-column: 2; grid-row: 1; gap: .35rem; border: 1px solid #a9c1d1; border-radius: .65rem; padding: .45rem .75rem; color: var(--accent-dark); list-style: none; white-space: nowrap; }
.filter-drawer > summary::-webkit-details-marker { display: none; }
.filter-drawer > summary::after { content: "▾"; margin-left: .15rem; font-size: .75rem; transition: transform .15s ease; }
.filter-drawer[open] > summary { background: var(--accent-pale); }
.filter-drawer[open] > summary::after { transform: rotate(180deg); }
.filter-drawer > summary b { border-radius: 999px; background: var(--accent); padding: .14rem .38rem; color: white; font-size: .59rem; letter-spacing: .02em; text-transform: uppercase; }
.search-submit { grid-column: 3; grid-row: 1; }
.filter-drawer-body { display: grid; width: 100cqw; min-width: 0; grid-column: 1 / -1; grid-row: 2; gap: .65rem; margin: .15rem 0 -.05rem; border-top: 1px solid var(--border); border-radius: 0 0 .65rem .65rem; background: linear-gradient(180deg, rgba(239, 246, 250, .72), rgba(255, 255, 255, .35)); padding: .7rem .35rem .25rem; }
.filter-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: .55rem; }
.filter-fields.three-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.filter-fields.single-field { width: min(100%, 18rem); grid-template-columns: 1fr; }
.filter-check { padding-bottom: .05rem; }
.filter-actions { display: flex; justify-content: flex-end; gap: .45rem; }
.filter-result-summary { margin: -.25rem 0 .7rem; color: var(--muted); font-size: .76rem; }
.filter-result-summary strong { color: var(--accent-dark); font-variant-numeric: tabular-nums; }
.technical-filter-panel { grid-column: 1 / -1; border-top: 1px solid var(--border); padding-top: .55rem; }
.technical-filter-panel summary { width: fit-content; cursor: pointer; color: var(--accent-dark); font-size: .78rem; font-weight: 850; }
.technical-filter-panel > p { margin: .4rem 0 .55rem; color: var(--muted); font-size: .75rem; }
.technical-filter-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.technical-filter-pair { display: grid; min-width: 0; grid-template-columns: minmax(7rem, 1.2fr) minmax(5rem, .8fr); gap: .4rem; }
.inventory-grid, .entity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.inventory-card, .entity-card { display: block; min-width: 0; padding: .9rem; text-decoration: none; }
.inventory-card.low-stock { border-color: #e1bd75; }
.inventory-card h2, .entity-card h2 { margin: .65rem 0 .3rem; }
.inventory-card h2 a, .entity-card h2 { text-decoration: none; }
.inventory-card h2 a { display: flex; min-height: var(--touch-target); align-items: center; }
.inventory-card p, .entity-card p { margin: .3rem 0; }
.inventory-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin-top: .7rem; border-top: 1px solid var(--border); padding-top: .65rem; }
.inventory-summary div { display: flex; min-width: 0; flex-direction: column; gap: .15rem; }
.inventory-summary small { color: var(--muted); font-size: .68rem; text-transform: uppercase; }
.inventory-summary strong { font-size: .9rem; overflow-wrap: anywhere; }
.position-list { display: grid; gap: .25rem; padding-top: .35rem; }
.position-list div { display: flex; justify-content: space-between; gap: .8rem; padding: .35rem 0; }
.position-list small { color: var(--muted); }
.list-context { margin: -.2rem 0 .45rem; color: var(--muted); font-size: .78rem; }
.dense-list { overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--shadow-card); }
.dense-list-head, .dense-list-row { display: grid; min-width: 0; align-items: center; gap: .55rem; }
.dense-list-head { min-height: 2.35rem; background: var(--accent-pale); padding: .45rem .65rem; color: var(--accent-dark); font-size: .7rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.dense-list-row { min-height: 3.4rem; border-top: 1px solid var(--border); padding: .45rem .65rem; color: var(--ink); text-decoration: none; transition: background .12s ease; }
.dense-list-row:hover { background: var(--accent-pale); }
.dense-list-row:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(40, 101, 138, .28); outline-offset: -3px; }
.barcode-alias-section { margin-bottom: .8rem; }
.barcode-alias-list .dense-list-head, .barcode-alias-list .dense-list-row { grid-template-columns: minmax(12rem, 1.45fr) minmax(9rem, 1fr) minmax(6rem, .45fr) auto; }
.barcode-alias-list .dense-list-row.is-inactive { opacity: .62; }
.barcode-row-actions { display: flex; justify-content: flex-end; gap: .35rem; }
.barcode-internal-action { display: flex; align-items: center; gap: .7rem; margin-top: .65rem; }
.barcode-internal-action p { margin: 0; }
.variable-package-section { display: grid; gap: .7rem; margin-bottom: .8rem; border: 1px solid #9fc5da; border-radius: 1rem; background: linear-gradient(135deg, #eef8fd, white 62%); padding: .85rem; }
.variable-package-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.variable-package-intro h2 { margin: .15rem 0 .25rem; color: var(--accent-dark); }
.variable-package-intro p { max-width: 48rem; margin: 0; color: var(--muted); }
.variable-package-intro .button { flex: 0 0 auto; }
.variable-package-example { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; border-radius: .75rem; background: white; padding: .55rem .65rem; box-shadow: inset 0 0 0 1px var(--border); }
.variable-package-example strong { color: var(--accent-dark); font-size: .76rem; text-transform: uppercase; }
.variable-package-example span { border-radius: 999px; background: var(--accent-soft); padding: .25rem .5rem; color: var(--accent-dark); font-size: .75rem; font-weight: 800; }
.variable-package-example small { margin-left: auto; color: var(--muted); }
.variable-package-recent-heading { margin: .15rem 0 -.15rem; }
.variable-package-recent-heading h3 { margin: 0; font-size: .92rem; }
.variable-package-list .dense-list-head, .variable-package-list .dense-list-row { grid-template-columns: minmax(12rem, 1.4fr) minmax(7rem, .5fr) minmax(8rem, .6fr) auto; }
.variable-package-list .dense-list-row.is-inactive { opacity: .62; }
.variable-package-quantity { display: flex; min-width: 0; flex-direction: column; color: var(--accent-dark); font-variant-numeric: tabular-nums; }
.variable-package-quantity strong { font-size: 1rem; }
.variable-package-quantity small { color: var(--muted); font-size: .68rem; }
.variable-package-empty { margin: 0; border-left: 3px solid #9fc5da; padding: .35rem .65rem; color: var(--muted); font-size: .8rem; }
.variable-package-explanation { margin-bottom: .75rem; border-left: 4px solid var(--accent); border-radius: .75rem; background: var(--accent-pale); padding: .65rem .75rem; }
.variable-package-explanation p { margin: .18rem 0 0; color: var(--muted); font-size: .8rem; }
.variable-package-search { grid-template-columns: minmax(0, 1fr) minmax(8rem, 11rem) auto; }
.variable-package-form { max-width: 42rem; }
.variable-package-label { border-color: #6fa6c4; background: #f8fcfe; }
.variable-package-label .barcode-label-brand { color: #165d83; }
.variable-package-label > small b { display: inline-block; margin-bottom: .5mm; color: #0d4f72; font-size: 11pt; line-height: 1; }
.catalog-dense .dense-list-head, .catalog-dense .dense-list-row { grid-template-columns: .55rem minmax(13rem, 2fr) minmax(9rem, 1.3fr) minmax(3.5rem, .45fr) minmax(5rem, .65fr) .8rem; }
.stock-dense .dense-list-head, .stock-dense .dense-list-row { grid-template-columns: .55rem minmax(13rem, 1.8fr) minmax(7rem, .9fr) minmax(8rem, 1fr) repeat(3, minmax(4.4rem, .55fr)) .8rem; }
.inventory-subnav { display: flex; width: fit-content; max-width: 100%; align-items: center; gap: .25rem; margin: -.25rem 0 .85rem; border: 1px solid #b9ccd8; border-radius: .75rem; background: #f2f7fa; padding: .22rem; }
.inventory-subnav a { display: inline-flex; min-height: var(--touch-target); align-items: center; justify-content: center; gap: .4rem; border-radius: .55rem; padding: .38rem .75rem; color: var(--muted); font-size: .78rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.inventory-subnav a:hover { color: var(--accent-dark); background: white; }
.inventory-subnav a.is-active { background: white; color: var(--accent-dark); box-shadow: 0 2px 8px rgba(23,68,95,.12); }
.inventory-subnav span { display: inline-grid; min-width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 999px; background: var(--accent); padding: 0 .32rem; color: white; font-size: .66rem; font-variant-numeric: tabular-nums; }
.warehouse-switcher { margin-bottom: .65rem; }
.warehouse-tabs { display: flex; max-width: 100%; gap: .35rem; overflow-x: auto; padding: .08rem .08rem .32rem; scrollbar-width: thin; }
.warehouse-tab { display: flex; min-width: 8.5rem; min-height: 3.35rem; flex: 1 0 8.5rem; flex-direction: column; justify-content: center; gap: .08rem; border: 1px solid #bfd0da; border-radius: .75rem; background: #f7fafc; padding: .48rem .65rem; color: var(--ink); text-decoration: none; }
.warehouse-tab:hover { border-color: #83afc7; background: var(--accent-pale); }
.warehouse-tab strong { overflow: hidden; font-size: .78rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.warehouse-tab small { color: var(--muted); font-size: .66rem; }
.warehouse-tab.is-active { border-color: var(--accent); background: var(--accent); color: white; box-shadow: 0 4px 12px rgba(40,101,138,.18); }
.warehouse-tab.is-active small { color: rgba(255,255,255,.8); }
.warehouse-tab.warning-tab:not(.is-active) { border-color: #e4c36b; background: #fffbef; }
.warehouse-tab.warning-tab.is-active { border-color: #9b6a00; background: #9b6a00; }
.warehouse-select-form { display: none; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .45rem; border: 1px solid #bfd0da; border-radius: .75rem; background: #f7fafc; padding: .55rem; }
.warehouse-select-form .field { margin: 0; }
.warehouse-switcher.is-many .warehouse-tabs { display: none; }
.warehouse-switcher.is-many .warehouse-select-form { display: grid; }
.warehouse-stock-section { overflow: hidden; border: 1px solid var(--border); border-radius: .9rem; background: var(--surface); box-shadow: var(--shadow-card); }
.warehouse-stock-section.is-open { border-color: #a9c4d4; }
.warehouse-current-bar { display: grid; min-height: 4.25rem; grid-template-columns: 2.35rem minmax(0, 1fr) auto; align-items: center; gap: .7rem; background: linear-gradient(90deg, var(--accent-pale), white); padding: .65rem .8rem; }
.warehouse-toggle-icon { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .7rem; background: var(--accent-soft); color: var(--accent-dark); font-size: 1.15rem; font-weight: 900; }
.warehouse-toggle-icon.warning { background: #fff0c7; color: var(--warning); }
.warehouse-toggle-main { display: flex; min-width: 0; flex-direction: column; gap: .15rem; }
.warehouse-toggle-main strong { overflow: hidden; font-size: .98rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.warehouse-toggle-main small { overflow: hidden; color: var(--muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.warehouse-panel { border-top: 1px solid var(--border); background: #f9fbfc; padding: .65rem; }
.warehouse-panel .list-context { margin: 0 0 .4rem; }
.warehouse-panel .dense-list { box-shadow: none; }
.warehouse-panel .pagination { margin-bottom: 0; }
.warehouse-panel-empty { display: flex; flex-direction: column; gap: .2rem; padding: .8rem; color: var(--muted); text-align: center; }
.warehouse-panel-empty strong { color: var(--ink); }
.warehouse-stock-dense .dense-list-head, .warehouse-stock-dense .dense-list-row { grid-template-columns: .55rem minmax(13rem, 2fr) minmax(8rem, 1fr) repeat(3, minmax(4.4rem, .55fr)) .8rem; }
.warehouse-stock-dense .low-position { background: #fffdf7; }
.warehouse-stock-dense .empty-position { background: #fffafa; }
.dense-primary, .dense-cell { min-width: 0; }
.dense-primary, .dense-cell:not(.number-cell) { display: flex; flex-direction: column; gap: .12rem; }
.dense-primary strong, .dense-cell strong { overflow: hidden; line-height: 1.25; overflow-wrap: anywhere; }
.dense-primary strong { font-size: .9rem; }
.dense-primary small, .dense-cell small { min-width: 0; margin: 0; overflow: hidden; color: var(--muted); font-size: .7rem; line-height: 1.25; overflow-wrap: anywhere; }
.dense-primary .technical-summary { display: flex; flex-wrap: wrap; gap: .12rem .45rem; margin-top: .04rem; color: #49616f; }
.technical-summary span { white-space: nowrap; }
.technical-summary b { color: var(--ink); font-weight: 800; }
.number-cell { text-align: right; font-variant-numeric: tabular-nums; }
.dense-cell.number-cell { display: block; }
.dense-cell.number-cell strong { font-size: .84rem; }
.dense-cell.number-cell small { display: block; }
.dense-arrow { color: var(--accent); font-size: 1.25rem; font-weight: 800; text-align: right; }
.state-dot { display: inline-block; width: .55rem; height: .55rem; border-radius: 50%; background: var(--muted); box-shadow: 0 0 0 3px #edf0f2; }
.state-dot.ok { background: var(--success); box-shadow: 0 0 0 3px #e3f4e9; }
.state-dot.warning { background: #b06d00; box-shadow: 0 0 0 3px #fff0c7; }
.state-dot.danger { background: var(--danger); box-shadow: 0 0 0 3px #fee2e2; }
.state-dot.quiet { background: #7a8790; }
.stock-dense .low-position { background: #fffdf7; }
.stock-dense .empty-position { background: #fffafa; }
.valuation-summary { display: grid; grid-template-columns: minmax(12rem, .8fr) minmax(0, 1.2fr); align-items: center; gap: .8rem; margin-bottom: .8rem; border: 1px solid #a9c1d1; border-radius: .9rem; background: linear-gradient(135deg, white, var(--accent-pale)); padding: .8rem 1rem; }
.valuation-summary > div { display: flex; flex-direction: column; gap: .15rem; }
.valuation-summary span { color: var(--muted); font-size: .7rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.valuation-summary strong { color: var(--accent-dark); font-size: 1.55rem; font-variant-numeric: tabular-nums; }
.valuation-summary p { margin: 0; color: var(--muted); font-size: .76rem; }
.valuation-search { grid-template-columns: minmax(0, 1fr) auto; }
.valuation-search .search-submit { grid-column: 2; }
.valuation-dense .dense-list-head, .valuation-dense .dense-list-row { grid-template-columns: minmax(12rem, 1.7fr) minmax(8rem, 1fr) repeat(3, minmax(5.5rem, .7fr)) .8rem; }
.movement-dense .dense-list-head, .movement-dense .dense-list-row { grid-template-columns: 1.8rem minmax(6.4rem, .7fr) minmax(10rem, 1.45fr) minmax(12rem, 1.65fr) minmax(7rem, .85fr) minmax(6rem, .7fr) .8rem; }
.movement-date strong { white-space: nowrap; }
.movement-symbol.dense-symbol { width: 1.75rem; height: 1.75rem; min-width: 1.75rem; flex-basis: 1.75rem; border-radius: .55rem; font-size: .86rem; }
.movement-row.entry, .movement-row.return, .movement-row.purchase_receipt { border-left: 3px solid #5b9a74; }
.movement-row.issue, .movement-row.adjustment_out { border-left: 3px solid #d18a58; }
.movement-row.transfer { border-left: 3px solid var(--accent); }
.movement-row.reversal { border-left: 3px solid #8e66a6; }
.procurement-dense .dense-list-head, .procurement-dense .dense-list-row { grid-template-columns: 1.8rem minmax(11rem, 1.5fr) minmax(8rem, 1fr) minmax(7rem, .85fr) minmax(4rem, .45fr) minmax(5.5rem, .65fr) .8rem; }
.reservation-dense .dense-list-head, .reservation-dense .dense-list-row { grid-template-columns: 1.8rem minmax(10rem, 1.25fr) minmax(8.5rem, 1fr) minmax(3.5rem, .35fr) minmax(10rem, 1.15fr) minmax(6rem, .65fr) .8rem; }
.reservation-dense .procurement-context strong, .reservation-dense .procurement-date strong { text-overflow: ellipsis; white-space: nowrap; }
.record-kind { display: inline-grid; width: 1.7rem; height: 1.7rem; place-items: center; color: white; font-size: .7rem; font-weight: 900; }
.record-kind.request-kind { border-radius: 50%; background: #6c5c91; }
.record-kind.order-kind { border-radius: .45rem; background: var(--accent); }
.procurement-primary .status { display: inline-flex; margin-right: .15rem; padding: .12rem .35rem; font-size: .62rem; }
.procurement-lines small { display: block; }
.pagination { display: flex; min-height: var(--touch-target); align-items: center; justify-content: space-between; gap: .65rem; margin-top: .65rem; color: var(--muted); font-size: .8rem; }
.pagination > div { display: flex; gap: .45rem; }
.entity-card small { color: var(--muted); }
.asset-overview, .order-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; margin-bottom: .8rem; border: 1px solid var(--border); border-radius: 1rem; background: white; }
.order-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.asset-overview > div, .order-summary > div { display: flex; min-width: 0; flex-direction: column; gap: .25rem; border-right: 1px solid var(--border); padding: .8rem; }
.order-summary > div { justify-content: center; padding: .58rem .75rem; }
.asset-overview > div:last-child, .order-summary > div:last-child { border-right: 0; }
.asset-overview small, .order-summary small { color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.asset-overview strong, .order-summary strong { overflow-wrap: anywhere; }
.inner-list { box-shadow: none; }
.reason-block { margin-top: .8rem; border-left: 4px solid var(--accent); background: var(--accent-pale); padding: .65rem .8rem; }
.reason-block p { margin: .3rem 0 0; }
.context-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .8rem; }
.context-chips span { border-radius: 999px; background: var(--accent-soft); padding: .3rem .6rem; color: var(--accent-dark); font-size: .78rem; font-weight: 800; }
.document-section { margin-top: .8rem; }
.order-document-panel { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .8rem; }
.order-document-panel h2 { margin: .12rem 0 .28rem; }
.order-document-panel p { max-width: 48rem; margin: 0; color: var(--muted); }
.order-document-panel .button-row { flex: 0 0 auto; margin: 0; }
.order-lines-section { margin-bottom: .8rem; }
.order-lines-section > .section-heading { align-items: center; margin-bottom: .45rem; }
.order-lines-section > .section-heading h2 { margin: 0; }
.order-operations-panel { overflow: hidden; margin-bottom: .8rem; padding: 0; }
.order-operations-heading, .order-history-heading { display: flex; min-height: 3.4rem; align-items: center; justify-content: space-between; gap: .75rem; padding: .55rem .75rem; }
.order-operations-heading h2, .order-history-heading h2 { margin: .08rem 0 0; color: var(--accent-dark); font-size: 1rem; }
.order-operation-row { display: grid; min-height: 4.15rem; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .8rem; border-top: 1px solid var(--border); padding: .58rem .75rem; }
.order-operation-copy { display: flex; min-width: 0; flex-direction: column; gap: .12rem; }
.order-operation-copy > strong { color: var(--ink); font-size: .82rem; }
.order-operation-copy > small { max-width: 48rem; color: var(--muted); font-size: .7rem; line-height: 1.4; }
.order-operation-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .4rem; }
.order-operation-actions form { margin: 0; }
.order-operation-actions .button { white-space: nowrap; }
.order-email-missing { margin-top: .15rem; }
.order-history-panel { overflow: hidden; margin-bottom: .8rem; padding: 0; }
.order-history-heading { display: block; }
.order-history-heading p { margin: .1rem 0 0; color: var(--muted); font-size: .7rem; }
.order-history-section { border-top: 1px solid var(--border); }
.order-history-section > summary, .order-archive > summary { display: flex; min-height: 3.35rem; align-items: center; justify-content: space-between; gap: .75rem; padding: .52rem .75rem; color: var(--accent-dark); }
.order-history-section > summary > span:first-child, .order-archive > summary > span:first-child { display: flex; min-width: 0; flex-direction: column; gap: .08rem; }
.order-history-section > summary strong, .order-archive > summary strong { font-size: .8rem; }
.order-history-section > summary small, .order-archive > summary small { color: var(--muted); font-size: .66rem; font-weight: 500; }
.order-history-section[open] > summary, .order-archive[open] > summary { background: #f7fafc; }
.order-history-body { border-top: 1px solid var(--border); padding: .6rem .75rem; }
.order-history-body .timeline-card { box-shadow: none; }
.order-archive { overflow: hidden; padding: 0; }
.order-archive-body { border-top: 1px solid var(--border); padding: .2rem .75rem .75rem; }
.order-archive-body .document-links li { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; padding: .35rem 0; }
.order-archive-body .inline-upload { margin-top: .55rem; }
.organization-config-form { display: grid; gap: .8rem; }
.config-form-section .section-heading { margin-bottom: .75rem; }
.config-form-section .section-heading h2 { margin: .12rem 0 .25rem; }
.config-form-section .section-heading p { margin: 0; color: var(--muted); }
.config-form-section .form-notice { margin-bottom: .8rem; }
.organization-config-actions { margin-top: 0; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); padding: .8rem; box-shadow: var(--shadow-card); }
.email-choice-notice { margin-bottom: .8rem; }
.email-enable-section .section-heading { align-items: center; }
.email-toggle-control { display: flex; min-height: var(--touch-target); align-items: center; gap: .65rem; width: fit-content; cursor: pointer; }
.email-toggle-control input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; accent-color: var(--accent); }
.email-toggle-control span { display: flex; flex-direction: column; gap: .08rem; }
.email-toggle-control strong { color: var(--text); font-size: .82rem; }
.email-toggle-control small { max-width: 44rem; color: var(--muted); font-size: .7rem; font-weight: 600; line-height: 1.35; }
.email-password-remove { margin-top: 1.25rem; }
.smtp-settings-grid { grid-template-columns: minmax(14rem, 1.3fr) minmax(7rem, .45fr) minmax(12rem, .8fr); }
.email-template-grid { grid-template-columns: 1fr; }
.credential-privacy-note { margin-top: .8rem; }
.order-send-actions form { margin: 0; }
.order-email-missing { max-width: 24rem; color: var(--muted); font-size: .78rem; }
.document-card h2 { overflow-wrap: anywhere; }
.document-card.is-retired { opacity: .72; }
.timeline-list { display: grid; gap: .55rem; }
.timeline-card { padding: .7rem .8rem; }
.timeline-card p { margin: .3rem 0 0; color: var(--muted); font-size: .82rem; }
.timeline-card time { color: var(--muted); font-size: .72rem; }
.receipt-card-heading { display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.receipt-signature-meta { margin: .3rem 0 0; border-left: 3px solid var(--success); padding-left: .5rem; color: var(--muted); font-size: .7rem; }
.receipt-signature-meta.pending-copy { border-left-color: #e5a42b; }
.receipt-card-actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .55rem; }
.receipt-line-list { display: grid; margin-top: .55rem; border-top: 1px solid var(--border); }
.receipt-line-list > div { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; border-bottom: 1px solid var(--border); padding: .5rem 0; }
.receipt-line-list > div > span { min-width: 0; overflow-wrap: anywhere; }
.receipt-line-list > div > strong { text-align: right; font-size: .78rem; }
.receipt-line-list small { display: block; margin-top: .15rem; color: var(--muted); font-weight: 600; }
.label-copy-form { display: grid; grid-template-columns: minmax(10rem, 12rem) auto minmax(16rem, 1fr); align-items: end; gap: .7rem; margin-bottom: 1rem; }
.label-copy-form .button { margin-bottom: .02rem; }
.label-copy-form p { align-self: center; margin: 0; color: var(--muted); font-size: .75rem; }
.batch-label-plan { margin-bottom: 1rem; }
.batch-label-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.batch-label-plan .form-actions { align-items: center; justify-content: space-between; }
.batch-label-plan .form-actions p { margin: 0; }
.barcode-label-sheet { display: grid; grid-template-columns: repeat(2, 88mm); justify-content: center; gap: 4mm; }
.barcode-label { box-sizing: border-box; display: grid; width: 88mm; height: 36mm; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto 1fr auto; column-gap: 3mm; overflow: hidden; border: 1px dashed #9aa9b1; border-radius: 2mm; background: white; padding: 3mm 4mm; color: #102c3c; break-inside: avoid; page-break-inside: avoid; }
.barcode-label-brand { color: var(--accent-dark); font-size: 7pt; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.barcode-label > strong { grid-column: 1 / -1; overflow: hidden; font-size: 9pt; line-height: 1.12; text-overflow: ellipsis; white-space: nowrap; }
.barcode-graphic { min-width: 0; align-self: stretch; padding-top: 1.5mm; }
.barcode-svg { display: block; width: 100%; height: 13mm; fill: #000; }
.barcode-label > code { align-self: end; font-size: 7pt; letter-spacing: .04em; }
.barcode-label > small { grid-column: 2; grid-row: 3 / 5; align-self: end; max-width: 24mm; overflow-wrap: anywhere; color: #334d5c; font-size: 7pt; font-weight: 800; text-align: right; }

@page { size: A4; margin: 10mm; }
@media print {
  .label-print-page { padding: 0; background: white; }
  .label-print-page .app-header, .label-print-page .bottom-nav, .label-print-page .offline-banner, .label-print-page .print-controls, .label-print-page .message-stack, .label-print-page .skip-link { display: none !important; }
  .label-print-page .page-shell { width: auto; max-width: none; margin: 0; padding: 0; }
  .barcode-label-sheet { grid-template-columns: repeat(2, 88mm); justify-content: start; gap: 4mm; }
  .barcode-label { border-color: #c4c4c4; box-shadow: none; }
}
.request-lines { display: grid; gap: .7rem; }
.catalog-create-form { gap: .8rem; }
.catalog-automatic-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid #b8ceda; border-radius: .85rem; background: white; box-shadow: var(--shadow-soft); }
.catalog-automatic-strip > div { display: grid; min-width: 0; grid-template-columns: 2rem minmax(0, 1fr); align-items: center; gap: .55rem; border-left: 1px solid var(--border); padding: .6rem .7rem; }
.catalog-automatic-strip > div:first-child { border-left: 0; }
.catalog-automatic-strip > div > span { display: inline-grid; width: 2rem; height: 2rem; place-items: center; border-radius: .6rem; background: var(--accent-soft); color: var(--accent-dark); font-size: .82rem; font-weight: 900; }
.catalog-automatic-strip p { display: flex; min-width: 0; flex-direction: column; gap: .08rem; margin: 0; }
.catalog-automatic-strip strong { color: var(--accent-dark); font-size: .75rem; }
.catalog-automatic-strip small { color: var(--muted); font-size: .65rem; line-height: 1.25; }
.catalog-create-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(18rem, .88fr); align-items: start; gap: .8rem; }
.catalog-definition-panel, .catalog-identification-panel { display: grid; gap: .75rem; }
.catalog-panel-heading { display: grid; min-width: 0; grid-template-columns: 2rem minmax(0, 1fr); align-items: start; gap: .6rem; border-bottom: 1px solid var(--border); padding-bottom: .6rem; }
.catalog-panel-heading > span { display: inline-grid; width: 2rem; height: 2rem; place-items: center; border-radius: .62rem; background: var(--accent); color: white; font-size: .75rem; font-weight: 900; }
.catalog-panel-heading h2 { margin: .04rem 0 .12rem; color: var(--accent-dark); font-size: 1rem; }
.catalog-panel-heading p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.3; }
.catalog-definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.catalog-barcode-pending { border: 1px solid #c9d8e0; border-radius: .72rem; background: #f7fafb; padding: .6rem .65rem; }
.catalog-barcode-pending strong { color: var(--accent-dark); font-size: .76rem; }
.catalog-barcode-pending p { margin: .18rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.35; }
.catalog-scanner-launch { grid-template-columns: minmax(0, 1fr); gap: .35rem; padding: .6rem; }
.catalog-scanner-launch .button { width: 100%; }
.catalog-scanner-stage { min-height: 12rem; }
.catalog-scanner-stage video { height: 12rem; }
.catalog-manual-barcode { border-top: 1px solid var(--border); }
.catalog-manual-barcode > summary { width: fit-content; padding-top: .45rem; color: var(--accent-dark); font-size: .71rem; font-weight: 850; }
.catalog-manual-barcode > .field { margin-top: .5rem; border: 1px solid var(--border); border-radius: .7rem; background: #f8fafb; padding: .6rem; }
.catalog-barcode-config { display: grid; gap: .6rem; border: 1px solid #91bfd6; border-radius: .8rem; background: var(--accent-pale); padding: .65rem; }
.catalog-detected-code { display: flex; min-width: 0; flex-direction: column; gap: .08rem; }
.catalog-detected-code span { color: var(--accent-dark); font-size: .64rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.catalog-detected-code strong { overflow: hidden; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.catalog-scan-equivalence { margin: 0; border-radius: .6rem; background: white; padding: .5rem .6rem; color: var(--muted); font-size: .72rem; }
.catalog-scan-equivalence strong { color: var(--ink); }
.catalog-barcode-config > .link-button { width: fit-content; }
.catalog-create-actions { margin-top: 0; }
.catalog-guided-page { width: min(100%, 58rem); margin: 0 auto; }
.catalog-guided-form { gap: .9rem; }
.catalog-request-origin { display: flex; align-items: center; justify-content: space-between; gap: .8rem; border: 1px solid #adc9d9; border-radius: .85rem; background: linear-gradient(135deg, var(--accent-pale), white); padding: .7rem .8rem; }
.catalog-request-origin > div { display: flex; min-width: 0; flex-direction: column; gap: .18rem; }
.catalog-request-origin strong { overflow-wrap: anywhere; }
.catalog-origin-label { color: var(--accent-dark); font-size: .68rem; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.catalog-origin-quantity { flex: 0 0 auto; border-radius: 999px; background: var(--accent); padding: .34rem .62rem; color: white; font-size: .78rem; font-weight: 900; font-variant-numeric: tabular-nums; white-space: nowrap; }
.catalog-guide-step { display: grid; gap: .7rem; }
.catalog-identity-grid, .catalog-count-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.catalog-conversion { display: grid; gap: .18rem; border-left: 4px solid var(--accent); border-radius: .7rem; background: var(--accent-pale); padding: .65rem .75rem; }
.catalog-conversion > span { color: var(--accent-dark); font-size: .67rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.catalog-conversion strong { color: var(--ink); font-size: .88rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.catalog-conversion strong b { padding: 0 .2rem; color: var(--accent); }
.catalog-conversion small { color: var(--muted); font-size: .73rem; }
.catalog-save-explanation { border: 1px solid var(--border); border-radius: .8rem; background: #f8fafb; padding: .65rem .75rem; }
.catalog-save-explanation > strong { color: var(--accent-dark); font-size: .78rem; }
.catalog-save-explanation ul { display: grid; gap: .2rem; margin: .35rem 0 0; padding-left: 1.1rem; color: var(--muted); font-size: .76rem; line-height: 1.35; }
.request-line { padding: .9rem; }
.request-line h3, .request-line p { margin-top: 0; }
.request-line-heading { align-items: flex-start; }
.request-line-edit-form { display: grid; grid-template-columns: minmax(8rem, .32fr) minmax(12rem, 1fr) auto; align-items: end; gap: .65rem; margin: .65rem 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: #f8fbfc; padding: .65rem; }
.request-line-edit-form label { margin: 0; }
.quantity-with-unit { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .4rem; }
.quantity-with-unit small { min-width: 2rem; color: var(--muted); font-size: .75rem; font-weight: 800; }
.request-line-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .45rem; margin-top: .45rem; }
.request-line-actions form { margin: 0; }
.danger-link { color: var(--danger); }
.danger-link:hover, .danger-link:focus-visible { background: #fff0f0; }
.offer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .55rem; margin-top: .65rem; }
.offer-card { display: flex; min-width: 0; flex-direction: column; gap: .25rem; border: 1px solid var(--border); border-radius: .75rem; padding: .7rem; }
.offer-card.is-chosen { border-color: var(--accent); background: var(--accent-pale); }
.offer-card small { color: var(--muted); }

.procurement-progress { display: grid; grid-template-columns: repeat(8, minmax(7.5rem, 1fr)); overflow-x: auto; margin-bottom: .55rem; border: 1px solid var(--border); border-radius: .85rem; background: white; box-shadow: var(--shadow-soft); scrollbar-width: thin; }
.procurement-progress > span { display: grid; min-width: 0; grid-template-columns: 1.7rem minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; column-gap: .45rem; padding: .65rem .75rem; border-left: 1px solid var(--border); }
.procurement-progress > span:first-child { border-left: 0; }
.procurement-progress b { display: inline-grid; width: 1.7rem; height: 1.7rem; grid-row: 1 / 3; place-items: center; border-radius: 999px; background: #e8eff3; color: var(--muted); font-size: .7rem; }
.procurement-progress strong { overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.procurement-progress small { overflow: hidden; color: var(--muted); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.procurement-progress .is-ready b { background: var(--success); color: white; }
.procurement-progress .needs-attention b { background: #f0a126; color: white; }
.procurement-progress > .is-current { position: relative; background: var(--accent-pale); box-shadow: inset 0 -3px var(--accent); }
.procurement-progress > .is-current strong { color: var(--accent-dark); }
.procurement-next-step { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .55rem; margin-bottom: .65rem; border-left: 4px solid var(--accent); border-radius: .65rem; background: var(--accent-pale); padding: .5rem .65rem; }
.procurement-next-step > span { color: var(--accent-dark); font-size: .66rem; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.procurement-next-step p { margin: 0; color: var(--muted); font-size: .73rem; }
.procurement-next-step strong { color: var(--ink); }
.context-help { width: fit-content; max-width: min(100%, 52rem); margin: .5rem 0 .75rem; border: 1px solid transparent; border-radius: .75rem; }
.context-help > summary { display: inline-flex; min-height: var(--touch-target); align-items: center; gap: .42rem; border-radius: .65rem; padding: .35rem .55rem; color: var(--accent-dark); font-size: .74rem; font-weight: 850; cursor: pointer; }
.context-help > summary:hover, .context-help > summary:focus-visible { background: var(--accent-pale); }
.context-help > summary > span { display: inline-grid; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 50%; background: var(--accent); color: white; font-size: .72rem; }
.context-help[open] { width: 100%; border-color: #b8cfdd; background: #f7fbfd; }
.context-help[open] > summary { border-bottom-right-radius: 0; border-bottom-left-radius: 0; }
.context-help-body { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; border-top: 1px solid #cfdee7; padding: .65rem .75rem .75rem; }
.context-help-body p { display: flex; min-width: 0; flex-direction: column; gap: .12rem; margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.context-help-body strong { color: var(--accent-dark); font-size: .68rem; letter-spacing: .035em; text-transform: uppercase; }
.procurement-request-context { padding: 0; }
.procurement-request-context > summary, .request-add-materials > summary, .line-compact-editor > summary, .catalog-resolution > summary, .inline-procurement-action > summary, .offer-optional-fields > summary { cursor: pointer; }
.procurement-request-context > summary { display: flex; min-height: var(--touch-target); align-items: center; justify-content: space-between; gap: .7rem; padding: .65rem .8rem; color: var(--accent-dark); font-size: .78rem; font-weight: 850; }
.procurement-request-context > summary small { color: var(--muted); font-size: .68rem; }
.procurement-request-context[open] > summary { border-bottom: 1px solid var(--border); }
.procurement-request-context .details { padding: .75rem .85rem; }
.supplier-inquiry-panel { display: grid; gap: .65rem; }
.supplier-inquiry-panel .section-heading { margin-bottom: 0; }
.supplier-inquiry-list { display: grid; border: 1px solid var(--border); border-radius: .75rem; }
.supplier-inquiry-row { display: grid; min-height: var(--touch-target); grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .55rem; border-top: 1px solid var(--border); padding: .45rem .65rem; }
.supplier-inquiry-row:first-child { border-top: 0; }
.supplier-inquiry-row > span:first-child { display: flex; min-width: 0; flex-direction: column; gap: .05rem; }
.supplier-inquiry-row strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.supplier-inquiry-row small { color: var(--muted); font-size: .65rem; }
.supplier-inquiry-row .link-button { min-width: var(--touch-target); min-height: var(--touch-target); justify-content: center; }
.supplier-inquiry-actions { display: flex; align-items: center; justify-content: flex-end; gap: .35rem; }
.supplier-inquiry-actions form { margin: 0; }
.supplier-inquiry-actions small { max-width: 10rem; text-align: right; }
.quotation-email-note { margin: 0; border-left: 3px solid var(--accent); padding-left: .55rem; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.compact-copy { margin: .2rem 0; font-size: .74rem; }
.inline-procurement-action { border: 1px dashed #9ebdce; border-radius: .75rem; background: #f8fbfd; }
.inline-procurement-action > summary { padding: .55rem .65rem; color: var(--accent-dark); font-size: .74rem; font-weight: 850; }
.inline-procurement-action[open] > summary { border-bottom: 1px solid var(--border); }
.supplier-inquiry-form { display: grid; grid-template-columns: minmax(13rem, 1fr) auto; align-items: end; gap: .65rem; padding: .65rem; }
.supplier-inquiry-form .field { margin: 0; }
.procurement-flow-section { display: grid; gap: .65rem; margin-top: 1.15rem; }
.procurement-flow-heading { display: grid; min-width: 0; grid-template-columns: 2rem minmax(0, 1fr) auto; align-items: center; gap: .65rem; border-bottom: 2px solid #c9d9e3; padding-bottom: .55rem; }
.procurement-flow-heading > span:first-child { display: inline-grid; width: 2rem; height: 2rem; place-items: center; border-radius: .65rem; background: var(--accent); color: white; font-size: .78rem; font-weight: 900; }
.procurement-flow-heading > div { min-width: 0; }
.procurement-flow-heading h2 { margin: 0; color: var(--accent-dark); font-size: 1.08rem; }
.procurement-flow-heading p { margin: .12rem 0 0; color: var(--muted); font-size: .74rem; }
.procurement-flow-heading .section-link { min-height: var(--touch-target); justify-self: end; }
.procurement-lines-section { display: grid; gap: .65rem; }
.request-add-materials { padding: 0; }
.request-add-materials > summary { padding: .65rem .8rem; color: var(--accent-dark); font-size: .78rem; font-weight: 850; }
.request-add-materials[open] > summary { border-bottom: 1px solid var(--border); }
.request-add-materials > form { padding: .75rem; }
.procurement-line-list { display: grid; gap: .65rem; }
.procurement-line { display: grid; gap: .6rem; padding: .8rem; }
.procurement-line.is-pending-catalog { border-left: .24rem solid #e9a234; }
.procurement-line-heading { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.procurement-line-identity { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: .15rem; }
.procurement-line-identity h3 { margin: .05rem 0 0; font-size: .94rem; line-height: 1.25; }
.procurement-line-identity p { margin: 0; color: var(--muted); font-size: .72rem; }
.catalog-match { display: flex; align-items: center; gap: .55rem; border-radius: .65rem; background: #eff8f2; padding: .45rem .6rem; }
.catalog-match > span { display: inline-grid; width: 1.45rem; height: 1.45rem; flex: 0 0 1.45rem; place-items: center; border-radius: 999px; background: var(--success); color: white; font-size: .64rem; font-weight: 900; }
.catalog-match p { display: flex; min-width: 0; flex-direction: column; gap: .03rem; margin: 0; }
.catalog-match strong { overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.catalog-match small { color: var(--muted); font-size: .65rem; }
.line-compact-editor, .catalog-resolution { border-top: 1px solid var(--border); }
.line-compact-editor > summary, .catalog-resolution > summary { width: fit-content; padding: .45rem 0 0; color: var(--accent-dark); font-size: .7rem; font-weight: 850; }
.line-compact-editor .request-line-edit-form { grid-template-columns: minmax(7rem, .4fr) minmax(10rem, 1fr) auto; margin: .5rem 0 0; border: 1px solid var(--border); border-radius: .65rem; }
.line-compact-editor .request-line-edit-form.pending-line-edit { grid-template-columns: minmax(12rem, 1fr) minmax(7rem, .35fr) minmax(8rem, .4fr) minmax(10rem, .7fr) auto; }
.catalog-resolution-body { display: grid; gap: .45rem; margin-top: .5rem; border: 1px solid #d6e4eb; border-radius: .7rem; background: #f8fbfd; padding: .65rem; }
.catalog-resolution-body > form { display: grid; grid-template-columns: minmax(15rem, 1fr) minmax(10rem, .45fr) auto; align-items: end; gap: .65rem; }
.catalog-resolution-body .field { margin: 0; }
.catalog-resolution-body > .text-link { width: fit-content; font-size: .7rem; }
.catalog-waiting-note { display: flex; flex-wrap: wrap; gap: .25rem .55rem; border-radius: .6rem; background: #fff6e4; padding: .5rem .6rem; color: #744b08; font-size: .71rem; }
.procurement-method-chooser { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: .65rem; }
.procurement-method-card { min-height: 5rem; border-top: 3px solid #9ebdce; }
.direct-purchase-panel { padding: 0; }
.direct-purchase-panel > summary { display: grid; min-height: 4.8rem; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .65rem .75rem; cursor: pointer; }
.direct-purchase-panel > summary > span:first-child { display: flex; min-width: 0; flex-direction: column; gap: .08rem; }
.direct-purchase-panel > summary strong { color: var(--accent-dark); font-size: .82rem; }
.direct-purchase-panel > summary small { color: var(--muted); font-size: .67rem; }
.direct-purchase-panel > summary .method-card-action { text-align: center; }
.direct-purchase-panel[open] > summary { border-bottom: 1px solid var(--border); }
.direct-purchase-form { display: grid; gap: .65rem; padding: .7rem .75rem .75rem; }
.direct-purchase-form > .field { margin: 0; }
.direct-price-fields { border: 1px dashed #abc3d0; border-radius: .7rem; background: #f8fbfc; }
.direct-price-fields > summary { min-height: var(--touch-target); padding: .55rem .65rem; color: var(--accent-dark); font-size: .72rem; font-weight: 850; cursor: pointer; }
.direct-price-fields > summary small { margin-left: .25rem; color: var(--muted); font-weight: 700; }
.direct-price-fields > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .55rem; border-top: 1px solid var(--border); padding: .65rem; }
.direct-price-fields .field { margin: 0; }
.direct-purchase-note { margin: 0; border-left: 3px solid var(--accent); padding-left: .55rem; color: var(--muted); font-size: .71rem; line-height: 1.4; }
.direct-purchase-form > .button { width: fit-content; }
.comparison-method-card { display: flex; min-height: 5rem; align-items: center; justify-content: space-between; gap: .65rem; }
.comparison-method-card > div { display: flex; min-width: 0; flex-direction: column; gap: .12rem; }
.comparison-method-card strong { color: var(--accent-dark); font-size: .8rem; }
.comparison-method-card small { color: var(--muted); font-size: .68rem; line-height: 1.35; }
.push-settings-card { display: grid; max-width: 40rem; gap: .75rem; }
.push-settings-card h2 { margin: .55rem 0 .2rem; color: var(--accent-dark); font-size: 1rem; }
.push-settings-card p { margin: 0 0 .65rem; }
.push-privacy-note { max-width: 40rem; margin-top: .75rem; }
.push-privacy-note p { margin: .2rem 0 0; }
.direct-purchase-summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; border-left: 4px solid var(--accent); }
.direct-purchase-summary > div { display: flex; min-width: 0; flex-direction: column; gap: .12rem; }
.direct-purchase-summary strong { color: var(--accent-dark); }
.direct-purchase-summary p { margin: 0; color: var(--muted); font-size: .73rem; }
.direct-approval-summary { display: grid; gap: .45rem; border: 1px solid var(--border); border-radius: .75rem; background: #f8fbfc; padding: .65rem .75rem; }
.direct-approval-summary > strong { color: var(--accent-dark); font-size: .82rem; }
.direct-approval-summary > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .65rem; border-top: 1px solid var(--border); padding-top: .45rem; font-size: .72rem; }
.direct-approval-summary b { color: var(--accent-dark); text-align: right; }
.order-line-table td > small.status { display: block; width: fit-content; margin-top: .2rem; }
.order-line-price-form { display: grid; min-width: 10rem; grid-template-columns: minmax(5rem, 1fr) auto; gap: .35rem; }
.order-line-price-form input { min-width: 0; min-height: var(--touch-target); }
.quotation-instruction { display: flex; flex-wrap: wrap; gap: .2rem .45rem; border: 1px solid #b8d3e1; border-radius: .7rem; background: #f2f9fc; padding: .55rem .65rem; font-size: .73rem; }
.quotation-instruction strong { color: var(--accent-dark); }
.quotation-instruction span { color: var(--muted); }
.quotation-line-list { display: grid; gap: .65rem; }
.quotation-line { display: grid; gap: .55rem; padding: .75rem .8rem; }
.quotation-line-heading h3 { margin: .05rem 0 0; }
.line-offers { display: grid; gap: .5rem; border-top: 1px solid var(--border); padding-top: .55rem; }
.compact-offer-list { display: grid; border: 1px solid var(--border); border-radius: .7rem; }
.compact-offer-row { display: grid; min-height: 3.3rem; grid-template-columns: minmax(9rem, .8fr) minmax(13rem, 1.1fr) minmax(8rem, .8fr) auto; align-items: center; gap: .55rem; border-top: 1px solid var(--border); padding: .45rem .55rem; }
.compact-offer-row:first-child { border-top: 0; }
.compact-offer-row.is-chosen { background: var(--accent-pale); }
.offer-supplier, .offer-price, .offer-notes { display: flex; min-width: 0; flex-direction: column; gap: .05rem; }
.offer-supplier strong, .offer-price strong { overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.compact-offer-row small { color: var(--muted); font-size: .63rem; }
.offer-actions { display: flex; align-items: center; gap: .35rem; }
.offer-actions form { margin: 0; }
.inline-offer-form { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(8rem, .4fr) minmax(8rem, .5fr) auto; align-items: end; gap: .6rem; padding: .65rem; }
.inline-offer-form .field { margin: 0; }
.offer-optional-fields { grid-column: 1 / -1; }
.offer-optional-fields > summary { width: fit-content; color: var(--muted); font-size: .68rem; font-weight: 800; }
.offer-optional-fields > div { display: grid; grid-template-columns: repeat(4, minmax(8rem, 1fr)); gap: .55rem; margin-top: .5rem; }
.quotation-tracker { display: block; gap: 0; padding: 0; }
.quotation-tracker > summary { display: grid; min-height: var(--touch-target); grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .6rem .75rem; }
.quotation-tracker > summary > span:first-child { display: flex; min-width: 0; flex-direction: column; gap: .08rem; }
.quotation-tracker > summary strong { color: var(--accent-dark); font-size: .78rem; }
.quotation-tracker > summary small { color: var(--muted); font-size: .66rem; font-weight: 600; }
.quotation-tracker[open] > summary { border-bottom: 1px solid var(--border); }
.quotation-tracker-body { display: grid; gap: .6rem; padding: .65rem .75rem .75rem; }
.procurement-approval-panel { margin-top: 0; }
.procurement-approval-panel .section-heading { margin-bottom: .35rem; }
.procurement-approval-panel h3 { margin: 0; font-size: .92rem; }
.procurement-readonly-summary { display: grid; gap: .25rem; border-left: 4px solid #9eb4c0; }
.procurement-readonly-summary p { margin: 0; color: var(--muted); font-size: .78rem; }
.procurement-readonly-summary .status { width: fit-content; margin-top: .2rem; }
.procurement-approval-form { display: grid; gap: .8rem; }
.approval-selection-list { display: grid; gap: .55rem; }
.approval-selection { min-width: 0; margin: 0; border: 1px solid var(--border); border-radius: .75rem; padding: .65rem .75rem; }
.approval-selection legend { max-width: 100%; padding: 0 .25rem; color: var(--accent-dark); font-size: .76rem; overflow-wrap: anywhere; }
.approval-selection > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .4rem; margin-top: .25rem; }
.approval-selection label { display: flex; min-height: var(--touch-target); align-items: center; gap: .45rem; border: 1px solid var(--border); border-radius: .65rem; background: #f8fafb; padding: .45rem .55rem; font-size: .74rem; font-weight: 750; }
.approval-selection input:checked + label, .approval-selection label:has(input:checked) { border-color: var(--accent); background: var(--accent-pale); color: var(--accent-dark); }
.signature-field { display: grid; gap: .5rem; }
.signature-field > div { display: flex; flex-direction: column; gap: .12rem; }
.signature-field small { color: var(--muted); font-size: .7rem; }
.signature-field canvas { display: block; width: 100%; height: 11rem; box-sizing: border-box; border: 1px solid #9eb4c0; border-radius: .75rem; background: white; cursor: crosshair; touch-action: none; }
.signature-field .button { width: fit-content; }
.procurement-rejection-panel { padding: 0; }
.procurement-rejection-panel > summary { min-height: var(--touch-target); padding: .65rem .8rem; color: var(--danger); font-size: .76rem; font-weight: 850; cursor: pointer; }
.procurement-rejection-panel[open] > summary { border-bottom: 1px solid var(--border); }
.procurement-rejection-panel form { display: grid; gap: .65rem; padding: .75rem .8rem; }
.approval-history { padding: 0; }
.approval-history > summary { min-height: var(--touch-target); padding: .65rem .8rem; color: var(--accent-dark); font-size: .76rem; font-weight: 850; cursor: pointer; }
.approval-history[open] > summary { border-bottom: 1px solid var(--border); }
.approval-history > div { display: grid; }
.approval-history article { display: flex; flex-direction: column; gap: .12rem; border-top: 1px solid var(--border); padding: .65rem .8rem; }
.approval-history article:first-child { border-top: 0; }
.approval-history article small { color: var(--muted); font-size: .68rem; }
.approval-history article p { margin: .2rem 0 0; font-size: .75rem; }
.approval-signature-proof { width: min(100%, 24rem); margin: 1rem 0; border: 1px solid var(--border); border-radius: .75rem; background: #fff; padding: .75rem; }
.approval-signature-proof img { display: block; width: 100%; height: auto; max-height: 7.5rem; object-fit: contain; }
.approval-signature-proof figcaption { margin-top: .5rem; color: var(--muted); font-size: .66rem; }
.receipt-sign-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(17rem, .75fr); align-items: start; gap: .8rem; margin-bottom: .8rem; }
.receipt-document-review img, .receipt-document-review object { display: block; width: 100%; height: min(65dvh, 46rem); border: 1px solid var(--border); border-radius: .65rem; background: #eef2f4; object-fit: contain; }
.receipt-review-lines { display: grid; border-top: 1px solid var(--border); }
.receipt-review-lines > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; border-bottom: 1px solid var(--border); padding: .5rem 0; }
.receipt-review-lines > div > span { min-width: 0; overflow-wrap: anywhere; }
.receipt-review-lines strong { text-align: right; white-space: nowrap; }
.receipt-sign-form { margin-bottom: .8rem; }
.procurement-cancel-action { display: flex; justify-content: flex-end; }
.procurement-final-actions { margin-top: 0; }
.procurement-detail-page [data-procurement-return-target] { scroll-margin-top: .75rem; }
.procurement-detail-page .message-stack { position: fixed; z-index: 120; top: max(4.35rem, calc(env(safe-area-inset-top) + .65rem)); right: max(.65rem, env(safe-area-inset-right)); width: min(25rem, calc(100vw - 1.3rem)); margin: 0; }
.procurement-detail-page .message-stack .alert { display: grid; min-height: var(--touch-target); grid-template-columns: minmax(0, 1fr) var(--touch-target); align-items: center; gap: .5rem; margin: 0 0 .45rem; padding: .6rem .35rem .6rem .8rem; box-shadow: 0 12px 32px rgba(12, 38, 54, .2); transition: opacity .18s ease, transform .18s ease; }
.procurement-detail-page .message-stack .alert.is-leaving { opacity: 0; transform: translateY(-.35rem); }
.procurement-message-dismiss { display: grid; width: var(--touch-target); height: var(--touch-target); place-items: center; border: 0; border-radius: .6rem; background: transparent; color: currentColor; font-size: 1.35rem; cursor: pointer; }
.procurement-message-dismiss:hover { background: rgba(255, 255, 255, .45); }
.request-line-actions { justify-content: flex-end; }
.access-member-list { display: grid; overflow: hidden; border: 1px solid var(--border); border-radius: .9rem; background: white; box-shadow: var(--shadow-soft); }
.access-member-row { display: grid; min-width: 0; min-height: 4.25rem; grid-template-columns: 2.3rem minmax(10rem, .9fr) minmax(14rem, 1.2fr) auto .7rem; align-items: center; gap: .65rem; border: 0; border-top: 1px solid var(--border); border-radius: 0; box-shadow: none; padding: .55rem .7rem; color: inherit; text-decoration: none; }
.access-member-row:first-child { border-top: 0; }
.access-member-row:hover { background: #f7fafb; }
.member-avatar { display: inline-grid; width: 2.3rem; height: 2.3rem; place-items: center; border-radius: .7rem; background: var(--accent); color: white; font-weight: 900; }
.member-identity { display: flex; min-width: 0; flex-direction: column; gap: .08rem; }
.member-identity strong, .member-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-identity small { color: var(--muted); font-size: .68rem; }
.member-profile-chips { display: flex; min-width: 0; flex-wrap: wrap; gap: .25rem; }
.member-profile-chips b { border-radius: 999px; background: var(--accent-soft); padding: .25rem .45rem; color: var(--accent-dark); font-size: .65rem; }
.member-profile-chips .needs-profile { background: #fff1d9; color: #7b4d00; }
.member-access-form { display: grid; gap: .85rem; }
.profile-picker, .capability-matrix { margin: 0; border: 1px solid var(--border); border-radius: .85rem; padding: .75rem .8rem; }
.profile-picker legend, .capability-matrix legend { padding: 0 .25rem; color: var(--accent-dark); font-size: .82rem; font-weight: 900; }
.profile-picker > p, .capability-matrix > p { margin: 0 0 .6rem; color: var(--muted); font-size: .72rem; }
.profile-picker > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .45rem; }
.profile-picker > div > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); align-content: start; gap: .4rem; border-radius: .7rem; background: #f7fafb; padding: .55rem; }
.profile-picker > div > div > label { grid-column: 1 / -1; color: var(--accent-dark); font-size: .7rem; font-weight: 900; }
.profile-picker > div > div > div > label, .capability-matrix label { display: flex; min-height: var(--touch-target); align-items: center; gap: .45rem; border: 1px solid var(--border); border-radius: .65rem; background: #fff; padding: .45rem .55rem; font-size: .73rem; font-weight: 780; }
.profile-picker label:has(input:checked), .capability-matrix label:has(input:checked) { border-color: var(--accent); background: var(--accent-pale); color: var(--accent-dark); }
.profile-reference { border: 1px dashed #a7bfcc; border-radius: .75rem; }
.profile-reference > summary { min-height: var(--touch-target); padding: .6rem .7rem; color: var(--accent-dark); font-size: .74rem; font-weight: 850; cursor: pointer; }
.profile-reference > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: .55rem; border-top: 1px solid var(--border); padding: .65rem; }
.profile-reference article { min-width: 0; border-radius: .65rem; background: #f7fafb; padding: .55rem .65rem; }
.profile-reference article p { margin: .15rem 0; font-size: .72rem; }
.profile-reference article small { color: var(--muted); font-size: .63rem; line-height: 1.35; }
.access-profile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: .65rem; }
.access-profile-card { display: flex; min-width: 0; flex-direction: column; justify-content: space-between; gap: .6rem; color: inherit; text-decoration: none; }
.access-profile-card > div { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; }
.access-profile-card > div > strong { color: var(--accent-dark); font-size: .92rem; }
.access-profile-card p { margin: 0; font-size: .75rem; }
.access-profile-card > small { color: var(--muted); font-size: .64rem; line-height: 1.4; }
.access-profile-card footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; border-top: 1px solid var(--border); padding-top: .45rem; color: var(--muted); font-size: .68rem; }
.advanced-profile-section { margin-top: 1rem; border: 1px solid var(--border); border-radius: .9rem; background: white; box-shadow: var(--shadow-soft); }
.advanced-profile-section > summary { min-height: var(--touch-target); padding: .7rem .8rem; color: var(--accent-dark); font-size: .78rem; font-weight: 900; cursor: pointer; }
.advanced-profile-section > div { display: grid; gap: .7rem; border-top: 1px solid var(--border); padding: .75rem .8rem; }
.advanced-profile-section > div > p { margin: 0; color: var(--muted); font-size: .74rem; }
.advanced-profile-section .button { width: fit-content; }
.access-capability-note { margin-bottom: .8rem; }
.access-capability-note p { margin: .25rem 0 0; }
.receipt-role-guide { margin-bottom: 1rem; border: 1px solid #a9c4d2; border-radius: .9rem; background: #f8fbfd; box-shadow: var(--shadow-soft); }
.receipt-role-guide > summary { min-height: var(--touch-target); padding: .7rem .85rem; color: var(--accent-dark); font-size: .8rem; font-weight: 900; cursor: pointer; }
.receipt-role-guide > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; border-top: 1px solid var(--border); padding: .75rem .85rem .55rem; }
.receipt-role-guide article { border-radius: .7rem; background: #fff; padding: .6rem .7rem; }
.receipt-role-guide article strong { color: var(--accent-dark); font-size: .75rem; }
.receipt-role-guide article p, .receipt-role-guide > p { margin: .2rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.receipt-role-guide > p { margin: 0; padding: .15rem .85rem .75rem; }
.access-profile-form { display: grid; gap: .85rem; }
.capability-matrix > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .55rem; }
.capability-matrix > div > div { display: grid; align-content: start; gap: .3rem; border-radius: .7rem; background: #f7fafb; padding: .55rem; }
.capability-matrix > div > div > label { border: 0; background: transparent; }
