/* Pipeline-owned presentation styles. They stay inside the Core shell. */
.ricore-app .rip-presentation,
.ricore-shell .rip-presentation { max-width: 100%; }
.rip-presentation .rip-toolbar,
.rip-presentation .rip-actions,
.rip-presentation .rip-status-grid,
.rip-presentation .rip-runner-facts { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: end; }
.rip-presentation .rip-actions { margin: 1rem 0; align-items: center; }
.rip-presentation .rip-actions form { margin: 0; }
.rip-presentation .rip-status-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1rem; align-items: stretch; margin: 1rem 0; }
.rip-presentation.rip-processing .rip-status-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr)); }
.rip-presentation.rip-processing .rip-status-card { min-width: 0; overflow: visible; }
.rip-presentation .rip-status-card,
.rip-presentation .rip-runner-card { padding: 1rem; border: 1px solid #dcdcde; border-radius: .5rem; background: #fff; }
.rip-presentation .rip-status-card h3,
.rip-presentation .rip-runner-card h3 { margin-top: 0; }
.rip-presentation.rip-overview .rip-overview-count { margin: .2rem 0 .65rem; font-size: 2.25rem; line-height: 1; font-weight: 700; }
.rip-presentation .rip-status-list,
.rip-presentation .rip-facts { display: grid; grid-template-columns: minmax(8rem, max-content) minmax(0, 1fr); gap: .45rem 1rem; margin: 0; }
.rip-presentation .rip-status-list dt,
.rip-presentation .rip-facts dt { font-weight: 700; }
.rip-presentation .rip-status-list dd,
.rip-presentation .rip-facts dd { margin: 0; min-width: 0; overflow-wrap: normal; word-break: normal; }
.rip-presentation.rip-processing .rip-status-list { grid-template-columns: minmax(9rem, 12rem) minmax(0, 1fr); }
.rip-presentation.rip-processing .rip-status-list dd { line-height: 1.45; }
.rip-presentation.rip-processing .rip-status-card .notice { margin: .85rem 0 0; }
.rip-presentation.rip-processing .rip-status-card form { margin-top: .85rem; }
@media (max-width: 960px) {
  .rip-presentation.rip-processing .rip-status-grid { grid-template-columns: minmax(0, 1fr); }
  .rip-presentation.rip-processing .rip-status-list { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
  .rip-presentation.rip-processing .rip-status-list dt { margin-top: .55rem; }
}
.rip-presentation .rip-list-table-wrap { overflow-x: auto; }
.rip-presentation .rip-data-table { min-width: 760px; }
.rip-presentation .rip-runner-list { display: grid; gap: 1rem; margin-top: 1rem; }
.rip-presentation .rip-prepare-race { margin: 1rem 0; padding: 1rem; border: 1px solid #72aee6; border-radius: .5rem; background: #f0f6fc; }
.rip-presentation .rip-prepare-race form { display: grid; gap: .6rem; }
.rip-presentation .rip-runner-facts { align-items: start; }
.rip-presentation .rip-runner-facts > * { flex: 1 1 15rem; }
.rip-presentation .rip-history { margin-top: .75rem; }
.rip-presentation .rip-history table { width: 100%; margin-top: .75rem; }
.rip-presentation .rip-technical { margin-top: .75rem; font-size: .9em; }
.rip-presentation .rip-time-note { color: #50575e; }
.rip-presentation .rip-raw-diagnostics { margin-top: 1rem; }
.ricore-shell .rip-daily-races { container-type: inline-size; }
@container (max-width: 820px) {
  .ricore-shell .rip-daily-races .rip-data-table { min-width: 0; }
  .ricore-shell .rip-daily-races .rip-data-table thead { display: none; }
  .ricore-shell .rip-daily-races .rip-data-table,
  .ricore-shell .rip-daily-races .rip-data-table tbody,
  .ricore-shell .rip-daily-races .rip-data-table tr,
  .ricore-shell .rip-daily-races .rip-data-table td { display: block; width: 100%; box-sizing: border-box; }
  .ricore-shell .rip-daily-races .rip-data-table tr { padding: .75rem 0; border-bottom: 1px solid #dcdcde; }
  .ricore-shell .rip-daily-races .rip-data-table td { padding: .3rem .5rem; }
  .ricore-shell .rip-daily-races .rip-data-table td::before { content: attr(data-label); display: block; color: #50575e; font-size: .85em; font-weight: 700; }
}
@media (max-width: 782px) {
  .rip-presentation .rip-data-table { min-width: 0; }
  .rip-presentation .rip-data-table thead { display: none; }
  .rip-presentation .rip-data-table, .rip-presentation .rip-data-table tbody, .rip-presentation .rip-data-table tr, .rip-presentation .rip-data-table td { display: block; width: 100%; }
  .rip-presentation .rip-data-table tr { padding: .75rem 0; border-bottom: 1px solid #dcdcde; }
  .rip-presentation .rip-data-table td { padding: .3rem .5rem; }
  .rip-presentation .rip-data-table td::before { content: attr(data-label); display: block; color: #50575e; font-size: .85em; font-weight: 700; }
}
