:root {
  --om-green: #009b7b;
  --om-green-dark: #007b64;
  --om-green-deep: #115149;
  --om-green-soft: #e7f6f2;
  --om-top: #173f4a;
  --om-rail: #1d4b56;
  --om-blue: #1876a5;
  --om-orange: #d96b22;
  --om-red: #b83d45;
  --ink: #25383f;
  --ink-soft: #4f646c;
  --muted: #6d7e84;
  --line: #cfd8db;
  --line-soft: #e3e9eb;
  --panel: #ffffff;
  --canvas: #e9edef;
  --field: #ffffff;
  --field-readonly: #f1f4f5;
  --shadow-sm: 0 1px 2px rgba(18, 54, 63, .08);
  --shadow-md: 0 5px 18px rgba(18, 54, 63, .16);
  --focus: 0 0 0 3px rgba(0, 155, 123, .25);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
html { overflow-x: hidden; background: var(--canvas); }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--canvas); font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.35; }
button, input, select, textarea { font: inherit; }
button, summary, [data-section], [data-section-link] { cursor: pointer; }
button, summary, input, select, textarea { touch-action: manipulation; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--om-green); outline-offset: 2px; }
button:disabled { cursor: not-allowed; opacity: .48; }
svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 999; padding: 9px 12px; color: #fff; background: #123f49; transform: translateY(-150%); transition: transform .18s ease; }
.skip-link:focus { transform: translateY(0); }
[hidden], .hidden { display: none !important; }
.mobile-copy { display: none; }
.visually-hidden-input { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }

