/* Lottery tickets and chat ticket selectors migrated from CSS isolation. */

.bonoloto-ticket {
    display: grid;
    gap: 14px;
    max-width: 920px;
    padding: 18px;
    border-radius: 28px;
    border: 1px solid var(--line);
    background:
        linear-gradient(180deg, rgba(34, 197, 94, 0.08), rgba(96, 165, 250, 0.04)),
        rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow-md);
}

.bonoloto-ticket__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}

.bonoloto-ticket__header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.bonoloto-ticket__back-btn {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    color: var(--text-0);
    background: rgba(var(--brand-primary-rgb), 0.08);
    border: 1px solid rgba(var(--brand-primary-rgb), 0.14);
    font-size: 0.78rem;
    font-weight: 800;
}

.bonoloto-ticket__title-block {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.bonoloto-ticket__icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: white;
    font-size: 1.2rem;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.98), rgba(34, 197, 94, 0.85));
    box-shadow: 0 12px 28px rgba(59, 130, 246, 0.3);
    flex: 0 0 auto;
}

.bonoloto-ticket__title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.bonoloto-ticket__title-row h2 {
    margin: 0;
    font-size: 1.12rem;
    color: var(--text-0);
    letter-spacing: -0.02em;
}

.bonoloto-ticket__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--text-0);
    background: rgba(59, 130, 246, 0.18);
    border: 1px solid rgba(59, 130, 246, 0.26);
}

.bonoloto-ticket__draw {
    margin-top: 4px;
    color: var(--text-2);
    font-size: 0.85rem;
}

.bonoloto-ticket__frequency {
    display: inline-flex;
    gap: 8px;
    padding: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.bonoloto-ticket__frequency-btn {
    min-width: 96px;
    height: 34px;
    border-radius: 999px;
    padding: 0 14px;
    color: var(--text-1);
    background: transparent;
    border: 1px solid transparent;
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.bonoloto-ticket__frequency-btn.is-active {
    color: white;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.96), rgba(34, 197, 94, 0.86));
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 22px rgba(59, 130, 246, 0.26);
}

.bonoloto-ticket__body {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
}

.bonoloto-ticket__selector,
.bonoloto-ticket__lines {
    min-width: 0;
    border-radius: 22px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.bonoloto-ticket__selector {
    width: 100%;
    max-width: none;
    justify-self: stretch;
}

.bonoloto-ticket__section-head,
.bonoloto-ticket__lines-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
    color: var(--text-0);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.bonoloto-ticket__number-grid {
    display: grid;
    grid-template-columns: repeat(7, 1.7rem);
    justify-content: start;
    gap: 0.35rem;
}

.bonoloto-ticket__ball {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    padding: 0;
    font-weight: 800;
    font-size: 0.58rem;
    color: var(--text-0);
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
        rgba(8, 18, 34, 0.9);
    transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.bonoloto-ticket__ball:hover,
.bonoloto-ticket__action:hover,
.bonoloto-ticket__line:hover,
.bonoloto-ticket__line-add:hover,
.bonoloto-ticket__add-line:hover {
    transform: translateY(-1px);
}

.bonoloto-ticket__ball.is-selected {
    border-color: rgba(59, 130, 246, 0.48);
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.95), rgba(96, 165, 250, 0.84));
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.16), 0 0 0 3px rgba(59, 130, 246, 0.22), 0 8px 14px rgba(59, 130, 246, 0.22);
    transform: scale(1.06);
}

.bonoloto-ticket__line-nav {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 10px;
}

.bonoloto-ticket__line-nav-btn {
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-1);
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.bonoloto-ticket__line-nav-label {
    text-align: center;
    color: var(--text-0);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bonoloto-ticket__lines-list {
    display: grid;
    gap: 8px;
    max-height: 22rem;
    overflow-y: auto;
    padding-right: 4px;
}

.bonoloto-ticket__line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
    padding: 8px 10px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.bonoloto-ticket__line.is-active {
    border-color: rgba(59, 130, 246, 0.35);
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.14) inset;
}

.bonoloto-ticket__line-index {
    color: var(--text-2);
    font-weight: 800;
    text-align: center;
    display: none;
}

.bonoloto-ticket__line-content {
    min-width: 0;
    overflow: hidden;
}

.bonoloto-ticket__line-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.bonoloto-ticket__line-empty {
    color: var(--text-2);
    font-size: 0.82rem;
}

.bonoloto-ticket__chip {
    min-height: 26px;
    padding: 0 9px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    font-weight: 800;
}

.bonoloto-ticket__chip--number {
    color: #1d4ed8;
    background: rgba(59, 130, 246, 0.12);
    border: 1px solid rgba(59, 130, 246, 0.28);
}

.bonoloto-ticket__chip--reintegro {
    color: #ecfccb;
    background: rgba(34, 197, 94, 0.14);
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.bonoloto-ticket__line-add,
.bonoloto-ticket__add-line {
    width: auto;
    min-width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--text-0);
    font-weight: 900;
    padding: 0;
}

.bonoloto-ticket__footer {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.bonoloto-ticket__action {
    min-height: 46px;
    border-radius: 18px;
    padding: 0 14px;
    font-weight: 900;
}

.bonoloto-ticket__action--ghost {
    color: var(--text-1);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.bonoloto-ticket__action--primary {
    color: white;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.98), rgba(34, 197, 94, 0.86));
    border: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow: 0 18px 32px rgba(59, 130, 246, 0.24);
}

@media (max-width: 980px) {
    .bonoloto-ticket__body {
        grid-template-columns: 1fr;
    }

    .bonoloto-ticket__selector {
        max-width: none;
    }

    .bonoloto-ticket__lines-list {
        max-height: none;
    }
}

@media (max-width: 640px) {
    .bonoloto-ticket__header {
        align-items: start;
        flex-direction: column;
    }

    .bonoloto-ticket__footer {
        grid-template-columns: 1fr;
    }

    .bonoloto-ticket__number-grid {
        grid-template-columns: repeat(6, 1.55rem);
        gap: 0.3rem;
    }

    .bonoloto-ticket__key-grid {
        grid-template-columns: repeat(5, 1.45rem);
        gap: 0.3rem;
    }

    .bonoloto-ticket__ball {
        width: 1.55rem;
        height: 1.55rem;
    }
}

/* EuroDreams */
.eurodreams-ticket {
    display: grid;
    gap: 14px;
    max-width: 920px;
    padding: 18px;
    border-radius: 28px;
    border: 1px solid var(--line);
    background:
        linear-gradient(180deg, rgba(91, 143, 255, 0.08), rgba(165, 180, 252, 0.04)),
        rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow-md);
}
.eurodreams-ticket__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}

