/* Revenue presentation only. Keep accounting, authentication and write paths unchanged. */
.page-revenue .revenue-hero { padding:22px 20px 16px; gap:16px; align-items:center; }
.page-revenue .revenue-hero h1 { font-size:clamp(27px,3.2vw,38px); line-height:1.25; margin:4px 0 8px; }
.page-revenue .revenue-hero p:last-child { margin:0; font-size:15px; line-height:1.5; max-width:800px; }
.page-revenue .revenue-hero .eyebrow { margin:0; }
.page-revenue .realtime-badge { white-space:normal; flex-shrink:0; max-width:240px; }
.page-revenue .kpi-grid { gap:12px; margin-bottom:14px; }
.page-revenue .kpi-grid > article { padding:15px 17px; }
.page-revenue .kpi-grid > article > strong { margin:5px 0; font-size:clamp(24px,3vw,30px); }
.page-revenue .work-grid { gap:12px; margin-bottom:12px; align-items:start; grid-template-columns:repeat(2,minmax(0,1fr)); }
.page-revenue .panel { padding:18px; min-width:0; }
.page-revenue .revenue-fold.panel { padding:0; margin-bottom:12px; }
.page-revenue .work-grid > .revenue-fold { margin-bottom:0; }
.page-revenue .revenue-fold > summary {
  display:flex; justify-content:space-between; align-items:center; gap:14px;
  min-height:72px; padding:14px 18px; list-style:none; cursor:pointer;
  color:var(--text); border-radius:inherit; overflow-wrap:anywhere;
}
.page-revenue .revenue-fold > summary::-webkit-details-marker { display:none; }
.page-revenue .revenue-fold > summary::marker { content:""; }
.page-revenue .revenue-fold > summary > span:first-child { min-width:0; }
.page-revenue .revenue-fold > summary strong { display:block; font-size:20px; line-height:1.4; }
.page-revenue .revenue-fold > summary small { display:block; color:var(--muted); margin-top:3px; }
.page-revenue .revenue-fold > summary:focus-visible,
.page-revenue .table-wrap:focus-visible { outline:3px solid #347fd0; outline-offset:3px; }
.page-revenue .fold-action { flex:0 0 auto; color:#175dad; font-size:14px; font-weight:800; }
.page-revenue .fold-action::before { content:"ขยาย ＋"; }
.page-revenue details[open] > summary .fold-action::before { content:"ย่อ −"; }
.page-revenue .revenue-fold[open] > summary { border-bottom:1px solid var(--line); border-radius:22px 22px 0 0; }
.page-revenue .fold-content { padding:16px 18px 18px; min-width:0; }
.page-revenue .fold-content > .muted:first-child { margin:0 0 14px; }
.page-revenue .form-grid > *, .page-revenue .goal-controls > *,
.page-revenue .goal-stats > *, .page-revenue .report-summary > *,
.page-revenue .report-head > *, .page-revenue .report-tools > * { min-width:0; }
.page-revenue .form-grid label { overflow-wrap:anywhere; }
.page-revenue .goal-head { margin-bottom:12px; }
.page-revenue .goal-head .muted { margin:0; }
.page-revenue .goal-stats strong { overflow-wrap:anywhere; }
.page-revenue .report-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; margin-bottom:14px; gap:14px; }
.page-revenue .report-head h2 { margin:2px 0 6px; font-size:26px; }
.page-revenue .report-head .eyebrow { margin:0; }
.page-revenue .report-help { margin:0; max-width:none; }
.page-revenue .report-tools { display:flex; align-items:end; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.page-revenue .report-tools label { width:205px; }
.page-revenue .report-tools input, .page-revenue .selected-day-summary input { width:100%; min-width:0; box-sizing:border-box; }
.page-revenue .period-tabs { max-width:100%; gap:2px; }
.page-revenue .period-tabs button { padding:9px 10px; white-space:normal; }
.page-revenue .report-summary { gap:8px; margin-bottom:12px; grid-template-columns:repeat(6,minmax(0,1fr)); }
.page-revenue .report-summary > div { padding:12px; overflow-wrap:anywhere; }
.page-revenue .report-summary strong { display:block; font-size:clamp(20px,2vw,24px); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.page-revenue .report-summary span { font-size:14px; }
.page-revenue .selected-day-summary {
  display:grid; grid-template-columns:180px minmax(0,1.35fr) repeat(2,minmax(0,1fr));
  align-items:center; gap:12px; padding:14px; margin-bottom:16px;
  border:1px solid #93b7e5; border-left:4px solid #286ac0; border-radius:14px;
  background:#f0f6ff; color:var(--text);
}
.page-revenue .selected-day-summary > * { min-width:0; overflow-wrap:anywhere; }
.page-revenue .selected-day-summary input { display:block; margin-top:5px; padding:9px; border:1px solid var(--line); border-radius:10px; background:var(--card); color:var(--text); font:inherit; }
.page-revenue .selected-day-summary article > span { display:block; font-size:14px; color:var(--muted); }
.page-revenue .selected-day-summary article > strong { display:block; font-size:23px; font-variant-numeric:tabular-nums; line-height:1.3; }
.page-revenue .selected-day-summary small { display:block; color:var(--muted); }
.page-revenue .chart-context { font-weight:800; margin:0 0 8px; font-size:15px; overflow-wrap:anywhere; }
.page-revenue .revenue-chart-guide { padding:9px 11px; gap:10px; flex-wrap:wrap; }
.page-revenue .revenue-chart-guide small { flex-shrink:1; overflow-wrap:anywhere; }
.page-revenue #revenueChart.chart { height:220px; gap:5px; padding:18px 10px 32px; }
.page-revenue #revenueChart[data-period="daily"] .bar-group { flex:1 0 28px; min-width:28px; padding:4px 2px 0; }
.page-revenue #revenueChart[data-period="daily"] .bar-label { font-size:13px; bottom:-24px; }
.page-revenue #revenueChart .is-selected-day { box-shadow:inset 0 0 0 2px #347fd0; background:rgba(52,127,208,.12); }
.page-revenue #revenueChart .is-selected-day .bar-label { color:#175dad; font-weight:900; }
.page-revenue .revenue-legend { justify-content:flex-start; flex-wrap:wrap; gap:8px 18px; margin-bottom:12px; }
.page-revenue .report-table-fold { border:1px solid var(--line); border-radius:14px; }
.page-revenue .report-table-fold > summary { min-height:64px; padding:12px 14px; }
.page-revenue .report-table-fold > summary strong { font-size:18px; }
.page-revenue .table-wrap { max-height:440px; max-width:100%; min-width:0; overflow:auto; overscroll-behavior:contain; }
.page-revenue .table-wrap th { position:sticky; top:0; z-index:2; background:var(--card); }
.page-revenue .table-wrap td { vertical-align:top; overflow-wrap:anywhere; }
.page-revenue .report-table-fold table { min-width:920px; }
.page-revenue .recent-panel table { table-layout:fixed; min-width:1040px; }
.page-revenue .recent-panel th:nth-child(1) { width:118px; }
.page-revenue .recent-panel th:nth-child(2) { width:27%; }
.page-revenue .recent-panel th:nth-child(3) { width:130px; }
.page-revenue .recent-panel th:nth-child(4) { width:165px; }
.page-revenue .recent-panel th:nth-child(5) { width:138px; }
.page-revenue .recent-panel th:nth-child(6) { width:140px; }
.page-revenue .selected-day-row { background:rgba(52,127,208,.1); }
.page-revenue .row-actions { white-space:normal; }
.page-revenue :is(.partner-audit-title,.partner-audit-identifier,.operational-alert-list article > div) { min-width:0; overflow-wrap:anywhere; }
.page-revenue .revenue-chart-tooltip[hidden] { display:none !important; }
.page-revenue .revenue-chart-tooltip {
  box-sizing:border-box; width:340px; overflow:auto; pointer-events:auto;
  animation:none; overscroll-behavior:contain; font-size:14px;
}
.page-revenue .revenue-chart-tooltip header { gap:8px; padding:10px 12px; }
.page-revenue .revenue-chart-tooltip header strong { overflow-wrap:anywhere; text-align:right; }
.page-revenue .chart-tooltip-total { grid-template-columns:minmax(0,1fr); gap:2px; padding:10px 12px; }
.page-revenue .chart-tooltip-total strong { grid-column:1; grid-row:auto; font-size:24px; overflow-wrap:anywhere; }
.page-revenue .revenue-chart-tooltip dl { padding:4px 12px; }
.page-revenue .chart-tooltip-row { gap:8px; padding:6px 0; }
.page-revenue .chart-tooltip-row dd { max-width:140px; overflow-wrap:anywhere; }
.page-revenue .chart-tooltip-row dt span { overflow-wrap:anywhere; }
.page-revenue .revenue-chart-tooltip footer { margin:0; padding:9px 12px; gap:8px; grid-template-columns:minmax(0,1fr); }
.page-revenue .revenue-chart-tooltip footer span { justify-self:start; white-space:normal; }
.page-revenue .revenue-chart-tooltip :is(small,footer em) { font-size:12px !important; line-height:1.4; }
html[data-dark="true"] .page-revenue .fold-action { color:#9fc8ff; }
html[data-dark="true"] .page-revenue .partner-sales-kpi > span { color:#a8ceff; }
html[data-dark="true"] .page-revenue .operational-alert-list :is(p,small) { color:#b4c4db; }
html[data-dark="true"] .page-revenue .selected-day-summary { background:#142b47; border-color:#426991; border-left-color:#79b0fa; }
html[data-dark="true"] .page-revenue #revenueChart .is-selected-day .bar-label { color:#a8ceff; }
@media(max-width:1100px) {
  .page-revenue .report-head { grid-template-columns:minmax(0,1fr); }
  .page-revenue .report-tools { justify-content:flex-start; }
  .page-revenue .report-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:720px) {
  .page-revenue .revenue-hero { padding:18px 14px 14px; align-items:flex-start; flex-direction:column; gap:10px; }
  .page-revenue .realtime-badge { align-self:flex-start; }
  .page-revenue .work-grid { grid-template-columns:minmax(0,1fr); }
  .page-revenue .panel { padding:14px; }
  .page-revenue .revenue-fold > summary { padding:12px 14px; gap:10px; }
  .page-revenue .revenue-fold > summary strong { font-size:18px; }
  .page-revenue .fold-content { padding:14px; }
  .page-revenue .report-tools { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
  .page-revenue .report-tools label { width:100%; }
  .page-revenue .period-tabs { width:100%; }
  .page-revenue .period-tabs button { flex:1; min-width:0; padding:9px 5px; }
  .page-revenue .report-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-revenue .report-summary > div { padding:10px; }
  .page-revenue .report-summary strong { font-size:21px; }
  .page-revenue .selected-day-summary { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; gap:12px; }
  .page-revenue .selected-day-summary > label, .page-revenue .selected-day-total { grid-column:1 / -1; }
  .page-revenue .selected-day-summary article > strong { font-size:22px; }
  .page-revenue .selected-day-summary .selected-day-total > strong { font-size:28px; }
  .page-revenue .revenue-legend span { white-space:normal; }
  .page-revenue .revenue-chart-guide small { white-space:normal; }
  .page-revenue .table-wrap { max-height:380px; }
  .page-revenue .form-grid, .page-revenue .type-picker { grid-template-columns:minmax(0,1fr); }
  .page-revenue .entry-type-picker { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