.om-shell { min-height: 100vh; display: flex; flex-direction: column; }
.om-globalbar { height: 50px; flex: 0 0 auto; display: flex; align-items: center; gap: 12px; padding: 0 12px; color: #fff; background: linear-gradient(90deg, #173f4a 0%, #0f5960 58%, #0d6963 100%); box-shadow: 0 2px 8px rgba(13, 54, 62, .28); }
.global-icon-button { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 3px; color: #e8f5f3; background: transparent; transition: background .18s ease; }
.global-icon-button:hover { background: rgba(255,255,255,.12); }
.om-brand { min-width: 188px; display: flex; align-items: center; gap: 9px; padding-right: 16px; border-right: 1px solid rgba(255,255,255,.18); }
.om-brand__mark { width: 30px; height: 30px; display: grid; place-items: center; border: 2px solid #60d6bf; border-radius: 50%; color: #77e5ce; font-weight: 800; }
.om-brand strong, .om-brand small { display: block; }
.om-brand strong { font-size: 12px; letter-spacing: .14em; }
.om-brand small { color: #a7d5d1; font-size: 9px; letter-spacing: .05em; }
.om-module-name { min-width: 140px; }
.om-module-name span, .om-module-name strong { display: block; }
.om-module-name span { color: #9bcac8; font-size: 9px; }
.om-module-name strong { margin-top: 1px; font-size: 12px; font-weight: 600; }
.global-search { width: min(450px, 35vw); min-height: 32px; margin-inline: auto; padding: 0 8px; display: flex; align-items: center; gap: 7px; border: 1px solid rgba(255,255,255,.24); border-radius: 3px; background: rgba(255,255,255,.1); }
.global-search svg { width: 16px; color: #b5d8d5; }
.global-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: #fff; background: transparent; font-size: 12px; }
.global-search input::placeholder { color: #b9d2d2; }
.global-search kbd { padding: 2px 5px; border: 1px solid rgba(255,255,255,.22); border-radius: 2px; color: #b9d2d2; font-size: 9px; }
.global-actions { display: flex; align-items: center; gap: 5px; }
.connection-pill { min-height: 27px; padding: 0 8px; display: flex; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.14); border-radius: 2px; color: #ffe2ac; background: rgba(255, 174, 41, .12); font-size: 10px; }
.connection-pill > span { width: 7px; height: 7px; border-radius: 50%; background: #f0aa32; }
.connection-pill.online { color: #c9f8e4; background: rgba(69, 211, 160, .12); }
.connection-pill.online > span { background: #51d6a5; }
.seller-chip { min-width: 130px; display: flex; align-items: center; gap: 7px; padding-left: 8px; border-left: 1px solid rgba(255,255,255,.18); }
.avatar { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; color: #17463f; background: #72dac2; font-size: 11px; font-weight: 800; }
.seller-chip strong, .seller-chip small { display: block; }
.seller-chip strong { font-size: 11px; }
.seller-chip small { color: #a9ccca; font-size: 9px; }

.om-body { min-height: 0; flex: 1; display: grid; grid-template-columns: 218px minmax(0, 1fr); }
.om-rail { min-height: calc(100vh - 50px); padding: 9px 7px; display: flex; flex-direction: column; gap: 3px; color: #d9e9ea; background: linear-gradient(180deg, var(--om-rail), #163b45); box-shadow: 2px 0 5px rgba(15, 47, 56, .16); }
.nav-item { min-height: 43px; width: 100%; padding: 0 9px; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 8px; border: 0; border-radius: 2px; color: #cfe0e2; background: transparent; text-align: left; transition: color .18s ease, background .18s ease; }
.nav-item svg { width: 19px; }
.nav-item span { font-size: 11px; }
.nav-item kbd { color: #81a9ae; font-size: 8px; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.08); }
.nav-item.active { color: #fff; background: rgba(34, 206, 170, .16); box-shadow: inset 3px 0 0 #3ed2b3; }
.nav-item--accent { margin-top: 7px; border: 1px solid rgba(80, 218, 186, .22); color: #dcfff5; }
.rail-spacer { flex: 1; }
.rail-security { padding: 9px; display: flex; align-items: center; gap: 8px; border-top: 1px solid rgba(255,255,255,.12); color: #96b8bd; font-size: 9px; }
.rail-security svg { width: 17px; color: #61cdb6; }

.om-main { min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.workspace-tabs { height: 34px; flex: 0 0 auto; padding: 0 7px; display: flex; align-items: flex-end; gap: 2px; overflow-x: auto; border-bottom: 1px solid #bfcacc; background: #dce3e5; }
.workspace-tab { height: 29px; min-width: 124px; padding: 0 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid transparent; border-bottom: 0; border-radius: 2px 2px 0 0; color: #546a72; background: transparent; font-size: 10px; white-space: nowrap; }
.workspace-tab svg { width: 14px; }
.workspace-tab:hover { background: rgba(255,255,255,.55); }
.workspace-tab.active { color: #164f47; border-color: #bcc9cc; background: #fff; box-shadow: inset 0 2px 0 var(--om-green); font-weight: 600; }
.window-chrome { min-height: 38px; flex: 0 0 auto; padding: 0 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #c9d3d6; background: #fff; }
.window-chrome > div { display: flex; align-items: center; gap: 8px; }
.breadcrumb { color: #697b81; font-size: 10px; }
.breadcrumb strong { color: #344e56; }
.environment-tag { padding: 3px 6px; border: 1px solid #a8d3c9; border-radius: 2px; color: #116a59; background: #edf8f5; font-size: 8px; font-weight: 800; letter-spacing: .05em; }
.chrome-action { min-height: 28px; padding: 0 10px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--om-green-dark); border-radius: 2px; color: #fff; background: var(--om-green); font-size: 10px; }
.chrome-action svg { width: 14px; }
.content { min-height: 0; flex: 1; padding: 9px; overflow: auto; }
.page-section { display: none; }
.page-section.active { display: block; animation: page-enter .16s ease-out; }
@keyframes page-enter { from { opacity: .5; transform: translateY(2px); } }

.screen-header { min-height: 52px; padding: 8px 12px; display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--line); border-bottom: 0; background: #fff; }
.screen-header--compact { min-height: 46px; padding-block: 6px; }
.screen-header h1 { margin: 0; font-size: 17px; font-weight: 600; }
.screen-header p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.screen-status, .read-only-stamp { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border: 1px solid #9fd1c5; border-radius: 2px; color: #0a6655; background: #ecf8f5; font-size: 9px; font-weight: 700; letter-spacing: .03em; }
.screen-status svg { width: 14px; }
.read-only-stamp--local { color: #226381; border-color: #a9ccdd; background: #eef7fb; }

.action-toolbar { min-height: 41px; padding: 4px 6px; display: flex; align-items: center; gap: 2px; overflow-x: auto; border: 1px solid var(--line); background: linear-gradient(#fbfcfc, #eef2f3); }
.toolbar-button { min-height: 31px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid transparent; border-radius: 2px; color: #3d555d; background: transparent; font-size: 10px; white-space: nowrap; transition: background .16s ease, border-color .16s ease; }
.toolbar-button svg { width: 16px; color: #187c6b; }
.toolbar-button:hover:not(:disabled) { border-color: #bdcacc; background: #fff; }
.toolbar-button--primary { color: #fff; border-color: var(--om-green-dark); background: var(--om-green); }
.toolbar-button--primary svg { color: #fff; }
.toolbar-button--primary:hover:not(:disabled) { background: var(--om-green-dark); }
.toolbar-button--danger { color: #9b3640; }
.toolbar-button--danger svg { color: #aa3a43; }
.toolbar-button kbd { padding-left: 4px; color: currentColor; font-size: 8px; opacity: .78; }
.toolbar-separator { width: 1px; height: 25px; flex: 0 0 auto; margin: 0 4px; background: #ced8da; }
.toolbar-message { margin-left: auto; color: #728187; font-size: 9px; }
.overview-toolbar label { display: grid; gap: 1px; color: #66787f; font-size: 8px; text-transform: uppercase; }
.overview-toolbar input { height: 28px; padding: 0 6px; border: 1px solid #c8d3d6; background: #fff; font-size: 10px; }
.primary-button, .secondary-button { min-height: 32px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 2px; font-size: 10px; font-weight: 600; }
.primary-button { color: #fff; border: 1px solid var(--om-green-dark); background: var(--om-green); }
.primary-button:hover { background: var(--om-green-dark); }
.secondary-button { color: #36525a; border: 1px solid #bdc9cc; background: #fff; }
.secondary-button:hover { background: #f2f5f6; }
.primary-button svg, .secondary-button svg { width: 15px; }

.notice { min-height: 50px; margin: 8px 0; padding: 8px 11px; display: flex; align-items: center; gap: 9px; border: 1px solid #bcdcd4; border-left: 4px solid var(--om-green); background: #f3fbf9; }
.notice > svg { width: 21px; color: var(--om-green-dark); }
.notice strong { font-size: 11px; }
.notice p { margin: 2px 0 0; color: #5e7379; font-size: 10px; }
.mode-badge { margin-left: auto; padding: 3px 6px; color: #0a6a58; background: #dff3ee; font-size: 8px; font-weight: 800; }
.pilot-stats { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); background: #fff; }
.pilot-stats article { min-height: 68px; padding: 9px 12px; border-right: 1px solid var(--line-soft); }
.pilot-stats article:last-child { border-right: 0; }
.pilot-stats span, .pilot-stats small { display: block; color: #6b7d83; font-size: 9px; }
.pilot-stats strong { display: block; margin: 5px 0 2px; font-size: 18px; font-weight: 600; }
.erp-panel { margin-top: 8px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow-sm); }
.erp-panel__header, .grid-section > header, .central-panel > header { min-height: 34px; padding: 6px 9px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: linear-gradient(#f7f9fa, #e9eef0); }
.erp-panel__header strong, .erp-panel__header span { display: block; }
.erp-panel__header strong, .grid-section > header strong, .central-panel > header strong { font-size: 11px; font-weight: 600; }
.erp-panel__header span, .grid-section > header span, .central-panel > header span { color: #75858a; font-size: 9px; }
.link-button { border: 0; color: #0a775f; background: transparent; font-size: 9px; font-weight: 700; }
.kpi-grid { padding: 7px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.kpi-card { min-height: 91px; padding: 10px; border: 1px solid #d9e1e3; background: #fff; }
.kpi-top { display: flex; align-items: center; justify-content: space-between; color: #586d74; font-size: 9px; }
.kpi-top i { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 2px; color: #0b765f; background: #e7f5f1; font-style: normal; }
.kpi-card > strong { display: block; margin: 11px 0 3px; font-size: 20px; font-weight: 600; }
.kpi-card small { color: #75858a; font-size: 8px; }
.skeleton { border-color: #edf1f2; background: linear-gradient(90deg, #fff 20%, #eef2f3 40%, #fff 60%); background-size: 300% 100%; animation: shimmer 1.2s infinite; }
@keyframes shimmer { to { background-position: -150% 0; } }
.dashboard-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 8px; }
.focus-list { padding: 2px 10px 7px; }
.focus-item { min-height: 53px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line-soft); }
.focus-item:last-child { border-bottom: 0; }
.focus-item > span { width: 28px; height: 28px; display: grid; place-items: center; color: #0a745e; background: #e7f5f1; font-size: 9px; font-weight: 700; }
.focus-item strong { font-size: 10px; }
.focus-item p { margin: 2px 0 0; color: #6f7f84; font-size: 9px; }
.compact-table { padding: 1px 9px 6px; }
.compact-row { min-height: 49px; display: grid; grid-template-columns: 29px 1fr auto; align-items: center; gap: 8px; border-bottom: 1px solid var(--line-soft); }
.compact-row:last-child { border-bottom: 0; }
.doc-icon { width: 27px; height: 27px; display: grid; place-items: center; color: #0b715d; background: #e5f4f0; font-size: 9px; font-weight: 700; }
.compact-row strong, .compact-row small { display: block; }
.compact-row strong { font-size: 10px; }
.compact-row small { margin-top: 1px; color: #78878c; font-size: 8px; }
.compact-row > b { font-size: 10px; }

.module-screen { min-height: calc(100vh - 140px); display: grid; grid-template-columns: 278px minmax(0, 1fr); gap: 6px; }
.filter-panel { min-width: 0; display: flex; flex-direction: column; border: 1px solid #becacd; background: #f5f7f8; box-shadow: var(--shadow-sm); }
.filter-panel__title { min-height: 38px; padding: 0 8px 0 10px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: #31606a; }
.filter-panel__title > div { display: flex; align-items: center; gap: 7px; }
.filter-panel__title svg { width: 16px; }
.filter-panel__title strong { font-size: 11px; }
.filter-panel__title button { width: 30px; height: 30px; display: grid; place-items: center; border: 0; color: #d7e9e9; background: transparent; }
.filter-panel__title button svg { transition: transform .18s ease; }
.filter-section { padding: 10px; border-bottom: 1px solid #d6dfe1; }
.filter-section--primary { background: #e9f0f2; }
.filter-panel label, .central-fields label, .tracking-fields label, .items-toolbar label { display: grid; gap: 4px; color: #52676e; font-size: 9px; font-weight: 600; }
input, select, textarea { color: #2f444c; border: 1px solid #bfcdd0; border-radius: 1px; background: var(--field); }
input, select { height: 31px; padding: 0 7px; }
textarea { padding: 6px 7px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--om-green); box-shadow: var(--focus); outline: 0; }
input[readonly] { color: #5c6c72; background: var(--field-readonly); }
.filter-accordion { border-bottom: 1px solid #d2dcde; }
.filter-accordion summary { min-height: 36px; padding: 0 10px; display: flex; align-items: center; justify-content: space-between; color: #3e5961; background: #eef2f3; font-size: 10px; font-weight: 700; list-style: none; }
.filter-accordion summary::-webkit-details-marker { display: none; }
.filter-accordion summary::after { content: "›"; transform: rotate(90deg); transition: transform .16s ease; }
.filter-accordion:not([open]) summary::after { transform: rotate(0deg); }
.filter-accordion summary span { min-width: 18px; padding: 1px 5px; border-radius: 999px; color: #fff; background: #789096; text-align: center; font-size: 8px; }
.filter-accordion__body { padding: 9px 10px 10px; display: grid; gap: 8px; background: #fff; }
.filter-builder { width: 100%; }
.check-row { min-height: 27px; display: flex !important; grid-template-columns: 17px 1fr; align-items: center; gap: 7px !important; font-weight: 400 !important; }
.check-row input { width: 15px; height: 15px; margin: 0; accent-color: var(--om-green); }
.check-grid { gap: 3px; }
.filter-actions { margin-top: auto; padding: 9px; display: grid; grid-template-columns: 1fr 1.2fr; gap: 6px; border-top: 1px solid #c9d4d6; background: #e8edef; }
.module-screen.filters-collapsed { grid-template-columns: 39px minmax(0, 1fr); }
.module-screen.filters-collapsed .filter-panel > :not(.filter-panel__title) { display: none; }
.module-screen.filters-collapsed .filter-panel__title { height: 100%; padding: 4px; align-items: flex-start; }
.module-screen.filters-collapsed .filter-panel__title > div { display: none; }
.module-screen.filters-collapsed .filter-panel__title button svg { transform: rotate(180deg); }
.module-workspace { min-width: 0; display: flex; flex-direction: column; }
.portal-screen .module-workspace { display: grid; grid-template-rows: auto auto minmax(270px, 1fr) minmax(170px, .62fr); }
.product-screen .module-workspace { min-height: calc(100vh - 140px); }
.portal-actions { border-top: 0; }

.grid-section { min-width: 0; min-height: 0; display: flex; flex-direction: column; border: 1px solid var(--line); border-top: 0; background: #fff; }
.grid-section--items { border-top: 5px solid #d9e1e3; }
.grid-section--items > header > div { display: flex; align-items: center; gap: 8px; }
.mobile-back-button { display: none; }
.grid-section--items > header, .grid-section--documents > header { min-height: 31px; padding-block: 4px; }
.grid-section--full { flex: 1; }
.mini-toolbar { min-height: 32px; padding: 2px 5px; display: flex; align-items: center; gap: 2px; border-bottom: 1px solid var(--line); background: #f5f7f8; }
.data-table, .product-results { min-height: 0; flex: 1; overflow: auto; }
.table-scroll { min-width: 100%; overflow: auto; }
table { width: 100%; border-collapse: collapse; }
.data-table table { min-width: 760px; }
th { position: sticky; top: 0; z-index: 1; height: 31px; padding: 5px 8px; border-right: 1px solid #cbd5d8; border-bottom: 1px solid #b8c5c8; color: #40565e; background: linear-gradient(#f8fafb, #e2e8ea); font-size: 9px; font-weight: 700; text-align: left; text-transform: none; white-space: nowrap; }
td { height: 37px; padding: 5px 8px; border-right: 1px solid #dde4e6; border-bottom: 1px solid #e3e8ea; color: #41555d; font-size: 10px; white-space: nowrap; }
tbody tr:nth-child(even) { background: #fafbfb; }
tbody tr:hover { background: #eef8f5; }
tbody tr.selected { color: #0b5f50; background: #dff2ed; box-shadow: inset 3px 0 0 var(--om-green); }
td strong, td small { display: block; }
td small { margin-top: 1px; color: #7b8a8f; font-size: 8px; }
.align-right { text-align: right; }
.row-selector { width: 28px; padding-inline: 5px !important; text-align: center; }
.row-selector input { width: 14px; height: 14px; accent-color: var(--om-green); }
.soft-badge { display: inline-block; padding: 2px 5px; border: 1px solid #b8d5dd; color: #28657a; background: #edf6f8; font-size: 8px; font-weight: 700; }
.status-dot { width: 7px; height: 7px; display: inline-block; margin-right: 5px; border-radius: 50%; background: #23a074; }
.grid-status { min-height: 26px; padding: 0 8px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #d7e0e2; color: #687b81; background: #eef2f3; font-size: 8px; }
.grid-empty, .empty-state { min-height: 150px; display: grid; place-content: center; justify-items: center; gap: 5px; color: #78898f; text-align: center; }
.grid-empty svg { width: 28px; height: 28px; color: #7d9ca2; }
.grid-empty strong, .empty-state strong { color: #4b626a; font-size: 11px; }
.grid-empty span, .empty-state span { font-size: 9px; }
.empty-state.large { min-height: 250px; }
.loading-line { min-height: 110px; display: grid; place-items: center; color: #687b81; font-size: 10px; }

.sub-tabs { min-height: 33px; padding: 0 6px; display: flex; align-items: flex-end; gap: 1px; overflow-x: auto; border: 1px solid var(--line); border-top: 0; background: #e9edef; }
.sub-tabs button { height: 28px; padding: 0 12px; border: 1px solid transparent; border-bottom: 0; color: #536970; background: transparent; font-size: 10px; }
.sub-tabs button.active { color: #0f6656; border-color: #bcc9cc; background: #fff; box-shadow: inset 0 2px 0 var(--om-green); font-weight: 700; }
.product-grid-head, .product-row { min-width: 780px; display: grid; grid-template-columns: 30px 78px minmax(280px, 1fr) 130px 110px 105px; }
.product-grid-head { position: sticky; top: 0; z-index: 2; min-height: 31px; border-bottom: 1px solid #b9c6c9; color: #40565e; background: linear-gradient(#f8fafb, #e2e8ea); font-size: 9px; font-weight: 700; }
.product-grid-head > span, .product-row > * { min-width: 0; padding: 6px 8px; display: flex; align-items: center; border-right: 1px solid #dbe3e5; }
.product-row { min-height: 43px; border-bottom: 1px solid #e1e7e9; color: #40545c; background: #fff; font-size: 10px; }
.product-row:nth-child(odd) { background: #fafbfb; }
.product-row:hover, .product-row.selected { background: #e5f4f0; }
.product-row.selected { box-shadow: inset 3px 0 0 var(--om-green); }
.product-main strong, .product-main span, .product-source strong, .product-source span { display: block; }
.product-main strong { font-size: 10px; }
.product-main span, .product-source span { margin-top: 1px; color: #75868b; font-size: 8px; }
.product-source strong { color: #126c59; font-size: 10px; }

.pipeline-panel { margin-top: 7px; }
.pipeline-board { min-height: 420px; padding: 8px; display: grid; grid-template-columns: repeat(4, minmax(220px, 1fr)); gap: 7px; overflow-x: auto; background: #edf1f2; }
.pipeline-column { min-height: 290px; padding: 6px; border: 1px solid #cfd9db; background: #e3e9eb; }
.pipeline-column > header { min-height: 29px; padding: 0 4px 5px; display: flex; align-items: center; justify-content: space-between; color: #536970; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.pipeline-column > header b { min-width: 20px; padding: 2px 5px; color: #fff; background: #6a858b; text-align: center; }
.pipeline-card { margin-bottom: 6px; padding: 9px; border: 1px solid #ccd7d9; background: #fff; box-shadow: var(--shadow-sm); }
.pipeline-card:hover { border-color: #80bcae; }
.pipeline-card-top { display: flex; justify-content: space-between; color: #6f8187; font-size: 8px; }
.pipeline-card-top strong { color: #28444c; font-size: 10px; }
.pipeline-card h4 { margin: 8px 0 3px; font-size: 10px; }
.pipeline-card p { min-height: 24px; margin: 0 0 8px; color: #74858b; font-size: 8px; }
.pipeline-card select { width: 100%; height: 28px; padding: 0 5px; font-size: 9px; }
.pipeline-empty { padding: 25px 5px; color: #7d8d92; font-size: 9px; text-align: center; }

#quote-section { margin: -9px; }
.central-app { min-height: calc(100vh - 131px); color: #36464b; border: 1px solid #bfc7ca; background: #eef0f1; }
.central-titlebar { min-height: 47px; padding: 6px 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #c7ced0; background: #fff; }
.central-titlebar span, .central-titlebar h1 { display: block; margin: 0; }
.central-titlebar > div:first-child > span { color: #79878b; font-size: 9px; }
.central-titlebar h1 { margin-top: 2px; color: #30454c; font-size: 14px; font-weight: 600; }
.central-document-state { display: grid; grid-template-columns: 8px auto; column-gap: 7px; align-items: center; text-align: right; }
.central-document-state i { width: 8px; height: 8px; grid-row: 1 / 3; border-radius: 50%; background: #e7a93c; box-shadow: 0 0 0 3px #fff4dc; }
.central-document-state span { color: #4d6269; font-size: 9px; }
.central-document-state strong { color: #a26416; font-size: 8px; letter-spacing: .04em; text-transform: uppercase; }
.central-actions { min-height: 42px; padding: 3px 5px; gap: 1px; border: 0; border-bottom: 1px solid #bec7c9; background: linear-gradient(#fafbfb, #e8ebec); }
.central-action { min-width: 54px; height: 35px; padding: 2px 7px; flex-direction: column; justify-content: center; gap: 1px; border-color: transparent; background: transparent; font-size: 8px; }
.central-action svg { width: 16px; height: 16px; }
.central-action:hover:not(:disabled) { border-color: #aab7ba; background: #fff; }
.central-action:active:not(:disabled), .item-icon-button:active:not(:disabled), .central-mobile-steps button:active { background: #dce9e6; }
.is-saving { cursor: wait; }
.central-action--include svg { padding: 2px; color: #fff; background: #26a964; }
.central-action--save svg { color: #27688a; }
.central-action--clear { margin-left: auto; color: #8c4247; }
.central-mobile-steps { display: none; }
.central-workbench { padding: 4px; display: grid; grid-template-columns: minmax(315px, .78fr) minmax(520px, 1.42fr); gap: 4px; align-items: stretch; }
.central-panel { min-width: 0; margin: 0; display: flex; flex-direction: column; border: 1px solid #c4ccce; background: #fff; }
.central-panel > header { min-height: 29px; padding: 4px 7px; border-bottom-color: #c5cdcf; background: linear-gradient(#f5f6f6, #e4e8e9); }
.central-panel > header strong { color: #3e5056; font-size: 10px; }
.central-panel > header span { color: #7c898d; font-size: 8px; }
.central-header, .central-items { min-height: 430px; }
.central-fields { padding: 8px 7px; display: grid; gap: 4px; }
.central-fields label { min-width: 0; min-height: 26px; display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 7px; color: #54676d; font-size: 9px; font-weight: 400; }
.central-fields label > span { text-align: right; }
.central-fields label > span b { color: #ce4049; }
.central-fields input { width: 100%; height: 25px; padding: 0 6px; border: 1px solid #cdd4d6; border-radius: 0; color: #344a51; background: #fff; font-size: 10px; }
.central-fields input[readonly] { background: #fafbfb; }
.partner-field { grid-column: auto; }
.partner-field > div { min-width: 0; }
.inline-lookup { display: grid; grid-template-columns: minmax(0, 1fr) 29px; }
.inline-lookup input { border-radius: 0; }
.lookup-button { min-width: 29px; display: grid; place-items: center; border: 1px solid #9eaeb2; border-left: 0; border-radius: 0; color: #536d74; background: linear-gradient(#fff, #e9eded); }
.lookup-button:hover { color: #fff; background: var(--om-green); }
.lookup-button svg { width: 14px; }
.selected-partner { min-height: 27px; padding: 3px 6px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #8fc5b8; background: #eff8f6; }
.selected-partner span { display: none; }
.selected-partner strong, .selected-partner small { display: block; }
.selected-partner strong { font-size: 9px; }
.selected-partner small { margin-top: 1px; color: #657b75; font-size: 7px; }
.selected-partner button { min-height: 24px; border: 0; color: #0e725d; background: transparent; font-size: 8px; font-weight: 700; }
.selection-results { max-height: 230px; overflow: auto; }
.selection-results--overlay { margin: 0 7px 7px; border: 1px solid #d1dcde; }
.selection-row { width: 100%; min-height: 44px; padding: 6px 8px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 7px; border: 0; border-bottom: 1px solid #e0e7e8; color: #344d55; background: #fff; text-align: left; }
.selection-row:hover { background: #edf8f5; }
.selection-row strong, .selection-row small { display: block; }
.selection-row strong { font-size: 10px; }
.selection-row small { margin-top: 1px; color: #73858a; font-size: 8px; }
.selection-row > b, .selection-row > button { border: 0; color: #0c725d; background: transparent; font-size: 9px; font-weight: 700; }
.source-symbol, .product-mini-code { min-height: 27px; display: grid; place-items: center; color: #126d5b; background: #e3f4ef; font-size: 8px; font-weight: 800; }
.product-option { grid-template-columns: 58px 1fr 105px 74px; }
.product-option-price { text-align: right; }
.product-option-price strong, .product-option-price small { display: block; }
.product-option-price strong { font-size: 9px; }
.product-option-price small { color: #74868b; font-size: 8px; }
.product-option > button { min-height: 28px; border: 0; color: #fff; background: var(--om-green); }
.selection-empty { padding: 15px; color: #73858b; font-size: 9px; text-align: center; }
.selection-empty button { border: 0; color: #0b735e; background: transparent; font: inherit; font-weight: 700; }
.central-panel-status { min-height: 25px; margin-top: auto; padding: 0 7px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid #d4dbdd; color: #768589; background: #f1f3f3; font-size: 8px; }
.central-panel-status strong { color: #39715f; font-weight: 600; }
.items-toolbar { min-height: 41px; padding: 4px 5px; display: flex; align-items: center; gap: 6px; border-bottom: 1px solid #cdd5d7; background: #f7f8f8; }
.items-toolbar__actions { display: flex; gap: 2px; }
.item-icon-button { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid #c2cbcd; color: #536970; background: linear-gradient(#fff, #e9eded); }
.item-icon-button:first-child { color: #fff; border-color: #188d55; background: #26a964; }
.item-icon-button svg { width: 15px; height: 15px; }
.item-search { width: min(390px, 100%); min-width: 220px; margin-left: auto; display: grid; grid-template-columns: minmax(0, 1fr) 30px; }
.item-search label { min-width: 0; display: block; }
.item-search label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.item-search input { width: 100%; height: 30px; border-radius: 0; font-size: 10px; }
.quote-items { min-height: 180px; flex: 1; overflow: auto; }
.quote-item-head, .quote-item { min-width: 690px; display: grid; grid-template-columns: minmax(230px, 1fr) 68px 90px 82px 100px 30px; gap: 5px; align-items: center; padding: 0 7px; }
.quote-item-head { position: sticky; top: 0; z-index: 2; min-height: 29px; color: #41575e; background: linear-gradient(#f8fafb, #e2e8ea); border-bottom: 1px solid #bdc9cc; font-size: 8px; font-weight: 700; }
.quote-item { min-height: 52px; border-bottom: 1px solid #e0e6e8; }
.quote-item input { width: 100%; height: 28px; padding-inline: 5px; font-size: 9px; }
.quote-item-field > span, .quote-item-value > span, .discount-field > b { display: none; }
.quote-item-field { display: block; }
.quote-item-value { text-align: right; }
.quote-item-value strong { font-size: 9px; }
.quote-item-product strong, .quote-item-product span, .quote-item-product small, .quote-item-product em { display: block; }
.quote-item-product strong { font-size: 10px; }
.quote-item-product span { color: #74858a; font-size: 8px; }
.quote-item-product small { margin-top: 2px; color: #276b5d; font-size: 8px; font-weight: 700; }
.quote-item-product em { color: #aa5a25; font-size: 8px; font-style: normal; }
.discount-field span { display: block; color: #74858a; font-size: 7px; }
.remove-item { width: 26px; height: 26px; border: 1px solid #e3bcc0; color: #a43b43; background: #fff2f3; }
.central-items-status { margin-top: 0; }
.central-footer { grid-column: 1 / -1; min-height: 185px; }
.central-footer .sub-tabs { min-height: 31px; border: 0; border-bottom: 1px solid var(--line); }
.central-footer .sub-tabs button { height: 27px; }
.central-footer__content { min-height: 92px; display: block; background: #fff; }
.footer-tab-panel { display: none; min-height: 92px; }
.footer-tab-panel.active { display: block; }
.tracking-fields { padding: 8px; display: grid; grid-template-columns: 220px 1fr; gap: 8px; }
.tracking-fields label, .footer-data-grid label { display: grid; gap: 3px; color: #52676e; font-size: 9px; font-weight: 600; }
.footer-data-grid { min-height: 92px; padding: 8px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 8px; }
.footer-data-grid input { width: 100%; }
.totals-grid { min-height: 92px; display: grid; grid-template-columns: 1.2fr .8fr .8fr 1fr; }
.totals-grid > div { min-width: 0; padding: 10px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line-soft); }
.totals-grid span { color: #6a7d83; font-size: 8px; text-transform: uppercase; }
.totals-grid strong { margin-top: 5px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.totals-grid .grand-total { color: #fff; background: #246d5d; }
.totals-grid .grand-total span { color: #c7e8df; }
.totals-grid .grand-total strong { font-size: 18px; }
.central-footer > footer { min-height: 42px; padding: 4px 7px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); background: #eef2f3; }
.central-footer > footer > span { display: flex; align-items: center; gap: 6px; color: #6d7f84; font-size: 9px; }
.central-footer > footer > span i { width: 7px; height: 7px; border-radius: 50%; background: #e3a039; }

.detail-drawer { position: fixed; inset: 0 0 0 auto; z-index: 60; width: min(420px, 94vw); display: flex; flex-direction: column; color: var(--ink); background: #fff; box-shadow: -10px 0 30px rgba(15, 48, 57, .25); transform: translateX(103%); transition: transform .2s ease; }
.detail-drawer.visible { transform: translateX(0); }
.detail-drawer > header, .modal-card > header { min-height: 56px; padding: 9px 12px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: var(--om-top); }
.detail-drawer > header span, .detail-drawer > header h2, .modal-card > header span, .modal-card > header h2 { display: block; margin: 0; }
.detail-drawer > header span, .modal-card > header span { color: #a9cecc; font-size: 9px; }
.detail-drawer > header h2, .modal-card > header h2 { margin-top: 2px; font-size: 15px; }
.detail-drawer > header button, .modal-close { width: 32px; height: 32px; display: grid; place-items: center; border: 0; color: #fff; background: rgba(255,255,255,.1); }
.detail-drawer__body { flex: 1; padding: 13px; }
.drawer-status { min-height: 36px; padding: 0 9px; display: flex; align-items: center; gap: 7px; border: 1px solid #b9dcd4; color: #0f6c58; background: #edf8f5; }
.drawer-status > span { width: 7px; height: 7px; border-radius: 50%; background: #2dac80; }
.detail-drawer dl { margin: 12px 0; border: 1px solid var(--line); }
.detail-drawer dl > div { min-height: 51px; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.detail-drawer dl > div:last-child { border-bottom: 0; }
.detail-drawer dt { color: #6e7f84; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.detail-drawer dd { margin: 4px 0 0; font-size: 11px; font-weight: 600; }
.drawer-note { padding: 10px; display: flex; gap: 8px; border-left: 3px solid var(--om-green); background: #f0f8f6; }
.drawer-note svg { flex: 0 0 auto; color: var(--om-green-dark); }
.drawer-note strong { font-size: 10px; }
.drawer-note p { margin: 3px 0 0; color: #63767c; font-size: 9px; }
.detail-drawer > footer { padding: 8px 10px; display: flex; justify-content: flex-end; gap: 6px; border-top: 1px solid var(--line); background: #eef2f3; }
.drawer-backdrop { position: fixed; inset: 0; z-index: 59; display: none; background: rgba(12, 36, 43, .34); }
.drawer-backdrop.visible { display: block; }
.modal { position: fixed; inset: 0; z-index: 70; display: none; place-items: center; padding: 16px; background: rgba(11, 36, 43, .48); }
.modal.visible { display: grid; }
body.partner-modal-open { overflow: hidden; }
.modal-card { width: min(500px, 96vw); border: 1px solid #9baeb2; background: #fff; box-shadow: var(--shadow-md); }
.modal-card > p { margin: 12px 14px 0; color: #66787f; font-size: 10px; }
.partner-modal-card { width: min(720px, 96vw); max-height: calc(100dvh - 32px); display: flex; flex-direction: column; overflow: hidden; border-radius: 5px; }
.partner-modal-intro { margin: 12px 16px 0; padding: 10px 12px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid #bcdcd4; border-left: 4px solid var(--om-green); border-radius: 3px; background: #f3fbf9; }
.partner-modal-intro > svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--om-green-dark); }
.partner-modal-intro strong { display: block; font-size: 13px; }
.partner-modal-intro p { margin: 2px 0 0; color: #526c72; font-size: 12px; line-height: 1.45; }
.local-partner-form { min-height: 0; padding: 12px 16px 0; display: grid; gap: 12px; overflow-y: auto; }
.partner-person-type { min-width: 0; margin: 0; padding: 0; display: flex; align-items: center; gap: 6px; border: 0; }
.partner-person-type legend { margin: 0 10px 0 0; float: left; color: #40575e; font-size: 12px; font-weight: 700; }
.partner-person-type label { position: relative; min-height: 40px; display: inline-flex; align-items: center; }
.partner-person-type input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.partner-person-type span { min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; border: 1px solid #b8c7ca; border-radius: 4px; color: #40565d; background: #fff; font-size: 13px; font-weight: 600; cursor: pointer; transition: border-color .18s ease, color .18s ease, background .18s ease, box-shadow .18s ease; }
.partner-person-type input:checked + span { color: #075f4f; border-color: #58aa98; background: #e9f7f3; box-shadow: inset 0 0 0 1px #58aa98; }
.partner-person-type input:focus-visible + span { outline: 2px solid var(--om-green); outline-offset: 2px; }
.partner-form-section { border: 1px solid #d6dfe1; border-radius: 4px; background: #fbfcfc; }
.partner-form-section__title { min-height: 45px; padding: 7px 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #dfe6e8; background: #f1f5f6; }
.partner-form-section__title strong { font-size: 13px; }
.partner-form-section__title span { color: #6c7d82; font-size: 11px; text-align: right; }
.partner-form-grid { padding: 11px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 120px; gap: 9px; }
.partner-form-grid--identity { grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); }
.partner-form-field { min-width: 0; display: grid; align-content: start; gap: 4px; color: #41575e; font-size: 12px; font-weight: 700; }
.partner-form-field > span { min-height: 18px; display: flex; align-items: baseline; gap: 4px; }
.partner-form-field > span b, .partner-required-note b { color: var(--om-red); }
.partner-form-field > span em { color: #728388; font-size: 10px; font-style: normal; font-weight: 500; }
.partner-form-field input, .partner-form-field select { width: 100%; height: 44px; padding-inline: 10px; border-radius: 4px; background: #fff; font-size: 14px; font-weight: 500; }
.partner-tax-input-row { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.partner-tax-input-row > button { min-width: 108px; min-height: 44px; padding-inline: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #178c76; border-radius: 4px; color: #08715e; background: #edf8f5; font-size: 12px; font-weight: 800; }
.partner-tax-input-row > button:hover:not(:disabled), .partner-tax-input-row > button:focus-visible { color: #fff; background: #0f876f; outline: 3px solid rgba(15, 135, 111, .18); outline-offset: 1px; }
.partner-tax-input-row > button:disabled { cursor: wait; opacity: .7; }
.partner-tax-input-row > button svg { width: 17px; height: 17px; }
.partner-cadastrador-status { min-height: 28px; padding: 5px 7px; display: flex; align-items: center; gap: 6px; border: 1px solid #cbd9db; border-radius: 3px; color: #5e747a; background: #f4f7f7; font-size: 10px; line-height: 1.35; }
.partner-cadastrador-status svg { width: 15px; height: 15px; flex: 0 0 auto; }
.partner-cadastrador-status[data-tone="success"] { border-color: #9bcfc2; color: #086652; background: #edf8f5; }
.partner-cadastrador-status[data-tone="warning"] { border-color: #e6c78f; color: #85571b; background: #fff8e9; }
.partner-cadastrador-status[data-tone="error"] { border-color: #ddaeb2; color: #8e2d35; background: #fff5f5; }
.partner-cadastrador-status[data-tone="loading"] { border-color: #98c4cc; color: #245e69; background: #eef7f8; }
.partner-form-field input[aria-invalid="true"], .partner-form-field select[aria-invalid="true"] { border-color: var(--om-red); box-shadow: 0 0 0 2px rgba(184, 61, 69, .12); }
.partner-form-field small { min-height: 15px; color: #718187; font-size: 10px; font-weight: 500; line-height: 1.35; }
.partner-field-error:not(:empty) { color: #9d2f38; }
.partner-form-field--trade { grid-column: 1 / -1; }
.partner-form-field--city { grid-column: auto; }
.partner-form-field--state { width: 120px; }
.partner-form-field--zip { width: 150px; }
.partner-form-field--origin { grid-column: 1 / 3; }
.partner-form-errors { padding: 9px 11px; border: 1px solid #ddaeb2; border-left: 4px solid var(--om-red); border-radius: 3px; color: #7d252d; background: #fff5f5; }
.partner-form-errors > strong { display: block; font-size: 12px; }
.partner-form-errors div { margin-top: 3px; display: flex; flex-wrap: wrap; gap: 4px 12px; }
.partner-form-errors button { padding: 0; border: 0; color: #8e2d35; background: transparent; font-size: 11px; text-decoration: underline; }
.partner-required-note { margin: -2px 0 0; color: #6f8085; font-size: 10px; }
.local-partner-form > footer { position: sticky; bottom: 0; z-index: 2; margin: 0 -16px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); background: #eef2f3; box-shadow: 0 -4px 10px rgba(18, 54, 63, .06); }
.local-partner-form > footer > span { color: #60747a; font-size: 11px; }
.local-partner-form > footer > div { display: flex; gap: 7px; }
.local-partner-form > footer .primary-button, .local-partner-form > footer .secondary-button { min-height: 42px; padding-inline: 16px; font-size: 12px; }

@media (max-width: 760px) {
  .partner-modal .modal-close { width: 44px; height: 44px; }
  .partner-form-section[aria-labelledby="partner-contact-title"] .partner-form-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .partner-form-field--city { grid-column: 1 / -1; }
  .partner-form-field--state, .partner-form-field--zip { width: auto; }
  .partner-form-field--origin { grid-column: 1 / -1; }
}
.shortcuts-card { width: min(430px, 96vw); }
.shortcut-list { padding: 8px 14px 14px; }
.shortcut-list > div { min-height: 40px; display: grid; grid-template-columns: 90px 1fr; align-items: center; border-bottom: 1px solid var(--line-soft); }
.shortcut-list kbd { justify-self: start; padding: 3px 6px; border: 1px solid #bbc8cb; border-radius: 2px; color: #38525a; background: #f5f7f8; font-size: 9px; box-shadow: 0 1px 0 #aebdc0; }
.shortcut-list span { font-size: 10px; }
.toast { position: fixed; right: 14px; bottom: 14px; z-index: 90; max-width: 380px; padding: 10px 13px; color: #fff; background: #244c57; box-shadow: var(--shadow-md); font-size: 10px; transform: translateY(15px); opacity: 0; pointer-events: none; transition: transform .18s ease, opacity .18s ease; }
.toast.visible { transform: translateY(0); opacity: 1; }
.toast[data-type="error"] { background: #983740; }
.toast[data-type="success"] { background: #147259; }

@media (max-width: 1180px) {
  .om-body { grid-template-columns: 64px minmax(0, 1fr); }
  .om-rail { padding-inline: 5px; }
  .nav-item { grid-template-columns: 1fr; justify-items: center; padding: 0; }
  .nav-item span, .nav-item kbd, .rail-security span { display: none; }
  .rail-security { justify-content: center; }
  .global-search { width: min(350px, 32vw); }
  .central-fields { grid-template-columns: 110px 1fr 1fr 1fr; }
  .partner-field { grid-column: 1 / -1; }
  .central-footer__content { grid-template-columns: 1fr; }
  .tracking-fields { border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 820px) {
  body { overscroll-behavior-y: contain; font-size: 16px; }
  .om-shell { min-height: 100dvh; }
  .om-globalbar { position: sticky; top: 0; z-index: 44; height: 56px; padding-inline: 10px; }
  .om-globalbar > .global-icon-button:first-child { display: none; }
  .om-brand { min-width: 0; padding-right: 8px; border-right: 0; }
  .om-brand > div { display: block; }
  .om-brand strong { font-size: 11px; }
  .om-brand small, .om-module-name, .global-search, .connection-pill, .seller-chip > div { display: none; }
  .global-actions .global-icon-button { display: none; }
  .global-actions #logout-button { display: grid; }
  .global-actions { margin-left: auto; }
  .seller-chip { min-width: auto; padding-left: 0; border-left: 0; }
  .avatar { width: 36px; height: 36px; font-size: 13px; }
  .om-body { display: block; }
  .om-rail { position: fixed; inset: auto 0 0; z-index: 45; min-height: calc(72px + env(safe-area-inset-bottom)); height: calc(72px + env(safe-area-inset-bottom)); padding: 5px 4px calc(5px + env(safe-area-inset-bottom)); flex-direction: row; gap: 2px; }
  .nav-item { min-width: 0; min-height: 62px; flex: 1; grid-template-columns: 1fr; grid-template-rows: 27px 17px; justify-items: center; align-content: center; gap: 2px; padding: 4px 1px; text-align: center; }
  .nav-item svg { width: 22px; height: 22px; }
  .nav-item span { display: block; max-width: 100%; overflow: hidden; font-size: 0; white-space: nowrap; }
  .nav-item span::after { content: attr(data-mobile-label); font-size: 10px; font-weight: 600; }
  .nav-item kbd { display: none; }
  .nav-item.active { box-shadow: inset 0 3px 0 #3ed2b3; }
  .nav-item--accent { margin-top: 0; }
  .rail-spacer, .rail-security { display: none; }
  .workspace-tabs { display: none; }
  .window-chrome { position: sticky; top: 56px; z-index: 40; min-height: 49px; padding: 0 10px; box-shadow: 0 2px 6px rgba(18,54,63,.08); }
  .window-chrome > div { min-width: 0; }
  .breadcrumb { font-size: 12px; }
  .environment-tag { display: none; }
  .chrome-action { min-width: 44px; min-height: 44px; font-size: 12px; }
  .content { padding: 8px 8px calc(88px + env(safe-area-inset-bottom)); overflow: visible; }
  .screen-header { min-height: 66px; padding: 10px 12px; }
  .screen-header h1 { font-size: 20px; line-height: 1.2; }
  .screen-header p { margin-top: 4px; font-size: 13px; line-height: 1.4; }
  .screen-status, .read-only-stamp { flex: 0 0 auto; min-height: 32px; padding-inline: 8px; font-size: 10px; }
  .action-toolbar { min-height: 56px; gap: 8px; padding: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }
  .action-toolbar::-webkit-scrollbar, .sub-tabs::-webkit-scrollbar { display: none; }
  .action-toolbar .toolbar-button:disabled { display: none; }
  .toolbar-button { min-height: 44px; padding-inline: 12px; font-size: 13px; scroll-snap-align: start; }
  .toolbar-button kbd, .toolbar-separator, .toolbar-message { display: none; }
  .overview-toolbar { flex-wrap: wrap; overflow: visible; }
  .overview-toolbar label { min-width: calc(50% - 4px); flex: 1; font-size: 12px; }
  .overview-toolbar input { width: 100%; height: 44px; font-size: 16px; }
  .notice { align-items: flex-start; padding: 12px; }
  .notice strong { font-size: 14px; }
  .notice p { font-size: 13px; line-height: 1.45; }
  .mode-badge { font-size: 9px; }
  .module-screen { display: block; min-height: auto; }
  .filter-panel { margin-bottom: 6px; }
  .filter-panel__title { min-height: 48px; padding-inline: 12px 8px; }
  .filter-panel__title strong { font-size: 14px; }
  .filter-panel__title button { width: 44px; height: 44px; }
  .filter-panel label, .central-fields label, .tracking-fields label, .items-toolbar label { gap: 6px; font-size: 13px; }
  .filter-accordion summary { min-height: 48px; padding-inline: 12px; font-size: 13px; }
  .filter-accordion__body, .filter-section { padding: 12px; gap: 12px; }
  .check-row { min-height: 44px; }
  .check-row input, .row-selector input { width: 20px; height: 20px; }
  .filter-actions { padding: 10px; gap: 8px; }
  .module-screen.filters-collapsed { display: block; }
  .module-screen.filters-collapsed .filter-panel__title { height: 48px; align-items: center; }
  .module-screen.filters-collapsed .filter-panel__title > div { display: flex; }
  .portal-screen .module-workspace { display: flex; }
  .pilot-stats, .kpi-grid, .dashboard-grid { grid-template-columns: 1fr 1fr; }
  .pilot-stats article { min-height: 90px; padding: 13px; }
  .pilot-stats span, .pilot-stats small { font-size: 12px; }
  .pilot-stats strong { font-size: 22px; }
  .kpi-card { min-height: 112px; padding: 13px; }
  .kpi-top { font-size: 12px; }
  .kpi-card > strong { font-size: 23px; }
  .kpi-card small { font-size: 11px; }
  .erp-panel__header, .grid-section > header, .central-panel > header { min-height: 44px; padding: 8px 10px; }
  .erp-panel__header strong, .grid-section > header strong, .central-panel > header strong { font-size: 14px; }
  .erp-panel__header span, .grid-section > header span, .central-panel > header span { font-size: 11px; }
  .central-fields { grid-template-columns: 1fr 1fr; }
  .partner-field { grid-column: 1 / -1; }
  .pipeline-board { min-height: 0; grid-template-columns: 1fr; overflow: visible; }
  .pipeline-column { min-height: 0; padding: 10px; }
  .pipeline-column > header { min-height: 40px; font-size: 12px; }
  .pipeline-card { padding: 13px; }
  .pipeline-card-top, .pipeline-card p { font-size: 12px; }
  .pipeline-card h4 { font-size: 14px; }
  .pipeline-card select { height: 44px; font-size: 16px; }
  .tracking-fields { grid-template-columns: 1fr; }
  .totals-grid { grid-template-columns: 1fr 1fr; }
  .items-toolbar { align-items: stretch; flex-direction: column; }
  .item-search { min-width: 0; width: 100%; }
  .items-toolbar > span { margin-left: 0; padding: 0; }
  .inline-lookup, .item-search { grid-template-columns: 1fr 48px; }
  .lookup-button { min-width: 48px; }
  .selection-row { min-height: 56px; padding: 8px 10px; }
  .selection-row strong { font-size: 13px; }
  .selection-row small { font-size: 11px; line-height: 1.4; }
  .selected-partner { min-height: 52px; padding: 8px 10px; }
  .selected-partner strong { font-size: 13px; }
  .selected-partner small { font-size: 11px; }
  .sub-tabs { overflow-x: auto; scrollbar-width: none; }
  .sub-tabs button { min-height: 44px; flex: 0 0 auto; font-size: 13px; }
  .toolbar-button, .primary-button, .secondary-button { min-height: 44px; }
  input, select { height: 48px; padding-inline: 10px; font-size: 16px; }
  textarea { min-height: 92px; padding: 10px; font-size: 16px; }
  .central-footer > footer { min-height: 58px; padding: 7px 9px; gap: 8px; }
  .central-footer > footer > span { font-size: 11px; }
  .toast { right: 8px; bottom: calc(82px + env(safe-area-inset-bottom)); left: 8px; max-width: none; padding: 12px 14px; font-size: 14px; }
  .detail-drawer { width: 100vw; }
  .detail-drawer > footer { padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
  .modal { align-items: end; padding: 0; }
  .modal-card { width: 100%; max-height: calc(100dvh - 24px); overflow: auto; border-radius: 12px 12px 0 0; }
  .local-partner-form label, .modal-card > p { font-size: 13px; }
  .local-partner-form footer { position: sticky; bottom: 0; }
}

@media (max-width: 520px) {
  .window-chrome .breadcrumb { max-width: calc(100vw - 92px); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .chrome-action { width: 44px; padding: 0; font-size: 0; }
  .chrome-action svg { width: 19px; height: 19px; }
  .screen-header { align-items: flex-start; gap: 8px; }
  .screen-header h1 { font-size: 18px; }
  .screen-status { min-width: 34px; padding-inline: 8px; font-size: 0; }
  .pilot-stats, .kpi-grid, .dashboard-grid { grid-template-columns: 1fr; }
  .pilot-stats article { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .central-fields { grid-template-columns: 1fr; }
  .partner-field { grid-column: auto; }
  .totals-grid { grid-template-columns: 1fr; }
  .totals-grid > div { min-height: 68px; padding: 12px; }
  .totals-grid span { font-size: 11px; }
  .totals-grid strong { font-size: 16px; }
  .product-option { grid-template-columns: 52px minmax(0, 1fr); }
  .product-option-price { grid-column: 2; text-align: left; }
  .product-option > button { min-height: 44px; grid-column: 1 / -1; }
  .selection-row > b { font-size: 0; }
  .selection-row > b::after { content: "Abrir"; font-size: 12px; }
  .partner-modal-card { max-height: 100dvh; border-radius: 12px 12px 0 0; }
  .partner-modal-intro { margin: 10px 10px 0; }
  .local-partner-form { padding: 10px 10px 0; }
  .partner-person-type { display: grid; grid-template-columns: 1fr 1fr; }
  .partner-person-type legend { grid-column: 1 / -1; margin: 0 0 2px; float: none; }
  .partner-person-type label, .partner-person-type span { width: 100%; }
  .partner-person-type span { justify-content: center; }
  .partner-form-section__title { align-items: flex-start; flex-direction: column; gap: 1px; }
  .partner-form-section__title span { text-align: left; }
  .partner-form-grid, .partner-form-grid--identity { grid-template-columns: minmax(0, 1fr); }
  .partner-form-field--trade { grid-column: auto; }
  .partner-form-field--state, .partner-form-field--zip { width: auto; }
  .partner-form-field--origin { grid-column: auto; }
  .partner-tax-input-row { grid-template-columns: minmax(0, 1fr) 48px; }
  .partner-tax-input-row > button { min-width: 48px; padding: 0; }
  .partner-tax-input-row > button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .local-partner-form > footer { margin-inline: -10px; padding-inline: 10px; align-items: stretch; flex-direction: column; }
  .local-partner-form > footer > span { text-align: center; }
  .local-partner-form > footer > div { display: grid; grid-template-columns: 1fr 1.45fr; }
  .local-partner-form > footer .primary-button, .local-partner-form > footer .secondary-button { min-height: 48px; padding-inline: 8px; font-size: 13px; }
  .grid-status span:last-child { display: none; }
}

@media (max-width: 640px) {
  .desktop-copy { display: none !important; }
  .mobile-copy { display: block; }
  .data-table, .table-scroll { overflow: visible; }
  .data-table table, .data-table tbody { min-width: 0; width: 100%; display: block; }
  .data-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .data-table tbody tr { position: relative; width: auto; margin: 8px; padding: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border: 1px solid #cfd9db; border-radius: 4px; background: #fff; box-shadow: var(--shadow-sm); }
  .data-table tbody tr:nth-child(even) { background: #f9fbfb; }
  .data-table tbody tr.selected { background: #e4f5f0; box-shadow: inset 4px 0 0 var(--om-green), var(--shadow-sm); }
  .mobile-document-selected .grid-section--documents tbody tr:not(.selected) { display: none; }
  .mobile-document-selected .grid-section--documents .grid-status { display: none; }
  .mobile-document-selected .grid-section--items { border-top-width: 8px; }
  .mobile-document-selected .mobile-back-button { min-height: 40px; padding: 0 8px; display: inline-flex; align-items: center; gap: 4px; border: 0; color: #0b715d; background: transparent; font-size: 12px; font-weight: 700; }
  .mobile-back-button svg { width: 16px; transform: rotate(180deg); }
  .grid-section--items > header > div strong, .grid-section--items > header > div span { display: block; }
  .data-table td { width: auto; height: auto; min-height: 36px; padding: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; border: 0; color: #334b53; font-size: 14px; text-align: left; white-space: normal; }
  .data-table td::before { content: attr(data-label); color: #6c7e84; font-size: 10px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
  .data-table td small { font-size: 11px; }
  .grid-section--documents .row-selector { position: absolute; top: 7px; right: 7px; width: 44px; height: 44px; display: grid; place-items: center; }
  .grid-section--documents td[data-label="Documento"] { min-height: 48px; grid-column: 1 / -1; padding-right: 48px; border-bottom: 1px solid var(--line-soft); }
  .grid-section--documents td[data-label="Valor"] { align-items: flex-end; }
  .data-table--items td[data-label="Descrição"] { grid-column: 1 / -1; order: -1; padding-bottom: 8px; border-bottom: 1px solid var(--line-soft); }
  .data-table--items td[data-label="Total"] { align-items: flex-end; }
  .product-grid-head { display: none; }
  .product-results { padding: 8px; overflow: visible; }
  .product-row { position: relative; min-width: 0; min-height: 0; margin-bottom: 8px; padding: 10px; display: grid; grid-template-columns: 1fr auto; gap: 8px; border: 1px solid #cfd9db; border-radius: 4px; box-shadow: var(--shadow-sm); }
  .product-grid-head > span, .product-row > * { padding: 0; border-right: 0; }
  .product-row > .row-selector { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; display: grid; place-items: center; }
  .product-row > .product-code { min-height: 34px; padding-right: 48px; grid-column: 1 / -1; color: #0d6f5b; font-size: 12px; font-weight: 800; }
  .product-row > .product-main:nth-child(3) { grid-column: 1 / -1; }
  .product-row > .product-main:nth-child(3) strong { font-size: 14px; }
  .product-row > .product-main:nth-child(3) span { font-size: 11px; }
  .product-row > .product-main:nth-child(4) { grid-column: 1 / -1; padding-block: 6px; border-top: 1px solid var(--line-soft); }
  .product-row > .product-stock { font-size: 12px; }
  .product-row > .product-source { justify-self: end; text-align: right; }
  .product-source strong { font-size: 14px; }
  .quote-items { padding: 8px; overflow: visible; }
  .quote-item-head { display: none; }
  .quote-item { position: relative; min-width: 0; min-height: 0; margin-bottom: 9px; padding: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border: 1px solid #ccd7d9; border-radius: 4px; box-shadow: var(--shadow-sm); }
  .quote-item-product { grid-column: 1 / -1; padding: 0 46px 10px 0; border-bottom: 1px solid var(--line-soft); }
  .quote-item-product strong { font-size: 14px; }
  .quote-item-product span, .quote-item-product small, .quote-item-product em { margin-top: 3px; font-size: 11px; line-height: 1.35; }
  .quote-item-field, .quote-item-value, .discount-field { min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: 5px; text-align: left; }
  .quote-item-field > span, .quote-item-value > span, .discount-field > b { display: block; color: #687c82; font-size: 11px; font-weight: 700; }
  .quote-item-value strong { min-height: 48px; display: flex; align-items: center; font-size: 14px; }
  .quote-item-total strong { color: #0b6b58; font-size: 16px; font-weight: 800; }
  .quote-item input { height: 48px; font-size: 16px; }
  .discount-field span { font-size: 10px; }
  .remove-item { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; }
}

@media (max-width: 980px) {
  .central-workbench { grid-template-columns: 1fr; }
  .central-header, .central-items { min-height: 0; }
  .central-items { min-height: 360px; }
  .central-footer { grid-column: auto; }
}

@media (max-width: 820px) {
  #quote-section { margin: -8px; }
  .central-app { min-height: auto; border: 0; }
  .central-titlebar { min-height: 62px; padding: 8px 10px; }
  .central-titlebar > div:first-child > span { font-size: 11px; }
  .central-titlebar h1 { max-width: 62vw; font-size: 16px; line-height: 1.25; }
  .central-document-state { grid-template-columns: 8px auto; }
  .central-document-state span { font-size: 10px; }
  .central-document-state strong { font-size: 9px; }
  .central-actions { min-height: 64px; padding: 6px; gap: 8px; }
  .central-action { min-width: 68px; min-height: 50px; padding: 4px 9px; flex-direction: column; gap: 3px; font-size: 11px; }
  .central-action svg { width: 19px; height: 19px; }
  .central-action--clear { margin-left: 0; }
  .central-mobile-steps { position: sticky; top: 105px; z-index: 39; min-height: 58px; padding: 5px 8px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; border-bottom: 1px solid #c9d1d3; background: rgba(247, 249, 249, .97); box-shadow: 0 2px 7px rgba(24, 54, 61, .09); backdrop-filter: blur(8px); }
  .central-mobile-steps button { min-height: 46px; padding: 4px 6px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #c9d2d4; border-radius: 4px; color: #53676d; background: #fff; }
  .central-mobile-steps button span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #829398; font-size: 11px; font-weight: 800; }
  .central-mobile-steps button strong { font-size: 12px; }
  .central-mobile-steps button.active { color: #0b6654; border-color: #77b5a6; background: #eaf7f3; }
  .central-mobile-steps button.active span { background: var(--om-green); }
  .central-workbench { padding: 8px; display: block; }
  .central-panel { margin-bottom: 10px; border-radius: 4px; overflow: hidden; box-shadow: 0 1px 3px rgba(20, 49, 56, .08); }
  .central-panel > header { min-height: 48px; padding: 8px 11px; }
  .central-panel > header strong { font-size: 14px; }
  .central-panel > header span { font-size: 11px; }
  .central-fields { padding: 12px; gap: 12px; }
  .central-fields label { min-height: 0; grid-template-columns: 1fr; align-items: stretch; gap: 6px; font-size: 13px; }
  .central-fields label > span { text-align: left; }
  .central-fields input { height: 48px; padding-inline: 10px; border-radius: 3px; font-size: 16px; }
  .inline-lookup { grid-template-columns: minmax(0, 1fr) 48px; }
  .lookup-button { min-width: 48px; border-radius: 0 3px 3px 0; }
  .lookup-button svg { width: 19px; height: 19px; }
  .selected-partner { min-height: 54px; padding: 8px 10px; border-radius: 3px; }
  .selected-partner strong { font-size: 14px; }
  .selected-partner small { font-size: 11px; }
  .selected-partner button { min-width: 54px; min-height: 44px; font-size: 12px; }
  .selection-results--overlay { margin: 0 12px 12px; border-radius: 3px; }
  .central-panel-status { min-height: 39px; padding-inline: 11px; font-size: 11px; }
  .items-toolbar { min-height: 0; padding: 8px; gap: 8px; }
  .items-toolbar__actions { width: 100%; gap: 8px; }
  .item-icon-button { width: 48px; height: 48px; border-radius: 3px; }
  .item-icon-button svg { width: 19px; height: 19px; }
  .item-search { width: 100%; min-width: 0; margin-left: 0; grid-template-columns: minmax(0, 1fr) 48px; }
  .item-search input { height: 48px; padding-inline: 10px; border-radius: 3px 0 0 3px; font-size: 16px; }
  .quote-items { min-height: 170px; }
  .central-items-status { min-height: 42px; font-size: 12px; }
  .central-footer .sub-tabs { min-height: 48px; padding-inline: 6px; }
  .central-footer .sub-tabs button { height: 44px; }
  .central-footer__content, .footer-tab-panel { min-height: 120px; }
  .tracking-fields, .footer-data-grid { padding: 12px; grid-template-columns: 1fr; gap: 12px; }
  .tracking-fields label, .footer-data-grid label { gap: 6px; font-size: 13px; }
  .central-footer > footer { position: sticky; bottom: calc(72px + env(safe-area-inset-bottom)); z-index: 8; min-height: 66px; padding: 8px; gap: 8px; box-shadow: 0 -3px 10px rgba(18, 52, 60, .12); }
  .central-footer > footer > span { font-size: 11px; }
  .central-footer > footer .primary-button { min-width: 165px; min-height: 48px; font-size: 13px; }
}

@media (max-width: 520px) {
  .central-titlebar h1 { max-width: 58vw; font-size: 15px; }
  .central-document-state span { display: none; }
  .central-document-state strong { font-size: 8px; }
  .central-mobile-steps button { gap: 5px; }
  .central-mobile-steps button strong { font-size: 11px; }
  .central-panel > header { align-items: flex-start; flex-direction: column; justify-content: center; }
  .central-panel-status { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 6px; }
  .central-footer > footer { align-items: stretch; flex-direction: column; }
  .central-footer > footer .primary-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Minimal layout: navigation stays available without taking permanent space. */
body { font-size: 15px; line-height: 1.45; }
body.nav-open { overflow: hidden; }
.om-globalbar { height: 60px; padding-inline: 16px; gap: 14px; background: #155e63; box-shadow: 0 1px 3px rgba(15, 45, 52, .2); }
.global-icon-button { width: 44px; height: 44px; border-radius: 6px; }
.om-brand strong { font-size: 13px; }
.om-brand small, .om-module-name span, .seller-chip small { font-size: 10px; }
.om-module-name strong, .seller-chip strong { font-size: 13px; }
.global-search { min-height: 38px; border-radius: 6px; }
.global-search input { font-size: 14px; }
.connection-pill { min-height: 32px; font-size: 12px; }
.om-body { display: block; }
.om-main { min-height: calc(100vh - 60px); }
.workspace-tabs { display: none; }
.window-chrome { min-height: 48px; padding-inline: 18px; }
.breadcrumb { font-size: 13px; }
.environment-tag { font-size: 10px; }
.chrome-action { min-height: 36px; padding-inline: 14px; border-radius: 5px; font-size: 13px; }
.content { padding: 16px; }

.om-rail { position: fixed; inset: 0 auto 0 0; z-index: 111; width: min(320px, 88vw); height: 100dvh; min-height: 0; padding: 12px; display: flex; flex-direction: column; gap: 6px; color: #d9e9ea; background: #173f49; box-shadow: 12px 0 34px rgba(10, 33, 40, .28); transform: translateX(-105%); transition: transform .22s ease; }
body.nav-open .om-rail { transform: translateX(0); }
.rail-header { min-height: 62px; margin: -12px -12px 8px; padding: 10px 12px 10px 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.12); }
.rail-header span, .rail-header strong { display: block; }
.rail-header span { color: #8fc3c0; font-size: 10px; letter-spacing: .12em; }
.rail-header strong { margin-top: 2px; color: #fff; font-size: 16px; }
.rail-header button { width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 6px; color: #fff; background: rgba(255,255,255,.08); }
.nav-item { min-height: 52px; width: 100%; padding: 0 13px; display: grid; grid-template-columns: 26px minmax(0, 1fr); grid-template-rows: 1fr; align-items: center; justify-items: stretch; gap: 10px; border-radius: 6px; }
.nav-item svg { width: 20px; height: 20px; }
.nav-item span { display: block; max-width: none; overflow: visible; font-size: 14px; font-weight: 600; white-space: normal; }
.nav-item span::after { content: none; }
.nav-item.active { box-shadow: inset 4px 0 0 #55d5bd; }
.nav-item--accent { margin-top: 4px; }
.rail-spacer { display: block; }
.rail-security { min-height: 48px; display: flex; font-size: 11px; }
.rail-security span { display: block; }
.nav-backdrop { position: fixed; inset: 0; z-index: 110; display: block; border: 0; background: rgba(9, 28, 34, .42); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility .2s ease; }
body.nav-open .nav-backdrop { opacity: 1; visibility: visible; pointer-events: auto; }

#quote-section { margin: 0; }
.central-app { min-height: calc(100vh - 140px); border: 0; border-radius: 10px; overflow: hidden; background: #f4f6f7; box-shadow: 0 1px 4px rgba(24, 55, 63, .1); }
.central-titlebar { min-height: 66px; padding: 10px 16px; border-bottom-color: #dde3e5; }
.central-titlebar > div:first-child > span { font-size: 11px; }
.central-titlebar h1 { margin-top: 3px; font-size: 19px; }
.central-document-state span { font-size: 12px; }
.central-document-state strong { font-size: 10px; }
.central-actions { min-height: 58px; padding: 5px 10px; gap: 5px; border-bottom-color: #d9e0e2; background: #fff; }
.central-action { min-width: 66px; height: 48px; padding-inline: 9px; gap: 3px; border-radius: 5px; font-size: 11px; }
.central-action svg { width: 19px; height: 19px; }
.central-workbench { padding: 12px; grid-template-columns: minmax(380px, .82fr) minmax(540px, 1.55fr); gap: 12px; background: #f4f6f7; }
.central-panel { border-color: #d8dfe1; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(21, 51, 58, .07); }
.central-panel > header { min-height: 44px; padding: 8px 13px; border-bottom-color: #dce2e4; background: #f8fafb; }
.central-panel > header strong { font-size: 14px; }
.central-panel > header span { font-size: 11px; }
.central-header, .central-items { min-height: clamp(480px, calc(100vh - 420px), 660px); }
.central-fields { padding: 16px 14px; gap: 9px; }
.central-fields label { min-height: 36px; grid-template-columns: 132px minmax(0, 1fr); gap: 10px; font-size: 12px; font-weight: 600; }
.central-fields input, .central-fields select { width: 100%; height: 36px; padding-inline: 10px; border: 1px solid #ccd5d8; border-radius: 4px; color: #2f444b; background: #fff; font-size: 13px; }
.central-fields select:invalid { color: #6b7b80; }
.direct-lookup { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) 40px; }
.direct-lookup input { border-radius: 4px 0 0 4px; }
.direct-lookup .lookup-button { min-width: 40px; border-radius: 0 4px 4px 0; }
.central-fields input[aria-invalid="true"] { border-color: #b94752; box-shadow: 0 0 0 1px rgba(185, 71, 82, .16); }
.central-fields .field-helper { grid-column: 2; margin-top: -6px; color: #718187; font-size: 10px; font-weight: 400; line-height: 1.35; }
.central-fields .field-helper.is-error { color: #a53843; font-weight: 600; }
.central-defaults { grid-column: 1 / -1; margin-top: 3px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #d8e0e2; border-radius: 5px; background: #f7f9f9; }
.central-defaults > div { min-width: 0; padding: 8px 10px; border-right: 1px solid #dfe5e7; }
.central-defaults > div:last-child { border-right: 0; }
.central-defaults span, .central-defaults strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.central-defaults span { color: #718187; font-size: 9px; text-transform: uppercase; }
.central-defaults strong { margin-top: 2px; color: #344b52; font-size: 11px; }
.inline-lookup { grid-template-columns: minmax(0, 1fr) 40px; }
.lookup-button { min-width: 40px; border-radius: 0 4px 4px 0; }
.lookup-button svg { width: 17px; height: 17px; }
.selected-partner { min-height: 38px; padding: 5px 9px; border-radius: 4px; }
.selected-partner strong { font-size: 13px; }
.selected-partner small { font-size: 10px; }
.selected-partner button { min-height: 32px; font-size: 11px; }
.selection-row { min-height: 54px; padding: 8px 11px; }
.selection-row strong { font-size: 13px; }
.selection-row small { font-size: 11px; }
.selection-row > b, .selection-row > button { font-size: 11px; }
.central-panel-status { min-height: 36px; padding-inline: 12px; font-size: 11px; }
.items-toolbar { min-height: 52px; padding: 6px 9px; gap: 9px; background: #fff; }
.items-toolbar__actions { gap: 5px; }
.item-icon-button { width: 38px; height: 38px; border-radius: 5px; }
.item-icon-button svg { width: 18px; height: 18px; }
.item-search { width: min(460px, 100%); grid-template-columns: minmax(0, 1fr) 40px; }
.item-search input { height: 38px; padding-inline: 11px; border-radius: 4px 0 0 4px; font-size: 13px; }
.quote-items { min-height: 220px; }
.quote-item-head { min-height: 38px; font-size: 11px; }
.quote-item { min-height: 62px; }
.quote-item-product strong { font-size: 13px; }
.quote-item-product span, .quote-item-product small, .quote-item-product em { font-size: 10px; }
.quote-item-value strong, .quote-item input { font-size: 12px; }
.grid-empty strong, .empty-state strong { font-size: 14px; }
.grid-empty span, .empty-state span { font-size: 12px; }
.central-items-status { font-size: 11px; }
.central-footer { min-height: 154px; }
.central-footer .sub-tabs { min-height: 38px; padding-inline: 8px; background: #f8fafb; }
.central-footer .sub-tabs button { height: 34px; padding-inline: 14px; font-size: 12px; }
.central-footer__content, .footer-tab-panel { min-height: 68px; }
.tracking-fields label, .footer-data-grid label { font-size: 12px; }
.tracking-fields, .footer-data-grid { min-height: 68px; padding: 8px 10px; }
.totals-grid { min-height: 68px; }
.totals-grid > div { padding: 8px 12px; }
.totals-grid span { font-size: 10px; }
.totals-grid strong { margin-top: 3px; font-size: 14px; }
.totals-grid .grand-total strong { font-size: 20px; }
.central-footer > footer { display: none; min-height: 48px; padding: 4px 9px; }
.central-footer > footer > span { font-size: 11px; }
.central-footer > footer .primary-button { min-height: 42px; padding-inline: 16px; border-radius: 5px; font-size: 13px; }

@media (max-width: 1100px) {
  .central-workbench { grid-template-columns: 1fr; }
  .central-header, .central-items { min-height: 0; }
  .central-items { min-height: 480px; }
}

@media (max-width: 820px) {
  .om-globalbar { height: 60px; padding-inline: 8px 10px; }
  .om-globalbar > .global-icon-button:first-child { display: grid; }
  .om-brand { padding-right: 0; }
  .om-rail { inset: 0 auto 0 0; width: min(330px, 88vw); height: 100dvh; min-height: 0; padding: 12px; flex-direction: column; gap: 6px; }
  .nav-item { min-height: 52px; flex: 0 0 auto; grid-template-columns: 26px minmax(0, 1fr); grid-template-rows: 1fr; justify-items: stretch; align-content: center; gap: 10px; padding: 0 13px; text-align: left; }
  .nav-item svg { width: 20px; height: 20px; }
  .nav-item span { display: block; font-size: 14px; }
  .nav-item.active { box-shadow: inset 4px 0 0 #55d5bd; }
  .nav-item--accent { margin-top: 4px; }
  .rail-spacer { display: block; }
  .rail-security { display: flex; }
  .window-chrome { top: 60px; min-height: 48px; }
  .content { padding: 10px 10px calc(20px + env(safe-area-inset-bottom)); }
  #quote-section { margin: 0; }
  .central-app { border-radius: 8px; }
  .central-workbench { padding: 8px; }
  .central-fields { padding: 13px; gap: 13px; }
  .central-fields label { min-height: 0; grid-template-columns: 1fr; align-items: stretch; gap: 6px; font-size: 14px; }
  .central-fields label > span { text-align: left; }
  .central-fields input, .central-fields select { height: 48px; padding-inline: 11px; border-radius: 5px; font-size: 16px; }
  .central-fields .field-helper { grid-column: 1; margin-top: -2px; font-size: 12px; }
  .direct-lookup { grid-template-columns: minmax(0, 1fr) 48px; }
  .direct-lookup input { border-radius: 5px 0 0 5px; }
  .direct-lookup .lookup-button { min-width: 48px; border-radius: 0 5px 5px 0; }
  .central-defaults { grid-template-columns: 1fr; }
  .central-defaults > div { padding: 9px 10px; border-right: 0; border-bottom: 1px solid #dfe5e7; }
  .central-defaults > div:last-child { border-bottom: 0; }
  .central-defaults span { font-size: 10px; }
  .central-defaults strong { font-size: 13px; }
  .central-mobile-steps button { min-height: 48px; }
  .inline-lookup { grid-template-columns: minmax(0, 1fr) 48px; }
  .lookup-button { min-width: 48px; }
  .selected-partner { min-height: 52px; padding: 8px 10px; }
  .selected-partner strong { font-size: 14px; }
  .selected-partner small { font-size: 12px; }
  .central-footer { min-height: 0; }
  .central-footer > header { display: none; }
  .central-footer .sub-tabs { min-height: 42px; }
  .central-footer .sub-tabs button { height: 40px; }
  .central-footer__content, .footer-tab-panel, .totals-grid { min-height: 96px; }
  .central-footer > footer { bottom: 0; min-height: 56px; display: flex; }
}

@media (min-width: 600px) and (max-width: 900px) and (orientation: landscape) {
  .content { padding: 10px; }
  .central-workbench { padding: 8px; }
  .central-fields { padding: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
  .central-fields label { min-height: 0; grid-template-columns: 1fr; align-items: stretch; gap: 5px; font-size: 13px; }
  .central-fields label > span { text-align: left; }
  .central-fields input, .central-fields select { height: 48px; padding-inline: 10px; font-size: 15px; }
  .central-fields .field-helper { grid-column: 1; margin-top: -1px; font-size: 11px; }
  .direct-lookup { grid-template-columns: minmax(0, 1fr) 48px; }
  .central-defaults { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .central-defaults > div { border-right: 1px solid #dfe5e7; border-bottom: 0; }
  .partner-field { grid-column: 1 / -1; }
  .inline-lookup { grid-template-columns: minmax(0, 1fr) 48px; }
  .lookup-button { min-width: 48px; }
}

@media (max-width: 520px) {
  .chrome-action { width: 44px; min-width: 44px; padding: 0; font-size: 0; }
  .chrome-action svg { width: 20px; height: 20px; }
  .om-brand__mark { width: 34px; height: 34px; }
  .om-brand strong { font-size: 12px; }
  .central-titlebar h1 { font-size: 17px; }
  .central-document-state { grid-template-columns: 8px; }
  .central-document-state span, .central-document-state strong { display: none; }
  .central-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; overflow: visible; }
  .central-actions .toolbar-separator, .central-action--clear { display: none; }
  .central-action { width: 100%; min-width: 0; padding-inline: 2px; }
  .central-action span { max-width: 100%; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
  .central-panel > header strong { font-size: 15px; }
  .central-fields label { font-size: 14px; }
  .central-footer .sub-tabs button { font-size: 13px; }
  .totals-grid { grid-template-columns: 1fr 1fr; }
  .totals-grid > div { min-height: 54px; padding: 7px 8px; }
  .central-footer > footer { min-height: 60px; padding: 7px; flex-direction: row; }
  .central-footer > footer > span { display: none; }
}

/* Sankhya-style smart lookups: rich inline suggestions plus an expanded search. */
body.lookup-open { overflow: hidden; }
.central-header { position: relative; z-index: 4; overflow: visible; }
.central-items { position: relative; z-index: 3; overflow: visible; }
.central-footer { position: relative; z-index: 1; }
.smart-lookup-field { position: relative; }
.smart-lookup-field:focus-within { z-index: 72; }
.partner-field > div { position: relative; }
.smart-suggestions {
  position: absolute;
  top: 100%;
  right: auto;
  left: 142px;
  z-index: 74;
  width: min(520px, calc(100vw - 190px));
  max-height: min(390px, 54vh);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #bdc9cc;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16, 47, 55, .2);
}
.partner-field .smart-suggestions { top: calc(100% + 5px); right: auto; left: 0; width: min(520px, calc(100vw - 190px)); }
.lookup-result-card {
  width: 100%;
  min-height: 84px;
  padding: 11px 13px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  border: 0;
  border-bottom: 1px solid #dce3e5;
  color: #31464e;
  background: #fff;
  text-align: left;
}
.lookup-result-card:hover, .lookup-result-card:focus-visible { background: #eef8f5; outline: 2px solid #159474; outline-offset: -2px; }
.lookup-result-card__symbol {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  color: #fff;
  background: #186f61;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .02em;
}
.lookup-result-card--negotiation .lookup-result-card__symbol { background: #51349a; }
.lookup-result-card--product .lookup-result-card__symbol { background: #176f8f; }
.lookup-result-card--partner:nth-child(3n + 1) .lookup-result-card__symbol { background: #8b3345; }
.lookup-result-card--partner:nth-child(3n + 2) .lookup-result-card__symbol { background: #249b55; }
.lookup-result-card--partner:nth-child(3n) .lookup-result-card__symbol { background: #d59324; }
.lookup-result-card__body, .lookup-result-card__body > strong, .lookup-result-card__details { min-width: 0; display: block; }
.lookup-result-card__body > strong { margin: 1px 0 5px; color: #293e47; font-size: 14px; line-height: 1.3; }
.lookup-result-card__details { color: #5f7279; font-size: 11px; line-height: 1.45; }
.lookup-result-card__details > span { display: inline; margin-right: 10px; }
.lookup-result-card__details b { color: #455b63; font-weight: 700; }
.lookup-result-card__action { align-self: center; color: #0b765f; font-size: 11px; font-weight: 800; }
.smart-suggestions .lookup-result-card { grid-template-columns: 54px minmax(0, 1fr); }
.smart-suggestions .lookup-result-card__details > span { display: block; margin-right: 0; }
.smart-suggestions .lookup-result-card__action { display: none; }
.smart-suggestions__more, .lookup-modal__more {
  width: 100%;
  min-height: 46px;
  border: 0;
  color: #0b715d;
  background: #f6f9f9;
  font-size: 12px;
  font-weight: 800;
}
.smart-suggestions__more:hover, .smart-suggestions__more:focus-visible, .lookup-modal__more:hover, .lookup-modal__more:focus-visible { color: #fff; background: #147a65; outline: none; }
.smart-suggestions__empty { min-height: 118px; padding: 20px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; color: #64777e; background: #fff; text-align: center; }
.smart-suggestions__empty strong { color: #324a52; font-size: 13px; }
.smart-suggestions__empty span { font-size: 11px; }
.smart-suggestions__empty button { min-height: 38px; margin-top: 5px; padding-inline: 13px; border: 1px solid #87b8ac; border-radius: 4px; color: #0b715d; background: #eef8f5; font-size: 11px; font-weight: 800; }
.loading-line { padding: 18px; color: #60747b; background: #fff; font-size: 12px; text-align: center; }
.item-search { position: relative; display: block; }
.item-search__controls { display: grid; grid-template-columns: minmax(0, 1fr) 40px; }
.item-search__controls .lookup-button { min-width: 40px; }
.product-suggestions { top: calc(100% + 5px); right: 0; left: auto; width: min(680px, calc(100vw - 40px)); }
.lookup-result-card[disabled] { cursor: not-allowed; opacity: .62; }
.lookup-result-card[disabled]:hover { background: #fff; outline: none; }
.grid-section--documents .data-table table { min-width: 940px; }
@media (min-width: 641px) {
  .comfortable-grid .data-table td { height: 52px; padding-block: 9px; font-size: 12px; }
  .comfortable-grid .data-table td small { margin-top: 3px; font-size: 10px; }
  .comfortable-grid .product-row { min-height: 62px; font-size: 12px; }
  .comfortable-grid .product-main strong, .comfortable-grid .product-source strong { font-size: 12px; }
  .comfortable-grid .product-main span, .comfortable-grid .product-source span { font-size: 10px; }
}

.lookup-modal { position: fixed; inset: 0; z-index: 140; display: none; padding: 18px; background: rgba(8, 29, 35, .6); }
.lookup-modal.visible { display: grid; place-items: center; }
.lookup-modal__dialog { width: min(1120px, 100%); height: min(820px, calc(100dvh - 36px)); display: grid; grid-template-rows: auto auto auto auto minmax(0, 1fr); overflow: hidden; border: 1px solid #81979c; border-radius: 9px; background: #f5f7f8; box-shadow: 0 24px 60px rgba(7, 28, 35, .34); }
.lookup-modal__dialog > header { min-height: 72px; padding: 12px 18px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: linear-gradient(90deg, #155e63, #08776f); }
.lookup-modal__dialog > header span, .lookup-modal__dialog > header h2 { display: block; margin: 0; }
.lookup-modal__dialog > header span { color: #b8ddda; font-size: 11px; }
.lookup-modal__dialog > header h2 { margin-top: 2px; font-size: 20px; }
.lookup-modal__close { width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 6px; color: #fff; background: rgba(255,255,255,.12); }
.lookup-modal__close:hover, .lookup-modal__close:focus-visible { background: rgba(255,255,255,.22); outline: 2px solid #fff; }
.lookup-modal__close svg { width: 21px; height: 21px; }
.lookup-modal__search { padding: 15px 18px; border-bottom: 1px solid #d5dfe1; background: #fff; }
.lookup-modal__search > label { display: block; margin-bottom: 6px; color: #435960; font-size: 12px; font-weight: 700; }
.lookup-modal__search > div { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; border: 1px solid #aebec2; border-radius: 6px; overflow: hidden; background: #fff; }
.lookup-modal__search svg { width: 19px; height: 19px; justify-self: center; color: #4a6a72; }
.lookup-modal__search input { width: 100%; height: 48px; padding: 0 8px; border: 0; color: #263e46; background: #fff; font-size: 16px; outline: none; }
.lookup-modal__search > div:focus-within { border-color: #11836c; box-shadow: 0 0 0 3px rgba(17, 131, 108, .15); }
.lookup-modal__search button { min-width: 110px; height: 48px; padding-inline: 18px; border: 0; color: #fff; background: #11836c; font-size: 13px; font-weight: 800; }
.lookup-modal__search button:hover, .lookup-modal__search button:focus-visible { background: #0a6e5b; outline: 3px solid rgba(17, 131, 108, .24); outline-offset: 2px; }
.lookup-modal__summary { min-height: 52px; padding: 6px 18px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #d5dfe1; color: #718187; background: #f5f7f8; font-size: 11px; }
.lookup-modal__summary > div:first-child { min-width: 0; display: flex; align-items: center; gap: 10px; }
.lookup-modal__summary > div:first-child strong { color: #344b53; font-size: 13px; white-space: nowrap; }
.lookup-product-tools { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.lookup-product-tools > label { min-width: 190px; height: 36px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 7px; padding-left: 10px; border: 1px solid #bdcacc; border-radius: 5px; color: #5d7279; background: #fff; }
.lookup-product-tools > label > span { font-size: 9px; font-weight: 800; text-transform: uppercase; }
.lookup-product-tools select { min-width: 0; height: 34px; padding: 0 28px 0 6px; border: 0; color: #304950; background: transparent; font-size: 11px; font-weight: 700; outline: 0; }
#toggle-lookup-product-filters { min-height: 36px; padding: 0 10px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #b8c7ca; border-radius: 5px; color: #3d5961; background: #fff; font-size: 11px; font-weight: 800; }
#toggle-lookup-product-filters svg { width: 15px; height: 15px; }
#toggle-lookup-product-filters:hover, #toggle-lookup-product-filters.is-active { border-color: #5ba391; color: #086b58; background: #eaf7f3; }
#lookup-product-filter-count { min-width: 18px; height: 18px; padding: 0 5px; display: inline-grid; place-items: center; border-radius: 9px; color: #fff; background: #0d8069; font-size: 9px; }
#lookup-product-filter-count[hidden] { display: none; }
.lookup-product-filters { padding: 10px 18px; display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)) auto; align-items: end; gap: 10px; border-bottom: 1px solid #cfdadd; background: #edf3f3; box-shadow: inset 0 1px 0 #fff; }
.lookup-product-filters label, .lookup-product-filters label > span { min-width: 0; display: block; }
.lookup-product-filters label > span { margin-bottom: 4px; color: #546b72; font-size: 10px; font-weight: 800; }
.lookup-product-filters select { width: 100%; min-height: 38px; padding: 0 30px 0 9px; border: 1px solid #b6c5c8; border-radius: 5px; color: #2f4951; background: #fff; font-size: 12px; }
#clear-lookup-product-filters { min-height: 38px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #b8c6c9; border-radius: 5px; color: #536970; background: #fff; font-size: 11px; font-weight: 800; white-space: nowrap; }
#clear-lookup-product-filters svg { width: 14px; height: 14px; }
#clear-lookup-product-filters:hover:not(:disabled) { border-color: #7aaea2; color: #096b58; background: #eef8f5; }
.lookup-modal__content { min-width: 0; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; }
.lookup-modal--product .lookup-modal__content { grid-template-columns: minmax(0, 1fr) 360px; }
.lookup-modal__results { min-height: 0; padding: 10px; overflow: auto; overscroll-behavior: contain; background: #eef2f3; }
.lookup-modal__results .lookup-result-card { min-height: 94px; margin-bottom: 8px; border: 1px solid #d0dadd; border-radius: 6px; box-shadow: 0 1px 2px rgba(18, 48, 56, .05); }
.lookup-modal__results .lookup-result-card__body > strong { font-size: 15px; }
.lookup-modal__results .lookup-result-card__details { font-size: 12px; }
.lookup-modal__results .lookup-result-card.is-in-cart { border-color: #35a78e; background: #eaf7f3; box-shadow: inset 4px 0 0 #13866f; }
.lookup-result-card--product-select { padding: 0; grid-template-columns: minmax(0, 1fr) 290px; gap: 0; overflow: hidden; cursor: default; }
.lookup-result-card--product-select:hover { background: #fff; outline: none; }
.lookup-result-card--product-select.is-in-cart { background: #eaf7f3; }
.product-card__main { min-width: 0; padding: 14px; display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: start; gap: 12px; }
.product-card__main .lookup-result-card__symbol { width: 48px; height: 48px; }
.product-card__heading { min-width: 0; margin-bottom: 4px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.product-card__code { color: #527078; font-size: 11px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.product-card__cart-state { display: inline-flex; align-items: center; gap: 4px; color: #086d59; font-size: 10px; font-weight: 800; white-space: nowrap; }
.product-card__cart-state svg { width: 14px; height: 14px; }
.product-card__main .lookup-result-card__body > strong { margin: 0; color: #263f48; font-size: 15px; line-height: 1.32; }
.product-card__metrics { margin-top: 12px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border: 1px solid #dbe4e6; border-radius: 6px; overflow: hidden; background: #f8fafb; }
.product-card__metric { min-width: 0; padding: 8px 9px; border-left: 1px solid #dbe4e6; }
.product-card__metric:first-child { border-left: 0; }
.product-card__metric small, .product-card__metric strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-card__metric small { color: #6b7d83; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.product-card__metric strong { margin-top: 2px; color: #344c54; font-size: 12px; }
.product-card__metric--price strong { color: #0a705d; font-size: 14px; }
.product-card__metric--reserved { width: 100%; border-top: 0; border-right: 0; border-bottom: 0; border-radius: 0; color: inherit; background: #fff8ec; text-align: left; cursor: pointer; }
.product-card__metric--reserved strong { color: #9a5d15; }
.product-card__metric--reserved em { display: block; margin-top: 2px; color: #8a642f; font-size: 9px; font-style: normal; font-weight: 700; text-decoration: underline; }
.product-card__metric--reserved:hover { background: #fff2d9; }
.product-card__metric--reserved:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(17, 131, 108, .32); outline-offset: -3px; }
.product-card__metric--available { background: #edf8f4; }
.product-card__metric--available strong { color: #096c59; }
.lookup-result-card__controls { min-width: 0; padding: 12px; align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 10px; border-left: 1px solid #d9e2e4; background: #f8fafb; }
.product-control-picker__label, .product-control-single > span { margin-bottom: 6px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #536a72; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.product-control-picker__label small { color: #7b8c91; font-size: 9px; font-weight: 700; text-transform: none; }
.product-control-options { max-height: 128px; padding: 2px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; overflow: auto; overscroll-behavior: contain; }
.product-control-option { min-width: 0; min-height: 50px; padding: 7px 8px; display: flex; justify-content: center; flex-direction: column; gap: 2px; border: 1px solid #becdd0; border-radius: 5px; color: #314b53; background: #fff; text-align: left; cursor: pointer; }
.product-control-option > span { min-width: 0; display: flex; align-items: center; gap: 4px; }
.product-control-option svg { width: 13px; height: 13px; flex: 0 0 auto; }
.product-control-option strong, .product-control-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-control-option strong { font-size: 11px; }
.product-control-option small { color: #667b82; font-size: 9px; }
.product-control-option:hover { border-color: #64a999; background: #eef8f5; }
.product-control-option.is-selected { border-color: #12836c; color: #075e4d; background: #e3f5ef; box-shadow: inset 0 0 0 1px #12836c; }
.product-control-option.is-selected small { color: #326c60; }
.product-control-single { min-height: 58px; padding: 9px 10px; border: 1px solid #c9d5d7; border-radius: 6px; background: #fff; }
.product-control-single > span { margin-bottom: 3px; }
.product-control-single strong, .product-control-single small { display: block; }
.product-control-single strong { color: #29464e; font-size: 12px; }
.product-control-single small { margin-top: 3px; color: #367366; font-size: 10px; font-weight: 700; }
.product-control-single--neutral { min-height: auto; }
.product-card__add { width: 100%; min-height: 44px; padding: 8px 12px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 5px; color: #fff; background: #0f8069; font-size: 11px; font-weight: 800; cursor: pointer; }
.product-card__add svg { width: 16px; height: 16px; }
.product-card__add:hover:not(:disabled) { background: #096b58; }
.product-card__add:disabled { cursor: not-allowed; color: #64777d; background: #dfe6e8; }
.product-control-option:focus-visible, .product-card__add:focus-visible { outline: 3px solid rgba(17, 131, 108, .24); outline-offset: 2px; }
.lookup-modal__empty, .lookup-modal__loading { min-height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: #6c7f85; text-align: center; }
.lookup-modal__empty svg { width: 34px; height: 34px; color: #75a49d; }
.lookup-modal__empty strong { color: #344b53; font-size: 16px; }
.lookup-modal__empty span, .lookup-modal__loading { font-size: 13px; }
.lookup-modal__empty button { min-height: 42px; margin-top: 4px; padding: 0 14px; border: 1px solid #72a99e; border-radius: 5px; color: #086b58; background: #fff; font-size: 12px; font-weight: 800; }
.lookup-product-cart { min-width: 0; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; border-left: 1px solid #c9d5d8; background: #fff; }
.lookup-product-cart > header { min-height: 62px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #d8e1e3; background: #f8fafb; }
.lookup-product-cart > header > div { min-width: 0; display: flex; align-items: center; gap: 9px; }
.lookup-product-cart > header svg { width: 21px; height: 21px; flex: 0 0 auto; color: #0c7964; }
.lookup-product-cart > header span, .lookup-product-cart > header strong, .lookup-product-cart > header small { min-width: 0; display: block; }
.lookup-product-cart > header strong { color: #2f4850; font-size: 13px; }
.lookup-product-cart > header small { margin-top: 2px; color: #6b7e84; font-size: 10px; }
.lookup-product-cart > header button { min-height: 36px; padding-inline: 10px; border: 1px solid #bdcbce; border-radius: 4px; color: #52686f; background: #fff; font-size: 11px; font-weight: 700; }
.lookup-product-cart button:focus-visible, .lookup-cart-item input:focus-visible { outline: 3px solid rgba(17, 131, 108, .24); outline-offset: 2px; }
.lookup-product-cart button:disabled { cursor: not-allowed; opacity: .5; }
.lookup-cart-items { min-height: 0; padding: 8px; overflow: auto; overscroll-behavior: contain; }
.lookup-cart-empty { min-height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 6px; color: #71838a; text-align: center; }
.lookup-cart-empty svg { width: 30px; height: 30px; color: #82a9a2; }
.lookup-cart-empty strong { color: #385158; font-size: 14px; }
.lookup-cart-empty span { font-size: 11px; }
.lookup-cart-item { padding: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; border: 1px solid #d4dddf; border-radius: 6px; background: #fff; }
.lookup-cart-item + .lookup-cart-item { margin-top: 7px; }
.lookup-cart-item__product { min-width: 0; grid-column: 1 / -1; }
.lookup-cart-item__product strong, .lookup-cart-item__product span, .lookup-cart-item__product small, .lookup-cart-item__product em { display: block; }
.lookup-cart-item__product strong { overflow: hidden; color: #2e474f; font-size: 12px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.lookup-cart-item__product span { margin-top: 3px; color: #6b7e84; font-size: 10px; }
.lookup-cart-item__product small { margin-top: 3px; color: #2b7162; font-size: 10px; font-weight: 700; }
.lookup-cart-item__product em { margin-top: 4px; color: #a45428; font-size: 10px; font-style: normal; }
.lookup-cart-item__controls { display: grid; grid-template-columns: 36px 54px 36px 36px; align-items: center; gap: 4px; }
.lookup-cart-item__controls button { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #bdcbce; border-radius: 4px; color: #31535c; background: #f8fafb; }
.lookup-cart-item__controls button:hover:not(:disabled) { border-color: #6cad9f; color: #086d59; background: #eaf7f3; }
.lookup-cart-item__controls button svg { width: 16px; height: 16px; }
.lookup-cart-item__controls input { width: 54px; height: 36px; padding: 0 5px; border: 1px solid #afbec2; border-radius: 4px; color: #2d464e; background: #fff; font-size: 13px; font-weight: 700; text-align: center; }
.lookup-cart-item__controls .lookup-cart-item__remove { color: #a3444d; }
.lookup-cart-item__total { align-self: center; color: #176d5b; font-size: 12px; white-space: nowrap; }
.lookup-product-cart > footer { padding: 10px 12px; border-top: 1px solid #d2dcde; background: #f8fafb; }
.lookup-product-cart > footer > div { margin-bottom: 8px; display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.lookup-product-cart > footer span, .lookup-product-cart > footer strong { display: block; }
.lookup-product-cart > footer > div span { color: #6c7f85; font-size: 10px; }
.lookup-product-cart > footer > div strong { color: #1b5f52; font-size: 16px; }
#apply-lookup-cart { width: 100%; min-height: 44px; padding: 8px 12px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 5px; color: #fff; background: #0f876f; font-size: 12px; font-weight: 800; }
#apply-lookup-cart:hover:not(:disabled) { background: #0a705c; }
#apply-lookup-cart svg { width: 18px; height: 18px; }

.reservations-modal { position: fixed; inset: 0; z-index: 180; display: none; place-items: center; padding: 24px; background: rgba(8, 29, 35, .7); }
.reservations-modal.visible { display: grid; }
.reservations-dialog { width: min(1240px, 94vw); height: min(720px, calc(100dvh - 48px)); display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; overflow: hidden; border: 1px solid #789197; border-radius: 8px; background: #fff; box-shadow: 0 24px 64px rgba(7, 28, 35, .42); }
.reservations-dialog > header { min-height: 70px; padding: 12px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #fff; background: linear-gradient(90deg, #155e63, #08776f); }
.reservations-dialog > header span, .reservations-dialog > header h2 { display: block; margin: 0; }
.reservations-dialog > header span { color: #b8ddda; font-size: 11px; }
.reservations-dialog > header h2 { margin-top: 2px; font-size: 20px; }
.reservations-dialog > header button { width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 6px; color: #fff; background: rgba(255,255,255,.12); }
.reservations-dialog > header button:hover, .reservations-dialog > header button:focus-visible { background: rgba(255,255,255,.22); outline: 2px solid #fff; }
.reservations-dialog > header button svg { width: 20px; height: 20px; }
.reservations-product { min-height: 88px; padding: 12px 18px; display: grid; grid-template-columns: minmax(260px, 1fr) minmax(420px, .9fr); align-items: center; gap: 24px; border-bottom: 1px solid #d5dfe1; background: #f8fafb; }
.reservations-product > div:first-child strong, .reservations-product > div:first-child span { display: block; }
.reservations-product > div:first-child strong { color: #29444c; font-size: 15px; }
.reservations-product > div:first-child span { margin-top: 4px; color: #647a81; font-size: 11px; }
.reservations-stock-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid #d2dddf; border-radius: 6px; background: #fff; }
.reservations-stock-summary > div { min-width: 0; padding: 9px 12px; border-left: 1px solid #d2dddf; }
.reservations-stock-summary > div:first-child { border-left: 0; }
.reservations-stock-summary span, .reservations-stock-summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reservations-stock-summary span { color: #687d83; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.reservations-stock-summary strong { margin-top: 3px; color: #314b53; font-size: 14px; }
.reservations-stock-summary .is-reserved { background: #fff8ec; }
.reservations-stock-summary .is-reserved strong { color: #945b18; }
.reservations-stock-summary .is-available { background: #edf8f4; }
.reservations-stock-summary .is-available strong { color: #096c59; }
.reservations-content { min-width: 0; min-height: 0; overflow: auto; background: #eef2f3; }
.reservations-loading, .reservations-empty { min-height: 100%; padding: 24px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: #687d83; text-align: center; }
.reservations-empty svg { width: 34px; height: 34px; color: #78a69e; }
.reservations-empty strong { color: #304a52; font-size: 16px; }
.reservations-empty span, .reservations-loading { font-size: 13px; }
.reservations-table-wrap { min-width: 920px; padding: 12px; }
.reservations-table { width: 100%; border-collapse: collapse; border: 1px solid #cbd7da; background: #fff; font-size: 12px; }
.reservations-table th { padding: 10px; border: 1px solid #cbd7da; color: #405a62; background: #e8edef; font-size: 10px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.reservations-table td { padding: 10px; border: 1px solid #d8e0e2; color: #334d55; vertical-align: top; }
.reservations-table tbody tr:nth-child(even) { background: #f7f9fa; }
.reservations-table td strong, .reservations-table td small { display: block; }
.reservations-table td small { margin-top: 2px; color: #6b7e84; font-size: 10px; }
.reservations-note { margin: 0; padding: 10px 16px; border-top: 1px solid #e7d3ae; color: #7b5a28; background: #fff8e9; font-size: 11px; }
.reservations-dialog > footer { min-height: 62px; padding: 9px 14px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #ccd8da; background: #f8fafb; }
.reservations-dialog > footer span { color: #677b82; font-size: 11px; }
.reservations-dialog > footer button { min-width: 110px; min-height: 44px; border: 1px solid #8ca2a7; border-radius: 5px; color: #294b54; background: #fff; font-weight: 800; }
.reservations-dialog > footer button:hover, .reservations-dialog > footer button:focus-visible { border-color: #13836d; color: #086a58; outline: 3px solid rgba(17, 131, 108, .2); outline-offset: 2px; }

@media (max-width: 820px) {
  .smart-suggestions, .partner-field .smart-suggestions { top: 100%; right: 0; left: 0; width: 100%; max-height: min(420px, 55vh); }
  .product-suggestions { top: calc(100% + 5px); }
  .item-search__controls { grid-template-columns: minmax(0, 1fr) 48px; }
  .lookup-result-card { min-height: 92px; grid-template-columns: 48px minmax(0, 1fr); gap: 10px; padding: 11px; }
  .lookup-result-card__symbol { width: 48px; height: 48px; font-size: 12px; }
  .lookup-result-card__body > strong { font-size: 14px; }
  .lookup-result-card__details { font-size: 11px; }
  .lookup-result-card__details > span { display: block; margin-right: 0; }
  .lookup-result-card__action { display: none; }
  .lookup-modal { padding: 0; }
  .lookup-modal__dialog { width: 100%; height: 100dvh; border: 0; border-radius: 0; }
  .lookup-modal__dialog > header { min-height: 66px; padding: 10px 12px; }
  .lookup-modal__dialog > header h2 { font-size: 18px; }
  .lookup-modal__search { padding: 12px; }
  .lookup-modal__summary { min-height: 44px; padding: 8px 12px; align-items: stretch; flex-direction: column; gap: 7px; }
  .lookup-modal__summary > div:first-child { min-height: 28px; justify-content: space-between; }
  #lookup-modal-guidance { display: none; }
  .lookup-product-tools { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .lookup-product-tools > label { min-width: 0; height: 44px; }
  .lookup-product-tools select { height: 42px; font-size: 16px; }
  #toggle-lookup-product-filters { min-height: 44px; }
  .lookup-product-filters { padding: 10px 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lookup-product-filters select { min-height: 44px; font-size: 16px; }
  #clear-lookup-product-filters { min-height: 44px; }
  .lookup-modal--product .lookup-modal__content { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(160px, 1fr) auto; }
  .lookup-modal__results { padding: 8px; }
  .lookup-modal__results .lookup-result-card { min-height: 96px; margin-bottom: 7px; }
  .lookup-result-card--product-select { grid-template-columns: minmax(0, 1fr); }
  .product-card__main { padding: 12px; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; }
  .product-card__main .lookup-result-card__symbol { width: 44px; height: 44px; }
  .product-card__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-card__metric:nth-child(odd) { border-left: 0; }
  .product-card__metric:nth-child(n+3) { border-top: 1px solid #dbe4e6; }
  .lookup-result-card--product-select .lookup-result-card__controls { padding: 10px 12px 12px; border-top: 1px solid #d9e2e4; border-left: 0; }
  .product-control-option, .product-card__add { min-height: 48px; }
  .lookup-product-cart { max-height: min(42dvh, 360px); border-top: 1px solid #bfcdd0; border-left: 0; box-shadow: 0 -8px 24px rgba(12, 42, 49, .12); }
  .lookup-product-cart > header { min-height: 54px; padding: 7px 10px; }
  .lookup-product-cart > header button { min-height: 44px; }
  .lookup-cart-items { padding: 7px; }
  .lookup-cart-empty { min-height: 54px; flex-direction: row; }
  .lookup-cart-empty svg { width: 24px; height: 24px; }
  .lookup-cart-empty span { display: none; }
  .lookup-cart-item__controls { grid-template-columns: 44px 58px 44px 44px; }
  .lookup-cart-item__controls button { width: 44px; height: 44px; }
  .lookup-cart-item__controls input { width: 58px; height: 44px; font-size: 16px; }
  .lookup-product-cart > footer { padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); }
  #apply-lookup-cart { min-height: 48px; font-size: 13px; }
  .reservations-modal { padding: 0; }
  .reservations-dialog { width: 100%; height: 100dvh; border: 0; border-radius: 0; }
  .reservations-product { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 10px 12px; }
  .reservations-stock-summary > div { padding: 8px; }
  .reservations-stock-summary strong { font-size: 12px; }
  .reservations-table-wrap { min-width: 0; padding: 8px; }
  .reservations-table, .reservations-table tbody, .reservations-table tr, .reservations-table td { display: block; }
  .reservations-table thead { display: none; }
  .reservations-table { border: 0; background: transparent; }
  .reservations-table tr { margin-bottom: 8px; padding: 8px 10px; border: 1px solid #ccd8da; border-radius: 6px; background: #fff; }
  .reservations-table td { min-height: 32px; padding: 6px 0; display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 10px; border: 0; border-bottom: 1px solid #edf1f2; }
  .reservations-table td:last-child { border-bottom: 0; }
  .reservations-table td::before { content: attr(data-label); color: #687d83; font-size: 10px; font-weight: 800; text-transform: uppercase; }
  .reservations-dialog > footer { padding-bottom: calc(9px + env(safe-area-inset-bottom)); }
}

@media (max-width: 640px) {
  .grid-section--documents td[data-label="Parceiro"] { grid-column: 1 / -1; padding-block: 5px; border-bottom: 1px solid var(--line-soft); }
}

@media (max-width: 480px) {
  .lookup-modal__search > div { grid-template-columns: 40px minmax(0, 1fr); }
  .lookup-modal__search button { display: none; }
  .lookup-modal__search input { height: 50px; font-size: 16px; }
  .lookup-product-filters { grid-template-columns: minmax(0, 1fr); }
  .product-card__heading { align-items: flex-start; flex-direction: column; }
  .product-control-options { grid-template-columns: minmax(0, 1fr); }
}

/* Utilities that let the seller finish a quote without returning to the ERP. */
.quote-actions-card { width: min(520px, 96vw); border-radius: 8px; overflow: hidden; }
.quote-action-list { padding: 8px; display: grid; gap: 4px; background: #f2f5f6; }
.quote-action-list > button { width: 100%; min-height: 68px; padding: 10px 12px; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 12px; border: 1px solid #d3dcde; border-radius: 6px; color: #304950; background: #fff; text-align: left; }
.quote-action-list > button:hover:not(:disabled), .quote-action-list > button:focus-visible { border-color: #76b5a7; background: #eef8f5; }
.quote-action-list > button > svg { width: 22px; height: 22px; justify-self: center; color: #0b765f; }
.quote-action-list > button > span, .quote-action-list strong, .quote-action-list small { min-width: 0; display: block; }
.quote-action-list strong { font-size: 14px; }
.quote-action-list small { margin-top: 3px; color: #6c7e84; font-size: 11px; font-weight: 400; }
.quote-action-list .quote-action-list__danger { color: #87343c; }
.quote-action-list .quote-action-list__danger > svg { color: #a13b44; }
.quote-print-view { display: none; }

@media (max-width: 520px) {
  .central-actions { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .central-action span { font-size: 11px; }
  .quote-actions-card { width: 100%; border-radius: 12px 12px 0 0; }
  .quote-action-list { padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); }
  .quote-action-list > button { min-height: 72px; }
}

@media print {
  @page { size: A4; margin: 14mm; }
  body { color: #172b31; background: #fff; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; }
  body > *:not(#quote-print-view) { display: none !important; }
  #quote-print-view { width: 100%; display: block !important; }
  .quote-print-view header { padding-bottom: 12px; display: flex; align-items: flex-end; justify-content: space-between; border-bottom: 3px solid #087561; }
  .quote-print-view header h1 { margin: 3px 0 0; color: #173f4a; font-size: 22pt; }
  .quote-print-view header span, .quote-print-view header strong { display: block; }
  .quote-print-view header > div:last-child { text-align: right; }
  .quote-print-view header > div:first-child > span { color: #087561; font-size: 9pt; font-weight: 700; letter-spacing: .08em; }
  .quote-print-customer { margin-block: 14px; padding: 10px; display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 12px; border: 1px solid #cad5d7; background: #f6f9f9; }
  .quote-print-customer span, .quote-print-customer strong, .quote-print-customer small { display: block; overflow-wrap: anywhere; }
  .quote-print-customer span, .quote-print-notes span { color: #657980; font-size: 8pt; font-weight: 700; text-transform: uppercase; }
  .quote-print-customer strong { margin-top: 3px; font-size: 9pt; }
  .quote-print-customer small { margin-top: 2px; color: #657980; font-size: 8pt; }
  .quote-print-view table { width: 100%; min-width: 0; border-collapse: collapse; }
  .quote-print-view th { position: static; height: auto; padding: 7px 6px; color: #fff; background: #173f4a; font-size: 8pt; }
  .quote-print-view td { height: auto; padding: 7px 6px; border-right: 0; border-bottom: 1px solid #dce3e5; font-size: 8.5pt; white-space: normal; }
  .quote-print-view th:nth-last-child(-n+4), .quote-print-view td:nth-last-child(-n+4) { text-align: right; }
  .quote-print-summary { margin: 14px 0 0 auto; width: 260px; border: 1px solid #cad5d7; }
  .quote-print-summary > div { min-height: 34px; padding: 6px 9px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dce3e5; }
  .quote-print-summary > div:last-child { color: #fff; border-bottom: 0; background: #087561; font-size: 12pt; }
  .quote-print-notes { margin-top: 14px; padding: 10px; border: 1px solid #d1dadd; }
  .quote-print-notes p { margin: 5px 0 0; white-space: pre-wrap; }
  .quote-print-view > footer { margin-top: 18px; padding-top: 8px; display: flex; justify-content: space-between; border-top: 1px solid #cad5d7; color: #657980; font-size: 8pt; }
}

/* Central de Vendas: densidade operacional com tipografia mais legível. */
@media screen {
  .content { padding: 10px; }
  .central-app { min-height: auto; }
  .central-titlebar { min-height: 56px; padding: 7px 12px; }
  .central-titlebar > div:first-child > span { font-size: 12px; }
  .central-titlebar h1 { margin-top: 2px; font-size: 21px; line-height: 1.2; }
  .central-document-state span { font-size: 13px; }
  .central-document-state strong { font-size: 11px; }
  .central-actions { min-height: 52px; padding: 4px 8px; gap: 4px; }
  .central-action { min-width: 68px; height: 44px; padding-inline: 8px; font-size: 12px; }
  .central-action svg { width: 20px; height: 20px; }
  .central-workbench { padding: 8px; grid-template-columns: minmax(390px, .82fr) minmax(540px, 1.55fr); gap: 8px; }
  .central-panel > header { min-height: 40px; padding: 6px 11px; }
  .central-panel > header strong { font-size: 15px; }
  .central-panel > header span { font-size: 12px; }
  .central-header { min-height: 360px; }
  .central-items { min-height: clamp(480px, calc(100dvh - 400px), 720px); }
  .central-fields { padding: 10px 12px; grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .central-fields label { min-height: 38px; grid-template-columns: 150px minmax(0, 1fr); gap: 9px; font-size: 14px; }
  .central-fields input, .central-fields select { height: 40px; padding-inline: 10px; font-size: 15px; }
  .central-fields .field-helper { margin-top: -4px; font-size: 12px; }
  .direct-lookup, .inline-lookup { grid-template-columns: minmax(0, 1fr) 44px; }
  .direct-lookup .lookup-button, .lookup-button { min-width: 44px; }
  .central-defaults { margin-top: 1px; }
  .central-defaults > div { padding: 6px 9px; }
  .central-defaults span { font-size: 10px; }
  .central-defaults strong { margin-top: 1px; font-size: 13px; }
  .selected-partner { min-height: 40px; padding: 4px 8px; }
  .selected-partner strong { font-size: 14px; }
  .selected-partner small { font-size: 11px; }
  .selected-partner button { min-height: 36px; font-size: 12px; }
  .central-panel-status { min-height: 32px; padding-inline: 10px; font-size: 12px; }
  .items-toolbar { min-height: 48px; padding: 4px 7px; gap: 7px; }
  .item-icon-button { width: 40px; height: 40px; }
  .item-search { width: min(520px, 100%); grid-template-columns: minmax(0, 1fr) 44px; }
  .item-search input { height: 40px; padding-inline: 10px; font-size: 15px; }
  .quote-items { min-height: 310px; }
  .quote-item-head { min-height: 36px; font-size: 12px; }
  .quote-item { min-height: 58px; }
  .quote-item-product strong { font-size: 14px; }
  .quote-item-product span, .quote-item-product small, .quote-item-product em { font-size: 11px; }
  .quote-item-value strong, .quote-item input { font-size: 13px; }
  .quote-items .grid-empty { min-height: 270px; }
  .grid-empty strong, .empty-state strong { font-size: 15px; }
  .grid-empty span, .empty-state span { font-size: 13px; }
  .central-items-status { font-size: 12px; }
  .central-footer { min-height: 110px; }
  .central-footer > header { min-height: 30px; padding-block: 3px; }
  .central-footer .sub-tabs { min-height: 32px; }
  .central-footer .sub-tabs button { height: 30px; padding-inline: 13px; font-size: 13px; }
  .central-footer__content, .footer-tab-panel, .totals-grid { min-height: 52px; }
  .tracking-fields, .footer-data-grid { min-height: 52px; padding: 5px 9px; }
  .tracking-fields label, .footer-data-grid label { font-size: 13px; }
  .totals-grid > div { padding: 4px 10px; }
  .totals-grid span { font-size: 11px; }
  .totals-grid strong { margin-top: 2px; font-size: 15px; }
  .totals-grid .grand-total strong { font-size: 22px; }
}

@media screen and (min-width: 1101px) {
  .central-workbench {
    grid-template-areas:
      "header items"
      "footer items";
    grid-template-rows: auto auto;
    align-items: stretch;
  }
  .central-header { grid-area: header; }
  .central-items { grid-area: items; min-height: 100%; }
  .central-footer { grid-area: footer; grid-column: auto; }
  .central-footer__content, .central-footer .footer-tab-panel, .central-footer .totals-grid { min-height: 96px; }
  .central-footer .totals-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .central-footer .totals-grid > div { min-height: 48px; border-bottom: 1px solid var(--line-soft); }
  .central-footer .totals-grid > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .central-footer .tracking-fields, .central-footer .footer-data-grid { min-height: 96px; grid-template-columns: minmax(0, 1fr); }
}

@media screen and (max-width: 1100px) {
  .central-workbench { grid-template-columns: 1fr; }
  .central-header { min-height: 0; }
  .central-items { min-height: 520px; }
}

@media screen and (max-width: 820px) {
  .content { padding: 6px 6px calc(14px + env(safe-area-inset-bottom)); }
  .central-titlebar { min-height: 52px; padding: 6px 10px; }
  .central-titlebar h1 { font-size: 19px; }
  .central-actions { min-height: 50px; padding: 3px 6px; }
  .central-action { height: 44px; font-size: 12px; }
  .central-workbench { padding: 6px; gap: 6px; }
  .central-panel { margin-bottom: 6px; }
  .central-panel > header { min-height: 40px; padding: 6px 10px; }
  .central-fields { padding: 9px 10px; grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .central-fields label { grid-template-columns: minmax(0, 1fr); gap: 5px; font-size: 15px; }
  .central-fields input, .central-fields select { height: 48px; font-size: 16px; }
  .central-fields .field-helper { margin-top: -1px; font-size: 12px; }
  .central-defaults > div { padding: 6px 8px; }
  .central-defaults span { font-size: 11px; }
  .central-defaults strong { font-size: 14px; }
  .central-panel-status { min-height: 34px; font-size: 12px; }
  .central-items { min-height: 420px; }
  .items-toolbar { min-height: 0; padding: 6px; gap: 6px; }
  .quote-items { min-height: 260px; }
  .quote-items .grid-empty { min-height: 240px; }
  .central-items-status { min-height: 36px; font-size: 12px; }
  .central-footer .sub-tabs { min-height: 40px; }
  .central-footer .sub-tabs button { height: 38px; font-size: 13px; }
  .central-footer__content, .footer-tab-panel, .totals-grid { min-height: 72px; }
  .totals-grid > div { min-height: 46px; padding: 5px 8px; }
  .totals-grid span { font-size: 11px; }
  .totals-grid strong { font-size: 16px; }
  .totals-grid .grand-total strong { font-size: 22px; }
  .central-footer > footer { min-height: 56px; padding: 6px; }
  .central-footer > footer .primary-button { min-height: 46px; font-size: 14px; }
}

@media screen and (min-width: 600px) and (max-width: 820px) {
  .central-fields { padding: 8px 10px; gap: 5px; }
  .central-fields label { grid-template-columns: 140px minmax(0, 1fr); align-items: center; gap: 8px; font-size: 14px; }
  .central-fields label > span { text-align: right; }
  .central-fields input, .central-fields select { height: 44px; font-size: 15px; }
  .central-fields .field-helper { grid-column: 2; margin-top: -3px; font-size: 11px; }
  .central-defaults { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .central-defaults > div { border-right: 1px solid #dfe5e7; border-bottom: 0; }
  .central-defaults > div:last-child { border-right: 0; }
}

@media screen and (max-width: 520px) {
  .central-titlebar h1 { font-size: 18px; }
  .central-action span { font-size: 11px; }
  .central-panel > header strong { font-size: 15px; }
  .central-fields label { font-size: 15px; }
  .central-items { min-height: 380px; }
  .quote-items { min-height: 220px; }
  .quote-items .grid-empty { min-height: 200px; }
  .central-footer .sub-tabs button { font-size: 13px; }
  .central-footer > footer { min-height: 56px; flex-direction: row; }
}

/* Estado transacional do espelho Sankhya. */
@media screen {
  .central-document-state[data-sync-tone="synced"] i,
  #quote-sync-message[data-sync-tone="synced"] i { background: #15926f; box-shadow: 0 0 0 3px #dff4ed; }
  .central-document-state[data-sync-tone="synced"] strong,
  #quote-sync-message[data-sync-tone="synced"] { color: #0a6f58; }
  .central-document-state[data-sync-tone="syncing"] i,
  #quote-sync-message[data-sync-tone="syncing"] i { background: #287fa5; box-shadow: 0 0 0 3px #e0f1f8; }
  .central-document-state[data-sync-tone="pending"] i,
  #quote-sync-message[data-sync-tone="pending"] i { background: #d49016; box-shadow: 0 0 0 3px #fff0d1; }
  .central-document-state[data-sync-tone="pending"] strong,
  #quote-sync-message[data-sync-tone="pending"] { color: #805500; }
  .central-document-state[data-sync-tone="warning"] i,
  #quote-sync-message[data-sync-tone="warning"] i { background: #dc8b1f; box-shadow: 0 0 0 3px #fff0d8; }
  .central-document-state[data-sync-tone="error"] i,
  #quote-sync-message[data-sync-tone="error"] i { background: #c8454d; box-shadow: 0 0 0 3px #fde5e7; }
  .central-document-state[data-sync-tone="error"] strong,
  #quote-sync-message[data-sync-tone="error"] { color: #9a2932; }
  #quote-sync-message { max-width: 100%; margin: 0; padding: 10px 12px; display: flex; align-items: center; gap: 9px; min-height: 38px; line-height: 1.4; font-size: 13px; color: #40565e; background: #f7fafb; border-bottom: 1px solid var(--line-soft); overflow-wrap: anywhere; }
  #quote-sync-message i { flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: #71858c; }
  .quote-action-list > button:disabled { cursor: not-allowed; opacity: .48; }
}

/* Grade de itens: leitura rápida no desktop e cartões sem rolagem horizontal no celular. */
@media screen {
  .quote-item-head,
  .quote-item {
    min-width: 790px;
    grid-template-columns: 70px minmax(210px, 1.55fr) 68px 88px 108px 96px 110px 38px;
    gap: 0;
    padding: 0;
  }
  .quote-item-head { min-height: 40px; color: #344b52; background: #edf2f3; font-size: 12px; }
  .quote-item-head > span { min-width: 0; padding: 0 10px; overflow: hidden; border-right: 1px solid #d3dcde; text-overflow: ellipsis; white-space: nowrap; }
  .quote-item-head > span:nth-child(n+3):nth-child(-n+7) { text-align: right; }
  .quote-item { min-height: 76px; background: #fff; }
  .quote-item:nth-child(odd) { background: #fbfcfc; }
  .quote-item:hover { background: #f2f9f7; }
  .quote-item > * { min-width: 0; padding: 9px 10px; }
  .quote-item > * + * { border-left: 1px solid #edf1f2; }
  .quote-item-mobile-label { display: none; }
  .quote-item-code strong,
  .quote-item-code small,
  .quote-item-description strong,
  .quote-item-description > span:not(.quote-item-mobile-label),
  .quote-item-description small,
  .quote-item-value small,
  .quote-item-stock strong,
  .quote-item-stock small { display: block; }
  .quote-item-code strong { color: #173f4a; font-size: 14px; font-variant-numeric: tabular-nums; }
  .quote-item-code small { margin-top: 4px; color: #73858a; font-size: 10px; }
  .quote-item-description strong { color: #263f47; font-size: 14px; line-height: 1.25; }
  .quote-item-description > span:not(.quote-item-mobile-label) { margin-top: 4px; color: #62777d; font-size: 11px; }
  .quote-item-description small { margin-top: 3px; color: #0b705b; font-size: 11px; font-weight: 700; }
  .quote-item-unit { text-align: right; }
  .quote-item-unit strong { color: #435960; font-size: 13px; }
  .quote-item-field,
  .quote-item-value,
  .discount-field,
  .quote-item-stock { align-self: stretch; display: flex; flex-direction: column; justify-content: center; text-align: right; }
  .quote-item input { height: 38px; padding-inline: 8px; border-radius: 4px; font-size: 14px; font-variant-numeric: tabular-nums; text-align: right; }
  .quote-item-value strong,
  .quote-item-stock strong { font-size: 14px; font-variant-numeric: tabular-nums; }
  .quote-item-value small,
  .quote-item-stock small { margin-top: 4px; color: #6b7e84; font-size: 10px; line-height: 1.2; }
  .quote-item-unit-price input { color: #174852; font-weight: 800; background: #fff; }
  .quote-item-unit-price input:hover { border-color: #789da4; }
  .quote-item-unit-price input:focus { border-color: #11836c; outline: 3px solid rgba(17, 131, 108, .18); outline-offset: 1px; }
  .quote-item-unit-price.is-discounted input { border-color: #55a58f; color: #086b58; background: #eff9f6; }
  .quote-item-unit-price.requires-approval input { border-color: #d39831; color: #7b5618; background: #fff9ed; }
  .discount-field.requires-approval span { color: #8a5b13; font-weight: 700; }
  .quote-item-unit-price input[aria-invalid="true"] { border-color: #c84b55; color: #9c2f38; background: #fff4f5; outline-color: rgba(200, 75, 85, .2); }
  .quote-item-stock strong { color: #176a58; }
  .quote-item.has-stock-shortage { box-shadow: inset 4px 0 0 #c76c27; }
  .quote-item.has-stock-shortage .quote-item-stock strong,
  .quote-item.has-stock-shortage .quote-item-stock small { color: #9b4d1e; }
  .discount-field span { margin-top: 3px; font-size: 10px; }
  .quote-item .remove-item { align-self: center; width: 32px; height: 32px; margin: 0 5px; padding: 0; display: grid; place-items: center; border-radius: 4px; }
  .quote-item .remove-item:focus-visible { outline: 3px solid rgba(12, 114, 93, .28); outline-offset: 2px; }
}

@media screen and (max-width: 820px) {
  .quote-items { padding: 8px; overflow: visible; }
  .quote-item-head { display: none; }
  .quote-item {
    min-width: 0;
    min-height: 0;
    margin-bottom: 10px;
    padding: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    border: 1px solid #cbd6d8;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 2px 7px rgba(26, 57, 65, .08);
  }
  .quote-item:nth-child(odd),
  .quote-item:hover { background: #fff; }
  .quote-item > *,
  .quote-item > * + * { padding: 0; border-left: 0; }
  .quote-item-mobile-label,
  .quote-item-field > span,
  .quote-item-value > span,
  .discount-field > b { display: block; color: #61767c; font-size: 11px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
  .quote-item-code { grid-column: 1 / -1; padding-right: 48px; display: grid; grid-template-columns: auto auto 1fr; align-items: baseline; gap: 4px 8px; }
  .quote-item-code .quote-item-mobile-label { grid-column: 1 / -1; }
  .quote-item-code strong { color: #0b705b; font-size: 16px; }
  .quote-item-code small { margin: 0; font-size: 11px; }
  .quote-item-description { grid-column: 1 / -1; padding: 0 0 10px; border-bottom: 1px solid #e1e7e8; }
  .quote-item-description strong { margin-top: 4px; font-size: 15px; line-height: 1.3; }
  .quote-item-description > span:not(.quote-item-mobile-label),
  .quote-item-description small { margin-top: 5px; font-size: 12px; }
  .quote-item-unit { min-height: 66px; display: flex; flex-direction: column; justify-content: center; text-align: left; }
  .quote-item-unit strong { margin-top: 7px; font-size: 15px; }
  .quote-item-field,
  .quote-item-value,
  .discount-field,
  .quote-item-stock { min-height: 66px; align-items: stretch; gap: 5px; text-align: left; }
  .quote-item input { height: 48px; font-size: 16px; text-align: left; }
  .quote-item-value strong,
  .quote-item-stock strong { min-height: 0; margin-top: 4px; display: block; font-size: 16px; }
  .quote-item-value small,
  .quote-item-stock small,
  .discount-field span { font-size: 11px; }
  .quote-item-stock { grid-column: 1 / -1; min-height: 62px; padding: 9px 11px; border: 1px solid #cde3dd; border-radius: 5px; background: #eff8f5; }
  .quote-item.has-stock-shortage { box-shadow: inset 4px 0 0 #c76c27, 0 2px 7px rgba(26, 57, 65, .08); }
  .quote-item.has-stock-shortage .quote-item-stock { border-color: #e8c9b3; background: #fff7f1; }
  .quote-item .remove-item { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; margin: 0; }
}

/* A consulta ampliada de produtos usa todo o viewport; as demais consultas seguem compactas. */
@media screen {
  .lookup-modal.lookup-modal--product { padding: 0; }
  .lookup-modal.lookup-modal--product.visible { place-items: stretch; }
  .lookup-modal--product .lookup-modal__dialog {
    width: 100vw;
    max-width: none;
    height: 100dvh;
    max-height: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .lookup-modal--product .lookup-modal__content { grid-template-columns: minmax(0, 1fr) clamp(360px, 29vw, 480px); }
  .lookup-modal--product .lookup-modal__results { scrollbar-gutter: stable; }
}

@media screen and (max-width: 820px) {
  .lookup-modal--product .lookup-modal__content {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(160px, 1fr) auto;
  }
}

/* Commercial summary and manually entered numeric fields. */
.central-defaults { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.quote-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: #fff; }
.quote-summary-field { min-width: 0; min-height: 58px; padding: 7px 10px; display: flex; justify-content: center; flex-direction: column; gap: 4px; border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); color: #30484f; }
.quote-summary-field:nth-child(even) { border-right: 0; }
.quote-summary-field:nth-last-child(-n + 2) { border-bottom: 0; }
.quote-summary-field > span { color: #647980; font-size: 10px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.quote-summary-field > strong { color: #1e5449; font-size: 17px; line-height: 1.15; }
.quote-summary-field > small { color: #6a7c82; font-size: 9px; line-height: 1.2; }
.quote-summary-field--total { color: #fff; background: #246d5d; }
.quote-summary-field--total > span { color: #c9ebe3; }
.quote-summary-field--total > strong { color: #fff; font-size: 22px; }
.quote-summary-input { min-width: 0; height: 36px; display: flex; align-items: center; overflow: hidden; border: 1px solid #b8c7ca; border-radius: 5px; background: #fff; }
.quote-summary-input:focus-within { border-color: #11836c; box-shadow: 0 0 0 3px rgba(17, 131, 108, .14); }
.quote-summary-input b { padding-inline: 9px; color: #536970; font-size: 12px; white-space: nowrap; }
.quote-summary-input input { min-width: 0; width: 100%; height: 34px; padding: 0 9px; border: 0; color: #26434a; background: transparent; font-size: 15px; font-weight: 800; text-align: right; outline: 0; }
.quote-item input[type="number"],
.quote-summary-input input[type="number"],
.lookup-cart-item input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.quote-item input[type="number"]::-webkit-inner-spin-button,
.quote-item input[type="number"]::-webkit-outer-spin-button,
.quote-summary-input input[type="number"]::-webkit-inner-spin-button,
.quote-summary-input input[type="number"]::-webkit-outer-spin-button,
.lookup-cart-item input[type="number"]::-webkit-inner-spin-button,
.lookup-cart-item input[type="number"]::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }

@media screen and (min-width: 1101px) {
  .central-workbench { grid-template-rows: minmax(0, 1fr) auto; }
  .central-footer { min-height: 0; }
  .central-footer__content { min-height: 0; }
}

@media screen and (max-width: 820px) {
  .central-defaults { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .central-defaults > div { border-right: 1px solid #dfe5e7; border-bottom: 0; }
  .quote-summary-field { min-height: 72px; padding: 9px 10px; }
  .quote-summary-field > span { font-size: 11px; }
  .quote-summary-input { height: 48px; }
  .quote-summary-input input { height: 46px; font-size: 16px; }
}

@media screen and (max-width: 380px) {
  .quote-summary-grid { grid-template-columns: minmax(0, 1fr); }
  .quote-summary-field { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .quote-summary-field:last-child { border-bottom: 0; }
}
/* Autenticação e fluxo comercial do piloto */
.login-screen {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 15% 15%, rgba(65, 176, 166, .22), transparent 36%),
    linear-gradient(145deg, #0d3f45 0%, #155e63 48%, #0b3439 100%);
}
.login-screen.authenticated { display: none; }
.login-brand { position: absolute; top: 28px; left: 34px; display: flex; gap: 12px; align-items: center; color: #fff; }
.login-brand > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #f3b61f; color: #173c42; font: 800 22px/1 sans-serif; }
.login-brand div { display: grid; letter-spacing: .04em; }
.login-brand small { opacity: .72; font-size: 10px; letter-spacing: .13em; }
.login-card { width: min(100%, 430px); padding: 34px; border-radius: 18px; background: #fff; box-shadow: 0 28px 80px rgba(3, 24, 27, .34); }
.login-card header span { color: #0b7a68; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.login-card h1 { margin: 8px 0 10px; color: #173c42; font-size: clamp(25px, 5vw, 34px); line-height: 1.08; }
.login-card header p { margin: 0 0 24px; color: #62777b; line-height: 1.5; }
.login-card label, .opportunity-card label { display: grid; gap: 7px; margin-top: 15px; color: #29494f; font-size: 13px; font-weight: 700; }
.login-card input, .opportunity-card input, .opportunity-card select, .opportunity-card textarea { min-height: 44px; border: 1px solid #b8c7c9; border-radius: 8px; padding: 10px 12px; background: #fff; color: #173c42; font: inherit; }
.login-card input:focus, .opportunity-card :is(input, select, textarea):focus { outline: 3px solid rgba(18, 135, 116, .19); border-color: #0b7a68; }
.login-card > button { width: 100%; min-height: 46px; margin-top: 24px; border: 0; border-radius: 8px; background: #0b7a68; color: #fff; font-weight: 800; cursor: pointer; }
.login-card > button:disabled { opacity: .64; cursor: wait; }
.login-error { min-height: 0; color: #a32626; font-size: 13px; line-height: 1.4; }
.login-error:not(:empty) { min-height: 42px; margin: 12px 0; padding: 10px 12px; border-radius: 7px; background: #fff1f1; }
.login-setup-note { margin: 18px 0 0; color: #725b17; font-size: 12px; line-height: 1.45; }
body:not(.is-authenticated) .om-shell { visibility: hidden; }

.opportunity-card { width: min(92vw, 680px); }
.opportunity-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; padding: 20px 24px; }
.opportunity-form-grid .wide { grid-column: 1 / -1; }
.opportunity-card > label { margin: 16px 24px 0; }
.opportunity-card footer { display: flex; justify-content: flex-end; gap: 10px; padding: 20px 24px; }
.opportunity-card .login-error { margin-inline: 24px; }

.pipeline-board { grid-template-columns: repeat(5, minmax(220px, 1fr)); overflow-x: auto; align-items: start; }
.pipeline-card__meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 9px; color: #647a7e; font-size: 11px; }
.pipeline-card__actions { display: flex; gap: 7px; margin-top: 10px; }
.pipeline-card__actions button { min-height: 34px; flex: 1; border: 1px solid #b9ccce; border-radius: 6px; background: #fff; color: #24535a; font-weight: 700; cursor: pointer; }
.pipeline-card.is-overdue { border-left: 4px solid #cc6b24; }

@media (max-width: 680px) {
  .login-screen { padding: 16px; align-items: end; }
  .login-brand { top: 22px; left: 22px; }
  .login-card { padding: 26px 22px; border-radius: 16px 16px 0 0; }
  .opportunity-form-grid { grid-template-columns: 1fr; max-height: 62vh; overflow: auto; }
  .opportunity-form-grid .wide { grid-column: auto; }
  .pipeline-board { scroll-snap-type: x mandatory; }
  .pipeline-column { min-width: min(84vw, 310px); scroll-snap-align: start; }
}

body[data-production-mode="consultation"] #integration-environment { display: inline-flex; white-space: nowrap; }
body[data-production-mode="consultation"] #new-quote-top { display: none; }
