/* Online controls extend the existing production utility's semantic theme. */
/* Keep wide result columns inside the table scroller, not the page grid. */
body > div, main, main > div, main > div > section { min-width: 0; }
main > div { width: 100%; grid-template-columns: minmax(0, 1fr); }
.table-shell { min-width: 0; max-width: 100%; overflow-x: auto; }
.table { min-width: 1120px; }
.table-head-cell { white-space: nowrap; }
.table-cell:nth-child(4), .table-cell:nth-child(5), .table-cell:nth-child(6), .table-cell:nth-child(8), .table-cell:nth-child(9) { white-space: nowrap; overflow-wrap: normal; }
.online-filters { margin-top: 18px; align-items: flex-end; gap: 16px; }
.online-filter { display: grid; gap: 6px; min-width: 155px; }
.online-filter .hint { margin: 0; }
.native-select { min-width: 155px; width: 100%; padding: 9px 12px; font: inherit; font-size: 14px; color: var(--foreground); background: var(--background); border: 1px solid var(--input); border-radius: 8px; transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease; }
.native-select:hover { border-color: var(--primary); }
.native-select:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.native-select:disabled { color: var(--disabled-foreground); cursor: default; opacity: .6; }
.online-feedback { padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; margin: 16px 0 0; color: var(--foreground); background: var(--background); transition: border-color .2s ease, background-color .2s ease; }
.online-feedback[data-tone="error"] { border-color: var(--destructive); }
.online-feedback[data-tone="warning"] { border-color: var(--primary); }
.online-source-link { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; transition: opacity .15s ease; }
.online-source-link:hover { opacity: .75; }
.online-saved { color: var(--foreground); font-weight: 550; }
.table-row { transition: background-color .15s ease; }
.table-row:hover { background: color-mix(in srgb, var(--primary) 3%, transparent); }
.table-cell .btn { white-space: nowrap; }
@media (max-width: 600px) { .online-filter { flex: 1; min-width: 125px; } .online-filter .native-select { min-width: 125px; } }
@media (prefers-reduced-motion: reduce) { .native-select, .online-feedback, .online-source-link, .table-row { transition: none; } }
