/* Dragging is confined to the column picker; normal page scrolling remains vertical. */
#heatmap.heat-viewport{position:relative;isolation:isolate;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-padding-inline-start:var(--heat-country-width,136px);border-radius:var(--radius-md);padding-bottom:var(--space-2)}
#heatmap .heat-table{width:calc(var(--heat-country-width) + var(--heat-column-width)*var(--heat-column-count));min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}
#heatmap .heat-country-col{width:var(--heat-country-width)}
#heatmap .heat-industry-col{width:var(--heat-column-width)}
#heatmap .heat-table th,#heatmap .heat-table td{padding:var(--space-1);box-sizing:border-box}
#heatmap .heat-table th:first-child,#heatmap .heat-table td.country-name{position:sticky;left:0;z-index:3;width:var(--heat-country-width);background:var(--surface);box-shadow:1px 0 0 var(--border-soft);white-space:nowrap;padding-inline:0 var(--space-3)}
#heatmap .heat-table th:first-child{z-index:4;vertical-align:middle;font-size:var(--text-sm)}
#heatmap .industry-button{display:grid;align-content:center;justify-items:center;gap:var(--space-1);width:100%;min-height:64px;padding:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-sm);line-height:1.4;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
#heatmap .industry-button strong,#heatmap .industry-button span{display:block;white-space:nowrap;color:inherit}
#heatmap .industry-button[aria-pressed=true]{background:var(--accent);color:var(--accent-on);border-color:var(--accent);font-weight:600}
#heatmap .industry-button.is-preview{background:var(--chip-bg);color:var(--fg);border:1px dashed var(--fg)}
#heatmap.is-dragging,#heatmap.is-dragging .industry-button{cursor:grabbing}
#heatmap .industry-button:focus-visible{outline-offset:-4px;outline-color:var(--fg);box-shadow:var(--focus-ring)}
#heatmap .industry-button[aria-pressed=true]:focus-visible{outline-color:var(--accent-on)}
#heatmap .country-button{font-size:var(--text-sm);white-space:nowrap}
#heatmap .heat-cell{min-height:36px}
#heatmap .heat-table tbody tr{transform-origin:center top}
#heatmap.is-updating .heat-table tbody{pointer-events:none}
.heat-picker-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2);min-width:0}
.heat-picker-status{display:flex;align-items:center;min-height:44px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}
.heat-picker-controls.is-updating .heat-picker-status{color:var(--fg);font-weight:600}
.heat-picker-steps{display:flex;align-items:center;gap:var(--space-2);flex:none}
.heat-picker-steps button{min-height:44px;min-width:48px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}
.heat-empty-message{padding:var(--space-5) 0;font-size:var(--text-sm);line-height:1.6;color:var(--muted)}
.heat-empty-message[hidden]{display:none}
@media(hover:hover){
  #heatmap .industry-button:hover{background:var(--chip-bg);color:var(--fg);text-decoration:none}
  #heatmap .industry-button[aria-pressed=true]:hover{background:var(--accent-strong-hover);color:var(--accent-on)}
}
@media(max-width:767px){
  #heatmap .heat-table th,#heatmap .heat-table td{padding:3px}
  #heatmap .heat-table th:first-child,#heatmap .heat-table td.country-name{padding-inline-end:var(--space-2)}
  #heatmap .industry-button{padding:var(--space-2) var(--space-1);min-height:64px}
  #heatmap .heat-cell,#heatmap .country-button{min-height:44px}
  .heat-picker-controls{gap:var(--space-2)}
  .heat-picker-status{font-size:var(--text-xs)}
}
