:root {
    color-scheme: light;
    --bg: #f6f8fb;
    --panel: #ffffff;
    --text: #152033;
    --muted: #607089;
    --line: #d9e0ea;
    --brand: #166f7a;
    --brand-dark: #0f5962;
    --danger: #b42318;
    --success: #087443;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: var(--bg);
    color: var(--text);
}

a {
    color: var(--brand);
}

.site-header {
    background: var(--panel);
    border-bottom: 1px solid var(--line);
}

.nav {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1080px;
    padding: 16px 20px;
}

.brand {
    color: var(--text);
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
}

.site-logo {
    display: block;
    height: 42px;
    max-width: min(260px, 54vw);
    object-fit: contain;
    width: auto;
}

.nav-links {
    align-items: center;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.nav-links a,
.nav-menu-button {
    background: transparent;
    border-radius: 6px;
    color: var(--text);
    font-weight: 400;
    padding: 6px 8px;
    text-decoration: none;
}

.nav-links a:hover,
.nav-links a.active,
.nav-menu-button:hover,
.nav-menu-button.active {
    background: #e8eef5;
    color: var(--brand-dark);
}

.dropdown {
    position: relative;
}

.nav-menu-button {
    align-items: center;
    border: 0;
    display: inline-flex;
    gap: 4px;
}

.dropdown-menu {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(21, 32, 51, 0.12);
    display: none;
    min-width: 180px;
    padding: 10px 6px 6px;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 10;
}

.dropdown:hover .dropdown-menu,
.dropdown:focus-within .dropdown-menu {
    display: grid;
    gap: 2px;
}

.dropdown-menu a {
    display: block;
    padding: 9px 10px;
}

.container {
    margin: 0 auto;
    max-width: 1080px;
    padding: 32px 20px;
}

.auth-shell {
    margin: 48px auto;
    max-width: 440px;
}

.panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 24px;
}

.welcome-landing {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    min-height: calc(100vh - 150px);
    padding: 50px 0 32px;
    text-align: center;
}

.welcome-logo {
    display: block;
    height: auto;
    max-width: min(520px, 88vw);
    width: 100%;
}

.welcome-tagline {
    color: var(--text);
    font-size: clamp(28px, 5vw, 52px);
    font-weight: 700;
    line-height: 1.08;
    margin: 28px auto 0;
    max-width: 820px;
}

.welcome-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 28px;
}

.welcome-actions .button {
    min-width: 150px;
}

.grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.section-heading {
    align-items: baseline;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: 28px;
}

.project-directory {
    margin-top: 8px;
}

.project-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.project-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--text);
    display: grid;
    gap: 8px;
    min-height: 150px;
    padding: 18px;
    text-decoration: none;
}

.project-card:hover {
    border-color: var(--brand);
}

.project-card strong {
    font-size: 20px;
}

.project-status {
    background: #e6f4f1;
    border-radius: 999px;
    color: var(--brand-dark);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    justify-self: start;
    padding: 5px 8px;
}

.project-status.large {
    align-self: start;
    font-size: 14px;
}

.tool-header {
    align-items: start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 22px;
}

.dashboard-hero,
.gfj-hero {
    align-items: flex-start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 24px;
}

.dashboard-hero h1,
.gfj-hero h1 {
    margin: 0;
}

.gfj-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.gfj-notice {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
}

.gfj-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    margin-bottom: 20px;
}

.gfj-stat {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 8px;
    min-height: 96px;
    padding: 16px;
}

.gfj-stat span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.gfj-stat strong {
    color: var(--brand-dark);
    font-size: 34px;
    line-height: 1;
}

.gfj-board {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gfj-panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    min-width: 0;
    overflow: hidden;
}

.gfj-panel-wide {
    grid-column: 1 / -1;
}

.gfj-panel-head {
    align-items: center;
    border-bottom: 1px solid var(--line);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 16px 18px;
}

.gfj-panel-head h2 {
    font-size: 18px;
    margin: 0;
}

.gfj-panel-head span {
    color: var(--muted);
    font-size: 13px;
}

.table-scroll {
    overflow-x: auto;
}

.data-table {
    border-collapse: collapse;
    font-size: 14px;
    min-width: 520px;
    width: 100%;
}

.data-table th,
.data-table td {
    border-bottom: 1px solid var(--line);
    padding: 12px 14px;
    text-align: left;
    vertical-align: top;
}

.data-table th {
    background: #f0f4f8;
    color: #314159;
    font-size: 12px;
    text-transform: uppercase;
}

.data-table tr:last-child td {
    border-bottom: 0;
}

.empty-table {
    color: var(--muted);
    text-align: center;
}

.status-pill {
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 8px;
}

.status-pill.complete {
    background: #dcfae6;
    color: var(--success);
}

.status-pill.pending {
    background: #fff1d6;
    color: #92400e;
}

.eyebrow {
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.button,
button {
    background: var(--brand);
    border: 0;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 700;
    justify-content: center;
    padding: 10px 14px;
    text-decoration: none;
}

.button:hover,
button:hover {
    background: var(--brand-dark);
}

.button.secondary {
    background: #e8eef5;
    color: var(--text);
}

.button.danger,
button.danger {
    background: var(--danger);
}

label {
    display: block;
    font-weight: 700;
    margin: 14px 0 6px;
}

#createCurrency .currency-checkbox-field {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-start;
}

#createCurrency .currency-checkbox-field input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 0;
    width: auto;
}

.currency-balance-filter {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(130px, 1fr) minmax(180px, 1.5fr) minmax(190px, 1.25fr) 80px auto;
    margin-bottom: 18px;
}

.currency-balance-filter input,
.currency-balance-filter select {
    background: var(--panel-strong);
    border-color: var(--line);
    color: var(--text);
    height: 42px;
    margin: 0;
    min-width: 0;
}

.currency-balance-filter button {
    height: 42px;
    margin: 0;
    padding-inline: 18px;
    white-space: nowrap;
    width: auto;
}

.currency-row-actions {
    align-items: flex-start;
    display: flex;
    gap: 8px;
}

.currency-action-form {
    margin: 0;
}

.currency-action-button,
.currency-edit-details > summary.currency-action-button {
    align-items: center;
    background: var(--theme-accent);
    border: 1px solid var(--theme-accent);
    border-radius: 6px;
    color: var(--theme-accent-contrast);
    cursor: pointer;
    display: inline-flex;
    font-weight: 700;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    width: 78px;
}

.currency-action-button:hover,
.currency-edit-details > summary.currency-action-button:hover {
    background: var(--theme-accent-hover);
    border-color: var(--theme-accent-hover);
    color: var(--theme-accent-contrast);
}

.currency-edit-details > summary.currency-action-button::marker {
    content: "";
}

.currency-edit-details > form {
    display: grid;
    gap: 8px;
    margin-top: 8px;
    min-width: 280px;
}

@media (max-width: 760px) {
    .currency-balance-filter {
        grid-template-columns: 1fr 1fr;
    }

    .currency-balance-filter input[name="q"] {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .currency-balance-filter button {
        width: 100%;
    }
}

input,
select {
    border: 1px solid var(--line);
    border-radius: 6px;
    font: inherit;
    padding: 10px 12px;
    width: 100%;
}

.auth-shell form > p {
    margin: 22px 0 0;
}

.flash {
    border-radius: 6px;
    margin-bottom: 18px;
    padding: 12px 14px;
}

.flash.error {
    background: #fee4e2;
    color: var(--danger);
}

.entry-command-unavailable {
    color: var(--danger);
    font-weight: 700;
    margin: 8px 0 0;
}

.font-family-control select {
    font-size: 1rem;
}

.wordsnipe-preview-window {
    overflow: hidden;
}

.flash.success {
    background: #dcfae6;
    color: var(--success);
}

.muted {
    color: var(--muted);
}

.auth-link-row {
    margin: 16px 0 0;
    text-align: center;
}

.overlay-link {
    word-break: break-all;
}

@media (max-width: 640px) {
    .nav,
    .nav-links,
    .section-heading,
    .tool-header,
    .dashboard-hero,
    .gfj-hero,
    .gfj-notice {
        align-items: flex-start;
        flex-direction: column;
    }

    .gfj-board {
        grid-template-columns: 1fr;
    }

    .nav-links {
        gap: 6px;
    }

    .dropdown,
    .dropdown-menu {
        width: 100%;
    }

    .dropdown-menu {
        box-shadow: none;
        position: static;
    }
}


/* Dashboard source integration */
.gfj-dashboard-shell {
    background: #1f1f1f;
    border-radius: 8px;
    color: #ffffff;
    margin: -8px 0 32px;
    min-height: 70vh;
    padding: 28px 22px;
}

.gfj-source-topbar {
    align-items: flex-start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 28px;
}

.gfj-logo {
    display: block;
    height: auto;
    max-width: 125px;
    width: 100%;
}

.gfj-source-actions {
    align-items: stretch;
    display: flex;
    gap: 0;
    justify-content: flex-end;
}

.gfj-add-menu {
    position: relative;
}

.gfj-add-menu summary,
.gfj-refresh {
    background: #2b2b2b;
    border: 1px solid #444444;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-weight: 700;
    line-height: 1;
    padding: 14px 16px;
    text-decoration: none;
}

.gfj-add-menu summary {
    border-radius: 6px 0 0 6px;
    list-style: none;
}

.gfj-add-menu summary::-webkit-details-marker {
    display: none;
}

.gfj-add-menu summary::after {
    border-right: 0.2em solid currentColor;
    border-bottom: 0.2em solid currentColor;
    content: "";
    display: inline-block;
    height: 0.45em;
    margin-left: 0.55rem;
    transform: rotate(45deg) translateY(-0.1em);
    transition: transform 120ms ease;
    width: 0.45em;
}

.gfj-add-menu[open] summary::after {
    transform: rotate(-135deg) translateY(0.1em);
}

.gfj-refresh {
    border-left: 0;
    border-radius: 0 6px 6px 0;
}

.gfj-add-menu summary:hover,
.gfj-refresh:hover,
.gfj-add-menu[open] summary {
    background: #c1121f;
    border-color: #c1121f;
    color: #ffffff;
}

.gfj-add-menu-list {
    background: #2b2b2b;
    border: 1px solid #444444;
    border-radius: 6px;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .35);
    display: grid;
    min-width: 180px;
    padding: 6px;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 20;
}

.gfj-add-menu-list a {
    border-radius: 4px;
    color: #ffffff;
    padding: 9px 10px;
    text-decoration: none;
}

.gfj-add-menu-list a:hover {
    background: #c1121f;
}

.gfj-source-alert {
    background: color-mix(in srgb, #c1121f 18%, var(--panel));
    border: 1px solid #c1121f;
    border-left: 6px solid #ff3b30;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(193, 18, 31, 0.16);
    color: #ffffff;
    display: block;
    margin-bottom: 18px;
    padding: 14px 16px;
}

.gfj-source-alert strong {
    display: block;
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 4px;
}

.gfj-source-alert span {
    color: #f1f1f1;
    display: block;
    line-height: 1.45;
}

.gfj-source-alert a {
    color: #ffffff;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}


.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.gfj-dashboard-panel {
    background: #2b2b2b;
    border: 2px solid #c1121f;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(193, 18, 31, 0.35);
    margin-bottom: 22px;
    min-width: 0;
    padding: 20px;
}

.gfj-panel-header {
    align-items: center;
    border-bottom: 1px solid rgba(193, 18, 31, .7);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
}

.gfj-panel-header h2 {
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
}

.gfj-overview-filter select {
    min-width: 170px;
}

.gfj-overview-panel .gfj-source-stats,
.gfj-activity-panel .gfj-source-tabs {
    margin-bottom: 0;
}

.gfj-activity-panel .gfj-source-tab-content {
    margin-top: 25px;
}



.gfj-following-unfollower {
    color: var(--danger);
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    margin-left: 6px;
    vertical-align: -1px;
}

.gfj-panel-note {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    margin: -4px 0 10px;
}

.gfj-load-more-row {
    display: flex;
    justify-content: center;
    padding-top: 14px;
}

.gfj-load-more {
    color: #86efac;
    font-weight: 700;
    text-decoration: none;
}

.gfj-load-more:hover,
.gfj-load-more.is-loading {
    color: #dcfce7;
    text-decoration: underline;
}

.gfj-source-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 24px;
}

.gfj-source-stats div {
    background: #2b2b2b;
    border: 1px solid #444444;
    border-radius: 8px;
    display: grid;
    gap: 6px;
    min-height: 82px;
    padding: 14px;
}

.gfj-source-stats span {
    color: #dddddd;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.gfj-source-stats strong {
    color: #ffffff;
    font-size: 28px;
    line-height: 1;
}

.gfj-tab-radio {
    left: -9999px;
    position: absolute;
}

.gfj-source-tabs {
    border-bottom: 2px solid #c1121f;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 25px;
}

.gfj-tab-unread-badge {
    align-items: center;
    background: var(--success);
    border: 2px solid #111111;
    border-radius: 999px;
    color: #052e16;
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    height: 18px;
    justify-content: center;
    line-height: 1;
    min-width: 18px;
    padding: 0 4px;
    position: absolute;
    right: -6px;
    top: -7px;
    z-index: 1;
    flex: 0 0 auto;
}

.gfj-tab-unread-badge[hidden] {
    display: none;
}

.gfj-source-tabs label {
    align-items: center;
    background: #2b2b2b;
    border: 1px solid #444444;
    border-bottom: 0;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-weight: 700;
    gap: 6px;
    justify-content: center;
    margin: 0;
    padding: 12px 18px;
    position: relative;
}

#gfj-tab-events:checked ~ .gfj-source-tabs label[for="gfj-tab-events"],
#gfj-tab-reminders:checked ~ .gfj-source-tabs label[for="gfj-tab-reminders"],
#gfj-tab-followers:checked ~ .gfj-source-tabs label[for="gfj-tab-followers"],
#gfj-tab-donations:checked ~ .gfj-source-tabs label[for="gfj-tab-donations"],
#gfj-tab-subs:checked ~ .gfj-source-tabs label[for="gfj-tab-subs"],
#gfj-tab-raids:checked ~ .gfj-source-tabs label[for="gfj-tab-raids"],
#gfj-tab-giveaways:checked ~ .gfj-source-tabs label[for="gfj-tab-giveaways"],
#gfj-tab-prizes:checked ~ .gfj-source-tabs label[for="gfj-tab-prizes"] {
    background: #c1121f;
    border-color: #c1121f;
}

.gfj-tab-panel {
    display: none;
}

#gfj-tab-events:checked ~ .gfj-source-tab-content .gfj-events-panel,
#gfj-tab-reminders:checked ~ .gfj-source-tab-content .gfj-reminders-panel,
#gfj-tab-followers:checked ~ .gfj-source-tab-content .gfj-followers-panel,
#gfj-tab-donations:checked ~ .gfj-source-tab-content .gfj-donations-panel,
#gfj-tab-subs:checked ~ .gfj-source-tab-content .gfj-subs-panel,
#gfj-tab-raids:checked ~ .gfj-source-tab-content .gfj-raids-panel,
#gfj-tab-giveaways:checked ~ .gfj-source-tab-content .gfj-giveaways-panel,
#gfj-tab-prizes:checked ~ .gfj-source-tab-content .gfj-prizes-panel {
    display: block;
}

.gfj-source-grid {
    display: grid;
    gap: 20px;
}

.gfj-source-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gfj-source-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gfj-source-panel {
    background: #2b2b2b;
    border: 2px solid #c1121f;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(193, 18, 31, 0.35);
    min-height: 300px;
    min-width: 0;
    padding: 20px;
}

.gfj-source-panel h2 {
    border-bottom: 1px solid rgba(193, 18, 31, .7);
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 16px;
    padding-bottom: 12px;
    text-align: center;
    text-transform: uppercase;
}

.gfj-source-table {
    border-collapse: collapse;
    color: #dddddd;
    font-size: 14px;
    min-width: 460px;
    width: 100%;
}

.gfj-source-table th,
.gfj-source-table td {
    border-bottom: 1px solid #444444;
    padding: 10px 9px;
    text-align: left;
    vertical-align: top;
}

.gfj-source-table th {
    color: #ffffff;
    font-size: 12px;
    text-transform: uppercase;
}

.gfj-source-table .gfj-amount-cell {
    text-align: right;
}

.gfj-source-table tbody tr:nth-child(odd) {
    background: rgba(255, 255, 255, .025);
}

.gfj-source-table tbody tr:hover {
    background: rgba(193, 18, 31, .18);
}

.gfj-editable-row {
    cursor: pointer;
}

.gfj-editable-row:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: -2px;
}


.gfj-source-table tbody tr.gfj-recent-row,
.gfj-source-table tbody tr.gfj-recent-row:nth-child(odd) {
    background: rgba(34, 197, 94, .16);
}

.gfj-source-table tbody tr.gfj-recent-row td {
    color: #dcfce7;
}

.gfj-source-table tbody tr.gfj-recent-row:hover {
    background: rgba(34, 197, 94, .24);
}

.gfj-dashboard-shell .empty-table {
    color: #aaa;
    text-align: center;
}

