        :root {
            color-scheme: dark;
            --bg: #0a0c10;
            --bg-deep: #131720;
            --panel: rgba(17, 20, 28, 0.88);
            --panel-strong: rgba(22, 26, 36, 0.96);
            --panel-border: rgba(224, 176, 94, 0.16);
            --text: #f5efe5;
            --muted: #b7ab97;
            --accent: #c9923d;
            --accent-strong: #efb45a;
            --accent-soft: rgba(239, 180, 90, 0.14);
            --accent-ink: #20160a;
            --danger: #c85d52;
            --success-bg: rgba(83, 149, 102, 0.18);
            --success-text: #c9f0d1;
            --error-bg: rgba(188, 76, 64, 0.18);
            --error-text: #ffd0cb;
            --shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
            --shadow-soft: 0 14px 34px rgba(0, 0, 0, 0.24);
        }

        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            font-family: "Aptos", "Segoe UI Variable Text", "Segoe UI", sans-serif;
            background: linear-gradient(180deg, #151925 0%, var(--bg-deep) 16%, var(--bg) 100%);
            background-attachment: fixed;
            color: var(--text);
        }

        .page {
            width: min(1360px, calc(100% - 32px));
            margin: 20px auto 32px;
        }

        .site-footer {
            width: min(1360px, calc(100% - 32px));
            margin: 0 auto 28px;
            color: var(--muted);
            font-size: 0.92rem;
            text-align: center;
        }

        .site-footer a {
            color: inherit;
            text-decoration: none;
        }

        .site-footer a:hover {
            color: var(--accent-strong);
        }

        .hero,
        .panel {
            background: var(--panel);
            border: 1px solid var(--panel-border);
            border-radius: 18px;
            box-shadow: var(--shadow);
            backdrop-filter: blur(12px);
        }

        .hero {
            position: relative;
            overflow: hidden;
            padding: 24px;
            margin-bottom: 16px;
        }

        .hero::before,
        .hero::after {
            content: "";
            position: absolute;
            border-radius: 999px;
            pointer-events: none;
        }

        .hero::before {
            width: 280px;
            height: 280px;
            top: -160px;
            right: -40px;
            background: radial-gradient(circle, rgba(239, 180, 90, 0.26) 0%, rgba(239, 180, 90, 0) 72%);
        }

        .hero::after {
            width: 220px;
            height: 220px;
            left: -80px;
            bottom: -150px;
            background: radial-gradient(circle, rgba(106, 136, 232, 0.18) 0%, rgba(106, 136, 232, 0) 72%);
        }

        .hero h1 {
            margin: 0 0 10px;
            font-size: clamp(2.2rem, 4vw, 3.4rem);
            line-height: 0.98;
            letter-spacing: -0.04em;
        }

        .hero p,
        .muted {
            color: var(--muted);
        }

        .hero-copy {
            max-width: 720px;
        }

        .hero-badge-row {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            align-items: center;
            margin-bottom: 18px;
        }

        .hero-badge-row .hero-inline-form {
            margin-left: auto;
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            min-height: 34px;
            padding: 0 14px;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(239, 180, 90, 0.14);
            box-shadow: var(--shadow-soft);
            color: #f1c97f;
            font-size: 0.86rem;
            font-weight: 700;
            letter-spacing: 0.02em;
        }

        .hero-badge.subtle {
            color: var(--muted);
            background: rgba(255, 255, 255, 0.04);
        }

        .hero-inline-form {
            margin: 0;
        }

        .hero-badge-button {
            cursor: pointer;
            font-family: inherit;
            color: var(--muted);
            background: rgba(255, 255, 255, 0.04);
        }

        .hero-badge-button:hover {
            border-color: rgba(239, 180, 90, 0.38);
            background: rgba(239, 180, 90, 0.1);
        }

        .grid {
            display: grid;
            grid-template-columns: 390px minmax(0, 1fr);
            gap: 14px;
        }

        .panel-stack {
            display: grid;
            gap: 14px;
            align-content: start;
        }

        .panel {
            padding: 16px;
        }

        .admin-content-shell {
            padding: 14px;
            border-radius: 18px;
            background: var(--panel);
            border: 1px solid var(--panel-border);
            box-shadow: var(--shadow);
            backdrop-filter: blur(12px);
        }

        .panel-header {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            align-items: flex-start;
            margin-bottom: 14px;
        }

        .panel-header h2 {
            margin: 0 0 6px;
            font-size: 1.45rem;
            letter-spacing: -0.03em;
        }

        .panel-header-actions {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            flex-wrap: wrap;
            gap: 8px;
        }

        .panel-header-actions form {
            margin: 0;
        }

        .panel-kicker {
            display: inline-block;
            margin-bottom: 8px;
            color: #9b6c29;
            font-size: 0.76rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            font-weight: 800;
        }

        .panel-copy {
            margin: 0;
            color: var(--muted);
            font-size: 0.97rem;
            line-height: 1.6;
        }

        form {
            margin: 0;
        }

        label {
            display: block;
            margin-bottom: 4px;
            font-weight: 700;
        }

        .label-row {
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .help-badge {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 20px;
            height: 20px;
            border-radius: 999px;
            border: 1px solid rgba(212, 175, 55, 0.24);
            background: rgba(212, 175, 55, 0.08);
            color: var(--accent-strong);
            font-size: 0.74rem;
            font-weight: 800;
            line-height: 1;
            cursor: help;
            z-index: 30;
        }

        .help-badge:hover,
        .help-badge:focus-visible {
            background: rgba(212, 175, 55, 0.16);
            border-color: rgba(212, 175, 55, 0.4);
            outline: none;
        }

        .help-badge::after {
            content: attr(data-help);
            position: absolute;
            left: 50%;
            bottom: calc(100% + 10px);
            transform: translateX(-50%);
            width: min(260px, 70vw);
            padding: 10px 12px;
            border-radius: 12px;
            background: rgba(12, 12, 13, 0.98);
            border: 1px solid rgba(212, 175, 55, 0.18);
            box-shadow: 0 16px 28px rgba(0, 0, 0, 0.34);
            color: #f2ead7;
            font-size: 0.82rem;
            font-weight: 500;
            line-height: 1.45;
            text-align: left;
            pointer-events: none;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
            z-index: 300;
        }

        .help-badge:hover::after,
        .help-badge:focus-visible::after {
            opacity: 1;
            visibility: visible;
            transform: translateX(-50%) translateY(-2px);
        }

        input[type="text"],
        input[type="password"],
        input[type="number"],
        input[type="url"],
        select,
        textarea {
            width: 100%;
            padding: 10px 12px;
            border: 1px solid rgba(239, 180, 90, 0.12);
            border-radius: 12px;
            background: rgba(7, 10, 16, 0.78);
            color: var(--text);
            font: inherit;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
        }

        input[type="text"]::placeholder,
        input[type="password"]::placeholder,
        input[type="number"]::placeholder,
        input[type="url"]::placeholder,
        textarea::placeholder {
            color: #817360;
        }

        input[type="text"]:focus,
        input[type="password"]:focus,
        input[type="number"]:focus,
        input[type="url"]:focus,
        select:focus,
        textarea:focus {
            outline: 0;
            border-color: rgba(239, 180, 90, 0.46);
            box-shadow: 0 0 0 4px rgba(239, 180, 90, 0.12);
        }

        textarea {
            min-height: 120px;
            resize: vertical;
        }

        .field {
            margin-bottom: 10px;
        }

        .checkbox-option {
            display: flex;
            align-items: flex-start;
            gap: 9px;
            padding: 10px 12px;
            border: 1px solid rgba(239, 180, 90, 0.12);
            border-radius: 8px;
            background: rgba(8, 11, 16, 0.55);
            cursor: pointer;
        }

        .checkbox-option input {
            margin-top: 3px;
        }

        .checkbox-option .field-help {
            display: block;
            font-weight: 400;
        }

        .field-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
        }

        .section-card {
            margin-bottom: 12px;
            padding: 14px;
            border: 1px solid rgba(239, 180, 90, 0.12);
            border-radius: 14px;
            background: linear-gradient(180deg, rgba(25, 29, 40, 0.88) 0%, rgba(17, 20, 28, 0.88) 100%);
            box-shadow: var(--shadow-soft);
        }

        .section-title {
            margin: 0 0 4px;
            font-size: 1rem;
        }

        .section-copy {
            margin: 0 0 10px;
            color: var(--muted);
            font-size: 0.92rem;
            line-height: 1.45;
        }

        .field-help {
            margin-top: 5px;
            color: var(--muted);
            font-size: 0.82rem;
        }

        .provider-status {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin: 2px 0 8px;
            font-size: 0.82rem;
            font-weight: 800;
        }

        .provider-status-meta {
            display: grid;
            gap: 4px;
            margin: -2px 0 10px;
            color: var(--muted);
            font-size: 0.78rem;
            line-height: 1.35;
        }

        .vote-source-breakdown {
            display: grid;
            gap: 8px;
        }

        .vote-source-breakdown-row {
            display: grid;
            grid-template-columns: minmax(120px, 1fr) repeat(3, auto);
            gap: 10px;
            align-items: center;
            padding: 8px 0;
            border-top: 1px solid rgba(239, 180, 90, 0.1);
            color: var(--muted);
            font-size: 0.84rem;
        }

        .vote-source-breakdown-row:first-child {
            border-top: 0;
        }

        .vote-source-breakdown-row strong {
            color: var(--text);
        }

        .portal-user-list {
            display: grid;
            gap: 10px;
            margin: 16px 0;
        }

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

        .portal-user-row {
            padding: 12px;
            border: 1px solid rgba(239, 180, 90, 0.12);
            border-radius: 14px;
            background: rgba(7, 10, 16, 0.44);
        }

        .portal-user-row.readonly {
            align-items: center;
        }

        .portal-user-reason {
            justify-self: end;
            padding: 6px 10px;
            border-radius: 999px;
            background: rgba(239, 180, 90, 0.11);
            color: var(--muted);
            font-size: 0.82rem;
            white-space: nowrap;
        }

        .portal-user-main {
            display: grid;
            gap: 4px;
            min-width: 0;
        }

        .portal-user-row .portal-user-main code {
            color: var(--muted);
            font-size: 0.78rem;
        }

        .portal-user-row code {
            overflow-wrap: anywhere;
        }

        .preset-select-row {
            display: grid;
            grid-template-columns: 1fr;
            gap: 12px;
            margin: 14px 0 18px;
            padding: 14px;
            border-radius: 16px;
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(239, 180, 90, 0.11);
        }

        .preset-controls {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 10px;
            align-items: end;
        }

        .preset-controls button {
            min-height: 46px;
            padding-inline: 16px;
            white-space: nowrap;
        }

        .preset-description {
            margin: 0;
            padding: 10px 12px;
            border-radius: 12px;
            background: rgba(212, 175, 55, 0.065);
            border: 1px solid rgba(212, 175, 55, 0.12);
            color: var(--muted);
            font-size: 0.84rem;
            line-height: 1.45;
        }

        .sticky-panel .preset-controls {
            grid-template-columns: 1fr;
        }

        .sticky-panel .preset-controls button {
            width: 100%;
        }

        .actions {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 10px;
        }

        .servermod-download-action {
            position: relative;
            display: inline-flex;
            width: fit-content;
        }

        .new-badge {
            position: absolute;
            top: -10px;
            right: -12px;
            min-width: 38px;
            padding: 2px 8px;
            border-radius: 999px;
            background: #6ee75d;
            border: 1px solid rgba(255, 255, 255, 0.75);
            color: #071008;
            font-size: 0.68rem;
            font-weight: 900;
            line-height: 1.2;
            text-align: center;
            box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
            pointer-events: none;
        }

        .servermod-card {
            position: relative;
            padding-right: 140px;
        }

        .servermod-version-corner {
            position: absolute;
            top: 12px;
            right: 12px;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            max-width: 128px;
            min-height: 22px;
            padding: 2px 8px;
            border-radius: 999px;
            font-size: 0.72rem;
            font-weight: 800;
            border: 1px solid rgba(255, 255, 255, 0.16);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            line-height: 1;
        }

        .servermod-version-corner.current {
            color: #c9f0d1;
            background: rgba(83, 149, 102, 0.14);
            border-color: rgba(83, 149, 102, 0.36);
        }

        .servermod-version-corner.outdated {
            color: #ffd4cc;
            background: rgba(188, 76, 64, 0.15);
            border-color: rgba(188, 76, 64, 0.38);
        }

        .servermod-version-corner.unknown {
            color: var(--muted);
            background: rgba(255, 255, 255, 0.055);
        }

        .servermod-version-value {
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .servermod-version-corner .new-badge {
            position: static;
            min-width: 0;
            padding: 1px 5px;
            font-size: 0.58rem;
            box-shadow: none;
            border-color: rgba(255, 255, 255, 0.35);
        }

        .submit-actions {
            align-items: center;
        }

        .submit-help {
            margin: 10px 0 0;
        }

        .topbar {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 12px;
        }

        .hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.9fr);
            gap: 18px;
            align-items: stretch;
        }

        .hero-main {
            flex: 1 1 420px;
            min-width: 0;
        }

        .hero-copy {
            margin: 0 0 22px;
            font-size: 1rem;
            line-height: 1.65;
        }

        .hero-side {
            display: flex;
        }

        .hero-side-card {
            width: 100%;
            padding: 18px;
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(31, 36, 48, 0.92) 0%, rgba(17, 21, 29, 0.92) 100%);
            border: 1px solid rgba(239, 180, 90, 0.14);
            box-shadow: var(--shadow-soft);
        }

        .hero-side-title {
            margin: 0 0 8px;
            font-size: 1.08rem;
            font-weight: 700;
            color: var(--text);
        }

        .hero-side-copy {
            margin: 0 0 16px;
            color: var(--muted);
            font-size: 0.93rem;
            line-height: 1.55;
        }

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

        .hero-metric {
            padding: 12px 14px;
            border-radius: 16px;
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(239, 180, 90, 0.08);
        }

        .hero-metric-label {
            display: block;
            margin-bottom: 6px;
            color: var(--muted);
            font-size: 0.76rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .hero-metric-value {
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--text);
        }

        .page-nav-shell {
            padding: 12px;
            border-radius: 20px;
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(239, 180, 90, 0.1);
        }

        .topbar-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            align-items: center;
            padding: 10px;
            border-radius: 20px;
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(239, 180, 90, 0.1);
            box-shadow: var(--shadow-soft);
        }

        .topbar-side {
            display: grid;
            justify-items: end;
            gap: 8px;
        }

        .servermod-hero-warning {
            display: inline-flex;
            align-items: center;
            min-height: 24px;
            padding: 3px 9px;
            border-radius: 999px;
            border: 1px solid rgba(188, 76, 64, 0.42);
            background: rgba(188, 76, 64, 0.15);
            color: #ffd4cc;
            font-size: 0.72rem;
            font-weight: 800;
            line-height: 1;
            white-space: nowrap;
            text-decoration: none;
            box-shadow: var(--shadow-soft);
            transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
        }

        .servermod-hero-warning:hover {
            border-color: rgba(255, 212, 204, 0.72);
            background: rgba(188, 76, 64, 0.24);
            color: #ffe6e1;
        }

        .topbar-instance-switch {
            margin: 0;
        }

        .reward-subnav {
            margin-bottom: 20px;
        }

        .reward-subnav .page-nav-link {
            min-height: 38px;
            padding: 0 14px;
            font-size: 0.92rem;
        }

        .bot-settings-tabs {
            margin: 0 0 18px;
        }

        .bot-settings-tabs .page-nav {
            gap: 10px;
        }

        .bot-settings-tabs .page-nav-link {
            appearance: none;
            cursor: pointer;
            font: inherit;
            font-weight: 700;
        }

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

        .runtime-status-group {
            position: fixed;
            top: 12px;
            right: 100px;
            z-index: 50;
            display: inline-flex;
            gap: 8px;
            align-items: center;
            padding: 6px 8px;
            border-radius: 999px;
            background: rgba(12, 14, 20, 0.9);
            border: 1px solid rgba(239, 180, 90, 0.14);
            box-shadow: var(--shadow-soft);
            backdrop-filter: blur(10px);
        }

        .runtime-status {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            min-height: 34px;
            padding: 0 5px;
            border-radius: 999px;
            background: transparent;
            border: 0;
            color: var(--muted);
            font-size: 0.78rem;
            font-weight: 800;
            white-space: nowrap;
        }

        .runtime-status-dot {
            width: 8px;
            height: 8px;
            border-radius: 999px;
            background: #8f98aa;
            box-shadow: 0 0 0 3px rgba(143, 152, 170, 0.16);
            transition: background 0.15s ease, box-shadow 0.15s ease;
        }

        .runtime-status.online {
            color: #c9f0d1;
        }

        .runtime-status.online .runtime-status-dot {
            background: #6fd17c;
            box-shadow: 0 0 0 3px rgba(111, 209, 124, 0.18);
        }

        .runtime-status.offline {
            color: #ffb3b3;
        }

        .runtime-status.offline .runtime-status-dot {
            background: #ef6262;
            box-shadow: 0 0 0 3px rgba(239, 98, 98, 0.18);
        }

        .runtime-status.disabled,
        .runtime-status.unknown {
            color: var(--muted);
        }

        .runtime-status.disabled .runtime-status-dot,
        .runtime-status.unknown .runtime-status-dot {
            background: #e7b84f;
            box-shadow: 0 0 0 3px rgba(231, 184, 79, 0.18);
        }

        .language-switch {
            position: fixed;
            top: 12px;
            right: 12px;
            z-index: 50;
            display: inline-flex;
            gap: 6px;
            padding: 6px;
            border-radius: 999px;
            background: rgba(12, 14, 20, 0.9);
            border: 1px solid rgba(239, 180, 90, 0.14);
            box-shadow: var(--shadow-soft);
            backdrop-filter: blur(10px);
        }

        .language-switch a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 30px;
            border-radius: 999px;
            text-decoration: none;
            font-size: 1.1rem;
            opacity: 0.62;
        }

        .language-switch a.active {
            opacity: 1;
            background: rgba(239, 180, 90, 0.18);
            box-shadow: inset 0 0 0 1px rgba(239, 180, 90, 0.22);
        }

        .sticky-panel .field-grid {
            grid-template-columns: 1fr;
        }

        .sticky-panel .label-row {
            align-items: flex-start;
        }

        .page-nav {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            align-items: center;
        }

        .page-nav-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            padding: 0 16px;
            border-radius: 999px;
            border: 1px solid rgba(239, 180, 90, 0.12);
            background: rgba(255, 255, 255, 0.04);
            color: var(--muted);
            text-decoration: none;
            font-weight: 700;
            transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, color 0.16s ease;
        }

        .page-nav-link:hover {
            transform: translateY(-1px);
            border-color: rgba(239, 180, 90, 0.24);
            background: rgba(255, 255, 255, 0.08);
            color: var(--text);
        }

        .page-nav-link.active {
            background: linear-gradient(180deg, rgba(239, 180, 90, 0.22) 0%, rgba(201, 146, 61, 0.16) 100%);
            border-color: rgba(239, 180, 90, 0.3);
            color: #ffe0ad;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
        }

        .page-nav-link.is-locked,
        .page-nav-link.is-locked:hover {
            gap: 6px;
            opacity: 0.62;
            cursor: pointer;
            background: rgba(255, 255, 255, 0.025);
            border-color: rgba(239, 180, 90, 0.08);
            color: var(--muted);
        }

        .page-nav-link.is-locked:hover {
            opacity: 0.78;
            transform: translateY(-1px);
            border-color: rgba(239, 180, 90, 0.18);
        }

        .feature-locked-panel {
            display: flex;
            align-items: center;
            gap: 10px;
            color: var(--muted);
        }

        .logout-form {
            margin: 0;
        }

        button,
        .button-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            min-height: 36px;
            padding: 0 13px;
            border: 0;
            border-radius: 999px;
            background: linear-gradient(180deg, var(--accent-strong) 0%, var(--accent) 100%);
            color: var(--accent-ink);
            text-decoration: none;
            cursor: pointer;
            font: inherit;
            font-weight: 700;
            box-shadow: inset 0 1px 0 rgba(255, 240, 193, 0.45), 0 10px 24px rgba(0, 0, 0, 0.28);
            transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
        }

        button:hover,
        .button-link:hover {
            transform: translateY(-1px);
            filter: brightness(1.04);
            box-shadow: inset 0 1px 0 rgba(255, 244, 211, 0.52), 0 14px 30px rgba(0, 0, 0, 0.34);
        }

        button.secondary,
        .button-link.secondary {
            background: linear-gradient(180deg, rgba(39, 44, 57, 0.96) 0%, rgba(23, 26, 34, 0.96) 100%);
            color: #f0dfbf;
            border: 1px solid rgba(239, 180, 90, 0.14);
        }

        .bot-settings-tabs button.page-nav-link {
            min-height: 38px;
            padding: 0 14px;
            border: 1px solid rgba(239, 180, 90, 0.12);
            background: rgba(255, 255, 255, 0.04);
            color: var(--muted);
            box-shadow: none;
            filter: none;
        }

        .bot-settings-tabs button.page-nav-link:hover {
            transform: translateY(-1px);
            border-color: rgba(239, 180, 90, 0.24);
            background: rgba(255, 255, 255, 0.08);
            color: var(--text);
            box-shadow: none;
            filter: none;
        }

        .bot-settings-tabs button.page-nav-link.active {
            background: linear-gradient(180deg, rgba(239, 180, 90, 0.22) 0%, rgba(201, 146, 61, 0.16) 100%);
            border-color: rgba(239, 180, 90, 0.3);
            color: #ffe0ad;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
        }

        button.danger {
            background: linear-gradient(180deg, #c15f55 0%, var(--danger) 100%);
            color: #fff3ef;
        }

        .alert {
            padding: 14px 16px;
            border-radius: 16px;
            margin-bottom: 16px;
            border: 1px solid rgba(255, 255, 255, 0.06);
            box-shadow: var(--shadow-soft);
        }

        .alert.success {
            background: var(--success-bg);
            color: var(--success-text);
        }

        .alert.error {
            background: var(--error-bg);
            color: var(--error-text);
        }

        .compact-alert {
            margin: 12px 0;
            padding: 10px 12px;
            border-radius: 12px;
        }

        .runtime-expiry-text {
            margin-top: 10px;
            font-weight: 700;
        }

        .runtime-expiry-text.success {
            color: var(--success-text);
        }

        .runtime-expiry-text.error {
            color: var(--error-text);
        }

        .search-row {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto auto;
            gap: 8px;
            margin-bottom: 12px;
            align-items: center;
            padding: 9px;
            border-radius: 14px;
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(239, 180, 90, 0.1);
        }

        .search-row input {
            min-width: 0;
        }

        .search-row button,
        .search-row .button-link {
            white-space: nowrap;
        }

        .filter-group {
            grid-column: 1 / -1;
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            align-items: center;
            color: var(--muted);
            font-size: 13px;
        }

        .filter-group > span {
            font-weight: 800;
            color: var(--text);
            margin-right: 2px;
        }

        .filter-group label {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            min-height: 30px;
            padding: 0 10px;
            border-radius: 999px;
            border: 1px solid rgba(224, 176, 94, 0.18);
            background: rgba(255, 255, 255, 0.025);
            color: var(--text);
            cursor: pointer;
        }

        .filter-group input {
            min-height: 0;
            width: auto;
            accent-color: var(--accent);
        }

        .search-meta {
            margin: -4px 0 12px;
            color: var(--muted);
            font-size: 0.9rem;
            line-height: 1.5;
        }

        .stat-strip {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 10px;
            margin-bottom: 14px;
        }

        .stat-card {
            padding: 12px 14px;
            border-radius: 14px;
            background: linear-gradient(180deg, rgba(20, 24, 34, 0.88) 0%, rgba(14, 17, 24, 0.88) 100%);
            border: 1px solid rgba(239, 180, 90, 0.12);
            box-shadow: var(--shadow-soft);
        }

        .stat-label {
            display: block;
            margin-bottom: 5px;
            color: var(--muted);
            font-size: 0.82rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }

        .stat-value {
            font-size: 1.45rem;
            font-weight: 700;
            color: var(--text);
        }

        .token-admin-page .stat-card,
        .token-admin-page .search-row,
        .token-admin-page .reward-card,
        .token-admin-page .reward-empty {
            background: var(--panel);
            border-color: var(--panel-border);
        }

        .weekly-builder-shell {
            display: grid;
            grid-template-columns: 320px minmax(0, 1fr);
            gap: 14px;
            align-items: start;
        }

        .weekly-rule-stack,
        .weekly-builder-steps {
            display: grid;
            gap: 12px;
        }

        .weekly-rule-card {
            padding: 11px;
            border-radius: 8px;
            border: 1px solid rgba(239, 180, 90, 0.14);
            background: rgba(10, 14, 20, 0.62);
        }

        .weekly-rule-card .actions {
            gap: 8px;
            margin-top: 10px;
        }

        .weekly-rule-card .button-link,
        .weekly-rule-card button {
            min-height: 34px;
            padding: 0 12px;
            font-size: 0.88rem;
        }

        .weekly-rule-card.active {
            border-color: rgba(239, 180, 90, 0.72);
            box-shadow: inset 0 0 0 1px rgba(239, 180, 90, 0.18);
        }

        .weekly-rule-title {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            align-items: flex-start;
            margin-bottom: 8px;
        }

        .weekly-badge {
            display: inline-flex;
            align-items: center;
            min-height: 24px;
            padding: 0 9px;
            border-radius: 999px;
            border: 1px solid rgba(239, 180, 90, 0.24);
            background: rgba(239, 180, 90, 0.12);
            color: var(--accent-strong);
            font-size: 0.78rem;
            font-weight: 800;
            white-space: nowrap;
        }

        .weekly-step {
            border: 1px solid rgba(239, 180, 90, 0.12);
            border-radius: 10px;
            background: rgba(10, 14, 20, 0.52);
            overflow: visible;
        }

        .weekly-step-head {
            display: grid;
            grid-template-columns: 38px minmax(0, 1fr);
            gap: 10px;
            padding: 12px;
            border-bottom: 1px solid rgba(239, 180, 90, 0.1);
            background: rgba(255, 255, 255, 0.035);
        }

        .weekly-step-number {
            width: 32px;
            height: 32px;
            border-radius: 999px;
            display: grid;
            place-items: center;
            background: rgba(239, 180, 90, 0.16);
            border: 1px solid rgba(239, 180, 90, 0.3);
            color: var(--accent-strong);
            font-weight: 900;
        }

        .weekly-step-body {
            padding: 12px;
        }

        .weekly-choice-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 10px;
        }

        .weekly-choice {
            display: block;
            min-height: 88px;
            padding: 11px;
            border-radius: 8px;
            border: 1px solid rgba(239, 180, 90, 0.12);
            background: rgba(8, 11, 16, 0.78);
            cursor: pointer;
        }

        .weekly-choice:has(input:checked) {
            border-color: rgba(239, 180, 90, 0.85);
            background: rgba(239, 180, 90, 0.1);
        }

        .weekly-choice input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }

        .weekly-choice strong {
            display: block;
            margin-bottom: 6px;
        }

        .weekly-inline-fields {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 10px;
            align-items: end;
        }

        .weekly-match-field[hidden] {
            display: none;
        }

        .weekly-reward-row {
            display: grid;
            gap: 14px;
            padding: 16px;
            border-radius: 8px;
            border: 1px solid rgba(239, 180, 90, 0.12);
            background: linear-gradient(180deg, rgba(14, 18, 25, 0.96), rgba(8, 11, 16, 0.9));
        }

        .weekly-reward-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding-bottom: 10px;
            border-bottom: 1px solid rgba(239, 180, 90, 0.08);
        }

        .weekly-reward-head strong {
            color: var(--text);
        }

        .weekly-remove-item {
            min-height: 26px;
            padding: 0 9px;
            font-size: 0.78rem;
        }

        .weekly-reward-fields {
            display: grid;
            grid-template-columns: minmax(160px, 220px) minmax(0, 1fr) minmax(110px, 150px);
            gap: 12px;
            align-items: end;
        }

        .weekly-reward-fields.two {
            grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
        }

        .weekly-reward-row .field {
            min-width: 0;
        }

        .weekly-item-card[hidden],
        .live-item-card[hidden] {
            display: none;
        }

        .weekly-summary {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
        }

        .weekly-summary-item {
            padding: 12px;
            border-radius: 8px;
            border: 1px solid rgba(239, 180, 90, 0.1);
            background: rgba(255, 255, 255, 0.035);
        }

        .weekly-display-panel {
            width: calc(100% - 338px);
            margin-left: 338px;
        }

        .weekly-display-card {
            display: grid;
            gap: 10px;
            padding: 0;
            border-radius: 0;
            background: transparent;
        }

        .panel-inner-flat {
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
        }

        .weekly-display-fields {
            display: grid;
            grid-template-columns: repeat(2, minmax(180px, 1fr));
            gap: 10px;
            align-items: end;
        }

        .weekly-display-periods {
            display: grid;
            grid-template-columns: 1fr;
            gap: 12px;
            align-items: start;
        }

        .weekly-display-period {
            display: grid;
            gap: 12px;
            padding: 12px 14px;
            min-width: 0;
            border-radius: 8px;
            border: 1px solid rgba(239, 180, 90, 0.16);
            background: rgba(255, 255, 255, 0.018);
        }

        .weekly-display-period-title {
            margin: 0;
            font-size: 1rem;
        }

        .weekly-display-period .field,
        .weekly-display-period input {
            min-width: 0;
            width: 100%;
        }

        .weekly-display-period .field {
            gap: 6px;
        }

        .weekly-display-period input {
            min-height: 42px;
            padding: 0 14px;
        }

        .weekly-logo-url-field {
            grid-column: 1 / -1;
        }

        .reward-list {
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        .shop-category-section {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-bottom: 22px;
            width: 100%;
        }

        .shop-category-section:last-child {
            margin-bottom: 0;
        }

        .shop-category-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding-bottom: 8px;
            border-bottom: 1px solid rgba(239, 180, 90, 0.1);
        }

        .shop-category-title {
            margin: 0;
            font-size: 1rem;
            color: var(--text);
        }

        .shop-item-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
            align-items: flex-start;
        }

        .shop-item-card {
            width: 100%;
            padding: 10px 14px;
            border-radius: 16px;
        }

        .shop-item-card .reward-card-top {
            margin-bottom: 4px;
        }

        .shop-item-card .reward-card-main {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 4px 10px;
            align-items: center;
        }

        .shop-item-card .reward-card-title {
            margin: 0;
            font-size: 0.98rem;
            grid-column: 1;
        }

        .shop-item-card .reward-meta {
            justify-content: flex-end;
            gap: 5px;
            margin: 0;
            grid-column: 2;
        }

        .shop-item-card .reward-chip {
            min-height: 22px;
            padding: 0 8px;
            font-size: 0.77rem;
        }

        .shop-item-card .reward-subline {
            font-size: 0.84rem;
            line-height: 1.25;
            grid-column: 1 / -1;
        }

        .shop-item-card .reward-details-grid {
            gap: 6px;
        }

        .shop-item-card .reward-details {
            padding: 6px 10px;
        }

        .shop-item-card .reward-details summary {
            font-size: 0.84rem;
        }

        .shop-item-card .detail-list {
            margin-top: 2px;
        }

        .shop-item-card .detail-list li {
            margin-bottom: 3px;
        }

        .shop-item-card .reward-actions {
            flex-direction: row;
            gap: 6px;
            width: auto;
            max-width: none;
        }

        .shop-item-card .button-link,
        .shop-item-card button {
            min-height: 34px;
            padding: 0 12px;
        }

        .shop-item-card .reward-actions form,
        .shop-item-card .reward-actions a,
        .shop-item-card .reward-actions button {
            width: auto;
        }

        .shop-item-card .reward-actions .button-link,
        .shop-item-card .reward-actions button {
            min-width: 132px;
        }

        .shop-item-list.sortable-active .shop-item-card {
            cursor: grab;
        }

        .shop-item-card.dragging {
            opacity: 0.55;
            border-color: rgba(239, 180, 90, 0.34);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.28);
        }

        .shop-drag-hint {
            margin: 6px 0 0;
            color: var(--muted);
            font-size: 0.86rem;
        }

        .reward-card {
            padding: 9px 12px;
            border-radius: 12px;
            border: 1px solid rgba(239, 180, 90, 0.1);
            background: linear-gradient(180deg, rgba(22, 26, 36, 0.88) 0%, rgba(16, 19, 27, 0.88) 100%);
            box-shadow: var(--shadow-soft);
            transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
        }

        .reward-card:hover {
            transform: translateY(-1px);
            border-color: rgba(239, 180, 90, 0.2);
            box-shadow: 0 18px 38px rgba(0, 0, 0, 0.2);
        }

        .reward-card-top {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 10px;
            margin-bottom: 4px;
        }

        .reward-card-main {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 3px 9px;
            align-items: center;
            min-width: 0;
            width: 100%;
        }

        .token-history-card .reward-card-main {
            grid-template-columns: minmax(0, 1fr);
        }

        .token-history-card .reward-details,
        .token-balance-card .reward-details {
            width: 100%;
            max-width: none;
        }

        .reward-card-title {
            margin: 0;
            font-size: 0.96rem;
        }

        .reward-meta {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 5px;
            margin: 0;
        }

        .reward-chip {
            display: inline-flex;
            align-items: center;
            min-height: 22px;
            padding: 0 7px;
            border-radius: 999px;
            background: rgba(239, 180, 90, 0.12);
            color: #ffd792;
            font-size: 0.76rem;
            line-height: 1;
            max-width: 100%;
            overflow: hidden;
        }

        .reward-chip code {
            background: transparent;
            padding: 0;
            border-radius: 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: 100%;
        }

        .steam-link {
            color: inherit;
            text-decoration: none;
        }

        .steam-link:hover {
            color: #fff0c6;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .reward-subline {
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
            color: var(--muted);
            font-size: 0.82rem;
            line-height: 1.2;
            grid-column: 1 / -1;
        }

        .reward-subline span + span::before {
            content: "|";
            margin-right: 6px;
            color: rgba(255, 255, 255, 0.42);
        }

        .reward-details-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 6px;
            align-items: start;
        }

        .reward-actions {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 6px;
            align-self: start;
            justify-self: end;
            width: auto;
            max-width: none;
        }

        .reward-actions form,
        .reward-actions a,
        .reward-actions button {
            width: auto;
        }

        .reward-empty {
            padding: 20px 16px;
            border-radius: 16px;
            border: 1px dashed rgba(212, 175, 55, 0.2);
            color: var(--muted);
            text-align: center;
        }

        .empty-state-title {
            display: block;
            margin-bottom: 6px;
            color: var(--text);
            font-size: 1rem;
            font-weight: 700;
        }

        .empty-state-copy {
            margin: 0;
            color: var(--muted);
            line-height: 1.55;
        }

        .table-wrap {
            display: none !important;
        }

        .vote-history-table-wrap {
            overflow-x: auto;
            margin-top: 16px;
            border: 1px solid rgba(214, 185, 120, 0.14);
            border-radius: 14px;
            background: rgba(6, 8, 12, 0.28);
        }

        .vote-history-table {
            width: 100%;
            border-collapse: collapse;
            min-width: 760px;
        }

        .vote-history-table th,
        .vote-history-table td {
            padding: 11px 13px;
            border-bottom: 1px solid rgba(214, 185, 120, 0.1);
            text-align: left;
            vertical-align: middle;
        }

        .vote-history-table th {
            color: var(--text);
            font-size: 0.78rem;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            background: rgba(255, 255, 255, 0.035);
        }

        .vote-history-table td {
            color: var(--muted);
            font-size: 0.94rem;
        }

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

        .vote-history-table .vote-player {
            color: var(--text);
            font-weight: 700;
        }

        .vote-history-table .vote-provider {
            display: inline-flex;
            padding: 4px 8px;
            border-radius: 999px;
            background: var(--accent-soft);
            color: var(--accent-strong);
            font-size: 0.82rem;
            font-weight: 700;
        }

        .servermod-log-table {
            min-width: 980px;
        }

        .servermod-log-table th,
        .servermod-log-table td {
            padding: 9px 10px;
            font-size: 0.86rem;
        }

        .servermod-log-table .log-time {
            white-space: nowrap;
            color: var(--text);
        }

        .servermod-log-table .log-player a {
            color: var(--accent-strong);
            font-weight: 800;
            text-decoration: none;
        }

        .servermod-log-table .log-muted {
            color: var(--muted);
            font-size: 0.78rem;
            line-height: 1.35;
        }

        .servermod-log-table .log-compact {
            max-width: 220px;
            overflow-wrap: anywhere;
        }

        .servermod-log-type {
            display: inline-flex;
            min-width: 74px;
            justify-content: center;
            padding: 4px 8px;
            border-radius: 999px;
            font-size: 0.76rem;
            font-weight: 900;
        }

        .servermod-log-type.error,
        .servermod-log-type.critical {
            background: rgba(239, 68, 68, 0.14);
            color: var(--error-text);
        }

        .servermod-log-type.warning {
            background: rgba(245, 158, 11, 0.14);
            color: #fbbf24;
        }

        .servermod-log-type.info {
            background: rgba(56, 189, 248, 0.12);
            color: #7dd3fc;
        }

        .servermod-copy-button {
            min-height: 32px;
            padding: 0 10px;
            font-size: 0.8rem;
        }

        .servermod-log-filters {
            grid-template-columns: minmax(140px, auto) minmax(140px, auto) minmax(0, 1fr) auto auto;
        }

        code,
        pre {
            font-family: Consolas, "Courier New", monospace;
            font-size: 0.9rem;
        }

        pre {
            margin: 0;
            white-space: pre-wrap;
            word-break: break-word;
            background: rgba(7, 7, 8, 0.92);
            padding: 10px;
            border-radius: 10px;
            border: 1px solid rgba(214, 185, 120, 0.16);
        }

        .status {
            display: inline-block;
            padding: 4px 8px;
            border-radius: 999px;
            background: rgba(212, 175, 55, 0.16);
            color: #f3d885;
            font-size: 0.85rem;
            font-weight: 700;
        }

        .status.claimed {
            background: rgba(82, 138, 90, 0.24);
            color: #bde0b9;
        }

        .login-shell {
            width: min(520px, calc(100% - 32px));
            margin: 72px auto;
        }

        .help {
            font-size: 0.95rem;
            line-height: 1.5;
        }

        .preview-panel {
            margin-top: 12px;
            padding: 11px;
            border-radius: 12px;
            background: var(--panel-strong);
            border: 1px solid rgba(239, 180, 90, 0.16);
        }

        .advanced-block {
            margin-top: 12px;
            border: 1px solid rgba(239, 180, 90, 0.12);
            border-radius: 14px;
            background: rgba(255, 255, 255, 0.03);
            overflow: hidden;
        }

        .advanced-block summary {
            cursor: pointer;
            list-style: none;
            padding: 12px 14px;
            font-weight: 700;
            color: #f3e6d0;
        }

        .advanced-block summary::-webkit-details-marker {
            display: none;
        }

        .advanced-block summary::after {
            content: "Aufklappen";
            float: right;
            color: var(--muted);
            font-size: 0.82rem;
            font-weight: 600;
        }

        .advanced-block[open] summary::after {
            content: "Einklappen";
        }

        .advanced-block-body {
            padding: 0 14px 14px;
            border-top: 1px solid rgba(212, 175, 55, 0.08);
        }

        code {
            color: #f0d78c;
        }

        .hero code,
        .panel code,
        .preview-panel code {
            background: rgba(212, 175, 55, 0.1);
            padding: 2px 6px;
            border-radius: 6px;
        }

        .detail-list {
            margin: 0;
            padding-left: 18px;
        }

        .detail-list li {
            margin-bottom: 6px;
            overflow-wrap: anywhere;
        }

        .detail-list code {
            display: inline-block;
            max-width: 100%;
            white-space: normal;
            overflow-wrap: anywhere;
            word-break: break-word;
        }

        .detail-list li:last-child {
            margin-bottom: 0;
        }

        .section-list {
            margin: 0;
            padding-left: 18px;
            color: var(--muted);
        }

        .section-list li {
            margin-bottom: 8px;
            line-height: 1.5;
        }

        .section-list li:last-child {
            margin-bottom: 0;
        }

        .reward-details {
            border: 1px solid rgba(212, 175, 55, 0.1);
            border-radius: 12px;
            padding: 6px 9px;
            background: rgba(255, 255, 255, 0.015);
            max-width: 720px;
        }

        .reward-details summary {
            cursor: pointer;
            color: var(--muted);
            font-size: 0.82rem;
        }

        .reward-actions .button-link,
        .reward-actions button {
            min-height: 32px;
            padding: 0 12px;
        }

        .reward-details[open] summary {
            margin-bottom: 10px;
        }

        .count-pill {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 38px;
            height: 32px;
            padding: 0 12px;
            border-radius: 999px;
            background: rgba(239, 180, 90, 0.14);
            color: var(--accent-strong);
            font-weight: 700;
        }

        .sticky-panel {
            position: sticky;
            top: 20px;
        }

        .pagination {
            align-items: center;
            display: flex;
            gap: 12px;
            justify-content: center;
            margin-top: 18px;
        }

        .pagination .button-link.disabled {
            cursor: default;
            opacity: 0.45;
            pointer-events: none;
        }

        .pagination-status {
            color: var(--muted);
            min-width: 110px;
            text-align: center;
        }

        @media (max-width: 980px) {
            .stat-strip,
            .grid,
            .panel-stack,
            .weekly-builder-shell,
            .weekly-choice-grid,
            .weekly-inline-fields,
            .weekly-display-fields,
            .weekly-display-periods,
            .weekly-reward-row,
            .weekly-reward-fields,
            .weekly-reward-fields.two,
            .weekly-summary {
                grid-template-columns: 1fr;
            }

            .weekly-display-panel {
                width: auto;
                margin-left: 0;
            }

            .field-grid,
            .preset-select-row,
            .search-row,
            .portal-user-row,
            .portal-user-add-form,
            .topbar,
            .topbar-side,
            .actions {
                grid-template-columns: 1fr;
                flex-direction: column;
                align-items: stretch;
            }

            .reward-card-top,
            .reward-details-grid,
            .hero-grid,
            .hero-metric-grid {
                display: grid;
                grid-template-columns: 1fr;
            }

            .reward-actions {
                min-width: 0;
                width: 100%;
                max-width: none;
                flex-direction: column;
            }

            .reward-actions form,
            .reward-actions a,
            .reward-actions button {
                width: 100%;
            }

            .shop-item-card .reward-card-main {
                grid-template-columns: 1fr;
            }

            .shop-item-card .reward-meta {
                grid-column: 1;
            }

            .shop-item-card .reward-meta {
                justify-content: flex-start;
            }

            .reward-card-main {
                grid-template-columns: 1fr;
            }

            .reward-meta {
                justify-content: flex-start;
                grid-column: 1;
            }

            .shop-item-card .reward-actions {
                width: 100%;
                max-width: none;
                flex-direction: column;
            }

            .shop-item-card .reward-actions form,
            .shop-item-card .reward-actions a,
            .shop-item-card .reward-actions button {
                width: 100%;
            }

            .sticky-panel {
                position: static;
            }
        }
