@charset "UTF-8";
/* Load after replica.css. All layout overrides are scoped to the betting page. */
body:has(.dk-betting-page) .app-shell,
body:has(.dk-betting-page) .workspace,
body:has(.dk-betting-page) .topbar,
body:has(.dk-betting-page) .sidebar,
body:has(.dk-betting-page) .page,
body:has(.dk-betting-page) .footer {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
body:has(.dk-betting-page) .page { max-width: 1300px; }
body:has(.dk-betting-page) .nav-list { min-width: 0; overflow-x: auto; overflow-y: hidden; }
body:has(.dk-betting-page) .sidebar .brand { flex-shrink: 0; }

.dk-betting-page {
  --dk-blue: #075caa;
  --dk-blue-dark: #06477d;
  --dk-line: #adc4db;
  --dk-soft: #edf4fc;
  --dk-ink: #173c60;
  width: 100%;
  min-width: 0;
  color: var(--dk-ink);
}
.dk-betting-page .dk-roundbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 14px;
  padding: 6px 8px;
  margin-bottom: 6px;
  border: 1px solid var(--dk-line);
  background: #fff;
}
.dk-betting-page .dk-roundbar strong { font-weight: 700; color: #bd211e; }
.dk-betting-page .dk-roundbar #monitor-countdown { font-variant-numeric: tabular-nums; color: #bd211e; }
.dk-betting-page .dk-roundbar #bet-window { font-size: 11px; color: #536d89; }
.dk-betting-page .dk-roundbar #bet-window::first-letter { color: #19803a; }
.dk-betting-page .dk-roundbar #monitor-previous { display: inline-flex; align-items: center; gap: 3px; }
.dk-betting-page .dk-roundbar .dk-roundbar-actions { display: flex; align-items: center; gap: 7px; margin-left: auto; }
.dk-betting-page .dk-roundbar label { display: inline-flex; align-items: center; gap: 4px; }
.dk-betting-page .dk-roundbar #monitor-pan { width: 62px; }

.dk-betting-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 7px; }
.dk-betting-layout > * { min-width: 0; }
.dk-betting-page .dk-selection-panel,
.dk-betting-page .replica-slip-panel { margin: 0; border-color: var(--dk-line); }
.dk-betting-page .dk-selection-panel > .replica-panel-title,
.dk-betting-page .replica-slip-panel > .replica-panel-title {
  min-height: 28px;
  background: #d9e8f8;
  border-color: var(--dk-line);
  color: var(--dk-blue-dark);
  font-weight: 700;
}
.dk-betting-page .dk-selection-panel > .replica-panel-title a { color: var(--dk-blue); font-weight: 400; }
.dk-betting-page .replica-play-tabs {
  display: flex;
  flex-wrap: wrap;
  border: 0;
  background: var(--dk-blue);
  padding: 2px 2px 0;
}
.dk-betting-page .replica-play-tabs .replica-tab {
  flex: 1 0 auto;
  min-width: 54px;
  min-height: 28px;
  height: auto;
  padding: 4px 8px;
  border-right: 1px solid #ffffff30;
  border-bottom: 2px solid transparent;
  color: #fff;
  background: transparent;
  font-weight: 400;
}
.dk-betting-page .replica-play-tabs .replica-tab:hover { background: #247ac0; }
.dk-betting-page .replica-play-tabs .replica-tab.active {
  color: var(--dk-blue-dark);
  background: #fff;
  border-bottom-color: #e7aa34;
  font-weight: 700;
}
.dk-betting-page #bet-form { padding: 7px; }
.dk-betting-page .replica-trade-fields { display: grid; grid-template-columns: minmax(175px, 1.7fr) minmax(90px, 1fr) minmax(72px, .7fr); gap: 6px 9px; margin-bottom: 6px; }
.dk-betting-page .replica-trade-fields > label { display: flex; min-width: 0; justify-content: space-between; gap: 5px; white-space: nowrap; }
.dk-betting-page .replica-trade-fields .input,
.dk-betting-page .replica-trade-fields .select { width: 100%; min-width: 0; max-width: 100%; }
.dk-betting-page .replica-trade-fields #bet-user { width: 100%; min-width: 0; }
.dk-betting-page .replica-trade-fields #bet-rule { width: 100%; }
.dk-betting-page .replica-trade-fields [name="pan"] { width: 65px; }
.dk-betting-page .replica-trade-fields [name="stake"] { width: 90px; }
.dk-betting-page .replica-trade-fields output { min-width: 0; font-weight: 700; text-align: right; white-space: normal; overflow-wrap: anywhere; }
.dk-betting-page.dk-is-member .dk-account-picker { display: none; }
.dk-betting-page .replica-quick-stakes { display: flex; align-items: center; justify-content: flex-end; gap: 3px; }
.dk-betting-page .replica-quick-stakes .button { min-width: 32px; }
.dk-betting-page .replica-expansion-toolbar { margin-bottom: 5px; padding: 5px; background: var(--dk-soft); border-color: var(--dk-line); }
.dk-betting-page .dk-mode-tabs { display: flex; align-items: center; flex-wrap: wrap; gap: 3px; }
.dk-betting-page .dk-mode-tabs .button { min-height: 25px; padding: 3px 7px; border-color: #acc4dc; background: #fff; }
.dk-betting-page .dk-mode-tabs .button.active,
.dk-betting-page .dk-mode-tabs .button[aria-pressed="true"] { color: #fff; background: var(--dk-blue); border-color: var(--dk-blue-dark); }
.dk-betting-page .dk-current-total { min-height: 27px; padding: 6px 5px 2px; color: var(--dk-blue-dark); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.dk-betting-page .replica-selection-options { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; }
.dk-betting-page .replica-selection-options.numbers { grid-template-columns: repeat(10, minmax(0, 1fr)); }
.dk-betting-page .replica-selection-options > label { min-width: 0; }
.dk-betting-page .replica-selection-options > label > span {
  min-width: 0;
  min-height: 33px;
  padding: 4px 3px;
  border: 1px solid #b7c9dc;
  background: #f8fbff;
  color: var(--dk-ink);
  font: 700 13px/1.2 Arial, "SimSun", serif;
  text-align: center;
  transition: background-color .1s;
}
.dk-betting-page .replica-selection-options.numbers > label > span { font-size: 15px; font-variant-numeric: tabular-nums; }
.dk-betting-page .replica-selection-options .replica-number-chip { width: 23px; min-width: 23px; height: 23px; min-height: 0; padding: 0; font: 700 12px/1 Arial, sans-serif; border-radius: 50%; }
.dk-betting-page .replica-selection-options input:checked + span .replica-number-chip { background: #fff; }
.dk-betting-page .replica-selection-options input:hover + span { background: #e9f3ff; border-color: #71a2cc; }
.dk-betting-page .replica-selection-options.numbers input:is([value="1"],[value="2"],[value="7"],[value="8"],[value="12"],[value="13"],[value="18"],[value="19"],[value="23"],[value="24"],[value="29"],[value="30"],[value="34"],[value="35"],[value="40"],[value="45"],[value="46"]) + span { color: #c72529; }
.dk-betting-page .replica-selection-options.numbers input:is([value="3"],[value="4"],[value="9"],[value="10"],[value="14"],[value="15"],[value="20"],[value="25"],[value="26"],[value="31"],[value="36"],[value="37"],[value="41"],[value="42"],[value="47"],[value="48"]) + span { color: #1264bb; }
.dk-betting-page .replica-selection-options.numbers input:is([value="5"],[value="6"],[value="11"],[value="16"],[value="17"],[value="21"],[value="22"],[value="27"],[value="28"],[value="32"],[value="33"],[value="38"],[value="39"],[value="43"],[value="44"],[value="49"]) + span { color: #17813a; }
.dk-betting-page .replica-selection-options input:checked + span,
.dk-betting-page .replica-selection-options.numbers input:checked + span { color: #fff; background: var(--dk-blue); border-color: var(--dk-blue-dark); box-shadow: inset 0 0 0 1px #ffffff48; }
.dk-betting-page .replica-selection-options input:focus-visible + span { outline: 2px solid #eab34b; outline-offset: 1px; }
.dk-betting-page .replica-selection-tools { gap: 4px; padding: 5px; margin-top: 6px; border-color: var(--dk-line); background: var(--dk-soft); }
.dk-betting-page .replica-selection-tools .button { min-width: 40px; }
.dk-betting-page .replica-selection-summary { color: var(--dk-blue-dark); font-variant-numeric: tabular-nums; }
.dk-betting-page .dk-rule-note { margin: 6px 0; color: #6a7d90; font-size: 11px; }
.dk-betting-page .dk-rule-note > summary { display: list-item; cursor: pointer; padding: 3px 0; color: var(--dk-blue); }
.dk-betting-page .dk-rule-note .replica-note { margin: 2px 0; padding-left: 0; }
.dk-betting-page .dk-add-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 5px 10px; margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--dk-line); }
.dk-betting-page .dk-add-actions > .button { min-width: 118px; min-height: 30px; }
.dk-betting-page .dk-add-actions #bet-cutoff { margin-right: auto; color: #b42020; }

.dk-betting-page .replica-slip-panel { position: sticky; top: 6px; }
.dk-betting-page .replica-slip-panel .replica-panel-title { gap: 5px; flex-wrap: wrap; }
.dk-betting-page #bet-slip-summary { font-weight: 400; color: #b51e22; font-variant-numeric: tabular-nums; }
.dk-betting-page #bet-slip { max-height: min(570px, 68vh); overflow: auto; overscroll-behavior: contain; padding: 0; }
.dk-betting-page #bet-slip .replica-empty { min-height: 106px; padding: 34px 12px; background: #fafcff; }
.dk-betting-page .replica-slip-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 7px; gap: 4px 6px; border-color: #d1deeb; }
.dk-betting-page .replica-slip-row:nth-child(even) { background: #f5f9ff; }
.dk-betting-page .replica-slip-row-main { display: flex; flex-wrap: wrap; gap: 3px 7px; padding-right: 41px; grid-column: 1 / -1; }
.dk-betting-page .replica-slip-row-main strong { font-weight: 700; color: var(--dk-blue-dark); }
.dk-betting-page .replica-slip-row-sub { color: #405974; word-break: break-word; font-variant-numeric: tabular-nums; line-height: 1.5; }
.dk-betting-page .replica-slip-row > [data-slip-remove] { top: 7px; right: 7px; min-height: 21px; color: #a83b3b; border-color: #dac2c2; background: #fff; }
.dk-betting-page .replica-slip-row .dk-slip-amount,
.dk-betting-page .replica-slip-row .dk-slip-stake,
.dk-betting-page .replica-slip-row > label { display: flex; align-items: center; gap: 5px; color: #536d89; }
.dk-betting-page [data-slip-stake] { width: 85px; min-width: 0; height: 26px; text-align: right; border: 1px solid #9fb8d2; background: #fff; color: var(--dk-ink); padding: 3px 5px; font: 13px Arial, sans-serif; font-variant-numeric: tabular-nums; }
.dk-betting-page .replica-slip-row .dk-slip-subtotal { align-self: center; justify-self: end; color: #b51e22; font-variant-numeric: tabular-nums; }
.dk-betting-page .replica-slip-actions { display: grid; grid-template-columns: 1fr 1.45fr; padding: 6px; gap: 6px; background: var(--dk-soft); border-color: var(--dk-line); }
.dk-betting-page .replica-slip-actions .button { min-height: 32px; }
.dk-betting-page .button.primary { border-color: var(--dk-blue-dark); background: var(--dk-blue); color: #fff; }
.dk-betting-page .button.primary:hover { background: var(--dk-blue-dark); }
.dk-betting-page button:disabled { cursor: not-allowed; opacity: .48; }

.dk-management-grid { display: grid; grid-template-columns: minmax(0, 1fr) 355px; gap: 7px; margin-top: 8px; align-items: start; }
.dk-management-grid > * { min-width: 0; }
.dk-management-grid:not(:has(.dk-draw-panel)) { grid-template-columns: minmax(0, 1fr); }
.dk-betting-page .dk-monitor-details { min-width: 0; border: 1px solid var(--dk-line); background: #fff; }
.dk-betting-page .dk-monitor-details > summary { display: list-item; cursor: pointer; min-height: 28px; padding: 5px 8px; background: #e4eef9; color: var(--dk-blue-dark); }
.dk-betting-page .dk-monitor-details > summary small { margin-left: 10px; color: #6b8098; font-size: 11px; }
.dk-betting-page .dk-monitor-details[open] > summary { border-bottom: 1px solid var(--dk-line); }
.dk-betting-page .dk-monitor-content { min-width: 0; padding: 5px; }
.dk-betting-page .dk-monitor-content .replica-summary { flex-wrap: wrap; gap: 3px 12px; white-space: normal; }
.dk-betting-page .dk-monitor-content .replica-monitor-layout { grid-template-columns: minmax(0, 1fr) 175px; }
.dk-betting-page .dk-monitor-content .replica-ranking { width: 175px; }
.dk-betting-page .dk-monitor-content .replica-number-groups { grid-template-columns: repeat(5, minmax(112px, 1fr)); overflow-x: auto; }
.dk-betting-page .dk-monitor-content .replica-number-table { min-width: 112px; }
.dk-betting-page .dk-draw-panel > .replica-panel { margin-bottom: 0; }
.dk-betting-page .dk-recent-panel { margin-top: 8px; }
.dk-betting-page .dk-recent-panel .replica-table-scroll { max-width: 100%; }
.dk-betting-page.dk-is-member .dk-monitor-details { margin-top: 1px; }

@media (max-width: 1050px) {
  .dk-betting-layout { grid-template-columns: minmax(0, 1fr) 290px; }
  .dk-betting-page .replica-trade-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .dk-management-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  body:has(.dk-betting-page) .workspace { padding-top: 96px; }
  body:has(.dk-betting-page) .topbar { height: 54px; min-height: 54px; flex-wrap: wrap; justify-content: space-between; padding: 3px 7px; gap: 2px 7px; }
  body:has(.dk-betting-page) .replica-account { max-width: 100%; overflow: hidden; font-size: 11px; }
  body:has(.dk-betting-page) .replica-account strong { display: inline-block; vertical-align: bottom; max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
  body:has(.dk-betting-page) .replica-game-switch { flex-basis: 100%; min-width: 0; margin-left: 0; height: 24px; }
  body:has(.dk-betting-page) .replica-game-button { flex: 1; min-width: 0; padding: 2px 6px; font-size: 11px; }
  body:has(.dk-betting-page) .sidebar { top: 54px; height: 38px; padding: 0 5px; gap: 4px; }
  body:has(.dk-betting-page) .sidebar .brand { width: 36px; }
  body:has(.dk-betting-page) .sidebar .brand-mark { width: 34px; height: 38px; font-size: 24px; }
  body:has(.dk-betting-page) .nav-list { padding: 0; }
  body:has(.dk-betting-page) .nav-item { height: 38px; min-height: 38px; padding: 7px 10px; }
  body:has(.dk-betting-page) .page { padding: 3px 5px 7px; }
  body:has(.dk-betting-page) .replica-breadcrumb { font-size: 11px; margin-bottom: 2px; }
  body:has(.dk-betting-page) .replica-simulation-label { font-size: 10px; padding: 2px 5px; }
  .dk-betting-layout { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .dk-betting-page .dk-roundbar { gap: 5px 10px; padding: 6px; font-size: 11px; }
  .dk-betting-page .dk-roundbar #monitor-previous { flex-wrap: wrap; }
  .dk-betting-page .dk-roundbar .dk-roundbar-actions { margin-left: 0; flex: 1 0 100%; }
  .dk-betting-page .dk-roundbar .dk-roundbar-actions > a { margin-left: auto; }
  .dk-betting-page .replica-play-tabs .replica-tab { min-height: 31px; padding: 5px 7px; }
  .dk-betting-page .replica-trade-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 7px; }
  .dk-betting-page .replica-trade-fields > label { flex-direction: column; align-items: flex-start; gap: 3px; white-space: normal; }
  .dk-betting-page .replica-trade-fields .input,
  .dk-betting-page .replica-trade-fields .select { width: 100%; min-height: 30px; }
  .dk-betting-page .replica-trade-fields [name="pan"],
  .dk-betting-page .replica-trade-fields [name="stake"] { width: 100%; }
  .dk-betting-page .replica-trade-fields output { display: flex; align-items: center; min-height: 30px; }
  .dk-betting-page .replica-quick-stakes { align-items: flex-end; justify-content: flex-start; }
  .dk-betting-page .replica-quick-stakes .button { min-height: 30px; min-width: 32px; flex: 1; }
  .dk-betting-page .replica-selection-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .dk-betting-page .replica-selection-options.numbers { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .dk-betting-page .replica-selection-options > label > span { min-height: 35px; }
  .dk-betting-page .replica-selection-tools .button { min-height: 29px; }
  .dk-betting-page .replica-selection-summary { flex-basis: 100%; margin-left: 0; padding-top: 3px; }
  .dk-betting-page .replica-pass-leg { flex-wrap: wrap; gap: 5px; }
  .dk-betting-page .replica-pass-leg label { min-width: 0; }
  .dk-betting-page .replica-slip-panel { position: static; }
  .dk-betting-page #bet-slip { max-height: 360px; }
  .dk-betting-page .replica-slip-actions { padding-bottom: max(6px, env(safe-area-inset-bottom)); }
  .dk-betting-page .dk-monitor-content .replica-monitor-layout { grid-template-columns: minmax(0, 1fr); }
  .dk-betting-page .dk-monitor-content .replica-ranking { width: 100%; }
  .dk-betting-page .dk-monitor-content .replica-number-groups { grid-template-columns: repeat(5, 128px); }
  .dk-betting-page .dk-monitor-details > summary small { display: block; margin: 2px 0 0 15px; }
  body:has(.dk-betting-page) #record-dialog { width: calc(100vw - 18px); max-width: calc(100vw - 18px); max-height: calc(100dvh - 24px); }
  body:has(.dk-betting-page) #record-dialog .dialog-body { padding: 7px; }
  body:has(.dk-betting-page) #record-dialog .replica-form-table { table-layout: fixed; }
  body:has(.dk-betting-page) #record-dialog .replica-form-table > tbody > tr > th { width: 80px; white-space: normal; padding: 4px; }
  body:has(.dk-betting-page) #record-dialog .replica-form-table > tbody > tr > td { min-width: 0; padding: 4px; overflow-wrap: anywhere; }
  body:has(.dk-betting-page) #record-dialog .replica-quote-items { max-width: 100%; overflow: auto; }
  body:has(.dk-betting-page) #record-dialog .replica-quote-items .replica-table { min-width: 410px; }
  body:has(.dk-betting-page) #record-dialog .dialog-footer .button { min-height: 33px; }
}
@media (max-width: 420px) {
  .dk-betting-page .replica-selection-options.numbers { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
  .dk-betting-page .replica-selection-options.numbers > label > span { font-size: 14px; min-height: 34px; }
  .dk-betting-page .replica-play-tabs .replica-tab { flex-basis: calc(100% / 5); min-width: 0; padding-left: 2px; padding-right: 2px; }
  .dk-betting-page .replica-trade-fields #bet-user { font-size: 11px; }
}
@media print {
  .dk-betting-layout, .dk-management-grid { display: block; }
  .dk-betting-page .replica-slip-panel { position: static; }
}
