/* Original reference classes; additions cover existing CI4 screens and accessible controls. */
.main_game_list button.mg_casino { padding:0; border:0; background:transparent; appearance:none; color:inherit; font:inherit; cursor:pointer; }
.main_game_list button.mg_casino:disabled { cursor:default; }
.main_game_list .mg_casino .maintenance { position:absolute; inset:0; width:100%; height:100%; background:rgba(0,0,0,.5); color:#fff; font-weight:bold; font-size:27px; text-align:center; line-height:226px; z-index:10; }
.reference-casino-name { position:absolute;z-index:3;left:0;right:0;top:45%;font-size:24px;color:#fff;text-shadow:0 2px 4px #000;text-align:center; }
.main_middle_box { justify-content:flex-start;gap:2px; }
.slot_games .open_slot_game { padding:0;border:0;background:transparent;color:#fff; }
.slot_box button.open_slot2 { padding:0;color:#fff;vertical-align:top;background:#111; }
.reference-slot-vendor-name { display:none; }
.reference-slot-unmapped .reference-slot-vendor-name { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(#252525,#111);font-size:20px;line-height:1.5;overflow-wrap:anywhere; }
.reference-slot-unmapped .comp_img { display:none; }
.reference-slot-selection-message { padding:12px;text-align:center;color:#ddd; }
.reference-slot-selection-message[hidden], #reference-slot-dialog select[hidden] { display:none !important; }
.main_game_list .mg_link img.reference-casino-origin { height:calc(100% - 4px);object-fit:cover; }
.reference-body .swal2-container { z-index:1000001 !important; }
.reference-body .swal2-popup { background:#191919;color:#eee; }
.reference-body .swal2-title, .reference-body .swal2-html-container { color:inherit; }
.reference-body .swal2-confirm { background:linear-gradient(180deg,var(--color-start),var(--color-end));color:#fff; }
.reference-body .swal2-confirm:hover { background:linear-gradient(180deg,var(--color-end),var(--color-start)); }
.reference-body .swal2-confirm:active { background:var(--color-end); }
.reference-body .swal2-cancel { background:linear-gradient(180deg,var(--color-leftstart),var(--color-leftend));border:1px solid #444;color:#fff; }
.reference-body .swal2-cancel:hover { border-color:#777; }
.reference-body .swal2-styled:focus { box-shadow:none;outline:2px solid var(--maincolor);outline-offset:3px; }
.reference-body .swal2-icon.swal2-info { border-color:var(--maincolor);color:var(--maincolor); }
.reference-body .swal2-loader { border-color:var(--maincolor) transparent var(--maincolor) transparent; }
.reference-body .lb-transfer-dialog { display:grid;gap:12px;margin-top:12px; }
.reference-body .lb-transfer-dialog button { width:100%;min-height:72px;padding:14px 12px;border:1px solid var(--color-end);border-radius:8px;background:linear-gradient(180deg,var(--color-leftstart),var(--color-leftend));color:#fff;cursor:pointer;font-family:inherit;text-align:center; }
.reference-body .lb-transfer-dialog button:first-child { border-color:var(--maincolor);background:linear-gradient(180deg,var(--color-start),var(--color-end)); }
.reference-body .lb-transfer-dialog button:hover { border-color:var(--maincolor);background:linear-gradient(180deg,var(--color-end),var(--color-start)); }
.reference-body .lb-transfer-dialog button:active { background:var(--color-end); }
.reference-body .lb-transfer-dialog button strong, .reference-body .lb-transfer-dialog button span { display:block; }
.reference-body .lb-transfer-dialog button strong { font-size:15px;font-weight:700; }
.reference-body .lb-transfer-dialog button span { margin-top:5px;color:rgba(255,255,255,.82);font-size:12px;line-height:1.35; }
.reference-body .lb-transfer-dialog button:focus-visible { outline:2px solid var(--maincolor);outline-offset:3px; }
#reference-slot-dialog .close_box { background:none;border:0;color:#fff; }
.reference-sports-frame { min-height:720px;background:#111; }
.reference-sports-frame iframe { width:100%;height:900px;border:0;display:block; }
.reference-sports-frame .ho-sports-status { display:flex;min-height:250px;align-items:center;justify-content:center;gap:12px;flex-direction:column; }
.reference-sports-frame button { padding:8px 16px;background:#444;color:#fff;border:1px solid #777;cursor:pointer; }
.reference-bet-search { display:flex;flex-wrap:wrap;gap:8px;align-items:center; }
.reference-bet-search input { background:#222;color:#eee;border:1px solid #555;padding:8px; }
.reference-bet-table { overflow-x:auto; }
.reference-bet-table table { width:100%;border-collapse:collapse; }
.reference-bet-table th,.reference-bet-table td { padding:12px 8px;text-align:center;border-bottom:1px solid #444; }
.reference-bet-table th { background:#333; }
.reference-bet-table small { display:block;color:#aaa; }
.reference-bet-table .btn_mid { margin:2px; }
@media(max-width:767px) {
 .reference-sports-frame { min-height:650px; }
 .reference-sports-frame iframe { height:calc(100dvh - 145px);min-height:650px; }
 .reference-casino-name { font-size:17px; }
 .main_game_list .mg_link img.reference-casino-origin { object-fit:contain;background:#160b0b; }
 .reference-bet-table th,.reference-bet-table td { padding:8px 5px;font-size:11px; }
}