.eurodreams-ticket__header-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.eurodreams-ticket__back-btn { min-height: 34px; padding: 0 12px; border-radius: 999px; color: var(--text-0); background: rgba(var(--brand-primary-rgb), 0.08); border: 1px solid rgba(var(--brand-primary-rgb), 0.14); font-size: 0.78rem; font-weight: 800; }
.eurodreams-ticket__title-block { display: flex; align-items: center; gap: 14px; min-width: 0; }
.eurodreams-ticket__icon { width: 52px; height: 52px; border-radius: 18px; display: grid; place-items: center; color: white; font-size: 1.2rem; background: linear-gradient(135deg, rgba(91, 143, 255, 0.98), rgba(165, 180, 252, 0.92)); box-shadow: 0 12px 28px rgba(91, 143, 255, 0.3); flex: 0 0 auto; }
.eurodreams-ticket__title-row { display: flex; align-items: center; gap: 10px; min-width: 0; }
.eurodreams-ticket__title-row h2 { margin: 0; font-size: 1.12rem; color: var(--text-0); letter-spacing: -0.02em; }
.eurodreams-ticket__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 26px; padding: 0 10px; border-radius: 999px; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; color: var(--text-0); background: rgba(91, 143, 255, 0.18); border: 1px solid rgba(91, 143, 255, 0.24); }
.eurodreams-ticket__draw { margin-top: 4px; color: var(--text-2); font-size: 0.85rem; }
.eurodreams-ticket__frequency { display: inline-flex; gap: 8px; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.06); }
.eurodreams-ticket__frequency-btn { min-width: 96px; height: 34px; border-radius: 999px; padding: 0 14px; color: var(--text-1); background: transparent; border: 1px solid transparent; transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease; }
.eurodreams-ticket__frequency-btn.is-active { color: white; background: linear-gradient(135deg, rgba(91, 143, 255, 0.96), rgba(165, 180, 252, 0.86)); border-color: rgba(255, 255, 255, 0.08); box-shadow: 0 10px 22px rgba(91, 143, 255, 0.24); }
.eurodreams-ticket__body { grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); }
.eurodreams-ticket__selector, .eurodreams-ticket__lines { min-width: 0; border-radius: 22px; padding: 12px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.06); }
.eurodreams-ticket__selector { width: 100%; max-width: none; justify-self: stretch; }
.eurodreams-ticket__section-head, .eurodreams-ticket__lines-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; color: var(--text-0); font-size: 0.82rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.14em; }
.eurodreams-ticket__section-head--bonus { margin-top: 12px; }
.eurodreams-ticket__number-grid { display: grid; grid-template-columns: repeat(8, 1.7rem); justify-content: start; gap: 0.35rem; }
.eurodreams-ticket__bonus-grid { display: grid; grid-template-columns: repeat(5, 1.55rem); justify-content: start; gap: 0.3rem; }
.eurodreams-ticket__ball, .eurodreams-ticket__bonus { width: 1.7rem; height: 1.7rem; border-radius: 50%; display: grid; place-items: center; padding: 0; font-weight: 800; font-size: 0.58rem; color: var(--text-0); border: 1px solid rgba(255, 255, 255, 0.08); background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)), rgba(10, 18, 34, 0.9); transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.eurodreams-ticket__ball:hover, .eurodreams-ticket__bonus:hover, .eurodreams-ticket__action:hover, .eurodreams-ticket__line:hover, .eurodreams-ticket__line-add:hover, .eurodreams-ticket__add-line:hover { transform: translateY(-1px); }
.eurodreams-ticket__ball.is-selected { border-color: rgba(var(--brand-primary-rgb), 0.4); background: linear-gradient(135deg, rgba(var(--brand-primary-rgb), 0.95), rgba(69, 155, 255, 0.82)); box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.16), 0 0 0 5px rgba(var(--brand-primary-rgb), 0.22), 0 10px 18px rgba(var(--brand-primary-rgb), 0.26); transform: scale(1.06); }
.eurodreams-ticket__bonus { width: 1.55rem; height: 1.55rem; border-radius: 0.45rem; font-size: 0.5rem; }
.eurodreams-ticket__bonus.is-selected { border-color: rgba(var(--brand-accent-rgb), 0.42); background: linear-gradient(135deg, rgba(var(--brand-accent-rgb), 0.96), rgba(255, 207, 102, 0.82)); color: #111827; box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.16), 0 0 0 5px rgba(var(--brand-accent-rgb), 0.22), 0 10px 18px rgba(var(--brand-accent-rgb), 0.26); transform: scale(1.06); }
.eurodreams-ticket__lines { display: grid; gap: 6px; align-self: stretch; align-content: start; }
.eurodreams-ticket__add-line { width: auto; min-width: 30px; height: 30px; border-radius: 999px; color: var(--text-0); background: rgba(91, 143, 255, 0.16); border: 1px solid rgba(91, 143, 255, 0.24); }
.eurodreams-ticket__lines-list { display: grid; gap: 0.45rem; max-height: 24rem; overflow: auto; padding-right: 4px; }
.eurodreams-ticket__line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.65rem; align-items: start; padding: 0.7rem 0.75rem; border-radius: 16px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.06); }
.eurodreams-ticket__line.is-active { background: rgba(91, 143, 255, 0.12); border-color: rgba(91, 143, 255, 0.32); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), 0 10px 22px rgba(91, 143, 255, 0.08); }
.eurodreams-ticket__line-index { color: var(--text-2); font-size: 0.78rem; font-weight: 800; text-align: center; display: none; }
.eurodreams-ticket__line-content { min-width: 0; overflow: hidden; }
.eurodreams-ticket__line-chips { display: flex; flex-wrap: nowrap; gap: 0.35rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eurodreams-ticket__line-content::-webkit-scrollbar { height: 6px; }
.eurodreams-ticket__line-content::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, 0.18); border-radius: 999px; }
.eurodreams-ticket__chip, .eurodreams-ticket__line-empty { display: inline-flex; align-items: center; justify-content: center; min-height: 1.25rem; padding: 0 0.45rem; border-radius: 999px; font-size: 0.52rem; font-weight: 800; white-space: nowrap; }
.eurodreams-ticket__chip--number { color: white; background: linear-gradient(135deg, rgba(31, 111, 255, 0.92), rgba(87, 165, 255, 0.82)); }
.eurodreams-ticket__chip--star { color: #1f2937; background: linear-gradient(135deg, rgba(255, 199, 62, 0.96), rgba(255, 222, 140, 0.84)); }
.eurodreams-ticket__line-empty { color: var(--text-2); background: rgba(255, 255, 255, 0.04); }
.eurodreams-ticket__line-add { width: auto; min-width: 30px; height: 30px; border-radius: 999px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.08); color: var(--text-0); font-weight: 900; }
.eurodreams-ticket__footer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.eurodreams-ticket__action { min-height: 48px; border-radius: 16px; padding: 0 14px; font-weight: 800; color: var(--text-0); transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease; }
.eurodreams-ticket__action--ghost { background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.08); }
.eurodreams-ticket__action--primary { color: white; background: linear-gradient(135deg, rgba(91, 143, 255, 0.98), rgba(165, 180, 252, 0.92)); box-shadow: 0 16px 28px rgba(91, 143, 255, 0.24); }

