:root {
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  color: #182b39;
  background: #f4f6f7;
  font-synthesis: none;
}

* { box-sizing: border-box; }

body { margin: 0; min-width: 320px; }
button, input, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

:focus-visible { outline: 3px solid #60a9c0; outline-offset: 2px; }

.eyebrow {
  color: #317480;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.5;
  margin: 0 0 .45rem;
  text-transform: uppercase;
}

.button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  display: inline-flex;
  font-size: .91rem;
  font-weight: 700;
  justify-content: center;
  min-height: 42px;
  padding: .62rem 1rem;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.button:active { transform: translateY(1px); }
.button:disabled { cursor: wait; opacity: .6; }
.button-primary { background: #126b76; color: #fff; }
.button-primary:hover { background: #0b5360; }
.button-secondary { background: #fff; border-color: #c8d7db; color: #205767; }
.button-secondary:hover { background: #edf5f6; }
.button-quiet { background: transparent; border-color: #d2dfe1; color: #2f5660; }
.button-quiet:hover { background: #eff6f7; }
.button-danger { background: #fff; border-color: #e2b5ae; color: #9a3e35; }
.button-danger:hover { background: #fff2f0; }
.button-wide { width: 100%; }

input, select {
  background: #fff;
  border: 1px solid #bdcbd1;
  border-radius: 8px;
  color: #172b39;
  height: 43px;
  padding: .55rem .7rem;
  width: 100%;
}
input::placeholder { color: #82919a; }
input:focus, select:focus { border-color: #388895; }
label { display: block; font-size: .83rem; font-weight: 700; margin-bottom: .4rem; }

.login-screen {
  align-items: center;
  background: radial-gradient(circle at 85% 18%, #d9e8e8 0, transparent 32%),
              linear-gradient(135deg, #e8f0f0 0%, #f5f7f7 50%, #e9eef0 100%);
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 1.4rem;
}
.login-panel {
  background: #fff;
  border: 1px solid #d9e3e4;
  border-radius: 18px;
  box-shadow: 0 22px 65px rgba(27, 54, 67, .11);
  max-width: 430px;
  padding: 2.1rem;
  width: 100%;
}
.brand-mark {
  align-items: center;
  background: #126b76;
  border-radius: 11px;
  color: #fff;
  display: inline-flex;
  font-size: .95rem;
  font-weight: 800;
  height: 43px;
  justify-content: center;
  letter-spacing: -.03em;
  margin-bottom: 1.3rem;
  width: 43px;
}
.login-panel h1 { font-size: 1.9rem; letter-spacing: -.045em; margin: 0; }
.login-intro { color: #59707b; line-height: 1.5; margin: .55rem 0 1.7rem; }
.login-panel form label:not(:first-child) { margin-top: 1rem; }
.login-panel .button { margin-top: 1.5rem; }
.login-footnote { border-top: 1px solid #e8eeef; color: #829098; font-size: .78rem; margin: 1.7rem 0 0; padding-top: 1.1rem; text-align: center; }

.form-message { color: #385e65; font-size: .86rem; line-height: 1.4; margin: .6rem 0 0; min-height: 1.2rem; }
.form-message.is-error { color: #a43e38; }
.form-message.is-success { color: #20734f; }

.site-header { background: #fff; border-bottom: 1px solid #dfe8e9; }
.header-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1450px;
  min-height: 72px;
  padding: .7rem 2rem;
}
.header-brand { align-items: center; display: flex; gap: .75rem; }
.brand-mark-small { border-radius: 8px; font-size: .78rem; height: 34px; margin: 0; width: 34px; }
.header-brand strong { display: block; font-size: .96rem; line-height: 1.2; }
.header-brand span:not(.brand-mark) { color: #81919a; display: block; font-size: .72rem; margin-top: .1rem; }
.header-account { align-items: center; display: flex; gap: 1rem; }
.signed-in-user { color: #617781; font-size: .86rem; }
.main-content { margin: 0 auto; max-width: 1450px; min-height: calc(100vh - 135px); padding: 2rem; }
.page-heading { align-items: start; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.5rem; }
.page-heading h1 { font-size: clamp(1.65rem, 2vw, 2.15rem); letter-spacing: -.045em; line-height: 1.15; margin: 0; }
.page-description { color: #61737c; line-height: 1.45; margin: .45rem 0 0; }
.prototype-pill { background: #e8eff1; border: 1px solid #d7e4e7; border-radius: 100px; color: #4e6c75; font-size: .75rem; font-weight: 800; padding: .35rem .7rem; }
.notice { align-items: start; background: #fff8e8; border: 1px solid #f1dfb4; border-radius: 10px; color: #755922; display: flex; gap: .8rem; margin: 0 0 1.7rem; padding: .85rem 1rem; }
.notice p { font-size: .84rem; line-height: 1.45; margin: 0; }
.notice-icon { align-items: center; border: 1px solid #c9a857; border-radius: 50%; display: flex; flex: 0 0 17px; font-size: .7rem; font-weight: 800; height: 17px; justify-content: center; margin-top: .05rem; }
.section-nav { border-bottom: 1px solid #d7e2e4; display: flex; gap: 1.4rem; margin-bottom: 1.55rem; }
.section-tab { background: none; border: 0; border-bottom: 3px solid transparent; color: #657b85; font-size: .94rem; font-weight: 700; min-height: 44px; padding: .7rem .35rem; }
.section-tab:hover { color: #126b76; }
.section-tab.is-active { border-bottom-color: #126b76; color: #125c67; }
.section-heading { align-items: end; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.section-heading h2 { font-size: 1.25rem; letter-spacing: -.025em; margin: 0; }
.section-heading p { color: #69808a; font-size: .86rem; line-height: 1.4; margin: .25rem 0 0; }
.panel { background: #fff; border: 1px solid #dce6e8; border-radius: 13px; box-shadow: 0 2px 8px rgba(37, 64, 74, .025); }
.stock-layout { align-items: start; display: grid; gap: 1.1rem; grid-template-columns: minmax(320px, .9fr) minmax(430px, 1.1fr); }
.product-panel, .detail-panel { min-height: 510px; padding: 1.25rem; }
.panel-heading { align-items: baseline; display: flex; gap: .75rem; justify-content: space-between; }
.panel-title { font-size: .98rem; margin: 0 0 .8rem; }
.muted-small { color: #788a92; font-size: .77rem; }
.search-input { background: #f9fbfb; }
.panel-hint { color: #758992; font-size: .79rem; line-height: 1.4; margin: .65rem 0; }
.product-results { display: grid; gap: .55rem; margin-top: .7rem; max-height: 720px; overflow: auto; padding-right: .2rem; }
.product-row { align-items: center; background: #fff; border: 1px solid #e3ebed; border-radius: 9px; color: inherit; display: flex; gap: .6rem; justify-content: space-between; padding: .75rem .8rem; text-align: left; width: 100%; }
.product-row:hover { background: #f4f9f9; border-color: #9dc8ce; }
.product-row.is-selected { background: #eaf5f5; border-color: #77b9c2; }
.product-row-main { min-width: 0; }
.product-row-code, .code-label { color: #17717c; display: block; font-size: .74rem; font-weight: 800; letter-spacing: .045em; }
.product-row-name { display: block; font-size: .89rem; font-weight: 650; line-height: 1.3; margin-top: .22rem; overflow-wrap: anywhere; }
.product-row-sub { color: #819098; display: block; font-size: .72rem; margin-top: .24rem; }
.product-row-count { color: #254f58; flex: none; font-size: .82rem; font-weight: 800; text-align: right; }
.product-row-count small { color: #83929a; display: block; font-size: .68rem; font-weight: 400; margin-top: .1rem; }
.empty-state { align-items: center; color: #70838b; display: flex; flex-direction: column; justify-content: center; min-height: 440px; padding: 2rem; text-align: center; }
.empty-icon { align-items: center; background: #ecf5f5; border-radius: 12px; color: #47848c; display: flex; font-size: 1.7rem; height: 52px; justify-content: center; margin-bottom: 1rem; width: 52px; }
.empty-state h3 { color: #294650; font-size: 1rem; margin: 0; }
.empty-state p { font-size: .85rem; line-height: 1.5; max-width: 270px; }
.detail-heading { align-items: start; border-bottom: 1px solid #e8eeef; display: flex; gap: .8rem; justify-content: space-between; padding-bottom: 1.1rem; }
.detail-heading h3 { font-size: 1.26rem; letter-spacing: -.025em; line-height: 1.25; margin: .25rem 0 .35rem; overflow-wrap: anywhere; }
.total-badge { background: #e8f5f2; border-radius: 8px; color: #166957; flex: none; font-size: .8rem; font-weight: 800; padding: .45rem .6rem; white-space: nowrap; }
.detail-block { border-bottom: 1px solid #edf1f2; padding: 1.15rem 0; }
.detail-block:last-child { border-bottom: 0; padding-bottom: 0; }
.detail-block h4 { font-size: .94rem; margin: 0 0 .7rem; }
.subheading-row { align-items: baseline; display: flex; gap: .5rem; justify-content: space-between; }
.balance-list { display: grid; gap: .4rem; }
.balance-row { align-items: center; background: #f7fafb; border-radius: 7px; display: flex; font-size: .84rem; justify-content: space-between; padding: .55rem .7rem; }
.balance-row strong { color: #1c5961; }
.legacy-note { color: #7b8a90; font-size: .76rem; line-height: 1.45; margin: .8rem 0 0; }
.weight-grid { display: grid; gap: .55rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.weight-grid > div { background: #f7fafb; border-radius: 7px; padding: .65rem .75rem; }
.weight-grid span { color: #758892; display: block; font-size: .74rem; }
.weight-grid strong { display: block; font-size: .91rem; margin-top: .18rem; }
.history-list { display: grid; gap: .45rem; max-height: 270px; overflow: auto; }
.history-row { background: #f7fafb; border-radius: 7px; padding: .6rem .7rem; }
.history-top { align-items: baseline; display: flex; gap: .6rem; justify-content: space-between; }
.history-top strong { color: #2e5a64; font-size: .8rem; }
.history-top time { color: #83939b; font-size: .7rem; white-space: nowrap; }
.history-detail { color: #526a75; font-size: .75rem; line-height: 1.4; margin: .22rem 0 0; overflow-wrap: anywhere; }
.action-block > .panel-hint { margin-top: -.45rem; }
.form-grid { display: grid; gap: .85rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
.field-full { grid-column: 1 / -1; }
.field input, .field select { font-size: .85rem; }
.form-actions { align-items: center; display: flex; gap: .7rem; margin-top: 1rem; }
.form-actions .form-message { margin: 0; min-height: 0; }
.report-cards { display: grid; gap: .9rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.report-card { background: #fff; border: 1px solid #dce6e8; border-radius: 12px; color: inherit; display: block; min-height: 185px; padding: 1.1rem; text-align: left; width: 100%; }
button.report-card:hover { border-color: #81b7c0; box-shadow: 0 4px 16px rgba(37, 86, 98, .08); }
.report-card.is-selected { border-color: #50a0ab; box-shadow: inset 0 0 0 1px #50a0ab; }
.report-card.is-site { background: #eaf4f3; border-color: #bddbd9; }
.report-card-head { align-items: baseline; display: flex; gap: .5rem; justify-content: space-between; }
.report-card h3 { font-size: .98rem; margin: 0; }
.report-card .view-cue { color: #367b84; font-size: .74rem; font-weight: 700; }
.report-card .primary-number { color: #155b65; display: block; font-size: 1.7rem; font-weight: 800; letter-spacing: -.04em; margin-top: 1rem; }
.report-card .primary-label { color: #7b8b93; display: block; font-size: .72rem; margin-top: -.1rem; }
.report-metrics { border-top: 1px solid #e6eeee; display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: .8rem; padding-top: .75rem; }
.report-metrics span { color: #75868f; display: block; font-size: .69rem; }
.report-metrics strong { display: block; font-size: .79rem; margin-top: .1rem; }
.report-warning { color: #9a7434; font-size: .7rem; line-height: 1.3; margin: .7rem 0 0; }
.report-disclaimer { color: #73858d; font-size: .78rem; line-height: 1.45; margin: .9rem 0 1.3rem; }
.report-items-panel { margin-top: 1.2rem; padding: 1.25rem; }
.items-heading { align-items: end; }
.items-heading h3 { font-size: 1rem; margin: 0; }
.table-scroll { overflow-x: auto; }
.items-table { border-collapse: collapse; font-size: .83rem; width: 100%; }
.items-table th { background: #f3f8f8; color: #647b83; font-size: .72rem; text-align: left; }
.items-table th, .items-table td { border-bottom: 1px solid #e8eeef; padding: .7rem .6rem; }
.items-table td { vertical-align: top; }
.items-table .numeric { text-align: right; white-space: nowrap; }
.items-table .code-cell { color: #166c76; font-weight: 800; white-space: nowrap; }
.items-table .product-cell { min-width: 180px; }
.unverified-mark { color: #b38338; font-size: .68rem; margin-left: .25rem; white-space: nowrap; }
.order-notice { margin-top: -.35rem; }
.orders-layout { align-items: start; display: grid; gap: 1.1rem; grid-template-columns: minmax(420px, 1.05fr) minmax(370px, .95fr); }
.order-entry-panel, .order-list-panel, .order-detail-panel { padding: 1.25rem; }
.order-entry-panel > h3, .order-list-panel h3, .order-detail-panel h3 { font-size: 1.02rem; margin: 0; }
.order-customer-block { border-bottom: 1px solid #e8eeef; margin: 1.1rem 0; padding-bottom: 1rem; }
.order-customer-block .panel-title { margin: 0 0 .5rem; }
.text-button { background: none; border: 0; color: #126b76; font-size: .79rem; font-weight: 700; padding: 0; text-decoration: underline; }
.text-button:hover { color: #0a4b55; }
.customer-results, .picker-results { display: grid; gap: .3rem; margin-top: .4rem; max-height: 190px; overflow: auto; }
.customer-result, .picker-result { background: #f8fbfb; border: 1px solid #e3eced; border-radius: 7px; color: #234852; padding: .55rem .7rem; text-align: left; width: 100%; }
.customer-result:hover, .picker-result:hover { background: #eaf5f5; border-color: #9bc9cc; }
.customer-result strong, .picker-result strong { display: block; font-size: .82rem; overflow-wrap: anywhere; }
.customer-result span, .picker-result span { color: #81939a; display: block; font-size: .71rem; margin-top: .16rem; }
.selected-customer { background: #edf6f5; border-radius: 7px; color: #17605f; font-size: .82rem; font-weight: 700; margin: .7rem 0 0; padding: .55rem .7rem; }
.selected-customer.is-empty { background: #f5f7f7; color: #8b999e; font-weight: 400; }
.new-customer-form { background: #f7fafb; border: 1px solid #dce9ea; border-radius: 9px; margin-top: .85rem; padding: .9rem; }
.new-customer-form h4 { font-size: .88rem; margin: 0; }
.inline-actions { display: flex; gap: .5rem; margin-top: .85rem; }
.inline-actions .button { min-height: 36px; padding: .45rem .7rem; }
.order-entry-panel > form > .form-grid { margin-top: .5rem; }
.order-lines-header { align-items: baseline; border-top: 1px solid #e8eeef; display: flex; justify-content: space-between; margin: 1.15rem 0 .65rem; padding-top: 1.1rem; }
.order-lines-header h4 { font-size: .94rem; margin: 0; }
.product-picker > label { margin-bottom: .4rem; }
.picker-results { margin-bottom: .65rem; }
.order-lines { display: grid; gap: .55rem; margin-top: .8rem; }
.order-line { background: #f7fafb; border: 1px solid #e1eaec; border-radius: 9px; padding: .75rem; }
.order-line-head { align-items: start; display: flex; gap: .6rem; justify-content: space-between; }
.order-line-head strong { color: #31515d; display: block; font-size: .83rem; line-height: 1.35; overflow-wrap: anywhere; }
.order-line-head span { color: #1a737e; display: block; font-size: .71rem; font-weight: 800; margin-bottom: .15rem; }
.remove-line { background: none; border: 0; color: #9d4c43; flex: none; font-size: .75rem; font-weight: 700; padding: .1rem; text-decoration: underline; }
.order-line-controls { display: grid; gap: .7rem; grid-template-columns: minmax(0, 1fr) 110px; margin-top: .55rem; }
.order-line-controls label { font-size: .72rem; margin-bottom: .25rem; }
.order-line-controls select, .order-line-controls input { font-size: .81rem; height: 38px; }
.line-availability { color: #72858d; font-size: .72rem; margin: .45rem 0 0; }
.line-availability.is-low { color: #a3483c; font-weight: 700; }
.order-save-actions { align-items: start; flex-direction: column; }
.orders-right { display: grid; gap: 1.1rem; }
.orders-list { display: grid; gap: .5rem; max-height: 520px; overflow: auto; }
.order-row { align-items: center; background: #fff; border: 1px solid #e3ebed; border-radius: 8px; color: inherit; display: flex; gap: .7rem; justify-content: space-between; padding: .7rem .8rem; text-align: left; width: 100%; }
.order-row:hover { background: #f4f9f9; border-color: #9dc8ce; }
.order-row.is-selected { background: #eaf5f5; border-color: #77b9c2; }
.order-row strong { color: #29535e; display: block; font-size: .85rem; }
.order-row small { color: #778b93; display: block; font-size: .73rem; margin-top: .18rem; }
.order-row .status-pill { flex: none; }
.order-detail-head { align-items: start; }
.status-pill { background: #edf2f3; border-radius: 100px; color: #5b727b; display: inline-block; font-size: .67rem; font-weight: 800; padding: .3rem .55rem; text-transform: capitalize; }
.status-pill.is-open { background: #e7f4ec; color: #26724e; }
.status-pill.is-delivered { background: #e6f0f9; color: #376e9a; }
.status-pill.is-cancelled { background: #f9eeee; color: #995954; }
.order-meta { color: #697f88; font-size: .8rem; line-height: 1.45; margin: .65rem 0; }
.order-detail-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.order-detail-actions .button { font-size: .78rem; min-height: 37px; padding: .5rem .65rem; }
.picking-print { display: none; }
.po-print { display: none; }
.section-nav { overflow-x: auto; scrollbar-width: thin; }
.section-tab { flex: none; white-space: nowrap; }
.extra-layout { align-items: start; display: grid; gap: 1.1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.extra-panel { margin-top: 1.1rem; padding: 1.2rem; }
.extra-panel h3 { font-size: 1.02rem; margin: 0 0 .9rem; }
.extra-panel input[type="search"] { margin: .4rem 0 .7rem; }
.extra-panel textarea { border: 1px solid #cfdfe1; border-radius: 7px; color: #244551; font: inherit; padding: .6rem; width: 100%; }
.facts-grid { display: grid; gap: .55rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: .7rem; }
.fact { background: #f7fafb; border: 1px solid #e5eeef; border-radius: 7px; min-width: 0; padding: .55rem .65rem; }
.fact span { color: #738991; display: block; font-size: .7rem; margin-bottom: .15rem; }
.fact strong { color: #2c5360; display: block; font-size: .8rem; overflow-wrap: anywhere; }
.check-field { align-items: center; display: flex; font-size: .8rem; gap: .4rem; }
.check-field input { height: auto; width: auto; }
.compact-list { display: grid; gap: .4rem; margin: .65rem 0; max-height: 560px; overflow: auto; }
.compact-row { background: #f8fbfb; border: 1px solid #dfebec; border-radius: 7px; color: #2c5360; display: block; padding: .6rem .7rem; text-align: left; width: 100%; }
.compact-row:hover { background: #eaf5f5; border-color: #a1c9cc; }
.compact-row strong { display: block; font-size: .83rem; }
.compact-row small { color: #748a91; display: block; font-size: .72rem; margin-top: .2rem; }
.cad-documents { display: grid; gap: .55rem; }
.cad-document { align-items: center; background: #f8fbfb; border: 1px solid #dfebec; border-radius: 7px; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between; padding: .65rem .75rem; }
.cad-document a { color: #166c73; font-size: .85rem; font-weight: 700; overflow-wrap: anywhere; }
.cad-document small { color: #748a91; display: block; font-size: .72rem; margin-top: .2rem; }
.cad-document button { background: transparent; border: 0; color: #9b4a43; cursor: pointer; font-size: .78rem; padding: .3rem; }
.cad-upload { border-top: 1px solid #edf1f2; display: grid; gap: .6rem; margin-top: .9rem; padding-top: .9rem; }
.cad-upload[hidden] { display: none; }
.cad-upload label { font-size: .83rem; font-weight: 700; }
.cad-upload input { max-width: 100%; }
.cad-upload .button { justify-self: start; }
.purchase-line, .purchase-receive-line { align-items: center; background: #f8fbfb; border: 1px solid #e4edee; border-radius: 7px; display: grid; gap: .5rem; grid-template-columns: minmax(160px, 1fr) 82px 115px auto; padding: .6rem; }
.purchase-line strong, .purchase-receive-line strong { font-size: .8rem; }
.purchase-receive-line { grid-template-columns: minmax(160px, 1fr) 100px 82px minmax(135px, .7fr); }
.purchase-receive-line span { color: #687e86; font-size: .73rem; }
.purchase-line input, .purchase-receive-line input, .purchase-receive-line select { font-size: .79rem; height: 36px; min-width: 0; }
.report-items-panel + .extra-panel { margin-top: 1.3rem; }
.site-footer { color: #8c9ca2; font-size: .74rem; margin: 0 auto; max-width: 1450px; padding: 0 2rem 1.4rem; }

@media (max-width: 1100px) {
  .stock-layout { grid-template-columns: minmax(290px, .85fr) minmax(390px, 1.15fr); }
  .report-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .orders-layout { grid-template-columns: minmax(380px, 1fr) minmax(350px, .9fr); }
}

@media (max-width: 800px) {
  .main-content { padding: 1.4rem; }
  .header-inner { padding: .7rem 1.4rem; }
  .stock-layout { grid-template-columns: 1fr; }
  .product-panel, .detail-panel { min-height: 0; }
  .product-results { max-height: 340px; }
  .empty-state { min-height: 230px; }
  .orders-layout { grid-template-columns: 1fr; }
  .extra-layout { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .login-panel { padding: 1.5rem; }
  .header-inner { padding: .6rem 1rem; }
  .header-brand span:not(.brand-mark), .signed-in-user { display: none; }
  .main-content { padding: 1.2rem 1rem; }
  .page-heading { margin-bottom: 1.1rem; }
  .page-description { font-size: .88rem; }
  .prototype-pill { font-size: .67rem; }
  .notice { padding: .75rem; }
  .notice p { font-size: .77rem; }
  .section-heading { align-items: start; }
  .section-heading .button { font-size: .76rem; min-height: 35px; padding: .45rem .55rem; }
  .section-nav { gap: .85rem; }
  .section-tab { font-size: .81rem; }
  .product-panel, .detail-panel { padding: 1rem; }
  .order-entry-panel, .order-list-panel, .order-detail-panel { padding: 1rem; }
  .form-grid { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .form-actions .button { width: 100%; }
  .report-cards { grid-template-columns: 1fr; }
  .report-card { min-height: 0; }
  .facts-grid { grid-template-columns: 1fr; }
  .purchase-line, .purchase-receive-line { grid-template-columns: 1fr 1fr; }
  .purchase-line strong, .purchase-receive-line strong { grid-column: 1 / -1; }
  .inline-actions { flex-wrap: wrap; }
  .site-footer { padding: 0 1rem 1.2rem; }
}

@media print {
  @page { size: A4 landscape; margin: 12mm; }
  body { background: #fff; color: #111; font-family: Arial, sans-serif; }
  body.printing-picking .app, body.printing-picking .login-screen { display: none !important; }
  body.printing-picking .picking-print { display: block; }
  body.printing-po .app, body.printing-po .login-screen,
  body.printing-catalogue .login-screen { display: none !important; }
  body.printing-po .po-print { display: block; }
  body.printing-catalogue .header-inner, body.printing-catalogue .page-heading,
  body.printing-catalogue .notice, body.printing-catalogue .section-nav,
  body.printing-catalogue .site-footer, body.printing-catalogue .section-heading,
  body.printing-catalogue #report-cards, body.printing-catalogue .report-disclaimer,
  body.printing-catalogue #report-items-panel,
  body.printing-catalogue #report-section > .extra-panel:last-child { display: none !important; }
  body.printing-catalogue #stock-section, body.printing-catalogue #orders-section,
  body.printing-catalogue #contacts-section, body.printing-catalogue #purchases-section,
  body.printing-catalogue #legacy-section { display: none !important; }
  body.printing-catalogue #report-section { display: block !important; }
  body.printing-catalogue #report-section > .extra-panel { border: 0; box-shadow: none; margin: 0; padding: 0; }
  body.printing-catalogue #report-section .inline-actions { display: none; }
  body.printing-catalogue #catalogue-message { color: #111; }
  .print-header { align-items: baseline; border-bottom: 2px solid #111; display: flex; justify-content: space-between; padding-bottom: 8mm; }
  .print-header span { font-size: 10pt; }
  .print-header strong { font-size: 20pt; }
  .picking-print h1 { font-size: 17pt; margin: 8mm 0 4mm; }
  .print-meta, .print-note { font-size: 10pt; line-height: 1.5; margin-bottom: 4mm; }
  .print-table { border-collapse: collapse; font-size: 8pt; margin-top: 8mm; width: 100%; }
  .print-table th, .print-table td { border: 1px solid #555; padding: 2mm; text-align: left; }
  .print-table th:first-child, .print-table td:first-child { text-align: center; width: 17mm; }
  .print-table th:last-child, .print-table td:last-child { text-align: right; width: 18mm; }
  .print-table tbody tr { break-inside: avoid; }
  .print-signoff { border-top: 1px solid #555; font-size: 10pt; margin-top: 14mm; padding-top: 4mm; }
}
