/* Shared reporting rhythm: clear totals, readable supporting context, and compact detail. */
.page-content .card { border-radius:16px; box-shadow:var(--shadow-sm); }
.page-content .card :is(h2,h3) { text-wrap:balance; }
.page-content th { background:var(--surface-2); color:var(--muted); font-size:10px; letter-spacing:.06em; text-transform:uppercase; font-weight:650; }
.page-content td { font-variant-numeric:tabular-nums; }
.business-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(205px,1fr)); gap:14px; margin-bottom:18px; }
.business-kpi { min-width:0; padding:22px; position:relative; display:flex; flex-direction:column; gap:12px; }
.business-kpis > #brief-profit { min-width:0; }
.business-kpis > #brief-profit > .business-kpi { height:100%; }
.business-kpi.primary { background:linear-gradient(135deg,var(--surface),#f1fbff); border-color:var(--accent-border); }
.business-kpi-head { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); font-weight:600; }
.business-kpi-head .est { margin-left:auto; }
.business-kpi-number { font-size:clamp(28px,2.4vw,38px); line-height:1.12; color:var(--text); font-weight:750; letter-spacing:-.045em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.business-kpi-number.negative { color:var(--bad); }
.business-kpi-number button { color:inherit; font:inherit; letter-spacing:inherit; background:none; border:0; text-align:left; cursor:pointer; padding:0; }
.business-kpi-number button:hover { color:var(--accent-text); }
.business-kpi-note { min-height:32px; font-size:11px; line-height:1.6; color:var(--muted); }
.business-kpi-note .brief-delta { font-size:10px; padding:3px 7px; }
.business-kpi-foot { display:flex; justify-content:space-between; align-items:end; gap:10px; margin-top:auto; font-size:10px; color:var(--muted); }
.business-kpi-foot a { color:var(--accent-text); font-weight:600; text-decoration:none; min-height:32px; display:inline-flex; align-items:center; }
.business-kpi-foot a:hover { text-decoration:underline; text-underline-offset:3px; }
.business-spark { width:86px; height:26px; color:var(--accent-text); flex-shrink:0; }
.business-kpi-status { font-size:10px; color:var(--warn); line-height:1.5; }
.business-channel { padding:17px 20px; }
.business-channel .brief-value { margin:7px 0; font-size:24px; font-weight:700; }
.business-channel-link { display:flex; gap:8px; align-items:center; width:100%; text-align:left; background:none; border:0; padding:0; cursor:pointer; color:inherit; font:inherit; }
.business-channel-link .business-channel-arrow { margin-left:auto; color:var(--accent-text); }
.business-section-head,.report-section-head { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.business-section-head h2,.report-section-head h2 { font-size:16px; font-weight:650; letter-spacing:-.02em; color:var(--text); }
.business-section-head p,.report-section-head p { margin-top:5px; font-size:12px; color:var(--muted); line-height:1.5; }
.report-context { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:12px 16px; margin-bottom:18px; border:1px solid var(--accent-border); border-radius:12px; background:var(--accent-soft); color:var(--text-2); font-size:12px; }
.report-context a { color:var(--accent-text); font-weight:600; }
.report-context button { margin-left:auto; }
.report-filter-label { color:var(--muted); font-size:11px; font-weight:600; margin-right:3px; }
.report-channel-filter { justify-content:flex-start; }
.report-mix-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,340px); gap:18px; margin-bottom:24px; }
.report-mix-grid > .card { min-width:0; }
.report-legend { display:flex; gap:12px; flex-wrap:wrap; }
.report-table-wrap { overflow-x:auto; }
.report-table { min-width:760px; width:100%; }
.report-mobile-products { display:none; }
.report-mobile-product { border-top:1px solid var(--border); padding:14px 0; }
.report-mobile-product summary { display:flex; gap:14px; align-items:center; cursor:pointer; min-height:44px; list-style:none; }
.report-mobile-product summary::-webkit-details-marker { display:none; }
.report-mobile-product summary::after { content:'+'; color:var(--accent-text); font-size:18px; }
.report-mobile-product[open] summary::after { content:'−'; }
.report-product-name { min-width:0; flex:1; font-size:13px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.report-product-value { text-align:right; font-size:14px; font-weight:650; white-space:nowrap; font-variant-numeric:tabular-nums; }
.report-product-value small { display:block; font-size:11px; font-weight:400; color:var(--muted); margin-top:5px; }
.report-product-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; margin:16px 0 0; padding:14px; background:var(--surface-2); border-radius:10px; }
.report-product-detail dt { font-size:10px; color:var(--muted); margin-bottom:5px; }
.report-product-detail dd { font-size:12px; color:var(--text-2); overflow-wrap:anywhere; }
.sold-tile-button { appearance:none; border:0; font:inherit; text-align:left; background:none; color:inherit; cursor:pointer; padding:0; }
.sold-tile-button:hover .sold-name { color:var(--accent-text); }
@media (max-width:1050px) { .business-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .report-mix-grid { grid-template-columns:1fr; } }
@media (max-width:700px) {
  .business-kpi { padding:17px; gap:10px; } .business-kpi-number { font-size:30px; }
  .business-kpi-foot { flex-wrap:wrap; } .business-kpi-foot a { min-height:44px; }
  .business-kpi-head { font-size:11px; } .business-kpi-note { min-height:0; }
  .daily-workspace .brief-channels { grid-template-columns:1fr; gap:10px; }
  .business-channel { padding:15px 17px; } .business-channel-link { min-height:44px; }
  .business-channel .brief-label { margin:0; } .business-channel .brief-value { margin:0 0 0 auto; }
  .business-channel .brief-meta { margin-top:8px; }
  .report-desktop-products { display:none; } .report-mobile-products { display:block; }
  .report-filter-label { width:100%; } .report-channel-filter { gap:6px; }
  .report-channel-filter .store-filter-btn,.report-context .btn { min-height:44px; }
  .report-context button { margin-left:0; } .report-context { align-items:flex-start; }
  .daily-workspace .sold-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; }
  .daily-workspace .sold-tile.compact { width:auto; min-width:0; }
  .brief-ad-row { grid-template-columns:minmax(0,1fr) minmax(70px,auto); gap:12px; padding:15px 0; }
  .brief-ad-name { grid-column:1 / -1; } .brief-ad-num { text-align:left; }
  .report-section-head { align-items:flex-start; gap:12px; }
}
@media (max-width:370px) { .business-kpis { grid-template-columns:1fr; } }
@media (hover:hover) and (pointer:fine) { .business-channel-link:hover { color:var(--accent-text); } .report-mobile-product summary:hover { color:var(--accent-text); } }

.sales-channel-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
