/* This guard must outrank the legacy mobile .dashboard .panel.wide rule. */
body:not([data-dashboard-role="superadmin"]) #dashboard .panel:is(.poll-monitor-panel,.db-admin-section),
#dashboard .panel[data-superadmin-only][hidden] {display:none !important;}
.mobile-earnings-details[hidden] {display:none;}
#machines-panel > .machine-presentation-controls {display:flex;justify-content:flex-start;margin:12px 0 8px;}

@media(max-width:800px){
  /* Real earnings lead; the remaining estimate and combined total share a tile. */
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) {--mobile-chart-height:clamp(130px,22svh,190px);}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .panel-title-row {
    display:grid !important;grid-template-columns:minmax(0,1fr) auto;gap:8px !important;
    margin:0;padding:0;align-items:start !important;
  }
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .panel-title-row h2 {font-size:1.05rem !important;line-height:1.2 !important;margin:0;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .panel-title-row > div:first-child {grid-column:1;min-height:0;height:auto;padding:0;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .panel-collapse-button {position:static;grid-column:2;grid-row:1;margin:0;min-height:32px;padding:5px 8px;font-size:.68rem;align-self:start;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-nav {grid-column:1/-1;grid-row:2;gap:6px !important;min-height:0;margin:0;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .period-navigation {display:flex;gap:6px;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .nav-button {min-height:34px;padding:6px 9px;font-size:.72rem;}
  .dashboard .earnings-context-row {gap:2px 8px !important;margin-top:5px;}
  .dashboard :is(.earnings-date,.earnings-avg) {font-size:.7rem;line-height:1.3;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-grid {
    grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) !important;
    grid-template-areas:'actual estimate' 'actual total';gap:0 8px !important;margin:10px 0 0;
  }
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-card {padding:10px;min-height:0;gap:5px;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-actual {grid-area:actual;justify-content:center;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-estimate {grid-area:estimate;border-bottom:0;border-radius:14px 14px 0 0;padding-bottom:7px;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-total {grid-area:total;border-top:0;border-radius:0 0 14px 14px;padding-top:7px;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-card > span {font-size:.61rem;line-height:1.35;letter-spacing:.02em;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-card strong {font-size:1.06rem;line-height:1.2;overflow-wrap:anywhere;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-actual strong {font-size:clamp(1.18rem,5.4vw,1.6rem);}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-value {flex-wrap:wrap;gap:6px;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-badge {font-size:.7rem;padding:4px 7px;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .comparison-unavailable {font-size:.76rem !important;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-card small {font-size:.65rem;margin-top:3px;}
  .mobile-earnings-details {font-size:.72rem;color:var(--muted);margin-top:5px;}
  .mobile-earnings-details > summary {padding:8px 0;cursor:pointer;color:var(--blue);min-height:32px;box-sizing:border-box;}
  .mobile-earnings-details > :not(summary) {display:block;font-size:.72rem;line-height:1.45;margin:6px 0 !important;}
  .mobile-earnings-details .weekend-drop-control {display:flex;flex-wrap:wrap;gap:6px;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .month-component-summary {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:6px;padding:6px;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .month-component-chip {min-width:0;justify-content:space-between;gap:4px;padding:4px 5px;font-size:.64rem;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .month-component-chip strong {font-size:.69rem;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .month-component-chip i {flex:none;width:6px;height:6px;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .forecast-chart-title-row {margin:8px 0 0;padding:0;border:0;gap:5px;min-height:0 !important;height:auto;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .forecast-chart-title-row > span:first-child {display:none;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .forecast-chart-legend {width:100%;gap:5px 8px;min-height:0;justify-content:flex-start;}
  /* The colored component amounts already serve as the key. Selected-bar
     amounts and the estimation warning remain visible. */
  .dashboard #hourly-forecast-legend:not(.hourly-selected-mode) .hourly-component-key,
  .dashboard .forecast-chart-legend[data-has-selection="false"] :is(.month-value-legend,.forecast-legend-separator) {display:none;}
  .dashboard #hourly-forecast-legend {gap:5px 8px;}
  .dashboard .hourly-component-warning {font-size:.63rem;line-height:1.35;margin:0;}
  .dashboard :is(#hourly-static-basis-legend,.forecast-legend-item,.forecast-weekend-note) {font-size:.64rem;}
  .dashboard #hourly-chart {height:var(--mobile-chart-height) !important;min-height:0;margin-top:8px;gap:2px;}
  .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .mobile-chart-bottom-nav {display:none !important;}
  .dashboard #month-forecast-chart {height:var(--mobile-chart-height) !important;min-height:0;min-width:0 !important;width:100%;gap:2px;margin-top:8px;padding:0;}
  .dashboard .month-forecast-bar-wrap {min-width:0;}
  .dashboard .month-forecast-top {display:none;}
  .dashboard .month-forecast-day {font-size:.6rem;}
  .dashboard .month-forecast-bar-wrap:last-child .month-forecast-day {transform:translateX(-4px);}
  .dashboard .month-forecast-bar-wrap:not(:first-child):not(:last-child):nth-child(even) .month-forecast-day {visibility:hidden;}
  .dashboard .earnings-history-toggle {margin:8px 0 0;}
  .dashboard .earnings-history-toggle button {padding:5px 9px;font-size:.7rem;min-height:30px;}
  .dashboard :is(#hourly-machine-scope,#month-machine-scope) {margin-top:6px;padding:6px 0 0;}
  .dashboard :is(#hourly-machine-scope,#month-machine-scope) .earnings-scope-actions {gap:5px;margin-top:5px;}
  .dashboard :is(#hourly-machine-scope,#month-machine-scope) .earnings-scope-action {min-height:34px;padding:6px;font-size:.66rem;line-height:1.2;}
  .dashboard .month-basis-key {font-size:.64rem;}
  .dashboard .panel-collapsed .panel-title-row {display:flex !important;}

  /* Mobile billing presents Date / Status / Total, with no clipped money. */
  .billing-period-column .billing-history-table :is(th,td):is(:nth-child(3),:nth-child(4),:nth-child(5)) {display:none;}
  .billing-period-column .billing-history-table :is(th,td):nth-child(1) {width:36% !important;white-space:normal;}
  .billing-period-column .billing-history-table :is(th,td):nth-child(2) {width:29% !important;white-space:normal;}
  .billing-period-column .billing-history-table :is(th,td):nth-child(6) {width:35% !important;text-align:right;white-space:nowrap;}
  .billing-period-column .billing-history-table :is(th,td)[colspan] {width:auto !important;white-space:normal;}
  .billing-period-column .billing-history-table :is(th,td) {overflow:visible !important;text-overflow:clip !important;}

  /* Pair our utilisation with the market value in one aligned block. */
  .gpu-summary-inline {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;}
  .gpu-summary-title {grid-column:1/-1;}
  .gpu-inline-stat {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;}
  .gpu-inline-stat[data-stat="ourUtilCurrent30d"] {margin-top:4px;padding-top:8px;border-top:1px solid var(--border-subtle);}
  .gpu-inline-stat > strong {text-align:right;}
  .gpu-price-compare {grid-template-columns:repeat(2,minmax(0,1fr));}
  .gpu-price-box[data-price="our_listed_avg"] {order:0;}
  .gpu-price-box[data-price="our_rented_avg"] {order:1;}
  .gpu-price-box[data-price="market_selected_p90_price"] {order:2;}
  .gpu-price-box[data-price="market_median_price"] {order:3;}
  .gpu-price-box[data-price="our_rented_incl_sb_avg"] {order:4;grid-column:1/-1;}
}

@media(max-width:800px){
 .dashboard :is(.earnings-forecast-panel,.month-forecast-panel){--mobile-chart-height:clamp(115px,18svh,155px);}
 .dashboard #hourly-chart{padding-top:0;}
 .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-card strong{font-size:clamp(14px,3.8vw,17px);white-space:nowrap;overflow-wrap:normal;}
 .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-actual strong{font-size:clamp(16px,4.7vw,23px);}
 .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .comparison-unavailable{white-space:normal;}
 .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .month-component-summary{grid-template-columns:repeat(3,minmax(0,1fr));}
 .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .month-component-chip{display:grid;grid-template-columns:auto minmax(0,1fr);justify-content:start;text-align:start;gap:3px;}
 .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .month-component-chip strong{grid-column:1/-1;white-space:nowrap;font-size:.69rem;}
 .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .month-component-chip.total{display:none;}
}
@media(max-width:800px){
 .dashboard .earnings-forecast-panel #hourly-forecast-legend:not(.hourly-selected-mode){display:contents;}
 .dashboard .earnings-forecast-panel #hourly-static-basis-legend{margin:0;padding:0;}
 .dashboard .earnings-forecast-panel #hourly-static-basis-legend.hidden{display:none !important;}
 .dashboard #month-forecast-chart .month-forecast-bar-wrap:nth-last-child(2) .month-forecast-day{visibility:hidden;}
}
@media(max-width:380px){
 .dashboard :is(.earnings-forecast-panel,.month-forecast-panel){--mobile-chart-height:110px;}
}
@media(max-width:380px){
 .dashboard :is(.earnings-forecast-panel,.month-forecast-panel) .earnings-summary-card{padding:7px;gap:4px;}
 .mobile-earnings-details > summary{padding-block:6px;min-height:28px;}
}
