    /* ═══════════════════════ FLASHSPORTS / flashscores.pro BETSLIP ═══════════════════════ */
    #betslip-overlay {
        position: fixed;
        inset: 0;
        background: rgba(2, 10, 6, 0.72);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        z-index: 1300;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.25s ease, visibility 0.25s ease;
    }
    #betslip-overlay.show {
        opacity: 1;
        visibility: visible;
    }

    #betslip-sheet {
        position: fixed;
        bottom: 0;
        left: 50%;
        width: min(100%, 448px);
        max-height: 90dvh;
        background: var(--background, #092218);
        color: var(--foreground, #eef8f2);
        border: 1px solid var(--border, rgba(255,255,255,0.12));
        border-bottom: none;
        border-radius: 1rem 1rem 0 0;
        z-index: 1400;
        transform: translate(-50%, 105%);
        transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
        display: flex;
        flex-direction: column;
        overflow: hidden;
        box-shadow: 0 -16px 48px rgba(0, 0, 0, 0.65);
        user-select: none;
    }
    #betslip-sheet.show {
        transform: translate(-50%, 0);
    }

    .bs-drag-handle {
        width: 100%;
        padding: 8px 0 4px;
        background: var(--sidebar, #04120c);
        display: flex;
        justify-content: center;
        align-items: center;
        flex-shrink: 0;
        cursor: grab;
        touch-action: none;
    }
    .bs-drag-pill {
        width: 36px;
        height: 4px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.22);
    }

    .bs-accept-toggle {
        position: relative;
        width: 34px;
        height: 19px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.18);
        cursor: pointer;
        transition: background 0.2s ease;
        flex-shrink: 0;
    }
    .bs-accept-toggle::after {
        content: '';
        position: absolute;
        top: 2px;
        left: 2px;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        background: #ffffff;
        transition: transform 0.2s ease;
        box-shadow: 0 1px 3px rgba(0,0,0,0.3);
    }
    .bs-accept-toggle.active {
        background: var(--primary, #10b981);
    }
    .bs-accept-toggle.active::after {
        transform: translateX(15px);
    }

    #bs-items-scroll {
        flex: 1;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        padding: 10px 12px;
        max-height: 46dvh;
    }

    #bs-footer {
        display: none;
        flex-direction: column;
        gap: 10px;
        padding: 12px 14px calc(14px + env(safe-area-inset-bottom, 0px));
        background: var(--sidebar, #04120c);
        border-top: 1px solid var(--border, rgba(255,255,255,0.1));
        flex-shrink: 0;
    }
    #bs-footer.show {
        display: flex;
    }

    /* Success modal */
    #bs-success-view {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2200 !important;
        display: none;
        align-items: center !important;
        justify-content: center !important;
        padding: 16px !important;
        background: rgba(2, 10, 6, 0.82) !important;
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        overflow: auto;
    }
    .bs-success-modal {
        position: relative;
        width: min(100%, 400px);
        max-height: 86dvh;
        overflow: auto;
        border-radius: 1.25rem;
        background: var(--card, #0f2e22);
        color: var(--foreground, #eef8f2);
        border: 1px solid var(--border, rgba(255,255,255,0.12));
        padding: 28px 18px 22px;
        text-align: center;
        box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);
    }
    .bs-success-close {
        position: absolute;
        right: 14px;
        top: 12px;
        width: 30px;
        height: 30px;
        border-radius: 999px;
        border: 1px solid var(--border, rgba(255,255,255,0.12));
        background: var(--background, #092218);
        color: var(--muted-foreground, #8ab09d);
        font-size: 18px;
        line-height: 1;
        cursor: pointer;
        display: grid;
        place-items: center;
    }
    .bs-success-check {
        width: 56px;
        height: 56px;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: var(--primary, #10b981);
        color: var(--primary-foreground, #03150d);
        display: grid;
        place-items: center;
        font-size: 26px;
        box-shadow: 0 0 24px rgba(16, 185, 129, 0.45);
    }
    .bs-success-ticket {
        width: 100%;
        margin: 14px 0 18px;
        padding: 14px;
        border-radius: 0.85rem;
        background: var(--background, #092218);
        border: 1px solid var(--border, rgba(255,255,255,0.1));
        text-align: left;
    }
    .bs-success-line {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        font-size: 12px;
        color: var(--muted-foreground, #8ab09d);
        padding: 4px 0;
    }
    .bs-success-line strong {
        color: var(--foreground, #eef8f2);
        font-size: 13px;
        font-weight: 700;
    }
    .bs-success-divider {
        height: 1px;
        background: var(--border, rgba(255,255,255,0.08));
        margin: 8px 0;
    }
    .bs-code-inline {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }
    .bs-code-inline button {
        border: 1px solid var(--primary, #10b981);
        border-radius: 6px;
        background: rgba(16, 185, 129, 0.12);
        color: var(--primary, #10b981);
        height: 24px;
        padding: 0 8px;
        font-size: 11px;
        font-weight: 700;
        cursor: pointer;
    }
    .bs-success-selections {
        display: flex;
        flex-direction: column;
        gap: 6px;
        max-height: 150px;
        overflow-y: auto;
    }
    .bs-success-selection {
        border: 1px solid var(--border, rgba(255,255,255,0.08));
        border-radius: 8px;
        background: var(--card, #0f2e22);
        padding: 8px 10px;
    }
    .bs-success-selection .teams {
        color: var(--foreground, #eef8f2);
        font-size: 12px;
        font-weight: 700;
        margin-bottom: 3px;
    }
    .bs-success-selection .pickline {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 11px;
        color: var(--muted-foreground, #8ab09d);
    }
    .bs-success-selection .odds {
        color: var(--primary, #10b981);
        font-weight: 800;
    }
    .bs-success-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-bottom: 12px;
    }
    .bs-success-actions button {
        height: 40px;
        border-radius: 999px;
        font-size: 13px;
        font-weight: 800;
        cursor: pointer;
    }
    .bs-success-rebet {
        border: 1px solid var(--border, rgba(255,255,255,0.16));
        background: var(--background, #092218);
        color: var(--foreground, #eef8f2);
    }
    .bs-success-ok {
        border: none;
        background: var(--primary, #10b981);
        color: var(--primary-foreground, #03150d);
    }
    .bs-history-link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: var(--primary, #10b981);
        font-size: 12px;
        font-weight: 700;
        text-decoration: none;
    }
