/* ---------- My Orders / Order Details ---------- */
.mo-open { overflow: hidden; }
.mo-open .toast { z-index: 300; }
.mo-page {
  background: #fff; color: #212121; overflow-y: auto; z-index: 120; padding-bottom: 24px;
  animation: moIn .25s ease-out both;
}
.od-page { z-index: 121; }
@keyframes moIn { from { transform: translate(-46%, 0); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }

.mo-top {
  position: sticky; top: 0; z-index: 3; background: #fff; height: 56px;
  display: flex; align-items: center; gap: 12px; padding: 0 14px;
}
.mo-top h1 { flex: 1; font-size: 17px; font-weight: 600; letter-spacing: -.1px; }
.mo-back { display: flex; padding: 4px; margin-left: -2px; }
.od-help { border: 1.5px solid #dcdcdc; border-radius: 10px; height: 34px; padding: 0 18px; font-size: 14px; font-weight: 600; }

/* Banner */
.mo-banner { display: block; width: calc(100% - 28px); margin: 2px 14px 0; border-radius: 12px; }
.mo-dots { display: flex; justify-content: center; gap: 6px; margin: 8px 0 2px; }
.mo-dots i { width: 9px; height: 3px; border-radius: 2px; background: #d6d6d6; }
.mo-dots i:first-child { width: 30px; background: #212121; }

/* Search + chips */
.mo-tools { display: flex; align-items: center; gap: 12px; padding: 14px 14px 0; }
.mo-search { flex: 1; display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border: 1.5px solid #d9d9d9; border-radius: 10px; }
.mo-search input { flex: 1; min-width: 0; border: none; outline: none; background: none; font-size: 14px; color: #212121; }
.mo-search input::placeholder { color: #7b7b7b; }
.mo-filter { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; padding: 0 6px 0 10px; height: 36px; }
.mo-chips { display: flex; gap: 8px; padding: 14px 14px 12px; overflow-x: auto; scrollbar-width: none; }
.mo-chips::-webkit-scrollbar { display: none; }
.mo-chips button { flex-shrink: 0; height: 32px; padding: 0 11px; border: 1.5px solid #dcdcdc; border-radius: 8px; font-size: 13.5px; }
.mo-chips button.on { background: #111; border-color: #111; color: #fff; }

/* Order rows */
.mo-item { padding: 14px; border-bottom: 1px solid #e3e3e3; }
.mo-item:first-child { border-top: 1px solid #e3e3e3; }
.mo-row { display: flex; align-items: center; gap: 14px; cursor: pointer; }
.mo-img { width: 64px; height: 64px; border-radius: 10px; background: #f2f3f5; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.mo-img img { max-width: 82%; max-height: 82%; object-fit: contain; mix-blend-mode: multiply; }
.mo-img .ph { font-size: 26px; }
.mo-img.sm { width: 50px; height: 50px; border-radius: 8px; }
.mo-info { flex: 1; min-width: 0; }
.mo-info b { display: block; font-size: 14px; font-weight: 600; line-height: 19px; }
.mo-info span { display: block; margin-top: 3px; font-size: 12px; color: #5f6368; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-fail { color: #c4501a; }
.st-cancel { color: #e04848; }
.mo-note { margin-top: 12px; background: #fdf1d6; border-radius: 8px; padding: 10px 14px; font-size: 12px; line-height: 18px; color: #3a3a3a; }
.mo-rate { margin-top: 12px; background: #f6f7f9; border-radius: 10px; padding: 9px 12px 9px 16px; display: flex; align-items: center; justify-content: space-between; font-size: 12px; }

.stars { display: flex; gap: 8px; }
.stars button { display: flex; padding: 2px; }
.stars svg path { fill: none; stroke: #555; }
.stars .on svg path { fill: #108934; stroke: #108934; }

.mo-empty { text-align: center; padding: 60px 20px; display: flex; flex-direction: column; gap: 6px; align-items: center; color: #5f6368; font-size: 13px; }
.mo-empty .me-ic { font-size: 40px; }
.mo-empty b { color: #212121; font-size: 15px; font-weight: 600; }

/* Details */
.od-sec { padding: 12px 16px; }
.od-sec h3 { font-size: 16px; font-weight: 600; margin-bottom: 12px; letter-spacing: -.1px; }
.od-first { border-bottom: 1px solid #ececec; padding-bottom: 16px; margin-bottom: 8px; }
.od-prod { display: flex; align-items: center; gap: 14px; }
.od-pi { flex: 1; min-width: 0; }
.od-pi b { display: block; font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.od-pi span { display: block; font-size: 12px; color: #717478; margin-top: 2px; }
.od-id { margin-top: 18px; font-size: 12px; color: #717478; display: flex; align-items: center; gap: 4px; }
.od-copy { display: flex; padding: 2px; }
.od-status { margin-top: 8px; border: 1.5px solid #d9d9d9; border-radius: 12px; padding: 11px 14px; }
.od-st-h { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.od-st-h svg { flex-shrink: 0; }
.od-st-h b { flex: 1; font-size: 16px; font-weight: 600; color: #108934; }
.od-status.st-cancel .od-st-h b { color: #e04848; }
.od-status.st-fail .od-st-h b { color: #c4501a; }
.od-chev { display: flex; transition: transform .2s; }
.od-status.open .od-chev { transform: rotate(180deg); }
.od-steps { margin: 14px 0 2px 10px; }
.od-step { position: relative; display: flex; gap: 14px; padding-bottom: 16px; font-size: 13px; }
.od-step:last-child { padding-bottom: 0; }
.od-step i { width: 10px; height: 10px; border-radius: 50%; background: #c9c9c9; margin-top: 4px; flex-shrink: 0; position: relative; z-index: 1; }
.od-step:not(:last-child)::before { content: ""; position: absolute; left: 4px; top: 10px; bottom: -2px; width: 2px; background: #e0e0e0; }
.od-step.done i, .od-step.done:not(:last-child)::before { background: #108934; }
.od-step.cancel i { background: #e04848; }
.od-step.fail i { background: #c4501a; }
.od-step b { font-weight: 600; display: block; }
.od-step small { color: #717478; font-size: 12px; }

.od-reward { border-radius: 14px; border: 1px solid #f7cdd1; background: linear-gradient(90deg, #fde3e5, #fcd5d9); padding: 14px 12px 12px; }
.od-rw-top { display: flex; align-items: center; gap: 12px; }
.od-rw-logo { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.od-rw-logo b {
  color: #e50914; font-family: "Bebas Neue", Impact, "Arial Narrow", sans-serif; font-weight: 900;
  font-size: 23px; letter-spacing: .5px; line-height: 1; transform: scaleY(1.1);
}
.od-rw-logo small { font-size: 11px; margin-top: 3px; }
.od-rw-logo em { font-weight: 700; font-style: italic; }
.od-rw-top p { flex: 1; font-size: 13.5px; font-weight: 600; line-height: 18px; }
.od-rw-arrow { width: 38px; height: 24px; border-radius: 12px; background: #111; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.od-rw-note { margin-top: 12px; background: #fff; border-radius: 10px; padding: 9px 12px; display: flex; gap: 8px; font-size: 12px; line-height: 17px; }

.od-promise { display: flex; align-items: center; gap: 14px; border: 1.5px solid #e6e6e6; border-radius: 12px; padding: 11px 14px; font-size: 14px; font-weight: 500; }
.od-promise i { width: 38px; height: 38px; border-radius: 8px; background: #edf2f8; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.od-ratebox { background: #f5f6f8; border-radius: 14px; padding: 12px 16px 14px; }
.od-ratebox .rt { display: flex; align-items: center; gap: 14px; font-size: 14px; }
.od-ratebox .stars { background: #fff; border-radius: 10px; justify-content: center; gap: 16px; padding: 9px; margin-top: 10px; }

.od-card { border: 1.5px solid #e6e6e6; border-radius: 12px; padding: 12px 14px; font-size: 13px; line-height: 19px; color: #3a3a3a; }
.od-card > b { display: block; color: #212121; font-size: 14px; font-weight: 600; margin-bottom: 2px; }
.od-price div { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; }
.od-price b { color: #212121; }

.od-banner { display: block; width: 100%; border-radius: 4px; }
