/* Shared desktop widget density. Touch controls retain their existing sizing. */
@media (hover: hover) and (pointer: fine) {
    /* Radar, Dossier and event panels. */
    .radar-shell .radar-panel-head,
    .economic-calendar-heading,
    #economic-calendar-modal .economic-calendar-heading {
        min-height: 28px;
        padding: 4px 8px;
        gap: 8px;
        letter-spacing: .2px;
    }
    .radar-shell .radar-stage-col-head { padding: 5px 7px; letter-spacing: .3px; }
    .radar-shell .radar-stage-col-count { font-size: 13px; margin-bottom: 2px; }
    .radar-shell .radar-stage-list { gap: 2px; padding: 3px; }
    .radar-shell .radar-stage-row { padding: 2px 5px; }
    #economic-calendar-modal .crt-header { min-height: 30px; padding: 5px 8px; }
    #economic-calendar-modal .crt-title { font-size: 12px; }
    #economic-calendar-modal .crt-close-btn { width: 24px; height: 24px; padding: 0; font-size: 16px; }

    /* Contract selection and scanner filters, without changing their ledgers. */
    #view-flow.view-section > .selection-panel { padding: 6px 0; gap: 6px; }
    #view-flow.view-section > .selection-panel .drill-down-row { gap: 6px; }
    #view-fish .fish-filter-grid { gap: 6px; margin-bottom: 8px; }
    #view-fish .fish-filter-grid > .fish-card-shell { padding: 7px !important; }
    #view-fish .fish-filter-grid .fish-card-shell > div:first-child { padding-bottom: 4px !important; margin-bottom: 6px !important; }
    #view-fish .fish-filter-grid select:not(#fishTicker) { margin-bottom: 6px !important; }
    #view-fish .fish-filter-grid #fish-spot-price { margin: 4px 0 6px !important; }
    #view-fish .fish-filter-grid #scanFishBtn { height: 28px !important; }
    #radar-oi-shift-body .radar-oi-toolbar,
    #radar-oi-shift-body .oi-check-controls { padding: 4px 8px; gap: 6px; }

    /* Chart and chain chrome; preserve chart dimensions and trading tickets. */
    #gex-options-rail:not(.is-companion) .gex-options-header { min-height: 30px; padding: 4px 8px; }
    #view-rotation .rotation-topline { padding: 4px 8px; gap: 6px; }
    #view-rotation #rotation-view-title { font-size: 12px; }
    #view-rotation .rotation-mode-btn,
    #view-rotation .rrg-tf-btn { padding: 4px 7px; }
    #view-rotation .rotation-sector-tape { padding: 4px 8px; gap: 8px; }
    #live-price-action > .widget-header { gap: 6px; padding: 3px 8px; }
    #live-price-action .header-left-group { gap: 6px; }
    :is(#sector-heatmap, #trader-fear-index) .widget-header { padding: 4px 8px; min-height: 26px; }

    /* Standalone quote, market-data and chat widgets. */
    .watchlist-title { padding: 5px 8px; }
    .watchlist-toolbar { min-height: 28px; gap: 6px; padding-inline: 8px; }
    .watchlist-toolbar button { padding: 4px 3px; }
    .watchlist-panel td { height: 23px; padding: 2px 7px; }
    .watchlist-panel th { height: 23px; }
    .watchlist-panel th button { padding: 3px 7px; }
    .intel-panel header { height: 28px; gap: 6px; padding: 4px 8px; }
    .intel-panel td { padding: 4px 8px; }
    .chat-panel header { padding: 5px 8px; }
    .chat-panel nav { padding: 3px 8px; gap: 6px; }
}
