/* Simulation extension: compact red / pink console components. */
.sim-page-body { min-width: 0; }
.sim-scope-banner { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 9px; min-height: 29px; padding: 5px 8px; margin-bottom: 8px; border: 1px solid #d8b96d; color: #977441; background: #fff8dd; font-size: 11px; }
.sim-scope-banner svg { width: 14px; height: 14px; color: #a58547; flex-shrink: 0; }
.sim-scope-banner strong { font-size: 12px; color: #a05427; font-weight: 700; }
.sim-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 26px; padding: 7px 9px; margin-bottom: 8px; border: 1px solid #dfb7b7; background: #fffafa; color: #906767; font-size: 12px; }
.sim-summary strong { color: #9a0000; font-weight: 700; font-variant-numeric: tabular-nums; }
.sim-console-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(265px, 1fr); gap: 8px; margin-bottom: 8px; align-items: stretch; }
.sim-console-grid > .panel { margin: 0; }
.sim-current-round { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px; padding: 6px 9px; border-bottom: 1px solid #ead1d1; background: #fff3f3; color: #956969; font-size: 12px; }
.sim-current-round strong { color: #990000; font-weight: 700; }
.sim-fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.sim-fieldset:disabled { opacity: .62; }
.sim-output { display: flex; align-items: center; min-height: 27px; padding: 3px 7px; border: 1px solid #e2c6c6; color: #9c0000; background: #fff1f1; font-size: 12px; font-weight: 700; }
.sim-selection-field { margin-top: 12px; }
.sim-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.sim-choices.sim-numbers { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; max-width: 430px; }
.sim-choice { display: block; min-width: 0; position: relative; cursor: pointer; }
.sim-choice input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); opacity: 0; }
.sim-choice span { display: flex; justify-content: center; align-items: center; min-height: 25px; padding: 2px 6px; border: 1px solid #ddb7b7; background: #fff8f8; color: #976565; font-size: 12px; font-variant-numeric: tabular-nums; }
.sim-choice:hover span { border-color: #ba7272; color: #980000; background: #fff1e1; }
.sim-choice input:checked + span { border-color: #a00000; color: #fff; background: #a00000; font-weight: 700; }
.sim-choice input:focus-visible + span { outline: 2px solid #c98d62; outline-offset: 2px; }
.sim-choice input:disabled + span { cursor: not-allowed; }
.sim-estimate { display: flex; flex-wrap: wrap; gap: 5px 24px; margin-top: 9px; padding: 6px 7px; border: 1px solid #e8d0a7; background: #fff8e9; color: #a3794c; font-size: 11px; }
.sim-estimate strong { font-weight: 700; color: #a25829; }
.sim-submit-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 7px; margin-top: 9px; padding-top: 7px; border-top: 1px solid #e8cccc; }
.sim-submit-row .muted { font-size: 10px; color: #ab8787; }
.sim-inline-warning { margin-top: 5px; color: #b17d15; font-size: 11px; }
.sim-inline-warning:empty { display: none; }
.sim-form-error { display: block; margin: 7px 0 0; color: #b12222; font-size: 11px; line-height: 1.6; white-space: normal; }
.sim-form-error:empty { display: none; }
.sim-error { margin: 0 0 8px; padding: 7px 8px; border: 1px solid #e3b8b8; background: #fff0f0; color: #a72d2d; font-size: 12px; overflow-wrap: anywhere; }
.sim-hint { margin: 7px 0; color: #a58a7b; font-size: 11px; line-height: 1.75; }
.sim-round-details { margin: 0 0 13px; padding: 0 0 7px; border-bottom: 1px solid #e6c6c6; }
.sim-round-details > div { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; padding: 5px 0; font-size: 12px; }
.sim-round-details dt { color: #a58282; }
.sim-round-details dd { margin: 0; text-align: right; color: #925555; overflow-wrap: anywhere; }
.sim-draw-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.sim-open-round { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; margin-top: 15px; padding-top: 10px; border-top: 1px solid #e8cccc; }
.sim-table th { white-space: nowrap; }
.sim-table .sim-number { text-align: right; font-variant-numeric: tabular-nums; }
.sim-table td.sim-note-cell { min-width: 180px; max-width: 370px; white-space: normal; overflow-wrap: anywhere; }
.sim-table tfoot td, .sim-table tfoot th { background: #f8dfdf; color: #8c4141; font-size: 12px; font-weight: 700; }
.sim-table .empty-state { padding: 22px 10px; }
.sim-table .empty-state strong { font-size: 12px; font-weight: 400; }
.sim-table td.sim-positive, .sim-summary strong.sim-positive { color: #328348; }
.sim-table td.sim-negative, .sim-summary strong.sim-negative { color: #b02929; }
.filter-group > .sim-wide-select { width: 225px; max-width: 100%; }
.sim-result-cell { text-align: center; }
.sim-result-number { display: inline-flex; align-items: center; justify-content: center; width: 23px; height: 23px; border: 1px solid #c68080; background: #f9e6e6; color: #a00000; font-size: 12px; font-weight: 700; }
.sim-dialog-account { padding-bottom: 7px; margin-bottom: 7px !important; border-bottom: 1px solid #e6c6c6; color: #985959 !important; font-weight: 700; }
.sim-adjust-dialog .dialog-body > .field + .field { margin-top: 11px; }
.sim-report-toolbar { align-items: flex-end; }
.sim-date-label { display: inline-flex; align-items: center; gap: 5px; color: #9b7777; font-size: 11px; }
.sim-date-label > .input { width: 133px; font-size: 12px; }
.sim-report-summary { border: 0; border-top: 1px solid #e6c6c6; border-bottom: 1px solid #e6c6c6; margin: 0; background: #fff5e7; }
.sim-rules-note { border: 1px solid #e2cfae; padding: 7px 9px; margin-bottom: 8px; background: #fff9ed; color: #a17f53; font-size: 12px; }
.sim-rule-form { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.sim-rule-form > .input { width: 72px; min-height: 24px; padding: 2px 5px; }
.sim-rule-form .sim-form-error { flex-basis: 100%; margin: 0; }
.sim-rules-table td { padding-top: 5px; padding-bottom: 5px; }
@media (max-width: 1024px) {
  .sim-console-grid { grid-template-columns: minmax(0, 1.35fr) minmax(250px, 1fr); }
  .sim-summary { gap: 5px 16px; }
}
@media (max-width: 760px) {
  .sim-scope-banner { padding: 5px 7px; gap: 3px 7px; font-size: 10px; }
  .sim-scope-banner strong { font-size: 11px; }
  .sim-scope-banner > span { flex-basis: 100%; padding-left: 21px; }
  .sim-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 8px; padding: 6px 7px; font-size: 11px; }
  .sim-console-grid { grid-template-columns: 1fr; gap: 7px; margin-bottom: 7px; }
  .sim-current-round { padding: 5px 7px; font-size: 11px; }
  .sim-console-grid .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .sim-console-grid .field > label { font-size: 11px; }
  .sim-estimate { gap: 4px 10px; font-size: 10px; padding: 5px; }
  .sim-round-details { margin-bottom: 9px; }
  .sim-round-details > div { padding: 4px 0; font-size: 11px; }
  .sim-open-round { margin-top: 10px; padding-top: 8px; }
  .filter-group > .sim-wide-select { flex: 1; width: 170px; min-width: 130px; }
  .sim-date-label { width: 100%; justify-content: space-between; }
  .sim-date-label > .input { width: calc(100% - 61px); }
  .sim-report-toolbar .filter-group { gap: 6px; }
  .sim-report-toolbar > .button { margin-top: 1px; }
  .sim-rules-note { padding: 6px 7px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .sim-choice span { transition: none; }
}
@media print {
  .sim-submit-row, .sim-draw-buttons, .sim-open-round, .sim-rule-form button { display: none; }
  .sim-scope-banner { border-color: #aaa; background: white; color: black; }
}

/* Automatic simulation controls and the complete record directory. */
.sim-automation-panel { display: grid; grid-template-columns: minmax(340px, 1fr) minmax(300px, 1.15fr); background: #fffafa; }
.sim-automation-form { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 11px; padding: 9px 10px; border-right: 1px solid #e2c4c4; }
.sim-auto-check { display: inline-flex; align-items: center; gap: 5px; color: #9b4949; font-size: 12px; white-space: nowrap; }
.sim-auto-check input { width: 14px; height: 14px; margin: 0; accent-color: #a00000; }
.sim-auto-interval { display: inline-flex; align-items: center; gap: 5px; color: #966b6b; font-size: 12px; white-space: nowrap; }
.sim-auto-interval > .input { width: 78px; min-height: 26px; padding: 2px 5px; font-size: 12px; font-variant-numeric: tabular-nums; }
.sim-automation-form > .sim-form-error { margin: 0; flex-basis: 100%; }
.sim-auto-unsaved { display: block; flex-basis: 100%; color: #b08978; font-size: 10px; }
.sim-automation-status { min-width: 0; padding: 8px 10px; background: #fff4ed; }
.sim-auto-status-line { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; color: #a27a62; font-size: 11px; }
#sim-auto-countdown { display: inline-block; min-width: 45px; font-size: 19px; color: #a00000; font-weight: 700; letter-spacing: .5px; font-variant-numeric: tabular-nums; }
.sim-auto-times { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 15px; margin-top: 4px; color: #b29481; font-size: 10px; }
.sim-automation-status > .sim-form-error, .sim-automation-status > .sim-inline-warning { margin-top: 5px; font-size: 10px; overflow-wrap: anywhere; }
.sim-cutoff-note { margin-top: 6px; padding: 5px 7px; border: 1px solid #e7cd9e; background: #fff7da; color: #a47b32; font-size: 11px; }
.sim-cutoff-note:empty { display: none; }
.sim-all-bets-link { font-weight: 700; }
.sim-bet-filter-form { padding: 8px 9px; border-bottom: 1px solid #e0bcbc; background: #fff3f3; }
.sim-bet-filter-grid { display: grid; grid-template-columns: minmax(150px, 1.4fr) minmax(105px, .8fr) minmax(135px, 1.1fr) minmax(145px, 1fr) minmax(145px, 1fr) 80px; gap: 8px; align-items: end; }
.sim-bet-filter-grid > label { display: flex; flex-direction: column; gap: 4px; min-width: 0; color: #9b7575; font-size: 11px; }
.sim-bet-filter-grid .input, .sim-bet-filter-grid .select { width: 100%; min-width: 0; font-size: 12px; }
.sim-bet-filter-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.sim-bet-filter-actions .muted { margin-left: 5px; color: #b39494; font-size: 10px; }
.sim-record-scope { padding: 5px 8px; color: #a78372; background: #fff8ee; border-bottom: 1px solid #e5c9b4; font-size: 11px; }
.sim-full-bets { min-width: 1160px; }
.sim-full-bets td { vertical-align: middle; }
#sim-all-bet-results[aria-busy="true"] > .table-scroll { opacity: .6; }
@media (max-width: 1190px) {
  .sim-automation-panel { grid-template-columns: minmax(300px, 1fr) minmax(280px, 1fr); }
  .sim-bet-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .sim-automation-panel { grid-template-columns: 1fr; }
  .sim-automation-form { border-right: 0; border-bottom: 1px solid #e4c7c7; padding: 7px; gap: 7px 9px; }
  .sim-automation-status { padding: 6px 7px; }
  .sim-auto-status-line { gap: 4px 7px; font-size: 10px; }
  .sim-auto-times { font-size: 9px; gap: 3px 10px; }
  #sim-auto-countdown { font-size: 18px; }
  .sim-auto-check { font-size: 11px; }
  .sim-auto-interval { font-size: 11px; }
  .sim-auto-interval > .input { width: 72px; }
  .sim-bet-filter-form { padding: 7px; }
  .sim-bet-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .sim-bet-filter-actions { gap: 5px; }
  .sim-bet-filter-actions .muted { flex-basis: 100%; margin-left: 0; }
  .sim-record-scope { padding: 5px 7px; font-size: 10px; }
}
@media print {
  .sim-automation-form, .sim-bet-filter-form, .sim-all-bets-link { display: none; }
  .sim-automation-panel { display: block; }
  .sim-full-bets { min-width: 0; font-size: 8px; }
}
