:root{--bg: #0f1419;--bg-card: #1a212b;--bg-hover: #222b37;--border: #2a3441;--text: #e6edf3;--text-muted: #8b98a9;--accent: #4f9cf9;--green: #3fb950;--red: #f85149;--yellow: #d29922}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Hiragino Sans,Yu Gothic UI,Meiryo,system-ui,sans-serif;font-size:14px;line-height:1.6}.app{max-width:1200px;margin:0 auto;padding:0 20px 60px}.header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 0 0;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;background:var(--bg)}.header h1{font-size:20px;margin:0 0 12px}.header-title{display:inline-flex;align-items:center;padding:0;border:none;background:none;font:inherit;color:inherit;cursor:pointer}.header-title:hover{opacity:.8}.header-title:focus-visible{outline:2px solid var(--accent, #0b3a8c);outline-offset:2px;border-radius:4px}.header-sub{color:var(--text-muted);font-size:14px;font-weight:400}.header-nav{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.tabs,.auth-actions{display:flex;align-items:flex-end;gap:4px}.tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:10px 16px;font-size:14px;cursor:pointer}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.auth-button{border:1px solid transparent;border-radius:999px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;margin-bottom:4px;padding:7px 16px}.auth-button-login{background:var(--accent);border-color:#4f9cf999}.auth-button-login:hover,.auth-button-login.active{filter:brightness(1.12)}.auth-button-logout{background:var(--red);border-color:#f8514999}.auth-button-logout:hover{filter:brightness(1.08)}.content{padding-top:8px}h2{font-size:16px;margin:12px 0}.overview-section{margin-bottom:22px}.overview-section>h2{border-bottom:1px solid var(--border);color:var(--text);margin:12px 0;padding-bottom:6px}.section-subcount{font-size:13px;font-weight:400;color:var(--text-muted)}.settings-admin-section{margin-top:24px;border:1px solid var(--border);border-radius:10px;padding:8px 16px}.settings-admin-section>h2{margin:8px 0 4px}.admin-block{padding:14px 0}.admin-block+.admin-block{border-top:1px solid var(--border)}.admin-block h3{margin:0 0 8px}.admin-block>.muted{margin:0 0 12px}.update-badge{margin-left:10px;font-size:12px;font-weight:700;color:#fff;background:#e5484d;border-radius:10px;padding:2px 9px;vertical-align:middle}.deploy-status-table{margin-bottom:14px}.deploy-status-table td:first-child{color:var(--text-muted);width:38%;white-space:nowrap}.deploy-log{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:12px;max-height:180px;overflow:auto;white-space:pre-wrap;margin:0 0 14px}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);margin:12px 0;padding-bottom:6px}.section-header-row>h2{border-bottom:none;color:var(--text);margin:0;padding:0}.loading,.muted{color:var(--text-muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.card,.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px}.chart-card{margin-top:14px}.chart-card-embedded{border:none;margin-top:10px;padding:0}.card-title{color:var(--text-muted);font-size:13px;margin-bottom:6px}.metric{font-size:26px;font-weight:700;margin-bottom:8px}.card-rows>div{display:flex;justify-content:space-between;color:var(--text-muted);font-size:13px;padding:2px 0}.card-rows>div span:last-child{color:var(--text)}.mini-stat-table{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.mini-stat-table>div{display:flex;justify-content:space-between;color:var(--text-muted);font-size:13px;padding:2px 0}.mini-stat-table small{color:var(--text-muted)}.model-version-text{margin:-4px 0 0;word-break:break-word}.feature-list{display:flex;flex-wrap:wrap;gap:8px}.feature-chip{background:#8b98a926;border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:12px;padding:4px 9px}.feature-chip-accent{background:#4f9cf924;color:var(--accent)}.json-block{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:12px;margin:8px 0 0;max-height:260px;overflow:auto;padding:10px;white-space:pre-wrap}.compact-stats-table{max-width:760px;margin-bottom:18px}.collapsible-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin:12px 0 16px;overflow:hidden}.collapsible-panel>summary{align-items:center;background:var(--bg-hover);color:var(--text);cursor:pointer;display:flex;gap:8px;justify-content:space-between;list-style:none;padding:10px 12px;-webkit-user-select:none;user-select:none}.collapsible-panel>summary::-webkit-details-marker{display:none}.collapsible-panel>summary:after{color:var(--text-muted);content:"+";font-size:12px}.collapsible-panel[open]>summary:after{content:"-"}.collapsible-panel>.table,.collapsible-panel>.race-filters,.collapsible-panel>.chart-card{border:none;border-radius:0}.compact-detail-panel{background:transparent}.summary-pill{background:#4f9cf924;border-radius:999px;color:var(--accent);font-size:12px;margin-left:auto;padding:2px 8px}.table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.table th,.table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border)}.table th{color:var(--text-muted);font-size:12px;font-weight:400;background:var(--bg-hover)}.table tr:last-child td{border-bottom:none}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.table th.sortable:hover{color:var(--text)}.table th.sortable.sorted{color:var(--text);font-weight:600}.race-conditions{font-weight:600;margin:0 0 6px}.sort-arrow{margin-left:4px;font-size:10px;opacity:.6}.table th.sortable.sorted .sort-arrow{opacity:1}.table-narrow{max-width:560px}.row-clickable{cursor:pointer}.row-clickable:hover td{background:var(--bg-hover)}.row-bet td{background:#4f9cf914}.admin-action-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 10px}.danger-outline{border-color:#ff7b7273;color:var(--red)}.danger-outline:hover:not(:disabled){background:#ff7b721a;border-color:var(--red)}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:0;text-align:left}.link-button:hover{text-decoration:underline}.model-card{position:relative}.model-list-link{position:absolute;top:16px;right:16px;font-size:13px;white-space:nowrap}.feature-importance-table{margin-top:14px}.feature-missing{font-size:11px}.detail-cell{max-width:520px;white-space:pre-line;word-break:break-word;font-size:12px;color:var(--text-muted)}.job-detail-panel{background:#ffffff05;border:1px solid var(--border);border-radius:8px;padding:12px}.job-detail-actions{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.job-detail-grid{display:grid;gap:8px 14px;grid-template-columns:92px minmax(0,1fr);font-size:13px}.job-detail-grid>span:nth-child(odd){color:var(--text-muted)}.latest-jobs-table{margin-bottom:18px}.danger-zone{align-items:center;background:#f851490f;border:1px solid rgba(248,81,73,.3);border-radius:10px;display:flex;gap:16px;justify-content:space-between;margin-top:24px;padding:16px}.danger-zone h2{color:var(--red);margin:0 0 4px}.danger-zone p{margin:0}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;white-space:nowrap}.badge-success{background:#3fb95026;color:var(--green)}.badge-failed{background:#f8514926;color:var(--red)}.badge-running{background:#4f9cf926;color:var(--accent);animation:pulse 1.2s ease-in-out infinite}.badge-queued,.badge-pending{background:#d2992226;color:var(--yellow)}.badge-dry_run,.badge-cancelled{background:#8b98a929;color:var(--text-muted)}.badge-placed{background:#3fb95026;color:var(--green)}.badge-prod{background:#f8514926;color:var(--red)}.badge-sim{background:#8b98a926;color:var(--text-muted)}@keyframes pulse{50%{opacity:.5}}.error-note,.warn-note,.info-note,.danger-note{border-radius:8px;padding:10px 14px;margin:10px 0;font-size:13px}.error-note{background:#f851491f;color:var(--red);border:1px solid rgba(248,81,73,.4)}.danger-note{background:#f851492e;color:var(--red);border:1px solid var(--red);font-weight:700}.warn-note{background:#d299221f;color:var(--yellow);border:1px solid rgba(210,153,34,.4)}.info-note{background:#4f9cf91f;color:var(--accent);border:1px solid rgba(79,156,249,.4)}.danger-text{color:var(--red)}.login-page{display:flex;justify-content:center;padding:32px 0}.login-panel{width:min(420px,100%);background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:22px}.login-panel h2{margin-top:0}.login-panel label{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.login-panel label span{color:var(--text-muted);font-size:13px}.login-panel input{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:9px 10px;font-size:14px}.login-panel input:focus{outline:none;border-color:var(--accent)}.job-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.job-button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;color:var(--text);cursor:pointer;text-align:left}.job-button:hover{border-color:var(--accent);background:var(--bg-hover)}.job-button-label{font-size:15px;font-weight:700}.job-button-desc{font-size:12px;color:var(--text-muted)}.backfill-form{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px}.backfill-form label{display:flex;flex-direction:column;gap:4px}.backfill-form label span{color:var(--text-muted);font-size:13px}.backfill-form input,.backfill-form select{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:7px 10px;font-size:14px;color-scheme:dark}.reservation-form{margin-bottom:12px}.long-backfill-form{align-items:stretch}.long-backfill-preview{align-self:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:12px;gap:2px;min-width:220px}.score-bar{position:relative;width:120px;height:18px;background:var(--bg);border-radius:4px;overflow:hidden}.score-bar-fill{height:100%;background:#4f9cf959}.score-bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding-left:6px;font-size:12px}.race-detail{display:flex;flex-direction:column;padding:8px 4px 14px;overflow-x:auto}.race-detail>.table{order:10}.race-detail>.bet-candidates{order:20}.race-detail>.race-bets{order:30}.race-detail .table{min-width:1080px}.race-detail .compact-table{min-width:760px}.bet-candidates{margin:10px 0 14px}.bet-candidates>summary{display:none}.bet-candidates-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.bet-candidates-header h4{margin:0 0 2px;font-size:15px}.race-status{border-radius:999px;display:inline-flex;font-size:12px;line-height:1;padding:4px 8px;white-space:nowrap}.race-status.finished{background:#3fb95024;color:var(--green)}.race-status.unfinished{background:#d2992224;color:var(--yellow)}.odds-status-row{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.odds-status-pill{border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:12px;padding:3px 8px}.probability-kind{color:var(--text-muted);font-size:12px}.inline-input{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.inline-input input{width:120px;min-height:34px}.race-bets{margin-top:10px;display:flex;flex-direction:column;gap:6px}.horse-detail-header{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:10px}.horse-results-table{font-size:12px}.race-bet-row{display:flex;align-items:center;gap:8px}.race-ai-summary{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin:8px 0 12px}.race-ai-status,.race-ai-pick{background:#4f9cf914;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.race-ai-status{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:140px}.race-ai-status strong{color:var(--accent)}.race-ai-picks{display:flex;gap:8px;flex-wrap:wrap}.race-ai-pick{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.race-ai-pick span:nth-child(2){color:var(--text);font-weight:700}.race-ai-rank,.value-badge{display:inline-block;border-radius:999px;padding:1px 8px;font-size:12px;white-space:nowrap}.race-ai-rank{background:#4f9cf929;color:var(--accent)}.value-good{background:#3fb95026;color:var(--green)}.value-muted{background:#8b98a926;color:var(--text-muted)}.pagination-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 12px}.pagination-actions{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.pagination-actions button{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;padding:7px 12px}.pagination-actions button:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover)}.pagination-actions button:disabled{cursor:default;opacity:.45}.table-pagination{margin:12px 0 20px}.race-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:14px}.races-page{display:flex;flex-direction:column}.races-page>h2{order:1}.races-page>.race-filters{order:2}.races-page>.table{order:3}.races-page>.pagination-bar{order:4;margin:12px 0 0}.race-filters label,.race-filters .race-filter-field{display:flex;flex-direction:column;gap:4px}.race-filters label span,.race-filters .race-filter-field>span{color:var(--text-muted);font-size:12px}.race-filters input,.race-filters select{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:7px 10px;font-size:14px;min-width:0}.race-filters input:focus,.race-filters select:focus{outline:none;border-color:var(--accent)}.bets-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:14px}.bets-filters label{display:flex;flex-direction:column;gap:4px}.bets-filters label span{color:var(--text-muted);font-size:12px}.bets-filters select{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:7px 10px;font-size:14px;min-width:140px}.bets-filters select:focus{outline:none;border-color:var(--accent)}.race-date-field{position:relative}.race-date-control{display:flex;align-items:center;gap:4px}.race-date-input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:7px 10px;font-size:14px;text-align:left;cursor:pointer}.race-date-input:focus,.race-date-input:hover{border-color:var(--accent)}.race-date-clear{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);padding:6px 9px;cursor:pointer;line-height:1}.race-date-clear:hover{color:var(--text);border-color:var(--accent)}.race-date-popover{position:absolute;z-index:20;top:calc(100% + 4px);left:0;width:252px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px;box-shadow:0 6px 20px #00000059}.race-date-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.race-date-nav span{font-size:14px;font-weight:600}.race-date-nav button{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);width:28px;height:28px;cursor:pointer;font-size:16px;line-height:1}.race-date-nav button:hover{border-color:var(--accent)}.race-date-weekdays,.race-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.race-date-weekdays{margin-bottom:2px}.race-date-weekdays span{text-align:center;font-size:11px;color:var(--text-muted);padding:2px 0}.race-date-cell{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);font-size:13px;cursor:pointer;padding:0}.race-date-cell.empty{cursor:default}.race-date-cell:not(.empty):hover{border-color:var(--accent)}.race-date-cell.has-data{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--text);font-weight:600}.race-date-cell.scheduled-only{color:#e5484d;font-weight:700;border-color:color-mix(in srgb,#e5484d 45%,transparent)}.race-date-cell.selected{background:var(--accent);color:#fff}.race-date-cell.scheduled-only.selected{color:#fff}.race-date-legend{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:var(--text-muted)}.race-date-legend .legend-swatch{width:16px;height:16px;aspect-ratio:auto;cursor:default;flex:0 0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}.person-year-filter{display:flex;flex-direction:column;gap:4px}.person-year-filter span{color:var(--text-muted);font-size:12px}.person-year-filter select{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:7px 10px;font-size:14px}.person-year-filter select:focus{outline:none;border-color:var(--accent)}.mode-switch{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.mode-switch button{background:var(--bg-card);border:none;color:var(--text-muted);padding:8px 16px;cursor:pointer}.mode-switch button.active{background:var(--accent);color:#fff}.mode-switch button.mode-prod{color:#8b98a9;font-weight:700}.mode-switch button.mode-prod.active{background:var(--red);color:#fff}.model-version-metric{font-size:15px;font-weight:600;word-break:break-word}.model-active-pill,.model-best-pill{margin-left:8px;vertical-align:middle}.model-best-pill{background:#3fb95029;color:var(--green)}.card-grid+.table,.chart-card+.table{margin-top:14px}.settings-page{max-width:960px}.form{display:flex;flex-direction:column;gap:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:20px}.form label{display:flex;flex-direction:column;gap:4px}.form label span{color:var(--text-muted);font-size:13px}.form input,.form select{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 10px;font-size:14px;max-width:320px}.form input:focus,.form select:focus{outline:none;border-color:var(--accent)}button.primary{align-self:flex-start;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 28px;font-size:14px;font-weight:700;cursor:pointer}button.primary.compact{padding:7px 14px;font-size:13px}button.primary:hover{filter:brightness(1.1)}button.primary:disabled{opacity:.6;cursor:default}button.secondary{background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;padding:8px 16px;font-size:14px}button.secondary:hover{border-color:var(--accent)}.secondary-link{display:inline-flex;align-items:center;background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;padding:8px 16px;font-size:14px;text-decoration:none}.secondary-link:hover{border-color:var(--accent)}.settings-env-table{max-width:820px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-schedule-table{min-width:1240px;margin-bottom:10px}.settings-schedule-table th,.settings-schedule-table td{white-space:nowrap}.settings-schedule-table td:last-child,.settings-schedule-table th:last-child{white-space:normal;min-width:260px}.weekday-toggles{display:flex;gap:3px}.weekday-toggle{width:24px;height:26px;padding:0;font-size:12px;line-height:1;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);cursor:pointer}.weekday-toggle.active{background:var(--accent);border-color:var(--accent);color:#0f1419;font-weight:600}.jobs-schedule-table{margin-bottom:10px}.schedule-number-input{width:92px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:7px 8px}.schedule-time-input{width:112px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:7px 8px}.schedule-number-input:disabled,.schedule-time-input:disabled{opacity:.45;cursor:not-allowed}.schedule-timing-field{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.schedule-actions{display:flex;align-items:center;gap:12px;margin:10px 0 22px}.toggle-row{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:13px}.toggle-row input{width:16px;height:16px}.env-key{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.model-params-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.model-params-form input{max-width:none}.feature-select{display:flex;flex-direction:column;gap:14px}.feature-select-group{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.feature-select-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.feature-select-head h3{margin:0;font-size:14px}.feature-select-actions{display:flex;gap:8px}.feature-select-actions button{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:12px;padding:4px 10px;cursor:pointer}.feature-select-actions button:hover{color:var(--text);border-color:var(--accent)}.feature-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px}.feature-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.feature-checkbox input{width:16px;height:16px;flex-shrink:0}@media (max-width: 760px){.model-params-form{grid-template-columns:1fr}}@media (max-width: 760px){body{font-size:13px}.app{padding:0 12px 40px}.header{align-items:stretch;padding-top:12px;position:static}.header h1{font-size:17px;line-height:1.35}.header-sub{display:block;font-size:12px;margin-top:2px}.header-nav,.tabs,.auth-actions{align-items:stretch;width:100%}.tabs{overflow-x:auto;padding-bottom:2px}.tab{flex:0 0 auto;padding:9px 12px}.auth-button{margin:0 0 8px;width:100%}.content{padding-top:4px}h2{font-size:15px;margin:14px 0 8px}.card-grid,.job-buttons{grid-template-columns:1fr;gap:10px}.card,.chart-card,.backfill-form,.race-filters{border-radius:8px;padding:12px}.metric{font-size:22px}.page-header,.pagination-bar,.mode-switch,.schedule-actions,.admin-action-bar,.danger-zone{align-items:stretch;flex-direction:column}.mode-switch button,.pagination-actions,.pagination-actions button,.danger-zone button{width:100%}.pagination-actions{justify-content:space-between}.backfill-form,.race-filters{display:grid;grid-template-columns:1fr;gap:10px}.backfill-form label,.backfill-form button,.race-filters label,.race-filters button{width:100%}.backfill-form input,.backfill-form select,.race-filters input,.race-filters select,.schedule-number-input{min-height:40px;width:100%}.long-backfill-preview{width:100%}.table{display:block;font-size:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.table th,.table td{padding:8px 9px}.detail-cell{max-width:280px;white-space:normal}.job-detail-grid{grid-template-columns:1fr}.job-detail-actions{align-items:stretch;flex-direction:column}.horse-detail-header{align-items:flex-start;flex-direction:column;gap:2px}.chart-card{overflow-x:auto}}html{scroll-behavior:smooth}::selection{background:#4f9cf952}.tab,.auth-button,button.primary,button.secondary,.secondary-link,.job-button,.card,.chart-card,.feature-chip,.link-button,.row-clickable td{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,filter .15s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.tab:focus-visible,.row-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card,.chart-card,.table{box-shadow:0 1px 2px #00000040}:where(.table tbody tr:nth-child(2n)) td{background:#ffffff06}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#3a4654}.header-logo{width:1.4em;height:1.4em;vertical-align:-.3em;margin-right:6px}.collection-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;font-size:13px}.collection-badge{padding:2px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px}.collection-badge.collected{color:var(--green);border-color:var(--green)}.collection-badge.pending{color:var(--text-muted)}.pedigree-section{margin:12px 0}.pedigree-section>summary{cursor:pointer;font-weight:600;margin-bottom:8px}.pedigree-table{table-layout:fixed}.pedigree-table td.ped-cell{border:1px solid var(--border);padding:4px 8px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.pedigree-table td.ped-gen-1{background:var(--bg-hover);font-weight:600}.pedigree-table td.ped-gen-2{background:var(--bg-card)}.toast{position:fixed;right:20px;bottom:20px;z-index:1000;display:flex;align-items:center;gap:12px;max-width:360px;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);box-shadow:0 6px 24px #0006;animation:toast-in .2s ease-out}.toast-success{border-left:4px solid var(--green)}.toast-error{border-left:4px solid var(--red)}.toast-close{background:none;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;padding:0}.toast-close:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
