/* Finalized Orbitech365 Orders visual pass. Presentation only. */
.od-final-shell{display:grid;gap:14px;max-width:1240px;margin:0 auto}.od-final-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.od-final-head h2{margin:0;color:#172033;font-size:var(--dealer-fs-title,27px);line-height:1.1}.od-final-head p{margin:6px 0 0;color:#6f7a8a;font-size:var(--dealer-fs-emphasis,16px)}.od-head-actions{display:flex;gap:8px;flex-wrap:wrap}.od-head-actions button,.od-filter-actions button,.od-pagination button,.od-view{min-height:34px;border:1px solid #dfe4eb;border-radius:8px;background:#fff;color:#172033;padding:0 12px;font-size:var(--dealer-fs-body,14.5px);font-weight:800}.od-head-actions button.primary,.od-filter-actions button.primary{background:#2737c5;border-color:#2737c5;color:#fff}.od-head-actions button:disabled,.od-view:disabled{opacity:.65}.od-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.od-kpi{background:#fff;border:1px solid #e8ecf2;border-radius:12px;padding:14px;box-shadow:0 5px 18px rgba(23,32,51,.04)}.od-kpi span{display:block;color:#6f7a8a;font-size:var(--dealer-fs-label,13.5px);font-weight:800}.od-kpi strong{display:block;margin-top:7px;font-size:var(--dealer-fs-h1,25px);line-height:1;color:#2737c5}.od-kpi.pending strong{color:#d97706}.od-kpi.confirmed strong,.od-kpi.delivered strong{color:#15803d}.od-kpi.dispatched strong{color:#2563eb}.od-kpi.cancelled strong{color:#dc2626}.od-filter-card{background:#fff;border:1px solid #e8ecf2;border-radius:12px;padding:14px;box-shadow:0 5px 18px rgba(23,32,51,.04)}.od-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.od-filter-grid label{display:grid;gap:5px;color:#515c6c;font-size:var(--dealer-fs-label,13.5px);font-weight:800}.od-filter-grid input,.od-filter-grid select{height:36px;border:1px solid #dfe4eb;border-radius:8px;background:#fff;color:#172033;padding:0 10px;font-size:var(--dealer-fs-body,14.5px);outline:0}.od-filter-grid input:focus,.od-filter-grid select:focus{border-color:#9ca7f2;box-shadow:0 0 0 3px rgba(39,55,197,.08)}.od-filter-grid input:disabled{background:#f7f8fb;color:#8a93a1}.od-filter-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.od-final-tabs{display:flex;gap:5px;overflow-x:auto;border-bottom:1px solid #e8ecf2}.od-final-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:10px 12px;color:#6f7a8a;font-size:var(--dealer-fs-body,14.5px);font-weight:800;white-space:nowrap}.od-final-tabs button.active{color:#2737c5;border-bottom-color:#2737c5}.od-final-tabs span{margin-left:4px;color:inherit}.od-table-wrap{overflow:auto;background:#fff;border:1px solid #e8ecf2;border-radius:12px;box-shadow:0 5px 18px rgba(23,32,51,.04)}.od-table{width:100%;min-width:920px;border-collapse:collapse}.od-table th{padding:11px 12px;background:#f8f9fc;color:#6b7481;text-align:left;font-size:var(--dealer-fs-badge,12.5px);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e8ecf2}.od-table td{padding:12px;border-bottom:1px solid #eef1f5;color:#3f4a5a;font-size:var(--dealer-fs-small,14px);vertical-align:middle}.od-table tbody tr:last-child td{border-bottom:0}.od-table td strong{color:#2455c3}.od-badge,.od-pay{display:inline-flex;align-items:center;border-radius:6px;padding:5px 7px;font-size:var(--dealer-fs-badge,12.5px);font-weight:800;white-space:nowrap}.od-badge.pending{background:#fff4d6;color:#9a6700}.od-badge.confirmed{background:#e9f8ed;color:#18723a}.od-badge.dispatched{background:#e9f2ff;color:#2461b2}.od-badge.delivered{background:#eaf8ef;color:#18723a}.od-badge.cancelled{background:#ffeded;color:#b32626}.od-pay.paid{background:#eaf8ef;color:#18723a}.od-pay.pending{background:#fff2e6;color:#a55316}.od-pay.neutral{background:#f2f4f7;color:#667085}.od-view{min-height:28px;padding:0 9px}.od-pagination{display:flex;justify-content:center;gap:5px}.od-pagination button{min-width:30px;padding:0}.od-pagination button.active{background:#2737c5;border-color:#2737c5;color:#fff;opacity:1}.od-safety-final{padding:10px 12px;border:1px dashed #f1b486;border-radius:10px;background:#fff8f3;color:#7a451f;font-size:var(--dealer-fs-label,13.5px);line-height:1.5}.od-empty{padding:26px;text-align:center;color:#6f7a8a;font-size:var(--dealer-fs-body-lg,15px)}
@media(max-width:1050px){.od-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.od-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.od-final-head{flex-direction:column}.od-head-actions{width:100%}.od-head-actions button{flex:1}.od-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.od-filter-grid{grid-template-columns:1fr}.od-filter-actions button{flex:1}.od-kpi strong{font-size:var(--dealer-fs-h2,22px)}}

/* ---- LIVE Order History + Order Detail (OrbitechPassiveOrderHistory, .oh-*). Presentation only; same tokens as the finalized Orders pass above. ---- */
.oh-shell{display:grid;gap:14px;max-width:1240px;margin:0 auto}.oh-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.oh-eyebrow{margin:0 0 5px;color:#f26a21;font-size:var(--dealer-fs-label,13.5px);font-weight:900;letter-spacing:.09em;text-transform:uppercase}.oh-head h2{margin:0;color:#172033;font-size:var(--dealer-fs-title,27px);line-height:1.1;letter-spacing:-.02em;overflow-wrap:anywhere}.oh-sub{margin:6px 0 0;color:#6f7a8a;font-size:var(--dealer-fs-emphasis,16px)}.oh-head-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.oh-pill{display:inline-flex;align-items:center;border:1px solid #e8ecf2;border-radius:999px;background:#fff;color:#515c6c;padding:6px 10px;font-size:var(--dealer-fs-label,13.5px);font-weight:800;white-space:nowrap}
.oh-table-wrap{overflow:auto;background:#fff;border:1px solid #e8ecf2;border-radius:12px;box-shadow:0 5px 18px rgba(23,32,51,.04)}.oh-lines{width:100%;min-width:760px;border-collapse:collapse}.oh-lines th{padding:11px 12px;background:#f8f9fc;color:#6b7481;text-align:left;font-size:var(--dealer-fs-badge,12.5px);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e8ecf2}.oh-lines td{padding:12px;border-bottom:1px solid #eef1f5;color:#3f4a5a;font-size:var(--dealer-fs-small,14px);vertical-align:middle}.oh-lines tbody tr:last-child td{border-bottom:0}.oh-row:hover td{background:#fbfcfe}.oh-th-actions{width:1%}
.oh-num{display:block;color:#2455c3;font-weight:800}.oh-summary{display:block;margin-top:3px;color:#8a93a1;font-size:var(--dealer-fs-caption,13px)}.oh-lines td strong{display:block;color:#172033}.oh-lines td small{display:block;margin-top:3px;color:#8a93a1;font-size:var(--dealer-fs-caption,13px)}.oh-date,.oh-count,.oh-qty,.oh-total,.oh-money{white-space:nowrap}.oh-total,.oh-money{font-variant-numeric:tabular-nums}.oh-total{color:#172033;font-weight:800}.oh-actions{text-align:right}.oh-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.oh-badge{display:inline-flex;align-items:center;border-radius:6px;padding:5px 7px;font-size:var(--dealer-fs-badge,12.5px);font-weight:800;white-space:nowrap;background:#f2f4f7;color:#667085}.oh-badge.pending{background:#fff4d6;color:#9a6700}.oh-badge.quote{background:#e9f2ff;color:#2461b2}.oh-badge.negotiating{background:#f1e9ff;color:#6b3fb2}.oh-badge.confirmed{background:#e9f8ed;color:#18723a}.oh-badge.dispatched{background:#e9f2ff;color:#2461b2}.oh-badge.delivered{background:#eaf8ef;color:#18723a}.oh-badge.cancelled{background:#ffeded;color:#b32626}.oh-badge.neutral{background:#f2f4f7;color:#667085}.oh-badge.decide{background:#fff2e6;color:#a55316}.oh-badge.progress{background:#e9f2ff;color:#2461b2}.oh-badge.done{background:#eaf8ef;color:#18723a}
.oh-open,.oh-more,.oh-back,.oh-retry{min-height:30px;border:1px solid #dfe4eb;border-radius:8px;background:#fff;color:#172033;padding:0 11px;font-size:var(--dealer-fs-label,13.5px);font-weight:800;cursor:pointer}.oh-open:hover,.oh-more:hover,.oh-back:hover,.oh-retry:hover{border-color:#c9d1dc}.oh-more{min-height:34px;padding:0 14px}.oh-footer{display:flex;justify-content:center}.oh-detail{gap:12px}.oh-detail-top{display:flex}
.oh-chip{margin-left:6px}.oh-quote-banner{margin:0}.oh-commercial{display:grid;gap:10px}.oh-commercial h3{margin:0;font-size:var(--dealer-fs-subhead,16.5px);color:#172033}.oh-lines td small{display:block;margin-top:3px;color:#8a93a1;font-size:var(--dealer-fs-caption,13px)}.oh-quote-history{margin:0;padding:12px 16px 12px 30px;background:#fff;border:1px solid #e8ecf2;border-radius:12px;color:#4a5568;font-size:var(--dealer-fs-body,14.5px);line-height:1.7}.oh-quote-when{color:#8a93a1;margin-right:4px}
.oh-empty,.oh-loading,.oh-error{margin:0;padding:26px;text-align:center;color:#6f7a8a;font-size:var(--dealer-fs-body-lg,15px);background:#fff;border:1px solid #e8ecf2;border-radius:12px}.oh-error{color:#7a451f;border-style:dashed;border-color:#f1b486;background:#fff8f3}.oh-error .oh-retry{margin-left:8px}
.oh-totals-card{display:grid;gap:10px;justify-items:end}.oh-totals{display:grid;grid-template-columns:auto auto;gap:6px 24px;margin:0;padding:14px 16px;min-width:280px;background:#fff;border:1px solid #e8ecf2;border-radius:12px;box-shadow:0 5px 18px rgba(23,32,51,.04)}.oh-totals dt{color:#6f7a8a;font-size:var(--dealer-fs-label,13.5px);font-weight:800}.oh-totals dd{margin:0;text-align:right;color:#172033;font-size:var(--dealer-fs-body,14.5px);font-weight:800;font-variant-numeric:tabular-nums}.oh-totals .oh-grand{padding-top:6px;border-top:1px solid #e8ecf2;color:#172033;font-size:var(--dealer-fs-emphasis,16px)}.oh-note{margin:0;padding:10px 12px;border:1px dashed #f1b486;border-radius:10px;background:#fff8f3;color:#7a451f;font-size:var(--dealer-fs-label,13.5px);line-height:1.5;justify-self:stretch}
@media(max-width:820px){.oh-lines{min-width:640px}}
@media(max-width:680px){.oh-head{flex-direction:column}.oh-head h2{font-size:var(--dealer-fs-h2-lg,23px)}.oh-totals-card{justify-items:stretch}.oh-totals{min-width:0}}
.oh-decision{display:grid;gap:8px;padding:10px 12px;border:1px solid #dfe4eb;border-radius:10px;background:#f7f9fc;color:#172033;font-size:var(--dealer-fs-label,13.5px);justify-items:start}
.oh-decision label{display:grid;gap:4px;font-weight:700}
.oh-decision input,.oh-decision select{min-height:30px;border:1px solid #c9d1dc;border-radius:8px;padding:0 8px;font-size:var(--dealer-fs-body,14.5px)}

/* Offers & Schemes V1: the order's immutable offer snapshot. */
.oh-offer{display:block;color:#1f7a4d!important}
.oh-offers{margin:12px 0;padding:10px 12px;border:1px solid #e5e9ef;border-radius:10px;background:#fbfcfe}
.oh-offers>strong{display:block;margin-bottom:6px;color:#172033}
.oh-offers ul{margin:0;padding-left:18px;display:grid;gap:5px;font-size:var(--dealer-fs-label,13.5px);color:#4e5968}
.oh-offers small{color:#8a93a0}

/* Order Module V1: filters, status hint, response-required banner, timeline. */
.oh-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.oh-filter{border:1px solid #dfe4ec;border-radius:999px;background:#fff;color:#44506a;padding:6px 12px;font-size:var(--dealer-fs-label,13.5px);font-weight:800;cursor:pointer}
.oh-filter span{margin-left:4px;border-radius:999px;background:#eef1f6;padding:1px 7px;font-size:var(--dealer-fs-badge,12.5px)}
.oh-filter.active{border-color:#2336c9;background:#2336c9;color:#fff}
.oh-filter.active span{background:rgba(255,255,255,.2);color:#fff}
.oh-status-hint{margin:0 0 12px;color:#5f6978;font-size:var(--dealer-fs-body,14.5px)}
.oh-action-banner{margin:0 0 14px;padding:12px 14px;border:1px solid #ffd3b7;border-left:5px solid #f26a21;border-radius:10px;background:#fff8f3;color:#7d4b2e}
.oh-action-banner strong{display:block;color:#9d470e;font-size:var(--dealer-fs-emphasis,16px)}
.oh-action-banner p{margin:4px 0 8px;font-size:var(--dealer-fs-body,14.5px)}
.oh-action-banner .oh-open{display:inline-block;text-decoration:none}
.oh-timeline-card{margin:16px 0 0;padding:14px;border:1px solid #e8ecf2;border-radius:12px;background:#fff}
.oh-timeline-card h3{margin:0 0 10px;color:#172033;font-size:var(--dealer-fs-emphasis,16px)}
/* ERP Phase 2: compact ERP Sales Order / billing card (order status and billing status stay separate). */
.oh-erp-card{margin:16px 0 0;padding:14px;border:1px solid #e8ecf2;border-radius:12px;background:#fff;display:grid;gap:8px}.oh-erp-card h3{margin:0;color:#172033;font-size:var(--dealer-fs-emphasis,16px)}.oh-erp-card p{margin:0;color:#3f4a5a;font-size:var(--dealer-fs-body,14.5px)}.oh-erp-card ul{margin:0;padding-left:20px;color:#3f4a5a;font-size:var(--dealer-fs-body,14.5px);line-height:1.7}
.oh-timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid #e3e7ee;display:grid;gap:10px}
.oh-timeline li{position:relative;display:grid;gap:2px;font-size:var(--dealer-fs-body,14.5px);color:#172033}
.oh-timeline li::before{content:'';position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:#2336c9}
.oh-timeline small{color:#6f7a8a;font-size:var(--dealer-fs-badge,12.5px)}
.oh-when{color:#8a93a0;font-size:var(--dealer-fs-badge,12.5px)}
.oh-count small{display:block;color:#8a93a0}
.oh-agreed{display:block;color:#1f7a4d;font-size:var(--dealer-fs-badge,12.5px);font-weight:800}
/* Order Module V1 closure: cancellation. */
.oh-cancel-note{display:block;margin-top:4px;color:#8a4a10;font-size:var(--dealer-fs-badge,12.5px);font-weight:700}
.oh-cancel-banner{margin:0 0 12px;padding:10px 12px;border:1px solid #f0c9bd;border-radius:10px;background:#fff6f3;color:#8a2e14;font-size:var(--dealer-fs-body,14.5px);font-weight:700}
.oh-cancel{margin:16px 0 0;padding:14px;border:1px solid #e8ecf2;border-radius:12px;background:#fff}
.oh-cancel h3{margin:0 0 8px;color:#172033;font-size:var(--dealer-fs-emphasis,16px)}
/* ERP & Billing section (2026-09-26): three separate statuses, invoice table, compact billing tables that fit phones. */
.oh-erp-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.oh-erp-status>div{padding:9px 11px;border:1px solid #e8ecf2;border-radius:10px;background:#fbfcfe;min-width:0}
.oh-erp-status small{display:block;color:#8a93a1;font-size:var(--dealer-fs-micro,11.5px);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.oh-erp-status strong{display:block;margin-top:3px;color:#172033;font-size:var(--dealer-fs-body,14.5px);overflow-wrap:anywhere}
.oh-erp-card .oh-lines{min-width:0}
.oh-erp-card .oh-lines td strong{overflow-wrap:anywhere}
.oh-invoices td{white-space:nowrap}
.oh-invoices td:first-child{white-space:normal}
@media(max-width:620px){.oh-erp-status{grid-template-columns:minmax(0,1fr)}.oh-erp-card .oh-lines th,.oh-erp-card .oh-lines td{padding:8px 6px}}
.oh-inv-wrap{margin-top:2px}
/* My Orders ERP / billing fragments reused by the order cards: SO number, billed / pending qty, last ERP update. */
.oh-so{display:block;flex-basis:100%;color:#172033;font-weight:800;overflow-wrap:anywhere}
.oh-erp-qty{color:#6b7481;font-size:var(--dealer-fs-caption,13px);white-space:nowrap}
.oh-erp-when{display:block;color:#8a93a1;font-size:var(--dealer-fs-caption,13px)}
.oh-muted{color:#8a93a1}
/* Phone: invoice rows become stacked label / value rows. */
@media(max-width:680px){
.oh-invoices,.oh-invoices tbody,.oh-invoices tr,.oh-invoices td{display:block;width:100%}
.oh-invoices thead{display:none}
.oh-invoices tr{padding:8px 0;border-bottom:1px solid #eef1f5}
.oh-invoices tbody tr:last-child{border-bottom:0}
.oh-invoices td,.oh-invoices tbody tr:last-child td{display:flex;justify-content:space-between;gap:10px;padding:3px 6px;border:0;white-space:normal}
.oh-invoices td::before{content:attr(data-label);color:#8a93a1;font-size:var(--dealer-fs-caption,13px)}
.oh-invoices td:first-child{display:block}
.oh-invoices td:first-child::before{content:none}
}
/* ---------- My Orders redesign (2026-09-27): summary cards, status chips + search, order cards with a progress
   strip (Order placed | Portal status | ERP status | Billing status). Presentation only: every value and status
   comes from the dealer's server projection; nothing here is estimated. ---------- */
.oh-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.oh-stat{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:14px 58px 14px 16px;background:#fff;border:1px solid #e8ecf2;border-radius:12px;box-shadow:0 5px 18px rgba(23,32,51,.04)}
.oh-stat small{color:#6b7481;font-size:var(--dealer-fs-micro,11.5px);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.oh-stat strong{color:#172033;font-size:var(--dealer-fs-title,27px);font-weight:850;line-height:1.15;overflow-wrap:anywhere}
.oh-stat-value strong{font-size:var(--dealer-fs-h2,22px)}
.oh-stat-sub{color:#8a93a1;font-size:var(--dealer-fs-caption,13px);line-height:1.35}
.oh-stat-ico{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eef2ff;color:#2336c9}
.oh-stat-ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.oh-stat-process .oh-stat-ico{background:#e7f6ec;color:#1f7a4d}
.oh-stat-dispatch .oh-stat-ico{background:#f2f4f7;color:#8a93a1}
.oh-stat-value .oh-stat-ico{background:#fff4e5;color:#b45309}
.oh-stat-na{display:inline-block;color:#8a93a1;font-size:var(--dealer-fs-body-lg,15px);font-weight:700;line-height:1.9}
.oh-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:10px 12px;background:#fff;border:1px solid #e8ecf2;border-radius:12px}
.oh-toolbar .oh-filters{margin:0}
.oh-search{display:flex;align-items:center;gap:8px;flex:0 1 330px;min-width:0;height:38px;padding:0 12px;border:1px solid #dfe4ec;border-radius:9px;background:#fff}
.oh-search:focus-within{border-color:#93a5f0;box-shadow:0 0 0 3px rgba(35,54,201,.12)}
.oh-search svg{flex:0 0 17px;width:17px;height:17px;fill:none;stroke:#8a93a1;stroke-width:2;stroke-linecap:round}
.oh-search input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:var(--dealer-fs-label,13.5px);color:#172033}
.oh-list{display:grid;gap:12px}
.oh-card{background:#fff;border:1px solid #e8ecf2;border-radius:12px;box-shadow:0 5px 18px rgba(23,32,51,.04);overflow:hidden}
.oh-card-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:10px 16px;padding:12px 16px;background:#f8f9fc;border-bottom:1px solid #eef1f5}
.oh-card-id .oh-num{font-size:var(--dealer-fs-body-lg,15px)}
.oh-card-id small{display:block;margin-top:2px;color:#8a93a1;font-size:var(--dealer-fs-caption,13px)}
.oh-card-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.oh-card-status .oh-chip{margin-left:0}
.oh-card-value{text-align:right}
.oh-card-value .oh-total{display:block;color:#172033;font-size:var(--dealer-fs-emphasis,16px);font-weight:850}
.oh-card-value small{display:block;color:#8a93a1;font-size:var(--dealer-fs-caption,13px)}
.oh-card-open{min-height:34px;padding:0 14px;border-color:#2336c9;color:#2336c9}
.oh-card-open:hover{background:#f4f6ff}
.oh-card-open:focus-visible,.oh-filter:focus-visible{outline:2px solid #2336c9;outline-offset:2px}
.oh-card-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:14px 22px;align-items:center;padding:14px 16px}
.oh-card-items{display:flex;align-items:center;gap:12px;min-width:0}
.oh-card-ico{flex:0 0 44px;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#eef2ff;color:#2336c9}
.oh-card-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.oh-card-items strong.oh-summary{margin:0;color:#172033;font-size:var(--dealer-fs-small,14px);font-weight:750;line-height:1.35;overflow-wrap:anywhere}
.oh-card-items small{display:block;margin-top:3px;color:#6b7481;font-size:var(--dealer-fs-caption,13px)}
.oh-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.oh-step{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding-top:22px}
.oh-step::before{content:'';position:absolute;top:6px;left:16px;right:-6px;height:2px;background:#e3e8f0}
.oh-step:last-child::before{content:none}
.oh-step-dot{position:absolute;top:0;left:0;width:14px;height:14px;border:2px solid #cfd6e2;border-radius:999px;background:#fff;box-sizing:border-box}
.oh-step.done .oh-step-dot{border-color:#1f8c57;background:#1f8c57}
.oh-step.done::before{background:#9fd5b7}
.oh-step.current .oh-step-dot{border-color:#d97706;background:#fff4e5}
.oh-step.stopped .oh-step-dot{border-color:#b42318;background:#fdecec}
.oh-step small{color:#8a93a1;font-size:var(--dealer-fs-micro,11.5px);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.oh-step>strong{color:#172033;font-size:var(--dealer-fs-caption,13px);font-weight:750;overflow-wrap:anywhere}
.oh-step .oh-badge{padding:3px 7px}
.oh-step .oh-chip{margin-left:0}
.oh-step-sub{display:flex;flex-wrap:wrap;gap:2px 6px;color:#6b7481;font-size:var(--dealer-fs-caption,13px)}
.oh-step-sub .oh-so{flex-basis:auto}
.oh-card-foot{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 16px;border-top:1px solid #eef1f5;color:#6b7481;font-size:var(--dealer-fs-caption,13px)}
.oh-card-foot .oh-erp-when{display:inline}
.oh-card-alert{color:#92400e;font-weight:750}
@media(max-width:1200px){.oh-card-body{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1080px){.oh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.oh-toolbar{flex-direction:column;align-items:stretch}.oh-search{flex-basis:auto}}
@media(max-width:760px){
.oh-card-head{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px}
.oh-card-id{grid-column:1;grid-row:1}
.oh-card-status{grid-column:1;grid-row:2}
.oh-card-value{grid-column:2;grid-row:1 / 3;align-self:start}
.oh-card-open{grid-column:1 / -1;grid-row:3;width:100%}
.oh-card-body,.oh-card-foot{padding-left:14px;padding-right:14px}
.oh-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}
.oh-step::before{content:none}
}
@media(max-width:420px){.oh-stats{gap:8px}.oh-stat{padding:12px}.oh-stat-ico{display:none}.oh-stat strong{font-size:var(--dealer-fs-h2,22px)}.oh-stat-value strong{font-size:var(--dealer-fs-emphasis,16px)}}
/* ---------- Order Detail lifecycle redesign (2026-09-27): header, order activity, ERP & Billing summary, items,
   invoices, documents. Presentation only; every value comes from the dealer's server projection. ---------- */
.oh-detail .oh-status-hint,.oh-detail .oh-cancel-banner,.oh-detail .oh-action-banner{margin:0}
.ohd-card{margin:0;padding:16px;background:#fff;border:1px solid #e8ecf2;border-radius:12px;box-shadow:0 5px 18px rgba(23,32,51,.04);min-width:0}
.ohd-card>h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;color:#172033;font-size:var(--dealer-fs-emphasis,16px)}
.ohd-card .oh-chip{margin-left:0}
.ohd-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 24px;padding:18px 20px;background:linear-gradient(135deg,#f4f7ff,#fff);border:1px solid #e3e9f7;border-radius:14px}
.ohd-hero-main h2{margin:0;color:#172033;font-size:var(--dealer-fs-h1-sm,24px);font-weight:850;letter-spacing:-.01em}
.ohd-hero-main .oh-eyebrow{margin:0 0 4px}
.ohd-hero-main .oh-sub{margin:4px 0 0}
.ohd-hero-facts{display:grid;grid-template-columns:repeat(3,auto);gap:10px}
.ohd-fact{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;padding:10px 14px;background:#fff;border:1px solid #e8ecf2;border-radius:10px}
.ohd-fact small,.ohd-kv small{color:#8a93a1;font-size:var(--dealer-fs-micro,11.5px);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.ohd-fact strong{color:#172033;font-size:var(--dealer-fs-body,14.5px);font-weight:800;white-space:nowrap}
.ohd-fact .oh-chip{margin-left:0}
.ohd-fact-value strong{color:#1b2aa6;font-size:var(--dealer-fs-h4,18px)}
.ohd-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px;align-items:start}
.ohd-grid .oh-erp-card{margin:0;display:block}
.ohd-steps{list-style:none;margin:0;padding:0;display:grid}
.ohd-step{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:0 0 16px}
.ohd-step:last-child{padding-bottom:0}
.ohd-step::before{content:'';position:absolute;left:8px;top:18px;bottom:0;width:2px;background:#e3e8f0}
.ohd-step:last-child::before{content:none}
.ohd-step.done::before{background:#9fd5b7}
.ohd-dot{position:relative;z-index:1;width:18px;height:18px;margin-top:1px;border:2px solid #cfd6e2;border-radius:999px;background:#fff;box-sizing:border-box}
.ohd-step.done .ohd-dot{border-color:#1f8c57;background:#1f8c57;box-shadow:inset 0 0 0 3px #fff}
.ohd-step.current .ohd-dot{border-color:#d97706;background:#fff4e5}
.ohd-step.stopped .ohd-dot{border-color:#b42318;background:#fdecec}
.ohd-step.na .ohd-dot{border-style:dashed}
.ohd-step>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ohd-step strong{color:#172033;font-size:var(--dealer-fs-body,14.5px);font-weight:750;overflow-wrap:anywhere}
.ohd-step.todo strong,.ohd-step.na strong{color:#6b7481}
.ohd-when{color:#2455c3;font-size:var(--dealer-fs-caption,13px);font-weight:700}
.ohd-step small{color:#6b7481;font-size:var(--dealer-fs-caption,13px);overflow-wrap:anywhere}
.ohd-kvs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ohd-kv{display:flex;flex-direction:column;gap:3px;min-width:0;padding:9px 11px;background:#fbfcfe;border:1px solid #e8ecf2;border-radius:10px}
.ohd-kv strong{color:#172033;font-size:var(--dealer-fs-body,14.5px);font-weight:800;overflow-wrap:anywhere}
.ohd-kv strong a{margin-left:6px;font-size:var(--dealer-fs-caption,13px)}
.ohd-kv-qty strong{font-size:var(--dealer-fs-h4,18px);color:#1b2aa6}
.ohd-sub-head{margin:14px 0 6px;color:#172033;font-size:var(--dealer-fs-small,14px);font-weight:800}
.ohd-others{margin:0;padding-left:18px;display:grid;gap:4px;color:#4e5968;font-size:var(--dealer-fs-label,13.5px)}
.ohd-erp .oh-note,.ohd-invoices .oh-note,.ohd-documents .oh-note,.ohd-items .oh-note{margin:10px 0 0}
.ohd-qty-lines{min-width:0}
.ohd-line-total{font-weight:800;color:#172033}
.ohd-items .oh-totals-card{margin-top:12px}
.ohd-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
.ohd-compare .ohd-kv strong{font-size:var(--dealer-fs-h4,18px)}
.ohd-docs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ohd-docs li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e8ecf2;border-radius:10px;background:#fbfcfe}
.ohd-docs li>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.ohd-docs small{color:#8a93a1;font-size:var(--dealer-fs-micro,11.5px);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.ohd-docs .oh-open{text-decoration:none;display:inline-flex;align-items:center}
.ohd-quotation .oh-commercial{margin:0}
.oh-detail .oh-timeline-card,.oh-detail .oh-cancel{margin:0}
@media(max-width:1100px){.ohd-grid{grid-template-columns:minmax(0,1fr)}.ohd-hero{grid-template-columns:minmax(0,1fr)}.ohd-hero-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.ohd-fact strong{white-space:normal}}
/* Phone: facts stack, item / ERP quantity rows become label-value cards (amounts stay full size, no page scroll). */
@media(max-width:680px){
.ohd-hero{padding:14px}
.ohd-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.ohd-fact-value{grid-column:1 / -1}
.ohd-card{padding:14px}
.ohd-kvs,.ohd-compare{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.oh-lines.ohd-lines,.oh-lines.ohd-qty-lines,.oh-lines.oh-invoices{min-width:0}
.ohd-lines,.ohd-lines tbody,.ohd-lines tr,.ohd-lines td,.ohd-qty-lines,.ohd-qty-lines tbody,.ohd-qty-lines tr,.ohd-qty-lines td{display:block;width:100%}
.ohd-lines thead,.ohd-qty-lines thead{display:none}
.ohd-lines tr,.ohd-qty-lines tr{padding:10px 0;border-bottom:1px solid #eef1f5}
.ohd-lines tbody tr:last-child,.ohd-qty-lines tbody tr:last-child{border-bottom:0}
.ohd-lines td,.ohd-lines tbody tr:last-child td,.ohd-qty-lines td,.ohd-qty-lines tbody tr:last-child td{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 6px;border:0;white-space:normal;text-align:right}
.ohd-lines td::before,.ohd-qty-lines td::before{content:attr(data-label);color:#8a93a1;font-size:var(--dealer-fs-caption,13px);text-align:left}
.ohd-lines td:first-child,.ohd-qty-lines td:first-child{display:block;text-align:left}
.ohd-lines td:first-child::before,.ohd-qty-lines td:first-child::before{content:none}
.ohd-items .oh-table-wrap,.ohd-erp .oh-table-wrap{border:0;box-shadow:none;background:transparent}
}
@media(max-width:420px){.ohd-kvs,.ohd-compare{grid-template-columns:minmax(0,1fr)}.ohd-hero-main h2{font-size:var(--dealer-fs-h2,22px)}}
.ohd-kvs-qty{margin-top:8px}
.ohd-kvs-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ohd-kvs-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:420px){.ohd-kvs-3,.ohd-kvs-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Tablet too: the 10-column item table becomes label-value rows (amounts never hidden behind a sideways scroll). */
@media(max-width:900px){
.oh-lines.ohd-lines{min-width:0}
.ohd-lines,.ohd-lines tbody,.ohd-lines tr,.ohd-lines td{display:block;width:100%}
.ohd-lines thead{display:none}
.ohd-lines tr{padding:10px 0;border-bottom:1px solid #eef1f5}
.ohd-lines tbody tr:last-child{border-bottom:0}
.ohd-lines td,.ohd-lines tbody tr:last-child td{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 6px;border:0;white-space:normal;text-align:right}
.ohd-lines td::before{content:attr(data-label);color:#8a93a1;font-size:var(--dealer-fs-caption,13px);text-align:left}
.ohd-lines td:first-child{display:block;text-align:left}
.ohd-lines td:first-child::before{content:none}
.ohd-items .oh-table-wrap{border:0;box-shadow:none;background:transparent}
}