.euromillones-ticket { display: grid; gap: 14px; max-width: 920px; padding: 18px; border-radius: 28px; border: 1px solid var(--line); background: linear-gradient(180deg, rgba(91, 143, 255, 0.08), rgba(255, 209, 102, 0.04)), rgba(255, 255, 255, 0.94); box-shadow: var(--shadow-md); }
.euromillones-ticket__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.euromillones-ticket__header-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.euromillones-ticket__back-btn { min-height: 34px; padding: 0 12px; border-radius: 999px; color: var(--text-0); background: rgba(var(--brand-primary-rgb), 0.08); border: 1px solid rgba(var(--brand-primary-rgb), 0.14); font-size: 0.78rem; font-weight: 800; }
.euromillones-ticket__title-block { display: flex; align-items: center; gap: 14px; min-width: 0; }
.euromillones-ticket__icon { width: 52px; height: 52px; border-radius: 18px; display: grid; place-items: center; color: white; font-size: 1.2rem; background: linear-gradient(135deg, rgba(31, 111, 255, 0.98), rgba(255, 199, 62, 0.96)); box-shadow: 0 12px 28px rgba(31, 111, 255, 0.3); flex: 0 0 auto; }
.euromillones-ticket__title-row { display: flex; align-items: center; gap: 10px; min-width: 0; }
.euromillones-ticket__title-row h2 { margin: 0; font-size: 1.12rem; color: var(--text-0); letter-spacing: -0.02em; }
.euromillones-ticket__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 26px; padding: 0 10px; border-radius: 999px; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; color: var(--text-0); background: rgba(31, 111, 255, 0.18); border: 1px solid rgba(31, 111, 255, 0.24); }
.euromillones-ticket__draw { margin-top: 4px; color: var(--text-2); font-size: 0.85rem; }
.euromillones-ticket__frequency { display: inline-flex; gap: 8px; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.06); }
.euromillones-ticket__frequency-btn { min-width: 96px; height: 34px; border-radius: 999px; padding: 0 14px; color: var(--text-1); background: transparent; border: 1px solid transparent; transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease; }
.euromillones-ticket__frequency-btn.is-active { color: white; background: linear-gradient(135deg, rgba(31, 111, 255, 0.96), rgba(255, 199, 62, 0.9)); border-color: rgba(255, 255, 255, 0.08); box-shadow: 0 10px 22px rgba(31, 111, 255, 0.24); }
.euromillones-ticket__body { grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); }
.euromillones-ticket__selector, .euromillones-ticket__lines { min-width: 0; border-radius: 22px; padding: 14px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.06); }
.euromillones-ticket__selector { width: 100%; max-width: none; justify-self: stretch; }
.euromillones-ticket__section-head, .euromillones-ticket__lines-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; color: var(--text-0); font-size: 0.82rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.14em; }
.euromillones-ticket__section-head--stars { margin-top: 12px; }
.euromillones-ticket__line-nav { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; margin-top: 10px; margin-bottom: 10px; }
.euromillones-ticket__line-nav-btn { min-height: 28px; padding: 0 10px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.04); color: var(--text-1); font-size: 0.72rem; font-weight: 800; white-space: nowrap; }
.euromillones-ticket__line-nav-label { text-align: center; color: var(--text-0); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.euromillones-ticket__number-grid { display: grid; grid-template-columns: repeat(10, 1.7rem); justify-content: start; gap: 0.35rem; }
.euromillones-ticket__star-grid { display: grid; grid-template-columns: repeat(6, 1.55rem); justify-content: start; gap: 0.3rem; }
.euromillones-ticket__ball, .euromillones-ticket__star { width: 1.7rem; height: 1.7rem; border-radius: 50%; display: grid; place-items: center; padding: 0; font-weight: 800; font-size: 0.58rem; color: var(--text-0); border: 1px solid rgba(255, 255, 255, 0.08); background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)), rgba(10, 18, 34, 0.9); transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.euromillones-ticket__ball:hover, .euromillones-ticket__star:hover, .euromillones-ticket__action:hover, .euromillones-ticket__line:hover, .euromillones-ticket__line-add:hover, .euromillones-ticket__add-line:hover { transform: translateY(-1px); }
.euromillones-ticket__ball.is-selected { border-color: rgba(var(--brand-primary-rgb), 0.4); background: linear-gradient(135deg, rgba(var(--brand-primary-rgb), 0.95), rgba(69, 155, 255, 0.82)); box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.16), 0 0 0 5px rgba(var(--brand-primary-rgb), 0.22), 0 10px 18px rgba(var(--brand-primary-rgb), 0.26); transform: scale(1.06); }
.euromillones-ticket__star { width: 1.55rem; height: 1.55rem; border-radius: 0.45rem; font-size: 0.5rem; }
.euromillones-ticket__star.is-selected { border-color: rgba(var(--brand-accent-rgb), 0.42); background: linear-gradient(135deg, rgba(var(--brand-accent-rgb), 0.96), rgba(255, 207, 102, 0.82)); color: #111827; box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.16), 0 0 0 5px rgba(var(--brand-accent-rgb), 0.22), 0 10px 18px rgba(var(--brand-accent-rgb), 0.26); transform: scale(1.06); }
.euromillones-ticket__lines { display: grid; gap: 6px; align-self: stretch; align-content: start; }
.euromillones-ticket__add-line { width: 30px; height: 30px; border-radius: 10px; color: var(--text-0); background: rgba(31, 111, 255, 0.16); border: 1px solid rgba(31, 111, 255, 0.24); }
.euromillones-ticket__lines-list { display: grid; gap: 0.45rem; max-height: 24rem; overflow: auto; padding-right: 4px; }
.euromillones-ticket__lines-list::-webkit-scrollbar { width: 8px; }
.euromillones-ticket__lines-list::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, 0.22); border-radius: 999px; }
.euromillones-ticket__line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.65rem; align-items: start; padding: 0.7rem 0.75rem; border-radius: 16px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.06); }
.euromillones-ticket__line.is-active { background: rgba(31, 111, 255, 0.12); border-color: rgba(31, 111, 255, 0.32); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), 0 10px 22px rgba(31, 111, 255, 0.08); }
.euromillones-ticket__line-index { color: var(--text-2); font-size: 0.78rem; font-weight: 800; text-align: center; display: none; }
.euromillones-ticket__line-content { min-width: 0; overflow: hidden; }
.euromillones-ticket__line-chips { display: flex; flex-wrap: nowrap; gap: 0.35rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.euromillones-ticket__line-content::-webkit-scrollbar { height: 6px; }
.euromillones-ticket__line-content::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, 0.18); border-radius: 999px; }
.euromillones-ticket__chip, .euromillones-ticket__line-empty { display: inline-flex; align-items: center; justify-content: center; min-height: 1.25rem; padding: 0 0.45rem; border-radius: 999px; font-size: 0.52rem; font-weight: 800; white-space: nowrap; }
.euromillones-ticket__chip--number { color: white; background: linear-gradient(135deg, rgba(31, 111, 255, 0.92), rgba(87, 165, 255, 0.82)); }
.euromillones-ticket__chip--star { color: #1f2937; background: linear-gradient(135deg, rgba(255, 199, 62, 0.96), rgba(255, 222, 140, 0.84)); }
.euromillones-ticket__line-empty { color: var(--text-2); background: rgba(255, 255, 255, 0.04); }
.euromillones-ticket__line-add { width: auto; min-width: 30px; height: 30px; border-radius: 999px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.08); color: var(--text-0); font-weight: 900; }
.euromillones-ticket__footer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.euromillones-ticket__action { min-height: 48px; border-radius: 16px; padding: 0 14px; font-weight: 800; color: var(--text-0); transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease; }
.euromillones-ticket__action--ghost { background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.08); }
.euromillones-ticket__action--primary { color: white; background: linear-gradient(135deg, rgba(31, 111, 255, 0.98), rgba(255, 199, 62, 0.92)); box-shadow: 0 16px 28px rgba(31, 111, 255, 0.24); }