@media (max-width: 900px) {
    .gfj-source-stats,
    .gfj-source-grid.two,
    .gfj-source-grid.three {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .gfj-dashboard-shell {
        margin-left: -8px;
        margin-right: -8px;
        padding: 20px 12px;
    }

    .gfj-source-topbar,
    .gfj-source-alert {
        flex-direction: column;
    }

    .gfj-source-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .gfj-source-tabs label {
        flex: 1 1 auto;
        text-align: center;
    }


    .gfj-panel-header {
        align-items: stretch;
        flex-direction: column;
    }

    .gfj-overview-filter select {
        width: 100%;
    }
}

/* Site theme system: Foolish Purple is the default Foolish.Tools theme. */
:root {
    color-scheme: dark;
    --bg: #15171b;
    --panel: #22262d;
    --panel-strong: #1b1f26;
    --text: #f7f8fb;
    --muted: #aeb7c5;
    --line: #39414d;
    --brand: #9b5cff;
    --brand-dark: #7c3aed;
    --danger: #ef4444;
    --success: #22c55e;
    --shadow-red: rgba(139, 76, 255, .28);
}

html[data-theme="dark"] {
    color-scheme: dark;
    --bg: #15171b;
    --panel: #22262d;
    --panel-strong: #1b1f26;
    --text: #f7f8fb;
    --muted: #aeb7c5;
    --line: #39414d;
    --brand: #9b5cff;
    --brand-dark: #7c3aed;
    --danger: #ef4444;
    --success: #22c55e;
    --shadow-red: rgba(0, 0, 0, .25);
}

html[data-theme="light"] {
    color-scheme: light;
    --bg: #f6f8fb;
    --panel: #ffffff;
    --panel-strong: #f0f4f8;
    --text: #152033;
    --muted: #607089;
    --line: #d9e0ea;
    --brand: #166f7a;
    --brand-dark: #0f5962;
    --danger: #b42318;
    --success: #087443;
    --shadow-red: rgba(21, 32, 51, .12);
}

/* Owner-only business overview */
.business-overview { display: grid; gap: 18px; margin: 0 auto; max-width: 1560px; }
.bo-header { align-items: end; display: flex; gap: 24px; justify-content: space-between; }
.bo-header h1 { font-size: clamp(1.9rem, 3vw, 2.75rem); margin: 2px 0 5px; }
.bo-header p,.bo-section-heading p { color: var(--muted); margin: 0; }
.bo-refresh-meta { align-items: flex-end; color: var(--muted); display: flex; flex-direction: column; font-size: .75rem; gap: 3px; text-align: right; }
.bo-refresh-meta strong { color: var(--text); }
.bo-refresh-meta .button { margin-top: 5px; }
.bo-range-form { align-items: end; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; display: flex; flex-wrap: wrap; gap: 9px; padding: 10px 12px; }
.bo-range-form label { color: var(--muted); display: grid; font-size: .7rem; gap: 3px; }
.bo-range-form select,.bo-range-form input[type="date"] { min-height: 36px; }
.bo-custom-dates { display: flex; gap: 8px; }.bo-custom-dates[hidden] { display: none; }
.bo-range-form .bo-compare { align-items: center; display: flex; flex-direction: row; font-size: .78rem; margin: 0 3px 8px; }
.bo-range-summary { color: var(--muted); font-size: .75rem; margin: 0 0 8px auto; }
.bo-inline-alert { background: color-mix(in srgb,var(--warning,#c77d00) 12%,var(--panel)); border: 1px solid color-mix(in srgb,var(--warning,#c77d00) 45%,var(--line)); border-radius: 6px; margin: -8px 0 0; padding: 7px 10px; }
.bo-attention { align-items: center; background: color-mix(in srgb,var(--warning,#c77d00) 7%,var(--panel)); border: 1px solid color-mix(in srgb,var(--warning,#c77d00) 45%,var(--line)); border-radius: 8px; display: grid; gap: 14px; grid-template-columns: minmax(170px,.45fr) minmax(0,1.55fr); padding: 13px 15px; }
.bo-attention h2,.bo-section-heading h2 { font-size: 1.15rem; margin: 1px 0 3px; }.bo-attention .eyebrow,.bo-section-heading .eyebrow { margin: 0; }
.bo-attention-items { display: flex; flex-wrap: wrap; gap: 7px; }.bo-attention-item { align-items: center; background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--warning,#c77d00); border-radius: 6px; display: flex; flex: 1 1 210px; gap: 9px; padding: 8px 10px; }.bo-attention-item.is-critical { border-left-color: var(--danger); }.bo-attention-item strong { font-size: 1.05rem; margin-left: auto; }.bo-attention-item a { font-size: .72rem; }
.bo-compact-ok { color: var(--success); font-size: .78rem; margin: -4px 0; }
.bo-section-heading { align-items: start; display: flex; gap: 16px; justify-content: space-between; margin: 0 0 12px; }.bo-section-heading > div { min-width: 0; }
.bo-kpi-grid { display: grid; gap: 9px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.bo-kpi { background: var(--panel); border: 1px solid var(--line); border-top: 2px solid var(--brand); border-radius: 8px; display: grid; gap: 3px; min-height: 105px; padding: 12px 13px; }.bo-kpi > span { color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }.bo-kpi abbr { border: 1px solid var(--line); border-radius: 50%; cursor: help; display: inline-grid; font-size: .6rem; height: 15px; place-items: center; text-decoration: none; width: 15px; }.bo-kpi strong { font-size: clamp(1.25rem,2vw,1.75rem); line-height: 1.1; }.bo-kpi small { color: var(--muted); font-size: .68rem; line-height: 1.35; }.bo-kpi.is-unavailable { border-top-color: var(--line); }.bo-kpi.is-unavailable strong { color: var(--muted); font-size: 1rem; }.bo-kpi small.is-positive { color: var(--success); }.bo-kpi small.is-negative { color: var(--danger); }
.bo-card { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; min-width: 0; padding: 15px; }.bo-two-column { align-items: start; display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.bo-total { color: var(--muted); flex: 0 0 auto; font-size: .65rem; text-align: right; text-transform: uppercase; }.bo-total span { color: var(--text); font-size: .95rem; text-transform: none; }
.bo-empty { color: var(--muted); margin: 12px 0; padding: 12px 0; }
.bo-chart-block + .bo-chart-block { border-top: 1px solid var(--line); margin-top: 17px; padding-top: 17px; }.bo-chart-legend { align-items: center; color: var(--muted); display: flex; flex-wrap: wrap; font-size: .7rem; gap: 12px; }.bo-chart-legend strong { color: var(--text); margin-right: auto; }.bo-chart-legend i { display: inline-block; height: 8px; margin-right: 4px; width: 8px; }.bo-chart-legend .support { background: var(--brand); }.bo-chart-legend .refund { background: var(--danger); }
.bo-column-chart { align-items: stretch; border-bottom: 1px solid var(--line); display: flex; gap: 3px; height: 210px; margin-top: 10px; overflow-x: auto; padding-top: 8px; }.bo-column { display: grid; flex: 1 0 28px; grid-template-rows: minmax(0,1fr) 27px; min-width: 28px; }.bo-column-bars { align-items: end; display: flex; gap: 2px; justify-content: center; }.bo-column-bars i { display: block; height: var(--bar); max-width: 15px; min-height: 1px; width: 42%; }.bo-column-bars .support { background: var(--brand); }.bo-column-bars .refund { background: var(--danger); opacity: .8; }.bo-column > span { color: var(--muted); font-size: .56rem; overflow: hidden; padding-top: 5px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }.bo-chart-totals { display: flex; flex-wrap: wrap; font-size: .7rem; gap: 14px; justify-content: flex-end; margin-top: 8px; }.bo-chart-totals span { color: var(--muted); }.bo-chart-totals strong { color: var(--text); margin-left: 4px; }
.bo-ranked-list { display: grid; gap: 8px; }.bo-ranked-list > div { align-items: center; display: grid; font-size: .75rem; gap: 8px; grid-template-columns: minmax(120px,1fr) minmax(90px,2fr) 34px; }.bo-ranked-list > div > div { background: var(--panel-strong); border-radius: 2px; height: 7px; overflow: hidden; }.bo-ranked-list i { background: var(--brand); display: block; height: 100%; width: var(--bar); }.bo-ranked-list strong { text-align: right; }
.bo-unavailable-grid { display: grid; gap: 6px; grid-template-columns: 1fr 1fr; margin-top: 14px; }.bo-unavailable-grid p { background: var(--panel-strong); border-radius: 6px; display: grid; font-size: .68rem; gap: 2px; margin: 0; padding: 8px; }.bo-unavailable-grid span { color: var(--muted); }
.bo-support-currency { border-bottom: 1px solid var(--line); margin-bottom: 12px; padding-bottom: 10px; }.bo-support-currency h3 { font-size: .75rem; margin: 0 0 7px; }.bo-support-currency dl { display: grid; gap: 6px; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; }.bo-support-currency dl div { background: var(--panel-strong); border-radius: 5px; padding: 7px; }.bo-support-currency dt { color: var(--muted); font-size: .58rem; text-transform: uppercase; }.bo-support-currency dd { font-size: .82rem; font-weight: 700; margin: 2px 0 0; }
.bo-table-wrap { overflow-x: auto; }.bo-table-wrap table { border-collapse: collapse; font-size: .72rem; min-width: 580px; width: 100%; }.bo-table-wrap caption { color: var(--text); font-size: .8rem; font-weight: 700; padding: 2px 0 7px; text-align: left; }.bo-table-wrap th,.bo-table-wrap td { border-bottom: 1px solid var(--line); padding: 7px 8px; text-align: left; }.bo-table-wrap th { color: var(--muted); font-size: .6rem; text-transform: uppercase; }
.bo-status,.bo-health { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 999px; display: inline-block; font-size: .6rem; padding: 3px 6px; white-space: nowrap; }.bo-status.is-paid,.bo-health.is-healthy { background: color-mix(in srgb,var(--success) 11%,var(--panel)); border-color: color-mix(in srgb,var(--success) 45%,var(--line)); color: var(--success); }.bo-status.is-pending,.bo-status.is-past_due,.bo-health.is-warning { background: color-mix(in srgb,var(--warning,#c77d00) 11%,var(--panel)); border-color: color-mix(in srgb,var(--warning,#c77d00) 45%,var(--line)); }.bo-health.is-critical { color: var(--danger); }
.bo-streamer { border-left: 3px solid var(--brand); }.bo-activity-kpis { display: grid; gap: 7px; grid-template-columns: repeat(6,minmax(0,1fr)); }.bo-activity-kpis > div { background: var(--panel-strong); border-radius: 6px; display: grid; gap: 2px; padding: 9px; }.bo-activity-kpis span { color: var(--muted); font-size: .61rem; }.bo-activity-kpis strong { font-size: 1.12rem; }
.bo-tabs { display: flex; gap: 4px; margin: 14px 0 8px; }.bo-tabs button { background: var(--panel-strong); border-color: var(--line); color: var(--text); font-size: .7rem; padding: 5px 9px; }.bo-tabs button.active { background: var(--brand); border-color: var(--brand); color: var(--on-brand,#fff); }.bo-timeline { align-items: stretch; border-bottom: 1px solid var(--line); display: flex; gap: 3px; height: 155px; overflow-x: auto; }.bo-timeline > div { display: grid; flex: 1 0 26px; grid-template-rows: minmax(0,1fr) 26px; min-width: 26px; }.bo-timeline i { align-self: end; background: var(--brand); display: block; height: var(--bar); margin: 0 auto; min-height: 1px; width: 65%; }.bo-timeline span { color: var(--muted); font-size: .53rem; overflow: hidden; padding-top: 4px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }.bo-donation-currencies { display: flex; flex-wrap: wrap; gap: 8px; }.bo-donation-currencies div { background: var(--panel-strong); border-radius: 6px; display: grid; min-width: 120px; padding: 9px; }.bo-donation-currencies span { color: var(--muted); font-size: .62rem; }
.bo-adoption-summary { display: grid; gap: 6px; grid-template-columns: 1fr 1fr; margin-bottom: 12px; }.bo-adoption-summary span { background: var(--panel-strong); border-radius: 5px; color: var(--muted); display: flex; font-size: .66rem; justify-content: space-between; padding: 7px; }.bo-adoption-summary strong { color: var(--text); }
.bo-method { color: var(--muted); font-size: .65rem; line-height: 1.4; margin: 10px 0 0; }.bo-risk-list { display: grid; gap: 5px; }.bo-risk-list > div { align-items: center; border-bottom: 1px solid var(--line); display: grid; font-size: .68rem; gap: 7px; grid-template-columns: minmax(130px,1fr) auto auto auto; padding: 7px 0; }.bo-risk-list > div > div { display: grid; }.bo-risk-list span,.bo-risk-list time { color: var(--muted); }
.bo-operation-list { display: grid; gap: 0; }.bo-operation-list > div { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 9px; grid-template-columns: 70px 180px minmax(0,1fr) auto; padding: 8px 0; }.bo-operation-list p { color: var(--muted); font-size: .7rem; margin: 0; }
@media (max-width: 1050px) { .bo-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.bo-activity-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }.bo-support-currency dl { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .bo-header { align-items: start; flex-direction: column; }.bo-refresh-meta { align-items: start; text-align: left; }.bo-range-summary { margin-left: 0; }.bo-attention,.bo-two-column { grid-template-columns: 1fr; }.bo-operation-list > div { align-items: start; grid-template-columns: 70px 1fr; }.bo-operation-list p { grid-column: 1/-1; }.bo-activity-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }.bo-column-chart { height: 180px; } }
@media (max-width: 480px) { .bo-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.bo-kpi { min-height: 112px; padding: 10px; }.bo-unavailable-grid,.bo-adoption-summary { grid-template-columns: 1fr; }.bo-risk-list > div { grid-template-columns: 1fr auto; }.bo-risk-list time { grid-column: 1; }.bo-custom-dates { width: 100%; }.bo-custom-dates label { flex: 1; } }

body {
    background: var(--bg);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
}

.app-shell {
    max-width: none;
    min-height: calc(100vh - 64px);
}

.site-header,
.app-navbar {
    background: var(--panel-strong);
    border-bottom: 1px solid var(--line);
}

.app-navbar .navbar-brand,
.app-navbar .nav-link,
.app-navbar .dropdown-toggle,
.nav-user {
    color: var(--text);
}

.app-navbar .navbar-brand {
    align-items: center;
    display: flex;
    font-weight: 800;
    min-height: 42px;
    padding-bottom: 4px;
    padding-top: 4px;
}

.app-navbar .nav-link {
    border-radius: 6px;
    padding: 8px 10px;
}

.app-navbar .nav-link:hover,
.app-navbar .nav-link.active,
.app-navbar .dropdown-toggle.show {
    background: var(--brand);
    color: #ffffff;
}

.nav-user {
    color: var(--muted);
    padding: 8px 10px;
}

.navbar-toggler {
    border-color: var(--line);
}

.navbar-toggler-icon {
    filter: invert(1);
}

.dropdown-menu {
    background: var(--panel);
    border-color: var(--line);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
}

.dropdown-item {
    color: var(--text);
}

.dropdown-item:hover,
.dropdown-item.active {
    background: var(--brand);
    color: #ffffff;
}

.dropdown-item:focus-visible {
    background: var(--brand);
    color: #ffffff;
    outline: 2px solid var(--text);
    outline-offset: -3px;
}

.tools-dropdown-menu .dropdown-header {
    background: var(--dashboard-card-header);
    box-shadow: inset 3px 0 0 var(--theme-accent);
    color: var(--dashboard-text, var(--text));
    padding: 9px 12px 9px 15px;
}

a {
    color: var(--brand);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--text);
}

.muted,
.text-muted {
    color: var(--muted) !important;
}

.panel,
.project-card,
.gfj-stat,
.gfj-panel,
.auth-shell {
    background: var(--panel);
    border-color: var(--line);
    color: var(--text);
}

.panel,
.project-card,
.gfj-panel {
    box-shadow: 0 0 15px var(--shadow-red);
}

.project-card {
    color: var(--text);
}

.project-card:hover {
    border-color: var(--brand);
}

.project-status,
.status-pill.pending {
    background: rgba(193, 18, 31, .16);
    color: #ffffff;
}

.status-pill.complete {
    background: rgba(34, 197, 94, .16);
    color: #86efac;
}

.button,
button,
.btn-primary {
    background: var(--brand);
    border-color: var(--brand);
    color: #ffffff;
}

.button:hover,
button:hover,
.btn-primary:hover {
    background: var(--brand-dark);
    border-color: var(--brand-dark);
    color: #ffffff;
}

.button.secondary,
.btn-secondary {
    background: var(--panel);
    border: 1px solid var(--line);
    color: var(--text);
}

.button.secondary:hover,
.btn-secondary:hover {
    background: var(--brand);
    border-color: var(--brand);
    color: #ffffff;
}

input,
select,
textarea,
.form-control,
.form-select {
    background-color: var(--panel-strong);
    border-color: var(--line);
    color: var(--text);
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
    background-color: var(--panel-strong);
    border-color: var(--brand);
    box-shadow: 0 0 0 .2rem rgba(193, 18, 31, .25);
    color: var(--text);
}

.form-control::placeholder {
    color: #888888;
}

.flash,
.alert {
    border-radius: 8px;
}

.dashboard-hero,
.tool-header {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 0 15px var(--shadow-red);
    padding: 20px;
}

.grid,
.project-grid {
    width: 100%;
}

.data-table th,
.data-table td {
    border-color: var(--line);
    color: var(--text);
}

.data-table th {
    background: var(--panel-strong);
    color: #ffffff;
}

.empty-table {
    color: var(--muted);
}

.gfj-dashboard-shell {
    border: 0;
    margin: -8px 0 32px;
    width: 100%;
}

.gfj-source-panel,
.gfj-dashboard-panel,
.gfj-source-stats div,
.gfj-source-alert,
.gfj-add-menu summary,
.gfj-refresh,
.gfj-add-menu-list {
    background: var(--panel);
}

.gfj-source-panel {
    border-color: var(--brand);
    box-shadow: 0 0 15px var(--shadow-red);
}

.gfj-source-tabs {
    border-bottom-color: var(--brand);
}

.gfj-source-tabs label,
.gfj-add-menu summary,
.gfj-refresh {
    border-color: var(--line);
}

.gfj-source-table th,
.gfj-source-table td,
.gfj-source-panel h2,
.gfj-panel-header {
    border-color: var(--line);
}

@media (min-width: 1200px) {
    .project-grid {
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    }

    .grid {
        grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    }
}

/* Redesigned dashboard themes */
html[data-theme="dark"] {
    color-scheme: dark;
    --bg: #1f1f1f;
    --panel: #2b2b2b;
    --panel-strong: #242424;
    --text: #ffffff;
    --muted: #d2d2d2;
    --line: #444444;
    --brand: #9b5cff;
    --brand-dark: #7c3aed;
    --danger: #ef4444;
    --success: #22c55e;
    --shadow-red: rgba(193, 18, 31, .35);
}

html[data-theme="light"] {
    color-scheme: light;
    --bg: #ffffff;
    --panel: #ffffff;
    --panel-strong: #f5f7fa;
    --text: #172033;
    --muted: #526070;
    --line: #cbd5e1;
    --brand: #b91c1c;
    --brand-dark: #991b1b;
    --danger: #b42318;
    --success: #087443;
    --shadow-red: rgba(15, 23, 42, .08);
}

.gfj-dashboard-shell {
    background: var(--bg);
    color: var(--text);
}

.gfj-source-panel,
.gfj-dashboard-panel,
.gfj-source-stats div,
.gfj-source-alert,
.gfj-add-menu summary,
.gfj-refresh,
.gfj-add-menu-list {
    background: var(--panel);
    color: var(--text);
}

.gfj-source-table,
.gfj-source-table th,
.gfj-source-panel h2,
.gfj-panel-header h2,
.gfj-source-stats strong,
.gfj-source-tabs label,
.gfj-add-menu-list a {
    color: var(--text);
}

.gfj-source-stats span,
.gfj-source-alert span,
.gfj-dashboard-shell .empty-table,
.gfj-source-table td {
    color: var(--muted);
}

.gfj-source-table tbody tr:nth-child(odd) {
    background: color-mix(in srgb, var(--panel-strong) 70%, transparent);
}

.gfj-source-table tbody tr:hover {
    background: color-mix(in srgb, var(--brand) 18%, transparent);
}

.gfj-source-tabs label,
.gfj-add-menu summary,
.gfj-refresh,
.gfj-add-menu-list,
.gfj-source-table th,
.gfj-source-table td,
.gfj-source-panel h2,
.gfj-panel-header {
    border-color: var(--line);
}

#gfj-tab-events:checked ~ .gfj-source-tabs label[for="gfj-tab-events"],
#gfj-tab-reminders:checked ~ .gfj-source-tabs label[for="gfj-tab-reminders"],
#gfj-tab-followers:checked ~ .gfj-source-tabs label[for="gfj-tab-followers"],
#gfj-tab-donations:checked ~ .gfj-source-tabs label[for="gfj-tab-donations"],
#gfj-tab-subs:checked ~ .gfj-source-tabs label[for="gfj-tab-subs"],
#gfj-tab-raids:checked ~ .gfj-source-tabs label[for="gfj-tab-raids"],
#gfj-tab-giveaways:checked ~ .gfj-source-tabs label[for="gfj-tab-giveaways"],
#gfj-tab-prizes:checked ~ .gfj-source-tabs label[for="gfj-tab-prizes"] {
    background: var(--brand);
    border-color: var(--brand);
    color: #ffffff;
}



.gfj-source-table tbody tr.gfj-recent-row,
.gfj-source-table tbody tr.gfj-recent-row:nth-child(odd) {
    background: color-mix(in srgb, var(--success) 18%, transparent);
}

.gfj-source-table tbody tr.gfj-recent-row td {
    color: #dcfce7 !important;
}

.gfj-source-table tbody tr.gfj-recent-row:hover {
    background: color-mix(in srgb, var(--success) 26%, transparent);
}

html[data-theme="light"] .navbar-toggler-icon {
    filter: none;
}

html[data-theme="light"] .data-table th,
html[data-theme="light"] .project-status,
html[data-theme="light"] .status-pill.pending {
    color: var(--text);
}

.settings-shell {
    display: grid;
    gap: 20px;
    margin: 0 auto;
    max-width: 1360px;
}

.settings-header {
    align-items: flex-start;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 0 15px var(--shadow-red);
    display: flex;
    justify-content: space-between;
    padding: 22px;
}

.settings-header h1 {
    margin: 0;
}

.settings-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.settings-panel h2 {
    margin-top: 0;
}

.settings-checkbox-form {
    display: grid;
    gap: 10px;
}

.settings-checkbox-row {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 10px;
    font-weight: 700;
}

.settings-checkbox-row input {
    accent-color: var(--brand);
    height: 18px;
    width: 18px;
}


.shoutout-webhook-details {
    background: color-mix(in srgb, var(--panel-strong) 88%, var(--line));
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: 14px;
    padding: 16px;
}

.shoutout-webhook-details[hidden] {
    display: none;
}

.shoutout-webhook-details > h4,
.shoutout-webhook-details p {
    margin: 0;
}

.shoutout-webhook-details .webhook-example-grid {
    grid-template-columns: 1fr;
}
.shoutout-settings-form label[for="shoutout-message-template"],
.shoutout-settings-form textarea[name="shoutout_message_template"] {
    width: 100%;
}

.shoutout-settings-form textarea[name="shoutout_message_template"] {
    box-sizing: border-box;
    display: block;
}

.connection-state {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 4px;
    margin-bottom: 16px;
    padding: 12px 14px;
}

.connection-state.valid {
    background: color-mix(in srgb, var(--success) 16%, transparent);
    border-color: color-mix(in srgb, var(--success) 55%, var(--line));
}

.connection-state.invalid {
    background: color-mix(in srgb, var(--danger) 16%, transparent);
    border-color: color-mix(in srgb, var(--danger) 55%, var(--line));
}

.theme-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-settings-shell {
    gap: 12px;
    max-width: 980px;
    padding-bottom: 24px;
    width: 100%;
}

.theme-settings-shell .settings-header {
    padding: 16px 18px;
}

.theme-settings-shell .settings-header p {
    margin-bottom: 0;
}

.theme-form {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.theme-option {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
    cursor: pointer;
    display: grid;
    gap: 9px;
    margin: 0;
    min-width: 0;
    padding: 12px;
    position: relative;
    transition: background-color .14s ease, border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}

.theme-option:hover {
    background: color-mix(in srgb, var(--brand) 4%, var(--panel));
    border-color: color-mix(in srgb, var(--brand) 45%, var(--line));
}

.theme-option.is-selected {
    background: color-mix(in srgb, var(--brand) 8%, var(--panel));
    border-color: var(--brand);
    box-shadow: 0 0 0 1px var(--brand), 0 8px 22px var(--shadow-red);
}

.theme-option:has(input:focus-visible) {
    outline: 3px solid color-mix(in srgb, var(--brand) 58%, transparent);
    outline-offset: 3px;
}

.theme-option input {
    height: 1px;
    left: 12px;
    opacity: 0;
    position: absolute;
    top: 12px;
    width: 1px;
}

.theme-option-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 26px;
    gap: 10px;
    min-width: 0;
}

.theme-selected-indicator {
    align-items: center;
    align-self: start;
    background: transparent;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: transparent;
    display: inline-flex;
    font-size: 13px;
    font-style: normal;
    font-weight: 900;
    height: 24px;
    justify-content: center;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease;
    width: 24px;
}

.theme-option.is-selected .theme-selected-indicator {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--theme-accent-contrast, #fff);
}

.theme-option-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.theme-option strong {
    font-size: .95rem;
    line-height: 1.25;
}

.theme-option em {
    color: var(--muted);
    font-size: .75rem;
    font-style: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-preview {
    border: 1px solid #444;
    border-radius: 7px;
    display: grid;
    gap: 9px;
    grid-template-rows: 13px 8px 24px;
    height: 96px;
    min-width: 0;
    overflow: hidden;
    padding: 11px;
}

.theme-preview span {
    border-radius: 4px;
    display: block;
}

.light-preview {
    background: #ffffff;
}

.light-preview span:first-child {
    background: #b91c1c;
}

.light-preview span:nth-child(2) {
    background: #172033;
    width: 64%;
}

.light-preview span:nth-child(3) {
    background: #b91c1c;
    width: 34%;
}

.dark-preview {
    background: #1f1f1f;
}

.dark-preview span:first-child {
    background: #c1121f;
}

.dark-preview span:nth-child(2) {
    background: #ffffff;
    width: 64%;
}

.dark-preview span:nth-child(3) {
    background: #c1121f;
    width: 34%;
}

.theme-save-feedback {
    background: color-mix(in srgb, var(--danger) 10%, var(--panel));
    border: 1px solid var(--danger);
    border-radius: 8px;
    color: var(--danger);
    margin: 0;
    padding: 9px 12px;
}

.theme-save-bar {
    gap: 16px;
    justify-content: space-between;
    margin: 2px 0 0;
}

.theme-save-state {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 700;
}

.theme-save-state.is-dirty {
    color: var(--warning, #f59e0b);
}

.theme-save-state.is-error {
    color: var(--danger);
}

.theme-save-state.is-success {
    color: var(--success);
}

.theme-form.is-saving {
    cursor: wait;
}

@media (max-width: 760px) {
    .theme-grid {
        grid-template-columns: 1fr;
    }

    .theme-settings-shell .settings-header {
        padding: 14px;
    }

    .theme-option em {
        white-space: normal;
    }

    .theme-save-bar {
        gap: 10px;
    }

    .theme-save-bar button {
        flex: 0 0 auto;
    }
}

/* First-party support tickets */
.support-ticket-page { color: var(--text); margin: 0 auto; max-width: 1500px; }
.support-ticket-page-header,.ticket-detail-header { align-items: center; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 14px; }
.support-ticket-page-header h1,.support-ticket-page-header p,.ticket-detail-header h1,.ticket-detail-header p { margin: 0; }
.support-ticket-page-header p,.ticket-detail-header p { color: var(--muted); }
.support-ticket-tabs { display: flex; gap: 5px; overflow-x: auto; padding-bottom: 7px; }
.support-ticket-tabs a { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 6px; color: var(--text); padding: 6px 9px; text-decoration: none; white-space: nowrap; }
.support-ticket-tabs a.active { background: var(--brand); border-color: var(--brand); color: var(--on-brand,#fff); }
.support-ticket-filters { align-items: end; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; padding: 9px; }
.support-ticket-filters input { min-width: 220px; }
.support-ticket-table-wrap { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; overflow-x: auto; }
.support-ticket-table { border-collapse: collapse; color: var(--text); min-width: 900px; width: 100%; }
.support-ticket-table th,.support-ticket-table td { border-bottom: 1px solid var(--line); padding: 8px 10px; text-align: left; }
.support-ticket-table th { background: var(--panel-strong); font-size: .72rem; text-transform: uppercase; }
.support-ticket-table td { font-size: .8rem; }
.support-ticket-table tr.is-unread { background: color-mix(in srgb,var(--brand) 9%,var(--panel)); font-weight: 600; }
.ticket-badge,.ticket-unread { border: 1px solid var(--line); border-radius: 999px; display: inline-block; font-size: .68rem; padding: 3px 7px; white-space: nowrap; }
.status-awaiting_support,.status-open,.ticket-unread { background: color-mix(in srgb,var(--warning) 13%,var(--panel)); border-color: color-mix(in srgb,var(--warning) 45%,var(--line)); }
.status-awaiting_user,.status-in_progress { background: color-mix(in srgb,var(--brand) 11%,var(--panel)); border-color: color-mix(in srgb,var(--brand) 42%,var(--line)); }
.status-resolved { background: color-mix(in srgb,var(--success) 12%,var(--panel)); border-color: color-mix(in srgb,var(--success) 42%,var(--line)); }
.status-closed,.status-spam,.status-duplicate { color: var(--muted); }
.priority-urgent,.priority-high { border-color: var(--danger); color: var(--danger); }
.ticket-summary-grid { display: grid; gap: 8px; grid-template-columns: repeat(6,minmax(110px,1fr)); margin-bottom: 12px; }
.ticket-summary-grid article { background: var(--panel); border: 1px solid color-mix(in srgb,var(--brand) 35%,var(--line)); border-radius: 7px; display: grid; gap: 2px; min-height: 65px; padding: 9px 11px; }
.ticket-summary-grid span { color: var(--muted); font-size: .7rem; text-transform: uppercase; }.ticket-summary-grid strong { font-size: 1.35rem; }
.ticket-detail { max-width: 1200px; }.ticket-detail-header { margin-top: 9px; }.ticket-detail-header h1 { font-size: clamp(1.45rem,2.5vw,2rem); }
.ticket-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }.ticket-meta div { background: var(--panel); border: 1px solid var(--line); border-radius: 6px; min-width: 170px; padding: 7px 9px; }.ticket-meta dt { color: var(--muted); font-size: .65rem; text-transform: uppercase; }.ticket-meta dd { margin: 1px 0 0; }
.ticket-thread { display: grid; gap: 10px; margin-bottom: 12px; }.ticket-message { background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--brand); border-radius: 8px; padding: 11px 13px; }.ticket-message.is-admin { margin-left: 5%; }.ticket-message.is-user { margin-right: 5%; }.ticket-message.is-internal { background: color-mix(in srgb,var(--warning) 8%,var(--panel)); border-left-color: var(--warning); }
.ticket-message header { align-items: center; display: flex; gap: 10px; justify-content: space-between; }.ticket-message time { color: var(--muted); font-size: .7rem; }.ticket-message p { line-height: 1.5; margin: 8px 0; white-space: normal; }
.ticket-attachment { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 5px; display: inline-block; padding: 5px 8px; }
.support-ticket-panel,.support-ticket-closed,.admin-ticket-sidebar { background: var(--panel); border: 1px solid color-mix(in srgb,var(--brand) 40%,var(--line)); border-radius: 8px; padding: 12px; }.support-ticket-panel h2 { font-size: 1rem; }.support-ticket-panel form,.admin-ticket-sidebar form { display: grid; gap: 9px; }.support-ticket-panel label,.admin-ticket-sidebar label,.support-ticket-modal-fields label { display: grid; font-size: .78rem; gap: 4px; }
.ticket-user-actions { display: flex; gap: 8px; margin-top: 8px; }.ticket-user-actions form { margin: 0; }
.support-ticket-modal-fields { display: grid; gap: 10px; }.support-ticket-modal-fields small { color: var(--muted); }.ticket-modal-grid { display: grid; gap: 9px; grid-template-columns: 1fr 1fr; }.ticket-image-preview { align-items: center; background: var(--panel-strong); border: 1px solid var(--line); border-radius: 6px; display: flex; gap: 8px; padding: 7px; }.ticket-image-preview img { height: 60px; object-fit: cover; width: 90px; }.ticket-image-preview span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }.ticket-context-notice { font-size: .72rem; margin: 0; }
.admin-ticket-layout { align-items: start; display: grid; gap: 14px; grid-template-columns: minmax(0,1fr) 330px; }.admin-ticket-sidebar { display: grid; gap: 12px; position: sticky; top: 80px; }.admin-ticket-context { display: grid; grid-template-columns: 110px minmax(0,1fr); margin: 0; }.admin-ticket-context dt,.admin-ticket-context dd { border-bottom: 1px solid var(--line); font-size: .72rem; margin: 0; overflow-wrap: anywhere; padding: 5px 0; }.admin-ticket-context dt { color: var(--muted); }
.admin-reply-tabs { display: flex; gap: 5px; margin-bottom: 8px; }.admin-reply-tabs button { background: var(--panel-strong); color: var(--text); }.admin-reply-tabs button.active { background: var(--brand); color: var(--on-brand,#fff); }.admin-attachment-row { align-items: center; display: flex; gap: 8px; }.admin-attachment-row form { margin: 0; }.admin-attachment-row button { padding: 3px 6px; }
.support-ticket-page :focus-visible,.support-ticket-modal-fields :focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
@media(max-width:1000px){.admin-ticket-layout{grid-template-columns:1fr}.admin-ticket-sidebar{position:static}.ticket-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.support-ticket-page-header,.ticket-detail-header{align-items:stretch;flex-direction:column}.support-ticket-page-header button{width:100%}.ticket-summary-grid{grid-template-columns:repeat(2,1fr)}.ticket-modal-grid{grid-template-columns:1fr}.support-ticket-filters>*{width:100%}.ticket-message.is-admin,.ticket-message.is-user{margin-left:0;margin-right:0}.ticket-meta{display:grid;grid-template-columns:1fr 1fr}.ticket-meta div{min-width:0}}

/* Final canonical theme pass: keep Dashboard and Tools on the same palette. */
:root,
html[data-theme="dark"] {
    color-scheme: dark;
    --bg: #1f1f1f;
    --panel: #2b2b2b;
    --panel-strong: #242424;
    --text: #ffffff;
    --muted: #d2d2d2;
    --line: #444444;
    --brand: #9b5cff;
    --brand-dark: #7c3aed;
    --danger: #ef4444;
    --success: #22c55e;
    --shadow-red: rgba(139, 76, 255, .28);
    --bs-primary: #9b5cff;
    --bs-primary-rgb: 155, 92, 255;
    --bs-body-bg: #1f1f1f;
    --bs-body-color: #ffffff;
    --bs-border-color: #444444;
    --bs-link-color: #bb8cff;
    --bs-link-hover-color: #d0b0ff;
}

html[data-theme="light"] {
    color-scheme: light;
    --bg: #ffffff;
    --panel: #ffffff;
    --panel-strong: #f5f7fa;
    --text: #172033;
    --muted: #526070;
    --line: #cbd5e1;
    --brand: #b91c1c;
    --brand-dark: #991b1b;
    --danger: #b42318;
    --success: #087443;
    --shadow-red: rgba(15, 23, 42, .08);
    --bs-primary: #b91c1c;
    --bs-primary-rgb: 185, 28, 28;
    --bs-body-bg: #ffffff;
    --bs-body-color: #172033;
    --bs-border-color: #cbd5e1;
    --bs-link-color: #b91c1c;
    --bs-link-hover-color: #991b1b;
}

html,
body,
.app-shell,
.gfj-dashboard-shell {
    background: var(--bg);
    color: var(--text);
}

.site-header,
.app-navbar,
.dropdown-menu,
.panel,
.auth-shell,
.project-card,
.tool-header,
.dashboard-hero,
.settings-header,
.theme-option,
.gfj-source-panel,
.gfj-dashboard-panel,
.gfj-source-stats div,
.gfj-source-alert,
.gfj-add-menu summary,
.gfj-refresh,
.gfj-add-menu-list,
input,
select,
textarea,
.form-control,
.form-select {
    background-color: var(--panel);
    border-color: var(--line);
    color: var(--text);
}

.site-header,
.app-navbar,
input,
select,
textarea,
.form-control,
.form-select {
    background-color: var(--panel-strong);
}

.app-navbar .navbar-brand,
.app-navbar .nav-link,
.app-navbar .dropdown-toggle,
.dropdown-item,
.project-card,
.gfj-source-table,
.gfj-source-table th,
.gfj-source-panel h2,
.gfj-panel-header h2,
.gfj-source-stats strong,
.gfj-source-tabs label,
.gfj-add-menu-list a,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--text);
}

.muted,
.text-muted,
.gfj-source-stats span,
.gfj-source-alert span,
.gfj-dashboard-shell .empty-table,
.gfj-source-table td,
.theme-option em {
    color: var(--muted) !important;
}

a,
.eyebrow {
    color: var(--brand);
}

.btn-primary,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:disabled,
.button,
button,
.gfj-add-menu summary:hover,
.gfj-add-menu[open] summary,
.gfj-refresh:hover,
.gfj-add-menu-list a:hover,
.app-navbar .nav-link:hover,
.app-navbar .nav-link.active,
.app-navbar .dropdown-toggle.show,
.dropdown-item:hover,
.dropdown-item.active,
#gfj-tab-events:checked ~ .gfj-source-tabs label[for="gfj-tab-events"],
#gfj-tab-reminders:checked ~ .gfj-source-tabs label[for="gfj-tab-reminders"],
#gfj-tab-followers:checked ~ .gfj-source-tabs label[for="gfj-tab-followers"],
#gfj-tab-donations:checked ~ .gfj-source-tabs label[for="gfj-tab-donations"],
#gfj-tab-subs:checked ~ .gfj-source-tabs label[for="gfj-tab-subs"],
#gfj-tab-raids:checked ~ .gfj-source-tabs label[for="gfj-tab-raids"],
#gfj-tab-giveaways:checked ~ .gfj-source-tabs label[for="gfj-tab-giveaways"],
#gfj-tab-prizes:checked ~ .gfj-source-tabs label[for="gfj-tab-prizes"] {
    background-color: var(--brand);
    border-color: var(--brand);
    color: var(--on-brand, #ffffff);
}

.btn-primary:hover,
.button:hover,
button:hover {
    background-color: var(--theme-accent-hover, var(--brand-dark));
    border-color: var(--theme-accent-hover, var(--brand-dark));
    color: var(--on-brand, #ffffff);
}

.button.secondary,
.btn-secondary {
    background-color: var(--panel);
    border-color: var(--line);
    color: var(--text);
}

.button.secondary:hover,
.btn-secondary:hover {
    background-color: var(--brand);
    border-color: var(--brand);
    color: var(--on-brand, #ffffff);
}

.gfj-source-panel,
.gfj-dashboard-panel,
.gfj-source-alert {
    border-color: var(--brand);
}

.gfj-source-tabs {
    border-bottom-color: var(--brand);
}

.gfj-source-table th,
.gfj-source-table td,
.gfj-source-panel h2,
.gfj-panel-header,
.gfj-source-tabs label,
.gfj-add-menu summary,
.gfj-refresh,
.gfj-add-menu-list {
    border-color: var(--line);
}

.gfj-source-table tbody tr:nth-child(odd) {
    background: color-mix(in srgb, var(--panel-strong) 72%, transparent);
}

.gfj-source-table tbody tr:hover {
    background: color-mix(in srgb, var(--brand) 18%, transparent);
}



.gfj-source-table tbody tr.gfj-recent-row,
.gfj-source-table tbody tr.gfj-recent-row:nth-child(odd) {
    background: color-mix(in srgb, var(--success) 18%, transparent);
}

.gfj-source-table tbody tr.gfj-recent-row td {
    color: #dcfce7 !important;
}

.gfj-source-table tbody tr.gfj-recent-row:hover {
    background: color-mix(in srgb, var(--success) 26%, transparent);
}

html[data-theme="light"] .navbar-toggler-icon {
    filter: none;
}

html[data-theme="dark"] .navbar-toggler-icon {
    filter: invert(1);
}

.btn-primary:active,
.btn-primary:focus-visible,
.btn-primary:first-child:active,
:not(.btn-check) + .btn-primary:active,
.btn-check:checked + .btn-primary {
    background-color: var(--brand);
    border-color: var(--brand);
    color: #ffffff;
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--brand) 25%, transparent);
}


.tool-header-with-actions {
    align-items: flex-start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.tool-header h1 {
    margin-bottom: 4px;
}

.tool-header-description {
    color: var(--muted);
    font-size: .85rem;
    line-height: 1.45;
    margin: 0;
    max-width: 780px;
}

.tool-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.tool-actions form {
    margin: 0;
}

.toggle-switch {
    align-items: center;
    background: #5b6472;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-weight: 800;
    height: 42px;
    justify-content: flex-start;
    min-width: 84px;
    padding: 4px;
    position: relative;
}

.toggle-switch::before {
    background: #ffffff;
    border-radius: 50%;
    content: "";
    height: 34px;
    width: 34px;
}

.toggle-switch span {
    flex: 1;
    font-size: 12px;
    line-height: 1;
    padding: 0 10px;
    text-align: center;
    text-transform: uppercase;
}

.toggle-switch.on {
    background: var(--success);
    flex-direction: row-reverse;
}

.toggle-switch:disabled {
    cursor: not-allowed;
    opacity: .62;
}

.tool-workspace-panel {
    margin-top: 20px;
}

.tool-general-controls {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 12px;
    margin-top: 18px;
    padding-top: 16px;
}

.tool-general-controls h3 {
    font-size: 16px;
    margin: 0;
}

.tool-general-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tool-general-actions form {
    margin: 0;
}


.twitch-reconnect-banner {
    align-items: center;
    background: #fff1d6;
    border: 1px solid #f2b84b;
    border-radius: 8px;
    color: #5c3800;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 14px 16px;
}

.twitch-reconnect-banner div {
    display: grid;
    gap: 4px;
}

.twitch-reconnect-banner strong {
    color: #3f2700;
}

.twitch-reconnect-banner span {
    color: #6f4c0a;
}

.tool-overlay-panel {
    margin-bottom: 20px;
}

.tool-overlay-panel-header {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 16px;
}

.tool-overlay-panel-header h2 {
    margin: 0;
}

.tool-overlay-title-block {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.tool-overlay-title-block p {
    margin: 0;
}

.tool-overlay-panel-header form {
    margin: 0;
}

.wheel-overlay-selector {
    align-items: flex-start;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin-bottom: 20px;
    padding: 16px;
}

.wheel-overlay-selector-main {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
}

.wheel-overlay-label {
    color: var(--muted);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.wheel-overlay-select-form {
    margin: 0;
}

.wheel-overlay-select-form select {
    font-size: 14px;
    min-width: min(320px, 100%);
}

.wheel-overlay-key {
    color: var(--muted);
    font-size: 13px;
}

.wheel-overlay-key code {
    color: var(--text);
}

.wheel-overlay-note,
.wheel-overlay-limit {
    color: var(--muted);
    margin: 0;
}

.wheel-overlay-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    grid-column: 2;
    grid-row: 1 / span 3;
    gap: 10px;
    justify-content: flex-end;
    justify-self: end;
}

.wheel-overlay-action-form {
    margin: 0;
}

.wheel-overlay-action-form button.danger,
.wheel-overlay-action-form .danger {
    background: var(--danger);
    border-color: var(--danger);
    color: #ffffff;
}

.wheel-overlay-action-form button:disabled {
    cursor: not-allowed;
    opacity: .62;
}

.channel-point-link-panel {
    margin-bottom: 20px;
}

.channel-point-link-form {
    margin: 0;
}

.channel-point-link-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, .8fr) auto;
}

.channel-point-enabled-field {
    align-items: center;
    align-self: end;
    display: flex;
    flex-direction: row;
    gap: 8px;
    min-height: 42px;
}

.channel-point-reward-list {
    display: grid;
    gap: 8px;
    margin: 12px 0 18px;
}

.channel-point-reward-row small {
    color: var(--muted-color, #9ca3af);
    display: block;
    margin-top: 2px;
}

.gfj-actions-cell {
    min-width: 78px;
    white-space: nowrap;
}

.gfj-redeem-status-select,
.gfj-giveaway-status-select {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 6px;
    color: var(--text);
    font: inherit;
    font-size: 13px;
    min-width: 108px;
    padding: 6px 8px;
}

.gfj-redeem-status-select:disabled,
.gfj-giveaway-status-select:disabled {
    cursor: wait;
    opacity: .7;
}

.channel-point-action-buttons {
    display: inline-flex;
    gap: 6px;
}

.channel-point-action-button {
    align-items: center;
    display: inline-flex;
    font-size: 13px;
    height: 34px;
    justify-content: center;
    line-height: 1.1;
    min-width: 34px;
    padding: 7px;
}

.channel-point-action-button svg {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 18px;
}

.channel-point-action-button svg path[d="M8 5v14l11-7z"] {
    fill: currentColor;
    stroke: none;
}

.channel-point-action-button:disabled {
    cursor: wait;
    opacity: .7;
}


.gfj-shoutout-button {
    align-items: center;
    display: inline-flex;
    font-size: 16px;
    height: 34px;
    justify-content: center;
    line-height: 1;
    min-width: 34px;
    padding: 7px;
}

.gfj-shoutout-button:hover,
.gfj-shoutout-button:focus-visible {
    transform: translateY(-1px);
}

.gfj-shoutout-button:disabled {
    cursor: wait;
    opacity: .7;
    transform: none;
}

.gfj-shoutout-feedback {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    bottom: 24px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .32);
    color: var(--text);
    font-weight: 700;
    max-width: min(420px, calc(100vw - 32px));
    padding: 12px 14px;
    position: fixed;
    right: 24px;
    z-index: 1100;
}

.gfj-shoutout-feedback[data-state="success"],
.settings-inline-status[data-state="success"] {
    border-color: color-mix(in srgb, var(--success) 60%, var(--line));
}

.gfj-shoutout-feedback[data-state="error"],
.settings-inline-status[data-state="error"] {
    border-color: color-mix(in srgb, var(--danger) 60%, var(--line));
}

.settings-inline-status {
    border: 1px solid var(--line);
    border-radius: 8px;
    margin: 0;
    padding: 10px 12px;
}

@media (max-width: 760px) {
    .channel-point-link-grid {
        grid-template-columns: 1fr;
    }

    .channel-point-enabled-field {
        align-self: start;
    }
}

@media (max-width: 760px) {
    .wheel-overlay-selector {
        grid-template-columns: 1fr;
    }

    .wheel-overlay-actions {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
        justify-self: stretch;
    }
}

.custom-bot-panel {
    margin: 0;
}

.custom-bot-panel > h2 {
    margin-top: 0;
}

.custom-bot-panel-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr);
}

.custom-bot-panel-form,
.custom-bot-panel-notes {
    min-width: 0;
}

.custom-bot-notes {
    background: color-mix(in srgb, var(--panel-strong) 82%, var(--brand));
    border: 1px solid color-mix(in srgb, var(--brand) 38%, var(--line));
    border-radius: 8px;
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 16px;
}

.custom-bot-notes h3,
.custom-bot-notes h4 {
    margin: 0;
}

.custom-bot-notes-spacer {
    height: 8px;
}

.custom-bot-notes p {
    color: color-mix(in srgb, var(--muted) 88%, var(--text));
    margin: 0;
}

.bot-setup-panel {
    margin-top: 20px;
}

.customize-unsaved-banner {
    background: color-mix(in srgb, #f59e0b 18%, var(--panel-strong));
    border: 1px solid color-mix(in srgb, #f59e0b 58%, var(--line));
    border-radius: 8px;
    color: var(--text);
    font-weight: 800;
    margin-bottom: 14px;
    padding: 12px 14px;
    width: 100%;
}

.customize-unsaved-banner[hidden] {
    display: none;
}

.bot-setup-layout {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
}

.bot-setup-instructions,
.bot-setup-examples {
    min-width: 0;
}

.bot-setup-instructions h3,
.bot-setup-examples h3 {
    margin-top: 0;
}

.bot-setup-instructions ol {
    display: grid;
    gap: 10px;
    margin: 0 0 14px 20px;
    padding: 0;
}

.bot-setup-examples {
    display: grid;
    gap: 12px;
}

.bot-setup-examples pre,
.bot-setup-inline-example {
    background: #101828;
    border-radius: 8px;
    color: #f8fafc;
    margin: 0 0 8px;
    overflow-x: auto;
    padding: 14px;
}

.bot-setup-examples code,
.bot-setup-inline-example code {
    color: inherit;
    font-size: 13px;
}

@media (max-width: 640px) {
    .twitch-reconnect-banner,
    .tool-overlay-panel-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .custom-bot-panel-grid,
    .bot-setup-layout {
        grid-template-columns: 1fr;
    }
}


.tool-setup-layout {
    align-items: start;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    margin-bottom: 24px;
}

.setup-step-list {
    display: grid;
    gap: 12px;
    position: sticky;
    top: 88px;
}

.setup-step-card {
    align-items: flex-start;
    background: color-mix(in srgb, var(--panel) 90%, #000000);
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--text);
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 112px;
    padding: 18px 20px;
    text-align: left;
    width: 100%;
}

.setup-step-card:hover,
.setup-step-card.active {
    background: color-mix(in srgb, var(--panel-strong) 82%, var(--brand));
    border-color: color-mix(in srgb, var(--brand) 62%, var(--line));
}

.setup-step-number,
.setup-step-title,
.setup-step-status {
    margin-left: 0;
}

.setup-step-number {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.setup-step-title {
    font-size: 17px;
    line-height: 1.25;
}

.setup-step-status {
    align-self: flex-start;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    padding: 5px 9px;
}

.setup-step-status.completed {
    background: color-mix(in srgb, #22c55e 16%, var(--panel));
    border-color: color-mix(in srgb, #22c55e 54%, var(--line));
    color: #86efac;
}

.setup-step-status.needs-setup {
    background: color-mix(in srgb, var(--brand) 18%, var(--panel));
    border-color: color-mix(in srgb, var(--brand) 58%, var(--line));
    color: #fecaca;
}

.setup-step-status.optional {
    background: color-mix(in srgb, #f59e0b 14%, var(--panel));
    border-color: color-mix(in srgb, #f59e0b 48%, var(--line));
    color: #fde68a;
}

.setup-step-content,
.setup-step-pane,
.setup-step-panel {
    min-width: 0;
}

.setup-step-pane[hidden] {
    display: none;
}

.setup-step-panel {
    margin-bottom: 0;
}

.setup-panel-heading {
    display: grid;
    gap: 6px;
    margin-bottom: 16px;
}

.setup-panel-heading.inline-heading {
    align-items: start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.setup-panel-heading h2,
.setup-panel-heading h3,
.setup-panel-heading p {
    margin: 0;
}

.setup-copy-grid {
    margin-bottom: 16px;
}

.setup-inline-form,
.setup-acknowledge-form {
    margin: 16px 0 0;
}

.overlay-created-layout {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
}

.overlay-created-primary {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.obs-url-panel,
.overlay-details-panel,
.overlay-token-panel,
.obs-instructions {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
}

.obs-url-panel {
    background: color-mix(in srgb, var(--brand) 9%, var(--panel-strong));
    border-color: color-mix(in srgb, var(--brand) 36%, var(--line));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
    display: grid;
    gap: 10px;
}

.obs-url-label,
.overlay-detail-list dt,
.handler-bot-message span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.obs-url-copy-row {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.obs-url-field {
    align-items: center;
    background: color-mix(in srgb, #000000 34%, var(--panel));
    border: 1px solid color-mix(in srgb, var(--brand) 28%, var(--line));
    border-radius: 8px;
    color: var(--text);
    display: flex;
    min-height: 42px;
    min-width: 0;
    overflow: hidden;
    padding: 10px 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.obs-url-copy-row .copy-button {
    min-width: 104px;
}

.overlay-details-panel,
.overlay-token-panel,
.obs-instructions {
    background: color-mix(in srgb, var(--panel) 88%, var(--panel-strong));
}

.overlay-details-panel h3,
.overlay-token-panel h3,
.obs-instructions h3 {
    font-size: 1rem;
    margin: 0 0 12px;
}

.overlay-detail-list {
    display: grid;
    gap: 8px 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.overlay-detail-list div {
    background: color-mix(in srgb, var(--panel-strong) 74%, transparent);
    border: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
    border-radius: 8px;
    min-width: 0;
    padding: 10px 12px;
}

.overlay-detail-list dt,
.overlay-detail-list dd {
    margin: 0;
}

.overlay-detail-list dd {
    color: var(--text);
    font-weight: 800;
    margin-top: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wheel-identity-form {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
}

.wheel-identity-form label {
    color: var(--muted);
    display: grid;
    font-size: 0.82rem;
    font-weight: 800;
    gap: 6px;
    margin: 0;
}

.wheel-identity-form input {
    color: var(--text);
    font-size: 0.95rem;
    font-weight: 700;
}

.wheel-identity-form button {
    white-space: nowrap;
}

.wheel-readonly-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
}

.overlay-token-panel {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.overlay-token-panel .muted {
    margin: 0;
}

.overlay-token-form {
    margin: 0;
}

.obs-instructions {
    margin-top: 0;
}

.obs-checklist {
    counter-reset: obs-step;
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.obs-checklist li {
    align-items: start;
    counter-increment: obs-step;
    display: grid;
    gap: 8px;
    grid-template-columns: 28px minmax(0, 1fr);
}

.obs-checklist li::before {
    align-items: center;
    background: color-mix(in srgb, var(--brand) 18%, var(--panel-strong));
    border: 1px solid color-mix(in srgb, var(--brand) 36%, var(--line));
    border-radius: 999px;
    color: var(--text);
    content: counter(obs-step);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.obs-checklist li > span,
.obs-size-pills {
    grid-column: 2;
}

.obs-size-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.obs-size-pills code {
    background: color-mix(in srgb, var(--brand) 16%, var(--panel-strong));
    border: 1px solid color-mix(in srgb, var(--brand) 34%, var(--line));
    border-radius: 999px;
    color: var(--text);
    font-size: 0.8rem;
    font-weight: 800;
    padding: 5px 9px;
}

.obs-instructions .muted {
    margin: 12px 0 0;
}

@media (max-width: 980px) {
    .overlay-created-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .obs-url-copy-row,
    .overlay-token-panel {
        grid-template-columns: 1fr;
    }

    .obs-url-copy-row .copy-button,
    .overlay-token-form,
    .overlay-token-form button {
        width: 100%;
    }

    .overlay-detail-list {
        grid-template-columns: 1fr;
    }

    .wheel-identity-form {
        grid-template-columns: 1fr;
    }

    .wheel-identity-form button {
        width: 100%;
    }
}

.obs-instructions h3 {
    font-size: 17px;
    margin: 0 0 12px;
}

.obs-instructions ol:not(.obs-checklist) {
    display: grid;
    gap: 8px;
    margin: 0 0 12px 20px;
    padding: 0;
}

.bot-choice-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bot-choice-card {
    background: color-mix(in srgb, var(--panel) 92%, var(--line));
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 18px;
}

.bot-choice-card.selected {
    border-color: color-mix(in srgb, var(--brand) 70%, var(--line));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand) 45%, transparent);
}

.bot-choice-card h3,
.bot-choice-card p {
    margin: 0;
}

.bot-choice-card p {
    color: var(--muted);
}

.channel-point-link-setup {
    display: grid;
    gap: 14px;
}

.simple-channel-point-form {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    max-width: 620px;
    padding: 16px;
}

.channel-point-link-copy {
    display: grid;
    gap: 5px;
    width: 100%;
}

.channel-point-link-copy h4 {
    color: var(--ft-accent, var(--theme-accent, var(--brand)));
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    margin: 0;
    text-transform: uppercase;
}

.channel-point-link-copy p {
    color: var(--ft-text-secondary, var(--muted));
    margin: 0;
    width: 100%;
}

.channel-point-refresh-link {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--ft-accent, var(--theme-accent, var(--brand))) !important;
    font-size: 0.8rem;
    justify-self: center;
    padding: 0;
    text-align: center;
    text-decoration: underline;
}

.channel-point-refresh-link:hover {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--ft-accent-hover, var(--theme-accent-hover, var(--brand-dark))) !important;
}

.chat-only-tool-layout {
    display: grid;
    gap: 18px;
}

.chat-only-tool-layout .simple-channel-point-form {
    max-width: none;
}

.chat-only-tool-layout .simple-channel-point-form input[type="text"] {
    box-sizing: border-box;
    width: 100%;
}

.chat-only-tabs {
    margin-top: 4px;
}

.quotes-permission-fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

.quotes-permission-fieldset legend {
    font-weight: 800;
    margin-bottom: 8px;
}

.quotes-permission-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.quotes-permission-options .checkbox-field {
    margin: 0;
}

.quotes-management-table {
    min-width: 860px;
}

.reminders-management-table {
    min-width: 720px;
    width: 100%;
}

.reminder-status-form {
    margin: 0;
}

.quote-row-actions {
    display: flex;
    gap: 8px;
}

.quote-row-actions form {
    margin: 0;
}

.quote-edit-form {
    display: grid;
    gap: 12px;
}

.quote-edit-form input,
.quote-edit-form textarea {
    box-sizing: border-box;
    width: 100%;
}

.quote-edit-form textarea {
    min-height: 100px;
    resize: vertical;
}

.empty-setup-state {
    align-items: center;
    border: 1px dashed color-mix(in srgb, var(--line) 78%, var(--muted));
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    padding: 16px;
}

.empty-setup-state p,
.empty-setup-state form {
    margin: 0;
}

.custom-bot-setup-details {
    margin-top: 18px;
}

.custom-bot-setup-details summary {
    background: color-mix(in srgb, var(--brand) 12%, var(--panel-strong));
    border-bottom: 1px solid transparent;
    color: var(--text);
}

.custom-bot-setup-details summary::-webkit-details-marker {
    display: none;
}

.custom-bot-setup-details summary::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
    height: 9px;
    margin-left: auto;
    transform: rotate(45deg);
    transition: transform .16s ease;
    width: 9px;
}

.custom-bot-setup-details summary:hover,
.custom-bot-setup-details[open] summary {
    background: color-mix(in srgb, var(--brand) 18%, var(--panel-strong));
    border-bottom-color: var(--line);
}

.custom-bot-setup-details[open] summary::after {
    transform: rotate(225deg);
}

.custom-bot-setup-details .bot-setup-panel {
    border: 0;
    margin-top: 14px;
    padding: 0;
}

.single-overlay-create {
    margin-bottom: 22px;
}

@media (min-width: 980px) {
    .setup-step-pane .wordsnipe-preview-column {
        position: sticky;
        top: 88px;
    }
}

@media (max-width: 900px) {
    .tool-setup-layout {
        grid-template-columns: 1fr;
    }

    .setup-step-list {
        grid-template-columns: repeat(5, minmax(180px, 1fr));
        overflow-x: auto;
        position: static;
        padding-bottom: 4px;
    }

    .setup-step-card {
        min-height: 104px;
    }

    .bot-choice-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .setup-panel-heading.inline-heading,
    .empty-setup-state {
        align-items: stretch;
        flex-direction: column;
    }

    .setup-step-list {
        grid-template-columns: 1fr;
        overflow-x: visible;
    }
}


.wordsnipe-tabs {
    display: grid;
    gap: 0;
    margin-bottom: 20px;
}

.wordsnipe-tab-list {
    align-items: flex-end;
    border-bottom: 1px solid var(--line);
    display: flex;
    gap: 6px;
}

.wordsnipe-tab-list button {
    background: transparent;
    border: 1px solid transparent;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    color: var(--muted);
    font-weight: 800;
    padding: 11px 16px;
}

.wordsnipe-tab-list button.active {
    background: var(--panel);
    border-color: var(--line);
    color: var(--text);
    margin-bottom: -1px;
}

.wordsnipe-tab-panel {
    padding-top: 20px;
}

.wordsnipe-tab-panel[hidden] {
    display: none;
}


.custom-bot-settings-form {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    margin-top: 16px;
    padding: 16px;
}

.custom-bot-settings-form input[disabled] {
    cursor: not-allowed;
    opacity: .65;
}

.custom-bot-webhook-grid {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.custom-bot-outgoing-column {
    display: grid;
    gap: 12px;
}

.custom-bot-save-actions {
    margin: 0;
}

@media (max-width: 760px) {
    .custom-bot-webhook-grid {
        grid-template-columns: 1fr;
    }
}

.webhook-url-field {
    display: grid;
    gap: 6px;
}

.webhook-url-field strong {
    font-weight: 800;
}

.webhook-url-field span {
    color: var(--muted);
    font-weight: 500;
}

.webhook-url-field input[readonly] {
    background: color-mix(in srgb, var(--panel-strong) 82%, var(--line));
    cursor: text;
}

.webhook-examples {
    border-top: 1px solid var(--line);
    margin-top: 20px;
    padding-top: 18px;
}

.webhook-examples h3 {
    font-size: 18px;
    margin: 0 0 12px;
}

.webhook-example-group-title {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    margin: 18px 0 10px;
    text-transform: uppercase;
}

.webhook-example-group-title:first-of-type {
    margin-top: 0;
}

.webhook-example-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.webhook-example-grid h4 {
    font-size: 14px;
    margin: 0 0 8px;
}

.webhook-example-grid pre {
    background: #101828;
    border-radius: 8px;
    color: #f8fafc;
    margin: 0;
    overflow-x: auto;
    padding: 14px;
}

.webhook-example-grid code {
    color: inherit;
    font-size: 13px;
}

.customize-wordsnipe-panel {
    margin-bottom: 20px;
}

.wordsnipe-customize-layout {
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(260px, 1fr) minmax(240px, .85fr) minmax(320px, .95fr);
}

.wordsnipe-behavior-layout,
.wordsnipe-visual-layout {
    align-items: start;
    display: grid;
    gap: 18px;
}

.wordsnipe-behavior-layout {
    grid-template-columns: minmax(280px, 1fr) minmax(240px, .75fr);
}

.wordsnipe-visual-layout {
    grid-template-columns: minmax(280px, .85fr) minmax(320px, 1fr);
}

.wordsnipe-settings-column {
    display: contents;
    min-width: 0;
}

.wordsnipe-settings-card {
    background: color-mix(in srgb, var(--panel) 92%, var(--line));
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 14px;
    padding: 16px;
}

.wordsnipe-settings-card h3 {
    font-size: 16px;
    margin: 0;
}

.wordsnipe-settings-card h4 {
    border-top: 1px solid var(--line);
    font-size: 14px;
    margin: 4px 0 0;
    padding-top: 12px;
}

.wordsnipe-settings-form textarea {
    min-height: 220px;
    resize: vertical;
    width: 100%;
}

.wheel-panel-color-picker-field input[type="color"] {
    height: 44px;
    padding: 4px;
}

.wordsnipe-field-label {
    display: block;
    font-weight: 700;
    margin: 0 0 8px;
}

.wordsnipe-word-list {
    width: 100%;
}

.wordsnipe-settings-grid,
.wordsnipe-style-grid {
    display: contents;
}

.wordsnipe-style-grid input[type="color"] {
    height: 44px;
    padding: 4px;
}

.checkbox-field {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: flex;
    gap: 10px;
    margin-top: 0;
    min-height: 44px;
    padding: 10px 12px;
}

.checkbox-field input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 0;
    width: auto;
}

.checkbox-field span {
    font-weight: 700;
}

.checkbox-field .checkbox-note {
    color: var(--muted);
    font-weight: 500;
}

.wheel-entry-method-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.wheel-entry-method-option {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    gap: 8px;
    margin: 0;
    padding: 9px 14px;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
    width: auto;
}

.wheel-entry-method-option:hover {
    border-color: var(--accent);
}

.wheel-entry-method-option:has(input:checked) {
    background: color-mix(in srgb, var(--accent) 14%, var(--panel));
    border-color: var(--accent);
    box-shadow: 0 0 0 1px var(--accent);
}

.wheel-entry-method-option:has(input:focus-visible) {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.wheel-entry-method-option input[type="radio"] {
    accent-color: var(--accent);
    margin: 0;
    width: auto;
}

.balloon-include-note {
    color: color-mix(in srgb, var(--muted) 82%, var(--text));
    font-weight: 500;
}

.memory-radio-group {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 12px;
}

.memory-radio-group legend {
    font-weight: 800;
    padding: 0 6px;
}
.memory-pairs-editor,.memory-pair-list{display:grid;gap:10px}.memory-pair-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;overflow:hidden}.memory-pair-card.is-disabled{opacity:.65}.memory-pair-summary{align-items:start;display:grid;gap:10px;grid-template-columns:20px minmax(0,1fr) auto;padding:10px}.memory-pair-handle{color:var(--muted);cursor:grab;line-height:1.4}.memory-pair-main{display:grid;gap:6px;min-width:0}.memory-pair-main>strong,.prize-wheel-item-main>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-row-metadata,.compact-row-badges,.compact-action-chips{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.compact-row-metadata{color:var(--muted);font-size:.75rem}.compact-row-metadata span{min-width:0;overflow:hidden;text-overflow:ellipsis}.compact-row-badge,.compact-action-chip{background:color-mix(in srgb,var(--brand) 12%,var(--panel));border:1px solid var(--line);border-radius:999px;font-size:.68rem;line-height:1.2;padding:3px 7px}.compact-row-badge.is-prize{background:color-mix(in srgb,#eab308 20%,var(--panel));border-color:color-mix(in srgb,#eab308 52%,var(--line))}.compact-row-badge.is-success{background:color-mix(in srgb,#22c55e 15%,var(--panel))}.compact-row-badge.is-muted{background:color-mix(in srgb,var(--muted) 15%,var(--panel))}.compact-row-badge.is-accent{background:color-mix(in srgb,var(--theme-accent) 18%,var(--panel))}.compact-action-chip{background:color-mix(in srgb,var(--theme-accent) 10%,var(--panel));font-weight:700}.compact-action-chip-more{background:transparent;color:var(--muted)}.memory-pair-summary-actions{align-items:center;display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.memory-pair-summary-actions form{align-items:center;display:flex;gap:5px}.memory-pair-editor{border-top:1px solid var(--line);padding:12px}.memory-pair-row{display:grid;gap:12px}.memory-pair-fields{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.memory-pair-fields label,.memory-pair-prize-fields label{display:grid;gap:4px}.memory-pair-fields .checkbox-field{align-items:center;align-self:end;display:flex;gap:10px}.memory-pair-fields .checkbox-field input[type="checkbox"]{flex:0 0 auto;margin:0}.memory-pair-prize-fields{background:var(--panel);border:1px solid var(--line);border-radius:7px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.memory-pair-prize-fields small{color:var(--muted);font-size:.75rem}.memory-pair-preview{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:7px}.memory-pair-preview small{color:var(--muted);font-size:.75rem}.memory-pair-editor-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.memory-pair-add{background:var(--panel-strong);border:1px dashed var(--line);border-radius:8px;padding:0 12px}.memory-pair-add summary{align-items:center;cursor:pointer;display:flex;gap:10px;justify-content:space-between;padding:12px 0}.memory-pair-add summary span{font-weight:800}.memory-pair-add summary small{color:var(--muted)}.memory-pair-add .memory-pair-row{border-top:1px solid var(--line);padding:12px 0}.memory-pair-row [hidden],.memory-pair-editor[hidden]{display:none}

.radio-field {
    align-items: center;
    display: flex;
    gap: 10px;
    margin: 0;
}

.radio-field input[type="radio"] {
    width: auto;
}

.radio-field span {
    font-weight: 700;
}

.form-actions {
    margin: 18px 0 0;
}

.tool-save-bar {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    bottom: 8px;
    display: flex;
    justify-content: flex-end;
    padding: 10px 14px;
    position: sticky;
    z-index: 5;
}

@media (max-width: 520px) {
    .tool-save-bar {
        bottom: 4px;
    }
}

.wordsnipe-preview-column {
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}

.wordsnipe-preview-header {
    align-items: center;
    background: #111111;
    border-bottom: 1px solid var(--line);
    color: #ffffff;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    padding: 12px 14px;
}

html[data-theme="light"] .wordsnipe-preview-header {
    background: #ffffff;
    color: #111111;
}

.wordsnipe-preview-header h3 {
    font-size: 16px;
    margin: 0;
}

.preview-background-toggle {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.preview-background-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.preview-background-toggle button {
    background: transparent;
    border: 1px solid currentColor;
    color: inherit;
    padding: 7px 10px;
}

.preview-background-toggle button.active {
    background: var(--brand, #c1121f);
    border-color: var(--brand, #c1121f);
    color: #ffffff;
}

.wordsnipe-preview-window {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 300px;
    overflow: hidden;
    padding: 28px;
}

.wordsnipe-preview-window.black {
    background: #000000;
}

.wordsnipe-preview-window.white {
    background: #ffffff;
}

.wordsnipe-preview-word {
    align-items: center;
    background: #080808;
    border: 4px solid #ffffff;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .45);
    color: #ffffff;
    display: inline-flex;
    font-size: clamp(28px, 4vw, 52px);
    font-weight: 900;
    justify-content: center;
    letter-spacing: 4px;
    line-height: 1;
    max-width: 100%;
    min-width: 180px;
    padding: 20px 34px;
    text-align: center;
    text-shadow: 3px 3px 0 rgba(0, 0, 0, .85);
    white-space: normal;
    word-break: break-word;
}

@media (max-width: 900px) {
    .wordsnipe-customize-layout,
    .wordsnipe-behavior-layout,
    .wordsnipe-visual-layout {
        grid-template-columns: 1fr;
    }

    .wordsnipe-settings-column {
        display: grid;
        gap: 18px;
    }
}


.memory-preview-window {
    align-items: center;
    container-type: inline-size;
    display: grid;
    gap: clamp(10px, 4cqw, 22px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.memory-preview-card {
    align-items: center;
    aspect-ratio: 1;
    border: clamp(2px, 2.5cqw, 5px) solid #320000;
    border-radius: clamp(8px, 8cqw, 20px);
    container-type: size;
    display: flex;
    flex-direction: column;
    font-weight: 900;
    justify-content: center;
    min-width: 0;
    overflow: hidden;
    padding: clamp(6px, 6cqw, 14px);
    position: relative;
    text-align: center;
    width: 100%;
}

.memory-preview-card::after {
    background: linear-gradient(120deg, rgba(255, 255, 255, .35) 0%, rgba(255, 255, 255, .12) 30%, transparent 60%);
    border-radius: inherit;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.memory-preview-title {
    font-size: clamp(7px, 11cqw, 20px);
    line-height: 1.05;
    max-width: 100%;
    overflow-wrap: anywhere;
    position: relative;
    z-index: 1;
}

.memory-preview-divider {
    background: linear-gradient(90deg, transparent, currentColor, transparent);
    border-radius: 2px;
    height: clamp(1px, 1.8cqw, 3px);
    margin: clamp(4px, 6cqw, 12px) 0;
    opacity: .9;
    position: relative;
    width: 62%;
    z-index: 1;
}

.memory-preview-index {
    font-size: clamp(22px, 38cqw, 76px);
    line-height: 1;
    position: relative;
    z-index: 1;
}

.memory-preview-back {
    font-size: clamp(9px, 16cqw, 30px);
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.memory-preview-back span {
    position: relative;
    z-index: 1;
}

@media (max-width: 560px) {
    .memory-preview-window {
        grid-template-columns: 1fr;
    }
}


.prize-wheel-preview-window {
    min-height: 420px;
}

.prize-wheel-preview-stack {
    align-items: center;
    display: grid;
    justify-items: center;
    position: relative;
    width: min(300px, 100%);
}

.prize-wheel-preview-wheel {
    aspect-ratio: 1;
    background: conic-gradient(var(--wheel-colors, #a61e1e 0% 25%, #d9480f 25% 50%, #f76707 50% 75%, #e03131 75% 100%));
    border: 8px solid var(--wheel-border, #ff7a18);
    border-radius: 50%;
    box-shadow: inset 0 0 0 12px rgba(255, 255, 255, .08), 0 16px 34px rgba(0, 0, 0, .32);
    position: relative;
    width: 230px;
}

.prize-wheel-preview-wheel::after {
    background: var(--wheel-center, #b31217);
    border: 4px solid var(--wheel-border, #ff7a18);
    border-radius: 50%;
    content: "";
    height: 58px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 58px;
}

.prize-wheel-preview-center {
    background-color: var(--wheel-center, #b31217);
    background-position: center;
    background-repeat: no-repeat;
    background-size: var(--center-image-scale, 100%) var(--center-image-scale, 100%);
    border: 4px solid var(--wheel-border, #ff7a18);
    border-radius: 50%;
    height: 58px;
    left: 50%;
    overflow: hidden;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 58px;
    z-index: 3;
}

.prize-wheel-preview-label {
    color: var(--wheel-text, #ffffff);
    display: block;
    font-size: 12px;
    font-weight: 900;
    left: 50%;
    line-height: 1;
    max-width: 78px;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    text-align: center;
    text-overflow: ellipsis;
    text-shadow: 0 2px 5px rgba(0, 0, 0, .5);
    top: 50%;
    transform: translate(-50%, -50%) rotate(var(--label-angle, 0deg)) translateY(-72px) rotate(var(--label-text-rotation, 90deg));
    transform-origin: center;
    white-space: nowrap;
    z-index: 1;
}

.prize-wheel-preview-pointer {
    height: 54px;
    margin-bottom: -14px;
    position: relative;
    width: 54px;
    z-index: 2;
}

.prize-wheel-preview-pointer[data-pointer-mode="default"]::before {
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-top: 42px solid var(--pointer-color, #ffffff);
    content: "";
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .35));
    left: 50%;
    position: absolute;
    top: 4px;
    transform: translateX(-50%);
}

.prize-wheel-preview-pointer[data-pointer-mode="custom"] {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .35));
    transform: translateY(var(--pointer-image-offset-y, 0px)) scale(var(--pointer-image-scale, 1));
    transform-origin: center;
}

.prize-wheel-preview-banner {
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 12px;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .28);
    font-size: clamp(18px, 2.4vw, 28px);
    font-weight: 900;
    line-height: 1.25;
    margin-top: 20px;
    max-width: 100%;
    padding: 14px 18px;
    text-align: center;
}

.prize-wheel-items-manager, .prize-wheel-item-editor { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; margin-bottom: 14px; padding: 12px; }
.modal .prize-wheel-item-editor { margin-bottom: 0; padding: 0; }
.prize-wheel-item-editor .modal-header > div { min-width: 0; }
.prize-wheel-item-editor .modal-header .muted { margin: 4px 0 0; }
.prize-wheel-item-add-actions, .prize-wheel-row-actions, .prize-wheel-row-actions form { align-items: center; display: flex; gap: 5px; }
.prize-wheel-action-form label, .prize-wheel-item-fields label, .prize-wheel-prize-fields label, .prize-wheel-color-override-fields label { display: grid; gap: 4px; }
.prize-wheel-item-list { display: grid; gap: 6px; }
.prize-wheel-item-row, .prize-wheel-action-row { align-items: center; background: var(--panel-strong); border: 1px solid var(--line); border-radius: 7px; display: grid; gap: 9px; padding: 8px 9px; }
.prize-wheel-item-row { grid-template-columns: 20px minmax(170px,1fr) auto; }
.prize-wheel-action-row { grid-template-columns: 20px minmax(170px,1fr) auto auto; }
.prize-wheel-item-row.is-disabled, .prize-wheel-action-row.is-disabled { opacity: .65; }
.prize-wheel-item-main, .prize-wheel-action-row > div:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.prize-wheel-item-main small, .prize-wheel-action-row small { color: var(--muted); font-size: .72rem; }
.prize-wheel-item-handle, .prize-wheel-action-row > span:first-child { color: var(--muted); cursor: grab; }
.prize-wheel-item-badges { display: flex; flex-wrap: wrap; gap: 4px; }
.prize-wheel-item-badges span { background: color-mix(in srgb,var(--brand) 12%,var(--panel)); border: 1px solid var(--line); border-radius: 999px; font-size: .68rem; padding: 3px 7px; }
.prize-wheel-item-warning { color: var(--danger) !important; }
.prize-wheel-item-fields, .prize-wheel-prize-fields, .prize-wheel-color-override-fields { display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.prize-wheel-item-fields .prize-wheel-checkbox-field, .prize-wheel-action-form .prize-wheel-checkbox-field { align-items: center; align-self: end; display: flex; gap: 10px; justify-content: flex-start; }
.prize-wheel-item-fields .prize-wheel-checkbox-field input, .prize-wheel-action-form .prize-wheel-checkbox-field input { flex: 0 0 auto; margin: 0; }
.prize-wheel-actions-prompt { background: var(--panel-strong); border: 1px dashed var(--line); border-radius: 7px; color: var(--muted); margin: 0; padding: 12px; }
.prize-wheel-copy-summary { align-self: stretch; background: var(--panel-strong); border: 1px solid var(--line); border-radius: 8px; display: grid; gap: 4px; padding: 10px 12px; }
.prize-wheel-copy-summary small { color: var(--muted); }
.prize-wheel-prize-fields, .prize-wheel-color-override-fields { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 7px; margin-top: 10px; padding: 10px; }
.prize-wheel-color-override-fields .muted { grid-column: 1 / -1; margin: 0; }
.prize-wheel-actions-editor { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 10px; }
.prize-wheel-action-row { grid-template-columns: 20px minmax(170px,1fr) auto auto; margin-bottom: 6px; }
.prize-wheel-action-form { background: var(--panel-strong); border: 1px solid var(--theme-accent); border-radius: 7px; display: grid; gap: 10px; margin-top: 10px; padding: 12px; }
.prize-wheel-action-form [data-action-fields] { display: grid; gap: 10px; }
.wheel-sound-select-row { align-items: end; display: grid; gap: 8px; grid-template-columns: minmax(0,1fr) auto; }
.wheel-sound-select-row .small-button { margin-bottom: 0; white-space: nowrap; }
@media (max-width:760px) { .memory-pair-summary,.prize-wheel-item-row,.prize-wheel-action-row { grid-template-columns:16px minmax(0,1fr); }.memory-pair-summary-actions,.prize-wheel-row-actions { grid-column:2;justify-content:flex-start; }.memory-pair-fields,.memory-pair-prize-fields,.prize-wheel-item-fields,.prize-wheel-prize-fields,.prize-wheel-color-override-fields,.wheel-sound-select-row { grid-template-columns:1fr; }.memory-pair-add summary{align-items:flex-start;flex-direction:column;gap:3px;} }

.giveaway-blocks-preview {
    display: grid;
    gap: 12px;
    height: 100%;
    overflow: hidden;
    width: 100%;
}

.giveaway-blocks-preview-banner {
    border-bottom: 3px solid;
    border-top: 3px solid;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
    padding: 10px 12px;
    text-align: center;
}

.giveaway-blocks-preview-grid {
    align-content: start;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    padding: 8px;
}

.giveaway-blocks-preview-player {
    border: 2px solid;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    padding: 9px 14px;
}


.balloon-preview-window {
    align-items: stretch;
    display: grid;
    gap: 14px;
    grid-template-rows: auto 1fr auto;
    overflow: hidden;
}

.balloon-preview-banner {
    border: 3px solid;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .3);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
    overflow: hidden;
    padding: 10px 12px;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.balloon-preview-bottom {
    text-transform: uppercase;
}

.balloon-preview-stage {
    align-items: end;
    display: grid;
    justify-items: center;
    min-height: 230px;
    overflow: hidden;
    position: relative;
}

.balloon-preview-needle {
    height: 74px;
    left: 50%;
    position: absolute;
    top: 2px;
    transform: translateX(-50%);
    width: 18px;
}

.balloon-preview-needle::before {
    background: linear-gradient(to bottom, #f4f4f4, #8f8f8f);
    border-radius: 4px;
    content: "";
    height: 52px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 4px;
}

.balloon-preview-needle::after {
    background: linear-gradient(to bottom, #dedede, #777);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    content: "";
    height: 24px;
    left: 50%;
    position: absolute;
    top: 50px;
    transform: translateX(-50%);
    width: 16px;
}

.balloon-preview-balloon {
    background:
        radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .48) 10%, rgba(255, 255, 255, 0) 22%),
        radial-gradient(circle at 38% 28%, color-mix(in srgb, var(--balloon-color, #e82222) 62%, #ffffff) 0%, var(--balloon-color, #e82222) 36%, color-mix(in srgb, var(--balloon-color, #e82222) 58%, #000000) 100%);
    border-radius: 50% 50% 46% 46% / 56% 56% 42% 42%;
    box-shadow: inset -14px -18px 22px rgba(0, 0, 0, .34), inset 8px 12px 16px rgba(255, 255, 255, .14), 0 12px 24px rgba(0, 0, 0, .4);
    height: 160px;
    margin-bottom: 28px;
    position: relative;
    width: 130px;
}

.balloon-preview-balloon::after {
    background: color-mix(in srgb, var(--balloon-color, #e82222) 65%, #000000);
    bottom: -14px;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    content: "";
    height: 20px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 24px;
}

.balloon-preview-pop {
    border: 4px solid var(--balloon-color, #e82222);
    border-radius: 50%;
    box-shadow: 0 0 18px color-mix(in srgb, var(--balloon-color, #e82222) 78%, transparent);
    height: 74px;
    opacity: .6;
    position: absolute;
    top: 72px;
    width: 74px;
}


/* Twitch chat preview sidebar */
.gfj-dashboard-layout {
    align-items: start;
    --gfj-chat-gap: 20px;
    --gfj-chat-offset-x: 24px;
    --gfj-chat-offset-top: 88px;
    --gfj-chat-offset-bottom: 24px;
    --gfj-chat-width: clamp(260px, 22vw, 380px);
    display: block;
    gap: 20px;
}

.gfj-dashboard-layout > .gfj-dashboard-shell {
    margin-left: 0;
    margin-right: 0;
    max-width: calc(100vw - var(--gfj-chat-width) - var(--gfj-chat-gap) - (var(--gfj-chat-offset-x) * 2));
    min-width: 0;
    padding-top: 9px;
    width: calc(100vw - var(--gfj-chat-width) - var(--gfj-chat-gap) - (var(--gfj-chat-offset-x) * 2));
}

.gfj-dashboard-layout.chat-left {
    grid-template-columns: initial;
}

.gfj-dashboard-layout.chat-left > .gfj-dashboard-shell {
    margin-left: calc(var(--gfj-chat-width) + var(--gfj-chat-gap));
    margin-right: 0;
}

.gfj-dashboard-layout.chat-left > .gfj-chat-panel {
    left: var(--gfj-chat-offset-x);
    right: auto;
}

.gfj-dashboard-layout.chat-right > .gfj-dashboard-shell {
    margin-left: 0;
    margin-right: 0;
}

.gfj-dashboard-layout.chat-right > .gfj-chat-panel {
    left: auto;
    right: var(--gfj-chat-offset-x);
}

.gfj-chat-panel {
    bottom: var(--gfj-chat-offset-bottom);
    left: auto;
    min-width: 0;
    position: fixed;
    right: var(--gfj-chat-offset-x);
    top: var(--gfj-chat-offset-top);
    width: var(--gfj-chat-width);
    z-index: 1010;
}

.gfj-chat-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: none;
    min-height: 0;
    position: static;
}

.gfj-chat-header {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 12px;
}

.gfj-chat-header h2 {
    margin: 0;
}

.gfj-chat-side-toggle {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: inline-flex;
    flex: 0 0 auto;
    overflow: hidden;
}

.gfj-chat-side-button {
    align-items: center;
    background: var(--panel);
    border: 0;
    border-radius: 0;
    color: var(--muted);
    cursor: pointer;
    display: inline-flex;
    font-size: 16px;
    font-weight: 800;
    height: 32px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 34px;
}

.gfj-chat-side-button + .gfj-chat-side-button {
    border-left: 1px solid var(--line);
}

.gfj-chat-side-button:hover,
.gfj-chat-side-button[aria-pressed="true"] {
    background: var(--brand);
    color: #fff;
}

.gfj-chat-counts {
    align-items: stretch;
    background: transparent;
    border: 1px solid color-mix(in srgb, var(--line) 65%, transparent);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 12px;
    padding: 10px;
}

.gfj-chat-count {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.gfj-chat-count--viewer {
    justify-items: end;
    text-align: right;
}

.gfj-chat-count span {
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}

.gfj-chat-count strong {
    color: var(--success);
    font-size: 18px;
    line-height: 1;
}

.gfj-chat-status {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    margin: -4px 0 12px;
    text-align: center;
}

.gfj-chat-messages {
    border: 1px solid var(--line);
    border-radius: 8px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 8px;
}

.gfj-chat-empty {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.35;
    text-align: center;
}

.gfj-chat-message,
.dashboard-chat-message {
    border-bottom: 0;
    border-radius: 6px;
    align-items: center;
    display: flex;
    gap: 4px;
    min-height: 30px;
    padding: 6px 8px;
    transition: background-color 120ms ease;
}

.gfj-chat-message:hover,
.dashboard-chat-message:hover {
    background: rgba(255, 255, 255, 0.06);
}

.dashboard-chat-content {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    min-width: 0;
}

.dashboard-chat-badges {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-right: 6px;
}

.dashboard-chat-badge {
    align-items: center;
    background: #eef3f8;
    border: 1px solid var(--line);
    border-radius: 4px;
    color: var(--text);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 700;
    height: 18px;
    justify-content: center;
    line-height: 1;
    min-width: 18px;
    padding: 0 4px;
    vertical-align: middle;
}

img.dashboard-chat-badge,
.dashboard-chat-badge-image {
    background: transparent;
    border: 0;
    border-radius: 0;
    display: inline-block;
    flex: 0 0 18px;
    height: 18px;
    min-width: 0;
    object-fit: contain;
    padding: 0;
    width: 18px;
}

.dashboard-chat-badge-text {
    align-items: center;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 4px;
    color: var(--text);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 700;
    height: 18px;
    justify-content: center;
    line-height: 1;
    max-width: 42px;
    overflow: hidden;
    padding: 0 3px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-chat-username {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    min-width: 0;
    overflow-wrap: anywhere;
}

.dashboard-chat-separator {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.dashboard-chat-text {
    color: var(--text);
    font-size: 13px;
    line-height: 1.35;
    margin-left: 6px;
    overflow-wrap: anywhere;
}

.dashboard-chat-emote {
    display: inline-block;
    height: 28px;
    margin: -4px 1px;
    object-fit: contain;
    vertical-align: middle;
    width: 28px;
}

.gfj-chat-composer {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 8px;
    padding-top: 12px;
}

.dashboard-chat-input-row {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.dashboard-chat-input-row input {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 6px;
    color: var(--text);
    font-size: 13px;
    min-width: 0;
    padding: 10px 12px;
}

.dashboard-chat-input-row input:focus {
    border-color: var(--brand);
    outline: none;
    box-shadow: 0 0 0 3px rgba(22, 111, 122, 0.12);
}

.dashboard-chat-input-row button,
.dashboard-chat-reconnect {
    border-radius: 6px;
}

.dashboard-chat-input-row button:disabled,
.dashboard-chat-input-row input:disabled {
    cursor: not-allowed;
    opacity: .6;
}

.dashboard-chat-note,
.dashboard-chat-status,
.dashboard-chat-error {
    font-size: 12px;
    line-height: 1.35;
    margin: 0;
}

.dashboard-chat-note,
.dashboard-chat-status {
    color: var(--muted);
}

.dashboard-chat-error {
    color: var(--danger);
}

.dashboard-chat-reconnect {
    justify-self: start;
}

@media (max-width: 900px) {
    .gfj-dashboard-layout,
    .gfj-dashboard-layout.chat-left {
        display: grid;
        grid-template-columns: 1fr;
    }

    .gfj-dashboard-layout > .gfj-dashboard-shell,
    .gfj-dashboard-layout.chat-left > .gfj-dashboard-shell,
    .gfj-dashboard-layout.chat-right > .gfj-dashboard-shell {
        margin-left: 0;
        margin-right: 0;
        max-width: none;
        width: auto;
    }

    .gfj-dashboard-layout.chat-left > .gfj-dashboard-shell,
    .gfj-dashboard-layout.chat-right > .gfj-dashboard-shell,
    .gfj-dashboard-layout.chat-left > .gfj-chat-panel,
    .gfj-dashboard-layout.chat-right > .gfj-chat-panel {
        order: initial;
    }

    .gfj-chat-panel {
        bottom: auto;
        left: auto;
        position: static;
        right: auto;
        top: auto;
        width: auto;
    }

    .gfj-chat-card {
        height: min(720px, calc(100vh - 32px));
        min-height: 420px;
        position: static;
    }
}


.billing-shell,
.admin-subscriptions-panel {
    display: grid;
    gap: 18px;
}

.billing-required-banner,
.billing-status-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    padding: 16px;
}

.billing-required-banner {
    background: color-mix(in srgb, #f59e0b 16%, var(--panel-strong));
    border-color: color-mix(in srgb, #f59e0b 55%, var(--line));
}

.billing-required-banner h1,
.billing-status-card h2 {
    margin: 0;
}

.billing-actions,
.admin-search-form {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.billing-actions form {
    margin: 0;
}

.billing-checkout-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-subscription-table-wrap {
    border: 1px solid var(--line);
    border-radius: 8px;
}

.admin-subscription-table {
    border-collapse: collapse;
    font-size: .76rem;
    min-width: 1050px;
    width: 100%;
}

.admin-subscription-table th,
.admin-subscription-table td {
    border-bottom: 1px solid var(--line);
    padding: 7px 9px;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.admin-subscription-table tbody tr {
    --admin-subscription-row-accent: transparent;
    --admin-subscription-row-bg: var(--panel);
}

.admin-subscription-table tbody td {
    background: var(--admin-subscription-row-bg);
}

.admin-subscription-table tbody tr.is-admin {
    --admin-subscription-row-accent: #2563eb;
    --admin-subscription-row-bg: color-mix(in srgb, #2563eb 30%, var(--panel));
}

.admin-subscription-table tbody tr.is-comped {
    --admin-subscription-row-accent: #a855f7;
    --admin-subscription-row-bg: color-mix(in srgb, #a855f7 27%, var(--panel));
}

.admin-subscription-table tbody tr.is-canceling {
    --admin-subscription-row-accent: #facc15;
    --admin-subscription-row-bg: color-mix(in srgb, #facc15 28%, var(--panel));
}

.admin-subscription-table tbody tr.is-canceled {
    --admin-subscription-row-accent: #ef4444;
    --admin-subscription-row-bg: color-mix(in srgb, #ef4444 27%, var(--panel));
}

.admin-subscription-table tbody tr[class] td:first-child {
    box-shadow: inset 4px 0 0 var(--admin-subscription-row-accent);
}

.admin-subscription-table th {
    background: var(--panel-strong);
    color: var(--muted);
    font-size: .66rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.admin-subscription-table tr:last-child td {
    border-bottom: 0;
}

.admin-subscription-user {
    min-width: 150px;
}

.admin-subscription-user-id {
    font-variant-numeric: tabular-nums;
    width: 70px;
}

.admin-subscription-user strong {
    font-size: .9rem;
}

.admin-subscription-reason {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-subscription-action {
    position: sticky;
    right: 0;
    text-align: right;
}

.admin-subscription-action button {
    font-size: .72rem;
    padding: 5px 9px;
}

.admin-subscription-actions {
    display: flex;
    gap: 5px;
    justify-content: flex-end;
}

.admin-subscription-table td.admin-subscription-action {
    background: var(--admin-subscription-row-bg);
}

.admin-subscription-table th.admin-subscription-action {
    background: var(--panel-strong);
}

.admin-subscription-empty {
    color: var(--muted);
    padding: 24px !important;
    text-align: center !important;
}

.admin-comp-user {
    font-size: .8rem;
    margin: 3px 0 0;
}

.admin-comp-modal-fields {
    display: grid;
    gap: 12px;
}

.admin-comp-modal-fields label {
    display: grid;
    font-size: .8rem;
    gap: 5px;
}

.admin-comp-summary { border-bottom: 1px solid var(--line); padding-bottom: 10px; }
.admin-billing-accommodation { border-top: 1px solid var(--line); display: grid; gap: 12px; padding: 16px; }
.admin-billing-accommodation h3 { font-size: 1rem; margin: 0; }
.admin-billing-accommodation form { display: grid; gap: 10px; }
.admin-billing-accommodation label { display: grid; font-size: .8rem; gap: 5px; }
.admin-extension-fields { align-items: end; display: grid; gap: 8px; grid-template-columns: 1fr max-content 1fr; }
.admin-accommodation-confirmation { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 6px; font-size: .76rem; margin: 0; padding: 9px; }

.admin-remove-comp-form {
    border-top: 1px solid var(--line);
    padding: 12px 16px;
}

.admin-stripe-details {
    display: grid;
    gap: 8px 14px;
    grid-template-columns: max-content minmax(0, 1fr);
    margin: 0;
}

.admin-stripe-details dt {
    color: var(--muted);
}

.admin-stripe-details dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-stripe-details code {
    color: var(--text);
    user-select: all;
}

.admin-stripe-note {
    font-size: .75rem;
    margin: 16px 0 0;
}

.account-manage-modal .modal-body,
.account-manage-modal form,
.account-manage-section {
    display: grid;
    gap: 12px;
}

.account-manage-section {
    border-bottom: 1px solid var(--line);
    padding: 4px 0 18px;
}

.account-manage-section:last-child {
    border-bottom: 0;
}

.account-manage-section h3 {
    font-size: 1rem;
    margin: 0;
}

.account-summary-grid {
    display: grid;
    font-size: .78rem;
    gap: 5px 14px;
    grid-template-columns: max-content minmax(120px, 1fr) max-content minmax(120px, 1fr);
    margin: 0;
}

.account-summary-grid dt { color: var(--muted); }
.account-summary-grid dd { margin: 0; overflow-wrap: anywhere; }

.account-form-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-form-grid label,
.account-manage-section > form > label {
    display: grid;
    font-size: .78rem;
    gap: 5px;
}

.account-form-grid .account-form-wide { grid-column: 1 / -1; }
.account-manage-section .check-row { align-items: center; display: flex; gap: 8px; }
.account-manage-section .check-row input { width: auto; }

.account-history { display: grid; gap: 8px; margin-top: 10px; }
.account-history-item { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 6px; display: grid; font-size: .76rem; gap: 3px; padding: 9px; }
.account-history-item > strong { text-transform: capitalize; }
.account-history-item > span { color: var(--muted); }
.account-history-item > p { margin: 0; white-space: pre-wrap; }
.account-failed-job { align-items: center; display: flex; font-size: .76rem; gap: 10px; justify-content: space-between; }

.danger-zone {
    background: color-mix(in srgb, var(--danger) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--danger) 60%, var(--line));
    border-radius: 8px;
    padding: 14px;
}

.unban-zone { background: color-mix(in srgb, #22c55e 7%, transparent); border: 1px solid color-mix(in srgb, #22c55e 48%, var(--line)); border-radius: 8px; padding: 14px; }
.account-warning-notice p { margin-bottom: 8px; white-space: pre-wrap; }

@media (max-width: 700px) {
    .account-summary-grid,
    .account-form-grid { grid-template-columns: 1fr; }
    .account-summary-grid dt { margin-top: 4px; }
    .account-form-grid .account-form-wide { grid-column: auto; }
    .admin-extension-fields { grid-template-columns: 1fr; }
}

.bot-commands-shell,
.bot-command-panel {
    display: grid;
    gap: 18px;
}

.bot-command-page-header,
.bot-command-panel-header {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.bot-command-filters,
.bot-command-edit-form {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.bot-command-filters input,
.bot-command-filters select,
.bot-command-edit-form input,
.bot-command-edit-form select {
    width: 100%;
}

.bot-command-table-wrap {
    overflow-x: auto;
}

.bot-command-table {
    border-collapse: collapse;
    font-size: 14px;
    min-width: 980px;
    width: 100%;
}

.bot-command-table th,
.bot-command-table td {
    border-bottom: 1px solid var(--line);
    padding: 10px 12px;
    text-align: left;
    vertical-align: middle;
}

.bot-command-table th {
    background: var(--panel-strong);
    color: var(--text);
    font-weight: 800;
}

.bot-command-table tr.has-command-conflict td {
    background: color-mix(in srgb, var(--danger) 12%, transparent);
}

.command-warning {
    border: 1px solid var(--danger);
    border-radius: 999px;
    color: var(--danger);
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    margin-left: 6px;
    padding: 4px 6px;
    text-transform: uppercase;
}

.small-button {
    font-size: 12px;
    padding: 7px 10px;
}

.custom-bot-setup-view {
    display: grid;
    gap: 12px;
}

.tool-chat-commands-panel {
    margin-top: 18px;
}

@media (max-width: 760px) {
    .bot-command-page-header,
    .bot-command-panel-header {
        display: grid;
    }
}

.bot-command-tool-group th {
    background: color-mix(in srgb, var(--brand) 16%, var(--panel-strong));
    color: var(--text);
    font-size: 13px;
    text-transform: uppercase;
}


.bot-command-reference-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.bot-command-reference-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px;
}

.bot-command-reference-card h3 {
    margin-top: 0;
}

.bot-command-reference-card dl,
.bot-command-reference-card dd,
.bot-command-example-list {
    margin-bottom: 0;
}

.bot-command-reference-card dt {
    margin-top: 12px;
}

.bot-command-reference-card dt:first-child {
    margin-top: 0;
}

.bot-command-reference-card dd {
    color: var(--muted);
    margin-left: 0;
}

.bot-command-example-list {
    display: grid;
    gap: 8px;
    list-style: none;
    padding-left: 0;
}


.custom-chat-command-panel {
    gap: 20px;
}

.custom-chat-command-table {
    min-width: 760px;
}

.custom-chat-command-table form {
    margin: 0;
}

.custom-command-editor-heading {
    scroll-margin-top: 100px;
}

.custom-command-editor-heading h3,
.custom-command-editor-heading p {
    margin-bottom: 4px;
}

.custom-chat-command-form {
    align-items: start;
    border-top: 1px solid var(--line);
    padding-top: 18px;
}

.custom-chat-response-field,
.custom-chat-command-form > details[data-variable-picker],
.custom-chat-command-help,
.custom-chat-command-preview,
.custom-chat-command-form .form-actions {
    grid-column: 1 / -1;
}

.custom-chat-command-form textarea {
    min-height: 96px;
    resize: vertical;
    width: 100%;
}

.custom-chat-command-help {
    color: var(--muted);
    display: grid;
    gap: 6px;
}

.custom-chat-command-help p {
    margin: 0;
}

.custom-chat-command-preview {
    background: var(--panel-strong);
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 8px;
    padding: 12px;
}

.custom-chat-command-preview output {
    overflow-wrap: anywhere;
}

/* UX organization pass for command center, settings, and tool pages. */
.panel,
.project-card,
.gfj-panel,
.settings-header,
.tool-header,
.dashboard-hero {
    box-shadow: none;
}

.command-center-shell {
    max-width: 1180px;
}

.command-center-tabs .wordsnipe-tab-list a {
    background: transparent;
    border: 1px solid transparent;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    color: var(--muted);
    font-weight: 800;
    padding: 11px 16px;
    text-decoration: none;
}

.command-center-tabs .wordsnipe-tab-list a.active {
    background: var(--panel);
    border-color: var(--line);
    color: var(--text);
    margin-bottom: -1px;
}

.command-registry-groups,
.command-card-stack,
.setup-copy-stack {
    display: grid;
    gap: 14px;
}

.command-registry-group,
.command-accordion,
.collapsible-help {
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}

.command-registry-group {
    border-color: var(--dashboard-border, var(--line));
    box-shadow: inset 3px 0 0 var(--theme-accent);
}

.command-registry-group summary,
.command-accordion summary,
.collapsible-help summary {
    align-items: center;
    background: var(--panel-strong);
    color: var(--text);
    cursor: pointer;
    display: flex;
    font-weight: 800;
    gap: 10px;
    justify-content: space-between;
    padding: 12px 14px;
}

.command-registry-group summary {
    background: var(--dashboard-card-header);
    color: var(--dashboard-text, var(--text));
    padding-left: 17px;
    transition: background-color .14s ease;
}

.command-registry-group summary:hover {
    background: color-mix(in srgb, var(--theme-accent) 5%, var(--dashboard-card-header));
}

.command-registry-group[open] summary {
    border-bottom: 1px solid var(--dashboard-divider, var(--line));
}

.command-registry-group summary small {
    color: var(--dashboard-muted, var(--muted));
    font-weight: 700;
}

.bot-command-table {
    min-width: 760px;
}

.bot-command-table td strong,
.bot-command-table td small {
    display: block;
}

.bot-command-table td small {
    color: var(--muted);
    margin-top: 4px;
}

.command-row-actions,
.copy-input-row,
.copy-value-inline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.copy-button {
    background: var(--panel-strong);
    border: 1px solid var(--line);
    color: var(--text);
}

.copy-button:hover {
    background: var(--brand);
    border-color: var(--brand);
    color: #ffffff;
}

.permission-badge {
    background: color-mix(in srgb, var(--brand) 16%, transparent);
    border: 1px solid color-mix(in srgb, var(--brand) 42%, var(--line));
    border-radius: 999px;
    color: var(--text);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    padding: 5px 8px;
}

.command-card-list,
.overlay-command-grid {
    display: grid;
    gap: 12px;
    padding: 14px;
}

.handler-custom-setup {
    background: color-mix(in srgb, var(--panel) 88%, var(--panel-strong));
    border: 1px solid color-mix(in srgb, var(--brand) 24%, var(--line));
    border-radius: 8px;
    display: grid;
    gap: 12px;
    margin-top: 8px;
    padding: 12px;
}

.handler-custom-setup[hidden] {
    display: none;
}

.handler-custom-setup-header {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.handler-custom-setup-header div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.handler-custom-setup-header span {
    color: var(--muted);
    font-size: 13px;
}

.handler-setup-details {
    background: transparent;
}

.handler-setup-details summary {
    padding: 0.85rem 1rem;
}

.handler-setup-details .firebot-step-content {
    padding: 1rem;
}

.command-mini-card,
.overlay-command-card,
.copy-value-block {
    background: color-mix(in srgb, var(--panel) 88%, var(--panel-strong));
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
}

.command-mini-card {
    align-items: start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.command-mini-card p,
.overlay-command-card p,
.copy-value-block span {
    color: var(--muted);
    margin: 6px 0 0;
}

.overlay-command-card {
    display: grid;
    gap: 16px;
}

.overlay-command-card header,
.overlay-command-columns {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
}

.overlay-command-card h3,
.overlay-command-card h4 {
    margin: 0;
}

.copy-command-list {
    display: grid;
    gap: 8px;
}

.copy-command-row {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 10px;
}

.copy-command-row div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.copy-command-row span,
.copy-command-row small {
    color: var(--muted);
}

.copy-value-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.copy-value-grid.compact .wide {
    grid-column: 1 / -1;
}

.copy-value-block {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.copy-value-block code,
.copy-value-inline code {
    overflow-wrap: anywhere;
}

.copy-value-block pre {
    background: #101010;
    border: 1px solid var(--line);
    border-radius: 8px;
    margin: 0;
    overflow-x: auto;
    padding: 12px;
}

.webhook-details-panel,
.firebot-instructions-card {
    background: color-mix(in srgb, var(--panel) 92%, var(--panel-strong));
    border: 1px solid color-mix(in srgb, var(--brand) 24%, var(--line));
    border-radius: 8px;
    display: grid;
    gap: 14px;
    padding: 14px;
}

.prize-wheel-integration-form,
.integration-section,
.external-integration-list,
.advanced-automation-body {
    display: grid;
    gap: 1rem;
}

.prize-wheel-integrations-panel,
.tool-command-integrations-panel {
    background: var(--panel);
}

.prize-wheel-integration-form {
    gap: 1rem;
}

.prize-wheel-event-list { display: grid; gap: 1.25rem; }
.tool-command-event-list { display: grid; gap: 1.25rem; }
.tool-command-integration-form { display: grid; gap: 1rem; }
.prize-wheel-event-card { background: var(--theme-accent-surface-subtle); border: 1px solid var(--theme-accent-border-subtle); border-top: 3px solid var(--theme-accent); border-radius: 10px; box-shadow: 0 8px 24px rgb(0 0 0 / 8%); display: grid; gap: .9rem; min-width: 0; padding: 1rem; }
.prize-wheel-event-card > header { border-bottom: 1px solid var(--theme-accent-border-subtle); padding: .1rem .1rem .85rem; }
.prize-wheel-event-card h3 { color: var(--theme-accent-text); margin: 0; }
.prize-wheel-event-card header p { color: var(--muted); margin: .25rem 0 0; }
.event-config-group { background: var(--event-config-neutral-surface); border: 1px solid var(--line); border-radius: 8px; display: grid; gap: .65rem; min-width: 0; padding: .8rem .85rem; }
.event-group-title { font-size: .78rem; font-weight: 800; letter-spacing: .045em; line-height: 1.3; margin: 0; text-transform: uppercase; }
.event-group-help { color: var(--muted); font-size: .82rem; line-height: 1.45; margin: 0; }
.event-command-settings { min-width: 0; }
.event-command-settings > summary { align-items: center; background: var(--event-config-neutral-surface); border: 1px solid var(--line); border-radius: 8px; cursor: pointer; display: flex; gap: 1rem; justify-content: space-between; list-style: none; padding: .75rem .85rem; }
.event-command-settings > summary::-webkit-details-marker { display: none; }
.event-command-settings > summary > span:first-child { display: grid; gap: .15rem; }
.event-command-settings > summary strong { font-size: .86rem; }
.event-command-settings > summary small { color: var(--muted); font-size: .75rem; }
.event-command-settings[open] > summary { border-color: var(--theme-accent-border-subtle); border-radius: 8px 8px 0 0; }
.event-command-settings-body { border: 1px solid var(--theme-accent-border-subtle); border-top: 0; border-radius: 0 0 8px 8px; display: grid; gap: .9rem; padding: .9rem; }
.event-command-row { display: grid; gap: .35rem; min-width: 0; }
.event-command-row .command-preview-row { grid-template-columns: minmax(0,1fr) auto; }
.event-command-row code { overflow-wrap: anywhere; }
.wheel-command-options-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); min-width: 0; }
.wheel-default-command-column,.wheel-command-alias-column { align-content: start; display: grid; gap: .4rem; margin: 0; min-width: 0; }
.wheel-command-field-label { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.wheel-default-command-column .command-preview-row { grid-template-columns: minmax(0,1fr) auto; height: 3.75rem; }
.wheel-command-alias-column input { height: 3.75rem; margin: 0; min-width: 0; width: 100%; }
.wheel-command-alias-column small { color: var(--muted); font-size: .75rem; line-height: 1.4; }
.wheel-command-alias-column input[aria-invalid="true"] { border-color: var(--danger); }
.wheel-command-alias-error { color: var(--danger); font-size: .78rem; font-weight: 700; line-height: 1.35; }
.wheel-command-permission-area { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 1rem; justify-content: flex-end; margin-top: .75rem; padding-top: .75rem; text-align: right; }
.wheel-command-permission-area > label:first-child { font-size: .8rem; font-weight: 750; }
.wheel-command-permission-area .switch-field { flex: 0 0 auto; }
.event-chat-fields { display: grid; gap: .65rem; grid-template-columns: minmax(0,1fr); min-width: 0; }
.event-chat-heading { align-items: center; display: flex; gap: .75rem; justify-content: space-between; min-width: 0; }
.event-chat-heading select { max-width: 100%; min-width: 10.5rem; width: auto; }
.event-chat-fields input { width: 100%; }
.event-chat-fields > small { color: var(--muted); grid-column: 1/-1; }
.event-webhook-row,.outgoing-destination-summary { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.event-webhook-row > div,.outgoing-destination-summary > div { display: grid; gap: .2rem; min-width: 0; }
.event-webhook-row small,.outgoing-destination-summary small,.event-command-note { color: var(--muted); }
.event-payload-details { border-top: 1px solid var(--line); display: grid; gap: .45rem; min-width: 0; padding-top: .65rem; }
.event-payload-details[hidden] { display: none; }
.event-payload-details summary { color: var(--brand); cursor: pointer; font-weight: 700; }
.event-payload-details pre { max-height: 24rem; overflow: auto; }
.event-payload-details .webhook-code-header { margin-top: .65rem; }
.event-payload-details p { color: var(--muted); font-size: .82rem; line-height: 1.45; margin: 0; }
.event-routing-detail { align-items: center; display: flex; gap: .75rem; justify-content: space-between; min-width: 0; }
.event-routing-detail > span { color: var(--muted); font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.event-routing-detail > div { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; min-width: 0; }
.event-routing-detail code { overflow-wrap: anywhere; }
.listener-option-heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; min-width: 0; }
.listener-option { display: grid; gap: .55rem; }
.listener-option p { color: var(--muted); font-size: .82rem; line-height: 1.45; margin: 0; max-width: 52rem; overflow-wrap: anywhere; }
.listener-permissions-link { font-size: .84rem; justify-self: start; }
.event-command-note { font-size: .82rem; line-height: 1.45; margin: 0; }
.outgoing-destination-summary { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 8px; padding: .75rem .85rem; }
.outgoing-firebot-guide { background: var(--panel-strong); border: 1px solid var(--line); border-left: 3px solid var(--theme-accent); border-radius: 8px; display: grid; min-width: 0; }
.outgoing-firebot-guide-heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; padding: .8rem .85rem; }
.outgoing-firebot-guide-heading h3 { font-size: .95rem; margin: 0; }
.outgoing-firebot-guide-heading p { color: var(--muted); font-size: .82rem; line-height: 1.4; margin: .2rem 0 0; }
.outgoing-firebot-guide-content { border-top: 1px solid var(--line); display: grid; gap: .8rem; padding: .85rem; }
.outgoing-firebot-guide-content[hidden] { display: none; }
.outgoing-firebot-guide-content h4 { font-size: .86rem; margin: 0; }
.outgoing-firebot-guide-content ol { display: grid; gap: .45rem; margin: 0; padding-left: 1.35rem; }
.outgoing-firebot-guide-content li { line-height: 1.45; padding-left: .15rem; }
.direction-note { background: var(--theme-accent-surface-subtle); border: 1px solid var(--theme-accent-border-subtle); border-radius: 6px; margin: 0; padding: .65rem .75rem; }
.firebot-routing-example { background: var(--panel); border: 1px solid var(--line); border-radius: 7px; display: grid; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8rem; gap: .22rem; overflow-x: auto; padding: .75rem; white-space: nowrap; }
.firebot-routing-example .routing-case { padding-left: 1.5rem; }
.firebot-routing-summary { display: grid; gap: .35rem .8rem; grid-template-columns: max-content minmax(0,1fr); margin: 0; }
.firebot-routing-summary dt { font-weight: 750; }
.firebot-routing-summary dd { color: var(--muted); margin: 0; }
.prize-wheel-integrations-panel :focus-visible,
.tool-command-integrations-panel :focus-visible { outline: 2px solid var(--theme-accent); outline-offset: 2px; }
.external-integrations-section { border-top: 1px solid var(--line); display: grid; gap: .8rem; padding-top: 1.25rem; }

.wheels-management { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; display: grid; gap: 1rem; margin-bottom: 1rem; padding: 1rem; }
.wheels-management-heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.wheels-management-heading h2,.wheels-management-heading p { margin: 0; }
.wheel-filter-tabs { display: flex; flex-wrap: wrap; gap: .45rem; }
.wheel-filter-tabs a { border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .82rem; font-weight: 750; padding: .4rem .7rem; text-decoration: none; }
.wheel-filter-tabs a.active { background: var(--theme-accent-surface-subtle); border-color: var(--theme-accent-border-subtle); color: var(--theme-accent-text); }
.wheels-list { display: grid; gap: .65rem; }
.wheel-management-row { align-items: center; background: var(--panel-strong); border: 1px solid var(--line); border-radius: 8px; display: grid; gap: .8rem; grid-template-columns: minmax(0,1fr) auto auto; padding: .8rem; }
.wheel-management-row.selected { border-color: var(--theme-accent); box-shadow: inset 3px 0 0 var(--theme-accent); }
.wheel-management-main { display: grid; gap: .25rem; justify-items: start; min-width: 0; }
.wheel-management-main small { color: var(--muted); overflow-wrap: anywhere; }
.wheel-management-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; }
.wheel-management-actions form { margin: 0; }
.wheel-mode-badge,.wheel-enabled-status { border: 1px solid var(--line); border-radius: 999px; display: inline-flex; font-size: .68rem; font-weight: 800; line-height: 1; padding: .32rem .55rem; text-transform: uppercase; }
.wheel-mode-badge.item { background: color-mix(in srgb,var(--theme-accent) 13%,transparent); border-color: var(--theme-accent-border-subtle); color: var(--theme-accent-text); }
.wheel-mode-badge.giveaway { background: color-mix(in srgb,#22c55e 12%,transparent); border-color: color-mix(in srgb,#22c55e 38%,var(--line)); color: color-mix(in srgb,#22c55e 72%,var(--text)); }
.wheel-enabled-status.enabled { color: #22c55e; }.wheel-enabled-status.disabled { color: var(--muted); }
.wheels-empty-state { border: 1px dashed var(--line); border-radius: 8px; display: grid; gap: .25rem; padding: 1rem; }.wheels-empty-state span { color: var(--muted); }
.wheel-template-fieldset { border: 0; margin: 0 0 1rem; padding: 0; }.wheel-template-fieldset legend { font-size: 1rem; font-weight: 800; margin-bottom: .65rem; }
.wheel-template-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.wheel-template-card { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 9px; column-gap: .65rem; cursor: pointer; display: grid; grid-template-columns: auto minmax(0,1fr); padding: .85rem; }
.wheel-template-card.selected { background: var(--theme-accent-surface-subtle); border-color: var(--theme-accent); box-shadow: 0 0 0 1px var(--theme-accent); }
.wheel-template-card > input[type="radio"] { align-self: start; margin: .2rem 0 0; width: auto; }
.wheel-template-card > span { display: grid; gap: .35rem; }.wheel-template-card small,.wheel-template-card em { color: var(--muted); font-size: .82rem; font-style: normal; line-height: 1.4; }
.wheel-library-gallery { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fill,minmax(64px,1fr)); }
.wheel-library-gallery button { background: var(--panel-strong); border: 2px solid var(--line); border-radius: 7px; min-height: 64px; padding: .25rem; }
.wheel-library-gallery button.selected { border-color: var(--theme-accent); box-shadow: 0 0 0 1px var(--theme-accent); }
.wheel-library-gallery img { height: 54px; object-fit: contain; pointer-events: none; width: 100%; }
.wheel-create-fields { display: grid; gap: .75rem; grid-template-columns: repeat(2,minmax(0,1fr)); }.wheel-create-fields label { margin: 0; }.wheel-create-fields small { color: var(--muted); display: block; margin-top: .3rem; }
.wheel-mode-immutable-note { border-top: 1px solid var(--line); margin: .75rem 0 0; padding-top: .65rem; }
@media (max-width: 760px) { .wheel-management-row { align-items: stretch; grid-template-columns: 1fr; }.wheel-management-actions { justify-content: flex-start; }.wheel-template-grid,.wheel-create-fields { grid-template-columns: 1fr; }.wheels-management-heading { align-items: stretch; flex-direction: column; } }

.prize-wheel-integration-form > .integration-section,
.prize-wheel-integration-form > details {
    padding-block: 1.5rem;
}

.prize-wheel-integration-form > details {
    border-top: 1px solid var(--line);
}

.integration-section-heading,
.external-trigger-summary,
.external-trigger-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
}

.integration-section-heading h3,
.external-trigger-row p,
.advanced-automation-body h3 {
    margin: 0;
}

.integration-command-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.external-integration-list,
.advanced-automation-body {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
}

.external-trigger-summary > div:first-child,
.integration-command-title {
    min-width: 0;
}

.integration-command-title p,
.external-trigger-summary p {
    display: block;
    margin-top: .2rem;
    color: var(--muted);
}

.integration-command-row {
    background: var(--panel-strong);
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .65rem;
    min-width: 0;
    padding: .85rem;
}

.integration-command-row .command-preview-row {
    background: transparent;
    border: 0;
    border-top: 1px solid var(--line);
    border-radius: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .6rem 0 0;
}

.integration-command-row .command-preview-row code {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.switch-field {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    white-space: nowrap;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 700;
}

.switch-field input {
    appearance: none;
    background: var(--line);
    border: 1px solid color-mix(in srgb, var(--muted) 55%, var(--line));
    border-radius: 999px;
    block-size: 1.25rem;
    cursor: pointer;
    inline-size: 2.25rem;
    margin: 0;
    position: relative;
}

.switch-field input::after {
    background: var(--panel);
    border-radius: 50%;
    content: '';
    height: .85rem;
    left: .15rem;
    position: absolute;
    top: .14rem;
    transition: transform .15s ease;
    width: .85rem;
}

.switch-field input:checked {
    background: var(--brand);
    border-color: var(--brand);
}

.switch-field input:checked::after {
    transform: translateX(1rem);
}

.chat-response-settings {
    border-top: 1px solid var(--line);
    display: grid;
    gap: .55rem;
    padding-top: 1rem;
}

.chat-response-settings .compact-field {
    max-width: 44rem;
}

.advanced-command-settings,
.external-integrations-details,
.advanced-automation-details {
    min-width: 0;
}

.advanced-command-settings > summary,
.external-integrations-details > summary,
.advanced-automation-details > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    list-style: none;
}

.advanced-command-settings > summary:focus-visible,
.external-integrations-details > summary:focus-visible,
.advanced-automation-details > summary:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 4px;
}

.advanced-command-settings > summary::-webkit-details-marker,
.external-integrations-details > summary::-webkit-details-marker,
.advanced-automation-details > summary::-webkit-details-marker {
    display: none;
}

.advanced-command-settings > summary span,
.external-integrations-details > summary span,
.advanced-automation-details > summary span {
    display: grid;
    gap: .2rem;
}

.advanced-command-settings > summary small,
.external-integrations-details > summary small,
.advanced-automation-details > summary small { color: var(--muted); }
.details-action {
    color: var(--brand);
    flex: 0 0 auto;
    font-size: 0;
    font-weight: 800;
}
.details-action::before { content: 'Expand'; font-size: .78rem; }
details[open] > summary .details-action::before { content: 'Collapse'; }
.external-integration-list { margin-top: 1rem; overflow: hidden; }
.external-trigger-row { overflow: hidden; }
.external-trigger-row + .external-trigger-row { border-top: 1px solid var(--line); }
.external-trigger-summary { padding: .7rem .85rem; }
.external-trigger-summary p { font-size: .82rem; line-height: 1.4; }
.external-trigger-actions { flex: 0 0 auto; gap: .45rem; }
.external-trigger-actions .button,
.external-trigger-actions .copy-button { min-height: 2rem; padding: .35rem .6rem; }
.external-trigger-actions .copy-button { background: transparent; border-color: transparent; color: var(--muted); }
.external-trigger-setup { background: var(--panel-strong); padding: 0 .85rem .85rem; border-top: 1px solid var(--line); }
.external-trigger-security-note { color: var(--muted); font-size: .82rem; line-height: 1.5; margin: 0; overflow-wrap: break-word; }
.external-trigger-security-note code { white-space: nowrap; }
.external-trigger-variable-note { background: var(--theme-accent-surface-subtle); border: 1px solid var(--theme-accent-border-subtle); border-radius: 6px; font-size: .82rem; line-height: 1.5; margin: 0; padding: .65rem .75rem; }
.external-trigger-setup[hidden] { display: none; }
.external-trigger-setup > * { margin-top: .8rem; }

.advanced-command-settings {
    border-top: 1px solid var(--line);
    padding-top: .85rem;
}

.advanced-command-settings-body {
    background: var(--panel-strong);
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    margin-top: .75rem;
    overflow: hidden;
}

.advanced-command-settings-body > p {
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.45;
    margin: 0;
    padding: .75rem .85rem;
}

.advanced-listener-row,
.optional-setting-row,
.recommended-listener-action {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.advanced-listener-row,
.recommended-listener-action {
    border-top: 1px solid var(--line);
    padding: .7rem .85rem;
}

.advanced-listener-row > div,
.optional-setting-row > div,
.recommended-listener-action > span {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.advanced-listener-row small,
.optional-setting-row small,
.recommended-listener-action small {
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.4;
}

.recommended-listener-action button {
    flex: 0 0 auto;
}

.integration-instruction-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.integration-instruction-grid section,
.outgoing-webhook-destination {
    padding: .75rem;
    border-radius: 9px;
    background: var(--panel-strong);
}

.integration-instruction-grid h4 { margin: 0 0 .35rem; }
.advanced-automation-body { gap: .85rem; margin-top: 1rem; padding: 1rem; }
.result-behavior-note { align-items: start; background: var(--panel-strong); border-radius: 7px; display: flex; gap: .65rem; padding: .7rem .8rem; }
.result-behavior-note > span { align-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--brand); display: inline-flex; flex: 0 0 1.15rem; font-size: .72rem; font-weight: 900; height: 1.15rem; justify-content: center; }
.result-behavior-note p { color: var(--muted); font-size: .82rem; line-height: 1.45; margin: 0; }
.result-behavior-note strong { color: var(--text); }
.switch-field:has(input:focus-visible) { outline: 2px solid var(--brand); outline-offset: 2px; }
.compact-field { display: grid; gap: .35rem; }
.compact-field > span { font-weight: 700; }
.compact-field small { color: var(--muted); }
.result-message-field { max-width: 44rem; }
.result-message-field[hidden] { display: none; }
.automation-summary-status { color: var(--muted); font-size: .75rem; font-weight: 700; }
.outgoing-webhook-destination { align-items: center; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; }
.outgoing-webhook-destination[hidden] { display: none; }
.outgoing-webhook-destination p { color: var(--muted); font-size: .8rem; margin: .2rem 0 0; }
.outgoing-webhook-status { align-items: center; display: flex; gap: .75rem; }
.outgoing-webhook-status > span { display: grid; gap: .15rem; text-align: right; }
.outgoing-webhook-status small { color: var(--muted); overflow-wrap: anywhere; }

@media (max-width: 900px) {
    .integration-command-list { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .outgoing-webhook-destination { grid-template-columns: 1fr; }
    .outgoing-webhook-status { align-items: stretch; flex-direction: column; }
    .outgoing-webhook-status > span { text-align: left; }
}

@media (max-width: 680px) {
    .integration-section-heading,
    .external-trigger-summary {
        align-items: stretch;
        flex-direction: column;
    }
    .external-trigger-actions { justify-content: stretch; flex-wrap: wrap; }
    .external-trigger-actions .button,
    .external-trigger-actions .copy-button { flex: 1 1 10rem; }
    .integration-instruction-grid { grid-template-columns: 1fr; }
    .webhook-url-pill { overflow-wrap: anywhere; }
    .advanced-listener-row,
    .optional-setting-row,
    .recommended-listener-action { align-items: flex-start; flex-direction: column; }
    .event-command-row { align-items: stretch; grid-template-columns: 1fr; }
    .event-command-row .command-preview-row { grid-template-columns: 1fr; }
    .event-command-row .copy-button { width: 100%; }
    .wheel-command-options-grid { grid-template-columns: minmax(0,1fr); }
    .wheel-default-command-column .command-preview-row { grid-template-columns: minmax(0,1fr); height: auto; }
    .wheel-default-command-column .copy-button { width: 100%; }
    .event-chat-fields { grid-template-columns: 1fr; }
    .event-chat-heading,
    .listener-option-heading { align-items: stretch; flex-direction: column; }
    .event-chat-heading select { width: 100%; }
    .listener-option-heading .switch-field { align-self: flex-start; }
    .event-webhook-row,.outgoing-destination-summary { align-items: stretch; flex-direction: column; }
    .outgoing-firebot-guide-heading { align-items: stretch; flex-direction: column; }
    .outgoing-firebot-guide-heading .button { width: 100%; }
    .event-routing-detail { align-items: stretch; flex-direction: column; }
    .event-routing-detail > div { align-items: stretch; flex-direction: column; }
    .event-routing-detail .copy-button { width: 100%; }
    .firebot-routing-summary { grid-template-columns: 1fr; }
    .event-command-settings > summary { align-items: flex-start; }
}

.webhook-details-panel h4,
.firebot-instructions-card h4 {
    border-bottom: 1px solid var(--line);
    margin: 0;
    padding-bottom: 10px;
}

.webhook-url-row,
.webhook-request-meta,
.webhook-json-section {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.webhook-detail-label {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.webhook-url-copy-row {
    align-items: stretch;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.webhook-url-pill {
    align-items: center;
    background: color-mix(in srgb, var(--panel-strong) 88%, #000000);
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--text);
    display: flex;
    min-height: 38px;
    min-width: 0;
    overflow: hidden;
    padding: 8px 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.webhook-url-pill.empty {
    color: var(--muted);
    font-family: inherit;
    font-weight: 800;
}

.webhook-meta-pills {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.webhook-meta-pills code,
.firebot-instructions-card code {
    background: color-mix(in srgb, var(--brand) 16%, var(--panel-strong));
    border: 1px solid color-mix(in srgb, var(--brand) 36%, var(--line));
    border-radius: 999px;
    color: var(--text);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    padding: 4px 8px;
    white-space: nowrap;
}

.webhook-code-header {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.webhook-json-section pre {
    background: #09090b;
    border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
    margin: 0;
    overflow-x: auto;
    padding: 14px;
}

.webhook-json-section pre code {
    color: #f8fafc;
    display: block;
    font-size: 13px;
    line-height: 1.55;
    min-width: max-content;
    white-space: pre;
}

.firebot-instructions-card {
    border-color: var(--line);
    gap: 10px;
}

.firebot-instructions-card ol {
    margin: 0;
    padding-left: 22px;
}

.firebot-instructions-card li {
    margin: 7px 0;
}

@media (max-width: 640px) {
    .webhook-url-copy-row {
        grid-template-columns: 1fr;
    }

    .webhook-url-copy-row .copy-button,
    .webhook-code-header .copy-button {
        width: 100%;
    }

    .webhook-code-header {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }
}

.firebot-guide,
.firebot-guide-section,
.firebot-command-block {
    display: grid;
    gap: 14px;
}

.firebot-guide-section,
.firebot-command-block,
.firebot-callout,
.firebot-setup-intro {
    background: color-mix(in srgb, var(--panel) 88%, var(--panel-strong));
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
}

.firebot-guide-section h3,
.firebot-command-block h3,
.firebot-setup-intro h3 {
    margin: 0;
}

.firebot-guide-section h4 {
    font-size: 15px;
    margin: 14px 0 6px;
}

.firebot-guide-section p,
.firebot-command-block p,
.firebot-callout p,
.firebot-setup-intro p,
.firebot-json-card p {
    margin: 0;
}

.firebot-guide-section ol,
.firebot-guide-section ul,
.firebot-command-block ol,
.firebot-command-block ul {
    margin: 0;
    padding-left: 22px;
}

.firebot-guide-section li,
.firebot-command-block li {
    margin: 6px 0;
}

.firebot-config-summary {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.firebot-field-list {
    display: grid;
    gap: 8px 14px;
    grid-template-columns: minmax(130px, max-content) minmax(0, 1fr);
    margin: 0;
}

.firebot-field-list dt {
    font-weight: 800;
}

.firebot-field-list dd {
    color: var(--muted);
    margin: 0;
}

.firebot-callout {
    background: color-mix(in srgb, var(--brand) 12%, var(--panel));
    border-color: color-mix(in srgb, var(--brand) 40%, var(--line));
}

.firebot-callout.warning {
    background: color-mix(in srgb, #f59e0b 12%, var(--panel));
    border-color: color-mix(in srgb, #f59e0b 42%, var(--line));
}

.firebot-step-details {
    border-color: color-mix(in srgb, var(--brand) 24%, var(--line));
}

.firebot-step-details summary {
    background: color-mix(in srgb, var(--brand) 8%, var(--panel-strong));
    box-sizing: border-box;
    width: 100%;
}

.firebot-step-details.handler-setup-details summary {
    padding: 0.85rem 1rem;
}

.firebot-step-details summary::-webkit-details-marker {
    display: none;
}

.firebot-step-details summary > span {
    display: grid;
    flex: 1 1 auto;
    gap: 4px;
    min-width: 0;
}

.firebot-step-details summary small {
    color: var(--muted);
    font-weight: 600;
}

.firebot-step-details summary > code {
    flex: 0 0 170px;
    justify-self: end;
    text-align: right;
}

.firebot-step-details summary::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
    flex: 0 0 auto;
    height: 9px;
    margin-left: auto;
    transform: rotate(45deg);
    transition: transform .16s ease;
    width: 9px;
}

.firebot-step-details[open] summary::after {
    transform: rotate(225deg);
}

.firebot-step-details[open] summary {
    background: color-mix(in srgb, var(--brand) 14%, var(--panel-strong));
    border-bottom: 1px solid var(--line);
}

.firebot-step-content {
    border: 0;
    border-radius: 0;
}

.firebot-events-details {
    border-color: color-mix(in srgb, var(--brand) 34%, var(--line));
}

.firebot-events-details summary {
    background: color-mix(in srgb, var(--brand) 14%, var(--panel-strong));
    box-sizing: border-box;
    width: 100%;
}

.firebot-events-details summary::-webkit-details-marker {
    display: none;
}

.firebot-events-details summary::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
    flex: 0 0 auto;
    height: 9px;
    margin-left: auto;
    transform: rotate(45deg);
    transition: transform .16s ease;
    width: 9px;
}

.firebot-events-details[open] summary::after {
    transform: rotate(225deg);
}

.firebot-events-content {
    border: 0;
    border-radius: 0;
}

.firebot-example-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.firebot-json-card small,
.copy-value-block small[data-test-webhook-result] {
    color: var(--muted);
}

.copy-value-block small[data-test-webhook-result] {
    display: block;
    min-height: 18px;
}

.bot-command-filters label {
    display: grid;
    gap: 6px;
}

.bot-command-filters label span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

@media (max-width: 640px) {
    .firebot-field-list {
        grid-template-columns: 1fr;
    }

    .firebot-step-details summary {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .firebot-step-details summary > code {
        flex-basis: 100%;
        text-align: left;
    }
}

.setup-steps-layout,
.tool-overview-grid,
.settings-layout {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: 260px minmax(0, 1fr);
}

.setup-step-list,
.setup-checklist {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.setup-step-list li,
.setup-check {
    background: var(--panel-strong);
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 4px;
    padding: 12px;
}

.setup-step-list span,
.setup-check small {
    color: var(--muted);
}

.setup-check span {
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    justify-self: start;
    padding: 4px 7px;
    text-transform: uppercase;
}

.setup-check.complete span {
    background: color-mix(in srgb, var(--success) 22%, transparent);
    color: #86efac;
}

.setup-check.pending span {
    background: color-mix(in srgb, var(--danger) 20%, transparent);
    color: #fca5a5;
}

.settings-layout {
    grid-template-columns: 220px minmax(0, 1fr);
}

.settings-sidebar {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 4px;
    padding: 8px;
    position: sticky;
    top: 86px;
}

.settings-sidebar a {
    border-radius: 6px;
    color: var(--text);
    font-weight: 800;
    padding: 10px 12px;
    text-decoration: none;
}

.settings-sidebar a:hover {
    background: var(--panel-strong);
}

.settings-sidebar a[aria-current="page"] {
    background: var(--panel-strong);
    box-shadow: inset 3px 0 0 var(--brand);
}

.settings-sidebar .danger-link[aria-current="page"] {
    box-shadow: inset 3px 0 0 var(--danger);
}

.settings-sidebar .danger-link {
    color: #fca5a5;
}

.settings-content-stack {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.section-title-row {
    align-items: start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 16px;
}

.section-title-row h2 {
    margin: 0;
}

.settings-detail-list {
    display: grid;
    gap: 8px 16px;
    grid-template-columns: max-content minmax(0, 1fr);
    margin: 0;
}

.settings-detail-list dt {
    color: var(--muted);
    font-weight: 800;
}

.settings-detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.settings-action-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.settings-action-row form {
    margin: 0;
}

.danger-zone-panel {
    border-color: color-mix(in srgb, var(--danger) 58%, var(--line));
}

.tool-overview-panel,
.tool-chat-commands-panel,
.customize-wordsnipe-panel,
.tool-overlay-panel {
    border-color: var(--line);
}

.wordsnipe-preview-column {
    position: sticky;
    top: 86px;
}

.wordsnipe-customize-layout:not(.wordsnipe-visual-layout) {
    grid-template-columns: repeat(2, minmax(220px, 1fr)) minmax(320px, .95fr);
}

.advanced-setup-details {
    margin-top: 20px;
}

.advanced-setup-details > .bot-setup-panel {
    border: 0;
    margin-top: 0;
}

@media (max-width: 900px) {
    .settings-layout,
    .setup-steps-layout,
    .tool-overview-grid,
    .overlay-command-card header,
    .overlay-command-columns {
        grid-template-columns: 1fr;
    }

    .settings-sidebar,
    .wordsnipe-preview-column {
        position: static;
    }

    .settings-sidebar {
        display: flex;
        flex-wrap: wrap;
    }

    .wordsnipe-customize-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .command-center-tabs .wordsnipe-tab-list,
    .wordsnipe-tab-list {
        align-items: stretch;
        flex-direction: column;
    }

    .command-center-tabs .wordsnipe-tab-list a,
    .wordsnipe-tab-list button {
        border: 1px solid var(--line);
        border-radius: 8px;
        text-align: left;
    }

    .command-mini-card,
    .copy-command-row {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Light theme contrast fixes */
html[data-theme="light"] .gfj-source-panel,
html[data-theme="light"] .gfj-dashboard-panel,
html[data-theme="light"] .gfj-source-stats div,
html[data-theme="light"] .gfj-source-alert,
html[data-theme="light"] .gfj-chat-card {
    box-shadow: none;
}

html[data-theme="light"] .gfj-source-alert {
    background: #fff7ed;
    border-color: #f97316;
    border-left-color: #f97316;
    color: #1f2937;
}

html[data-theme="light"] .gfj-source-alert strong,
html[data-theme="light"] .gfj-source-alert span {
    color: #1f2937 !important;
}

html[data-theme="light"] .gfj-source-alert a {
    color: #9a3412;
    text-decoration-thickness: 2px;
}

html[data-theme="light"] .gfj-source-alert a:hover {
    color: #7c2d12;
}

html[data-theme="light"] .gfj-source-tabs {
    border-bottom-color: #cbd5e1;
}

html[data-theme="light"] .gfj-source-tabs label {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #172033;
}

html[data-theme="light"] .gfj-source-tabs label:hover {
    background: #eef2f7;
    color: #0f172a;
}

html[data-theme="light"] #gfj-tab-events:checked ~ .gfj-source-tabs label[for="gfj-tab-events"],
html[data-theme="light"] #gfj-tab-reminders:checked ~ .gfj-source-tabs label[for="gfj-tab-reminders"],
html[data-theme="light"] #gfj-tab-followers:checked ~ .gfj-source-tabs label[for="gfj-tab-followers"],
html[data-theme="light"] #gfj-tab-donations:checked ~ .gfj-source-tabs label[for="gfj-tab-donations"],
html[data-theme="light"] #gfj-tab-subs:checked ~ .gfj-source-tabs label[for="gfj-tab-subs"],
html[data-theme="light"] #gfj-tab-raids:checked ~ .gfj-source-tabs label[for="gfj-tab-raids"],
html[data-theme="light"] #gfj-tab-giveaways:checked ~ .gfj-source-tabs label[for="gfj-tab-giveaways"],
html[data-theme="light"] #gfj-tab-prizes:checked ~ .gfj-source-tabs label[for="gfj-tab-prizes"] {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #7f1d1d;
}

html[data-theme="light"] .setup-step-status.completed,
html[data-theme="light"] .setup-check.complete span {
    background: #dcfce7;
    border: 1px solid #86efac;
    color: #14532d;
}

html[data-theme="light"] .setup-step-status.needs-setup,
html[data-theme="light"] .setup-check.pending span {
    background: #fee2e2;
    border: 1px solid #fca5a5;
    color: #7f1d1d;
}

html[data-theme="light"] .setup-step-status.optional {
    background: #fef3c7;
    border-color: #fbbf24;
    color: #78350f;
}

/* Theme variants */
html[data-theme="light-pink"] {
    color-scheme: light;
    --bg: #ffffff;
    --panel: #ffffff;
    --panel-strong: #fdf2f8;
    --text: #172033;
    --muted: #526070;
    --line: #fbcfe8;
    --brand: #db2777;
    --brand-dark: #be185d;
    --danger: #b42318;
    --success: #087443;
    --shadow-red: rgba(15, 23, 42, .08);
    --bs-primary: #db2777;
    --bs-primary-rgb: 219, 39, 119;
    --bs-body-bg: #ffffff;
    --bs-body-color: #172033;
    --bs-border-color: #fbcfe8;
    --bs-link-color: #be185d;
    --bs-link-hover-color: #9d174d;
}

html[data-theme="dark-blue"] {
    color-scheme: dark;
    --bg: #1f1f1f;
    --panel: #2b2b2b;
    --panel-strong: #242424;
    --text: #ffffff;
    --muted: #d2d2d2;
    --line: #444444;
    --brand: #2563eb;
    --brand-dark: #1d4ed8;
    --danger: #ef4444;
    --success: #22c55e;
    --shadow-red: rgba(37, 99, 235, .35);
    --bs-primary: #2563eb;
    --bs-primary-rgb: 37, 99, 235;
    --bs-body-bg: #1f1f1f;
    --bs-body-color: #ffffff;
    --bs-border-color: #444444;
    --bs-link-color: #60a5fa;
    --bs-link-hover-color: #93c5fd;
}

html[data-theme="dark-green"] {
    color-scheme: dark;
    --bg: #1f1f1f;
    --panel: #2b2b2b;
    --panel-strong: #242424;
    --text: #ffffff;
    --muted: #d2d2d2;
    --line: #444444;
    --brand: #16a34a;
    --brand-dark: #15803d;
    --danger: #ef4444;
    --success: #22c55e;
    --shadow-red: rgba(22, 163, 74, .35);
    --bs-primary: #16a34a;
    --bs-primary-rgb: 22, 163, 74;
    --bs-body-bg: #1f1f1f;
    --bs-body-color: #ffffff;
    --bs-border-color: #444444;
    --bs-link-color: #4ade80;
    --bs-link-hover-color: #86efac;
}

html[data-theme="dark-red"] {
    color-scheme: dark;
    --bg: #1f1f1f;
    --panel: #2b2b2b;
    --panel-strong: #242424;
    --text: #ffffff;
    --muted: #d2d2d2;
    --line: #444444;
    --brand: #e10600;
    --brand-dark: #b90500;
    --danger: #ef4444;
    --success: #22c55e;
    --shadow-red: rgba(225, 6, 0, .35);
    --bs-primary: #e10600;
    --bs-primary-rgb: 225, 6, 0;
    --bs-body-bg: #1f1f1f;
    --bs-body-color: #ffffff;
    --bs-border-color: #444444;
    --bs-link-color: #ff5a55;
    --bs-link-hover-color: #ff8a86;
}

.light-pink-preview {
    background: #ffffff;
}

.light-pink-preview span:first-child {
    background: #db2777;
}

.light-pink-preview span:nth-child(2) {
    background: #172033;
    width: 64%;
}

.light-pink-preview span:nth-child(3) {
    background: #db2777;
    width: 34%;
}

.dark-blue-preview span:first-child,
.dark-blue-preview span:nth-child(3) {
    background: #2563eb;
}

.dark-green-preview span:first-child,
.dark-green-preview span:nth-child(3) {
    background: #16a34a;
}

.dark-foolish-purple-preview span:first-child,
.dark-foolish-purple-preview span:nth-child(3) {
    background: #9b5cff;
}

.dark-red-preview span:first-child,
.dark-red-preview span:nth-child(3) {
    background: #e10600;
}

/* Light pink theme contrast fixes */
html[data-theme="light-pink"] .navbar-toggler-icon {
    filter: none;
}

html[data-theme="light-pink"] .data-table th,
html[data-theme="light-pink"] .project-status,
html[data-theme="light-pink"] .status-pill.pending {
    color: var(--text);
}

html[data-theme="light-pink"] .gfj-source-panel,
html[data-theme="light-pink"] .gfj-dashboard-panel,
html[data-theme="light-pink"] .gfj-source-stats div,
html[data-theme="light-pink"] .gfj-source-alert,
html[data-theme="light-pink"] .gfj-chat-card {
    box-shadow: none;
}

html[data-theme="light-pink"] .gfj-source-alert {
    background: #fdf2f8;
    border-color: #db2777;
    border-left-color: #db2777;
    color: #1f2937;
}

html[data-theme="light-pink"] .gfj-source-alert strong,
html[data-theme="light-pink"] .gfj-source-alert span {
    color: #1f2937 !important;
}

html[data-theme="light-pink"] .gfj-source-alert a {
    color: #be185d;
    text-decoration-thickness: 2px;
}

html[data-theme="light-pink"] .gfj-source-alert a:hover {
    color: #9d174d;
}

html[data-theme="light-pink"] .gfj-source-tabs {
    border-bottom-color: #fbcfe8;
}

html[data-theme="light-pink"] .gfj-source-tabs label {
    background: #fdf2f8;
    border-color: #fbcfe8;
    color: #172033;
}

html[data-theme="light-pink"] .gfj-source-tabs label:hover {
    background: #fce7f3;
    color: #831843;
}

html[data-theme="light-pink"] #gfj-tab-events:checked ~ .gfj-source-tabs label[for="gfj-tab-events"],
html[data-theme="light-pink"] #gfj-tab-reminders:checked ~ .gfj-source-tabs label[for="gfj-tab-reminders"],
html[data-theme="light-pink"] #gfj-tab-followers:checked ~ .gfj-source-tabs label[for="gfj-tab-followers"],
html[data-theme="light-pink"] #gfj-tab-donations:checked ~ .gfj-source-tabs label[for="gfj-tab-donations"],
html[data-theme="light-pink"] #gfj-tab-subs:checked ~ .gfj-source-tabs label[for="gfj-tab-subs"],
html[data-theme="light-pink"] #gfj-tab-raids:checked ~ .gfj-source-tabs label[for="gfj-tab-raids"],
html[data-theme="light-pink"] #gfj-tab-giveaways:checked ~ .gfj-source-tabs label[for="gfj-tab-giveaways"],
html[data-theme="light-pink"] #gfj-tab-prizes:checked ~ .gfj-source-tabs label[for="gfj-tab-prizes"] {
    background: #fce7f3;
    border-color: #f9a8d4;
    color: #831843;
}

html[data-theme="light-pink"] .setup-step-status.completed,
html[data-theme="light-pink"] .setup-check.complete span {
    background: #dcfce7;
    border: 1px solid #86efac;
    color: #14532d;
}

html[data-theme="light-pink"] .setup-step-status.needs-setup,
html[data-theme="light-pink"] .setup-check.pending span {
    background: #fce7f3;
    border: 1px solid #f9a8d4;
    color: #831843;
}

html[data-theme="light-pink"] .setup-step-status.optional {
    background: #fef3c7;
    border-color: #fbbf24;
    color: #78350f;
}


/* Final theme accent adjustments */
html[data-theme="light"] {
    --brand: #3b82f6;
    --brand-dark: #2563eb;
    --line: #cbd5e1;
    --bs-primary: #3b82f6;
    --bs-primary-rgb: 59, 130, 246;
    --bs-link-color: #2563eb;
    --bs-link-hover-color: #1d4ed8;
}

html[data-theme="dark-pink"] {
    color-scheme: dark;
    --bg: #1f1f1f;
    --panel: #2b2b2b;
    --panel-strong: #242424;
    --text: #ffffff;
    --muted: #d2d2d2;
    --line: #444444;
    --brand: #db2777;
    --brand-dark: #be185d;
    --danger: #ef4444;
    --success: #22c55e;
    --shadow-red: rgba(219, 39, 119, .35);
    --bs-primary: #db2777;
    --bs-primary-rgb: 219, 39, 119;
    --bs-body-bg: #1f1f1f;
    --bs-body-color: #ffffff;
    --bs-border-color: #444444;
    --bs-link-color: #f472b6;
    --bs-link-hover-color: #f9a8d4;
}

.light-preview span:nth-child(3) {
    background: #3b82f6;
}

.dark-pink-preview span:first-child,
.dark-pink-preview span:nth-child(3) {
    background: #db2777;
}

html[data-theme="light"] .gfj-source-alert {
    background: #eff6ff;
    border-color: #3b82f6;
    border-left-color: #3b82f6;
}

html[data-theme="light"] .gfj-source-alert a {
    color: #1d4ed8;
}

html[data-theme="light"] .gfj-source-alert a:hover {
    color: #1e40af;
}

html[data-theme="light"] #gfj-tab-events:checked ~ .gfj-source-tabs label[for="gfj-tab-events"],
html[data-theme="light"] #gfj-tab-reminders:checked ~ .gfj-source-tabs label[for="gfj-tab-reminders"],
html[data-theme="light"] #gfj-tab-followers:checked ~ .gfj-source-tabs label[for="gfj-tab-followers"],
html[data-theme="light"] #gfj-tab-donations:checked ~ .gfj-source-tabs label[for="gfj-tab-donations"],
html[data-theme="light"] #gfj-tab-subs:checked ~ .gfj-source-tabs label[for="gfj-tab-subs"],
html[data-theme="light"] #gfj-tab-raids:checked ~ .gfj-source-tabs label[for="gfj-tab-raids"],
html[data-theme="light"] #gfj-tab-giveaways:checked ~ .gfj-source-tabs label[for="gfj-tab-giveaways"],
html[data-theme="light"] #gfj-tab-prizes:checked ~ .gfj-source-tabs label[for="gfj-tab-prizes"] {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #1e3a8a;
}

html[data-theme="light"] .setup-step-status.needs-setup,
html[data-theme="light"] .setup-check.pending span {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #1e3a8a;
}

html[data-theme="light"] .gfj-tab-unread-badge,
html[data-theme="light-pink"] .gfj-tab-unread-badge {
    background: #15803d;
    border-color: #ffffff;
    color: #ffffff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .18);
}

.redeem-refresh-hint {
    color: var(--text);
    font-size: .875rem;
    margin-top: .35rem;
    text-align: right;
}

.redeem-refresh-hint a {
    color: var(--bs-link-color, var(--brand));
    font-weight: 700;
}

.redeem-refresh-hint a:hover {
    color: var(--bs-link-hover-color, var(--brand-dark));
}

.command-handling-panel .setup-panel-heading {
    margin-bottom: 1.1rem;
}

.command-handling-panel .setup-panel-heading h2 {
    font-size: clamp(1.45rem, 2vw, 1.8rem);
    font-weight: 850;
    letter-spacing: 0;
    margin-bottom: 0.35rem;
}

.command-handling-panel .setup-panel-heading .muted {
    color: color-mix(in srgb, var(--muted) 86%, var(--text));
    font-size: 0.98rem;
    line-height: 1.55;
    margin: 0;
}

.command-handling-panel .recommended-command-setup,
.command-instructions-panel .command-instruction-group {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--brand) 12%, transparent), transparent 44%),
        color-mix(in srgb, var(--panel) 90%, var(--panel-strong, var(--line)));
    border: 1px solid color-mix(in srgb, var(--brand) 24%, var(--line));
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
    margin-bottom: 1.15rem;
    padding: 1.05rem;
}

.recommended-command-setup {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.recommended-command-copy,
.recommended-command-title-row,
.command-handler-main,
.command-handler-header,
.command-handler-controls {
    display: grid;
    gap: 0.65rem;
}

.recommended-command-title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.setup-badge,
.command-handler-badge {
    align-items: center;
    background: color-mix(in srgb, var(--brand) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--brand) 38%, var(--line));
    border-radius: 999px;
    color: color-mix(in srgb, var(--text) 92%, var(--brand));
    display: inline-flex;
    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1;
    padding: 0.33rem 0.58rem;
    text-transform: uppercase;
}

.command-handler-badge {
    background: color-mix(in srgb, var(--panel-strong, var(--panel)) 72%, transparent);
    border-color: color-mix(in srgb, var(--line) 78%, transparent);
    color: color-mix(in srgb, var(--muted) 82%, var(--text));
    font-size: 0.66rem;
}

.command-handler-details summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 0.75rem;
    padding: 0.35rem 0 0.95rem;
}

.command-handler-details summary::marker {
    color: var(--muted);
}

.advanced-setup-summary-text {
    display: grid;
    gap: 0.25rem;
}

.advanced-setup-summary-text strong {
    font-size: 1.05rem;
    font-weight: 820;
}

.advanced-setup-summary-text small,
.recommended-command-setup p,
.command-handler-header p {
    color: color-mix(in srgb, var(--muted) 86%, var(--text));
}

.recommended-command-setup p,
.command-handler-header p {
    font-size: 0.94rem;
    line-height: 1.55;
}

.command-handler-form {
    display: grid;
    gap: 1.15rem;
}

.command-handler-list {
    display: grid;
    gap: 0.95rem;
}

.command-handler-card {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--text) 4%, transparent), transparent 42%),
        color-mix(in srgb, var(--panel) 86%, var(--panel-strong, #000000));
    border: 1px solid color-mix(in srgb, var(--line) 88%, transparent);
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055), 0 12px 28px rgba(0, 0, 0, .12);
    display: grid;
    gap: 1rem;
    overflow: hidden;
    padding: 1.05rem;
    position: relative;
}

.command-handler-card::before {
    background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 90%, #ffffff), color-mix(in srgb, var(--brand) 45%, transparent));
    border-radius: 999px;
    content: "";
    inset: 1rem auto 1rem 0;
    opacity: .85;
    position: absolute;
    width: 3px;
}

.command-handler-card.has-command-conflict::before {
    background: linear-gradient(180deg, #f59e0b, color-mix(in srgb, #f59e0b 45%, transparent));
}

.command-handler-card summary::-webkit-details-marker {
    display: none;
}

.command-handler-summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr) 1rem;
    list-style: none;
    margin: -1.05rem;
    padding: 1.05rem;
}

.command-handler-summary::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    color: var(--muted);
    content: "";
    height: 9px;
    justify-self: end;
    transform: rotate(45deg);
    transition: transform .16s ease;
    width: 9px;
}

.command-handler-card[open] .command-handler-summary {
    border-bottom: 1px solid color-mix(in srgb, var(--line) 58%, transparent);
    margin-bottom: 0;
}

.command-handler-card[open] .command-handler-summary::after {
    transform: rotate(225deg);
}

.command-handler-summary-text {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.command-handler-summary-text > span:last-child {
    color: color-mix(in srgb, var(--muted) 86%, var(--text));
    font-size: 0.94rem;
    line-height: 1.45;
}

.command-handler-summary strong {
    color: var(--text);
    font-size: 1.13rem;
    font-weight: 850;
    line-height: 1.2;
}

.command-handler-body {
    display: grid;
    gap: 1rem;
    padding-top: 1rem;
}

.command-handler-card:not([open]) {
    gap: 0;
}

.command-handler-card:not([open]) .command-handler-summary {
    margin-bottom: -1.05rem;
}

.command-handler-header h3,
.command-handler-header p,
.recommended-command-setup h3,
.recommended-command-setup p,
.command-instruction-group h3 {
    margin: 0;
}

.command-handler-title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.command-handler-icon {
    align-items: center;
    background: color-mix(in srgb, var(--brand) 18%, var(--panel-strong, var(--panel)));
    border: 1px solid color-mix(in srgb, var(--brand) 48%, var(--line));
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
    display: inline-flex;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.command-handler-icon::before {
    background: var(--brand);
    border-radius: 999px;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent);
    content: "";
    height: 0.55rem;
    width: 0.55rem;
}

.command-handler-header h3 {
    color: var(--text);
    flex: 0 1 auto;
    font-size: 1.13rem;
    font-weight: 850;
    line-height: 1.2;
}

.command-preview-row {
    align-items: center;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--text) 3%, transparent), transparent),
        color-mix(in srgb, var(--panel-strong, var(--panel)) 86%, #000000);
    border: 1px solid color-mix(in srgb, var(--line) 74%, transparent);
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055);
    display: grid;
    gap: 0.45rem 0.7rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0.7rem 0.75rem;
}

.command-preview-row span,
.handler-group-label {
    color: color-mix(in srgb, var(--muted) 78%, var(--text));
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.command-preview-row code {
    background: color-mix(in srgb, #000000 18%, transparent);
    border: 1px solid color-mix(in srgb, var(--line) 52%, transparent);
    border-radius: 6px;
    color: color-mix(in srgb, var(--text) 92%, var(--brand));
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.95rem;
    font-weight: 750;
    line-height: 1.35;
    min-width: 0;
    overflow-wrap: anywhere;
    padding: 0.42rem 0.55rem;
}

.command-preview-row .copy-button {
    align-self: stretch;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 800;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
}

.command-handler-controls {
    border-top: 1px solid color-mix(in srgb, var(--line) 54%, transparent);
    padding-top: 0.2rem;
}

.handler-choice-group {
    align-content: start;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.handler-choice {
    align-items: center;
    background: color-mix(in srgb, var(--panel-strong, var(--panel)) 80%, transparent);
    border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
    border-radius: 999px;
    color: color-mix(in srgb, var(--muted) 86%, var(--text));
    cursor: pointer;
    display: inline-flex;
    font-size: 0.89rem;
    font-weight: 760;
    gap: 0.4rem;
    min-height: 2.45rem;
    padding: 0.5rem 0.82rem;
    position: relative;
    transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.handler-choice:hover {
    background: color-mix(in srgb, var(--brand) 10%, var(--panel-strong, var(--panel)));
    border-color: color-mix(in srgb, var(--brand) 38%, var(--line));
    color: var(--text);
}

.handler-choice input {
    cursor: pointer;
    height: 100%;
    inset: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    width: 100%;
}

.handler-choice-label {
    align-items: center;
    display: inline-flex;
    gap: 0.42rem;
    white-space: nowrap;
}

.handler-choice-label::before {
    border: 1px solid currentColor;
    border-radius: 999px;
    content: "";
    display: inline-block;
    height: 0.58rem;
    opacity: .7;
    width: 0.58rem;
}

.handler-choice.active,
.handler-choice:has(input:checked) {
    background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 28%, var(--panel)), color-mix(in srgb, var(--brand) 17%, var(--panel-strong, var(--panel))));
    border-color: color-mix(in srgb, var(--brand) 78%, var(--line));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand) 30%, transparent), 0 6px 18px color-mix(in srgb, var(--brand) 16%, transparent);
    color: #ffffff;
}

.handler-choice.active .handler-choice-label::before,
.handler-choice:has(input:checked) .handler-choice-label::before {
    background: #ffffff;
    border-color: #ffffff;
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--brand) 86%, #000000);
    opacity: 1;
}

.handler-choice:focus-within {
    outline: 2px solid color-mix(in srgb, var(--brand) 70%, transparent);
    outline-offset: 2px;
}


.handler-bot-message {
    display: grid;
    gap: 0.45rem;
    width: 100%;
}

.handler-bot-message[hidden] {
    display: none;
}

.handler-bot-message span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.handler-bot-message input {
    width: 100%;
}

.handler-note {
    align-items: start;
    background: color-mix(in srgb, var(--panel-strong, var(--panel)) 74%, transparent);
    border: 1px solid color-mix(in srgb, var(--line) 66%, transparent);
    border-radius: 8px;
    color: color-mix(in srgb, var(--muted) 88%, var(--text));
    display: grid;
    font-size: 0.9rem;
    gap: 0.6rem;
    grid-template-columns: auto minmax(0, 1fr);
    line-height: 1.5;
    margin: 0;
    padding: 0.72rem 0.82rem;
    text-align: left;
}

.handler-note::before {
    background: var(--muted);
    border-radius: 999px;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--muted) 14%, transparent);
    content: "";
    height: 0.5rem;
    margin-top: 0.35rem;
    width: 0.5rem;
}

.handler-note-success {
    background: color-mix(in srgb, var(--success) 10%, var(--panel-strong, var(--panel)));
    border-color: color-mix(in srgb, var(--success) 30%, var(--line));
}

.handler-note-success::before {
    background: var(--success);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--success) 16%, transparent);
}

.handler-note-info {
    background: color-mix(in srgb, #4f9cf9 10%, var(--panel-strong, var(--panel)));
    border-color: color-mix(in srgb, #4f9cf9 32%, var(--line));
}

.handler-note-info::before {
    background: #4f9cf9;
    box-shadow: 0 0 0 4px color-mix(in srgb, #4f9cf9 16%, transparent);
}

.handler-note-muted {
    opacity: .92;
}

.dashboard-control-visibility-form {
    background: color-mix(in srgb, var(--panel-strong, var(--panel)) 78%, transparent);
    border: 1px solid color-mix(in srgb, var(--brand) 34%, var(--line));
    border-radius: 8px;
    margin-bottom: 1rem;
    padding: .85rem 1rem;
}

.dashboard-control-visibility-form .checkbox-field {
    margin-bottom: .35rem;
}

.dashboard-control-visibility-form .form-actions {
    margin-bottom: 0;
}

.command-warning-block {
    background: color-mix(in srgb, #f59e0b 14%, var(--panel));
    border: 1px solid color-mix(in srgb, #f59e0b 54%, var(--line));
    border-radius: 8px;
    margin-top: 0.15rem;
    padding: 0.7rem 0.8rem;
}

@media (max-width: 760px) {
    .recommended-command-setup {
        grid-template-columns: 1fr;
    }

    .recommended-command-setup form,
    .recommended-command-setup button {
        width: 100%;
    }

    .command-preview-row {
        grid-template-columns: 1fr auto;
    }

    .command-preview-label {
        grid-column: 1 / -1;
    }

    .handler-choice {
        justify-content: center;
    }
}

@media (max-width: 520px) {
    .command-handler-title-row {
        align-items: flex-start;
    }

    .command-handler-badge {
        margin-left: 2.55rem;
    }

    .command-preview-row {
        grid-template-columns: 1fr;
    }

    .command-preview-row .copy-button {
        width: 100%;
    }

    .handler-choice-group {
        display: grid;
        grid-template-columns: 1fr;
    }

    .handler-choice-label {
        white-space: normal;
    }
}

.builtin-bot-status-grid,
.custom-webhook-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin: 0.75rem 0;
}

/* Counters utility */
.counter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;margin-bottom:1rem}.counter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.counter-card{padding:1rem;margin:0}.counter-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.counter-card-head h2{font-size:1.15rem;margin:0 0 .2rem}.counter-meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;color:var(--muted,#aaa);font-size:.85rem;margin:.8rem 0}.counter-stepper{display:grid;grid-template-columns:3.25rem 1fr 3.25rem;align-items:center;gap:.7rem;margin:.8rem 0}.counter-stepper strong{text-align:center;font-size:2rem}.counter-stepper form{margin:0}.counter-step{width:100%;min-height:2.8rem;border:1px solid #722;background:#1a1111;color:#fff;border-radius:.35rem;font-size:1.45rem}.counter-step:hover{background:#6e1119}.counter-actions{display:flex;flex-wrap:wrap;gap:.45rem}.counter-actions form{margin:0}.counter-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.counter-checks{display:flex;flex-wrap:wrap;gap:1rem;margin:.8rem 0}.permission-presets{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}.permission-presets button{font-size:.8rem;padding:.35rem .55rem}.permission-matrix{width:100%;border-collapse:collapse;text-align:center}.permission-matrix th,.permission-matrix td{padding:.5rem;border-bottom:1px solid #3b3030}.permission-matrix th:first-child{text-align:left}.counter-select-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin:.7rem 0}.pagination{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1rem}.pagination a{padding:.35rem .6rem;border:1px solid #533;border-radius:.25rem}.pagination a.active{background:#8b1720;color:#fff}@media(max-width:800px){.counter-grid,.counter-form-grid{grid-template-columns:1fr}.counter-toolbar{align-items:flex-start;flex-direction:column}.counter-select-list{grid-template-columns:1fr}.counter-actions>*{flex:1}.counter-actions .button{width:100%}}
.custom-command-actions,.custom-command-test{grid-column:1/-1}.custom-command-section-heading,.action-row-head,.action-row-controls{align-items:center;display:flex;gap:8px;justify-content:space-between}.custom-command-section-heading h3,.custom-command-section-heading p{margin:0}.action-picker{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;padding:8px}.action-picker[hidden]{display:none}.action-picker strong{align-self:center;margin:0 4px}.custom-action-row{border-top:1px solid var(--line);padding:10px 0}.action-fields{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));margin:8px 0}.action-fields label{font-size:.82rem}.action-fields input,.action-fields select{width:100%}.action-row-head button,.action-row-controls button,.action-picker button{padding:5px 8px}.drag-handle{color:var(--muted);cursor:grab}.action-validation{color:var(--success);font-size:.8rem;margin-left:auto}.custom-command-test{display:grid;gap:8px}.custom-command-test output{color:var(--muted)}
/* Live dashboard control center */
.counter-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.counter-dashboard-card-setting{margin:0}.counter-dashboard-card-setting label{align-items:center;cursor:pointer;display:inline-flex;gap:.5rem;justify-content:flex-start;margin:0;text-align:left}.counter-dashboard-card-setting input[type="checkbox"]{flex:0 0 auto;height:1rem;margin:0;width:1rem}@media(max-width:800px){.counter-toolbar-actions{align-items:flex-start;flex-direction:column;width:100%}}
body:has(.live-control-center) .gfj-dashboard-layout{display:block;padding:1rem 1.1rem 2rem;max-width:none}
.dashboard-bot-health-alert{margin:0 0 1rem}
.chat-left>.dashboard-bot-health-alert{margin-left:392px}.chat-right>.dashboard-bot-health-alert{margin-right:392px}
body:has(.live-control-center) .gfj-chat-panel{position:fixed;top:88px;bottom:24px;height:auto;width:min(352px,calc(100vw - 2.2rem));z-index:1010}
body:has(.live-control-center) .gfj-dashboard-layout.chat-left .gfj-chat-panel{left:1.1rem;right:auto}
body:has(.live-control-center) .gfj-dashboard-layout.chat-right .gfj-chat-panel{left:auto;right:1.1rem}
body:has(.live-control-center) .gfj-chat-card{height:100%;display:flex;flex-direction:column;border:1px solid var(--brand);border-radius:8px;background:#090d13}
body:has(.live-control-center) .gfj-chat-messages{flex:1;min-height:330px}
.live-control-center{min-width:0;width:calc(100% - 392px)}.chat-left>.live-control-center{margin-left:392px;margin-right:0}.chat-right>.live-control-center{margin-left:0;margin-right:392px}.live-control-center>header{padding:.55rem .25rem .75rem}.live-control-center>header h1{font-size:1.55rem;text-transform:uppercase;margin:0}.live-control-center>header p,.control-section-heading p{color:#aeb2bb;margin:.25rem 0 0}
.dashboard-commands{border:1px solid var(--brand);border-radius:8px;background:linear-gradient(135deg,#0d1118,#080b10);padding:1rem 1.25rem;margin-bottom:1rem}.control-section-heading{display:flex;gap:.8rem;align-items:center}.control-section-heading h2{font-size:1rem;text-transform:uppercase;margin:0}.control-icon{font-size:1.5rem;color:var(--brand)}.counter-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:.75rem;margin-top:.8rem}.counter-quick{display:grid;grid-template-columns:minmax(70px,1fr) 34px 40px 34px;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:7px;padding:.5rem .65rem}.counter-quick button{background:var(--panel-strong);border:0;border-radius:5px;color:var(--text);font-size:1.2rem;min-height:34px}.counter-quick output{text-align:center;font-weight:700;font-size:1.1rem}.adjust-counter-button{border:1px solid var(--line);background:var(--panel-strong);color:var(--text);border-radius:7px;min-height:48px}
.overlay-control-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:1rem}.overlay-control-card{--accent:var(--brand);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1rem;box-shadow:none}.overlay-control-card>header{display:flex;justify-content:space-between;gap:.75rem;align-items:start;margin-bottom:.8rem}.overlay-control-card>header>div{display:grid;grid-template-columns:auto 1fr;column-gap:.65rem}.overlay-control-card h2{font-size:1rem;text-transform:uppercase;margin:0}.overlay-control-card header small{grid-column:2;color:var(--muted)}.overlay-tool-icon{grid-row:1/3;color:var(--accent);font-size:1.8rem}.overlay-status{color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--success) 35%,var(--line));border-radius:5px;padding:.3rem .65rem;font-size:.8rem}.overlay-actions{display:grid;gap:.3rem}.overlay-actions button,.overlay-actions a{display:block;text-align:center;border:1px solid var(--line);background:var(--panel-strong);color:var(--text);border-radius:5px;padding:.48rem;text-decoration:none;text-transform:uppercase;font-size:.8rem;min-height:38px}.overlay-actions button:hover,.overlay-actions a:hover{border-color:var(--accent)}.open-redeems{border:1px solid var(--line);border-radius:6px;margin-top:.45rem;padding:.5rem}.open-redeems h3{font-size:.78rem;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem;text-align:center}.open-redeems h3 span{background:var(--panel-strong);border-radius:10px;padding:.1rem .45rem;color:var(--text)}.open-redeem-list{max-height:150px;overflow:auto}.open-redeem-list>div{display:flex;align-items:center;justify-content:space-between;background:var(--panel-strong);border:1px solid var(--line);border-radius:4px;padding:.35rem .5rem;margin:.2rem 0}.open-redeem-list span{display:flex;flex-direction:column;min-width:0}.open-redeem-list small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.open-redeem-list button{background:var(--panel-strong);color:var(--text);border:1px solid var(--line);border-radius:4px;min-width:34px;min-height:32px}.open-redeem-list>p,.control-empty{text-align:center;color:var(--muted);padding:1rem}.control-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:8px}.control-form-error{color:var(--danger);margin:.75rem 0 0}.control-toast{position:fixed;right:1rem;bottom:1rem;z-index:2000;background:color-mix(in srgb,var(--success) 22%,var(--panel));border:1px solid var(--success);color:var(--text);padding:.7rem 1rem;border-radius:6px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none}.control-toast.error{background:color-mix(in srgb,var(--danger) 22%,var(--panel));border-color:var(--danger)}.control-toast.show{opacity:1;transform:none}
@media(max-width:1250px){.overlay-control-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.counter-quick-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}}
@media(max-width:850px){body:has(.live-control-center) .gfj-dashboard-layout{display:flex;flex-direction:column;padding:.75rem}body:has(.live-control-center) .gfj-chat-panel{position:static;width:100%;height:min(650px,75vh)}.live-control-center,.chat-left>.live-control-center,.chat-right>.live-control-center{width:100%;margin-left:0;margin-right:0}.chat-left>.dashboard-bot-health-alert,.chat-right>.dashboard-bot-health-alert{margin-left:0;margin-right:0}.overlay-control-grid,.counter-quick-grid{grid-template-columns:1fr}.overlay-control-card{min-width:0}}

/* Activity page columns */
.gfj-dashboard-layout.gfj-activity-layout{display:block!important;max-width:none}
.gfj-activity-layout>.gfj-dashboard-shell{max-width:none;width:100%}
.gfj-activity-columns{display:grid;grid-template-columns:minmax(290px,352px) minmax(0,1fr);gap:2.5rem;align-items:start}
.gfj-activity-columns>.gfj-dashboard-panel{min-width:0;margin:0}
.gfj-activity-columns .gfj-overview-panel .gfj-source-stats{grid-template-columns:1fr;width:100%}
.gfj-activity-columns .gfj-overview-panel .gfj-source-stats>div{width:100%}
@media(max-width:850px){.gfj-activity-columns{grid-template-columns:1fr;gap:1rem}}

.open-redeems h3{display:flex;align-items:center;justify-content:center;gap:.4rem}
.open-redeems-refresh{margin-left:auto;border:0;background:transparent;color:var(--accent);font-size:1rem;line-height:1;padding:.15rem .25rem}
.open-redeems-refresh:hover{color:#fff}

.counter-dashboard-settings label:has(input[type="checkbox"]){display:inline-flex;align-items:center;justify-content:flex-start;gap:.45rem;margin-right:.75rem;width:auto}
.counter-dashboard-settings label:has(input[type="checkbox"]) input[type="checkbox"]{flex:0 0 auto;margin:0;width:1rem;height:1rem}
.counter-dashboard-settings .button{display:block;grid-column:1/-1;justify-self:start;margin-top:.65rem}

/* Reference dashboard composition */
:root,
html[data-theme] {
    --on-brand: #ffffff;
    --theme-accent: var(--brand);
    --theme-accent-hover: var(--brand-dark);
    --theme-accent-muted: color-mix(in srgb, var(--brand) 12%, transparent);
    --theme-accent-border: color-mix(in srgb, var(--brand) 42%, var(--line));
    --theme-accent-surface: color-mix(in srgb, var(--brand) 10%, var(--panel));
    --theme-accent-contrast: var(--on-brand);
    --theme-accent-text: var(--bs-link-color, var(--brand));
    --theme-accent-text-hover: var(--bs-link-hover-color, var(--brand-dark));
    --theme-primary: var(--brand);
    --theme-border: var(--theme-accent-border);
    --theme-hover: var(--theme-accent-muted);
    --theme-active: var(--brand-dark);
    --theme-focus: color-mix(in srgb, var(--brand) 48%, transparent);
    --theme-accent-surface-subtle: color-mix(in srgb, var(--theme-accent) 9%, var(--panel-strong));
    --theme-accent-border-subtle: color-mix(in srgb, var(--theme-accent) 34%, var(--line));
    --event-config-neutral-surface: var(--panel-strong);
}

html[data-theme="light"],
html[data-theme="dark-green"] { --on-brand: #0b1220; --theme-accent-hover: color-mix(in srgb, var(--brand) 88%, #ffffff); }
html[data-theme="light-pink"] { --on-brand: #000000; --theme-accent-hover: color-mix(in srgb, var(--brand) 88%, #ffffff); }

html[data-theme-mode="dark"] {
    --theme-accent-surface-subtle: color-mix(in srgb, var(--theme-accent) 12%, var(--panel-strong));
    --theme-accent-border-subtle: color-mix(in srgb, var(--theme-accent) 38%, var(--line));
    --theme-accent-text: color-mix(in srgb, var(--brand) 62%, #ffffff);
    --theme-accent-text-hover: color-mix(in srgb, var(--brand) 48%, #ffffff);
    --dashboard-page-bg: var(--bg);
    --dashboard-panel-bg: #090d13;
    --dashboard-panel-secondary: #101419;
    --dashboard-card-bg: #0c1119;
    --dashboard-card-elevated: #151a21;
    --dashboard-input-bg: #11151a;
    --dashboard-button-bg: #151a21;
    --dashboard-button-hover-bg: #202731;
    --dashboard-text: var(--text);
    --dashboard-text-secondary: #c8d0dc;
    --dashboard-muted: #929dab;
    --dashboard-border: #303844;
    --dashboard-divider: #30343a;
    --dashboard-shadow: 0 7px 20px rgb(0 0 0 / 24%);
    --dashboard-card-header: color-mix(in srgb, var(--theme-primary) 16%, var(--dashboard-card-bg));
    --dashboard-section-header: color-mix(in srgb, var(--theme-accent) 28%, var(--dashboard-panel-bg));
}

html[data-theme-mode="light"] {
    --theme-accent-surface-subtle: color-mix(in srgb, var(--theme-accent) 6%, var(--panel));
    --theme-accent-border-subtle: color-mix(in srgb, var(--theme-accent) 28%, var(--line));
    --dashboard-page-bg: var(--bg);
    --dashboard-panel-bg: var(--panel);
    --dashboard-panel-secondary: var(--panel-strong);
    --dashboard-card-bg: var(--panel);
    --dashboard-card-elevated: color-mix(in srgb, var(--panel-strong) 82%, var(--panel));
    --dashboard-input-bg: var(--panel);
    --dashboard-button-bg: var(--panel-strong);
    --dashboard-button-hover-bg: color-mix(in srgb, var(--theme-primary) 9%, var(--panel-strong));
    --dashboard-text: var(--text);
    --dashboard-text-secondary: color-mix(in srgb, var(--text) 82%, var(--muted));
    --dashboard-muted: var(--muted);
    --dashboard-border: var(--line);
    --dashboard-divider: var(--line);
    --dashboard-shadow: 0 5px 16px rgb(15 23 42 / 7%);
    --dashboard-card-header: color-mix(in srgb, var(--theme-primary) 10%, var(--dashboard-card-bg));
    --dashboard-section-header: color-mix(in srgb, var(--theme-accent) 16%, var(--dashboard-panel-bg));
}

body:has(.gfj-dashboard-layout), body:has(.gfj-dashboard-layout) .app-shell { background: var(--dashboard-page-bg); }
body:has(.gfj-dashboard-layout) .app-shell { padding: 10px 18px 18px !important; }
.gfj-dashboard-layout {
    display: grid !important;
    grid-template-columns: minmax(350px, 372px) minmax(0, 1fr);
    column-gap: 20px;
    row-gap: 8px;
    max-width: none;
    padding: 0 !important;
    width: 100%;
}
.gfj-dashboard-layout > .gfj-dashboard-shell {
    background: transparent;
    display: block;
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0;
}
.gfj-dashboard-layout .gfj-activity-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.gfj-dashboard-layout .gfj-overview-panel, .gfj-dashboard-layout .gfj-activity-panel { grid-column: auto; grid-row: auto; }
.gfj-dashboard-layout > .live-control-center { grid-column: 1; grid-row: 1; }
.gfj-dashboard-layout.controls-right { grid-template-columns: minmax(0, 1fr) minmax(350px, 372px); }
.gfj-dashboard-layout.controls-right > .gfj-dashboard-shell { grid-column: 1; }
.gfj-dashboard-layout.controls-right > .live-control-center { grid-column: 2; }
.gfj-dashboard-layout > .dashboard-bot-health-alert { grid-column: 1 / -1; order: 0; margin: 0; }
.gfj-activity-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.gfj-activity-columns > .gfj-dashboard-panel {
    background: var(--dashboard-panel-bg);
    border: 1px solid var(--theme-accent);
    border-radius: 7px;
    box-shadow: var(--dashboard-shadow);
    margin: 0;
    min-width: 0;
}
.gfj-overview-panel { padding: 12px 14px 14px; }
.gfj-overview-header { align-items: center; background: var(--dashboard-section-header); border: 0; border-bottom: 1px solid var(--theme-accent-border); border-radius: 6px 6px 0 0; display: flex; gap: 12px; margin: -12px -14px 12px; min-height: 54px; padding: 9px 14px; }
.gfj-overview-title-group { align-items: center; display: flex; gap: 10px; }
.gfj-overview-title-group h2 { color: var(--dashboard-text); font-size: 18px; font-weight: 500; text-transform: uppercase; }
.gfj-activity-panel > .gfj-panel-header h2 { color: var(--dashboard-text); font-size: 18px; font-weight: 400; text-transform: uppercase; }
.overview-pulse { color: var(--theme-primary); font-size: 25px; font-weight: 900; }
.gfj-overview-filter select { background: var(--dashboard-input-bg); border: 1px solid var(--dashboard-border); border-radius: 6px; color: var(--dashboard-text); height: 34px; padding: 0 32px 0 12px; }
.gfj-channel-metrics { display: flex; gap: 10px; margin-left: auto; }
.gfj-channel-metric { align-items: center; background: var(--dashboard-panel-secondary); border: 1px solid var(--dashboard-border); border-radius: 5px; display: flex; gap: 9px; min-height: 44px; padding: 5px 12px; }
.gfj-channel-metric svg { fill: none; height: 18px; stroke: var(--text); stroke-width: 1.8; width: 18px; }
.gfj-channel-metric span { color: var(--dashboard-muted); display: grid; font-size: 12px; line-height: 1.05; }
.gfj-channel-metric strong { color: var(--success); font-size: 18px; line-height: 1; }
.gfj-channel-metric em { align-items: center; color: var(--dashboard-muted); display: flex; font-size: 12px; font-style: normal; gap: 5px; margin-left: 7px; }
.gfj-channel-metric em i { background: var(--dashboard-muted); border-radius: 50%; height: 9px; width: 9px; }
.gfj-channel-metric em.is-live { color: var(--success); }.gfj-channel-metric em.is-live i { background: var(--success); box-shadow: 0 0 8px var(--success); }
.gfj-activity-columns .gfj-overview-panel .gfj-source-stats { display: grid; gap: 10px; grid-template-columns: repeat(6, minmax(110px, 1fr)); width: 100%; }
.gfj-activity-columns .gfj-overview-panel .gfj-source-stats > .overview-stat { align-items: center; background: var(--dashboard-panel-secondary); border: 1px solid var(--dashboard-border); border-radius: 5px; display: flex; gap: 13px; min-height: 78px; padding: 10px 15px; width: auto; }
.overview-stat svg { fill: none; flex: 0 0 40px; height: 40px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4; width: 40px; }
.overview-stat span { color: var(--dashboard-text) !important; display: grid; font-size: 12px; font-weight: 500; text-transform: uppercase; }
.overview-stat strong { font-size: clamp(22px, 1.8vw, 28px); line-height: 1.05; }
.overview-stat.stat-bits { color: #ff3b42; }.overview-stat.stat-subs { color: #9957ff; }.overview-stat.stat-gifts { color: #168cff; }.overview-stat.stat-redeems { color: #ff781d; }.overview-stat.stat-raids { color: #8b3dff; }.overview-stat.stat-prizes { color: #ffd000; }
.gfj-activity-panel { padding: 0 14px 14px; }
.gfj-activity-panel > .gfj-panel-header { background: var(--dashboard-section-header); border-color: var(--theme-accent-border); border-radius: 6px 6px 0 0; color: var(--dashboard-text); margin: 0 -14px; min-height: 54px; padding: 9px 14px; }
.gfj-source-actions .gfj-add-menu summary, .gfj-source-actions .gfj-refresh { background: var(--dashboard-button-bg); border-color: var(--dashboard-border); color: var(--dashboard-text); }
.gfj-source-actions .gfj-add-menu summary:hover, .gfj-source-actions .gfj-add-menu[open] summary, .gfj-source-actions .gfj-refresh:hover { background: var(--dashboard-button-hover-bg); border-color: var(--theme-accent-border); color: var(--dashboard-text); }
.gfj-source-actions .gfj-add-menu-list { background: var(--dashboard-button-bg); border-color: var(--dashboard-border); color: var(--dashboard-text); }.gfj-source-actions .gfj-add-menu-list a { color: var(--dashboard-text); }
.gfj-source-actions .gfj-add-menu-list a:hover { background: var(--theme-accent-surface); color: var(--dashboard-text); }
.gfj-source-tabs { border-bottom: 1px solid var(--dashboard-divider); gap: 4px; grid-template-columns: repeat(8, minmax(95px, 1fr)); margin-top: 10px; overflow-x: auto; padding: 4px 0 7px; }
.gfj-source-tabs label { border-color: transparent; border-radius: 5px; font-weight: 400; min-height: 39px; padding: 9px 12px; text-align: center; }
.gfj-source-table th { font-size: 11px; padding: 8px 14px; text-transform: uppercase; }
.gfj-source-table td { font-size: 13px; padding: 5px 14px; }
.gfj-source-tab-content, .gfj-source-panel, .table-scroll { background: var(--dashboard-card-bg); color: var(--dashboard-text); }
.gfj-activity-panel .gfj-source-panel { border: 0; box-shadow: none; }
.gfj-activity-panel .table-scroll { border: 0; border-radius: 0; }
.gfj-source-tabs { background: var(--dashboard-panel-bg); border-color: var(--dashboard-divider); }
.gfj-source-tabs label { background: var(--dashboard-button-bg); border-color: var(--dashboard-border); color: var(--dashboard-text); }
.gfj-source-tabs label:hover { background: var(--dashboard-button-hover-bg); color: var(--dashboard-text); }
.gfj-dashboard-layout #gfj-tab-events:checked ~ .gfj-source-tabs label[for="gfj-tab-events"],
.gfj-dashboard-layout #gfj-tab-reminders:checked ~ .gfj-source-tabs label[for="gfj-tab-reminders"],
.gfj-dashboard-layout #gfj-tab-followers:checked ~ .gfj-source-tabs label[for="gfj-tab-followers"],
.gfj-dashboard-layout #gfj-tab-donations:checked ~ .gfj-source-tabs label[for="gfj-tab-donations"],
.gfj-dashboard-layout #gfj-tab-subs:checked ~ .gfj-source-tabs label[for="gfj-tab-subs"],
.gfj-dashboard-layout #gfj-tab-raids:checked ~ .gfj-source-tabs label[for="gfj-tab-raids"],
.gfj-dashboard-layout #gfj-tab-giveaways:checked ~ .gfj-source-tabs label[for="gfj-tab-giveaways"],
.gfj-dashboard-layout #gfj-tab-prizes:checked ~ .gfj-source-tabs label[for="gfj-tab-prizes"] { background: var(--theme-accent); border-color: var(--theme-accent); color: var(--theme-accent-contrast); }
.gfj-source-table { color: var(--dashboard-text); }
.gfj-source-table th { color: var(--dashboard-text); }
.gfj-source-table td { color: var(--dashboard-text-secondary) !important; }
.gfj-source-table tbody tr { background: var(--dashboard-card-bg); }
.gfj-source-table tbody tr:nth-child(odd) { background: var(--dashboard-panel-secondary); }
.gfj-source-table th, .gfj-source-table td { border-color: var(--dashboard-divider); }
.gfj-source-table tbody tr:hover { background: var(--theme-accent-surface); }
.gfj-source-table .button, .gfj-source-table button { background: transparent; border-color: transparent; color: var(--dashboard-muted); }
.gfj-source-table .button:hover, .gfj-source-table button:hover { background: var(--theme-accent-surface); border-color: var(--theme-accent-border); color: var(--dashboard-text); }
#redeems .channel-point-action-button { background: var(--theme-accent); border-color: var(--theme-accent); color: var(--theme-accent-contrast); }
#redeems .channel-point-action-button:hover { background: var(--theme-accent-hover); border-color: var(--theme-accent-hover); color: var(--theme-accent-contrast); }
.gfj-source-table .gfj-redeem-status-select, .gfj-source-table .gfj-giveaway-status-select { background: var(--dashboard-input-bg); border-color: var(--dashboard-border); color: var(--dashboard-text); }
.gfj-source-table tbody tr.gfj-recent-row td { color: var(--dashboard-text) !important; }
.gfj-load-more, .gfj-load-more.is-loading { color: var(--theme-accent-text); }.gfj-load-more:hover { color: var(--theme-accent-text-hover); }
.gfj-source-panel-heading { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin: 0 0 8px; min-height: 34px; }
.gfj-source-panel-heading h2 { border: 0; margin: 0; padding: 0; text-align: left; }
.gfj-events-panel .gfj-source-panel-heading { display: grid; grid-template-columns: 1fr auto 1fr; }
.gfj-events-panel .gfj-source-panel-heading h2 { grid-column: 2; text-align: center; }
.gfj-events-panel .gfj-source-panel-heading .gfj-complete-all { grid-column: 3; justify-self: end; }
.gfj-complete-all,.ft-dashboard-app button.gfj-complete-all { background: transparent !important; border: 0 !important; box-shadow: none !important; color: var(--theme-accent-text); font-size: 12px; font-weight: 600; padding: 4px 0 4px 12px; text-decoration: underline; text-underline-offset: 3px; }
.gfj-complete-all:hover { color: var(--theme-accent-text-hover); }
.gfj-complete-all:disabled { color: var(--muted); cursor: wait; opacity: .7; }

.live-control-center {
    align-self: start;
    background: var(--dashboard-panel-bg);
    border: 1px solid var(--theme-accent);
    border-radius: 7px;
    box-shadow: var(--dashboard-shadow);
    min-width: 0;
    padding: 0 14px 12px;
    width: auto;
}
.live-control-center, .live-control-center h1, .live-control-center h2, .live-control-center strong, .live-control-center output { color: var(--dashboard-text); }
.stream-controls-header { align-items: center; background: var(--dashboard-section-header); border-bottom: 1px solid var(--theme-accent-border); border-radius: 6px 6px 0 0; display: flex; justify-content: space-between; margin: 0 -14px; min-height: 54px; padding: 9px 14px; }
.stream-controls-header > div:first-child { align-items: center; display: flex; gap: 10px; }.stream-controls-header h1 { font-size: 18px; font-weight: 500; margin: 0; text-transform: uppercase; white-space: nowrap; }
.stream-controls-position { align-self: center; border: 1px solid var(--dashboard-border); border-radius: 5px; display: flex; height: 30px; overflow: hidden; }.stream-controls-position button { align-items: center; background: var(--dashboard-button-bg); border: 0; color: var(--dashboard-muted); display: flex; height: 28px; justify-content: center; line-height: 1; padding: 0; width: 31px; }.stream-controls-position button:hover { background: var(--dashboard-button-hover-bg); color: var(--dashboard-text); }.stream-controls-position button + button { border-left: 1px solid var(--dashboard-border); }.stream-controls-position button[aria-pressed="true"] { background: var(--theme-accent); color: var(--theme-accent-contrast); opacity: 1; }
.stream-controls-header .control-icon { color: var(--theme-primary); }
.counter-quick-grid { display: grid; gap: 6px; grid-template-columns: 1fr; margin-top: 8px; }.counter-quick { background: var(--dashboard-panel-secondary); border-color: var(--dashboard-border); color: var(--dashboard-text); grid-template-columns: minmax(0,1fr) 34px 46px 34px; min-height: 40px; padding: 3px 5px 3px 12px; }.counter-quick strong { font-size: 12px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.counter-quick button { background: var(--dashboard-button-bg); border: 1px solid var(--dashboard-border); color: var(--dashboard-text-secondary); min-height: 30px; min-width: 32px; padding-block: 1px; transition: background-color .14s ease, border-color .14s ease, transform .14s ease; }.counter-quick button:hover { background: var(--theme-accent-surface); border-color: var(--theme-accent-border); color: var(--dashboard-text); }.counter-quick button:active { background: var(--theme-accent); border-color: var(--theme-accent); color: var(--theme-accent-contrast); transform: translateY(1px); }.counter-quick output { color: var(--dashboard-text); font-size: 18px; font-weight: 800; }.adjust-counter-button { background: var(--dashboard-button-bg); border-color: var(--dashboard-border); color: var(--dashboard-text); min-height: 36px; }.adjust-counter-button:hover { background: var(--theme-accent-surface); border-color: var(--theme-accent-border); color: var(--dashboard-text); }
.overlay-control-grid { display: grid; gap: 14px; grid-template-columns: 1fr; }.overlay-control-card { background: var(--dashboard-card-bg); border: 1px solid var(--dashboard-border); border-radius: 7px; box-shadow: inset 3px 0 0 var(--theme-accent); color: var(--dashboard-text); padding: 10px 10px 9px 13px; position: relative; }.overlay-control-card > header { align-items: center; background: var(--dashboard-card-header); border-radius: 5px 5px 0 0; margin: -10px -10px 10px -13px; min-height: 49px; padding: 8px 10px 8px 13px; }.overlay-control-card > header > div { column-gap: 9px; }.overlay-control-card h2 { color: var(--dashboard-text); font-size: 14px; line-height: 1.25; }.overlay-control-card header small { color: var(--dashboard-muted); font-size: 11px; margin-top: 2px; }.overlay-tool-icon { align-items: center; border: 0; border-radius: 0; color: var(--theme-accent); display: flex; font-size: 0; height: 22px; justify-content: center; width: 22px; }.overlay-tool-icon::after { background: currentColor; border-radius: 2px; content: ''; height: 13px; width: 3px; }.overlay-status { background: color-mix(in srgb, var(--success) 10%, var(--dashboard-card-bg)); border: 1px solid color-mix(in srgb, var(--success) 32%, var(--dashboard-border)); color: var(--success); font-size: 10px; font-weight: 700; padding: 3px 7px; }.overlay-actions { align-items: stretch; display: flex; flex-wrap: wrap; gap: 5px; }.overlay-actions > .control-action { flex: 1 1 90px; }.overlay-action-row { display: grid; gap: 5px; width: 100%; }.overlay-action-row.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }.overlay-action-row.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }.overlay-action-row > .control-action { min-width: 0; width: 100%; }.overlay-actions .control-action { align-items: center; background: var(--dashboard-button-bg); border: 1px solid var(--dashboard-border); color: var(--dashboard-text); display: inline-flex; font-size: 11px; font-weight: 400; gap: 5px; justify-content: center; min-height: 31px; padding: 4px 6px; text-decoration: none; text-transform: none; transition: background-color .14s ease, border-color .14s ease, color .14s ease; }.overlay-actions .control-action:hover { background: var(--dashboard-button-hover-bg); border-color: var(--theme-accent); color: var(--dashboard-text); }.overlay-actions .control-action.utility { color: var(--dashboard-text-secondary); font-size: 10px; }.overlay-actions .control-action.danger { color: var(--danger); }.overlay-actions .control-action.danger:hover { background: color-mix(in srgb, var(--danger) 10%, var(--dashboard-button-bg)); border-color: var(--danger); color: var(--danger); }.overlay-more { flex: 0 0 32px; position: relative; }.overlay-more > .more-trigger { font-size: 15px; gap: 0; min-width: 32px; padding: 3px; width: 32px; }.overlay-more-menu { background: var(--dashboard-card-elevated); border: 1px solid var(--dashboard-border); border-radius: 6px; box-shadow: 0 10px 24px rgb(0 0 0 / 24%); display: grid; max-width: calc(100vw - 32px); min-width: 174px; padding: 5px; position: absolute; right: 0; top: calc(100% + 5px); z-index: 40; }.overlay-more-menu[hidden] { display: none; }.overlay-more-menu .menu-action { background: transparent; border: 0; border-radius: 4px; color: var(--dashboard-text); font-size: 12px; min-height: 34px; padding: 7px 9px; text-align: left; text-decoration: none; text-transform: none; white-space: nowrap; }.overlay-more-menu .menu-action:hover, .overlay-more-menu .menu-action:focus-visible { background: var(--theme-accent-surface); color: var(--dashboard-text); }.overlay-more-menu .menu-action.danger { color: var(--danger); }.overlay-more-menu .menu-action.danger:hover, .overlay-more-menu .menu-action.danger:focus-visible { background: color-mix(in srgb, var(--danger) 12%, transparent); border-color: transparent; color: var(--danger); }
.live-control-center > .overlay-control-grid { margin-top: 15px; }
.open-redeems { background: transparent; border: 0; border-radius: 0; margin-top: 9px; padding: 0 2px; }.open-redeems.has-redeems { background: var(--dashboard-card-elevated); border-top: 1px solid var(--dashboard-divider); margin: 10px -2px -1px; padding: 7px 8px 5px; }.open-redeems-heading { align-items: center; display: flex; gap: 6px; min-height: 24px; }.open-redeems h3 { color: var(--dashboard-muted); font-size: 11px; font-weight: 600; margin: 0; text-align: left; text-transform: none; }.open-redeems h3 span { background: transparent; color: var(--dashboard-text); padding: 0; }.open-redeems-setup { color: var(--theme-accent-text); font-size: 11px; margin-left: 3px; }.open-redeems-setup:hover { color: var(--theme-accent-text-hover); }.open-redeems-collapse, .open-redeems-refresh { background: transparent; border: 0; color: var(--dashboard-muted); font-size: 14px; line-height: 1; margin-left: 0; min-height: 28px; min-width: 28px; padding: 3px; }.open-redeems-collapse { margin-left: auto; }.open-redeems-collapse[hidden] + .open-redeems-refresh, .open-redeems.is-empty .open-redeems-refresh { margin-left: auto; }.open-redeems-collapse:hover, .open-redeems-refresh:hover { background: var(--theme-accent-surface); color: var(--theme-accent-text); }.open-redeem-list { max-height: 132px; overflow: auto; }.open-redeem-list > div { background: transparent; border: 0; border-top: 1px solid var(--dashboard-divider); border-radius: 0; color: var(--dashboard-text); margin: 0; padding: 6px 2px; }.open-redeem-list small { color: var(--dashboard-muted); }.open-redeem-list .control-action.utility { background: var(--dashboard-button-bg); border: 1px solid var(--dashboard-border); color: var(--dashboard-text-secondary); flex: 0 0 auto; min-height: 30px; min-width: 42px; }.open-redeem-list .control-action.utility:hover { background: var(--theme-accent-surface); border-color: var(--theme-accent-border); color: var(--dashboard-text); }.open-redeem-list .redeem-run-button { background: var(--theme-accent); border-color: var(--theme-accent); color: var(--theme-accent-contrast); min-width: 34px; padding: 4px; }.open-redeem-list .redeem-run-button:hover { background: var(--theme-accent-hover); border-color: var(--theme-accent-hover); color: var(--theme-accent-contrast); }.redeem-run-button svg { fill: none; height: 18px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 18px; }
.counter-control-card .counter-quick-grid { margin-top: 0; }.counter-control-card .adjust-counter-button { width: 100%; }
.gfj-dashboard-layout .btn-primary { background: var(--theme-accent); border-color: var(--theme-accent); color: var(--theme-accent-contrast); }.gfj-dashboard-layout .btn-primary:hover, .gfj-dashboard-layout .btn-primary:active { background: var(--theme-accent-hover); border-color: var(--theme-accent-hover); color: var(--theme-accent-contrast); }
.gfj-dashboard-layout :focus-visible { outline: 2px solid var(--theme-primary); outline-offset: 2px; box-shadow: 0 0 0 4px var(--theme-focus); }
.gfj-dashboard-layout a { color: var(--theme-accent-text); }.gfj-dashboard-layout a:hover { color: var(--theme-accent-text-hover); }

@media (prefers-reduced-motion: reduce) { .gfj-dashboard-layout *, .control-toast { scroll-behavior: auto; transition-duration: .01ms !important; } }

@media (max-width: 1250px) { .gfj-activity-columns .gfj-overview-panel .gfj-source-stats { grid-template-columns: repeat(3, minmax(130px, 1fr)); } }
@media (max-width: 900px) {
    .gfj-dashboard-layout, .gfj-dashboard-layout.controls-right { display: grid !important; grid-template-columns: minmax(0, 1fr); }
    .gfj-dashboard-layout > .gfj-dashboard-shell, .gfj-dashboard-layout.controls-right > .gfj-dashboard-shell { display: contents; }
    .gfj-dashboard-layout .gfj-activity-columns { display: contents; }
    .gfj-dashboard-layout .gfj-overview-panel, .gfj-dashboard-layout.controls-right .gfj-overview-panel { grid-column: 1; grid-row: 1; }
    .gfj-dashboard-layout > .live-control-center, .gfj-dashboard-layout.controls-right > .live-control-center { grid-column: 1; grid-row: 2; width: 100% !important; }
    .gfj-dashboard-layout .gfj-activity-panel, .gfj-dashboard-layout.controls-right .gfj-activity-panel { grid-column: 1; grid-row: 3; }
    .stream-controls-position { display: none; }
    .gfj-overview-header { flex-wrap: wrap; }.gfj-channel-metrics { margin-left: 0; width: 100%; }.gfj-channel-metric { flex: 1; }
}
@media (max-width: 620px) {
    body:has(.gfj-dashboard-layout) .app-shell { padding: 8px !important; }
    .gfj-activity-columns .gfj-overview-panel .gfj-source-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gfj-activity-columns .gfj-overview-panel .gfj-source-stats > .overview-stat { min-height: 66px; padding: 8px; }.overview-stat svg { flex-basis: 31px; height: 31px; width: 31px; }
    .gfj-channel-metrics { display: grid; grid-template-columns: 1fr; }.gfj-source-tabs { grid-template-columns: repeat(8, 105px); }
}

/* Supporter reporting */
.supporters-page {
    color: var(--text);
    margin: 0 auto;
    max-width: 1680px;
}
.supporters-page-header, .supporters-section-heading, .supporters-header-actions, .supporters-toolbar, .supporters-toolbar-period, .supporters-custom-dates, .supporters-filters {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}
.supporters-page-header { margin-bottom: 14px; }
.supporters-page-header h1, .supporters-page-header p, .supporters-section-heading h2, .supporters-section-heading p, .supporters-panel h2, .supporters-panel h3 { margin: 0; }
.supporters-page-header > div:first-child > p:last-child, .supporters-section-heading p { color: var(--muted); }
.supporters-header-actions { flex: 0 0 auto; }
.supporters-search { display: flex; gap: 6px; }
.supporters-search input { min-width: 230px; }
.supporters-search-results { margin-bottom: 10px; }
.supporters-search-results .supporters-section-heading { margin-top: 0; }
.supporters-search-list { display: grid; gap: 6px; list-style: none; margin: 0; padding: 0; }
.supporters-search-list li { align-items: center; background: var(--panel-strong); border: 1px solid var(--line); border-radius: 6px; display: flex; justify-content: space-between; padding: 8px 10px; }
.supporters-search-list small { color: var(--muted); }
.supporters-export-menu { position: relative; }
.supporters-export-menu summary { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 6px; cursor: pointer; list-style: none; padding: 9px 14px; }
.supporters-export-menu > div { background: var(--panel); border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 12px 30px var(--shadow-red); display: grid; min-width: 210px; padding: 6px; position: absolute; right: 0; top: calc(100% + 5px); z-index: 20; }
.supporters-export-menu a { border-radius: 5px; color: var(--text); padding: 8px 10px; text-decoration: none; }
.supporters-export-menu a:hover { background: color-mix(in srgb, var(--brand) 12%, var(--panel)); color: var(--brand); }
.supporters-toolbar, .supporters-panel, .supporters-summary-grid article {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
}
.supporters-toolbar { min-height: 58px; margin-bottom: 10px; padding: 7px 10px; }
.supporters-toolbar label, .supporters-filters label, .supporter-form label, .supporters-section-heading label, .supporters-manual-form label { display: grid; font-size: .8rem; gap: 3px; }
.supporters-toolbar-range { flex: 0 1 190px; }
.supporters-toolbar-range select { min-width: 170px; }
.supporters-custom-dates { display: none; justify-content: flex-start; }
.supporters-toolbar.is-custom .supporters-custom-dates { display: flex; }
.supporters-custom-date[hidden], .supporters-manual-form [hidden] { display: none; }
.supporters-range-apply { align-self: end; min-height: 34px; }
.supporters-toolbar-period { gap: 7px; margin: 0 auto; min-width: 210px; justify-content: center; }
.supporters-toolbar-period strong { text-align: center; min-width: 120px; }
.supporters-period-arrow { align-items: center; background: var(--panel-strong); border: 1px solid var(--line); border-radius: 5px; color: var(--text); display: inline-flex; font-size: 1.25rem; height: 32px; justify-content: center; padding: 0; text-decoration: none; width: 32px; }
.supporters-period-arrow:hover:not(:disabled) { background: color-mix(in srgb, var(--brand) 12%, var(--panel)); border-color: var(--brand); color: var(--brand); }
.supporters-period-arrow:disabled { color: var(--muted); cursor: not-allowed; opacity: .48; }
.supporters-toolbar-timezone { color: var(--muted); flex: 0 0 auto; font-size: .72rem; }
.supporters-summary-grid { display: grid; gap: 10px; grid-template-columns: repeat(5, minmax(140px, 1fr)); margin-bottom: 16px; }
.supporters-summary-grid article { border-color: color-mix(in srgb, var(--brand) 45%, var(--line)); display: grid; gap: 3px; min-height: 74px; padding: 9px 12px; }
.supporters-summary-grid article span { color: var(--muted); font-size: .76rem; text-transform: uppercase; }
.supporters-summary-grid article strong { color: var(--text); font-size: 1.45rem; }
.supporters-summary-grid article strong small, .supporter-money-line { display: block; font-size: .85rem; }
.supporters-financial-section { background: var(--panel); border: 1px solid color-mix(in srgb, var(--brand) 55%, var(--line)); border-radius: 8px; margin-bottom: 18px; padding: 12px; }
.supporters-financial-heading { margin: 0 0 10px; }
.supporters-financial-settings { position: relative; }
.supporters-financial-settings > summary { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 6px; cursor: pointer; font-size: .78rem; list-style: none; padding: 7px 10px; }
.supporters-financial-settings > form { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 30px var(--shadow-red); display: grid; gap: 10px; min-width: 360px; padding: 12px; position: absolute; right: 0; top: calc(100% + 5px); z-index: 20; }
.supporters-financial-settings label { color: var(--text); }
.supporters-financial-settings label small { color: var(--muted); font-size: .67rem; line-height: 1.35; }
.supporters-custom-estimates { display: grid; gap: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.supporters-custom-estimates[hidden] { display: none; }
.supporters-settings-check { align-items: start; display: grid !important; gap: 3px 7px !important; grid-template-columns: auto 1fr; }
.supporters-settings-check input { margin-top: 3px; }
.supporters-settings-check small { grid-column: 2; }
.supporters-financial-grid { display: grid; gap: 10px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.supporters-financial-grid article { background: var(--panel-strong); border: 1px solid color-mix(in srgb, var(--brand) 40%, var(--line)); border-radius: 8px; display: grid; gap: 4px; min-height: 104px; padding: 12px; }
.supporters-financial-grid article > span { color: var(--muted); font-size: .75rem; text-transform: uppercase; }
.supporters-financial-grid article > strong { color: var(--text); font-size: clamp(1.35rem,2.3vw,1.85rem); font-variant-numeric: tabular-nums; line-height: 1.15; }
.supporters-financial-grid article > small { color: var(--muted); font-size: .68rem; line-height: 1.35; }
.supporters-financial-grid article.is-positive > strong { color: var(--success); }
.supporters-financial-grid article.is-negative > strong { color: var(--danger); }
.supporters-financial-grid article.is-neutral > strong { color: var(--text); }
.supporters-financial-breakdown { border: 1px solid var(--line); border-radius: 7px; margin-top: 10px; overflow: hidden; }
.supporters-financial-breakdown > summary { cursor: pointer; font-size: .78rem; font-weight: 600; padding: 8px 10px; }
.supporters-financial-breakdown .supporters-table { width: 100%; }
.supporters-financial-total td { font-weight: 700; }
.supporters-data-quality { border-top: 1px solid var(--line); color: var(--muted); font-size: .72rem; padding: 9px 10px; }
.supporters-data-quality strong { color: var(--text); }
.supporters-data-quality ul { margin: 4px 0 0; padding-left: 18px; }
.supporters-financial-disclaimer { background: color-mix(in srgb, var(--brand) 6%, var(--panel-strong)); border-left: 3px solid color-mix(in srgb, var(--brand) 55%, var(--line)); color: var(--muted); font-size: .7rem; line-height: 1.5; margin: 10px 0 0; padding: 8px 10px; }
.supporters-section-heading { margin: 14px 0 8px; }
.supporters-leaderboard-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.supporters-panel { border-color: color-mix(in srgb, var(--brand) 55%, var(--line)); min-width: 0; padding: 12px; }
.supporters-panel > h2, .supporters-panel > h3 { background: color-mix(in srgb, var(--brand) 11%, var(--panel)); border-bottom: 1px solid var(--line); margin: -12px -12px 10px; padding: 10px 12px; }
.supporters-leaderboard-card { overflow: hidden; padding: 0; }
.supporters-leaderboard-card-header { background: color-mix(in srgb, var(--brand) 11%, var(--panel)); border-bottom: 1px solid var(--line); padding: 8px 10px; }
.supporters-leaderboard-card-header h3 { font-size: .95rem; margin: 0; }
.supporters-leaderboard-card-header small { color: var(--muted); display: block; font-size: .68rem; margin-top: 1px; }
.supporters-leaderboard-table-wrap { overflow-x: auto; }
.supporters-leaderboard-grid.is-compact .supporters-leaderboard-table-wrap { overflow-x: hidden; }
.supporters-leaderboard-table { table-layout: auto; width: 100%; }
.supporters-leaderboard-grid.is-compact .supporters-leaderboard-table { table-layout: fixed; width: 100%; }
.supporters-leaderboard-grid.is-compact .supporters-leaderboard-table th:nth-child(1) { width: 38px; }
.supporters-leaderboard-grid.is-compact .supporters-leaderboard-table th:nth-child(3) { width: 86px; }
.supporters-leaderboard-grid.is-compact .supporters-leaderboard-table th:nth-child(4) { width: 86px; }
.supporters-leaderboard-grid.is-compact .supporters-leaderboard-table th:nth-child(5) { width: 58px; }
.supporters-leaderboard-table th, .supporters-leaderboard-table td { padding: 7px 6px; }
.supporters-leaderboard-table th:first-child, .supporters-leaderboard-table td:first-child { padding-left: 8px; width: 34px; }
.supporters-leaderboard-table th:last-child, .supporters-leaderboard-table td:last-child { padding-right: 8px; }
.supporter-cell { min-width: 0; width: 100%; }
.supporter-cell a { display: block; font-weight: 600; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.supporter-cell small { color: var(--muted); display: block; font-size: .62rem; line-height: 1.25; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.supporter-number { font-variant-numeric: tabular-nums; text-align: right !important; white-space: nowrap; }
.supporter-trend { font-size: .72rem; font-weight: 700; white-space: nowrap; }
.supporter-trend.is-positive { color: var(--success); }
.supporter-trend.is-negative { color: var(--danger); }
.supporter-trend.is-neutral { color: var(--muted); }
.supporter-trend.is-new { color: var(--brand); }
.supporters-empty-state { align-items: center; display: flex; flex-direction: column; gap: 5px; justify-content: center; min-height: 152px; padding: 18px 14px; text-align: center; }
.supporters-empty-state > span { color: var(--brand); font-size: 1.35rem; }
.supporters-empty-state strong { font-size: .86rem; }
.supporters-empty-state p { color: var(--muted); font-size: .72rem; margin: 0; }
.supporters-empty-state button { margin-top: 4px; padding: 6px 10px; }
.supporters-wide-panel { margin-top: 12px; }
.supporters-table { border-collapse: collapse; color: var(--text); min-width: 100%; width: max-content; }
.supporters-table th, .supporters-table td { border-bottom: 1px solid var(--line); padding: 8px 10px; text-align: left; vertical-align: middle; }
.supporters-table th { background: var(--panel-strong); color: var(--text); font-size: .72rem; font-weight: 600; text-transform: uppercase; }
.supporters-table td { color: var(--text); font-size: .82rem; }
.supporters-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--panel-strong) 76%, transparent); }
.supporters-table tbody tr:hover { background: color-mix(in srgb, var(--brand) 9%, var(--panel)); }
.supporter-rank { align-items: center; border: 1px solid var(--line); border-radius: 50%; display: inline-flex; height: 25px; justify-content: center; width: 25px; }
.supporter-rank.rank-1 { background: #facc15; border-color: #a16207; color: #422006; }
.supporter-rank.rank-2 { background: #d1d5db; border-color: #6b7280; color: #111827; }
.supporter-rank.rank-3 { background: #d97706; border-color: #92400e; color: #fff7ed; }
.supporter-source-badge { background: color-mix(in srgb, var(--brand) 12%, var(--panel)); border: 1px solid color-mix(in srgb, var(--brand) 45%, var(--line)); border-radius: 999px; display: inline-block; padding: 2px 7px; }
.supporter-origin-label { color: var(--muted); display: block; font-size: .68rem; margin-top: 3px; white-space: nowrap; }
.supporters-filters { justify-content: flex-start; margin-bottom: 10px; }
.supporters-filters button { align-self: end; }
.supporters-page .pagination { display: flex; flex-wrap: wrap; gap: 5px; }
.supporters-page .pagination a { background: var(--panel-strong); border: 1px solid var(--line); border-radius: 5px; color: var(--text); padding: 5px 9px; text-decoration: none; }
.supporters-page .pagination a.active { background: var(--brand); border-color: var(--brand); color: #fff; }
.supporters-manual-form, .supporter-form { display: grid; gap: 10px; }
.supporter-detail-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.supporter-identity-list { display: grid; gap: 7px; list-style: none; margin: 0 0 14px; padding: 0; }
.supporter-identity-list li { align-items: center; background: var(--panel-strong); border: 1px solid var(--line); border-radius: 6px; display: flex; justify-content: space-between; padding: 7px 9px; }
.supporter-identity-list form { margin: 0; }
.supporter-form + .supporter-form { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 14px; }
.supporter-merge-form button.danger { background: var(--danger); border-color: var(--danger); color: #fff; }
.supporter-detail-header { align-items: flex-end; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 10px; }
.supporter-detail-header .eyebrow, .supporter-detail-header h1 { margin: 0; }
.supporter-detail-header h1 { font-size: clamp(1.55rem, 2.4vw, 2.1rem); line-height: 1.1; }
.supporter-detail-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.supporter-profile-state { align-items: center; color: var(--muted); display: flex; flex-wrap: wrap; font-size: .76rem; gap: 5px 9px; margin-top: 5px; }
.supporter-profile-state strong { background: color-mix(in srgb, var(--brand) 10%, var(--panel)); border: 1px solid color-mix(in srgb, var(--brand) 35%, var(--line)); border-radius: 999px; color: var(--text); font-size: .7rem; padding: 3px 8px; }
.supporter-detail-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 12px; }
.supporter-detail-summary article { min-height: 68px; padding: 8px 11px; }
.supporter-detail-summary article strong { font-size: 1.25rem; }
.supporter-detail-summary article:nth-child(n+4) strong { font-size: 1rem; }
.supporter-detail-content-grid { align-items: start; display: grid; gap: 14px; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); }
.supporter-detail-column { display: grid; gap: 14px; min-width: 0; }
.supporter-detail-panel { padding: 0; overflow: hidden; }
.supporter-section-header { align-items: center; background: color-mix(in srgb, var(--brand) 7%, var(--panel)); border-bottom: 1px solid var(--line); display: flex; gap: 12px; justify-content: space-between; padding: 9px 12px; }
.supporter-section-header h2, .supporter-section-header p { margin: 0; }
.supporter-section-header h2 { font-size: .96rem; }
.supporter-section-header p { color: var(--muted); font-size: .68rem; margin-top: 1px; }
.supporter-section-header button { padding: 5px 8px; }
.supporter-contribution-overview { display: grid; gap: 0; }
.supporter-contribution-overview article { align-items: center; display: grid; gap: 9px; grid-template-columns: 30px minmax(0, 1fr); min-height: 60px; padding: 8px 12px; }
.supporter-contribution-overview article + article { border-top: 1px solid var(--line); }
.supporter-contribution-overview h3, .supporter-contribution-overview p { margin: 0; }
.supporter-contribution-overview h3 { font-size: .82rem; }
.supporter-contribution-overview p { color: var(--muted); font-size: .72rem; line-height: 1.35; margin-top: 2px; }
.supporter-contribution-overview p strong { color: var(--text); }
.supporter-contribution-icon { align-items: center; background: color-mix(in srgb, var(--brand) 10%, var(--panel)); border: 1px solid color-mix(in srgb, var(--brand) 35%, var(--line)); border-radius: 50%; color: var(--brand); display: flex; height: 28px; justify-content: center; width: 28px; }
.supporter-empty-month-toggle { align-items: center; color: var(--muted); display: flex !important; font-size: .7rem !important; gap: 5px !important; white-space: nowrap; }
.supporter-compact-table { width: 100%; }
.supporter-compact-table th, .supporter-compact-table td { font-size: .72rem; padding: 6px 8px; }
.supporter-compact-table td { font-variant-numeric: tabular-nums; }
.supporter-identity-empty { color: var(--muted); display: grid; font-size: .74rem; gap: 3px; padding: 14px 12px; }
.supporter-identity-empty strong { color: var(--text); }
.supporter-detail-panel .supporter-identity-list { margin: 0; padding: 8px; }
.supporter-detail-panel .supporter-identity-list li { min-height: 42px; padding: 5px 7px; }
.supporter-identity-list li > span { display: grid; }
.supporter-identity-list li small { color: var(--muted); font-size: .67rem; }
.supporter-identity-list button { padding: 4px 7px; }
.supporter-notes-summary { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 10px; justify-content: space-between; padding: 9px 12px; }
.supporter-notes-summary > span { display: grid; min-width: 0; }
.supporter-notes-summary strong { font-size: .75rem; }
.supporter-notes-summary small { color: var(--muted); font-size: .68rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.supporter-recent-table { min-width: 680px; }
.supporter-recent-table td { height: 42px; white-space: nowrap; }
.supporter-message-cell { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
.supporter-source-inline { align-items: center; display: inline-flex; gap: 4px; }
.supporter-source-inline b { background: color-mix(in srgb, var(--brand) 11%, var(--panel)); border: 1px solid color-mix(in srgb, var(--brand) 38%, var(--line)); border-radius: 999px; font-size: .66rem; padding: 2px 6px; }
.supporter-source-inline span { color: var(--muted); font-size: .62rem; }
.supporter-status { border: 1px solid var(--line); border-radius: 999px; display: inline-block; font-size: .64rem; padding: 2px 6px; }
.supporter-status.is-successful { background: color-mix(in srgb, var(--success) 12%, var(--panel)); border-color: color-mix(in srgb, var(--success) 42%, var(--line)); color: var(--success); }
.supporter-status.is-failed, .supporter-status.is-refunded, .supporter-status.is-disputed, .supporter-status.is-canceled { background: color-mix(in srgb, var(--danger) 10%, var(--panel)); border-color: color-mix(in srgb, var(--danger) 40%, var(--line)); color: var(--danger); }
.supporter-status.is-pending { color: var(--muted); }
.supporter-view-more { border-top: 1px solid var(--line); display: block; font-size: .72rem; padding: 7px 11px; text-align: center; }
.supporter-merge-history { margin-top: 14px; overflow: hidden; padding: 0; }
.supporter-merge-history summary { cursor: pointer; font-size: .82rem; font-weight: 600; padding: 9px 12px; }
.supporter-merge-history summary span { color: var(--muted); font-size: .68rem; font-weight: 400; margin-left: 5px; }
.supporter-modal-fields { display: grid; gap: 10px; }
.supporter-modal-fields label { display: grid; font-size: .78rem; gap: 4px; }
.supporter-modal-fields label small { color: var(--muted); font-size: .68rem; }
.supporter-modal-fields .supporter-form + .supporter-form { margin-top: 12px; padding-top: 12px; }
@media (max-width: 900px) {
    .supporters-leaderboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .supporters-leaderboard-grid > :last-child { grid-column: 1 / -1; }
    .supporters-summary-grid { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
    .supporters-financial-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .supporter-detail-content-grid { grid-template-columns: 1fr; }
}
@media (min-width: 901px) {
    .supporters-leaderboard-grid.is-expanded { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .supporters-page-header, .supporters-section-heading, .supporters-toolbar, .supporters-filters { align-items: stretch; flex-direction: column; }
    .supporters-header-actions { align-items: stretch; flex-wrap: wrap; justify-content: flex-start; }
    .supporters-search { flex: 1 1 100%; }
    .supporters-search input { min-width: 0; width: 100%; }
    .supporters-toolbar { min-height: 0; }
    .supporters-toolbar-range { flex-basis: auto; }
    .supporters-toolbar-range select { width: 100%; }
    .supporters-custom-dates { align-items: stretch; width: 100%; }
    .supporters-custom-dates label { flex: 1 1 120px; }
    .supporters-toolbar-period { margin: 2px 0; min-width: 0; }
    .supporters-toolbar-timezone { text-align: center; }
    .supporters-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .supporters-financial-heading { align-items: stretch; }
    .supporters-financial-settings > form { min-width: 0; position: static; width: 100%; }
    .supporters-custom-estimates, .supporters-financial-grid { grid-template-columns: 1fr; }
    .supporters-leaderboard-grid, .supporter-detail-grid { grid-template-columns: 1fr; }
    .supporters-leaderboard-grid > :last-child { grid-column: auto; }
    .supporters-export-menu > div { left: 0; right: auto; }
    .supporters-leaderboard-grid.is-compact .supporters-leaderboard-table th:nth-child(4), .supporters-leaderboard-grid.is-compact .supporters-leaderboard-table td:nth-child(4) { display: none; }
    .supporter-cell a { max-width: 135px; }
    .supporter-detail-header { align-items: stretch; flex-direction: column; }
    .supporter-detail-actions > * { flex: 1 1 auto; }
    .supporter-detail-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .supporter-section-header { align-items: flex-start; }
    .supporter-recent-table { min-width: 610px; }
}
.donations-page{min-width:0}.donations-intro h2,.donations-intro p{margin:0}.donations-intro p{margin-top:5px}.donations-information-notice{align-items:flex-start;background:color-mix(in srgb,var(--brand) 8%,var(--panel-strong));border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));border-radius:8px;display:flex;gap:11px;margin:18px 0 24px;padding:13px 15px}.donations-information-notice p{line-height:1.55;margin:0}.donations-information-icon{align-items:center;border:1px solid color-mix(in srgb,var(--brand) 55%,var(--line));border-radius:50%;color:var(--brand);display:inline-flex;flex:0 0 22px;font-size:13px;font-weight:900;height:22px;justify-content:center;margin-top:1px}.provider-section,.provider-card,.provider-header>div,.provider-step,.provider-action-row{min-width:0}.provider-section-title{font-size:.82rem;letter-spacing:.06em;margin:0 0 10px;text-transform:uppercase}.provider-card{background:var(--dashboard-card-bg,#111821);border:1px solid var(--dashboard-border,#303740);border-radius:8px}.provider-card--active{overflow:hidden;padding:20px}.provider-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.provider-header h4,.provider-header p{margin:0}.provider-header h4{font-size:1.18rem}.provider-header p{line-height:1.45;margin-top:4px}.provider-status{border:1px solid var(--dashboard-border,#3a4450);border-radius:999px;flex:0 0 auto;font-size:12px;font-weight:700;padding:4px 9px;white-space:nowrap}.provider-status.status-connected{border-color:#36a866;color:#75dc98}.provider-status.status-disabled,.provider-status.status-not-connected{color:var(--dashboard-muted,#9aa4b2)}.provider-status.status-error{border-color:#c94d5c;color:#ff8996}.donation-connection-details{background:color-mix(in srgb,var(--panel-strong) 80%,transparent);border-radius:7px;margin-top:16px;padding:11px 13px}.provider-steps{border:1px solid var(--dashboard-border,#303740);border-radius:8px;margin-top:18px;overflow:hidden}.provider-step{padding:18px}.provider-step+.provider-step{border-top:1px solid var(--dashboard-border,#303740)}.provider-step-heading{align-items:flex-start;display:flex;gap:11px}.provider-step-heading h5,.provider-step-heading p{margin:0}.provider-step-heading h5{font-size:1rem}.provider-step-heading p{color:var(--muted);line-height:1.45;margin-top:3px}.provider-step-number{align-items:center;background:color-mix(in srgb,var(--brand) 18%,var(--panel));border:1px solid color-mix(in srgb,var(--brand) 48%,var(--line));border-radius:50%;color:var(--text);display:inline-flex;flex:0 0 27px;font-size:12px;font-weight:900;height:27px;justify-content:center}.provider-step label{font-size:.82rem;margin:14px 0 6px}.provider-step small{color:var(--muted);display:block;line-height:1.45;margin-top:7px}.provider-action-row{align-items:stretch;display:flex;gap:9px}.provider-action-row input{min-width:0;width:100%}.provider-action-row button,.provider-test-actions button,.donation-danger-actions button{white-space:nowrap}.donation-button--utility{background:var(--panel-strong);border:1px solid var(--line);color:var(--text)}.donation-button--utility:hover{background:color-mix(in srgb,var(--brand) 12%,var(--panel-strong))}.provider-test-actions{display:flex;gap:10px;justify-content:space-between;margin-top:16px}.donation-button--danger-outline{background:transparent;border:1px solid color-mix(in srgb,var(--danger) 70%,var(--line));color:#fca5a5}.donation-button--danger-outline:hover{background:color-mix(in srgb,var(--danger) 16%,transparent)}.provider-empty-state{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.provider-empty-state p{margin-top:0}.coming-soon-section{margin-top:24px}.coming-soon-grid{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.provider-card--coming-soon{opacity:.82;padding:16px}.provider-card--coming-soon .provider-header h4{font-size:1rem}.provider-card--coming-soon .provider-header p{max-width:46ch}.donation-setup-instructions{margin-top:14px}.donation-setup-instructions summary{cursor:pointer;font-weight:700}.donation-setup-instructions li{margin:6px 0}.donation-danger-actions{border-top:1px solid var(--dashboard-border,#303740);display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;padding-top:12px}.donation-history{margin-top:24px}.donation-history td{max-width:260px;white-space:normal}.donation-pagination{display:flex;gap:5px;margin-top:10px}.donation-pagination a{border:1px solid var(--dashboard-border,#303740);border-radius:5px;padding:4px 8px;text-decoration:none}.donation-pagination a[aria-current=page]{border-color:var(--theme-primary);color:var(--theme-primary)}.donation-disclaimer{background:var(--dashboard-panel-secondary,#171c23);border-left:3px solid var(--theme-primary);font-size:13px;line-height:1.5;margin-top:16px;padding:10px 12px}.donations-page :focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:760px){.coming-soon-grid{grid-template-columns:1fr}.provider-action-row{align-items:stretch;flex-direction:column}.provider-action-row button{width:100%}.provider-card--active{padding:16px}.provider-step{padding:15px}}
@media(max-width:480px){.donations-settings-panel{padding:18px}.provider-header{align-items:flex-start;flex-direction:column;gap:9px}.provider-status{align-self:flex-start}.provider-test-actions{align-items:stretch;flex-direction:column}.provider-test-actions button,.donation-danger-actions button{width:100%}.donation-connection-details{grid-template-columns:1fr}.donation-connection-details dd+dt{margin-top:4px}}
.donation-provider-list{display:grid;gap:10px}.donation-provider-card.provider-card--active{padding:0}.donation-provider-card>.provider-header{align-items:center;background:var(--dashboard-card-header);box-shadow:inset 3px 0 0 var(--theme-accent);cursor:pointer;list-style:none;padding:13px 15px 13px 18px}.donation-provider-card>.provider-header::-webkit-details-marker{display:none}.donation-provider-card>.provider-header:after{color:var(--muted);content:'›';font-size:20px;margin-left:4px;transform:rotate(0);transition:transform .14s ease}.donation-provider-card[open]>.provider-header:after{transform:rotate(90deg)}.donation-provider-card>.provider-header .provider-status{margin-left:auto}.donation-provider-card-body{border-top:1px solid var(--dashboard-divider,var(--line));padding:0 18px 18px}.donation-provider-card .provider-step{border:1px solid var(--dashboard-border,var(--line));border-radius:7px;margin-top:14px}.donation-history>.section-title-row{align-items:end;gap:12px}.donation-history>.section-title-row form{margin-left:auto}.donation-history>.section-title-row select{min-width:160px}@media(max-width:760px){.donation-provider-card>.provider-header{align-items:flex-start;flex-direction:row}.donation-history>.section-title-row{align-items:stretch;flex-direction:column}.donation-history>.section-title-row form{margin-left:0}.donation-history>.section-title-row select{width:100%}}
.donations-information-notice{background:color-mix(in srgb,var(--theme-accent) 8%,var(--panel-strong));border-color:color-mix(in srgb,var(--theme-accent) 28%,var(--line))}.donations-information-icon{border-color:color-mix(in srgb,var(--theme-accent) 55%,var(--line));color:var(--theme-accent-text)}.provider-step-number{background:color-mix(in srgb,var(--theme-accent) 18%,var(--panel));border-color:var(--theme-accent-border)}.donation-button--utility:hover{background:var(--theme-accent-surface)}.donation-pagination a[aria-current=page]{border-color:var(--theme-accent);color:var(--theme-accent-text)}.donation-disclaimer{border-left-color:var(--theme-accent)}.donations-page :focus-visible{outline-color:var(--theme-accent)}.provider-status.status-connecting,.provider-status.status-awaiting-credentials,.provider-status.status-awaiting-test{border-color:var(--theme-accent-border);color:var(--theme-accent-text)}.provider-status.status-connection-issue,.provider-status.status-authorization-expired{border-color:color-mix(in srgb,var(--danger) 70%,var(--line));color:var(--danger)}
.gfj-donations-panel .gfj-source-panel-heading label{align-items:center;color:var(--dashboard-muted,var(--muted));display:flex;font-size:11px;gap:6px;margin-left:auto}.gfj-donations-panel .gfj-source-panel-heading select{font-size:11px;min-height:28px;padding:3px 24px 3px 7px}
.gfj-source-table a[data-supporter-link]{color:var(--theme-accent-text);font-weight:700;text-decoration:none}.gfj-source-table a[data-supporter-link]:hover,.gfj-source-table a[data-supporter-link]:focus{color:var(--theme-accent-text-hover);text-decoration:none}
.change-log-page{margin:0 auto;max-width:1180px}.change-log-page-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:18px}.change-log-page-header h1,.change-log-page-header p{margin-bottom:0}.change-log-list{display:grid;gap:14px}.change-log-panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);overflow:hidden}.change-log-panel>header{background:var(--panel-strong);border-bottom:1px solid var(--line);padding:12px 16px}.change-log-panel>header h2{font-size:1rem;margin:0}.change-log-table{border-collapse:collapse;width:100%}.change-log-table th,.change-log-table td{border-bottom:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}.change-log-table tr:last-child td{border-bottom:0}.change-log-table th{color:var(--muted);font-size:.72rem;text-transform:uppercase}.change-log-table td{font-size:.84rem}.change-log-table th:first-child{width:150px}.change-log-table th:nth-last-child(1){width:100px}.change-log-category{background:color-mix(in srgb,var(--theme-accent) 12%,var(--panel));border:1px solid var(--theme-accent-border);border-radius:999px;display:inline-block;font-size:.7rem;padding:3px 8px}.change-log-modal-fields{display:grid;gap:12px}.change-log-modal-fields label{display:grid;font-size:.8rem;gap:5px}@media(max-width:680px){.change-log-page-header{align-items:stretch;flex-direction:column}.change-log-page-header button{align-self:flex-start}.change-log-table{min-width:620px}}
.wheel-visual-source{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.14);border-radius:.65rem;background:rgba(0,0,0,.16)}
.wheel-visual-source label{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:0}
.wheel-visual-source select{min-width:min(100%,22rem);margin:0}
.wheel-visual-source .muted{margin:.4rem 0 0}
.wheel-visual-source-notice{margin:.55rem 0 0;color:#d7e7ff}
.wheel-visual-source-notice.success{color:#a8efbd}
.wheel-visual-source-notice.error{color:#ffb4b4}
.prize-configuration [hidden]{display:none}
.prize-type-list{display:grid;gap:.75rem;margin-bottom:1rem}.prize-type-card{border:1px solid var(--theme-border,#394050);border-radius:.65rem;padding:.8rem;background:var(--theme-surface,#171a22)}.prize-type-card>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}.prize-type-card>summary span:first-child{display:grid;gap:.2rem}.prize-type-card small{color:var(--theme-muted,#aeb4c2)}.prize-type-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.8rem}.prize-type-form label{display:grid;gap:.3rem}.prize-type-form .wide{grid-column:1/-1}.tracked-prize-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;grid-column:1/-1;padding:.75rem;border:1px solid var(--theme-border,#394050);border-radius:.55rem}.tracked-prize-fields p{grid-column:1/-1;margin:0}.prize-configuration{display:grid;gap:.75rem;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.prize-configuration>h4,.prize-configuration>.prize-type-field,.prize-configuration>.prize-winning-note{grid-column:1/-1;margin:0}.prize-configuration .tracked-prize-fields{border:0;padding:0}.one-off-prize-fields{display:grid;gap:.75rem;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.one-off-prize-fields label{display:grid;gap:.3rem}.prize-amount-control{align-items:stretch;display:flex;min-width:0}.prize-amount-control input{border-bottom-right-radius:0;border-top-right-radius:0;min-width:0}.prize-amount-control>[data-prize-amount-unit]{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-left:0;border-radius:0 7px 7px 0;display:flex;font-weight:700;padding:0 12px;white-space:nowrap}.prize-cost-readout{align-content:center;border:1px solid var(--line);border-radius:7px;display:grid;gap:4px;min-height:44px;padding:10px 12px}.prize-cost-readout p,.prize-winning-note,.legacy-prize-detail{margin:0}.prize-report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;margin-bottom:1rem}.prize-report-summary article{padding:.8rem;border:1px solid var(--theme-border,#394050);border-radius:.65rem;background:var(--theme-surface,#171a22)}.prize-report-summary h3{font-size:1rem;margin:0 0 .5rem}.prize-report-summary dl{display:grid;grid-template-columns:1fr auto;gap:.3rem .75rem;margin:0}.prize-report-summary dd{margin:0;text-align:right}.prize-value-cell strong,.prize-value-cell small{display:block}.prize-cost-table td:last-child button{display:block;margin-top:.35rem}
.prize-valuation-choices{border:0;margin:0;padding:0}.prize-valuation-choices legend{font-size:.9rem;font-weight:700;margin-bottom:.2rem}.prize-valuation-help{font-size:.78rem;margin:.15rem 0 .55rem}.prize-valuation-choice-grid{display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.prize-valuation-choice{align-items:flex-start!important;background:var(--panel);border:1px solid var(--line);border-radius:.55rem;cursor:pointer;display:flex!important;gap:.55rem!important;padding:.65rem}.prize-valuation-choice:has(input:checked){border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.prize-valuation-choice input{flex:0 0 auto;margin:.15rem 0 0;width:auto}.prize-valuation-choice span{display:grid;gap:.15rem}.prize-valuation-choice strong{font-size:.8rem}.prize-valuation-choice small{font-size:.7rem;font-weight:400;line-height:1.35}.prize-package-fields{background:color-mix(in srgb,var(--brand) 6%,var(--panel));border:1px solid var(--line);border-radius:.55rem;padding:.7rem}.prize-package-fields>p{font-size:.74rem;margin:0 0 .55rem}.prize-package-inputs{display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr))}.prize-valuation-example{background:color-mix(in srgb,var(--brand) 8%,var(--panel));border-left:3px solid var(--brand);border-radius:.3rem;color:var(--text);font-size:.75rem;margin:0;padding:.55rem .7rem}.prize-package-fields .prize-valuation-example{margin-top:.6rem}
.prize-ledger-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.prize-ledger-heading h2,.prize-ledger-heading p{margin:0}.viewer-prize-balances{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:1rem 0}.viewer-prize-balances>h2,.viewer-prize-balances>p{grid-column:1/-1}.viewer-prize-balances article{border:1px solid var(--theme-border,#394050);border-radius:.65rem;padding:.8rem;background:var(--theme-surface,#171a22)}.viewer-prize-balances article>div{display:flex;justify-content:space-between;gap:.75rem}.viewer-prize-balances dl{display:grid;grid-template-columns:1fr auto;gap:.25rem .75rem;margin:.65rem 0 0}.viewer-prize-balances dd{margin:0;text-align:right}.fulfillment-history{margin-top:1rem}.fulfillment-history small{display:block}.fulfillment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.dashboard-modal .input-group-text{background-color:var(--panel-strong);border-color:var(--line);color:var(--text)}.fulfillment-allocation-preview,[data-manual-allocation-fields]{border:1px solid var(--theme-border,#394050);border-radius:.5rem;padding:.75rem;margin-top:.75rem}.fulfillment-allocation-preview ul{margin:.5rem 0;padding-left:1.25rem}.compact-row-badge.is-warning{background:#8a5a00;color:#fff3cd}
@media(max-width:760px){.prize-type-form,.tracked-prize-fields,.prize-configuration,.one-off-prize-fields,.fulfillment-form-grid,.prize-valuation-choice-grid{grid-template-columns:1fr}.prize-package-inputs{grid-template-columns:1fr}.prize-ledger-heading{align-items:stretch;flex-direction:column}.prize-cost-table th:nth-child(5),.prize-cost-table td:nth-child(5),.prize-cost-table th:nth-child(6),.prize-cost-table td:nth-child(6){display:none}}
.legacy-conversion-page{max-width:1500px;margin:0 auto}.legacy-conversion-page>header{margin-bottom:1.5rem}.legacy-conversion-page h1{margin:.5rem 0}.legacy-filter-grid,.legacy-conversion-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;align-items:end}.legacy-filter-grid label,.legacy-conversion-form label,.legacy-create-type label{display:grid;gap:.35rem;font-weight:600}.legacy-filter-grid input,.legacy-filter-grid select,.legacy-filter-grid textarea,.legacy-conversion-form input,.legacy-conversion-form select,.legacy-conversion-form textarea,.legacy-create-type input,.legacy-create-type select,.legacy-create-type textarea{width:100%;min-height:2.5rem;padding:.55rem .7rem;border:1px solid var(--border-color,#495057);border-radius:.45rem;background:var(--card-bg,var(--bs-body-bg));color:inherit}.legacy-filter-grid .check,.legacy-conversion-form .check,.legacy-create-type .check{display:flex;align-items:center;gap:.55rem}.legacy-filter-grid .check input,.legacy-conversion-form .check input,.legacy-create-type .check input{width:auto;min-height:auto}.legacy-before-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.legacy-before-grid article,.legacy-preview,.legacy-create-type{padding:1rem;border:1px solid var(--border-color,#495057);border-radius:.65rem;margin-top:1rem}.legacy-before-grid dl,.legacy-preview dl{display:grid;grid-template-columns:minmax(110px,.45fr) 1fr;gap:.4rem 1rem}.legacy-before-grid dt,.legacy-preview dt{font-weight:700}.legacy-before-grid dd,.legacy-preview dd{margin:0;min-width:0}.legacy-before-grid small{display:block;opacity:.72}.legacy-wide{grid-column:1/-1}.legacy-wrap{overflow-wrap:anywhere;white-space:normal}@media(max-width:700px){.legacy-before-grid{grid-template-columns:1fr}.legacy-conversion-page{padding-left:.75rem!important;padding-right:.75rem!important}.legacy-conversion-page .table-responsive{max-width:100%;overflow-x:auto}.legacy-before-grid dl,.legacy-preview dl{grid-template-columns:1fr}.legacy-before-grid dd,.legacy-preview dd{margin-bottom:.5rem}}
.legacy-conversion-page{color:var(--text)}.legacy-conversion-page .card{--bs-card-bg:var(--panel);--bs-card-color:var(--text);--bs-card-border-color:var(--line)}.legacy-conversion-page .table{--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-border-color:var(--line);--bs-table-striped-color:var(--text);--bs-table-hover-color:var(--text)}
.legacy-review-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:.75rem;align-items:end}.legacy-review-filters label,.legacy-review-form label,.legacy-create-prize-form label{display:grid;gap:.35rem;font-weight:650}.legacy-review-filters input,.legacy-review-filters select,.legacy-review-form input,.legacy-review-form select,.legacy-create-prize-form input,.legacy-create-prize-form select{width:100%;min-height:2.5rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:.45rem;background:var(--panel);color:var(--text)}#legacyWinningReview .modal-content{--bs-modal-bg:var(--panel);--bs-modal-color:var(--text);--bs-modal-border-color:var(--line);color:var(--text);background:var(--panel)}#legacyWinningReview .modal-header,#legacyWinningReview .modal-footer{border-color:var(--line)}#legacyWinningReview .btn-close{filter:var(--modal-close-filter,none)}.legacy-review-summary{display:grid;grid-template-columns:minmax(105px,.35fr) 1fr;gap:.35rem .8rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.legacy-review-summary dt{font-weight:700}.legacy-review-summary dd{margin:0;min-width:0}.legacy-review-form{display:grid;gap:1rem}.legacy-review-form .input-group input,.legacy-create-prize-form .input-group input{min-width:0;border-radius:0 .45rem .45rem 0}.legacy-review-form .input-group-text,.legacy-create-prize-form .input-group-text{border-color:var(--line);background:color-mix(in srgb,var(--panel) 84%,var(--text));color:var(--text)}.legacy-estimate{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:.75rem;border:1px solid var(--line);border-radius:.5rem;background:color-mix(in srgb,var(--panel) 92%,var(--accent))}.legacy-estimate strong{font-size:1.1rem}.legacy-estimate small{grid-column:1/-1}.legacy-create-prize-type{border-top:1px solid var(--line);padding-top:.9rem}.legacy-create-prize-type summary{cursor:pointer;color:var(--accent);font-weight:650}.legacy-create-prize-form{display:grid;gap:.65rem;padding:.8rem;border:1px solid var(--line);border-radius:.5rem}.legacy-package-fields{display:grid;gap:.65rem}.form-text{color:var(--muted)!important}#legacyWinningReview [hidden]{display:none!important}@media(max-width:900px){.legacy-review-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-review-filters button{width:max-content}}@media(max-width:575px){.legacy-review-filters{grid-template-columns:1fr}.legacy-review-filters button{width:100%}#legacyWinningReview .modal-dialog{margin:.5rem}#legacyWinningReview .modal-body{padding:1rem}.legacy-review-summary{grid-template-columns:1fr;gap:.15rem}.legacy-review-summary dd{margin-bottom:.45rem}.legacy-review-table th:first-child,.legacy-review-table td:first-child{display:none}}
html:not([data-theme="light"]) #legacyWinningReview .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
.legacy-review-filters.is-streamer{grid-template-columns:repeat(3,minmax(140px,1fr)) auto}@media(max-width:900px){.legacy-review-filters.is-streamer{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.legacy-review-filters.is-streamer{grid-template-columns:1fr}}
.legacy-review-form textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--line);border-radius:.45rem;background:var(--panel);color:var(--text)}.legacy-conversion-state{display:grid;gap:.5rem;margin:0;padding:0;border:0}.legacy-conversion-state legend{font-size:1rem;font-weight:700;margin-bottom:.2rem}.legacy-conversion-state label{display:flex;grid-template-columns:none;align-items:flex-start;gap:.6rem;padding:.65rem;border:1px solid var(--line);border-radius:.5rem;cursor:pointer}.legacy-conversion-state input{width:auto;min-height:auto;margin-top:.2rem}.legacy-conversion-state small{display:block;color:var(--muted);font-weight:400}.legacy-remaining{display:flex;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid var(--line);border-radius:.5rem}.legacy-remaining strong{font-size:1.05rem}#legacy-fulfilled-fields{display:grid;gap:1rem;padding-top:.25rem}.legacy-contradiction-confirm{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:.6rem;padding:.75rem;border:1px solid var(--danger);border-radius:.5rem}.legacy-contradiction-confirm input{width:auto;min-height:auto;margin-top:.2rem}
.prize-summary-strip{display:flex;flex-wrap:wrap;gap:.45rem 1.25rem;margin:.75rem 0 1rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:.55rem;background:var(--panel)}.prize-summary-strip span{display:inline-flex;gap:.35rem;align-items:baseline;color:var(--muted)}.prize-summary-strip strong{color:var(--text)}
.viewer-queue-header,.viewer-queue-page{margin-left:auto;margin-right:auto;max-width:980px;width:100%}.viewer-queue-header{padding:14px 18px}.viewer-queue-header h1,.viewer-queue-header p{margin:0}.viewer-queue-header h1{margin-bottom:3px}.viewer-queue-page{display:grid;gap:14px;min-width:0}.viewer-queue-page>.panel{margin:0;padding:16px 18px}.viewer-queue-feedback{background:color-mix(in srgb,var(--success) 18%,var(--panel));border:1px solid var(--success);border-radius:7px;padding:9px 12px;position:sticky;top:74px;z-index:10}.viewer-queue-feedback.error,.viewer-queue-alias-conflict{background:color-mix(in srgb,var(--danger) 12%,var(--panel));border-color:var(--danger);color:var(--danger)}.viewer-queue-page.is-busy button{cursor:wait}.viewer-queue-page :focus-visible{outline:2px solid var(--theme-accent,var(--brand));outline-offset:2px}.viewer-queue-status-panel{display:grid;gap:0;border-top:2px solid var(--theme-accent,var(--brand))}.viewer-queue-status-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.viewer-queue-status{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.viewer-queue-status strong{font-size:.9rem}.viewer-queue-status .status-badge.success{background:color-mix(in srgb,var(--success) 18%,var(--panel));border-color:color-mix(in srgb,var(--success) 65%,var(--line));color:var(--success)}.viewer-queue-status .status-badge.muted{background:var(--panel-strong);border-color:var(--line);color:var(--muted)}.viewer-queue-state-action{flex:0 0 auto;min-width:118px}.viewer-queue-management{align-items:center;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px}.viewer-queue-remove-group{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:7px;display:flex;font-size:.82rem;gap:7px;padding-left:10px}.viewer-queue-remove-group label{margin:0;white-space:nowrap}.viewer-queue-remove-group input{border-bottom:0;border-top:0;border-radius:0;min-height:34px;padding:4px 6px;text-align:center;width:54px}.viewer-queue-remove-group span{color:var(--muted);white-space:nowrap}.viewer-queue-remove-group .button{border-bottom-left-radius:0;border-top-left-radius:0;margin:-1px -1px -1px 0;min-height:36px}.viewer-queue-clear{margin-left:auto}.viewer-queue-manual{border-top:1px solid var(--line);display:grid;gap:5px;margin-top:12px;padding-top:12px}.viewer-queue-section-label{font-size:.82rem;font-weight:700;margin:0}.viewer-queue-manual>div{display:flex;gap:8px;max-width:520px}.viewer-queue-manual input{min-width:0;width:100%}.viewer-queue-manual small,.viewer-queue-setting-row small,.viewer-queue-numeric-settings small{color:var(--muted);font-size:.74rem;line-height:1.35}.viewer-queue-section-heading{align-items:start;display:flex;gap:16px;justify-content:space-between}.viewer-queue-section-heading h2,.viewer-queue-section-heading p{margin:0}.viewer-queue-section-heading h2{font-size:1.08rem}.viewer-queue-section-heading p{font-size:.78rem;margin-top:3px}.viewer-queue-section-heading>strong{background:var(--theme-accent-surface,color-mix(in srgb,var(--brand) 12%,var(--panel)));border:1px solid var(--theme-accent-border,var(--line));border-radius:999px;color:var(--theme-accent-text,var(--text));font-size:.72rem;padding:4px 9px;white-space:nowrap}.viewer-queue-list{display:grid;gap:5px;list-style:none;margin:11px 0 0;padding:0}.viewer-queue-row{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:7px;display:grid;gap:8px;grid-template-columns:26px 28px minmax(0,1fr) auto auto 28px;min-width:0;padding:6px 8px;transition:background-color .14s ease,border-color .14s ease}.viewer-queue-row:hover{background:color-mix(in srgb,var(--theme-accent,var(--brand)) 6%,var(--panel-strong));border-color:var(--theme-accent-border,var(--line))}.viewer-queue-row.is-dragging,.viewer-queue-card-list li.is-dragging{opacity:.55}.viewer-queue-handle,.viewer-queue-card-handle{background:transparent;border:0;color:var(--muted);cursor:grab;font-weight:800;padding:2px}.viewer-queue-handle:active,.viewer-queue-card-handle:active{cursor:grabbing}.viewer-queue-position{align-items:center;background:var(--theme-accent,var(--brand));border-radius:999px;color:var(--theme-accent-contrast,#fff);display:inline-flex;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:800;height:24px;justify-content:center;width:24px}.viewer-queue-name{display:grid;min-width:0}.viewer-queue-name strong,.viewer-queue-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-queue-name small,.viewer-queue-row time{color:var(--muted);font-size:.72rem}.viewer-queue-remove,.viewer-queue-move button,.viewer-queue-card-list button{background:transparent;border:1px solid var(--line);border-radius:5px;color:inherit;line-height:1;min-height:28px;min-width:28px;padding:4px 6px}.viewer-queue-remove{color:var(--muted);font-size:1rem}.viewer-queue-remove:hover{border-color:color-mix(in srgb,var(--danger) 70%,var(--line));color:var(--danger)}.viewer-queue-move{display:flex;gap:3px}.viewer-queue-move button:hover{background:var(--theme-accent-surface);border-color:var(--theme-accent-border)}.viewer-queue-empty{align-items:center;color:var(--muted);display:grid;font-size:.8rem;gap:2px;padding:16px 8px 2px;text-align:center}.viewer-queue-empty strong{color:var(--text);font-size:.85rem}.viewer-queue-settings-panel>h2{font-size:1.08rem;margin:0 0 10px}.viewer-queue-settings{display:grid;gap:14px}.viewer-queue-toggle-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.viewer-queue-setting-row{align-items:center;cursor:pointer;display:flex;gap:16px;justify-content:space-between;margin:0;padding:10px 12px}.viewer-queue-setting-row+.viewer-queue-setting-row{border-top:1px solid var(--line)}.viewer-queue-setting-row:hover{background:color-mix(in srgb,var(--theme-accent,var(--brand)) 5%,var(--panel))}.viewer-queue-setting-row>span:first-child{display:grid;gap:2px;min-width:0}.viewer-queue-setting-row>span:first-child strong{font-size:.84rem}.viewer-queue-setting-row .switch-field{flex:0 0 auto}.viewer-queue-numeric-settings{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-queue-numeric-settings label{display:grid;gap:4px}.viewer-queue-numeric-settings label>span{font-size:.8rem;font-weight:700}.viewer-queue-numeric-settings input{max-width:180px;width:100%}.viewer-queue-command-heading{align-items:end;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;padding-top:14px}.viewer-queue-command-heading h3,.viewer-queue-command-heading p{margin:0}.viewer-queue-command-heading h3{font-size:1rem}.viewer-queue-command-heading p{font-size:.76rem;margin-top:3px}.viewer-queue-command-root{align-items:center;display:flex;flex:0 0 auto;gap:7px}.viewer-queue-command-root span,.viewer-queue-primary-command>span,.viewer-queue-alias-field>span:first-child{color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase}.viewer-queue-command-root code{background:var(--theme-accent-surface);border:1px solid var(--theme-accent-border);color:var(--theme-accent-text);font-size:.86rem;padding:5px 9px}.viewer-queue-command-list{display:grid;gap:6px}.viewer-queue-command-row{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-left:3px solid var(--theme-accent,var(--brand));border-radius:7px;display:grid;gap:8px 12px;grid-template-columns:minmax(125px,.75fr) minmax(165px,1fr) minmax(180px,1fr) auto;padding:9px 10px}.viewer-queue-command-name{align-items:flex-start;display:flex;flex-direction:column;gap:4px;min-width:0}.viewer-queue-command-name strong{font-size:.82rem}.viewer-queue-permission{border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.63rem;line-height:1;padding:3px 6px;white-space:nowrap}.viewer-queue-primary-command{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.viewer-queue-primary-command>span{flex-basis:100%}.viewer-queue-primary-command code,.viewer-queue-alias-field code{white-space:nowrap}.viewer-queue-argument{color:var(--muted)}.viewer-queue-alias-field{display:grid;gap:4px;margin:0;min-width:0}.viewer-queue-alias-field>span:last-child{align-items:center;display:flex;gap:5px;min-width:0}.viewer-queue-alias-field input{min-width:0;width:155px}.viewer-queue-alias-toggle{justify-self:end}.viewer-queue-restore{grid-column:4;justify-self:end}.viewer-queue-alias-conflict{border:1px solid;border-radius:5px;grid-column:1/-1;margin:0;padding:6px 8px}.viewer-queue-response-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:12px 0}.viewer-queue-response-grid label{display:grid;gap:5px}.viewer-queue-activity{display:grid;gap:5px;margin:0;padding-left:20px}.viewer-queue-activity time{color:var(--muted);font-size:.73rem}.viewer-queue-control-card{gap:8px}.viewer-queue-card-list{display:grid;gap:4px;list-style:none;margin:0;padding:0}.viewer-queue-card-list li{align-items:center;background:color-mix(in srgb,var(--panel) 75%,transparent);border-radius:5px;display:grid;gap:6px;grid-template-columns:22px minmax(0,1fr) 28px;padding:4px 6px}.viewer-queue-card-list li span{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-queue-card-list li button:last-child{color:var(--danger)}.viewer-queue-card-empty,.viewer-queue-card-more{font-size:.75rem;margin:2px 0}.viewer-queue-open-page{margin-top:4px;text-align:center;text-decoration:none}
.viewer-queue-card-list li{grid-template-columns:22px 20px minmax(0,1fr) 28px}.viewer-queue-card-list li b{color:var(--muted);font-size:.72rem;text-align:center}.viewer-queue-card-error{background:color-mix(in srgb,var(--danger) 12%,var(--panel));border-radius:5px;color:var(--danger);font-size:.72rem;margin:0;padding:5px 7px}
.viewer-queue-card-list{gap:6px}.viewer-queue-card-list li{background:var(--dashboard-card-elevated);border:1px solid var(--dashboard-border);border-radius:8px;gap:8px;grid-template-columns:22px 22px minmax(0,1fr) 28px;padding:7px 8px;transition:background-color .14s ease,border-color .14s ease}.viewer-queue-card-list li:hover{background:color-mix(in srgb,var(--theme-accent) 6%,var(--dashboard-card-elevated));border-color:var(--theme-accent-border)}.viewer-queue-card-list .viewer-queue-card-handle{align-items:center;background:transparent;border:0;border-radius:0;color:var(--dashboard-muted);display:inline-flex;font-size:13px;height:22px;justify-content:center;min-height:22px;min-width:22px;padding:0;width:22px}.viewer-queue-card-list .viewer-queue-card-handle:hover,.viewer-queue-card-list .viewer-queue-card-handle:focus-visible{background:transparent;border-color:transparent;color:var(--dashboard-muted)}.viewer-queue-card-list .viewer-queue-card-position{background:transparent;color:var(--theme-accent-text);font-size:13px;font-weight:800;text-align:center}.viewer-queue-card-name{display:grid;min-width:0}.viewer-queue-card-name strong,.viewer-queue-card-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-queue-card-name strong{color:var(--dashboard-text);font-size:12px}.viewer-queue-card-name small{color:var(--dashboard-muted);font-size:10px}.viewer-queue-card-list .viewer-queue-card-remove{align-items:center;background:transparent;border:1px solid var(--dashboard-border);color:var(--dashboard-muted);display:inline-flex;font-size:17px;height:28px;justify-content:center;line-height:1;min-height:28px;min-width:28px;padding:0;width:28px}.viewer-queue-card-list .viewer-queue-card-remove:hover{background:color-mix(in srgb,var(--danger) 8%,transparent);border-color:color-mix(in srgb,var(--danger) 70%,var(--dashboard-border));color:var(--danger)}
.overlay-actions .control-action,.counter-quick button,.adjust-counter-button{background:color-mix(in srgb,var(--dashboard-button-bg) 88%,#000)}.overlay-actions .control-action:hover,.counter-quick button:hover,.adjust-counter-button:hover{background:color-mix(in srgb,var(--dashboard-button-hover-bg) 88%,#000)}.open-redeems-collapse,.open-redeems-refresh,.open-redeem-list .redeem-run-button{align-items:center;display:inline-flex;height:28px;justify-content:center;line-height:1;min-height:28px;min-width:28px;padding:0;width:28px}.open-redeem-list .redeem-run-button{background:color-mix(in srgb,var(--theme-accent) 72%,#000);border-color:color-mix(in srgb,var(--theme-accent) 72%,#000)}.open-redeem-list .redeem-run-button:hover{background:color-mix(in srgb,var(--theme-accent-hover) 76%,#000);border-color:color-mix(in srgb,var(--theme-accent-hover) 76%,#000)}.redeem-run-button svg{display:block;height:16px;width:16px}
.stream-controls-header-actions{align-items:center;display:flex;gap:8px}.stream-controls-order-status{background:var(--theme-accent-surface);border:1px solid var(--theme-accent-border);border-radius:5px;color:var(--dashboard-text-secondary,var(--muted));font-size:11px;margin:8px 0 -7px;padding:5px 8px}.stream-controls-order-status.error{background:color-mix(in srgb,var(--danger) 12%,var(--dashboard-panel-secondary,var(--panel)));border-color:color-mix(in srgb,var(--danger) 55%,var(--line));color:var(--danger)}.overlay-control-card>header{justify-content:flex-start}.overlay-control-card>header>div:not(.dashboard-card-header-actions){flex:1;min-width:0}.dashboard-card-drag-handle{align-self:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--dashboard-muted,var(--muted));cursor:grab;flex:0 0 25px;font-size:13px;height:29px;line-height:1;padding:3px;width:25px}.dashboard-card-drag-handle:hover,.dashboard-card-drag-handle:focus-visible{background:var(--theme-accent-surface);border-color:var(--theme-accent-border);color:var(--theme-accent-text)}.dashboard-card-drag-handle:active{cursor:grabbing}.dashboard-card-header-actions{align-items:center!important;display:flex!important;flex:0 0 auto!important;gap:6px}.dashboard-card-move-controls{align-items:center;display:flex;gap:3px;opacity:0;transition:opacity .14s ease}.overlay-control-card:hover .dashboard-card-move-controls,.overlay-control-card:focus-within .dashboard-card-move-controls{opacity:1}.dashboard-card-move-controls button{align-items:center;background:var(--dashboard-button-bg);border:1px solid var(--dashboard-border);border-radius:4px;color:var(--dashboard-text-secondary);display:inline-flex;font-size:12px;height:27px;justify-content:center;padding:2px;width:27px}.dashboard-card-move-controls button:hover,.dashboard-card-move-controls button:focus-visible{background:var(--theme-accent-surface);border-color:var(--theme-accent-border);color:var(--dashboard-text)}.dashboard-card-move-controls button:disabled{cursor:not-allowed;opacity:.35}.dashboard-card-drop-placeholder{background:var(--theme-accent-surface);border:2px dashed var(--theme-accent);border-radius:7px;box-sizing:border-box;min-height:12px;width:100%}.overlay-control-card.is-card-dragging{opacity:.22}.overlay-control-grid.is-sorting-cards{cursor:grabbing;user-select:none}.overlay-control-grid.is-saving-order .dashboard-card-drag-handle{opacity:.65}.live-control-center :focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}@media(max-width:520px){.stream-controls-header{align-items:flex-start}.stream-controls-header-actions{align-items:flex-end}.dashboard-card-header-actions{align-items:flex-end!important;flex-direction:column;gap:3px}.dashboard-card-move-controls{opacity:1}}
@media(max-width:760px){.viewer-queue-page>.panel{padding:14px}.viewer-queue-management{align-items:stretch}.viewer-queue-clear{margin-left:0}.viewer-queue-row{grid-template-columns:24px 26px minmax(0,1fr) auto}.viewer-queue-row time{display:none}.viewer-queue-move{grid-column:3;justify-self:start}.viewer-queue-remove{grid-column:4;grid-row:1/3}.viewer-queue-command-heading{align-items:flex-start;flex-direction:column}.viewer-queue-command-root{align-self:flex-start}.viewer-queue-command-row{align-items:start;grid-template-columns:minmax(120px,.65fr) minmax(0,1fr)}.viewer-queue-primary-command{align-self:center}.viewer-queue-alias-field{grid-column:1/-1}.viewer-queue-alias-field input{width:min(100%,240px)}.viewer-queue-alias-toggle{grid-column:1;justify-self:start}.viewer-queue-restore{grid-column:2;justify-self:end}.viewer-queue-command-row>p{grid-column:1/-1}}
@media(max-width:520px){.viewer-queue-header{padding:13px 14px}.viewer-queue-status-row{align-items:stretch;flex-direction:column}.viewer-queue-state-action{width:100%}.viewer-queue-management{display:grid;grid-template-columns:1fr 1fr}.viewer-queue-management>.button{width:100%}.viewer-queue-remove-group{grid-column:1/-1;justify-content:space-between}.viewer-queue-remove-group .button{width:auto}.viewer-queue-clear{grid-column:2}.viewer-queue-manual>div{align-items:stretch;flex-direction:column}.viewer-queue-manual button{width:100%}.viewer-queue-numeric-settings{grid-template-columns:1fr}.viewer-queue-numeric-settings input{max-width:none}.viewer-queue-setting-row{align-items:flex-start}.viewer-queue-setting-row .switch-field span{display:none}.viewer-queue-section-heading{align-items:flex-start}.viewer-queue-command-row{grid-template-columns:1fr}.viewer-queue-primary-command,.viewer-queue-alias-field,.viewer-queue-alias-toggle,.viewer-queue-restore{grid-column:1}.viewer-queue-restore{justify-self:start}.viewer-queue-response-grid{grid-template-columns:1fr}}
.prize-subtabs{display:flex;gap:.35rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.prize-subtabs a{padding:.65rem .85rem;color:inherit;text-decoration:none;border-bottom:3px solid transparent}.prize-subtabs a:hover,.prize-subtabs a:focus-visible{background:var(--panel)}.prize-subtabs a.active{border-color:var(--accent);font-weight:700}
.prize-filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;margin-bottom:.85rem}.prize-filter-bar label{display:grid;gap:.25rem;min-width:130px;font-size:.82rem;color:var(--muted)}.prize-filter-bar input,.prize-filter-bar select{min-height:36px;padding:.35rem .5rem;border:1px solid var(--line);border-radius:.35rem;background:var(--panel);color:var(--text)}
.prize-viewer-table thead th{position:sticky;top:0;z-index:1}.prize-viewer-table td{vertical-align:top}.prize-viewer-table td small,.fulfillment-history td small{display:block;color:var(--muted)}.prize-viewer-identity{display:grid;gap:.15rem}.prize-viewer-identity>a{width:max-content;max-width:100%}.prize-bucket-lines{display:grid;gap:.2rem}.prize-bucket-lines span{width:max-content;max-width:100%;padding:.12rem .4rem;border-radius:999px;background:var(--panel)}.prize-row-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.prize-viewer-detail-row>td{padding:.75rem;background:color-mix(in srgb,var(--panel) 75%,transparent)}.prize-viewer-detail{display:grid;gap:1rem}.prize-viewer-detail section>h3{font-size:1rem;margin:0 0 .55rem}.prize-viewer-detail section:first-of-type{display:flex;flex-wrap:wrap;gap:.5rem}.prize-viewer-detail section:first-of-type h3{flex-basis:100%}.prize-viewer-detail article{display:grid;gap:.12rem;min-width:190px;padding:.55rem .65rem;border-left:3px solid var(--accent);background:var(--panel)}
.prize-viewer-identity small{display:block;margin-top:.15rem;font-size:.75rem}.prize-identity-warning{color:var(--warning-text,#9a5b00);font-weight:700}.prize-viewer-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.75rem}.prize-viewer-summary h3{margin:0}
.prize-pagination{display:flex;gap:.35rem;margin-top:.8rem}.prize-pagination a{padding:.35rem .6rem;border:1px solid var(--line);border-radius:.3rem;color:inherit;text-decoration:none}.prize-pagination a.active{background:var(--accent);color:#fff}.prize-resource-heading{font-size:1rem;margin:1rem 0 .5rem}
@media(max-width:900px){.prize-viewer-table thead{display:none}.prize-viewer-table,.prize-viewer-table tbody,.prize-viewer-table tr,.prize-viewer-table td{display:block;width:100%}.prize-viewer-group{border-bottom:1px solid var(--line)}.prize-viewer-row{padding:.7rem}.prize-viewer-row td{display:grid;grid-template-columns:minmax(105px,.45fr) minmax(0,1fr);gap:.65rem;padding:.3rem 0;border:0}.prize-viewer-row td::before{content:attr(data-label);font-size:.78rem;font-weight:700;color:var(--muted)}.prize-viewer-row td:first-child{grid-template-columns:1fr}.prize-viewer-row td:first-child::before{display:none}.prize-viewer-detail-row>td{display:block}.prize-viewer-detail-row>td::before{display:none}.prize-filter-bar label{flex:1 1 180px}}
@media(max-width:560px){.prize-ledger-heading{align-items:stretch;flex-direction:column}.prize-subtabs{overflow-x:auto}.prize-subtabs a{white-space:nowrap}.prize-summary-strip{display:grid;grid-template-columns:1fr 1fr}.prize-viewer-row td{grid-template-columns:1fr}.prize-viewer-row td::before{margin-bottom:-.35rem}.prize-row-actions .btn{flex:1}.prize-filter-bar label{flex-basis:100%}}
.supporter-prizes{margin-bottom:14px;padding:0;overflow:hidden}.supporter-prizes>h3,.supporter-prizes>.muted,.supporter-prize-empty,.supporter-prize-buckets,.supporter-open-winnings,.supporter-prizes>.table-scroll{margin-left:12px;margin-right:12px}.supporter-prizes>h3{font-size:1rem;margin-top:12px;margin-bottom:7px}.supporter-prize-empty{padding-bottom:12px}.supporter-prize-buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem}.supporter-prize-buckets article{padding:.7rem;border:1px solid var(--line);border-radius:.5rem;background:var(--panel-strong)}.supporter-prize-buckets dl{display:grid;grid-template-columns:1fr auto;gap:.25rem .7rem;margin:.45rem 0 0}.supporter-prize-buckets dd{margin:0;text-align:right}.supporter-open-winnings{margin-top:.7rem}.supporter-open-winnings>summary{cursor:pointer;font-weight:700;margin-bottom:.55rem}.supporter-prizes td small{display:block;color:var(--muted)}.supporter-prizes>.table-scroll{margin-bottom:12px}@media(max-width:560px){.supporter-prize-buckets{grid-template-columns:1fr}}
.supporter-prize-history-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:12px 12px 7px}.supporter-prize-history-header h3{font-size:1rem;margin:0}.supporter-prize-history-header strong{font-size:.82rem;margin-left:auto;text-align:right}.supporter-prize-history-header strong span+span::before{color:var(--muted);content:" · ";font-weight:400}@media(max-width:560px){.supporter-prize-history-header{align-items:flex-start;flex-direction:column;gap:3px}.supporter-prize-history-header strong{margin-left:0;text-align:left}}

/* Dashboard control cards: title/status row followed by tool/reorder row. */
.overlay-control-card>.dashboard-control-card-header{align-items:stretch;display:grid;gap:5px;grid-template-columns:minmax(0,1fr);padding-block:9px}.overlay-control-card>.dashboard-control-card-header>div{display:flex;min-width:0;width:100%}.dashboard-control-card-primary{align-items:center;gap:7px}.dashboard-control-card-primary h2{flex:1;min-width:0;overflow-wrap:anywhere}.dashboard-control-card-primary .overlay-status{flex:0 0 auto;margin-left:auto}.dashboard-control-card-secondary{align-items:center;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px}.dashboard-control-card-tool{align-items:center;display:flex!important;gap:7px;min-width:0}.dashboard-control-card-tool .overlay-tool-icon{flex:0 0 22px;grid-row:auto}.dashboard-control-card-tool small{grid-column:auto;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-control-card-secondary .dashboard-card-move-controls{justify-self:end}@media(max-width:520px){.dashboard-control-card-tool small{white-space:normal}}

/* Who Wants To Play enhancements: queue-scoped full-width layout and compact controls. */
.viewer-queue-header,.viewer-queue-page{max-width:none;width:100%}.viewer-queue-header{align-items:center}.viewer-queue-header .tool-actions{padding:0}.viewer-queue-tabs{border-bottom:1px solid var(--line);display:flex;gap:.35rem;margin-bottom:14px;width:100%}.viewer-queue-tabs a{border-bottom:3px solid transparent;color:var(--muted);font-size:.86rem;font-weight:800;padding:9px 13px;text-decoration:none}.viewer-queue-tabs a:hover{color:var(--text)}.viewer-queue-tabs a.active{border-bottom-color:var(--theme-accent,var(--brand));color:var(--theme-accent-text,var(--text))}.viewer-queue-tab-panel,.viewer-queue-history{width:100%}.viewer-queue-history>.panel{margin:0;padding:16px 18px}.viewer-queue-history .table-scroll{margin-top:12px}.viewer-queue-history-pagination{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.viewer-queue-history-pagination span{color:var(--muted);font-size:.78rem}.viewer-queue-page,.viewer-queue-settings-form{display:grid;gap:14px;min-width:0}.viewer-queue-settings-form>.panel{margin:0;padding:16px 18px}.viewer-queue-disabled-notice{background:color-mix(in srgb,var(--warning,#d98b00) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--warning,#d98b00) 65%,var(--line));border-radius:7px;color:var(--text);padding:10px 12px}.viewer-queue-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:9px;min-width:0}.viewer-queue-state-group,.viewer-queue-action-group,.viewer-queue-destructive-group{align-items:center;display:flex;gap:9px}.viewer-queue-action-group{flex:1 1 auto}.viewer-queue-destructive-group{margin-left:auto}.viewer-queue-toolbar .button,.viewer-queue-remove-group input{min-height:36px}.viewer-queue-remove-group{flex:0 0 auto}.viewer-queue-manual{grid-template-columns:minmax(150px,auto) minmax(260px,1fr);align-items:center}.viewer-queue-manual>div{max-width:none;width:100%}.viewer-queue-manual>small{grid-column:2}.viewer-queue-settings-panel>h2,.viewer-queue-commands-panel h2,.viewer-queue-responses-panel h2{font-size:1.08rem;margin:0 0 10px}.viewer-queue-settings-panel{display:grid;gap:14px}.viewer-queue-command-heading{border-top:0;padding-top:0}.viewer-queue-command-heading h2,.viewer-queue-command-heading p,.viewer-queue-response-heading h2,.viewer-queue-response-heading p{margin:0}.viewer-queue-command-row{grid-template-columns:minmax(145px,.7fr) minmax(180px,.8fr) minmax(210px,1fr) auto auto}.viewer-queue-restore{grid-column:5}.viewer-queue-response-heading{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.viewer-queue-variable-help{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:7px;margin-top:14px;padding:10px 12px}.viewer-queue-variable-help>div{display:flex;flex-wrap:wrap;gap:5px}.viewer-queue-variable-help code{font-size:.72rem}.viewer-queue-response-groups{display:grid;gap:8px;margin-top:12px}.viewer-queue-response-group{border:1px solid var(--line);border-radius:8px;background:var(--panel-strong)}.viewer-queue-response-group>summary{cursor:pointer;font-size:.88rem;font-weight:800;padding:10px 12px}.viewer-queue-response-group>div{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:0 12px 12px}.viewer-queue-response-field{display:grid;gap:5px;margin:0;min-width:0}.viewer-queue-response-field>span:first-child{font-size:.78rem;font-weight:700}.viewer-queue-response-field textarea{min-height:64px;resize:vertical;width:100%}.viewer-queue-response-meta{align-items:center;display:flex;gap:8px;justify-content:space-between}.viewer-queue-response-meta small{color:var(--muted)}.viewer-queue-response-error{color:var(--danger)}.viewer-queue-page.is-disabled .viewer-queue-current-panel{opacity:.78}
.viewer-queue-next-output{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;padding:12px}.viewer-queue-next-output h3,.viewer-queue-next-output p{margin:0}.viewer-queue-next-output h3{font-size:.95rem}.viewer-queue-next-output select{max-width:220px;width:100%}.viewer-queue-announcement-disclaimer{background:color-mix(in srgb,var(--warning,#d98b00) 10%,var(--panel));border-left:3px solid var(--warning,#d98b00);font-size:.76rem;line-height:1.45;padding:8px 10px}
@media(max-width:980px){.viewer-queue-toolbar{align-items:stretch}.viewer-queue-status{flex:1 1 220px}.viewer-queue-state-group{flex:0 0 auto}.viewer-queue-action-group{flex-basis:100%;order:3}.viewer-queue-destructive-group{order:4}.viewer-queue-command-row{grid-template-columns:minmax(135px,.7fr) minmax(170px,1fr) minmax(190px,1fr) auto}.viewer-queue-restore{grid-column:4}.viewer-queue-alias-toggle{grid-column:4}.viewer-queue-response-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.viewer-queue-manual{grid-template-columns:1fr}.viewer-queue-manual>small{grid-column:1}.viewer-queue-action-group{flex-wrap:wrap}.viewer-queue-command-row{grid-template-columns:minmax(120px,.65fr) minmax(0,1fr)}.viewer-queue-alias-field{grid-column:1/-1}.viewer-queue-alias-toggle{grid-column:1}.viewer-queue-restore{grid-column:2}.viewer-queue-response-heading{align-items:stretch;flex-direction:column}.viewer-queue-response-heading .button{align-self:flex-start}.viewer-queue-response-group>div{grid-template-columns:1fr}}
@media(max-width:520px){.viewer-queue-header{align-items:flex-start}.viewer-queue-status,.viewer-queue-state-group,.viewer-queue-state-action,.viewer-queue-action-group,.viewer-queue-destructive-group{width:100%}.viewer-queue-state-group .button,.viewer-queue-action-group>.button,.viewer-queue-destructive-group .button{flex:1}.viewer-queue-remove-group{justify-content:space-between;width:100%}.viewer-queue-manual>div{flex-direction:column}.viewer-queue-command-row{grid-template-columns:1fr}.viewer-queue-primary-command,.viewer-queue-alias-field,.viewer-queue-alias-toggle,.viewer-queue-restore{grid-column:1}.viewer-queue-restore{justify-self:start}.viewer-queue-response-group>div{padding-inline:9px}}
.viewer-queue-response-group>summary{background:var(--dashboard-card-header,color-mix(in srgb,var(--theme-accent,var(--brand)) 12%,var(--panel-strong)));box-shadow:inset 3px 0 0 var(--theme-accent,var(--brand));padding-left:15px}
.info-banner-layout{grid-template-areas:"general obs" "functionality content-order" "visual preview" "breaking breaking-preview" "automatic breaking-webhook" "actions actions"}
.info-banner-layout>.info-banner-settings,.info-banner-layout>.info-banner-sidebar{display:contents}
.info-banner-general{grid-area:general}.info-banner-visual{grid-area:visual}.info-banner-breaking-visual{grid-area:breaking}.info-banner-automatic{grid-area:automatic}.info-banner-functionality{grid-area:functionality}.info-banner-content-order{grid-area:content-order}.info-banner-preview{grid-area:preview}.info-banner-breaking-preview{grid-area:breaking-preview}.info-banner-obs-section{grid-area:obs}.info-banner-breaking-webhook{grid-area:breaking-webhook}.info-banner-page-actions{display:flex;grid-area:actions;justify-content:flex-end}
.info-banner-auto-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.info-banner-auto-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;min-width:0}.info-banner-auto-card>summary{align-items:center;cursor:pointer;display:flex;font-size:.84rem;font-weight:800;gap:12px;justify-content:space-between;padding:9px 11px}.info-banner-auto-card>summary::marker{color:var(--muted)}.info-banner-auto-controls{border-top:1px solid var(--line);display:grid;gap:8px;padding:10px}.info-banner-auto-controls textarea{min-height:68px;resize:vertical}.info-banner-auto-actions{display:flex;gap:7px}.info-banner-auto-controls small{color:var(--muted)}
.info-banner-section-intro{margin:0}.info-banner-webhook-example{background:var(--panel-strong);border:1px solid var(--line);border-radius:6px;margin:0;overflow:auto;padding:10px;white-space:pre-wrap}.info-banner-breaking-webhook ul{margin:0;padding-left:20px}.info-banner-breaking-webhook code{overflow-wrap:anywhere}
.info-banner-overlay-test{align-items:center;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}.info-banner-overlay-test small{min-height:1.2em}
.info-banner-functionality .info-banner-sources{grid-template-columns:repeat(4,minmax(0,1fr))}
.info-banner-functionality .info-banner-sources>div{align-content:start;align-items:start;grid-template-columns:1fr}
.info-banner-source-toggle,.info-banner-source-count,.info-banner-source-option{grid-column:1;grid-row:auto}
.info-banner-section .check-field{justify-content:flex-start;text-align:left}
.info-banner-section .check-field input[type="checkbox"]{flex:0 0 auto;width:auto}
@media(max-width:1000px){.info-banner-layout{grid-template-areas:"general" "functionality" "content-order" "obs" "visual" "preview" "breaking" "breaking-preview" "automatic" "breaking-webhook" "actions"}}
@media(max-width:1000px){.info-banner-functionality .info-banner-sources{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.info-banner-functionality .info-banner-sources{grid-template-columns:1fr}.info-banner-functionality .info-banner-sources>div{align-items:stretch}}
@media(max-width:760px){.info-banner-auto-list{grid-template-columns:1fr}}
.info-banner-track[hidden]{display:none!important}
.info-banner-text-viewport{bottom:calc(0px - var(--ib-text-top-padding,0px) - var(--ib-border));left:calc(var(--ib-padding-left) - var(--ib-border));overflow:hidden;position:absolute;right:calc(var(--ib-padding-right) - var(--ib-border));top:calc(var(--ib-text-top-padding,0px) - var(--ib-border));z-index:1}
.info-banner-text-viewport .info-banner-track{padding:0;z-index:auto}
.info-banner-editor{max-width:1800px}.info-banner-page-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:14px}.info-banner-page-header h1{margin:0}.info-banner-layout{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(360px,42%)}.info-banner-settings,.info-banner-sidebar{display:grid;gap:14px}.info-banner-section{display:grid;gap:12px;margin:0}.info-banner-section h2,.info-banner-section h3{margin:0}.info-banner-section h2{font-size:1.05rem}.info-banner-section h3{font-size:.9rem;margin-top:5px}.info-banner-section label{display:grid;font-size:.78rem;font-weight:700;gap:4px}.info-banner-section label small,.info-banner-section small{color:var(--muted);font-weight:400}.info-banner-grid{display:grid;gap:10px}.info-banner-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.info-banner-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.info-banner-section .check-field{align-items:center;display:flex;gap:7px}.info-banner-section .check-field input{margin:0}.info-banner-sources{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.info-banner-sources>div{background:var(--panel-strong);border:1px solid var(--line);border-radius:7px;display:grid;gap:6px;padding:9px}.info-banner-order{display:grid;gap:5px;list-style-position:inside;margin:0;padding:0}.info-banner-order li{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:6px;display:grid;gap:5px;grid-template-columns:minmax(0,1fr) 32px 32px;padding:6px 8px}.info-banner-order button{height:28px;padding:0}.sticky-preview{position:sticky;top:75px}.info-banner-preview-heading{align-items:center;display:flex;gap:10px;justify-content:space-between}.info-banner-preview-heading>div{align-items:center;display:flex;gap:8px}.info-banner-preview-inputs{margin-bottom:0}.info-banner-preview-frame{aspect-ratio:19.2/1;background:repeating-conic-gradient(#9992 0 25%,transparent 0 50%) 0/12px 12px;overflow:hidden;position:relative;width:100%}.info-banner-stage{height:100px;left:0;opacity:0;position:absolute;top:0;transform-origin:top left;width:1920px;--ib-intro-glow-low:0 2px 4px rgba(0,0,0,.55);--ib-intro-glow-high:0 2px 9px rgba(255,255,255,.35)}.info-banner-viewport{border:var(--ib-border) solid var(--ib-border-color);border-radius:var(--ib-radius);box-sizing:border-box;height:100px;isolation:isolate;overflow:hidden;position:relative;transition:background-color .15s,border-color .15s;width:1920px}.info-banner-track{align-items:center;box-sizing:border-box;color:var(--ib-color);display:flex;font-family:var(--ib-font);font-size:var(--ib-size);font-weight:var(--ib-weight);height:100%;left:0;padding:0 var(--ib-padding);position:absolute;text-shadow:var(--ib-shadow);top:0;transform:translate3d(1920px,0,0);white-space:nowrap;width:max-content;z-index:1}.info-banner-intro{display:grid;inset:0;overflow:hidden;place-items:center;pointer-events:none;position:absolute;z-index:2}.info-banner-intro[hidden]{display:none}.info-banner-intro-title{color:var(--ib-color);font-family:var(--ib-font);font-weight:var(--ib-weight);letter-spacing:.12em;line-height:1;max-width:calc(100% - 80px);overflow:hidden;text-align:center;text-overflow:ellipsis;text-shadow:var(--ib-intro-glow-low);text-transform:uppercase;white-space:nowrap;will-change:transform,opacity;z-index:3}.info-banner-intro-sheen,.info-banner-intro-streak{height:180%;left:-35%;opacity:0;pointer-events:none;position:absolute;top:-40%;will-change:transform,opacity}.info-banner-intro-sheen{background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.08) 35%,rgba(255,255,255,.55) 50%,rgba(255,255,255,.08) 65%,transparent 100%);width:42%}.info-banner-intro[data-sheen-intensity=subtle] .info-banner-intro-sheen{opacity:.55}.info-banner-intro[data-sheen-intensity=strong] .info-banner-intro-sheen{filter:brightness(1.18)}.info-banner-intro-streak{background:linear-gradient(110deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-22deg)}.info-banner-intro-streak-a{width:26%}.info-banner-intro-streak-b{width:13%}.info-banner-intro-streak-c{width:7%}@media(prefers-reduced-motion:reduce){.info-banner-intro-sheen,.info-banner-intro-streak{display:none}}.info-banner-copy-row{display:flex;gap:6px}.info-banner-copy-row input{min-width:0;width:100%}.info-banner-obs{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:0}.info-banner-obs div{background:var(--panel-strong);border-radius:6px;padding:7px;text-align:center}.info-banner-obs dt{color:var(--muted);font-size:.7rem}.info-banner-obs dd{font-size:1.1rem;font-weight:800;margin:0}@media(max-width:1000px){.info-banner-layout{grid-template-columns:1fr}.sticky-preview{position:static}}@media(max-width:650px){.info-banner-grid.two,.info-banner-grid.three,.info-banner-sources{grid-template-columns:1fr}.info-banner-page-header{align-items:start;flex-direction:column}.info-banner-sidebar{min-width:0}}

/* Three-column dashboard control board. */
.ft-dashboard-app .gfj-dashboard-layout[data-gfj-page="dashboard"]{display:block!important;width:100%}
.ft-dashboard-app .dashboard-control-banner{align-items:center;background:var(--dashboard-section-header);border:1px solid var(--theme-accent-border);border-radius:10px;box-shadow:0 10px 26px rgba(0,0,0,.24);color:#fff;display:flex;gap:18px;justify-content:space-between;margin:0 0 18px;min-height:61px;overflow:hidden;padding:9px 16px;position:relative}
.ft-dashboard-app .dashboard-control-banner h1{color:#fff;font-size:clamp(21px,1.65vw,27px);font-weight:750;letter-spacing:-.02em;line-height:1;margin:0;position:relative;z-index:1}
.ft-dashboard-app .dashboard-control-banner .gfj-channel-metrics{margin-left:auto;position:relative;z-index:1}
.ft-dashboard-app .dashboard-control-banner .gfj-channel-metric{background:rgba(9,13,27,.38);border-color:rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);min-height:43px}
.ft-dashboard-app .dashboard-control-banner .gfj-channel-metric svg{stroke:#fff}.ft-dashboard-app .dashboard-control-banner .gfj-channel-metric strong{color:var(--success)}
.ft-dashboard-app .gfj-dashboard-layout[data-gfj-page="dashboard"]>.live-control-center{background:transparent;border:0;box-shadow:none;margin:0;padding:0;width:100%}
.ft-dashboard-app .dashboard-control-columns{align-items:stretch;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.ft-dashboard-app .dashboard-control-column{background:var(--dashboard-panel-bg);border:1px solid var(--dashboard-border);border-radius:8px;display:flex;flex-direction:column;min-height:500px;min-width:0;overflow:hidden}
.ft-dashboard-app .dashboard-control-column>.stream-controls-header{border-radius:7px 7px 0 0;gap:7px;justify-content:flex-start;margin:0;min-height:38px;padding:7px 11px}
.ft-dashboard-app .dashboard-control-column>.stream-controls-header .control-icon{align-items:center;align-self:center;display:inline-flex;font-size:34px;justify-content:center;line-height:1;transform:translateY(-2px)}
.ft-dashboard-app .dashboard-control-column>.stream-controls-header h1{font-size:12px;font-weight:650;letter-spacing:.035em;line-height:1.2;text-transform:uppercase}
.ft-dashboard-app .dashboard-control-column>.stream-controls-header .dashboard-column-edit{align-items:center;background:transparent!important;border:0!important;color:var(--dashboard-text-secondary);display:inline-flex;height:26px;justify-content:center;margin-left:auto;min-height:26px!important;padding:3px;width:26px}
.ft-dashboard-app .dashboard-control-column>.stream-controls-header .dashboard-column-edit:hover,.ft-dashboard-app .dashboard-control-column>.stream-controls-header .dashboard-column-edit:focus-visible{background:var(--theme-accent-surface)!important;color:var(--dashboard-text)}
.ft-dashboard-app .dashboard-column-edit svg{fill:none;height:15px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:15px}
.ft-dashboard-app .dashboard-control-column>.overlay-control-grid{align-content:start;flex:1;grid-template-columns:minmax(0,1fr);min-height:460px;padding:12px}
.ft-dashboard-app .dashboard-control-columns.is-sorting-cards .overlay-control-grid{background:color-mix(in srgb,var(--theme-accent) 4%,transparent);cursor:grabbing}
.ft-dashboard-app .dashboard-control-columns.is-saving-order .dashboard-card-drag-handle{opacity:.65}
.ft-dashboard-app .dashboard-card-drag-handle,.ft-dashboard-app .dashboard-card-drag-handle:hover,.ft-dashboard-app .dashboard-card-drag-handle:focus-visible{align-self:center;background:transparent!important;border:0!important;border-radius:0;color:var(--dashboard-muted);flex-basis:22px;height:20px;line-height:20px;min-height:20px!important;padding:0;width:22px}
.ft-dashboard-app .dashboard-control-card-primary{align-items:center}
.ft-dashboard-app .dashboard-control-card-primary h2{align-self:center;line-height:20px}
.ft-dashboard-app .viewer-queue-card-list .viewer-queue-card-handle,.ft-dashboard-app .viewer-queue-card-list .viewer-queue-card-handle:hover,.ft-dashboard-app .viewer-queue-card-list .viewer-queue-card-handle:active,.ft-dashboard-app .viewer-queue-card-list .viewer-queue-card-handle:focus-visible{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--dashboard-muted)!important}
.ft-dashboard-app .overlay-control-card .dashboard-card-drag-handle,.ft-dashboard-app .overlay-control-card .dashboard-card-move-controls button,.ft-dashboard-app .overlay-control-card .counter-quick button,.ft-dashboard-app .overlay-control-card .overlay-more>.more-trigger,.ft-dashboard-app .overlay-control-card .open-redeems-collapse,.ft-dashboard-app .overlay-control-card .open-redeems-refresh,.ft-dashboard-app .overlay-control-card .redeem-run-button,.ft-dashboard-app .overlay-control-card .viewer-queue-card-remove{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--theme-accent)!important}
.ft-dashboard-app .overlay-control-card .dashboard-card-drag-handle:hover,.ft-dashboard-app .overlay-control-card .dashboard-card-drag-handle:active,.ft-dashboard-app .overlay-control-card .dashboard-card-drag-handle:focus-visible,.ft-dashboard-app .overlay-control-card .dashboard-card-move-controls button:hover,.ft-dashboard-app .overlay-control-card .dashboard-card-move-controls button:active,.ft-dashboard-app .overlay-control-card .dashboard-card-move-controls button:focus-visible,.ft-dashboard-app .overlay-control-card .counter-quick button:hover,.ft-dashboard-app .overlay-control-card .counter-quick button:active,.ft-dashboard-app .overlay-control-card .counter-quick button:focus-visible,.ft-dashboard-app .overlay-control-card .overlay-more>.more-trigger:hover,.ft-dashboard-app .overlay-control-card .overlay-more>.more-trigger:active,.ft-dashboard-app .overlay-control-card .overlay-more>.more-trigger:focus-visible,.ft-dashboard-app .overlay-control-card .open-redeems-collapse:hover,.ft-dashboard-app .overlay-control-card .open-redeems-collapse:active,.ft-dashboard-app .overlay-control-card .open-redeems-collapse:focus-visible,.ft-dashboard-app .overlay-control-card .open-redeems-refresh:hover,.ft-dashboard-app .overlay-control-card .open-redeems-refresh:active,.ft-dashboard-app .overlay-control-card .open-redeems-refresh:focus-visible,.ft-dashboard-app .overlay-control-card .redeem-run-button:hover,.ft-dashboard-app .overlay-control-card .redeem-run-button:active,.ft-dashboard-app .overlay-control-card .redeem-run-button:focus-visible,.ft-dashboard-app .overlay-control-card .viewer-queue-card-remove:hover,.ft-dashboard-app .overlay-control-card .viewer-queue-card-remove:active,.ft-dashboard-app .overlay-control-card .viewer-queue-card-remove:focus-visible{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--theme-accent)!important}
.ft-dashboard-app .overlay-control-card .dashboard-card-drag-handle,.ft-dashboard-app .overlay-control-card .dashboard-card-move-controls button,.ft-dashboard-app .overlay-control-card .counter-quick button,.ft-dashboard-app .overlay-control-card .overlay-more>.more-trigger,.ft-dashboard-app .overlay-control-card .open-redeems-collapse,.ft-dashboard-app .overlay-control-card .open-redeems-refresh,.ft-dashboard-app .overlay-control-card .redeem-run-button,.ft-dashboard-app .overlay-control-card .viewer-queue-card-remove{align-items:center;display:inline-flex;height:36px;justify-content:center;line-height:1;min-height:36px!important;min-width:36px;padding:0!important;width:36px}
.ft-dashboard-app .overlay-control-card .dashboard-card-drag-handle{flex-basis:36px;font-size:23px}.ft-dashboard-app .overlay-control-card .dashboard-card-move-controls button{font-size:21px}.ft-dashboard-app .overlay-control-card .counter-quick button{font-size:24px}.ft-dashboard-app .overlay-control-card .overlay-more{flex-basis:36px}.ft-dashboard-app .overlay-control-card .overlay-more>.more-trigger{font-size:26px}.ft-dashboard-app .overlay-control-card .open-redeems-collapse,.ft-dashboard-app .overlay-control-card .open-redeems-refresh{font-size:25px}.ft-dashboard-app .overlay-control-card .viewer-queue-card-remove{font-size:30px}.ft-dashboard-app .overlay-control-card .redeem-run-button svg{height:28px;width:28px}.ft-dashboard-app .overlay-control-card .counter-quick{grid-template-columns:minmax(0,1fr) 40px 46px 40px}
.ft-dashboard-app .overlay-control-card .open-redeems-collapse,.ft-dashboard-app .overlay-control-card .open-redeems-refresh,.ft-dashboard-app .viewer-queue-card-list .viewer-queue-card-remove{font-size:18px;height:26px;min-height:26px!important;min-width:26px;width:26px}.ft-dashboard-app .viewer-queue-card-list .viewer-queue-card-remove{font-size:21px}.ft-dashboard-app .viewer-queue-card-actions{margin-top:10px}
.ft-dashboard-app .overlay-control-card .overlay-actions button.control-action[data-action="toggle"]{appearance:none;background:color-mix(in srgb,var(--dashboard-button-bg) 88%,#000)!important;border:1px solid var(--dashboard-border)!important;border-radius:5px;box-shadow:none!important;color:var(--dashboard-text)!important;font-size:11px;font-weight:400;min-height:31px;padding:4px 6px}.ft-dashboard-app .overlay-control-card .overlay-actions button.control-action[data-action="toggle"]:hover,.ft-dashboard-app .overlay-control-card .overlay-actions button.control-action[data-action="toggle"]:focus-visible{background:color-mix(in srgb,var(--dashboard-button-hover-bg) 88%,#000)!important;border-color:var(--theme-accent)!important;color:var(--dashboard-text)!important}
@media(max-width:1180px){.ft-dashboard-app .dashboard-control-columns{grid-template-columns:1fr}.ft-dashboard-app .dashboard-control-column{min-height:500px}}
@media(max-width:640px){.ft-dashboard-app .dashboard-control-banner{align-items:flex-start;flex-direction:column;gap:11px;min-height:0;padding:13px 14px}.ft-dashboard-app .dashboard-control-banner .gfj-channel-metrics{margin-left:0;width:100%}.ft-dashboard-app .dashboard-control-banner .gfj-channel-metric{flex:1;min-width:0}}
