/* M07 — orders, payments, billing documents (prefix .m07-) */
.m07-code { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 500; }
.m07-num { font-variant-numeric: tabular-nums; }
.m07-neg { color: var(--rv-danger); font-variant-numeric: tabular-nums; }
.m07-miss { color: var(--rv-danger); font-weight: 500; }
.m07-reason { max-width: 240px; white-space: normal; }
.m07-kpi { margin-bottom: var(--rv-space-4); }

/* list cells */
.m07-items { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; min-width: 0; }
.m07-items__title { overflow-wrap: anywhere; }
.m07-more { display: inline-flex; padding: 0 6px; border-radius: var(--rv-radius-pill); background: var(--rv-neutral-100); color: var(--rv-text-secondary); font-size: var(--rv-fs-small); line-height: 18px; white-space: nowrap; }
.m07-buyer { display: flex; flex-direction: column; min-width: 0; }
.m07-buyer__name { font-weight: 500; overflow-wrap: anywhere; }

/* numbering card (BIL-01) */
.m07-numbering { display: flex; gap: var(--rv-space-3); margin-bottom: var(--rv-space-4); padding: var(--rv-space-3) var(--rv-space-4);
  border: 1px solid var(--rv-primary-200); border-radius: var(--rv-radius-card); background: var(--rv-primary-50); }
.m07-numbering__icon { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--rv-neutral-0); color: var(--rv-primary-800); }
.m07-numbering__body { min-width: 0; flex: 1 1 auto; }
.m07-numbering__title { font-weight: 600; color: var(--rv-primary-900); }
.m07-numbering__kv { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--rv-space-2) var(--rv-space-4); margin: var(--rv-space-2) 0; }
.m07-numbering__kv dt { font-size: var(--rv-fs-small); color: var(--rv-text-muted); }
.m07-numbering__kv dd { margin: 0; overflow-wrap: anywhere; }
.m07-numbering__kv code { font-size: 13px; }
.m07-numbering p { margin: 0; }

/* ORD-02 */
.m07-tabbody { margin-top: var(--rv-space-4); }
.m07-order__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--rv-space-4); align-items: start; }
.m07-lines .rv-table { min-width: 760px; }
.m07-lines .is-n, .m07-paytable .is-n { text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
.m07-lines td { vertical-align: top; }
.m07-line a { font-weight: 500; }
.m07-lines__total th, .m07-lines__total td { background: var(--rv-surface-subtle); font-weight: 500; border-top: 1px solid var(--rv-border); }
.m07-lines__total th { text-align: left; }
.m07-totals { display: flex; flex-direction: column; gap: 2px; font-variant-numeric: tabular-nums; }
.m07-totals__row { display: flex; justify-content: space-between; gap: var(--rv-space-3); padding: 3px 0; }
.m07-totals__row > span:first-child { color: var(--rv-text-secondary); }
.m07-totals__row.is-sep { margin-top: 4px; padding-top: 8px; border-top: 1px dashed var(--rv-border); }
.m07-totals__row.is-total { margin-top: 4px; padding-top: 8px; border-top: 2px solid var(--rv-primary-700); font-size: 16px; }
.m07-totals__row.is-total > span:first-child { color: var(--rv-text-primary); font-weight: 500; }
.m07-rights, .m07-uses { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.m07-rights__item, .m07-uses li { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--rv-space-3); padding: var(--rv-space-2) 0; border-bottom: 1px solid var(--rv-divider); }
.m07-rights__item:last-child, .m07-uses li:last-child { border-bottom: 0; }
.m07-rights__main { min-width: 0; }
.m07-rights__side, .m07-uses__st { flex: 0 0 auto; text-align: right; }
.m07-terms { font-size: 13px; }
.m07-paytable td { vertical-align: top; }
.m07-receipt { margin: 0; max-height: 260px; overflow: auto; padding: var(--rv-space-3); border-radius: var(--rv-radius-card); background: var(--rv-neutral-800); color: #E5E7EB;
  font: 12px/18px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }

.m07-kv-tight .rv-kv__row { grid-template-columns: 112px minmax(0, 1fr); gap: var(--rv-space-2); }
.m07-side .rv-kv__row { grid-template-columns: 116px minmax(0, 1fr); gap: var(--rv-space-2); }

/* document preview (ORD-02 เอกสาร / BIL-02) */
.m07-docprev { min-width: 0; padding: var(--rv-space-4); background: var(--rv-neutral-100); border-radius: var(--rv-radius-card); }
.m07-doc__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--rv-space-4); align-items: start; }

@media (max-width: 1199px) {
  .m07-order__grid, .m07-doc__layout { grid-template-columns: minmax(0, 1fr); }
  .m07-numbering__kv { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .m07-numbering { flex-direction: column; gap: var(--rv-space-2); }
  .m07-numbering__kv { grid-template-columns: minmax(0, 1fr); }
  .m07-docprev { padding: var(--rv-space-2); margin: 0 calc(-1 * var(--rv-space-2)); }
  .m07-reason { max-width: none; }
}
