/* File: public/app/styles/dialogs.css | Owner/Card: Task 265.
 * Shared dialog chrome and safe, natural table scrolling. */
.managed-dialog-open { overflow: hidden; }
.modal-overlay[data-managed-dialog] {
  position: fixed; inset: 0; z-index: 12000; display: grid; place-items: center;
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  overflow: hidden;
}
.modal-overlay[data-managed-dialog] > .modal-panel {
  display: flex; flex-direction: column; width: min(1200px, 100%); max-width: 100%;
  max-height: calc(100dvh - max(24px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));
  min-width: 0; min-height: 0; padding: 0; overflow: hidden;
}
.modal-overlay[data-managed-dialog] .managed-dialog-header {
  flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 10px 14px; margin: 0; border-bottom: 1px solid #43505b;
  flex-direction: row !important; text-align: left;
}
.managed-dialog-header h2 { margin: 0; font-size: 1.1rem; overflow-wrap: anywhere; }
.managed-dialog-header button { flex: 0 0 auto; min-width: 44px; min-height: 44px; }
.modal-overlay[data-managed-dialog] .managed-dialog-body {
  flex: 1 1 auto; min-height: 0; min-width: 0; overflow-y: auto; overflow-x: hidden;
  overscroll-behavior-y: contain; padding: 14px; scrollbar-gutter: stable;
}
.managed-dialog-footer { display: flex; justify-content: flex-end; margin-top: 20px; padding: 10px 0 max(6px, env(safe-area-inset-bottom)); }
.managed-dialog-footer button { min-height: 44px; }
.leagues-analysis-table, .leagues-analysis-layout, .leagues-analysis-layout > * { min-width: 0; max-width: 100%; }
.leagues-analysis-table .table-wrap { overflow-x: auto; max-width: 100%; touch-action: pan-x pan-y; overscroll-behavior-x: contain; scrollbar-width: auto; }
.leagues-table-hint { margin: 6px 0; font-size: .875rem; opacity: .85; }
.leagues-analysis-table td small { display: block; margin-top: 4px; }
.prediction-updated { font-size: 1.05rem; }
.prediction-details { margin: 12px 0; }
.pool-research-modal .leagues-analysis-layout { display: block; }
.pool-research-modal .leagues-analysis-layout > .card { margin-bottom: 12px; }
.pool-research-modal [data-leagues-ad-anchor], .pool-research-modal .leagues-ad-presentation-row { display: none; }
/* Research stays a real, horizontally scrollable table on phones. */
.route-leagues .leagues-analysis-table .table-wrap,
.pool-research-modal .leagues-analysis-table .table-wrap { overflow-x: auto; border: 1px solid var(--line); }
.leagues-analysis-table table.data-table { width: 100%; min-width: 1280px; table-layout: auto; }
.leagues-analysis-table table.data-table thead { display: table-header-group; position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; }
.leagues-analysis-table table.data-table tbody { display: table-row-group; }
.route-leagues .leagues-analysis-table table.data-table tbody > tr:not(.leagues-ad-presentation-row) { display: table-row; padding: 0; border: 0; }
.route-leagues .leagues-analysis-table table.data-table tbody > tr:not(.leagues-ad-presentation-row) > td { display: table-cell; padding: 9px 10px; border-bottom: 1px solid var(--line); overflow-wrap: normal; }
.route-leagues .leagues-analysis-table table.data-table tbody > tr:not(.leagues-ad-presentation-row) > td::before { content: none; }
[data-w256-c4r24r1-driver-odds-table] td:nth-child(2) { min-width: 130px; }
[data-w256-c4r24r1-driver-odds-table] td:nth-child(10) { min-width: 260px; max-width: 320px; }
@media (max-width: 700px) {
  .modal-overlay[data-managed-dialog] { padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom); }
  .modal-overlay[data-managed-dialog] > .modal-panel { width: 100%; max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); border-radius: 0; }
  .modal-overlay[data-managed-dialog] .managed-dialog-body { padding: 10px; }
}
/* Task265: Essential Odds columns fit the viewport; any overflow scrolls at current rows. */
.modal-overlay[data-managed-dialog] > .modal-panel:has([data-w256-c4r24r1-driver-odds-table]) { width: min(1600px,100%); }
.leagues-analysis-table table[data-w256-c4r24r1-driver-odds-table] { min-width:760px; width:100%; table-layout:fixed; }
.leagues-analysis-table [data-w256-c4r24r1-driver-odds-table] th,
.leagues-analysis-table [data-w256-c4r24r1-driver-odds-table] td,
.route-leagues .leagues-analysis-table [data-w256-c4r24r1-driver-odds-table] tbody>tr:not(.leagues-ad-presentation-row)>td { padding:8px 7px; min-width:0; max-width:none; white-space:normal; overflow-wrap:anywhere; vertical-align:top; }
.leagues-analysis-table [data-w256-c4r24r1-driver-odds-table] td p { margin:0 0 6px; font-size:.9rem; }
.leagues-analysis-table [data-w256-c4r24r1-driver-odds-table] details { font-size:.875rem; }
.leagues-analysis-table .prediction-table-scroll { max-height:min(65dvh,680px); overflow:auto; scrollbar-gutter:stable; overscroll-behavior:auto; }
.leagues-analysis-table .prediction-table-scroll thead { position:sticky; top:0; z-index:1; background:#142337; }
.prediction-table-scroll:focus-visible { outline:3px solid #7cdaec; outline-offset:2px; }
.prediction-feature-status { font-size:.875rem; margin:8px 0; }
.leagues-analysis-layout:has(.prediction-table-scroll)>.card { padding:12px; }
@media(max-width:700px) { .leagues-analysis-table .prediction-table-scroll { max-height:65dvh; -webkit-overflow-scrolling:touch; touch-action:pan-x pan-y; } }
