:root{
  --cream:#f7f2ed;--card:#fff;--line:#dfd4c9;--brown:#6b432e;--soft:#e9ded2;--text:#251f1c;--muted:#6f625a;--danger:#eecaca;--danger-text:#a33;
  /* v277 shared UI tokens: keep visual values unchanged, but stop future patches from hard-coding them repeatedly. */
  --ui-radius-xs:8px;
  --ui-radius-sm:12px;
  --ui-radius-md:14px;
  --ui-radius-lg:16px;
  --ui-radius-xl:18px;
  --ui-control-height:48px;
  --ui-control-padding-y:12px;
  --ui-control-padding-x:14px;
  --ui-button-padding-y:12px;
  --ui-button-padding-x:18px;
  --ui-card-padding:22px;
  --ui-card-gap:18px;
  --ui-row-padding:12px;
  --ui-font-control-weight:650;
  --ui-font-strong-weight:800;
  --ui-shadow-card:0 1px 2px rgba(0,0,0,.03);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);padding-bottom:104px;font-size:16px}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:26px 34px;display:flex;justify-content:space-between;align-items:center;gap:22px;position:sticky;top:0;z-index:5}
.topbar h1{margin:0;font-size:30px;letter-spacing:-.02em}.topbar p{margin:5px 0 0;font-size:15px;color:var(--muted)}
.top-actions{display:flex;gap:10px;align-items:center}.top-actions .btn{margin:0;text-decoration:none}
.wrap{max-width:1180px;margin:var(--ui-card-gap) auto;padding:0 var(--ui-card-gap)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--ui-radius-xl);padding:var(--ui-card-padding);margin:var(--ui-card-gap) 0;box-shadow:var(--ui-shadow-card)}
h2{margin:0 0 18px;font-size:24px}h3{margin:0;font-size:22px}.grid{display:grid;gap:16px 22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.address-grid{grid-template-columns:minmax(180px,1fr) 160px minmax(260px,1.8fr);align-items:end;margin-top:18px}
label{font-weight:750;line-height:1.2;display:block;min-width:0}input:not([type="checkbox"]),select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:var(--ui-radius-sm);padding:var(--ui-control-padding-y) var(--ui-control-padding-x);font:inherit;font-weight:var(--ui-font-control-weight);background:#fff;margin-top:7px;min-width:0}input.field-error:not([type="checkbox"]),select.field-error,textarea.field-error{border-color:var(--danger-text)!important;box-shadow:0 0 0 3px rgba(163,51,51,.16)!important;background:#fffafa!important}.field-error-label{color:var(--danger-text)!important}textarea{resize:vertical;min-height:84px}.address-box{min-height:118px}.big-notes{min-height:170px}.muted{color:var(--muted)}
.system-notes-panel{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;min-height:170px;}
.system-notes-panel label{margin:0;}
.system-notes-panel .btn{align-self:flex-start;}
.btn{border:0;border-radius:var(--ui-radius-sm);padding:var(--ui-button-padding-y) var(--ui-button-padding-x);font-weight:var(--ui-font-strong-weight);cursor:pointer;white-space:nowrap}.btn.primary{background:var(--brown);color:#fff}.btn.secondary{background:var(--soft);color:#2d241f}.btn.danger{background:var(--danger);color:var(--danger-text)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-head .btn{margin-left:8px}
.item-card{border:1px dashed var(--line);border-radius:16px;padding:20px;margin:16px 0;background:#fff}.item-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.item-title h3{font-size:22px}.hidden{display:none!important}
.item-card{scroll-margin-top:16px}.product-card-heading-toggle{min-width:0;flex:1 1 auto;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.product-card-title{display:block;font-size:17px;font-weight:900}.product-card-summary{display:block;margin-top:4px;color:var(--muted);font-size:14px;font-weight:600;line-height:1.35}.item-card:not(.is-collapsed) .product-card-summary{display:none}.products-card .item-card.is-collapsed{padding-top:14px!important;padding-bottom:14px!important;background:color-mix(in srgb,var(--oms-primary-soft,#e9f3fb) 55%,white)!important;border-color:color-mix(in srgb,var(--oms-primary,#174d75) 24%,white)!important;box-shadow:inset 4px 0 var(--oms-primary,#174d75),var(--oms-shadow-sm)!important;cursor:pointer}.products-card .item-card.is-collapsed:hover{background:color-mix(in srgb,var(--oms-primary-soft,#e9f3fb) 78%,white)!important}.item-card.is-collapsed>.item-title{margin-bottom:0}.item-card.is-collapsed>:not(.item-title){display:none!important}.product-card-heading-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--oms-primary,#174d75) 34%,transparent);outline-offset:5px;border-radius:6px}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 22px;align-items:start}.product-grid .wide{grid-column:1/-1}.product-grid .span2{grid-column:span 2}.product-grid .divider{grid-column:1/-1;border-top:1px solid var(--line);height:1px;margin:2px 0}.checkrow{display:flex;align-items:center;gap:10px;min-height:46px;padding-top:22px;font-weight:800}.checkrow input[type="checkbox"]{width:18px;height:18px;margin:0;flex:0 0 auto}.splitCheckWrap{grid-column:1/-1;padding-top:0;min-height:auto}.splitFields{grid-column:1/span 2;display:grid;grid-template-columns:1fr;gap:14px}.splitFields label{white-space:normal}.trialWrap{grid-column:3/span 2}.bespokeCheckWrap{grid-column:1/-1;width:100%}.bespokeDetailsWrap{grid-column:1/-1}.finishGroupWrap,.finishWrap,.finishPriceWrap,.storageWrap{grid-column:span 1}.pricing-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 22px;align-items:end;border-top:1px solid var(--line);padding-top:16px}.discountSummary{grid-column:1/-1;font-size:13px;font-weight:700;color:var(--muted);padding-top:0}.notes-wide{grid-column:1/-1}.notes-wide textarea{min-height:118px}.customBrandWrap{grid-column:1/span 2}.customWrap{grid-column:1/-1}
.service-card .item-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px 22px;align-items:start}.service-card .wide{grid-column:1/-1}.service-card label{min-width:0}.bottom-add{text-align:right;margin-top:14px}.bottom-add .btn{margin-left:8px}
.payments-list table{width:100%;border-collapse:collapse}.payments-list th,.payments-list td{border:1px solid var(--line);padding:8px;text-align:left}.orders-list{margin-top:14px}.order-row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:var(--ui-radius-sm);padding:var(--ui-row-padding);margin:8px 0;background:#fff}
.sticky{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;gap:30px;align-items:center;padding:13px 34px;z-index:20;box-shadow:0 -2px 8px rgba(0,0,0,.04)}.sticky span{display:block;color:var(--muted);font-size:14px}.sticky strong{font-size:24px}.footer-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.footer-actions .btn{margin:0}
@media(max-width:1050px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trialWrap,.splitFields,.product-grid .span2{grid-column:1/-1}.pricing-row{grid-template-columns:1fr}.service-card .item-grid{grid-template-columns:1fr}.grid.two,.grid.three,.address-grid{grid-template-columns:1fr}.sticky{position:static;flex-wrap:wrap}.footer-actions{margin-left:0;flex-wrap:wrap}.topbar{position:static;flex-direction:column;align-items:flex-start}}
@media(max-width:720px){.product-grid{grid-template-columns:1fr}.card{padding:16px}.wrap{padding:0 10px}.topbar{padding:18px}.btn{padding:10px 12px}}

.address-btn{height:var(--ui-control-height);margin-top:27px}
.product-grid{align-items:end}
.finishCustomWrap{grid-column:span 1}
.splitCheckWrap{grid-column:1/-1}
.splitFields{grid-column:1/span 2}
.splitFields label{white-space:nowrap}
.order-table{border-collapse:collapse}
.order-table th,.order-table td{border:1px solid #aaa;padding:4px;vertical-align:top}
@media(max-width:1050px){.address-btn{margin-top:0}.splitFields{grid-column:1/-1}.splitFields label{white-space:normal}}

.login-body{background:#f5f1ea;min-height:100vh;display:flex;align-items:center;justify-content:center;}
.login-wrap{width:min(460px,92vw);}
.login-card h1{margin-top:0;font-size:30px;}
.login-card p{color:#5e554c;}
.full-btn{width:100%;margin-top:10px;}
.login-error{color:#9d1f1f;font-weight:700;min-height:22px;}
.logged-in{display:inline-flex;align-items:center;padding:10px 14px;border-radius:var(--ui-radius-sm);background:#f2eee8;color:#3b3028;font-weight:700;}

.address-label{margin-top:16px;}
.address-label textarea{margin-top:0;}

/* Operator lock bar */
.operator-bar{display:flex;align-items:flex-end;gap:14px;margin-left:auto;margin-right:18px;min-width:320px}
.operator-bar label{font-weight:700;font-size:13px;display:flex;flex-direction:column;gap:5px;min-width:190px}
.operator-bar select{padding:11px 12px;border:1px solid #d9cfc2;border-radius:var(--ui-radius-sm);background:#fff;font-weight:700}
.operator-status{font-size:13px;color:#6e6258;max-width:260px;padding-bottom:10px}
.operator-status.ready{color:#2f6b37;font-weight:700}
.locked-notice{background:#fff7e8;border:1px solid #e7d3b7;color:#6b4b2f;border-radius:var(--ui-radius-md);padding:12px 16px;margin-bottom:18px;font-weight:700}
.locked-notice.hidden{display:none}
body.operator-locked main.wrap section.card, body.operator-locked footer.sticky{opacity:.55;filter:grayscale(.1)}
body.operator-locked .operator-bar{opacity:1;filter:none}
@media(max-width:900px){.operator-bar{order:3;width:100%;margin:12px 0 0}.topbar{flex-wrap:wrap}.operator-bar label{min-width:180px}}
.order-info{min-width:0;line-height:1.35}.order-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.revision-block{border:1px solid var(--line);border-radius:var(--ui-radius-md);padding:16px;margin:18px 0;background:#fff}.revision-block h3{font-size:18px;margin:0 0 12px}.revision-table{width:100%;border-collapse:collapse;font-size:14px}.revision-table th,.revision-table td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.revision-table th{background:var(--soft)}.before-change{background:#fff5f5}.after-change{background:#f1fff3}@media(max-width:760px){.order-row{align-items:flex-start;flex-direction:column}.order-actions{justify-content:flex-start}}

.confirmation-card .section-head{margin-bottom:12px}
.checkbox-line{display:flex;align-items:flex-start;gap:10px;font-weight:800;line-height:1.35}
.checkbox-line input[type="checkbox"]{width:20px;height:20px;margin-top:1px;flex:0 0 auto}
.small-note{font-size:13px;margin:8px 0 0}

/* Warehouse module */
.warehouse-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.delivery-list { display:flex; flex-direction:column; gap:12px; margin-top:14px; }
.delivery-row { border:1px solid #eadfD2; border-radius:16px; background:#fff; padding:14px; display:grid; grid-template-columns: 1.3fr .8fr .7fr .7fr auto; gap:12px; align-items:center; }
.delivery-row strong { display:block; font-size:16px; }
.delivery-row .muted { font-size:13px; }
.delivery-status { display:inline-block; padding:5px 9px; border-radius:999px; background:#f5eee6; font-weight:700; font-size:12px; }
.delivery-status.done { background:#e7f4ec; color:#1b6b42; }
.warehouse-item { border:1px dashed #e4d8ca; border-radius:16px; padding:18px; margin-bottom:12px; background:#fffdfb; position:relative; }
.warehouse-item .removeWarehouseItem { position:absolute; right:18px; top:18px; }
.confirmation-line { display:flex; gap:10px; align-items:flex-start; font-weight:700; }
.confirmation-line input { width:auto; margin-top:3px; }
@media(max-width:900px){ .delivery-row{grid-template-columns:1fr;} }
/* Warehouse module v2 */
.warehouse-item-title { margin-bottom: 14px; }
.warehouse-item .removeWarehouseItem { position: static; }
.span3 { grid-column: 1 / -1; }
.grid.two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.warehouse-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.warehouse-delivery-row { grid-template-columns: 1.2fr .65fr .75fr .65fr 1.1fr; }
#warehouseExistingInfo { margin: 0 0 14px; padding: 10px 12px; background:#fff8ef; border:1px solid #eadfD2; border-radius:12px; }


/* Warehouse module v3 polish */
.warehouse-item { position: relative; padding: 18px 20px 20px; }
.warehouse-item-title, .warehouse-item .item-title { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
.warehouse-item-title h3, .warehouse-item .item-title h3 { margin:0; }
.warehouse-item .removeWarehouseItem { position: static !important; margin-left:auto; align-self:flex-start; }
.warehouse-item .grid.three { align-items:end; }
.warehouse-item label { min-width:0; }
.warehouse-filter-note { font-size:12px; color:var(--muted); margin-top:6px; font-weight:600; }
.warehouse-delivery-row .warehouse-actions { justify-content:flex-end; }
@media(max-width:900px){ .warehouse-delivery-row{grid-template-columns:1fr;} .warehouse-delivery-row .warehouse-actions{justify-content:flex-start;} }

/* Warehouse v4 tidy layout + exact matching */
.warehouse-product-grid label { min-width: 0; }
.warehouse-item .removeWarehouseItem { margin-left: auto; }
.warehouse-filter-note { display: none !important; }
.match-block { border:1px dashed #e2d6c9; border-radius:16px; padding:14px; margin:14px 0; background:#fffdf9; }
.match-block h4 { margin:0 0 10px; }
.match-list { display:flex; flex-direction:column; gap:8px; }
.match-row { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #eaded2; border-radius:12px; padding:10px 12px; background:#fff; }
.match-row .btn { flex:0 0 auto; }
@media(max-width:900px){ .match-row{align-items:flex-start; flex-direction:column;} }

/* Warehouse v5 refinements */
.topbar h1 { letter-spacing: -0.02em; }
.products-card .section-head { align-items:center; }
.warehouse-product-grid { row-gap:16px; column-gap:20px; }
.wh-notes-wrap { display:block; margin-top:16px; }
.wh-notes-wrap textarea { min-height:74px; }
.warehouse-row-tools { display:flex; justify-content:flex-end; margin-top:10px; }
.wh-managed-options-wrap{border:1px solid var(--line);border-radius:14px;background:var(--soft);padding:16px;margin-top:2px;align-self:stretch;}
.warehouse-managed-options-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;}
.warehouse-managed-options-heading strong{font-size:16px;color:var(--text);}
.warehouse-managed-options-heading span{font-size:13px;color:var(--muted);font-weight:600;}
.wh-managed-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.warehouse-managed-option-group{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;display:grid;gap:10px;align-content:start;}
.warehouse-managed-option-group label{display:grid;gap:6px;}
.warehouse-managed-option-group label>span{font-size:13px;font-weight:800;color:var(--text);}
.warehouse-managed-option-type-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:2px;}
.warehouse-managed-option-type-heading strong{font-size:15px;color:var(--text);}
.warehouse-managed-option-type-heading span{font-size:12px;color:var(--muted);font-weight:700;}
.wh-catalogue-option-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.warehouse-managed-options-readonly{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1;}
.warehouse-managed-options-readonly span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:var(--text);}
@media(max-width:900px){.wh-managed-options-grid,.wh-catalogue-option-split{grid-template-columns:1fr}.warehouse-managed-options-heading,.warehouse-managed-option-type-heading{align-items:flex-start;flex-direction:column;}}
.warehouse-item .removeWarehouseItem { align-self:center !important; }
.stock-table-wrap { overflow:auto; margin-top:14px; border:1px solid #eadfd2; border-radius:14px; }
.stock-table { width:100%; border-collapse:collapse; font-size:14px; background:#fff; }
.stock-table th, .stock-table td { padding:10px 12px; border-bottom:1px solid #eadfd2; vertical-align:top; text-align:left; }
.stock-table th { background:#e9dfd0; font-weight:700; }
.stock-table tr:last-child td { border-bottom:0; }


/* Warehouse v6 navigation, review table and stock status */
.main-nav { align-items:center; }
.main-nav .btn { min-width: 108px; text-align:center; }
.warehouse-summary-card { margin-top: 10px; }
.warehouse-review-table td, .warehouse-review-table th { font-size: 13px; }
.stock-search-row { display:grid; grid-template-columns: 1fr auto; gap:16px; align-items:center; }
.stock-hide-assigned { display:flex; align-items:center; gap:8px; white-space:nowrap; font-weight:800; }
.stock-hide-assigned input { width:18px; height:18px; margin:0; }
.assigned-stock-row { opacity:.72; background:#faf7f3; }
.assigned-stock-row td:nth-child(7) { font-weight:800; color:#6b432e; }
.wh-notes-wrap { margin-top:18px !important; }
.warehouse-row-tools { margin-top:14px !important; }
@media(max-width:900px){ .stock-search-row{grid-template-columns:1fr;} .main-nav .btn{min-width:0;} }
/* Warehouse v7 refinements */
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.main-section-select{font-weight:700;color:var(--muted);display:flex;align-items:center;gap:8px}
.main-section-select select{border:1px solid var(--line);border-radius:12px;padding:11px 38px 11px 12px;background:#fff;font-weight:700;color:var(--text)}
.btn.primary{background:var(--brown);border-color:var(--brown);color:#fff}
.btn.primary:hover{filter:brightness(.95)}
.clean-delivery-row{grid-template-columns:minmax(240px,1.3fr) minmax(150px,.55fr) auto !important;align-items:center}
.clean-delivery-row .warehouse-actions{justify-content:flex-end;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.clean-delivery-row .btn{min-width:118px;text-align:center}
.warehouse-product-grid{row-gap:16px;column-gap:22px}
.warehouse-item .wh-notes{min-height:76px}
.stock-search-row{align-items:center}.stock-hide-assigned{white-space:nowrap}
.assign-link{border:0;background:transparent;color:#1f8f4d;text-decoration:underline;font-weight:700;padding:0;cursor:pointer;font:inherit}
.assigned-order-link{font-weight:700;color:#7c594a;text-decoration:underline}
.assign-panel{background:#fffdfb;border:1px solid #eadfd2;border-radius:12px;padding:10px}
.assign-panel-row td{background:#fffaf3!important}.stock-match-list{margin-top:8px}
.assign-panel .match-row{padding:10px 12px;border-radius:10px}
.assign-panel .match-spec ul{margin:4px 0 0 16px;padding:0}
.assign-panel .match-spec li{margin:1px 0;font-size:13px}
.assign-panel > strong{display:block;margin-bottom:6px}
@media(max-width:900px){.clean-delivery-row{grid-template-columns:1fr!important}.page-actions{justify-content:flex-start}.main-section-select{width:100%}.main-section-select select{width:100%}}

/* Warehouse v8 navigation and stock matching refinements */
.main-section-select{display:flex;align-items:center;margin:0!important;color:transparent;font-size:0;line-height:0;}
.main-section-select .section-menu{border:1px solid var(--line);border-radius:12px;padding:0 38px 0 16px;background:#fff;font-size:16px;font-weight:800;color:var(--text);min-width:150px;appearance:auto;}
.top-actions.page-actions .btn{display:inline-flex;align-items:center;justify-content:center;}
.top-actions.page-actions .btn.primary{background:var(--brown);border-color:var(--brown);color:#fff;}
.clean-delivery-row{display:grid!important;grid-template-columns:minmax(260px,1.4fr) minmax(180px,.7fr) minmax(190px,.95fr)!important;align-items:center!important;gap:18px!important;padding:18px!important;}
.clean-delivery-row .warehouse-actions{display:grid!important;grid-template-columns:1fr;gap:8px!important;justify-items:stretch!important;max-width:170px;margin-left:auto;}
.clean-delivery-row .warehouse-actions .btn{width:100%;text-align:center;}
.wh-custom-sell-wrap,.wh-custom-buy-wrap{display:block;}
.warehouse-product-grid{align-items:end!important;}
.wh-notes-wrap{display:block;margin-top:14px!important;}
.wh-notes-wrap textarea{min-height:72px!important;}
.spec-list{margin:6px 0 0 18px;padding:0;font-size:13px;line-height:1.35;}
.match-compare-row{display:grid!important;grid-template-columns:1fr 1fr auto!important;align-items:start!important;gap:14px!important;}
.match-spec{background:#fff;padding:10px;border:1px solid var(--line);border-radius:12px;}
.assign-link{border:0;background:transparent;color:#237a3b;text-decoration:underline;font-weight:800;cursor:pointer;padding:0;margin-top:4px;}
.assigned-order-link{font-weight:800;text-decoration:underline;}
@media(max-width:900px){.match-compare-row{grid-template-columns:1fr!important}.clean-delivery-row{grid-template-columns:1fr!important}.clean-delivery-row .warehouse-actions{margin-left:0;max-width:none}.main-section-select .section-menu{width:100%;}.top-actions.page-actions{width:100%;}}


/* Warehouse v9 fixes */
.top-actions.page-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important;}
.main-section-select{height:48px!important;display:inline-flex!important;align-items:center!important;margin:0!important;line-height:1!important;}
.main-section-select .section-menu{height:48px!important;line-height:48px!important;margin:0!important;padding:0 42px 0 18px!important;border-radius:14px!important;min-width:170px!important;}
.top-actions.page-actions .btn{height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;}
.clean-delivery-row{grid-template-columns:minmax(280px,1.4fr) minmax(170px,.55fr) minmax(420px,1.2fr)!important;}
.clean-delivery-row .warehouse-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;justify-content:flex-end!important;align-items:center!important;max-width:none!important;margin-left:0!important;}
.clean-delivery-row .warehouse-actions .btn{width:auto!important;min-width:112px!important;}
.received-link{font-weight:800;text-decoration:underline;}
.assigned-order-link{font-weight:800;text-decoration:underline;color:#7c594a;}
@media(max-width:1050px){.top-actions.page-actions{flex-wrap:wrap!important}.clean-delivery-row{grid-template-columns:1fr!important}.clean-delivery-row .warehouse-actions{justify-content:flex-start!important}}


/* Warehouse v10 assignment/revision refinements */
.unassign-link{border:0;background:transparent;color:#b24040;text-decoration:underline;font-weight:800;cursor:pointer;padding:0;margin-top:4px;font:inherit;}
.delivery-meta{line-height:1.25;}
.clean-delivery-row .warehouse-actions .btn{white-space:nowrap;}

/* v10 warehouse refinements */
.clean-delivery-row .warehouse-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important;max-width:none!important;}
.clean-delivery-row .warehouse-actions .btn{width:auto!important;min-width:112px!important;white-space:nowrap!important;}
.main-section-select{height:48px!important;display:inline-flex!important;align-items:center!important;margin:0!important;line-height:1!important;}
.main-section-select .section-menu{height:48px!important;line-height:48px!important;margin:0!important;padding:0 42px 0 18px!important;border-radius:14px!important;min-width:170px!important;}
.assigned-order-link{font-weight:800;text-decoration:underline;color:var(--brown,#7a4a32);}
.unassign-link{margin-top:4px;border:0;background:transparent;color:#a02626;text-decoration:underline;font-weight:800;cursor:pointer;padding:0;}


/* Warehouse v11 visible unassign + revision/action polish */
.assigned-status{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1.25;}
.unassign-link{display:inline-block!important;color:#a02626!important;text-decoration:underline!important;font-weight:800!important;background:transparent!important;border:0!important;padding:0!important;margin:0!important;cursor:pointer!important;font:inherit!important;}
.stock-table td:nth-child(7){min-width:110px;}
.clean-delivery-row .warehouse-actions{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important;}
.clean-delivery-row .warehouse-actions .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:112px!important;width:auto!important;}
.service-issue-link{display:inline-block;margin-top:6px;color:#b33a3a;text-decoration:underline;font-weight:700;font-size:14px}.service-row .service-latest-note{margin-top:8px;color:#5e514a;font-size:14px}.status-pill{display:inline-block;padding:3px 8px;border-radius:999px;background:#eee;font-size:12px;font-weight:700}.status-open{background:#f6e0dc;color:#9c2d2d}.status-in-progress{background:#efe4d5;color:#704528}.status-resolved{background:#dff0e3;color:#28633a}.service-filter-row{margin:12px 0}.service-linked-order{border:1px solid #e2d7c9;border-radius:14px;padding:14px;background:#fff}.linked-order-grid{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.issue-item-list{margin:12px 0 0 18px;padding:0}.issue-item-list li{margin:5px 0}.notes-timeline{display:flex;flex-direction:column;gap:12px}.timeline-note{border:1px solid #e2d7c9;border-radius:14px;padding:12px;background:#fff}.timeline-note b{display:block;margin-bottom:6px}.right-actions{text-align:right;margin-top:12px}
.service-mini-summary{margin:10px 0 16px;border:1px solid #e2d7c9;border-radius:14px;padding:12px;background:#fff}.service-mini-summary ul{margin:8px 0 0 18px;padding:0}.service-mini-summary li{margin:3px 0}
#ordersMap { height: 620px; width: 100%; border: 1px solid #e0d4c8; border-radius: 18px; overflow: hidden; position: relative; z-index: 1; }
.map-card { max-width: 1200px; overflow: hidden; }
.map-wrap { padding-top: 18px; }
.map-tools { display:flex; gap:14px; align-items:center; margin-bottom:12px; }
.map-tools input { flex:1; }
.baileys-map-pin-wrap { background: transparent; border: none; }
.baileys-map-pin { width: 28px; height: 28px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); border: 3px solid #fff; box-shadow: 0 2px 7px rgba(0,0,0,.35); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; font-size:12px; }
.baileys-map-pin::after { content:''; width: 9px; height: 9px; background:#fff; opacity:.9; border-radius:50%; display:block; }
.baileys-map-pin:not(:empty)::after { display:none; }
.baileys-map-pin { line-height: 28px; }
.baileys-map-pin * { transform: rotate(45deg); }
.map-legend { display:flex; flex-wrap:wrap; gap:12px; margin:12px 0 18px; font-size:13px; color:#6c625b; align-items:center; }
.map-legend span { display:flex; gap:6px; align-items:center; }
.pin-dot { width:12px; height:12px; border-radius:50%; display:inline-block; }
.pin-dot.grey { background:#9aa0a6; }
.pin-dot.blue { background:#2f80ed; }
.pin-dot.orange { background:#d9822b; }
.pin-dot.red { background:#c0392b; }
.pin-dot.store { background:var(--oms-brand-brown); }
.map-order-list { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:10px; margin-top:8px; }
.map-order-row { border:1px solid #e0d4c8; border-radius:14px; padding:10px 12px; background:#fff; line-height:1.35; }
.map-order-row span { color:#6c625b; }
.map-unplotted-section { margin:14px 0 18px; padding:14px 16px; border:1px solid #cfe0d4; border-radius:14px; background:#f5faf6; }
.map-unplotted-section.has-unplotted-orders { border-color:#e5bd83; background:#fff9ef; }
.map-unplotted-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.map-unplotted-heading h3 { margin:0; }
.map-unplotted-count { display:inline-flex; align-items:center; border-radius:999px; padding:4px 10px; background:#dff0e3; color:#28633a; font-size:12px; font-weight:800; }
.has-unplotted-orders .map-unplotted-count { background:#f6e5c8; color:#7a4a0f; }
.map-unplotted-order-list { margin-top:10px!important; }
.map-unplotted-order-row { border-left:4px solid #d9822b!important; }
.map-unplotted-postcode { color:#47382e!important; font-weight:800; }
.map-unplotted-reason { margin-top:8px; color:#8a3f1d; font-weight:700; }
.map-unplotted-clear { margin:0; color:#28633a; font-weight:700; }
.leaflet-container { font: inherit; }
.leaflet-popup-content { font-size: 15px; line-height: 1.28; }
.leaflet-popup-content hr { border:0; border-top:1px solid #bbb; margin:10px 0; }

.map-tools { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.map-tools input { flex: 1; }
#routeMap { width: 100%; height: 620px; border-radius: 16px; overflow: hidden; }
.route-table-wrap { overflow-x: auto; }
.data-table input { width: 100%; min-width: 110px; }
.route-row { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.row-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }


/* Routes v22 */
.topbar{z-index:2000!important;}
.top-actions.page-actions{align-items:center!important;}
.top-actions.page-actions .section-menu, .top-actions.page-actions select.section-menu{height:48px!important;line-height:48px!important;margin:0!important;padding:0 42px 0 18px!important;border-radius:14px!important;min-width:170px!important;display:inline-flex!important;align-items:center!important;}
.top-actions.page-actions .btn{height:48px!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.form-grid.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;align-items:end;}
.route-create-action{display:flex;align-items:end;height:100%;}
.route-create-action .btn{width:100%;height:48px;}
.mini-select{max-width:300px;margin-top:0!important;height:48px;}
.pin-dot.green{background:#1f8f4d;}
#ordersMap,#routeMap{height:620px!important;width:100%!important;position:relative!important;z-index:1!important;}
.leaflet-container{z-index:1!important;}
.route-map-card{overflow:hidden!important;}
@media(max-width:900px){.form-grid.four{grid-template-columns:1fr}.mini-select{max-width:none}.top-actions.page-actions{flex-wrap:wrap!important}}

/* v23 route planner refinements */
.top-actions.page-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
.top-actions.page-actions select.section-menu,.top-actions.page-actions .section-menu{height:48px!important;min-height:48px!important;line-height:48px!important;margin:0!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;vertical-align:middle!important;}
.top-actions.page-actions .btn{height:48px!important;min-height:48px!important;margin:0!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;}
.route-bottom-actions{margin-top:16px;justify-content:flex-start!important;}
.small-btn{height:38px!important;min-height:38px!important;padding:0 14px!important;font-size:14px!important;}
.route-choice-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;margin-bottom:14px;}
.route-choice-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 16px;text-align:left;cursor:pointer;font:inherit;min-width:170px;}
.route-choice-card.selected{border-color:var(--brown);box-shadow:0 0 0 2px rgba(112,68,47,.16);background:#fbf7f2;}
.map-route-picker{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
.map-card,#ordersMap,#routeMap{transform:none!important;}
#ordersMap,#routeMap{height:620px!important;width:100%!important;border-radius:18px!important;overflow:hidden!important;position:relative!important;z-index:1!important;}
.route-table-wrap .data-table th,.route-table-wrap .data-table td{vertical-align:middle;}


/* Routes v24 spacing cleanup */
.route-detail-page .topbar{align-items:center!important;gap:24px!important;}
.route-detail-page .route-top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;max-width:760px!important;}
.route-detail-page .route-top-actions .section-menu{width:190px!important;min-width:190px!important;max-width:190px!important;height:48px!important;margin:0!important;line-height:1!important;}
.route-detail-page .route-top-actions .btn{height:48px!important;margin:0!important;white-space:nowrap!important;}
.route-detail-page .card{padding:22px 24px!important;}
.route-detail-page .form-grid.three{display:grid!important;grid-template-columns:1fr 160px 160px!important;gap:18px!important;align-items:end!important;}
.route-detail-page label{font-size:15px!important;margin:0!important;}
.route-detail-page input:not([type="checkbox"]),
.route-detail-page select,
.route-detail-page textarea{margin-top:6px!important;padding:10px 12px!important;min-height:44px!important;box-sizing:border-box!important;}
.route-detail-page .row-actions{margin-top:14px!important;}
.route-table-wrap{width:100%!important;overflow-x:auto!important;}
.notes-link{border:0;background:transparent;color:#70442f;text-decoration:underline;font-weight:800;cursor:pointer;font:inherit;padding:0;white-space:nowrap;}
.hidden-note{display:none!important;}
.route-bottom-actions{margin-top:18px!important;}
@media(max-width:1050px){
  .route-detail-page .form-grid.three{grid-template-columns:1fr!important;}
  .route-detail-page .route-top-actions{max-width:none!important;width:100%!important;justify-content:flex-start!important;}
}

/* routes v25 refinements */
.route-travel{background:#f7f2ec;color:#5d514a;}
.return-time{font-size:12px;margin-top:4px;}
.notes-link{border:0;background:transparent;color:#70442f;text-decoration:underline;font-weight:800;cursor:pointer;padding:0;font:inherit;}
.danger-link{color:#b33a3a!important;text-decoration:underline!important;font-weight:800!important;}
.route-bottom-actions{gap:10px;justify-content:flex-start!important;}
.map-order-row strong.route-flag{color:#1f8f4d;}

/* v27 route spacing/operator updates */
.operator-compact{display:flex;align-items:center;gap:8px;font-weight:700;color:#5d514b;}
.operator-compact select{min-width:170px;padding:0 14px;border:1px solid #d9cfc4;border-radius:12px;background:#fff;font-weight:700;}
.route-top-actions{align-items:center;gap:12px;}
.slot-text{display:inline-block;min-width:115px;}
.route-bottom-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.route-create-card .operator-compact{align-self:end;}

/* v29 route/map operator + spacing final pass */
.top-actions.page-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;}
.operator-compact{height:48px!important;display:inline-flex!important;align-items:center!important;gap:10px!important;margin:0!important;line-height:1!important;white-space:nowrap!important;}
.operator-compact select{height:48px!important;min-height:48px!important;margin:0!important;line-height:48px!important;min-width:170px!important;padding:0 14px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;font-weight:800!important;}
.top-actions.page-actions .main-section-select{height:48px!important;margin:0!important;display:inline-flex!important;align-items:center!important;}
.top-actions.page-actions .section-menu,
.top-actions.page-actions select.section-menu{height:48px!important;min-height:48px!important;margin:0!important;line-height:48px!important;min-width:170px!important;padding:0 42px 0 18px!important;border-radius:14px!important;box-sizing:border-box!important;}
.top-actions.page-actions .btn{height:48px!important;min-height:48px!important;margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
body.operator-locked main.wrap section.card{opacity:.55;filter:grayscale(.1);}
body.operator-locked .topbar, body.operator-locked .top-actions, body.operator-locked .operator-compact{opacity:1!important;filter:none!important;}
body.operator-locked [data-needs-operator]{cursor:not-allowed!important;}
.route-detail-page .route-top-actions{align-items:center!important;max-width:none!important;}
.route-detail-page .route-top-actions .operator-compact{margin-right:0!important;}
.route-detail-page .form-grid.three{grid-template-columns:minmax(320px,1fr) 160px 160px!important;gap:18px!important;align-items:end!important;}
.route-travel[readonly], .route-time[readonly]{background:#f7f2ec!important;color:#5d514a!important;}
#ordersMap,#routeMap{height:620px!important;width:100%!important;border-radius:18px!important;overflow:hidden!important;position:relative!important;z-index:1!important;}
.leaflet-container{z-index:1!important;}
@media(max-width:1050px){.route-detail-page .form-grid.three{grid-template-columns:1fr!important}.top-actions.page-actions{justify-content:flex-start!important}.operator-compact{width:auto!important}}


/* v30 targeted route/map repair */
.top-actions.page-actions,
.route-top-actions {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.operator-compact {
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 !important;
  font-size:14px !important;
  font-weight:800 !important;
  color:#5d514b !important;
  white-space:nowrap !important;
}
.operator-compact select,
.section-menu {
  padding:0 14px !important;
  margin:0 !important;
  border:1px solid var(--line) !important;
  border-radius:12px !important;
  background:#fff !important;
  font-size:15px !important;
  font-weight:800 !important;
  color:var(--text) !important;
  box-sizing:border-box !important;
}
.operator-compact select { min-width:170px !important; }
.section-menu { min-width:145px !important; width:auto !important; }
.top-actions.page-actions .btn,
.route-top-actions .btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 16px !important;
  white-space:nowrap !important;
}
body.operator-locked main.wrap .card {
  opacity:.48 !important;
  filter:grayscale(.25) !important;
}
body.operator-locked main.wrap .card input,
body.operator-locked main.wrap .card select,
body.operator-locked main.wrap .card textarea,
body.operator-locked main.wrap .card button {
  pointer-events:none !important;
}
body.operator-locked main.wrap .map-card #ordersMap,
body.operator-locked main.wrap #routeMap {
  pointer-events:none !important;
}
body.operator-locked main.wrap .map-card::before,
body.operator-locked main.wrap .route-create-card::before,
body.operator-locked .route-detail-page main.wrap .card::before {
  content:"Select an operator to edit this page";
  display:block;
  margin:0 0 12px 0;
  padding:10px 12px;
  border:1px solid #e1c49e;
  border-radius:12px;
  background:#fff7e8;
  color:#70442f;
  font-weight:800;
  filter:none;
}
.route-table-wrap{width:100%!important;overflow-x:auto!important;padding-bottom:6px!important;}
.route-actions-row{display:flex!important;gap:10px!important;flex-wrap:wrap!important;align-items:center!important;margin-top:14px!important;}
#ordersMap,#routeMap{height:620px!important;width:100%!important;border-radius:18px!important;overflow:hidden!important;position:relative!important;z-index:1!important;touch-action:auto!important;}
.leaflet-container{z-index:1!important;}


/* v31 targeted repair: shared operator header and wider route stops */
.topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;}
.topbar > div:first-child{flex:1 1 auto!important;min-width:280px!important;}
.topbar .operator-bar{flex:0 0 auto!important;margin:0!important;display:flex!important;align-items:flex-end!important;gap:14px!important;min-width:360px!important;}
.topbar .operator-bar label{margin:0!important;min-width:190px!important;}
.topbar .operator-bar select{height:48px!important;min-height:48px!important;margin-top:5px!important;box-sizing:border-box!important;}
.topbar .operator-status{padding-bottom:9px!important;}
.topbar .top-actions.page-actions{flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:nowrap!important;max-width:none!important;}
.topbar .top-actions.page-actions .section-menu,
.topbar .top-actions.page-actions select.section-menu,
.topbar .top-actions.page-actions .btn{height:48px!important;min-height:48px!important;margin:0!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.route-detail-page .wrap{max-width:calc(100vw - 56px)!important;width:calc(100vw - 56px)!important;margin-left:auto!important;margin-right:auto!important;}
.route-detail-page .card{max-width:none!important;width:100%!important;}
.route-detail-page .route-table-wrap{width:100%!important;overflow-x:auto!important;padding-bottom:6px!important;}
.route-detail-page .route-stops-table{min-width:1420px!important;width:100%!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important;}
.route-detail-page .route-stops-table th,
.route-detail-page .route-stops-table td{padding:12px 10px!important;line-height:1.25!important;overflow:visible!important;text-overflow:clip!important;}
.route-detail-page .route-stops-table .drag-col{width:34px!important;}
.route-detail-page .route-stops-table .stop-col{width:52px!important;}
.route-detail-page .route-stops-table .order-col{width:96px!important;}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{width:165px!important;}
.route-detail-page .route-stops-table .postcode-col{width:105px!important;}
.route-detail-page .route-stops-table .pdf-col{width:120px!important;}
.route-detail-page .route-stops-table .van-col{width:82px!important;}
.route-detail-page .route-stops-table .drop-col{width:82px!important;}
.route-detail-page .route-stops-table .travel-col{width:100px!important;}
.route-detail-page .route-stops-table .time-col{width:120px!important;}
.route-detail-page .route-stops-table .slot-col{width:150px!important;}
.route-detail-page .route-stops-table .notes-col{width:110px!important;}
.route-detail-page .route-stops-table .remove-col{width:110px!important;}
.route-detail-page .route-stops-table .compact-number{width:68px!important;min-width:68px!important;max-width:68px!important;}
.route-detail-page .route-stops-table .compact-time{width:105px!important;min-width:105px!important;max-width:105px!important;}
.route-detail-page .route-stops-table .small-btn{white-space:nowrap!important;}
@media(max-width:1150px){.topbar{align-items:flex-start!important;flex-wrap:wrap!important}.topbar .operator-bar{order:2}.topbar .top-actions.page-actions{order:3}}


/* v32 final tidy: plotted orders stacked and route stop column widths */
.map-order-list{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  margin-top:10px!important;
}
.map-order-row{
  width:100%!important;
  display:block!important;
  padding:14px 16px!important;
  line-height:1.35!important;
}
.map-order-title{
  display:flex!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  margin-bottom:2px!important;
}
.map-order-meta{color:var(--muted)!important;margin-top:2px!important;}
.map-order-route{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
  margin-top:8px!important;
}
.map-order-links{margin-top:6px!important;}

.route-detail-page .wrap{
  max-width:calc(100vw - 40px)!important;
  width:calc(100vw - 40px)!important;
}
.route-detail-page .route-table-wrap{
  overflow-x:auto!important;
  width:100%!important;
}
.route-detail-page .route-stops-table{
  min-width:1180px!important;
  width:100%!important;
  table-layout:fixed!important;
}
.route-detail-page .route-stops-table th,
.route-detail-page .route-stops-table td{
  padding:10px 8px!important;
  overflow:visible!important;
  white-space:normal!important;
}
.route-detail-page .route-stops-table .drag-col{width:26px!important;}
.route-detail-page .route-stops-table .stop-col{width:38px!important;text-align:center!important;}
.route-detail-page .route-stops-table .order-col{width:82px!important;}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{width:140px!important;}
.route-detail-page .route-stops-table .postcode-col{width:82px!important;}
.route-detail-page .route-stops-table .pdf-col{width:92px!important;text-align:center!important;}
.route-detail-page .route-stops-table .van-col{width:64px!important;text-align:center!important;}
.route-detail-page .route-stops-table .drop-col{width:64px!important;text-align:center!important;}
.route-detail-page .route-stops-table .travel-col{width:88px!important;text-align:center!important;}
.route-detail-page .route-stops-table .time-col{width:98px!important;text-align:center!important;}
.route-detail-page .route-stops-table .slot-col{width:128px!important;text-align:center!important;}
.route-detail-page .route-stops-table .notes-col{width:82px!important;text-align:center!important;}
.route-detail-page .route-stops-table .remove-col{width:96px!important;text-align:right!important;}
.route-detail-page .route-stops-table .compact-number{width:54px!important;min-width:54px!important;max-width:54px!important;}
.route-detail-page .route-stops-table .compact-time{width:86px!important;min-width:86px!important;max-width:86px!important;}
.route-detail-page .route-stops-table .small-btn{padding-left:10px!important;padding-right:10px!important;}
.route-detail-page .route-stops-table .btn.danger.small-btn{min-width:76px!important;}

/* v33 route polish: readable stop fields and consistent map operator status */
.route-detail-page .route-stops-table{
  min-width:1360px!important;
  table-layout:fixed!important;
}
.route-detail-page .route-stops-table .drag-col{width:28px!important;}
.route-detail-page .route-stops-table .stop-col{width:42px!important;}
.route-detail-page .route-stops-table .order-col{width:86px!important;}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{width:145px!important;}
.route-detail-page .route-stops-table .postcode-col{width:86px!important;}
.route-detail-page .route-stops-table .pdf-col{width:106px!important;}
.route-detail-page .route-stops-table .van-col{width:78px!important;}
.route-detail-page .route-stops-table .drop-col{width:86px!important;}
.route-detail-page .route-stops-table .travel-col{width:112px!important;}
.route-detail-page .route-stops-table .time-col{width:126px!important;}
.route-detail-page .route-stops-table .slot-col{width:150px!important;}
.route-detail-page .route-stops-table .notes-col{width:90px!important;}
.route-detail-page .route-stops-table .remove-col{width:104px!important;}
.route-detail-page .route-stops-table .compact-number{
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  padding:8px 8px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .compact-time{
  width:110px!important;
  min-width:110px!important;
  max-width:110px!important;
  padding:8px 8px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .route-travel{
  width:96px!important;
  min-width:96px!important;
  max-width:96px!important;
  text-align:center!important;
}
.route-bottom-actions .btn,
.route-bottom-actions a.btn{
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  min-height:48px!important;
  height:48px!important;
  padding:0 18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.route-bottom-actions a.btn{font-size:14px!important;}
.topbar .operator-status.ready,
.operator-status.ready{
  color:#1f6f34!important;
  font-weight:800!important;
}


/* v34 manual travel and live ETA polish */
.route-detail-page .route-stops-table .van-col{width:82px!important;}
.route-detail-page .route-stops-table .drop-col{width:90px!important;}
.route-detail-page .route-stops-table .travel-col{width:122px!important;}
.route-detail-page .route-stops-table .time-col{width:126px!important;}
.route-detail-page .route-stops-table .slot-col{width:155px!important;}
.route-detail-page .route-stops-table .route-travel{width:106px!important;min-width:106px!important;max-width:106px!important;background:#fff!important;}
.route-detail-page .route-stops-table .route-drop{width:76px!important;min-width:76px!important;max-width:76px!important;}
.route-detail-page .route-stops-table .route-van{width:70px!important;min-width:70px!important;max-width:70px!important;}
.route-detail-page .route-stops-table .compact-time{width:112px!important;min-width:112px!important;max-width:112px!important;}

.baileys-map-pin span{display:block;transform:rotate(45deg)!important;line-height:1;font-weight:800;}
.route-line{stroke:#7a442d;stroke-width:5px;stroke-opacity:.75;stroke-linecap:round;stroke-linejoin:round;}


.route-stops-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;}
.van-space-summary{font-weight:800;color:#5d514b;background:#f6f1eb;border:1px solid #e4d8cb;border-radius:12px;padding:10px 14px;}
.van-space-summary .overfull{color:#b33a3a;font-weight:900;}
.route-detail-page .route-stops-table .route-drop{width:82px!important;min-width:82px!important;max-width:82px!important;}
.route-detail-page .route-stops-table .route-van{width:76px!important;min-width:76px!important;max-width:76px!important;}
.route-detail-page .route-stops-table .travel-col{width:126px!important;}
.route-detail-page .route-stops-table .route-travel{width:112px!important;min-width:112px!important;max-width:112px!important;}
.route-detail-page .route-stops-table .time-col{width:132px!important;}
.route-detail-page .route-stops-table .compact-time{width:118px!important;min-width:118px!important;max-width:118px!important;}

/* Route note modal */
.modal{display:none;position:fixed;z-index:9999;inset:0;background:rgba(0,0,0,.35);align-items:center;justify-content:center;padding:24px;}
.modal.show{display:flex;}
.modal-card{background:#fff;border:1px solid #e4d8ca;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.18);padding:22px;max-width:760px;width:min(760px,96vw);}
.modal-card h2{margin-top:0;}
.route-note-modal textarea{width:100%;min-height:220px;box-sizing:border-box;}
.logged-operator{font-weight:800;color:#1f7a34;font-size:13px;margin-bottom:3px;}
.login-operator-hidden{display:none!important;}
.logout-btn{white-space:nowrap;}


/* v51 login operator display cleanup */
.login-operator-hidden,
.operator-bar.login-operator-hidden,
.operator-compact.login-operator-hidden{
  display:none!important;
}
.logged-operator{
  display:block!important;
  font-weight:800;
  color:#1f7a34;
  font-size:13px;
  margin-bottom:3px;
}

/* v52 login polish */
.login-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:72px 18px;background:#f5f0ea;}
.login-card{width:min(440px,92vw);padding:28px 30px 30px;border-radius:16px;}
.login-card h1{margin:0 0 14px;font-size:30px;line-height:1.1;}
.login-subtitle{margin:0 0 22px;}
.login-error{margin-bottom:18px;}
.login-form{display:flex;flex-direction:column;gap:16px;}
.login-field{display:flex;flex-direction:column;gap:7px;font-weight:800;}
.login-field input{width:100%;box-sizing:border-box;}
.remember-row{display:flex;align-items:center;gap:10px;font-weight:700;color:#5e554c;margin:2px 0 4px;}
.remember-row input{width:18px;height:18px;margin:0;flex:0 0 auto;}
.login-button{align-self:flex-start;margin-top:2px;}

/* Driver delivery pages */
.driver-wrap .card { max-width: 1180px; }
.driver-stop-card { border: 1px solid var(--line, #e1d5c8); border-radius: 16px; padding: 18px; margin: 14px 0; background: #fff; }
.driver-stop-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.driver-slot { font-weight: 800; background: #eee4d8; border-radius: 12px; padding: 10px 14px; white-space: nowrap; }
.driver-stop-body { display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)); gap: 14px; margin-top: 14px; }
.driver-address, .driver-items { margin-top: 14px; line-height: 1.35; }
.driver-upload-row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line, #e1d5c8); }
.driver-upload-row input[type=file] { border: 1px solid var(--line, #e1d5c8); border-radius: 12px; padding: 10px; background: #fff; }
.driver-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; margin-top: 14px; }
.driver-photo-tile { border: 1px solid var(--line, #e1d5c8); border-radius: 12px; padding: 8px; background: #faf7f2; }
.driver-photo-tile img { width: 100%; height: 110px; object-fit: cover; border-radius: 8px; display: block; }
.driver-photo-meta { font-size: 12px; color: #6d625c; margin-top: 6px; line-height: 1.25; }
.link-danger { border: 0; background: none; color: #b83b3b; text-decoration: underline; font-weight: 700; padding: 6px 0 0; cursor: pointer; }
.delivery-images-manager { margin: 18px 0 14px; }
.delivery-images-manager .driver-upload-row { margin-top: 8px; padding-top: 0; border-top: 0; }
.delivery-images-empty { grid-column: 1 / -1; margin: 0; padding: 18px; border: 1px dashed var(--line, #e1d5c8); border-radius: 12px; color: var(--muted, #6d625c); background: #fafcfe; }
@media (max-width: 700px){ .driver-stop-head, .driver-stop-body { display: block; } .driver-slot { display: inline-block; margin-top: 10px; } .driver-stop-body > div { margin-top: 12px; } }

.delivery-images-link { display:inline-block; margin-top:6px; color:#4b2a1b; font-weight:500; text-decoration:underline; font-size:14px; }
.status-line { font-weight: 400; font-size: inherit; }
.status-label { font-weight: 700; }
.status-delivered { color: #18733a; }
.service-status { font-weight: 400; }
.service-open { color: #b73535; }
.service-progress { color: #c97818; }
.service-resolved { color: #18733a; }
.btn.delivered-btn { background: #218345; color: #fff; cursor: default; opacity: 1; }
.btn.delivered-btn:disabled { background: #218345; color: #fff; opacity: 1; }

.mattress-turn-link{display:inline-block;margin-top:6px;color:#b88700;text-decoration:underline;font-weight:700;font-size:14px}
.mattress-turn-pending{color:#b88700;font-weight:400}
.mattress-turn-completed{color:#b88700;font-weight:400}

.driver-stop-card .mattress-turn-pending, .driver-stop-card .mattress-turn-completed { font-size: inherit; font-weight: inherit; }

/* v60 order list typography rules */
.orders-list .order-info{font-size:16px;line-height:1.35;color:#2a2421;}
.orders-list .order-title{font-size:20px;font-weight:800;line-height:1.2;margin-bottom:2px;color:#241f1c;}
.orders-list .order-customer-line{font-size:16px;font-weight:800;color:#241f1c;}
.orders-list .order-muted-line{font-size:16px;font-weight:400;color:#6d625c;}
.orders-list .order-status-line{font-size:16px;font-weight:800;}
.orders-list .order-status-pending{color:#6d625c;}
.orders-list .order-status-delivered{color:#18733a;}

.order-status-cancelled{color:#b73535;font-weight:700;}
.orders-list .mattress-turn-link{font-size:16px;font-weight:800;color:#b88700;text-decoration:underline;margin-top:6px;}
.orders-list .mattress-turn-pending,
.orders-list .mattress-turn-completed{font-size:16px;font-weight:800;color:#b88700;}
.orders-list .delivery-images-link{font-size:16px;font-weight:500;color:#4b2a1b;text-decoration:underline;margin-top:6px;}

/* v61: restore v55 order-list typography and apply requested status/link rules */
.orders-list .order-info{font-size:inherit;line-height:1.35;color:inherit;}
.orders-list .order-title{font-size:inherit;font-weight:inherit;line-height:inherit;margin:0;color:inherit;}
.orders-list .order-customer-line{font-size:inherit;font-weight:inherit;color:inherit;}
.orders-list .order-muted-line{font-size:inherit;font-weight:inherit;color:inherit;}
.orders-list .order-status-line{font-size:inherit;font-weight:700;}
.orders-list .order-status-pending{color:#6d625c;}
.orders-list .order-status-delivered{color:#18733a;}
.orders-list .mattress-turn-link{display:inline-block;margin-top:6px;font-size:14px;font-weight:700;color:#b88700;text-decoration:underline;}
.orders-list .mattress-history-link{display:inline-block;margin-top:2px;font-size:14px;font-weight:400;color:#b88700;text-decoration:underline;}
.orders-list .delivery-images-link{font-size:14px;font-weight:400;color:#4b2a1b;text-decoration:underline;margin-top:6px;}

.quick-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;}
.quick-modal{background:#fff;border:1px solid #e0d4c8;border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.18);padding:20px;max-width:420px;width:100%;}
.quick-modal h3{margin:0 0 8px;font-size:22px;}
.quick-modal p{margin:0 0 14px;color:#6d625c;}
.quick-modal label{display:block;font-weight:700;margin-bottom:14px;}
.quick-modal input{margin-top:6px;width:100%;}
.quick-modal-actions{display:flex;gap:10px;justify-content:flex-end;}


/* v65: system modal for mattress turn completion/history */
.quick-modal textarea{
  margin-top:6px;
  width:100%;
  border:1px solid #e0d4c8;
  border-radius:10px;
  padding:10px 12px;
  font:inherit;
  resize:vertical;
  box-sizing:border-box;
}
.quick-modal-body{font-size:14px;line-height:1.4;color:#2b2522;}
.quick-modal-body .history-list{margin:8px 0 0 20px;padding:0;}
.quick-modal-body .history-list li{margin:0 0 10px;}
.system-notes-modal{
  width:min(640px,94vw)!important;
  max-width:640px!important;
  max-height:min(78vh,760px)!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.system-notes-head{
  flex:0 0 auto;
  padding:18px 20px 12px;
  border-bottom:1px solid #e6edf5;
}
.system-notes-head h3{margin:0!important;}
.system-notes-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:14px 20px;
}
.system-notes-composer{
  flex:0 0 auto;
  padding:14px 20px 18px;
  border-top:1px solid #e6edf5;
  background:#fff;
  box-shadow:0 -8px 18px rgba(14,43,77,.06);
}
.system-notes-composer label{margin:0 0 10px!important;}
.system-notes-composer textarea{
  min-height:92px;
  max-height:160px;
}
.system-notes-actions{
  align-items:center;
  flex-wrap:wrap;
}
.service-files-list{display:grid;gap:10px;margin-top:12px}.service-file-row{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line,#e2d6ca);border-radius:12px;padding:10px}.service-file-preview img{width:80px;height:80px;object-fit:cover;border-radius:8px}.file-tile-icon{width:80px;height:80px;border-radius:8px;background:#eee6dc;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--oms-brand-brown)}.service-upload-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn.small{padding:8px 12px;font-size:13px}
.pin-dot.service{background:#6f2f23;}
.pin-dot.yellow{background:#d6a400;}


.route-job-labels{margin-top:4px;font-size:12px;line-height:1.25;font-weight:700;}
.route-job-label.service{color:#6f2f23;}
.route-job-label.mattress{color:#b88700;}

/* v71 mobile responsive pass: layout only, no business logic changes */
html{max-width:100%;overflow-x:hidden;}
body{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;}
img,video,canvas,iframe{max-width:100%;}

@media (max-width: 820px){
  body{font-size:15px;padding-bottom:0;}

  .topbar{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:14px!important;
    padding:18px 14px!important;
  }
  .topbar h1{font-size:26px!important;line-height:1.08!important;}
  .topbar p{font-size:14px!important;line-height:1.25!important;}
  .logged-operator{font-size:12px!important;}
  .top-actions,
  .top-actions.page-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .top-actions .main-section-select,
  .top-actions.page-actions .main-section-select{
    grid-column:1/-1!important;
    width:100%!important;
    height:auto!important;
  }
  .top-actions .main-section-select .section-menu,
  .top-actions.page-actions .main-section-select .section-menu,
  .section-menu{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    line-height:46px!important;
    font-size:16px!important;
  }
  .top-actions .btn,
  .top-actions.page-actions .btn{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    padding:0 10px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:14px!important;
  }
  .logout-btn{grid-column:auto!important;}

  .wrap{width:100%!important;max-width:none!important;margin:12px auto!important;padding:0 10px!important;}
  .card{border-radius:14px!important;padding:16px!important;margin:12px 0!important;}
  h2{font-size:22px!important;margin-bottom:14px!important;}
  h3{font-size:19px!important;}
  .section-head{align-items:flex-start!important;flex-direction:column!important;}
  .section-head > div{width:100%;display:flex;gap:8px;flex-wrap:wrap;}

  .grid,
  .grid.two,
  .grid.three,
  .address-grid,
  .product-grid,
  .service-card .item-grid,
  .pricing-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:13px!important;
  }
  .product-grid .span2,
  .product-grid .wide,
  .service-card .wide,
  .span3,
  .trialWrap,
  .splitFields,
  .customBrandWrap,
  .bespokeCheckWrap,
  .finishGroupWrap,
  .finishWrap,
  .finishPriceWrap,
  .storageWrap{
    grid-column:1/-1!important;
  }
  input:not([type="checkbox"]), select, textarea{font-size:16px!important;padding:12px!important;}
  .address-btn{margin-top:0!important;width:100%!important;}
  .item-card,.warehouse-item{padding:16px!important;}
  .item-title{align-items:flex-start!important;gap:10px!important;}

  .sticky{
    position:static!important;
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:10px!important;
    padding:12px 10px!important;
  }
  .sticky strong{font-size:20px!important;}
  .footer-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0!important;width:100%!important;}
  .footer-actions .btn{width:100%!important;white-space:normal!important;}

  .order-row,.delivery-row,.clean-delivery-row,.warehouse-delivery-row,.route-row{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
  }
  .order-actions,.warehouse-actions,.row-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    justify-content:stretch!important;
  }
  .order-actions .btn,.warehouse-actions .btn,.row-actions .btn{width:100%!important;min-width:0!important;}

  .map-card{max-width:none!important;width:100%!important;padding:10px!important;}
  .map-wrap{padding-top:0!important;}
  .map-tools{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  #ordersMap,#routeMap{height:62vh!important;min-height:380px!important;border-radius:14px!important;}
  .leaflet-popup-content{font-size:14px!important;max-width:250px!important;}
  .map-order-list{grid-template-columns:1fr!important;}
  .map-legend{font-size:12px!important;gap:8px!important;}

  .route-detail-page .card{overflow-x:auto!important;}
  .route-stops-head{align-items:flex-start!important;flex-direction:column!important;}
  .route-table-wrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  .route-detail-page .route-stops-table{min-width:1180px!important;}
  .route-bottom-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .route-bottom-actions .btn,.route-bottom-actions a.btn{width:100%!important;min-width:0!important;white-space:normal!important;}
  .van-space-summary{align-self:flex-start!important;}

  .driver-stop-head{display:block!important;}
  .driver-slot{display:inline-block!important;margin-top:10px!important;}
  .driver-stop-body{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .driver-upload-row{display:grid!important;grid-template-columns:1fr!important;}
  .driver-upload-row .btn{width:100%!important;}
  .driver-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  .service-file-row{grid-template-columns:70px 1fr!important;}
  .service-file-row .btn{grid-column:1/-1;width:100%!important;}
  .service-file-preview img,.file-tile-icon{width:62px!important;height:62px!important;}
  .service-upload-row{display:grid!important;grid-template-columns:1fr!important;}

  .modal-card,.quick-modal{width:min(94vw,680px)!important;max-height:88vh!important;overflow:auto!important;padding:18px!important;}
  .system-notes-modal{width:calc(100vw - 24px)!important;max-height:86vh!important;overflow:hidden!important;padding:0!important;}
  .system-notes-scroll{padding:12px 16px;}
  .system-notes-composer{padding:12px 16px 16px;}
}

@media (max-width: 480px){
  .top-actions,.top-actions.page-actions{grid-template-columns:1fr!important;}
  .footer-actions{grid-template-columns:1fr!important;}
  .order-actions,.warehouse-actions,.row-actions,.route-bottom-actions{grid-template-columns:1fr!important;}
  .sticky{grid-template-columns:1fr 1fr 1fr!important;}
  .sticky span{font-size:12px!important;}
  .sticky strong{font-size:18px!important;}
  .driver-photo-grid{grid-template-columns:1fr!important;}
  #ordersMap,#routeMap{height:58vh!important;min-height:340px!important;}
}
.system-notes-link{display:inline-block;margin-top:6px;color:#4b2a1b;font-size:14px;font-weight:400;text-decoration:underline;}
.system-note-item{border:1px solid #e2d7c9;border-radius:10px;padding:10px;margin:8px 0;background:#fffdf8;}
.system-note-item strong{font-size:13px;color:#5e514a;}
.system-note-item.system-note-system{background:#eaf4ff;border-color:#9ec5f1;box-shadow:0 0 0 1px rgba(42,116,186,.08) inset;}
.system-note-item.system-note-system strong{color:#174a7c;}
.sms-thread-head p{margin:6px 0 0;}
.sms-thread-orders{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.sms-thread-orders span,.sms-thread-tag{display:inline-flex;align-items:center;border-radius:999px;background:#eef4fb;border:1px solid #d9e6f3;color:#173b5f;font-size:12px;font-weight:800;padding:4px 8px;}
.sms-thread-scroll{display:flex;flex-direction:column;gap:10px;background:#f6f9fc;}
.sms-thread-message{border:1px solid #dce7f1;border-radius:12px;padding:11px 12px;background:#fff;max-width:88%;box-shadow:0 4px 12px rgba(14,43,77,.05);}
.sms-thread-message-inbound{align-self:flex-start;border-color:#cbdced;background:#fff;}
.sms-thread-message-outbound,.sms-thread-message-auto{align-self:flex-end;background:#eaf4ff;border-color:#9ec5f1;}
.sms-thread-message-auto{background:#f4f7fb;border-color:#d5e0ec;}
.sms-thread-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#174a7c;font-size:13px;font-weight:800;}
.sms-thread-meta span{color:#6b7a90;font-weight:700;white-space:nowrap;}
.sms-thread-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;}
.sms-thread-status{text-transform:capitalize;}
.sms-thread-message p{margin:9px 0 0;white-space:normal;color:#152231;line-height:1.4;}
.sms-thread-message small{display:block;margin-top:8px;color:#64748b;word-break:break-all;}
.sms-thread-actions .quick-modal-actions{justify-content:flex-end;}
.quick-modal textarea{box-sizing:border-box;}
.route-stops-table .system-notes-link{font-size:12px;margin-top:4px;}
.map-order-links .system-notes-link{font-size:14px;margin-top:4px;}


/* Orders page: progressive loading + hide delivered filter */
.orders-toolbar{display:flex;gap:12px;align-items:center;margin:12px 0 16px;flex-wrap:wrap;}
.orders-toolbar #orderSearch{flex:1;min-width:260px;margin:0;}
.orders-hide-delivered{display:flex;gap:8px;align-items:center;font-weight:700;white-space:nowrap;}
.orders-hide-delivered input{width:auto;margin:0;}
.orders-more-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 4px;padding:14px;border-top:1px solid #eee;flex-wrap:wrap;}


.orders-list-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 14px;
  flex-wrap:wrap;
}
.checkbox-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  cursor:pointer;
}
.checkbox-inline input{
  width:auto;
  margin:0;
}
.orders-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:16px;
}


/* v80 orders page mobile tidy + quick delivered action */
.btn.success{background:#2f7d32!important;border-color:#2f7d32!important;color:#fff!important;}
.mark-delivered-btn{font-weight:800!important;}
.orders-page-actions .main-section-select{margin:0!important;}
.orders-page-actions .main-section-select .section-menu{max-width:100%!important;}
@media(max-width:720px){
  body{overflow-x:hidden!important;}
  .topbar{position:static!important;display:block!important;padding:18px 14px!important;}
  .topbar > div:first-child{min-width:0!important;width:100%!important;}
  .topbar h1{font-size:36px!important;line-height:1.04!important;word-break:normal!important;}
  .top-actions.page-actions.orders-page-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:16px!important;align-items:stretch!important;justify-content:stretch!important;}
  .orders-page-actions .main-section-select{grid-column:1 / -1!important;width:100%!important;height:auto!important;display:block!important;}
  .orders-page-actions .section-menu{width:100%!important;min-width:0!important;height:50px!important;min-height:50px!important;font-size:16px!important;}
  .orders-page-actions .btn{width:100%!important;min-width:0!important;height:50px!important;min-height:50px!important;padding:0 10px!important;font-size:15px!important;white-space:normal!important;text-align:center!important;line-height:1.1!important;}
  .orders-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  .orders-toolbar input{width:100%!important;box-sizing:border-box!important;font-size:16px!important;}
  .orders-hide-delivered{font-size:17px!important;display:flex!important;align-items:center!important;gap:10px!important;}
  .order-row{padding:16px!important;}
  .order-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;}
  .order-actions .btn{width:100%!important;box-sizing:border-box!important;justify-content:center!important;min-height:48px!important;}
}
@media(max-width:380px){
  .topbar h1{font-size:32px!important;}
  .orders-page-actions .btn{font-size:14px!important;}
}

/* v85 order timeline, partial delivery and summary polish */
.order-items-summary-list{margin:0;padding-left:1.3rem;line-height:1.6;}
.order-items-summary-list li{padding:.25rem 0;border-bottom:1px solid rgba(0,0,0,.06);}
.order-items-summary-list li:last-child{border-bottom:0;}
.clearance-row{display:none!important;grid-column:1/-1;background:#fff7e6;border:1px solid #efd49b;border-radius:10px;padding:10px 12px;}
.timeline-list{display:flex;flex-direction:column;gap:10px;max-height:65vh;overflow:auto;}
.timeline-item{border-left:4px solid #1f4e79;background:#f7f9fb;border-radius:8px;padding:10px 12px;}
.timeline-item pre{white-space:pre-wrap;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px;max-height:180px;overflow:auto;font-size:12px;}
.template-card{border:1px solid #ddd;border-radius:10px;padding:10px;margin:0 0 10px;background:#fff;}
.template-card textarea{width:100%;box-sizing:border-box;margin:8px 0;}
.warning-box{background:#fff4d6;border:1px solid #e7bc4f;border-radius:10px;padding:10px;margin:0 0 10px;}
.partial-items-list{max-height:240px;overflow:auto;border:1px solid #ddd;border-radius:10px;padding:8px;background:#fff;margin-bottom:10px;}
.checkbox-line{display:flex;gap:8px;align-items:flex-start;margin:6px 0;}
.small-btn{font-size:12px;padding:6px 8px;}

/* v86 tidy-ups */
.btn.saved-flash,
button.saved-flash {
  background: #2f7d42 !important;
  color: #fff !important;
  border-color: #2f7d42 !important;
}
.partial-link {
  display: inline-block;
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--oms-brand-brown);
  text-decoration: underline;
}
.partial-delivery-modal {
  max-width: 520px;
  width: min(92vw, 520px);
  padding: 22px !important;
}
.partial-delivery-modal h3 { margin-bottom: 8px; }
.partial-delivery-modal .partial-items-list {
  display: grid;
  gap: 8px;
  margin: 14px 0;
  max-height: 280px;
  overflow: auto;
}
.partial-item-line {
  align-items: flex-start !important;
  gap: 10px !important;
  border: 1px solid var(--line, #e2d6ca);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
}
.partial-item-line input { margin-top: 3px; flex: 0 0 auto; }
.partial-delivery-modal textarea { min-height: 88px; }
.partial-delivery-modal .quick-modal-actions { margin-top: 14px; gap: 10px; display: flex; justify-content: flex-end; flex-wrap: wrap; }
@media(max-width:720px){
  .partial-delivery-modal { width: calc(100vw - 28px); padding: 18px !important; }
  .partial-delivery-modal .quick-modal-actions { display: grid; grid-template-columns: 1fr; }
}


/* v90 order options dropdown and external salesperson controls */
.order-actions{position:relative;min-width:150px;}
.order-options-wrap{position:relative;display:inline-block;text-align:left;}
.options-button{min-width:118px;}
.order-options-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:50;background:#fff;border:1px solid var(--line,#e2d6ca);border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.14);padding:8px;min-width:230px;}
.order-options-menu.open{display:grid;gap:6px;}
.order-options-menu a,.order-options-menu button{display:block;width:100%;box-sizing:border-box;text-align:left;border:0;background:#f2ebe4;color:#2b2522;border-radius:10px;padding:10px 12px;font-weight:800;text-decoration:none;cursor:pointer;font-size:14px;}
.order-options-menu a:hover,.order-options-menu button:hover{filter:brightness(.97);}
.order-options-menu .danger-option{background:#f5d6d6;color:#b73535;}
#externalSalespersonWrap.hidden{display:none!important;}
@media(max-width:760px){.order-options-wrap,.options-button{width:100%;}.order-options-menu{left:0;right:auto;width:100%;min-width:0;}.order-actions{width:100%;}}

/* v91: order money summary + schedule delivery modal */
.order-money-summary{display:flex;gap:10px;flex-wrap:wrap;margin:5px 0 4px;font-size:14px;}
.order-money-summary span{background:#f5efe8;border:1px solid #e3d7cb;border-radius:999px;padding:3px 9px;}
.order-money-summary .balance-due{background:#fff0f0;border-color:#e8b5b5;color:#a72e2e;}
.order-money-summary .balance-clear{background:#eef8ef;border-color:#b7d9bd;color:#21723a;}
.schedule-delivery-modal label{display:block;margin:12px 0;font-weight:800;}
.schedule-delivery-modal select,.schedule-delivery-modal input{width:100%;box-sizing:border-box;margin-top:6px;}
.schedule-delivery-modal hr{border:0;border-top:1px solid #e5d9ce;margin:18px 0;}
.schedule-delivery-modal h4{margin:0 0 8px;font-size:17px;}

/* v92 route driver field */
.form-grid.five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 18px;align-items:end;}
.route-detail-page .form-grid.four{display:grid!important;grid-template-columns:1fr 160px 160px 220px!important;gap:18px!important;align-items:end!important;}
@media(max-width:1050px){.form-grid.five,.route-detail-page .form-grid.four{grid-template-columns:1fr!important;}}


.scheduled-route-info {
  margin: 5px 0 4px;
  color: #247a3d;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.35;
}
.customer-status-info{color:#1f7a3a;font-weight:400;margin-top:4px;margin-bottom:2px;}
.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:20px 0;}
.analytics-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0;}
.analytics-stat span{display:block;color:#7a6d65;margin-bottom:8px;}
.analytics-stat strong{font-size:24px;}
.analytics-stat.xero-stat-unavailable strong{font-size:22px;line-height:1.15;}
.analytics-stat .xero-stat-note{display:block;margin-top:6px;color:#7a6d65;font-size:13px;font-weight:700;line-height:1.25;}
.analytics-slider-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.analytics-slider-row input{width:100%;margin-top:10px;}
.analytics-table-wrap{overflow:auto;}
.analytics-table{width:100%;border-collapse:collapse;}
.analytics-table th,.analytics-table td{border-bottom:1px solid #e5d8cc;padding:10px;text-align:left;white-space:nowrap;}
.analytics-table th{background:#f5eee8;}
.xero-finance-period-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-top:18px;}
.xero-finance-date-group{display:flex;flex:1 1 260px;flex-direction:column;gap:6px;min-width:220px;margin:0;}
.xero-finance-date-group span{font-weight:900;color:var(--ink,#102033);}
.xero-finance-date-selects{display:grid;grid-template-columns:72px minmax(96px,1fr) 96px;gap:8px;}
.xero-finance-date-selects select,.xero-finance-year-select select{min-height:44px;border:1px solid var(--line,#d8e2ef);border-radius:12px;padding:0 12px;background:#fff;color:var(--ink,#102033);font-weight:800;}
.xero-finance-period-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;}
.xero-finance-period-actions .btn{min-height:44px;}
.xero-finance-year-select{flex:0 0 180px;max-width:180px;}
.xero-finance-pl-table td:first-child{font-weight:700;}
.xero-finance-pl-section td{background:#f7fbff;color:#173b62;font-weight:900;}
.xero-finance-pl-total td{font-weight:900;border-top:2px solid #eadfd2;}
.xero-finance-pl-percent td{color:#174a7a;}
.xero-finance-pl-line[data-depth="1"] td:first-child,
.xero-finance-pl-total[data-depth="1"] td:first-child,
.xero-finance-pl-percent[data-depth="1"] td:first-child{padding-left:28px;}
.xero-finance-pl-line[data-depth="2"] td:first-child,
.xero-finance-pl-total[data-depth="2"] td:first-child{padding-left:42px;}
@media(max-width:760px){.analytics-two-col,.analytics-slider-row{grid-template-columns:1fr}.analytics-stat strong{font-size:20px}}
@media(max-width:720px){.xero-finance-period-controls,.xero-finance-period-actions{display:grid;grid-template-columns:1fr}.xero-finance-date-group,.xero-finance-year-select{min-width:0;max-width:none;width:100%}.xero-finance-date-selects{grid-template-columns:72px minmax(0,1fr) 88px}}

/* v99 order filters + analytics tidy */
.orders-filter-panel{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.orders-filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.orders-filter-row input{flex:1 1 260px}
.orders-sort-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#555}
.orders-sort-label select{min-width:220px}
.orders-status-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:14px}
.orders-status-filters label{display:inline-flex;align-items:center;gap:6px;background:#f7f4ef;border:1px solid #e7ded0;border-radius:999px;padding:6px 10px;font-weight:400}
.analytics-checkbox{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e6ded2;border-radius:10px;background:#faf8f4}
.simple-chart{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.simple-chart-row{display:grid;grid-template-columns:90px minmax(120px,1fr) 110px;gap:10px;align-items:center;font-size:13px}
.simple-chart-label{color:#555}.simple-chart-track{height:14px;background:#eee7dc;border-radius:999px;overflow:hidden}.simple-chart-bar{height:100%;background:#9f7b50;border-radius:999px}.simple-chart-value{text-align:right;font-variant-numeric:tabular-nums}.chart-average{margin-top:10px}
@media(max-width:700px){.orders-filter-row{display:block}.orders-sort-label{margin-top:8px;align-items:flex-start;flex-direction:column}.orders-sort-label select{width:100%;min-width:0}.simple-chart-row{grid-template-columns:70px 1fr;gap:6px}.simple-chart-value{grid-column:2;text-align:left}.orders-status-filters label{font-size:13px}}


/* v101 warehouse assignment from View Orders */
.warehouse-assign-modal{max-width:780px;width:min(780px,94vw)}
.warehouse-assign-results{max-height:52vh;overflow:auto;margin-top:12px;border:1px solid #e6dfd4;border-radius:14px;background:#fffdf9}
.warehouse-assign-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #eee7dc}
.warehouse-assign-row:last-child{border-bottom:0}
.warehouse-assign-row.exact-match{background:#edf8f0;border:1px solid #b8e0c1;}
.warehouse-assign-row.exact-match-normal{background:#edf8f0;border:1px solid #b8e0c1;}
.warehouse-assign-row.exact-match-display{background:#eef6ff;border:1px solid #b8d9ff;}
.warehouse-assign-row.exact-match-replacement{background:#fff0f0;border:1px solid #f0b6b6;}
.warehouse-assign-row.manual-match{background:#fffaf0}
.match-good{color:#1f6f3d;font-weight:700;font-size:13px}
.warehouse-assign-row.exact-match-display .match-good{color:#1d5fa8}
.warehouse-assign-row.exact-match-replacement .match-good{color:#9d2424}
.match-warn{color:#9a6a00;font-weight:700;font-size:13px}
@media(max-width:720px){.warehouse-assign-row{display:block}.warehouse-assign-row .btn{margin-top:10px;width:100%}}

/* v102 tidy order filters + analytics checkbox */
.orders-filter-row-main{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;align-items:center}
.orders-filter-row-main input{width:100%;min-width:0}
.orders-filter-toggle{white-space:nowrap}
.orders-filters-collapsed{display:none!important;margin-top:4px}
.orders-filters-collapsed.orders-filters-open{display:flex!important}
.orders-sort-label{justify-content:flex-end;white-space:nowrap}
.orders-sort-label select{min-width:230px}
.analytics-checkbox{display:inline-flex!important;align-items:center;gap:10px;justify-content:flex-start;max-width:520px;width:auto}
.analytics-checkbox input{width:auto!important;margin:0!important;flex:0 0 auto}
.analytics-checkbox span{display:inline-block;line-height:1.25}
@media(max-width:760px){
  .orders-filter-row-main{grid-template-columns:1fr;align-items:stretch}
  .orders-sort-label{display:flex;align-items:flex-start;flex-direction:column;gap:6px}
  .orders-sort-label select{width:100%;min-width:0}
  .orders-filters-collapsed.orders-filters-open{display:flex!important}
}

/* v103 orders toolbar + filter dropdown corrections */
.orders-filter-panel{position:relative;gap:8px!important;}
.orders-filter-row-main{display:grid!important;grid-template-columns:minmax(320px,1fr) auto auto!important;gap:12px!important;align-items:center!important;}
.orders-filter-row-main input{height:48px;box-sizing:border-box;}
.orders-sort-label{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;white-space:nowrap!important;margin:0!important;font-weight:700;color:#5e514a;}
.orders-sort-label span{display:inline-block;}
.orders-sort-label select{height:48px;min-width:270px!important;max-width:320px;width:300px!important;box-sizing:border-box;}
.orders-filter-menu-wrap{position:relative;display:inline-flex;justify-content:flex-end;}
.orders-filter-toggle{height:48px;white-space:nowrap;}
.orders-status-filters.orders-filters-collapsed{display:none!important;}
.orders-status-filters.orders-filters-open{display:flex!important;position:absolute;right:0;top:calc(100% + 8px);z-index:80;background:#fff;border:1px solid var(--line,#e2d6ca);border-radius:16px;box-shadow:0 14px 35px rgba(0,0,0,.14);padding:12px;min-width:260px;max-width:min(92vw,380px);gap:8px;align-items:flex-start;}
.orders-status-filters.orders-filters-open label{width:100%;box-sizing:border-box;justify-content:flex-start;border-radius:12px;padding:9px 10px;background:#f7f3ee;}
.order-options-menu a,.order-options-menu button{font-size:14px!important;line-height:1.2;}
@media(max-width:900px){
  .orders-filter-row-main{grid-template-columns:1fr!important;align-items:stretch!important;}
  .orders-sort-label{align-items:flex-start!important;justify-content:flex-start!important;flex-direction:column!important;gap:6px!important;}
  .orders-sort-label select{width:100%!important;max-width:none!important;min-width:0!important;}
  .orders-filter-menu-wrap{justify-content:flex-start;}
  .orders-filter-toggle{width:100%;}
  .orders-status-filters.orders-filters-open{left:0;right:auto;width:100%;max-width:none;box-sizing:border-box;}
}


/* v104: orders toolbar and options menu tidy */
.orders-toolbar.orders-filter-panel{
  display:block !important;
  margin:14px 0 16px !important;
}
.orders-filter-row-main{
  display:grid !important;
  grid-template-columns:minmax(320px, 1fr) 300px 132px !important;
  gap:12px !important;
  align-items:stretch !important;
  width:100% !important;
}
.orders-filter-row-main #orderSearch,
.orders-filter-row-main #orderSort,
.orders-filter-row-main .orders-filter-toggle{
  height:48px !important;
  min-height:48px !important;
  box-sizing:border-box !important;
  margin:0 !important;
  line-height:1.2 !important;
}
.orders-filter-row-main #orderSearch{
  width:100% !important;
  min-width:0 !important;
}
.orders-sort-label{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  height:48px !important;
  min-width:0 !important;
}
.orders-sort-label span{
  display:none !important;
}
.orders-sort-label select,
.orders-filter-row-main #orderSort{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:48px !important;
  padding:0 44px 0 16px !important;
  font-size:15px !important;
  font-weight:800 !important;
  border-radius:14px !important;
}
.orders-filter-menu-wrap{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:48px !important;
}
.orders-filter-toggle{
  width:100% !important;
  justify-content:center !important;
  border-radius:14px !important;
  padding:0 16px !important;
  font-size:15px !important;
  font-weight:800 !important;
}
.orders-status-filters.orders-filters-collapsed{
  display:none !important;
}
.orders-status-filters.orders-filters-open{
  display:grid !important;
  grid-template-columns:1fr !important;
  position:absolute !important;
  right:0 !important;
  top:calc(100% + 8px) !important;
  z-index:100 !important;
  background:#fff !important;
  border:1px solid var(--line,#e2d6ca) !important;
  border-radius:16px !important;
  box-shadow:0 14px 35px rgba(0,0,0,.14) !important;
  padding:10px !important;
  min-width:220px !important;
  gap:7px !important;
}
.orders-status-filters.orders-filters-open label{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  border-radius:10px !important;
  padding:8px 10px !important;
  box-sizing:border-box !important;
  font-size:14px !important;
  font-weight:700 !important;
  background:#f7f3ee !important;
}
.order-options-wrap{
  position:relative !important;
  display:inline-block !important;
}
.order-options-wrap .options-button{
  min-width:118px !important;
  min-height:var(--oms-control-h) !important;
  height:auto !important;
  padding:0 16px !important;
  border-radius:13px !important;
  font-size:14px !important;
  font-weight:800 !important;
}
.order-options-menu{
  display:none !important;
  position:absolute !important;
  right:0 !important;
  top:calc(100% + 8px) !important;
  z-index:100 !important;
  width:240px !important;
  min-width:240px !important;
  max-width:240px !important;
  background:#fff !important;
  border:1px solid var(--line,#e2d6ca) !important;
  border-radius:16px !important;
  box-shadow:0 14px 35px rgba(0,0,0,.16) !important;
  padding:8px !important;
}
.order-options-menu.open{
  display:grid !important;
  gap:6px !important;
}
.order-options-menu a,
.order-options-menu button{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-height:36px !important;
  height:auto !important;
  padding:8px 10px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-radius:10px !important;
  background:#f2ebe4 !important;
  color:#2b2522 !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-align:left !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
.order-options-menu .danger-option{
  background:#f5d6d6 !important;
  color:#b73535 !important;
}
@media(max-width:860px){
  .orders-filter-row-main{
    grid-template-columns:1fr !important;
  }
  .orders-sort-label,
  .orders-filter-menu-wrap,
  .orders-filter-row-main #orderSort,
  .orders-filter-toggle{
    width:100% !important;
  }
  .orders-status-filters.orders-filters-open{
    left:0 !important;
    right:auto !important;
    min-width:0 !important;
    width:100% !important;
  }
  .order-options-wrap,
  .order-options-wrap .options-button{
    width:100% !important;
  }
  .order-options-menu{
    left:0 !important;
    right:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}

/* v105: proper orders toolbar, compact filters, analytics imported toggle tidy */
.orders-toolbar.orders-filter-panel{
  display:block !important;
  margin:14px 0 16px !important;
  overflow:visible !important;
}
.orders-filter-row-main{
  display:grid !important;
  grid-template-columns:minmax(360px,1fr) minmax(360px,460px) !important;
  gap:12px !important;
  align-items:center !important;
  width:100% !important;
}
.orders-filter-row-main #orderSearch{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.orders-toolbar-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  min-width:0 !important;
}
.orders-toolbar-actions #orderSort{
  width:260px !important;
  margin:0 !important;
  padding:0 38px 0 14px !important;
  box-sizing:border-box !important;
  border-radius:14px !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.orders-filter-menu-wrap{
  position:relative !important;
  display:block !important;
  width:auto !important;
  flex:0 0 auto !important;
  order:2 !important;
}
.orders-toolbar-actions #orderSort{order:1 !important;}
.orders-filter-toggle{
  width:118px !important;
  padding:0 16px !important;
  margin:0 !important;
  border-radius:14px !important;
  justify-content:center !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.orders-status-filters.orders-filters-open{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  position:absolute !important;
  right:0 !important;
  left:auto !important;
  top:calc(100% + 8px) !important;
  z-index:1000 !important;
  width:320px !important;
  min-width:320px !important;
  max-width:calc(100vw - 32px) !important;
  background:#fff !important;
  border:1px solid var(--line,#e2d6ca) !important;
  border-radius:14px !important;
  box-shadow:0 14px 35px rgba(0,0,0,.14) !important;
  padding:10px !important;
  gap:8px !important;
}
.orders-status-filters.orders-filters-open label{
  width:auto !important;
  min-height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  border:1px solid var(--line,#e2d6ca) !important;
  border-radius:10px !important;
  padding:8px 10px !important;
  box-sizing:border-box !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  background:#f7f3ee !important;
  text-align:left !important;
}
.orders-status-filters.orders-filters-open input[type="checkbox"]{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  flex:0 0 16px !important;
  margin:0 !important;
}
.orders-status-filters.orders-filters-open label span{
  display:block !important;
  min-width:0 !important;
}
.analytics-checkbox{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:fit-content !important;
  max-width:100% !important;
  padding:12px 14px !important;
  border:1px solid var(--line,#e2d6ca) !important;
  border-radius:12px !important;
  background:#fffaf5 !important;
  font-weight:800 !important;
}
.analytics-checkbox input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  margin:0 !important;
  flex:0 0 auto !important;
}
.analytics-checkbox span{
  line-height:1.25 !important;
}
@media(max-width:900px){
  .orders-filter-row-main{grid-template-columns:1fr !important;}
  .orders-toolbar-actions{justify-content:stretch !important;width:100% !important;}
  .orders-toolbar-actions #orderSort{width:100% !important;min-width:0 !important;flex:1 1 auto !important;}
  .orders-filter-menu-wrap{flex:0 0 112px !important;}
  .orders-filter-toggle{width:112px !important;}
  .orders-status-filters.orders-filters-open{right:0 !important;left:auto !important;width:min(320px,calc(100vw - 32px)) !important;min-width:0 !important;}
}
@media(max-width:560px){
  .orders-toolbar-actions{display:grid !important;grid-template-columns:1fr !important;height:auto !important;gap:10px !important;}
  .orders-toolbar-actions #orderSort,.orders-filter-menu-wrap,.orders-filter-toggle{width:100% !important;}
  .orders-status-filters.orders-filters-open{left:0 !important;right:auto !important;width:100% !important;grid-template-columns:1fr !important;}
}

/* v112 operational tidy-ups */
.order-quick-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:8px;}
.order-quick-actions .btn{padding:10px 14px;font-size:14px;}
.today-route-highlight{border-color:#d6a400!important;background:#fff9df!important;box-shadow:0 0 0 2px rgba(214,164,0,.18) inset;}
.today-route-highlight b{color:#7a5b00;}
.mattress-turn-pending{font-size:14px!important;font-weight:400!important;color:#b88700!important;}
.manufacturer-file-list{display:grid;gap:8px;margin:8px 0 16px;}
.mini-check{display:flex;align-items:center;gap:10px;border:1px solid var(--line,#e2d6ca);background:#fffaf5;border-radius:10px;padding:10px 12px;font-weight:700;}
.mini-check input{width:18px;height:18px;}
@media(max-width:760px){.order-actions{align-items:stretch}.order-quick-actions{justify-content:stretch}.order-quick-actions .btn{flex:1 1 auto}.order-options-wrap,.options-button{width:100%}}


/* v113 tidy actions/buttons */
.order-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:128px;}
.order-quick-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;width:128px!important;margin:0 0 8px 0!important;}
.order-quick-actions .btn{width:100%!important;box-sizing:border-box!important;text-align:center!important;justify-content:center!important;min-height:42px!important;padding:10px 12px!important;font-size:14px!important;}
.order-options-wrap{width:128px!important;position:relative;}
.options-button{width:100%!important;min-height:42px!important;}
.order-options-menu{right:0!important;min-width:220px!important;}
.mobile-only-order-option{display:none!important;}
.payment-modal .quick-modal-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap;}
.payment-modal-actions .btn{min-width:120px;}
.payment-section-head{align-items:center!important;}
.payment-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.payment-actions .btn{min-width:132px;text-align:center;justify-content:center;}
.service-issue-actions,.right-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.service-issue-actions .btn,.right-actions .btn{min-width:170px;text-align:center;justify-content:center;}
@media(max-width:760px){
  .order-actions{align-items:stretch!important;width:100%!important;margin-top:12px!important;}
  .order-quick-actions{display:none!important;}
  .order-options-wrap{width:100%!important;}
  .options-button{width:100%!important;}
  .mobile-only-order-option{display:block!important;}
  .order-options-menu{left:0!important;right:0!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;}
  .order-options-menu button,.order-options-menu a{width:100%!important;box-sizing:border-box!important;}
  .payment-actions{width:100%;display:grid;grid-template-columns:1fr;}
  .payment-actions .btn{width:100%;}
  .service-issue-actions,.right-actions{display:grid!important;grid-template-columns:1fr!important;justify-content:stretch!important;}
  .service-issue-actions .btn,.right-actions .btn{width:100%!important;min-width:0!important;}
}

/* v114 mobile/desktop layout fixes */
*{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:hidden;}
input,select,textarea,button{max-width:100%;box-sizing:border-box;}
input[type="date"]{width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;}

/* top menu: stop cramming on phone */
@media(max-width:760px){
  .topbar{padding:18px 16px!important;gap:16px!important;align-items:stretch!important;}
  .topbar>div:first-child{width:100%!important;min-width:0!important;}
  .topbar h1{font-size:42px!important;line-height:1.04!important;word-break:normal!important;}
  .topbar p{font-size:19px!important;line-height:1.25!important;}
  .top-actions.page-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;align-items:stretch!important;margin:0!important;}
  .top-actions.page-actions .main-section-select{grid-column:1 / -1!important;width:100%!important;display:block!important;min-width:0!important;}
  .top-actions.page-actions .section-menu{width:100%!important;min-width:0!important;height:56px!important;text-indent:0!important;}
  .top-actions.page-actions .btn{width:100%!important;min-width:0!important;margin:0!important;min-height:56px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;}
}
@media(max-width:430px){
  .topbar h1{font-size:36px!important;}
  .top-actions.page-actions{grid-template-columns:1fr!important;}
}

/* date fields and address controls: prevent mobile overflow */
.grid,.address-grid,.order-details-grid{min-width:0!important;}
.grid label,.address-grid label,.order-details-grid label{min-width:0!important;}
.address-grid{align-items:end!important;}
@media(max-width:760px){
  .address-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
  .address-btn{width:100%!important;margin-top:0!important;min-height:56px!important;}
  .address-label textarea,.address-box{width:100%!important;min-height:140px!important;}
}

/* payments section: fix button placement and mobile overflow */
.payment-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;}
.payment-actions{display:flex!important;gap:10px!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;}
.payment-actions .btn{min-width:150px!important;text-align:center!important;justify-content:center!important;}
.payments-list{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
.payments-list table{width:100%!important;min-width:720px!important;table-layout:auto!important;}
.payments-list th,.payments-list td{vertical-align:middle!important;white-space:normal!important;}
.payments-list td:last-child{min-width:150px!important;}
.payments-list td:last-child .btn{display:inline-flex!important;margin:3px!important;min-width:68px!important;justify-content:center!important;}
@media(max-width:760px){
  .payment-section-head{display:block!important;text-align:left!important;}
  .payment-section-head h2{text-align:left!important;margin-bottom:14px!important;}
  .payment-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;}
  .payment-actions .btn{width:100%!important;min-width:0!important;min-height:54px!important;}
  .payments-list{border:1px solid var(--line)!important;border-radius:12px!important;overflow-x:auto!important;background:#fff!important;}
  .payments-list table{min-width:650px!important;font-size:15px!important;}
  .payments-list th,.payments-list td{padding:10px!important;}
}

/* View Orders action buttons: equal width/spacing and always visible stacked */
.order-row{gap:16px!important;align-items:center!important;}
.order-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;min-width:150px!important;width:150px!important;margin-left:auto!important;}
.order-quick-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%!important;margin:0!important;}
.order-quick-actions .btn,.order-actions>.btn,.order-actions .options-button{width:100%!important;min-width:0!important;min-height:var(--oms-control-h)!important;padding:10px 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-size:14px!important;line-height:1.15!important;}
.order-options-wrap{width:100%!important;position:relative!important;}
.order-options-menu{right:0!important;left:auto!important;}
@media(max-width:760px){
  .order-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:16px!important;}
  .order-actions{width:100%!important;min-width:0!important;margin:14px 0 0 0!important;gap:10px!important;}
  .order-quick-actions{display:flex!important;width:100%!important;gap:10px!important;}
  .order-quick-actions .btn,.order-actions .options-button{min-height:56px!important;font-size:18px!important;border-radius:18px!important;}
  .order-options-menu{position:static!important;width:100%!important;min-width:0!important;margin-top:10px!important;box-shadow:none!important;}
}

/* Orders search/sort/filter toolbar: stable alignment */
.orders-toolbar,.orders-filter-panel{width:100%!important;}
.orders-filter-row-main{display:grid!important;grid-template-columns:minmax(280px,1fr) auto!important;gap:12px!important;align-items:center!important;}
.orders-search-mode-group{display:grid!important;grid-template-columns:minmax(0,1fr) 160px!important;gap:10px!important;align-items:center!important;min-width:0!important;}
.orders-search-mode-group #orderSearch{width:100%!important;min-width:0!important;}
.orders-search-mode-toggle{width:160px!important;min-height:48px!important;white-space:nowrap!important;}
.orders-toolbar-actions{display:grid!important;grid-template-columns:minmax(220px,320px) 120px!important;gap:10px!important;align-items:center!important;}
.orders-toolbar-actions #orderSort{grid-column:1!important;width:100%!important;height:48px!important;}
.orders-filter-menu-wrap{grid-column:2!important;position:relative!important;width:120px!important;}
.orders-filter-toggle{width:120px!important;height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.orders-status-filters{right:0!important;left:auto!important;width:240px!important;padding:10px!important;border-radius:14px!important;}
.orders-status-filters label{display:flex!important;align-items:center!important;gap:10px!important;padding:10px 12px!important;border-radius:10px!important;min-height:44px!important;font-size:15px!important;}
.orders-status-filters input[type="checkbox"]{width:18px!important;height:18px!important;flex:0 0 18px!important;margin:0!important;}
.orders-status-filters span{line-height:1.2!important;}
@media(max-width:900px){
  .orders-filter-row-main{grid-template-columns:1fr!important;}
  .orders-search-mode-group{grid-template-columns:1fr!important;}
  .orders-search-mode-toggle{width:100%!important;}
  .orders-toolbar-actions{grid-template-columns:1fr!important;width:100%!important;}
  .orders-toolbar-actions #orderSort,.orders-filter-menu-wrap,.orders-filter-toggle{grid-column:auto!important;width:100%!important;}
  .orders-status-filters{position:static!important;width:100%!important;margin-top:10px!important;box-shadow:none!important;}
}

/* v115 mobile/admin polish */
@media (max-width: 720px) {
  .mobile-hide-csv {
    display: none !important;
  }
}


/* v116 order options cleanup */
.order-quick-actions .add-payment-soft{
  background:#dfeede!important;
  border-color:#c5ddc3!important;
  color:#1f6f34!important;
  box-shadow:none!important;
}
.order-quick-actions .add-payment-soft:hover{background:#d4e8d2!important;}
.order-options-menu .option-warning{
  background:#fff5d8!important;
  border-color:#ead28c!important;
  color:#7a5b00!important;
}
.order-options-menu .option-success-soft{
  background:#dfeede!important;
  border-color:#c5ddc3!important;
  color:#1f6f34!important;
}
.order-options-menu button,
.order-options-menu a{
  min-height:38px!important;
  padding:9px 12px!important;
  margin:0 0 6px 0!important;
  border-radius:9px!important;
}
.order-options-menu button:last-child,
.order-options-menu a:last-child{margin-bottom:0!important;}

/* v117 route flexibility: manual time fields and editable delivery slot */
.route-detail-page input[type="time"]{
  min-height:48px!important;
  height:48px!important;
  padding:10px 14px!important;
  border:1px solid #ded1c7!important;
  border-radius:12px!important;
  background:#fff!important;
  font-weight:800!important;
  color:#2b2523!important;
  box-sizing:border-box!important;
}
.route-detail-page .route-stops-table{min-width:1500px!important;}
.route-detail-page .route-stops-table .slot-col{width:190px!important;min-width:190px!important;text-align:left!important;font-weight:600!important;}
.slot-custom-line{display:flex!important;align-items:center!important;gap:6px!important;font-size:12px!important;font-weight:700!important;color:#6f625c!important;margin-bottom:5px!important;white-space:nowrap!important;}
.slot-custom-line input{width:auto!important;min-width:0!important;height:auto!important;margin:0!important;transform:none!important;}
.route-slot-input{width:160px!important;min-width:160px!important;max-width:160px!important;padding:8px 9px!important;border-radius:10px!important;border:1px solid #ded1c7!important;font-size:13px!important;font-weight:800!important;box-sizing:border-box!important;background:#fff!important;}
.route-slot-input[readonly]{background:#f4eee8!important;color:#5d514b!important;}
@media(max-width:800px){
  .route-detail-page .form-grid.four{grid-template-columns:1fr!important;}
  .route-detail-page input[type="time"]{width:100%!important;}
}

/* v118 smart 24-hour route slots */
.route-detail-page .route-stops-table .slot-col{
  width: 230px!important;
  min-width: 230px!important;
  text-align: left!important;
  vertical-align: middle!important;
}
.slot-auto-display{margin-bottom:6px!important;}
.route-slot-input{
  width: 170px!important;
  min-width: 170px!important;
  max-width: 170px!important;
  padding: 8px 9px!important;
  border-radius: 10px!important;
  border: 1px solid #ded1c7!important;
  font-size: 13px!important;
  font-weight: 800!important;
  box-sizing: border-box!important;
  background: #f4eee8!important;
  color: #5d514b!important;
}
.slot-custom-line{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#6f625c!important;
  margin:0 0 5px!important;
  white-space:nowrap!important;
}
.slot-custom-line input{width:auto!important;min-width:0!important;height:auto!important;margin:0!important;transform:none!important;}
.slot-manual-times{
  display:none!important;
  align-items:center!important;
  gap:5px!important;
  white-space:nowrap!important;
}
.manual-slot-active .slot-manual-times{display:flex!important;}
.manual-slot-active .slot-auto-display{display:none!important;}
.manual-slot-active .slot-manual-times{margin-top:4px!important;}
.route-slot-from,.route-slot-to{
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  padding:7px 6px!important;
  border-radius:9px!important;
  border:1px solid #ded1c7!important;
  font-size:13px!important;
  font-weight:800!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
#driverStart,#driverEnd,#newDriverStart,#newDriverEnd{
  font-variant-numeric: tabular-nums;
}

/* v121 map filters + route selection tidy */
.map-tools-v121{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto auto!important;
  gap:12px!important;
  align-items:center!important;
}
.map-tools-v121 input{min-width:0!important;width:100%!important;height:48px!important;box-sizing:border-box!important;}
.map-filter-toggle{height:48px!important;min-width:120px!important;}
.map-filter-panel{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(165px,1fr));
  gap:8px;
  align-items:stretch;
  border:1px solid var(--line,#e2d6ca);
  background:#fff;
  border-radius:16px;
  padding:10px;
  margin:0 0 12px 0;
}
.map-filter-panel[hidden]{display:none!important;}
.map-filter-panel label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  border:1px solid var(--line,#e2d6ca);
  background:#f8f5f0;
  border-radius:12px;
  padding:7px 10px;
  font-weight:700;
  line-height:1.15;
  white-space:normal;
  box-sizing:border-box;
}
.map-filter-panel input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  flex:0 0 auto!important;
  margin:0!important;
}
.map-filter-panel .map-clear-filters{
  width:100%;
  min-height:44px!important;
  height:auto!important;
  align-self:stretch;
  margin:0!important;
  padding:7px 12px!important;
  box-sizing:border-box!important;
}
.map-selected-route{margin:0 0 12px 0;font-weight:700;color:#1f7a3a!important;}
.route-choice-card{cursor:pointer;}
.route-choice-card.selected{border-color:#70442f!important;box-shadow:0 0 0 2px rgba(112,68,47,.15);background:#fff8f2!important;}
.map-order-row{font-size:14px;}
.map-order-route a,.map-order-links a{display:inline-block;margin-top:4px;}
@media(max-width:700px){
  .map-tools-v121{grid-template-columns:1fr!important;align-items:stretch!important;}
  .map-tools-v121 #mapCount{display:block;margin-top:0;}
  .map-filter-toggle{width:100%!important;}
  .map-filter-panel{display:grid;grid-template-columns:1fr!important;gap:8px;}
  .map-filter-panel label{width:100%;box-sizing:border-box;justify-content:flex-start;border-radius:12px;}
}

/* v125 refinements */
.item-title-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.item-title-actions .btn{min-height:34px;padding:7px 10px;font-size:13px;}
.order-quick-actions{gap:8px!important;}
.order-quick-actions .btn{min-height:38px!important;padding:8px 12px!important;}
@media(max-width:760px){.order-quick-actions .btn{min-height:42px!important;padding:8px 10px!important;font-size:14px!important}.orders-page-actions .mobile-hide-csv{display:none!important}}
.order-options-menu button.option-success-soft,.order-options-menu .option-success-soft{background:#dcebdd!important;color:#225b2b!important;}
.map-create-route-btn{margin-top:8px;}
.settings-action-grid{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px;}
.settings-action-grid .btn{min-width:210px;}
@media(max-width:760px){.settings-action-grid{display:grid;grid-template-columns:1fr}.settings-action-grid .btn{width:100%;min-width:0}}

/* v127 calendar subscription + login/password removal polish */
.login-field select{
  width:100%;
  min-height:54px;
  border:1px solid var(--line,#e2d6ca);
  border-radius:14px;
  padding:12px 14px;
  font:inherit;
  font-weight:800;
  background:#fff;
}
.calendar-subscribe-box{
  margin-top:18px;
  padding:16px;
  border:1px solid var(--line,#e2d6ca);
  border-radius:16px;
  background:#fffaf5;
}
.calendar-subscribe-box h3{margin:0 0 8px;}
.copy-url-input{
  width:100%;
  margin:10px 0 12px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:14px;
  padding:12px 14px;
  border:1px solid var(--line,#e2d6ca);
  border-radius:12px;
  background:#fff;
}
.settings-action-grid.small-grid{margin-top:8px;}
.order-options-menu .option-success-soft,
.order-options-menu button.option-success-soft{
  background:#dfeede!important;
  border-color:#c5ddc3!important;
  color:#1f6f34!important;
}

/* v130 analytics cleanup */
.analytics-replacements-card .replacement-summary{ margin: 0 0 14px 0; }
.analytics-replacements-card h3{ margin-top: 0; margin-bottom: 8px; }
.analytics-section-tight{ gap: 18px; align-items: start; }

/* v134 dashboard render fix */
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.dash-stat-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line,#e4d8cc);border-radius:16px;padding:16px;box-shadow:0 1px 0 rgba(0,0,0,.02)}.dash-stat-title{font-weight:700;color:#6e625c;margin-bottom:8px}.dash-stat-value{font-size:28px;font-weight:800;color:#241f1d}.simple-list{display:flex;flex-direction:column;gap:10px}.simple-list-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line,#e4d8cc);border-radius:14px;padding:12px 14px;color:inherit;text-decoration:none;background:#fff}.simple-list-row span{color:#6e625c}.table-wrap{overflow-x:auto}.error-text{color:#b3261e;font-weight:700}@media(max-width:700px){.simple-list-row{display:block}.simple-list-row span{display:block;margin-top:4px}.dash-stat-value{font-size:24px}}


/* v135 dashboard + global mobile menu consistency */
@media(max-width:760px){
  .topbar{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:16px!important;
    padding:18px 16px!important;
  }
  .topbar > div:first-child{
    width:100%!important;
    min-width:0!important;
  }
  .top-actions.page-actions,
  .route-top-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    margin:0!important;
    max-width:none!important;
  }
  .top-actions.page-actions .main-section-select,
  .route-top-actions .main-section-select{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
    display:block!important;
    height:auto!important;
  }
  .top-actions.page-actions .section-menu,
  .top-actions.page-actions select.section-menu,
  .route-top-actions .section-menu,
  .route-top-actions select.section-menu{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:56px!important;
    min-height:56px!important;
    line-height:56px!important;
    padding:0 42px 0 18px!important;
    font-size:16px!important;
    text-indent:0!important;
  }
  .top-actions.page-actions .btn,
  .route-top-actions .btn{
    width:100%!important;
    min-width:0!important;
    height:56px!important;
    min-height:56px!important;
    margin:0!important;
    padding:0 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    line-height:1.1!important;
  }
}
@media(max-width:430px){
  .topbar h1{font-size:36px!important;line-height:1.04!important;}
  .topbar p{font-size:19px!important;line-height:1.25!important;}
  .top-actions.page-actions,
  .route-top-actions{grid-template-columns:1fr 1fr!important;}
}

/* v136 dashboard/customer/profile refinements */
.dashboard-grid{grid-template-columns:repeat(3,minmax(180px,1fr))!important;}
.dashboard-sales-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-top:10px;}
.dashboard-sales-box{border:1px solid var(--line,#e2d6ca);background:#fff;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:5px;min-height:92px;box-sizing:border-box;}
.dashboard-sales-box span{font-weight:800;color:#6e625c;}
.dashboard-sales-box strong{font-size:24px;color:#241f1d;line-height:1.1;}
.dashboard-sales-box em{font-style:normal;color:#6e625c;font-weight:700;}
.customer-result-row{width:100%;text-align:left;cursor:pointer;font:inherit;}
.customer-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;}
.customer-profile-head h3{margin:0 0 4px 0;}
.customer-stats{grid-template-columns:repeat(4,minmax(120px,1fr));margin-bottom:18px;}
.customer-profile-card h3{margin-top:18px;}

/* v136 map alignment: one clean row with equal heights */
.map-tools-v121{display:grid!important;grid-template-columns:minmax(0,1fr) 120px max-content!important;align-items:center!important;gap:12px!important;margin-bottom:12px!important;}
.map-tools-v121 input{height:48px!important;min-height:48px!important;margin:0!important;}
.map-tools-v121 .map-filter-toggle{height:48px!important;min-height:48px!important;width:120px!important;min-width:120px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.map-tools-v121 #mapCount{height:48px!important;min-height:48px!important;display:flex!important;align-items:center!important;white-space:nowrap!important;margin:0!important;}
.map-filter-panel{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;}
.map-filter-panel label{min-height:44px!important;}

@media(max-width:900px){
  .dashboard-grid{grid-template-columns:repeat(2,minmax(140px,1fr))!important;}
  .dashboard-sales-grid,.customer-stats{grid-template-columns:repeat(2,minmax(140px,1fr))!important;}
}
@media(max-width:760px){
  .dashboard-grid{grid-template-columns:1fr!important;}
  .dashboard-sales-grid,.customer-stats{grid-template-columns:1fr!important;}
  .customer-profile-head{display:block;}
  .customer-profile-head .btn{width:100%;margin-top:10px;}
  .map-tools-v121{grid-template-columns:1fr!important;gap:10px!important;}
  .map-tools-v121 .map-filter-toggle{width:100%!important;min-width:0!important;}
  .map-tools-v121 #mapCount{height:auto!important;min-height:0!important;justify-content:flex-start!important;}
}

/* v138 global mobile header: match Orders page layout on every page */
@media(max-width:760px){
  .topbar{position:static!important;display:block!important;padding:18px 14px!important;}
  .topbar>div:first-child{min-width:0!important;width:100%!important;}
  .topbar h1{font-size:36px!important;line-height:1.04!important;word-break:normal!important;}
  .topbar p{font-size:19px!important;line-height:1.25!important;}
  .top-actions.page-actions,.route-top-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:16px!important;align-items:stretch!important;justify-content:stretch!important;max-width:none!important;}
  .top-actions.page-actions .main-section-select,.route-top-actions .main-section-select{grid-column:1 / -1!important;width:100%!important;height:auto!important;display:block!important;min-width:0!important;}
  .top-actions.page-actions .section-menu,.top-actions.page-actions select.section-menu,.route-top-actions .section-menu,.route-top-actions select.section-menu{width:100%!important;min-width:0!important;max-width:100%!important;height:50px!important;min-height:50px!important;font-size:16px!important;line-height:50px!important;padding:0 42px 0 18px!important;text-indent:0!important;}
  .top-actions.page-actions .btn,.route-top-actions .btn{width:100%!important;min-width:0!important;height:50px!important;min-height:50px!important;padding:0 10px!important;font-size:15px!important;white-space:normal!important;text-align:center!important;line-height:1.1!important;display:flex!important;align-items:center!important;justify-content:center!important;}
  .customers-search-card input::placeholder{font-size:15px!important;}
}
@media(max-width:380px){.topbar h1{font-size:32px!important}.top-actions.page-actions .btn,.route-top-actions .btn{font-size:14px!important}}

/* v138 analytics period buttons */
.analytics-period-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;}
.analytics-period.active{background:var(--brown)!important;color:#fff!important;border-color:var(--brown)!important;}
.analytics-top-size{display:inline-flex;align-items:center;gap:10px;font-weight:800;margin-top:8px;}
.analytics-top-size select{width:auto;min-width:110px;}
@media(max-width:760px){.analytics-period-buttons{display:grid;grid-template-columns:1fr 1fr}.analytics-top-size{display:grid;grid-template-columns:1fr;width:100%}.analytics-top-size select{width:100%}}

/* v138 dashboard figures: allow six cards to wrap neatly */
.dashboard-sales-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;}

/* v138 map toolbar alignment final override */
.map-tools-v121{display:grid!important;grid-template-columns:minmax(0,1fr) 120px max-content!important;align-items:center!important;gap:12px!important;margin-bottom:12px!important;}
.map-tools-v121 input,.map-tools-v121 .map-filter-toggle,.map-tools-v121 #mapCount{height:48px!important;min-height:48px!important;margin:0!important;box-sizing:border-box!important;}
.map-tools-v121 .map-filter-toggle{width:120px!important;min-width:120px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.map-tools-v121 #mapCount{display:flex!important;align-items:center!important;white-space:nowrap!important;}
@media(max-width:760px){.map-tools-v121{grid-template-columns:1fr!important}.map-tools-v121 .map-filter-toggle{width:100%!important;min-width:0!important}.map-tools-v121 #mapCount{height:auto!important;min-height:0!important}}

/* v421 authoritative system and plotted map counts */
.map-count-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 12px 0;
}
.map-count-summary-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:11px 14px;
  border:1px solid var(--line,#e2d6ca);
  border-radius:13px;
  background:#f8f5f0;
  color:#47382e;
  font-variant-numeric:tabular-nums;
}
.map-count-summary-row strong{flex:0 0 auto;color:#241f1d;}
.map-count-summary-row span{min-width:0;font-weight:750;}
.map-count-summary-system{background:#f7f3ed;}
.map-count-summary-plotted{background:#eef7f1;border-color:#cfe0d4;}
.map-count-summary .map-selected-route{
  grid-column:1 / -1;
  margin:0;
  padding:2px 4px 0;
}
.map-count-summary .map-selected-route[hidden]{display:none!important;}
.map-category-badges{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0 5px;}
.map-category-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:3px 8px;
  font-size:11px;
  font-weight:850;
  line-height:1.2;
  background:#ece8e3;
  color:#47382e;
}
.map-category-badge.service{background:#f1dfda;color:#6f2f23;}
.map-category-badge.mattress{background:#f7ebc7;color:#775b00;}
.map-category-badge.pending{background:#e8eef5;color:#264e75;}
@media(max-width:900px){
  .map-count-summary{grid-template-columns:1fr;}
  .map-count-summary .map-selected-route{grid-column:1;}
}
@media(max-width:600px){
  .map-count-summary-row{display:grid;grid-template-columns:1fr;gap:3px;}
}

/* v139 analytics refinements */
.analytics-controls-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px;}
.checkbox-pill{display:inline-flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--line,#e2d6ca);background:#fbf7f3;border-radius:14px;font-weight:800;min-height:48px;box-sizing:border-box;}
.checkbox-pill input{width:18px;height:18px;}
.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.card-title-row h2{margin:0;}
.small-btn{min-height:40px!important;height:40px!important;padding:0 14px!important;}
@media(max-width:760px){
  .analytics-controls-row{display:grid;grid-template-columns:1fr;gap:10px;}
  .checkbox-pill{width:100%;}
  .card-title-row{display:grid;grid-template-columns:1fr;}
}

/* v140 analytics/dashboard refinements */
.analytics-expand-btn{margin-top:10px;}
.analytics-search-results{margin-top:12px;}
.inline-control-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.wide-input{width:100%;box-sizing:border-box;padding:14px 16px;border:1px solid var(--line,#e2d6ca);border-radius:12px;font:inherit;font-weight:700;}
.dashboard-sales-grid-oms-only{grid-template-columns:repeat(4,minmax(170px,1fr))!important;}
@media (max-width: 760px){
  .dashboard-sales-grid-oms-only{grid-template-columns:1fr 1fr!important;}
  .inline-control-row{width:100%;}
  .inline-control-row .analytics-top-size{flex:1 1 100%;}
}
@media (max-width: 520px){
  .dashboard-sales-grid-oms-only{grid-template-columns:1fr!important;}
}

/* Mobile bottom navigation for New Order page */
.mobile-bottom-actions{display:none;margin:18px 0 110px;text-align:center}
.mobile-bottom-actions .btn{width:100%;max-width:360px}
.service-presets{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.service-presets .btn{padding:8px 12px}
@media(max-width:760px){.mobile-bottom-actions{display:block}.service-presets{display:grid;grid-template-columns:1fr}.service-presets .btn{width:100%}}


/* v141 mobile header fix: force Dashboard/top menu to match Orders layout */
@media(max-width:900px){
  .topbar{position:static!important;display:block!important;padding:18px 14px!important;}
  .topbar>div:first-child{min-width:0!important;width:100%!important;}
  .top-actions.page-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin-top:16px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    max-width:none!important;
  }
  .top-actions.page-actions>.main-section-select{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    display:block!important;
  }
  .top-actions.page-actions>.main-section-select .section-menu,
  .top-actions.page-actions>.main-section-select select.section-menu{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    box-sizing:border-box!important;
    display:block!important;
    font-size:16px!important;
    line-height:50px!important;
    padding:0 42px 0 18px!important;
    text-indent:0!important;
  }
  .top-actions.page-actions>.btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    padding:0 10px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    line-height:1.1!important;
  }
}

/* v142 customer profiles page */
.customers-page-wrap{display:flex;flex-direction:column;gap:18px;}
.customers-actions-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 16px;}
.customer-results-list .customer-row{cursor:pointer;}
.customer-money-summary{margin-top:10px;}
.customer-add-modal{max-width:520px;}
.customer-add-modal textarea{width:100%;box-sizing:border-box;border:1px solid var(--line,#e2d6ca);border-radius:12px;padding:10px;font:inherit;}
@media(max-width:760px){
  .customers-actions-row{display:grid;grid-template-columns:1fr;}
  .customers-actions-row .btn{width:100%;}
  .customer-results-list .order-actions{margin-top:12px;}
}

/* POD button and driver route timing updates */
.order-options-menu .pod-option-blue{
  display:block;
  width:100%;
  box-sizing:border-box;
  border:0;
  border-radius:10px;
  padding:10px 12px;
  margin:4px 0;
  background:#e8f1fb;
  color:#255f9f!important;
  font-weight:800;
  text-align:left;
  text-decoration:none;
}
.order-options-menu .pod-option-blue:hover{background:#dcebf9;}
.driver-route-action-bar{margin-top:12px;}
.driver-route-finish-wrap{margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#e1d5c8);}
.driver-start-route-btn,.driver-finish-route-btn{min-width:220px;}
@media(max-width:700px){
  .driver-route-action-bar .driver-start-route-btn,
  .driver-route-finish-wrap .driver-finish-route-btn{width:100%!important;display:flex!important;justify-content:center!important;}
}

/* v146 route completion states + stronger POD button tint */
.routes-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;}
.routes-heading-row h2{margin-bottom:4px;}
.routes-helper-text{margin:0;}
.completed-route-row{background:#f2fbf4!important;border-color:#b9dfc2!important;}
.active-route-row{border-color:#b9d5e8!important;background:#f7fbff!important;}
.route-completed-pill{background:#dff4e4!important;color:#1f7a3a!important;border-color:#a9d7b4!important;}
.route-active-pill{background:#e8f1fb!important;color:#255f9f!important;border-color:#b9d5e8!important;}
.route-outstanding-pill{background:#f5eee8!important;color:#6a574d!important;}
.completed-route-summary{margin-top:12px;padding:12px;border:1px solid #cfe8d5;border-radius:12px;background:#fbfffc;}
.completed-route-times{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:8px;color:#26683b;}
.completed-route-orders ul{margin:6px 0 0 18px;padding:0;}
.completed-route-orders li{margin:4px 0;}
.order-options-menu a.pod-option-blue,
.order-options-menu button.pod-option-blue,
.pod-option-blue{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #bfd8ef!important;
  border-radius:10px!important;
  padding:10px 12px!important;
  margin:4px 0!important;
  background:#e8f1fb!important;
  color:#255f9f!important;
  font-weight:800!important;
  text-align:left!important;
  text-decoration:none!important;
}
.order-options-menu a.pod-option-blue:hover,
.order-options-menu button.pod-option-blue:hover,
.pod-option-blue:hover{background:#dcebf9!important;}
@media(max-width:760px){.routes-heading-row{display:block}.routes-heading-row .btn{width:100%;margin-top:10px}.completed-route-times{display:block}.completed-route-times span{display:block;margin-bottom:4px}}

/* v152 compact order options + supplier ordered action */
.order-options-menu .remove-details-submenu{
  margin-top:4px;
  border-radius:10px;
  overflow:hidden;
}
.order-options-menu .remove-details-submenu summary{
  list-style:none;
  cursor:pointer;
  display:block;
  width:100%;
  box-sizing:border-box;
  text-align:left;
  border:0;
  background:#f5d6d6;
  color:#b73535;
  border-radius:10px;
  padding:10px 12px;
  font-weight:800;
  font-size:14px;
}
.order-options-menu .remove-details-submenu summary::-webkit-details-marker{display:none;}
.order-options-menu .remove-details-submenu summary:after{content:' ▾';float:right;opacity:.75;}
.order-options-menu .remove-details-submenu[open] summary:after{content:' ▴';}
.order-options-menu .remove-details-items{display:grid;gap:6px;margin-top:6px;}
.order-options-menu .option-ordered{background:#eef4e8!important;color:#2f7442!important;}
.order-options-menu .option-ordered:hover{background:#e4efd9!important;}

/* v153: compact order options and supplier ordered product picker */
.order-options-menu.open{gap:5px!important;}
.order-options-menu button,
.order-options-menu a{
  min-height:34px!important;
  padding:7px 10px!important;
  margin:0!important;
  border-radius:10px!important;
  line-height:1.15!important;
}
.remove-details-submenu{margin:0!important;}
.remove-details-submenu summary{
  min-height:34px!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  font-size:13px!important;
}
.remove-details-items{display:grid!important;gap:5px!important;margin-top:5px!important;}
.supplier-ordered-modal{max-width:620px!important;}
.supplier-product-select{margin:12px 0;padding:12px;border:1px solid var(--line,#e2d6ca);border-radius:12px;background:#fbf8f5;}
.supplier-product-line{align-items:flex-start!important;margin-top:8px!important;gap:8px!important;font-weight:700!important;line-height:1.25!important;}
.supplier-product-line input{margin-top:2px!important;}
.supplier-product-line em{font-style:normal;color:#6f625a;font-weight:700;}
.small-text{font-size:13px!important;margin:4px 0 8px!important;}

/* v154: grouped logistics actions in order options */
.order-options-menu .logistics-submenu{
  width:100%;
  margin:0!important;
}
.order-options-menu .logistics-submenu summary{
  list-style:none;
  cursor:pointer;
  border:0;
  border-radius:14px;
  padding:14px 18px;
  font-weight:800;
  color:#18723a;
  background:#dff1e2;
  display:block;
}
.order-options-menu .logistics-submenu summary::-webkit-details-marker{display:none;}
.order-options-menu .logistics-submenu summary:after{content:' ▾';float:right;opacity:.75;}
.order-options-menu .logistics-submenu[open] summary:after{content:' ▴';}
.order-options-menu .logistics-items{display:grid!important;gap:5px!important;margin-top:5px!important;}
.order-options-menu .logistics-items button,
.order-options-menu .logistics-items a{margin:0!important;}

/* v155: supplier ordered picker, already-ordered section, and tidier options spacing */
.supplier-ordered-modal{max-width:660px!important;}
.supplier-product-select{display:grid!important;gap:12px!important;margin:12px 0!important;padding:0!important;border:0!important;background:transparent!important;}
.supplier-product-section{border:1px solid var(--line,#e2d6ca);border-radius:14px;background:#fbf8f5;padding:12px!important;display:grid;gap:8px;}
.supplier-product-card{display:flex!important;align-items:flex-start!important;gap:10px!important;border:1px solid #e4d8cd;background:#fff;border-radius:12px;padding:10px 12px!important;font-weight:800!important;line-height:1.25!important;cursor:pointer;}
.supplier-product-card input{margin-top:3px!important;flex:0 0 auto;transform:scale(1.05);}
.supplier-product-card span{display:block;}
.supplier-already-section{background:#f3f3f1!important;border-color:#ded9d2!important;}
.supplier-already-group{display:grid;gap:6px;margin-top:4px;}
.supplier-already-ref{font-weight:900;color:#6b625d;background:#e8e4df;border-radius:10px;padding:8px 10px;}
.supplier-product-card-disabled{cursor:default!important;background:#eeeeeb!important;color:#716a64!important;border-color:#dad4ce!important;}
.supplier-empty-section{background:#fff7e5!important;border-color:#eadbad!important;}
.supplier-ordered-modal button[disabled]{opacity:.55!important;cursor:not-allowed!important;filter:grayscale(.2);}
.order-options-menu.open{gap:4px!important;padding:7px!important;}
.order-options-menu button,.order-options-menu a,.order-options-menu summary{min-height:32px!important;padding:7px 10px!important;border-radius:9px!important;line-height:1.12!important;font-size:13px!important;}
.order-options-menu .logistics-items,.order-options-menu .remove-details-items{gap:4px!important;margin-top:4px!important;}

/* v156: fix supplier ordered modal layout */
.quick-modal-overlay{z-index:30000!important;align-items:center!important;}
.supplier-ordered-modal{max-width:720px!important;width:min(720px,94vw)!important;max-height:min(86vh,760px)!important;overflow:auto!important;box-sizing:border-box!important;}
.supplier-ordered-modal label:not(.supplier-product-card){display:block!important;margin-bottom:12px!important;}
.supplier-product-select{display:grid!important;gap:12px!important;margin:12px 0!important;}
.supplier-product-section{padding:14px!important;border-radius:14px!important;overflow:hidden!important;}
.supplier-product-card{display:grid!important;grid-template-columns:24px 1fr!important;align-items:start!important;gap:10px!important;width:100%!important;box-sizing:border-box!important;min-height:0!important;margin:8px 0 0!important;}
.supplier-product-card input[type="checkbox"]{width:auto!important;min-width:18px!important;height:18px!important;margin:2px 0 0!important;justify-self:start!important;align-self:start!important;flex:none!important;transform:none!important;}
.supplier-product-card span{display:block!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.28!important;}
.supplier-product-card-disabled{grid-template-columns:1fr!important;padding:10px 12px!important;}
.supplier-product-card-disabled span{font-weight:800!important;}
.supplier-already-ref{overflow-wrap:anywhere!important;}
@media(max-width:720px){.supplier-ordered-modal{width:96vw!important;max-height:84vh!important;padding:16px!important}.supplier-product-card{grid-template-columns:22px 1fr!important;font-size:14px!important}.quick-modal-overlay{padding:12px!important;}}

/* v157: supplier order wording, complete-state button, and left-side complete marker */
.option-ordered-complete{background:#e3f1e4!important;color:#19713b!important;border-color:#c4dfca!important;}
.all-items-ordered-marker{font-size:14px!important;line-height:1.25!important;font-weight:700!important;color:#19713b!important;margin:5px 0 2px!important;}
.supplier-ordered-modal .supplier-already-section > strong{color:#19713b!important;}
.supplier-ordered-modal .supplier-already-ref{display:block!important;}

/* v158 service issue filter tidy */
.service-filter-row{grid-template-columns:minmax(240px,480px) minmax(220px,320px)!important;align-items:end!important;}
.service-show-resolved{
  align-self:end!important;
  width:100%!important;
  max-width:320px!important;
  min-height:var(--oms-control-h)!important;
  height:var(--oms-control-h)!important;
  margin-top:0!important;
  padding:0 var(--oms-control-padding-x)!important;
  border-radius:var(--oms-control-radius)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
@media(max-width:1050px){
  .service-filter-row{grid-template-columns:1fr!important;}
  .service-show-resolved{max-width:none!important;}
}

/* v159: order/assignment progress markers on View Orders */
.order-progress-markers{
  display:grid!important;
  gap:3px!important;
  margin:6px 0 2px!important;
}
.all-items-ordered-marker,
.items-assigned-marker{
  color:#19713b!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.items-assigned-marker{color:#277a44!important;}
.items-assigned-complete{color:#19713b!important;}


/* v161 single-option filter button style */
.single-toggle-pill{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:54px;
  padding:12px 24px;
  border-radius:18px;
  border:1px solid var(--line,#e2d6ca);
  background:#e9dfd3;
  color:var(--ink,#241f1c);
  font-weight:900;
  cursor:pointer;
  user-select:none;
  width:auto;
  box-sizing:border-box;
}
.single-toggle-pill input[type="checkbox"]{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
}
.single-toggle-pill.active{
  background:var(--oms-brand-brown);
  color:#fff;
  border-color:var(--oms-brand-brown);
  box-shadow: inset 0 2px 0 rgba(0,0,0,.08);
}
.single-toggle-pill:focus-within{
  outline:2px solid rgba(112,68,47,.28);
  outline-offset:2px;
}
@media(max-width:760px){
  .single-toggle-pill{width:100%;}
}


/* v162: compact single-option toggle buttons and customer toolbar alignment */
.single-toggle-pill.compact-single-toggle,
.single-filter-button{
  padding:10px 18px!important;
  border-radius:16px!important;
  font-size:15px!important;
  line-height:1.1!important;
  width:auto!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.stock-search-row .single-toggle-pill.compact-single-toggle{align-self:stretch!important;min-width:180px!important;}
.customers-filter-row{display:grid!important;grid-template-columns:minmax(280px,1fr) auto!important;gap:12px!important;align-items:center!important;}
.customers-filter-row .orders-toolbar-actions{display:grid!important;grid-template-columns:minmax(260px,360px) 140px!important;gap:12px!important;align-items:center!important;}
.customers-filter-row #customerSort{height:48px!important;width:100%!important;margin:0!important;}
.customers-filter-row .orders-filter-menu-wrap{height:48px!important;width:140px!important;margin:0!important;}
.customers-filter-row .orders-filter-toggle{height:48px!important;width:140px!important;margin:0!important;}
@media(max-width:900px){
  .customers-filter-row{grid-template-columns:1fr!important;}
  .customers-filter-row .orders-toolbar-actions{grid-template-columns:1fr!important;}
  .customers-filter-row .orders-filter-menu-wrap,.customers-filter-row .orders-filter-toggle,.customers-filter-row #customerSort{width:100%!important;}
  .single-toggle-pill.compact-single-toggle,.single-filter-button{width:100%!important;}
}

/* v163: neutral compact single-toggle buttons and warehouse stock toolbar alignment */
.single-toggle-pill,
.single-toggle-pill.active,
.single-filter-button,
.single-filter-button.active{
  background:#e9dfd3!important;
  color:var(--ink,#241f1c)!important;
  border-color:var(--line,#e2d6ca)!important;
  box-shadow:none!important;
  font-weight:500!important;
}
.single-toggle-pill.compact-single-toggle,
.single-filter-button{
  min-height:40px!important;
  height:40px!important;
  padding:8px 14px!important;
  border-radius:14px!important;
  font-size:14px!important;
  line-height:1.1!important;
}
.stock-search-row{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
}
.stock-search-row input{margin:0!important;}
.stock-search-row .stock-hide-assigned{
  align-self:center!important;
  justify-self:end!important;
  height:40px!important;
  min-height:40px!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  white-space:nowrap!important;
}
.manual-assign-box{margin-top:12px;padding:12px;border:1px dashed var(--line,#e2d6ca);border-radius:14px;background:#fbf8f4;}
.manual-assign-search{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:10px;}
.manual-assign-search label{display:grid;gap:5px;font-weight:600;}
.manual-order-card{border:1px solid var(--line,#e2d6ca);border-radius:14px;padding:12px;margin:10px 0;background:#fff;}
.manual-order-items{display:grid;gap:8px;margin-top:10px;}
.manual-item-choice{display:grid;gap:3px;text-align:left;border:1px solid var(--line,#e2d6ca);border-radius:12px;background:#f7f1ea;padding:10px;cursor:pointer;font:inherit;color:inherit;}
.manual-item-choice:hover{border-color:var(--oms-brand-brown);background:#f1e6dc;}
.manual-item-choice span{font-size:13px;color:#6f625b;}
.service-issue-preview-link{color:#6f2f23;font-weight:700;}
.map-order-meta.items-assigned-marker{color:#277a44!important;font-weight:500!important;}
@media(max-width:900px){
  .stock-search-row{grid-template-columns:1fr!important;}
  .stock-search-row .stock-hide-assigned{justify-self:start!important;width:auto!important;}
  .manual-assign-search{grid-template-columns:1fr;}
}

/* v164: customer profile toolbar/card alignment fixes */
.customers-filter-row{
  display:grid!important;
  grid-template-columns:minmax(320px,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
}
.customers-filter-row .orders-toolbar-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  width:auto!important;
}
.customers-filter-row #customerSort{
  order:1!important;
  width:360px!important;
  max-width:360px!important;
  height:48px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.customers-filter-row .orders-filter-menu-wrap{
  order:2!important;
  width:140px!important;
  height:48px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.customers-filter-row .orders-filter-toggle{
  width:140px!important;
  height:48px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.customer-profile-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:start!important;
}
.customer-profile-head .order-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:10px!important;
  min-width:180px!important;
}
.customer-stats .dashboard-sales-box{
  min-height:92px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
@media(max-width:900px){
  .customers-filter-row{grid-template-columns:1fr!important;align-items:stretch!important;}
  .customers-filter-row .orders-toolbar-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:10px!important;}
  .customers-filter-row #customerSort,.customers-filter-row .orders-filter-menu-wrap,.customers-filter-row .orders-filter-toggle{width:100%!important;max-width:none!important;}
  .customer-profile-head{grid-template-columns:1fr!important;}
  .customer-profile-head .order-actions{min-width:0!important;}
}


/* v165: final customer/routes alignment and local-time polish */
.customers-filter-row{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
}
.customers-filter-row #customerSearch{
  flex:1 1 auto!important;
  min-width:280px!important;
  height:48px!important;
  margin:0!important;
}
.customers-filter-row .orders-toolbar-actions{
  flex:0 0 auto!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:12px!important;
  width:auto!important;
  margin:0!important;
}
.customers-filter-row #customerSort{
  order:1!important;
  width:360px!important;
  max-width:360px!important;
  height:48px!important;
  margin:0!important;
}
.customers-filter-row .orders-filter-menu-wrap{
  order:2!important;
  width:140px!important;
  height:48px!important;
  margin:0!important;
}
.customers-filter-row .orders-filter-toggle{
  width:140px!important;
  height:48px!important;
  margin:0!important;
}
.routes-heading-row{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
}
.routes-heading-row .single-filter-button{
  flex:0 0 auto!important;
  align-self:flex-start!important;
  margin:0!important;
}
@media(max-width:900px){
  .customers-filter-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:stretch!important;}
  .customers-filter-row #customerSearch{min-width:0!important;width:100%!important;}
  .customers-filter-row .orders-toolbar-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:10px!important;}
  .customers-filter-row #customerSort,.customers-filter-row .orders-filter-menu-wrap,.customers-filter-row .orders-filter-toggle{width:100%!important;max-width:none!important;}
  .routes-heading-row{display:block!important;}
  .routes-heading-row .single-filter-button{width:100%!important;margin-top:10px!important;}
}

/* v168 mobile header layout refresh */
@media(max-width:720px){
  .topbar{
    padding:28px 28px 26px!important;
    gap:24px!important;
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .topbar > div:first-child{width:100%!important;min-width:0!important;}
  .topbar h1{font-size:42px!important;line-height:1.04!important;letter-spacing:-.045em!important;}
  .topbar p{font-size:23px!important;line-height:1.22!important;margin-top:10px!important;}
  .logged-operator{font-size:16px!important;margin-bottom:8px!important;}
  .top-actions.page-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
    align-items:stretch!important;
    flex-wrap:unset!important;
  }
  .top-actions.page-actions > *{margin:0!important;min-width:0!important;max-width:none!important;}
  .top-actions.page-actions .logout-btn{
    order:2!important;
    grid-column:1/-1!important;
  }
  .top-actions.page-actions .main-section-select{
    order:3!important;
    grid-column:1/-1!important;
    width:100%!important;
    height:auto!important;
    display:block!important;
    line-height:normal!important;
  }
  .top-actions.page-actions .main-section-select .main-section-select{width:100%!important;display:block!important;}
  .top-actions.page-actions .main-section-select .section-menu,
  .top-actions.page-actions .section-menu{
    width:100%!important;
    min-width:0!important;
    height:58px!important;
    line-height:58px!important;
    margin:0!important;
    padding:0 48px 0 22px!important;
    border-radius:14px!important;
    font-size:20px!important;
    font-weight:800!important;
    text-align:left!important;
    background:#fff!important;
  }
  .top-actions.page-actions > .btn,
  .top-actions.page-actions > a.btn,
  .top-actions.page-actions > button.btn{
    height:58px!important;
    min-height:58px!important;
    padding:0 16px!important;
    border-radius:14px!important;
    font-size:18px!important;
    font-weight:800!important;
    line-height:1.15!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  .top-actions.page-actions > .btn:not(.logout-btn),
  .top-actions.page-actions > a.btn:not(.logout-btn),
  .top-actions.page-actions > button.btn:not(.logout-btn){
    order:4!important;
    grid-column:1/-1!important;
    width:100%!important;
  }
  .top-actions.page-actions > .logout-btn{
    width:100%!important;
    font-size:17px!important;
  }
  .top-actions.page-actions > a.btn.secondary:not(.logout-btn),
  .top-actions.page-actions > button.btn.secondary:not(.logout-btn),
  .top-actions.page-actions > .btn.secondary:not(.logout-btn){
    order:4!important;
    grid-column:1/-1!important;
    width:100%!important;
  }
}

/* v169: true mobile-aware header layout. Desktop is unchanged. */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  body .topbar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 22px !important;
    padding: 28px 28px 26px !important;
  }
  body .topbar > div:first-child {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body .topbar h1 {
    font-size: clamp(38px, 10vw, 48px) !important;
    line-height: 1.03 !important;
    letter-spacing: -.045em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  body .topbar p {
    font-size: clamp(20px, 5.5vw, 26px) !important;
    line-height: 1.22 !important;
    margin-top: 10px !important;
  }
  body .logged-operator {
    font-size: 16px !important;
    margin-bottom: 8px !important;
  }

  body .topbar .top-actions.page-actions,
  body .topbar .top-actions.page-actions.route-top-actions {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
      "logout logout"
      "menu menu"
      "action action" !important;
    gap: 12px !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    flex: none !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }

  body .topbar .top-actions.page-actions > *,
  body .topbar .top-actions.page-actions.route-top-actions > * {
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body .topbar .top-actions.page-actions .logout-btn {
    grid-area: logout !important;
    width: 100% !important;
  }
  body .topbar .top-actions.page-actions .main-section-select {
    grid-area: menu !important;
    width: 100% !important;
    display: block !important;
    height: auto !important;
    line-height: normal !important;
  }
  body .topbar .top-actions.page-actions .main-section-select select.section-menu,
  body .topbar .top-actions.page-actions select.section-menu {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    line-height: 58px !important;
    padding: 0 48px 0 22px !important;
    border-radius: 14px !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    text-align: left !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  body .topbar .top-actions.page-actions > .btn,
  body .topbar .top-actions.page-actions > a.btn,
  body .topbar .top-actions.page-actions > button.btn {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 16px !important;
    border-radius: 14px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
  }
  body .topbar .top-actions.page-actions > .btn:not(.logout-btn),
  body .topbar .top-actions.page-actions > a.btn:not(.logout-btn),
  body .topbar .top-actions.page-actions > button.btn:not(.logout-btn) {
    grid-area: action !important;
    width: 100% !important;
  }

  /* Pages with only Menu/Logout should not reserve a blank action row. */
  body .topbar .top-actions.page-actions:not(:has(> .btn:not(.logout-btn))) {
    grid-template-areas:
      "logout logout"
      "menu menu" !important;
  }
}

/* v170 Settings overhaul */
.settings-wrap .settings-card{max-width:1180px;margin-left:auto;margin-right:auto;}
.settings-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px;}
.settings-tab{font-weight:650;}
.settings-tab.active{background:#70442f;color:#fff;}
.settings-panel{display:none;border-top:1px solid #eadfd5;padding-top:18px;margin-top:10px;}
.settings-panel.active{display:block;}
.settings-status{min-height:22px;margin:8px 0 12px;font-weight:650;}
.settings-status.good{color:#1d7a36;}
.settings-status.bad{color:#b7333a;}
.settings-grid{display:grid;gap:14px;margin:12px 0;}
.settings-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.settings-grid .wide{grid-column:1/-1;}
.settings-template-box{width:100%;min-height:360px;border:1px solid #dfd0c3;border-radius:14px;padding:14px;font:15px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#fff;box-sizing:border-box;}
.settings-repeat-list{display:grid;gap:12px;margin:12px 0;}
.settings-repeat-row,.settings-user-card{border:1px solid #e4d6ca;border-radius:16px;padding:14px;background:#fffaf6;}
.settings-repeat-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;}
.settings-user-card{display:grid;gap:12px;}
.settings-access-list{display:flex;flex-wrap:wrap;gap:8px 14px;margin:4px 0;}
.settings-access-list label{background:#f0e7dc;border-radius:999px;padding:8px 12px;font-weight:600;}
.settings-summary-box{border:1px solid #e4d6ca;border-radius:16px;background:#fffaf6;padding:14px;margin:12px 0;}
.settings-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:10px;}
.settings-check-pill{display:flex!important;align-items:center;gap:8px;border:1px solid #d7e1ec;border-radius:12px;background:#fff;padding:10px 12px;font-weight:800;color:#17385f;}
.settings-check-pill input{width:18px;height:18px;flex:0 0 auto;}
.bedding-size-list{display:grid;gap:5px;margin:10px 0;}
.bedding-size-row{display:grid;grid-template-columns:minmax(0,1fr)26px min-content;gap:6px;align-items:center;border:1px solid #dce6ef;border-radius:6px;padding:5px 7px;background:#fff;}
.bedding-size-row span{font-size:12px;line-height:1.18;font-weight:800;color:#17385f;min-width:0;}
.bedding-size-row strong{font-size:15px;line-height:1;color:#0d1b2a;text-align:right;}
.bedding-size-row .stock-status-pill{padding:2px 6px;font-size:10px;line-height:1.1;white-space:nowrap;}
.bedding-reorder-line{display:grid!important;grid-template-columns:minmax(0,1fr)110px!important;align-items:center;}
.bedding-reorder-line input{width:100%;min-height:44px;border:1px solid #cbd7e5;border-radius:10px;padding:8px 10px;font-weight:900;color:#0d1b2a;}
.btn.small{padding:10px 14px;min-height:auto;}
@media (max-width: 720px){
  .settings-tabs{display:grid;grid-template-columns:1fr;}
  .settings-grid.two,.settings-repeat-row{grid-template-columns:1fr;}
  .settings-template-box{min-height:320px;font-size:14px;}
}


/* v402 Push notification settings polish */
.settings-panel[data-panel="pushNotifications"] .push-template-list{gap:14px;}
.settings-panel[data-panel="pushNotifications"] .push-template-row{
  grid-template-columns:minmax(150px,.75fr) minmax(220px,1fr) minmax(300px,1.45fr) minmax(116px,auto);
  align-items:end;
  gap:12px;
}
.settings-panel[data-panel="pushNotifications"] .push-template-row .settings-row-title{align-self:center;}
.settings-panel[data-panel="pushNotifications"] .push-body{min-height:52px;resize:vertical;line-height:1.35;padding-top:10px;}
.settings-panel[data-panel="pushNotifications"] .test-push-btn{min-height:42px;white-space:nowrap;padding-left:14px;padding-right:14px;}
.push-broadcast-box h4{margin:0 0 6px;font-size:18px;}
.push-broadcast-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,1.5fr) minmax(150px,auto);gap:12px;align-items:end;margin-top:12px;}
.push-broadcast-grid textarea{resize:vertical;min-height:72px;line-height:1.35;padding-top:10px;}
.push-broadcast-grid .btn{min-height:48px;height:48px;white-space:nowrap;}
@media(max-width:900px){
  .settings-panel[data-panel="pushNotifications"] .push-template-row,
  .push-broadcast-grid{grid-template-columns:1fr;}
  .settings-panel[data-panel="pushNotifications"] .test-push-btn,
  .push-broadcast-grid .btn{width:100%;}
}

/* v172 driver dashboard and route UX */
.upload-status{display:inline-flex;align-items:center;margin-left:8px;font-size:13px;color:var(--muted,#6f625b);min-height:28px;}
.upload-status.uploading{color:#6f625b;font-weight:600;}
.upload-status.success-text{color:#2f7d47;font-weight:600;}
.driver-dashboard-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px;}
.driver-dashboard-controls label{min-width:180px;}
.driver-hours-grid{margin-bottom:14px;}
.driver-hours-routes{gap:8px;}
.driver-hours-route{border:1px solid var(--line,#e2d7ca);border-radius:12px;background:#f7f3ee;padding:10px 12px;}
.driver-hours-route summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;}
.driver-hours-route summary span{color:var(--muted,#6f625b);font-size:13px;}
.driver-hours-readonly{opacity:.78;pointer-events:none;margin-top:10px;border-top:1px solid var(--line,#e2d7ca);padding-top:10px;}
.driver-hours-readonly ul{margin:8px 0 0 18px;padding:0;}
@media(max-width:700px){.driver-hours-route summary{display:block}.upload-status{display:block;margin-left:0;margin-top:6px}.driver-dashboard-controls{display:block}.driver-dashboard-controls label,.driver-dashboard-controls button{width:100%;margin-bottom:8px}}


/* v174 route spacing and passenger wording/layout */
.route-create-card{padding-bottom:22px!important;}
.route-create-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px 18px!important;align-items:end!important;}
.route-create-grid label{margin:0!important;min-width:0!important;}
.route-create-grid input,.route-create-grid select{width:100%!important;box-sizing:border-box!important;height:48px!important;margin-top:6px!important;}
.route-create-action{height:auto!important;align-self:end!important;display:flex!important;}
.route-create-action .btn{width:100%!important;height:48px!important;margin:0!important;}
.routes-heading-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;}
.routes-heading-row .single-filter-button{padding:0 18px!important;align-self:flex-start!important;font-weight:600!important;}
.driver-dashboard-controls{display:flex!important;align-items:end!important;gap:10px!important;flex-wrap:wrap!important;}
.driver-dashboard-controls label{margin:0!important;}
.driver-dashboard-controls input,.driver-dashboard-controls select{height:48px!important;box-sizing:border-box!important;margin-top:6px!important;}
.driver-dashboard-controls .btn,#driverDashboardRefresh{height:48px!important;min-height:48px!important;margin:0!important;align-self:end!important;font-weight:600!important;}
@media(max-width:1050px){.route-create-grid{grid-template-columns:1fr 1fr!important;}.route-create-action{grid-column:1/-1!important;}}
@media(max-width:760px){.route-create-grid{grid-template-columns:1fr!important;}.routes-heading-row{display:block!important;}.routes-heading-row .single-filter-button{width:100%!important;margin-top:10px!important;}.driver-dashboard-controls{display:grid!important;grid-template-columns:1fr!important;}.driver-dashboard-controls .btn,#driverDashboardRefresh{width:100%!important;}}

/* v175: analytics bedding toggle matches period button size */
.analytics-bedding-toggle{
  min-height:40px!important;
  height:40px!important;
  padding:8px 18px!important;
  border-radius:14px!important;
  font-size:14px!important;
  font-weight:500!important;
  width:auto!important;
}
@media(max-width:760px){.analytics-bedding-toggle{width:auto!important;}}

/* v176 driver-hours controls */
.driver-dashboard-controls .btn{height:48px;min-height:48px;align-self:flex-end;}
.driver-hours-person-row{display:flex;justify-content:space-between;align-items:center;gap:12px;}
@media(max-width:700px){.driver-hours-person-row{display:block}.driver-dashboard-controls .btn{width:100%;}}

/* v177 warehouse product quick search */
.warehouse-product-search-wrap{position:relative;margin:10px 0 18px;max-width:720px;}
.warehouse-product-search-wrap input{width:100%;}
.warehouse-product-suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #ded0c5;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.12);z-index:20;overflow:hidden;}
.warehouse-product-suggestion{display:block;width:100%;text-align:left;border:0;background:#fff;padding:12px 14px;cursor:pointer;font:inherit;color:#241f1c;}
.warehouse-product-suggestion:hover,.warehouse-product-suggestion:focus{background:#f3eee8;outline:none;}
.warehouse-product-suggestion strong{display:block;}
.warehouse-product-suggestion span{display:block;color:#6f625b;font-size:.92em;margin-top:2px;}


/* v178 new order product quick search + richer Products Added summary */
.order-product-search-wrap{position:relative;margin:10px 0 18px;max-width:760px;}
.order-product-search-wrap input{width:100%;}
.order-product-suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #ded0c5;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.12);z-index:30;overflow:hidden;}
.order-product-suggestion{display:block;width:100%;text-align:left;border:0;background:#fff;padding:12px 14px;cursor:pointer;font:inherit;color:#241f1c;}
.order-product-suggestion:hover,.order-product-suggestion:focus{background:#f3eee8;outline:none;}
.order-product-suggestion strong{display:block;}
.order-product-suggestion span{display:block;color:#6f625b;font-size:.92em;margin-top:2px;}
.order-items-summary-table-wrap{width:100%;overflow:auto;}
.order-items-summary-table{width:100%;border-collapse:collapse;font-size:14px;}
.order-items-summary-table th{background:#eadfD3;text-align:left;padding:10px 12px;font-weight:800;}
.order-items-summary-table td{border-bottom:1px solid #eadfd4;padding:10px 12px;vertical-align:top;}
.order-items-summary-table tr:last-child td{border-bottom:0;}
.order-items-summary-table .service-summary-row td{background:#fbf8f5;}
@media(max-width:760px){
  .order-product-search-wrap{max-width:none;}
  .order-items-summary-table,.order-items-summary-table thead,.order-items-summary-table tbody,.order-items-summary-table tr,.order-items-summary-table th,.order-items-summary-table td{display:block;width:100%;}
  .order-items-summary-table thead{display:none;}
  .order-items-summary-table tr{border:1px solid #eadfd4;border-radius:14px;margin:0 0 12px;padding:10px;background:#fff;}
  .order-items-summary-table td{border:0;padding:6px 4px;}
  .order-items-summary-table td:before{content:attr(data-label) ': ';font-weight:800;color:#6f625b;}
  .order-items-summary-table td:first-child:before{content:'';}
}


/* v237: route email dropdown and menu selected-state fix */
.route-stops-table .email-col{min-width:150px;position:relative;}
.route-email-menu{position:relative;display:inline-block;}
.route-email-main{white-space:nowrap;}
.route-email-options{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:230px;background:#fff;border:1px solid #dbcdbf;border-radius:12px;box-shadow:0 12px 24px rgba(0,0,0,.13);padding:6px;}
.route-email-menu.open .route-email-options{display:block;}
.route-email-options button{display:block;width:100%;text-align:left;background:#fff;border:0;border-radius:8px;padding:10px 12px;font-weight:700;color:#70442f;cursor:pointer;}
.route-email-options button:hover{background:#f6efe8;}


/* v238: compact route stop table to avoid horizontal scrolling on desktop */
.route-detail-page .route-table-wrap{overflow-x:auto!important;}
.route-detail-page .route-stops-table{
  min-width:0!important;
  width:100%!important;
  table-layout:fixed!important;
  font-size:13px!important;
}
.route-detail-page .route-stops-table th,
.route-detail-page .route-stops-table td{
  padding:8px 5px!important;
  line-height:1.18!important;
}
.route-detail-page .route-stops-table th{font-size:12px!important;}
.route-detail-page .route-stops-table .drag-col{width:24px!important;}
.route-detail-page .route-stops-table .stop-col{width:34px!important;}
.route-detail-page .route-stops-table .order-col{width:70px!important;}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{width:128px!important;}
.route-detail-page .route-stops-table .postcode-col{width:72px!important;}
.route-detail-page .route-stops-table .pdf-col{width:70px!important;text-align:center!important;}
.route-detail-page .route-stops-table .van-col{width:50px!important;text-align:center!important;}
.route-detail-page .route-stops-table .drop-col{width:52px!important;text-align:center!important;}
.route-detail-page .route-stops-table .travel-col{width:66px!important;text-align:center!important;}
.route-detail-page .route-stops-table .time-col{width:78px!important;text-align:center!important;}
.route-detail-page .route-stops-table .slot-col{width:132px!important;text-align:left!important;}
.route-detail-page .route-stops-table .notes-col{width:86px!important;text-align:center!important;}
.route-detail-page .route-stops-table .email-col{width:66px!important;min-width:66px!important;text-align:center!important;}
.route-detail-page .route-stops-table .remove-col{width:76px!important;text-align:right!important;}
.route-detail-page .route-stops-table .compact-number{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:34px!important;
  padding:5px 3px!important;
  font-size:14px!important;
  border-radius:10px!important;
}
.route-detail-page .route-stops-table .compact-time{
  width:68px!important;
  min-width:68px!important;
  max-width:68px!important;
  height:34px!important;
  padding:5px 3px!important;
  font-size:14px!important;
  border-radius:10px!important;
}
.route-detail-page .route-stops-table .route-travel.compact-number{
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
}
.route-detail-page .route-stops-table .route-slot-input{
  height:34px!important;
  min-height:34px!important;
  padding:5px 8px!important;
  font-size:13px!important;
  border-radius:10px!important;
}
.route-detail-page .route-stops-table .slot-custom-line{
  font-size:12px!important;
  margin-top:3px!important;
  gap:4px!important;
}
.route-detail-page .route-stops-table .slot-manual-times{
  gap:3px!important;
  margin-top:4px!important;
}
.route-detail-page .route-stops-table .slot-manual-times input{
  width:56px!important;
  height:32px!important;
  padding:4px 5px!important;
  font-size:13px!important;
  border-radius:9px!important;
}
.route-detail-page .route-stops-table .small-btn,
.route-detail-page .route-email-main{
  height:34px!important;
  min-height:34px!important;
  padding:0 9px!important;
  font-size:12px!important;
  border-radius:10px!important;
}
.route-detail-page .route-email-options{right:0!important;min-width:210px!important;}
.route-detail-page .route-stops-table .notes-link,
.route-detail-page .route-stops-table .partial-link,
.route-detail-page .route-stops-table .system-notes-link{font-size:12px!important;}
.route-detail-page .route-job-label{font-size:11px!important;line-height:1.1!important;}
@media(max-width:1250px){
  .route-detail-page .route-stops-table{min-width:1120px!important;}
}


/* v239 route table breathing-room fix: smaller customer/postcode, readable ETA, sent email state */
.route-detail-page .route-table-wrap{
  overflow-x:auto!important;
  width:100%!important;
}
.route-detail-page .route-stops-table{
  min-width:1080px!important;
  width:100%!important;
  table-layout:fixed!important;
  font-size:13px!important;
}
.route-detail-page .route-stops-table th,
.route-detail-page .route-stops-table td{
  padding:8px 6px!important;
  line-height:1.2!important;
}
.route-detail-page .route-stops-table .drag-col{width:24px!important;}
.route-detail-page .route-stops-table .stop-col{width:34px!important;text-align:center!important;}
.route-detail-page .route-stops-table .order-col{width:78px!important;}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{width:118px!important;}
.route-detail-page .route-stops-table .postcode-col{width:66px!important;}
.route-detail-page .route-stops-table .pdf-col{width:68px!important;text-align:center!important;}
.route-detail-page .route-stops-table .van-col{width:58px!important;text-align:center!important;}
.route-detail-page .route-stops-table .drop-col{width:58px!important;text-align:center!important;}
.route-detail-page .route-stops-table .travel-col{width:76px!important;text-align:center!important;}
.route-detail-page .route-stops-table .time-col{width:112px!important;text-align:center!important;}
.route-detail-page .route-stops-table .slot-col{width:140px!important;text-align:center!important;}
.route-detail-page .route-stops-table .notes-col{width:76px!important;text-align:center!important;}
.route-detail-page .route-stops-table .email-col{width:78px!important;text-align:center!important;}
.route-detail-page .route-stops-table .remove-col{width:82px!important;text-align:right!important;}
.route-detail-page .route-stops-table .compact-number,
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop{
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  padding:7px 4px!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.route-detail-page .route-stops-table .route-travel{
  width:66px!important;
  min-width:66px!important;
  max-width:66px!important;
  padding:7px 4px!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.route-detail-page .route-stops-table .compact-time,
.route-detail-page .route-stops-table .route-time{
  width:96px!important;
  min-width:96px!important;
  max-width:96px!important;
  padding:7px 5px!important;
  text-align:center!important;
  box-sizing:border-box!important;
  font-size:14px!important;
}
.route-detail-page .route-stops-table .small-btn,
.route-detail-page .route-stops-table .route-email-main{
  height:34px!important;
  min-height:34px!important;
  padding:0 9px!important;
  font-size:12px!important;
  border-radius:9px!important;
  white-space:nowrap!important;
}
.route-detail-page .route-stops-table .route-email-main.sent{
  background:#e7efe4!important;
  border-color:#c9dbc3!important;
  color:#27653a!important;
  font-weight:900!important;
}
.route-detail-page .route-stops-table .route-slot-input{font-size:13px!important;padding:7px 8px!important;}
.route-detail-page .route-stops-table .route-slot-from,
.route-detail-page .route-stops-table .route-slot-to{width:58px!important;min-width:58px!important;max-width:58px!important;padding:7px 4px!important;}
.route-detail-page .route-stops-table .slot-custom-line{font-size:12px!important;}
.route-detail-page .route-stops-table .notes-link,
.route-detail-page .route-stops-table .partial-link{font-size:12px!important;}


/* v241 delivery booking status */
.delivery-booking-summary{margin-top:8px;padding:8px 10px;border-radius:10px;background:#f3f1ee;border:1px solid #ded6cd;font-size:13px;line-height:1.35;display:flex;gap:6px;flex-wrap:wrap;align-items:center;max-width:760px}.delivery-booking-summary small{display:block;flex-basis:100%;color:#6b5b50}.delivery-booking-summary.confirmed{background:#e7f5eb;border-color:#a7d9b5;color:#145d28}.delivery-booking-summary.awaiting{background:#e8f1ff;border-color:#b7cff3;color:#244b82}.delivery-booking-summary.rebooking{background:#fff2d7;border-color:#f0cd83;color:#7a4700}.delivery-booking-summary.none{background:#f4f2ef;color:#6b5b50}.booking-comment-preview{flex-basis:100%;font-size:12px;color:#5d4b40;margin-top:2px}.route-booking-wrap{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.route-booking-status{font-size:11px;font-weight:800;border-radius:999px;padding:3px 7px;background:#f4f2ef;color:#6b5b50;white-space:nowrap}.route-booking-status.confirmed{background:#e2f4e7;color:#16622c}.route-booking-status.awaiting{background:#e8f1ff;color:#244b82}.route-booking-status.rebooking{background:#fff2d7;color:#7a4700}.route-booking-comment{font-size:11px;line-height:1.2;color:#6b5b50;max-width:130px;white-space:normal}.route-email-options hr{border:0;border-top:1px solid #eadfd6;margin:4px 0}.route-email-options button{white-space:nowrap}


/* v241 compact booking status polish */
.copy-link-box{width:100%;min-height:86px;border:1px solid #d8cdbf;border-radius:12px;padding:12px;font:14px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;box-sizing:border-box;background:#fff;color:#1d1d1d;resize:vertical}
.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}.small-note{font-size:13px;margin-top:8px}.field-label{display:block;font-weight:800;margin:10px 0 6px}.timeline-note-lines{margin-top:6px;border-top:1px solid #e6ded5;padding-top:6px;color:#5d4b40;font-size:13px;line-height:1.45}.route-booking-status.awaiting{max-width:84px;overflow:hidden;text-overflow:ellipsis;text-align:center}.email-col{width:120px;max-width:120px}.route-email-main{min-width:72px}.route-email-main.sent{min-width:84px}

/* ORDER FORM v242 - delivery booking override controls */
.route-email-options button{font-size:12px;}

/* v243 route table: bundle stop actions and move postcode under customer */
.route-detail-page .route-stops-table{
  min-width:1040px!important;
  width:100%!important;
  table-layout:fixed!important;
}
.route-detail-page .route-stops-table .drag-col{width:28px!important;}
.route-detail-page .route-stops-table .stop-col{width:42px!important;}
.route-detail-page .route-stops-table .order-col{width:86px!important;}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{width:160px!important;}
.route-detail-page .route-stops-table .van-col{width:70px!important;text-align:center!important;}
.route-detail-page .route-stops-table .drop-col{width:76px!important;text-align:center!important;}
.route-detail-page .route-stops-table .travel-col{width:102px!important;text-align:center!important;}
.route-detail-page .route-stops-table .time-col{width:116px!important;text-align:center!important;}
.route-detail-page .route-stops-table .slot-col{width:145px!important;text-align:center!important;}
.route-detail-page .route-stops-table .actions-col{width:128px!important;text-align:left!important;}
.route-detail-page .route-stops-table .postcode-col,
.route-detail-page .route-stops-table .pdf-col,
.route-detail-page .route-stops-table .notes-col,
.route-detail-page .route-stops-table .email-col,
.route-detail-page .route-stops-table .remove-col{display:none!important;}
.route-customer-postcode{display:inline-block;margin-top:2px;font-weight:700;color:#5d514b!important;}
.route-actions-wrap{align-items:flex-start!important;gap:5px!important;}
.route-actions-menu .route-email-main{min-width:82px!important;height:34px!important;padding:0 12px!important;}
.route-actions-options{min-width:230px!important;right:0!important;}
.route-actions-options .danger-menu-item{color:#b73535!important;}
.route-booking-status.email-sent{background:#e2f4e7!important;color:#16622c!important;}
.route-detail-page .route-booking-status.awaiting{max-width:none!important;}
.route-detail-page .route-booking-status{font-size:11px!important;padding:3px 7px!important;}
.route-detail-page .route-booking-comment{max-width:112px!important;}

/* v244 delivery proposal / timeslot confirmation polish */
.route-detail-page .route-booking-wrap{display:block;min-width:150px;}
.route-detail-page .route-action-row{display:flex;align-items:center;gap:8px;justify-content:flex-start;white-space:nowrap;}
.route-detail-page .route-status-stack{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:92px;}
.route-detail-page .route-booking-status{display:inline-block;max-width:none!important;text-align:left!important;}
.route-detail-page .route-actions-options .route-send-option{background:#e7f6e8!important;color:#145d28!important;font-weight:800;}
.route-detail-page .route-actions-options .route-send-option:hover{background:#d7efd9!important;}
.route-detail-page .slot-side-by-side{display:flex;align-items:center;gap:8px;min-width:260px;}
.route-detail-page .slot-side-by-side .route-slot-input{width:128px;min-width:128px;text-align:center;font-weight:800;}
.route-detail-page .slot-custom-inline{display:flex;align-items:center;gap:5px;}
.route-detail-page .slot-custom-inline .smart-time{width:68px;min-width:68px;text-align:center;}
.route-detail-page .slot-side-by-side.slot-locked .route-slot-input{background:#e2f4e7!important;border-color:#9bcfa7!important;color:#145d28!important;box-shadow:0 0 0 1px rgba(20,93,40,.08) inset;}
.route-detail-page .slot-side-by-side.slot-locked .slot-custom-inline input:not([type="checkbox"]){background:#f1f1f1!important;color:#777!important;}
.route-detail-page .actions-col{min-width:220px;}
.route-detail-page .slot-col{min-width:300px;}
.app-icon-preview-row{display:flex;gap:14px;align-items:center;}
.app-icon-preview-row img{width:72px;height:72px;border-radius:18px;object-fit:cover;border:1px solid #ddd;background:#fff;}
.delivery-booking-summary .booking-jump-link{font-weight:800;text-decoration:underline;margin-left:4px;}
.delivery-booking-summary.reschedule{background:#ffe1e1;border-color:#ef9a9a;color:#8a1f1f;}
.accessory-order-stock-modal{max-width:640px!important;width:min(640px,94vw)!important}
.accessory-order-stock-list{display:grid;gap:10px}
.accessory-order-stock-modal .quick-modal-actions{margin-top:18px;padding-top:14px;border-top:1px solid #e6edf5}
.accessory-order-stock-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #dbe5ee;border-radius:12px;padding:12px;background:#fff}
.accessory-order-stock-row.assigned{background:#eef7ee;border-color:#cfe8d1}
.accessory-order-stock-row strong{display:block;color:#102033}
.accessory-order-stock-row span{display:block;margin-top:3px;color:#687386;font-size:13px;font-weight:700}
.order-title-timeline{appearance:none;border:0;background:transparent;color:var(--ink,#111827);font:inherit;font-weight:900;line-height:1.2;padding:0;text-align:left;cursor:pointer}
.order-title-timeline:hover,.order-title-timeline:focus{text-decoration:underline}

/* v245 route table alignment + separate custom/final delivery slot columns */
.route-detail-page .route-stops-table{
  min-width:1120px!important;
  width:100%!important;
  table-layout:fixed!important;
}
.route-detail-page .route-stops-table th{
  text-align:center!important;
  vertical-align:middle!important;
}
.route-detail-page .route-stops-table td{
  vertical-align:middle!important;
}
.route-detail-page .route-stops-table .drag-col{width:24px!important;text-align:center!important;}
.route-detail-page .route-stops-table .stop-col{width:40px!important;text-align:center!important;}
.route-detail-page .route-stops-table .order-col{width:84px!important;text-align:left!important;}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{width:135px!important;min-width:135px!important;text-align:left!important;}
.route-detail-page .route-stops-table .van-col{width:62px!important;text-align:center!important;}
.route-detail-page .route-stops-table .drop-col{width:70px!important;text-align:center!important;}
.route-detail-page .route-stops-table .travel-col{width:88px!important;text-align:center!important;}
.route-detail-page .route-stops-table .time-col{width:104px!important;text-align:center!important;}
.route-detail-page .route-stops-table .custom-slot-col{width:148px!important;min-width:148px!important;text-align:center!important;}
.route-detail-page .route-stops-table .slot-col{width:148px!important;min-width:148px!important;text-align:center!important;}
.route-detail-page .route-stops-table .actions-col{width:185px!important;min-width:185px!important;text-align:left!important;}
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time{width:88px!important;min-width:88px!important;max-width:88px!important;}
.route-detail-page .route-stops-table .route-travel{width:66px!important;min-width:66px!important;max-width:66px!important;}
.route-detail-page .route-stops-table .route-van{width:46px!important;min-width:46px!important;max-width:46px!important;}
.route-detail-page .route-stops-table .route-drop{width:48px!important;min-width:48px!important;max-width:48px!important;}
.route-detail-page .custom-slot-col .slot-custom-inline{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
}
.route-detail-page .custom-slot-col .slot-manual{width:14px!important;height:14px!important;margin:0 2px 0 0!important;flex:0 0 auto!important;}
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to{
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  height:34px!important;
  padding:6px 4px!important;
  font-size:13px!important;
  text-align:center!important;
  border-radius:9px!important;
  box-sizing:border-box!important;
}
.route-detail-page .slot-final-wrap{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
}
.route-detail-page .slot-final-wrap .route-slot-input{
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  height:36px!important;
  padding:7px 8px!important;
  text-align:center!important;
  font-size:13px!important;
  font-weight:800!important;
  box-sizing:border-box!important;
}
.route-detail-page .slot-final-wrap.slot-locked .route-slot-input{
  background:#e2f4e7!important;
  border-color:#9bcfa7!important;
  color:#145d28!important;
  box-shadow:0 0 0 1px rgba(20,93,40,.08) inset!important;
}
.route-detail-page .custom-slot-col .slot-custom-inline.slot-locked input:not([type="checkbox"]){
  background:#f1f1f1!important;
  color:#777!important;
}
.route-detail-page .route-action-row{justify-content:flex-start!important;align-items:center!important;}
.route-detail-page .route-status-stack{min-width:82px!important;max-width:86px!important;}
.route-detail-page .route-booking-status{font-size:10px!important;padding:3px 6px!important;}

/* v246 custom slot locking fixes */
.route-detail-page .route-stops-table{
  min-width:1120px!important;
}
.route-detail-page .route-stops-table th,
.route-detail-page .route-stops-table td{
  text-align:center!important;
  vertical-align:middle!important;
}
.route-detail-page .route-stops-table .order-col,
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{
  text-align:left!important;
}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{
  width:128px!important;
  min-width:128px!important;
}
.route-detail-page .route-stops-table .custom-slot-col{
  width:132px!important;
  min-width:132px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .slot-col{
  width:134px!important;
  min-width:134px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .actions-col{
  width:190px!important;
  min-width:190px!important;
  text-align:left!important;
}
.route-detail-page .custom-slot-col .slot-custom-inline{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:100%!important;
  margin:0 auto!important;
}
.route-detail-page .custom-slot-col .slot-manual{
  display:none!important;
}
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to{
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  height:38px!important;
  padding:7px 4px!important;
  font-size:13px!important;
  text-align:center!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
}
.route-detail-page .custom-slot-col .slot-separator{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:8px!important;
  color:#5d514b!important;
  font-weight:800!important;
}
.route-detail-page .slot-final-wrap .route-slot-input{
  width:116px!important;
  min-width:116px!important;
  max-width:116px!important;
  height:38px!important;
  padding:7px 6px!important;
  border-radius:10px!important;
  text-align:center!important;
  font-size:13px!important;
  font-weight:800!important;
  box-sizing:border-box!important;
}
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time{
  height:38px!important;
  border-radius:10px!important;
}

/* v247 route actions alignment and booking workflow controls */
.route-detail-page .route-stops-table{
  min-width:1120px!important;
  table-layout:fixed!important;
}
.route-detail-page .route-stops-table .actions-col{
  width:210px!important;
  min-width:210px!important;
  text-align:left!important;
  padding-left:8px!important;
  padding-right:8px!important;
}
.route-detail-page .route-stops-table th.actions-col{
  text-align:center!important;
}
.route-detail-page .route-actions-wrap{
  width:100%!important;
  display:block!important;
}
.route-detail-page .route-action-row{
  display:grid!important;
  grid-template-columns:84px minmax(82px, 1fr)!important;
  align-items:center!important;
  gap:8px!important;
  justify-content:start!important;
  width:100%!important;
}
.route-detail-page .route-actions-menu{
  width:84px!important;
  min-width:84px!important;
  justify-self:start!important;
}
.route-detail-page .route-actions-menu .route-email-main{
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  text-align:center!important;
}
.route-detail-page .route-status-stack{
  min-width:82px!important;
  max-width:100px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  align-items:flex-start!important;
  justify-self:start!important;
}
.route-detail-page .route-booking-status{
  max-width:98px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.route-detail-page .route-actions-options button:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
  background:#f1eee9!important;
  color:#8a8178!important;
}
.route-detail-page .route-actions-options .route-send-option:disabled{
  background:#eef1ec!important;
  color:#7a817a!important;
}

/* v248 booking workflow wording, route actions alignment and timeline tint */
.route-detail-page .route-stops-table .actions-col{
  width:240px!important;
  min-width:240px!important;
  max-width:240px!important;
  text-align:left!important;
  vertical-align:middle!important;
}
.route-detail-page .route-stops-table th.actions-col{
  font-size:0!important;
  color:transparent!important;
}
.route-detail-page .route-action-row{
  display:grid!important;
  grid-template-columns:84px 1fr!important;
  gap:10px!important;
  align-items:center!important;
  justify-items:start!important;
  width:100%!important;
}
.route-detail-page .route-status-stack{
  min-width:124px!important;
  max-width:138px!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
.route-detail-page .route-booking-status{
  max-width:136px!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  line-height:1.15!important;
}
.route-detail-page .route-actions-options .route-manual-submenu{
  margin:2px 0!important;
  border-radius:10px!important;
}
.route-detail-page .route-actions-options .route-manual-submenu summary{
  list-style:none!important;
  cursor:pointer!important;
  padding:10px 12px!important;
  font-weight:800!important;
  color:#6b3f2d!important;
  border-radius:10px!important;
}
.route-detail-page .route-actions-options .route-manual-submenu summary::-webkit-details-marker{display:none!important;}
.route-detail-page .route-actions-options .route-manual-submenu[open] summary{
  background:#f4eee7!important;
}
.route-detail-page .route-actions-options .route-manual-items{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  padding:2px 0 4px 10px!important;
  border-left:3px solid #eadfd6!important;
  margin-left:8px!important;
}
.timeline-item.delivery-timeline-item{
  border-left-color:#19803d!important;
  background:#eef8f0!important;
}
.timeline-item.delivery-timeline-item .timeline-note-lines{
  border-top-color:#c8e8cf!important;
}

/* v249 route ready state */
.route-stops-head-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.route-ready-badge{font-weight:900;color:#14632e;background:#dcf4e3;border:1px solid #97d5a8;border-radius:12px;padding:10px 14px;white-space:nowrap;box-shadow:0 1px 0 rgba(20,99,46,.08);}
#routeStopsCard.route-ready-card{background:#f2fbf4!important;border-color:#9ed3ab!important;box-shadow:0 0 0 1px rgba(31,122,52,.08),0 14px 34px rgba(31,122,52,.08)!important;}
#routeStopsCard.route-ready-card .van-space-summary{background:#e7f6ea!important;border-color:#9ed3ab!important;color:#155f2d!important;}
.route-row.route-ready-row{background:#f2fbf4!important;border-color:#9ed3ab!important;}
.route-ready-list-pill{background:#dcf4e3!important;color:#14632e!important;border-color:#97d5a8!important;}

/* v250 supplier not ordered dashboard */
.supplier-not-ordered-card .simple-list-row,
.supplier-not-ordered-row{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.supplier-not-ordered-row > a{display:block;flex:1;min-width:0;text-decoration:none;color:inherit;}
.supplier-dashboard-mark{white-space:nowrap;padding:10px 14px!important;}
.dashboard-expand-wrap{margin-top:12px;display:flex;justify-content:flex-start;}
.orders-status-filters label span{white-space:nowrap;}


/* v251 dashboard action sections */
.dashboard-action-section { margin-top: 18px; }
.supplier-not-ordered-card { border-color: var(--border, #e2d6c8); background: #fff; }
.supplier-not-ordered-card h2 { color: inherit; }
.supplier-not-ordered-row { border-left: 4px solid #b98528; }

/* v252 View Orders / Dashboard ordering tidy-up */
.order-info-inner{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  line-height:1.28!important;
  align-items:flex-start!important;
}
.order-info-inner .order-money-summary{margin:0!important;}
.order-info-inner .delivery-booking-summary{margin:0!important;}
.order-info-inner .order-progress-markers{margin:0!important;}
.order-progress-inline{
  display:block!important;
  background:#eef7ee!important;
  color:#26743c!important;
  border:1px solid #cfe8d1!important;
  border-radius:10px!important;
  padding:5px 9px!important;
  font-weight:800!important;
  font-size:13px!important;
}
.order-card-links{display:flex;flex-direction:column;gap:5px;align-items:flex-start;}
.order-card-links br{display:none!important;}
.order-actions .btn,
.order-actions a.btn,
.order-actions button.btn,
.order-actions .options-button,
.order-quick-actions .btn{
  min-height:var(--oms-control-h)!important;
  height:auto!important;
  font-size:14px!important;
  font-weight:800!important;
  text-decoration:none!important;
  line-height:1.15!important;
}
.order-actions .btn * , .order-quick-actions .btn *{text-decoration:none!important;}
@media(min-width:761px){
  .order-options-wrap .options-button,
  .order-quick-actions .btn,
  .order-actions>.btn,
  .order-actions a.btn,
  .order-actions button.btn,
  .order-actions .options-button{
    min-height:var(--oms-control-h)!important;
    height:var(--oms-control-h)!important;
  }
}
.order-options-menu button,
.order-options-menu a,
.logistics-items button,
.remove-details-items button{
  text-decoration:none!important;
  font-size:15px!important;
  font-weight:800!important;
}
.supplier-dashboard-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.supplier-dashboard-actions .btn{min-height:38px;padding:8px 12px;text-decoration:none!important;font-weight:800!important;white-space:nowrap;}
.supplier-not-ordered-row{align-items:center!important;}
@media(max-width:760px){.supplier-dashboard-actions{width:100%;justify-content:stretch}.supplier-dashboard-actions .btn{flex:1 1 auto}}
.declined-delivery-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-left:4px solid #b33a3a;
}
.declined-delivery-summary{
  display:block;
  flex:1;
  min-width:0;
  text-decoration:none;
  color:inherit;
}
.declined-delivery-summary span{
  display:block;
  margin-top:4px;
  color:#6b5d55;
}
.declined-delivery-summary small{
  display:block;
  margin-top:4px;
  color:#9b2d2d;
  font-weight:800;
}
.declined-delivery-reschedule{
  background:#fff0f1!important;
  color:#9b2d2d!important;
  border-color:#e1aaaa!important;
}
@media(max-width:760px){
  .declined-delivery-row{align-items:stretch;flex-direction:column;}
}

/* v253 stock assign + View Orders filter tidy */
.warehouse-no-matches{
  padding:12px 14px!important;
  margin:0!important;
  line-height:1.35!important;
}
.warehouse-assign-actions{
  margin-top:14px!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
}
.warehouse-assign-actions .btn{
  min-width:96px!important;
  min-height:42px!important;
  font-size:14px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.supplier-dashboard-actions .btn,
.order-actions .btn,
.order-actions a.btn,
.order-actions button.btn{
  font-size:14px!important;
  font-weight:800!important;
  text-decoration:none!important;
  line-height:1.15!important;
}
.orders-status-filters.orders-filters-open{
  width:300px!important;
  min-width:300px!important;
  grid-template-columns:1fr 1fr!important;
}
.orders-status-filters.orders-filters-open label{
  overflow:hidden!important;
}
.orders-status-filters.orders-filters-open label span{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:760px){
  .orders-status-filters.orders-filters-open{width:100%!important;min-width:0!important;grid-template-columns:1fr!important;}
}

/* v254 dashboard button alignment + brand logo settings */
.settings-divider{
  height:1px;
  background:#e8ddd0;
  margin:22px 0;
}
.supplier-dashboard-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
}
.supplier-dashboard-actions .supplier-dashboard-btn,
.supplier-dashboard-actions a.btn,
.supplier-dashboard-actions button.btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  height:40px!important;
  padding:0 14px!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  vertical-align:middle!important;
  box-sizing:border-box!important;
}
.supplier-dashboard-actions a.btn span,
.supplier-dashboard-actions button.btn span{
  line-height:1!important;
}
@media(max-width:760px){
  .supplier-dashboard-actions{width:100%!important;flex-wrap:wrap!important;justify-content:stretch!important;}
  .supplier-dashboard-actions .supplier-dashboard-btn,
  .supplier-dashboard-actions a.btn,
  .supplier-dashboard-actions button.btn{flex:1 1 auto!important;}
}

/* v255 Dashboard Requires ordering + acceptance settings tidy */
.supplier-order-summary{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
}
.supplier-order-summary strong{white-space:nowrap!important;}
.supplier-order-summary span{white-space:nowrap!important;color:#6b5b50!important;}

/* v256 Dashboard stock/order item pickers */
.supplier-order-modal .supplier-order-item-list{
  display:grid;
  gap:8px;
  margin:12px 0 16px;
  max-height:360px;
  overflow:auto;
}
.supplier-order-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  border:1px solid #e2d6ca;
  background:#fffdf9;
  border-radius:12px;
  padding:10px 12px;
  cursor:pointer;
}
.supplier-order-item input{margin-top:3px; width:18px; height:18px; flex:0 0 auto;}
.supplier-order-item span{display:block; min-width:0;}
.supplier-order-item strong{display:block; line-height:1.25;}
.supplier-order-item em{display:block; font-style:normal; color:#287a3e; margin-top:3px; font-size:13px; font-weight:800;}
.supplier-order-item.is-disabled{opacity:.62; background:#f4f0ea; cursor:not-allowed;}
.supplier-order-item.is-disabled em{color:#6e6259;}

/* v156 supplier ordering + kitting */
.supplier-email-modal{max-width:760px!important;max-height:86vh!important;overflow:auto!important;}
.supplier-email-modal textarea{width:100%;box-sizing:border-box;min-height:180px;border:1px solid var(--line,#e2d6ca);border-radius:12px;padding:10px;font:inherit;}
.kitting-box{margin-top:14px;border:1px solid #cfe1cf;background:#f5fbf5;border-radius:14px;padding:12px;display:grid;gap:10px;}
.kit-rule{border-top:1px solid #dbe8db;padding-top:10px;display:grid;gap:8px;}
.kit-rule:first-of-type{border-top:0;padding-top:0;}
.kit-candidate{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #dfe8df;border-radius:10px;padding:8px 10px;}
.kit-candidate span{font-weight:800;line-height:1.25;}
.kit-candidate em{font-style:normal;color:#287a3e;font-weight:800;}
@media(max-width:760px){.kit-candidate{align-items:stretch;flex-direction:column}.kit-candidate .btn{width:100%}}

.rich-template-editor{min-height:340px;white-space:pre-wrap;overflow:auto;}
.settings-rich-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;}
.supplier-layout-settings{margin-top:14px;padding-top:8px;}
.supplier-layout-settings textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;}

/* v164 supplier email rich body + product layout formatting */
.supplier-item-rich-editor{min-height:210px;}
.supplier-email-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px;}
.supplier-email-body-editor{width:100%;box-sizing:border-box;min-height:220px;border:1px solid var(--line,#e2d6ca);border-radius:12px;padding:12px;background:#fff;font:inherit;white-space:pre-wrap;overflow:auto;}
.supplier-email-body-editor:focus,.supplier-item-rich-editor:focus{outline:2px solid rgba(23,111,55,.18);border-color:#9fcaa8;}
.supplier-email-item{margin:0 0 14px 0;}
.supplier-email-item p{margin:0 0 6px 0;}
.supplier-email-item div{margin:0;}

/* v171 order goods + kitting edit controls */
.stock-match-green{background:#dcebdd!important;color:#145c2c!important;border-color:#8fc79a!important;}
.selected-kit-card{margin:10px 0 12px;padding:10px 12px;border:1px solid #9ed3ab;border-radius:12px;background:#f1fbf3;}
.selected-kit-card p{margin:6px 0 10px;}
.stacked-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch;}
.order-goods-submenu{border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08);padding:4px 0;}
.order-goods-submenu summary{cursor:pointer;font-weight:900;padding:10px 12px;border-radius:10px;background:#efe5d8;}
.order-goods-items{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.order-goods-items button{width:100%;}


/* v172 supplier popup footer + selected kit controls */
.supplier-email-modal{padding-bottom:0!important;}
.supplier-email-modal .kitting-box{margin-bottom:28px!important;}
.supplier-email-modal .supplier-email-actions{position:sticky;bottom:0;background:#fff;padding:18px 0 16px;margin-top:26px;border-top:1px solid rgba(0,0,0,.08);z-index:20;box-shadow:0 -10px 18px rgba(255,255,255,.94);}
#selectedKitControlBar{margin:12px 0 0;}
#selectedKitControlBar .selected-kit-card{margin:0 0 14px;}
.selected-kit-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.selected-kit-actions .btn{min-width:110px;}
.kitting-box-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.kitting-box-head>div{display:grid;gap:3px;}
.kitting-box-head>div>strong{font-size:18px;color:#183e28;}
.kitting-box-head p{margin:3px 0 0;}
.kitting-kicker,.kit-rule-supplier{color:#287a3e;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;}
.kitting-count{flex:0 0 auto;border:1px solid #afd1b7;border-radius:999px;padding:6px 9px;background:#fff;color:#246a37;font-size:11px;font-weight:900;}
.kit-rule{border:1px solid #cfe1cf!important;border-radius:12px;padding:13px!important;background:#fff;}
.kit-rule+.kit-rule{margin-top:2px;}
.kit-rule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.kit-rule-head>div{display:grid;gap:2px;}
.kit-rule-head>div>strong{font-size:14px;color:#173c24;}
.kit-rule-size{border-radius:8px;padding:5px 8px;background:#edf7ef;color:#246a37;font-size:11px;font-weight:900;white-space:nowrap;}
.kit-qualifying-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid #dce9de;border-radius:10px;padding:9px;background:#f7fbf7;}
.kit-qualifying-item{display:grid;gap:2px;min-width:0;}
.kit-qualifying-item small{color:#63806b;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
.kit-qualifying-item strong{font-size:11px;overflow-wrap:anywhere;}
.kit-plus{color:#287a3e;font-size:18px;font-weight:950;}
.kit-limit-copy{margin:0!important;}
.kit-source-group{display:grid;gap:7px;margin-top:3px;}
.kit-source-group>strong{color:#496856;font-size:10px;text-transform:uppercase;letter-spacing:.05em;}
.kit-candidate-copy{display:grid;gap:2px;min-width:0;}
.kit-candidate-copy strong{font-size:11px;overflow-wrap:anywhere;}
.kit-source-order{color:#60786a;font-size:9px;font-weight:850;}
.kit-stock-count{width:max-content;border-radius:999px;padding:3px 7px;background:#e4f4e7;color:#246a37;font-size:9px;font-weight:900;}
.kit-add.selected{border-color:#287a3e!important;background:#287a3e!important;color:#fff!important;}
.kit-opportunity-selected:empty{display:none;}
.kit-opportunity-selected .selected-kit-card{margin:0;}
.selected-kit-card.compact{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.selected-kit-card.compact>div{min-width:0;}
.selected-kit-card.compact p{margin-bottom:0;overflow-wrap:anywhere;}
.selected-kit-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #86c397;border-radius:12px;padding:11px 12px;background:#eaf7ed;}
.selected-kit-summary>div{display:grid;gap:2px;}
.selected-kit-summary small{color:#4c6f57;font-weight:700;}
#selectedKitBox .selected-kit-summary{margin-bottom:2px;}
.kit-empty{margin:0!important;border-radius:8px;padding:9px;background:#f4f6f4;}
@media(max-width:760px){
  .kitting-box-head,.kit-rule-head,.selected-kit-summary,.selected-kit-card.compact{align-items:stretch;flex-direction:column;}
  .kit-rule-size{width:max-content;}
  .kit-qualifying-pair{grid-template-columns:1fr;}
  .kit-plus{text-align:center;line-height:1;}
}
.timeline-note-actions{margin-top:8px}.timeline-note .delete-note-btn{font-size:12px;padding:6px 10px}


/* v176 AI Improve Text layout tidy */
.ai-improve-row{
  margin-top:10px;
  display:flex;
  justify-content:flex-start;
  gap:10px;
}
.ai-inline-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.ai-inline-actions .ai-improve-btn{
  margin-right:auto!important;
}
.ai-improve-btn{
  min-height:var(--oms-control-h)!important;
  height:var(--oms-control-h)!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}
.ai-improve-modal{
  width:min(560px, calc(100vw - 32px))!important;
  max-width:560px!important;
  padding:22px!important;
  border-radius:18px!important;
}
.ai-improve-modal-head h3{
  margin:0 0 6px!important;
  line-height:1.15!important;
}
.ai-improve-modal-head .muted{
  margin:0 0 16px!important;
  line-height:1.35!important;
}
.ai-suggestion-label{
  display:block!important;
  margin:0!important;
  font-weight:800!important;
}
.ai-suggestion-label span{
  display:block!important;
  margin-bottom:8px!important;
}
.ai-improve-modal textarea.ai-suggestion-box{
  width:100%!important;
  min-height:210px!important;
  max-height:42vh!important;
  resize:vertical!important;
  box-sizing:border-box!important;
  line-height:1.35!important;
  padding:12px 14px!important;
  font-size:15px!important;
  font-weight:600!important;
  border-radius:12px!important;
}
.ai-improve-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin-top:14px!important;
  flex-wrap:wrap!important;
}
.ai-improve-actions .btn{
  min-height:var(--oms-control-h)!important;
  height:var(--oms-control-h)!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
.api-key-input:disabled{background:#f1eee9;color:#6f6258;cursor:not-allowed}.settings-repeat-row.api-key-row{align-items:end}

/* v177 Service issue action button sizing + AI button alignment */
.service-issue-actions.ai-inline-actions,
.right-actions.ai-inline-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  width:100%!important;
}
.service-issue-actions.ai-inline-actions .btn,
.right-actions.ai-inline-actions .btn{
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:0 18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  box-sizing:border-box!important;
  margin:0!important;
}
.service-issue-actions.ai-inline-actions .ai-improve-btn,
.right-actions.ai-inline-actions .ai-improve-btn{
  margin-right:auto!important;
  min-width:170px!important;
}
.service-issue-actions.ai-inline-actions .btn:not(.ai-improve-btn),
.right-actions.ai-inline-actions .btn:not(.ai-improve-btn){
  min-width:170px!important;
}
.ai-improve-row .ai-improve-btn{
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:0 18px!important;
}
@media(max-width:720px){
  .service-issue-actions.ai-inline-actions,
  .right-actions.ai-inline-actions{display:grid!important;grid-template-columns:1fr!important;}
  .service-issue-actions.ai-inline-actions .btn,
  .right-actions.ai-inline-actions .btn{width:100%!important;min-width:0!important;}
}


/* v178 manufacturer separate order/service emails */
.manufacturer-email-row{grid-template-columns: 1.1fr 1.2fr 1.2fr auto; align-items:end;}
@media (max-width: 900px){.manufacturer-email-row{grid-template-columns:1fr;}}

/* v184 service issue manufacturer email popup */
.service-email-modal textarea#manufacturerNoteText{
  min-height: 140px;
  resize: vertical;
  margin-top: 6px;
}
.service-email-modal .service-email-note-actions{
  margin-top: 8px;
  margin-bottom: 14px;
  justify-content: flex-start;
}
.service-email-modal .manufacturer-file-list{
  margin-top: 8px;
}

/* v185: service issue manufacturer email modal layout */
.service-email-modal{
  width:min(860px,94vw)!important;
  max-width:860px!important;
  max-height:86vh!important;
  overflow:auto!important;
  padding:22px!important;
}
.service-email-modal h4{margin:18px 0 10px;}
.service-email-modal label{margin-bottom:12px;}
.service-email-modal #manufacturerNoteText{
  min-height:150px;
  width:100%;
  box-sizing:border-box;
}
.service-email-modal .service-email-note-actions{
  margin:10px 0 18px;
  display:flex;
  justify-content:flex-start;
}
.service-email-modal .service-email-note-actions .btn{
  min-height:48px;
  padding:12px 18px;
}
.service-email-modal .manufacturer-file-list{
  display:grid;
  gap:10px;
  margin-bottom:22px;
}
.service-email-modal .quick-modal-actions{
  position:sticky;
  bottom:-22px;
  background:#fff;
  border-top:1px solid #eadfd4;
  padding:16px 0 0;
  margin-top:18px;
  z-index:2;
}
@media(max-width:720px){
  .service-email-modal{width:calc(100vw - 24px)!important;max-height:90vh!important;}
  .service-email-modal .quick-modal-actions{display:grid;grid-template-columns:1fr;}
}

/* v201: Warehouse stock page filtering and price modal */
.stock-toolbar-v201{
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) minmax(130px,170px) minmax(150px,190px) auto auto!important;
  gap:10px!important;
  align-items:center!important;
}
.stock-toolbar-v201 input,
.stock-toolbar-v201 select,
.stock-toolbar-v201 .single-toggle-pill.compact-single-toggle{
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.stock-toolbar-v201 select{
  width:100%;
  border:1px solid var(--line,#e2d6ca);
  border-radius:14px;
  padding:0 34px 0 12px;
  background:#fff;
  font-weight:800;
  color:var(--text,#241f1c);
}
.stock-toolbar-v201 .single-toggle-pill.compact-single-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 16px!important;
  white-space:nowrap!important;
}
.stock-product-link{
  appearance:none;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  color:inherit;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.stock-product-link:hover{text-decoration:underline;}
.stock-product-link.has-price{color:#1f8f4d!important;}
.stock-options-link{
  appearance:none;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  color:var(--oms-primary,#123b63);
  font:inherit;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
  white-space:nowrap;
}
.stock-options-link:hover{color:var(--oms-primary-hover,#0d2f51);}
.stock-options-link:focus-visible{outline:2px solid var(--oms-accent,#1f7a8c);outline-offset:3px;border-radius:3px;}
body.stock-modal-open{overflow:hidden;}
.stock-price-backdrop,
.stock-options-backdrop,
.stock-status-backdrop,
.stock-delete-backdrop{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.stock-price-modal,
.stock-options-modal,
.stock-status-modal,
.stock-delete-modal{
  max-height:calc(100vh - 40px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.stock-price-modal{
  width:min(560px,96vw);
  background:#fff;
  border-radius:18px;
  padding:22px;
  border:1px solid var(--line,#e2d6ca);
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
.stock-options-modal{
  width:min(460px,96vw);
  background:#fff;
  border-radius:18px;
  padding:22px;
  border:1px solid var(--line,#e2d6ca);
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
.stock-options-list{
  display:grid;
  gap:8px;
  margin:16px 0 0;
  padding:0;
  list-style:none;
}
.stock-options-list li{
  padding:10px 12px;
  border:1px solid var(--line,#e2d6ca);
  border-radius:12px;
  background:#f8fafc;
  color:var(--text,#241f1c);
  line-height:1.35;
}
.stock-options-modal .modal-actions{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line,#e2d6ca);
}
.stock-status-modal,
.stock-delete-modal{
  width:min(560px,96vw);
  background:#fff;
  border-radius:18px;
  padding:22px;
  border:1px solid var(--line,#e2d6ca);
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
.stock-status-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}
.stock-status-actions .btn{width:100%;}
.stock-status-modal .order-status-action-list{margin-top:18px;}
.stock-status-modal .modal-actions{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line,#e2d6ca);
}
.stock-action-summary-text{font-weight:900;color:#5b6674;}
.stock-fault-meta{
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff6f6;
  border:1px solid #f1cece;
  color:#6f4b4b;
}
.stock-fault-meta p{margin:3px 0;}
.stock-fault-action{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid #eadfd2;
  border-radius:14px;
  background:#fbfaf8;
}
.stock-fault-action label{font-weight:900;}
.stock-fault-action textarea{
  width:100%;
  min-height:76px;
  resize:vertical;
}
.stock-preferred-action{
  outline:3px solid rgba(36,75,130,.18);
  outline-offset:2px;
}
.stock-remove-action{margin-top:2px!important;}
.stock-price-modal label{display:grid;gap:8px;font-weight:900;margin-top:14px;}
.stock-price-modal input:disabled{background:#f2eee9;color:#7a716c;}
.stock-delete-modal label{display:grid;gap:8px;font-weight:900;margin-top:14px;}
.stock-delete-modal textarea{
  width:100%;
  min-height:96px;
  resize:vertical;
}
.stock-delete-modal .warning-box{margin:12px 0 0;}
.stock-price-meta{margin:12px 0;color:#6f625b;}
.stock-price-meta p{margin:4px 0;}
.stock-price-modal h2,
.stock-options-modal h2,
.stock-status-modal h2,
.stock-delete-modal h2{margin-top:0;}
@media(max-width:1050px){
  .stock-toolbar-v201{grid-template-columns:1fr 1fr!important;}
  .stock-toolbar-v201 input{grid-column:1 / -1;}
}
@media(max-width:700px){
  .stock-toolbar-v201{grid-template-columns:1fr!important;}
  .stock-toolbar-v201 .single-toggle-pill.compact-single-toggle{width:100%!important;}
  .stock-price-backdrop,
  .stock-options-backdrop,
  .stock-status-backdrop,
  .stock-delete-backdrop{align-items:flex-start;padding:12px;}
  .stock-price-modal,
  .stock-options-modal,
  .stock-status-modal,
  .stock-delete-modal{max-height:calc(100vh - 24px);padding:18px;}
}

/* v202 stock page refinements */
.stock-table tr.display-stock-row td{
  background:#eaf4ff!important;
}
.stock-table tr.display-stock-row:hover td{
  background:#dceeff!important;
}
.stock-price-modal .currency-input{
  display:flex;
  align-items:center;
  width:100%;
  border:1px solid #d8cabb;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.stock-price-modal .currency-input span{
  padding:0 0 0 14px;
  font-weight:900;
  color:#4a4038;
  line-height:46px;
}
.stock-price-modal .currency-input input{
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  flex:1;
  min-width:0;
  padding-left:6px!important;
}
.stock-price-modal .btn.danger{
  background:#efcaca;
  color:#9f2424;
}

/* v203 supplier order history */
.supplier-history-controls{margin:1rem 0;}
.supplier-history-row{display:block;}
.supplier-history-row summary{cursor:pointer;display:flex;gap:1rem;justify-content:space-between;align-items:center;}
.supplier-history-detail{padding:.75rem 0 0 0;color:#3f332d;}
.supplier-history-detail ul{margin:.5rem 0 0 1.25rem;padding:0;}
.supplier-history-detail li{margin:.75rem 0;}
.supplier-history-item-lines{margin:.25rem 0;color:#2a211d;line-height:1.35;}

/* v204 order/stock workflow refinements */
.warehouse-assign-row.manual-match{background:#fff;border:1px solid #eadfd2;}
.warehouse-assign-row.manual-match .warning-text{color:#8a6230;font-weight:600;}
.warning-text{color:#9a6a00;font-weight:700;}
.segmented-pills{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px;}
.segmented-pills button{border:0;border-radius:14px;background:#e9dfd2;padding:14px 16px;font-weight:800;cursor:pointer;}
.segmented-pills button.active,.segmented-pills button:hover{background:#d7ead7;color:#166b2f;}
.order-progress-clickable,.order-status-clickable{border:0;cursor:pointer;font:inherit;text-align:left;}
.order-progress-clickable:hover,.order-status-clickable:hover{text-decoration:underline;}
.status-action-modal .full-width{width:100%;margin:6px 0;}
.order-status-pill-row{margin-top:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.order-status-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;padding:5px 11px;font-size:13px;font-weight:900;line-height:1.1;white-space:nowrap;box-shadow:none;cursor:pointer;}
button.order-status-pill{min-height:30px;}
.order-status-pill:hover{filter:brightness(.98);}
.order-status-pill-date{color:#6d7a8a;font-size:13px;font-weight:800;line-height:1.2;}
.order-status-pill-grey{background:#f1f3f5;border-color:#dce2e8;color:#4d5967;}
.order-status-pill-blue{background:#e8f1ff;border-color:#b7cff3;color:#244b82;}
.order-status-pill-green{background:#e2f4e7;border-color:#a7d9b5;color:#16622c;}
.order-status-pill-red{background:#fde8e8;border-color:#efb3b3;color:#9d2626;}
.order-status-pill-yellow{background:#fff4cc;border-color:#ebcf72;color:#7a5600;}
.order-status-pill-modal .order-status-pill{cursor:default;vertical-align:middle;}
.order-status-pill-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.stock-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;}
.stock-status-pill-row{gap:6px;}
.stock-status-pill{margin:0;}
.stock-status-meta{gap:3px;}
.order-status-action-list{display:flex;flex-direction:column;gap:10px;margin:14px 0 0;}
.order-status-action-list .full-width{width:100%;justify-content:center;margin:0;}
.order-status-action-list button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;}
.order-status-force-delivered{margin-top:0;}
.supplier-history-controls{display:flex;gap:12px;align-items:center;}
.supplier-history-controls input{flex:1;}
.supplier-history-controls .btn{min-height:48px;height:48px;white-space:nowrap;}
.supplier-history-controls .btn.active{background:#d7ead7;color:#166b2f;}
.show-more-supplier{margin-top:14px;width:100%;}


/* v205: delivered-order cleanup really applied */
.orders-list button.order-status-line,
button.order-status-line{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  display: inline !important;
  line-height: inherit !important;
  font: inherit !important;
  font-weight: 700 !important;
  cursor: pointer;
}
.orders-list span.order-status-line{
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
.order-status-clickable:hover{text-decoration:underline;}
.order-options-menu .logistics-submenu{display:none!important;}


/* v205 small route/supplier/price refinements */
.stock-price-modal .currency-input{display:block!important;border:0!important;background:transparent!important;overflow:visible!important;}
.stock-price-modal .currency-input span{display:none!important;}
.stock-price-modal .currency-input input{border:1px solid #d8cabb!important;border-radius:12px!important;box-shadow:none!important;width:100%!important;padding-left:14px!important;}
.supplier-history-row summary{padding:12px 14px!important;}
.supplier-history-detail{padding:14px 16px 18px!important;}
.supplier-history-detail p{margin:0 0 14px!important;line-height:1.45!important;}
.supplier-history-detail ul{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:12px!important;}
.supplier-history-detail li{margin:0!important;padding:12px 14px!important;border:1px solid #eaded0!important;border-radius:12px!important;background:#fffaf4!important;}
.supplier-history-item-lines{margin:8px 0 0!important;line-height:1.55!important;white-space:normal!important;}
.supplier-history-item-lines br{display:block!important;content:"";margin-top:3px!important;}
.route-actions-row{gap:10px!important;}
.route-create-action{display:flex!important;gap:10px!important;align-items:end!important;}
.completed-route-edit-modal .form-grid.two{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px 16px!important;}
.completed-route-edit-modal .form-grid.two label{margin:0!important;}
.completed-route-edit-modal input,.completed-route-edit-modal select{width:100%!important;box-sizing:border-box!important;}
@media(max-width:760px){.completed-route-edit-modal .form-grid.two{grid-template-columns:1fr!important;}.route-create-action{display:grid!important;grid-template-columns:1fr!important;}}

/* v223: Warehouse assign link only goes green when an exact pending-order match exists */
.assign-link.assign-link-neutral{color:#6d6259!important;text-decoration:underline!important;font-weight:800!important;}
.assign-link.assign-link-exact{color:#1d5fa8!important;text-decoration:underline!important;font-weight:800!important;}


/* v227 mobile dashboard requires-ordering layout fix */
@media (max-width: 760px){
  .supplier-not-ordered-card{
    overflow:hidden!important;
  }
  .supplier-not-ordered-list{
    gap:14px!important;
  }
  .supplier-not-ordered-card .simple-list-row,
  .supplier-not-ordered-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:stretch!important;
    padding:16px!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .supplier-not-ordered-row > a,
  .supplier-order-summary{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    position:relative!important;
    z-index:1!important;
  }
  .supplier-order-summary strong{
    display:block!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.2!important;
    word-break:break-word!important;
    padding-right:0!important;
  }
  .supplier-order-summary span{
    display:block!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.35!important;
    margin-top:6px!important;
  }
  .supplier-dashboard-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    position:relative!important;
    z-index:2!important;
  }
  .supplier-dashboard-actions .supplier-dashboard-btn,
  .supplier-dashboard-actions a.btn,
  .supplier-dashboard-actions button.btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:var(--oms-control-h)!important;
    height:var(--oms-control-h)!important;
    padding:0 10px!important;
    margin:0!important;
    border-radius:14px!important;
    box-sizing:border-box!important;
    font-size:15px!important;
    line-height:1.1!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .supplier-dashboard-actions .supplier-dashboard-goods{
    grid-column:1 / -1!important;
  }
}

@media (max-width: 420px){
  .supplier-dashboard-actions{
    grid-template-columns:1fr!important;
  }
  .supplier-dashboard-actions .supplier-dashboard-goods{
    grid-column:auto!important;
  }
}

/* v228 POD option menu visibility */
.order-options-menu .pod-option-blue{
  background:#dbeaf8!important;
  color:#0f5da2!important;
  border-color:#b7d5ef!important;
  font-weight:900!important;
}


/* v230 system timeline */
.section-heading-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.section-heading-row h2{margin-bottom:4px;}
.system-timeline-list{gap:8px!important;}
.system-timeline-row{
  align-items:flex-start!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.system-timeline-row strong{
  display:block;
  line-height:1.25;
}
.system-timeline-row span{
  display:block!important;
  margin-top:4px!important;
  line-height:1.35!important;
}
.system-timeline-row small{
  display:block;
  margin-top:5px;
  color:#6b5b50;
  line-height:1.35;
}
.timeline-search-row{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:14px;
}
.timeline-search-row input{
  flex:1;
  min-width:0;
}
@media(max-width:760px){
  .section-heading-row{display:block;}
  .section-heading-row .btn{margin-top:10px;width:100%;justify-content:center;}
  .timeline-search-row{flex-direction:column;align-items:stretch;}
}


/* v231 cleaner system timeline rows */
.system-timeline-row{
  display:block!important;
  padding:0!important;
  overflow:hidden!important;
}
.system-timeline-row summary{
  cursor:pointer;
  list-style:none;
  padding:14px 16px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.system-timeline-row summary::-webkit-details-marker{display:none;}
.timeline-main{
  display:block;
  min-width:0;
}
.timeline-main strong,
.system-timeline-row strong{
  display:block;
  line-height:1.25;
  color:#241f1d;
}
.timeline-main > span,
.system-timeline-row span{
  display:block!important;
  margin-top:4px!important;
  line-height:1.35!important;
  color:#6b5b50!important;
}
.timeline-summary{
  color:#3f342d!important;
  font-weight:700!important;
}
.timeline-details{
  border-top:1px solid #eaded2;
  padding:12px 16px 14px;
  background:#fffdf9;
}
.timeline-details pre{
  white-space:pre-wrap;
  word-break:break-word;
  margin:0;
  font-size:13px;
  line-height:1.35;
  color:#51443b;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
.timeline-order-link{
  margin-top:12px;
}
.timeline-filter-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  background:#f6efe6;
  border:1px solid #e2d6ca;
  border-radius:12px;
  padding:10px 12px;
  font-weight:800;
  color:#3f342d;
}
.timeline-filter-pill input{
  width:18px;
  height:18px;
}
@media(max-width:760px){
  .timeline-filter-pill{
    width:100%;
    box-sizing:border-box;
    justify-content:center;
  }
  .system-timeline-row summary{
    display:block;
  }
}


/* v232 dashboard timeline tidy */
.system-timeline-card{
  overflow:hidden!important;
}
.system-timeline-card .section-heading-row{
  align-items:center!important;
  margin-bottom:12px!important;
}
.system-timeline-card .section-heading-row h2{
  margin:0 0 4px 0!important;
}
.system-timeline-card .section-heading-row p{
  margin:0!important;
}
.system-timeline-dashboard-list{
  gap:10px!important;
}
.system-timeline-preview-row{
  display:block!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid #e2d6ca!important;
  text-decoration:none!important;
  color:inherit!important;
}
.system-timeline-preview-row strong{
  display:block!important;
  font-size:15px!important;
  line-height:1.25!important;
  margin:0 0 4px 0!important;
  color:#241f1d!important;
}
.system-timeline-preview-row span{
  display:block!important;
  margin:0!important;
  font-size:14px!important;
  line-height:1.35!important;
  color:#6b5b50!important;
}
.system-timeline-preview-row small{
  display:block!important;
  margin-top:4px!important;
  font-size:13px!important;
  line-height:1.3!important;
  color:#6b5b50!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.system-timeline-card .btn{
  white-space:nowrap!important;
}
@media(max-width:760px){
  .system-timeline-preview-row small{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}


/* v233 system timeline filter alignment */
.system-timeline-page-card .timeline-filter-bar{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) 220px auto!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:14px!important;
}
.system-timeline-page-card .timeline-filter-bar input[type="search"],
.system-timeline-user-filter select,
.timeline-user-filter select{
  width:100%!important;
  min-height:48px!important;
  height:48px!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
}
.timeline-user-filter{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  min-width:0!important;
}
.timeline-user-filter span{
  font-weight:900!important;
  color:#3f342d!important;
  white-space:nowrap!important;
}
.system-timeline-page-card .timeline-filter-pill{
  min-height:48px!important;
  height:48px!important;
  box-sizing:border-box!important;
  margin:0!important;
  justify-content:center!important;
}
@media(max-width:900px){
  .system-timeline-page-card .timeline-filter-bar{
    grid-template-columns:1fr 1fr!important;
  }
  .system-timeline-page-card .timeline-filter-bar input[type="search"]{
    grid-column:1 / -1!important;
  }
}
@media(max-width:560px){
  .system-timeline-page-card .timeline-filter-bar{
    grid-template-columns:1fr!important;
  }
  .timeline-user-filter{
    display:block!important;
  }
  .timeline-user-filter span{
    display:block!important;
    margin-bottom:6px!important;
  }
}


/* v234 route planner service/balance/map updates */
.route-stops-table .balance-col{
  min-width:92px;
  white-space:nowrap;
}
.route-balance-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 9px;
  font-weight:900;
  font-size:13px;
  border:1px solid #d9cbbb;
  background:#f6efe8;
  color:#4b3a31;
}
.route-balance-pill.balance-due{
  background:#fff3d6;
  border-color:#efc36e;
  color:#7a4b00;
}
.route-job-label.clickable{
  border:0;
  cursor:pointer;
  text-decoration:underline;
  font:inherit;
}
.service-file-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:10px;
  margin-top:8px;
}
.service-file-tile{
  display:block;
  border:1px solid #e2d6ca;
  border-radius:12px;
  padding:8px;
  text-decoration:none;
  color:inherit;
  background:#fff;
}
.service-file-tile img{
  width:100%;
  height:92px;
  object-fit:cover;
  border-radius:9px;
  display:block;
  margin-bottom:6px;
}
.service-file-tile span{
  display:flex;
  height:92px;
  align-items:center;
  justify-content:center;
  background:#f4efe9;
  border-radius:9px;
  font-weight:900;
  margin-bottom:6px;
}
.service-file-tile em{
  display:block;
  font-style:normal;
  font-size:12px;
  color:#6b5b50;
  word-break:break-word;
}
.service-note-row{
  border:1px solid #eaded2;
  border-radius:12px;
  padding:9px 11px;
  margin:8px 0;
  background:#fffdf9;
}
.service-note-row p{
  margin:5px 0 0;
}
.route-service-note-modal textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #e2d6ca;
  border-radius:12px;
  padding:10px;
  font:inherit;
}
.service-driver-note{
  background:#fff8e3!important;
  border-color:#ead28d!important;
  color:#533b00!important;
}
.service-driver-note h3{
  color:#7a4b00!important;
}

/* v241 service visit scheduling popup */
.schedule-delivery-modal label{
  display:block;
  margin:10px 0;
}
.schedule-delivery-modal{
  max-width:760px;
}
.schedule-delivery-modal select,
.schedule-delivery-modal input[type="date"]{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
}
.schedule-delivery-modal button:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.schedule-route-capacity-note{
  margin:-3px 0 12px!important;
  color:#657487!important;
  font-size:13px;
}
.schedule-route-capacity-warning{
  margin:0 0 14px!important;
  padding:10px 12px;
  border:1px solid #e4a3a3;
  border-radius:10px;
  background:#fff1f1;
  color:#a52222!important;
  font-weight:800;
  line-height:1.35;
}

.route-preview-overlay{
  padding:24px;
}
.route-preview-modal{
  width:min(1040px, 96vw);
  max-width:none;
  max-height:94vh;
  overflow:auto;
  padding:22px;
}
.route-preview-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.route-preview-header h3{
  margin:0 0 5px;
}
.route-preview-header p{
  margin:0;
}
.route-preview-loading{
  min-height:440px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6d625c;
  font-weight:800;
}
.route-preview-legend{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:18px 0 12px;
  color:#5f554f;
  font-size:14px;
  font-weight:750;
}
.route-preview-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.route-preview-dot{
  width:12px;
  height:12px;
  display:inline-block;
  border-radius:50%;
  box-shadow:0 0 0 2px #fff, 0 0 0 3px rgba(24, 39, 58, .18);
}
.route-preview-dot.green{background:#1f8f4d;}
.route-preview-dot.amber{background:#d9822b;}
.route-preview-dot.blue{background:#2f80ed;}
.order-route-preview-map{
  width:100%;
  height:min(58vh, 570px);
  min-height:420px;
  border:1px solid #d8e1eb;
  border-radius:16px;
  overflow:hidden;
  position:relative;
  z-index:1;
}
.route-preview-warning{
  margin:12px 0 0;
  padding:10px 12px;
  border:1px solid #e5bd83;
  border-radius:10px;
  background:#fff9ef;
  color:#7a4a0f;
  font-weight:750;
}
.route-preview-note{
  margin:12px 0 0!important;
  color:#526579!important;
  font-weight:750;
}
@media(max-width:720px){
  .route-preview-overlay{padding:10px;}
  .route-preview-modal{width:96vw!important;max-height:92vh!important;padding:14px!important;}
  .route-preview-header{gap:12px;}
  .route-preview-header .btn{min-width:auto;padding:0 14px;}
  .order-route-preview-map{height:56vh;min-height:360px;}
}


/* v242 service issue route label */
.route-job-label.service-red{
  color:#b73535!important;
}
button.route-job-label.service-red{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  font:inherit!important;
  font-weight:900!important;
  cursor:pointer!important;
  text-align:left!important;
  line-height:1.1!important;
}
button.route-job-label.service-red:hover{
  text-decoration:underline!important;
}


/* v260 split tension quick selector */
.split-tension-trigger-wrap{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:10px;
}
.split-tension-trigger{
  border:1px solid var(--accent, var(--oms-accent-blue));
  background:#fff;
  color:var(--accent, var(--oms-accent-blue));
  border-radius:999px;
  padding:10px 16px;
  min-height:42px;
  font-weight:700;
  cursor:pointer;
}
.split-tension-trigger.active{
  background:var(--accent, var(--oms-accent-blue));
  color:#fff;
}
.split-quick-fields{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.split-side-card{
  border:1px solid rgba(29,155,240,.18);
  background:rgba(29,155,240,.045);
  border-radius:16px;
  padding:12px;
}
.split-side-title{
  font-weight:800;
  margin-bottom:8px;
}
.splitQuickGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin-bottom:8px;
}
.splitQuickBtn{
  border:1px solid rgba(29,155,240,.28);
  background:#fff;
  color:var(--accent, var(--oms-accent-blue));
  border-radius:999px;
  min-height:42px;
  font-weight:800;
  cursor:pointer;
}
.splitQuickBtn.active{
  background:var(--accent, var(--oms-accent-blue));
  color:#fff;
}
.split-select-fallback{
  margin-top:4px;
}
@media (max-width: 720px){
  .split-quick-fields{
    grid-template-columns:1fr;
  }
}


/* v261 Stock Intake split tension quick selector */
.quick-split-tension-block .split-tension-trigger{
  width:100%;
  justify-content:center;
}
.quick-split-fields{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:12px;
}
.quick-split-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
.quick-split-grid button{
  min-height:42px;
  border-radius:999px;
  font-weight:800;
}
@media (max-width:720px){
  .quick-split-fields{
    grid-template-columns:1fr;
  }
}


/* v262 Stock Intake split selector visual tidy */
.stock-intake-app .quick-split-tension-block .split-tension-trigger,
body.stock-intake-app .quick-split-tension-block .split-tension-trigger{
  background:#dcecfb;
  color:#1464a5;
  border-color:#dcecfb;
  border-radius:18px;
  font-weight:900;
}
.stock-intake-app .quick-split-tension-block .split-tension-trigger.active,
body.stock-intake-app .quick-split-tension-block .split-tension-trigger.active{
  background:#1769aa;
  color:#fff;
}
.quick-split-grid button{
  white-space:normal;
  line-height:1.1;
  padding:10px 12px;
}
.quick-split-grid button.active{
  background:#1769aa;
  color:#fff;
}


/* v277 global UI utility classes for future cleanup-safe screens.
   These are intentionally opt-in so Driver App and Stock Intake stay unchanged. */
.ui-card{background:var(--card);border:1px solid var(--line);border-radius:var(--ui-radius-xl);padding:var(--ui-card-padding);box-shadow:var(--ui-shadow-card);}
.ui-control{height:var(--ui-control-height);border:1px solid var(--line);border-radius:var(--ui-radius-sm);padding:0 var(--ui-control-padding-x);font:inherit;font-weight:var(--ui-font-control-weight);background:#fff;}
.ui-button{min-height:var(--ui-control-height);border-radius:var(--ui-radius-sm);padding:var(--ui-button-padding-y) var(--ui-button-padding-x);font-weight:var(--ui-font-strong-weight);}
.ui-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-weight:var(--ui-font-strong-weight);}
.ui-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ui-action-row.end{justify-content:flex-end;}


/* v290: Warehouse stock toolbar stays on one row on desktop */
.stock-toolbar-v201{
  grid-template-columns:minmax(220px,1fr) minmax(120px,150px) minmax(125px,155px) repeat(2,minmax(125px,150px))!important;
  align-items:center!important;
}
.stock-toolbar-v201 .single-toggle-pill.compact-single-toggle{
  min-width:0!important;
  width:100%!important;
  padding:0 12px!important;
}
.stock-toolbar-v201 select{min-width:0!important;}
@media(max-width:1120px){
  .stock-toolbar-v201{grid-template-columns:1fr 1fr 1fr!important;}
  .stock-toolbar-v201 input{grid-column:1 / -1;}
}
@media(max-width:700px){
  .stock-toolbar-v201{grid-template-columns:1fr!important;}
}

/* v378: Stock visibility filters are hidden by default and grouped in one menu. */
.stock-visibility-filters{
  position:relative;
  min-width:0;
  width:100%;
  height:44px;
  margin:0;
  z-index:20;
}
.stock-visibility-filters summary{
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:100%;
  height:44px;
  padding:0 36px 0 14px;
  border:1px solid var(--line,#e2d6ca);
  border-radius:14px;
  background:#fff;
  color:var(--blue,#1b4b82);
  font-weight:900;
  line-height:1;
  list-style:none;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
}
.stock-visibility-filters summary::-webkit-details-marker{display:none;}
.stock-visibility-filters summary::after{
  content:'▾';
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-52%);
  font-size:14px;
}
.stock-visibility-filters[open] summary{
  border-color:var(--blue,#1b4b82);
  background:#f5f9fd;
}
.stock-visibility-filters[open] summary::after{transform:translateY(-48%) rotate(180deg);}
.stock-visibility-filter-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  display:grid;
  gap:4px;
  box-sizing:border-box;
  min-width:230px;
  padding:8px;
  border:1px solid var(--line,#e2d6ca);
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 34px rgba(25,46,66,.16);
}
.stock-visibility-filter-menu label{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  margin:0;
  padding:7px 10px;
  border-radius:10px;
  color:var(--text,#241f1c);
  font-weight:800;
  cursor:pointer;
}
.stock-visibility-filter-menu label:hover{background:#f5f9fd;}
.stock-toolbar-v201 .stock-visibility-filter-menu input{
  flex:0 0 auto;
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  accent-color:var(--blue,#1b4b82);
}
.stock-table .stock-reference{white-space:pre-line;}
@media(max-width:700px){
  .stock-visibility-filter-menu{
    left:0;
    right:0;
    min-width:0;
  }
}


/* v292 route/timeline UI and route email popup cleanup */
.timeline-user-filter-compact span,
.timeline-filter-pill{display:none!important;}
.timeline-user-filter-compact{margin:0!important;}
.timeline-filter-bar{align-items:center!important;}

.route-detail-page .route-stops-table .order-col{vertical-align:top!important;}
.route-order-status-under{margin-top:5px;margin-bottom:4px;display:flex;align-items:flex-start;}
.route-detail-page .route-left-status{font-size:10px!important;padding:3px 7px!important;line-height:1.1!important;max-width:118px;white-space:normal;text-align:left;}
.route-detail-page .order-col .route-job-label{display:block;margin-top:4px;}
.route-detail-page .route-action-row{display:flex!important;align-items:stretch!important;gap:8px!important;justify-content:flex-start!important;}
.route-detail-page .route-action-row .small-btn,
.route-detail-page .route-actions-menu .route-email-main,
.route-detail-page .route-email-preview-btn{height:42px!important;min-height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 16px!important;border-radius:12px!important;font-weight:800!important;line-height:1!important;}
.route-detail-page .route-email-preview-btn.disabled,
.route-detail-page .route-email-preview-btn:disabled{opacity:.45!important;cursor:not-allowed!important;background:#e7e0d8!important;color:#8a7b6f!important;}
.route-detail-page .route-booking-wrap{gap:0!important;}
.route-detail-page .route-status-stack{display:none!important;}
.route-detail-page .actions-col{min-width:185px!important;}
.route-email-preview-modal{max-width:760px!important;width:min(760px,92vw)!important;}
.route-email-preview-modal textarea{min-height:260px;font-family:inherit;line-height:1.45;}
.route-email-form-grid{align-items:end;}
@media(max-width:1100px){
  .route-detail-page .route-action-row{flex-direction:column!important;align-items:stretch!important;}
  .route-detail-page .route-action-row .small-btn{width:100%!important;}
}

/* v293 route row alignment and email popup click target polish */
.route-detail-page .route-stops-table{
  min-width:1360px!important;
  table-layout:fixed!important;
}
.route-detail-page .route-stops-table .order-col{
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  text-align:left!important;
}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{
  width:172px!important;
  min-width:172px!important;
  max-width:172px!important;
  text-align:left!important;
}
.route-detail-page .route-stops-table .balance-col{
  width:70px!important;
  min-width:70px!important;
  max-width:70px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .van-col{width:64px!important;min-width:64px!important;max-width:64px!important;}
.route-detail-page .route-stops-table .drop-col{width:70px!important;min-width:70px!important;max-width:70px!important;}
.route-detail-page .route-stops-table .travel-col{width:92px!important;min-width:92px!important;max-width:92px!important;}
.route-detail-page .route-stops-table .time-col{width:112px!important;min-width:112px!important;max-width:112px!important;}
.route-detail-page .route-stops-table .custom-slot-col{width:152px!important;min-width:152px!important;max-width:152px!important;}
.route-detail-page .route-stops-table .slot-col{width:158px!important;min-width:158px!important;max-width:158px!important;}
.route-detail-page .route-stops-table .actions-col{
  width:204px!important;
  min-width:204px!important;
  max-width:204px!important;
  text-align:left!important;
  vertical-align:middle!important;
}
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time,
.route-detail-page .slot-final-wrap .route-slot-input,
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to,
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu .route-email-main{
  height:48px!important;
  min-height:48px!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time{
  width:96px!important;
  min-width:96px!important;
  max-width:96px!important;
}
.route-detail-page .custom-slot-col .slot-custom-inline{
  height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to{
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
}
.route-detail-page .slot-final-wrap .route-slot-input{
  width:140px!important;
  min-width:140px!important;
  max-width:140px!important;
}
.route-detail-page .route-action-row{
  height:48px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  white-space:nowrap!important;
}
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu .route-email-main{
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
  padding:0 10px!important;
  border-radius:12px!important;
  font-size:14px!important;
  line-height:1!important;
}
.route-detail-page .route-order-status-under{
  margin-top:6px!important;
  margin-bottom:5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  max-width:100%!important;
}
.route-detail-page .route-left-status{
  max-width:none!important;
  white-space:nowrap!important;
  text-align:left!important;
}
.route-detail-page .route-job-labels{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  align-items:flex-start!important;
}
.route-detail-page .route-job-label{
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:none!important;
  line-height:1.1!important;
}
.route-detail-page .route-balance-pill{
  font-size:13px!important;
  padding:6px 8px!important;
  white-space:nowrap!important;
}
@media(max-width:1100px){
  .route-detail-page .route-action-row{flex-direction:row!important;align-items:center!important;}
  .route-detail-page .route-action-row .small-btn{width:86px!important;}
}

/* v295 route balance column alignment fix */
.route-detail-page .route-stops-table{
  min-width:1420px!important;
}
.route-detail-page .route-stops-table .balance-col{
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  text-align:center!important;
  overflow:visible!important;
}
.route-detail-page .route-stops-table .van-col{
  width:70px!important;
  min-width:70px!important;
  max-width:70px!important;
  text-align:center!important;
}
.route-detail-page .route-balance-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:92px!important;
  max-width:108px!important;
  box-sizing:border-box!important;
  margin:0 auto!important;
  white-space:nowrap!important;
}

/* v297 route email single-renderer preview/editor */
.route-email-preview-modal .route-email-html-editor{
  min-height:260px;
  max-height:42vh;
  overflow:auto;
  box-sizing:border-box;
  padding:14px 16px;
  line-height:1.45;
  font-family:inherit;
  white-space:normal;
  background:#fff;
}
.route-email-preview-modal .route-email-html-editor:focus{
  outline:2px solid rgba(112,68,47,.18);
  border-color:#b99d89;
}
.route-email-preview-modal .route-email-html-editor p{
  margin:0 0 14px;
  color:#2b2522;
}
.route-email-preview-modal .route-email-html-editor p:last-child{margin-bottom:0;}
.route-email-preview-modal .route-email-html-editor a{
  cursor:text;
}
.route-contact-modal{
  max-width:560px!important;
  width:min(560px,92vw)!important;
}
.route-contact-choice-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:12px;
}
.route-contact-choice-grid .btn{
  width:100%;
  justify-content:center;
}
.route-contact-choice-grid .route-sms-action{
  background:#123a63!important;
  border-color:#123a63!important;
  color:#fff!important;
}
.route-contact-choice-grid .route-sms-action:disabled{
  background:#dfe7f1!important;
  border-color:#c6d3e2!important;
  color:#738398!important;
}
.route-detail-page .route-booking-status.rebooking{
  background:#ffe4e6!important;
  color:#9f1239!important;
}
.customer-email-preview-modal{
  max-height:calc(100vh - 64px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.customer-email-preview-modal .quick-modal-body{
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.customer-email-preview-modal .customer-email-html-editor{
  min-height:150px!important;
  max-height:30vh!important;
  overflow:auto!important;
}
.customer-email-attachments{display:grid;gap:8px;margin:0 0 12px;font-size:13px;color:#5d4b40;}
.customer-email-attachments>div{display:flex;gap:8px;flex-wrap:wrap;}
.customer-email-attachment{display:inline-flex;align-items:center;border:1px solid var(--oms-border,#dbe5f1);border-radius:999px;background:var(--oms-surface-alt,#f8fafc);padding:6px 10px;font-weight:800;color:var(--oms-text,#0b1f3f);}
.customer-email-attachment.unavailable{opacity:.72;background:#f7eeee;color:#8f2d2d;}
.customer-email-kind-locked select:disabled{opacity:1;background:#eef3f8!important;color:#5f7083!important;border-color:#c9d5e2!important;cursor:not-allowed;}
.customer-email-kind-locked::after{content:"Locked";display:inline-block;margin-top:6px;font-size:12px;font-weight:800;color:#607086;}

/* v302 order builder design/QOL polish */
@media (min-width:1051px){
  .address-grid{
    grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(0,2fr)!important;
    align-items:end!important;
  }
  .address-grid .address-btn{
    width:100%!important;
    height:var(--control-height,46px)!important;
  }
  .order-product-search-wrap{
    max-width:calc(50% - 11px)!important;
  }
  .product-grid .tensionWrap{grid-column:1/span 2!important;}
  .product-grid .trialWrap{grid-column:3/span 2!important;}
  .product-grid .splitCheckWrap{grid-column:1/span 2!important;}
  .product-grid .splitFields{
    grid-column:1/span 2!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px 22px!important;
  }
  .product-grid .splitFields.hidden{display:none!important;}
  .product-grid .bespokeCheckWrap{grid-column:1/-1!important;width:100%!important;}
}
.splitCheckWrap.pill-check,
.bespokeCheckWrap.pill-check{
  border:1px solid #ead0a0!important;
  background:#fff8e7!important;
  border-radius:10px!important;
  padding:12px 14px!important;
  min-height:46px!important;
  cursor:pointer!important;
  align-self:end!important;
}
.splitCheckWrap.pill-check input,
.bespokeCheckWrap.pill-check input{pointer-events:none;}
.splitCheckWrap.pill-check:hover,
.bespokeCheckWrap.pill-check:hover{background:#fff2cf!important;}
.order-items-summary-table .reorder-col,
.order-items-summary-table .reorder-cell{width:54px;text-align:center;}
.order-items-summary-table .drag-handle{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:8px;background:#eadfd3;color:var(--oms-brand-brown);
  font-weight:900;cursor:grab;user-select:none;
}
.order-items-summary-table tr.order-summary-draggable.drag-over td{box-shadow:inset 0 2px 0 #7a4a32;}
.order-items-summary-table tr.order-summary-draggable.dragging{opacity:.55;}
@media(max-width:1050px){
  .order-product-search-wrap{max-width:none!important;}
  .product-grid .splitFields{grid-template-columns:1fr!important;}
}

/* v303 order builder split tension/address alignment fix */
@media (min-width:1051px){
  .address-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    column-gap:22px!important;
    row-gap:16px!important;
    align-items:end!important;
  }
  .address-grid label:first-child{grid-column:1!important;}
  .address-grid .address-btn{grid-column:2!important;width:100%!important;height:var(--control-height,46px)!important;}
  .address-grid label:has(#addressSelect){grid-column:3 / span 2!important;}
}
.tensionWrap.tension-disabled-by-split{
  opacity:.58!important;
}
.tensionWrap.tension-disabled-by-split select{
  background:#f4f1ee!important;
  color:#867d77!important;
  cursor:not-allowed!important;
}


/* v304 order-form service shortcut + consistent button hover */
body .btn:hover:not(:disabled),
body button.btn:hover:not(:disabled),
body a.btn:hover{
  background:var(--brown)!important;
  border-color:var(--brown)!important;
  color:#fff!important;
  filter:none!important;
}
body .btn.danger:hover:not(:disabled){
  background:var(--brown)!important;
  color:#fff!important;
}
.section-head > div,.bottom-add{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;}
.section-head .btn,.bottom-add .btn{margin-left:0!important;}
@media(max-width:760px){
  .section-head > div,.bottom-add{justify-content:stretch;}
  .section-head > div .btn,.bottom-add .btn{flex:1 1 100%;}
}

/* v305 route ready/background and route row alignment polish */
#routeStopsCard.route-ready-card{
  background:#fff!important;
  border-color:#e4d8cb!important;
  box-shadow:none!important;
}
#routeStopsCard.route-ready-card .van-space-summary{
  background:#f6f1eb!important;
  border-color:#e4d8cb!important;
  color:#5d514b!important;
}
.route-detail-page .route-stops-table{
  min-width:1320px!important;
  table-layout:fixed!important;
}
.route-detail-page .route-stops-table .balance-col{
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  text-align:center!important;
  overflow:visible!important;
}
.route-detail-page .route-balance-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  max-width:86px!important;
  padding:6px 7px!important;
  font-size:12px!important;
  line-height:1!important;
  box-sizing:border-box!important;
  margin:0 auto!important;
  white-space:nowrap!important;
}
.route-detail-page .route-stops-table .van-col{
  width:62px!important;
  min-width:62px!important;
  max-width:62px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .drop-col{
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .travel-col{
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .time-col{
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .custom-slot-col{
  width:142px!important;
  min-width:142px!important;
  max-width:142px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .slot-col{
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  text-align:center!important;
}
.route-detail-page .route-stops-table .actions-col{
  width:184px!important;
  min-width:184px!important;
  max-width:184px!important;
  text-align:left!important;
  vertical-align:middle!important;
  padding-left:8px!important;
  padding-right:6px!important;
}
.route-detail-page .route-action-row{
  height:48px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  white-space:nowrap!important;
}
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu .route-email-main{
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:0 10px!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  line-height:1!important;
  font-size:14px!important;
  font-weight:800!important;
}
.route-detail-page .route-actions-menu{
  display:inline-flex!important;
  align-items:center!important;
  height:48px!important;
}
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to,
.route-detail-page .slot-final-wrap .route-slot-input,
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time{
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  box-sizing:border-box!important;
}


/* v306 route row pixel alignment: one shared visual control model */
.route-detail-page{
  --route-row-control-height:var(--oms-control-h);
  --route-row-control-radius:12px;
  --route-row-control-border:1px solid #e2d6c8;
  --route-row-control-bg:#f4eee7;
  --route-row-control-color:#2f241f;
  --route-row-control-font-size:14px;
  --route-row-control-font-weight:800;
}
.route-detail-page .slot-final-wrap,
.route-detail-page .route-action-row,
.route-detail-page .route-actions-menu{
  height:var(--route-row-control-height)!important;
  min-height:var(--route-row-control-height)!important;
  max-height:var(--route-row-control-height)!important;
  display:flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
.route-detail-page .slot-final-wrap{
  justify-content:center!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.route-detail-page .route-action-row{
  justify-content:flex-start!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time,
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to,
.route-detail-page .slot-final-wrap .route-slot-input,
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu .route-email-main{
  height:var(--route-row-control-height)!important;
  min-height:var(--route-row-control-height)!important;
  max-height:var(--route-row-control-height)!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  vertical-align:middle!important;
  margin:0!important;
  border-radius:var(--route-row-control-radius)!important;
  border-width:1px!important;
  line-height:1!important;
  font-size:var(--route-row-control-font-size)!important;
  font-weight:var(--route-row-control-font-weight)!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.route-detail-page .slot-final-wrap .route-slot-input,
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu .route-email-main{
  background:var(--route-row-control-bg)!important;
  border:var(--route-row-control-border)!important;
  color:var(--route-row-control-color)!important;
}
.route-detail-page .slot-final-wrap.slot-locked .route-slot-input{
  background:#e5f6e9!important;
  border-color:#93d4a3!important;
  color:#0f7130!important;
}
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu .route-email-main{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  padding:0 10px!important;
  font-family:inherit!important;
  cursor:pointer!important;
}
.route-detail-page .route-email-preview-btn.disabled,
.route-detail-page .route-email-preview-btn:disabled{
  height:var(--route-row-control-height)!important;
  min-height:var(--route-row-control-height)!important;
  max-height:var(--route-row-control-height)!important;
  opacity:.5!important;
  background:#f1eee9!important;
  border-color:#eee6df!important;
  color:#b7aca2!important;
  cursor:not-allowed!important;
}
.route-detail-page .slot-final-wrap .route-slot-input{
  width:140px!important;
  min-width:140px!important;
  max-width:140px!important;
  padding:0 12px!important;
}
.route-detail-page .route-stops-table td{
  vertical-align:middle!important;
}
.route-detail-page .route-stops-table .actions-col{
  width:184px!important;
  min-width:184px!important;
  max-width:184px!important;
  padding-left:8px!important;
  padding-right:6px!important;
}

/* v307 route status pill trigger */
.route-detail-page .route-status-menu{
  position:relative!important;
  display:inline-flex!important;
  align-items:flex-start!important;
  max-width:100%!important;
}
.route-detail-page .route-status-trigger{
  appearance:none!important;
  border:0!important;
  cursor:pointer!important;
  font-family:inherit!important;
  box-sizing:border-box!important;
}
.route-detail-page .route-status-trigger:hover{
  filter:brightness(.96)!important;
}
.route-booking-status-modal{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
.route-booking-status-modal h3,
.route-booking-status-modal p,
.route-booking-status-modal label{
  margin:0!important;
}
.route-booking-status-modal select,
.route-booking-status-modal textarea{
  margin-top:6px!important;
}
.route-booking-status-modal .quick-modal-actions{
  margin-top:0!important;
}

/* v309 route assignment progress pills */
.route-assigned-pill{
  border:0;
  border-radius:999px;
  padding:3px 9px;
  min-height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
  box-sizing:border-box;
}
.route-assigned-pill.pending{
  background:#fff3d8;
  color:#8a5a00;
}
.route-assigned-pill.complete{
  background:#dff5e5;
  color:#146c2e;
}
.route-assigned-pill:hover{
  filter:brightness(.96);
}
.route-assign-modal .warehouse-assign-results{
  max-height:420px;
  overflow:auto;
}

/* v313: Dashboard next-delivery balance warning/success card */
.dashboard-next-balances-card.has-balances{
  background:#fff1f1;
  border-color:#e3a5a5;
}
.dashboard-next-balances-card.no-balances{
  background:#eef9f0;
  border-color:#a8d8b2;
}
.dashboard-next-balances-card .success-text{
  margin:0;
  color:#176b33;
  font-weight:800;
}
.next-delivery-paid-up{
  display:grid;
  gap:12px;
  margin:6px 0 14px;
}
.next-delivery-paid-up-heading{
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#4f7b58;
}
.next-delivery-paid-up-list{
  display:grid;
  gap:10px;
}
.next-delivery-paid-up-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #b8d9c0;
  border-radius:16px;
  background:#f5fcf6;
  color:#1f5b2f;
  text-decoration:none;
}
.next-delivery-paid-up-item:hover{
  background:#edf8ef;
  border-color:#9dcdaa;
}
.next-delivery-paid-up-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#dff1e2;
  color:#206138;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.next-delivery-paid-up-main{
  font-size:18px;
  font-weight:800;
  line-height:1.2;
  color:#1d4f29;
}
.next-delivery-paid-up-route{
  grid-column:2;
  font-size:14px;
  font-weight:600;
  line-height:1.35;
  color:#4f7b58;
}
.next-delivery-balance-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-left:4px solid #b33a3a;
}
.next-delivery-balance-summary{
  display:block;
  flex:1;
  min-width:0;
  text-decoration:none;
  color:inherit;
}
.next-delivery-balance-summary span{
  display:block;
  margin-top:4px;
  color:#6b5d55;
}
@media(max-width:760px){
  .next-delivery-balance-row{align-items:stretch;flex-direction:column;}
}


/* v318: Order goods / stock modal should only use green when exact stock is available
   or fully assigned. Active/focused alone should not imply assignable stock. */
.order-progress-action-modal .segmented-pills button.active,
.order-progress-action-modal .segmented-pills button:hover{
  background:#e9dfd2;
  color:#2b211d;
}
.order-progress-action-modal .segmented-pills button.stock-match-green,
.order-progress-action-modal .segmented-pills button.stock-match-green.active,
.order-progress-action-modal .segmented-pills button.stock-match-green:hover{
  background:#d7ead7;
  color:#166b2f;
}


/* v320: Analytics 4-week orders / money taken line graph */
.analytics-weekly-card{overflow:hidden;}
.weekly-line-chart{margin-top:14px;}
.weekly-chart-legend{display:flex;gap:18px;align-items:center;justify-content:flex-end;margin-bottom:8px;font-weight:800;color:#4a3428;}
.weekly-chart-legend span{display:inline-flex;align-items:center;gap:8px;}
.weekly-chart-legend span::before{content:"";width:22px;height:4px;border-radius:999px;display:inline-block;background:currentColor;}
.weekly-legend-orders{color:#8b5e34;}
.weekly-legend-money{color:#1f6f8b;}
.weekly-chart-scroll{overflow-x:auto;}
.weekly-chart-svg{display:block;width:100%;min-width:680px;height:auto;background:#fffaf3;border:1px solid #eadccc;border-radius:16px;}
.weekly-grid{stroke:#eadfce;stroke-width:1;}
.weekly-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;}
.weekly-line-orders{stroke:#8b5e34;}
.weekly-line-money{stroke:#1f6f8b;}
.weekly-dot{stroke:#fff;stroke-width:2;}
.weekly-dot-orders{fill:#8b5e34;}
.weekly-dot-money{fill:#1f6f8b;}
.weekly-x-label{font-size:13px;fill:#6c5a4e;font-weight:800;}
.weekly-axis-label{font-size:13px;fill:#7a6d65;font-weight:800;}
.weekly-chart-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;}
.weekly-chart-summary div{border:1px solid #eadccc;border-radius:14px;background:#fffaf3;padding:10px 12px;display:grid;gap:3px;}
.weekly-chart-summary span{font-size:12px;color:#76675d;font-weight:800;}
.weekly-chart-summary strong{font-size:15px;color:#2f241d;}
.weekly-chart-summary em{font-style:normal;color:#1f6f8b;font-weight:900;font-variant-numeric:tabular-nums;}
@media(max-width:760px){.weekly-chart-legend{justify-content:flex-start;flex-wrap:wrap}.weekly-chart-summary{grid-template-columns:1fr 1fr}.weekly-chart-svg{min-width:620px}}


/* =========================================================
   v322 DESIGN FOUNDATION — commercial UI consistency pass
   Scope: visual system only. No workflow/business logic changed.

   Retail Hub desktop theme token contract:
   - The --oms-* variables below are the desktop source of truth for future
     company theming.
   - Defaults must preserve the current Baileys UI exactly.
   - Legacy aliases such as --cream, --brown and --soft intentionally remain
     mapped to --oms-* tokens so older selectors keep working while the CSS is
     cleaned up in later passes.
   - Driver, mobile and stock app CSS own separate token systems for now.
   ========================================================= */
:root{
  /* Surfaces and text */
  --oms-bg:#f4f7fb;
  --oms-surface:#ffffff;
  --oms-surface-soft:#f8fafc;
  --oms-surface-warm:#fbf7f2;
  --oms-border:#d7e1ec;
  --oms-border-strong:#b8c7d8;
  --oms-text:#0d1b2a;
  --oms-muted:#607086;
  --oms-muted-2:#7b8797;

  /* Themeable brand colours */
  --oms-primary:#123b63;
  --oms-primary-hover:#0d2f51;
  --oms-primary-soft:#e8f1fb;
  --oms-accent:#1f7a8c;
  --oms-accent-soft:#e5f5f7;
  --oms-brand-brown:#70442f;
  --oms-accent-blue:#1d9bf0;
  --oms-button-text:#ffffff;
  --oms-primary-button-text:#ffffff;
  --oms-secondary-button-text:#123b63;

  /* Semantic status colours; theme separately from brand colours. */
  --oms-success:#167342;
  --oms-success-soft:#e7f6ed;
  --oms-warning:#946200;
  --oms-warning-soft:#fff4d8;
  --oms-danger:#b4232f;
  --oms-danger-soft:#fff0f1;
  --oms-button-secondary-hover-border:#9eb2c6;
  --oms-button-danger-border:#f0b4ba;
  --oms-button-success:#2f7d32;
  --oms-button-success-hover:#276f2a;

  /* Shape, depth, type and spacing */
  --oms-radius-xs:8px;
  --oms-radius-sm:10px;
  --oms-radius-md:14px;
  --oms-radius-lg:18px;
  --oms-radius-xl:24px;
  --oms-shadow-sm:0 1px 2px rgba(13,27,42,.06);
  --oms-shadow-md:0 10px 30px rgba(13,27,42,.08);
  --oms-font-xs:12px;
  --oms-font-sm:13px;
  --oms-font-base:15px;
  --oms-font-md:16px;
  --oms-font-lg:18px;
  --oms-font-xl:23px;
  --oms-font-xxl:30px;
  --oms-space-1:4px;
  --oms-space-2:8px;
  --oms-space-3:12px;
  --oms-space-4:16px;
  --oms-space-5:20px;
  --oms-space-6:24px;
  --oms-space-7:32px;
  --oms-control-h:48px;
  --oms-control-h-sm:36px;
  --oms-control-padding-x:14px;
  --oms-control-pad-x:var(--oms-control-padding-x);
  --oms-control-radius:var(--oms-radius-md);

  /* Compatibility aliases for legacy desktop selectors. */
  --cream:var(--oms-bg);
  --card:var(--oms-surface);
  --line:var(--oms-border);
  --brown:var(--oms-primary);
  --soft:var(--oms-primary-soft);
  --text:var(--oms-text);
  --muted:var(--oms-muted);
  --danger:var(--oms-danger-soft);
  --danger-text:var(--oms-danger);
  --ui-radius-xs:var(--oms-radius-xs);
  --ui-radius-sm:var(--oms-radius-sm);
  --ui-radius-md:var(--oms-radius-md);
  --ui-radius-lg:var(--oms-radius-lg);
  --ui-radius-xl:var(--oms-radius-xl);
  --ui-control-height:var(--oms-control-h);
  --ui-card-padding:var(--oms-space-6);
  --ui-card-gap:var(--oms-space-5);
  --ui-shadow-card:var(--oms-shadow-sm);
}

html{background:var(--oms-bg);} 
body{
  background:linear-gradient(180deg,#f8fbff 0%,var(--oms-bg) 280px)!important;
  color:var(--oms-text)!important;
  font-size:var(--oms-font-base)!important;
  line-height:1.45!important;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:1240px!important;margin:var(--oms-space-5) auto!important;padding:0 var(--oms-space-5)!important;}
.card{
  background:var(--oms-surface)!important;
  border:1px solid var(--oms-border)!important;
  border-radius:var(--oms-radius-xl)!important;
  padding:var(--oms-space-6)!important;
  box-shadow:var(--oms-shadow-sm)!important;
}
.card:hover{box-shadow:0 4px 18px rgba(13,27,42,.045)!important;}

.topbar{
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--oms-border)!important;
  padding:18px 28px!important;
  gap:18px!important;
  align-items:center!important;
  box-shadow:0 1px 0 rgba(13,27,42,.03)!important;
}
.topbar h1{font-size:var(--oms-font-xxl)!important;letter-spacing:-.035em!important;color:var(--oms-text)!important;line-height:1.05!important;}
.topbar p{font-size:var(--oms-font-sm)!important;color:var(--oms-muted)!important;margin-top:6px!important;max-width:680px;}
.logged-operator,.logged-in{
  display:inline-flex!important;align-items:center!important;height:28px!important;padding:0 10px!important;
  border-radius:999px!important;background:var(--oms-primary-soft)!important;color:var(--oms-primary)!important;
  font-size:var(--oms-font-xs)!important;font-weight:850!important;letter-spacing:.01em!important;margin-bottom:8px!important;
}
.top-actions.page-actions{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;
}
.main-section-select{height:var(--oms-control-h)!important;margin:0!important;position:relative!important;display:inline-flex!important;align-items:center!important;}
.main-section-select::before{content:"Menu";position:absolute;left:14px;top:6px;font-size:10px;font-weight:900;color:var(--oms-muted-2);text-transform:uppercase;letter-spacing:.05em;pointer-events:none;z-index:1;}
.main-section-select .section-menu{
  height:var(--oms-control-h)!important;min-width:210px!important;margin:0!important;padding:15px 40px 4px var(--oms-control-padding-x)!important;
  border-radius:var(--oms-control-radius)!important;border:1px solid var(--oms-border-strong)!important;
  background:var(--oms-surface)!important;color:var(--oms-text)!important;font-size:14px!important;font-weight:850!important;
  box-shadow:var(--oms-shadow-sm)!important;line-height:1!important;
}
.main-section-select .section-menu:focus{outline:3px solid rgba(31,122,140,.18)!important;border-color:var(--oms-accent)!important;}

h2{font-size:var(--oms-font-xl)!important;line-height:1.15!important;margin:0 0 var(--oms-space-5)!important;letter-spacing:-.02em!important;color:var(--oms-text)!important;}
h3{font-size:var(--oms-font-lg)!important;line-height:1.2!important;letter-spacing:-.01em!important;color:var(--oms-text)!important;}
label{font-size:var(--oms-font-sm)!important;font-weight:850!important;color:var(--oms-text)!important;}
.muted,.small-note{color:var(--oms-muted)!important;}

input:not([type="checkbox"]),select,textarea{
  min-height:var(--oms-control-h)!important;
  border:1px solid var(--oms-border)!important;
  border-radius:var(--oms-control-radius)!important;
  padding:10px var(--oms-control-padding-x)!important;
  background:var(--oms-surface)!important;
  color:var(--oms-text)!important;
  font-size:14px!important;
  font-weight:700!important;
  box-shadow:inset 0 1px 0 rgba(13,27,42,.02)!important;
}
input:not([type="checkbox"]),select{
  height:var(--oms-control-h)!important;
}
textarea{line-height:1.45!important;}
input:not([type="checkbox"]):focus,select:focus,textarea:focus{
  outline:3px solid rgba(31,122,140,.16)!important;
  border-color:var(--oms-accent)!important;
}
input::placeholder,textarea::placeholder{color:#9aa7b6!important;font-weight:650!important;}

.btn,button.btn,a.btn{
  min-height:var(--oms-control-h)!important;
  height:var(--oms-control-h)!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  border:1px solid transparent!important;
  border-radius:var(--oms-control-radius)!important;
  padding:0 var(--oms-control-padding-x)!important;
  font-size:14px!important;font-weight:850!important;line-height:1!important;text-decoration:none!important;
  box-shadow:var(--oms-shadow-sm)!important;
  transition:transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease!important;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(13,27,42,.10)!important;}
.btn:active{transform:translateY(0);box-shadow:var(--oms-shadow-sm)!important;}
.btn.primary{background:var(--oms-primary)!important;color:var(--oms-primary-button-text)!important;border:1px solid var(--oms-primary)!important;}
.btn.primary:hover{background:var(--oms-primary-hover)!important;}
.btn.secondary{background:var(--oms-surface)!important;color:var(--oms-secondary-button-text)!important;border:1px solid var(--oms-border-strong)!important;}
.btn.secondary:hover{background:var(--oms-primary-soft)!important;color:var(--oms-secondary-button-text)!important;border-color:var(--oms-button-secondary-hover-border)!important;}
.btn.danger{background:var(--oms-danger-soft)!important;color:var(--oms-danger)!important;border:1px solid var(--oms-button-danger-border)!important;}
.btn.success{background:var(--oms-button-success)!important;color:#fff!important;border:1px solid var(--oms-button-success)!important;}
body:not(.route-detail-page) .btn.danger:hover:not(:disabled),
body:not(.route-detail-page) button.btn.danger:hover:not(:disabled),
body:not(.route-detail-page) a.btn.danger:hover{background:var(--oms-danger)!important;border-color:var(--oms-danger)!important;color:#fff!important;}
.btn.success:hover:not(:disabled),
button.btn.success:hover:not(:disabled),
a.btn.success:hover{background:var(--oms-button-success-hover)!important;border-color:var(--oms-button-success-hover)!important;color:#fff!important;}
.btn.small,button.btn.small,a.btn.small{
  min-height:var(--oms-control-h-sm)!important;
  height:var(--oms-control-h-sm)!important;
  padding:0 12px!important;
  border-radius:var(--oms-radius-sm)!important;
  font-size:var(--oms-font-sm)!important;
  gap:6px!important;
}
.btn.tiny,button.btn.tiny,a.btn.tiny{
  min-height:var(--oms-control-h-sm)!important;
  height:var(--oms-control-h-sm)!important;
  padding:0 10px!important;
  border-radius:var(--oms-radius-sm)!important;
  font-size:var(--oms-font-xs)!important;
  gap:6px!important;
}
body:not(.route-detail-page) .small-btn{
  min-height:var(--oms-control-h-sm)!important;
  height:var(--oms-control-h-sm)!important;
  padding:0 12px!important;
  border-radius:var(--oms-radius-sm)!important;
  font-size:var(--oms-font-sm)!important;
}
.btn:disabled,.btn.disabled{opacity:.55!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;}

.grid{gap:var(--oms-space-4) var(--oms-space-5)!important;}
.section-head{gap:var(--oms-space-4)!important;margin-bottom:var(--oms-space-3)!important;}
.section-head h2{margin-bottom:0!important;}
.item-card,.warehouse-item,.revision-block,.order-row,.delivery-row,.clean-delivery-row,.route-stop-card,.customer-card,.order-card{
  border-color:var(--oms-border)!important;
  border-radius:var(--oms-radius-lg)!important;
  background:var(--oms-surface)!important;
  box-shadow:var(--oms-shadow-sm)!important;
}
.item-card{padding:var(--oms-space-5)!important;border-style:solid!important;}

.order-row{padding:14px 16px!important;margin:10px 0!important;gap:12px!important;}
.order-actions,.warehouse-actions,.payment-actions,.footer-actions{gap:8px!important;}

/* Status badge language */
.status-pill,.delivery-status,.route-assigned-pill,.stock-count-pill,.order-progress-pill,.booking-status-pill,.service-status-pill,.badge,.pill{
  min-height:28px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border-radius:999px!important;padding:5px 10px!important;font-size:12px!important;font-weight:900!important;line-height:1!important;
}
.delivery-status.done,.complete,.success,.status-delivered,.status-accepted{background:var(--oms-success-soft)!important;color:var(--oms-success)!important;}
.pending,.warning,.status-pending,.status-awaiting{background:var(--oms-warning-soft)!important;color:var(--oms-warning)!important;}
.danger,.error,.status-declined,.status-overdue{background:var(--oms-danger-soft)!important;color:var(--oms-danger)!important;}

/* Tables */
table{font-size:14px!important;}
th{background:var(--oms-surface-soft)!important;color:var(--oms-text)!important;font-weight:900!important;}
th,td{border-color:var(--oms-border)!important;}
.order-table th,.order-table td,.revision-table th,.revision-table td,.payments-list th,.payments-list td{padding:10px 12px!important;}

/* Sticky totals footer */
.sticky{
  background:rgba(255,255,255,.96)!important;backdrop-filter:saturate(180%) blur(12px)!important;
  border-top:1px solid var(--oms-border)!important;padding:12px 28px!important;gap:22px!important;
  box-shadow:0 -8px 28px rgba(13,27,42,.08)!important;
}
.sticky span{font-size:12px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--oms-muted)!important;}
.sticky strong{font-size:22px!important;color:var(--oms-text)!important;letter-spacing:-.02em!important;}
.footer-actions{flex-wrap:wrap!important;}

/* Modals/popups */
.modal,.modal-card,.order-progress-action-modal,.route-assign-modal,.popup-card{
  border-radius:var(--oms-radius-xl)!important;border:1px solid var(--oms-border)!important;box-shadow:var(--oms-shadow-md)!important;
}

/* Page-specific tidying */
.address-grid{align-items:end!important;}
.address-btn{height:var(--oms-control-h)!important;margin-top:23px!important;}
.product-grid{gap:var(--oms-space-4) var(--oms-space-5)!important;align-items:end!important;}
.pricing-row{border-top:1px solid var(--oms-border)!important;padding-top:var(--oms-space-5)!important;}

/* Structured, order-line-only bespoke configuration. */
.product-grid .bespokeOptionsPanel{grid-column:1/-1!important;border:1px solid var(--oms-border);border-radius:16px;background:#f7fafc;padding:18px;display:grid;gap:16px;align-self:stretch}
.product-grid .bespokeOptionsPanel.hidden{display:none!important}
.bespoke-options-heading{display:grid;gap:4px}
.bespoke-options-heading>span,.bespokeOverrideToggle small{color:var(--muted);font-size:13px;line-height:1.45}
.bespokeSizeOverrideRow{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:16px;align-items:end;border:1px solid var(--oms-border);border-radius:14px;background:#fff;padding:14px}
.bespokeSizeOverrideRow.hidden{display:none!important}
.bespokeSizeToggle{display:flex;align-items:center;gap:12px;min-height:52px;cursor:pointer}
.bespokeSizeToggle input{width:20px;height:20px;flex:0 0 auto}
.bespokeSizeToggle span{display:grid;gap:2px}
.bespokeSizeToggle small{color:var(--muted);font-size:13px;line-height:1.45}
.bespokeSizeInput{display:grid;gap:7px}
.bespokeSizeOverrideRow:not(.is-enabled) .bespokeSizeInput{opacity:.55}
.bespokeOptionOverrides,.bespokeCustomFields{display:grid;gap:10px}
.bespokeOverrideRow{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:16px;align-items:end;border:1px solid var(--oms-border);border-radius:14px;background:#fff;padding:14px}
.bespokeOverrideRow:not(.is-enabled) .bespokeOverrideInput{opacity:.55}
.bespokeOverrideToggle{display:flex;align-items:center;gap:12px;min-height:52px;cursor:pointer}
.bespokeOverrideToggle input{width:20px;height:20px;flex:0 0 auto}
.bespokeOverrideToggle span{display:grid;gap:2px}
.bespokeOverrideInput{display:grid;gap:7px}
.catalogueOptionGroup.bespoke-option-overridden{opacity:.58}
.catalogueOptionGroup.bespoke-option-overridden::after{content:'Replaced by bespoke value for this order';display:block;color:#1e6845;font-size:12px;font-weight:800}
.bespoke-custom-fields-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--oms-border);padding-top:14px}
.bespokeCustomFieldRow{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(260px,1.35fr) auto;gap:12px;align-items:end;border:1px solid var(--oms-border);border-radius:14px;background:#fff;padding:12px}
.bespokeCustomFieldRow .removeBespokeDetail{min-height:46px}
.bespokeOptionsPanel .bespokeDetailsWrap{display:grid;gap:7px;border-top:1px solid var(--oms-border);padding-top:14px}
.bespokeOptionsPanel .bespokeDetailsWrap textarea{min-height:86px}
@media(max-width:820px){
  .bespokeSizeOverrideRow,.bespokeOverrideRow,.bespokeCustomFieldRow{grid-template-columns:1fr}
  .bespoke-custom-fields-heading{align-items:stretch;flex-direction:column}
}
.notes-wide textarea,.big-notes{min-height:132px!important;}

/* Navigation responsiveness */
@media(max-width:1050px){
  .topbar{position:static!important;align-items:flex-start!important;}
  .top-actions.page-actions{width:100%!important;justify-content:flex-start!important;}
  .main-section-select,.main-section-select .section-menu{width:100%!important;min-width:0!important;}
  .wrap{padding:0 var(--oms-space-4)!important;}
  .sticky{position:static!important;align-items:flex-start!important;flex-wrap:wrap!important;}
  .footer-actions{margin-left:0!important;width:100%!important;}
}
@media(max-width:720px){
  body{font-size:14px!important;padding-bottom:0!important;}
  .topbar{padding:16px!important;}
  .topbar h1{font-size:24px!important;}
  .wrap{margin:14px auto!important;padding:0 12px!important;}
  .card{padding:16px!important;border-radius:18px!important;}
  h2{font-size:20px!important;}
  .btn,button.btn,a.btn,input:not([type="checkbox"]),select{min-height:42px!important;}
  .top-actions.page-actions .btn{width:100%!important;}
  .section-head{align-items:flex-start!important;flex-direction:column!important;}
  .section-head > div{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;}
  .section-head .btn{flex:1 1 auto!important;margin-left:0!important;}
  .footer-actions .btn{flex:1 1 160px!important;}
}

/* =========================================================
   v324 APP SHELL FOUNDATION — left navigation redesign
   Scope: visual shell/template only. No business workflow logic changed.
   ========================================================= */
:root{
  --oms-sidebar-w:248px;
  --oms-sidebar-bg:#0d2f51;
  --oms-sidebar-bg-2:#123b63;
  --oms-sidebar-text:#edf6ff;
  --oms-sidebar-muted:#a8bfd8;
  --oms-green:#167342;
  --oms-green-hover:#0f5b34;
  --oms-green-soft:#e7f6ed;
}

@media (min-width:1051px){
  body:not(.login-body):has(.oms-sidebar){
    padding-left:var(--oms-sidebar-w)!important;
    background:linear-gradient(180deg,#f4f7fb 0%,#eef4f8 100%)!important;
  }

  .oms-sidebar{
    position:fixed!important;
    left:0!important;top:0!important;bottom:0!important;
    width:var(--oms-sidebar-w)!important;
    z-index:9990!important;
    display:flex!important;
    flex-direction:column!important;
    padding:18px 14px!important;
    background:linear-gradient(180deg,var(--oms-sidebar-bg) 0%,#09243e 100%)!important;
    color:var(--oms-sidebar-text)!important;
    box-shadow:10px 0 28px rgba(13,27,42,.14)!important;
    box-sizing:border-box!important;
  }
  .oms-sidebar-brand{
    display:flex!important;align-items:center!important;gap:12px!important;
    padding:8px 8px 18px!important;margin-bottom:8px!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }
  .oms-sidebar-logo{
    width:42px!important;height:42px!important;border-radius:16px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    background:rgba(255,255,255,.13)!important;color:var(--oms-sidebar-text)!important;
    font-size:21px!important;font-weight:950!important;letter-spacing:-.03em!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
  }
  .oms-sidebar-title{font-size:15px!important;font-weight:950!important;line-height:1.1!important;color:var(--oms-sidebar-text)!important;letter-spacing:-.01em!important;}
  .oms-sidebar-subtitle{font-size:10px!important;font-weight:900!important;line-height:1.2!important;color:var(--oms-sidebar-muted)!important;letter-spacing:.11em!important;margin-top:3px!important;}
  .oms-sidebar-nav{display:flex!important;flex-direction:column!important;gap:6px!important;margin-top:8px!important;overflow:auto!important;padding-right:2px!important;}
  .oms-sidebar-footer{margin-top:auto!important;padding-top:12px!important;border-top:1px solid rgba(255,255,255,.12)!important;}
  .oms-sidebar-link{
    min-height:42px!important;
    display:flex!important;align-items:center!important;
    padding:0 12px!important;border-radius:14px!important;
    color:var(--oms-sidebar-muted)!important;text-decoration:none!important;
    font-size:14px!important;font-weight:850!important;
    transition:background .14s ease,color .14s ease,transform .14s ease!important;
  }
  .oms-sidebar-link:hover{
    background:rgba(255,255,255,.10)!important;color:var(--oms-sidebar-text)!important;transform:translateX(2px)!important;
  }
  .oms-sidebar-link.active{
    background:var(--oms-sidebar-text)!important;color:var(--oms-sidebar-bg)!important;box-shadow:0 8px 18px rgba(0,0,0,.14)!important;
  }
  .oms-sidebar-logout{color:#ffdfe2!important;}
  .oms-sidebar-logout:hover{background:rgba(255,255,255,.10)!important;color:var(--oms-sidebar-text)!important;}

  body:not(.login-body):has(.oms-sidebar) .topbar{
    position:sticky!important;
    top:0!important;
    z-index:30!important;
    margin:0!important;
    background:rgba(255,255,255,.92)!important;
    border-bottom:1px solid var(--oms-border)!important;
    box-shadow:0 4px 18px rgba(13,27,42,.05)!important;
    padding:18px 28px!important;
  }
  body:not(.login-body):has(.oms-sidebar) .topbar > div:first-child{
    min-width:260px!important;
  }
  body:not(.login-body):has(.oms-sidebar) .topbar h1{
    color:var(--oms-text)!important;
  }
  body:not(.login-body):has(.oms-sidebar) .main-section-select{
    display:none!important;
  }
  body:not(.login-body):has(.oms-sidebar) .top-actions.page-actions{
    gap:10px!important;
  }
  body:not(.login-body):has(.oms-sidebar) .top-actions.page-actions .logout-btn{
    display:none!important;
  }
  body:not(.login-body):has(.oms-sidebar) .wrap{
    max-width:1320px!important;
    margin:var(--oms-space-5) auto!important;
    padding:0 30px!important;
  }
  body:not(.login-body):has(.oms-sidebar) .sticky{
    left:var(--oms-sidebar-w)!important;
  }
}

@media (max-width:1050px){
  .oms-sidebar{display:none!important;}
}

/* v325: Branding/sidebar polish. Design-only. */
.oms-sidebar-logo{overflow:hidden!important;padding:0!important;background:rgba(255,255,255,.14)!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.oms-sidebar-logo img{width:74%!important;height:74%!important;object-fit:contain!important;display:block!important;}
.oms-sidebar-title{font-size:var(--oms-sidebar-title-size,16px)!important;font-weight:950!important;line-height:1.08!important;color:var(--oms-sidebar-text)!important;letter-spacing:-.02em!important;}
.oms-sidebar-subtitle{font-size:var(--oms-sidebar-subtitle-size,8.5px)!important;font-weight:950!important;line-height:1.25!important;color:var(--oms-sidebar-muted)!important;letter-spacing:.12em!important;margin-top:5px!important;text-transform:uppercase!important;white-space:nowrap!important;}
/* v326: Branding font sizes and drag/drop menu settings. Design-only. */
.branding-size-row{display:grid;grid-template-columns:1fr 100px;gap:12px;align-items:end;margin-top:10px;}
.branding-size-row input[type=range]{width:100%;}
.menu-order-list{display:flex;flex-direction:column;gap:8px;max-width:520px;margin:12px 0;}
.menu-order-item{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--oms-border);border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(13,27,42,.04);cursor:grab;font-weight:850;color:var(--oms-text);}
.menu-order-item:active{cursor:grabbing;}
.menu-order-item.dragging{opacity:.55;transform:scale(.99);}
.menu-order-handle{color:var(--oms-muted);font-size:17px;line-height:1;}
.menu-order-key{margin-left:auto;color:var(--oms-muted);font-size:12px;font-weight:800;}
.menu-order-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}

/* v327: Global pill/toggle polish. Design-only.
   - Selected single-toggle pills invert to the navy theme instead of showing outline rings.
   - Legacy warm/brown toggle backgrounds are normalised to the current blue theme.
   - Keeps business/workflow logic untouched. */
:root{
  --oms-pill-h:var(--oms-control-h);
  --oms-pill-bg:var(--oms-surface);
  --oms-pill-fg:var(--oms-primary);
  --oms-pill-border:var(--oms-border-strong);
  --oms-pill-selected-bg:var(--oms-primary);
  --oms-pill-selected-fg:var(--oms-primary-button-text);
  --oms-pill-hover-bg:var(--oms-primary-soft);
  --oms-pill-hover-border:#9eb2c6;
}

.single-toggle-pill,
.compact-single-toggle,
.analytics-bedding-toggle,
.orders-filter-toggle,
.map-filter-toggle,
.filters-toggle,
.filter-toggle,
.toggle-pill,
.choice-pill{
  min-height:var(--oms-pill-h)!important;
  height:var(--oms-pill-h)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 16px!important;
  border:1px solid var(--oms-pill-border)!important;
  border-radius:var(--oms-radius-md)!important;
  background:var(--oms-pill-bg)!important;
  color:var(--oms-pill-fg)!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1!important;
  box-shadow:var(--oms-shadow-sm)!important;
  outline:0!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .12s ease!important;
}

.single-toggle-pill:hover,
.compact-single-toggle:hover,
.analytics-bedding-toggle:hover,
.orders-filter-toggle:hover,
.map-filter-toggle:hover,
.filters-toggle:hover,
.filter-toggle:hover,
.toggle-pill:hover,
.choice-pill:hover{
  background:var(--oms-pill-hover-bg)!important;
  border-color:var(--oms-pill-hover-border)!important;
  color:var(--oms-primary)!important;
  box-shadow:0 6px 16px rgba(13,27,42,.10)!important;
  transform:translateY(-1px)!important;
  outline:0!important;
}

.single-toggle-pill.active,
.compact-single-toggle.active,
.analytics-bedding-toggle.active,
.toggle-pill.active,
.choice-pill.active,
.single-toggle-pill.is-active,
.toggle-pill.is-active,
.choice-pill.is-active,
button[aria-pressed="true"].single-toggle-pill,
button[aria-pressed="true"].toggle-pill,
button[aria-pressed="true"].choice-pill{
  background:var(--oms-pill-selected-bg)!important;
  border-color:var(--oms-pill-selected-bg)!important;
  color:var(--oms-pill-selected-fg)!important;
  box-shadow:var(--oms-shadow-sm)!important;
  outline:0!important;
}

.single-toggle-pill.active:hover,
.compact-single-toggle.active:hover,
.analytics-bedding-toggle.active:hover,
.toggle-pill.active:hover,
.choice-pill.active:hover,
.single-toggle-pill.is-active:hover,
.toggle-pill.is-active:hover,
.choice-pill.is-active:hover,
button[aria-pressed="true"].single-toggle-pill:hover,
button[aria-pressed="true"].toggle-pill:hover,
button[aria-pressed="true"].choice-pill:hover{
  background:var(--oms-primary-hover)!important;
  border-color:var(--oms-primary-hover)!important;
  color:var(--oms-primary-button-text)!important;
  box-shadow:0 6px 16px rgba(13,27,42,.10)!important;
  outline:0!important;
}

.single-toggle-pill input[type="checkbox"],
.compact-single-toggle input[type="checkbox"],
.analytics-bedding-toggle input[type="checkbox"]{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  height:1px!important;
}

.single-toggle-pill span,
.compact-single-toggle span,
.analytics-bedding-toggle span{
  color:inherit!important;
  line-height:1!important;
}

/* Normalise old warm/brown toggle/button remnants to the navy theme. */
.service-filter-row .single-toggle-pill,
.service-filter-row .compact-single-toggle,
.service-filter-row button,
.service-filter-row .btn,
.filter-panel .single-toggle-pill,
.filter-panel .compact-single-toggle,
.filters-panel .single-toggle-pill,
.filters-panel .compact-single-toggle{
  background:var(--oms-pill-bg)!important;
  border-color:var(--oms-pill-border)!important;
  color:var(--oms-primary)!important;
  outline:0!important;
}
.service-filter-row .single-toggle-pill.active,
.service-filter-row .compact-single-toggle.active,
.service-filter-row button.active,
.service-filter-row .btn.active,
.filter-panel .single-toggle-pill.active,
.filter-panel .compact-single-toggle.active,
.filters-panel .single-toggle-pill.active,
.filters-panel .compact-single-toggle.active{
  background:var(--oms-primary)!important;
  border-color:var(--oms-primary)!important;
  color:var(--oms-primary-button-text)!important;
  outline:0!important;
}

/* v328: theme-matched sidebar text polish. Design-only. */
.settings-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.oms-sidebar-logout{color:var(--oms-sidebar-muted)!important;}
.oms-sidebar-logout:hover{background:rgba(255,255,255,.10)!important;color:var(--oms-sidebar-text)!important;}
@media(max-width:900px){.settings-grid.three{grid-template-columns:1fr;}}

/* v330: header shortcut and readability polish. Design-only. */
.warehouse-header-shortcut{white-space:nowrap!important;}

.topbar .top-actions.page-actions .btn.primary,
.topbar .top-actions.page-actions a.btn.primary,
.topbar .top-actions.page-actions button.btn.primary{
  background:var(--oms-primary)!important;
  border-color:var(--oms-primary)!important;
  color:var(--oms-primary-button-text)!important;
}
.topbar .top-actions.page-actions .btn.primary:hover,
.topbar .top-actions.page-actions a.btn.primary:hover,
.topbar .top-actions.page-actions button.btn.primary:hover{
  background:var(--oms-primary-hover)!important;
  border-color:var(--oms-primary-hover)!important;
  color:var(--oms-primary-button-text)!important;
}

/* v338: sidebar logo hover lift animation. Visual only. */
.oms-sidebar-logo{
  cursor:pointer!important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease!important;
  will-change:transform, box-shadow!important;
}
.oms-sidebar-logo:hover,
.oms-sidebar-logo:focus-visible{
  transform:translateY(-3px)!important;
  background:rgba(255,255,255,.20)!important;
  box-shadow:0 14px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.18)!important;
  outline:none!important;
}
.oms-sidebar-logo:active{
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.16)!important;
}


/* v340 route page containment and delivery slot merge
   Safe visual/layout pass: removes the duplicate visible delivery-slot column,
   keeps the hidden final slot input so existing save/email/lock logic still works. */
.route-detail-page main.wrap{
  max-width:none!important;
  width:calc(100vw - var(--oms-sidebar-width, 250px) - 48px)!important;
  margin-left:calc(var(--oms-sidebar-width, 250px) + 24px)!important;
  margin-right:24px!important;
  box-sizing:border-box!important;
}
.route-detail-page .wrap > .card:first-child{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.route-detail-page .wrap > .card:first-child .form-grid.five{
  display:grid!important;
  grid-template-columns:repeat(5, minmax(138px, 1fr))!important;
  gap:12px!important;
  align-items:end!important;
}
.route-detail-page .wrap > .card:first-child input,
.route-detail-page .wrap > .card:first-child select{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.route-detail-page .route-table-wrap{
  width:100%!important;
  overflow-x:auto!important;
}
.route-detail-page .route-stops-table{
  min-width:1010px!important;
  table-layout:fixed!important;
}
.route-detail-page .route-stops-table .drag-col{width:22px!important;min-width:22px!important;max-width:22px!important;}
.route-detail-page .route-stops-table .stop-col{width:36px!important;min-width:36px!important;max-width:36px!important;}
.route-detail-page .route-stops-table .order-col{width:80px!important;min-width:80px!important;max-width:80px!important;}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{width:118px!important;min-width:118px!important;max-width:118px!important;}
.route-detail-page .route-stops-table .balance-col{width:70px!important;min-width:70px!important;max-width:70px!important;text-align:center!important;}
.route-detail-page .route-stops-table .van-col{width:56px!important;min-width:56px!important;max-width:56px!important;}
.route-detail-page .route-stops-table .drop-col{width:58px!important;min-width:58px!important;max-width:58px!important;}
.route-detail-page .route-stops-table .travel-col{width:70px!important;min-width:70px!important;max-width:70px!important;}
.route-detail-page .route-stops-table .time-col{width:84px!important;min-width:84px!important;max-width:84px!important;}
.route-detail-page .route-stops-table .custom-slot-col{width:136px!important;min-width:136px!important;max-width:136px!important;text-align:center!important;}
.route-detail-page .route-stops-table .slot-col{display:none!important;}
.route-detail-page .route-stops-table .actions-col{width:168px!important;min-width:168px!important;max-width:168px!important;text-align:left!important;}
.route-detail-page .route-stops-table th,
.route-detail-page .route-stops-table td{padding:9px 6px!important;}
.route-detail-page .custom-slot-col .slot-custom-inline{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:100%!important;
}
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to{
  width:55px!important;
  min-width:55px!important;
  max-width:55px!important;
  padding:6px 4px!important;
  text-align:center!important;
  font-size:13px!important;
  box-sizing:border-box!important;
}
.route-detail-page .slot-final-hidden{display:none!important;}
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time{width:76px!important;min-width:76px!important;max-width:76px!important;}
.route-detail-page .route-stops-table .route-travel{width:58px!important;min-width:58px!important;max-width:58px!important;}
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop{width:44px!important;min-width:44px!important;max-width:44px!important;}
@media(max-width:1200px){
  .route-detail-page .wrap > .card:first-child .form-grid.five{grid-template-columns:repeat(3, minmax(150px, 1fr))!important;}
}

/* v341 route table comfort pass: a little wider, centred numeric controls, clickable balance pill. */
.route-detail-page main.wrap{
  width:calc(100vw - var(--oms-sidebar-width, 250px) - 24px)!important;
  margin-left:calc(var(--oms-sidebar-width, 250px) + 12px)!important;
  margin-right:12px!important;
}
.route-detail-page .route-stops-table{
  min-width:1120px!important;
}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{
  width:138px!important;
  min-width:138px!important;
  max-width:138px!important;
}
.route-detail-page .route-stops-table .balance-col{width:96px!important;min-width:96px!important;max-width:96px!important;}
.route-detail-page .route-stops-table .van-col{width:62px!important;min-width:62px!important;max-width:62px!important;}
.route-detail-page .route-stops-table .drop-col{width:64px!important;min-width:64px!important;max-width:64px!important;}
.route-detail-page .route-stops-table .travel-col{width:78px!important;min-width:78px!important;max-width:78px!important;}
.route-detail-page .route-stops-table .time-col{width:86px!important;min-width:86px!important;max-width:86px!important;}
.route-detail-page .route-stops-table .custom-slot-col{width:152px!important;min-width:152px!important;max-width:152px!important;}
.route-detail-page .route-stops-table .actions-col{width:170px!important;min-width:170px!important;max-width:170px!important;}
.route-detail-page .route-stops-table th,
.route-detail-page .route-stops-table td{
  text-align:center!important;
  vertical-align:middle!important;
}
.route-detail-page .route-stops-table .order-col,
.route-detail-page .route-stops-table .customer-col,
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .actions-col{
  text-align:left!important;
}
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop,
.route-detail-page .route-stops-table .route-travel,
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-number,
.route-detail-page .route-stops-table .compact-time{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.route-detail-page .route-stops-table input[type="number"],
.route-detail-page .route-stops-table input[type="text"],
.route-detail-page .route-stops-table input[type="time"]{
  text-align:center!important;
}
.route-detail-page .route-balance-pill.route-balance-payment{
  border:1px solid var(--warning-line, #f2c879)!important;
  cursor:pointer!important;
  font:inherit!important;
  font-weight:800!important;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease!important;
}
.route-detail-page .route-balance-pill.route-balance-payment:hover,
.route-detail-page .route-balance-pill.route-balance-payment:focus-visible{
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(15, 43, 71, .14)!important;
  outline:none!important;
}

/* v359: sidebar navigation icons */
.oms-sidebar-link{
  gap:12px!important;
}
.oms-sidebar-icon{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:currentColor!important;
  opacity:.98!important;
}
.oms-sidebar-icon svg{
  width:21px!important;
  height:21px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.oms-sidebar-label{
  min-width:0!important;
}
.oms-sidebar-link.active .oms-sidebar-icon{
  opacity:1!important;
}

/* v360: polished consistent sidebar icons */
.oms-sidebar-icon svg{
  width:22px!important;
  height:22px!important;
  stroke-width:2.15!important;
}
.oms-sidebar-link.active .oms-sidebar-icon,
.oms-sidebar-link:hover .oms-sidebar-icon{
  color:currentColor!important;
}
.oms-sidebar-link.active{
  color:var(--oms-sidebar-bg)!important;
}
/* v379 route table order/status spacing: give booking status room without squeezing route controls */
.route-detail-page .route-stops-table .order-col{
  width:118px!important;
  min-width:118px!important;
}
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{
  width:101px!important;
  min-width:101px!important;
}
.route-detail-page .route-stops-table .route-status-menu,
.route-detail-page .route-stops-table .route-booking-status{
  max-width:108px!important;
}
.route-detail-page .route-stops-table .route-booking-status{
  white-space:nowrap!important;
}
.route-detail-page .route-stops-table .customer-col strong,
.route-detail-page .route-stops-table .customer-route-col strong{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* v416 route table visual cleanup pass 1: route-only control alignment, no logic changes. */
.route-detail-page{
  --route-row-control-height:var(--oms-control-h);
}
.route-detail-page .route-stops-table th,
.route-detail-page .route-stops-table td{
  vertical-align:middle!important;
}
.route-detail-page .route-stops-table .drag-col,
.route-detail-page .route-stops-table .stop-col,
.route-detail-page .route-stops-table .balance-col,
.route-detail-page .route-stops-table .van-col,
.route-detail-page .route-stops-table .drop-col,
.route-detail-page .route-stops-table .travel-col,
.route-detail-page .route-stops-table .time-col,
.route-detail-page .route-stops-table .custom-slot-col,
.route-detail-page .route-stops-table .actions-col{
  text-align:center!important;
}
.route-detail-page .route-stops-table .order-col,
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{
  text-align:left!important;
}
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop,
.route-detail-page .route-stops-table .route-travel,
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time,
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to,
.route-detail-page .slot-final-wrap .route-slot-input,
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu,
.route-detail-page .route-actions-menu .route-email-main,
.route-detail-page .route-action-row{
  height:var(--route-row-control-height)!important;
  min-height:var(--route-row-control-height)!important;
  max-height:var(--route-row-control-height)!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
}
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop,
.route-detail-page .route-stops-table .route-travel,
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time,
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to,
.route-detail-page .slot-final-wrap .route-slot-input,
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu .route-email-main{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.route-detail-page .route-action-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0 auto!important;
  line-height:1!important;
}
.route-detail-page .route-actions-menu{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
}
.route-detail-page .custom-slot-col .slot-custom-inline,
.route-detail-page .slot-final-wrap{
  min-height:var(--route-row-control-height)!important;
  align-items:center!important;
  justify-content:center!important;
}

/* v380 Settings redesign: modern card/tab layout only. No settings logic changes. */
.settings-wrap{
  max-width:1240px!important;
  padding-top:18px!important;
}
.settings-wrap .settings-card{
  max-width:none!important;
  border:1px solid #dbe5f1!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 18px 45px rgba(8,31,68,.10)!important;
  padding:24px!important;
}
.settings-card>h2{
  margin:0 0 18px!important;
  font-size:20px!important;
  color:#0b1f3f!important;
}
.settings-card>p.muted{
  display:none!important;
}
.settings-tabs{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px 14px!important;
  margin:0!important;
}
.settings-tab.btn,
.settings-tab.btn.secondary{
  min-height:48px!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:0 18px!important;
  border-radius:10px!important;
  background:#fff!important;
  border:1px solid #dbe5f1!important;
  color:#0b1f3f!important;
  box-shadow:none!important;
  font-weight:750!important;
  text-align:left!important;
}
.settings-tab::before{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  font-size:17px;
  line-height:1;
  color:#0b4fd7;
}
.settings-tab[data-tab="emails"]::before{content:"✉";}
.settings-tab[data-tab="emailConfig"]::before{content:"⚙";}
.settings-tab[data-tab="apiKeys"]::before{content:"⚿";}
.settings-tab[data-tab="aiText"]::before{content:"✦";}
.settings-tab[data-tab="manufacturers"]::before{content:"▣";}
.settings-tab[data-tab="users"]::before{content:"♙";}
.settings-tab[data-tab="terms"]::before{content:"▤";}
.settings-tab[data-tab="theme"]::before{content:"◐";}
.settings-tab[data-tab="branding"]::before{content:"◉";}
.settings-tab[data-tab="appIcon"]::before{content:"▯";}
.settings-tab[data-tab="backup"]::before{content:"☁";}
.settings-tab[data-tab="tools"]::before{content:"⚒";}
.settings-tab.active,
.settings-tab.active:hover{
  background:linear-gradient(180deg,#fff 0%,#f4f8ff 100%)!important;
  border-color:#0b63f6!important;
  color:#0646b8!important;
  box-shadow:0 10px 24px rgba(11,99,246,.10)!important;
}
.settings-status{
  min-height:24px!important;
  margin:14px 0 0!important;
}
.settings-panel{
  display:none!important;
  margin-top:16px!important;
  padding:22px!important;
  border:1px solid #dbe5f1!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 16px 38px rgba(8,31,68,.08)!important;
}
.settings-panel.active{
  display:block!important;
}
.settings-panel>h3{
  margin-top:0!important;
  color:#0b1f3f!important;
  letter-spacing:-.01em!important;
}
.settings-panel>p.muted{
  max-width:720px!important;
  color:#53657d!important;
}
.settings-panel[data-panel="emails"].active{
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.settings-panel[data-panel="emails"]>h3,
.settings-panel[data-panel="emails"]>p.muted{
  grid-column:1!important;
  padding-left:24px!important;
  padding-right:18px!important;
}
.settings-panel[data-panel="emails"]>h3{
  padding-top:22px!important;
  margin-bottom:6px!important;
}
.settings-panel[data-panel="emails"]>p.muted{
  margin-top:0!important;
  padding-bottom:16px!important;
}
.settings-panel[data-panel="emails"] #templateButtons{
  grid-column:1!important;
  display:grid!important;
  gap:0!important;
  margin:0!important;
  padding:0 18px 22px 24px!important;
  align-content:start!important;
  border-right:1px solid #e1e9f3!important;
}
.settings-panel[data-panel="emails"] #templateEditor{
  grid-column:2!important;
  grid-row:1 / span 4!important;
  padding:22px 24px!important;
  min-width:0!important;
}
.settings-panel[data-panel="emails"] .template-open-btn,
.settings-panel[data-panel="emails"] .template-open-btn.btn.secondary{
  width:100%!important;
  min-width:0!important;
  justify-content:flex-start!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid #e1e9f3!important;
  background:#fff!important;
  color:#0b1f3f!important;
  padding:13px 10px!important;
  min-height:44px!important;
  box-shadow:none!important;
  font-weight:700!important;
  text-align:left!important;
}
.settings-panel[data-panel="emails"] .template-open-btn::before{
  content:"✉";
  margin-right:10px;
  color:#537099;
  font-size:15px;
}
.settings-panel[data-panel="emails"] .template-open-btn.active{
  background:linear-gradient(90deg,#eef5ff 0%,#fff 100%)!important;
  color:#0646b8!important;
  border-left:3px solid #0b63f6!important;
  padding-left:7px!important;
}
.settings-editor-box h4,
#templateTitle{
  margin:0 0 8px!important;
  font-size:18px!important;
  color:#0b1f3f!important;
}
.settings-editor-box>p.muted{
  margin-top:0!important;
  color:#53657d!important;
}
.settings-rich-toolbar{
  margin:14px 0 0!important;
  padding:8px 10px!important;
  border:1px solid #dbe5f1!important;
  border-bottom:0!important;
  border-radius:12px 12px 0 0!important;
  background:#f8fbff!important;
  gap:4px!important;
}
.settings-rich-toolbar .btn.small,
.settings-rich-toolbar .btn.secondary.small{
  min-height:32px!important;
  padding:6px 10px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0b1f3f!important;
}
.settings-template-box{
  border-color:#dbe5f1!important;
  border-radius:0 0 12px 12px!important;
  min-height:320px!important;
  background:#fff!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  line-height:1.6!important;
  box-shadow:inset 0 1px 0 rgba(8,31,68,.02)!important;
}
.settings-save-btn{
  margin-top:14px!important;
  float:right;
}
.settings-grid label,
.settings-repeat-row label,
.settings-user-card label{
  color:#0b1f3f!important;
  font-weight:700!important;
}
.settings-repeat-row,
.settings-user-card,
.settings-summary-box{
  background:#f8fbff!important;
  border-color:#dbe5f1!important;
  border-radius:14px!important;
}
.theme-token-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:12px!important;
  margin-top:14px!important;
}
.theme-token-grid-small{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
}
.theme-editor-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:12px!important;
  margin:14px 0!important;
}
.theme-colour-field{
  display:grid!important;
  gap:10px!important;
  padding:12px!important;
  border:1px solid var(--oms-border)!important;
  border-radius:var(--oms-radius-md)!important;
  background:var(--oms-surface)!important;
}
.theme-colour-field strong,
.theme-colour-field small{
  display:block!important;
}
.theme-colour-field small{
  margin-top:2px!important;
  color:var(--oms-muted)!important;
  font-size:12px!important;
  font-weight:800!important;
}
.theme-colour-controls{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
}
.theme-colour-picker{
  width:54px!important;
  height:42px!important;
  padding:2px!important;
  border:1px solid var(--oms-border-strong)!important;
  border-radius:12px!important;
  background:var(--oms-surface)!important;
}
.theme-token-card{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:86px!important;
  padding:12px!important;
  border:1px solid var(--oms-border)!important;
  border-radius:var(--oms-radius-md)!important;
  background:var(--oms-surface)!important;
  box-shadow:var(--oms-shadow-sm)!important;
}
.theme-token-swatch,
.theme-token-radius{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  border:1px solid var(--oms-border-strong)!important;
  border-radius:14px!important;
}
.theme-token-swatch{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)!important;
}
.theme-token-radius{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--oms-primary-soft)!important;
  border-style:dashed!important;
  color:var(--oms-primary)!important;
  font-size:11px!important;
  font-weight:900!important;
}
.theme-token-copy strong,
.theme-token-copy span,
.theme-token-copy code,
.theme-token-copy em{
  display:block!important;
}
.theme-token-copy strong{
  color:var(--oms-text)!important;
  font-weight:900!important;
}
.theme-token-copy span,
.theme-token-copy code,
.theme-token-copy em{
  margin-top:2px!important;
  color:var(--oms-muted)!important;
  font-size:12px!important;
  font-style:normal!important;
}
.theme-token-copy code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
}
.settings-access-list label{
  background:#eef5ff!important;
  color:#0b4f9f!important;
}
.settings-divider{
  border-top-color:#e1e9f3!important;
  margin:22px 0!important;
}
@media(max-width:1180px){
  .settings-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .settings-panel[data-panel="emails"].active{grid-template-columns:260px minmax(0,1fr)!important;}
}
@media(max-width:820px){
  .settings-wrap{padding-left:14px!important;padding-right:14px!important;}
  .settings-wrap .settings-card{padding:16px!important;border-radius:18px!important;}
  .settings-tabs{grid-template-columns:1fr!important;}
  .settings-panel{padding:18px!important;}
  .settings-panel[data-panel="emails"].active{display:block!important;padding:18px!important;}
  .settings-panel[data-panel="emails"]>h3,
  .settings-panel[data-panel="emails"]>p.muted{padding:0!important;}
  .settings-panel[data-panel="emails"] #templateButtons{padding:0!important;border-right:0!important;margin-bottom:16px!important;}
  .settings-panel[data-panel="emails"] #templateEditor{padding:0!important;}
  .settings-save-btn{float:none;width:100%;}
}

/* v381 Settings button alignment polish. Design-only; no settings logic changes. */
.settings-panel{
  overflow:hidden!important;
}
.settings-panel .btn,
.settings-panel a.btn,
.settings-panel button.btn{
  min-height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  line-height:1.15!important;
}
.settings-panel>.btn,
.settings-panel>a.btn,
.settings-panel>button.btn{
  margin-top:18px!important;
}
.settings-panel>.settings-save-btn,
.settings-save-btn{
  float:none!important;
  clear:both!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:170px!important;
  padding-left:22px!important;
  padding-right:22px!important;
  margin-top:18px!important;
  margin-left:auto!important;
  margin-right:0!important;
}
.settings-panel>button.btn.secondary+button.settings-save-btn{
  margin-left:12px!important;
}
.settings-panel[data-panel="manufacturers"]>button.btn.secondary,
.settings-panel[data-panel="users"]>button.btn.secondary{
  min-width:170px!important;
  margin-right:12px!important;
}
.settings-panel[data-panel="manufacturers"]>.settings-save-btn,
.settings-panel[data-panel="users"]>.settings-save-btn{
  display:inline-flex!important;
  vertical-align:top!important;
  margin-left:0!important;
}
.settings-action-grid,
.settings-action-grid.small-grid{
  align-items:center!important;
  gap:12px!important;
}
.settings-action-grid .btn,
.settings-action-grid.small-grid .btn{
  margin:0!important;
}
.settings-rich-toolbar .btn.small,
.settings-rich-toolbar .btn.secondary.small{
  min-height:32px!important;
  height:32px!important;
  margin:0!important;
}
.settings-panel input[type="file"]{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:10px 12px!important;
  border:1px solid #dbe5f1!important;
  border-radius:12px!important;
  background:#fff!important;
  margin:12px 0 0!important;
}
.settings-panel[data-panel="terms"]>button.settings-save-btn{
  margin-left:0!important;
}
.settings-panel[data-panel="backup"]>a.btn{
  min-width:220px!important;
}
@media(max-width:820px){
  .settings-panel>.settings-save-btn,
  .settings-save-btn,
  .settings-panel[data-panel="manufacturers"]>.settings-save-btn,
  .settings-panel[data-panel="users"]>.settings-save-btn,
  .settings-panel[data-panel="manufacturers"]>button.btn.secondary,
  .settings-panel[data-panel="users"]>button.btn.secondary,
  .settings-panel>.btn,
  .settings-panel>a.btn,
  .settings-panel>button.btn{
    width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .settings-panel>button.btn.secondary+button.settings-save-btn{
    margin-left:0!important;
  }
}

/* v382 Desktop theme coverage fix.
   Colour-only coverage for the desktop shell. No spacing, layout, workflow,
   semantic status, driver/mobile/stock, PDF or email behaviour changed. */
:root{
  --oms-primary-soft:#e8f1fb;
  --oms-sidebar-bg-2:#09243e;
  --oms-sidebar-muted:#a8bfd8;
  --oms-page-bg-top:#f8fbff;
  --oms-shell-bg-top:#f4f7fb;
  --oms-shell-bg-bottom:#eef4f8;
  --oms-shell-border:#d7e1ec;
}

html{
  background:var(--oms-bg)!important;
}
body{
  background:linear-gradient(180deg,var(--oms-page-bg-top) 0%,var(--oms-bg) 280px)!important;
}
body:not(.login-body):has(.oms-sidebar){
  background:linear-gradient(180deg,var(--oms-shell-bg-top) 0%,var(--oms-shell-bg-bottom) 100%)!important;
}

.oms-sidebar{
  background:linear-gradient(180deg,var(--oms-sidebar-bg) 0%,var(--oms-sidebar-bg-2) 100%)!important;
  color:var(--oms-sidebar-text)!important;
}
.oms-sidebar-brand,
.oms-sidebar-footer{
  border-color:color-mix(in srgb,var(--oms-sidebar-text) 18%,transparent)!important;
}
.oms-sidebar-logo{
  color:var(--oms-sidebar-text)!important;
}
.oms-sidebar-title{
  color:var(--oms-sidebar-text)!important;
}
.oms-sidebar-subtitle,
.oms-sidebar-link,
.oms-sidebar-logout{
  color:var(--oms-sidebar-text)!important;
}
.oms-sidebar-link{
  background:transparent!important;
}
.oms-sidebar-link:hover{
  background:color-mix(in srgb,var(--oms-sidebar-text) 14%,transparent)!important;
  color:var(--oms-sidebar-text)!important;
}
.oms-sidebar-link.active{
  background:var(--oms-sidebar-text)!important;
  color:var(--oms-sidebar-bg)!important;
}
.oms-sidebar-link.active .oms-sidebar-icon,
.oms-sidebar-link:hover .oms-sidebar-icon{
  color:currentColor!important;
}
.oms-sidebar-logout:hover{
  background:color-mix(in srgb,var(--oms-sidebar-text) 14%,transparent)!important;
  color:var(--oms-sidebar-text)!important;
}

.topbar,
body:not(.login-body):has(.oms-sidebar) .topbar{
  background:rgba(255,255,255,.94)!important;
  border-bottom-color:var(--oms-shell-border)!important;
}
body:not(.login-body):has(.oms-sidebar) .topbar{
  background:rgba(255,255,255,.92)!important;
}
.topbar h1,
body:not(.login-body):has(.oms-sidebar) .topbar h1{
  color:var(--oms-text)!important;
}
.topbar p{
  color:var(--oms-muted)!important;
}
.logged-operator,
.logged-in{
  background:var(--oms-primary-soft)!important;
  color:var(--oms-primary)!important;
}

.card,
.settings-wrap .settings-card,
.settings-panel,
.item-card,
.warehouse-item,
.revision-block,
.order-row,
.delivery-row,
.clean-delivery-row,
.route-stop-card,
.customer-card,
.order-card{
  background:var(--oms-surface)!important;
  border-color:var(--oms-shell-border)!important;
}
.card:hover,
.settings-wrap .settings-card,
.settings-panel{
  box-shadow:0 12px 32px rgba(13,27,42,.08)!important;
}

.settings-card>h2,
.settings-panel>h3,
.settings-editor-box h4,
#templateTitle,
.settings-grid label,
.settings-repeat-row label,
.settings-user-card label{
  color:var(--oms-text)!important;
}
.settings-panel>p.muted,
.settings-editor-box>p.muted{
  color:var(--oms-muted)!important;
}
.settings-tab.btn,
.settings-tab.btn.secondary,
.settings-panel[data-panel="emails"] .template-open-btn,
.settings-panel[data-panel="emails"] .template-open-btn.btn.secondary{
  background:var(--oms-surface)!important;
  border-color:var(--oms-shell-border)!important;
  color:var(--oms-text)!important;
}
.settings-tab::before,
.settings-panel[data-panel="emails"] .template-open-btn::before{
  color:var(--oms-primary)!important;
}
.settings-tab.active,
.settings-tab.active:hover{
  background:linear-gradient(180deg,var(--oms-surface) 0%,var(--oms-primary-soft) 100%)!important;
  border-color:var(--oms-primary)!important;
  color:var(--oms-primary)!important;
  box-shadow:0 10px 24px rgba(13,27,42,.10)!important;
}
.settings-panel[data-panel="emails"] .template-open-btn.active{
  background:linear-gradient(90deg,var(--oms-primary-soft) 0%,var(--oms-surface) 100%)!important;
  color:var(--oms-primary)!important;
  border-left-color:var(--oms-primary)!important;
}
.settings-panel,
.settings-panel[data-panel="emails"] #templateButtons,
.settings-rich-toolbar,
.settings-template-box,
.settings-repeat-row,
.settings-user-card,
.settings-summary-box,
.settings-panel input[type="file"]{
  border-color:var(--oms-shell-border)!important;
}
.settings-rich-toolbar,
.settings-repeat-row,
.settings-user-card,
.settings-summary-box{
  background:var(--oms-accent-soft)!important;
}
.settings-template-box,
.settings-panel input[type="file"]{
  background:var(--oms-surface)!important;
}
.settings-access-list label{
  background:var(--oms-accent-soft)!important;
  color:var(--oms-primary)!important;
}
.settings-divider{
  border-top-color:color-mix(in srgb,var(--oms-accent) 16%,var(--oms-border) 84%)!important;
  border-top-color:var(--oms-shell-border)!important;
}

/* v384 Desktop control contract pass 1: unify standard desktop control heights
   without redesigning page layouts or touching compact/status controls. */
.orders-toolbar-actions,
.customers-filter-row .orders-toolbar-actions{
  height:auto!important;
}

.orders-search-mode-group #orderSearch,
.orders-search-mode-toggle,
.orders-toolbar-actions #orderSort,
.orders-filter-menu-wrap,
.orders-filter-toggle,
.customers-filter-row #customerSearch,
.customers-filter-row #customerSort,
.customers-filter-row .orders-filter-menu-wrap,
.customers-filter-row .orders-filter-toggle,
.stock-search-row input:not([type="checkbox"]),
.stock-search-row select,
.stock-search-row > .btn,
.stock-search-row .single-toggle-pill.compact-single-toggle,
.routes-heading-row .single-filter-button,
.settings-tab.btn,
.settings-tab.btn.secondary,
.settings-panel>.btn,
.settings-panel>a.btn,
.settings-panel>button.btn,
.settings-action-grid .btn,
.settings-action-grid.small-grid .btn,
.settings-panel input[type="file"]{
  min-height:var(--oms-control-h)!important;
  height:var(--oms-control-h)!important;
  border-radius:var(--oms-control-radius)!important;
}

.orders-search-mode-group #orderSearch,
.orders-toolbar-actions #orderSort,
.customers-filter-row #customerSearch,
.customers-filter-row #customerSort,
.stock-search-row input:not([type="checkbox"]),
.stock-search-row select,
.settings-panel input[type="file"]{
  padding-left:var(--oms-control-padding-x)!important;
  padding-right:var(--oms-control-padding-x)!important;
}

.orders-search-mode-toggle,
.orders-filter-toggle,
.customers-filter-row .orders-filter-toggle,
.stock-search-row > .btn,
.stock-search-row .single-toggle-pill.compact-single-toggle,
.routes-heading-row .single-filter-button,
.settings-tab.btn,
.settings-tab.btn.secondary,
.settings-panel>.btn,
.settings-panel>a.btn,
.settings-panel>button.btn,
.settings-action-grid .btn,
.settings-action-grid.small-grid .btn{
  padding-left:var(--oms-control-padding-x)!important;
  padding-right:var(--oms-control-padding-x)!important;
}

.stock-search-row .single-toggle-pill.compact-single-toggle,
.routes-heading-row .single-filter-button{
  line-height:1!important;
}

/* v417 route table visual cleanup pass 2: final route-only row alignment.
   Keeps route logic/menus untouched while making visible row controls share the
   desktop control contract. */
.route-detail-page .route-stops-table{
  table-layout:fixed!important;
  border-spacing:0!important;
}
.route-detail-page .route-stops-table th,
.route-detail-page .route-stops-table td{
  vertical-align:middle!important;
  line-height:1.25!important;
}
.route-detail-page .route-stops-table tr.dragging{
  opacity:.55!important;
}
.route-detail-page .route-stops-table tr.drag-over{
  outline:2px dashed #70442f!important;
  outline-offset:-4px!important;
}
.route-detail-page .route-stops-table .drag-col,
.route-detail-page .route-stops-table .stop-col,
.route-detail-page .route-stops-table .balance-col,
.route-detail-page .route-stops-table .van-col,
.route-detail-page .route-stops-table .drop-col,
.route-detail-page .route-stops-table .travel-col,
.route-detail-page .route-stops-table .time-col,
.route-detail-page .route-stops-table .custom-slot-col,
.route-detail-page .route-stops-table .actions-col{
  text-align:center!important;
}
.route-detail-page .route-stops-table .order-col,
.route-detail-page .route-stops-table .customer-route-col,
.route-detail-page .route-stops-table .customer-col{
  text-align:left!important;
}
.route-detail-page .route-stops-table .actions-col{
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
}
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop,
.route-detail-page .route-stops-table .route-travel,
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time,
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to,
.route-detail-page .slot-final-wrap .route-slot-input,
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu,
.route-detail-page .route-actions-menu .route-email-main,
.route-detail-page .route-action-row{
  height:var(--route-row-control-height, var(--oms-control-h))!important;
  min-height:var(--route-row-control-height, var(--oms-control-h))!important;
  max-height:var(--route-row-control-height, var(--oms-control-h))!important;
  box-sizing:border-box!important;
}
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop,
.route-detail-page .route-stops-table .route-travel,
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time,
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to,
.route-detail-page .slot-final-wrap .route-slot-input,
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu .route-email-main{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  margin:0 auto!important;
  line-height:1!important;
}
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop{
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
}
.route-detail-page .route-stops-table .route-travel,
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time{
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
}
.route-detail-page .custom-slot-col .slot-custom-inline,
.route-detail-page .slot-final-wrap{
  min-height:var(--route-row-control-height, var(--oms-control-h))!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.route-detail-page .custom-slot-col .slot-separator{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:var(--route-row-control-height, var(--oms-control-h))!important;
  line-height:1!important;
}
.route-detail-page .route-action-row{
  width:max-content!important;
  min-width:188px!important;
  margin:0 auto!important;
  align-items:center!important;
  justify-content:center!important;
}
.route-detail-page .route-actions-menu{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
}
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu .route-email-main{
  width:90px!important;
  min-width:90px!important;
  max-width:90px!important;
}
.route-detail-page .return-time{
  text-align:center!important;
  margin-top:6px!important;
}

/* v418 route table theme coverage: route-only colour/token pass.
   Uses the desktop theme contract for the route shell and normal row controls,
   while leaving semantic route/status colours protected. */
.route-detail-page{
  --route-row-control-border-color:var(--oms-border-strong);
  --route-row-control-bg:var(--oms-surface);
  --route-row-control-color:var(--oms-text);
  --route-row-control-muted-bg:var(--oms-surface-soft);
}
.route-detail-page #routeStopsCard{
  background:var(--oms-surface)!important;
  border-color:var(--oms-shell-border, var(--oms-border))!important;
}
.route-detail-page #routeStopsCard.route-ready-card{
  background:var(--oms-surface)!important;
  border-color:var(--oms-shell-border, var(--oms-border))!important;
  box-shadow:var(--oms-shadow-md)!important;
}
.route-detail-page .route-stops-table th{
  background:var(--oms-surface-soft)!important;
  color:var(--oms-text)!important;
}
.route-detail-page .route-stops-table th,
.route-detail-page .route-stops-table td{
  border-color:var(--oms-border)!important;
}
.route-detail-page .van-space-summary,
.route-detail-page #routeStopsCard.route-ready-card .van-space-summary{
  background:var(--oms-primary-soft)!important;
  border-color:var(--oms-border-strong)!important;
  color:var(--oms-text)!important;
}
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop,
.route-detail-page .route-stops-table .route-travel,
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time,
.route-detail-page .custom-slot-col .route-slot-from,
.route-detail-page .custom-slot-col .route-slot-to,
.route-detail-page .slot-final-wrap .route-slot-input,
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-actions-menu .route-email-main{
  background:var(--route-row-control-bg)!important;
  border:1px solid var(--route-row-control-border-color)!important;
  color:var(--route-row-control-color)!important;
  box-shadow:var(--oms-shadow-sm)!important;
}
.route-detail-page .route-stops-table .route-time[readonly],
.route-detail-page .route-stops-table .compact-time[readonly]{
  background:var(--route-row-control-bg)!important;
  color:var(--route-row-control-color)!important;
}
.route-detail-page .route-email-preview-btn:not(:disabled):not(.disabled),
.route-detail-page .route-actions-menu .route-email-main{
  background:var(--oms-surface)!important;
  border-color:var(--oms-border-strong)!important;
  color:var(--oms-secondary-button-text)!important;
}
.route-detail-page .route-email-preview-btn:not(:disabled):not(.disabled):hover,
.route-detail-page .route-actions-menu .route-email-main:hover{
  background:var(--oms-primary-soft)!important;
  border-color:var(--oms-button-secondary-hover-border)!important;
  color:var(--oms-secondary-button-text)!important;
}
.route-detail-page .route-email-preview-btn.disabled,
.route-detail-page .route-email-preview-btn:disabled{
  background:var(--oms-surface-soft)!important;
  border-color:var(--oms-border)!important;
  color:var(--oms-muted)!important;
  box-shadow:none!important;
}
.route-detail-page .slot-final-wrap.slot-locked .route-slot-input{
  background:var(--oms-green-soft)!important;
  border-color:var(--oms-green)!important;
  color:var(--oms-green)!important;
}
.route-detail-page .custom-slot-col .slot-custom-inline:not(.slot-locked) .route-slot-from[data-slot-manual="false"],
.route-detail-page .custom-slot-col .slot-custom-inline:not(.slot-locked) .route-slot-to[data-slot-manual="false"]{
  background:color-mix(in srgb,var(--oms-green-soft) 68%, var(--oms-surface))!important;
  border-color:var(--oms-green)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--oms-green) 24%, transparent), var(--oms-shadow-sm)!important;
}
.route-detail-page .custom-slot-col .slot-custom-inline:not(.slot-locked) .route-slot-from[data-slot-manual="false"]:focus,
.route-detail-page .custom-slot-col .slot-custom-inline:not(.slot-locked) .route-slot-to[data-slot-manual="false"]:focus{
  border-color:var(--oms-green)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--oms-green) 18%, transparent)!important;
}

/* v419 route table native-control polish: hide numeric steppers and keep route
   action buttons on the route row height despite legacy small-btn classes. */
.route-detail-page .route-stops-table .route-van::-webkit-outer-spin-button,
.route-detail-page .route-stops-table .route-van::-webkit-inner-spin-button,
.route-detail-page .route-stops-table .route-drop::-webkit-outer-spin-button,
.route-detail-page .route-stops-table .route-drop::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop{
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
.route-detail-page .route-stops-table .route-van,
.route-detail-page .route-stops-table .route-drop,
.route-detail-page .route-stops-table .route-time,
.route-detail-page .route-stops-table .compact-time{
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
  text-align-last:center!important;
}
.route-detail-page .route-stops-table .route-time::-webkit-calendar-picker-indicator{
  display:none!important;
  -webkit-appearance:none!important;
}
.route-detail-page .route-email-preview-btn,
.route-detail-page .route-email-preview-btn.small-btn,
.route-detail-page .route-actions-menu .route-email-main,
.route-detail-page .route-actions-menu .route-email-main.small-btn{
  height:var(--route-row-control-height, var(--oms-control-h))!important;
  min-height:var(--route-row-control-height, var(--oms-control-h))!important;
  max-height:var(--route-row-control-height, var(--oms-control-h))!important;
  padding:0 var(--oms-control-padding-x)!important;
  border-radius:var(--oms-control-radius)!important;
  font-size:var(--oms-font-sm)!important;
}

/* Keep return travel as a note below the action controls without making the
   Actions cell taller than the other route-row controls. */
.route-detail-page .route-actions-wrap{
  position:relative!important;
  min-height:var(--route-row-control-height, var(--oms-control-h))!important;
}
.route-detail-page .route-actions-wrap .return-time{
  position:absolute!important;
  top:calc(var(--route-row-control-height, var(--oms-control-h)) + 4px)!important;
  left:0!important;
  right:0!important;
  margin:0!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  text-align:center!important;
  pointer-events:none!important;
}

/* Keep the Delivery Slot heading centred over the visible slot controls. */
.route-detail-page .route-stops-table th.custom-slot-col,
.route-detail-page .route-stops-table td.custom-slot-col{
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
}
.route-detail-page .custom-slot-col .slot-custom-inline{
  width:max-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* v406 dashboard accessory stock levels */
.accessory-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;}
.accessory-dashboard-card{border:1px solid #d9e4ef;border-radius:8px;background:#fbfdff;padding:14px;display:flex;flex-direction:column;gap:10px;}
.accessory-dashboard-card.low{border-color:#fac1c7;background:#fffafa;}
.accessory-dashboard-card.near{border-color:#f3d58b;background:#fffdf6;}
.accessory-dashboard-card h4{margin:2px 0 0;font-size:18px;line-height:1.2;}
.accessory-dashboard-stock{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.accessory-dashboard-stock strong{font-size:30px;line-height:1;color:#17643a;}
.accessory-dashboard-card.low .accessory-dashboard-stock strong{color:#b4232d;}
.accessory-dashboard-card.near .accessory-dashboard-stock strong{color:#9a6500;}
.accessory-dashboard-size-list{display:grid;gap:5px;margin:10px 0;}
.accessory-dashboard-size-row{display:grid;grid-template-columns:minmax(0,1fr)26px min-content;gap:6px;align-items:center;border:1px solid #dce6ef;border-radius:6px;padding:5px 7px;background:#fff;}
.accessory-dashboard-size-row span{font-size:12px;line-height:1.18;font-weight:800;color:#17385f;min-width:0;}
.accessory-dashboard-size-row strong{font-size:15px;line-height:1;color:#0d1b2a;text-align:right;}
.accessory-dashboard-size-row .stock-status-pill{padding:2px 6px;font-size:10px;line-height:1.1;white-space:nowrap;}
.stock-level-brand{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:0;color:#53647a;}
.stock-status-pill:not(.order-status-pill){display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;border:1px solid #d3dee9;color:#4f5f73;background:#f8fbff;}
.stock-status-pill.low{background:#fff1f2;color:#a91521;border-color:#fac1c7;}
.stock-status-pill.near{background:#fff8e5;color:#7a5200;border-color:#f3d58b;}
.stock-status-pill.healthy{background:#ecfdf3;color:#146c3f;border-color:#bce8cc;}
.managedOptionPricing{border:1px solid #c8dcec;background:#f3f9fd;border-radius:10px;padding:10px 12px;color:#23445f;}
.managedOptionPricing>strong{display:block;margin-bottom:5px;}
.managedOptionPricingLines{display:grid;gap:4px;font-size:13px;}
.managedOptionPricingLines>div{display:flex;justify-content:space-between;gap:12px;}
.order-line-switch{grid-column:1/-1;display:flex;align-items:center;gap:11px;min-width:0;border:1px solid #c8dcec;border-radius:10px;padding:10px 12px;background:#f8fbfd;cursor:pointer;align-self:stretch}.order-line-switch>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.order-line-switch-track{position:relative;width:42px;height:24px;flex:0 0 42px;border-radius:999px;background:#aebdc8;box-shadow:inset 0 0 0 1px rgba(23,52,76,.12);transition:.16s}.order-line-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(20,48,70,.28);transition:.16s}.order-line-switch>input:checked+.order-line-switch-track{background:#187749}.order-line-switch>input:checked+.order-line-switch-track::after{transform:translateX(18px)}.order-line-switch>input:focus-visible+.order-line-switch-track{outline:3px solid rgba(54,131,180,.22);outline-offset:2px}.order-line-switch-copy,.order-line-switch-copy strong,.order-line-switch-copy small{display:block;min-width:0}.order-line-switch-copy small{margin-top:2px;color:var(--muted);font-weight:600;line-height:1.35}.order-line-switch:has(input:checked){border-color:#acd4b9;background:#f1faf4}
.catalogueOptionsWrap{grid-column:1/-1!important;border:1px solid #c8dcec;background:#f8fbfd;border-radius:10px;padding:14px;}
.productOptionsHeading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;}
.productOptionsHeading strong{display:block;}
.productOptionsHint{color:var(--muted);font-size:12px;font-weight:700;text-align:right;}
.field-optional{color:var(--muted);font-size:12px;font-weight:700;}
.catalogueSizeOption{display:grid;grid-template-columns:1fr;margin-bottom:12px;}
.catalogueSizeOption label{margin:0;}
.catalogueOptionsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;}
.catalogueOptionsGrid label{margin:0;}
.catalogueOptionsWrap.custom-product-options-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;padding:12px 14px;}
.catalogueOptionsWrap.custom-product-options-mode .productOptionsHeading{grid-column:1/-1;margin-bottom:0;}
.catalogueOptionsWrap.custom-product-options-mode .catalogueSizeOption{display:contents;}
.catalogueOptionsWrap.custom-product-options-mode .catalogueOptionsGrid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;}
.catalogueOptionsWrap.custom-product-options-mode .customProductOptionsGrid{display:contents;}
.catalogueOptionsWrap.custom-product-options-mode label{margin:0;min-width:0;}
.catalogueOptionsWrap.custom-product-options-mode .splitFields{grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;}
.catalogueOptionsWrap.custom-product-options-mode .tensionWrap{grid-column:auto!important;}
.catalogueOptionsWrap.custom-product-options-mode .trialWrap{grid-column:auto!important;}
.catalogueOptionsWrap.custom-product-options-mode .finishGroupWrap,
.catalogueOptionsWrap.custom-product-options-mode .finishWrap,
.catalogueOptionsWrap.custom-product-options-mode .finishPriceWrap,
.catalogueOptionsWrap.custom-product-options-mode .storageWrap{grid-column:auto;}
@media(min-width:1051px){.product-grid>.pnameWrap{grid-column:span 2;}}
@media(max-width:1050px){
  .catalogueOptionsWrap.custom-product-options-mode,
  .catalogueOptionsWrap.custom-product-options-mode .catalogueOptionsGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .catalogueOptionsGrid,
  .catalogueOptionsWrap.custom-product-options-mode,
  .catalogueOptionsWrap.custom-product-options-mode .catalogueOptionsGrid{grid-template-columns:1fr;}
  .catalogueOptionsWrap.custom-product-options-mode .splitFields{grid-column:1;grid-template-columns:1fr;}
  .productOptionsHeading{align-items:flex-start;flex-direction:column;}
  .productOptionsHint{text-align:left;}
}
.managed-option-price-warning{display:block!important;color:#8a4d17;background:#fff4df;border-radius:7px;padding:7px 9px;}
@media(max-width:720px){
  .accessory-dashboard-grid{grid-template-columns:1fr;}
}

/* v420 grouped Routes area navigation */
.routes-section-nav{
  display:inline-flex;
  align-items:center;
  gap:4px;
  max-width:100%;
  padding:5px;
  border:1px solid var(--oms-border);
  border-radius:var(--oms-radius-lg);
  background:var(--oms-surface);
  box-shadow:var(--oms-shadow-sm);
}
.routes-section-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  min-height:42px;
  padding:8px 18px;
  border:1px solid transparent;
  border-radius:calc(var(--oms-radius-lg) - 5px);
  color:var(--oms-primary);
  font-size:var(--oms-font-sm);
  font-weight:900;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.routes-section-tab:hover{
  border-color:color-mix(in srgb,var(--oms-primary) 16%,transparent);
  background:var(--oms-primary-soft);
  color:var(--oms-primary-hover);
}
.routes-section-tab:focus-visible{
  outline:3px solid color-mix(in srgb,var(--oms-primary) 28%,transparent);
  outline-offset:2px;
}
.routes-section-tab.active{
  border-color:var(--oms-primary);
  background:var(--oms-primary);
  color:var(--oms-primary-button-text);
  box-shadow:var(--oms-shadow-sm);
}
.routes-section-tab.active:hover{
  border-color:var(--oms-primary-hover);
  background:var(--oms-primary-hover);
  color:var(--oms-primary-button-text);
}
.routes-section-nav + .card{
  margin-top:var(--oms-space-4)!important;
}
@media(max-width:720px){
  .routes-section-nav{
    display:flex;
    width:100%;
    box-sizing:border-box;
  }
  .routes-section-tab{
    flex:1 1 0;
    min-width:0;
    padding-left:10px;
    padding-right:10px;
  }
}

/* v422 keep long service-issue histories inside the viewport */
.service-view-modal{
  max-height:calc(100vh - 40px)!important;
  max-height:calc(100dvh - 40px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.service-view-modal > h3,
.service-view-modal > .quick-modal-actions{
  flex:0 0 auto;
}
.service-view-modal > .quick-modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-right:6px;
}
.service-view-modal > .quick-modal-actions{
  margin-top:14px;
}
@media(max-width:720px){
  .service-view-modal{
    max-height:calc(100vh - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
  }
}
