/* Desktop columns count individual instruments, not their shared outer card.
   Only dashboard panels are affected; activity charts, forms and mobile stay intact. */
@media (min-width:1024px) {
  #results { --desktop-card-height:420px; --desktop-card-columns:4; }
  #results :is([data-panel="all"],[data-panel="driving"],[data-panel="work"],[data-panel="daily_rest"],[data-panel="weekly_rest"],[data-panel="favorites"],[data-panel="upcoming"]) .dashboard-grid {
    display:grid!important; grid-template-columns:repeat(var(--desktop-card-columns),minmax(0,1fr))!important;
    grid-auto-flow:row; align-items:stretch; gap:14px!important;
  }
  #results :is([data-panel="all"],[data-panel="driving"],[data-panel="work"],[data-panel="daily_rest"],[data-panel="weekly_rest"],[data-panel="favorites"],[data-panel="upcoming"]) .dashboard-grid > .dashboard-card {
    box-sizing:border-box; display:flex!important; flex-direction:column;
    grid-column:span var(--desktop-card-span,1)!important; width:100%!important;
    height:var(--desktop-card-height)!important; min-height:var(--desktop-card-height)!important;
    max-height:var(--desktop-card-height); min-width:0; margin:0;
    padding:12px!important; gap:0; border-radius:18px!important; overflow:hidden;
    font-family:system-ui,sans-serif;
    order:var(--revised-card-order,var(--mobile-card-order,0));
  }
  /* A pair occupies two instrument slots. Informational halves beside a gauge
     also keep their own slot, so they do not squeeze that instrument smaller. */
  #results .dashboard-grid > .dashboard-card:is(.gauge-pair-card,
    :has(> .night-work-layout),:has(> .cumulative-rest-layout),
    :has(> .reduced-daily-rest-layout),:has(> .compensation-start-layout),
    [data-card-key="average_weekly_work_info"]) { --desktop-card-span:2; }
  #results .dashboard-grid > .dashboard-card > :is(.dashboard-card-heading,.gauge-pair-header) {
    box-sizing:border-box; display:flex; align-items:center; flex:0 0 84px; min-height:84px;
    height:84px; margin:0 0 8px; padding:0!important; gap:9px; width:100%;
  }
  #results .dashboard-grid > .dashboard-card > :is(.dashboard-card-heading,.gauge-pair-header) :is(h3,.gauge-title,.gauge-pair-title) {
    min-width:0; margin:0!important; padding:0!important; height:auto!important;
    min-height:0!important; font:750 28px/1.15 system-ui,sans-serif!important;
    color:var(--theme-text,var(--td-ink)); text-align:left!important; overflow-wrap:anywhere;
  }
  #results .dashboard-card-heading .favorite-box,
  #results .gauge-pair-header .favorite-box {
    flex:0 0 28px!important; width:28px!important; height:28px!important; border-radius:8px;
  }
  #results .dashboard-grid > .dashboard-card > .gauge-pair-body {
    display:flex; flex:1 1 auto; align-items:center; gap:14px; min-height:0; margin:0;
  }
  #results .dashboard-grid > .dashboard-card .paired-gauge-lane {
    display:grid; grid-template-rows:minmax(0,1fr) 36px; flex:1 1 0;
    min-width:0; min-height:0!important; height:100%; padding:0 6.5px!important; gap:6px;
  }
  #results .dashboard-grid > .dashboard-card :is(.premium-dashboard-gauge-shell,.upcoming-gauge-shell) {
    position:relative; display:block; flex:0 0 auto; box-sizing:border-box;
    /* Keep the instrument footprint stable while larger text gets more room.
       Width still contracts naturally on smaller desktop viewports. */
    width:100%!important; max-width:320px!important; height:auto!important;
    min-height:0!important; aspect-ratio:auto; margin:auto!important; padding:0!important;
  }
  #results .dashboard-grid > .dashboard-card :is(.premium-dashboard-gauge-shell,.upcoming-gauge-shell):has(.semi-gauge)::before {
    content:""; display:block; padding-top:69.230769%;
  }
  /* Bring every desktop instrument closer to its heading as one unit,
     including its values and scale, without changing card size or mobile. */
  #results .dashboard-grid > .dashboard-card :is(.premium-dashboard-gauge-shell,.upcoming-gauge-shell):has(.semi-gauge) {
    top:-18px;
  }
  #results .dashboard-grid > .dashboard-card .semi-gauge {
    position:absolute; top:0; left:0; width:100%; height:100%; max-width:none; margin:0;
  }
  #results .dashboard-grid > .dashboard-card .gauge-value {
    top:65%; left:0; right:0; transform:translateY(-50%); margin:0;
    font:750 34px/1 system-ui,sans-serif; letter-spacing:-.035em; white-space:nowrap;
  }
  #results .dashboard-grid > .dashboard-card .paired-gauge-lane .gauge-value { font-size:34px; }
  #results .dashboard-grid > .dashboard-card .gauge-scale {
    top:82%; left:0; right:0; margin:0; font:650 22px/1.2 system-ui,sans-serif;
  }
  #results .dashboard-grid > .dashboard-card .gauge-labels {
    top:91%; left:0; right:0; font:650 22px/1.2 system-ui,sans-serif;
  }
  #results .dashboard-grid > .dashboard-card .gauge-endpoint-labels { font-size:21px; }
  #results .dashboard-grid > .dashboard-card .gauge-note {
    max-width:100%; min-height:0; margin:6px 0 0; padding:4px;
    font:500 22px/1.3 system-ui,sans-serif; white-space:normal; overflow-wrap:anywhere;
  }
  #results .dashboard-grid > .dashboard-card .paired-gauge-lane > .gauge-note {
    grid-row:2; align-self:start; margin:0; padding:3px 0; border:0; background:none; box-shadow:none;
  }
  #results .dashboard-grid > .dashboard-card .paired-gauge-lane > .gauge-note::before { display:none; }
  #results .dashboard-grid > .dashboard-card > :is(.night-work-layout,.cumulative-rest-layout,.reduced-daily-rest-layout,.compensation-start-layout) {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center;
    flex:1 1 auto; min-height:0; width:100%; gap:40px; padding:0;
  }
  #results .dashboard-grid > .dashboard-card :is(.night-work-info,.compensation-start-summary,.cumulative-rest-rules,.next-daily-rest-info) {
    min-width:0; min-height:0!important; max-height:100%; padding:9px!important;
    border-radius:12px; font:500 22px/1.35 system-ui,sans-serif;
  }
  #results .dashboard-grid > .dashboard-card .cumulative-rest-rules { height:auto!important; max-height:none; align-self:center; overflow:visible; }
  #results .dashboard-grid > .dashboard-card .cumulative-rest-rules table { font-size:22px; }
  #results .dashboard-grid > .dashboard-card .cumulative-rest-rules :is(th,td) { padding:5px 2px; }
  #results .dashboard-grid > .dashboard-card .cumulative-rest-footnote { font:500 20px/1.2 system-ui,sans-serif; margin:5px 0 0; }
  #results .dashboard-grid > .dashboard-card .next-daily-rest-value { font-size:20px; }
  #results .dashboard-grid > .dashboard-card :is(.compensation-start-visual,.reduced-daily-rest-gauge,.cumulative-rest-gauge) {
    min-width:0; min-height:0!important; padding:0; overflow:visible;
  }
  #results .dashboard-grid > .dashboard-card :is(.night-work-layout,.cumulative-rest-layout,.reduced-daily-rest-layout,.compensation-start-layout) .gauge-value { font-size:34px; }
  #results .dashboard-grid > .dashboard-card .compensation-start-line { font:500 22px/1.35 system-ui,sans-serif; padding:5px 0; }
  #results .dashboard-grid > .dashboard-card .compensation-summary-item h4 { font:750 24px/1.25 system-ui,sans-serif; }
  #results .dashboard-grid > .dashboard-card .compensation-start-summary {
    align-self:stretch; overflow:auto; overscroll-behavior:contain;
  }
  #results .dashboard-grid > .dashboard-card .weekly-rest-satisfied-message { font:650 24px/1.4 system-ui,sans-serif; padding:8px; }
  #results .dashboard-grid > .dashboard-card .reset-complete-check { position:static!important; transform:none!important; }
  #results .dashboard-grid > .dashboard-card.info-card > p {
    flex:1 1 auto; min-height:0; margin:0; padding:12px 0;
    font:500 26px/1.5 system-ui,sans-serif; overflow:auto; overflow-wrap:anywhere;
  }
  #results [data-card-key="average_weekly_work_info"] .average-month-breakdown {
    display:flex!important; flex-direction:column; gap:3px; flex:1 1 auto; min-height:0;
    width:100%; margin:0!important; padding:0!important; overflow:auto;
  }
  #results .dashboard-grid > .dashboard-card[data-card-key="average_weekly_work_info"] > .dashboard-card-heading { padding-right:36px!important; }
  #results [data-card-key="average_weekly_work_info"] .paid-leave-open { top:18px; right:12px; bottom:auto; width:28px; height:28px; min-height:0; font-size:21px; }
  #results .dashboard-grid > .dashboard-card .average-month-row {
    display:grid; grid-template-columns:minmax(70px,.9fr) minmax(0,2fr); align-items:center;
    box-sizing:border-box; flex:0 0 56px; min-height:56px; gap:5px; padding:3px 6px; margin:0; border-radius:9px;
  }
  #results .dashboard-grid > .dashboard-card .average-month-row > span:first-child { gap:1px; }
  #results .dashboard-grid > .dashboard-card .average-month-row > span:first-child > strong { font:700 22px/1.15 system-ui,sans-serif; }
  #results .dashboard-grid > .dashboard-card .average-month-row > span:first-child > small { font:500 18px/1.1 system-ui,sans-serif; }
  #results .dashboard-grid > .dashboard-card .average-month-equation { gap:2px; font-size:18px; }
  #results .dashboard-grid > .dashboard-card .average-month-equation small { font:500 18px/1.05 system-ui,sans-serif; }
  #results .dashboard-grid > .dashboard-card .average-month-equation strong { font:700 22px/1.2 system-ui,sans-serif; }
}
@media (min-width:1440px) {
  #results { --desktop-card-columns:6; }
}
@media (min-width:1024px) and (max-width:1399px) {
  /* Doubled type wraps more on laptops; retain the same font size and rows. */
  #results { --desktop-card-height:520px; }
  #results .dashboard-grid > .dashboard-card > :is(.dashboard-card-heading,.gauge-pair-header) {
    flex-basis:112px; min-height:112px; height:112px;
  }
  #results .dashboard-grid > .dashboard-card .cumulative-rest-rules table { line-height:1.1; }
  #results .dashboard-grid > .dashboard-card .cumulative-rest-rules :is(th,td) { padding:2px; }
}
@media (min-width:1800px) {
  #results { --desktop-card-columns:8; }
}
