.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick{cursor:pointer;transition:.2s}.quick:hover{border-color:#d8b45a88;transform:translateY(-2px)}.actions{display:flex;gap:6px;flex-wrap:wrap}.mini{border:1px solid var(--line);background:#1b1e24;color:#ddd;border-radius:8px;padding:7px 9px;font-size:11px;cursor:pointer}.mini.good{color:var(--green)}.mini.bad{color:var(--red)}.mini.gold{color:var(--gold)}form .btn{margin-top:14px}form label+label{margin-top:11px}.modal{position:fixed;inset:0;display:none;place-items:center;background:#000b;z-index:90;padding:15px}.modal.open{display:grid}.modal .card{width:min(520px,100%)}code{color:var(--gold2)}@media(max-width:800px){.admin-grid{grid-template-columns:1fr}.table td,.table th{padding:10px 7px}.content{padding-bottom:105px}}

.bet-page-head{align-items:center}.bet-count{border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:var(--gold);font-size:13px}.admin-bet-list{display:grid;gap:12px}.admin-bet-card{padding:16px}.bet-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bet-card-head h3{margin:3px 0 4px;font-size:18px}.bet-card-head h3 small{font-size:12px;font-weight:400;color:var(--muted)}.bet-card-head .eyebrow{margin:0}.bet-card-head .muted{margin:0;font-size:12px;overflow-wrap:anywhere}.bet-card-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 11px}.bet-card-summary>div{min-width:0;border:1px solid var(--line);background:#101217;border-radius:10px;padding:10px}.bet-card-summary span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.bet-card-summary b{display:block;font-size:15px;overflow-wrap:anywhere}.bet-match-preview{margin:0 0 12px;color:#ece6d7;font-size:13px;line-height:1.5}.bet-detail{border:1px solid var(--line);border-radius:11px;background:#101217}.bet-detail summary{padding:12px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:var(--gold);font-weight:700;list-style:none}.bet-detail summary::-webkit-details-marker{display:none}.bet-detail[open] summary{border-bottom:1px solid var(--line)}.bet-detail-body{padding:12px}.bet-detail-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-bottom:10px}.bet-leg{border:1px solid #292d36;border-radius:9px;padding:10px;margin-top:8px}.bet-leg:first-of-type{margin-top:0}.bet-leg-top{display:flex;gap:8px;justify-content:space-between;align-items:flex-start;font-size:13px}.bet-leg-top b{line-height:1.4}.leg-result{font-size:11px;white-space:nowrap;color:var(--gold)}.leg-result.won{color:var(--green)}.leg-result.lose{color:var(--red)}.bet-leg-grid{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:9px;color:var(--muted);font-size:12px}.bet-leg-grid strong{color:#eee;text-align:right}.bet-actions{margin-top:12px}.settled-note{display:block;margin-top:12px;color:var(--muted);font-size:12px}
@media(max-width:800px){.bet-card-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bet-card-summary>div{padding:9px 7px}.bet-card-summary b{font-size:13px}.bet-card-head h3{font-size:17px}.bet-actions .mini{min-height:38px;flex:1 1 42%}.bet-detail summary{min-height:44px}.bet-detail-meta{display:block}.bet-detail-meta span{display:block;margin-bottom:5px}}
/* Transaction ledger: scoped to the transactions view. */
.txn-page{min-width:0;max-width:100%;overflow:hidden}.txn-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(145px,.32fr) minmax(145px,.32fr) auto;gap:12px;align-items:end;margin-bottom:14px}.txn-toolbar label{min-width:0}.txn-toolbar label>span{color:var(--muted);font-size:11px}.txn-toolbar input,.txn-toolbar select{min-height:43px}.txn-page .txn-toolbar{gap:10px;margin-bottom:12px;padding:17px}.txn-page .txn-toolbar input,.txn-page .txn-toolbar select{min-height:37px}.txn-count{align-self:center;color:var(--muted);font-size:12px;white-space:nowrap}.txn-desktop{padding:0;overflow:hidden}.txn-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.txn-table th,.txn-table td{min-width:0;padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere}.txn-table th{color:var(--muted);font-size:10px;letter-spacing:.06em}.txn-table th:nth-child(1){width:16%}.txn-table th:nth-child(2){width:10%}.txn-table th:nth-child(3){width:12%}.txn-table th:nth-child(4){width:18%}.txn-table th:nth-child(5){width:25%}.txn-table th:nth-child(6){width:19%}.txn-member,.txn-source{display:grid;min-width:0;gap:3px}.txn-member strong,.txn-source strong{font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis}.txn-member small,.txn-source small{color:var(--muted);font-size:10px;line-height:1.4}.txn-id-link{width:max-content;max-width:100%;border:0;background:transparent;color:var(--muted);padding:0;font-size:10px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn-id-link:hover{color:var(--gold2)}.txn-number{display:block;margin-top:5px;color:#777e89}.txn-badge{display:inline-flex;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.txn-badge-bet{background:#3b1b22;color:#ff8b98}.txn-badge-settle{background:#173528;color:var(--green)}.txn-badge-refund{background:#3a3018;color:var(--gold2)}.txn-badge-adjustment{background:#192f4b;color:#8cbcff}.txn-badge-deposit{background:#183a35;color:#76e5c4}.txn-badge-withdraw{background:#35223e;color:#d9a3ff}.txn-badge-unknown{background:#282c34;color:#b5bac3}.txn-amount{font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.txn-amount.positive{color:var(--green)}.txn-amount.negative{color:var(--red)}.txn-amount.zero{color:#b5bac3}.txn-balance{display:flex;align-items:center;gap:6px;min-width:0;font-variant-numeric:tabular-nums}.txn-balance i{color:var(--gold);font-style:normal}.txn-incomplete{color:var(--gold2);font-size:11px}.txn-details{margin-top:8px;border-top:1px solid #282c34;padding-top:7px}.txn-details summary{width:max-content;color:var(--gold);font-size:10px;font-weight:800;cursor:pointer}.txn-details dl{display:grid;gap:0;margin:9px 0 0;padding:8px;border:1px solid #2b3038;border-radius:9px;background:#0c0e12}.txn-detail-row{display:grid;grid-template-columns:minmax(92px,.32fr) minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid #22262d}.txn-detail-row:last-child{border-bottom:0}.txn-detail-row dt{color:var(--muted);font-size:9px}.txn-detail-row dd{display:flex;align-items:flex-start;gap:7px;min-width:0;margin:0;color:#d9dce1;font-size:10px;overflow-wrap:anywhere}.txn-detail-row dd span{min-width:0;overflow-wrap:anywhere}.txn-copy{flex:none;border:1px solid #343944;border-radius:6px;background:#171a20;color:var(--gold);padding:3px 6px;font-size:9px;cursor:pointer}.txn-mobile{display:none}.txn-card{min-width:0;padding:15px}.txn-card+.txn-card{margin-top:10px}.txn-card-top{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:8px}.txn-card-top .txn-amount{padding-top:3px}.txn-badges{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:5px}.txn-currency{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.txn-currency-twd{background:#372e1c;color:var(--gold2)}.txn-currency-lobster{background:#3a241d;color:#f3a07b}.txn-card-balance{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#0e1014}.txn-card-balance>small{color:var(--muted);font-size:10px}.txn-card-source{min-width:0}.txn-card-time{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:var(--muted);font-size:10px}.txn-card-time .txn-number{margin:0;text-align:right}.txn-card .txn-details{margin-top:11px}.txn-card .txn-detail-row{grid-template-columns:1fr}.txn-card .txn-detail-row dd{font-size:11px}.txn-card .txn-detail-row dt{font-size:10px}
@media(max-width:900px){.txn-toolbar{grid-template-columns:1fr 1fr}.txn-search{grid-column:1/-1}.txn-count{text-align:right}}
@media(max-width:800px){.txn-page{margin:0;overflow:visible}.txn-toolbar{grid-template-columns:1fr 1fr}.txn-page .txn-toolbar{padding:12px}.txn-toolbar .txn-count{grid-column:1/-1;text-align:left}.txn-desktop{display:none}.txn-mobile{display:block;min-width:0}.content:has(.txn-page){padding-bottom:calc(132px + env(safe-area-inset-bottom))}.txn-card-top{grid-template-columns:minmax(0,1fr) auto}.txn-card-top .txn-amount{grid-column:2;grid-row:2;text-align:right}.txn-card-top .txn-badges{grid-column:2;grid-row:1}.txn-balance{flex-wrap:wrap;justify-content:flex-end}.txn-source strong{font-size:13px}}
@media(max-width:430px){.txn-toolbar{grid-template-columns:1fr}.txn-search,.txn-toolbar .txn-count{grid-column:1}.txn-card{padding:14px}.txn-card-balance{display:block}.txn-card-balance>small{display:block;margin-bottom:6px}.txn-balance{justify-content:flex-start}.txn-card-time{align-items:flex-end}.txn-detail-row dd{display:grid}.txn-copy{width:max-content}}
/* Member list: dual-wallet display only. */
.wallet-balances{display:grid;gap:5px;min-width:132px;font-variant-numeric:tabular-nums}.wallet-row{display:flex;align-items:center;justify-content:space-between;gap:10px;white-space:nowrap}.wallet-label{font-size:10px;font-weight:800;letter-spacing:.04em}.wallet-value{font-size:13px;font-weight:800}.wallet-twd .wallet-label,.wallet-twd .wallet-value{color:var(--gold)}.wallet-lobster .wallet-label{color:#dc8964}.wallet-lobster .wallet-value{color:#f2a47d}
@media(max-width:800px){.user-table,.user-table tbody,.user-table tr,.user-table td{display:block;width:100%}.user-table thead{display:none}.user-table tbody{padding:5px}.user-table tr{padding:10px;border-bottom:1px solid var(--line)}.user-table tr:last-child{border-bottom:0}.user-table td{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:start;gap:8px;border:0;padding:6px 5px;white-space:normal}.user-table td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:700}.user-table .wallet-balances{width:min(190px,100%);min-width:0}.user-table .actions{min-width:0}.user-table .mini{flex:1 1 auto}.user-table td>*{min-width:0}}

/* BET_MANAGEMENT_V3: scoped to the administration bet-management view. */
body[data-admin-view="bets"] .content{min-width:0;padding-bottom:calc(126px + env(safe-area-inset-bottom))}
.bet-v3-page{min-width:0;max-width:100%}.bet-v3-toolbar{display:grid;gap:12px;margin-bottom:14px}.bet-v3-title h3{margin:0;color:var(--ink);font-size:23px}.bet-v3-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.bet-v3-filter-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.bet-v3-filter-label{width:100%;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}.bet-v3-filter-btn,.bet-v3-clear{min-height:36px;border:1px solid var(--line);border-radius:999px;background:#15171d;color:#bfc4ce;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer}.bet-v3-filter-btn:hover,.bet-v3-filter-btn.active{border-color:#d8b45a99;background:#302719;color:var(--gold2)}.bet-v3-clear{margin-left:auto;color:var(--gold)}.bet-v3-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.bet-v3-filter-grid label{display:grid;min-width:0;gap:4px;color:var(--muted);font-size:10px}.bet-v3-filter-grid input,.bet-v3-filter-grid select{min-width:0;min-height:40px;border:1px solid var(--line);border-radius:9px;background:#101217;color:var(--ink);padding:8px 10px;font:inherit}.bet-v3-count{color:var(--muted);font-size:12px}.bet-v3-count b{color:var(--gold2)}.bet-v3-list{display:grid;gap:12px}.bet-v3-empty{padding:28px 18px;text-align:center;color:var(--muted)}
.bet-v3-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:14px;background:#15171d;box-shadow:0 8px 22px #0002}.bet-v3-card.is-pending{border-color:#b8903688}.bet-v3-card.is-settled{opacity:.88}.bet-v3-card.is-processing{pointer-events:none;opacity:.62}.bet-v3-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.bet-v3-member{min-width:0}.bet-v3-member strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}.bet-v3-member small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.bet-v3-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.bet-v3-badge{display:inline-flex;align-items:center;min-height:26px;max-width:100%;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;letter-spacing:.03em;white-space:nowrap}.bet-v3-currency-twd{background:#372e1c;color:var(--gold2)}.bet-v3-currency-lobster{background:#3a241d;color:#f3a07b}.bet-v3-status-pending{background:#3a3018;color:var(--gold2)}.bet-v3-status-won{background:#193928;color:var(--green)}.bet-v3-status-lose{background:#412027;color:#ff9aa5}.bet-v3-status-refunded{background:#17384a;color:#8bc9ef}.bet-v3-status-cancelled{background:#30333a;color:#c4c9d1}.bet-v3-status-processing{background:#302345;color:#d7afff}.bet-v3-status-error{background:#49231d;color:#ff9e75}.bet-v3-status-other{background:#2b2f37;color:#c9ced6}.bet-v3-idline{display:flex;justify-content:space-between;gap:10px;margin:12px 0 0;color:var(--muted);font-size:11px}.bet-v3-idline span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bet-v3-idline span:last-child{text-align:right}.bet-v3-finance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}.bet-v3-finance>div{min-width:0;border:1px solid #292d35;border-radius:10px;background:#101217;padding:9px}.bet-v3-finance span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px}.bet-v3-finance b{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums}.bet-v3-finance .positive{color:var(--green)}.bet-v3-finance .negative{color:#ff9aa5}.bet-v3-leg-list{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}.bet-v3-leg{min-width:0;border-left:2px solid #5f4e28;padding:3px 0 3px 10px}.bet-v3-leg-top{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}.bet-v3-leg-top strong{color:#e7dfc7;font-size:11px}.bet-v3-leg-match{margin-top:4px;overflow-wrap:anywhere;color:var(--ink);font-weight:800;font-size:14px}.bet-v3-leg-pick{display:flex;justify-content:space-between;gap:8px;margin-top:4px;color:#d8cfb5;font-size:12px}.bet-v3-leg-pick span{min-width:0;overflow-wrap:anywhere}.bet-v3-leg-pick b{flex:none;color:var(--gold2);font-variant-numeric:tabular-nums}.bet-v3-more-legs{border:0;background:transparent;padding:3px 0;color:var(--gold);font-size:11px;text-align:left;cursor:pointer}.bet-v3-detail,.bet-v3-actions{margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#101217}.bet-v3-detail summary,.bet-v3-actions summary{min-height:42px;display:flex;align-items:center;padding:0 11px;cursor:pointer;color:var(--gold);font-size:12px;font-weight:900;list-style:none}.bet-v3-detail summary::-webkit-details-marker,.bet-v3-actions summary::-webkit-details-marker{display:none}.bet-v3-detail[open] summary,.bet-v3-actions[open] summary{border-bottom:1px solid var(--line)}.bet-v3-detail-body,.bet-v3-actions-body{padding:11px}.bet-v3-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bet-v3-meta>div{min-width:0;border-bottom:1px solid #242830;padding:5px 0}.bet-v3-meta span{display:block;color:var(--muted);font-size:9px}.bet-v3-meta b{display:block;overflow-wrap:anywhere;margin-top:3px;color:#d9dce1;font-size:11px;font-weight:700}.bet-v3-detail-leg{margin-top:10px;border:1px solid #2a2e37;border-radius:9px;padding:10px}.bet-v3-detail-leg h4{margin:0 0 8px;color:var(--gold2);font-size:12px}.bet-v3-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bet-v3-detail-grid>div{min-width:0}.bet-v3-detail-grid span{display:block;color:var(--muted);font-size:9px}.bet-v3-detail-grid b{display:block;overflow-wrap:anywhere;margin-top:2px;color:#d9dce1;font-size:11px}.bet-v3-action-copy{margin:0 0 10px;color:var(--muted);font-size:11px;line-height:1.5}.bet-v3-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bet-v3-action{min-height:40px;border:1px solid var(--line);border-radius:9px;background:#1a1d24;color:#e2e5e9;font-size:12px;font-weight:800;cursor:pointer}.bet-v3-action:hover{border-color:#d8b45a99}.bet-v3-action-won{color:var(--green)}.bet-v3-action-lose{color:#ff9aa5}.bet-v3-action-refunded{color:#8bc9ef}.bet-v3-action-cancel{color:#d0d4da}
@media(max-width:800px){body[data-admin-view="bets"] .content{padding-left:12px;padding-right:12px}.bet-v3-title h3{font-size:21px}.bet-v3-filter-grid{grid-template-columns:1fr 1fr}.bet-v3-filter-grid label:first-child{grid-column:1/-1}.bet-v3-card{padding:14px}.bet-v3-member strong{font-size:17px}.bet-v3-finance{gap:6px}.bet-v3-finance>div{padding:8px 7px}.bet-v3-finance b{font-size:13px}.bet-v3-idline{display:grid;grid-template-columns:1fr;gap:3px}.bet-v3-idline span:last-child{text-align:left}.bet-v3-detail-grid{grid-template-columns:1fr}.bet-v3-meta{grid-template-columns:1fr}.bet-v3-leg-pick{align-items:flex-start}.bet-v3-action-buttons{grid-template-columns:1fr}.bet-v3-toolbar{gap:10px}}
@media(max-width:430px){.bet-v3-filter-grid{grid-template-columns:1fr}.bet-v3-filter-grid label:first-child{grid-column:auto}.bet-v3-filter-row{gap:6px}.bet-v3-filter-btn,.bet-v3-clear{padding:7px 9px;font-size:11px}.bet-v3-badges{justify-content:flex-start}.bet-v3-card-head{display:block}.bet-v3-badges{margin-top:8px}.bet-v3-finance b{font-size:12px}.bet-v3-leg-match{font-size:13px}}

/* Concrete V3 markup rules.  Keep these selectors local to the bet screen. */
body[data-admin-view="bets"] .bet-v3-filter-row button,body[data-admin-view="bets"] .bet-v3-controls button{min-height:36px;border:1px solid var(--line);border-radius:999px;background:#15171d;color:#bfc4ce;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer}body[data-admin-view="bets"] .bet-v3-filter-row button.active,body[data-admin-view="bets"] .bet-v3-filter-row button:hover{border-color:#d8b45a99;background:#302719;color:var(--gold2)}.bet-v3-controls{display:grid;grid-template-columns:150px minmax(150px,1fr) minmax(150px,1fr) 130px 110px 110px auto;gap:8px;align-items:end}.bet-v3-controls input,.bet-v3-controls select{min-width:0;min-height:40px;border:1px solid var(--line);border-radius:9px;background:#101217;color:var(--ink);padding:8px 10px;font:inherit}.bet-v3-controls label{display:grid;gap:4px;color:var(--muted);font-size:10px}.bet-v3-result-count{margin:0;color:var(--muted);font-size:12px}.bet-v3-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.bet-v3-head>div{min-width:0}.bet-v3-topline{display:flex;gap:7px;align-items:center;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.06em}.bet-v3-currency,.bet-v3-status,.bet-v3-leg-result{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;white-space:nowrap}.bet-v3-currency.twd{background:#372e1c;color:var(--gold2)}.bet-v3-currency.lobster{background:#3a241d;color:#f3a07b}.bet-v3-status.pending,.bet-v3-leg-result.pending{background:#3a3018;color:var(--gold2)}.bet-v3-status.won,.bet-v3-leg-result.won{background:#193928;color:var(--green)}.bet-v3-status.lose,.bet-v3-leg-result.lose{background:#412027;color:#ff9aa5}.bet-v3-status.refunded,.bet-v3-leg-result.refunded{background:#17384a;color:#8bc9ef}.bet-v3-status.cancelled,.bet-v3-leg-result.cancelled{background:#30333a;color:#c4c9d1}.bet-v3-status.processing{background:#302345;color:#d7afff}.bet-v3-status.error{background:#49231d;color:#ff9e75}.bet-v3-head h3{margin:6px 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}.bet-v3-head p,.bet-v3-head small{display:block;margin:0;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bet-v3-head small{margin-top:5px}.bet-v3-finance+.bet-v3-profit{display:flex;justify-content:space-between;gap:10px;margin:-4px 0 13px;color:var(--muted);font-size:11px}.bet-v3-profit b{font-size:13px}.bet-v3-profit .green{color:var(--green)}.bet-v3-profit .red{color:#ff9aa5}.bet-v3-legs{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}.bet-v3-leg b{display:block;margin-top:4px;overflow-wrap:anywhere;color:var(--ink);font-size:14px}.bet-v3-leg p{display:flex;justify-content:space-between;gap:8px;margin:4px 0 0;overflow-wrap:anywhere;color:#d8cfb5;font-size:12px}.bet-v3-leg p::first-letter{color:var(--gold2)}.bet-v3-more{margin:0;color:var(--gold);font-size:11px}.bet-v3-detail .bet-detail-body{padding:11px}.bet-v3-detail-field{display:grid;grid-template-columns:minmax(90px,.32fr) minmax(0,1fr) auto;gap:7px;align-items:start;border-bottom:1px solid #242830;padding:5px 0}.bet-v3-detail-field span{color:var(--muted);font-size:9px}.bet-v3-detail-field b{overflow-wrap:anywhere;color:#d9dce1;font-size:11px}.bet-v3-detail-legs{display:grid;gap:9px;margin-top:11px}.bet-v3-actions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:11px}.bet-v3-actions .mini{min-height:40px}.bet-v3-card.pending{border-color:#b8903688}.bet-v3-card.won,.bet-v3-card.lose,.bet-v3-card.refunded,.bet-v3-card.cancelled{opacity:.88}
@media(max-width:900px){.bet-v3-controls{grid-template-columns:1fr 1fr}.bet-v3-controls input{grid-column:span 1}.bet-v3-controls label{grid-column:span 1}.bet-v3-controls #betV3Member{grid-column:1/-1}}
@media(max-width:520px){.bet-v3-controls{grid-template-columns:1fr}.bet-v3-controls #betV3Member{grid-column:auto}.bet-v3-head{display:block}.bet-v3-status{margin-top:8px}.bet-v3-head h3{font-size:17px}.bet-v3-finance b{font-size:12px}.bet-v3-leg p{display:block;line-height:1.5}.bet-v3-actions>div{grid-template-columns:1fr}}

/* BET_MANAGEMENT_V31: readable leg summaries and human-first detail layout. */
.bet-v3-leg{display:grid;gap:5px}.bet-v3-leg-choice{display:block;color:var(--green);font-size:14px}.bet-v3-leg-market{display:block;color:#d8cfb5;font-size:12px}.bet-v3-leg-odds{display:block;color:var(--gold2);font-size:13px;font-variant-numeric:tabular-nums}.bet-v3-leg>p{display:none}.bet-v3-human-leg{display:grid;grid-template-columns:minmax(92px,.32fr) minmax(0,1fr);gap:0 10px;margin-top:9px;border-top:1px solid #282d35;padding-top:8px}.bet-v3-human-leg>span,.bet-v3-human-leg>b{min-width:0;padding:6px 0;border-bottom:1px solid #242830}.bet-v3-human-leg>span{color:var(--muted);font-size:10px}.bet-v3-human-leg>b{overflow-wrap:anywhere;color:#e7e9ed;font-size:12px}.bet-v3-tech{margin-top:10px;border:1px solid #2b3039;border-radius:8px;background:#0d0f13}.bet-v3-tech summary{min-height:36px;display:flex;align-items:center;padding:0 9px;color:var(--muted);font-size:10px;font-weight:800;cursor:pointer}.bet-v3-tech[open] summary{border-bottom:1px solid #292e37}.bet-v3-tech .bet-v3-detail-grid{padding:9px}.bet-v3-tech .bet-v3-detail-field{grid-template-columns:minmax(86px,.3fr) minmax(0,1fr) auto}.bet-v3-detail-leg h4{padding-bottom:2px}.bet-v3-detail-leg+.bet-v3-detail-leg{margin-top:12px}@media(max-width:520px){.bet-v3-human-leg{grid-template-columns:82px minmax(0,1fr)}.bet-v3-leg-choice{font-size:13px}}
/* BET_MANAGEMENT_V32: two-line responsive summary stats. */
.bet-v3-stats-total{display:block;color:var(--gold2);font-weight:900}.bet-v3-stats-items{display:flex;flex-wrap:wrap;align-items:center;gap:5px 11px;margin-top:6px}.bet-v3-stats-items span{display:inline-flex;align-items:center;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}

/* Dual-wallet adjustment modal. Scoped so existing administration forms are unchanged. */
.adjust-wallet-modal-card{max-height:calc(100vh - 30px);overflow:auto}.adjust-wallet-member{display:grid;gap:3px;margin:14px 0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#101217}.adjust-wallet-member span,.adjust-wallet-member small{color:var(--muted);font-size:11px}.adjust-wallet-member b{overflow-wrap:anywhere;color:var(--ink)}.adjust-wallet-form label{display:grid;gap:6px}.adjust-wallet-form input,.adjust-wallet-form select{min-height:43px}.adjust-wallet-direction{display:flex;gap:10px;margin:12px 0;padding:10px 11px;border:1px solid var(--line);border-radius:10px}.adjust-wallet-direction legend{padding:0 4px;color:var(--muted);font-size:11px}.adjust-wallet-direction label{display:flex;align-items:center;gap:4px;margin:0;color:var(--ink);font-size:13px}.adjust-wallet-direction input{width:auto;min-height:0}.adjust-wallet-error{margin:11px 0 0;color:#ff929d;font-size:12px;line-height:1.45}.adjust-wallet-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin-top:16px}.adjust-wallet-actions .btn{margin:0;min-height:43px}.adjust-wallet-form [data-adjust-submit]:disabled{opacity:.7;cursor:wait}@media(max-width:420px){.adjust-wallet-direction{flex-direction:column;gap:8px}.adjust-wallet-actions{grid-template-columns:1fr}.adjust-wallet-modal{padding:10px}}

/* LOBSTER_TREASURE_ADMIN */
.candidate-audit-page{display:grid;gap:14px}.candidate-audit-summary h3,.candidate-audit-exclusions h3{margin:4px 0 8px}.candidate-audit-summary p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.candidate-audit-warning{margin-top:12px;border:1px solid #7a5c2399;border-radius:9px;background:#2d2518;color:var(--gold2);padding:10px 12px;font-size:12px;font-weight:800}.candidate-audit-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.candidate-audit-step{display:grid;min-height:104px;gap:4px;padding:12px}.candidate-audit-step span{color:var(--muted);font-size:10px;font-weight:800}.candidate-audit-step b{color:var(--gold2);font-size:28px;font-variant-numeric:tabular-nums}.candidate-audit-step small{color:var(--ink);font-size:11px;line-height:1.35}.candidate-audit-exclusions{display:grid;gap:8px}.candidate-audit-exclusions details{overflow:hidden}.candidate-audit-exclusions summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 12px;cursor:pointer;color:var(--ink);font-size:13px;font-weight:800}.candidate-audit-exclusions summary b{color:var(--gold2);font-variant-numeric:tabular-nums}.candidate-audit-list{display:grid;gap:8px;margin:0;padding:11px 12px;list-style:none;border-top:1px solid var(--line)}.candidate-audit-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding-bottom:8px;border-bottom:1px solid #242830}.candidate-audit-list li:last-child{padding-bottom:0;border-bottom:0}.candidate-audit-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px}.candidate-audit-list small{color:var(--muted);font-size:10px}.candidate-audit-list span{grid-column:1/-1;color:var(--muted);font-size:11px;line-height:1.4}.candidate-audit-none{margin:0;padding:10px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.candidate-audit-empty{padding:24px;text-align:center}.candidate-audit-empty h3{margin:0 0 8px}.candidate-audit-empty p{margin:0;color:var(--muted)}@media(max-width:520px){.candidate-audit-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-audit-step{min-height:96px}.candidate-audit-step b{font-size:25px}}
.tr-section{margin-top:6px}
.tr-check{display:flex;align-items:center;gap:8px;margin:10px 0;color:var(--ink);font-size:13px;font-weight:400}
.tr-check input{width:auto;min-height:0}
.tr-actions{display:flex;gap:10px;margin-top:16px}
.tr-pool-table input{min-width:64px}
.tr-pool-meta{margin:10px 0 20px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#101217;font-size:12px;color:var(--muted)}
.tr-pool-meta b{color:var(--gold2)}
.tr-note{margin-top:8px}
@media(max-width:800px){.tr-pool-table table{font-size:12px}.tr-pool-table input{min-width:56px;padding:8px 6px}}

/* AI_MONITOR_CENTER */
.ai-monitor-page{display:grid;gap:18px;max-width:100%;padding-bottom:calc(120px + env(safe-area-inset-bottom))}.ai-monitor-health{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;overflow:hidden}.ai-monitor-health h3{margin:4px 0 2px}.ai-monitor-health>div>small{color:var(--muted);font-size:11px}.ai-monitor-health-score{display:grid;grid-template-columns:auto auto;align-content:start;justify-content:end;gap:0 4px;text-align:right}.ai-monitor-health-score b{color:var(--gold2);font-size:34px;line-height:1}.ai-monitor-health-score span{align-self:end;color:var(--muted);font-size:11px}.ai-monitor-health-score em{grid-column:1/-1;margin-top:5px;font-style:normal;font-size:11px;font-weight:800}.ai-monitor-health-score.ok em{color:var(--green)}.ai-monitor-health-score.warning em{color:var(--gold2)}.ai-monitor-health-score.error em{color:#ff929d}.ai-monitor-health-message{grid-column:1/-1;margin:0;border:1px solid var(--line);border-radius:9px;background:#101217;color:var(--muted);padding:10px 11px;font-size:12px;line-height:1.5}.ai-monitor-health dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.ai-monitor-health dl div{min-width:0;border-top:1px solid var(--line);padding-top:8px}.ai-monitor-health dt{color:var(--muted);font-size:10px}.ai-monitor-health dd{overflow-wrap:anywhere;margin:3px 0 0;color:var(--ink);font-size:12px;font-weight:800}.ai-monitor-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.ai-monitor-stats .card{display:grid;gap:5px;padding:13px}.ai-monitor-stats span{color:var(--muted);font-size:10px}.ai-monitor-stats b{color:var(--gold2);font-size:25px;font-variant-numeric:tabular-nums}.ai-monitor-flow{display:grid;gap:7px}.ai-monitor-flow-step{display:grid;grid-template-columns:52px 42px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;background:#15171d;padding:11px 12px}.ai-monitor-flow-step>span{color:var(--muted);font-size:10px;font-weight:900}.ai-monitor-flow-step>b{color:var(--gold2);font-size:20px;font-variant-numeric:tabular-nums}.ai-monitor-flow-step strong,.ai-monitor-flow-step small{display:block}.ai-monitor-flow-step strong{color:var(--ink);font-size:13px}.ai-monitor-flow-step small{margin-top:2px;color:var(--muted);font-size:10px}.ai-monitor-flow-step em{max-width:120px;color:var(--muted);font-size:10px;font-style:normal;text-align:right}.ai-monitor-flow-step.is-first-zero{border-color:#b2555d;background:#2b1c20}.ai-monitor-flow-step.is-first-zero em{color:#ff9aa5;font-weight:900}.ai-monitor-flow-step.is-disabled{opacity:.48}.ai-monitor-excluded{display:grid;gap:8px}.ai-monitor-excluded details{overflow:hidden}.ai-monitor-excluded summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 12px;cursor:pointer;color:var(--ink);font-size:13px;font-weight:800}.ai-monitor-excluded summary b{color:var(--gold2);font-variant-numeric:tabular-nums}.ai-monitor-excluded-list{display:grid;gap:8px;margin:0;padding:11px 12px;list-style:none;border-top:1px solid var(--line)}.ai-monitor-excluded-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding-bottom:8px;border-bottom:1px solid #242830}.ai-monitor-excluded-list li:last-child{padding-bottom:0;border-bottom:0}.ai-monitor-excluded-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px}.ai-monitor-excluded-list small,.ai-monitor-excluded-list span{color:var(--muted);font-size:10px}.ai-monitor-excluded-list span{grid-column:1/-1;font-size:11px;line-height:1.4}.ai-monitor-none,.ai-monitor-empty,.ai-monitor-history-empty{margin:0;color:var(--muted);font-size:12px}.ai-monitor-none{padding:10px 12px}.ai-monitor-empty,.ai-monitor-history-empty{padding:20px;text-align:center}.ai-monitor-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;overflow:hidden}.ai-monitor-source{display:grid;gap:4px;min-width:0;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.ai-monitor-source b{color:var(--ink);font-size:12px}.ai-monitor-source span{font-size:11px;font-weight:800}.ai-monitor-source small{overflow-wrap:anywhere;color:var(--muted);font-size:10px;line-height:1.35}.ai-monitor-history-list{display:grid;gap:8px}.ai-monitor-history-row{display:grid;grid-template-columns:minmax(76px,.6fr) minmax(0,1.4fr) auto;align-items:center;gap:9px;padding:12px}.ai-monitor-history-row b,.ai-monitor-history-row small{display:block}.ai-monitor-history-row b{color:var(--ink);font-size:13px}.ai-monitor-history-row small,.ai-monitor-history-row p,.ai-monitor-history-row em{margin:3px 0 0;color:var(--muted);font-size:10px;font-style:normal}.ai-monitor-history-row p{font-size:11px;line-height:1.4}.ai-monitor-history-row em{color:var(--gold2);text-align:right}.ai-monitor-events{padding:0;overflow:hidden}.ai-monitor-event{border-bottom:1px solid var(--line)}.ai-monitor-event:last-child{border-bottom:0}.ai-monitor-event summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;cursor:pointer;list-style:none}.ai-monitor-event summary::-webkit-details-marker{display:none}.ai-monitor-event summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px}.ai-monitor-event summary b{color:var(--ink);font-size:12px}.ai-monitor-event p{margin:0;padding:0 12px 12px;color:var(--muted);font-size:11px;line-height:1.5}.ai-monitor-error{padding:22px;text-align:center}.ai-monitor-error h3{margin:0 0 8px}.ai-monitor-error p{color:var(--muted);font-size:12px}
.ai-monitor-target-panel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.ai-monitor-target-panel span{color:var(--muted);font-size:10px;font-weight:800}.ai-monitor-target-panel span:first-child{color:var(--gold2)}.ai-monitor-target-panel button{padding:4px 10px;font-size:10px}
.ai-monitor-excluded-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px;margin:4px 0;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#101217}.ai-monitor-excluded-detail span{color:var(--muted);font-size:10px}
@media(max-width:620px){.ai-monitor-page{gap:15px}.ai-monitor-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-monitor-stats b{font-size:24px}.ai-monitor-flow-step{grid-template-columns:42px 36px minmax(0,1fr);gap:7px;padding:10px}.ai-monitor-flow-step em{grid-column:3;text-align:left}.ai-monitor-sources{grid-template-columns:1fr}.ai-monitor-source{border-right:0}.ai-monitor-history-row{grid-template-columns:1fr;gap:3px}.ai-monitor-history-row em{text-align:left}.ai-monitor-health-score b{font-size:30px}}

/* AI_HEALTH_SCORE_V2: frontend-only score derived from the existing admin_ai_monitor payload. */
.ai-health-v2{display:block;overflow:hidden}.ai-health-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}.ai-health-main h3{margin:4px 0 2px}.ai-health-main>div>small{color:var(--muted);font-size:11px}.ai-health-v2 .ai-monitor-health-score{appearance:none;border:0;background:transparent;cursor:pointer;font:inherit}.ai-health-v2 .ai-monitor-health-score.success em{color:var(--green)}.ai-health-v2 .ai-monitor-health-score.warning em{color:#f4d982}.ai-health-v2 .ai-monitor-health-score.partial em{color:#ff9c58}.ai-health-v2 .ai-monitor-health-score.failed em{color:#ff7d8a}.ai-health-deductions{margin-top:15px;border:1px solid var(--line);border-radius:12px;background:#101217;padding:12px}.ai-health-deductions>h4{margin:0 0 9px;color:var(--ink);font-size:12px}.ai-health-deduction-list{display:grid;gap:8px}.ai-health-deduction-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid #242830;padding-top:8px}.ai-health-deduction-list article:first-child{border-top:0;padding-top:0}.ai-health-deduction-list div{display:grid;gap:3px;min-width:0}.ai-health-deduction-list b{color:var(--ink);font-size:12px}.ai-health-deduction-list span{overflow-wrap:anywhere;color:var(--muted);font-size:10px;line-height:1.4}.ai-health-deduction-list strong{color:#ff9c58;font-size:16px;font-variant-numeric:tabular-nums}.ai-health-no-deduction{margin:0;color:var(--green);font-size:12px;font-weight:800}.ai-health-meta{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px;margin:14px 0 0!important}.ai-health-meta div{min-width:0;border-top:1px solid var(--line);padding-top:8px}.ai-health-meta dt{color:var(--muted);font-size:10px}.ai-health-meta dd{margin:3px 0 0;color:var(--ink);font-size:12px;font-weight:800;overflow-wrap:anywhere}.ai-health-meta dd small{display:block;margin-top:2px;color:var(--muted);font-size:9px;font-weight:500}.ai-health-detail-toggle{width:100%;margin-top:13px;min-height:40px}.ai-health-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.ai-health-details[hidden]{display:none}.ai-health-details-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-health-details-head h4{margin:0;color:var(--ink)}.ai-health-details-head span{color:var(--muted);font-size:10px}.ai-health-module{display:grid;align-content:start;gap:9px;min-width:0;border:1px solid var(--line);border-radius:12px;background:#15171d;padding:12px}.ai-health-module.is-success{border-color:#2f6f55}.ai-health-module.is-partial,.ai-health-module.is-waiting{border-color:#77612a}.ai-health-module.is-failed{border-color:#763842}.ai-health-module header{display:flex;align-items:start;justify-content:space-between;gap:10px}.ai-health-module h4{margin:3px 0 0;color:var(--ink);font-size:14px}.ai-health-module header>b{color:var(--gold2);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.ai-health-module-state{color:var(--muted);font-size:10px;font-weight:900}.ai-health-module.is-success .ai-health-module-state{color:var(--green)}.ai-health-module.is-partial .ai-health-module-state,.ai-health-module.is-waiting .ai-health-module-state{color:#f4d982}.ai-health-module.is-failed .ai-health-module-state{color:#ff7d8a}.ai-health-module-metrics{display:flex;flex-wrap:wrap;gap:6px}.ai-health-module-metrics span{border-radius:999px;background:#20232a;color:var(--muted);padding:4px 7px;font-size:9px}.ai-health-module>p{margin:0;color:var(--muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}.ai-health-module dl{display:grid;gap:6px;margin:0}.ai-health-module dl div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;border-top:1px solid #242830;padding-top:6px}.ai-health-module dt{color:var(--muted);font-size:9px}.ai-health-module dd{margin:0;color:var(--ink);font-size:10px;overflow-wrap:anywhere}.ai-health-module dd small{display:block;color:var(--muted);font-size:8px}
@media(max-width:720px){.ai-health-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ai-health-details{grid-template-columns:1fr}}
@media(max-width:420px){.ai-health-main{grid-template-columns:1fr}.ai-health-v2 .ai-monitor-health-score{justify-content:start;text-align:left}.ai-health-details{gap:8px}.ai-health-module{padding:11px}.ai-health-meta{grid-template-columns:1fr 1fr!important}}

/* DASHBOARD_SIMPLIFY_20260731: scoped 2-column layout for the simplified overview stat grid only; does not touch the shared .stat-grid rule used elsewhere. */
#content .dash-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* FUNDS_MOBILE_CARDS_V2_20260731: 儲值/提領手機版卡片。僅套用於 #content 內 .funds-* 作用域，不影響其他後台頁面；桌面版維持原表格。 */
#content .funds-desktop{display:block}
#content .funds-mobile{display:none}
@media(max-width:768px){
#content .funds-desktop{display:none}
#content .funds-mobile{display:block;min-width:0}
#content .fund-card{min-width:0;padding:15px}
#content .fund-card+.fund-card{margin-top:10px}
#content .fund-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
#content .fund-card-member{min-width:0}
#content .fund-card-member strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
#content .fund-id-link{border:0;background:transparent;color:var(--muted);padding:0;font-size:10px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#content .fund-id-link:hover{color:var(--gold2)}
#content .fund-card-amount{margin:12px 0 0;padding:11px;border:1px solid var(--line);border-radius:10px;background:#0e1014;color:var(--gold2);font-weight:900;font-size:15px;font-variant-numeric:tabular-nums}
#content .fund-card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:11px;color:var(--muted);font-size:10px}
#content .fund-card-meta time{font-variant-numeric:tabular-nums}
#content .fund-actions{margin-top:12px}
#content .fund-actions .mini{flex:1 1 42%;min-height:38px}
#content .fund-details{margin-top:10px;border-top:1px solid #282c34;padding-top:8px}
#content .fund-details summary{color:var(--gold);font-size:11px;font-weight:800;cursor:pointer}
#content .fund-details dl{display:grid;gap:0;margin:9px 0 0;padding:8px;border:1px solid #2b3038;border-radius:9px;background:#0c0e12}
#content .fund-detail-row{display:grid;grid-template-columns:minmax(92px,.32fr) minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid #22262d}
#content .fund-detail-row:last-child{border-bottom:0}
#content .fund-detail-row dt{color:var(--muted);font-size:10px}
#content .fund-detail-row dd{display:flex;align-items:flex-start;gap:7px;min-width:0;margin:0;color:#d9dce1;font-size:11px;overflow-wrap:anywhere}
#content .fund-detail-row dd code{overflow-wrap:anywhere}
#content .fund-detail-row dd a{color:var(--gold2)}
#content .fund-details .fund-actions{margin-top:10px;padding-top:8px;border-top:1px solid #22262d}
.bj-admin-page{display:grid;gap:18px}.bj-admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.bj-admin-stats article{min-width:0;padding:14px}.bj-admin-stats span{display:block;color:var(--muted);font-size:10px}.bj-admin-stats b{display:block;margin-top:6px;overflow-wrap:anywhere;font-size:20px}.bj-admin-live{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}.bj-admin-live dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:14px 0;background:var(--line)}.bj-admin-live dl div{min-width:0;padding:9px;background:#101217}.bj-admin-live dt{color:var(--muted);font-size:9px}.bj-admin-live dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:12px}.bj-admin-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.bj-admin-seat{display:grid;min-width:0;gap:3px;padding:9px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:10px}.bj-admin-seat b{overflow:hidden;color:var(--gold);text-overflow:ellipsis;white-space:nowrap}.bj-admin-seat em{color:#ffb593;font-size:10px;font-style:normal}.bj-admin-seat small{overflow-wrap:anywhere}.bj-admin-seat.occupied{border-color:#4c755e;color:var(--ink)}.bj-admin-table td small,.bj-admin-table td code{display:block;margin-top:4px}.bj-admin-audit summary{padding:14px;cursor:pointer;color:var(--gold);font-weight:800}.bj-admin-audit code,.bj-admin-table code{overflow-wrap:anywhere;color:var(--gold)}@media(max-width:900px){.bj-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bj-admin-live{grid-template-columns:1fr}.bj-admin-seats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.bj-admin-stats{grid-template-columns:1fr 1fr}.bj-admin-live dl{grid-template-columns:1fr}.bj-admin-seats{grid-template-columns:1fr 1fr}.bj-admin-table{min-width:850px}}
.bj-admin-seat i{font-size:9px;font-style:normal;color:var(--green)}.bj-admin-seat.offline{border-color:#555b57;opacity:.75}.bj-admin-seat.offline i{color:var(--muted)}
#content .fund-badge{text-transform:none}
#content .fund-badge-pending{background:#382f19;color:var(--gold2)}
#content .fund-badge-approved{background:#173528;color:var(--green)}
#content .fund-badge-completed{background:#173528;color:var(--green)}
#content .fund-badge-rejected{background:#3a1b22;color:var(--red)}
#content .fund-badge-cancelled{background:#252932;color:#c8ccd4}
}
/* BET_TIMELINE_V11: read-only administration timeline. */
.bet-timeline-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:42px;margin-top:13px;border:1px solid #3a3528;border-radius:11px;background:#171712;color:var(--gold2);font-weight:800;cursor:pointer}.bet-timeline-toggle:hover,.bet-timeline-toggle[aria-expanded="true"]{border-color:#8d7338;background:#211d13}.bet-timeline-toggle span{font-size:10px}.bet-timeline-host{min-width:0}.bet-timeline-panel{min-width:0;margin-top:10px;padding:16px;border:1px solid #34302a;border-radius:13px;background:linear-gradient(145deg,#0c0e12,#121318)}.bet-timeline-panel>h3{margin:0 0 16px;font-size:15px;color:#f0e5c5}.bet-timeline-list{list-style:none;margin:0;padding:0}.bet-timeline-event{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;min-width:0;padding:0 0 18px}.bet-timeline-event:not(:last-child)::before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:1px;background:#363944}.bet-timeline-event:last-child{padding-bottom:0}.bet-timeline-marker{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border:1px solid #3c4655;border-radius:50%;background:#182130;color:#7eb3ff;font-size:12px;font-weight:900}.bet-timeline-event>div{min-width:0;padding-top:2px}.bet-timeline-event b,.bet-timeline-event time,.bet-timeline-event p{display:block;overflow-wrap:anywhere}.bet-timeline-event b{color:#f2f0e9;font-size:13px}.bet-timeline-event time{margin-top:3px;color:#9298a3;font-size:10px}.bet-timeline-event p{margin:5px 0 0;color:#c2c5cc;font-size:11px;line-height:1.55}.timeline-waiting .bet-timeline-marker{border-color:#6f5c2a;background:#2f2817;color:#f4d982}.timeline-won .bet-timeline-marker{border-color:#286344;background:#173528;color:#54dfa0}.timeline-lost .bet-timeline-marker{border-color:#70303b;background:#3a1b22;color:#ff7d8a}.timeline-refunded .bet-timeline-marker{border-color:#315d88;background:#162b40;color:#7ebcff}.timeline-cancelled .bet-timeline-marker,.timeline-missing .bet-timeline-marker{border-color:#444952;background:#272a30;color:#abb0b9}.bet-timeline-legs{margin-top:17px;padding-top:15px;border-top:1px solid #2a2d34}.bet-timeline-legs>h4{margin:0 0 10px;color:#d9dce2;font-size:12px}.bet-timeline-leg{min-width:0;margin-top:8px;padding:11px;border:1px solid #2c3038;border-left:3px solid #8d7338;border-radius:9px;background:#111318}.bet-timeline-leg>div{display:flex;align-items:center;gap:7px;min-width:0}.bet-timeline-leg>div b{min-width:0;overflow-wrap:anywhere}.bet-timeline-leg>strong{display:block;margin-top:7px;font-size:12px}.bet-timeline-leg>p,.bet-timeline-leg>small{display:block;margin:4px 0 0;color:#aeb3bc;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.bet-timeline-leg.timeline-won{border-left-color:#36d58a}.bet-timeline-leg.timeline-lost{border-left-color:#ff6574}.bet-timeline-leg.timeline-refunded{border-left-color:#6ea8ff}.bet-timeline-admin-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:17px 0 0;border:1px solid #2d3037;border-radius:9px;overflow:hidden;background:#2d3037}.bet-timeline-admin-meta>div{min-width:0;padding:9px;background:#101216}.bet-timeline-admin-meta dt{color:#8e949f;font-size:9px}.bet-timeline-admin-meta dd{margin:3px 0 0;color:#e1e3e8;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
@media(max-width:560px){.bet-timeline-panel{padding:14px 12px}.bet-timeline-admin-meta{grid-template-columns:1fr}.bet-timeline-event{grid-template-columns:26px minmax(0,1fr);gap:9px}.bet-timeline-marker{width:26px;height:26px}.bet-timeline-event:not(:last-child)::before{left:12px;top:26px}.bet-timeline-toggle{min-height:44px}.bet-timeline-panel,.bet-timeline-host,.bet-timeline-event>div{max-width:100%;overflow-wrap:anywhere}}

/* DAILY_OPERATIONS_REPORT_V1: read-only aggregation of existing admin payloads. */
.daily-operations-root,.daily-operations-report{min-width:0;max-width:100%}.daily-operations-report{display:grid;gap:18px;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.dor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border:1px solid #554720;border-radius:16px;background:linear-gradient(145deg,#17150f,#101217);box-shadow:0 15px 40px #0005}.dor-header h2{margin:4px 0 5px;color:var(--ink);font-size:22px}.dor-header p:last-child{margin:0;color:var(--muted);font-size:11px}.dor-header .mini{flex:0 0 auto;min-height:40px}.dor-date-tabs{display:flex;gap:8px}.dor-date-tabs button{min-width:82px;min-height:38px;border:1px solid var(--line);border-radius:999px;background:#14161b;color:var(--muted);font-weight:800;cursor:pointer}.dor-date-tabs button[aria-pressed="true"]{border-color:#9a7a32;background:#2b2414;color:var(--gold2)}.dor-source-warning{display:grid;gap:6px;border:1px solid #756126;border-radius:12px;background:#2a2414;padding:11px 13px}.dor-source-warning p{margin:0;color:#f4d982;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.dor-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.dor-card{display:grid;align-content:start;gap:7px;min-width:0;padding:15px}.dor-card>span{color:var(--muted);font-size:11px;font-weight:800}.dor-card>strong{display:grid;gap:3px;color:var(--gold2);font-size:20px;font-variant-numeric:tabular-nums}.dor-card>strong span{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;overflow-wrap:anywhere}.dor-card>strong small{color:var(--muted);font-size:9px;font-weight:700;white-space:nowrap}.dor-card>small{color:var(--muted);font-size:9px;line-height:1.45;overflow-wrap:anywhere}.dor-card.dor-net{border-color:#6f5927}.dor-section{display:grid;gap:11px;min-width:0}.dor-section>h3{margin:0;color:var(--ink);font-size:15px}.dor-ai-grid,.dor-backup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dor-ai-grid article,.dor-backup article{display:grid;align-content:start;gap:6px;min-width:0;border:1px solid var(--line);border-radius:12px;background:#15171d;padding:13px}.dor-ai-grid b,.dor-backup b{color:var(--muted);font-size:10px}.dor-ai-grid strong,.dor-backup strong{color:var(--gold2);font-size:18px}.dor-ai-grid p,.dor-backup p,.dor-ai-grid small,.dor-backup small{margin:0;color:var(--muted);font-size:10px;line-height:1.45;overflow-wrap:anywhere}.dor-backup{grid-template-columns:repeat(2,minmax(0,1fr))}.dor-info,.dor-historical{margin:0;border:1px solid var(--line);border-radius:9px;background:#101217;padding:10px 12px;color:var(--muted);font-size:11px}.dor-jobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dor-job{display:grid;align-content:start;gap:9px;min-width:0;border:1px solid var(--line);border-radius:12px;background:#15171d;padding:13px}.dor-job-green{border-color:#2e674d}.dor-job-yellow{border-color:#77612a}.dor-job-red{border-color:#74353f}.dor-job-disabled{opacity:.72}.dor-job header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.dor-job header b{color:var(--ink);font-size:12px}.dor-job header span{color:var(--muted);font-size:9px;font-weight:900}.dor-job dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.dor-job dl div{min-width:0;border-top:1px solid #272a31;padding-top:6px}.dor-job dt{color:var(--muted);font-size:8px}.dor-job dd{margin:2px 0 0;color:var(--ink);font-size:9px;overflow-wrap:anywhere}.dor-job p{margin:0;color:var(--muted);font-size:9px;line-height:1.45;overflow-wrap:anywhere}.dor-anomalies{display:grid;gap:9px}.dor-anomaly{min-width:0;border:1px solid var(--line);border-left-width:4px;border-radius:11px;background:#15171d;padding:12px}.dor-anomaly.dor-red{border-left-color:#ff6574}.dor-anomaly.dor-yellow{border-left-color:#f4d982}.dor-anomaly.dor-blue{border-left-color:#6ea8ff}.dor-anomaly b{color:var(--ink);font-size:11px}.dor-anomaly p,.dor-anomaly small{display:block;margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5;overflow-wrap:anywhere}.dor-clear{margin:0;border:1px solid #2e674d;border-radius:11px;background:#14291f;padding:13px;color:var(--green);font-size:12px;font-weight:900}.dor-historical{overflow-wrap:anywhere}.daily-operations-report+.section-head{margin-top:26px}
@media(max-width:1000px){.dor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dor-jobs{grid-template-columns:repeat(2,minmax(0,1fr))}.dor-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.daily-operations-report{gap:15px}.dor-header{display:grid;padding:15px}.dor-header h2{font-size:18px}.dor-header .mini{width:100%}.dor-date-tabs button{flex:1}.dor-metrics{gap:8px}.dor-card{padding:12px}.dor-card>strong{font-size:16px}.dor-jobs,.dor-backup{grid-template-columns:1fr}.dor-job dl{grid-template-columns:1fr 1fr}.dor-ai-grid{gap:8px}.dor-ai-grid article{padding:11px}}
@media(max-width:390px){.dor-metrics,.dor-ai-grid{grid-template-columns:1fr}.dor-card>strong{font-size:18px}}

/* AI history recovery: admin-only, Dry Run gated, never settles or pays directly. */
.ai-recovery-page{display:grid;gap:14px}.ai-recovery-intro p.muted{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.ai-recovery-summary{margin:12px 0 0;color:var(--gold2);font-size:12px}.ai-recovery-list{display:grid;gap:12px}.ai-recovery-card{padding:16px}.ai-recovery-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-recovery-card-head h3{margin:3px 0 4px;font-size:17px}.ai-recovery-card-head .muted{margin:0;font-size:11px;color:var(--muted)}.ai-recovery-card-body{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0;color:var(--muted);font-size:12px}.ai-recovery-card-body b{color:#ece6d7}.ai-recovery-badge{border-radius:999px;padding:5px 10px;font-size:10px;font-weight:900;white-space:nowrap}.ai-recovery-badge.placed,.ai-recovery-badge.eligible{background:#173528;color:var(--green)}.ai-recovery-badge.missing{background:#3b1b22;color:#ff8b98}.ai-recovery-badge.recovered{background:#2a1e3d;color:#c9a3ff}.ai-recovery-badge.insufficient{background:#3a3018;color:var(--gold2)}.ai-recovery-note{margin:0 0 10px;color:var(--gold2);font-size:12px}.ai-recovery-blocked{margin:0 0 10px;color:#ff8b98;font-size:11px;line-height:1.5}.ai-recovery-card button:disabled{cursor:not-allowed;opacity:.5}
body.ai-recovery-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}.ai-recovery-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;box-sizing:border-box;padding-top:env(safe-area-inset-top);background:rgba(0,0,0,.72);overscroll-behavior:contain}.ai-recovery-modal{width:min(100%,720px);height:min(760px,calc(100dvh - env(safe-area-inset-top)));max-height:calc(100dvh - env(safe-area-inset-top));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #373a43;border-bottom:0;border-radius:24px 24px 0 0;background:#0f1116;box-shadow:0 -18px 55px #000b}.ai-recovery-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(15,17,22,.98)}.ai-recovery-header .eyebrow{margin:0}.ai-recovery-header h3{margin:4px 0 0;color:var(--ink);font-size:20px;overflow-wrap:anywhere}.ai-recovery-close{flex:none;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#1a1d24;color:#e7e9ed;font-size:25px;line-height:1;cursor:pointer}.ai-recovery-close:disabled{cursor:not-allowed;opacity:.45}.ai-recovery-body{min-height:0;overflow-x:hidden;overflow-y:auto;padding:2px 18px 22px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable}.ai-recovery-modal-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:14px 0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--line)}.ai-recovery-modal-facts>div{min-width:0;padding:9px 11px;background:#101217}.ai-recovery-modal-facts dt{color:var(--muted);font-size:10px}.ai-recovery-modal-facts dd{margin:3px 0 0;color:#e1e3e8;font-size:12px;overflow-wrap:anywhere}.ai-recovery-warning{margin:0 0 12px;padding:11px 13px;border:1px solid #756126;border-radius:10px;background:#2a2414;color:#f4d982;font-size:11px;line-height:1.5}.ai-recovery-dryrun,.ai-recovery-validation-state{display:grid;gap:6px;margin:0;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#101217}.ai-recovery-dryrun h4{margin:0 0 4px;color:var(--green);font-size:12px}.ai-recovery-dryrun span,.ai-recovery-validation-state span{color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.ai-recovery-dryrun b{color:var(--gold2)}.ai-recovery-validation-state b{color:var(--gold2);font-size:12px}.ai-recovery-validation-state.failed{border-color:#73333e;background:#2d171c}.ai-recovery-validation-state.failed b{color:#ff8b98}.ai-recovery-final{display:grid;gap:7px;margin-top:14px;padding:13px;border:1px solid #756126;border-radius:11px;background:#211c11}.ai-recovery-final h4,.ai-recovery-final p{margin:0}.ai-recovery-final h4{color:var(--gold2);font-size:14px}.ai-recovery-final p{color:var(--muted);font-size:12px;line-height:1.5}.ai-recovery-final p b{color:#ece6d7}.ai-recovery-confirm{display:flex;align-items:flex-start;gap:8px;margin-top:7px;color:#e8e0ca;font-size:11px;line-height:1.5}.ai-recovery-confirm input{flex:none;width:auto;margin-top:2px}.ai-recovery-modal-divider{height:1px;margin:16px 0;background:var(--line)}.ai-recovery-footer{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px;padding:12px 16px max(16px,env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.1);background:rgba(15,17,22,.98);box-shadow:0 -10px 28px #0008}.ai-recovery-footer .btn{width:100%;min-height:48px;margin:0;white-space:normal}.ai-recovery-footer .btn:disabled{cursor:not-allowed;opacity:.5}
@media(min-width:721px){.ai-recovery-overlay{align-items:center;padding:20px}.ai-recovery-modal{height:min(760px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);border-bottom:1px solid #373a43;border-radius:24px}}
@media(max-width:560px){.ai-recovery-modal-facts{grid-template-columns:1fr}.ai-recovery-card-head{display:grid}.ai-recovery-card-body{display:grid}.ai-recovery-header{padding:14px 14px 11px}.ai-recovery-header h3{font-size:18px}.ai-recovery-body{padding:1px 14px 18px}.ai-recovery-footer{padding-left:12px;padding-right:12px}.ai-recovery-footer .btn{font-size:13px}}
@media(max-width:360px){.ai-recovery-footer{grid-template-columns:1fr 1.25fr}.ai-recovery-footer:has(#aiRecoveryRetryBtn){grid-template-columns:1fr}.ai-recovery-close{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.ai-recovery-modal,.ai-recovery-overlay{scroll-behavior:auto}}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.admin-return-front{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#15181e;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap}.admin-return-front:hover{border-color:#d8b45a;color:var(--gold2)}@media(max-width:620px){.topbar{align-items:flex-start;gap:10px}.topbar-actions{gap:6px;flex-wrap:wrap}.admin-return-front{min-height:34px;padding:0 8px;font-size:11px}.user-chip{min-width:0}.user-chip>div{display:none}}

/* BULLPEN_ENGINE_V51: read-only Engine, team detail and Shadow monitor. */
.bullpen-admin-page{display:grid;gap:22px;min-width:0;max-width:100%;padding-bottom:calc(90px + env(safe-area-inset-bottom))}.bullpen-engine-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-left:4px solid #777}.bullpen-engine-hero.is-success{border-left-color:#3bd38c}.bullpen-engine-hero.is-partial{border-left-color:#e6bf58}.bullpen-engine-hero.is-failed{border-left-color:#ff6574}.bullpen-engine-hero h2{margin:4px 0 7px;color:var(--ink);font-size:22px}.bullpen-engine-hero p{margin:0;color:var(--muted);font-size:11px}.bullpen-engine-hero>div:last-child{display:grid;justify-items:end;gap:6px;color:var(--muted);font-size:10px}.bullpen-engine-hero>div:last-child b{color:var(--gold2)}.bullpen-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bullpen-admin-stats article{display:grid;gap:5px;min-width:0}.bullpen-admin-stats span,.bullpen-admin-integrity span{color:var(--muted);font-size:9px;font-weight:800}.bullpen-admin-stats b{color:var(--gold2);font-size:15px;overflow-wrap:anywhere}.bullpen-admin-integrity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bullpen-admin-integrity article{display:grid;align-content:start;gap:6px;min-width:0}.bullpen-admin-integrity code{display:block;color:#c9cdd5;font-size:9px;line-height:1.5;overflow-wrap:anywhere;word-break:break-all}.bullpen-admin-integrity .is-good{border-color:#286344}.bullpen-admin-integrity .is-good b{color:var(--green)}.bullpen-admin-integrity .is-bad{border-color:#73333e}.bullpen-admin-integrity .is-bad b{color:#ff8b98}.bullpen-team-picker{display:grid;gap:5px;min-width:min(100%,340px);color:var(--muted);font-size:9px}.bullpen-team-picker select{max-width:100%;min-height:42px}.bullpen-team-detail{display:grid;gap:15px;min-width:0}.bullpen-team-detail>.section-head{margin-top:0}.bullpen-confidence{max-width:100%;color:var(--muted);font-size:9px;text-align:right;overflow-wrap:anywhere}.bullpen-admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;min-width:0}.bullpen-admin-metric{min-width:0;padding:13px}.bullpen-admin-metric h4{margin:0 0 9px;color:var(--gold2);font-size:12px}.bullpen-admin-metric dl{display:grid;gap:5px;margin:0}.bullpen-admin-metric dl div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-top:1px solid #252830;padding-top:5px}.bullpen-admin-metric dt{color:var(--muted);font-size:9px}.bullpen-admin-metric dd{margin:0;color:var(--ink);font-size:10px;font-variant-numeric:tabular-nums}.bullpen-admin-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bullpen-fatigue-panel,.bullpen-role-panel{min-width:0}.bullpen-fatigue-panel h4{margin:4px 0;color:var(--ink)}.bullpen-fatigue-panel>strong{display:block;margin-bottom:10px;color:var(--gold2);font-size:22px}.bullpen-mini-stats{display:flex;flex-wrap:wrap;gap:7px}.bullpen-mini-stats span{padding:5px 8px;border:1px solid #30343c;border-radius:999px;background:#12151a;color:#c7cbd3;font-size:9px}.bullpen-fatigue-panel ul,.bullpen-warning-list ul{margin:11px 0 0;padding-left:17px;color:var(--muted);font-size:10px;line-height:1.6}.bullpen-role-main{display:grid;gap:5px;margin:7px 0 12px;padding:11px;border:1px solid #4e4225;border-radius:10px;background:#19160f}.bullpen-role-main span,.bullpen-setup-list>span{color:var(--muted);font-size:9px}.bullpen-role-main b{color:var(--gold2)}.bullpen-role-main small,.bullpen-setup-list small{color:var(--muted);font-size:9px}.bullpen-setup-list{display:grid;gap:6px}.bullpen-setup-list b{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink);font-size:11px}.bullpen-role-panel>p,.bullpen-role-panel>small{display:block;color:var(--muted);font-size:9px;line-height:1.5}.bullpen-pitcher-table td b,.bullpen-pitcher-table td small{display:block}.bullpen-pitcher-table td small{margin-top:3px;color:var(--muted);font-size:8px}.bullpen-source-games>summary{cursor:pointer;color:var(--gold2);font-size:11px;font-weight:900}.bullpen-source-games>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}.bullpen-source-games article{display:grid;gap:4px;min-width:0;padding:9px;border:1px solid #292d34;border-radius:8px;background:#101217}.bullpen-source-games b{color:var(--ink);font-size:9px}.bullpen-source-games span,.bullpen-source-games small{color:var(--muted);font-size:8px;line-height:1.45;overflow-wrap:anywhere}.bullpen-source-games em{color:#f4d982;font-size:8px}.bullpen-admin-disclaimer{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.bullpen-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bullpen-review-grid article{display:grid;gap:4px;min-width:0;padding:9px;border:1px solid #34302a;border-radius:8px;background:#121419}.bullpen-review-grid b{color:var(--ink);font-size:9px}.bullpen-review-grid span,.bullpen-review-grid small{color:var(--muted);font-size:8px;overflow-wrap:anywhere}.bullpen-shadow-report{display:grid;gap:10px;margin-bottom:10px}.bullpen-shadow-report p,.bullpen-shadow-report small{margin:0;color:var(--muted);font-size:10px}.bullpen-shadow-report p{color:#f4d982;font-weight:800}.bullpen-shadow-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bullpen-shadow-card{display:grid;align-content:start;gap:10px;min-width:0}.bullpen-shadow-card>div:first-child{display:grid;gap:3px}.bullpen-shadow-card>div:first-child b{color:var(--gold2);font-size:12px}.bullpen-shadow-card>div:first-child span{color:var(--muted);font-size:8px}.bullpen-shadow-card dl{display:grid;gap:6px;margin:0}.bullpen-shadow-card dl div{display:grid;gap:3px;border-top:1px solid #292c34;padding-top:6px}.bullpen-shadow-card dt{color:var(--muted);font-size:8px}.bullpen-shadow-card dd{margin:0;color:var(--ink);font-size:10px;overflow-wrap:anywhere}.bullpen-shadow-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.bullpen-shadow-card footer{display:flex;flex-wrap:wrap;gap:6px}.bullpen-shadow-card footer span{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.bullpen-shadow-card footer .good{background:#173528;color:var(--green)}.bullpen-shadow-card footer .warn{background:#3a3018;color:var(--gold2)}
@media(max-width:1050px){.bullpen-admin-stats,.bullpen-admin-integrity,.bullpen-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.bullpen-shadow-list{grid-template-columns:1fr}.bullpen-source-games>div,.bullpen-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.bullpen-engine-hero,.bullpen-team-detail>.section-head{display:grid}.bullpen-engine-hero>div:last-child{justify-items:start}.bullpen-admin-two{grid-template-columns:1fr}.bullpen-team-picker{width:100%;min-width:0}.bullpen-confidence{text-align:left}.bullpen-source-games>div,.bullpen-review-grid{grid-template-columns:1fr}.bullpen-pitcher-table{min-width:690px}.bullpen-admin-page .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}
@media(max-width:390px){.bullpen-admin-stats,.bullpen-admin-integrity,.bullpen-admin-metrics{grid-template-columns:1fr}.bullpen-engine-hero h2{font-size:18px}.bullpen-mini-stats{display:grid;grid-template-columns:1fr 1fr}.bullpen-mini-stats span{overflow-wrap:anywhere}}

/* Bullpen Engine V2 Golden Master UI — presentation only. */
.bpv2-page{gap:18px;overflow-x:hidden}.bpv2-page>section{display:grid;gap:10px;min-width:0}.bpv2-page .section-head{margin:0}.bpv2-page .section-head small,.bpv2-page .section-head>span{color:var(--muted);font-size:10px}.bpv2-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid #2c3038;background:linear-gradient(135deg,#171a20,#101216)}.bpv2-hero>div{display:grid;gap:5px}.bpv2-hero h2{margin:0;color:var(--ink);font-size:24px}.bpv2-hero strong{font-size:16px}.bpv2-hero small{color:var(--muted);font-size:10px}.bpv2-hero.is-success strong{color:var(--green)}.bpv2-hero.is-partial strong{color:var(--gold2)}.bpv2-hero.is-failed strong{color:#ff8b98}.bpv2-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.bpv2-summary article{display:grid;gap:7px;min-width:0;padding:15px}.bpv2-summary span{color:var(--muted);font-size:10px;font-weight:800}.bpv2-summary b{color:var(--ink);font-size:24px;font-variant-numeric:tabular-nums}.bpv2-impact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bpv2-impact-card{min-width:0;padding:0;overflow:hidden}.bpv2-impact-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;cursor:pointer;list-style:none}.bpv2-impact-card>summary::-webkit-details-marker{display:none}.bpv2-impact-card>summary span{min-width:0;color:var(--ink);font-size:13px;font-weight:900;overflow-wrap:anywhere}.bpv2-impact-card>summary b{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#20242b;font-size:11px}.bpv2-impact-card>summary b.up{color:var(--green)}.bpv2-impact-card>summary b.down{color:#ff8b98}.bpv2-impact-card>summary b.flat{color:var(--muted)}.bpv2-impact-card[open]>summary{border-bottom:1px solid #2a2d34}.bpv2-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px}.bpv2-compare section{display:grid;gap:5px;min-width:0;padding:12px;border:1px solid #292d35;border-radius:12px;background:#111318}.bpv2-compare span,.bpv2-impact-card dt{color:var(--muted);font-size:9px;font-weight:800}.bpv2-compare strong{color:var(--ink);font-size:14px}.bpv2-compare b{color:var(--gold2);font-size:12px}.bpv2-impact-card>dl{display:grid;gap:8px;margin:0;padding:0 14px 14px}.bpv2-impact-card>dl div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:9px}.bpv2-impact-card dd{margin:0;color:var(--ink);font-size:10px;line-height:1.55;overflow-wrap:anywhere}.bpv2-ranking{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.bpv2-ranking button{display:grid;gap:6px;min-width:0;padding:14px;text-align:left;cursor:pointer}.bpv2-ranking button:hover,.bpv2-ranking button.active{border-color:#8d7233;background:#1b1811}.bpv2-ranking strong{color:var(--ink);font-size:13px}.bpv2-ranking small{color:var(--muted);font-size:9px;line-height:1.5;overflow-wrap:anywhere}.bpv2-rank-stars{color:var(--gold2);font-size:15px;letter-spacing:1px;white-space:nowrap}.bpv2-team-detail-card{display:grid;gap:16px;min-width:0;padding:18px}.bpv2-team-detail-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bpv2-team-detail-card h3{margin:3px 0;color:var(--ink);font-size:20px}.bpv2-team-detail-card header small{color:var(--muted);font-size:9px}.bpv2-team-stars{display:grid;justify-items:end;gap:3px}.bpv2-team-stars strong{color:var(--gold2);font-size:18px;white-space:nowrap}.bpv2-team-stars span{color:var(--muted);font-size:9px}.bpv2-team-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bpv2-team-kpis>div{display:grid;gap:5px;min-width:0;padding:11px;border:1px solid #292d34;border-radius:11px;background:#111318}.bpv2-team-kpis span{color:var(--muted);font-size:9px}.bpv2-team-kpis b{color:var(--ink);font-size:14px;overflow-wrap:anywhere}.bpv2-team-kpis>div:first-child b,.bpv2-team-kpis>div:nth-child(4) b,.bpv2-team-kpis>div:nth-child(5) b{color:var(--gold2);letter-spacing:.5px;white-space:nowrap}.bpv2-advanced{min-width:0;border-top:1px solid #2b2e35;padding-top:11px}.bpv2-advanced>summary,.bpv2-technical>summary,.bpv2-source>summary{cursor:pointer;color:var(--gold2);font-size:11px;font-weight:900;list-style:none}.bpv2-advanced>summary::-webkit-details-marker,.bpv2-technical>summary::-webkit-details-marker,.bpv2-source>summary::-webkit-details-marker{display:none}.bpv2-advanced>summary::after,.bpv2-technical>summary::after,.bpv2-source>summary::after{content:'＋';float:right;color:var(--muted)}.bpv2-advanced[open]>summary::after,.bpv2-technical[open]>summary::after,.bpv2-source[open]>summary::after{content:'−'}.bpv2-advanced-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.bpv2-advanced-grid article{min-width:0;padding:11px;border:1px solid #292d34;border-radius:10px;background:#111318}.bpv2-advanced-grid h4,.bpv2-advanced-sections h4{margin:0 0 8px;color:var(--gold2);font-size:11px}.bpv2-advanced-grid dl{display:grid;gap:5px;margin:0}.bpv2-advanced-grid dl div{display:flex;justify-content:space-between;gap:7px;border-top:1px solid #252830;padding-top:5px}.bpv2-advanced-grid dt,.bpv2-advanced-grid dd{font-size:9px}.bpv2-advanced-grid dt{color:var(--muted)}.bpv2-advanced-grid dd{margin:0;color:var(--ink)}.bpv2-advanced-sections{display:grid;gap:10px;margin-top:10px}.bpv2-advanced-sections>section,.bpv2-source{min-width:0;padding:12px;border:1px solid #292d34;border-radius:10px;background:#111318}.bpv2-advanced-sections p,.bpv2-source li{color:var(--muted);font-size:9px;line-height:1.55}.bpv2-pitchers{min-width:620px}.bpv2-technical{min-width:0;padding:16px}.bpv2-technical>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.bpv2-technical article{display:grid;gap:5px;min-width:0;padding:9px;border:1px solid #292d34;border-radius:9px;background:#111318}.bpv2-technical span{color:var(--muted);font-size:8px}.bpv2-technical b{color:var(--ink);font-size:9px;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:1050px){.bpv2-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.bpv2-ranking{grid-template-columns:repeat(2,minmax(0,1fr))}.bpv2-advanced-grid,.bpv2-technical>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.bpv2-page{gap:15px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.bpv2-hero{align-items:flex-start;padding:17px}.bpv2-hero h2{font-size:20px}.bpv2-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bpv2-summary article{padding:12px}.bpv2-summary b{font-size:21px}.bpv2-impact-list{grid-template-columns:1fr}.bpv2-ranking{grid-template-columns:1fr 1fr;gap:7px}.bpv2-ranking button{padding:11px}.bpv2-team-detail-card{padding:14px}.bpv2-team-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.bpv2-team-detail-card>header{display:grid}.bpv2-team-stars{justify-items:start}.bpv2-advanced-grid,.bpv2-technical>div{grid-template-columns:1fr 1fr}.bpv2-page .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}
@media(max-width:390px){.bpv2-ranking{grid-template-columns:1fr}.bpv2-advanced-grid,.bpv2-technical>div{grid-template-columns:1fr}.bpv2-team-kpis b{font-size:12px}.bpv2-rank-stars{font-size:14px}}

/* BULLPEN_V2_MOBILE_FIX4: Bullpen-only layout; does not affect other admin routes. */
.bpv2-page{overflow:visible;width:100%;max-width:100%;min-width:0;gap:18px;padding-bottom:calc(96px + env(safe-area-inset-bottom) + 24px)}
.bpv2-page,.bpv2-page *,.bpv2-page *::before,.bpv2-page *::after{box-sizing:border-box}
.bpv2-page>*,.bpv2-page>section,.bpv2-page article,.bpv2-page details,.bpv2-page header,.bpv2-page div{max-width:100%;min-width:0}
.bpv2-page p,.bpv2-page span,.bpv2-page small,.bpv2-page strong,.bpv2-page b,.bpv2-page dd,.bpv2-page dt,.bpv2-page button{overflow-wrap:anywhere}
.bpv2-period-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bpv2-period-card{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid #292d34;border-radius:10px;background:#111318}
.bpv2-period-card h4{margin:0;color:var(--gold2);font-size:11px}
.bpv2-period-card dl{display:grid;gap:5px;margin:0}
.bpv2-period-card dl div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-top:1px solid #252830;padding-top:5px}
.bpv2-period-card dt,.bpv2-period-card dd{font-size:9px}.bpv2-period-card dt{color:var(--muted)}.bpv2-period-card dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums}
.bpv2-pitcher-list{display:grid;gap:8px;width:100%;max-width:100%;min-width:0}
.bpv2-pitcher-row{display:grid;grid-template-columns:minmax(120px,1.2fr) repeat(4,minmax(70px,1fr));gap:8px;align-items:center;min-width:0;padding:10px;border:1px solid #292d34;border-radius:9px;background:#0f1116}
.bpv2-pitcher-row>strong{color:var(--ink);font-size:10px}.bpv2-pitcher-row>span{display:grid;gap:2px;color:var(--ink);font-size:9px;font-variant-numeric:tabular-nums}.bpv2-pitcher-row>span small{color:var(--muted);font-size:8px}
.bpv2-ranking{counter-reset:bpv2-rank}.bpv2-ranking button{counter-increment:bpv2-rank}.bpv2-ranking button::before{content:counter(bpv2-rank);color:var(--muted);font-size:10px;font-weight:900}.bpv2-rank-index{color:var(--muted);font-size:10px;font-weight:900}.bpv2-pitchers{width:100%;max-width:100%;min-width:0}

@media(max-width:768px){
  .bpv2-page{width:100%;max-width:100%;min-width:0;gap:15px;padding-bottom:calc(96px + env(safe-area-inset-bottom) + 24px)}
  .bpv2-page>section,.bpv2-page .section-head,.bpv2-hero,.bpv2-summary,.bpv2-impact-list,.bpv2-ranking,.bpv2-team-kpis,.bpv2-period-grid,.bpv2-advanced-grid,.bpv2-advanced-sections,.bpv2-technical>div,.bpv2-compare,.bpv2-pitcher-list{grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:100%;min-width:0}
  .bpv2-page .section-head,.bpv2-hero,.bpv2-team-detail-card>header{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start}
  .bpv2-hero{padding:16px}.bpv2-hero button{width:100%;max-width:100%}
  .bpv2-summary article,.bpv2-impact-card,.bpv2-ranking button,.bpv2-team-detail-card,.bpv2-period-card,.bpv2-technical{width:100%;max-width:100%;min-width:0}
  .bpv2-ranking button{display:grid;grid-template-columns:30px minmax(0,1fr)!important;column-gap:10px;row-gap:4px;padding:12px}
  .bpv2-ranking button::before,.bpv2-ranking .bpv2-rank-index{grid-column:1;grid-row:1 / span 3;align-self:center;text-align:center}
  .bpv2-ranking .bpv2-rank-stars,.bpv2-ranking strong,.bpv2-ranking small{grid-column:2;white-space:normal}
  .bpv2-team-stars{justify-items:start}.bpv2-team-kpis{gap:7px}
  .bpv2-period-card dl div,.bpv2-advanced-grid dl div{width:100%}
  .bpv2-compare{padding:12px}.bpv2-compare section{width:100%;max-width:100%}
  .bpv2-impact-card>dl div{grid-template-columns:minmax(0,1fr);gap:3px}
  .bpv2-pitcher-row{grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:100%;min-width:0;gap:6px}
  .bpv2-pitcher-row>span{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;border-top:1px solid #252830;padding-top:5px}
  .bpv2-technical article{width:100%;max-width:100%;min-width:0}
  .bpv2-page .table-wrap{width:100%;max-width:100%;min-width:0;overflow:visible}
}
/* CAS build: 20260807_betsv4_fix1 */

/* AI_MONITOR_FRESHNESS_TAIPEI_DAY_HOTFIX */
.ai-monitor-page,.ai-monitor-page *{box-sizing:border-box}
.ai-monitor-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:100%;min-width:0;padding:14px}
.ai-monitor-time-grid>div{display:grid;gap:5px;min-width:0;padding:11px;border:1px solid #292d34;border-radius:8px;background:#111318}
.ai-monitor-time-grid span,.ai-health-completeness span{color:var(--muted);font-size:9px;font-weight:800}
.ai-monitor-time-grid b{min-width:0;color:var(--ink);font-size:11px;overflow-wrap:anywhere}
.ai-health-completeness{display:grid;gap:8px;margin-top:12px;padding:13px;border:1px solid #363b44;border-radius:8px;background:#111318}
.ai-health-completeness>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ai-health-completeness strong{color:var(--gold2);font-size:24px;font-variant-numeric:tabular-nums}
.ai-health-completeness strong small{font-size:10px}.ai-health-completeness p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}
.ai-monitor-stale-notice{width:100%;max-width:100%;min-width:0;padding:12px 14px;border-color:#69552d;color:#f0cf83;font-size:10px;line-height:1.6;overflow-wrap:anywhere}
.ai-monitor-loading{display:grid;gap:6px;width:100%;max-width:100%;min-width:0}.ai-monitor-loading h3,.ai-monitor-loading p{margin:0}
@media(max-width:768px){.ai-monitor-page,.ai-monitor-page>*,.ai-monitor-page section,.ai-monitor-page article,.ai-monitor-page div{max-width:100%;min-width:0}.ai-monitor-time-grid{grid-template-columns:minmax(0,1fr);padding:12px}.ai-health-completeness>div{align-items:flex-start}.ai-monitor-page p,.ai-monitor-page span,.ai-monitor-page small,.ai-monitor-page b,.ai-monitor-page strong{overflow-wrap:anywhere}.ai-monitor-page{padding-bottom:calc(96px + env(safe-area-inset-bottom) + 24px)}}