.gordo-ticket, .primitiva-ticket { display: grid; gap: 14px; max-width: 920px; padding: 18px; border-radius: 28px; border: 1px solid var(--line); box-shadow: var(--shadow-md); }
.gordo-ticket { background: linear-gradient(180deg, rgba(239, 68, 68, 0.08), rgba(248, 113, 113, 0.04)), rgba(255, 255, 255, 0.94); }
.primitiva-ticket { background: linear-gradient(180deg, rgba(34, 197, 94, 0.08), rgba(110, 231, 183, 0.04)), rgba(255, 255, 255, 0.94); }
.gordo-ticket__header, .primitiva-ticket__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.gordo-ticket__header-actions, .primitiva-ticket__header-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.gordo-ticket__back-btn, .primitiva-ticket__back-btn { min-height: 34px; padding: 0 12px; border-radius: 999px; color: var(--text-0); background: rgba(var(--brand-primary-rgb), 0.08); border: 1px solid rgba(var(--brand-primary-rgb), 0.14); font-size: 0.78rem; font-weight: 800; }
.gordo-ticket__title-block, .primitiva-ticket__title-block { display: flex; align-items: center; gap: 14px; min-width: 0; }
.gordo-ticket__icon, .primitiva-ticket__icon { width: 52px; height: 52px; border-radius: 18px; display: grid; place-items: center; color: white; font-size: 1.2rem; flex: 0 0 auto; }
.gordo-ticket__icon { background: linear-gradient(135deg, rgba(239, 68, 68, 0.98), rgba(248, 113, 113, 0.84)); box-shadow: 0 12px 28px rgba(239, 68, 68, 0.3); }
.primitiva-ticket__icon { background: linear-gradient(135deg, rgba(34, 197, 94, 0.98), rgba(110, 231, 183, 0.82)); box-shadow: 0 12px 28px rgba(34, 197, 94, 0.3); }
.gordo-ticket__title-row, .primitiva-ticket__title-row { display: flex; align-items: center; gap: 10px; min-width: 0; }
.gordo-ticket__title-row h2, .primitiva-ticket__title-row h2 { margin: 0; font-size: 1.12rem; color: var(--text-0); letter-spacing: -0.02em; }
.gordo-ticket__badge, .primitiva-ticket__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 26px; padding: 0 10px; border-radius: 999px; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; color: var(--text-0); }
.gordo-ticket__badge { background: rgba(239, 68, 68, 0.18); border: 1px solid rgba(239, 68, 68, 0.26); }
.primitiva-ticket__badge { background: rgba(34, 197, 94, 0.2); border: 1px solid rgba(34, 197, 94, 0.3); }
.gordo-ticket__draw, .primitiva-ticket__draw { margin-top: 4px; color: var(--text-2); font-size: 0.85rem; }
.gordo-ticket__frequency, .primitiva-ticket__frequency { display: inline-flex; gap: 8px; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.06); }
.gordo-ticket__frequency-btn, .primitiva-ticket__frequency-btn { min-width: 96px; height: 34px; border-radius: 999px; padding: 0 14px; color: var(--text-1); background: transparent; border: 1px solid transparent; transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease; }
.gordo-ticket__frequency-btn.is-active { color: white; background: linear-gradient(135deg, rgba(239, 68, 68, 0.98), rgba(248, 113, 113, 0.84)); border-color: rgba(255, 255, 255, 0.08); box-shadow: 0 10px 22px rgba(239, 68, 68, 0.26); }
.primitiva-ticket__frequency-btn.is-active { color: white; background: linear-gradient(135deg, rgba(34, 197, 94, 0.98), rgba(110, 231, 183, 0.84)); border-color: rgba(255, 255, 255, 0.08); box-shadow: 0 10px 22px rgba(34, 197, 94, 0.26); }
.gordo-ticket__body, .primitiva-ticket__body { grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); }
.gordo-ticket__selector, .gordo-ticket__lines, .primitiva-ticket__selector, .primitiva-ticket__lines { min-width: 0; border-radius: 22px; padding: 12px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.06); }
.gordo-ticket__selector, .primitiva-ticket__selector { width: 100%; max-width: none; justify-self: stretch; }
.gordo-ticket__section-head, .gordo-ticket__lines-head, .primitiva-ticket__section-head, .primitiva-ticket__lines-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; color: var(--text-0); font-size: 0.82rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.14em; }
.gordo-ticket__section-head--key, .primitiva-ticket__section-head--reintegro { margin-top: 12px; }
.gordo-ticket__number-grid { display: grid; grid-template-columns: repeat(9, 1.7rem); justify-content: start; gap: 0.35rem; }
.primitiva-ticket__number-grid { display: grid; grid-template-columns: repeat(7, 1.7rem); justify-content: start; gap: 0.35rem; }
.gordo-ticket__key-grid, .primitiva-ticket__reintegro-grid { display: grid; grid-template-columns: repeat(5, 1.55rem); justify-content: start; gap: 0.3rem; }
.gordo-ticket__ball, .gordo-ticket__key, .primitiva-ticket__ball, .primitiva-ticket__reintegro { width: 1.7rem; height: 1.7rem; border-radius: 50%; display: grid; place-items: center; padding: 0; font-weight: 800; font-size: 0.58rem; color: var(--text-0); border: 1px solid rgba(255, 255, 255, 0.08); background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)), rgba(28, 8, 10, 0.9); transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.primitiva-ticket__ball, .primitiva-ticket__reintegro { background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)), rgba(10, 18, 34, 0.9); }
.gordo-ticket__ball:hover, .gordo-ticket__key:hover, .primitiva-ticket__ball:hover, .primitiva-ticket__reintegro:hover, .gordo-ticket__action:hover, .primitiva-ticket__action:hover, .gordo-ticket__line:hover, .primitiva-ticket__line:hover, .gordo-ticket__line-add:hover, .primitiva-ticket__line-add:hover, .gordo-ticket__add-line:hover, .primitiva-ticket__add-line:hover { transform: translateY(-1px); }
.gordo-ticket__ball.is-selected { border-color: rgba(239, 68, 68, 0.48); background: linear-gradient(135deg, rgba(239, 68, 68, 0.95), rgba(248, 113, 113, 0.84)); box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.16), 0 0 0 3px rgba(239, 68, 68, 0.22), 0 8px 14px rgba(239, 68, 68, 0.22); transform: scale(1.06); }
.primitiva-ticket__ball.is-selected { border-color: rgba(var(--brand-primary-rgb), 0.4); background: linear-gradient(135deg, rgba(var(--brand-primary-rgb), 0.95), rgba(69, 155, 255, 0.82)); box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.16), 0 0 0 3px rgba(var(--brand-primary-rgb), 0.22), 0 8px 14px rgba(var(--brand-primary-rgb), 0.22); transform: scale(1.06); }
.gordo-ticket__key { border-radius: 11px; width: 1.55rem; height: 1.55rem; font-size: 0.5rem; }
.primitiva-ticket__reintegro { border-radius: 11px; width: 1.55rem; height: 1.55rem; font-size: 0.5rem; }
.gordo-ticket__key.is-selected { border-color: rgba(185, 28, 28, 0.56); background: linear-gradient(135deg, rgba(185, 28, 28, 0.98), rgba(251, 191, 36, 0.84)); color: white; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12), 0 0 0 3px rgba(185, 28, 28, 0.18); }
.primitiva-ticket__reintegro.is-selected { border-color: rgba(16, 185, 129, 0.5); background: linear-gradient(135deg, rgba(16, 185, 129, 0.98), rgba(167, 243, 208, 0.82)); color: #052e1b; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.16), 0 0 0 3px rgba(16, 185, 129, 0.22), 0 8px 14px rgba(16, 185, 129, 0.22); transform: scale(1.04); }
.gordo-ticket__line-nav, .primitiva-ticket__line-nav { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; margin-top: 10px; margin-bottom: 10px; }
.gordo-ticket__line-nav-btn, .primitiva-ticket__line-nav-btn { min-height: 28px; padding: 0 10px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.04); color: var(--text-1); font-size: 0.72rem; font-weight: 800; white-space: nowrap; }
.gordo-ticket__line-nav-label, .primitiva-ticket__line-nav-label { text-align: center; color: var(--text-0); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gordo-ticket__lines-list, .primitiva-ticket__lines-list { display: grid; gap: 8px; max-height: 22rem; overflow: auto; padding-right: 4px; }
.gordo-ticket__line, .primitiva-ticket__line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; padding: 8px 10px; border-radius: 16px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.06); }
.gordo-ticket__line.is-active { border-color: rgba(239, 68, 68, 0.35); box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.14) inset; }
.primitiva-ticket__line.is-active { background: rgba(34, 197, 94, 0.16); border-color: rgba(34, 197, 94, 0.34); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), 0 10px 22px rgba(34, 197, 94, 0.1); }
.gordo-ticket__line-index, .primitiva-ticket__line-index { color: var(--text-2); font-weight: 800; text-align: center; display: none; }
.gordo-ticket__line-chips, .primitiva-ticket__line-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.gordo-ticket__line-empty, .primitiva-ticket__line-empty { color: var(--text-2); font-size: 0.82rem; }
.gordo-ticket__chip, .primitiva-ticket__chip { min-height: 26px; padding: 0 9px; border-radius: 999px; display: inline-flex; align-items: center; font-size: 0.72rem; font-weight: 800; }
.gordo-ticket__chip--number { color: #fee2e2; background: rgba(239, 68, 68, 0.14); border: 1px solid rgba(239, 68, 68, 0.18); }
.gordo-ticket__chip--key { color: #fff7ed; background: rgba(245, 158, 11, 0.14); border: 1px solid rgba(245, 158, 11, 0.2); }
.primitiva-ticket__chip--number { color: white; background: linear-gradient(135deg, rgba(34, 197, 94, 0.96), rgba(16, 185, 129, 0.84)); }
.primitiva-ticket__chip--reintegro { color: #052e1b; background: linear-gradient(135deg, rgba(16, 185, 129, 0.98), rgba(167, 243, 208, 0.84)); }
.gordo-ticket__line-add, .gordo-ticket__add-line, .primitiva-ticket__line-add, .primitiva-ticket__add-line { width: auto; min-width: 30px; height: 30px; border-radius: 999px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.08); color: var(--text-0); font-weight: 900; padding: 0; }
.gordo-ticket__footer, .primitiva-ticket__footer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gordo-ticket__action, .primitiva-ticket__action { min-height: 46px; border-radius: 18px; padding: 0 14px; font-weight: 900; }
.gordo-ticket__action--ghost, .primitiva-ticket__action--ghost { color: var(--text-1); background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.08); }
.gordo-ticket__action--primary { color: white; background: linear-gradient(135deg, rgba(239, 68, 68, 0.98), rgba(248, 113, 113, 0.86)); border: 1px solid rgba(255, 255, 255, 0.06); box-shadow: 0 18px 32px rgba(239, 68, 68, 0.24); }
.primitiva-ticket__action--primary { color: white; background: linear-gradient(135deg, rgba(34, 197, 94, 0.98), rgba(110, 231, 183, 0.92)); box-shadow: 0 16px 28px rgba(34, 197, 94, 0.26); }

.ticket-card__lines-list--matches, .ticket-card__lines-list--summary { display: grid; gap: 0.5rem; min-height: 0; overflow: auto; padding-right: 0.25rem; }
.ticket-card__lines-list--matches { max-height: min(34rem, calc(100dvh - 24rem)); }
.ticket-card__lines-list--summary { max-height: min(28rem, calc(100dvh - 26rem)); }
.ticket-card__lines-list--matches::-webkit-scrollbar, .ticket-card__lines-list--summary::-webkit-scrollbar { width: 8px; }
.ticket-card__lines-list--matches::-webkit-scrollbar-thumb, .ticket-card__lines-list--summary::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, 0.22); border-radius: 999px; }
.ticket-card__summary-compact { display: grid; gap: 0.25rem; margin-bottom: 0.65rem; padding: 0.55rem 0.7rem; border-radius: 0.85rem; background: rgba(255, 255, 255, 0.78); border: 1px solid var(--line); }
.ticket-card__summary-line { font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; font-size: 0.9rem; line-height: 1.2; letter-spacing: 0.08em; color: var(--text-1); text-align: right; overflow-wrap: anywhere; }
.ticket-card__summary-line--combination { font-weight: 800; color: var(--text-0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ticket-card__summary-line--pleno { font-weight: 700; color: var(--brand-primary); }
.ticket-card__summary-compact--single { gap: 0.25rem; padding: 0.5rem 0.65rem; }
.ticket-card__summary-meta, .ticket-card__summary-note { font-size: 0.74rem; line-height: 1.25; color: var(--text-2); }
.ticket-card__summary-meta { display: flex; justify-content: flex-end; gap: 0.35rem; flex-wrap: wrap; font-weight: 700; white-space: nowrap; }
.ticket-card__summary-note { margin-top: 0.35rem; padding: 0.55rem 0.7rem; border-radius: 0.75rem; background: rgba(var(--brand-primary-rgb), 0.05); border: 1px solid rgba(var(--brand-primary-rgb), 0.08); }
.ticket-card__column-toolbar { display: grid; gap: 0.6rem; margin-bottom: 0.75rem; }
.ticket-card__column-selector, .ticket-card__column-actions { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ticket-card__column-btn, .ticket-card__column-action { min-height: 2rem; padding: 0 0.7rem; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--text-1); font-weight: 800; font-size: 0.75rem; }
.ticket-card__column-btn.is-active, .ticket-card__column-action.is-active, .ticket-card__column-action--primary { background: rgba(var(--brand-primary-rgb), 0.08); color: var(--brand-primary); border-color: rgba(var(--brand-primary-rgb), 0.18); }
.ticket-card__column-action--primary { color: #fff; background: linear-gradient(135deg, var(--brand-primary), #6f77f7); border-color: transparent; }
.ticket-card__active-column-info { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-bottom: 0.65rem; font-size: 0.75rem; color: var(--text-1); }
.ticket-card__summary-compact--multi { gap: 0.4rem; }
.ticket-card__summary-column { display: grid; gap: 0.15rem; padding: 0.45rem 0.6rem; border-radius: 0.75rem; background: rgba(255, 255, 255, 0.72); border: 1px solid var(--line); }
.ticket-card__summary-column.is-active { border-color: rgba(var(--brand-primary-rgb), 0.18); box-shadow: 0 0 0 1px rgba(var(--brand-primary-rgb), 0.08) inset; }

.ticket-card--quinigol { --brand-primary: #0ea5e9; --brand-primary-rgb: 14, 165, 233; }
.ticket-card--quinigol .ticket-card__body { align-items: stretch; }
.ticket-card--quinigol .ticket-card__panel { min-width: 0; }
.ticket-card--quinigol .ticket-card__lines-list--matches { max-height: min(34rem, calc(100dvh - 25rem)); }
.quinigol-match-row { gap: 0.8rem; }
.quinigol-goal-selector { display: grid; gap: 0.45rem; }
.quinigol-goal-row { display: flex; align-items: center; gap: 0.45rem; }
.quinigol-goal-label { min-width: 3.8rem; font-size: 0.72rem; font-weight: 700; color: var(--text-2); }
.quinigol-goal-grid { grid-template-columns: repeat(4, 1.7rem); justify-content: start; }
@media (max-width: 992px) { .ticket-card--quinigol .ticket-card__body { display: grid; } .ticket-card--quinigol .ticket-card__panel { width: 100%; } }
@media (max-width: 768px) { .ticket-card--quinigol .ticket-card__lines-list--matches { max-height: none; } .quinigol-goal-row { flex-direction: column; align-items: flex-start; } .quinigol-goal-label { min-width: 0; } .quinigol-goal-grid { grid-template-columns: repeat(4, minmax(1.45rem, 1fr)); width: 100%; } }

.chat-ticket-selector { min-width: 0; width: 100%; max-width: 100%; box-sizing: border-box; --chat-ticket-game-color: var(--brand-primary, #1f6feb); --chat-ticket-game-color-rgb: var(--brand-primary-rgb, 31, 111, 235); }
.chat-ticket-selector__card { display: grid; gap: 0.9rem; width: 100%; box-sizing: border-box; padding: 1rem; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 16%, transparent); border-radius: 1.15rem; background: radial-gradient(circle at top left, color-mix(in srgb, var(--chat-ticket-game-color) 10%, transparent), transparent 28%), linear-gradient(180deg, color-mix(in srgb, var(--chat-ticket-game-color) 4%, #ffffff 96%), #ffffff 100%); box-shadow: 0 18px 36px rgba(var(--chat-ticket-game-color-rgb), 0.08); overflow: hidden; }
.chat-ticket-selector__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.chat-ticket-selector__header-copy { display: grid; gap: 0.15rem; min-width: 0; }
.chat-ticket-selector__eyebrow, .chat-ticket-selector__summary-label { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: color-mix(in srgb, var(--chat-ticket-game-color) 78%, #334155 22%); }
.chat-ticket-selector__title-row { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; min-width: 0; }
.chat-ticket-selector__title { font-size: 1rem; font-weight: 800; letter-spacing: -0.02em; color: #0f172a; }
.chat-ticket-selector__header-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.4rem; }
.chat-ticket-selector__chip { display: inline-flex; align-items: center; min-height: 2rem; padding: 0 0.7rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 16%, transparent); background: color-mix(in srgb, var(--chat-ticket-game-color) 7%, #ffffff 93%); color: #0f172a; font-size: 0.76rem; font-weight: 800; white-space: nowrap; }
.chat-ticket-selector__chip.is-pending { border-color: color-mix(in srgb, var(--brand-accent, #f59e0b) 25%, transparent); background: color-mix(in srgb, var(--brand-accent, #f59e0b) 14%, #ffffff 86%); }
.chat-ticket-selector__chip.is-complete { border-color: color-mix(in srgb, var(--brand-secondary, #22c55e) 22%, transparent); background: color-mix(in srgb, var(--brand-secondary, #22c55e) 14%, #ffffff 86%); }
.chat-ticket-selector__body { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(15rem, 0.85fr); gap: 0.85rem; align-items: start; }
.chat-ticket-selector__panel { min-width: 0; box-sizing: border-box; padding: 0.85rem; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 12%, transparent); border-radius: 1rem; background: color-mix(in srgb, var(--chat-ticket-game-color) 3%, #ffffff 97%); }
.chat-ticket-selector__panel--summary { display: grid; gap: 0.75rem; background: color-mix(in srgb, var(--chat-ticket-game-color) 4%, #ffffff 96%); }
.chat-ticket-selector__bet-tabs { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.85rem; }
.chat-ticket-selector__bet-tab { border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 14%, #d1d5db); border-radius: 999px; background: #fff; padding: 0.34rem 0.7rem; font-size: 0.76rem; font-weight: 800; white-space: nowrap; color: #334155; }
.chat-ticket-selector__bet-tab.is-active { border-color: color-mix(in srgb, var(--chat-ticket-game-color) 28%, transparent); background: color-mix(in srgb, var(--chat-ticket-game-color) 9%, #ffffff 91%); color: #0f172a; box-shadow: 0 10px 18px rgba(var(--chat-ticket-game-color-rgb), 0.08); }
.chat-ticket-selector__group-head { display: flex; justify-content: space-between; align-items: center; gap: 0.6rem; margin-bottom: 0.4rem; font-size: 0.8rem; font-weight: 700; color: #0f172a; }
.chat-ticket-selector__group-head--secondary { margin-top: 0.8rem; }
.chat-ticket-selector__grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0.35rem; }
.chat-ticket-selector__grid--secondary { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.chat-ticket-selector__ball { width: 100%; aspect-ratio: 1; min-height: 2rem; padding: 0; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 12%, #cbd5e1); background: #fff; color: #0f172a; font-size: 0.78rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; line-height: 1; box-shadow: 0 6px 14px rgba(var(--chat-ticket-game-color-rgb), 0.05); }
.chat-ticket-selector__ball--secondary { border-color: color-mix(in srgb, var(--chat-ticket-game-color) 28%, #d1d5db); }
.chat-ticket-selector__ball.is-selected { border-color: var(--chat-ticket-game-color); background: var(--chat-ticket-game-color); color: #ffffff; box-shadow: 0 0 0 4px color-mix(in srgb, var(--chat-ticket-game-color) 16%, transparent), 0 14px 24px rgba(var(--chat-ticket-game-color-rgb), 0.12); }
.chat-ticket-selector__status { margin-top: 0.85rem; padding-top: 0.75rem; border-top: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 10%, transparent); font-size: 0.82rem; line-height: 1.45; color: #334155; }
.chat-ticket-selector__summary-stack { display: grid; gap: 0.65rem; }
.chat-ticket-selector__summary-card, .chat-ticket-selector__summary-note { border-radius: 0.95rem; padding: 0.8rem 0.85rem; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 10%, transparent); background: #ffffff; }
.chat-ticket-selector__summary-card { display: grid; gap: 0.15rem; }
.chat-ticket-selector__summary-card strong { color: #0f172a; font-size: 0.98rem; font-weight: 800; }
.chat-ticket-selector__summary-card--state { background: color-mix(in srgb, var(--chat-ticket-game-color) 5%, #ffffff 95%); }
.chat-ticket-selector__summary-note { margin: 0; font-size: 0.84rem; line-height: 1.45; color: #334155; background: color-mix(in srgb, var(--brand-accent, #f59e0b) 10%, #ffffff 90%); white-space: pre-line; }
.chat-ticket-selector__footer { display: grid; gap: 0.6rem; }
.chat-ticket-selector__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.chat-ticket-selector__btn { min-height: 2.35rem; padding: 0.45rem 0.9rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 14%, #d1d5db); background: #ffffff; color: #0f172a; font-size: 0.8rem; font-weight: 800; }
.chat-ticket-selector__btn--ghost { background: color-mix(in srgb, var(--chat-ticket-game-color) 4%, #ffffff 96%); }
.chat-ticket-selector__btn--primary { border-color: var(--chat-ticket-game-color); color: #ffffff; background: var(--chat-ticket-game-color); box-shadow: 0 12px 22px rgba(var(--chat-ticket-game-color-rgb), 0.16); }
.chat-ticket-selector__btn:disabled { opacity: 0.6; cursor: not-allowed; box-shadow: none; }
@media (max-width: 667.98px) { .chat-ticket-selector__card { padding: 0.85rem; border-radius: 1rem; } .chat-ticket-selector__header-meta { width: 100%; justify-content: flex-start; } .chat-ticket-selector__body { grid-template-columns: 1fr; } .chat-ticket-selector__panel { padding: 0.75rem; } .chat-ticket-selector__bet-tabs { width: 100%; } .chat-ticket-selector__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } .chat-ticket-selector__grid--secondary { grid-template-columns: repeat(5, minmax(0, 1fr)); } .chat-ticket-selector__actions { gap: 0.45rem; } .chat-ticket-selector__btn { flex: 1 1 100%; } }

.chat-multi-ticket-selector { margin-top: 0.75rem; display: grid; gap: 0.75rem; min-width: 0; width: 100%; max-width: 100%; box-sizing: border-box; --chat-ticket-game-color: var(--brand-primary, #1f6feb); --chat-ticket-game-color-rgb: var(--brand-primary-rgb, 31, 111, 235); }
.chat-multi-ticket-selector__card { display: grid; gap: 0.9rem; width: 100%; box-sizing: border-box; padding: 1rem; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 16%, transparent); border-radius: 1.15rem; background: radial-gradient(circle at top left, color-mix(in srgb, var(--chat-ticket-game-color) 10%, transparent), transparent 28%), linear-gradient(180deg, color-mix(in srgb, var(--chat-ticket-game-color) 4%, #ffffff 96%), #ffffff 100%); box-shadow: 0 18px 36px rgba(var(--chat-ticket-game-color-rgb), 0.08); overflow: hidden; }
.chat-multi-ticket-selector__summary { display: grid; gap: 0.5rem; }
.chat-multi-ticket-selector__item { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 18%, #d5d8df); border-radius: 0.9rem; background: #fff; padding: 0.72rem 0.8rem; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name status" "meta status"; gap: 0.15rem 0.5rem; text-align: left; box-shadow: 0 8px 18px rgba(var(--chat-ticket-game-color-rgb), 0.04); }
.chat-multi-ticket-selector__item.is-active { border-color: color-mix(in srgb, var(--chat-ticket-game-color) 34%, transparent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--chat-ticket-game-color) 16%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--chat-ticket-game-color) 4%, #ffffff 96%), #ffffff 100%); }
.chat-multi-ticket-selector__item-name { grid-area: name; font-weight: 700; color: #0f172a; }
.chat-multi-ticket-selector__item-meta { grid-area: meta; font-size: 0.86rem; color: #64748b; }
.chat-multi-ticket-selector__item-status { grid-area: status; align-self: center; justify-self: end; font-size: 0.78rem; border-radius: 999px; padding: 0.12rem 0.5rem; border: 1px solid transparent; }
.chat-multi-ticket-selector__item-status.is-pending { color: color-mix(in srgb, var(--brand-accent, #f59e0b) 84%, #7c2d12 16%); background: color-mix(in srgb, var(--brand-accent, #f59e0b) 14%, #ffffff 86%); border-color: color-mix(in srgb, var(--brand-accent, #f59e0b) 28%, transparent); }
.chat-multi-ticket-selector__item-status.is-complete { color: color-mix(in srgb, var(--brand-secondary, #22c55e) 82%, #14532d 18%); background: color-mix(in srgb, var(--brand-secondary, #22c55e) 14%, #ffffff 86%); border-color: color-mix(in srgb, var(--brand-secondary, #22c55e) 26%, transparent); }
.chat-multi-ticket-selector__active { min-width: 0; }
.chat-multi-ticket-selector__footer { display: grid; gap: 0.6rem; }
.chat-multi-ticket-selector__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.chat-multi-ticket-selector__feedback { font-size: 0.84rem; line-height: 1.45; color: #334155; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 10%, transparent); border-radius: 0.9rem; padding: 0.65rem 0.75rem; background: color-mix(in srgb, var(--brand-accent, #f59e0b) 10%, #ffffff 90%); white-space: pre-line; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__header) { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__header-copy) { min-width: 0; display: grid; gap: 0.15rem; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__eyebrow, .chat-ticket-selector__summary-label) { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: color-mix(in srgb, var(--chat-ticket-game-color) 78%, #334155 22%); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__title-row) { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; min-width: 0; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__title) { font-size: 1rem; font-weight: 800; letter-spacing: -0.02em; color: #0f172a; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__header-meta) { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.4rem; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__chip) { display: inline-flex; align-items: center; min-height: 2rem; padding: 0 0.7rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 16%, transparent); background: color-mix(in srgb, var(--chat-ticket-game-color) 7%, #ffffff 93%); color: #0f172a; font-size: 0.76rem; font-weight: 800; white-space: nowrap; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__chip.is-pending) { border-color: color-mix(in srgb, var(--brand-accent, #f59e0b) 25%, transparent); background: color-mix(in srgb, var(--brand-accent, #f59e0b) 14%, #ffffff 86%); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__chip.is-complete) { border-color: color-mix(in srgb, var(--brand-secondary, #22c55e) 22%, transparent); background: color-mix(in srgb, var(--brand-secondary, #22c55e) 14%, #ffffff 86%); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__panel) { min-width: 0; box-sizing: border-box; padding: 0.85rem; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 12%, transparent); border-radius: 1rem; background: color-mix(in srgb, var(--chat-ticket-game-color) 3%, #ffffff 97%); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__panel--summary) { display: grid; gap: 0.75rem; background: color-mix(in srgb, var(--chat-ticket-game-color) 4%, #ffffff 96%); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__bet-tabs) { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.85rem; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__bet-tab) { border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 14%, #d1d5db); border-radius: 999px; background: #fff; padding: 0.34rem 0.7rem; font-size: 0.76rem; font-weight: 800; white-space: nowrap; color: #334155; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__bet-tab.is-active) { border-color: color-mix(in srgb, var(--chat-ticket-game-color) 28%, transparent); background: color-mix(in srgb, var(--chat-ticket-game-color) 9%, #ffffff 91%); color: #0f172a; box-shadow: 0 10px 18px rgba(var(--chat-ticket-game-color-rgb), 0.08); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__group-head) { display: flex; justify-content: space-between; align-items: center; gap: 0.6rem; margin-bottom: 0.4rem; font-size: 0.8rem; font-weight: 700; color: #0f172a; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__group-head--secondary) { margin-top: 0.8rem; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__grid) { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0.35rem; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__grid--secondary) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__ball) { width: 100%; aspect-ratio: 1 / 1; min-height: 2rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 12%, #cbd5e1); background: #fff; color: #0f172a; font-size: 0.78rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; line-height: 1; box-shadow: 0 6px 14px rgba(var(--chat-ticket-game-color-rgb), 0.05); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__ball--secondary) { border-color: color-mix(in srgb, var(--chat-ticket-game-color) 28%, #d1d5db); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__ball.is-selected) { border-color: var(--chat-ticket-game-color); background: var(--chat-ticket-game-color); color: #ffffff; box-shadow: 0 0 0 4px color-mix(in srgb, var(--chat-ticket-game-color) 16%, transparent), 0 14px 24px rgba(var(--chat-ticket-game-color-rgb), 0.12); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__status) { margin-top: 0.85rem; padding-top: 0.75rem; border-top: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 10%, transparent); font-size: 0.82rem; line-height: 1.45; color: #334155; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__actions) { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__btn) { min-height: 2.35rem; padding: 0.45rem 0.9rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--chat-ticket-game-color) 14%, #d1d5db); background: #ffffff; color: #0f172a; font-size: 0.8rem; font-weight: 800; }
.chat-multi-ticket-selector :is(.chat-ticket-selector__btn--ghost) { background: color-mix(in srgb, var(--chat-ticket-game-color) 4%, #ffffff 96%); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__btn--primary) { border-color: var(--chat-ticket-game-color); color: #ffffff; background: var(--chat-ticket-game-color); box-shadow: 0 12px 22px rgba(var(--chat-ticket-game-color-rgb), 0.16); }
.chat-multi-ticket-selector :is(.chat-ticket-selector__btn:disabled) { opacity: 0.6; cursor: not-allowed; box-shadow: none; }
@media (min-width: 768px) { .chat-multi-ticket-selector__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 667.98px) { .chat-multi-ticket-selector__card { padding: 0.85rem; border-radius: 1rem; } .chat-multi-ticket-selector :is(.chat-ticket-selector__header-meta) { width: 100%; justify-content: flex-start; } .chat-multi-ticket-selector :is(.chat-ticket-selector__panel) { padding: 0.75rem; } .chat-multi-ticket-selector :is(.chat-ticket-selector__bet-tabs) { width: 100%; } .chat-multi-ticket-selector :is(.chat-ticket-selector__grid) { grid-template-columns: repeat(6, minmax(0, 1fr)); } .chat-multi-ticket-selector :is(.chat-ticket-selector__grid--secondary) { grid-template-columns: repeat(5, minmax(0, 1fr)); } .chat-multi-ticket-selector :is(.chat-ticket-selector__btn) { flex: 1 1 100%; } .chat-multi-ticket-selector :is(.chat-ticket-selector__ball) { min-height: 1.75rem; font-size: 0.74rem; } }
