:root {
  --blue: #087cf0;
  --blue-dark: #0068d9;
  --blue-ink: #0565cb;
  --blue-soft: #edf7ff;
  --canvas: #f7f9fb;
  --panel: #ffffff;
  --ink: #1e2733;
  --ink-2: #425264;
  --muted: #7c8998;
  --line: #e1e8ef;
  --line-2: #edf1f5;
  --green: #20b846;
  --red: #f05c55;
  --yellow: #eaae24;
  --shadow: 0 10px 26px rgba(36, 61, 83, .055);
  --radius: 12px;
}
* { box-sizing: border-box; }
/* Explicitly preserve the native hidden attribute for dropdowns and popovers.
   Without this rule, the component display:grid declaration can override it in some browsers. */
[hidden] { display: none !important; }
html { min-width: 320px; scroll-behavior: smooth; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 14px; line-height: 1.4; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--blue-dark); }
h1, h2, h3, p { margin-top: 0; }
h1 { color: #1c2530; font-size: 24px; line-height: 1.18; letter-spacing: -.45px; }
h2 { margin-bottom: 12px; color: #28333e; font-size: 17px; line-height: 1.22; }
h3 { font-size: 15px; }
small, .muted { color: var(--muted); }
code { color: #596a7c; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 12px; }
input, select, textarea { width: 100%; min-height: 40px; border: 1px solid #dbe4ed; border-radius: 8px; padding: 9px 12px; outline: 0; color: var(--ink); background: #fff; transition: border-color .16s ease, box-shadow .16s ease; }
input::placeholder, textarea::placeholder { color: #a5b0bd; }
input:focus, select:focus, textarea:focus { border-color: #86c9fa; box-shadow: 0 0 0 3px rgba(8,124,240,.11); }
textarea { min-height: 88px; resize: vertical; }
input[type="checkbox"], input[type="radio"] { width: auto; min-height: 0; accent-color: var(--blue); }
label { display: grid; gap: 7px; color: #5c6b7b; font-size: 12px; font-weight: 700; }
label > span { color: #637486; font-size: 11px; font-weight: 800; }
table { width: 100%; border-collapse: collapse; }
th { color: #5b6876; background: #fbfcfd; font-size: 11px; font-weight: 700; text-align: left; }
th, td { border-bottom: 1px solid var(--line-2); padding: 12px 14px; vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }

/* Generic interface controls */
.hb-icon { display: block; width: 20px; height: 20px; flex: 0 0 auto; }
.hb-primary, .hb-secondary, .btn { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 8px; padding: 0 15px; font-weight: 700; white-space: nowrap; transition: .15s ease; }
.hb-primary, .btn.primary { border-color: var(--blue); color: #fff; background: var(--blue); box-shadow: 0 5px 14px rgba(8,124,240,.20); }
.hb-primary:hover, .btn.primary:hover { border-color: var(--blue-dark); color: #fff; background: var(--blue-dark); transform: translateY(-1px); }
.hb-secondary, .btn.secondary, .btn.ghost { border-color: #dce6ee; color: #4f6072; background: #fff; }
.hb-secondary:hover, .btn.secondary:hover, .btn.ghost:hover { border-color: #b8dff9; color: var(--blue); background: #f7fcff; }
.btn.wide, .hb-wide { width: 100%; }
.hb-text-danger { display: inline-flex; align-items: center; gap: 7px; border: 0; padding: 0; color: #6b7480; background: transparent; font-weight: 650; }
.hb-text-danger:hover { color: var(--red); }
.flash-stack { display: grid; gap: 8px; margin-bottom: 16px; }
.flash { border: 1px solid; border-radius: 9px; padding: 11px 14px; font-weight: 650; }
.flash.success { border-color: #b8ebcb; color: #13723b; background: #f0fff5; }
.flash.warning { border-color: #f2dea7; color: #8b660d; background: #fffaf0; }
.flash.danger { border-color: #ffd0cd; color: #a3443d; background: #fff3f2; }
.status { display: inline-flex; min-height: 22px; align-items: center; border-radius: 999px; padding: 3px 8px; color: #6c7b8a; background: #edf1f4; font-size: 10px; font-weight: 800; }
.status.success, .status.new, .status.confirmed, .status.completed, .status.applied { color: #16843f; background: #e7faed; }
.status.processing, .status.uploaded, .status.in_progress, .status.partially_confirmed, .status.pending, .status.needs_review { color: #9a6a0b; background: #fff5dc; }
.status.declined, .status.error { color: #b84640; background: #fff0ef; }
.status.shipped, .status.partial { color: #1d71b5; background: #eaf5ff; }
.panel { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); box-shadow: none; }
.panel:not(.table-scroll) { padding: 18px; }
.table-scroll { overflow: auto; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.table-scroll > table { min-width: 680px; }
.table-scroll tbody tr:hover td { background: #fcfdff; }
.table-link { color: var(--blue); font-weight: 700; }
.empty, .empty-state { color: var(--muted); text-align: center; }
.hb-empty { display: grid; gap: 10px; place-items: center; padding: 48px 20px; border: 1px dashed #d8e3ec; border-radius: 11px; color: var(--muted); background: #fff; }
.hb-empty h2, .hb-empty p { margin: 0; }
.page-head, .page-top, .hb-page-title { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 2px 0 16px; }
.page-head h1, .page-top h1, .hb-page-title h1 { margin: 0; }
.page-head p, .page-top p, .hb-page-title p { margin: 4px 0 0; color: var(--muted); }
.eyebrow { color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.form-stack { display: grid; gap: 14px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-panel { padding: 20px; }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.panel-head h2, .panel-head p { margin: 0; }
.card-grid, .stats-grid, .stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.stat-card, .stat-grid > div { display: grid; gap: 4px; min-height: 112px; align-content: center; border: 1px solid var(--line); border-radius: 11px; padding: 17px; background: #fff; }
.stat-card b, .stat-grid b { color: #203448; font-size: 28px; line-height: 1; }
.stat-card span, .stat-grid span { color: var(--muted); font-size: 12px; }
.detail-grid, .two-col { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .85fr); gap: 18px; }
.detail-grid .panel, .two-col .panel { min-width: 0; }
.action-row, .row-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.inline-form, .inline-search, .admin-order-filter, .filter-row, .picker-row { display: flex; align-items: center; gap: 9px; }
.inline-search input, .admin-order-filter input { min-width: 210px; }

/* Auth */
.hb-auth-page { background: #fff; }
.hb-auth-layout { display: grid; grid-template-columns: minmax(500px, 46%) minmax(0, 1fr); min-height: 100vh; }
.hb-auth-brand { position: relative; overflow: hidden; min-height: 100vh; padding: 80px 17.2%; color: #fff; background: linear-gradient(145deg, #0c97f3 0%, #0070dd 100%); }
.hb-auth-brand::before { content: ""; position: absolute; right: -68px; bottom: -79px; width: 330px; height: 450px; border-radius: 60px; transform: rotate(19deg); background: rgba(146, 211, 255, .28); }
.hb-auth-brand::after { content: ""; position: absolute; right: 45px; bottom: 102px; width: 92px; height: 92px; border-radius: 50%; background: rgba(0, 114, 230, .77); }
.hb-auth-logo, .hb-logo { display: inline-flex; align-items: center; width: max-content; color: inherit; font-size: 26px; font-weight: 900; letter-spacing: -1.45px; }
.hb-auth-logo:hover { color: #fff; }
.hb-auth-logo i, .hb-logo i { display: block; width: 14px; height: 17px; margin: 0 2px; border-radius: 5px; transform: rotate(31deg); background: currentColor; }
.hb-auth-copy { position: relative; z-index: 1; margin-top: 110px; }
.hb-auth-copy h1 { color: #fff; font-size: 53px; letter-spacing: -1.7px; }
.hb-auth-copy > span { display: block; width: 34px; height: 2px; margin: 30px 0; background: #fff; }
.hb-auth-copy p { font-size: 19px; }
.hb-auth-features { position: relative; z-index: 1; display: grid; gap: 16px; margin-top: 40px; font-size: 16px; font-weight: 700; }
.hb-auth-features div { display: flex; align-items: center; gap: 14px; }
.hb-auth-features svg { width: 26px; height: 26px; }
.hb-auth-side { display: grid; place-items: center; padding: 44px; background: #fff; }
.hb-auth-card { width: min(100%, 630px); padding: 56px 48px 58px; border: 1px solid #dce4ec; border-radius: 13px; background: #fff; box-shadow: 0 13px 34px rgba(24, 59, 91, .045); }
.hb-auth-card h1, .hb-auth-card h2 { margin-bottom: 27px; font-size: 30px; }
.hb-login-form { display: grid; gap: 19px; }
.hb-login-form label { gap: 8px; color: #45505e; font-size: 15px; font-weight: 650; }
.hb-login-form label > span { color: #45505e; font-size: 15px; font-weight: 650; }
.hb-login-form input { min-height: 50px; font-size: 15px; }
.hb-login-links { margin-top: -4px; }
.hb-login-links a { font-weight: 700; }
.hb-remember { display: flex !important; align-items: center; gap: 8px !important; font-size: 13px !important; }
.hb-login-form .hb-remember { display: none !important; }
.hb-field-wrap { position: relative; }
.hb-field-wrap .hb-field-icon { position: absolute; top: 15px; left: 14px; width: 20px; height: 20px; color: #a3afbc; pointer-events: none; }
.hb-field-wrap input { padding-left: 48px; }
.hb-password-toggle { position: absolute; top: 7px; right: 8px; display: grid; width: 36px; height: 36px; place-items: center; border: 0; color: #9aa7b5; background: transparent; }
.hb-auth-register-note { margin: 26px 0 0; color: #8793a2; text-align: center; }
.hb-auth-register-note a { font-weight: 700; }
.auth-links { margin-top: 18px; text-align: center; }
.qr-wrap { display: grid; gap: 12px; justify-items: center; margin: 20px 0; }
.qr-wrap img { width: 205px; height: 205px; }

/* Main header */
.hb-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid #e2e9f0; background: rgba(255,255,255,.97); box-shadow: 0 1px 0 rgba(24,51,78,.02); backdrop-filter: blur(12px); }
.hb-head-main { display: flex; min-height: 84px; align-items: center; gap: 24px; padding: 0 24px; }
.hb-logo { min-width: 268px; color: #0874dd; white-space: nowrap; }
.hb-logo:hover { color: #0874dd; }
.hb-logo i { color: #0874dd; }
.hb-catalog-wrap, .hb-account-wrap { position: relative; }
.hb-catalog-button { display: inline-flex; min-height: 46px; align-items: center; gap: 10px; border: 1px solid var(--blue); border-radius: 7px; padding: 0 17px; color: #fff; background: var(--blue); font-weight: 700; box-shadow: 0 4px 11px rgba(8,124,240,.20); }
.hb-catalog-button:hover { color: #fff; background: var(--blue-dark); }
.hb-catalog-button .hb-icon { width: 21px; height: 21px; }
.hb-catalog-menu, .hb-account-menu { position: absolute; top: calc(100% + 8px); z-index: 80; display: grid; min-width: 220px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; padding: 5px; background: #fff; box-shadow: 0 16px 38px rgba(30,58,81,.15); }
.hb-catalog-menu a, .hb-account-menu a, .hb-account-menu button { display: flex; min-height: 37px; align-items: center; border: 0; border-radius: 7px; padding: 0 10px; color: #526476; background: #fff; font-weight: 650; text-align: left; }
.hb-catalog-menu a:hover, .hb-account-menu a:hover, .hb-account-menu button:hover { color: var(--blue); background: var(--blue-soft); }
.hb-account-menu { right: 0; }
.hb-account-menu form { margin: 0; }
.hb-account-menu button { width: 100%; }
.hb-search { position: relative; flex: 1 1 450px; max-width: 540px; min-width: 240px; }
.hb-search input { min-height: 47px; padding-right: 50px; border-radius: 8px; color: #536477; }
.hb-search button { position: absolute; top: 6px; right: 7px; display: grid; width: 35px; height: 35px; place-items: center; border: 0; color: #3d4d5c; background: transparent; }
.hb-search button:hover { color: var(--blue); }
.hb-quick-links { display: flex; align-items: center; gap: 19px; margin-left: auto; }
.hb-quick-links > a { display: grid; min-width: 57px; justify-items: center; gap: 4px; color: #455262; font-size: 11px; font-weight: 650; text-align: center; }
.hb-quick-links > a:hover { color: var(--blue); }
.hb-quick-links .hb-icon { width: 22px; height: 22px; }
.hb-tool-icon { position: relative; display: grid; }
.hb-tool-icon > b { position: absolute; top: -8px; right: -11px; display: grid; min-width: 17px; height: 17px; place-items: center; border-radius: 999px; padding: 0 4px; color: #fff; background: var(--blue); font-size: 10px; }
.hb-account { display: flex; min-width: 0; align-items: center; gap: 9px; border: 0; padding: 0; color: #526171; background: transparent; text-align: left; }
.hb-account:hover { color: var(--blue); }
.hb-account > .hb-icon:first-child { width: 28px; height: 28px; }
.hb-account > .hb-icon:last-child { width: 15px; height: 15px; }
.hb-account span { display: grid; min-width: 0; gap: 1px; }
.hb-account b, .hb-account small { display: block; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hb-account b { color: #4a5665; font-size: 12px; }
.hb-account small { font-size: 11px; }
.hb-cart { position: relative; display: flex; min-height: 46px; align-items: center; gap: 7px; border-left: 1px solid #e5ebf0; padding-left: 22px; color: #4d5b69; font-size: 12px; font-weight: 650; }
.hb-cart:hover { color: var(--blue); }
.hb-cart .hb-icon { width: 23px; height: 23px; }
.hb-cart > b { position: absolute; top: 4px; left: 40px; display: grid; min-width: 17px; height: 17px; place-items: center; border-radius: 50%; padding: 0 4px; color: #fff; background: var(--blue); font-size: 10px; }
.hb-nav { display: flex; min-height: 57px; align-items: center; gap: 31px; border-top: 1px solid #eff3f6; padding: 0 24px; white-space: nowrap; }
.hb-nav b { margin-right: 26px; color: var(--blue); font-size: 15px; }
.hb-nav a, .hb-nav button { display: inline-flex; min-height: 56px; align-items: center; gap: 7px; border: 0; padding: 0; color: #3f4e5d; background: transparent; font-size: 12px; font-weight: 650; }
.hb-nav a:hover, .hb-nav a.active, .hb-nav button:hover { color: var(--blue); }
.hb-nav button .hb-icon { width: 16px; height: 16px; }

/* App frame and staff sidebar */
.hb-layout { min-height: calc(100vh - 84px); }
.hb-header.is-client + .hb-layout { min-height: calc(100vh - 141px); }
.hb-layout.has-sidebar { display: grid; grid-template-columns: 244px minmax(0, 1fr); }
.hb-sidebar { border-right: 1px solid var(--line); padding: 20px 8px; background: #fff; }
.hb-side-caption { margin: 0 14px 15px; color: #596b7c; font-size: 13px; font-weight: 750; }
.hb-sidebar a { display: flex; min-height: 43px; align-items: center; gap: 12px; margin: 1px 0; border-radius: 7px; padding: 0 14px; color: #4b5c6c; font-weight: 650; }
.hb-sidebar a:hover, .hb-sidebar a.active { color: var(--blue); background: #eef8ff; }
.hb-sidebar .hb-icon { width: 19px; height: 19px; color: #728294; }
.hb-sidebar a:hover .hb-icon, .hb-sidebar a.active .hb-icon { color: var(--blue); }
.hb-content { width: 100%; max-width: 1800px; margin: 0 auto; padding: 22px 24px 56px; }

/* Client catalogue */
.hb-page-title { margin-bottom: 18px; }
.hb-page-title > div { display: flex; align-items: baseline; gap: 15px; }
.hb-page-title p { font-size: 12px; }
.hb-catalog { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 22px; }
.hb-catalog-sidebar { align-self: start; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; padding: 0 0 8px; background: #fff; }
.hb-catalog-sidebar-title { min-height: 47px; display: flex; align-items: center; border-bottom: 1px solid var(--line-2); padding: 0 17px; color: #293644; font-weight: 750; }
.hb-catalog-sidebar a { position: relative; display: flex; min-height: 38px; align-items: center; gap: 10px; padding: 0 17px; color: #5e6c7b; font-size: 13px; font-weight: 600; }
.hb-catalog-sidebar a > span { display: grid; width: 19px; height: 19px; flex: 0 0 auto; border: 1.5px solid #8d9cab; border-radius: 5px; }
.hb-catalog-sidebar a:hover { color: var(--blue); background: #fbfdff; }
.hb-catalog-sidebar a.active { color: var(--blue); background: linear-gradient(90deg, #fff 0%, #e8f5ff 100%); font-weight: 750; }
.hb-catalog-sidebar a.active::before { content: ""; position: absolute; left: 0; width: 2px; height: 21px; background: var(--blue); }
.hb-catalog-sidebar a.active > span { border-color: var(--blue); }
.hb-catalog-main { min-width: 0; }
.hb-filter-bar { display: grid; grid-template-columns: 1.5fr repeat(3, minmax(140px, .85fr)) minmax(155px,.9fr); gap: 15px; border: 1px solid var(--line); border-radius: 12px; padding: 20px; background: #fff; }
.hb-filter-bar label { min-width: 0; }
.hb-filter-search { grid-column: span 2; }
.hb-filter-search > div, .hb-price-search > div { position: relative; }
.hb-filter-search input, .hb-price-search input { padding-right: 42px; }
.hb-filter-search svg, .hb-price-search svg { position: absolute; top: 10px; right: 11px; width: 20px; height: 20px; color: #465766; }
.hb-filter-actions { display: flex; align-items: end; gap: 8px; }
.hb-filter-actions > * { flex: 1; }
.hb-catalog-count { margin: 13px 0 11px; color: #909dab; font-size: 12px; }
.hb-product-table { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.hb-product-head, .hb-product-row { display: grid; grid-template-columns: 62px minmax(260px, 2fr) 145px 100px 125px 140px 140px 78px; align-items: center; column-gap: 10px; }
.hb-product-head { min-height: 56px; border-bottom: 1px solid var(--line); padding: 0 13px; color: #5c6a78; background: #fbfcfd; font-size: 11px; font-weight: 700; }
.hb-product-head span { display: grid; gap: 2px; }
.hb-product-head small { font-size: 10px; }
.hb-product-row { min-height: 92px; border-bottom: 1px solid var(--line-2); padding: 10px 13px; }
.hb-product-row:last-child { border-bottom: 0; }
.hb-product-row:hover { background: #fcfeff; }
.hb-product-image { display: grid; width: 54px; height: 68px; place-items: center; overflow: hidden; border-radius: 5px; background: linear-gradient(135deg, #eff3f5, #fff); }
.hb-product-image img { width: 100%; height: 100%; object-fit: contain; }
.hb-product-image b { color: #8999a7; font-size: 9px; text-align: center; }
.hb-product-info { display: grid; gap: 8px; min-width: 0; }
.hb-product-info a { overflow: hidden; color: var(--blue); font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.hb-product-info small { font-size: 12px; }
.hb-product-article, .hb-product-code { color: #657486; font-size: 12px; }
.hb-product-stock { display: grid; grid-template-columns: 9px minmax(0,1fr); column-gap: 7px; align-items: center; color: #4c5c6d; font-size: 12px; }
.hb-product-stock i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.hb-product-stock b { font-size: 12px; font-weight: 650; }
.hb-product-stock small { grid-column: 2; }
.hb-product-price { display: grid; gap: 4px; }
.hb-product-price b { color: #273440; font-size: 14px; }
.hb-product-price small { font-size: 10px; }
.hb-product-price.is-empty { color: #9aa6b3; }
.hb-product-add { justify-self: end; }
.hb-product-add button { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid #d9eafb; border-radius: 7px; color: var(--blue); background: #eff8ff; }
.hb-product-add button:hover { border-color: #a8d8fb; background: #e2f4ff; }
.hb-product-add svg { width: 21px; height: 21px; }
.hb-catalog-actions { display: flex; justify-content: flex-end; gap: 7px; }
.hb-catalog-actions form { margin: 0; }
.hb-row-icon-button { display: grid; width: 33px; height: 33px; place-items: center; border: 0; border-radius: 6px; color: #92a0ad; background: transparent; }
.hb-row-icon-button:hover, .hb-row-icon-button.is-active { color: var(--blue); background: #edf7ff; }
.hb-row-icon-button .hb-icon { width: 19px; height: 19px; }
.hb-pager { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 18px; }
.hb-pager a { display: grid; min-width: 35px; height: 35px; place-items: center; border: 1px solid transparent; border-radius: 7px; color: #627384; font-weight: 700; }
.hb-pager a:hover { background: #edf7ff; color: var(--blue); }
.hb-pager a.active { border-color: #b8ddfa; color: var(--blue); background: #eff9ff; }

/* Price lists */
.hb-price-title { margin-bottom: 14px; }
.hb-title-actions { display: flex; gap: 10px; }
.hb-price-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.hb-price-card form { padding: 20px; }
.hb-price-filter-grid { display: grid; grid-template-columns: minmax(260px,1.5fr) repeat(3, minmax(160px,.85fr)) minmax(170px,.85fr); gap: 15px; }
.hb-price-search { grid-column: span 1; }
.hb-price-options { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 17px; }
.hb-price-options > div { display: grid; gap: 9px; }
.hb-price-options > div > b { color: #637486; font-size: 11px; }
.hb-check-list { display: flex; flex-wrap: wrap; gap: 7px; }
.hb-check-list label { position: relative; display: block; margin: 0; }
.hb-check-list input { position: absolute; opacity: 0; pointer-events: none; }
.hb-check-list label span { display: block; border: 1px solid #dce6ed; border-radius: 7px; padding: 8px 10px; color: #5c6b7a; background: #fff; font-size: 12px; font-weight: 650; }
.hb-check-list input:checked + span { border-color: #98d2f7; color: var(--blue); background: #eff9ff; }
.hb-price-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px; border-top: 1px solid var(--line-2); padding-top: 16px; }
.hb-price-preview { margin-top: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.hb-price-preview-title { display: flex; align-items: center; justify-content: space-between; padding: 15px 17px; border-bottom: 1px solid var(--line); }
.hb-price-preview-title h2 { margin: 0; font-size: 15px; }
.hb-price-preview table th, .hb-price-preview table td { padding: 10px 14px; }
.hb-availability { display: inline-flex; align-items: center; gap: 6px; color: #5d6a77; }
.hb-availability::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green); }

/* Cart and checkout */
.hb-cart-title { margin-top: 1px; }
.hb-cart-title > div { gap: 14px; }
.hb-cart-mode { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.hb-segmented { display: flex; width: min(350px,100%); border: 1px solid #dce5ed; border-radius: 999px; padding: 3px; background: #fff; }
.hb-segmented label { flex: 1; position: relative; display: block; margin: 0; }
.hb-segmented input { position: absolute; opacity: 0; }
.hb-segmented span { display: block; min-height: 34px; border-radius: 999px; padding: 8px 16px; color: #5a6878; font-size: 12px; font-weight: 700; text-align: center; }
.hb-segmented input:checked + span { color: #fff; background: var(--blue); box-shadow: 0 3px 8px rgba(8,124,240,.2); }
.hb-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 374px; gap: 20px; align-items: start; }
.hb-cart-table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.hb-cart-table { min-width: 930px; }
.hb-cart-table th { height: 42px; font-size: 10px; }
.hb-cart-table td { padding: 8px 12px; font-size: 12px; }
.hb-cart-product { display: flex; min-width: 235px; align-items: center; gap: 13px; }
.hb-cart-product > div { display: grid; gap: 5px; min-width: 0; }
.hb-cart-product a { overflow: hidden; color: var(--blue); font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.hb-cart-product small { font-size: 11px; }
.hb-cart-thumb { display: grid; width: 36px; height: 50px; flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: 4px; background: linear-gradient(135deg,#f0f4f6,#fff); }
.hb-cart-thumb img { width: 100%; height: 100%; object-fit: contain; }
.hb-green-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--green); }
.hb-stepper { display: grid; grid-template-columns: 30px 42px 30px; align-items: center; overflow: hidden; border: 1px solid #dbe5ec; border-radius: 6px; }
.hb-stepper button { height: 31px; border: 0; color: #536474; background: #fff; }
.hb-stepper button:hover { color: var(--blue); background: #f5fbff; }
.hb-stepper input { min-height: 31px; border: 0; border-right: 1px solid #edf1f4; border-left: 1px solid #edf1f4; border-radius: 0; padding: 2px; text-align: center; }
.hb-remove { display: grid; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 50%; color: #7f8d9a; background: transparent; font-size: 21px; }
.hb-remove:hover { color: var(--red); background: #fff4f3; }
.hb-cart-summary { position: sticky; top: 163px; display: grid; gap: 0; border: 1px solid var(--line); border-radius: 12px; padding: 22px; background: #fff; box-shadow: var(--shadow); }
.hb-cart-summary h2 { margin: 0 0 16px; font-size: 20px; }
.hb-cart-summary > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; color: #5f6b78; }
.hb-cart-summary > div b { color: #4a5562; font-weight: 650; }
.hb-summary-line { height: 1px; margin: 11px 0; padding: 0 !important; background: #e8edf2; }
.hb-cart-summary .hb-cart-total { align-items: end; padding: 10px 0 19px; color: #313c48; font-size: 15px; font-weight: 700; }
.hb-cart-total b { color: #202a35 !important; font-size: 27px; line-height: 1; }
.hb-cart-summary .hb-primary { min-height: 47px; font-size: 15px; }
.hb-cart-summary-note { display: flex; justify-content: center; align-items: center; gap: 7px; margin-top: 18px; color: #9aa5af; font-size: 11px; }
.hb-cart-summary-note .hb-icon { width: 17px; height: 17px; }
.hb-checkout-inline { margin-top: 16px; border: 1px solid var(--line); border-radius: 10px; padding: 18px; background: #fff; }
.hb-checkout-inline h2 { margin-bottom: 13px; font-size: 19px; }
.hb-checkout-inline .checkout-fields { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; }
.hb-checkout-inline .checkout-comment { margin-top: 15px; }
.hb-checkout-inline .checkout-submit-row { display: flex; justify-content: flex-end; margin-top: 15px; }

/* Staff tables, manager workspace and order card */
.hb-workspace-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 18px; }
.hb-workspace-stats > div { display: grid; gap: 5px; min-height: 86px; align-content: center; border: 1px solid var(--line); border-radius: 10px; padding: 15px; background: #fff; }
.hb-workspace-stats b { color: #24384b; font-size: 25px; }
.hb-workspace-stats span { color: var(--muted); font-size: 12px; }
.hb-desk { display: grid; grid-template-columns: 354px minmax(0,1fr); min-height: 590px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.hb-desk-list { border-right: 1px solid var(--line); padding: 14px; }
.hb-desk-title { display: flex; align-items: center; justify-content: space-between; padding: 2px 3px 13px; }
.hb-desk-title h2 { margin: 0; }
.hb-desk-title a { font-size: 12px; font-weight: 700; }
.hb-order-preview { display: grid; gap: 6px; margin: 8px 0; border: 1px solid #e5ebf0; border-radius: 8px; padding: 13px; color: #394958; }
.hb-order-preview:hover { border-color: #b8ddfa; color: #394958; background: #fbfdff; }
.hb-order-preview.active { border: 2px solid var(--blue); padding: 12px; background: #fafeff; }
.hb-order-preview > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.hb-order-preview p { margin: 0; color: #647486; font-size: 12px; }
.hb-order-preview small { display: flex; justify-content: space-between; }
.hb-desk-info { display: grid; align-content: center; justify-items: start; padding: 42px; background: linear-gradient(135deg,#fff 0%,#f4faff 100%); }
.hb-desk-info h2 { font-size: 24px; }
.hb-desk-info p { max-width: 450px; color: #617184; }
.hb-order-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.hb-back { display: inline-block; margin-bottom: 9px; color: #718091; font-size: 12px; font-weight: 650; }
.hb-order-header h1 { font-size: 25px; }
.hb-order-header p { margin: 6px 0 0; color: #788694; font-size: 12px; }
.hb-order-header-actions { display: flex; align-items: center; gap: 14px; }
.hb-order-header-actions > b { color: #233142; font-size: 20px; }
.hb-order-summary { display: grid; grid-template-columns: 1.2fr 1.2fr 1fr 1fr 1fr; margin-bottom: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.hb-order-summary > div { display: grid; gap: 5px; min-height: 91px; align-content: center; border-right: 1px solid var(--line-2); padding: 15px 18px; }
.hb-order-summary > div:last-child { border: 0; }
.hb-order-summary span { color: #8794a1; font-size: 10px; font-weight: 750; }
.hb-order-summary b { color: #3e4e5e; font-size: 13px; }
.hb-order-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 20px; }
.hb-order-main { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.hb-section-title { display: flex; align-items: center; justify-content: space-between; padding: 17px 19px; border-bottom: 1px solid var(--line); }
.hb-section-title h2 { margin: 0; }
.hb-order-table-wrap { overflow: auto; }
.hb-order-table { min-width: 720px; }
.hb-order-table th { font-size: 10px; }
.hb-order-table td { color: #586775; font-size: 12px; }
.hb-order-table td b { color: #384a5e; }
.hb-order-side { display: grid; align-content: start; gap: 14px; }
.hb-order-side > section { border: 1px solid var(--line); border-radius: 10px; padding: 17px; background: #fff; }
.hb-order-side h2 { margin-bottom: 14px; font-size: 14px; }
.hb-order-side dl { display: grid; grid-template-columns: 1fr; gap: 4px 8px; margin: 0; }
.hb-order-side dt { color: #8996a3; font-size: 10px; }
.hb-order-side dd { margin: 0 0 7px; color: #576777; font-size: 11px; }
.hb-status-form { display: grid; gap: 11px; }
.hb-confirmation { margin-top: 20px; border: 1px solid var(--line); border-radius: 11px; padding: 18px; background: #fff; }
.hb-confirmation-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.hb-confirmation-top h2 { margin: 0; }
.hb-confirmation-top p { margin: 4px 0 0; color: #7b8997; font-size: 12px; }
.hb-confirmation-top > b { color: #243344; font-size: 20px; }
.hb-confirmation-actions { display: grid; grid-template-columns: minmax(260px,1fr) auto; align-items: end; gap: 14px; margin-top: 14px; }
.hb-confirmation-actions > div { display: flex; gap: 8px; }
.hb-readonly-price { display: inline-flex; min-width: 110px; border: 1px solid #e4eaf0; border-radius: 7px; padding: 9px; color: #81909f; background: #f7f9fb; }

/* Screens not shown in mockups, styled in the same system */
.back-link, .back { display: inline-block; margin-bottom: 11px; color: #718091; font-size: 12px; font-weight: 650; }
.settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.settings-section { border: 1px solid var(--line); border-radius: 10px; padding: 16px; background: #fff; }
.settings-section h2 { margin-bottom: 13px; }
.subscription-panel, .subscription-list-panel { margin-bottom: 18px; }
.export-filter-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.multi-picker, .region-picker { display: grid; gap: 8px; margin-top: 14px; }
.multi-picker > b, .region-picker > b { color: #4f6070; }
.multi-picker > b span, .region-picker > span { color: var(--muted); font-size: 11px; font-weight: 500; }
.multi-picker > div, .region-picker > div { display: flex; flex-wrap: wrap; gap: 10px; }
.check { display: inline-flex; align-items: center; gap: 7px; color: #5c6b7a; font-size: 12px; }
.danger-text, .danger-action { color: var(--red); }
.source-thumb { width: 45px; height: 45px; border-radius: 5px; object-fit: cover; }
.source-actions { display: grid; gap: 7px; }
.parser-actions, .parser-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.parser-note { border: 1px solid #dceaf5; border-radius: 10px; padding: 14px; background: #f9fdff; }
.order-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.order-summary > div { border: 1px solid var(--line); border-radius: 8px; padding: 12px; }
.order-summary span { display: block; color: var(--muted); font-size: 11px; }
.order-summary b { display: block; margin-top: 5px; }
.success-panel { width: min(100%,700px); margin: 56px auto; border: 1px solid var(--line); border-radius: 13px; padding: 42px; background: #fff; text-align: center; }
.success-icon { display: grid; width: 58px; height: 58px; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: #fff; background: var(--green); font-size: 28px; }
.order-success-total { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 22px 0; padding: 17px; border-radius: 9px; background: #f7fbfe; text-align: left; }
.success-actions { display: flex; justify-content: center; gap: 10px; }

/* Dialog */
.hb-support-dialog { width: min(92vw,430px); border: 0; border-radius: 14px; padding: 0; color: var(--ink); box-shadow: 0 24px 80px rgba(18,42,61,.24); }
.hb-support-dialog::backdrop { background: rgba(25,42,58,.34); backdrop-filter: blur(2px); }
.hb-support-card { position: relative; display: grid; justify-items: center; padding: 30px; text-align: center; }
.hb-support-card h2 { margin: 13px 0 9px; }
.hb-support-card p { margin: 0 0 20px; color: #677788; }
.hb-support-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: var(--blue); background: #edf8ff; }
.hb-support-icon .hb-icon { width: 26px; height: 26px; }
.hb-modal-close { position: absolute; top: 10px; right: 11px; width: 28px; height: 28px; border: 0; border-radius: 50%; color: #7d8b97; background: transparent; font-size: 22px; line-height: 1; }
.hb-modal-close:hover { color: var(--red); background: #fff2f1; }

@media (max-width: 1420px) {
  .hb-head-main { gap: 15px; }
  .hb-logo { min-width: auto; }
  .hb-quick-links { gap: 11px; }
  .hb-account b, .hb-account small { max-width: 115px; }
  .hb-filter-bar { grid-template-columns: repeat(4,minmax(140px,1fr)); }
  .hb-filter-search { grid-column: span 2; }
  .hb-filter-actions { grid-column: span 2; }
  .hb-product-head, .hb-product-row { grid-template-columns: 62px minmax(220px,1.8fr) 125px 95px 105px 128px 128px 70px; }
  .hb-price-filter-grid { grid-template-columns: minmax(240px,1.25fr) repeat(2,minmax(150px,.85fr)); }
}
@media (max-width: 1180px) {
  .hb-quick-links { display: none; }
  .hb-head-main { gap: 14px; }
  .hb-search { max-width: none; }
  .hb-product-head { display: none; }
  .hb-product-row { grid-template-columns: 62px minmax(220px,1fr) 105px 135px 48px; min-height: 94px; }
  .hb-product-article, .hb-product-code { display: none; }
  .hb-product-stock { grid-column: 3; }
  .hb-product-price { grid-column: 4; }
  .hb-product-price:nth-of-type(7) { display: none; }
  .hb-product-add { grid-column: 5; }
  .hb-catalog { grid-template-columns: 216px minmax(0,1fr); gap: 16px; }
  .hb-cart-layout, .hb-order-layout { grid-template-columns: 1fr; }
  .hb-cart-summary { position: static; }
  .hb-order-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hb-order-summary { grid-template-columns: repeat(3,1fr); }
  .hb-order-summary > div:nth-child(3) { border-right: 0; }
  .hb-price-options { grid-template-columns: 1fr; gap: 15px; }
}
@media (max-width: 920px) {
  .hb-head-main { min-height: 72px; flex-wrap: wrap; padding: 12px 16px; }
  .hb-search { order: 5; flex-basis: 100%; }
  .hb-header.is-client + .hb-layout { min-height: calc(100vh - 181px); }
  .hb-nav { min-height: 48px; gap: 18px; overflow: auto; padding: 0 16px; }
  .hb-nav b { display: none; }
  .hb-nav a, .hb-nav button { min-height: 47px; }
  .hb-layout.has-sidebar { grid-template-columns: 1fr; }
  .hb-sidebar { display: flex; overflow: auto; border-right: 0; border-bottom: 1px solid var(--line); padding: 8px; white-space: nowrap; }
  .hb-sidebar a { flex: 0 0 auto; }
  .hb-side-caption { display: none; }
  .hb-content { padding: 20px 16px 46px; }
  .hb-catalog { grid-template-columns: 1fr; }
  .hb-catalog-sidebar { display: flex; overflow: auto; border: 0; border-radius: 0; padding: 0; background: transparent; white-space: nowrap; }
  .hb-catalog-sidebar-title { display: none; }
  .hb-catalog-sidebar a { min-height: 34px; border: 1px solid #e0e8ef; border-radius: 7px; padding: 0 11px; background: #fff; }
  .hb-catalog-sidebar a > span { display: none; }
  .hb-catalog-sidebar a.active::before { display: none; }
  .hb-filter-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hb-filter-search { grid-column: span 2; }
  .hb-filter-actions { grid-column: span 2; }
  .hb-workspace-stats, .card-grid, .stats-grid, .stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hb-desk { grid-template-columns: 1fr; min-height: 0; }
  .hb-desk-list { border-right: 0; border-bottom: 1px solid var(--line); }
  .hb-desk-info { min-height: 270px; }
  .hb-checkout-inline .checkout-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .form-grid, .export-filter-grid, .settings-grid, .detail-grid, .two-col { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  body { font-size: 13px; }
  h1 { font-size: 22px; }
  .hb-head-main { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; min-height: 64px; padding: 9px 12px; }
  .hb-logo { font-size: 19px; }
  .hb-catalog-button { min-height: 39px; padding: 0 11px; }
  .hb-catalog-button span { display: none; }
  .hb-account span { display: none; }
  .hb-account > .hb-icon:first-child { width: 24px; height: 24px; }
  .hb-account > .hb-icon:last-child { display: none; }
  .hb-cart { min-height: 39px; border-left: 0; padding-left: 0; }
  .hb-cart span { display: none; }
  .hb-cart > b { top: -2px; left: 17px; }
  .hb-search { grid-column: 1 / -1; width: 100%; min-width: 0; }
  .hb-header.is-client + .hb-layout { min-height: calc(100vh - 173px); }
  .page-head, .page-top, .hb-page-title { align-items: flex-start; flex-direction: column; }
  .hb-page-title > div { flex-wrap: wrap; }
  .hb-title-actions { width: 100%; }
  .hb-title-actions > * { flex: 1; }
  .hb-filter-bar, .hb-price-filter-grid { grid-template-columns: 1fr; padding: 14px; }
  .hb-filter-search, .hb-filter-actions { grid-column: auto; }
  .hb-filter-actions { align-items: stretch; }
  .hb-product-table { border: 0; background: transparent; }
  .hb-product-row { grid-template-columns: 54px minmax(0,1fr) 44px; min-height: 97px; margin-bottom: 8px; border: 1px solid var(--line); border-radius: 9px; padding: 11px; background: #fff; }
  .hb-product-stock, .hb-product-price { display: none; }
  .hb-product-add { grid-column: 3; }
  .hb-product-image { width: 46px; height: 62px; }
  .hb-product-info a { white-space: normal; }
  .hb-price-card form { padding: 14px; }
  .hb-price-footer { align-items: stretch; flex-direction: column; }
  .hb-price-footer .hb-primary { width: 100%; }
  .hb-cart-mode { align-items: flex-start; flex-direction: column; }
  .hb-segmented { width: 100%; }
  .hb-cart-summary { padding: 18px; }
  .hb-checkout-inline .checkout-fields { grid-template-columns: 1fr; }
  .hb-checkout-inline .checkout-submit-row { display: grid; }
  .hb-checkout-inline .checkout-submit-row .hb-primary { width: 100%; }
  .hb-workspace-stats, .card-grid, .stats-grid, .stat-grid, .hb-order-summary { grid-template-columns: 1fr; }
  .hb-order-summary > div { border-right: 0; border-bottom: 1px solid var(--line-2); }
  .hb-order-side { grid-template-columns: 1fr; }
  .hb-confirmation-actions { grid-template-columns: 1fr; }
  .hb-confirmation-actions > div { display: grid; grid-template-columns: 1fr 1fr; }
  .hb-order-header { flex-direction: column; }
  .hb-auth-layout { grid-template-columns: 1fr; }
  .hb-auth-brand { min-height: auto; padding: 45px 10%; }
  .hb-auth-copy { margin-top: 58px; }
  .hb-auth-copy h1 { font-size: 36px; }
  .hb-auth-features { margin-top: 25px; }
  .hb-auth-side { padding: 22px 14px; }
  .hb-auth-card { padding: 30px 22px; border-radius: 11px; }
}
/* Manager desk refinements */
.hb-manager-desk { grid-template-columns: 342px minmax(0,1fr); }
.hb-desk-tabs { display: flex; align-items: center; gap: 28px; min-height: 39px; border-bottom: 1px solid var(--line); padding: 0 7px; }
.hb-desk-tabs b { position: relative; display: inline-flex; min-height: 39px; align-items: center; color: var(--blue); font-size: 13px; }
.hb-desk-tabs b::after { content:""; position:absolute; right:0; bottom:-1px; left:0; height:2px; background:var(--blue); }
.hb-desk-tabs a { color:#647485; font-size:13px; font-weight:650; }
.hb-desk-filter { display:flex; align-items:center; justify-content:space-between; min-height:44px; margin:14px 0 9px; border:1px solid var(--line); border-radius:7px; padding:0 11px; color:#536475; font-size:12px; }
.hb-desk-filter a { color:var(--blue); font-weight:700; }
.hb-show-more { display:block; margin:16px auto 4px; color:var(--blue); font-size:12px; font-weight:700; text-align:center; }
.hb-workspace-order { min-width:0; background:#fff; }
.hb-workspace-order-head { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:63px; border-bottom:1px solid var(--line); padding:0 20px; }
.hb-workspace-order-head > div { display:flex; align-items:center; gap:12px; }
.hb-workspace-order-head h2 { margin:0; font-size:19px; }
.hb-workspace-summary { display:grid; grid-template-columns:1.15fr 1fr 1fr .9fr; border-bottom:1px solid var(--line); }
.hb-workspace-summary > div { display:grid; gap:6px; min-height:104px; align-content:center; border-right:1px solid var(--line-2); padding:13px 20px; }
.hb-workspace-summary > div:last-child { border-right:0; }
.hb-workspace-summary span { color:#8895a3; font-size:10px; font-weight:750; }
.hb-workspace-summary b { color:#3a4959; font-size:13px; }
.hb-workspace-summary small { font-size:11px; }
.hb-workspace-lines { padding:0 0 8px; }
.hb-workspace-lines h3 { margin:0; padding:16px 20px; font-size:14px; }
.hb-workspace-lines .table-scroll { max-height:385px; }
.hb-workspace-lines table { min-width:790px; }
.hb-workspace-lines th, .hb-workspace-lines td { padding:11px 13px; }
.hb-workspace-footer { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:20px; margin:10px 20px 18px; border:1px solid #e4eaf0; border-radius:8px; padding:13px 14px; background:#f9fbfd; }
.hb-workspace-footer span { color:#607183; font-weight:650; }
.hb-workspace-footer b { color:#273646; font-size:18px; }
@media(max-width:1180px){.hb-manager-desk{grid-template-columns:300px minmax(0,1fr)}.hb-workspace-summary{grid-template-columns:repeat(2,1fr)}.hb-workspace-summary>div:nth-child(2){border-right:0}.hb-workspace-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line-2)}}
@media(max-width:920px){.hb-manager-desk{grid-template-columns:1fr}.hb-workspace-footer{grid-template-columns:1fr auto}.hb-workspace-footer .hb-primary{grid-column:1/-1;width:100%}}
@media(max-width:640px){.hb-workspace-order-head{align-items:flex-start;flex-direction:column;padding:16px}.hb-workspace-summary{grid-template-columns:1fr}.hb-workspace-summary>div{border-right:0;border-bottom:1px solid var(--line-2)}.hb-workspace-footer{grid-template-columns:1fr;margin:10px 12px 16px}.hb-workspace-footer .hb-primary{grid-column:auto}}
.hb-breadcrumbs { display:flex; align-items:center; gap:8px; margin-bottom:10px; color:#8d9aa7; font-size:12px; font-weight:650; }
.hb-breadcrumbs a { color:#718193; }
.hb-order-header h1 .status { vertical-align:3px; margin-left:8px; }

/* v3.3 — organized administration: pricing, suppliers and managers */
.hb-side-group { margin: 19px 14px 6px; color: #97a5b3; font-size: 10px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.hb-side-group:first-of-type { margin-top: 2px; }
.hb-sidebar a { font-size: 13px; }

.pricing-page-head, .supplier-page-head, .pricing-rule-page-head, .manager-page-head { margin-bottom: 20px; }
.pricing-settings-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(440px, .92fr); gap: 18px; align-items: start; }
.pricing-base-panel, .region-logistics-panel { min-height: 100%; }
.pricing-field-group { display: grid; gap: 10px; border-top: 1px solid var(--line-2); padding-top: 16px; }
.pricing-field-group:first-of-type { border-top: 0; padding-top: 0; }
.pricing-field-group-title { color: #34475b; font-size: 12px; font-weight: 800; }
.pricing-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.pricing-fields label:last-child:nth-child(odd) { grid-column: span 2; }
.pricing-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid var(--line-2); padding-top: 16px; }
.regional-entry-grid { display: grid; grid-template-columns: minmax(145px, 1.25fr) minmax(110px, .8fr) minmax(145px, .95fr) auto; align-items: end; gap: 12px; }
.region-list { display: grid; gap: 0; margin-top: 17px; border: 1px solid var(--line-2); border-radius: 10px; overflow: hidden; }
.region-list-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(130px, 1fr) minmax(130px, 1fr); gap: 12px; align-items: center; min-height: 52px; border-bottom: 1px solid var(--line-2); padding: 10px 13px; }
.region-list-row:last-child { border-bottom: 0; }
.region-list-row b { color: #36495d; font-size: 13px; }
.region-list-row span { color: #718193; font-size: 11px; }
.pricing-guide-panel { display: grid; grid-template-columns: 220px minmax(0, 1fr) auto; align-items: center; gap: 20px; margin-top: 18px; }
.pricing-guide-panel h2 { margin: 4px 0 0; }
.pricing-guide-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin: 0; padding: 0; list-style: none; counter-reset: pricing-step; }
.pricing-guide-list li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px; align-items: start; color: #65778a; font-size: 11px; }
.pricing-guide-list li::before { counter-increment: pricing-step; content: counter(pricing-step); display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: var(--blue); background: var(--blue-soft); font-size: 11px; font-weight: 800; }
.pricing-guide-list b { display: block; color: #3d5064; font-size: 12px; }
.pricing-guide-list span { display: block; margin-top: 2px; }
.pricing-guide-actions { display: grid; gap: 8px; min-width: 166px; }
.pricing-guide-actions a { font-size: 12px; font-weight: 750; }

.supplier-stat-grid, .manager-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 18px; }
.supplier-stat-grid > div, .manager-stat-grid > div, .rule-stat-grid > div { display: grid; gap: 4px; min-height: 99px; align-content: center; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; padding: 15px 17px; background: #fff; }
.supplier-stat-grid > div::before, .manager-stat-grid > div::before, .rule-stat-grid > div::before { content: ""; width: 28px; height: 3px; margin-bottom: 7px; border-radius: 999px; background: var(--blue); }
.supplier-stat-grid b, .manager-stat-grid b, .rule-stat-grid b { color: #273b4f; font-size: 25px; line-height: 1; }
.supplier-stat-grid span, .manager-stat-grid span, .rule-stat-grid span { color: #718194; font-size: 11px; }
.supplier-top-grid { display: grid; grid-template-columns: minmax(310px, .77fr) minmax(0, 1.23fr); gap: 18px; margin-bottom: 18px; align-items: start; }
.supplier-create-inline { display: grid; grid-template-columns: 135px minmax(0, 1fr); gap: 12px; }
.supplier-unmapped-panel { padding: 18px; }
.supplier-unmapped-list { display: grid; gap: 0; overflow: auto; max-height: 310px; border: 1px solid var(--line-2); border-radius: 10px; }
.supplier-unmapped-row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(160px, .95fr) auto; gap: 10px; align-items: center; border-bottom: 1px solid var(--line-2); padding: 11px; }
.supplier-unmapped-row:last-child { border-bottom: 0; }
.supplier-unmapped-row > div { display: grid; gap: 2px; min-width: 0; }
.supplier-unmapped-row b { overflow: hidden; color: #35495e; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.supplier-unmapped-row small { color: #8b98a7; font-size: 10px; }
.supplier-unmapped-row select { min-height: 38px; }
.supplier-unmapped-row .btn { min-height: 38px; padding: 0 11px; }
.supplier-unmapped-empty { padding: 24px 16px; color: #738396; font-size: 12px; text-align: center; }
.supplier-directory-panel { padding: 18px; }
.supplier-directory-head { align-items: end; }
.supplier-filter-form { display: flex; align-items: center; gap: 9px; }
.supplier-filter-form input { min-width: 210px; }
.supplier-filter-form select { width: 140px; }
.supplier-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.supplier-card { display: grid; gap: 13px; border: 1px solid var(--line); border-radius: 11px; padding: 14px; background: #fff; }
.supplier-card.is-inactive { opacity: .72; background: #fbfcfd; }
.supplier-card-head { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.supplier-card-head > div:first-child { min-width: 0; }
.supplier-card h3 { overflow: hidden; margin: 0 0 5px; color: #304459; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.supplier-delay { display: grid; flex: 0 0 auto; justify-items: end; gap: 1px; }
.supplier-delay b { color: var(--blue); font-size: 21px; line-height: .9; }
.supplier-delay span { color: #8492a0; font-size: 10px; }
.supplier-aliases { display: grid; gap: 6px; min-height: 56px; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); padding: 11px 0; }
.supplier-alias-caption { color: #778799; font-size: 10px; font-weight: 700; }
.supplier-aliases > div { display: flex; flex-wrap: wrap; gap: 5px; }
.supplier-aliases i { max-width: 100%; overflow: hidden; border-radius: 5px; padding: 3px 6px; color: #5e7184; background: #f3f7fa; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.supplier-aliases small { color: #9aa6b2; font-size: 10px; }
.supplier-edit-details summary, .manager-password-details summary { color: var(--blue); font-size: 12px; font-weight: 750; cursor: pointer; list-style: none; }
.supplier-edit-details summary::-webkit-details-marker, .manager-password-details summary::-webkit-details-marker { display: none; }
.supplier-edit-details summary::after, .manager-password-details summary::after { content: "⌄"; margin-left: 6px; color: #7a8b9b; }
.supplier-edit-details[open] summary::after, .manager-password-details[open] summary::after { content: "⌃"; }
.supplier-edit-form { display: grid; grid-template-columns: 1fr 100px; gap: 10px; margin-top: 12px; border-top: 1px solid var(--line-2); padding-top: 12px; }
.supplier-edit-form .supplier-alias-input { grid-column: 1 / -1; }
.supplier-edit-form .supplier-active-check { grid-column: 1; align-self: end; }
.supplier-edit-form .btn { align-self: end; }
.supplier-empty { grid-column: 1 / -1; }
.simple-pager { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 17px; color: #778797; font-size: 12px; }
.simple-pager a { font-weight: 750; }

.rule-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; width: min(680px, 100%); margin-bottom: 18px; }
.pricing-rule-layout { display: grid; grid-template-columns: minmax(300px, .68fr) minmax(0, 1.32fr); gap: 18px; align-items: start; }
.rule-create-panel { position: sticky; top: 104px; }
.rule-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.rule-form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pricing-rule-directory { padding: 18px; }
.pricing-rule-list { display: grid; gap: 10px; }
.pricing-rule-card { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.pricing-rule-card > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 68px; padding: 11px 14px; cursor: pointer; list-style: none; }
.pricing-rule-card > summary::-webkit-details-marker { display: none; }
.pricing-rule-card[open] > summary { border-bottom: 1px solid var(--line-2); background: #fbfdff; }
.pricing-rule-summary-main { display: grid; gap: 3px; min-width: 0; }
.pricing-rule-summary-main b { overflow: hidden; color: #31465a; text-overflow: ellipsis; white-space: nowrap; }
.pricing-rule-summary-main span { overflow: hidden; color: #718396; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.pricing-rule-summary-meta { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.pricing-rule-summary-meta i { color: #7a8b9a; font-size: 11px; font-style: normal; }
.rule-summary-chevron { color: #5d7285; font-size: 18px !important; }
.pricing-rule-card[open] .rule-summary-chevron { transform: rotate(180deg); }
.pricing-rule-edit-form { display: grid; gap: 11px; padding: 14px; }
.pricing-rule-edit-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line-2); padding-top: 12px; }
.rule-empty { padding: 44px 16px; }

.manager-management-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 18px; align-items: start; margin-bottom: 18px; }
.manager-directory-panel { padding: 18px; }
.manager-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.manager-card { display: grid; gap: 13px; min-width: 0; border: 1px solid var(--line); border-radius: 11px; padding: 14px; background: #fff; }
.manager-card.is-inactive { opacity: .72; background: #fbfcfd; }
.manager-card-head { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.manager-avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: var(--blue); background: var(--blue-soft); font-size: 16px; font-weight: 850; }
.manager-card h3 { overflow: hidden; margin: 0 0 1px; color: #31465a; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.manager-card-head a { overflow: hidden; display: block; color: #718396; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.manager-card-metrics { display: grid; grid-template-columns: 1fr 1.25fr; gap: 9px; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); padding: 11px 0; }
.manager-card-metrics > div { display: grid; gap: 3px; }
.manager-card-metrics b { color: #3b5064; font-size: 12px; }
.manager-card-metrics span { color: #8493a1; font-size: 10px; }
.manager-card-actions { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; }
.manager-card-actions .btn { min-height: 37px; padding: 0 10px; font-size: 11px; }
.manager-password-details { justify-self: end; }
.manager-password-form { display: grid; grid-template-columns: minmax(165px, 1fr) auto; gap: 8px; width: min(100%, 340px); margin-top: 9px; }
.manager-password-form input, .manager-password-form .btn { min-height: 38px; }
.manager-empty { grid-column: 1 / -1; }
.manager-create-panel { position: sticky; top: 104px; }
.manager-assignments-panel { padding: 18px; }
.manager-assignment-head { align-items: end; }
.manager-client-filter { display: flex; align-items: center; gap: 9px; }
.manager-client-filter input { min-width: 210px; }
.manager-client-filter select { width: 190px; }
.assignment-inline-form { display: flex; align-items: center; gap: 8px; min-width: 310px; }
.assignment-inline-form select { min-height: 37px; }
.assignment-inline-form .btn { min-height: 37px; }
.manager-assigned-name { color: #53687b; font-size: 12px; }

@media (max-width: 1240px) {
  .supplier-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-settings-layout { grid-template-columns: 1fr; }
  .pricing-guide-panel { grid-template-columns: 1fr; }
  .pricing-guide-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pricing-guide-actions { display: flex; flex-wrap: wrap; }
  .manager-card-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1040px) {
  .supplier-top-grid, .pricing-rule-layout, .manager-management-grid { grid-template-columns: 1fr; }
  .rule-create-panel, .manager-create-panel { position: static; }
  .supplier-unmapped-row { grid-template-columns: 1fr minmax(180px, .9fr) auto; }
}
@media (max-width: 920px) {
  .hb-side-group { display: none; }
  .supplier-stat-grid, .manager-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supplier-filter-form, .manager-client-filter { flex-wrap: wrap; }
  .pricing-guide-list { grid-template-columns: 1fr; }
  .region-list-row { grid-template-columns: 1fr 1fr; }
  .region-list-row b { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .pricing-fields, .supplier-create-inline, .rule-form-grid, .rule-form-grid.three { grid-template-columns: 1fr; }
  .pricing-fields label:last-child:nth-child(odd) { grid-column: auto; }
  .pricing-form-footer, .pricing-rule-edit-footer { align-items: stretch; flex-direction: column; }
  .pricing-form-footer .btn, .pricing-rule-edit-footer .btn { width: 100%; }
  .regional-entry-grid { grid-template-columns: 1fr; }
  .regional-entry-grid .btn { width: 100%; }
  .region-list-row { grid-template-columns: 1fr; }
  .supplier-stat-grid, .manager-stat-grid, .rule-stat-grid { grid-template-columns: 1fr; width: 100%; }
  .supplier-card-grid { grid-template-columns: 1fr; }
  .supplier-directory-head, .manager-assignment-head { align-items: stretch; flex-direction: column; }
  .supplier-filter-form, .manager-client-filter { display: grid; grid-template-columns: 1fr; }
  .supplier-filter-form input, .supplier-filter-form select, .manager-client-filter input, .manager-client-filter select { width: 100%; min-width: 0; }
  .supplier-filter-form .btn, .manager-client-filter .btn { width: 100%; }
  .supplier-unmapped-row { grid-template-columns: 1fr; }
  .supplier-unmapped-row .btn { width: 100%; }
  .supplier-edit-form { grid-template-columns: 1fr; }
  .supplier-edit-form .supplier-active-check { grid-column: auto; }
  .supplier-edit-form .btn { width: 100%; }
  .pricing-rule-card > summary { align-items: start; flex-direction: column; }
  .pricing-rule-summary-meta { width: 100%; justify-content: space-between; }
  .manager-card-actions { grid-template-columns: 1fr; }
  .manager-password-details { justify-self: stretch; }
  .manager-password-form { grid-template-columns: 1fr; width: 100%; }
  .assignment-inline-form { min-width: 260px; flex-direction: column; align-items: stretch; }
  .assignment-inline-form .btn { width: 100%; }
}

/* v3.4 — alignment pass for the supplied redesign. Keeps every control inside
   its grid cell and gives multi-selects an explicit popover layer. */
body { overflow-x: hidden; }
.hb-head-main { min-width: 0; }
.hb-head-main > * { min-width: 0; }
.hb-logo { flex: 0 0 auto; min-width: 0; font-size: 25px; }
.hb-logo + .hb-catalog-wrap, .hb-head-main > .hb-catalog-button { flex: 0 0 auto; }
.hb-search { min-width: 240px; }
.hb-quick-links { flex: 0 0 auto; }
.hb-account-wrap { min-width: 0; }
.hb-account { min-width: 0; }
.hb-account span { min-width: 0; }
.hb-account b, .hb-account small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hb-catalog-menu { max-width: min(360px, calc(100vw - 32px)); }

.hb-filter-bar-multi { grid-template-columns: minmax(260px,1.55fr) repeat(5, minmax(138px,.86fr)); align-items: end; }
.hb-filter-bar-multi .hb-filter-search { grid-column: auto; }
.hb-multi-select { position: relative; display: block; min-width: 0; }
.hb-multi-select summary { display: grid; min-height: 47px; gap: 3px; border: 1px solid #dbe4ed; border-radius: 8px; padding: 8px 34px 8px 12px; cursor: pointer; list-style: none; background: #fff; }
.hb-multi-select summary::-webkit-details-marker { display: none; }
.hb-multi-select summary::after { content: "⌄"; position: absolute; top: 14px; right: 12px; color: #667789; font-size: 16px; font-weight: 700; }
.hb-multi-select[open] summary { border-color: #86c9fa; box-shadow: 0 0 0 3px rgba(8,124,240,.11); }
.hb-multi-select[open] summary::after { transform: rotate(180deg); }
.hb-multi-select summary span { color: #748496; font-size: 10px; font-weight: 750; }
.hb-multi-select summary b { overflow: hidden; color: #243447; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.hb-multi-options { position: absolute; z-index: 80; top: calc(100% + 6px); left: 0; display: grid; width: max(100%, 220px); max-height: 280px; overflow: auto; gap: 1px; border: 1px solid #cfdde8; border-radius: 9px; padding: 7px; box-shadow: 0 16px 30px rgba(28,60,91,.16); background: #fff; }
.hb-multi-options label { display: flex; align-items: center; gap: 8px; min-height: 32px; border-radius: 6px; padding: 5px 7px; color: #405365; font-size: 12px; font-weight: 600; }
.hb-multi-options label:hover { background: #f0f8ff; }
.hb-multi-options label span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hb-filter-actions { min-width: 0; }
.hb-filter-actions .hb-primary, .hb-filter-actions .hb-secondary { min-width: 0; }

.mailing-picker-grid { align-items: start; }
.checkbox-chip-list { max-height: 220px; overflow: auto; }
.checkbox-chip-list .check { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 5px 7px; border: 1px solid transparent; border-radius: 6px; }
.checkbox-chip-list .check:hover { border-color: #d8eaf8; background: #f6fbff; }
.checkbox-chip-list .check span { overflow: hidden; color: #45586a; text-overflow: ellipsis; white-space: nowrap; }

.compact-check { display: inline-flex; align-items: center; gap: 7px; color: #5d6e7e; font-size: 12px; font-weight: 650; }
.compact-check input { flex: 0 0 auto; }
.orders-panel .admin-order-filter { flex-wrap: wrap; }
.orders-panel .admin-order-filter .compact-check { min-height: 40px; padding: 0 4px; }
.order-owner { display: inline-block; max-width: 190px; overflow: hidden; color: #4e6172; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }

.client-detail-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.5fr); gap: 18px; align-items: start; }
.client-rules-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; align-items: start; margin-top: 18px; }
.client-manager-note { display: grid; gap: 12px; }
.client-manager-note p { margin: 0; color: #617384; font-size: 13px; line-height: 1.55; }
.brand-visibility-list { max-height: 430px; overflow: auto; margin: 0 -4px 14px; border: 1px solid var(--line-2); border-radius: 9px; }
.brand-visibility-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(190px,.8fr); align-items: center; gap: 12px; border-bottom: 1px solid var(--line-2); padding: 10px 12px; }
.brand-visibility-row:last-child { border-bottom: 0; }
.brand-visibility-row b { min-width: 0; overflow: hidden; color: #3c4d5e; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.brand-visibility-row select { min-height: 36px; }

.internal-metrics-note { color: #7a8c9d; font-size: 11px; font-weight: 650; }
.hb-profit-table, .hb-confirmation-table { min-width: 1320px; }
.hb-profit-table th, .hb-profit-table td, .hb-confirmation-table th, .hb-confirmation-table td { white-space: nowrap; }
.hb-profit-table td:nth-child(3), .hb-confirmation-table td:nth-child(2) { white-space: normal; min-width: 210px; }
.hb-profit-table td small { display: block; margin-top: 2px; color: #8090a0; font-size: 10px; }
.hb-manager-select-form { display: grid; gap: 9px; }
.hb-manager-select-form select { min-height: 38px; }
.hb-order-side section { min-width: 0; }
.hb-order-side dd { overflow-wrap: anywhere; }

/* Regional address is part of the operational configuration, not an afterthought. */
.regional-entry-grid { grid-template-columns: minmax(160px,1fr) minmax(130px,.8fr) minmax(150px,.9fr) minmax(220px,1.5fr) auto; }
.region-list-row { grid-template-columns: minmax(130px,.8fr) minmax(120px,.8fr) minmax(120px,.8fr) minmax(200px,1.5fr); }
.region-list-row small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Status color is deliberately consistent in admin and manager views. */
.status.new { color: #1676c5; background: #eaf5ff; }
.status.in_progress { color: #9b6b06; background: #fff3d8; }
.status.confirmed, .status.completed { color: #167a3c; background: #e7f8eb; }
.status.partially_confirmed { color: #7961b9; background: #f0ecff; }
.status.declined { color: #b44c47; background: #fff0ef; }
.status.shipped { color: #146fae; background: #e8f5ff; }

@media (max-width: 1540px) {
  .hb-head-main { gap: 16px; padding-right: 18px; padding-left: 18px; }
  .hb-logo { font-size: 23px; }
  .hb-search { min-width: 220px; }
  .hb-filter-bar-multi { grid-template-columns: minmax(260px,1.45fr) repeat(3,minmax(155px,.85fr)); }
  .hb-filter-bar-multi .hb-filter-search { grid-column: span 2; }
  .hb-filter-actions { grid-column: span 2; }
}
@media (max-width: 1220px) {
  .hb-head-main { gap: 12px; }
  .hb-logo { font-size: 21px; }
  .hb-quick-links > a:nth-child(2), .hb-quick-links > a:nth-child(3) { display: none; }
  .hb-filter-bar-multi { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .hb-filter-bar-multi .hb-filter-search { grid-column: span 3; }
  .hb-filter-actions { grid-column: span 3; }
  .client-detail-layout, .client-rules-grid { grid-template-columns: 1fr; }
  .regional-entry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .regional-entry-grid .regional-address-field, .regional-entry-grid .btn { grid-column: span 2; }
  .region-list-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .region-list-row b, .region-list-row small { grid-column: span 2; }
}
@media (max-width: 860px) {
  .hb-filter-bar-multi { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hb-filter-bar-multi .hb-filter-search, .hb-filter-actions { grid-column: span 2; }
  .brand-visibility-row { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .hb-filter-bar-multi { grid-template-columns: 1fr; }
  .hb-filter-bar-multi .hb-filter-search, .hb-filter-actions { grid-column: auto; }
  .hb-multi-options { position: static; width: 100%; margin-top: 5px; box-shadow: none; }
  .regional-entry-grid, .region-list-row { grid-template-columns: 1fr; }
  .regional-entry-grid .regional-address-field, .regional-entry-grid .btn, .region-list-row b, .region-list-row small { grid-column: auto; }
}
.manager-password-details .manager-password-form { grid-template-columns: minmax(120px,1fr) minmax(120px,1fr) auto; }
.manager-password-details .manager-password-form + .manager-password-form { margin-top: 8px; grid-template-columns: minmax(165px,1fr) auto; }
@media (max-width: 640px) { .manager-password-details .manager-password-form { grid-template-columns: 1fr; } }

/* Security Foundation v3.5.2 */
.two-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.status.danger{color:#b84640;background:#fff0ef}
@media(max-width:900px){.two-column-grid{grid-template-columns:1fr}.two-column-grid .narrow-panel{max-width:none}}

/* Searchable catalogue filters and non-blocking add-to-cart feedback. */
.hb-multi-options-search { min-height: 34px; margin: 0 0 6px; padding: 7px 9px; font-size: 12px; }
.hb-multi-options-list { display: grid; gap: 1px; }
.hb-multi-options-list [hidden] { display: none !important; }
.hb-row-icon-button { transition: transform .14s ease, background .14s ease, color .14s ease, opacity .14s ease; }
.hb-row-icon-button:disabled { cursor: wait; opacity: .62; }
.hb-row-icon-button.is-added { transform: scale(1.12); }
