:root {
    --bg: #f3f6f8;
    --panel: #ffffff;
    --panel2: #edf2f5;
    --line: #d5dee5;
    --text: #14283a;
    --muted: #5c6d7c;
    --purple: #0b3a5b;
    --purple2: #ba2924;
    --gold: #9a7117;
    --green: #176b4d;
    --danger: #b7272b;
}

body {
    background:
        radial-gradient(circle at 82% 5%, rgba(211, 174, 73, .12), transparent 27%),
        radial-gradient(circle at 10% 8%, rgba(10, 57, 89, .08), transparent 24%),
        linear-gradient(180deg, #fbfcfd 0, var(--bg) 430px);
    color: var(--text);
}

.topbar {
    min-height: 112px;
    height: auto;
    border-bottom: 3px solid transparent;
    border-image: linear-gradient(90deg, #0a3959 0 52%, #d4af4b 52% 76%, #ba2924 76%) 1;
    background: linear-gradient(100deg, #eef4f7, #fffdf8);
}
.brand { display: block; width: 190px; height: 96px; }
.brand-logo-crop { display: block; width: 190px; height: 96px; overflow: hidden; }
.brand-logo { display: block; width: 190px; height: 190px; max-width: none; transform: translateY(-47px); }
nav, nav a, .link-button { color: #4d5869; }
nav a:hover, .link-button:hover { color: #251735; }

.panel,
.lottery-card,
.features > div,
.hero-product {
    background: #fff;
    border-color: var(--line);
    box-shadow: 0 8px 28px rgba(35, 45, 65, .06);
}
.hero-product {
    background: linear-gradient(145deg, #fff, #f6f1fb);
    box-shadow: 0 28px 70px rgba(60, 42, 78, .13);
}
.product-head small,
.product-stats,
.hero-copy > p,
.features p,
.page-heading p,
.muted,
.lottery-card p,
.stat span,
.auth-shell > p { color: var(--muted); }
.product-head h2,
.features h3,
.lottery-card h3,
.page-heading h1,
.panel h2 { color: var(--text); }
.product-stats { border-top-color: var(--line); }
.product-stats b { color: #303747; }
.fake-action {
    background: #f5eefb;
    border-color: #dcc5ed;
    color: #672b9a;
}
.lottery-strip,
.footer { border-color: var(--line); }
.lottery-list span,
.footer { color: #5e6878; }
.features { background: var(--line); border-color: var(--line); }

.button {
    background: linear-gradient(135deg, #092f4b, #14577f);
    color: #fff;
    box-shadow: 0 8px 24px rgba(8, 51, 81, .18);
}
.button-ghost {
    background: #fff;
    border-color: #cbd2df;
    color: #364052;
}
.button-ghost:hover { background: #f2f4f8; }

.field label,
.toggle-field { color: #303949; }
.field input,
.field select,
.field textarea,
.checker-inputs textarea,
.generator-form select {
    background: #fff;
    border-color: #bac4d3;
    color: #171d28;
}
.field input::placeholder,
.field textarea::placeholder,
.checker-inputs textarea::placeholder { color: #7b8594; }
.field small,
.checker-inputs small { color: #657183; }
.errors {
    background: #fff1f3;
    border-color: #efb5bf;
    color: #a91e38;
}

.badge {
    background: #e7f7f0;
    color: #126343;
    border: 1px solid #bee6d6;
    font-size: 12px;
}
.badge.neutral {
    background: #edf0f5;
    color: #535e6e;
}
.flash {
    background: #fff;
    border-color: var(--line);
    box-shadow: 0 12px 38px rgba(35, 45, 65, .15);
}
.flash.success { color: #146947; }
.flash.error { color: #b1243e; }

table { font-size: 14px; }
th {
    background: #f3f5f9;
    color: #4f5a6a;
    font-size: 11px;
}
th, td { border-bottom-color: var(--line); }
td { color: #303949; }
.history-open,
.table-action {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 8px 13px;
    border: 1px solid #b9ccd9;
    border-radius: 9px;
    background: #edf5f8;
    color: #0a3a5b;
    font-size: 13px;
    font-weight: 800;
}
.history-open:hover,
.table-action:hover { background: #dcecf2; }

.quick-links a,
.payment-admin-item,
.payment-customer-info {
    background: #f7f8fb;
    border-color: var(--line);
    color: #354052;
}
.payment-warning {
    background: #fff8e8;
    border-color: #e6c97b;
    color: #72500a;
}
.payment-meta > span:not(.badge),
.reviewed-info { color: #657183; }

.lottery-page {
    --lottery-deep: color-mix(in srgb, var(--lottery-color) 78%, #172033);
    --lottery-soft: color-mix(in srgb, var(--lottery-color) 12%, white);
    --lottery-line: color-mix(in srgb, var(--lottery-color) 45%, #cfd6e2);
}
.lottery-page .lottery-title {
    background: linear-gradient(110deg, var(--lottery-soft), #fff 55%);
    border-color: var(--lottery-line);
    box-shadow: 0 12px 34px color-mix(in srgb, var(--lottery-color) 10%, transparent);
}
.lottery-page .lottery-title h1 { color: #1b2230; }
.lottery-page .lottery-title p { color: #596576; }
.lottery-page .game-format {
    background: var(--lottery-soft);
    border-color: var(--lottery-line);
    color: #263044;
}
.lottery-page .lottery-tools-nav {
    background: #fff;
    border-color: var(--lottery-line);
    box-shadow: 0 5px 18px rgba(35, 45, 65, .05);
}
.lottery-page .lottery-tools-nav a { color: #4d5869; }
.lottery-page .lottery-tools-nav a:hover { background: var(--lottery-soft); color: #202838; }
.lottery-page .lottery-tools-nav a.active {
    background: var(--lottery-deep);
    color: #fff;
    box-shadow: none;
}
.lottery-page .panel { border-color: color-mix(in srgb, var(--lottery-color) 20%, var(--line)); }
.lottery-page .button:not(.button-ghost) {
    background: linear-gradient(135deg, var(--lottery-deep), color-mix(in srgb, var(--lottery-color) 72%, #30384a));
}
.lottery-page .filter-card {
    background: #fbfcfe;
    border-color: color-mix(in srgb, var(--lottery-color) 28%, #d9dfeb);
}
.lottery-page .filter-card legend { color: #283142; }
.lottery-page .filter-option + .filter-option { border-top-color: #e4e8ef; }
.lottery-page .filter-option:hover { background: #f2f5f9; }
.lottery-page .filter-option b { color: #303949; }
.lottery-page .filter-option small { color: #657183; }
.lottery-page .filter-option:has(input:checked) { background: var(--lottery-soft); }
.lottery-page .filter-option:has(input:checked) b { color: #1d2433; }
.lottery-page .filter-all { background: var(--lottery-soft); }
.lottery-page .filter-all b { color: var(--lottery-deep); }

.lottery-tools-nav { background: #fff; border-color: var(--line); }
.number-picker span,
.chips span {
    background: #fff;
    border-color: #bec8d6;
    color: #384355;
}
.selection-toolbar strong { background: #eef1f6; color: #3a4556; }
.selection-toolbar strong.is-complete { background: #e5f6ef; color: #126847; }
.generator-form > p { color: #596576; }

.icon-button {
    background: #fff;
    border-color: #c5cedb;
    color: #384355;
}
.icon-button:not(:disabled):hover {
    background: var(--lottery-soft, #f3f0f7);
    color: #1d2433;
}
.danger-action { color: #ae2a42; border-color: #e6b6bf; }

.status--info {
    background: #f0f3f8;
    border-color: #d2d9e5;
    color: #394456;
}
.status--success {
    background: #e7f7f0;
    border-color: #b8e3d2;
    color: #125e41;
}
.status--error {
    background: #fff0f2;
    border-color: #efb5bf;
    color: #a71f38;
}

.game-row,
.checked-card {
    background: #fafbfc;
    border-color: #dce2eb;
}
.game-index { color: #687486; }
.game-extra { color: #505c6e; }
.checked-card-head,
.checked-draw { color: #2d3748; }
.checked-draw { border-top-color: #e0e5ed; }
.checked-draw > span { color: #5d697a; }
.award-list { color: #3c4758; }
.empty-state,
.coming-soon { color: #657183; }

.lesson-card { background: #fff; }
.video-frame { background: #e9edf3; }
.lesson-copy p,
.lessons-empty p { color: #596576; }

.toast {
    background: #fff;
    border-color: #cfd6e2;
    color: #252d3b;
    box-shadow: 0 18px 50px rgba(34, 44, 64, .18);
}
.toast-icon { background: #edf1f6; }
.toast--success { border-color: #91cfb6; }
.toast--error { border-color: #e5a0ac; }
.toast-close { color: #5e6979; }

.eyebrow,
.auth-foot a,
.back-link,
.card-link,
.section-head a,
.plan-cycle,
.payment-admin-summary a { color: #0b456b; }
.eyebrow::before { background: #d1aa43; }
.feature-number { color: #b52827; }
.numbers-grid span { background: linear-gradient(145deg, #c43a32, #9f1f20); box-shadow: 0 4px 12px rgba(177, 37, 35, .2); }
.live-dot { color: #176b4d; background: #e7f5ef; border-color: #bddfce; }
.live-dot::before { background: #176b4d; }

.history-games-panel { margin-top: 18px; }
.history-games-panel .status { margin: 0 0 18px; }
.history-games { max-height: none; }

@media (max-width: 650px) {
    .topbar { min-height: 84px; background: linear-gradient(100deg, #eef4f7, #fffdf8); }
    .brand { width: 142px; height: 72px; }
    .brand-logo-crop { width: 142px; height: 72px; }
    .brand-logo { width: 142px; height: 142px; transform: translateY(-35px); }
    .history-panel .table-wrap { margin-inline: -12px; }
    .history-open { white-space: nowrap; }
}
