.customer-order-detail { min-width: 0; }
.order-detail-back { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin: 12px 0 4px; color: #666; font-size: 13px; text-decoration: none; }
.order-detail-back .icon { width: 16px; height: 16px; }
.order-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 12px 0 24px; }
.order-detail-heading h2 { margin: 0; font-size: 26px; letter-spacing: -.6px; }
.order-detail-heading p { margin: 7px 0 0; color: #666; font-size: 13px; }
.order-detail-refresh { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #dedede; border-radius: 9px; background: #fff; }
.order-detail-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.order-repeat-trigger { min-height: 44px; padding: 0 16px; border: 1px solid #dedede; border-radius: 9px; color: #222; background: #fff; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.order-repeat-trigger:hover { background: #f4f4f4; }
.order-detail-card { min-width: 0; padding: 24px; border: 1px solid #e4e4e4; border-radius: 12px; background: #fff; }
.order-detail-card h3 { margin: 0; color: #222; font-size: 16px; font-weight: 600; }
.order-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 20px; align-items: start; margin-top: 20px; }
.order-detail-aside { display: grid; gap: 20px; }
.order-progress-title { display: flex; gap: 16px; justify-content: space-between; }
.order-progress-title > span { color: #777; font-size: 12px; }
.order-progress ol { display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; padding: 0; margin: 24px 0 0; gap: 8px; }
.order-progress li { display: grid; gap: 9px; color: #888; font-size: 12px; line-height: 1.5; }
.order-progress li > span { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #ddd; border-radius: 50%; background: #f5f5f5; }
.order-progress .is-complete, .order-progress .is-current { color: #222; }
.order-progress .is-complete > span, .order-progress .is-current > span { color: #fff; background: #222; border-color: #222; }
.order-progress .is-current { font-weight: 600; }
.order-items-scroll { overflow-x: auto; margin: 16px -24px 0; }
.order-items table { width: 100%; border-collapse: collapse; font-size: 13px; }
.order-items th, .order-items td { padding: 14px 10px; border-bottom: 1px solid #eee; text-align: right; vertical-align: top; }
.order-items th { font-size: 11px; color: #777; font-weight: 500; }
.order-items th:first-child, .order-items td:first-child { width: 48%; padding-left: 24px; text-align: left; overflow-wrap: anywhere; }
.order-items th:last-child, .order-items td:last-child { padding-right: 24px; }
.order-items td strong { font-size: 13px; font-weight: 500; }
.order-items td small { display: block; margin-top: 4px; color: #777; font-size: 11px; }
.order-item-voided { color: #888; }
.order-detail-total { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 24px; font-size: 14px; }
.order-detail-total strong { font-size: 20px; font-weight: 600; }
.order-detail-note { margin: 12px 0 0; color: #777; font-size: 12px; line-height: 1.55; }
.order-progress .order-review-note { margin: 14px 0 0; padding: 12px 14px; border-radius: 8px; background: #f5f5f5; color: #444; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.order-progress .order-review-note strong { display: block; margin-bottom: 2px; color: #222; font-size: 12px; font-weight: 600; }
.order-progress .order-review-note.is-rejected { background: #fff4f2; color: #7d2a21; }
.order-progress .order-review-note.is-rejected strong { color: #6b2018; }
.order-detail-card dl { display: grid; gap: 16px; margin: 20px 0 0; }
.order-detail-card dt { margin-bottom: 5px; color: #777; font-size: 12px; }
.order-detail-card dd { margin: 0; color: #333; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.order-shipping-address { white-space: pre-line; }
.order-detail-contact, .order-document-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 10px 0; border: 0; background: transparent; color: #333; text-align: left; text-decoration: underline; text-underline-offset: 3px; font: inherit; font-size: 13px; cursor: pointer; }
.order-detail-contact { margin-top: 12px; }
.order-document-link span { color: #777; font-size: 11px; text-decoration: none; }
.order-documents h3 { margin-bottom: 12px; }
.customer-order-detail :focus-visible { outline: 2px solid #006aff; outline-offset: 3px; }
@media(max-width: 900px) { .order-detail-layout { grid-template-columns: minmax(0, 1fr); } .order-detail-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 560px) {
  .order-detail-heading { flex-wrap: wrap; gap: 14px; }
  .order-detail-back, .order-detail-heading { padding-left: 12px; padding-right: 12px; }
  .order-detail-card { padding: 18px 14px; border-radius: 10px; }
  .order-detail-layout, .order-detail-aside { gap: 14px; grid-template-columns: minmax(0, 1fr); }
  .order-progress ol { grid-template-columns: 1fr; gap: 12px; margin-top: 18px; }
  .order-progress li { display: flex; align-items: center; gap: 10px; font-size: 13px; }
  .order-items-scroll { margin-left: -14px; margin-right: -14px; }
  .order-items th, .order-items td { padding: 12px 5px; font-size: 12px; }
  .order-items th { font-size: 10px; }
  .order-items th:first-child, .order-items td:first-child { padding-left: 14px; width: 40%; }
  .order-items th:last-child, .order-items td:last-child { padding-right: 14px; }
}
.order-repeat-open { overflow: hidden; }
.order-repeat-dialog { width: min(580px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); margin: auto; padding: 0; overflow: hidden; border: 1px solid #e4e4e4; border-radius: 16px; color: #222; background: #fff; box-shadow: 0 20px 80px #0002; }
.order-repeat-dialog[open] { display: flex; flex-direction: column; }
.order-repeat-dialog::backdrop { background: rgb(0 0 0 / 35%); }
.order-repeat-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 24px 24px 18px; }
.order-repeat-heading h2 { margin: 0; font-size: 22px; letter-spacing: -.4px; }
.order-repeat-heading h2:focus { outline: none; }
.order-repeat-heading p { margin: 6px 0 0; font-size: 13px; color: #777; overflow-wrap: anywhere; }
.order-repeat-close { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; margin: -8px -8px 0 0; padding: 0; border: 0; border-radius: 8px; color: #444; background: transparent; cursor: pointer; }
.order-repeat-close:hover { background: #f5f5f5; }
.order-repeat-body { overflow: auto; overscroll-behavior: contain; min-height: 0; padding: 0 24px 24px; }
.order-repeat-description, .order-repeat-cart-note { margin: 0; color: #666; font-size: 13px; line-height: 1.5; }
.order-repeat-items { list-style: none; margin: 18px 0 0; padding: 0; }
.order-repeat-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 18px 0; border-top: 1px solid #ececec; font-size: 14px; }
.order-repeat-item strong { font-weight: 600; overflow-wrap: anywhere; }
.order-repeat-item p { margin: 6px 0 0; color: #666; font-size: 12px; line-height: 1.5; }
.order-repeat-item small { display: block; margin-top: 5px; color: #777; font-size: 11px; line-height: 1.45; }
.order-repeat-price { text-align: right; }
.order-repeat-price span { display: block; margin-top: 5px; color: #777; font-size: 11px; }
.order-repeat-item.is-unavailable { color: #777; }
.order-repeat-total { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 4px 0 10px; padding-top: 20px; border-top: 1px solid #e4e4e4; font-size: 14px; }
.order-repeat-total strong { font-size: 20px; }
.order-repeat-notice, .order-repeat-error { margin: 0 0 16px; padding: 12px 14px; border-radius: 8px; background: #f5f5f5; font-size: 13px; line-height: 1.5; }
.order-repeat-error { color: #a02323; background: #fff3f2; }
.order-repeat-error p { margin: 0; }
.order-repeat-error button, .order-repeat-cart-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.order-repeat-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 18px 24px; border-top: 1px solid #e4e4e4; background: #fff; }
.order-repeat-primary, .order-repeat-secondary { min-height: 46px; padding: 10px 20px; border: 1px solid #dedede; border-radius: 9px; background: #fff; color: #222; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.order-repeat-primary { border-color: #222; background: #222; color: #fff; }
.order-repeat-dialog button:disabled { opacity: .5; cursor: wait; }
.order-repeat-dialog button:focus-visible, .order-repeat-dialog a:focus-visible { outline: 2px solid #006aff; outline-offset: 3px; }
@media(max-width: 560px) {
  .order-repeat-dialog { width: 100%; max-width: none; max-height: calc(100dvh - 24px); margin: auto 0 0; border: 0; border-radius: 18px 18px 0 0; }
  .order-repeat-heading { padding: 22px 18px 16px; }
  .order-repeat-body { padding: 0 18px 20px; }
  .order-repeat-item { gap: 12px; }
  .order-repeat-actions { padding: 16px 18px max(16px, env(safe-area-inset-bottom)); }
  .order-repeat-primary { flex: 1; }
}
@media print {
  body:has(.customer-order-detail) { background: #fff; overflow: visible !important; position: static !important; top: auto !important; left: auto !important; width: auto !important; }
  body:has(.customer-order-detail) .chat-widget, body:has(.customer-order-detail) dialog, body:has(.customer-order-detail) [data-portal-overlays] { display: none !important; }
  body:has(.customer-order-detail) dialog::backdrop { display: none !important; }
  body:has(.customer-order-detail) .workspace-header, body:has(.customer-order-detail) .skip-link, body:has(.customer-order-detail) #toast, body:has(.customer-order-detail) [data-chat-launcher], body:has(.customer-order-detail) #order-updates-host, .customer-order-detail .account-tabs, .customer-order-detail .simple-account-heading, .customer-order-detail .order-detail-back, .customer-order-detail button { display: none !important; }
  .customer-order-detail .order-detail-layout, .customer-order-detail .order-detail-aside { display: block; }
  .customer-order-detail .order-detail-card { margin-bottom: 16px; box-shadow: none; break-inside: avoid; }
  .customer-order-detail .order-items { break-inside: auto; }
  .customer-order-detail .order-items-scroll { overflow: visible; }
  .customer-order-detail tr { break-inside: avoid; }
}
