@font-face { font-family: "Material Symbols Rounded"; src: url("/fonts/material-symbols-rounded.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: block; }
@font-face { font-family: "Sora"; src: url("/fonts/sora-latin.woff2") format("woff2"); font-style: normal; font-weight: 500 700; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("/fonts/source-sans-3-latin.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }

:root {
  --navy: #17212b;
  --navy-2: #21313c;
  --teal: #087f75;
  --teal-dark: #0b665f;
  --sand: #f5f1e8;
  --paper: #fffdf9;
  --ink: #23303b;
  --muted: #68747d;
  --line: #dedbd3;
  --amber: #d99014;
  --coral: #d9534f;
  --blue: #3c78d8;
  --green-soft: #dcefe9;
  --teal-soft: #e7f3f1;
  --amber-soft: #fff0cc;
  --coral-soft: #fde4e1;
  --blue-soft: #e5eefc;
  --shadow: 0 12px 30px rgba(23, 33, 43, .08);
  --focus: 0 0 0 3px rgba(60, 120, 216, .25);
}


[hidden] { display: none !important; }

* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; background: var(--sand); color: var(--ink); font-family: "Source Sans 3", sans-serif; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 0; box-shadow: var(--focus); }
.material-symbols-rounded { font-family: "Material Symbols Rounded"; font-size: 18px; font-style: normal; font-weight: normal; line-height: 1; letter-spacing: normal; text-transform: none; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: "liga"; -webkit-font-smoothing: antialiased; font-feature-settings: "liga"; font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 20; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.eyebrow { margin: 0 0 7px; color: var(--teal); font-size: 11px; font-weight: 700; letter-spacing: 1.05px; text-transform: uppercase; }
.muted { color: var(--muted); }

.button { min-height: 38px; border: 1px solid var(--line); border-radius: 10px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--paper); color: var(--ink); font-weight: 700; text-decoration: none; }
.button.primary { border-color: var(--teal); background: var(--teal); color: #fff; }
.button.secondary:hover { border-color: #b8b4aa; background: #fff; }
.button.primary:hover { background: #096f67; }
.button.wide { width: 100%; min-height: 44px; justify-content: space-between; padding-inline: 17px; }
.icon-button { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; display: grid; place-items: center; padding: 0; background: var(--paper); color: var(--ink); }
.icon-button:hover { background: #fff; }
.text-button { border: 0; padding: 4px 0; background: transparent; color: var(--teal); font-weight: 700; font-size: 12px; }

/* Login */
.login-page { min-height: 100vh; background: var(--paper); }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .9fr) minmax(480px, 1.1fr); }
.login-story { position: relative; padding: 44px 58px; overflow: hidden; display: flex; flex-direction: column; background: var(--navy); color: #fff; }
.login-story::after { content: ""; position: absolute; right: -100px; bottom: -120px; width: 360px; height: 360px; border: 80px solid rgba(99,198,184,.08); border-radius: 50%; }
.login-wordmark { font: 700 25px/1 "Sora", sans-serif; letter-spacing: -.9px; }
.login-wordmark span { color: #a8e3d9; }
.login-copy { max-width: 530px; margin: auto 0; position: relative; z-index: 1; }
.login-copy .eyebrow { color: #89d8cc; }
.login-copy h1 { margin: 0 0 18px; font: 700 clamp(34px, 4.5vw, 58px)/1.05 "Sora", sans-serif; letter-spacing: -2.2px; }
.login-copy > p:last-child { max-width: 460px; color: #afbdc5; font-size: 18px; line-height: 1.5; }
.login-proof { position: relative; z-index: 1; display: flex; gap: 12px; align-items: center; padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.045); }
.login-proof > .material-symbols-rounded { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--teal); }
.login-proof strong, .login-proof small { display: block; }
.login-proof small { margin-top: 3px; color: #9eb0b9; }
.login-panel { display: grid; place-items: center; padding: 40px; background: var(--sand); }
.login-card { width: min(440px, 100%); padding: 36px; border: 1px solid rgba(23,33,43,.09); border-radius: 18px; background: var(--paper); box-shadow: var(--shadow); }
.login-card h2 { margin: 0 0 7px; font: 700 28px/1.15 "Sora", sans-serif; color: var(--navy); letter-spacing: -.7px; }
.login-card > .muted { margin: 0 0 24px; }
.login-form { display: grid; gap: 17px; }
.login-form label, .count-dialog label { display: grid; gap: 7px; font-weight: 700; font-size: 13px; }
.login-form input, .count-dialog input, .count-dialog select, .count-dialog textarea { width: 100%; min-height: 43px; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; background: #fff; color: var(--ink); }
.form-alert { margin: 0 0 17px; padding: 11px 12px; border: 1px solid #efb6b2; border-radius: 10px; background: var(--coral-soft); color: #943631; }
.demo-access { margin-top: 22px; padding-top: 18px; display: grid; gap: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.demo-access-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.demo-access-heading > div { display: grid; gap: 2px; }
.demo-access-heading strong { color: var(--ink); font: 600 13px/1.2 "Sora", sans-serif; }
.demo-access-heading > .material-symbols-rounded { color: var(--amber); font-size: 20px; }
.demo-login-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.demo-login { min-height: 58px; padding: 9px 10px; display: grid; grid-template-columns: 30px minmax(0, 1fr) 18px; gap: 8px; align-items: center; border: 1px solid #d8d3c8; border-radius: 11px; background: #f7f4ed; color: var(--ink); text-align: left; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.demo-login:hover { border-color: #9fc8c3; background: var(--teal-soft); transform: translateY(-1px); }
.demo-login:focus-visible { outline: 3px solid rgba(60,120,216,.25); outline-offset: 2px; }
.demo-login:disabled { opacity: .65; cursor: progress; transform: none; }
.demo-login > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.demo-login strong, .demo-login small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.demo-login strong { font-size: 12px; }
.demo-login small { color: var(--muted); font-size: 10px; }
.demo-login-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: var(--teal); color: #fff; font-size: 17px; }
.demo-login-arrow { color: var(--teal-dark); font-size: 17px; }

/* Application shell */
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 224px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; z-index: 20; overflow: hidden; display: flex; flex-direction: column; padding: 0 14px 18px; background: var(--navy); color: #dbe3e7; }
.wordmark { min-height: 72px; margin: 0 -14px 18px; padding: 0 24px; display: flex; align-items: center; background: var(--teal-dark); border-bottom: 1px solid rgba(255,255,255,.1); border-bottom-right-radius: 18px; color: #fff; font: 700 20px/1 "Sora", sans-serif; letter-spacing: -.6px; }
.wordmark span { color: #a8e3d9; }
.nav-label { margin: 0 11px 8px; color: #7f929d; font-size: 11px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; }
.nav-list { display: grid; gap: 4px; }
.nav-item { min-height: 43px; padding: 5px 8px; display: grid; grid-template-columns: 30px 1fr 18px; gap: 10px; align-items: center; border: 1px solid transparent; border-radius: 11px; color: #afbdc5; font-size: 14px; font-weight: 600; text-decoration: none; transition: .18s ease; }
.nav-item.disabled { opacity: .78; }
.nav-item.disabled:hover { opacity: 1; color: #fff; background: rgba(255,255,255,.04); }
.nav-icon { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(173,198,209,.14); border-radius: 9px; background: rgba(255,255,255,.035); color: #9cabb4; }
.nav-item.active { color: var(--navy); background: #edf8f5; border-color: rgba(176,224,214,.78); box-shadow: 0 9px 20px rgba(4,12,18,.25), inset 0 1px 0 rgba(255,255,255,.92); transform: translateY(-1px); }
.nav-item.active .nav-icon { color: #fff; background: var(--teal); border-color: #0c9185; box-shadow: 0 5px 12px rgba(8,127,117,.25); }
.nav-mark { color: var(--teal); font-size: 16px; }
.channel-card { margin-top: auto; padding: 13px; display: grid; gap: 7px; border: 1px solid #35444e; border-radius: 12px; background: #1d2a34; font-size: 11px; color: #c8d5da; }
.channel-card strong { color: #fff; font: 600 12px/1.2 "Sora", sans-serif; }
.channel-card p { margin: -2px 0 2px; color: #93a5af; }
.status-dot { width: 7px; height: 7px; margin-right: 7px; display: inline-block; border-radius: 50%; }
.status-dot.blocked { background: var(--coral); }
.status-dot.attention { background: var(--amber); }
.sidebar-scrim { display: none; }
.mobile-sidebar-identity { display: none; }
.workspace { min-width: 0; }
.topbar { height: 64px; padding: 0 30px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(255,253,249,.94); }
.crumb { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; }
.crumb strong { color: var(--ink); }
.account { display: flex; align-items: center; gap: 10px; }
.account-copy { display: grid; text-align: right; }
.account-copy strong { font-size: 12px; }
.account-copy span { color: var(--muted); font-size: 10px; }
.avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--teal); color: #fff; font-weight: 700; }
.mobile-menu { display: none; }

/* Inventory */
.inventory-page { width: min(1510px, 100%); margin: 0 auto; padding: 24px 30px 40px; }
.page-heading { margin-bottom: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.page-heading h1 { margin: 0 0 4px; color: var(--navy); font: 700 28px/1.1 "Sora", sans-serif; letter-spacing: -.8px; }
.page-heading p:last-child { margin: 0; color: var(--muted); font-size: 14px; }
.heading-actions { display: flex; align-items: center; gap: 9px; }
.scope-chip { min-height: 36px; padding: 0 11px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #c9ddd8; border-radius: 10px; background: #edf8f5; color: #22645f; font-size: 12px; font-weight: 700; }
.scope-chip .material-symbols-rounded { font-size: 17px; }
.scope-copy-mobile { display: none; }
.decision-strip { margin-bottom: 16px; display: grid; grid-template-columns: .92fr 1.15fr .9fr; gap: 12px; }
.summary-panel { min-height: 132px; padding: 15px 16px; border: 1px solid rgba(23,33,43,.08); border-radius: 12px; background: var(--paper); box-shadow: var(--shadow); }
.summary-panel header { margin-bottom: 11px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.summary-panel header strong { color: var(--navy); font: 600 12px/1.2 "Sora", sans-serif; }
.panel-kicker { margin: 0 0 4px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }
.risk-visual { display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: 15px; }
.risk-ring { width: 66px; height: 66px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--coral) 0 10%, var(--amber) 10% 28%, var(--teal) 28% 80%, #9c9485 80% 100%); position: relative; }
.risk-ring::after { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: var(--paper); }
.risk-ring span { position: relative; z-index: 1; color: var(--navy); font: 700 15px/1 "Sora", sans-serif; }
.risk-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 9px; }
.legend-button { padding: 0; display: inline-flex; align-items: center; gap: 5px; border: 0; background: transparent; color: var(--muted); font-size: 10px; text-align: left; }
.legend-button strong { color: var(--ink); }
.legend-dot { width: 7px; height: 7px; border-radius: 50%; }
.quantity-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; align-items: end; }
.quantity-item { display: grid; gap: 5px; }
.quantity-item b { color: var(--navy); font: 600 15px/1 "Sora", sans-serif; font-variant-numeric: tabular-nums; }
.quantity-item small { color: var(--muted); font-size: 10px; }
.quantity-track { height: 6px; overflow: hidden; border-radius: 8px; background: #ece8df; }
.quantity-track span { height: 100%; display: block; border-radius: inherit; }
.work-list { display: grid; gap: 7px; }
.work-button { width: 100%; padding: 0; display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 8px; border: 0; background: transparent; color: var(--ink); font-size: 11px; text-align: left; }
.work-button:hover strong { color: var(--teal); }
.work-button .work-value { color: var(--muted); }

.inventory-card { overflow: hidden; border: 1px solid rgba(23,33,43,.08); border-radius: 12px; background: var(--paper); box-shadow: var(--shadow); }
.toolbar { min-height: 58px; padding: 10px 14px; display: flex; align-items: flex-end; gap: 9px; border-bottom: 1px solid var(--line); }
.search-control { flex: 1; max-width: 360px; min-height: 38px; padding: 0 11px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--muted); }
.search-control input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 13px; }
.filter-control { display: grid; gap: 3px; }
.filter-control span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.filter-control select { height: 38px; max-width: 150px; border: 1px solid var(--line); border-radius: 9px; padding: 0 28px 0 9px; background: var(--paper); color: var(--ink); font-size: 12px; font-weight: 600; }
.result-count { margin-left: auto; align-self: center; color: var(--muted); font-size: 11px; white-space: nowrap; }
.active-filters { padding: 7px 14px; display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--line); background: #f8f5ef; }
.filter-chip { min-height: 25px; padding: 0 8px; border: 1px solid #c9ddd8; border-radius: 20px; background: #edf8f5; color: #22645f; font-size: 10px; font-weight: 700; }
.table-wrap { overflow-x: auto; }
table { width: 100%; min-width: 1030px; border-collapse: collapse; table-layout: fixed; }
th { position: sticky; top: 0; z-index: 2; height: 35px; padding: 0 10px; border-bottom: 1px solid var(--line); background: #f2efe8; color: #69747b; font-size: 10px; font-weight: 700; letter-spacing: .55px; text-align: left; text-transform: uppercase; }
th:first-child { width: 25%; left: 0; z-index: 3; }
th:nth-child(2), th:nth-child(3), th:nth-child(4), th:nth-child(5) { width: 8%; }
th:nth-child(6) { width: 13%; }
th:nth-child(7) { width: 14%; }
th:nth-child(8) { width: 9%; }
th:last-child { width: 7%; }
td { height: 56px; padding: 0 10px; border-bottom: 1px solid #ece9e2; font-size: 13px; vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: #fbf9f4; }
td:first-child { position: sticky; left: 0; z-index: 1; background: var(--paper); }
tbody tr:hover td:first-child { background: #fbf9f4; }
.product-cell { min-width: 0; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 9px; }
.product-thumb { width: 34px; height: 34px; overflow: hidden; border-radius: 9px; background: #e7e2d8; }
.product-thumb img { width: 100%; height: 100%; display: block; object-fit: cover; }
.product-copy { min-width: 0; }
.product-copy strong, .product-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-copy strong { color: var(--navy); font-size: 15px; line-height: 1.3; }
.product-copy small { margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.number { color: var(--navy); font: 600 14px/1 "Sora", sans-serif; font-variant-numeric: tabular-nums; }
.number.available { color: var(--teal); }
.location-cell strong, .location-cell small { display: block; }
.location-cell small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.channel-state { display: flex; align-items: center; gap: 6px; color: var(--muted); white-space: nowrap; }
.channel-state .status-dot { margin: 0; }
.status-pill { min-height: 23px; padding: 0 8px; display: inline-flex; align-items: center; border-radius: 20px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.status-pill.healthy { background: var(--green-soft); color: #146259; }
.status-pill.low { background: var(--amber-soft); color: #905305; }
.status-pill.out { background: var(--coral-soft); color: #a43a35; }
.status-pill.excess { background: #ece8df; color: #665e52; }
.row-button { min-width: 31px; min-height: 31px; padding: 0 7px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 700; }
.row-button:hover { border-color: var(--line); background: #fff; color: var(--teal); }
.row-action-label { line-height: 1; }
.table-status, .empty-state { min-height: 310px; padding: 50px 20px; display: grid; place-items: center; align-content: center; gap: 10px; color: var(--muted); text-align: center; }
.spinner { width: 25px; height: 25px; border: 3px solid #d9d3c8; border-top-color: var(--teal); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.empty-state > .material-symbols-rounded { font-size: 42px; color: #8aa39f; }
.empty-state h3, .empty-state p { margin: 0; }
.empty-state h3 { color: var(--navy); font: 600 17px/1.2 "Sora", sans-serif; }

/* Drawer and count action */
.detail-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 60; width: min(470px, 100vw); display: flex; flex-direction: column; background: var(--paper); box-shadow: -16px 0 45px rgba(23,33,43,.18); transform: translateX(105%); transition: transform .22s ease; }
.detail-drawer.open { transform: translateX(0); }
.drawer-header { min-height: 84px; padding: 19px 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.drawer-header h2 { margin: 0; color: var(--navy); font: 700 20px/1.15 "Sora", sans-serif; letter-spacing: -.4px; }
.drawer-content { overflow-y: auto; padding: 20px; display: grid; gap: 18px; }
.drawer-scrim { position: fixed; inset: 0; z-index: 50; background: rgba(12,20,27,.4); }
.detail-identity { display: grid; grid-template-columns: 54px 1fr; gap: 12px; align-items: center; }
.detail-identity .product-thumb { width: 54px; height: 54px; border-radius: 13px; }
.detail-identity h3 { margin: 0 0 3px; color: var(--navy); font: 600 17px/1.2 "Sora", sans-serif; }
.detail-identity p { margin: 2px 0; color: var(--muted); font-size: 12px; }
.detail-quantities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.detail-quantity { padding: 10px; border-radius: 10px; background: #f2efe8; }
.detail-quantity span, .detail-quantity strong { display: block; }
.detail-quantity span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.detail-quantity strong { margin-top: 4px; color: var(--navy); font: 600 15px/1 "Sora", sans-serif; }
.detail-section { display: grid; gap: 9px; }
.detail-section h4 { margin: 0; color: var(--navy); font: 600 12px/1.2 "Sora", sans-serif; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.section-heading span { color: var(--muted); font-size: 10px; }
.detail-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.detail-fact { padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; }
.detail-fact span, .detail-fact strong { display: block; }
.detail-fact span { color: var(--muted); font-size: 10px; }
.detail-fact strong { margin-top: 3px; font-size: 11px; }
.history-list { display: grid; gap: 8px; }
.history-item { padding-left: 15px; position: relative; display: grid; grid-template-columns: 1fr auto; gap: 3px 12px; font-size: 11px; }
.history-item::before { content: ""; position: absolute; top: 5px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--teal); }
.history-item strong { color: var(--navy); }
.history-item span { color: var(--muted); }
.history-item small { grid-column: 1 / -1; color: var(--muted); }
.movement-delta { font: 700 12px/1 "Sora", sans-serif; }
.movement-delta.positive { color: var(--teal); }
.movement-delta.negative { color: var(--coral); }
.movement-delta.neutral { color: var(--blue); }
.count-entry { padding: 10px; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.count-entry > div { min-width: 0; display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; }
.count-entry strong { color: var(--navy); font-size: 11px; }
.count-entry small { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
.count-entry.open { border-color: #edc987; background: #fffaf0; }
.count-entry.applied { border-color: #b7ddd6; background: #f6fcfa; }
.count-entry.cancelled { border-color: #d6d1c7; background: #f4f1eb; }
.count-state { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.count-check { color: var(--teal); font-size: 20px; }
.count-cancelled { color: var(--muted); font-size: 20px; }
.count-card-actions { display: grid; grid-template-columns: 1fr !important; justify-items: end; gap: 4px !important; }
.approval-list { display: grid; gap: 8px; }
.approval-entry { display: grid; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.approval-entry > div:first-child { display: grid; gap: 3px; }
.approval-entry.pending { border-color: #edc987; background: #fffaf0; }
.approval-entry.approved { border-color: #b7ddd6; background: #f6fcfa; }
.approval-entry.rejected { opacity: .82; }
.approval-entry .status-pill { width: max-content; text-transform: capitalize; }
.approval-entry small { color: var(--muted); font-size: 10px; }
.approval-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.access-denied-page { min-height: calc(100vh - 60px); display: grid; place-items: center; padding: 28px; }
.access-denied-card { width: min(620px, 100%); display: grid; justify-items: center; gap: 12px; padding: clamp(28px, 7vw, 54px); border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 20px 60px rgba(23,33,43,.08); text-align: center; }
.access-denied-card h1, .access-denied-card p { margin: 0; }
.access-denied-card h1 { color: var(--navy); font: 700 clamp(24px, 4vw, 36px) "Sora", sans-serif; }
.access-denied-icon { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 18px; background: #fff3dc; color: #a86500; font-size: 32px; }
.access-denied-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 8px; }
.danger-text { color: var(--coral); }
.compact-button { min-height: 31px; padding: 5px 9px; font-size: 10px; }
.drawer-actions { position: sticky; bottom: -20px; margin: 0 -20px -20px; padding: 13px 20px 20px; display: flex; gap: 9px; border-top: 1px solid var(--line); background: var(--paper); }
.count-dialog { width: min(470px, calc(100vw - 28px)); padding: 0; border: 0; border-radius: 16px; background: var(--paper); box-shadow: 0 24px 70px rgba(23,33,43,.28); }
.count-dialog::backdrop { background: rgba(12,20,27,.5); }
.count-dialog form { padding: 20px; display: grid; gap: 16px; }
.dialog-header { display: flex; justify-content: space-between; gap: 12px; }
.dialog-header h2 { margin: 0; color: var(--navy); font: 700 20px/1.2 "Sora", sans-serif; }
.dialog-target { margin: -5px 0 0; padding: 10px 12px; border-radius: 10px; background: #edf8f5; color: #22645f; font-size: 12px; }
.change-preview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.change-preview > div { padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #f7f4ed; }
.change-preview span, .change-preview strong { display: block; }
.change-preview span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .4px; }
.change-preview strong { margin-top: 5px; color: var(--navy); font: 700 17px/1 "Sora", sans-serif; }
.change-preview strong.positive { color: var(--teal); }
.change-preview strong.negative { color: var(--coral); }
.policy-note { margin: -4px 0 0; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.policy-note .material-symbols-rounded { color: var(--blue); font-size: 16px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 100; max-width: 360px; padding: 12px 15px; border-radius: 11px; background: var(--navy); color: #fff; box-shadow: 0 12px 35px rgba(23,33,43,.25); font-size: 12px; }

/* Products and channels */
.catalog-page { gap: 20px; }
.split-workspace { display: grid; grid-template-columns: minmax(260px, 340px) 1fr; gap: 16px; align-items: start; }
.catalog-form, .catalog-list, .channel-row, .listing-row { border: 1px solid var(--line); border-radius: 8px; background: var(--paper); box-shadow: 0 10px 28px rgba(23,33,43,.06); }
.catalog-form { padding: 16px; display: grid; gap: 12px; }
.catalog-form h2, .inventory-card h2 { margin: 0; color: var(--navy); font: 700 16px/1.2 "Sora", sans-serif; }
.catalog-form label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 700; }
.catalog-form input, .listing-row select { min-height: 38px; width: 100%; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--navy); font: 600 13px/1 "Source Sans 3", sans-serif; }
.catalog-form input { padding: 0 10px; }
.toolbar.compact { border-bottom: 1px solid var(--line); }
.product-list, .channel-list, .listing-list { display: grid; gap: 10px; }
.catalog-list { overflow: hidden; }
.product-list { padding: 12px; }
.catalog-row, .channel-row, .listing-row { padding: 12px; display: grid; grid-template-columns: minmax(230px, 1fr) auto minmax(220px, .7fr); gap: 12px; align-items: center; }
.catalog-row .product-thumb { width: 42px; height: 42px; }
.catalog-metrics { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.catalog-metrics span { min-height: 30px; padding: 5px 8px; display: inline-flex; align-items: center; gap: 5px; border-radius: 8px; background: #f2efe8; color: var(--muted); font-size: 10px; white-space: nowrap; }
.catalog-metrics strong { color: var(--navy); font: 700 12px/1 "Sora", sans-serif; }
.variant-stack { display: grid; gap: 5px; }
.variant-entry { display: grid; grid-template-columns: minmax(0, 1fr) 30px; gap: 5px; align-items: stretch; }
.variant-stack a { padding: 7px 8px; display: grid; gap: 2px; border: 1px solid var(--line); border-radius: 8px; color: inherit; text-decoration: none; }
.variant-stack a:hover { border-color: #9fcfc7; background: #f1faf8; }
.variant-stack strong { color: var(--navy); font-size: 11px; }
.variant-stack span { color: var(--muted); font-size: 10px; }
.variant-edit-button { width: 30px; height: auto; min-height: 30px; border-radius: 8px; }
.channel-list { margin-bottom: 12px; }
.channel-row { grid-template-columns: minmax(230px, 1fr) auto auto; }
.channel-row > div:first-child, .listing-row > div:first-child { display: grid; gap: 3px; }
.channel-row strong, .listing-row strong { color: var(--navy); font: 700 13px/1.2 "Sora", sans-serif; }
.channel-row span, .listing-row span, .listing-row small { color: var(--muted); font-size: 11px; }
.listing-list { padding-top: 2px; }
.listing-row { grid-template-columns: 1fr minmax(260px, auto); box-shadow: none; }
.listing-row.matched { border-color: #b7ddd6; background: #f6fcfa; }
.listing-row.unmatched { border-color: #edc987; background: #fffaf0; }
.listing-row > div:last-child { display: flex; justify-content: flex-end; gap: 8px; align-items: center; }
.listing-row select { max-width: 230px; padding: 0 9px; }

/* Orders and stock commitments */
.orders-page { gap: 18px; }
.order-summary { margin-bottom: 16px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.order-stat { min-height: 72px; padding: 12px 14px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 11px; border: 1px solid rgba(23,33,43,.09); border-radius: 12px; background: var(--paper); color: var(--ink); text-align: left; box-shadow: 0 8px 22px rgba(23,33,43,.05); }
.order-stat:hover, .order-stat.active { border-color: #9fcfc7; background: #f1faf8; }
.order-stat.active { box-shadow: inset 0 0 0 1px rgba(8,127,117,.12), 0 8px 22px rgba(23,33,43,.05); }
.order-stat .stat-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #e6f3f0; color: var(--teal); font-size: 20px; }
.order-stat > span:last-child { display: grid; gap: 3px; }
.order-stat small { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.order-stat strong { color: var(--navy); font: 700 20px/1 "Sora", sans-serif; }
.order-workspace { display: grid; grid-template-columns: minmax(340px, 390px) minmax(0, 1fr); align-items: start; gap: 18px; }
.order-create-card, .order-list-card { border: 1px solid rgba(23,33,43,.09); border-radius: 13px; background: var(--paper); box-shadow: var(--shadow); }
.order-create-card { padding: 20px; display: grid; gap: 16px; }
.section-title, .order-list-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.section-title h2, .order-list-header h2 { margin: 0; color: var(--navy); font: 700 18px/1.25 "Sora", sans-serif; }
.section-title > .material-symbols-rounded { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: #e6f3f0; color: var(--teal); }
.order-create-card > .muted { margin: -4px 0 2px; font-size: 14px; line-height: 1.5; }
.order-create-card label { display: grid; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 700; line-height: 1.35; }
.order-create-card input, .order-create-card select, .order-create-card textarea { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font-size: 14px; line-height: 1.35; }
.order-create-card textarea { min-height: 88px; resize: vertical; }
.order-create-card .button.primary { min-height: 46px; font-size: 15px; }
.form-split { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9px; }
.selected-stock { padding: 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; border-radius: 10px; background: #f2efe8; }
.selected-stock > div { display: grid; gap: 3px; }
.selected-stock span { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.selected-stock strong { color: var(--navy); font: 700 16px/1 "Sora", sans-serif; }
.order-list-card { min-width: 0; overflow: hidden; }
.order-list-header { min-height: 76px; padding: 17px 20px; align-items: center; border-bottom: 1px solid var(--line); }
.order-list-header .result-count { margin: 0; font-size: 12px; }
.order-list { display: grid; }
.order-row { width: 100%; min-height: 84px; padding: 12px 16px; display: grid; grid-template-columns: minmax(290px, 1.6fr) 64px minmax(140px, .75fr) 110px 84px; align-items: center; gap: 14px; border: 0; border-bottom: 1px solid #ece9e2; background: var(--paper); color: var(--ink); text-align: left; }
.order-row:last-child { border-bottom: 0; }
.order-row:hover { background: #faf8f3; }
.order-product { min-width: 0; display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 12px; }
.order-product .product-thumb { width: 46px; height: 46px; }
.order-product strong, .order-product small, .order-place strong, .order-place small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-product strong { color: var(--navy); font-size: 15px; line-height: 1.35; }
.order-product small { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.order-place strong { color: var(--navy); font-size: 14px; line-height: 1.35; }
.order-place small { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.order-quantity { display: grid; gap: 3px; }
.order-quantity small { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.order-quantity strong { color: var(--navy); font: 700 16px/1 "Sora", sans-serif; }
.order-state { min-height: 30px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 20px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.order-state .status-dot { margin: 0; background: currentColor; }
.order-state.reserved { background: var(--amber-soft); color: #905305; }
.order-state.shipped { background: var(--green-soft); color: #146259; }
.order-state.cancelled { background: var(--coral-soft); color: #a43a35; }
.order-time { display: flex; align-items: center; justify-content: flex-end; gap: 4px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.order-time .material-symbols-rounded { font-size: 18px; }
.compact-empty { min-height: 260px; }
.order-detail-hero { padding: 13px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; border-radius: 12px; background: #f2efe8; }
.order-detail-hero .detail-identity { min-width: 0; }
.order-detail-hero .detail-identity > div:last-child { min-width: 0; }
.order-detail-hero .order-state { margin-bottom: 6px; }
.order-detail-number { display: grid; justify-items: end; gap: 4px; }
.order-detail-number small { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.order-detail-number strong { color: var(--navy); font: 700 23px/1 "Sora", sans-serif; }
.inline-record-link { min-height: 36px; padding: 8px 10px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #c9ddd8; border-radius: 9px; background: #edf8f5; color: var(--teal-dark); font-size: 13px; font-weight: 700; text-decoration: none; }
.order-timeline { display: grid; gap: 9px; }
.order-event { display: grid; grid-template-columns: 31px 1fr; gap: 9px; }
.event-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: #e6f3f0; color: var(--teal); font-size: 16px; }
.order-event.cancelled .event-icon { background: var(--coral-soft); color: var(--coral); }
.order-event.shipped .event-icon { background: var(--green-soft); color: var(--teal); }
.order-event > div { display: grid; gap: 2px; }
.order-event strong { color: var(--navy); font-size: 14px; }
.order-event span { color: var(--muted); font-size: 13px; }
.order-event small { color: var(--muted); font-size: 11px; }
.button.danger { border-color: #e4aaa6; color: #a43a35; }
.button.primary.danger { border-color: var(--coral); background: var(--coral); color: #fff; }

/* Stock risk and Inventory Overview */
.overview-page { gap: 16px; }
.overview-visuals { margin-bottom: 12px; display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 12px; }
.overview-card { min-height: 170px; padding: 15px 16px; border: 1px solid rgba(23,33,43,.08); border-radius: 13px; background: var(--paper); box-shadow: var(--shadow); }
.overview-card > header { margin-bottom: 12px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.overview-card h2, .risk-queue-card h2 { margin: 0; color: var(--navy); font: 700 18px/1.2 "Sora", sans-serif; }
.overview-card .text-button { text-decoration: none; white-space: nowrap; }
.overview-risk-body { display: grid; grid-template-columns: 90px 1fr; align-items: center; gap: 15px; }
.overview-risk-ring { width: 86px; height: 86px; position: relative; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--coral) 0 5%, var(--amber) 5% 35%, var(--teal) 35% 100%); }
.overview-risk-ring::after { content: ""; position: absolute; inset: 13px; border-radius: 50%; background: var(--paper); }
.overview-risk-ring span { position: relative; z-index: 1; color: var(--navy); font: 700 23px/1 "Sora", sans-serif; }
.overview-risk-ring span::after { content: " at risk"; display: block; margin-top: 5px; color: var(--muted); font: 700 10px/1 "Source Sans 3", sans-serif; text-align: center; text-transform: uppercase; }
.overview-risk-legend { display: grid; gap: 4px; }
.overview-legend-row { min-height: 32px; display: grid; grid-template-columns: 8px 1fr auto 16px; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; line-height: 1.35; text-decoration: none; }
.overview-legend-row:hover span:nth-child(2) { color: var(--teal); }
.overview-legend-row strong { color: var(--navy); font: 700 14px/1 "Sora", sans-serif; }
.overview-legend-row .material-symbols-rounded { font-size: 16px; }
.stock-flow { display: grid; gap: 6px; }
.stock-flow-row { min-height: 32px; display: grid; grid-template-columns: 76px 58px 1fr 16px; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; text-decoration: none; }
.stock-flow-row strong { color: var(--navy); font: 700 14px/1 "Sora", sans-serif; text-align: right; }
.flow-track, .location-track { height: 7px; overflow: hidden; border-radius: 8px; background: #ece8df; }
.flow-track > span, .location-track > span { height: 100%; display: block; border-radius: inherit; }
.stock-flow-row .material-symbols-rounded { font-size: 14px; }
.location-bars { display: grid; gap: 7px; }
.location-bar { min-height: 34px; display: grid; grid-template-columns: minmax(95px, 1fr) minmax(55px, .7fr) 75px 15px; align-items: center; gap: 8px; color: var(--muted); text-decoration: none; }
.location-bar-copy strong, .location-bar-copy small, .location-value strong, .location-value small { display: block; }
.location-bar-copy strong { overflow: hidden; color: var(--navy); font-size: 14px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.location-bar-copy small, .location-value small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.location-track > span { background: var(--teal); }
.location-value { text-align: right; }
.location-value strong { color: var(--navy); font: 700 14px/1 "Sora", sans-serif; }
.location-bar > .material-symbols-rounded { font-size: 14px; }
.pending-strip { margin-bottom: 12px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; }
.pending-action-card { min-height: 76px; padding: 11px 12px; display: grid; grid-template-columns: 32px minmax(0, 1fr) 15px; align-items: center; gap: 9px; border: 1px solid rgba(23,33,43,.08); border-radius: 11px; background: var(--paper); color: var(--ink); text-decoration: none; box-shadow: 0 7px 20px rgba(23,33,43,.04); }
.pending-action-card:hover { border-color: #9fcfc7; background: #f6fbfa; }
.pending-action-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: #e6f3f0; color: var(--teal); font-size: 17px; }
.pending-action-card > span:nth-child(2) { min-width: 0; display: grid; grid-template-columns: 1fr auto; gap: 1px 6px; }
.pending-action-card small { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.pending-action-card strong { color: var(--navy); font: 700 16px/1 "Sora", sans-serif; }
.pending-action-card > span:nth-child(2) > span { grid-column: 1 / -1; overflow: hidden; color: var(--muted); font-size: 13px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.pending-action-card > .material-symbols-rounded:last-child { color: var(--muted); font-size: 14px; }
.risk-queue-card { overflow: hidden; border: 1px solid rgba(23,33,43,.08); border-radius: 13px; background: var(--paper); box-shadow: var(--shadow); }
.risk-queue-header { min-height: 76px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); }
.risk-queue-header p:last-child { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.risk-filter-group { padding: 3px; display: flex; gap: 3px; border-radius: 9px; background: #eeeae1; }
.risk-filter { min-height: 30px; padding: 0 11px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 700; }
.risk-filter.active { background: var(--paper); color: var(--teal-dark); box-shadow: 0 2px 8px rgba(23,33,43,.08); }
.risk-queue { display: grid; }
.risk-row { min-height: 86px; padding: 11px 14px; display: grid; grid-template-columns: minmax(250px, 1.3fr) 105px minmax(190px, 1fr) auto; align-items: center; gap: 15px; border-bottom: 1px solid #ece9e2; }
.risk-row:last-child { border-bottom: 0; }
.risk-product { min-width: 0; display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 10px; }
.risk-product .product-thumb { width: 46px; height: 46px; border-radius: 11px; }
.risk-product > div:last-child { min-width: 0; }
.risk-product .status-pill { min-height: 19px; margin-bottom: 3px; padding: 0 6px; }
.risk-product strong, .risk-product small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.risk-product strong { color: var(--navy); font-size: 15px; line-height: 1.35; }
.risk-product small { margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.risk-numbers { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 7px; }
.risk-numbers > div { display: grid; gap: 3px; }
.risk-numbers small, .risk-next small { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.risk-numbers strong { color: var(--navy); font: 700 16px/1 "Sora", sans-serif; }
.risk-divider { color: #b6aea1; font-size: 19px; }
.risk-next { display: grid; gap: 3px; }
.risk-next strong { color: var(--navy); font-size: 14px; line-height: 1.4; }
.risk-next span { color: var(--muted); font-size: 12px; line-height: 1.4; }
.risk-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.risk-actions .button { min-width: 88px; white-space: nowrap; }
.threshold-button { border-color: #c7d7ec; background: #f0f5fd; color: #315f9f; }
.threshold-context { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.threshold-context > div { padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #f7f4ed; }
.threshold-context span, .threshold-context strong { display: block; }
.threshold-context span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.threshold-context strong { margin-top: 5px; color: var(--navy); font: 700 14px/1.1 "Sora", sans-serif; }

/* Inventory reports and real filtered exports */
.reports-page { gap: 15px; }
.report-switcher { margin-bottom: 12px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.report-choice { min-height: 72px; padding: 12px 14px; display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 11px; border: 1px solid rgba(23,33,43,.09); border-radius: 12px; background: var(--paper); color: var(--ink); text-align: left; box-shadow: 0 7px 20px rgba(23,33,43,.04); }
.report-choice:hover { border-color: #a6d1ca; background: #f7fbfa; }
.report-choice.active { transform: translateY(-2px); border-color: #8bc2b9; background: #edf8f5; box-shadow: 0 10px 24px rgba(8,127,117,.11); }
.report-choice > .material-symbols-rounded { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #e6f3f0; color: var(--teal); font-size: 20px; }
.report-choice.active > .material-symbols-rounded { background: var(--teal); color: #fff; }
.report-choice > span:last-child { min-width: 0; display: grid; gap: 3px; }
.report-choice strong { color: var(--navy); font: 700 12px/1.2 "Sora", sans-serif; }
.report-choice small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.report-summary { margin-bottom: 12px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; }
.report-metric { min-height: 73px; padding: 11px 12px; display: grid; grid-template-columns: 31px minmax(0, 1fr); align-items: center; gap: 9px; border: 1px solid rgba(23,33,43,.08); border-radius: 11px; background: var(--paper); box-shadow: 0 7px 20px rgba(23,33,43,.04); }
.report-metric-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: #e6f3f0; color: var(--teal); font-size: 17px; }
.report-metric > span:last-child { min-width: 0; display: grid; grid-template-columns: 1fr auto; gap: 2px 6px; }
.report-metric small { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.report-metric strong { color: var(--navy); font: 700 16px/1 "Sora", sans-serif; }
.report-metric > span:last-child > span { grid-column: 1 / -1; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.report-card { overflow: hidden; border: 1px solid rgba(23,33,43,.08); border-radius: 13px; background: var(--paper); box-shadow: var(--shadow); }
.report-card-heading { min-height: 73px; padding: 13px 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.report-card-heading h2 { margin: 0; color: var(--navy); font: 700 16px/1.2 "Sora", sans-serif; }
.export-action { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.export-action > span { color: var(--muted); font-size: 10px; }
.report-toolbar { border-bottom: 1px solid var(--line); }
.report-toolbar [hidden] { display: none !important; }
.report-toolbar .search-control { max-width: 360px; }
.report-table-wrap { width: 100%; overflow-x: auto; }
.report-table { min-width: 980px; }
.report-table th { background: #faf8f3; }
.report-table tbody tr:hover { background: #fbfaf7; }
.report-table td { min-width: 78px; }
.report-table td:first-child { min-width: 220px; }
.report-table td:last-child { width: 44px; min-width: 44px; }
.report-product { min-width: 0; display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 9px; }
.report-product.compact { grid-template-columns: 1fr; }
.report-product .product-thumb { width: 40px; height: 40px; }
.report-product > div:last-child { min-width: 0; }
.report-product strong, .report-product span, .report-table td > strong, .cell-note { display: block; }
.report-product strong, .report-table td > strong { overflow: hidden; color: var(--navy); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.report-product span, .cell-note { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.number-cell { color: var(--navy); font: 700 12px/1 "Sora", sans-serif; }
.number-cell.emphasized { color: var(--teal-dark); }
.movement-delta { font: 700 13px/1 "Sora", sans-serif; }
.movement-delta.positive { color: var(--teal-dark); }
.movement-delta.negative { color: #a43a35; }
.report-footnote { min-height: 48px; padding: 10px 16px; display: flex; align-items: center; gap: 9px; border-top: 1px solid var(--line); background: #f8f6f1; color: var(--muted); font-size: 10px; }
.report-footnote .material-symbols-rounded { color: var(--teal); font-size: 18px; }

/* Purchasing, supplier terms, PO approval, and physical receiving */
.purchasing-page { gap: 15px; }
.purchase-summary { margin-bottom: 12px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 9px; }
.purchase-stat { min-height: 70px; padding: 11px 12px; display: grid; grid-template-columns: 33px minmax(0, 1fr); align-items: center; gap: 9px; border: 1px solid rgba(23,33,43,.08); border-radius: 11px; background: var(--paper); color: var(--ink); text-align: left; box-shadow: 0 7px 20px rgba(23,33,43,.04); }
button.purchase-stat:hover, button.purchase-stat.active { border-color: #9fcfc7; background: #eef8f5; }
button.purchase-stat.active { transform: translateY(-1px); box-shadow: inset 0 0 0 1px rgba(8,127,117,.1), 0 9px 22px rgba(8,127,117,.08); }
.purchase-stat .stat-icon { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 9px; background: #e6f3f0; color: var(--teal); font-size: 18px; }
.purchase-stat > span:last-child { min-width: 0; display: grid; gap: 3px; }
.purchase-stat small { overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 700; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.purchase-stat strong { color: var(--navy); font: 700 17px/1 "Sora", sans-serif; }
.incoming-stat { border-color: #ead2a1; background: #fff9ed; }
.incoming-stat .stat-icon { background: var(--amber-soft); color: #9b620a; }
.purchasing-workspace { margin-bottom: 12px; display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(330px, .78fr); align-items: stretch; gap: 12px; }
.purchase-form-card, .supplier-card, .operator-receiving-note, .purchase-order-card { border: 1px solid rgba(23,33,43,.08); border-radius: 13px; background: var(--paper); box-shadow: var(--shadow); }
.purchase-form-card { padding: 15px 16px; display: grid; align-content: start; gap: 11px; }
.purchase-form-card label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.purchase-form-card input, .purchase-form-card select, .purchase-form-card textarea { width: 100%; min-height: 36px; padding: 8px 10px; border: 1px solid #d7d2c8; border-radius: 9px; outline: 0; background: #fff; color: var(--navy); font: 600 11px/1.2 "Source Sans 3", sans-serif; text-transform: none; }
.purchase-form-card textarea { min-height: 58px; resize: vertical; }
.purchase-form-card input:focus, .purchase-form-card select:focus, .purchase-form-card textarea:focus { border-color: #70b5aa; box-shadow: 0 0 0 3px rgba(8,127,117,.1); }
.purchase-form-card > .button { width: 100%; }
.purchase-card-heading, .purchase-list-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.purchase-card-heading h2, .purchase-list-heading h2 { margin: 0; color: var(--navy); font: 700 15px/1.25 "Sora", sans-serif; }
.purchase-card-heading p:last-child { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.purchase-card-heading > .material-symbols-rounded { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #e6f3f0; color: var(--teal); font-size: 20px; }
.purchase-form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.purchase-source-preview { padding: 10px 11px; display: grid; grid-template-columns: 1.25fr .8fr .7fr; gap: 8px; border: 1px solid #c8dfda; border-radius: 10px; background: #f1faf8; }
.purchase-source-preview > div { min-width: 0; display: grid; gap: 3px; }
.purchase-source-preview span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.purchase-source-preview strong { overflow: hidden; color: var(--navy); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.supplier-card { overflow: hidden; }
.supplier-card > .purchase-card-heading { min-height: 78px; padding: 14px 15px; border-bottom: 1px solid var(--line); }
.supplier-list { max-height: 350px; overflow-y: auto; }
.supplier-row { min-height: 82px; padding: 11px 14px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid #ece9e2; }
.supplier-row:last-child { border-bottom: 0; }
.supplier-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #e6f3f0; color: var(--teal); font-size: 18px; }
.supplier-row > div { min-width: 0; display: grid; gap: 2px; }
.supplier-row strong, .supplier-row small, .supplier-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.supplier-row strong { color: var(--navy); font-size: 11px; }
.supplier-row small { color: var(--muted); font-size: 10px; }
.supplier-row > div > span { margin-top: 3px; color: #4e5d64; font-size: 10px; line-height: 1.45; white-space: normal; }
.supplier-term-count { min-height: 23px; padding: 0 7px; display: inline-flex; align-items: center; border-radius: 20px; background: #f1eee7; color: var(--muted); font-size: 10px; font-weight: 700; white-space: nowrap; }
.operator-receiving-note { margin-bottom: 12px; padding: 15px 16px; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 13px; background: #eef8f5; }
.operator-receiving-note > .material-symbols-rounded { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: var(--teal); color: #fff; }
.operator-receiving-note h2 { margin: 0; color: var(--navy); font: 700 15px/1.2 "Sora", sans-serif; }
.operator-receiving-note p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.purchase-order-card { overflow: hidden; }
.purchase-list-heading { min-height: 72px; padding: 13px 16px; align-items: center; border-bottom: 1px solid var(--line); }
.purchase-order-list { display: grid; }
.purchase-order-row { width: 100%; min-height: 70px; padding: 10px 13px; display: grid; grid-template-columns: minmax(270px, 1.5fr) 80px minmax(135px, .7fr) 118px 128px; align-items: center; gap: 11px; border: 0; border-bottom: 1px solid #ece9e2; background: var(--paper); color: var(--ink); text-align: left; }
.purchase-order-row:last-child { border-bottom: 0; }
.purchase-order-row:hover { background: #faf8f3; }
.purchase-order-identity { min-width: 0; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 10px; }
.purchase-order-identity .product-thumb { width: 42px; height: 42px; }
.purchase-order-identity > span:last-child { min-width: 0; }
.purchase-order-identity strong, .purchase-order-identity small, .purchase-order-location strong, .purchase-order-location small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.purchase-order-identity strong, .purchase-order-location strong { color: var(--navy); font-size: 11px; }
.purchase-order-identity small, .purchase-order-location small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.purchase-order-units { display: grid; gap: 3px; }
.purchase-order-units small, .purchase-order-time small { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.purchase-order-units strong { color: var(--navy); font: 700 14px/1 "Sora", sans-serif; }
.purchase-order-units span { color: var(--muted); font-size: 10px; }
.purchase-order-status { min-height: 25px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 20px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.purchase-order-status .status-dot { margin: 0; background: currentColor; }
.purchase-order-status.draft { background: #f0eee9; color: #5b6670; }
.purchase-order-status.approved { background: #eaf1fb; color: #315f9f; }
.purchase-order-status.issued { background: var(--amber-soft); color: #905305; }
.purchase-order-status.partially_received { background: #e9f4f1; color: #147269; }
.purchase-order-status.received { background: var(--green-soft); color: #146259; }
.purchase-order-status.cancelled { background: var(--coral-soft); color: #a43a35; }
.purchase-order-time { display: grid; grid-template-columns: 1fr 18px; justify-items: end; gap: 2px 4px; color: var(--muted); }
.purchase-order-time strong { color: var(--navy); font-size: 10px; }
.purchase-order-time small { grid-column: 1; }
.purchase-order-time .material-symbols-rounded { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 17px; }
.purchase-drawer .detail-identity { align-items: center; }
.purchase-drawer .detail-identity h3 { margin-top: 7px; }
.receipt-progress { height: 7px; margin-top: 10px; overflow: hidden; border-radius: 8px; background: #e8e4db; }
.receipt-progress > span { height: 100%; display: block; border-radius: inherit; background: var(--teal); }
.receipt-list, .purchase-timeline { display: grid; gap: 9px; }
.receipt-row, .purchase-event { display: grid; grid-template-columns: 31px minmax(0, 1fr); gap: 9px; }
.receipt-row > .material-symbols-rounded, .purchase-event .event-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: #e6f3f0; color: var(--teal); font-size: 16px; }
.purchase-event.cancelled .event-icon { background: var(--coral-soft); color: var(--coral); }
.purchase-event.issued .event-icon { background: var(--amber-soft); color: #995f08; }
.receipt-row > div, .purchase-event > div { min-width: 0; display: grid; gap: 2px; }
.receipt-row strong, .purchase-event strong { color: var(--navy); font-size: 10px; }
.receipt-row small, .purchase-event span, .purchase-event small { color: var(--muted); font-size: 10px; }
.purchase-drawer-actions { flex-wrap: wrap; }
.terminal-note { padding: 10px; display: flex; align-items: center; gap: 8px; border-radius: 10px; background: #edf8f5; color: var(--teal-dark); font-size: 10px; }
.terminal-note .material-symbols-rounded { font-size: 17px; }
.purchase-action-preview { grid-template-columns: repeat(3, 1fr); }

/* Returns, physical receipt, inspection, and explicit disposition */
.returns-page { gap: 14px; }
.return-summary { margin-bottom: 11px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 9px; }
.return-stat { min-height: 69px; padding: 10px 11px; display: grid; grid-template-columns: 33px minmax(0, 1fr); align-items: center; gap: 9px; border: 1px solid rgba(23,33,43,.08); border-radius: 11px; background: var(--paper); color: var(--ink); text-align: left; box-shadow: 0 7px 20px rgba(23,33,43,.04); }
button.return-stat:hover, button.return-stat.active { border-color: #9fcfc7; background: #eef8f5; }
button.return-stat.active { transform: translateY(-1px); box-shadow: inset 0 0 0 1px rgba(8,127,117,.1), 0 9px 22px rgba(8,127,117,.08); }
.return-stat .stat-icon { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 9px; background: #e6f3f0; color: var(--teal); font-size: 18px; }
.return-stat > span:last-child { min-width: 0; display: grid; gap: 3px; }
.return-stat small { overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 700; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.return-stat strong { color: var(--navy); font: 700 17px/1 "Sora", sans-serif; }
.held-return-stat { border-color: #e5c6c3; background: #fff6f4; }
.held-return-stat .stat-icon { background: var(--coral-soft); color: #a43a35; }
.return-gate { margin-bottom: 12px; padding: 12px 14px; display: grid; grid-template-columns: 42px minmax(280px, .85fr) minmax(390px, 1.15fr); align-items: center; gap: 13px; border: 1px solid #bcded8; border-radius: 13px; background: linear-gradient(120deg, #eff9f6, #fffdf8); box-shadow: var(--shadow); }
.return-gate-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--teal); color: #fff; }
.return-gate h2 { margin: 2px 0 0; color: var(--navy); font: 700 14px/1.25 "Sora", sans-serif; }
.return-gate p:last-child { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.return-gate-flow { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; gap: 6px; }
.return-gate-flow span { min-height: 29px; padding: 0 9px; display: grid; place-items: center; border-radius: 20px; background: #fff; color: var(--teal-dark); font-size: 10px; font-weight: 700; box-shadow: inset 0 0 0 1px rgba(8,127,117,.14); }
.return-gate-flow i { height: 2px; background: linear-gradient(90deg, #91c9c0, var(--teal)); }
.returns-workspace { margin-bottom: 12px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr); align-items: stretch; gap: 12px; }
.return-intake-card, .return-explainer, .return-list-card { border: 1px solid rgba(23,33,43,.08); border-radius: 13px; background: var(--paper); box-shadow: var(--shadow); }
.return-intake-card { padding: 15px 16px; display: grid; align-content: start; gap: 11px; }
.return-intake-card label, .return-action-dialog label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.return-intake-card input, .return-intake-card select, .return-intake-card textarea, .return-action-dialog select, .return-action-dialog textarea { width: 100%; min-height: 36px; padding: 8px 10px; border: 1px solid #d7d2c8; border-radius: 9px; outline: 0; background: #fff; color: var(--navy); font: 600 11px/1.2 "Source Sans 3", sans-serif; text-transform: none; }
.return-intake-card textarea, .return-action-dialog textarea { min-height: 62px; resize: vertical; }
.return-intake-card input:focus, .return-intake-card select:focus, .return-intake-card textarea:focus, .return-action-dialog select:focus, .return-action-dialog textarea:focus { border-color: #70b5aa; box-shadow: 0 0 0 3px rgba(8,127,117,.1); }
.return-card-heading, .return-list-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.return-card-heading h2, .return-list-heading h2 { margin: 0; color: var(--navy); font: 700 15px/1.25 "Sora", sans-serif; }
.return-card-heading p:last-child { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.return-card-heading > .material-symbols-rounded { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #e6f3f0; color: var(--teal); font-size: 20px; }
.return-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.return-source-preview { padding: 10px 11px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; border: 1px solid #c8dfda; border-radius: 10px; background: #f1faf8; }
.return-source-preview > div { min-width: 0; display: grid; gap: 3px; }
.return-source-preview span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.return-source-preview strong { overflow: hidden; color: var(--navy); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.return-explainer { overflow: hidden; }
.return-explainer > .return-card-heading { min-height: 79px; padding: 14px 15px; border-bottom: 1px solid var(--line); }
.return-proof-list { display: grid; }
.return-proof-list article { min-height: 83px; padding: 12px 15px; display: grid; grid-template-columns: 37px minmax(0, 1fr); gap: 11px; align-items: start; border-bottom: 1px solid #ece9e2; }
.return-proof-list article:last-child { border-bottom: 0; }
.return-proof-list .material-symbols-rounded { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; background: #e6f3f0; color: var(--teal); font-size: 19px; }
.return-proof-list strong { color: var(--navy); font-size: 11px; }
.return-proof-list p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.return-list-card { overflow: hidden; }
.return-list-heading { min-height: 72px; padding: 13px 16px; align-items: center; border-bottom: 1px solid var(--line); }
.return-list { display: grid; }
.return-row { width: 100%; min-height: 73px; padding: 10px 13px; display: grid; grid-template-columns: minmax(245px, 1.35fr) minmax(130px, .75fr) 90px minmax(120px, .65fr) 132px 106px; align-items: center; gap: 11px; border: 0; border-bottom: 1px solid #ece9e2; background: var(--paper); color: var(--ink); text-align: left; }
.return-row:last-child { border-bottom: 0; }
.return-row:hover { background: #faf8f3; }
.return-identity { min-width: 0; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 10px; }
.return-identity .product-thumb { width: 42px; height: 42px; }
.return-identity > span:last-child, .return-customer, .return-quantity, .return-place { min-width: 0; display: grid; gap: 3px; }
.return-identity strong, .return-identity small, .return-customer strong, .return-customer span, .return-place strong, .return-place small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.return-identity strong, .return-customer strong, .return-place strong { color: var(--navy); font-size: 10px; }
.return-identity small, .return-customer small, .return-customer span, .return-quantity small, .return-quantity span, .return-place small { color: var(--muted); font-size: 10px; }
.return-quantity strong { color: var(--navy); font: 700 14px/1 "Sora", sans-serif; }
.return-status { min-height: 25px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 20px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.return-status .status-dot { margin: 0; background: currentColor; }
.return-status.requested { background: var(--amber-soft); color: #905305; }
.return-status.received { background: #eaf1fb; color: #315f9f; }
.return-status.inspected { background: #efe9f8; color: #6a4592; }
.return-status.sellable { background: var(--green-soft); color: #146259; }
.return-status.quarantined { background: #eef0f2; color: #46545f; }
.return-status.damaged { background: var(--coral-soft); color: #a43a35; }
.return-time { display: grid; grid-template-columns: 1fr 18px; justify-items: end; gap: 2px 4px; color: var(--muted); }
.return-time strong { color: var(--navy); font-size: 10px; }
.return-time small { grid-column: 1; font-size: 10px; }
.return-time .material-symbols-rounded { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 17px; }
.return-drawer .detail-identity { align-items: center; }
.return-drawer .detail-identity h3 { margin-top: 7px; }
.return-quantity-progress { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.return-quantity-progress > div { min-height: 58px; padding: 10px; display: grid; align-content: center; gap: 4px; border-radius: 10px; background: #f4f1eb; }
.return-quantity-progress span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.return-quantity-progress strong { color: var(--navy); font: 700 12px/1.2 "Sora", sans-serif; }
.custody-note { margin: 10px 0 0; padding: 9px 10px; display: flex; align-items: center; gap: 8px; border-radius: 9px; background: #fff8e8; color: #77500f; font-size: 10px; }
.custody-note .material-symbols-rounded { font-size: 17px; }
.return-inspection-card, .return-disposition-card { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; }
.return-inspection-card > .material-symbols-rounded, .return-disposition-card > .material-symbols-rounded { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #e6f3f0; color: var(--teal); font-size: 18px; }
.return-disposition-card.quarantined > .material-symbols-rounded { background: #eef0f2; color: #46545f; }
.return-disposition-card.damaged > .material-symbols-rounded { background: var(--coral-soft); color: #a43a35; }
.return-inspection-card > div, .return-disposition-card > div { min-width: 0; display: grid; gap: 3px; }
.return-inspection-card strong, .return-disposition-card strong { color: var(--navy); font-size: 10px; }
.return-inspection-card small, .return-disposition-card small { color: var(--muted); font-size: 10px; }
.return-inspection-card p, .return-disposition-card p { margin: 2px 0 0; color: #4e5d64; font-size: 10px; }
.return-timeline { display: grid; gap: 9px; }
.return-event { display: grid; grid-template-columns: 31px minmax(0, 1fr); gap: 9px; }
.return-event .event-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: #e6f3f0; color: var(--teal); font-size: 16px; }
.return-event.damaged .event-icon { background: var(--coral-soft); color: #a43a35; }
.return-event.quarantined .event-icon { background: #eef0f2; color: #46545f; }
.return-event > div { min-width: 0; display: grid; gap: 2px; }
.return-event strong { color: var(--navy); font-size: 10px; }
.return-event span, .return-event small { color: var(--muted); font-size: 10px; }
.return-drawer-actions { flex-wrap: wrap; }
.return-action-preview { grid-template-columns: repeat(3, 1fr); }

/* Step 9: component-derived bundles nested under Products */
.product-view-tabs { width: fit-content; padding: 4px; display: flex; gap: 4px; border: 1px solid var(--line); border-radius: 14px; background: #ebe7df; }
.product-view-tab { min-width: 190px; padding: 9px 12px; display: grid; grid-template-columns: 31px 1fr; gap: 9px; align-items: center; border: 0; border-radius: 10px; background: transparent; color: var(--muted); text-align: left; cursor: pointer; }
.product-view-tab > .material-symbols-rounded { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: rgba(255,255,255,.58); font-size: 17px; }
.product-view-tab span:last-child { display: grid; gap: 2px; }
.product-view-tab strong { color: inherit; font: 700 11px/1.2 "Sora", sans-serif; }
.product-view-tab small { color: inherit; font-size: 10px; }
.product-view-tab.active { background: var(--paper); color: var(--teal); box-shadow: 0 6px 16px rgba(23,33,43,.1); }
.product-view-panel { display: grid; gap: 16px; }
.product-view-panel[hidden] { display: none; }
.bundle-truth { min-height: 68px; padding: 13px 15px; display: grid; grid-template-columns: 37px minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 1px solid #a8d3cc; border-radius: 12px; background: linear-gradient(105deg, #e7f4f1, #f7f5ef); }
.bundle-truth > .material-symbols-rounded { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; background: var(--teal); color: white; font-size: 19px; }
.bundle-truth div { display: grid; gap: 3px; }
.bundle-truth strong { color: var(--navy); font: 700 12px/1.2 "Sora", sans-serif; }
.bundle-truth p { margin: 0; color: #52636a; font-size: 10px; }
.truth-chip { padding: 6px 9px; border-radius: 99px; background: white; color: var(--teal); font-size: 10px; font-weight: 700; white-space: nowrap; }
.bundle-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.bundle-summary article { min-height: 67px; padding: 12px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); box-shadow: 0 7px 20px rgba(23,33,43,.045); }
.bundle-summary .material-symbols-rounded { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; background: #e5f1ef; color: var(--teal); font-size: 17px; }
.bundle-summary div { display: grid; gap: 3px; }
.bundle-summary small { color: var(--muted); font-size: 10px; }
.bundle-summary strong { color: var(--navy); font: 700 17px/1 "Sora", sans-serif; }
.bundle-workspace { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 14px; align-items: start; }
.bundle-definition-card, .bundle-list-card, .bundle-order-card, .bundle-orders-card { border: 1px solid var(--line); border-radius: 12px; background: var(--paper); box-shadow: 0 10px 28px rgba(23,33,43,.055); }
.bundle-definition-card { position: sticky; top: 78px; padding: 15px; display: grid; gap: 11px; }
.bundle-definition-card label, .bundle-order-form label, .action-dialog label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; }
.bundle-definition-card input, .bundle-definition-card select, .bundle-definition-card textarea, .bundle-order-form input, .bundle-order-form select, .action-dialog input { width: 100%; min-height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--navy); font: 600 12px/1 "Source Sans 3", sans-serif; }
.bundle-definition-card textarea { padding-block: 9px; resize: vertical; line-height: 1.35; }
.bundle-card-heading { padding: 14px 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.bundle-definition-card > .bundle-card-heading { margin: -15px -15px 1px; }
.bundle-card-heading h2 { margin: 3px 0 0; color: var(--navy); font: 700 14px/1.2 "Sora", sans-serif; }
.bundle-card-heading > .material-symbols-rounded { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #e5f1ef; color: var(--teal); font-size: 18px; }
.component-builder-heading { display: flex; align-items: center; justify-content: space-between; color: var(--navy); font-size: 10px; }
.component-builder-heading span { color: var(--muted); font-size: 10px; }
.bundle-component-rows { display: grid; gap: 7px; }
.bundle-component-row { display: grid; grid-template-columns: 22px minmax(0, 1fr) 62px 28px; gap: 5px; align-items: center; }
.component-index { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; background: #ece9e2; color: var(--muted); font: 700 10px/1 "Sora", sans-serif; }
.bundle-component-row select { padding-inline: 7px; font-size: 10px; }
.component-quantity { position: relative; display: block !important; }
.component-quantity span { position: absolute; left: 7px; top: 50%; z-index: 1; transform: translateY(-50%); color: var(--muted); }
.component-quantity input { padding-left: 19px; }
.component-remove { width: 28px; height: 28px; }
.component-remove .material-symbols-rounded { font-size: 15px; }
.component-add { width: fit-content; display: inline-flex; align-items: center; gap: 4px; }
.component-add .material-symbols-rounded { font-size: 15px; }
.bundle-stage { min-width: 0; display: grid; gap: 14px; }
.bundle-list { padding: 11px; display: flex; gap: 8px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.bundle-tile { min-width: 230px; padding: 10px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 8px; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: #f7f5f0; color: var(--navy); text-align: left; cursor: pointer; }
.bundle-tile:hover { border-color: #9fc9c3; }
.bundle-tile.active { border-color: var(--teal); background: #eaf5f3; box-shadow: inset 0 0 0 1px var(--teal); }
.bundle-glyph { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: white; color: var(--teal); font-size: 17px; }
.bundle-tile > span:nth-child(2), .bundle-derived { display: grid; gap: 3px; }
.bundle-tile strong { overflow: hidden; color: var(--navy); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bundle-tile small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bundle-derived { text-align: right; }
.bundle-derived strong { color: var(--teal); font: 700 15px/1 "Sora", sans-serif; }
.bundle-availability { padding: 13px; display: grid; gap: 11px; }
.bundle-definition-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bundle-definition-line > div { min-width: 0; display: grid; gap: 2px; }
.bundle-definition-line strong { color: var(--navy); font: 700 11px/1.2 "Sora", sans-serif; }
.bundle-definition-line span { color: var(--muted); font-size: 10px; }
.bundle-definition-line > span { padding: 5px 7px; border-radius: 7px; background: #f0eee8; white-space: nowrap; }
.availability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.availability-card { min-width: 0; padding: 11px; display: grid; gap: 9px; border: 1px solid var(--line); border-radius: 10px; background: #fcfbf8; }
.availability-card > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.availability-card header > div:first-child, .availability-total { display: grid; gap: 2px; }
.availability-card header strong { color: var(--navy); font-size: 10px; }
.availability-card header small { color: var(--muted); font-size: 10px; }
.availability-total { text-align: right; }
.availability-total strong { color: var(--teal) !important; font: 700 18px/1 "Sora", sans-serif; }
.contribution-list { display: grid; gap: 4px; }
.contribution-list a { min-width: 0; padding: 6px 7px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-radius: 7px; background: #f1eee8; color: var(--muted); font-size: 10px; text-decoration: none; }
.contribution-list a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contribution-list a strong { color: var(--navy); }
.contribution-list a.bottleneck { background: #fff2d7; color: #77500f; }
.contribution-list a.bottleneck strong { color: #9a6509; }
.availability-card > p { margin: 0; display: flex; align-items: center; gap: 5px; color: var(--teal); font-size: 10px; font-weight: 700; }
.availability-card > p .material-symbols-rounded { font-size: 14px; }
.availability-card.incomplete > p { color: var(--coral); }
.bundle-empty { min-height: 88px; padding: 16px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--muted); }
.bundle-empty.compact { min-height: 70px; }
.bundle-empty > .material-symbols-rounded { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #efede7; font-size: 18px; }
.bundle-empty div { display: grid; gap: 3px; }
.bundle-empty strong { color: var(--navy); font-size: 10px; }
.bundle-empty p { margin: 0; font-size: 10px; }
.bundle-order-form { padding: 14px; display: grid; gap: 11px; }
.bundle-explosion-preview { padding: 10px; display: grid; gap: 8px; border: 1px dashed #9bc8c1; border-radius: 9px; background: #eef7f5; }
.bundle-explosion-preview header { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--teal); font-size: 10px; }
.bundle-explosion-preview header > span { display: flex; align-items: center; gap: 5px; }
.bundle-explosion-preview header .material-symbols-rounded { font-size: 16px; }
.bundle-explosion-preview > div { display: flex; flex-wrap: wrap; gap: 6px; }
.bundle-explosion-preview > div span { padding: 5px 7px; border-radius: 7px; background: white; color: var(--muted); font-size: 10px; }
.bundle-explosion-preview > div strong { color: var(--navy); }
.bundle-explosion-preview p { margin: 0; color: var(--coral); font-size: 10px; font-weight: 700; }
.danger-text { color: var(--coral) !important; }
.bundle-order-list { display: grid; }
.bundle-order-row { padding: 11px 14px; display: grid; grid-template-columns: 105px minmax(180px, 1fr) minmax(150px, .7fr) 80px 20px; gap: 10px; align-items: center; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--navy); text-align: left; cursor: pointer; }
.bundle-order-row:first-child { border-top: 0; }
.bundle-order-row:hover { background: #f7f5f0; }
.bundle-order-row > span:not(.state-pill):not(.material-symbols-rounded) { min-width: 0; display: grid; gap: 3px; }
.bundle-order-row strong { overflow: hidden; color: var(--navy); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bundle-order-row small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bundle-order-number strong { color: var(--teal); font: 700 10px/1.2 "Sora", sans-serif; }
.bundle-order-row > .material-symbols-rounded { color: var(--muted); font-size: 17px; }
.state-pill { width: fit-content; min-height: 23px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center; border-radius: 20px; font-size: 10px; font-weight: 700; text-transform: capitalize; white-space: nowrap; }
.state-pill.attention { background: var(--amber-soft); color: #905305; }
.state-pill.success { background: var(--green-soft); color: #146259; }
.state-pill.neutral { background: #ece8df; color: #665e52; }
.bundle-order-drawer { z-index: 26; }
.bundle-drawer-hero { padding: 14px; display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 12px; border-radius: 11px; background: linear-gradient(120deg, #17212b, #28414b); color: white; }
.bundle-drawer-hero > div { min-width: 0; display: grid; align-content: center; gap: 4px; }
.bundle-drawer-hero > div:last-child { padding-left: 12px; border-left: 1px solid rgba(255,255,255,.16); }
.bundle-drawer-hero h3 { margin: 5px 0 0; font: 700 15px/1.2 "Sora", sans-serif; }
.bundle-drawer-hero p { margin: 0; color: #c6d2d7; font-size: 10px; }
.bundle-drawer-hero small, .bundle-drawer-hero span { color: #b9c8cd; font-size: 10px; }
.bundle-drawer-hero > div:last-child strong { font-size: 10px; }
.bundle-drawer-components { display: grid; gap: 7px; }
.bundle-drawer-components a { padding: 8px; display: grid; grid-template-columns: 36px minmax(0, 1fr) 52px 78px; gap: 8px; align-items: center; border: 1px solid var(--line); border-radius: 9px; color: var(--navy); text-decoration: none; }
.bundle-drawer-components img { width: 36px; height: 36px; border-radius: 8px; object-fit: cover; }
.bundle-drawer-components a > span { min-width: 0; display: grid; gap: 3px; }
.bundle-drawer-components strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bundle-drawer-components small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bundle-event-list { display: grid; gap: 8px; }
.bundle-event-list article { display: grid; grid-template-columns: 31px minmax(0, 1fr); gap: 8px; }
.bundle-event-list article > .material-symbols-rounded { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: #e5f1ef; color: var(--teal); font-size: 16px; }
.bundle-event-list div { min-width: 0; display: grid; gap: 2px; }
.bundle-event-list strong { color: var(--navy); font-size: 10px; text-transform: capitalize; }
.bundle-event-list small, .bundle-event-list p { color: var(--muted); font-size: 10px; }
.bundle-event-list p { margin: 1px 0 0; }
.bundle-order-drawer .drawer-actions { position: sticky; bottom: -14px; margin: 0 -14px -14px; padding: 12px 14px; background: var(--paper); border-top: 1px solid var(--line); }
.bundle-order-drawer .drawer-actions .button { flex: 1; }
.bundle-action-preview { display: grid; gap: 6px; }
.bundle-action-preview div { padding: 7px 8px; display: flex; justify-content: space-between; gap: 10px; border-radius: 8px; background: #f2efe9; color: var(--muted); font-size: 10px; }
.bundle-action-preview strong { color: var(--navy); }

/* Step 10 · named channel publication and reconciliation */
.channels-page { display: grid; gap: 14px; }
.channels-page .page-heading { margin-bottom: 0; }
.channel-truth { min-height: 62px; padding: 11px 14px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 11px; align-items: center; border: 1px solid #9bc8c1; border-radius: 12px; background: linear-gradient(110deg, #eaf5f3, #f8f6f0); }
.channel-truth > .material-symbols-rounded { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--teal); color: white; font-size: 21px; }
.channel-truth strong { color: var(--navy); font: 700 15px/1.35 "Sora", sans-serif; }
.channel-truth p { margin: 3px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.channel-view-tabs { margin: 0; width: fit-content; }
.channel-provider-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.channel-provider-card { min-width: 0; padding: 13px; display: grid; grid-template-columns: 46px minmax(150px, 1fr) auto; gap: 11px; align-items: center; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 7px 20px rgba(31,43,51,.055); }
.channel-provider-card::before { content: ""; grid-column: 1 / -1; height: 3px; margin: -13px -13px 0; border-radius: 12px 12px 0 0; background: var(--teal); }
.channel-provider-card.shopify::before { background: var(--blue); }
.provider-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #e5f1ef; color: var(--teal); }
.shopify .provider-mark { background: #e9eff9; color: var(--blue); }
.provider-mark .material-symbols-rounded { font-size: 22px; }
.provider-copy { min-width: 0; }
.provider-copy h2 { margin: 2px 0 3px; color: var(--navy); font: 700 14px/1.2 "Sora", sans-serif; }
.provider-copy p:last-child { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.provider-stats { display: flex; gap: 6px; }
.provider-stats span { min-width: 54px; padding: 7px 8px; display: grid; gap: 2px; border-radius: 8px; background: #f4f1eb; text-align: center; }
.provider-stats small { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.provider-stats strong { color: var(--navy); font-size: 15px; }
.channel-provider-card footer { grid-column: 2 / -1; display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.channel-provider-card footer small { color: var(--muted); font-size: 11px; }
.channel-sync-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-top: 11px; }
.channel-sync-summary article { min-width: 0; padding: 10px 11px; display: grid; grid-template-columns: 30px 1fr; gap: 8px; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fbfaf7; }
.channel-sync-summary article > .material-symbols-rounded { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: #e5f1ef; color: var(--teal); font-size: 16px; }
.channel-sync-summary div { display: grid; gap: 2px; }
.channel-sync-summary small { overflow: hidden; color: var(--muted); font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.channel-sync-summary strong { color: var(--navy); font: 700 13px/1 "Sora", sans-serif; }
.channel-sync-workspace { display: grid; grid-template-columns: minmax(540px, 1.6fr) minmax(350px, .8fr); gap: 12px; margin-top: 11px; align-items: start; }
.channel-matrix-card, .exception-queue-card { overflow: hidden; }
.channel-card-heading { min-height: 56px; padding: 11px 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--line); }
.channel-card-heading h2 { margin: 2px 0 0; color: var(--navy); font: 700 18px/1.2 "Sora", sans-serif; }
.channel-matrix-tools { padding: 8px 12px; display: flex; gap: 8px; border-bottom: 1px solid var(--line); background: #f8f6f1; }
.channel-matrix-tools .search-control { height: 32px; flex: 1; background: white; }
.channel-matrix-tools select { height: 32px; min-width: 128px; }
.channel-matrix { max-height: 470px; overflow-y: auto; }
.channel-matrix-row { padding: 10px 12px; display: grid; grid-template-columns: minmax(170px, .72fr) minmax(340px, 1.28fr); gap: 10px; border-bottom: 1px solid var(--line); }
.channel-matrix-row:last-child { border-bottom: 0; }
.channel-product-cell { min-width: 0; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 8px; align-items: center; color: var(--navy); text-decoration: none; }
.channel-product-cell img { width: 42px; height: 42px; border-radius: 10px; object-fit: cover; background: #ece8df; }
.channel-product-cell > span { min-width: 0; display: grid; gap: 3px; }
.channel-product-cell strong, .channel-product-cell small, .channel-product-cell em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.channel-product-cell strong { font-size: 15px; line-height: 1.35; }
.channel-product-cell small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.channel-product-cell em { color: var(--teal); font-size: 11px; line-height: 1.35; font-style: normal; font-weight: 700; }
.channel-stock-cells { min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.channel-stock-cell { min-width: 0; padding: 7px 8px; display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.channel-stock-cell.review { border-color: #e8c98d; background: #fffaf0; }
.channel-stock-cell.blocked { border-color: #d9cec4; background: #f5f1eb; }
.channel-stock-cell.current { border-color: #a9d3cd; background: #f2faf8; }
.channel-stock-cell header, .channel-stock-cell footer { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.channel-stock-cell header strong { overflow: hidden; color: var(--navy); font-size: 14px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.channel-stock-cell footer small { color: var(--muted); font-size: 11px; }
.channel-stock-cell .text-button { padding: 0; font-size: 12px; }
.channel-stock-cell.untracked p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.channel-quantity-line { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.channel-quantity-line span { display: grid; gap: 1px; }
.channel-quantity-line small { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.channel-quantity-line strong { color: var(--navy); font-size: 14px; }
.exception-queue { max-height: 558px; overflow-y: auto; }
.exception-row { width: 100%; min-height: 96px; padding: 13px 12px; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto 18px; gap: 10px; align-items: center; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--navy); text-align: left; cursor: pointer; }
.exception-row:last-child { border-bottom: 0; }
.exception-row:hover { background: #f7f5f0; }
.exception-row.resolved { opacity: .72; }
.exception-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: var(--amber-soft); color: #965900; font-size: 21px; }
.exception-row.blocked .exception-icon { background: #ece8df; color: #71685b; }
.exception-row.resolved .exception-icon { background: var(--green-soft); color: var(--teal); }
.exception-row > span:nth-child(2) { min-width: 0; display: grid; gap: 4px; }
.exception-row strong, .exception-row small, .exception-row em { overflow: hidden; text-overflow: ellipsis; }
.exception-row strong { font-size: 15px; line-height: 1.35; white-space: normal; }
.exception-row small { color: var(--muted); font-size: 13px; line-height: 1.4; white-space: normal; }
.exception-row em { color: #786f63; font-size: 11px; line-height: 1.35; font-style: normal; white-space: normal; }
.exception-row > .material-symbols-rounded:last-child { color: var(--muted); font-size: 16px; }
.exception-row > .state-pill { min-height: 25px; font-size: 11px; }
.sync-drawer { z-index: 60; }
.sync-exception-hero { padding: 14px; display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 12px; border-radius: 11px; background: linear-gradient(120deg, #17212b, #28414b); color: white; }
.sync-exception-hero h3 { margin: 8px 0 3px; font: 700 16px/1.25 "Sora", sans-serif; }
.sync-exception-hero p { margin: 0; color: #bdcbd0; font-size: 13px; line-height: 1.45; }
.sync-exception-hero > div:last-child { padding-left: 12px; display: grid; align-content: center; gap: 4px; border-left: 1px solid rgba(255,255,255,.16); }
.sync-exception-hero > div:last-child small { color: #b9c8cd; font-size: 10px; }
.sync-exception-hero > div:last-child strong { font-size: 14px; }
.sync-comparison { padding: 11px; display: grid; grid-template-columns: 1fr 30px 1fr; gap: 7px; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: white; text-align: center; }
.sync-comparison > div { display: grid; gap: 3px; }
.sync-comparison small { color: var(--muted); font-size: 10px; }
.sync-comparison strong { color: var(--navy); font: 700 18px/1 "Sora", sans-serif; }
.sync-comparison > .material-symbols-rounded { color: var(--teal); }
.resolution-note { margin-top: 9px; padding: 9px; border-radius: 8px; background: var(--green-soft); }
.resolution-note strong { color: var(--teal); font-size: 14px; }
.resolution-note p { margin: 3px 0 0; color: var(--navy); font-size: 13px; line-height: 1.45; }
.sync-event-list { display: grid; gap: 9px; }
.sync-event-list article { display: grid; grid-template-columns: 31px minmax(0, 1fr); gap: 8px; }
.sync-event-list article > .material-symbols-rounded { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: #e5f1ef; color: var(--teal); font-size: 16px; }
.sync-event-list article > div { min-width: 0; display: grid; gap: 2px; }
.sync-event-list strong { color: var(--navy); font-size: 14px; text-transform: capitalize; }
.sync-event-list p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.sync-event-list small { color: #857c70; font-size: 11px; }
.sync-drawer .drawer-actions { position: sticky; bottom: -14px; margin: 0 -14px -14px; padding: 12px 14px; background: var(--paper); border-top: 1px solid var(--line); }
.sync-drawer .drawer-actions .button { flex: 1; }
.sync-action-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.sync-action-preview div { padding: 9px; display: grid; gap: 4px; border-radius: 8px; background: #f2efe9; }
.sync-action-preview span { color: var(--muted); font-size: 12px; }
.sync-action-preview strong { color: var(--navy); font-size: 14px; }

@media (max-width: 1320px) {
  .order-row { grid-template-columns: minmax(0, 1.4fr) 52px 100px 94px; }
  .order-place { display: none; }
}

@media (max-width: 1180px) {
  .decision-strip { grid-template-columns: 1fr 1fr; }
  .work-panel { grid-column: 1 / -1; min-height: auto; }
  .work-list { grid-template-columns: repeat(3, 1fr); }
  .toolbar { flex-wrap: wrap; }
  .result-count { margin-left: 0; }
  .split-workspace { grid-template-columns: 1fr; }
  .catalog-row, .channel-row { grid-template-columns: 1fr; }
  .catalog-metrics { justify-content: flex-start; }
  .order-workspace { grid-template-columns: 340px minmax(0, 1fr); }
  .order-row { grid-template-columns: minmax(0, 1.4fr) 52px 100px 94px; }
  .overview-visuals { grid-template-columns: 1fr 1fr; }
  .location-board { grid-column: 1 / -1; }
  .pending-strip { grid-template-columns: repeat(3, 1fr); }
  .risk-row { grid-template-columns: minmax(230px, 1.3fr) 100px 1fr; }
  .risk-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
  .report-summary { grid-template-columns: repeat(3, 1fr); }
  .report-metric:nth-child(n+4) { grid-column: auto; }
  .purchase-summary { grid-template-columns: repeat(3, 1fr); }
  .purchasing-workspace { grid-template-columns: 1fr; }
  .purchase-order-row { grid-template-columns: minmax(240px, 1.4fr) 70px 110px 120px; }
  .purchase-order-location { display: none; }
  .return-summary { grid-template-columns: repeat(3, 1fr); }
  .return-gate { grid-template-columns: 42px 1fr; }
  .return-gate-flow { grid-column: 1 / -1; }
  .returns-workspace { grid-template-columns: 1fr; }
  .return-row { grid-template-columns: minmax(240px, 1.3fr) minmax(120px, .7fr) 72px 120px 105px; }
  .return-place { display: none; }
  .bundle-workspace { grid-template-columns: 1fr; }
  .bundle-definition-card { position: static; }
  .channel-sync-workspace { grid-template-columns: 1fr; }
  .channel-provider-card { grid-template-columns: 42px minmax(0, 1fr); }
  .provider-stats { grid-column: 1 / -1; }
  .channel-provider-card footer { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .login-shell { grid-template-columns: 1fr; }
  .login-story { min-height: 270px; padding: 28px 24px; }
  .login-copy { margin: 44px 0; }
  .login-copy h1 { font-size: 33px; }
  .login-copy > p:last-child { font-size: 15px; }
  .login-proof { display: none; }
  .login-panel { padding: 22px 14px; }
  .login-card { padding: 24px 20px; }
  .demo-login-grid { grid-template-columns: 1fr; }

  .app-shell { display: block; }
  .sidebar { position: fixed; left: 0; transform: translateX(-105%); transition: transform .22s ease; width: 224px; }
  .sidebar.open { transform: translateX(0); }
  .mobile-sidebar-identity { margin: -6px 4px 14px; padding: 10px; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 9px; align-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(255,255,255,.04); }
  .mobile-sidebar-identity > div:last-child { min-width: 0; display: grid; gap: 2px; }
  .mobile-sidebar-identity strong, .mobile-sidebar-identity span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-sidebar-identity strong { color: #fff; font-size: 11px; }
  .mobile-sidebar-identity span { color: #93a5af; font-size: 10px; }
  .sidebar-scrim { position: fixed; inset: 0; z-index: 15; display: block; background: rgba(12,20,27,.45); }
  .topbar { height: 58px; padding: 0 14px; }
  .mobile-menu { display: grid; }
  .crumb span { display: none; }
  .account-copy { display: none; }
  .account > .icon-button { display: grid; width: 34px; height: 34px; }
  .avatar { width: 32px; height: 32px; }
  .inventory-page { padding: 15px 14px 30px; overflow-x: hidden; }
  .page-heading { align-items: flex-start; }
  .page-heading h1 { font-size: 23px; }
  .page-heading p:last-child { max-width: 230px; font-size: 12px; }
  .heading-actions { display: grid; justify-items: end; }
  .scope-chip { max-width: 145px; font-size: 10px; }
  .decision-strip { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; overflow: visible; margin-inline: 0; padding: 0; }
  .summary-panel, .work-panel { min-width: 0; min-height: 154px; padding: 10px; grid-column: auto; }
  .summary-panel header { min-width: 0; margin-bottom: 8px; display: block; }
  .summary-panel header .text-button { display: none; }
  .summary-panel header strong { display: block; overflow-wrap: anywhere; font-size: 10px; line-height: 1.35; }
  .summary-panel .panel-kicker { font-size: 10px; }
  .risk-visual { grid-template-columns: 1fr; justify-items: center; gap: 8px; }
  .risk-ring { width: 58px; height: 58px; }
  .risk-ring::after { inset: 9px; }
  .risk-legend { display: none; }
  .quantity-grid { grid-template-columns: 1fr 1fr; gap: 8px 6px; }
  .quantity-item { gap: 3px; }
  .quantity-item b { font-size: 12px; }
  .quantity-item small { font-size: 10px; }
  .work-list { grid-template-columns: 1fr; gap: 8px; }
  .work-button { grid-template-columns: 6px minmax(0,1fr) auto; gap: 4px; font-size: 10px; line-height: 1.15; }
  .work-button .work-value { font-size: 10px; }
  .toolbar { align-items: stretch; }
  .search-control { max-width: none; flex-basis: 100%; }
  .filter-control { flex: 1 1 42%; }
  .filter-control select { width: 100%; max-width: none; }
  .result-count { flex-basis: 100%; }
  table { min-width: 980px; }
  .inventory-page > .inventory-card .table-wrap table { min-width: 0; table-layout: auto; }
  .inventory-page > .inventory-card .table-wrap thead { display: none; }
  #inventory-body { padding: 8px; display: grid; gap: 8px; }
  #inventory-body tr { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
  #inventory-body tr:hover td, #inventory-body tr:hover td:first-child { background: transparent; }
  #inventory-body td { height: auto; min-width: 0; padding: 0; display: block; border: 0; background: transparent; }
  #inventory-body td:first-child { position: static; grid-column: 1 / -1; padding-right: 74px; }
  #inventory-body td:nth-child(n+2):nth-child(-n+5) { display: grid; gap: 3px; }
  #inventory-body td:nth-child(n+2):nth-child(-n+5)::before { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .45px; text-transform: uppercase; }
  #inventory-body td:nth-child(2)::before { content: "On hand"; }
  #inventory-body td:nth-child(3)::before { content: "Committed"; }
  #inventory-body td:nth-child(4)::before { content: "Available"; }
  #inventory-body td:nth-child(5)::before { content: "Incoming"; }
  #inventory-body td:nth-child(6) { grid-column: 1 / 3; }
  #inventory-body td:nth-child(7) { grid-column: 3 / -1; align-self: center; }
  #inventory-body td:nth-child(8) { grid-column: 1 / -1; }
  #inventory-body td:last-child { position: absolute; top: 12px; right: 12px; }
  #inventory-body .row-action-label { display: inline; }
  .detail-drawer { width: 100vw; }
  .catalog-row, .listing-row, .channel-row { grid-template-columns: 1fr; }
  .listing-row > div:last-child { justify-content: stretch; flex-direction: column; align-items: stretch; }
  .listing-row select { max-width: none; }
  .product-view-tabs { width: 100%; }
  .product-view-tab { min-width: 0; flex: 1; }
  .product-view-tab small { display: none; }
  .catalog-page { overflow-x: hidden; }
  .bundle-truth { grid-template-columns: 37px 1fr; }
  .truth-chip { grid-column: 2; width: fit-content; }
  .bundle-summary { grid-template-columns: 1fr 1fr; }
  .bundle-workspace, .bundle-stage, .bundle-definition-card, .bundle-list-card, .bundle-order-card, .bundle-orders-card { min-width: 0; max-width: 100%; }
  .bundle-component-row { grid-template-columns: 22px minmax(0, 1fr) 56px 28px; }
  .bundle-component-row > label, .bundle-component-row select { min-width: 0; max-width: 100%; }
  .availability-grid { grid-template-columns: 1fr; }
  .bundle-definition-line { align-items: flex-start; flex-direction: column; }
  .bundle-order-row { grid-template-columns: 1fr auto; }
  .bundle-order-row > span:nth-child(2), .bundle-order-row > span:nth-child(3) { grid-column: 1 / -1; }
  .bundle-order-row > .state-pill { grid-column: 1; }
  .bundle-order-row > .material-symbols-rounded { grid-column: 2; grid-row: 1; }
  .bundle-drawer-components a { grid-template-columns: 36px minmax(0, 1fr) 58px; }
  .bundle-drawer-components a > span:last-child { grid-column: 2 / -1; }
  .order-summary { grid-template-columns: 1fr 1fr; }
  .order-workspace { grid-template-columns: 1fr; }
  .order-create-card { order: 2; }
  .order-list-card { order: 1; }
  .order-list-header { display: grid; }
  .order-list-header .result-count { white-space: normal; }
  .order-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 10px; }
  .order-product { grid-column: 1 / -1; }
  .order-quantity { grid-row: 2; }
  .order-state { grid-row: 2; justify-self: end; }
  .order-time { grid-column: 1 / -1; justify-content: flex-start; }
  .form-split { grid-template-columns: 1fr; }
  .overview-visuals { grid-template-columns: 1fr; }
  .location-board { grid-column: auto; }
  .overview-card { min-height: auto; }
  .overview-card > header { align-items: center; }
  .overview-card .text-button { font-size: 10px; }
  .pending-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; overflow: visible; margin-inline: 0; padding: 0; }
  .pending-action-card { min-width: 0; min-height: 88px; padding: 10px; grid-template-columns: 30px minmax(0, 1fr) 15px; gap: 7px; }
  .pending-action-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .pending-action-card > span:nth-child(2) { grid-template-columns: 1fr; }
  .pending-action-card > span:nth-child(2) > strong { grid-row: 1; }
  .pending-action-card > span:nth-child(2) > small { grid-row: 2; }
  .pending-action-card > span:nth-child(2) > span { grid-row: 3; white-space: normal; }
  .risk-queue-header { align-items: flex-start; flex-direction: column; }
  .risk-row { grid-template-columns: 1fr 1fr; gap: 12px; }
  .risk-product, .risk-next, .risk-actions { grid-column: 1 / -1; }
  .risk-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .risk-actions .button { min-width: 0; }
  .threshold-context { grid-template-columns: 1fr; }
  .report-switcher { display: flex; overflow-x: auto; margin-inline: -14px; padding: 2px 14px 7px; }
  .report-switcher, .report-summary { scrollbar-width: none; }
  .report-switcher::-webkit-scrollbar, .report-summary::-webkit-scrollbar { display: none; }
  .report-choice { min-width: 235px; }
  .report-summary { display: flex; overflow-x: auto; margin-inline: -14px; padding: 0 14px 5px; }
  .report-metric { min-width: 165px; }
  .report-card-heading { align-items: flex-start; flex-direction: column; }
  .export-action { width: 100%; justify-content: space-between; }
  .export-action > span { max-width: 120px; }
  .report-toolbar .search-control { max-width: none; }
  .report-table { min-width: 920px; }
  .purchase-summary { display: flex; overflow-x: auto; margin-inline: -14px; padding: 1px 14px 6px; scrollbar-width: none; }
  .purchase-summary::-webkit-scrollbar { display: none; }
  .purchase-stat { min-width: 145px; }
  .purchasing-workspace { grid-template-columns: 1fr; }
  .purchase-form-grid { grid-template-columns: 1fr 1fr; }
  .purchase-source-preview { grid-template-columns: 1fr; }
  .supplier-card > .purchase-card-heading { align-items: flex-start; flex-direction: column; }
  .supplier-list { max-height: none; }
  .purchase-list-heading { align-items: flex-start; flex-direction: column; }
  .purchase-order-row { grid-template-columns: minmax(0, 1fr) auto; gap: 9px 10px; }
  .purchase-order-identity { grid-column: 1 / -1; }
  .purchase-order-units { grid-row: 2; }
  .purchase-order-status { grid-row: 2; justify-self: end; }
  .purchase-order-time { grid-column: 1 / -1; grid-template-columns: auto auto 18px; justify-items: start; }
  .purchase-order-time small { grid-column: 2; }
  .purchase-order-time .material-symbols-rounded { grid-column: 3; grid-row: 1; }
  .purchase-action-preview { grid-template-columns: 1fr; }
  .return-summary { display: flex; overflow-x: auto; margin-inline: -14px; padding: 1px 14px 6px; scrollbar-width: none; }
  .return-summary::-webkit-scrollbar { display: none; }
  .return-stat { min-width: 150px; }
  .return-gate { grid-template-columns: 36px 1fr; }
  .return-gate-icon { width: 36px; height: 36px; }
  .return-gate-flow { display: flex; overflow-x: auto; }
  .return-gate-flow span { min-width: 72px; }
  .return-gate-flow i { min-width: 18px; }
  .returns-workspace { grid-template-columns: 1fr; }
  .return-form-grid, .return-source-preview { grid-template-columns: 1fr; }
  .return-list-heading { align-items: flex-start; flex-direction: column; }
  .return-row { grid-template-columns: minmax(0, 1fr) auto; gap: 9px 10px; }
  .return-identity { grid-column: 1 / -1; }
  .return-customer { grid-column: 1 / -1; }
  .return-quantity { grid-row: 3; }
  .return-status { grid-row: 3; justify-self: end; }
  .return-time { grid-column: 1 / -1; grid-template-columns: auto auto 18px; justify-items: start; }
  .return-time small { grid-column: 2; }
  .return-time .material-symbols-rounded { grid-column: 3; grid-row: 1; }
  .return-action-preview, .return-quantity-progress { grid-template-columns: 1fr; }
  .channel-truth { grid-template-columns: 36px minmax(0, 1fr); }
  .channel-truth > .truth-chip { grid-column: 2; width: fit-content; }
  .channel-view-tabs { width: 100%; }
  .channel-provider-grid { grid-template-columns: 1fr; }
  .channel-sync-summary { display: flex; overflow-x: auto; margin-inline: -14px; padding: 0 14px 5px; }
  .channel-sync-summary article { min-width: 150px; }
  .channel-sync-workspace { grid-template-columns: 1fr; }
  .channel-card-heading { align-items: flex-start; flex-direction: column; }
  .channel-matrix-tools { align-items: stretch; flex-direction: column; }
  .channel-matrix-tools select { width: 100%; }
  .channel-matrix { max-height: none; }
  .channel-matrix-row { grid-template-columns: 1fr; }
  .channel-stock-cells { grid-template-columns: 1fr; }
  .exception-queue { max-height: none; }
  .sync-action-preview { grid-template-columns: 1fr; }
}

/* Hostile-client mobile acceptance: lifecycle controls must be completely
   visible, not hidden behind an unlabelled horizontal strip. */
@media (max-width: 760px) {
  .purchase-summary,
  .return-summary,
  .transfer-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    margin-inline: 0;
    padding: 0;
  }

  .purchase-stat,
  .return-stat,
  .transfer-stat { min-width: 0; }

  .purchase-stat:last-child,
  .return-stat:last-child,
  .transfer-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }

  .return-gate-flow,
  .transfer-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    width: 100%;
    overflow: visible;
    white-space: normal;
  }

  .return-gate-flow i,
  .transfer-flow i { display: none; }

  .return-gate-flow span,
  .transfer-flow span {
    min-width: 0;
    justify-content: flex-start;
  }
}

/* Step 15 · scan-first mobile and offline inventory work */
.status-pill.success { background: var(--green-soft); color: #146259; }
.status-pill.danger { background: var(--coral-soft); color: #9b3934; }
.status-pill.info { background: var(--blue-soft); color: #2f65b3; }
.status-pill .material-symbols-rounded { margin-right: 4px; font-size: 13px; }
.mobile-work-page { display: grid; gap: 14px; }
.mobile-work-page .page-heading { margin-bottom: 0; }
.mobile-control-band { min-height: 78px; display: grid; grid-template-columns: 48px minmax(190px,1.35fr) minmax(150px,.8fr) minmax(130px,.7fr) auto auto; gap: 13px; align-items: center; padding: 14px 16px; border-radius: 17px; background: var(--navy-2); color: white; box-shadow: var(--shadow); }
.mobile-connection-mark { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; background: rgba(255,255,255,.08); color: #91a4ae; }
.mobile-connection-mark.online { background: rgba(8,127,117,.34); color: #92e1d9; }
.mobile-connection-mark.offline { background: rgba(217,144,20,.18); color: #f3bd61; }
.mobile-connection-mark .material-symbols-rounded { font-size: 23px; }
.mobile-connection-copy, .mobile-freshness > div, .mobile-device > div { display: grid; gap: 1px; min-width: 0; }
.mobile-connection-copy .panel-kicker { color: #83d8d0; }
.mobile-connection-copy strong, .mobile-freshness strong, .mobile-device strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.mobile-connection-copy small, .mobile-freshness small, .mobile-device small { color: #afbec5; font-size: 10px; }
.mobile-freshness, .mobile-device { min-height: 43px; display: grid; grid-template-columns: 29px minmax(0,1fr); gap: 8px; align-items: center; padding-left: 13px; border-left: 1px solid rgba(255,255,255,.13); }
.mobile-freshness > .material-symbols-rounded, .mobile-device > .material-symbols-rounded { color: #75cfc7; }
.mobile-control-band .button { min-height: 42px; border-color: rgba(255,255,255,.16); white-space: nowrap; }
.mobile-control-band .offline-toggle { background: rgba(255,255,255,.08); color: white; }
.mobile-control-band .offline-toggle.active { border-color: #e2a744; background: rgba(217,144,20,.2); color: #ffd488; }
.mobile-control-band .button.primary b { min-width: 19px; height: 19px; display: grid; place-items: center; border-radius: 999px; background: rgba(255,255,255,.18); font-size: 10px; }
.mobile-control-band .button:disabled { opacity: .45; cursor: not-allowed; }

.mobile-work-summary { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; }
.mobile-work-summary article { min-width: 0; min-height: 70px; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: center; padding: 11px 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: 0 5px 16px rgba(23,33,43,.04); }
.mobile-work-summary article > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 11px; background: #e7f3f1; color: var(--teal); }
.mobile-work-summary .conflict-summary > span { background: var(--coral-soft); color: var(--coral); }
.mobile-work-summary article > div { display: grid; gap: 1px; }
.mobile-work-summary small { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.mobile-work-summary strong { color: var(--navy); font: 700 20px "Sora", sans-serif; }

.mobile-workspace { display: grid; grid-template-columns: minmax(310px, .74fr) minmax(500px, 1.6fr); gap: 13px; align-items: start; }
.mobile-task-panel, .mobile-execution-card { border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: 0 7px 22px rgba(23,33,43,.05); }
.mobile-task-panel { overflow: hidden; }
.mobile-task-panel > .section-title { padding: 15px 16px 11px; }
.mobile-task-filters { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; padding: 0 11px 10px; }
.mobile-task-filters button { min-height: 31px; border: 0; border-radius: 9px; background: #f0eee8; color: var(--muted); font-size: 10px; font-weight: 700; }
.mobile-task-filters button.active { background: var(--navy); color: white; }
.mobile-task-list { max-height: 620px; overflow-y: auto; padding: 0 8px 9px; display: grid; gap: 7px; }
.mobile-task { position: relative; overflow: hidden; padding: 10px; border: 1px solid var(--line); border-radius: 13px; background: #fbfaf6; transition: border-color .15s, transform .15s, box-shadow .15s; }
.mobile-task:hover { border-color: #b7cec9; }
.mobile-task.selected { border-color: #71bdb5; background: #f2faf8; box-shadow: 0 7px 17px rgba(8,127,117,.09); transform: translateY(-1px); }
.mobile-task-select { width: 100%; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 9px; align-items: center; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; }
.mobile-task-select > span:nth-child(2) { display: grid; gap: 1px; min-width: 0; }
.mobile-task-type { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 11px; background: var(--navy); color: #89d7cf; }
.mobile-task-select small { color: var(--teal); font-size: 10px; font-weight: 800; letter-spacing: .45px; text-transform: uppercase; }
.mobile-task-select strong { overflow: hidden; color: var(--navy); font: 700 11px "Sora", sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.mobile-task-select em { overflow: hidden; color: var(--muted); font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.mobile-task-meta { margin-top: 8px; display: flex; justify-content: space-between; gap: 7px; align-items: center; }
.mobile-task-meta > span:first-child { display: inline-flex; align-items: center; gap: 3px; color: var(--muted); font-size: 10px; }
.mobile-task-meta > span:first-child .material-symbols-rounded { font-size: 13px; }
.mobile-task-quantity { margin-top: 8px; display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border: 1px solid #e6e2da; border-radius: 9px; background: white; }
.mobile-task-quantity > div { display: grid; gap: 1px; padding: 6px 8px; border-right: 1px solid #e6e2da; }
.mobile-task-quantity > div:last-child { border-right: 0; }
.mobile-task-quantity small { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.mobile-task-quantity strong { color: var(--navy); font-size: 10px; }
.mobile-task .mobile-download, .mobile-task .mobile-review { width: 100%; min-height: 33px; margin-top: 8px; font-size: 10px; }
.mobile-owner-assignment { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.mobile-owner-assignment > span { display: inline-flex; align-items: center; gap: 4px; color: var(--muted); font-size: 10px; }
.mobile-owner-assignment .material-symbols-rounded { color: var(--teal); font-size: 15px; }
.mobile-task .mobile-review { border-color: #e1aaa6; background: var(--coral-soft); color: #943a35; }
.mobile-task .mobile-open { width: 100%; margin-top: 7px; justify-content: flex-end; font-size: 10px; }

.mobile-execution-card { min-height: 410px; overflow: hidden; }
.mobile-scan-hero { min-height: 155px; display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 17px; align-items: center; padding: 23px 26px; background: linear-gradient(120deg,var(--navy) 0%,#243843 64%,#176f69 145%); color: white; }
.mobile-scan-hero.compact { min-height: 116px; margin: 16px; border-radius: 15px; }
.mobile-scan-icon { width: 60px; height: 60px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 17px; background: rgba(255,255,255,.09); color: #8fdcd4; font-size: 31px; }
.mobile-scan-hero h2, .mobile-scan-hero h3, .mobile-scan-hero p { margin: 0; }
.mobile-scan-hero h2, .mobile-scan-hero h3 { font: 700 19px/1.25 "Sora", sans-serif; }
.mobile-scan-hero p:last-child { margin-top: 5px; color: #bdcbd1; font-size: 11px; }
.mobile-scan-hero .panel-kicker { color: #80d5cd; }
.mobile-scan-form { padding: 20px 26px; display: grid; gap: 6px; }
.mobile-scan-form label, .mobile-work-form label, .mobile-conflict-card label { color: var(--navy); font-size: 10px; font-weight: 700; }
.mobile-scan-form > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.mobile-scan-form input { min-height: 45px; padding: 0 14px; border: 1px solid #bab6ac; border-radius: 11px; background: white; color: var(--navy); font-size: 14px; }
.mobile-start-guide { margin: 0 26px 23px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 9px; align-items: center; padding: 14px; border-radius: 13px; background: #f3f1eb; }
.mobile-start-guide > div { display: grid; grid-template-columns: 27px minmax(0,1fr); gap: 1px 8px; align-items: center; }
.mobile-start-guide > div > span { grid-row: 1 / 3; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: var(--teal); color: white; font: 700 10px "Sora", sans-serif; }
.mobile-start-guide strong { color: var(--navy); font-size: 10px; }
.mobile-start-guide small { color: var(--muted); font-size: 10px; }
.mobile-start-guide > i { color: #7cbcb6; font-size: 16px; }

.mobile-execution-header { min-height: 72px; display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 14px 17px; border-bottom: 1px solid var(--line); background: linear-gradient(110deg,#fffdf9,#f2efe7); }
.mobile-execution-header h2, .mobile-execution-header p { margin: 0; }
.mobile-execution-header h2 { color: var(--navy); font: 700 16px "Sora", sans-serif; }
.mobile-execution-header p:last-child { color: var(--muted); font-size: 10px; }
.mobile-snapshot-strip { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--line); background: #f7f5ef; }
.mobile-snapshot-strip > div { min-width: 0; display: grid; gap: 2px; padding: 10px 13px; border-right: 1px solid var(--line); }
.mobile-snapshot-strip > div:last-child { border-right: 0; }
.mobile-snapshot-strip small { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.mobile-snapshot-strip strong { overflow: hidden; color: var(--navy); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.mobile-match-proof, .mobile-pending-proof { margin: 16px 17px 0; display: grid; grid-template-columns: 35px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid #b9ddd6; border-radius: 12px; background: #eef8f6; }
.mobile-match-proof > span, .mobile-pending-proof > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--teal); color: white; }
.mobile-match-proof > div, .mobile-pending-proof > div { display: grid; gap: 1px; }
.mobile-match-proof strong, .mobile-pending-proof strong { color: var(--navy); font-size: 10px; }
.mobile-match-proof small, .mobile-pending-proof small { color: var(--muted); font-size: 10px; }
.mobile-pending-proof { border-color: #e6c781; background: #fff8e9; }
.mobile-pending-proof > span { background: var(--amber); }
.mobile-work-form { padding: 16px 17px 18px; display: grid; gap: 12px; }
.mobile-work-prompt { display: grid; grid-template-columns: 41px minmax(0,1fr); gap: 11px; align-items: start; }
.mobile-work-prompt > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: var(--blue-soft); color: var(--blue); }
.mobile-work-prompt h3, .mobile-work-prompt p { margin: 0; }
.mobile-work-prompt h3 { color: var(--navy); font: 700 14px "Sora", sans-serif; }
.mobile-work-prompt p:last-child { margin-top: 3px; color: var(--muted); font-size: 10px; }
.mobile-work-form label, .mobile-conflict-card label { display: grid; gap: 5px; }
.mobile-work-form input, .mobile-work-form textarea, .mobile-conflict-card textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #c9c5bc; border-radius: 10px; background: white; color: var(--ink); resize: vertical; }
.mobile-work-form input { max-width: 220px; font-size: 16px; font-weight: 700; }
.mobile-work-actions, .mobile-conflict-actions { display: flex; justify-content: flex-end; gap: 8px; }
.mobile-queue-note { margin: 0; display: flex; gap: 6px; align-items: center; color: var(--muted); font-size: 10px; }
.mobile-queue-note .material-symbols-rounded { color: var(--teal); font-size: 15px; }
.mobile-download-gate, .mobile-completion-proof { min-height: 255px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 28px; text-align: center; }
.mobile-download-gate > span, .mobile-completion-proof > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: #e5f3f1; color: var(--teal); font-size: 28px; }
.mobile-download-gate h3, .mobile-download-gate p, .mobile-completion-proof h3, .mobile-completion-proof p { margin: 0; }
.mobile-download-gate h3, .mobile-completion-proof h3 { color: var(--navy); font: 700 16px "Sora", sans-serif; }
.mobile-download-gate p, .mobile-completion-proof p, .mobile-completion-proof small { color: var(--muted); font-size: 10px; }
.mobile-completion-proof { grid-template-columns: 58px minmax(0,1fr) auto; justify-items: start; text-align: left; }

.mobile-conflict-card { margin: 16px; padding: 16px; display: grid; gap: 15px; border: 1px solid #e7b2ae; border-radius: 14px; background: #fff8f6; }
.mobile-conflict-card > header { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: start; }
.mobile-conflict-card > header > span { width: 41px; height: 41px; display: grid; place-items: center; border-radius: 12px; background: var(--coral-soft); color: var(--coral); }
.mobile-conflict-card h3, .mobile-conflict-card p { margin: 0; }
.mobile-conflict-card h3 { color: var(--navy); font: 700 15px/1.3 "Sora", sans-serif; }
.mobile-conflict-card header p:last-child { margin-top: 4px; color: var(--muted); font-size: 10px; }
.mobile-conflict-compare { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 8px; align-items: center; }
.mobile-conflict-compare article { min-width: 0; display: grid; gap: 2px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.mobile-conflict-compare article.proposed { border-color: #e5c177; background: #fff8e9; }
.mobile-conflict-compare small { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.mobile-conflict-compare strong { color: var(--navy); font-size: 11px; }
.mobile-conflict-compare span { color: var(--muted); font-size: 10px; }
.mobile-conflict-compare > .material-symbols-rounded { color: var(--coral); font-size: 17px; }

@media (max-width: 1180px) {
  .mobile-control-band { grid-template-columns: 48px minmax(190px,1fr) minmax(140px,.7fr) auto auto; }
  .mobile-device { display: none; }
  .mobile-workspace { grid-template-columns: minmax(290px,.8fr) minmax(430px,1.35fr); }
}

@media (max-width: 760px) {
  .mobile-work-page { gap: 11px; }
  .mobile-work-heading { gap: 10px; }
  .mobile-work-heading .heading-actions { width: 100%; display: grid; grid-template-columns: 1fr auto; }
  .mobile-control-band { grid-template-columns: 42px minmax(0,1fr); gap: 10px; padding: 12px; border-radius: 14px; }
  .mobile-connection-mark { width: 40px; height: 40px; }
  .mobile-freshness { grid-column: 1 / -1; min-height: 35px; padding: 8px 0 0; border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .mobile-device { display: none; }
  .mobile-control-band .offline-toggle, .mobile-control-band .button.primary { min-width: 0; width: 100%; }
  .mobile-control-band .offline-toggle, .mobile-control-band .button.primary { grid-column: 1 / -1; }
  .mobile-work-summary { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; padding-bottom: 0; }
  .mobile-work-summary article { min-width: 0; min-height: 62px; }
  .mobile-work-summary article:last-child { grid-column: 1 / -1; }
  .mobile-workspace { grid-template-columns: 1fr; }
  .mobile-task-list { max-height: 390px; }
  .mobile-execution-card { min-height: 360px; }
  .mobile-scan-hero { min-height: 132px; grid-template-columns: 48px minmax(0,1fr); gap: 12px; padding: 18px 15px; }
  .mobile-scan-hero.compact { margin: 11px; }
  .mobile-scan-icon { width: 47px; height: 47px; border-radius: 14px; font-size: 25px; }
  .mobile-scan-hero h2, .mobile-scan-hero h3 { font-size: 15px; }
  .mobile-scan-form { padding: 15px; }
  .mobile-scan-form > div { grid-template-columns: 1fr; }
  .mobile-start-guide { display: flex; overflow-x: auto; margin: 0 15px 16px; }
  .mobile-start-guide > div { min-width: 145px; }
  .mobile-snapshot-strip { grid-template-columns: repeat(2,1fr); }
  .mobile-snapshot-strip > div:nth-child(2) { border-right: 0; }
  .mobile-snapshot-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .mobile-match-proof, .mobile-pending-proof { margin: 12px 12px 0; grid-template-columns: 34px minmax(0,1fr); }
  .mobile-pending-proof .button { grid-column: 1 / -1; width: 100%; }
  .mobile-work-form { padding: 14px 12px; }
  .mobile-work-actions, .mobile-conflict-actions { display: grid; grid-template-columns: 1fr; }
  .mobile-work-actions .button, .mobile-conflict-actions .button { width: 100%; }
  .mobile-conflict-card { margin: 12px; padding: 13px; }
  .mobile-conflict-compare { grid-template-columns: 1fr; }
  .mobile-conflict-compare > .material-symbols-rounded { transform: rotate(90deg); justify-self: center; }
  .mobile-completion-proof { grid-template-columns: 54px minmax(0,1fr); }
  .mobile-completion-proof .button { grid-column: 1 / -1; width: 100%; }
}

/* Step 14B · movement-backed inventory finance */
.report-section-tabs { display: flex; align-items: stretch; gap: 9px; margin-bottom: 14px; overflow-x: auto; }
.report-section-tab { min-width: 230px; padding: 11px 14px; display: grid; grid-template-columns: 35px minmax(0,1fr); gap: 10px; align-items: center; border: 1px solid rgba(23,33,43,.1); border-radius: 13px; background: rgba(255,255,255,.7); color: var(--ink); text-decoration: none; }
.report-section-tab > .material-symbols-rounded { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; background: #e9efee; color: var(--teal); }
.report-section-tab span:last-child { display: grid; gap: 2px; }
.report-section-tab strong { font: 650 12px/1.2 "Sora", sans-serif; }
.report-section-tab small { color: var(--muted); font-size: 10px; }
.report-section-tab.active { border-color: rgba(8,127,117,.24); background: var(--navy-2); color: white; box-shadow: 0 9px 24px rgba(23,33,43,.12); }
.report-section-tab.active > .material-symbols-rounded { background: var(--teal); color: white; }
.report-section-tab.active small { color: #bdd1cf; }

.finance-page { display: grid; gap: 15px; }
.finance-page .page-heading, .finance-page .report-section-tabs { margin-bottom: 0; }
.finance-rule { position: relative; isolation: isolate; overflow: hidden; padding: 15px 18px; display: grid; grid-template-columns: minmax(190px,1.35fr) auto 1fr auto 1fr auto 1fr auto 1fr; gap: 12px; align-items: center; border-radius: 17px; background: var(--navy-2); color: white; box-shadow: 0 12px 28px rgba(23,33,43,.12); }
.finance-rule::after { content: ""; position: absolute; z-index: -1; inset: -70% -10% auto auto; width: 360px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(8,127,117,.48), transparent 66%); }
.finance-rule-title { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 11px; align-items: center; }
.finance-rule-title > .material-symbols-rounded { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: var(--teal); }
.finance-rule-title div { display: grid; gap: 2px; }
.finance-rule-title p { margin: 0; color: #b8cac8; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.finance-rule-title strong { font: 650 14px/1.2 "Sora", sans-serif; }
.finance-rule-step { display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 7px; align-items: center; min-width: 0; color: #d7e3e1; font-size: 10px; font-weight: 650; }
.finance-rule-step b { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.11); color: #8ed4ca; font: 700 10px/1 "Sora", sans-serif; }
.finance-rule-arrow { color: #78918f; font-size: 17px; }

.finance-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.finance-metric { padding: 14px; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; align-items: center; border: 1px solid rgba(23,33,43,.08); border-radius: 15px; background: var(--paper); box-shadow: 0 8px 22px rgba(23,33,43,.045); }
.finance-metric-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: #e7f3f0; color: var(--teal); }
.finance-metric > span:last-child { min-width: 0; display: grid; gap: 2px; }
.finance-metric small { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.finance-metric strong { overflow: hidden; color: var(--navy); font: 700 17px/1.15 "Sora", sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.finance-metric > span:last-child > span { color: var(--muted); font-size: 10px; }
.finance-metric.reconciled .finance-metric-icon { background: #dff2e9; color: #177252; }
.finance-metric.attention .finance-metric-icon { background: var(--amber-soft); color: #986000; }
.finance-metric.value .finance-metric-icon { background: #e8eefb; color: var(--blue); }

.finance-workspace { display: grid; grid-template-columns: minmax(0,2.45fr) minmax(270px,.7fr); gap: 14px; align-items: start; }
.finance-valuation-card, .finance-adjustment-card, .finance-period-card, .finance-evidence-card { border: 1px solid rgba(23,33,43,.08); border-radius: 17px; background: var(--paper); box-shadow: 0 9px 26px rgba(23,33,43,.045); }
.finance-valuation-card { min-width: 0; overflow: hidden; }
.finance-card-heading { padding: 15px 17px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid rgba(23,33,43,.075); }
.finance-card-heading h2 { margin: 2px 0 3px; color: var(--navy); font: 650 15px/1.2 "Sora", sans-serif; }
.finance-card-heading p { margin: 0; color: var(--muted); font-size: 10px; }
.finance-card-heading .panel-kicker { color: var(--teal); font-size: 10px; }
.finance-search { min-width: 230px; height: 37px; padding: 0 10px; display: flex; gap: 7px; align-items: center; border: 1px solid rgba(23,33,43,.12); border-radius: 11px; background: #faf9f6; }
.finance-search .material-symbols-rounded { color: var(--muted); font-size: 18px; }
.finance-search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: 500 11px/1 "Source Sans 3", sans-serif; }
.finance-table-wrap { max-height: 470px; overflow: auto; }
.finance-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
.finance-table th:nth-child(1) { width: 48%; }
.finance-table th:nth-child(2) { width: 12%; }
.finance-table th:nth-child(3) { width: 33%; }
.finance-table th:nth-child(4) { width: 7%; }
.finance-table th { position: sticky; z-index: 1; top: 0; padding: 9px 10px; background: #eceae4; color: #647077; font-size: 10px; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.finance-table td { padding: 10px; border-top: 1px solid rgba(23,33,43,.065); color: var(--ink); font-size: 10px; vertical-align: middle; }
.finance-table tr { transition: background .14s ease, box-shadow .14s ease; }
.finance-table tr:hover { background: #f6faf8; }
.finance-table tr.selected { background: #eaf5f2; box-shadow: inset 0 0 0 1px rgba(8,127,117,.16); }
.finance-table td > strong { display: block; color: var(--navy); font-weight: 700; }
.finance-table td > small { display: block; margin-top: 2px; color: var(--muted); }
.finance-product { min-width: 190px; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; align-items: center; }
.finance-product img { width: 34px; height: 34px; border-radius: 10px; object-fit: cover; background: #ece9e0; }
.finance-product span { min-width: 0; display: grid; gap: 2px; }
.finance-product strong { overflow: hidden; color: var(--navy); font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.finance-product small { color: var(--muted); font: 650 10px/1.2 "Sora", sans-serif; }
.finance-row-value { color: var(--teal) !important; font-weight: 700; }
.finance-basis-pill { max-width: 140px; margin-top: 3px; display: inline-block; overflow: hidden; padding: 3px 6px; border-radius: 999px; background: #edf1f0; color: #56656a; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.finance-select-row { width: 30px; height: 30px; }

.finance-adjustment-card { position: sticky; top: 14px; min-height: 360px; overflow: hidden; }
.finance-selection-placeholder { min-height: 360px; padding: 28px; display: grid; place-items: center; align-content: center; gap: 8px; color: var(--muted); text-align: center; }
.finance-selection-placeholder > .material-symbols-rounded { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; background: #e7f3f0; color: var(--teal); }
.finance-selection-placeholder h2 { margin: 4px 0 0; color: var(--navy); font: 650 15px/1.2 "Sora", sans-serif; }
.finance-selection-placeholder p { max-width: 225px; margin: 0; font-size: 11px; }
.finance-adjustment-card form { padding: 16px; }
.finance-adjustment-heading { display: flex; justify-content: space-between; gap: 10px; }
.finance-adjustment-heading h2 { margin: 3px 0; color: var(--navy); font: 650 14px/1.3 "Sora", sans-serif; }
.finance-adjustment-heading p { margin: 0; color: var(--muted); font-size: 10px; }
.finance-version { flex: 0 0 auto; height: 25px; padding: 0 8px; display: grid; place-items: center; border-radius: 8px; background: var(--navy); color: white; font: 700 10px/1 "Sora", sans-serif; }
.finance-current-basis { margin: 14px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.finance-current-basis span { padding: 10px; display: grid; gap: 4px; border-radius: 11px; background: #ecefeec7; color: var(--muted); font-size: 10px; }
.finance-current-basis strong { color: var(--navy); font: 700 13px/1.2 "Sora", sans-serif; }
.finance-adjustment-card label { margin-top: 10px; display: grid; gap: 5px; color: #556267; font-size: 10px; font-weight: 700; }
.finance-adjustment-card input, .finance-adjustment-card select, .finance-adjustment-card textarea, .finance-period-controls input { width: 100%; border: 1px solid rgba(23,33,43,.14); border-radius: 9px; background: #fff; color: var(--ink); font: 500 11px/1.25 "Source Sans 3", sans-serif; }
.finance-adjustment-card input, .finance-adjustment-card select, .finance-period-controls input { height: 36px; padding: 0 9px; }
.finance-adjustment-card textarea { padding: 8px 9px; resize: vertical; }
.finance-adjustment-preview { margin: 11px 0; padding: 10px; border-radius: 10px; background: #f0f1ef; color: var(--muted); font-size: 10px; }
.finance-adjustment-preview.positive, .finance-adjustment-preview.negative { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.finance-adjustment-preview span { display: grid; gap: 3px; }
.finance-adjustment-preview strong { color: var(--navy); font: 700 11px/1.2 "Sora", sans-serif; }
.finance-adjustment-preview.positive { background: #e7f4ef; }
.finance-adjustment-preview.negative { background: #f8e9e7; }
.finance-control-note { margin: 10px 0 0; display: grid; grid-template-columns: 17px 1fr; gap: 5px; color: var(--muted); font-size: 10px; }
.finance-control-note .material-symbols-rounded { color: var(--teal); font-size: 16px; }

.finance-period-card { overflow: hidden; }
.finance-period-heading { align-items: end; }
.finance-period-controls { display: flex; gap: 8px; align-items: end; }
.finance-period-controls label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.finance-period-controls input { width: 130px; }
.finance-period-controls .button { height: 36px; }
.finance-period-grid { padding: 15px 17px 17px; display: grid; grid-template-columns: minmax(0,1.65fr) minmax(300px,.75fr); gap: 14px; }
.finance-period-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.finance-period-summary .finance-metric { padding: 11px; grid-template-columns: 32px minmax(0,1fr); }
.finance-period-summary .finance-metric-icon { width: 32px; height: 32px; font-size: 18px; }
.finance-period-summary .finance-metric strong { font-size: 13px; }
.finance-reconciliation { margin-top: 10px; padding: 11px 13px; display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 10px; border-radius: 12px; }
.finance-reconciliation > .material-symbols-rounded { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; }
.finance-reconciliation strong { color: var(--navy); font: 650 11px/1.2 "Sora", sans-serif; }
.finance-reconciliation p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.finance-reconciliation.clean { background: #e7f4ef; }
.finance-reconciliation.clean > .material-symbols-rounded { background: #c9e7dc; color: #177252; }
.finance-reconciliation.attention { background: var(--amber-soft); }
.finance-reconciliation.attention > .material-symbols-rounded { background: #f1d6a0; color: #8b5900; }
.finance-handoff-card { padding: 14px; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: start; border: 1px solid rgba(8,127,117,.16); border-radius: 14px; background: linear-gradient(135deg,#f5fbf9,#edf5f3); }
.finance-handoff-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--teal); color: white; }
.finance-handoff-card h3 { margin: 2px 0 4px; color: var(--navy); font: 650 13px/1.2 "Sora", sans-serif; }
.finance-handoff-card p { margin: 0; color: var(--muted); font-size: 10px; }
.finance-handoff-card .button, .finance-external-note { grid-column: 1 / -1; }
.finance-external-note { display: grid; grid-template-columns: 16px minmax(0,1fr); gap: 5px; align-items: center; }
.finance-external-note .material-symbols-rounded { color: var(--teal); font-size: 15px; }

.finance-evidence-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 14px; }
.finance-evidence-card { min-width: 0; overflow: hidden; }
.finance-entry-list, .finance-handoff-list { max-height: 360px; overflow: auto; }
.finance-entry, .finance-handoff-row { padding: 10px 13px; display: grid; gap: 9px; align-items: center; border-top: 1px solid rgba(23,33,43,.065); }
.finance-entry { grid-template-columns: 31px minmax(0,1fr) auto; }
.finance-entry-icon, .finance-handoff-file { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; background: #e8efed; color: var(--teal); font-size: 17px; }
.finance-entry > span:nth-child(2), .finance-handoff-row > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.finance-entry strong, .finance-handoff-row strong { overflow: hidden; color: var(--navy); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.finance-entry small, .finance-handoff-row small { color: var(--muted); font-size: 10px; }
.finance-entry-amount { font: 700 11px/1.2 "Sora", sans-serif !important; }
.finance-entry-amount.positive { color: #177252; }
.finance-entry-amount.negative { color: var(--red); }
.finance-handoff-row { grid-template-columns: 31px minmax(0,1fr) auto; }
.finance-handoff-row code { color: #647077; font-size: 10px; }
.finance-handoff-result { display: flex; gap: 6px; align-items: center; }
.finance-list-empty { min-height: 125px; padding: 24px; display: grid; place-items: center; align-content: center; gap: 5px; color: var(--muted); text-align: center; }
.finance-list-empty .material-symbols-rounded { color: #9eaaa9; }
.finance-list-empty p { margin: 0; font-size: 10px; }

@media (max-width: 1180px) {
  .finance-rule { grid-template-columns: minmax(180px,1.3fr) auto 1fr auto 1fr auto 1fr; }
  .finance-rule-step:last-child, .finance-rule-arrow:nth-last-child(2) { display: none; }
  .finance-workspace { grid-template-columns: minmax(0,1.8fr) minmax(275px,.8fr); }
  .finance-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .finance-workspace, .finance-period-grid, .finance-evidence-grid { grid-template-columns: 1fr; }
  .finance-adjustment-card { position: static; min-height: 0; }
  .finance-selection-placeholder { min-height: 210px; }
  .finance-period-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .report-section-tabs { margin-inline: -2px; }
  .report-section-tab { min-width: 205px; }
  .finance-rule { display: flex; overflow-x: auto; padding: 13px; }
  .finance-rule-title { min-width: 190px; }
  .finance-rule-step { min-width: 120px; }
  .finance-rule-step:last-child, .finance-rule-arrow:nth-last-child(2) { display: grid; }
  .finance-summary { grid-template-columns: 1fr 1fr; }
  .finance-metric { padding: 11px; grid-template-columns: 32px minmax(0,1fr); }
  .finance-metric-icon { width: 32px; height: 32px; font-size: 18px; }
  .finance-metric strong { font-size: 13px; }
  .finance-card-heading { align-items: stretch; flex-direction: column; }
  .finance-search { min-width: 0; width: 100%; }
  .finance-table-wrap { max-height: 460px; }
  .finance-table { min-width: 0; }
  .finance-table th:nth-child(1) { width: 41%; }
  .finance-table th:nth-child(2) { width: 16%; }
  .finance-table th:nth-child(3) { width: 32%; }
  .finance-table th:nth-child(4) { width: 11%; }
  .finance-table th, .finance-table td { padding-inline: 6px; }
  .finance-table th { overflow: visible; font-size: 10px; line-height: 1.15; text-overflow: clip; white-space: normal; }
  .finance-product { min-width: 0; grid-template-columns: 29px minmax(0,1fr); gap: 6px; }
  .finance-product img { width: 29px; height: 29px; }
  .finance-product strong, .finance-product small { font-size: 10px; }
  .finance-table .number-cell { font-size: 10px; }
  .finance-table .finance-basis-pill { display: none; }
  .finance-select-row { width: 28px; height: 28px; }
  .finance-period-heading { align-items: stretch; }
  .finance-period-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .finance-period-controls input { width: 100%; }
  .finance-period-controls .button { grid-column: 1 / -1; }
  .finance-period-grid { padding: 12px; }
  .finance-period-summary { grid-template-columns: 1fr; }
  .finance-entry-list, .finance-handoff-list { max-height: none; }
  .finance-entry { grid-template-columns: 31px minmax(0,1fr); }
  .finance-entry-amount { grid-column: 2; }
  .finance-handoff-row { grid-template-columns: 31px minmax(0,1fr); }
  .finance-handoff-result { grid-column: 2; justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
/* Step 11: named locations and transfer custody */
.transfer-location-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.transfer-location-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px 17px;box-shadow:0 8px 28px rgba(23,33,43,.06)}.transfer-location-card.primary-location{border-color:rgba(8,127,117,.35);background:linear-gradient(135deg,#fff 55%,rgba(8,127,117,.07))}.location-card-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#e4f3f1;color:var(--teal);font-size:24px}.transfer-location-card>div:nth-child(2){display:flex;flex-direction:column}.transfer-location-card small{color:var(--muted);font-size:11px}.transfer-location-card strong{font-family:var(--heading);font-size:16px}.transfer-location-card>div:nth-child(2)>span{color:var(--muted);font-size:12px}.location-card-numbers{display:flex;gap:17px}.location-card-numbers span{display:flex;flex-direction:column;align-items:flex-end}.location-card-numbers b{font-family:var(--heading);font-size:18px}.transfer-gate{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ink);color:#fff;border-radius:20px;padding:18px 22px;margin-bottom:14px;overflow:hidden;position:relative}.transfer-gate:after{content:"";position:absolute;right:-50px;top:-85px;width:210px;height:210px;border-radius:50%;border:38px solid rgba(8,127,117,.26)}.transfer-gate h2{font-size:18px;margin:2px 0 4px}.transfer-gate p{color:#c9d2da;margin:0;max-width:600px}.transfer-gate .panel-kicker{color:#81d5ce}.transfer-flow{display:flex;align-items:center;gap:8px;z-index:1;white-space:nowrap}.transfer-flow span{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:9px 10px;font-size:12px}.transfer-flow i{color:#81d5ce;font-size:18px}.transfer-flow b{color:#81d5ce}.transfer-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.transfer-stat{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;color:var(--ink);cursor:pointer}.transfer-stat small{color:var(--muted)}.transfer-stat strong{font-family:var(--heading);font-size:20px}.transfer-stat.active{background:#e4f3f1;border-color:var(--teal);box-shadow:0 5px 18px rgba(8,127,117,.12)}.transfer-workspace{display:grid;grid-template-columns:minmax(280px,350px) minmax(0,1fr);gap:16px;align-items:start}.transfer-create-card,.transfer-list-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px rgba(23,33,43,.06)}.transfer-create-card{padding:19px;display:grid;gap:14px;position:sticky;top:90px}.transfer-create-card label{display:grid;gap:6px;font-size:12px;font-weight:700}.transfer-list-card{padding:18px}.transfer-list{display:grid}.transfer-row{display:grid;grid-template-columns:minmax(250px,1.35fr) minmax(210px,1fr) 65px 115px 74px;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 6px;text-align:left;color:var(--ink);cursor:pointer}.transfer-row:hover{background:#faf9f5}.transfer-product{display:flex;align-items:center;gap:11px;min-width:0}.transfer-product>span:last-child{display:flex;flex-direction:column;min-width:0}.transfer-product small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-route{display:flex;align-items:center;gap:7px;font-size:12px}.transfer-route i{font-size:17px;color:var(--teal)}.transfer-quantity{display:flex;flex-direction:column;align-items:center}.transfer-quantity small,.transfer-time{color:var(--muted);font-size:11px}.transfer-state{display:inline-flex;align-items:center;gap:5px;width:max-content;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:800;background:#eef1f3}.transfer-state .material-symbols-rounded{font-size:16px}.transfer-state.requested{color:#8a5a00;background:#fff2d7}.transfer-state.approved{color:#1762a8;background:#e8f1fb}.transfer-state.dispatched{color:#6b4fb0;background:#eee9fa}.transfer-state.received{color:#087f75;background:#e4f3f1}.transfer-state.cancelled{color:#8d3b38;background:#fbe8e7}.transfer-time{display:flex;align-items:center;justify-content:flex-end}.transfer-time span{font-size:17px}.transfer-detail-hero{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:17px;background:linear-gradient(135deg,#f7faf9,#f5f1e8);margin-bottom:18px}.drawer-transfer-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.drawer-transfer-route>div{display:flex;flex-direction:column;background:#f7f7f4;padding:13px;border-radius:13px}.drawer-transfer-route>i{color:var(--teal)}.drawer-transfer-route span,.drawer-transfer-route small{color:var(--muted);font-size:11px}.record-link-pair{display:flex;gap:9px;flex-wrap:wrap;margin-top:11px}.transfer-timeline{display:grid;gap:10px}.transfer-event{display:grid;grid-template-columns:35px 1fr;gap:10px}.transfer-event .event-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#e4f3f1;color:var(--teal);font-size:18px}.transfer-event>div{display:flex;flex-direction:column}.transfer-event span,.transfer-event small{color:var(--muted);font-size:12px}.transfer-action-preview>div{display:grid;gap:5px}.transfer-action-preview strong{line-height:1.45}
@media(max-width:1440px){.transfer-gate{align-items:flex-start;flex-direction:column}.transfer-summary{grid-template-columns:repeat(3,1fr)}.transfer-workspace{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.transfer-row{grid-template-columns:minmax(190px,1.2fr) minmax(145px,1fr) 50px 100px;gap:10px}.transfer-time{display:none}}
@media(max-width:760px){.transfers-page{overflow-x:hidden}.transfer-location-strip{grid-template-columns:1fr}.transfer-location-card{grid-template-columns:auto 1fr}.location-card-numbers{grid-column:1/-1;justify-content:space-between}.location-card-numbers span{align-items:flex-start}.transfer-flow{width:100%;overflow-x:auto;padding-bottom:3px}.transfer-summary{display:flex;overflow-x:auto}.transfer-stat{min-width:140px}.transfer-workspace{grid-template-columns:1fr}.transfer-create-card{position:static}.transfer-row{grid-template-columns:1fr auto;padding:13px 4px}.transfer-route{grid-column:1/-1;grid-row:2}.transfer-quantity{grid-column:2;grid-row:1}.transfer-state{grid-column:1;grid-row:3}.transfer-time{display:flex;grid-column:2;grid-row:3}.transfer-gate{border-radius:16px;padding:16px}.transfer-location-card{border-radius:15px}}

/* Owner settings */
.settings-page { display: grid; gap: 16px; }
.settings-heading { margin-bottom: 0; }
.settings-status-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.settings-status-strip article { min-width: 0; padding: 14px; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; align-items: start; border: 1px solid rgba(23,33,43,.09); border-radius: 13px; background: var(--paper); box-shadow: 0 7px 20px rgba(23,33,43,.045); }
.settings-status-strip article > .material-symbols-rounded { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--teal-soft); color: var(--teal); }
.settings-status-strip article:nth-child(2) > .material-symbols-rounded { background: var(--amber-soft); color: var(--amber); }
.settings-status-strip small, .settings-status-strip strong, .settings-status-strip p { display: block; }
.settings-status-strip small { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.settings-status-strip strong { margin-top: 2px; color: var(--navy); font: 600 12px/1.25 "Sora",sans-serif; }
.settings-status-strip p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.4; }
.settings-grid { display: grid; grid-template-columns: minmax(300px,.82fr) minmax(420px,1.18fr); gap: 15px; align-items: start; }
.settings-card { min-width: 0; padding: 17px; display: grid; gap: 13px; border: 1px solid rgba(23,33,43,.09); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow); }
.settings-card .section-title > .material-symbols-rounded { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--teal-soft); color: var(--teal); }
.settings-copy { margin: -4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.settings-form { display: grid; gap: 12px; }
.settings-form label { min-width: 0; display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; }
.settings-form input, .settings-form select, .settings-user-row input, .settings-user-row select { width: 100%; min-height: 39px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); }
.settings-form label small { font-weight: 400; line-height: 1.35; }
.settings-form-split { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.settings-readiness-list, .settings-user-list, .settings-location-list { display: grid; gap: 8px; }
.settings-readiness-row { padding: 11px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 9px; align-items: start; border: 1px solid #edc5c2; border-radius: 11px; background: #fff9f8; }
.settings-readiness-row > .material-symbols-rounded { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--coral-soft); color: var(--coral); }
.settings-readiness-row strong, .settings-readiness-row small { display: block; }
.settings-readiness-row strong { color: var(--navy); font-size: 12px; }
.settings-readiness-row small { margin-top: 2px; color: var(--muted); font-size: 10px; text-transform: uppercase; }
.settings-readiness-row p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.4; }
.settings-state-pill { min-height: 24px; padding: 0 8px; display: inline-flex; align-items: center; border-radius: 20px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.settings-state-pill.blocked { background: var(--coral-soft); color: #a43a35; }
.settings-state-pill.ready { background: var(--green-soft); color: #146259; }
.settings-users-card, .settings-locations-card { grid-column: 1 / -1; }
.settings-user-row { padding: 12px; display: grid; grid-template-columns: minmax(230px,1fr) minmax(255px,.8fr) minmax(280px,1.15fr) auto; gap: 11px; align-items: center; border: 1px solid var(--line); border-radius: 11px; background: #fbf9f4; }
.settings-user-identity { min-width: 0; display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 9px; align-items: center; }
.settings-user-avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--teal); color: #fff; }
.settings-user-identity small { display: block; margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.settings-user-identity input { min-height: 34px; font-weight: 700; }
.settings-user-controls { display: grid; grid-template-columns: minmax(150px,1fr) auto; gap: 8px; align-items: end; }
.settings-user-controls label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.settings-active-toggle { min-height: 35px; padding: 0 9px; display: flex !important; flex-direction: row !important; align-items: center; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.settings-active-toggle input { width: 15px; min-height: 15px; }
.settings-assignment-fieldset { min-width: 0; margin: 0; padding: 6px 8px 8px; border: 1px solid var(--line); border-radius: 9px; }
.settings-assignment-fieldset legend { padding: 0 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.settings-assignment-fieldset > div { display: flex; flex-wrap: wrap; gap: 5px; }
.settings-assignment-fieldset.owner-hidden { opacity: .58; }
.settings-location-check { min-width: 0; padding: 5px 7px; display: grid !important; grid-template-columns: 14px minmax(0,1fr); gap: 6px !important; align-items: center; border-radius: 7px; background: #fff; color: var(--ink) !important; text-transform: none !important; }
.settings-location-check input { width: 14px; min-height: 14px; padding: 0; }
.settings-location-check strong, .settings-location-check small { display: block; }
.settings-location-check strong { font-size: 10px; }
.settings-location-check small { color: var(--muted); font-size: 10px; font-weight: 400; }
.settings-empty-inline { margin: 3px; color: var(--coral); font-size: 10px; }
.settings-create-panel { border: 1px dashed #bdb7ac; border-radius: 11px; background: #f8f5ef; }
.settings-create-panel summary { padding: 11px 13px; display: flex; align-items: center; gap: 7px; color: var(--teal); font-weight: 700; cursor: pointer; }
.settings-create-panel[open] summary { border-bottom: 1px solid var(--line); }
.settings-create-panel > form { padding: 13px; }
.settings-location-row { padding: 10px 11px; display: grid; grid-template-columns: 34px minmax(180px,1fr) minmax(220px,auto) auto auto; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fbf9f4; }
.settings-location-row > .material-symbols-rounded { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--teal-soft); color: var(--teal); }
.settings-location-row strong, .settings-location-row small { display: block; }
.settings-location-row strong { color: var(--navy); font-size: 11px; }
.settings-location-row small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.settings-location-metrics { display: flex; gap: 6px; }
.settings-location-metrics span { padding: 5px 7px; border-radius: 7px; background: #fff; color: var(--muted); font-size: 10px; }
.settings-location-metrics b { color: var(--navy); }
.compact-status { min-height: 100px; padding: 18px; }

@media (max-width: 1100px) {
  .settings-grid { grid-template-columns: 1fr; }
  .settings-users-card, .settings-locations-card { grid-column: auto; }
  .settings-user-row { grid-template-columns: 1fr 1fr; }
  .settings-user-row .settings-assignment-fieldset { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .settings-status-strip { grid-template-columns: 1fr; }
  .settings-grid { grid-template-columns: 1fr; }
  .settings-form-split { grid-template-columns: 1fr; }
  .settings-readiness-row { grid-template-columns: 34px minmax(0,1fr); }
  .settings-readiness-row .settings-state-pill { grid-column: 2; width: fit-content; }
  .settings-user-row { grid-template-columns: 1fr; }
  .settings-user-row .settings-assignment-fieldset { grid-column: auto; }
  .settings-user-controls { grid-template-columns: 1fr auto; }
  .settings-location-row { grid-template-columns: 34px minmax(0,1fr) auto; }
  .settings-location-metrics { grid-column: 2 / -1; flex-wrap: wrap; }
}

/* Step 12: guarded bulk inventory work */
.bulk-page { overflow-x: hidden; }
.bulk-heading { margin-bottom: 13px; }
.bulk-lifecycle { position: relative; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 12px; margin-bottom: 14px; padding: 17px 20px; overflow: hidden; border-radius: 19px; background: var(--ink); color: white; }
.bulk-lifecycle::after { content: ""; position: absolute; right: -72px; top: -110px; width: 255px; height: 255px; border: 42px solid rgba(8,127,117,.24); border-radius: 50%; }
.bulk-lifecycle > div { position: relative; z-index: 1; display: grid; grid-template-columns: auto 1fr; gap: 1px 9px; align-items: center; min-width: 0; }
.bulk-lifecycle > div > span { grid-row: 1 / 3; display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.18); border-radius: 11px; background: rgba(255,255,255,.09); color: #8bdad2; font: 700 10px var(--heading); }
.bulk-lifecycle strong { font: 700 12px var(--heading); }
.bulk-lifecycle small { color: #b9c7ce; font-size: 10px; white-space: nowrap; }
.bulk-lifecycle > i { position: relative; z-index: 1; color: #70c9c1; font-size: 18px; }
.bulk-launch-grid { display: grid; grid-template-columns: minmax(400px, 1.08fr) minmax(330px, .92fr); gap: 15px; margin-bottom: 15px; align-items: stretch; }
.bulk-source-card, .bulk-jobs-card, .bulk-workspace { border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 8px 28px rgba(23,33,43,.06); }
.bulk-source-card, .bulk-jobs-card { padding: 18px; min-width: 0; }
.bulk-source-card > header, .bulk-jobs-card > header, .bulk-evidence > header { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-bottom: 13px; }
.bulk-source-card h2, .bulk-jobs-card h2, .bulk-workspace h2 { margin: 2px 0 0; font-size: 17px; }
.bulk-source-card form { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.bulk-source-card form > label { display: grid; gap: 5px; color: var(--ink); font-size: 11px; font-weight: 700; }
.bulk-source-card form > label:nth-of-type(3), .bulk-policy-note { grid-column: 1 / -1; }
.bulk-source-card textarea { min-height: 104px; resize: vertical; font: 500 11px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; }
.bulk-file-drop { grid-template-columns: 37px 1fr !important; grid-template-rows: auto; align-items: center; min-height: 58px; padding: 10px 12px; border: 1px dashed rgba(8,127,117,.48); border-radius: 12px; background: #f1faf8; cursor: pointer; }
.bulk-file-drop > .material-symbols-rounded { grid-row: 1; display: grid; place-items: center; width: 37px; height: 37px; border-radius: 10px; background: var(--teal); color: white; }
.bulk-file-drop > span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.bulk-file-drop small { overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.bulk-file-drop input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); }
.bulk-policy-note { display: grid; grid-template-columns: 31px 1fr; gap: 9px; align-items: center; padding: 9px 11px; border-radius: 11px; background: var(--green-soft); }
.bulk-policy-note > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: white; color: var(--teal); font-size: 18px; }
.bulk-policy-note p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.35; }
.bulk-policy-note strong { color: var(--ink); }
.bulk-source-card .button.primary { grid-column: 1 / -1; justify-self: start; }
.bulk-count-badge { display: grid; place-items: center; min-width: 32px; height: 32px; padding: 0 9px; border-radius: 10px; background: #e5f3f1; color: var(--teal); font: 700 13px var(--heading); }
.bulk-job-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-bottom: 10px; }
.bulk-job-summary > div { display: grid; gap: 2px; padding: 8px; border-radius: 10px; background: #f6f4ef; }
.bulk-job-summary strong { font: 700 15px var(--heading); }
.bulk-job-summary span { color: var(--muted); font-size: 10px; }
.bulk-job-list { display: grid; max-height: 250px; overflow-y: auto; }
.bulk-job-row { display: grid; grid-template-columns: 34px minmax(0,1fr) auto 18px; gap: 9px; align-items: center; width: 100%; padding: 10px 7px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.bulk-job-row:hover, .bulk-job-row.active { border-radius: 10px; background: #f0f8f7; }
.bulk-job-row > span:nth-child(2), .bulk-job-row-result { display: flex; flex-direction: column; min-width: 0; }
.bulk-job-row small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bulk-job-row-result { align-items: flex-end; }
.bulk-job-row-result b { font-size: 10px; }
.bulk-job-icon { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 10px; background: #edf1f3; color: var(--muted); font-size: 18px; }
.bulk-job-icon.partial { background: #fff1da; color: #9a6100; }
.bulk-job-icon.completed { background: #e4f3f1; color: var(--teal); }
.bulk-empty { min-height: 140px; place-items: center; align-content: center; gap: 4px; color: var(--muted); text-align: center; }
.bulk-empty:not([hidden]) { display: grid; }
.bulk-empty > span { font-size: 28px; color: var(--teal); }
.bulk-empty strong { color: var(--ink); }
.bulk-workspace { padding: 19px; scroll-margin-top: 80px; }
.bulk-workspace-header { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.bulk-workspace-header p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.bulk-job-receipt { display: grid; grid-template-columns: auto auto; gap: 3px 9px; justify-items: end; }
.bulk-job-receipt .status-pill { grid-row: 1 / 3; align-self: center; }
.bulk-job-receipt small { color: var(--muted); font-size: 10px; }
.bulk-job-receipt code { max-width: 170px; overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bulk-status.partial { background: #fff0d4; color: #895900; }
.bulk-status.completed { background: #dff1ee; color: var(--teal); }
.bulk-metrics { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin: 14px 0; }
.bulk-metrics > div { display: grid; gap: 2px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; background: #faf9f5; }
.bulk-metrics span { color: var(--muted); font-size: 10px; }
.bulk-metrics strong { font: 700 19px var(--heading); }
.bulk-metrics .selected { border-color: rgba(8,127,117,.3); background: #eaf6f4; }
.bulk-action-bar { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 11px; padding: 10px 12px; border-radius: 12px; background: var(--ink); color: white; }
.bulk-action-bar p { display: flex; align-items: center; gap: 7px; margin: 0; color: #c4cfd5; font-size: 10px; }
.bulk-action-bar p > span { color: #82d2ca; }
.bulk-action-bar > div { display: flex; gap: 7px; flex-shrink: 0; }
.bulk-action-bar .button.secondary { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.09); color: white; }
.bulk-repair-receipt { grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px; align-items: center; margin-bottom: 11px; padding: 10px 12px; border: 1px solid rgba(8,127,117,.25); border-radius: 12px; background: #eef8f6; }
.bulk-repair-receipt:not([hidden]) { display: grid; }
.bulk-repair-receipt > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: white; color: var(--teal); }
.bulk-repair-receipt > div { display: flex; flex-direction: column; min-width: 0; }
.bulk-repair-receipt small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bulk-table-wrap { max-width: 100%; overflow: auto; border: 1px solid var(--line); border-radius: 12px; }
.bulk-table { min-width: 940px; table-layout: auto; }
.bulk-table th { white-space: nowrap; }
.bulk-table td { vertical-align: middle; }
.bulk-table tbody tr:last-child td { border-bottom: 0; }
.bulk-table .bulk-check { width: 34px; text-align: center; }
.bulk-table th:nth-child(2), .bulk-table td:nth-child(2) { min-width: 64px; }
.bulk-table th:nth-child(3), .bulk-table td:nth-child(3) { min-width: 200px; }
.bulk-table th:nth-child(4), .bulk-table td:nth-child(4) { min-width: 120px; }
.bulk-table th:nth-child(5), .bulk-table td:nth-child(5) { min-width: 95px; }
.bulk-table th:nth-child(6), .bulk-table td:nth-child(6), .bulk-table th:nth-child(7), .bulk-table td:nth-child(7) { min-width: 78px; }
.bulk-table th:nth-child(8), .bulk-table td:nth-child(8) { min-width: 190px; }
.bulk-table input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--teal); }
.bulk-product { display: flex; align-items: center; gap: 8px; min-width: 190px; }
.bulk-product > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.bulk-product small, .bulk-cell-note { display: block; color: var(--muted); font-size: 10px; }
.bulk-product.unresolved .product-thumb { display: grid; place-items: center; background: #f3efe9; color: var(--muted); }
.bulk-row-result-copy { display: flex; flex-direction: column; gap: 3px; max-width: 220px; }
.bulk-row-result-copy small { color: var(--muted); font-size: 10px; line-height: 1.25; }
.bulk-row-state { display: inline-flex; align-items: center; gap: 4px; width: max-content; padding: 4px 7px; border-radius: 999px; background: #edf1f3; color: var(--muted); font-size: 10px; font-weight: 800; }
.bulk-row-state > span { font-size: 13px; }
.bulk-row-state.valid, .bulk-row-state.applied { background: #e2f2ef; color: var(--teal); }
.bulk-row-state.invalid, .bulk-row-state.failed { background: #fbe8e7; color: #9a3e39; }
.bulk-row-applied { background: rgba(8,127,117,.025); }
.bulk-row-invalid, .bulk-row-failed { background: rgba(217,83,79,.025); }
.bulk-approval { margin-top: 6px; display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 6px; padding: 7px; border: 1px solid #edc987; border-radius: 9px; background: #fffaf0; }
.bulk-approval > .material-symbols-rounded { color: var(--amber); font-size: 19px; }
.bulk-approval > div { display: grid; gap: 2px; }
.bulk-approval strong { font-size: 10px; text-transform: capitalize; }
.bulk-approval small { color: var(--muted); font-size: 10px; }
.bulk-approval.approved { border-color: #b7ddd6; background: #f6fcfa; }
.bulk-approval.approved > .material-symbols-rounded { color: var(--teal); }
.bulk-approval.rejected { border-color: #d6d1c7; background: #f4f1eb; }
.bulk-approval-actions { grid-column: 1 / -1; display: flex !important; gap: 5px; }
.bulk-evidence { margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--line); }
.bulk-evidence h3 { margin: 2px 0 0; font-size: 15px; }
.bulk-evidence > header > small { color: var(--muted); }
.bulk-evidence > div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.bulk-event { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 9px; padding: 10px; border-radius: 11px; background: #f8f7f3; }
.bulk-event > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: #e4f3f1; color: var(--teal); font-size: 17px; }
.bulk-event > div { display: flex; flex-direction: column; min-width: 0; }
.bulk-event strong { font-size: 10px; text-transform: capitalize; }
.bulk-event p { margin: 2px 0; color: var(--muted); font-size: 10px; line-height: 1.35; }
.bulk-event small { color: #837b70; font-size: 10px; }

@media (max-width: 1180px) {
  .bulk-lifecycle { grid-template-columns: 1fr auto 1fr; }
  .bulk-lifecycle > div:nth-of-type(n+3), .bulk-lifecycle > i:nth-of-type(n+2) { display: none; }
  .bulk-launch-grid { grid-template-columns: 1fr; }
  .bulk-job-list { max-height: 220px; }
  .bulk-action-bar { align-items: flex-start; flex-direction: column; }
  .bulk-action-bar > div { width: 100%; flex-wrap: wrap; }
}

@media (max-width: 760px) {
  .bulk-page { max-width: 100%; }
  .bulk-heading .heading-actions { grid-template-columns: 1fr; gap: 7px; }
  .bulk-lifecycle { display: flex; margin-inline: 0; padding: 14px; overflow-x: auto; border-radius: 15px; }
  .bulk-lifecycle::after { display: none; }
  .bulk-lifecycle > div:nth-of-type(n+3), .bulk-lifecycle > i:nth-of-type(n+2) { display: grid; }
  .bulk-lifecycle > div { min-width: 142px; }
  .bulk-launch-grid { min-width: 0; }
  .bulk-source-card, .bulk-jobs-card, .bulk-workspace { max-width: 100%; padding: 15px; border-radius: 15px; }
  .bulk-source-card > header { align-items: flex-start; }
  .bulk-source-card form { grid-template-columns: 1fr; }
  .bulk-source-card form > label:nth-of-type(3), .bulk-policy-note, .bulk-source-card .button.primary { grid-column: auto; }
  .bulk-job-summary { display: flex; overflow-x: auto; }
  .bulk-job-summary > div { min-width: 95px; }
  .bulk-job-row { grid-template-columns: 33px minmax(0,1fr) 18px; }
  .bulk-job-row-result { grid-column: 2; align-items: flex-start; }
  .bulk-job-row > .material-symbols-rounded:last-child { grid-column: 3; grid-row: 1 / 3; }
  .bulk-workspace-header { align-items: flex-start; flex-direction: column; }
  .bulk-job-receipt { justify-items: start; }
  .bulk-metrics { display: flex; overflow-x: auto; margin-inline: -15px; padding: 0 15px 4px; }
  .bulk-metrics > div { min-width: 116px; }
  .bulk-action-bar > div { display: grid; grid-template-columns: 1fr; }
  .bulk-action-bar .button { width: 100%; }
  .bulk-repair-receipt { grid-template-columns: 34px minmax(0,1fr); }
  .bulk-repair-receipt .button { grid-column: 1 / -1; }
  .bulk-table { min-width: 1010px; }
  .bulk-evidence > div { grid-template-columns: 1fr; }
}

/* Step 13 · partner custody and distributed routing */
.partner-lifecycle, .routing-lifecycle { position: relative; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 12px; align-items: center; margin-bottom: 15px; padding: 17px 20px; overflow: hidden; border-radius: 17px; background: var(--navy-2); color: white; }
.partner-lifecycle::after, .routing-lifecycle::after { content: ""; position: absolute; inset: 0 0 0 auto; width: 28%; background: linear-gradient(100deg, transparent, rgba(8,127,117,.28)); }
.partner-lifecycle > div, .routing-lifecycle > div { position: relative; z-index: 1; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 1px 9px; align-items: center; min-width: 0; }
.partner-lifecycle > div > span, .routing-lifecycle > div > span { grid-row: 1 / 3; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.08); color: #8bdad2; font: 700 10px "Sora", sans-serif; }
.partner-lifecycle strong, .routing-lifecycle strong { font: 700 12px "Sora", sans-serif; }
.partner-lifecycle small, .routing-lifecycle small { overflow: hidden; color: #b9c7ce; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.partner-lifecycle > i, .routing-lifecycle > i { position: relative; z-index: 1; color: #70c9c1; }

.partner-summary { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px; margin-bottom: 15px; }
.partner-summary article { display: flex; gap: 11px; align-items: center; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: 0 6px 18px rgba(23,33,43,.04); }
.partner-summary article > span { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; background: #e7f3f1; color: var(--teal); }
.partner-summary article.attention > span { background: var(--amber-soft); color: #936000; }
.partner-summary article div { display: grid; gap: 1px; min-width: 0; }
.partner-summary small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.partner-summary strong { font: 700 19px "Sora", sans-serif; }

.partner-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-bottom: 15px; }
.partner-source-card { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); }
.partner-source-card.attention { border-color: #e6c88e; background: linear-gradient(130deg, #fffdf9, #fff9e9); }
.partner-source-heading { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 11px; align-items: center; }
.partner-source-heading > div { min-width: 0; }
.partner-source-heading > .material-symbols-rounded { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--navy); color: #8bdad2; }
.partner-source-heading h2, .partner-source-heading p { margin: 0; }
.partner-source-heading h2 { font-size: 17px; }
.partner-source-heading p:last-child { color: var(--muted); font-size: 13px; line-height: 1.4; }
.partner-source-receipt { display: grid; grid-template-columns: 1.5fr 1fr .65fr .8fr; gap: 8px; margin-top: 13px; }
.partner-source-receipt > div { display: grid; gap: 2px; padding: 9px; border-radius: 10px; background: #f5f3ee; }
.partner-source-receipt small { color: var(--muted); font-size: 10px; }
.partner-source-receipt strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.source-truth { display: flex; gap: 7px; align-items: center; min-width: 0; margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.source-truth > span { color: var(--teal); }

.partner-workspace { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(270px,.7fr); gap: 14px; align-items: start; }
.partner-table-card, .partner-queue-card, .routing-order-card, .routing-detail-card { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: 0 8px 25px rgba(23,33,43,.05); }
.partner-table-wrap { max-width: 100%; overflow: auto; border: 1px solid var(--line); border-radius: 12px; }
.partner-table { min-width: 920px; }
.partner-table th, .partner-table td { vertical-align: middle; }
.partner-table .row-action-label { display: none; }
.freshness-cell { display: grid; gap: 1px; }
.freshness-cell small { color: var(--muted); font-size: 10px; }
.partner-difference { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; padding: 4px 7px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.partner-difference.matched { background: var(--green-soft); color: var(--teal); }
.partner-difference.mismatch { background: var(--coral-soft); color: #a23934; }
.partner-discrepancy-list { display: grid; gap: 8px; margin-top: 12px; }
.partner-discrepancy { display: grid; grid-template-columns: 32px minmax(0,1fr) auto 18px; gap: 8px; align-items: center; width: 100%; padding: 10px; border: 1px solid #ead2a3; border-radius: 11px; background: #fff9ec; color: var(--ink); text-align: left; }
.partner-discrepancy > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.partner-discrepancy small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.partner-discrepancy b { color: var(--coral); }
.discrepancy-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--amber-soft); color: #936000; }
.partner-detail-hero { margin-bottom: 15px; }
.partner-comparison { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; }
.partner-comparison > div { display: grid; gap: 3px; padding: 11px; border-radius: 11px; background: #f5f3ee; }
.partner-comparison span { color: var(--muted); font-size: 10px; }
.partner-comparison strong { font: 700 19px "Sora", sans-serif; }
.partner-comparison .comparison-result { grid-column: 1 / -1; display: flex; flex-direction: row; align-items: center; justify-content: space-between; background: #eef7f5; }
.discrepancy-owner { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 10px; align-items: center; border: 1px solid #e8c886; border-radius: 12px; background: #fff9eb; }
.discrepancy-owner > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--amber-soft); color: #936000; }
.discrepancy-owner h4, .discrepancy-owner p { margin: 0; }
.discrepancy-owner p { color: var(--muted); font-size: 11px; }
.partner-event-list { display: grid; gap: 8px; }
.partner-event { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 9px; padding: 9px; border-radius: 10px; background: #f7f6f2; }
.partner-event > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: #e5f2f0; color: var(--teal); }
.partner-event > div { display: grid; gap: 2px; }
.partner-event small, .partner-event p { margin: 0; color: var(--muted); font-size: 10px; }
.partner-receipt-list { display: grid; gap: 8px; }
.partner-receipt-entry { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.partner-receipt-entry > div { min-width: 0; display: grid; gap: 2px; }
.partner-receipt-entry small { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }

.routing-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; margin-bottom: 15px; }
.routing-summary article { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.routing-summary small { color: var(--muted); }
.routing-summary strong { font: 700 20px "Sora", sans-serif; }
.routing-workspace { display: grid; grid-template-columns: minmax(310px,.7fr) minmax(560px,1.3fr); gap: 14px; align-items: start; }
.routing-order-list { display: grid; gap: 7px; margin-top: 12px; }
.routing-order-row { display: grid; grid-template-columns: 36px minmax(0,1fr) auto 18px; gap: 9px; align-items: center; width: 100%; padding: 10px; border: 1px solid transparent; border-radius: 11px; background: #f6f4ef; color: var(--ink); text-align: left; }
.routing-order-row:hover, .routing-order-row.active { border-color: #a8d2cd; background: #eef8f6; }
.routing-order-row > span:nth-child(2) { display: grid; gap: 1px; min-width: 0; }
.routing-order-row small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.routing-order-state { padding: 4px 7px; border-radius: 999px; background: #edf0f2; color: var(--muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.routing-order-state.active { background: var(--green-soft); color: var(--teal); }
.routing-order-state.shipped { background: var(--blue-soft); color: #285fa9; }
.routing-detail-card { display: grid; gap: 14px; }
.routing-detail-hero { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.routing-detail-hero h2, .routing-detail-hero p { margin: 0; }
.routing-detail-hero h2 { margin-bottom: 4px; font-size: 19px; }
.routing-detail-hero > div > p:last-child { color: var(--muted); font-size: 11px; }
.routing-hero-quantity { display: grid; min-width: 78px; padding: 10px; border-radius: 12px; background: var(--navy); color: white; text-align: center; }
.routing-hero-quantity small { color: #aebdc5; font-size: 10px; }
.routing-hero-quantity strong { font: 700 24px "Sora", sans-serif; }
.routing-truth { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px; border-radius: 12px; background: #eaf5f3; }
.routing-truth > .material-symbols-rounded { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: white; color: var(--teal); }
.routing-truth p, .routing-truth strong { margin: 0; }
.routing-truth p { color: var(--muted); font-size: 10px; }
.routing-allocation-form { display: grid; gap: 11px; }
.allocation-total { padding: 5px 8px; border-radius: 8px; background: var(--green-soft); color: var(--teal); font-size: 10px; font-weight: 800; }
.allocation-total.invalid { background: var(--coral-soft); color: #9b3c37; }
.routing-source-list { display: grid; gap: 8px; }
.routing-source { display: grid; grid-template-columns: minmax(180px,1.4fr) repeat(3,minmax(68px,.55fr)) minmax(82px,.6fr); gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: #faf9f6; }
.routing-source.partner { border-style: dashed; }
.routing-source.blocked { opacity: .72; background: #f6f2ec; }
.routing-source-identity { display: flex; gap: 8px; align-items: center; min-width: 0; }
.routing-source-identity > span { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; border-radius: 9px; background: var(--navy); color: #8bdad2; }
.routing-source-identity > div, .routing-source > div:not(.routing-source-identity), .routing-source label { display: grid; gap: 1px; min-width: 0; }
.routing-source small, .routing-source label { color: var(--muted); font-size: 10px; }
.routing-source strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.routing-source input { width: 100%; min-width: 0; height: 34px; border: 1px solid var(--line); border-radius: 8px; padding: 5px 8px; background: white; color: var(--ink); font-weight: 700; }
.routing-source-warning { grid-column: 1 / -1; color: #9b3c37; font-size: 10px; }
.routing-form-controls { display: grid; grid-template-columns: minmax(170px,.6fr) minmax(240px,1fr) auto; gap: 9px; align-items: end; }
.routing-form-controls label { display: grid; gap: 5px; color: var(--ink); font-size: 11px; font-weight: 700; }
.routing-form-controls select, .routing-form-controls textarea { width: 100%; min-height: 40px; border: 1px solid var(--line); border-radius: 9px; padding: 8px 10px; background: white; color: var(--ink); }
.routing-form-controls textarea { min-height: 58px; resize: vertical; }
.routing-form-controls .button { min-height: 42px; }
.routing-history { padding-top: 12px; border-top: 1px solid var(--line); }
.routing-event-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.routing-event { display: grid; grid-template-columns: 31px minmax(0,1fr); gap: 8px; padding: 9px; border-radius: 10px; background: #f6f4ef; }
.routing-event > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: #e5f2f0; color: var(--teal); }
.routing-event > div { display: grid; gap: 2px; }
.routing-event p, .routing-event small { margin: 0; color: var(--muted); font-size: 10px; }
.routing-order-proof { display: grid; gap: 7px; margin-bottom: 10px; }
.routing-order-proof > div { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 9px; align-items: center; padding: 9px; border-radius: 10px; background: #f4f7f5; }
.routing-order-proof > div > span { display: grid; gap: 1px; }
.routing-order-proof small { color: var(--muted); font-size: 10px; }
.routing-order-proof b { font-size: 11px; }
.routing-order-proof a { color: var(--teal); font-size: 10px; font-weight: 700; }

@media (max-width: 1120px) {
  .finance-rule {
    grid-template-columns: minmax(190px, 1.35fr) minmax(0, 1fr) auto minmax(0, 1fr);
  }
  .finance-rule > :nth-child(n+5) { display: none; }

  .partner-workspace, .routing-workspace { grid-template-columns: 1fr; }
  .partner-queue-card { order: -1; }
  .routing-source { grid-template-columns: minmax(180px,1.4fr) repeat(3,minmax(65px,.55fr)) minmax(76px,.6fr); }
}

@media (max-width: 760px) {
  .partner-lifecycle, .routing-lifecycle { display: flex; padding: 14px; overflow-x: auto; }
  .partner-lifecycle::after, .routing-lifecycle::after { display: none; }
  .partner-lifecycle > div, .routing-lifecycle > div { min-width: 150px; }
  .partner-summary, .routing-summary { display: flex; overflow-x: auto; padding-bottom: 4px; }
  .partner-summary article { min-width: 148px; }
  .routing-summary article { min-width: 140px; gap: 14px; }
  .partner-source-grid { grid-template-columns: 1fr; }
  .partner-source-heading { grid-template-columns: 38px minmax(0,1fr); }
  .partner-source-heading .status-pill { grid-column: 1 / -1; justify-self: start; }
  .partner-source-receipt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .partner-source-receipt > div { min-width: 0; }
  .partner-table-card, .partner-queue-card, .routing-order-card, .routing-detail-card { padding: 14px; border-radius: 15px; }
  .partner-table { min-width: 920px; }
  .discrepancy-owner { grid-template-columns: 36px minmax(0,1fr); }
  .discrepancy-owner .button { grid-column: 1 / -1; }
  .routing-detail-hero, .routing-truth { align-items: flex-start; }
  .routing-truth { grid-template-columns: 34px minmax(0,1fr); }
  .routing-truth .status-pill { grid-column: 1 / -1; justify-self: start; }
  .routing-source { grid-template-columns: minmax(160px,1fr) 70px 70px 80px; min-width: 620px; }
  .routing-source.terminal { grid-template-columns: repeat(2,minmax(0,1fr)); min-width: 0; }
  .routing-source.terminal .routing-source-identity { grid-column: 1 / -1; }
  .routing-source label { grid-column: 2 / 5; }
  .routing-source-list { max-width: 100%; overflow-x: auto; }
  .routing-form-controls { grid-template-columns: 1fr; }
  .routing-event-list { grid-template-columns: 1fr; }
}

/* Step 14A · canonical product content and named channel syndication */
.product-view-tab { text-decoration: none; }
.status-pill.attention { background: var(--amber-soft); color: #8b5900; }
.status-pill.neutral { background: #edf0f2; color: var(--muted); }
.product-content-page { display: grid; gap: 15px; }
.product-content-page .page-heading { margin-bottom: 0; }
.content-lifecycle { position: relative; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap: 11px; align-items: center; overflow: hidden; padding: 17px 19px; border-radius: 17px; background: var(--navy-2); color: white; }
.content-lifecycle::after { content: ""; position: absolute; inset: 0 0 0 auto; width: 31%; background: linear-gradient(100deg, transparent, rgba(8,127,117,.3)); }
.content-lifecycle > div { position: relative; z-index: 1; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 1px 9px; align-items: center; min-width: 0; }
.content-lifecycle > div > span { grid-row: 1 / 3; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.08); color: #8bdad2; font: 700 10px "Sora", sans-serif; }
.content-lifecycle strong { font: 700 11px "Sora", sans-serif; }
.content-lifecycle small { overflow: hidden; color: #b9c7ce; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.content-lifecycle > i { position: relative; z-index: 1; color: #70c9c1; font-size: 17px; }

.content-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.content-summary article { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; align-items: center; min-width: 0; padding: 13px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: 0 6px 18px rgba(23,33,43,.04); }
.content-summary article > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: #e7f3f1; color: var(--teal); }
.content-summary article.attention > span { background: var(--amber-soft); color: #936000; }
.content-summary article > div { display: grid; grid-template-columns: 1fr auto; gap: 1px 8px; min-width: 0; }
.content-summary small { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.content-summary strong { color: var(--navy); font: 700 19px "Sora", sans-serif; }
.content-summary p { grid-column: 1 / -1; overflow: hidden; margin: 1px 0 0; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

.content-workspace { display: grid; grid-template-columns: minmax(275px,330px) minmax(0,1fr); gap: 14px; align-items: start; }
.content-library-card, .content-editor-card { min-width: 0; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: 0 8px 25px rgba(23,33,43,.05); }
.content-library-card { position: sticky; top: 80px; max-height: calc(100vh - 100px); overflow: hidden; padding: 15px; display: grid; grid-template-rows: auto auto minmax(0,1fr); gap: 11px; }
.content-card-heading, .content-section-heading { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.content-card-heading h2, .content-section-heading h3 { margin: 0; color: var(--navy); font: 700 16px/1.2 "Sora", sans-serif; }
.content-card-heading .result-count, .content-section-heading .result-count { margin: 0; }
.content-search { max-width: none; flex: 0 0 auto; }
.content-product-list { overflow-y: auto; display: grid; gap: 6px; padding-right: 2px; }
.content-product-row { width: 100%; padding: 8px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto 16px; gap: 8px; align-items: center; border: 1px solid transparent; border-radius: 11px; background: #f7f5f0; color: var(--ink); text-align: left; }
.content-product-row:hover, .content-product-row.active { border-color: #9fcfc7; background: #edf8f5; }
.content-product-row .product-thumb { width: 38px; height: 38px; }
.content-product-row > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.content-product-row strong, .content-product-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.content-product-row strong { color: var(--navy); font-size: 11px; }
.content-product-row small { color: var(--muted); font-size: 10px; }
.content-product-row > .material-symbols-rounded:last-child { color: var(--muted); font-size: 15px; }
.content-row-state { padding: 4px 7px; border-radius: 999px; background: #eceff1; color: var(--muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.content-row-state.healthy { background: var(--green-soft); color: var(--teal); }
.content-row-state.attention { background: var(--amber-soft); color: #895800; }
.content-row-state.low { background: var(--coral-soft); color: #963c37; }
.content-list-empty, .content-editor-empty { min-height: 200px; display: grid; place-items: center; align-content: center; gap: 5px; color: var(--muted); text-align: center; }
.content-list-empty > span, .content-editor-empty > span { font-size: 30px; color: var(--teal); }
.content-list-empty strong, .content-editor-empty h2 { margin: 0; color: var(--navy); }
.content-list-empty small, .content-editor-empty p { margin: 0; }

.content-editor-card { overflow: hidden; }
.content-editor-heading { min-height: 76px; padding: 14px 17px; display: flex; justify-content: space-between; gap: 18px; align-items: center; border-bottom: 1px solid var(--line); background: linear-gradient(110deg,#fffdf9,#f4f1e9); }
.content-editor-identity { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 11px; align-items: center; min-width: 0; }
.content-editor-identity .product-thumb { width: 48px; height: 48px; border-radius: 12px; }
.content-editor-identity h2, .content-editor-identity p { margin: 0; }
.content-editor-identity h2 { color: var(--navy); font: 700 18px/1.2 "Sora", sans-serif; }
.content-editor-identity p:last-child { color: var(--muted); font-size: 10px; }
.content-editor-state { display: grid; justify-items: end; gap: 5px; text-align: right; }
.content-editor-state small { color: var(--muted); font-size: 10px; }
.content-form { display: grid; }
.canonical-editor, .channel-adaptations, .content-history { padding: 17px; display: grid; gap: 12px; }
.canonical-editor { border-bottom: 1px solid var(--line); }
.content-section-heading { margin-bottom: 1px; }
.canonical-badge { min-height: 29px; padding: 0 9px; display: inline-flex; align-items: center; gap: 6px; border-radius: 9px; background: #e5f3f1; color: var(--teal-dark); font-size: 10px; font-weight: 800; }
.canonical-badge > span { font-size: 15px; }
.canonical-badge.muted-badge { background: #f0eee8; color: var(--muted); }
.canonical-editor label, .channel-override-fields label { display: grid; grid-template-columns: 1fr auto; gap: 5px; color: var(--ink); font-size: 10px; font-weight: 700; }
.canonical-editor label > span, .channel-override-fields label > span { color: var(--muted); font-size: 10px; font-weight: 500; }
.canonical-editor input, .canonical-editor textarea, .channel-override-fields input, .channel-override-fields textarea { grid-column: 1 / -1; width: 100%; min-height: 39px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font-size: 11px; line-height: 1.4; resize: vertical; }
.canonical-editor input:focus, .canonical-editor textarea:focus, .channel-override-fields input:focus, .channel-override-fields textarea:focus { border-color: #84c6bd; }
.content-field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.content-channel-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.content-channel-card { min-width: 0; padding: 14px; display: grid; gap: 11px; border: 1px solid var(--line); border-radius: 14px; background: #faf9f5; }
.content-channel-card.shopify { border-top: 3px solid var(--teal); }
.content-channel-card.custom_store { border-top: 3px solid var(--coral); }
.content-channel-card > header { display: grid; grid-template-columns: 37px minmax(0,1fr) auto; gap: 9px; align-items: center; }
.content-channel-card h3 { margin: 0; color: var(--navy); font: 700 14px "Sora", sans-serif; }
.channel-provider-icon { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 10px; background: var(--navy); color: #8bdad2; }
.connector-truth { min-height: 38px; margin: 0; padding: 8px 9px; display: grid; grid-template-columns: 17px minmax(0,1fr); gap: 6px; align-items: start; border-radius: 9px; background: #eceff1; color: var(--muted); font-size: 10px; line-height: 1.35; }
.connector-truth > span { color: var(--blue); font-size: 16px; }
.channel-override-fields { display: grid; gap: 9px; }
.channel-validation { display: flex; gap: 7px; align-items: center; }
.channel-validation small { color: var(--muted); font-size: 10px; }
.channel-validation-errors { margin: -3px 0 0; padding: 8px 10px 8px 25px; border-radius: 9px; background: var(--coral-soft); color: #913a35; font-size: 10px; }
.content-readback { padding: 9px; display: grid; grid-template-columns: minmax(0,1fr) 22px minmax(0,1fr); gap: 7px; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.content-readback > div { display: grid; gap: 2px; min-width: 0; }
.content-readback > div:last-child { text-align: right; }
.content-readback small { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.content-readback strong { overflow: hidden; color: var(--navy); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.content-readback > span { color: var(--amber); font-size: 18px; }
.content-readback.healthy { border-color: #b9ddd6; background: #eef8f6; }
.content-readback.healthy > span { color: var(--teal); }
.content-readback.low { border-color: #e9bbb7; background: #fff4f2; }
.content-readback.low > span { color: var(--coral); }
.content-not-published { min-height: 41px; display: flex; gap: 7px; align-items: center; padding: 9px; border: 1px dashed #cec9bf; border-radius: 10px; color: var(--muted); font-size: 10px; }
.content-not-published > span { color: #9aa5ab; }
.content-provider-result { margin: 0; display: grid; gap: 2px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.content-provider-result strong { color: var(--ink); font-size: 10px; }
.content-provider-result small { color: #8b8378; }
.content-channel-card > footer { min-height: 38px; display: flex; align-items: flex-end; }
.content-channel-card > footer .button { width: 100%; min-height: 36px; font-size: 10px; }
.content-action-bar { padding: 12px 17px; display: flex; justify-content: space-between; gap: 18px; align-items: center; border-top: 1px solid var(--line); background: var(--navy); color: white; }
.content-action-bar > div:first-child { display: grid; gap: 2px; }
.content-action-bar > div:first-child strong { font-size: 11px; }
.content-action-bar > div:first-child small { color: #aebdc5; font-size: 10px; }
.content-action-bar > div:last-child { display: flex; gap: 7px; flex: 0 0 auto; }
.content-action-bar .button.secondary { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: white; }
.content-action-bar .button:disabled { opacity: .5; cursor: not-allowed; }
.content-history { border-top: 1px solid var(--line); }
.content-event-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.content-event { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 9px; padding: 9px; border-radius: 10px; background: #f6f4ef; }
.content-event > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: #e5f2f0; color: var(--teal); }
.content-event > div { display: grid; gap: 2px; min-width: 0; }
.content-event strong { color: var(--navy); font-size: 10px; text-transform: capitalize; }
.content-event p, .content-event small { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.35; }

@media (max-width: 1180px) {
  .content-workspace { grid-template-columns: 280px minmax(0,1fr); }
  .content-channel-grid { grid-template-columns: 1fr; }
  .content-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .product-content-page .product-view-tabs { overflow-x: auto; }
  .product-content-page .product-view-tab { min-width: 148px; flex: 0 0 auto; }
  .content-lifecycle { display: flex; overflow-x: auto; padding: 14px; }
  .content-lifecycle::after { display: none; }
  .content-lifecycle > div { min-width: 142px; }
  .content-summary { display: flex; overflow-x: auto; padding-bottom: 4px; }
  .content-summary article { min-width: 180px; }
  .content-workspace { grid-template-columns: 1fr; }
  .content-library-card { position: static; max-height: none; }
  .content-product-list { max-height: 265px; }
  .content-product-row { grid-template-columns: 38px minmax(0,1fr) 16px; }
  .content-row-state { grid-column: 2; justify-self: start; }
  .content-product-row > .material-symbols-rounded:last-child { grid-column: 3; grid-row: 1 / 3; }
  .content-editor-heading { align-items: flex-start; flex-direction: column; }
  .content-editor-state { justify-items: start; text-align: left; }
  .canonical-editor, .channel-adaptations, .content-history { padding: 14px; }
  .content-section-heading { align-items: flex-start; flex-direction: column; }
  .content-field-pair, .content-channel-grid, .content-event-list { grid-template-columns: 1fr; }
  .content-action-bar { align-items: flex-start; flex-direction: column; }
  .content-action-bar > div:last-child { width: 100%; display: grid; grid-template-columns: 1fr; }
  .content-action-bar .button { width: 100%; }
}

@media (max-width: 760px) {
  .transfer-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
  }
  .transfer-stat { min-width: 0; }
  .transfer-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .transfer-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    width: 100%;
    overflow: visible;
    white-space: normal;
  }
  .transfer-flow i { display: none; }
  .transfer-flow span { min-width: 0; justify-content: flex-start; }
}

/* Final mobile acceptance: prefer complete, scannable controls over clipped
   carousels for critical navigation, lifecycle, and report information. */
@media (max-width: 1120px) {
  .catalog-page .decision-strip { grid-template-columns: 1fr; }
  .catalog-page .summary-panel { min-height: 0; }

  .product-content-page .product-view-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
  }
  .product-content-page .product-view-tab {
    min-width: 0;
    padding: 8px 6px;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 5px;
  }
  .product-content-page .product-view-tab > .material-symbols-rounded {
    width: 24px;
    height: 24px;
    font-size: 15px;
  }
  .product-content-page .product-view-tab strong { font-size: 10px; white-space: normal; }
  .content-lifecycle {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
  }
  .content-lifecycle > i { display: none; }
  .content-lifecycle > div { min-width: 0; }
  .content-lifecycle > div:last-of-type { grid-column: 1 / -1; }
  .content-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    padding-bottom: 0;
  }
  .content-summary article { min-width: 0; }

  .channel-truth { grid-template-columns: 36px minmax(0, 1fr); overflow: visible; }
  .channel-truth > div,
  .provider-copy { min-width: 0; }
  .channel-truth p,
  .provider-copy p,
  .channel-provider-card footer small { overflow-wrap: anywhere; white-space: normal; }
  .channel-view-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
  }
  .channel-view-tabs .product-view-tab {
    min-width: 0;
    width: auto;
    grid-template-columns: 28px minmax(0, 1fr);
    padding: 8px;
  }
  .channel-view-tabs .product-view-tab > .material-symbols-rounded { width: 28px; height: 28px; }
  .channel-view-tabs .product-view-tab span:last-child { min-width: 0; white-space: normal; }
  .channel-provider-card { grid-template-columns: 42px minmax(0, 1fr); }
  .provider-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); }
  .provider-stats span { min-width: 0; }
  .channel-sync-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    margin-inline: 0;
    padding: 0;
  }
  .channel-sync-summary article { min-width: 0; }

  .report-section-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    overflow: visible;
    margin-inline: 0;
  }
  .report-section-tab {
    min-width: 0;
    padding: 9px 8px;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 7px;
  }
  .report-section-tab > .material-symbols-rounded { width: 30px; height: 30px; }
  .report-section-tab strong { font-size: 10px; white-space: normal; }
  .report-section-tab small { display: none; }
  .report-switcher {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    overflow: visible;
    margin-inline: 0;
    padding: 0;
  }
  .report-choice { min-width: 0; min-height: 62px; }
  .report-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    margin-inline: 0;
    padding: 0;
  }
  .report-metric { min-width: 0; }
  .report-metric:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .report-table-wrap { overflow: visible; }
  .report-table { min-width: 0; width: 100%; display: block; }
  .report-table thead { display: none; }
  .report-table tbody { display: grid; gap: 9px; }
  .report-table tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fffdf9;
  }
  .report-table td,
  .report-table td:first-child {
    width: auto;
    padding: 0;
    display: grid;
    gap: 3px;
    border: 0;
    text-align: left;
  }
  .report-table td:first-child { grid-column: 1 / -1; }
  .report-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .45px;
    text-transform: uppercase;
  }
  .report-table td:last-child { align-content: end; justify-items: end; }

  .finance-rule {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
  }
  .finance-rule-title { min-width: 0; grid-column: 1 / -1; }
  .finance-rule-step { min-width: 0; }
  .finance-rule-arrow,
  .finance-rule-arrow:nth-last-child(2) { display: none; }

  .partner-lifecycle,
  .routing-lifecycle {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
  }
  .partner-lifecycle > i,
  .routing-lifecycle > i { display: none; }
  .partner-lifecycle > div,
  .routing-lifecycle > div { min-width: 0; }
  .partner-lifecycle small,
  .routing-lifecycle small {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    line-height: 1.25;
  }
  .partner-summary,
  .routing-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    padding-bottom: 0;
  }
  .partner-summary article { min-width: 0; }
  .partner-summary article:last-child:nth-child(odd) { grid-column: 1 / -1; }

  .partner-page > .page-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .partner-page > .page-heading > div:first-child { width: 100%; }
  .partner-page > .page-heading p:last-child {
    max-width: none;
    font-size: 14px;
    line-height: 1.5;
  }
  .partner-page > .page-heading .heading-actions {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 8px;
    justify-items: stretch;
  }
  .partner-page .partner-scope-chip {
    max-width: none;
    min-width: 0;
    min-height: 40px;
    justify-content: flex-start;
    font-size: 10px;
    line-height: 1.2;
  }
  .partner-page .scope-copy-desktop { display: none; }
  .partner-page .scope-copy-mobile { display: inline; }
  .partner-page > .page-heading .button {
    min-height: 40px;
    padding-inline: 12px;
    white-space: nowrap;
  }

  .partner-source-receipt {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
  }
  .partner-source-receipt > div {
    min-width: 0;
    min-height: 62px;
    padding: 10px;
    align-content: center;
  }
  .partner-source-receipt small { font-size: 10px; }
  .partner-source-receipt strong {
    overflow: visible;
    font-size: 14px;
    line-height: 1.3;
    overflow-wrap: anywhere;
    text-overflow: clip;
    white-space: normal;
  }
  .partner-page .partner-source-heading p:last-child { font-size: 13px; }
  .partner-page .source-truth {
    align-items: flex-start;
    font-size: 13px;
    line-height: 1.45;
  }

  .partner-table-card .section-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .partner-table-card .result-count {
    margin-left: 0;
    align-self: flex-start;
  }
  .partner-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
  }
  .partner-table {
    min-width: 0;
    width: 100%;
    display: block;
    table-layout: auto;
  }
  .partner-table thead { display: none; }
  #partner-stock-body {
    display: grid;
    gap: 10px;
  }
  #partner-stock-body tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fffdf9;
  }
  #partner-stock-body td,
  #partner-stock-body td:first-child {
    position: static;
    width: auto;
    height: auto;
    min-width: 0;
    padding: 0;
    display: grid;
    gap: 3px;
    border: 0;
    background: transparent;
    text-align: left;
  }
  #partner-stock-body .partner-row-product {
    grid-column: 1 / -1;
    padding-bottom: 3px;
  }
  #partner-stock-body .product-cell {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 11px;
  }
  #partner-stock-body .product-thumb {
    width: 42px;
    height: 42px;
    border-radius: 10px;
  }
  #partner-stock-body .product-copy strong {
    font-size: 15px;
    line-height: 1.3;
  }
  #partner-stock-body .product-copy small {
    margin-top: 3px;
    font-size: 11px;
    line-height: 1.3;
  }
  #partner-stock-body td[data-label] {
    min-height: 54px;
    padding: 8px 9px;
    align-content: center;
    border-radius: 9px;
    background: #f5f3ee;
  }
  #partner-stock-body td[data-label]::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .45px;
    text-transform: uppercase;
  }
  #partner-stock-body .number { font-size: 14px; }
  #partner-stock-body .partner-difference { font-size: 12px; }
  #partner-stock-body td[data-label="Source freshness"] { grid-column: 1 / -1; }
  #partner-stock-body .freshness-cell strong {
    font-size: 13px;
    line-height: 1.3;
  }
  #partner-stock-body .freshness-cell small {
    font-size: 11px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    white-space: normal;
  }
  #partner-stock-body .partner-row-action { grid-column: 1 / -1; }
  #partner-stock-body .row-button {
    width: 100%;
    min-height: 40px;
    border-color: #c9ddd8;
    background: #edf8f5;
    color: var(--teal-dark);
    font-size: 12px;
  }
  #partner-stock-body .row-action-label { display: inline; }
}

/* Product-wide semantic typography contract.
   Ordinary task text must never be styled as metadata. */
:root {
  --type-overline: 10px;
  --type-meta: 12px;
  --type-label: 13px;
  --type-body: 14px;
  --type-title: 15px;
  --type-section: 18px;
}

.workspace,
.detail-drawer,
.count-dialog,
.action-dialog { font-size: var(--type-body); line-height: 1.45; }

.workspace small,
.detail-drawer small,
.count-dialog small,
.action-dialog small { font-size: var(--type-meta); line-height: 1.35; }

.workspace p:not(.panel-kicker):not(.eyebrow),
.detail-drawer p:not(.panel-kicker):not(.eyebrow),
.count-dialog p:not(.panel-kicker):not(.eyebrow),
.action-dialog p:not(.panel-kicker):not(.eyebrow) { font-size: var(--type-body); line-height: 1.5; }

.workspace label,
.workspace legend,
.detail-drawer label,
.count-dialog label,
.action-dialog label { font-size: var(--type-label); line-height: 1.35; }

.workspace input:not([type="checkbox"]):not([type="radio"]),
.workspace select,
.workspace textarea,
.detail-drawer input:not([type="checkbox"]):not([type="radio"]),
.detail-drawer select,
.detail-drawer textarea,
.count-dialog input:not([type="checkbox"]):not([type="radio"]),
.count-dialog select,
.count-dialog textarea,
.action-dialog input:not([type="checkbox"]):not([type="radio"]),
.action-dialog select,
.action-dialog textarea {
  min-height: 44px;
  font-size: var(--type-body);
  line-height: 1.35;
}

.workspace .button,
.workspace .text-button,
.workspace .compact-button,
.detail-drawer .button,
.count-dialog .button,
.action-dialog .button { font-size: var(--type-body); }

.workspace .compact-button,
.workspace .row-button { min-height: 34px; font-size: var(--type-label); }
.workspace .result-count { font-size: var(--type-meta); }
.workspace th { font-size: var(--type-meta); line-height: 1.25; }
.workspace td { font-size: var(--type-label); line-height: 1.4; }

.workspace .status-pill,
.workspace .state-pill,
.workspace .order-state,
.workspace .return-status,
.workspace .purchase-order-status,
.workspace .transfer-state,
.workspace .routing-order-state,
.workspace .content-row-state,
.workspace .settings-state-pill,
.workspace .bulk-row-state,
.workspace .partner-difference,
.workspace .truth-chip,
.workspace .supplier-term-count {
  min-height: 26px;
  font-size: var(--type-meta);
  line-height: 1.2;
}

.workspace .filter-chip,
.workspace .risk-filter,
.workspace .mobile-task-filters button { font-size: var(--type-label); }
.workspace .filter-control span { font-size: var(--type-meta); }
.workspace .legend-button { font-size: var(--type-label); }
.workspace .legend-button strong { font-size: var(--type-body); }
.workspace em { font-size: var(--type-label); }
.workspace .channel-provider-card footer small,
.workspace .channel-sync-summary small,
.workspace .channel-product-cell small,
.workspace .channel-stock-cell footer small,
.workspace .sync-event-list small { font-size: var(--type-meta); }
.workspace .account-copy span { font-size: 11px; }
.channel-card p { font-size: var(--type-meta); }

/* Inventory, Overview, Products, and Reports */
.work-button { font-size: var(--type-body); }
.work-button strong { font-size: var(--type-body); }
.work-button .work-value { font-size: var(--type-label); }
.workspace .summary-panel header strong { font-size: var(--type-title); }
.catalog-form label { font-size: var(--type-label); }
.catalog-form input,
.listing-row select { font-size: var(--type-body); }
.catalog-metrics span,
.variant-stack span { font-size: var(--type-meta); }
.catalog-metrics strong { font-size: var(--type-body); }
.variant-stack strong { font-size: var(--type-title); }
.product-view-tab strong,
.report-section-tab strong { font-size: var(--type-body); }
.product-view-tab small,
.report-section-tab small { font-size: var(--type-meta); }
.report-choice strong { font-size: var(--type-title); }
.report-metric > span:last-child > span,
.report-product span,
.cell-note,
.export-action > span { font-size: var(--type-meta); }
.report-product strong,
.report-table td > strong { font-size: var(--type-title); }
.number-cell { font-size: var(--type-body); }
.report-footnote { font-size: var(--type-label); line-height: 1.45; }

/* Purchasing */
.purchase-card-heading h2,
.purchase-list-heading h2,
.return-card-heading h2,
.return-list-heading h2,
.bundle-card-heading h2,
.finance-card-heading h2 { font-size: var(--type-section); }
.purchase-card-heading p:last-child,
.operator-receiving-note p:last-child { font-size: var(--type-body); }
.purchase-form-card label { font-size: var(--type-label); }
.purchase-form-card input,
.purchase-form-card select,
.purchase-form-card textarea { min-height: 44px; font-size: var(--type-body); }
.purchase-form-card textarea { min-height: 88px; }
.purchase-source-preview span { font-size: var(--type-meta); }
.purchase-source-preview strong { font-size: var(--type-body); }
.supplier-row { min-height: 96px; }
.supplier-row strong { font-size: var(--type-title); }
.supplier-row > div > span { font-size: var(--type-label); }
.purchase-order-row { min-height: 84px; }
.purchase-order-identity strong { font-size: var(--type-title); }
.purchase-order-location strong { font-size: var(--type-body); }
.purchase-order-units span { font-size: var(--type-meta); }
.purchase-order-time strong { font-size: var(--type-meta); }
.receipt-row strong,
.purchase-event strong { font-size: var(--type-body); }
.purchase-event span,
.terminal-note { font-size: var(--type-label); }

/* Returns */
.return-gate h2 { font-size: var(--type-section); }
.return-gate-flow span { font-size: var(--type-label); }
.return-card-heading p:last-child,
.return-gate p:last-child { font-size: var(--type-body); }
.return-intake-card label,
.return-action-dialog label { font-size: var(--type-label); }
.return-intake-card input,
.return-intake-card select,
.return-intake-card textarea,
.return-action-dialog select,
.return-action-dialog textarea { min-height: 44px; font-size: var(--type-body); }
.return-source-preview span { font-size: var(--type-meta); }
.return-source-preview strong,
.return-proof-list strong { font-size: var(--type-body); }
.return-row { min-height: 88px; }
.return-identity strong,
.return-customer strong,
.return-place strong { font-size: var(--type-title); }
.return-customer span,
.return-quantity span { font-size: var(--type-meta); }
.return-time strong { font-size: var(--type-meta); }
.return-inspection-card strong,
.return-disposition-card strong,
.return-event strong { font-size: var(--type-body); }
.return-inspection-card p,
.return-disposition-card p,
.return-event span,
.custody-note { font-size: var(--type-label); }

/* Bundles and Product Content */
.bundle-truth strong,
.bundle-definition-line strong,
.bundle-tile strong,
.availability-card header strong { font-size: var(--type-title); }
.bundle-definition-card label,
.bundle-order-form label,
.component-builder-heading { font-size: var(--type-label); }
.bundle-definition-card input,
.bundle-definition-card select,
.bundle-definition-card textarea,
.bundle-order-form input,
.bundle-order-form select,
.bundle-component-row select { min-height: 44px; font-size: var(--type-body); }
.bundle-definition-line span,
.contribution-list a,
.availability-card > p,
.bundle-empty p,
.bundle-explosion-preview header { font-size: var(--type-label); }
.bundle-empty strong { font-size: var(--type-body); }
.content-lifecycle strong { font-size: var(--type-body); }
.content-lifecycle > div > span { font-size: var(--type-meta); }
.content-summary p { font-size: var(--type-label); }
.content-product-row strong { font-size: var(--type-title); }
.content-editor-identity p:last-child,
.content-editor-state small { font-size: var(--type-meta); }
.canonical-editor label,
.channel-override-fields label { font-size: var(--type-label); }
.canonical-editor label > span,
.channel-override-fields label > span { font-size: var(--type-meta); }
.canonical-editor input,
.canonical-editor textarea,
.channel-override-fields input,
.channel-override-fields textarea { min-height: 44px; font-size: var(--type-body); }
.connector-truth,
.channel-validation-errors,
.content-not-published,
.content-provider-result { font-size: var(--type-label); }
.content-readback strong,
.content-provider-result strong,
.content-action-bar > div:first-child strong,
.content-event strong { font-size: var(--type-body); }
.content-action-bar > div:first-child small { font-size: var(--type-meta); }
.content-channel-card > footer .button { font-size: var(--type-body); }
.content-event p { font-size: var(--type-label); }

/* Finance */
.finance-rule-step { font-size: var(--type-label); }
.finance-rule-step b { font-size: var(--type-meta); }
.finance-metric > span:last-child > span { font-size: var(--type-meta); }
.finance-card-heading p { font-size: var(--type-body); }
.finance-search input { font-size: var(--type-body); }
.finance-table th { font-size: var(--type-meta); }
.finance-table td { font-size: var(--type-label); }
.finance-product strong { font-size: var(--type-title); }
.finance-product small,
.finance-row-value,
.finance-basis-pill { font-size: var(--type-meta); }
.finance-adjustment-heading p,
.finance-selection-placeholder p,
.finance-adjustment-preview,
.finance-control-note,
.finance-handoff-card p { font-size: var(--type-label); }
.finance-adjustment-card label,
.finance-period-controls label { font-size: var(--type-label); }
.finance-adjustment-card input,
.finance-adjustment-card select,
.finance-adjustment-card textarea,
.finance-period-controls input { min-height: 44px; font-size: var(--type-body); }
.finance-reconciliation strong,
.finance-entry strong,
.finance-handoff-row strong { font-size: var(--type-body); }
.finance-reconciliation p { font-size: var(--type-label); }
.finance-entry-amount { font-size: var(--type-body) !important; }
.finance-handoff-row code { font-size: var(--type-meta); }
.finance-list-empty p { font-size: var(--type-label); }

/* Transfers, Partner Stock, and Routing */
.transfer-create-card label,
.routing-form-controls label,
.routing-source label { font-size: var(--type-label); }
.transfer-route,
.transfer-time { font-size: var(--type-label); }
.partner-lifecycle strong,
.routing-lifecycle strong { font-size: var(--type-body); }
.partner-lifecycle > div > span,
.routing-lifecycle > div > span { font-size: var(--type-meta); }
.partner-source-receipt strong,
.routing-source strong { font-size: var(--type-body); }
.discrepancy-owner p,
.partner-event p,
.routing-truth p,
.routing-event p { font-size: var(--type-label); }
.routing-order-row small,
.routing-source small,
.routing-order-proof small,
.routing-order-proof a { font-size: var(--type-meta); }

/* Mobile Work */
.mobile-connection-copy strong,
.mobile-freshness strong,
.mobile-device strong,
.mobile-task-quantity strong,
.mobile-start-guide strong,
.mobile-snapshot-strip strong,
.mobile-match-proof strong,
.mobile-pending-proof strong,
.mobile-conflict-compare strong { font-size: var(--type-body); }
.mobile-task-select strong { font-size: var(--type-title); }
.mobile-start-guide > div > span,
.mobile-control-band .button.primary b { font-size: var(--type-meta); }
.mobile-task-select em,
.mobile-task-meta > span:first-child,
.mobile-owner-assignment > span,
.mobile-queue-note { font-size: var(--type-meta); }
.mobile-scan-hero p:last-child,
.mobile-execution-header p:last-child,
.mobile-work-prompt p:last-child,
.mobile-conflict-card header p:last-child { font-size: var(--type-body); }
.mobile-scan-form label,
.mobile-work-form label,
.mobile-conflict-card label { font-size: var(--type-label); }

/* Settings */
.settings-status-strip strong,
.settings-readiness-row strong { font-size: var(--type-title); }
.settings-status-strip p,
.settings-readiness-row p { font-size: var(--type-label); }
.settings-copy { font-size: var(--type-body); }
.settings-form label,
.settings-user-controls label,
.settings-assignment-fieldset legend { font-size: var(--type-label); }
.settings-form input,
.settings-form select,
.settings-user-row input,
.settings-user-row select { min-height: 44px; font-size: var(--type-body); }
.settings-location-check strong,
.settings-location-row strong { font-size: var(--type-body); }
.settings-empty-inline { font-size: var(--type-label); }
.settings-location-metrics span { font-size: var(--type-meta); }

@media (max-width: 760px) {
  .workspace { font-size: var(--type-body); }
  .workspace th { font-size: 11px; }
  .product-content-page .product-view-tab strong { font-size: var(--type-body); }
  .scope-copy-mobile { font-size: var(--type-meta); }
  .finance-product strong,
  .finance-product small,
  .finance-table .number-cell { font-size: var(--type-meta); }
  .purchase-order-row,
  .return-row { min-height: 0; }
  .mobile-start-guide {
    display: grid;
    grid-template-columns: 1fr;
    overflow: visible;
  }
  .mobile-start-guide > div { min-width: 0; }
  .mobile-start-guide > i { display: none; }
}

/* Post-type-scale layout guardrails.
   Larger readable text must reflow instead of escaping, clipping, or forcing
   important controls into hidden horizontal regions. */
.transfer-create-card,
.transfer-create-card label { min-width: 0; }
.transfer-create-card input,
.transfer-create-card select,
.transfer-create-card textarea,
.transfer-create-card .button {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.catalog-row .product-cell {
  grid-template-columns: 42px minmax(0, 1fr);
}
.partner-workspace { grid-template-columns: 1fr; }
.partner-table-wrap { overflow-x: visible; }
.content-summary p,
.report-metric > span:last-child > span {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.35;
}
.partner-source-receipt strong,
.content-product-row strong,
.content-readback strong,
.finance-product strong {
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.3;
}

@media (max-width: 1440px) {
  .inventory-page:has(#inventory-body) .decision-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-page:has(#inventory-body) .work-panel { grid-column: 1 / -1; min-height: 0; }
  .inventory-page:has(#inventory-body) .work-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .inventory-page > .inventory-card .table-wrap { overflow-x: visible; }
  .inventory-page > .inventory-card table { min-width: 0; }
  .inventory-page > .inventory-card th:first-child { width: 24%; }
  .inventory-page > .inventory-card th:nth-child(6) { width: 12%; }
  .inventory-page > .inventory-card th:nth-child(7) { width: 13%; }
  .inventory-page > .inventory-card th:nth-child(8) { width: 10%; }
  .inventory-page > .inventory-card th:last-child { width: 9%; }

  .pending-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pending-action-card { min-height: 88px; }
  .pending-action-card > span:nth-child(2) > span { white-space: normal; }

  .content-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-summary article { min-height: 88px; }

  .order-row {
    min-height: 100px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px 14px;
  }
  .order-product { grid-column: 1 / -1; }
  .order-product strong,
  .order-product small {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
  .order-place { display: none; }
  .order-quantity { grid-column: 1; grid-row: 2; }
  .order-state { grid-column: 2; grid-row: 2; justify-self: end; }
  .order-time { grid-column: 3; grid-row: 2; }

  .return-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .return-stat small {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    line-height: 1.2;
  }

  .report-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .report-metric { min-height: 86px; }

  .partner-workspace { grid-template-columns: 1fr; }
  .partner-table-wrap { overflow-x: visible; }

  .mobile-control-band {
    grid-template-columns: 48px minmax(200px, 1fr) minmax(180px, .8fr) auto auto;
  }
  .mobile-device { display: none; }
  .mobile-freshness strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}

@media (max-width: 1120px) {
  .finance-rule { overflow: hidden; }

  .inventory-page:has(#inventory-body) > .inventory-card .table-wrap table {
    min-width: 0;
    table-layout: auto;
  }
  .inventory-page:has(#inventory-body) > .inventory-card .table-wrap thead { display: none; }
  .inventory-page:has(#inventory-body) #inventory-body {
    padding: 8px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .inventory-page:has(#inventory-body) #inventory-body tr {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
  }
  .inventory-page:has(#inventory-body) #inventory-body tr:hover td,
  .inventory-page:has(#inventory-body) #inventory-body tr:hover td:first-child { background: transparent; }
  .inventory-page:has(#inventory-body) #inventory-body td {
    height: auto;
    min-width: 0;
    padding: 0;
    display: block;
    border: 0;
    background: transparent;
  }
  .inventory-page:has(#inventory-body) #inventory-body td:first-child {
    position: static;
    grid-column: 1 / -1;
    padding-right: 74px;
  }
  .inventory-page:has(#inventory-body) #inventory-body td:nth-child(n+2):nth-child(-n+5) { display: grid; gap: 3px; }
  .inventory-page:has(#inventory-body) #inventory-body td:nth-child(n+2):nth-child(-n+5)::before {
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .45px;
    text-transform: uppercase;
  }
  .inventory-page:has(#inventory-body) #inventory-body td:nth-child(2)::before { content: "On hand"; }
  .inventory-page:has(#inventory-body) #inventory-body td:nth-child(3)::before { content: "Committed"; }
  .inventory-page:has(#inventory-body) #inventory-body td:nth-child(4)::before { content: "Available"; }
  .inventory-page:has(#inventory-body) #inventory-body td:nth-child(5)::before { content: "Incoming"; }
  .inventory-page:has(#inventory-body) #inventory-body td:nth-child(6) { grid-column: 1 / 3; }
  .inventory-page:has(#inventory-body) #inventory-body td:nth-child(7) { grid-column: 3 / -1; align-self: center; }
  .inventory-page:has(#inventory-body) #inventory-body td:nth-child(8) { grid-column: 1 / -1; }
  .inventory-page:has(#inventory-body) #inventory-body td:last-child { position: absolute; top: 12px; right: 12px; }
  .inventory-page:has(#inventory-body) #inventory-body .row-action-label { display: inline; }

  .return-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 10px;
  }
  .return-identity,
  .return-customer { grid-column: 1 / -1; }
  .return-identity strong,
  .return-customer strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
  .return-place { display: none; }
  .return-quantity { grid-column: 1; grid-row: 3; }
  .return-status { grid-column: 2; grid-row: 3; justify-self: end; }
  .return-time {
    grid-column: 1 / -1;
    grid-template-columns: auto auto 18px;
    justify-items: start;
  }
  .return-time small { grid-column: 2; }
  .return-time .material-symbols-rounded { grid-column: 3; grid-row: 1; }

  .transfer-workspace { grid-template-columns: 1fr; }
  .transfer-create-card { position: static; }
  .transfer-row {
    grid-template-columns: 1fr auto;
    gap: 8px 10px;
    padding: 13px 6px;
  }
  .transfer-product { grid-column: 1 / -1; }
  .transfer-product small {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
  .transfer-route { grid-column: 1 / -1; grid-row: 2; }
  .transfer-quantity { grid-column: 2; grid-row: 1; }
  .transfer-state { grid-column: 1; grid-row: 3; }
  .transfer-time { display: flex; grid-column: 2; grid-row: 3; }

  .finance-workspace,
  .finance-period-grid,
  .finance-evidence-grid,
  .mobile-workspace { grid-template-columns: 1fr; }
  .finance-adjustment-card { position: static; }
  .finance-period-summary .finance-metric strong,
  .finance-handoff-row strong { white-space: normal; overflow-wrap: anywhere; text-overflow: clip; }

  .mobile-control-band {
    grid-template-columns: 48px minmax(0, 1fr) minmax(180px, .8fr);
  }
  .mobile-control-band .offline-toggle { grid-column: 1 / 3; width: 100%; }
  .mobile-control-band .button.primary { grid-column: 3; width: 100%; }

  .pending-strip,
  .return-summary,
  .report-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .detail-drawer .drawer-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .detail-drawer .drawer-actions .button,
  .detail-drawer .drawer-actions .icon-button {
    min-width: 0;
    width: 100%;
  }

  .inventory-page:has(#inventory-body) .decision-strip { grid-template-columns: 1fr; gap: 10px; }
  .inventory-page:has(#inventory-body) .summary-panel,
  .inventory-page:has(#inventory-body) .work-panel {
    min-height: 0;
    padding: 14px;
  }
  .inventory-page:has(#inventory-body) .summary-panel header { display: flex; }
  .inventory-page:has(#inventory-body) .risk-visual {
    grid-template-columns: 74px minmax(0, 1fr);
    justify-items: stretch;
  }
  .inventory-page:has(#inventory-body) .risk-ring { width: 72px; height: 72px; }
  .inventory-page:has(#inventory-body) .risk-ring::after { inset: 11px; }
  .inventory-page:has(#inventory-body) .risk-legend { display: grid; }
  .inventory-page:has(#inventory-body) .work-list { grid-template-columns: 1fr; }
  .inventory-page:has(#inventory-body) #inventory-body { grid-template-columns: 1fr; }

  .pending-strip,
  .return-summary,
  .report-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .mobile-work-heading {
    align-items: stretch;
    flex-direction: column;
  }
  .mobile-work-heading > div:first-child p:last-child { max-width: none; }
  .mobile-work-heading .heading-actions {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mobile-work-heading .scope-chip,
  .mobile-work-heading .button {
    width: 100%;
    max-width: none;
    justify-content: center;
  }
  .mobile-work-heading #refresh-button { grid-column: 1 / -1; }

  .mobile-control-band {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
    border-radius: 14px;
  }
  .mobile-freshness {
    grid-column: 1 / -1;
    min-height: 35px;
    padding: 8px 0 0;
    border-top: 1px solid rgba(255,255,255,.12);
    border-left: 0;
  }
  .mobile-device { display: none; }
  .mobile-control-band .offline-toggle,
  .mobile-control-band .button.primary {
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
  }

  .content-summary article,
  .report-metric { min-height: 96px; }

  .order-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 10px; }
  .order-product { grid-column: 1 / -1; }
  .order-quantity { grid-column: 1; grid-row: 2; }
  .order-state { grid-column: 2; grid-row: 2; }
  .order-time { grid-column: 1 / -1; grid-row: 3; justify-content: flex-start; }
}

/* UI composition repair: keep readable type, but give controls, mobile headers,
   tabs, and report metrics a deliberate hierarchy instead of squeezing them. */
.channel-matrix-tools { align-items: center; padding-block: 7px; }
.channel-matrix-tools .search-control {
  height: 44px;
  min-height: 44px;
  overflow: hidden;
}
.channel-matrix-tools .search-control input {
  height: 100%;
  min-height: 0;
  padding-block: 0;
}
.channel-matrix-tools select {
  height: 44px;
  min-height: 44px;
  padding: 0 34px 0 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background-color: var(--paper);
  color: var(--ink);
}

@media (max-width: 760px) {
  .catalog-page > .page-heading,
  .reports-page > .page-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 12px;
    align-items: start;
  }
  .catalog-page > .page-heading > div:first-child,
  .reports-page > .page-heading > div:first-child { display: contents; }
  .catalog-page > .page-heading .eyebrow,
  .reports-page > .page-heading .eyebrow {
    grid-column: 1;
    grid-row: 1;
  }
  .catalog-page > .page-heading h1,
  .reports-page > .page-heading h1 {
    grid-column: 1;
    grid-row: 2;
  }
  .catalog-page > .page-heading p:last-child,
  .reports-page > .page-heading p:last-child {
    grid-column: 1 / -1;
    grid-row: 3;
    max-width: none;
    margin-top: 3px;
  }
  .catalog-page > .page-heading .heading-actions,
  .reports-page > .page-heading .heading-actions {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: start;
    justify-self: end;
  }
  .catalog-page > .page-heading .scope-chip,
  .reports-page > .page-heading .scope-chip {
    max-width: 150px;
    min-height: 40px;
    font-size: var(--type-meta);
    line-height: 1.25;
  }

  .catalog-page:not(.channels-page) > .product-view-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    padding: 5px;
    border-radius: 16px;
  }
  .catalog-page:not(.channels-page) > .product-view-tabs .product-view-tab {
    min-width: 0;
    min-height: 74px;
    width: auto;
    padding: 8px 4px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 28px minmax(30px, auto);
    justify-items: center;
    align-content: center;
    gap: 4px;
    text-align: center;
  }
  .catalog-page:not(.channels-page) > .product-view-tabs .product-view-tab > .material-symbols-rounded {
    width: 28px;
    height: 28px;
    font-size: 16px;
  }
  .catalog-page:not(.channels-page) > .product-view-tabs .product-view-tab span:last-child {
    min-width: 0;
    display: grid;
    place-items: center;
  }
  .catalog-page:not(.channels-page) > .product-view-tabs .product-view-tab strong {
    font-size: var(--type-label);
    line-height: 1.15;
    text-align: center;
    white-space: normal;
  }

  .channel-matrix-tools { align-items: stretch; }

  .reports-page .report-metric {
    min-height: 116px;
    padding: 14px 12px;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
  }
  .reports-page .report-metric-icon {
    width: 36px;
    height: 36px;
    font-size: 18px;
  }
  .reports-page .report-metric > span:last-child {
    display: grid;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 3px;
  }
  .reports-page .report-metric strong {
    order: 1;
    font-size: 20px;
    line-height: 1.05;
  }
  .reports-page .report-metric small {
    order: 2;
    font-size: var(--type-meta);
    line-height: 1.2;
  }
  .reports-page .report-metric > span:last-child > span {
    order: 3;
    grid-column: 1;
    font-size: var(--type-meta);
    line-height: 1.35;
  }
}

/* Shared inset tab treatment: compact peer views use the same visual grammar
   as Product and Channel tabs instead of page-specific segmented controls. */
.compact-tab-track {
  padding: 5px;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #ebe7df;
}

.compact-tab-track button {
  min-height: 42px;
  padding: 7px 10px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-size: var(--type-label);
  font-weight: 700;
  line-height: 1.2;
}

.compact-tab-track button > .material-symbols-rounded {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, .58);
  color: inherit;
  font-size: 16px;
}

.compact-tab-track button.active {
  background: var(--paper);
  color: var(--teal);
  box-shadow: 0 6px 16px rgba(23, 33, 43, .10);
}

.risk-filter-group.compact-tab-track { padding: 5px; gap: 5px; border-radius: 14px; }
.risk-filter-group.compact-tab-track .risk-filter { min-height: 42px; padding-inline: 9px; border-radius: 10px; }
.mobile-task-filters.compact-tab-track { margin: 0 11px 10px; padding: 5px; }
.mobile-task-filters.compact-tab-track button { min-height: 42px; border-radius: 10px; }

@media (max-width: 760px) {
  .compact-tab-track button { padding-inline: 7px; }
}

/* Settings access rows: the select already communicates role. Keep that label
   available to assistive technology, and align the Active control to the same
   44px field height without allowing the shared input rule to stretch its box. */
.settings-role-control { align-self: end; }
.settings-active-toggle {
  height: 44px;
  min-height: 44px;
  box-sizing: border-box;
}
.settings-active-toggle input {
  width: 15px;
  height: 15px;
  min-height: 15px;
  padding: 0;
}

/* Overview risk queue: reserve enough width for Available / Threshold, then
   give the action group a dedicated row instead of squeezing it beside copy. */
.risk-row {
  grid-template-columns: minmax(250px, 1.25fr) minmax(150px, .48fr) minmax(260px, 1fr);
  row-gap: 10px;
}
.risk-numbers {
  min-width: 0;
  grid-template-columns: minmax(58px, 1fr) auto minmax(70px, 1fr);
}
.risk-numbers small { white-space: nowrap; }
.risk-next { min-width: 0; }
.risk-next strong { overflow-wrap: anywhere; }
.risk-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 2px;
}
.risk-actions .button {
  flex: 1 1 118px;
  min-width: 0;
  width: auto;
}

@media (max-width: 1180px) {
  .risk-row { grid-template-columns: minmax(220px, 1fr) minmax(150px, .48fr); }
  .risk-next { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .risk-row { grid-template-columns: 1fr; gap: 12px; }
  .risk-product,
  .risk-numbers,
  .risk-next,
  .risk-actions { grid-column: 1; }
  .risk-numbers { max-width: 190px; }
  .risk-actions { display: flex; }
  .risk-actions .button { flex: 1 1 calc(50% - 4px); }
}
