/* Domain layout; presentation belongs to styles/components.css. */
.commercial-operations { display: grid; gap: var(--space-8); min-width: 0; }
.commercial-hero { display: flex; align-items: flex-start; justify-content: space-between;  gap: var(--space-8); }
.commercial-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.commercial-kpis article { min-width: 0; }
.commercial-kpis span, .commercial-kpis small { display: block; }
.commercial-kpis strong { display: block; }
.commercial-toolbar { display: grid; grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(140px, auto)) auto; align-items: center; gap: var(--space-6); }
.commercial-toolbar > span { text-align: right; }
.commercial-revenue-filter { display: grid; align-items: end; gap: var(--space-3); grid-template-columns: repeat(5, minmax(130px, 1fr)) auto; }
.commercial-order-list { display: grid; gap: var(--space-6); }
.commercial-order-card { overflow: clip; }
.commercial-order-card > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-6); align-items: center; padding: var(--space-6); }
.commercial-order-card > header > div { text-align: right; }
.commercial-order-card > header small, .commercial-order-heading small { display: block; margin-top: .25rem; }
.commercial-order-heading { display: grid; grid-template-columns: auto minmax(100px, auto) minmax(0, 1fr); align-items: center; gap: var(--space-6); min-width: 0; padding: 0; text-align: left; }
.commercial-order-detail { display: grid; gap: var(--space-6); padding: 0 var(--space-6) var(--space-6); }
.commercial-order-detail > :first-child { margin-top: var(--space-4); }
.commercial-detail-table td strong, .commercial-detail-table td small { display: block; }
.commercial-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.commercial-subsection > header, .commercial-subsection article, .commercial-chart > header, .commercial-quarantine > header { display: flex; justify-content: space-between; align-items: center; gap: var(--space-6); }
.commercial-subsection article { padding-block: .75rem; }
.commercial-subsection strong, .commercial-subsection small { display: block; }
.commercial-order-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.commercial-operation-modal { box-sizing: border-box; width: min(880px, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); }
.commercial-operation-modal .c-modal__content { width: 100%; max-width: 100%; }
.commercial-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.commercial-form-wide { grid-column: 1 / -1; }
.commercial-lines-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-6); margin-block: var(--space-4) var(--space-2); }
.commercial-line { display: grid; grid-template-columns: minmax(220px, 1fr) 110px 150px auto; }
.commercial-models > header, .commercial-history > header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-6); }
.commercial-models h3, .commercial-history h3 { margin: .2rem 0 0; }
.commercial-revenue-bars { display: grid; grid-template-columns: repeat(12, minmax(42px, 1fr)); align-items: end; gap: var(--space-2); min-height: 260px; overflow-x: auto; padding-top: var(--space-6); }
.commercial-revenue-bars > div { display: grid; grid-template-rows: auto 180px auto; gap: .5rem; align-items: end; min-width: 54px; text-align: center; }
.commercial-revenue-bars span, .commercial-revenue-bars strong { writing-mode: horizontal-tb; }
.commercial-revenue-bars i { display: block; width: min(34px, 75%); height: var(--bar); min-height: 2px; margin-inline: auto; }
.commercial-breakdown { display: grid; }
.commercial-breakdown p { display: flex; justify-content: space-between; gap: var(--space-6); margin: 0; padding-block: .55rem; }
@media (max-width: 900px) {
.commercial-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.commercial-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.commercial-revenue-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.commercial-detail-grid { grid-template-columns: 1fr; }
.commercial-line { grid-template-columns: 1fr 90px 130px; }
.commercial-line button { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 700px) {
.commercial-revenue-bars { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow-x: visible; gap: var(--space-6); }
.commercial-revenue-bars > div { min-width: 0; grid-template-rows: auto 120px auto; }
.commercial-hero, .commercial-order-card > header { grid-template-columns: 1fr; display: grid; }
.commercial-order-card > header > div { text-align: left; }
.commercial-order-heading { grid-template-columns: auto 1fr; }
.commercial-order-heading small { grid-column: 1 / -1; }
.commercial-kpis, .commercial-toolbar, .commercial-revenue-filter, .commercial-form-grid { grid-template-columns: 1fr; }
.commercial-toolbar > span { text-align: left; }
.commercial-line { grid-template-columns: 1fr; }
.commercial-form-wide { grid-column: auto; }
.commercial-subsection article { align-items: flex-start; flex-direction: column; }
.commercial-subsection article > div:last-child { display: flex; flex-wrap: wrap; }
}
/* Revenue report: the same hierarchy as the source portal, using shared surfaces and type. */
.revenue-report-bar { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); }
.revenue-report-bar h3, .revenue-section-heading h3, .revenue-financial-grid h4 { margin: 0; }
.revenue-report-bar p, .revenue-section-heading p { margin: var(--space-2) 0 0; color: var(--muted); font-size: var(--type-caption); }
.commercial-revenue-filter .c-field { min-width: 0; }
.revenue-overview-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: var(--space-4); align-items: start; }
.revenue-overview-grid > * { min-width: 0; }
.revenue-section-heading { margin-bottom: var(--space-5); }
.revenue-legend { display: flex; flex-wrap: wrap; gap: var(--space-4); font-size: var(--type-caption); margin-bottom: var(--space-4); }
.revenue-legend > span { display: inline-flex; align-items: center; gap: var(--space-2); }
.revenue-series--total { --series-color: var(--ink); }
.revenue-series--sale { --series-color: var(--brand-primary); }
.revenue-series--rental { --series-color: var(--blue); }
.revenue-legend > span::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--series-color); }
.revenue-month-chart { display: block; width: 100%; height: auto; overflow: visible; }
.revenue-month-chart text { fill: var(--muted); font-size: 12px; }
.revenue-month-chart polyline { fill: none; stroke: var(--series-color); stroke-width: 3; }
.revenue-month-chart circle { fill: var(--series-color); }
.revenue-grid-line { stroke: var(--line); }
.revenue-machines { display: grid; gap: var(--space-4); }
.revenue-machine { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-3); align-items: center; font-size: var(--type-caption); }
.revenue-machine + .revenue-machine { border-top: 1px solid var(--line); padding-top: var(--space-4); }
.revenue-machine > span { overflow-wrap: anywhere; }
.revenue-machine-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); margin-block: var(--space-2); }
.revenue-machine-bar i { display: block; height: 8px; width: var(--share); background: var(--series-color); border-radius: var(--radius-sm); }
.revenue-financial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.revenue-financial-grid > article { min-width: 0; }
.revenue-financial-total > strong { display: block; font-size: var(--type-section); font-weight: var(--weight-body); margin-block: var(--space-3) var(--space-5); overflow-wrap: anywhere; }
.revenue-split { height: 12px; border-radius: var(--radius-sm); background: linear-gradient(to right, var(--brand-primary) var(--share), var(--blue) var(--share)); }
.revenue-financial-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--line); }
.revenue-financial-pair :is(span, b) { display: block; font-weight: var(--weight-body); overflow-wrap: anywhere; }
.revenue-financial-pair span, .revenue-economics :is(dt, small) { color: var(--muted); font-size: var(--type-caption); }
.revenue-economics > p { font-size: var(--type-caption); color: var(--muted); }
.revenue-margin-ring { width: 96px; height: 96px; border-radius: 50%; background: conic-gradient(var(--brand-primary) var(--margin-angle), var(--surface-2) 0); display: grid; place-items: center; margin-block: var(--space-4); }
.revenue-margin-ring span { width: 72px; height: 72px; border-radius: 50%; background: var(--card-surface); display: grid; place-items: center; font-size: var(--type-card); }
.revenue-economics dl { display: grid; gap: 0; margin-block: var(--space-5) 0; }
.revenue-economics dl > div { padding-block: var(--space-3); border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); }
.revenue-economics dd { margin: 0; }
.revenue-sellers > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--space-2); margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--line); font-size: var(--type-caption); }
.revenue-sellers span { overflow-wrap: anywhere; }
.revenue-sellers strong { font-weight: var(--weight-body); }
.revenue-sellers i { grid-column: 1 / -1; display: block; height: 6px; width: var(--share); background: var(--brand-primary); border-radius: var(--radius-sm); }
.c-commercial details.revenue-fold > summary { display: flex; align-items: center; padding-inline-start: var(--space-6); }
.c-commercial details.revenue-fold > summary::before { inset-inline-start: var(--space-1); }
.revenue-fold > summary .revenue-section-heading { margin: 0; }
.revenue-fold > summary .revenue-section-heading p { margin-top: var(--space-1); }
.revenue-fold[open] > summary { border-bottom: 1px solid var(--line); padding-bottom: var(--space-5); }
.revenue-fold > :not(summary) { margin-top: var(--space-6); }
.revenue-fold .c-table { table-layout: fixed; min-width: 0; }
.revenue-fold .c-table :is(td, th) { overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .revenue-overview-grid { grid-template-columns: 1fr; }
  .revenue-financial-grid { grid-template-columns: 1fr; }
  .revenue-machines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .revenue-report-bar { align-items: stretch; flex-direction: column; }
  .revenue-machines { grid-template-columns: 1fr; }
  .revenue-financial-pair { grid-template-columns: 1fr; }
  .revenue-legend { gap: var(--space-2) var(--space-3); }
  .revenue-fold .c-table :is(td, th) { width: auto; }
}
