:root {
    --admin-bg: #fafafa;
    --admin-bg-strong: #f4f4f5;
    --admin-surface: #ffffff;
    --admin-surface-soft: #f4f4f5;
    --admin-border: #e4e4e7;
    --admin-border-strong: #d4d4d8;
    --admin-text: #18181b;
    --admin-muted: #52525b;
    --admin-soft-text: #a1a1aa;
    --admin-primary: #3f3f46;
    --admin-primary-dark: #27272a;
    --admin-primary-soft: #f4f4f5;
    --admin-green: #16a34a;
    --admin-green-soft: #f0fdf4;
    --admin-amber: #d97706;
    --admin-amber-soft: #fffbeb;
    --admin-blue: #2563eb;
    --admin-blue-soft: #f4f4f5;
    --admin-violet: #7c3aed;
    --admin-violet-soft: #f4f4f5;
    --admin-red: #dc2626;
    --admin-red-soft: #fef2f2;
    --admin-input-bg: #fafafa;
    --admin-action-shadow: 0 14px 28px rgba(70, 95, 255, .28);
    --admin-action-shadow-strong: 0 18px 34px rgba(70, 95, 255, .34);
    --admin-shadow: 0 18px 50px rgba(24, 24, 27, .07);
    --admin-shadow-soft: 0 8px 24px rgba(24, 24, 27, .05);
    --admin-radius-lg: 14px;
    --admin-radius-md: 10px;
    --admin-radius-sm: 8px;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    scroll-behavior: smooth;
}

body.admin-body {
    min-height: 100vh;
    margin: 0;
    color: var(--admin-text);
    background: var(--admin-bg);
    font-family: Aptos, "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.auth-body {
    background: var(--admin-bg);
}

::selection {
    color: #fff;
    background: var(--admin-primary);
}

a {
    color: inherit;
}

button,
input {
    font: inherit;
}

.admin-shell {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    border-bottom: 1px solid var(--admin-border);
    background: var(--admin-surface);
}

.admin-topbar__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    width: min(1180px, calc(100% - 40px));
    min-height: 76px;
    margin: 0 auto;
}

.brand-mark {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--admin-text);
    text-decoration: none;
}

.brand-mark__icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: var(--admin-radius-md);
    color: #fff;
    background: var(--admin-primary);
    box-shadow: 0 12px 26px rgba(70, 95, 255, .28);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: -.02em;
}

.brand-mark strong,
.brand-mark small {
    display: block;
}

.brand-mark strong {
    font-size: 15px;
    line-height: 1.1;
}

.brand-mark small {
    margin-top: 3px;
    color: var(--admin-muted);
    font-size: 12px;
}

.admin-nav {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 6px;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-md);
    background: var(--admin-surface-soft);
}

.admin-nav__link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 16px;
    border-radius: var(--admin-radius-md);
    color: var(--admin-muted);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}

.admin-nav__link:hover,
.admin-nav__link:focus-visible {
    color: var(--admin-primary);
    outline: none;
}

.admin-nav__link.is-active {
    color: #fff;
    background: var(--admin-primary);
    box-shadow: 0 10px 22px rgba(70, 95, 255, .24);
}

.admin-userbar {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-payment-alert { position: relative; text-decoration: none; }
.admin-payment-alert__count {
    position: absolute; top: -6px; right: -7px; min-width: 18px; padding: 2px 4px;
    border-radius: 999px; color: #fff; background: #c92539; font-size: 10px;
    font-weight: 800; line-height: 1.2; text-align: center;
}
.admin-payment-alert__count[hidden] { display: none; }
.dashboard-payment-panel { margin-bottom: 20px; }
.dashboard-payment-tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--admin-border); margin: 14px 0 18px; }
.dashboard-payment-tabs button { border: 0; border-bottom: 3px solid transparent; background: none; color: var(--admin-muted); padding: 10px 14px; font: inherit; font-weight: 700; cursor: pointer; }
.dashboard-payment-tabs button[aria-selected="true"] { border-bottom-color: var(--admin-primary); color: var(--admin-text); }
.dashboard-payment-tabs button:focus-visible { outline: 2px solid var(--admin-primary); outline-offset: -2px; }
.dashboard-payment-count { display: inline-block; min-width: 21px; padding: 2px 5px; border-radius: 999px; background: var(--admin-primary-soft); color: var(--admin-primary); font-size: 11px; text-align: center; }
[data-payment-panel][hidden] { display: none; }

.admin-userbar__avatar {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: var(--admin-radius-md);
    color: var(--admin-primary);
    background: var(--admin-primary-soft);
    font-weight: 800;
}

.admin-userbar__meta strong,
.admin-userbar__meta small {
    display: block;
}

.admin-userbar__meta strong {
    font-size: 13px;
}

.admin-userbar__meta small {
    color: var(--admin-muted);
    font-size: 11px;
}

.admin-main {
    flex: 1 0 auto;
    padding: 34px 0 56px;
}

.admin-footer {
    flex: 0 0 auto;
    border-top: 1px solid var(--admin-border);
    background: var(--admin-surface);
}

.admin-footer__inner {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 18px 0;
    color: var(--admin-muted);
    font-size: 12px;
}

.admin-footer strong { color: var(--admin-text); }

.admin-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.dashboard-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 0px !important;
    /* margin: 60px 0; */
}

.section-label {
    margin: 0 0 8px;
    color: var(--admin-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dashboard-hero h1,
.admin-panel h1,
.auth-card h2,
.admin-panel h2 {
    margin: 0;
    color: var(--admin-text);
    letter-spacing: -.035em;
}

.dashboard-hero h1 {
    font-size: clamp(32px, 5vw, 54px);
    line-height: .98;
}

.dashboard-hero p:not(.section-label),
.auth-card__header p,
.muted-copy {
    /* max-width: 62ch; */
    margin: 14px 0 0;
    color: var(--admin-muted);
    line-height: 1.7;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-primary-button,
.admin-secondary-button,
.admin-ghost-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.admin-primary-button {
    width: 100%;
    border: 0;
    padding: 0 18px;
    color: #fff;
    background: var(--admin-primary);
    box-shadow: var(--admin-action-shadow);
}

.admin-primary-button--link,
.admin-secondary-button,
.admin-ghost-button {
    width: auto;
}

.admin-secondary-button {
    border: 1px solid var(--admin-border);
    padding: 0 18px;
    color: var(--admin-text);
    background: #fff;
}

.admin-ghost-button {
    line-height: 36px;
    min-height: 36px;
    border: 1px solid var(--admin-border);
    padding: 0 14px;
    color: var(--admin-muted);
    background: #fff;
}

.admin-primary-button:hover,
.admin-secondary-button:hover,
.admin-ghost-button:hover,
.admin-primary-button:focus-visible,
.admin-secondary-button:focus-visible,
.admin-ghost-button:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

.admin-primary-button:hover,
.admin-primary-button:focus-visible {
    background: var(--admin-primary-dark);
    box-shadow: var(--admin-action-shadow-strong);
}

.admin-secondary-button:hover,
.admin-ghost-button:hover,
.admin-secondary-button:focus-visible,
.admin-ghost-button:focus-visible {
    color: var(--admin-primary);
    border-color: rgba(70, 95, 255, .3);
    box-shadow: var(--admin-shadow-soft);
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.metric-card,
.admin-panel,
.auth-card {
    border: 1px solid var(--admin-border);
    background: var(--admin-surface);
    box-shadow: var(--admin-shadow-soft);
}

.metric-card {
    min-height: 168px;
    padding: 22px;
    border-radius: var(--admin-radius-md);
}

.metric-card span,
.module-row span,
.code-callout span {
    color: var(--admin-muted);
    font-size: 13px;
    font-weight: 700;
}

.metric-card strong {
    display: block;
    margin-top: 16px;
    color: var(--admin-text);
    font-size: 24px;
    letter-spacing: -.035em;
}

.metric-card p {
    margin: 10px 0 0;
    color: var(--admin-muted);
    font-size: 14px;
    line-height: 1.55;
}

.metric-card--blue { background: var(--admin-blue-soft); }
.metric-card--green { background: var(--admin-green-soft); }
.metric-card--amber { background: var(--admin-amber-soft); }
.metric-card--violet { background: var(--admin-violet-soft); }

/* Dashboard operational metrics use one sober surface; state is carried by content, not by card color. */
.metric-grid--operational {
    gap: 16px;
}

.metric-card--stat {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    min-height: 176px;
    padding: 20px;
    border-color: var(--admin-border-strong);
    background: var(--admin-surface);
}

.metric-card--stat .metric-card__header {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.metric-card--stat .card-icon {
    flex: 0 0 auto;
    margin: 0;
    color: var(--admin-primary);
    background: var(--admin-surface-soft);
}

.metric-card--stat .metric-card__label {
    min-width: 0;
    color: var(--admin-text);
    font-size: 13px;
    font-weight: 750;
}

.metric-card--stat .metric-card__state {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    color: var(--admin-muted);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.metric-card--stat .metric-card__state > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--admin-muted);
}

.metric-card--stat .metric-card__state--live > span {
    background: var(--admin-green);
}

.metric-card--stat .metric-card__state--offline > span {
    background: var(--admin-red);
}

.metric-card--stat .metric-card__value {
    margin: 18px 0 0;
    color: var(--admin-text);
    font-size: clamp(28px, 2.2vw, 34px);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.metric-card--stat .metric-card__detail {
    align-self: start;
    margin: 10px 0 0;
    color: var(--admin-muted);
    font-size: 13px;
    line-height: 1.45;
}

.metric-card--stat .metric-card__source {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 16px 0 0;
    padding-top: 11px;
    border-top: 1px solid var(--admin-border);
    color: var(--admin-muted);
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .01em;
}

.metric-card--stat .metric-card__source i {
    color: var(--admin-primary);
    font-size: 10px;
}

.dashboard-activity-title { display: inline-flex; align-items: center; gap: 8px; color: var(--admin-text); font-weight: 650; }
.dashboard-activity-title i { color: var(--admin-primary); }

.admin-grid {
    display: grid;
    gap: 24px;
    margin-bottom: 24px;
}

.admin-grid--two {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.admin-panel {
    padding: 24px;
    border-radius: var(--admin-radius-lg);
    margin-bottom: 20px;
}

.admin-panel--narrow {
    max-width: 760px;
    margin: 0 auto;
}

.panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.admin-panel h1,
.admin-panel h2 {
    font-size: 24px;
    line-height: 1.15;
}

.status-badge,
.table-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    border-radius: var(--admin-radius-md);
    padding: 0 10px;
    color: var(--admin-blue);
    background: var(--admin-blue-soft);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.status-badge--secure,
.table-status--green {
    color: var(--admin-green);
    background: var(--admin-green-soft);
}

.status-badge--progress,
.table-status--amber {
    color: var(--admin-amber);
    background: var(--admin-amber-soft);
}

.status-badge--danger {
    color: var(--admin-red);
    background: var(--admin-red-soft);
}

.table-status--blue { color: var(--admin-blue); background: var(--admin-blue-soft); }
.table-status--violet { color: var(--admin-violet); background: var(--admin-violet-soft); }

.module-list,
.timeline-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
}

.module-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--admin-border);
}

.module-row:last-child {
    border-bottom: 0;
}

.module-row strong {
    color: var(--admin-text);
    font-size: 14px;
    text-align: right;
}

.timeline-list {
    list-style: none;
}

.timeline-list li {
    position: relative;
    padding-left: 26px;
}

.timeline-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 10px;
    height: 10px;
    border: 3px solid var(--admin-primary-soft);
    border-radius: var(--admin-radius-md);
    background: var(--admin-primary);
}

.timeline-list strong,
.timeline-list span {
    display: block;
}

.timeline-list strong {
    font-size: 14px;
}

.timeline-list span {
    margin-top: 5px;
    color: var(--admin-muted);
    line-height: 1.55;
}

.responsive-table-wrap {
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.admin-table th,
.admin-table td {
    padding: 15px 16px;
    border-bottom: 1px solid var(--admin-border);
    text-align: left;
    vertical-align: middle;
}

.admin-table th {
    color: var(--admin-muted);
    background: var(--admin-surface-soft);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.admin-table td {
    color: #334155;
    font-size: 14px;
}

.admin-table tbody tr:hover td {
    background: #f8fafc;
}

.auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr);
    align-items: stretch;
    width: min(1120px, calc(100% - 40px));
    min-height: 100vh;
    margin: 0 auto;
    padding: 34px 0;
}

.auth-brand-panel,
.auth-card-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.auth-brand-panel {
    padding: 46px;
    color: var(--admin-text);
}

.auth-brand-panel .brand-mark {
    color: var(--admin-text);
}

.auth-brand-panel .brand-mark small,
.auth-brand-panel .auth-copy p {
    color: var(--admin-muted);
}

.auth-status-pill {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 18px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--admin-radius-md);
    background: rgba(255, 255, 255, .08);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.auth-copy {
    margin-top: 40px;
}

.auth-copy h1 {
    max-width: 11ch;
    margin: 0;
    color: var(--admin-text);
    font-size: clamp(42px, 7vw, 72px);
    line-height: .95;
    letter-spacing: -.055em;
}

.auth-copy p:not(.auth-status-pill) {
    max-width: 58ch;
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.8;
}

.auth-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    /* margin-top: 62px; */
}

.auth-proof-grid div {
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 16px;
    background: rgba(255, 255, 255, .08);
}

.auth-proof-grid strong,
.auth-proof-grid span {
    display: block;
}

.auth-proof-grid strong {
    color: var(--admin-text);
    font-size: 20px;
}

.auth-proof-grid span {
    margin-top: 6px;
    color: var(--admin-muted);
    font-size: 12px;
    line-height: 1.45;
}

.auth-card-wrap {
    align-items: center;
}

.auth-card {
    width: min(100%, 440px);
    padding: 34px;
    border-radius: 28px;
}

.auth-card--compact {
    width: min(100%, 520px);
}

.auth-card__header {
    margin-bottom: 26px;
}

.auth-card h2 {
    font-size: 32px;
    line-height: 1.05;
}

.admin-form {
    display: grid;
    gap: 18px;
    margin-top: 10px;
}

.field-stack {
    display: grid;
    gap: 8px;
    color: var(--admin-text);
    font-size: 14px;
    font-weight: 800;
}

.admin-input {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-md);
    padding: 0 15px;
    color: var(--admin-text);
    background: #fff;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.admin-input:focus {
    border-color: rgba(70, 95, 255, .55);
    box-shadow: 0 0 0 4px rgba(70, 95, 255, .12);
}

.admin-input::placeholder {
    color: var(--admin-soft-text);
}

.admin-input--code {
    height: 60px;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: .22em;
    text-align: center;
}

.validation-panel:not(:empty) {
    padding: 12px 14px;
    border: 1px solid rgba(220, 38, 38, .22);
    border-radius: var(--admin-radius-md);
    color: var(--admin-red);
    background: var(--admin-red-soft);
    font-size: 14px;
    font-weight: 700;
}

.field-validation {
    min-height: 16px;
    color: var(--admin-red);
    font-size: 12px;
    font-weight: 700;
}

.code-callout {
    display: grid;
    gap: 8px;
    margin-top: 22px;
    padding: 16px;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-md);
    background: var(--admin-surface-soft);
}

.code-callout code {
    color: var(--admin-text);
    overflow-wrap: anywhere;
}

@media (max-width: 980px) {
    .admin-topbar__inner {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 16px 0;
    }

    .admin-nav {
        justify-content: flex-start;
        overflow-x: auto;
        border-radius: 18px;
    }

    .admin-userbar {
        justify-content: space-between;
    }

    .dashboard-hero,
    .panel-heading {
        display: grid;
    }

    .metric-grid,
    .admin-grid--two,
    .auth-shell {
        grid-template-columns: 1fr;
    }

    .auth-shell {
        min-height: auto;
        padding: 20px 0;
    }

    .auth-brand-panel {
        padding: 28px 0 18px;
    }

    .auth-copy {
        margin-top: 46px;
    }

    .auth-copy h1 {
        max-width: 14ch;
    }
}

@media (max-width: 640px) {
    .admin-container,
    .admin-topbar__inner,
    .auth-shell {
        width: min(100% - 28px, 1180px);
    }

    .dashboard-hero,
    .admin-panel,
    .auth-card {
        padding: 40px 20px;;
        border-radius: 20px;
    }

    .metric-grid,
    .auth-proof-grid {
        grid-template-columns: 1fr;
    }

    .module-row {
        display: grid;
    }

    .module-row strong {
        text-align: left;
    }

    .admin-userbar__meta {
        display: none;
    }
}


@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --admin-bg: #0c182a;
        --admin-bg-strong: #091426;
        --admin-surface: #0f1c2f;
        --admin-surface-soft: #14243a;
        --admin-border: #1b283b;
        --admin-border-strong: #2b3b52;
        --admin-text: #f4f8ff;
        --admin-muted: #afbed2;
        --admin-soft-text: #72849d;
        --admin-primary: #3182ce;
        --admin-primary-dark: #2369aa;
        --admin-primary-soft: #102f51;
        --admin-green-soft: #103a27;
        --admin-amber-soft: #392d12;
        --admin-blue-soft: #102f51;
        --admin-violet-soft: #292055;
        --admin-red-soft: #3b1d2a;
        --admin-input-bg: #0a1627;
        --admin-action-shadow: 0 14px 28px rgba(49, 130, 206, .24);
        --admin-action-shadow-strong: 0 18px 34px rgba(49, 130, 206, .32);
        --admin-shadow: 0 18px 50px rgba(2, 10, 23, .52);
        --admin-shadow-soft: 0 8px 24px rgba(2, 10, 23, .36);
    }
}

:root[data-theme="dark"] {
    --admin-bg: #0c182a;
    --admin-bg-strong: #091426;
    --admin-surface: #0f1c2f;
    --admin-surface-soft: #14243a;
    --admin-border: #1b283b;
    --admin-border-strong: #2b3b52;
    --admin-text: #f4f8ff;
    --admin-muted: #afbed2;
    --admin-soft-text: #72849d;
    --admin-primary: #3182ce;
    --admin-primary-dark: #2369aa;
    --admin-primary-soft: #102f51;
    --admin-green-soft: #103a27;
    --admin-amber-soft: #392d12;
    --admin-blue-soft: #102f51;
    --admin-violet-soft: #292055;
    --admin-red-soft: #3b1d2a;
    --admin-input-bg: #0a1627;
    --admin-action-shadow: 0 14px 28px rgba(49, 130, 206, .24);
    --admin-action-shadow-strong: 0 18px 34px rgba(49, 130, 206, .32);
    --admin-shadow: 0 18px 50px rgba(2, 10, 23, .52);
    --admin-shadow-soft: 0 8px 24px rgba(2, 10, 23, .36);
}

:root[data-theme="light"] {
    color-scheme: light;
}

:root[data-theme="dark"] {
    color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;
    }
}

.admin-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.system-tabs {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    margin: 0 0 18px;
    border-bottom: 1px solid var(--admin-border);
}

.system-tabs__item {
    flex: 0 0 auto;
    padding: 12px 16px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--admin-muted);
    font: inherit;
    font-weight: 650;
    text-decoration: none;
    cursor: pointer;
}

.system-tabs__item:hover,
.system-tabs__item:focus-visible { color: var(--admin-text); background: var(--admin-surface-soft); }
.system-tabs__item:focus-visible { outline: 2px solid var(--admin-blue); outline-offset: -2px; }
.system-tabs__item.is-active { color: var(--admin-text); border-bottom-color: var(--admin-blue); }

.system-tab-panel {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.system-tab-panel[hidden] { display: none; }
.system-tab-panel > h3,
.system-tab-panel > p { grid-column: 1 / -1; margin: 0; }
.system-tab-panel > h3 { font-size: 19px; }
.system-tab-panel > p { color: var(--admin-muted); font-size: 13px; }
.system-tab-panel > .field-stack { align-self: start; }

@media (max-width: 640px) {
    .system-tab-panel { grid-template-columns: minmax(0, 1fr); }
}

.admin-page-heading h1 {
    margin: 0;
    color: var(--admin-text);
    font-size: clamp(30px, 5vw, 48px);
    line-height: 1;
    letter-spacing: -.04em;
}

.admin-page-heading p:not(.section-label) {
    max-width: 70ch;
    margin: 12px 0 0;
    color: var(--admin-muted);
    line-height: 1.65;
}

.module-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.module-card {
    min-height: 250px;
    display: flex;
    flex-direction: column;
}

.module-card__actions {
    margin-top: auto;
    padding-top: 22px;
}

.admin-form--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.field-stack--wide {
    grid-column: 1 / -1;
}

.field-stack small {
    color: var(--admin-muted);
    font-size: 12px;
    font-weight: 700;
}

.switch-row {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-md);
    color: var(--admin-muted);
    background: var(--admin-surface-soft);
}

.admin-primary-button:disabled,
.admin-primary-button[disabled] {
    opacity: .58;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.theme-toggle {
    min-width: 34px;
}

:root[data-theme="dark"] .admin-table td,
:root[data-theme="dark"] .module-row strong,
:root[data-theme="dark"] .timeline-list strong,
:root[data-theme="dark"] .metric-card strong,
:root[data-theme="dark"] .admin-input,
:root[data-theme="dark"] .brand-mark,
:root[data-theme="dark"] .admin-secondary-button,
:root[data-theme="dark"] .admin-ghost-button {
    color: var(--admin-text);
}

:root[data-theme="dark"] .admin-topbar,
:root[data-theme="dark"] .admin-secondary-button,
:root[data-theme="dark"] .admin-ghost-button,
:root[data-theme="dark"] .admin-input {
    background: var(--admin-surface);
}

:root[data-theme="dark"] .admin-nav__link.is-active {
    box-shadow: 0 10px 22px rgba(49, 130, 206, .25);
}

:root[data-theme="dark"] .admin-input:focus {
    border-color: rgba(111, 174, 232, .82);
    box-shadow: 0 0 0 4px rgba(49, 130, 206, .18);
}

:root[data-theme="dark"] .admin-table tbody tr:hover td {
    background: var(--admin-surface-soft);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .admin-table td,
    :root:not([data-theme="light"]) .module-row strong,
    :root:not([data-theme="light"]) .timeline-list strong,
    :root:not([data-theme="light"]) .metric-card strong,
    :root:not([data-theme="light"]) .admin-input,
    :root:not([data-theme="light"]) .brand-mark,
    :root:not([data-theme="light"]) .admin-secondary-button,
    :root:not([data-theme="light"]) .admin-ghost-button {
        color: var(--admin-text);
    }

    :root:not([data-theme="light"]) .admin-topbar,
    :root:not([data-theme="light"]) .admin-secondary-button,
    :root:not([data-theme="light"]) .admin-ghost-button,
    :root:not([data-theme="light"]) .admin-input {
        background: var(--admin-surface);
    }

    :root:not([data-theme="light"]) .admin-nav__link.is-active {
        box-shadow: 0 10px 22px rgba(49, 130, 206, .25);
    }

    :root:not([data-theme="light"]) .admin-input:focus {
        border-color: rgba(111, 174, 232, .82);
        box-shadow: 0 0 0 4px rgba(49, 130, 206, .18);
    }

    :root:not([data-theme="light"]) .admin-table tbody tr:hover td {
        background: var(--admin-surface-soft);
    }
}

@media (max-width: 980px) {
    .admin-page-heading {
        display: grid;
        align-items: start;
    }

    .module-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .module-card-grid,
    .admin-form--grid {
        grid-template-columns: 1fr;
    }

    .admin-nav__link,
    .admin-primary-button,
    .admin-secondary-button,
    .admin-ghost-button {
        min-height: 44px;
    }

    .theme-toggle {
        order: 3;
    }
}


.admin-icon-button {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-md);
    color: var(--admin-text);
    background: var(--admin-surface);
    text-decoration: none;
    cursor: pointer;
    transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.admin-icon-button:hover,
.admin-icon-button:focus-visible {
    color: var(--admin-primary);
    border-color: var(--admin-primary);
    outline: none;
    transform: translateY(-1px);
}

.brand-mark__icon i,
.admin-icon-button i,
.admin-userbar__avatar i {
    font-size: 16px;
    line-height: 1;
}

.admin-userbar__avatar {
    border-radius: var(--admin-radius-md);
}

.toggle-field {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-md);
    color: var(--admin-muted);
    background: var(--admin-surface-soft);
}

.toggle-field input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
    pointer-events: none;
}

.toggle-field__track {
    position: relative;
    width: 42px;
    height: 24px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--admin-border-strong);
    transition: background .18s ease;
}

.toggle-field__track span {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: var(--admin-surface);
    box-shadow: 0 2px 6px rgba(15, 23, 42, .22);
    transition: transform .18s ease;
}

.toggle-field input:checked + .toggle-field__track {
    background: var(--admin-primary);
}

.toggle-field input:checked + .toggle-field__track span {
    transform: translateX(18px);
}

.toggle-field input:focus-visible + .toggle-field__track {
    outline: 3px solid color-mix(in srgb, var(--admin-primary) 30%, transparent);
    outline-offset: 2px;
}

:root[data-theme="dark"] .admin-topbar,
:root[data-theme="dark"] .admin-nav,
:root[data-theme="dark"] .admin-icon-button,
:root[data-theme="dark"] .admin-userbar__avatar,
:root[data-theme="dark"] .toggle-field {
    border-color: var(--admin-border);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .admin-topbar,
    :root:not([data-theme="light"]) .admin-nav,
    :root:not([data-theme="light"]) .admin-icon-button,
    :root:not([data-theme="light"]) .admin-userbar__avatar,
    :root:not([data-theme="light"]) .toggle-field {
        border-color: var(--admin-border);
    }
}

@media (max-width: 640px) {
    .admin-userbar {
        flex-wrap: wrap;
    }

    .admin-icon-button {
        width: 44px;
        height: 44px;
    }
}



/* Zinc theme corrections for the auth/login surface. */
.auth-shell {
    gap: 24px;
}

.auth-brand-panel {
    /* border: 1px solid var(--admin-border); */
    /* border-radius: var(--admin-radius-lg); */
    color: var(--admin-text);
    /* background: var(--admin-surface); */
    /* box-shadow: var(--admin-shadow-soft); */
}

.auth-brand-panel .brand-mark,
.auth-brand-panel .auth-copy h1 {
    color: var(--admin-text);
}

.auth-brand-panel .brand-mark small,
.auth-brand-panel .auth-copy p,
.auth-brand-panel .auth-copy p:not(.auth-status-pill),
.auth-proof-grid span {
    color: var(--admin-muted);
}

.auth-status-pill,
.auth-proof-grid div {
    border-color: var(--admin-border);
    color: var(--admin-text);
    background: var(--admin-surface-soft);
}

.auth-proof-grid strong {
    color: var(--admin-text);
}

.auth-card {
    background: var(--admin-surface);
}

:root[data-theme="dark"] .admin-nav__link.is-active,
:root[data-theme="dark"] .admin-primary-button,
:root[data-theme="dark"] .brand-mark__icon {
    color: #f8fbff;
}

:root[data-theme="dark"] .admin-nav__link.is-active {
    background: var(--admin-primary);
}

:root[data-theme="dark"] .admin-primary-button:hover,
:root[data-theme="dark"] .admin-primary-button:focus-visible {
    color: #f8fbff;
}

:root[data-theme="dark"] .section-label {
    color: var(--admin-primary);
}

:root[data-theme="dark"] .dashboard-hero {
    border-color: color-mix(in srgb, var(--admin-primary) 30%, var(--admin-border));
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .admin-nav__link.is-active,
    :root:not([data-theme="light"]) .admin-primary-button,
    :root:not([data-theme="light"]) .brand-mark__icon {
        color: #f8fbff;
    }

    :root:not([data-theme="light"]) .section-label {
        color: var(--admin-primary);
    }

    :root:not([data-theme="light"]) .dashboard-hero {
        border-color: color-mix(in srgb, var(--admin-primary) 30%, var(--admin-border));
    }
}

@media (max-width: 980px) {
    .auth-brand-panel {
        padding: 28px;
    }
}

/* Professional polish pass: icons, spacing rhythm, and stronger form contrast. */
.admin-main {
    padding: 40px 0 68px;
}

.dashboard-hero,
.admin-panel,
.auth-card,
.auth-brand-panel {
    border-color: var(--admin-border-strong);
}

.dashboard-hero {
    padding: clamp(26px, 4vw, 38px);
}

.admin-panel,
.auth-card {
    padding: clamp(24px, 3vw, 32px);
}

.admin-nav__link,
.admin-primary-button,
.admin-secondary-button,
.admin-ghost-button {
    gap: 9px;
}

.admin-nav__link i,
.admin-primary-button i,
.admin-secondary-button i,
.admin-ghost-button i {
    font-size: .95em;
    line-height: 1;
}

.admin-nav__link i {
    width: 16px;
    text-align: center;
}

.card-icon {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-md);
    color: var(--admin-primary);
    background: var(--admin-surface-soft);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .38);
}

.card-icon--danger {
    color: var(--admin-red);
    background: var(--admin-red-soft);
}

.metric-card {
    display: flex;
    min-height: 190px;
    flex-direction: column;
    padding: 24px;
}

.metric-card .card-icon {
    margin-bottom: 18px;
    color: var(--admin-primary);
}

.metric-card strong {
    margin-top: 12px;
}

.panel-heading__title {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
}

.panel-heading__title .section-label {
    margin-top: 1px;
}

.panel-heading h2 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.panel-heading h2 i {
    color: var(--admin-muted);
    font-size: .78em;
}

.module-card {
    gap: 18px;
}

.module-card .panel-heading {
    margin-bottom: 2px;
}

.module-row {
    align-items: center;
    min-height: 54px;
}

.admin-table th,
.admin-table td {
    padding: 16px 18px;
}

.admin-form {
    gap: 20px;
}

.field-stack {
    gap: 9px;
}

.field-stack > span:first-child {
    color: var(--admin-text);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .015em;
}

.admin-input {
    min-height: 50px;
    border-color: var(--admin-border-strong);
    color: var(--admin-text);
    background: var(--admin-bg);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
}

.admin-input:hover {
    border-color: color-mix(in srgb, var(--admin-primary) 34%, var(--admin-border-strong));
}

.admin-input:disabled {
    color: var(--admin-muted);
    background: var(--admin-surface-soft);
    opacity: 1;
}

.admin-input:focus {
    border-color: var(--admin-primary);
    background: var(--admin-surface);
}

.toggle-field {
    min-height: 50px;
    border-color: var(--admin-border-strong);
    background: var(--admin-bg);
}

.toggle-field__label {
    color: var(--admin-text);
    font-weight: 800;
}

.auth-card__header .card-icon {
    margin-bottom: 18px;
}

:root[data-theme="dark"] .card-icon,
:root[data-theme="dark"] .admin-input,
:root[data-theme="dark"] .toggle-field {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

:root[data-theme="dark"] .admin-input,
:root[data-theme="dark"] .toggle-field {
    background: var(--admin-input-bg);
}

:root[data-theme="dark"] .admin-input:focus {
    background: var(--admin-surface);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .card-icon,
    :root:not([data-theme="light"]) .admin-input,
    :root:not([data-theme="light"]) .toggle-field {
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
    }

    :root:not([data-theme="light"]) .admin-input,
    :root:not([data-theme="light"]) .toggle-field {
        background: var(--admin-input-bg);
    }

    :root:not([data-theme="light"]) .admin-input:focus {
        background: var(--admin-surface);
    }
}

@media (max-width: 640px) {
    .admin-footer__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
        width: min(100% - 28px, 1180px);
    }

    .admin-main {
        padding-top: 24px;
    }

    .panel-heading__title {
        gap: 12px;
    }

    .card-icon {
        width: 40px;
        height: 40px;
    }
}

/* Admin CRUD controls. */
.validation-panel.validation-panel--success:not(:empty) {
    margin-bottom: 18px;
    border-color: color-mix(in srgb, var(--admin-green) 30%, var(--admin-border));
    color: var(--admin-green);
    background: var(--admin-green-soft);
}

.admin-textarea {
    min-height: 180px;
    padding-top: 14px;
    resize: vertical;
}

.table-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.admin-secondary-button--sm,
.admin-ghost-button--danger {
    min-height: 36px;
    padding: 0 12px;
    font-size: 12px;
}

.admin-ghost-button--danger {
    color: var(--admin-red);
}

.admin-ghost-button--danger:hover,
.admin-ghost-button--danger:focus-visible {
    color: var(--admin-red);
    border-color: color-mix(in srgb, var(--admin-red) 42%, var(--admin-border));
}

.inline-action {
    color: var(--admin-primary);
    text-decoration: none;
}

.inline-action:hover,
.inline-action:focus-visible {
    text-decoration: underline;
}


/* Clickable admin toggles. Keep hidden false fields from breaking the switch track. */
.toggle-field {
    position: relative;
    cursor: pointer;
    user-select: none;
}

.toggle-field input[type="hidden"] {
    display: none;
}

.toggle-field input[type="checkbox"] {
    position: absolute;
    inset: 0;
    z-index: 2;
    inline-size: 100%;
    block-size: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    pointer-events: auto;
}

.toggle-field input[type="checkbox"]:checked ~ .toggle-field__track {
    background: var(--admin-primary);
}

.toggle-field input[type="checkbox"]:checked ~ .toggle-field__track span {
    transform: translateX(18px);
}

.toggle-field input[type="checkbox"]:focus-visible ~ .toggle-field__track {
    outline: 3px solid color-mix(in srgb, var(--admin-primary) 30%, transparent);
    outline-offset: 2px;
}

/* Compact admin density pass. */
:root {
    --admin-density: .82;
    --admin-radius-lg: 10px;
    --admin-radius-md: 8px;
    --admin-radius-sm: 6px;
    --admin-shadow: 0 12px 34px rgba(24, 24, 27, .06);
    --admin-shadow-soft: 0 5px 16px rgba(24, 24, 27, .045);
}

.admin-topbar__inner {
    gap: 18px;
    min-height: 70px;
    width: min(1180px, calc(100% - 32px));
}

.brand-mark {
    gap: 10px;
}

.brand-mark__icon {
    width: 36px;
    height: 36px;
    font-size: 12px;
}

.brand-mark strong {
    font-size: 14px;
    font-weight: 700;
}

.brand-mark small,
.admin-userbar__meta small {
    font-size: 11px;
}

.admin-nav {
    gap: 4px;
    padding: 4px;
}

.admin-nav__link {
    min-height: 32px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 650;
}

.admin-userbar {
    gap: 9px;
}

.admin-userbar__avatar,
.admin-icon-button {
    width: 34px;
    height: 34px;
}

.admin-userbar__meta strong {
    font-size: 12px;
    font-weight: 650;
}

.admin-main {
    padding: 24px 0 42px;
}

.admin-container {
    width: min(1180px, calc(100% - 32px));
}

.admin-page-heading {
    gap: 16px;
    margin-bottom: 18px;
}

.admin-page-heading h1,
.dashboard-hero h1 {
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: -.03em;
}

.admin-page-heading p:not(.section-label),
.dashboard-hero p:not(.section-label),
.auth-card__header p,
.muted-copy {
    margin-top: 8px;
    line-height: 1.55;
}

.section-label {
    margin-bottom: 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
}

.dashboard-hero {
    gap: 18px;
    margin-bottom: 18px;
    padding: 22px;
}

.metric-grid,
.module-card-grid,
.admin-grid {
    gap: 14px;
    margin-bottom: 18px;
}

.metric-card,
.admin-panel,
.auth-card {
    box-shadow: var(--admin-shadow-soft);
}

.admin-panel,
.auth-card {
    padding: 40px 20px;
}

.metric-card {
    min-height: 142px;
    padding: 18px;
}

.metric-card .card-icon,
.auth-card__header .card-icon {
    margin-bottom: 12px;
}

.metric-card strong {
    margin-top: 8px;
    font-size: 21px;
    font-weight: 700;
}

.metric-card p {
    margin-top: 6px;
    line-height: 1.45;
}

.panel-heading {
    gap: 14px;
    margin-bottom: 16px;
}

.panel-heading__title {
    gap: 10px;
}

.admin-panel h1,
.admin-panel h2 {
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.card-icon {
    width: 34px;
    height: 34px;
    border-radius: var(--admin-radius-sm);
}

.card-icon i,
.brand-mark__icon i,
.admin-icon-button i,
.admin-userbar__avatar i {
    font-size: 14px;
}

.module-card {
    min-height: 206px;
    gap: 12px;
}

.module-card__actions {
    padding-top: 14px;
}

.module-table {
    min-width: 900px;
}

.tools-table {
    min-width: 820px;
}

.admin-form--inline {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
}

.coin-balance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.coin-balance div {
    padding: 14px;
    border: 1px solid var(--admin-border-strong);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-bg);
}

.coin-balance dt {
    color: var(--admin-muted);
    font-size: 12px;
    font-weight: 600;
}

.coin-balance dd {
    margin: 5px 0 0;
    color: var(--admin-text);
    font-size: 23px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.empty-copy {
    margin: 0;
    color: var(--admin-muted);
}

/* Account editor */
.account-editor-heading {
    align-items: flex-start;
}

.account-editor-heading__account,
.account-id,
.account-log-table__time,
.coin-balance dd {
    font-variant-numeric: tabular-nums;
}

.account-search-panel,
.account-results-panel,
.account-editor-section {
    scroll-margin-top: 104px;
    margin-bottom: 18px;
}

.account-search-panel {
    margin-bottom: 18px;
}

.account-search-panel .panel-heading__title {
    flex: 1 1 auto;
    min-width: 0;
}

.account-search-panel .panel-heading__title .muted-copy {
    max-width: none;
    white-space: nowrap;
}

.account-editor-action,
.account-editor-action:hover,
.account-editor-action:focus-visible {
    box-shadow: none;
}

.account-search-form {
    align-items: end;
}

.account-search-form__query {
    min-width: min(100%, 440px);
}

.account-results-panel__heading {
    align-items: center;
}

.account-results-table td:nth-child(3) {
    color: var(--admin-muted);
}

.account-editor-tabs {
    display: flex;
    gap: 4px;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 18px;
    padding: 4px;
    overflow-x: auto;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-surface-soft);
}

.account-editor-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 6px;
    color: var(--admin-muted);
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.account-editor-tabs a:hover,
.account-editor-tabs a:focus-visible,
.account-editor-tabs a.is-active {
    color: #fff;
    background: var(--admin-primary);
    outline: none;
}

:root[data-theme="dark"] .account-editor-tabs a:hover,
:root[data-theme="dark"] .account-editor-tabs a:focus-visible,
:root[data-theme="dark"] .account-editor-tabs a.is-active {
    color: #f4f8ff;
    background: #163c66;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .account-editor-tabs a:hover,
    :root:not([data-theme="light"]) .account-editor-tabs a:focus-visible,
    :root:not([data-theme="light"]) .account-editor-tabs a.is-active {
        color: #f4f8ff;
        background: #163c66;
    }
}

.account-state {
    display: flex;
    align-items: center;
    min-height: 36px;
    gap: 9px;
}

.account-state .muted-copy {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
}

.account-editor-actions {
    display: flex;
    align-items: end;
}

.account-user-info-panel__heading {
    align-items: center;
}

.account-user-info-panel__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.account-user-info-panel__actions form {
    margin: 0;
}

.account-security-form,
.account-wallet-form,
.account-vip-form {
    margin-bottom: 0;
}

.account-wallet-balance {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.account-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
    margin: 0;
}

.account-detail-list div {
    display: grid;
    grid-template-columns: minmax(96px, .8fr) minmax(0, 1.2fr);
    align-items: center;
    min-height: 42px;
    gap: 12px;
    border-bottom: 1px solid var(--admin-border);
}

.account-detail-list dt {
    color: var(--admin-muted);
    font-size: 12px;
}

.account-detail-list dd {
    margin: 0;
    color: var(--admin-text);
    font-size: 13px;
    overflow-wrap: anywhere;
}

/* Character editor */
.character-editor-heading {
    align-items: flex-start;
}

.character-search-panel,
.character-results-panel,
.character-editor-section {
    scroll-margin-top: 104px;
    margin-bottom: 18px;
}

.character-search-panel .panel-heading__title {
    flex: 1 1 auto;
    min-width: 0;
}

.character-search-panel .panel-heading__title .muted-copy {
    max-width: none;
    white-space: nowrap;
}

.character-search-form {
    align-items: end;
}

.character-search-form__query {
    min-width: min(100%, 500px);
}

.character-editor-action,
.character-editor-action:hover,
.character-editor-action:focus-visible {
    box-shadow: none;
}

.character-results-panel__heading {
    align-items: center;
}

.character-results-table {
    min-width: 930px;
}

.character-results-table__email {
    color: var(--admin-muted) !important;
}

.character-number,
.character-context strong,
.character-grid-stage__money strong {
    font-variant-numeric: tabular-nums;
}

.character-context {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin: 0 0 18px;
    overflow: hidden;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-border);
}

.character-context div {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 10px 12px;
    background: var(--admin-surface);
}

.character-context span {
    color: var(--admin-muted);
    font-size: 11px;
}

.character-context strong {
    overflow: hidden;
    color: var(--admin-text);
    font-size: 13px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.character-context .character-context__online {
    color: var(--admin-green);
}

.character-context .character-context__offline {
    color: var(--admin-red);
}

.character-editor-tabs {
    margin-bottom: 18px;
}

.character-info-form {
    display: block;
}

.character-info-form .admin-grid {
    gap: 18px;
    margin-bottom: 18px;
}

.character-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.character-editor-save {
    display: flex;
    justify-content: flex-end;
}

.character-item-workspace {
    display: grid;
    grid-template-columns: minmax(560px, 1.2fr) minmax(400px, .8fr);
    gap: 18px;
    align-items: start;
}

.character-item-panel {
    position: sticky;
    top: 94px;
}

.character-item-empty {
    display: grid;
    min-height: 256px;
    place-content: center;
    gap: 8px;
    padding: 20px;
    border: 1px dashed var(--admin-border-strong);
    border-radius: var(--admin-radius-sm);
    color: var(--admin-muted);
    text-align: center;
}

.character-item-empty i {
    color: var(--admin-soft-text);
    font-size: 22px;
}

.character-item-empty p,
.character-item-empty span {
    margin: 0;
}

.character-item-empty p {
    color: var(--admin-text);
    font-size: 13px;
    font-weight: 650;
}

.character-item-empty span {
    max-width: 26ch;
    font-size: 12px;
    line-height: 1.55;
}

.character-grid-stage {
    padding: 18px;
    border: 1px solid #4a4038;
    border-radius: var(--admin-radius-md);
    background: #211e1a;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .35);
}

.character-grid-stage__header,
.character-grid-stage__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.character-grid-stage__header {
    margin-bottom: 16px;
    border-bottom: 1px solid #7f7f7f59;
    padding-bottom: 16px;
    justify-content: space-between;
}

.character-grid-stage__header-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.character-grid-stage__header-actions .admin-secondary-button { display: inline-flex; align-items: center; gap: 7px; }

.character-grid-stage__header h2 {
    margin: 0;
    color: #f4f4f5;
    font-size: 18px;
    letter-spacing: -.02em;
}

.character-grid-stage__header p {
    margin: 4px 0 0;
    color: #b8b0a7;
    font-size: 12px;
    line-height: 1.45;
}

.character-grid-stage .status-badge--secure {
    color: #86efac;
    background: #15351f;
}

.character-grid-stage .status-badge--danger {
    color: #fca5a5;
    background: #421b1e;
}

.character-item-grid {
    display: grid;
    gap: 2px;
    padding: 6px;
    border: 1px solid #574b40;
    background: #151311;
}

.character-item-grid {
    grid-template-columns: repeat(8, minmax(28px, 1fr));
    grid-template-rows: repeat(var(--character-grid-rows), minmax(28px, 1fr));
    min-height: min(540px, calc((100vw - 360px) * 1.5));
}

.character-grid-cell {
    aspect-ratio: 1;
    min-width: 0;
    border: 1px solid #3d3730;
    border-radius: 0;
    background: #100f0d;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.character-grid-cell:hover,
.character-grid-cell:focus-visible {
    z-index: 1;
    border-color: #c8b99a;
    background: #252019;
    box-shadow: inset 0 0 0 1px rgba(236, 222, 192, .28);
    outline: none;
}

.character-grid-stage__footer {
    margin-top: 14px;
}

.character-grid-stage__money {
    display: grid;
    gap: 2px;
}

.character-grid-stage__money span {
    color: #b8b0a7;
    font-size: 11px;
}

.character-grid-stage__money strong {
    color: #fbbf24;
    font-size: 12px;
    font-weight: 650;
}

.character-grid-stage .admin-primary-button:disabled {
    color: #7b746b;
    background: #37322c;
}

.character-item-token { display: none; }
.character-item-feedback { margin: -4px 0 14px; color: var(--admin-muted); font-size: 12px; line-height: 1.45; }
.character-item-feedback.is-error { color: var(--admin-red); }
.character-item-form { display: grid; gap: 10px; }
.character-item-switches { display: flex; flex-wrap: wrap; gap: 8px; }
.character-grids { display: grid; gap: 14px; overflow-x: auto; justify-items: center; }
.character-grid-area:not(.character-grid-area--equipment) { width: max-content; max-width: 100%; }
/* .character-grid-area--equipment { width: 100%; } */
.character-grid-area h3 { text-align: center; margin: 0 0 7px; color: #d6d3d1; font-size: 12px; font-weight: 650; }
.character-item-grid { position: relative; display: grid; width: max-content; min-height: auto; grid-template-columns: repeat(var(--character-grid-columns), 30px); grid-template-rows: repeat(var(--character-grid-rows), 30px); }
.character-grid-cell { width: 30px; height: 30px; }
.character-grid-cell.is-selected { border-color: #fbbf24; background: #332d1d; }
.character-grid-cell.is-layout-conflict,
.character-equipment-slot.is-layout-conflict { border-color: #f87171; background: rgba(127, 29, 29, .38); box-shadow: inset 0 0 0 1px rgba(248, 113, 113, .42); }
.character-grid-item { position: absolute; z-index: 2; display: block; overflow: hidden; border: 0; border-radius: 0; padding: 0; background: rgba(16, 15, 13, .86); box-shadow: inset 0 0 0 1px #91816a; cursor: pointer; }
.character-grid-item:hover, .character-grid-item:focus-visible { z-index: 3; box-shadow: inset 0 0 0 1px #fbbf24; outline: none; }
.character-grid-item.is-layout-conflict { z-index: 3; box-shadow: inset 0 0 0 2px #f87171, 0 0 0 1px rgba(127, 29, 29, .72); }
.character-grid-item.is-save-error, .character-equipment-slot .character-grid-item.is-save-error { z-index: 4; outline: 2px solid var(--admin-red); outline-offset: 1px; }
/* Standard-grid art fills the precise multi-cell hit rectangle. Equipment art has
   its own slot-specific rule below and intentionally remains independent. */
.character-item-grid > .character-grid-item img { display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: fill; image-rendering: pixelated; }
.character-grid-stage__settings { display: flex; flex-wrap: wrap; gap: 10px; }
.character-grid-stage__settings .field-stack { min-width: 124px; color: #f4f4f5; }
.character-grid-stage__settings .field-stack > span:first-child { color: #f4f4f5; font-weight: 650; }
.character-grid-stage__settings .admin-input { min-height: 36px; color: #f4f4f5; border-color: #574b40; background: #151311; }
.character-grid-loading { margin: 0; color: #b8b0a7; font-size: 13px; }

/* Season 6 item editor: its grids deliberately keep the game-client material language. */
.character-item-preview {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    margin: -2px 0 10px;
    padding: 8px;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-soft-surface);
}

.character-item-preview__image {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--admin-border-strong);
    border-radius: 4px;
    background: #211e1a;
}

.character-item-preview__image > img[data-item-preview-image] {
    display: block;
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    object-fit: contain !important;
    object-position: center;
    image-rendering: pixelated;
}
.character-item-preview__image.is-image-missing::after { color: var(--admin-muted); content: "\f03e"; font-family: "Font Awesome 6 Free"; font-size: 16px; font-weight: 900; }
.character-item-preview__image.is-image-missing img { display: none; }
.character-item-preview > span:last-child { display: grid; min-width: 0; gap: 2px; }
.character-item-preview__update { display: inline-flex; width: auto; min-height: 32px; flex: 0 0 auto; margin-left: auto; padding-inline: 12px; }
.character-item-preview__update[hidden] { display: none; }
.character-item-preview strong { overflow: hidden; color: var(--admin-text); font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.character-item-preview small { color: var(--admin-muted); font-size: 11px; line-height: 1.35; }

.character-item-feedback {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 10px;
    padding: 8px 9px;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-soft-surface);
    color: var(--admin-text);
    font-size: 12px;
    font-weight: 550;
    line-height: 1.45;
}

.character-item-feedback::before { flex: 0 0 auto; color: var(--admin-primary); content: "\f05a"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.character-item-feedback[data-state="success"] { color: var(--admin-green); background: color-mix(in srgb, var(--admin-green) 8%, var(--admin-soft-surface)); }
.character-item-feedback[data-state="success"]::before { content: "\f058"; }
.character-item-feedback.is-error { color: var(--admin-red); background: color-mix(in srgb, var(--admin-red) 8%, var(--admin-soft-surface)); }
.character-item-feedback.is-error::before { content: "\f06a"; }
.character-item-feedback[data-state="loading"]::before { content: "\f110"; }

.character-layout-warning {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #7f1d1d;
    border-radius: var(--admin-radius-sm);
    color: #fecaca;
    background: #351719;
    font-size: 12px;
    line-height: 1.45;
}
.character-layout-warning strong { display: block; color: #fef2f2; font-size: 13px; font-weight: 650; }
.character-layout-warning p { margin: 3px 0 7px; color: #fecaca; }
.character-layout-warning ul { margin: 0; padding-left: 18px; }
.character-layout-warning li + li { margin-top: 3px; }

.character-item-search { position: relative; }
.character-item-suggestions {
    position: absolute;
    z-index: 10;
    top: calc(100% + 4px);
    right: 0;
    left: 0;
    display: grid;
    max-height: 244px;
    overflow-y: auto;
    border: 1px solid var(--admin-border-strong);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-surface);
    box-shadow: 0 12px 24px rgba(0, 0, 0, .18);
}
.character-item-suggestions[hidden] { display: none; }

.character-item-suggestions button {
    display: grid;
    gap: 2px;
    padding: 8px 10px;
    border: 0;
    border-bottom: 1px solid var(--admin-border);
    background: transparent;
    color: var(--admin-text);
    cursor: pointer;
    text-align: left;
}

.character-item-suggestions button:last-child { border-bottom: 0; }
.character-item-suggestions button:hover, .character-item-suggestions button:focus-visible { background: var(--admin-soft-surface); outline: none; }
.character-item-suggestions span { font-size: 12px; font-weight: 600; }
.character-item-suggestions small { color: var(--admin-muted); font-size: 11px; }

.character-item-filter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.character-item-selection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.character-item-options { display: grid; gap: 10px; }
.character-item-core-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.character-item-excellent { min-width: 0; margin: 0; padding: 7px 9px 8px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); }
.character-item-excellent legend { padding: 0 4px; color: var(--admin-text); font-size: 12px; font-weight: 600; }
.character-item-excellent > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 10px; }
.character-item-excellent label { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--admin-muted); font-size: 11px; line-height: 1.25; }
.character-item-excellent input { width: 14px; height: 14px; margin: 0; accent-color: var(--admin-primary); }
.character-item-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 10px; align-items: end; }
.character-item-sockets { min-width: 0; margin: 0; padding: 8px 9px 9px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); }
.character-item-sockets legend { padding: 0 4px; color: var(--admin-text); font-size: 12px; font-weight: 600; }
.character-item-socket-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 10px; }
.character-item-control-help { grid-column: 1 / -1; margin: -2px 0 0; color: var(--admin-muted); font-size: 11px; line-height: 1.35; }
.character-item-switches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.character-item-switches .toggle-field { min-width: 0; padding-inline: 8px; }
.character-item-context-menu { position: fixed; z-index: 1000; display: grid; min-width: 180px; overflow: hidden; border: 1px solid var(--admin-border-strong); border-radius: var(--admin-radius-sm); background: var(--admin-surface); }
.character-item-context-menu button { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border: 0; background: transparent; color: var(--admin-text); cursor: pointer; font: inherit; font-size: 12px; text-align: left; }
.character-item-context-menu button:hover, .character-item-context-menu button:focus-visible { background: var(--admin-soft-surface); outline: none; }
.character-item-context-menu [data-menu-remove], .character-item-context-menu [data-menu-remove-all] { color: var(--admin-red); }

.character-equipment-board {
    display: flex;
    box-sizing: border-box;
    width: 100%;
    height: 232px;
    align-items: center;
    justify-content: center;
    padding: 5px;
    border: 1px solid #4e463d;
    background: #171512;
}

.character-equipment-layout {
    position: relative;
    width: 291px;
    height: 220px;
    flex: 0 0 291px;
    background: url("/images/tools/inventory/slots_bg.png") center / 100% 100% no-repeat;
    transform-origin: top center;
}

.character-equipment-slot {
    position: absolute;
    display: grid;
    min-width: 0;
    min-height: 0;
    place-items: center;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
}

.character-equipment-slot:hover, .character-equipment-slot:focus-visible, .character-equipment-slot.is-selected { z-index: 1; border-color: #fbbf24; outline: none; box-shadow: inset 0 0 0 1px rgba(251, 191, 36, .45); }
.character-equipment-slot .character-grid-item { position: absolute; inset: 3px; width: auto; height: auto; border: 1px solid #c3a96b; box-shadow: none; background: rgba(13, 12, 10, .88); }
.character-equipment-slot .character-grid-item:hover, .character-equipment-slot .character-grid-item:focus-visible { border-color: #fbbf24; box-shadow: none; }
.character-equipment-slot .character-grid-item.is-layout-conflict { border-color: #f87171; box-shadow: inset 0 0 0 1px #f87171, 0 0 0 1px rgba(127, 29, 29, .72); }
.character-equipment-slot .character-grid-item img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; object-position: center; }

.character-grid-stage__footer {
    display: grid;
    gap: 12px;
}
.character-grid-stage__settings { display: grid; min-width: 0; grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr); gap: 12px; }
.character-grid-stage__money .field-stack { width: 100%; }
.character-grid-stage__extensions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.character-grid-stage__extensions .field-stack { min-width: 0; }
.character-grid-stage__extensions .field-stack:only-child { grid-column: 1 / -1; }
.character-grid-stage__money .admin-input { min-width: 0; width: 100%; }
.character-grid-stage__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.character-grid-stage__max { width: 100%; min-height: 36px; padding-inline: 10px; border-color: #574b40; color: #f4f4f5; background: #2d2924; }
.character-item-save, .character-item-save:hover, .character-item-save:focus-visible { box-shadow: none; }
.character-item-save { width: 100%; min-height: 36px; white-space: nowrap; justify-content: center; }

/* Keep the game material inside the grids; operational controls follow the admin theme. */
:root[data-theme="dark"] .character-item-excellent,
:root[data-theme="dark"] .character-grid-stage__settings .admin-input,
:root[data-theme="dark"] .character-grid-stage__max {
    border-color: var(--admin-border-strong);
    color: var(--admin-text);
    background: var(--admin-input-bg);
}

:root[data-theme="dark"] .character-grid-stage__settings .field-stack,
:root[data-theme="dark"] .character-grid-stage__settings .field-stack > span:first-child {
    color: var(--admin-text);
}

:root[data-theme="dark"] .character-grid-stage__footer {
    padding: 12px;
    border: 1px solid var(--admin-border-strong);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-surface);
}

:root[data-theme="dark"] .character-item-excellent input[type="checkbox"] {
    appearance: none;
    display: grid;
    place-items: center;
    flex: 0 0 14px;
    border: 1px solid var(--admin-border-strong);
    border-radius: 3px;
    background: var(--admin-input-bg);
    cursor: pointer;
}

:root[data-theme="dark"] .character-item-excellent input[type="checkbox"]:checked {
    border-color: var(--admin-primary);
    background: var(--admin-primary);
}

:root[data-theme="dark"] .character-item-excellent input[type="checkbox"]:checked::after {
    width: 7px;
    height: 4px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    content: "";
    transform: translateY(-1px) rotate(-45deg);
}

:root[data-theme="dark"] .character-item-excellent input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--admin-primary);
    outline-offset: 2px;
}

:root[data-theme="dark"] .character-item-excellent input[type="checkbox"]:disabled { opacity: .45; cursor: not-allowed; }

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .character-item-excellent,
    :root:not([data-theme="light"]) .character-grid-stage__settings .admin-input,
    :root:not([data-theme="light"]) .character-grid-stage__max {
        border-color: var(--admin-border-strong);
        color: var(--admin-text);
        background: var(--admin-input-bg);
    }

    :root:not([data-theme="light"]) .character-grid-stage__settings .field-stack,
    :root:not([data-theme="light"]) .character-grid-stage__settings .field-stack > span:first-child {
        color: var(--admin-text);
    }

    :root:not([data-theme="light"]) .character-grid-stage__footer {
        padding: 12px;
        border: 1px solid var(--admin-border-strong);
        border-radius: var(--admin-radius-sm);
        background: var(--admin-surface);
    }

    :root:not([data-theme="light"]) .character-item-excellent input[type="checkbox"] {
        appearance: none;
        display: grid;
        place-items: center;
        flex: 0 0 14px;
        border: 1px solid var(--admin-border-strong);
        border-radius: 3px;
        background: var(--admin-input-bg);
        cursor: pointer;
    }

    :root:not([data-theme="light"]) .character-item-excellent input[type="checkbox"]:checked {
        border-color: var(--admin-primary);
        background: var(--admin-primary);
    }

    :root:not([data-theme="light"]) .character-item-excellent input[type="checkbox"]:checked::after {
        width: 7px;
        height: 4px;
        border-left: 2px solid #fff;
        border-bottom: 2px solid #fff;
        content: "";
        transform: translateY(-1px) rotate(-45deg);
    }

    :root:not([data-theme="light"]) .character-item-excellent input[type="checkbox"]:focus-visible {
        outline: 2px solid var(--admin-primary);
        outline-offset: 2px;
    }

    :root:not([data-theme="light"]) .character-item-excellent input[type="checkbox"]:disabled { opacity: .45; cursor: not-allowed; }
}

/* Character starter kits shares the Season 6 inventory material with character editing. */
.starter-kits-heading { align-items: flex-start; }
.starter-kits-workspace { display: grid; gap: 18px; }
.starter-kits-toolbar { padding-bottom: 14px; }
.starter-kits-toolbar .panel-heading { margin-bottom: 12px; }
.starter-kits-toolbar .panel-heading__title { min-width: 0; }
.starter-kits-controls { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(150px, .7fr) minmax(180px, .8fr) minmax(0, 2fr); gap: 12px; align-items: end; }
.starter-kits-toolbar-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
.starter-kits-toolbar-actions .admin-secondary-button { min-height: 36px; box-shadow: none; }
.starter-kits-editor { margin: 0; }
.starter-kits-grid-stage { min-width: 0; }
.starter-kits-savebar { display: flex; justify-content: flex-end; margin-top: 14px; }
.starter-kits-savebar .admin-primary-button { min-height: 36px; min-width: 170px; justify-content: center; box-shadow: none; white-space: nowrap; }

@media (max-width: 1180px) {
    .starter-kits-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .starter-kits-toolbar-actions { grid-column: 1 / -1; }
}

@media (max-width: 1100px) { .character-item-workspace { grid-template-columns: 1fr; } .character-item-panel { position: static; } }
@media (max-width: 640px) {
    .character-context { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .character-field-grid, .character-item-filter-grid, .character-item-selection-grid, .character-item-core-grid { grid-template-columns: 1fr; }
    .character-grid-stage__header { align-items: flex-start; flex-direction: column; }
    .character-grid-stage__settings { width: 100%; grid-template-columns: 1fr; }
    .character-item-excellent > div { grid-template-columns: 1fr; }
    .character-item-control-grid, .character-item-socket-grid, .character-item-switches { grid-template-columns: 1fr; }
    .character-search-panel .panel-heading__title .muted-copy { white-space: normal; }
}

@media (max-width: 780px) {
    .character-item-core-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .character-item-socket-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .character-grid-stage__settings { grid-template-columns: 1fr; }
    .character-grid-stage__actions { grid-template-columns: 1fr; }
    .starter-kits-controls { grid-template-columns: 1fr; }
    .starter-kits-toolbar-actions { grid-column: auto; }
    .starter-kits-savebar .admin-primary-button { width: 100%; }
}

.account-log-table {
    min-width: 620px;
}

.module-table__name {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 150px;
}

.module-table__name .card-icon {
    flex: 0 0 auto;
}

.module-table__description {
    min-width: 280px;
    color: var(--admin-muted) !important;
}

.module-table__action {
    width: 1%;
    white-space: nowrap;
}

.admin-secondary-button--compact {
    min-height: 36px;
    padding: 7px 10px;
}

.module-row {
    min-height: 44px;
    gap: 12px;
    padding: 10px 0;
}

.module-row strong,
.timeline-list strong,
.admin-table td strong {
    font-weight: 650;
}

.timeline-list {
    gap: 10px;
}

.timeline-list li {
    padding-left: 22px;
}

.admin-table {
    min-width: 680px;
}

.admin-table th,
.admin-table td {
    padding: 11px 14px;
}

.admin-table th {
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .035em;
}

.admin-table td {
    font-size: 13px;
    line-height: 1.45;
}

.admin-form {
    gap: 14px;
}

.admin-form--grid {
    column-gap: 16px;
    row-gap: 14px;
}

.field-stack {
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
}

.field-stack > span:first-child {
    font-size: 12px;
    font-weight: 650;
    letter-spacing: 0;
}

.field-stack small {
    font-size: 11px;
    font-weight: 500;
}

.admin-input,
.admin-textarea {
    border-radius: var(--admin-radius-sm);
    font-size: 13px;
}

.admin-input {
    min-height: 36px;
    padding: 0 12px;
}

.admin-textarea {
    min-height: 136px;
    padding: 11px 12px;
}

.switch-row,
.toggle-field {
    min-height: 36px;
    padding: 0 10px;
    gap: 8px;
}

.toggle-field__track {
    width: 36px;
    height: 20px;
}

.toggle-field__track span {
    top: 3px;
    left: 3px;
    width: 14px;
    height: 14px;
}

.toggle-field input[type="checkbox"]:checked ~ .toggle-field__track span,
.toggle-field input:checked + .toggle-field__track span {
    transform: translateX(16px);
}

.toggle-field__label {
    font-size: 13px;
    font-weight: 600;
}

.admin-primary-button,
.admin-secondary-button,
.admin-ghost-button {
    min-height: 36px;
    border-radius: var(--admin-radius-sm);
    padding-inline: 14px;
    font-size: 13px;
    font-weight: 650;
}

.admin-secondary-button--sm,
.admin-ghost-button--danger {
    min-height: 30px;
    padding: 0 10px;
    font-size: 12px;
}

.status-badge,
.table-status {
    min-height: 24px;
    border-radius: var(--admin-radius-sm);
    padding: 0 8px;
    font-size: 11px;
    font-weight: 650;
}

.validation-panel:not(:empty),
.validation-panel.validation-panel--success:not(:empty) {
    margin-bottom: 14px;
    padding: 10px 12px;
    border-radius: var(--admin-radius-sm);
    font-size: 13px;
    font-weight: 600;
}

.table-actions {
    gap: 6px;
}

.auth-shell {
    gap: 18px;
}

.auth-card {
    width: min(100%, 400px);
}

.auth-card h2 {
    font-size: 28px;
}

.auth-copy h1 {
    font-size: clamp(36px, 6vw, 58px);
}

.auth-proof-grid div {
    padding: 12px;
    border-radius: var(--admin-radius-md);
}

@media (max-width: 980px) {
    .admin-topbar__inner {
        gap: 12px;
        padding: 12px 0;
    }

    .admin-nav {
        border-radius: var(--admin-radius-md);
    }

    .admin-panel,
    .auth-card,
    .dashboard-hero {
        padding: 18px;
    }
}

@media (max-width: 640px) {
    .admin-container,
    .admin-topbar__inner,
    .auth-shell {
        width: min(100% - 24px, 1180px);
    }

    .admin-main {
        padding-top: 18px;
    }

    .admin-panel,
    .auth-card,
    .dashboard-hero {
        padding: 16px;
        border-radius: var(--admin-radius-md);
    }

    .admin-table th,
    .admin-table td {
        padding: 10px 12px;
    }

    .admin-form--inline {
        grid-template-columns: 1fr;
    }

    .coin-balance {
        grid-template-columns: 1fr;
    }

    .account-editor-heading {
        align-items: center;
    }

    .account-editor-tabs {
        width: 100%;
    }

    .account-editor-tabs a {
        flex: 1 0 auto;
        justify-content: center;
    }

    .account-user-info-panel__heading {
        align-items: flex-start;
    }

    .account-user-info-panel__actions {
        justify-content: flex-start;
    }

    .account-search-panel .panel-heading__title .muted-copy {
        white-space: normal;
    }

    .account-detail-list {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

/* Kept at the end so the dashboard metrics retain their compact operational layout. */
.metric-card.metric-card--stat {
    display: grid;
    min-height: 176px;
    padding: 20px;
}

.metric-card.metric-card--stat .card-icon {
    margin: 0;
}

.account-starter-kit-panel {
    /* width: min(100%, 720px); */
}

.account-starter-kit-tabs {
    display: flex;
    width: fit-content;
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-soft-surface);
}

.account-starter-kit-tabs a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    padding: 0 13px;
    color: var(--admin-muted);
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
}

.account-starter-kit-tabs a + a { border-left: 1px solid var(--admin-border); }
.account-starter-kit-tabs a:hover, .account-starter-kit-tabs a:focus-visible { color: var(--admin-text); background: var(--admin-surface); outline: none; }
.account-starter-kit-tabs a.is-active { color: #fff; background: var(--admin-primary); }

.account-starter-kit-status {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 0 0 16px;
    padding: 10px 12px;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-sm);
    color: var(--admin-muted);
    background: var(--admin-soft-surface);
    font-size: 13px;
    line-height: 1.45;
}

.account-starter-kit-status i { color: var(--admin-primary); line-height: inherit; }
.account-starter-kit-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.account-starter-kit-form--vip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.account-starter-kit-actions { display: flex; gap: 8px; align-items: center; }
.account-starter-kit-disable { margin-top: 10px; }
.account-starter-kit-note { margin: 14px 0 0; font-size: 12px; line-height: 1.45; }

@media (max-width: 640px) {
    .account-starter-kit-form { grid-template-columns: 1fr; }
    .account-starter-kit-actions .admin-primary-button,
    .account-starter-kit-disable .admin-ghost-button { width: 100%; justify-content: center; }
}

/* The admin application uses borders and surface contrast for depth, never shadows. */
.admin-body,
.admin-body *,
.admin-body *::before,
.admin-body *::after {
    box-shadow: none !important;
}

.tools-category + .tools-category { margin-top: 1rem; }
.cash-shop-actions, .cash-shop-tabs, .cash-shop-form__footer { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.cash-shop-actions { margin: 1rem 0; }
.cash-shop-actions label { cursor: pointer; }
.cash-shop-tabs { border-bottom: 1px solid var(--admin-border); margin-bottom: 1rem; }
.cash-shop-tabs button { appearance: none; border: 0; background: transparent; color: var(--admin-muted); font: inherit; font-weight: 700; padding: .65rem .9rem; cursor: pointer; }
.cash-shop-tabs button.is-active { color: var(--admin-text); border-bottom: 2px solid var(--admin-accent); }
.cash-shop-main-info { display:grid; grid-template-columns:1.1fr 1.7fr .8fr .8fr; gap:.75rem; padding:.85rem; margin-bottom:1rem; background:var(--admin-surface-alt); border:1px solid var(--admin-border); border-radius:.45rem; }
.cash-shop-workspace { display: grid; grid-template-columns: minmax(200px, .62fr) minmax(360px, 1.15fr) minmax(320px, .9fr); gap: 1rem; }
.cash-shop-offers { border: 1px solid var(--admin-border); border-radius: .45rem; overflow: hidden; }
.cash-shop-offers__head { display: flex; justify-content: space-between; gap: .5rem; padding: .7rem; border-bottom: 1px solid var(--admin-border); }
.cash-shop-search { display:block; position:relative; padding:.55rem; border-bottom:1px solid var(--admin-border); }.cash-shop-search i{position:absolute;left:1rem;top:1.25rem;color:var(--admin-muted);font-size:.75rem}.cash-shop-search input{padding-left:2rem}
.cash-shop-offers > div:last-child { display: grid; gap: .35rem; max-height: 38rem; overflow: auto; padding: .45rem; }
.cash-shop-offer { display: flex; align-items: center; gap: .65rem; width: 100%; padding: .5rem; color: var(--admin-text); text-align: left; background: transparent; border: 1px solid transparent; border-radius: .35rem; cursor: pointer; }
.cash-shop-offer:hover, .cash-shop-offer.is-selected { background: var(--admin-surface-alt); border-color: var(--admin-accent); }
.cash-shop-offer img { width: 38px; height: 38px; object-fit: contain; image-rendering: pixelated; }
.cash-shop-offer span { min-width: 0; }.cash-shop-offer strong,.cash-shop-offer small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cash-shop-offer small{color:var(--admin-muted);margin-top:.15rem}
.cash-shop-form { display: grid; align-content: start; gap: .85rem; }.cash-shop-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }.cash-shop-options { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; align-items: end; }.cash-shop-options label { display: grid; gap: .3rem; font-size: .82rem; }.cash-shop-sockets { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; }.cash-shop-form__footer { justify-content: space-between; color: var(--admin-muted); font-size: .85rem; }.cash-shop-file-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }.cash-shop-file-grid div{border:1px solid var(--admin-border);border-radius:.4rem;padding:.8rem}.cash-shop-file-grid strong,.cash-shop-file-grid span{display:block}.cash-shop-file-grid span{color:var(--admin-muted);margin-top:.25rem}
.cash-shop-shopfront { border:1px solid var(--admin-border); border-radius:.45rem; overflow:hidden; min-width:0; }.cash-shop-currency-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--admin-border)}.cash-shop-currency-tabs button{border:0;background:var(--admin-surface-alt);color:var(--admin-muted);padding:.75rem .25rem;font:inherit;font-weight:700;cursor:pointer}.cash-shop-currency-tabs button.is-active{background:var(--admin-surface);color:var(--admin-text);box-shadow:inset 0 -2px 0 var(--admin-accent)}.cash-shop-shopfront__body{display:grid;grid-template-columns:92px 1fr;min-height:29rem}.cash-shop-shopfront__categories{border-right:1px solid var(--admin-border);padding:.4rem;display:grid;align-content:start;gap:.25rem}.cash-shop-shopfront__categories button{border:0;background:transparent;color:var(--admin-muted);font:inherit;text-align:left;padding:.55rem .4rem;cursor:pointer;border-radius:.25rem}.cash-shop-shopfront__categories button.is-active{background:var(--admin-surface-alt);color:var(--admin-text)}.cash-shop-shopfront__grid{padding:.65rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:.6rem}.cash-shop-product-card{display:grid;justify-items:center;gap:.3rem;min-height:112px;padding:.5rem;background:var(--admin-surface-alt);border:1px solid var(--admin-border);border-radius:.35rem;color:var(--admin-text);cursor:pointer;font:inherit}.cash-shop-product-card:hover,.cash-shop-product-card.is-selected{border-color:var(--admin-accent)}.cash-shop-product-card img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated}.cash-shop-product-card strong{font-size:.75rem;text-align:center;line-height:1.2}.cash-shop-product-card span{font-size:.75rem;color:var(--admin-accent);font-variant-numeric:tabular-nums}
@media (max-width: 1100px) { .cash-shop-workspace{grid-template-columns: minmax(210px,.7fr) minmax(0,1.3fr)}.cash-shop-shopfront{grid-column:1 / -1}.cash-shop-main-info{grid-template-columns:1fr 1fr} }
@media (max-width: 700px) { .cash-shop-workspace{grid-template-columns:1fr}.cash-shop-main-info,.cash-shop-options,.cash-shop-sockets,.cash-shop-four,.cash-shop-file-grid{grid-template-columns:1fr}.cash-shop-shopfront{grid-column:auto} }

.admin-body :focus-visible {
    outline: 2px solid var(--admin-primary);
    outline-offset: 2px;
}

/* Grid items formerly used an inset shadow as their only frame. */
.character-grid-item {
    border: 1px solid #91816a;
}

.character-grid-item:hover,
.character-grid-item:focus-visible {
    border-color: #fbbf24;
}

.character-grid-item.is-layout-conflict {
    border-color: #f87171;
}


/* Cash Shop Editor: the board is the primary workspace; package editing happens in dialogs. */
.cash-shop-board {
    position: relative;
    /* width: min(100%, 910px); */
    min-height: 640px;
    margin: 0 auto;
    overflow: visible;
    border: 1px solid var(--admin-border-strong);
    border-radius: var(--admin-radius-md);
    background: var(--admin-surface);
}

.cash-shop-board__toolbar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    min-height: 58px;
    align-items: center;
    gap: 14px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--admin-border);
    background: var(--admin-soft-surface);
}
.cash-shop-file-menu summary{min-width: 160px;}
.cash-shop-file-menu { position: relative; }
.cash-shop-file-menu summary,
.cash-shop-settings-button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-sm);
    padding: 0 11px;
    color: var(--admin-text);
    background: var(--admin-surface);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}
.cash-shop-file-menu summary::-webkit-details-marker { display: none; }
.cash-shop-file-menu summary:hover,
.cash-shop-file-menu[open] summary,
.cash-shop-settings-button:hover { border-color: var(--admin-primary); color: var(--admin-primary); }
.cash-shop-file-menu__items {
    position: absolute;
    z-index: 20;
    top: calc(100% + 7px);
    left: 0;
    display: grid;
    width: 184px;
    overflow: hidden;
    border: 1px solid var(--admin-border-strong);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-surface);
}
.cash-shop-file-menu__items button,
.cash-shop-file-menu__items label,
.cash-shop-file-menu__items a {
    display: flex;
    min-height: 36px;
    align-items: center;
    gap: 9px;
    border: 0;
    border-bottom: 1px solid var(--admin-border);
    padding: 0 12px;
    color: var(--admin-text);
    background: transparent;
    font: inherit;
    font-size: 13px;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}
.cash-shop-file-menu__items > :last-child { border-bottom: 0; }
.cash-shop-file-menu__items button:hover,
.cash-shop-file-menu__items label:hover,
.cash-shop-file-menu__items a:hover { color: var(--admin-primary); background: var(--admin-soft-surface); }
.cash-shop-file-menu__items i { width: 14px; color: var(--admin-primary); text-align: center; }

.cash-shop-board__status {
    min-width: 0;
    color: var(--admin-muted);
    font-size: 13px;
    font-weight: 600;
}
.cash-shop-board__status span.is-danger { color: var(--admin-danger); }
.cash-shop-settings-button { width: 38px; justify-content: center; padding: 0; }

.cash-shop-board__shop-tabs {
    display: flex;
    justify-content: center;
    gap: 0;
    padding: 18px 18px 0;
}
.cash-shop-board__shop-tabs button {
    min-width: 132px;
    min-height: 38px;
    border: 1px solid var(--admin-border-strong);
    border-right-width: 0;
    padding: 0 14px;
    color: var(--admin-muted);
    background: var(--admin-soft-surface);
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
}
.cash-shop-board__shop-tabs button:first-child { border-radius: var(--admin-radius-sm) 0 0 var(--admin-radius-sm); }
.cash-shop-board__shop-tabs button:last-child { border-right-width: 1px; border-radius: 0 var(--admin-radius-sm) var(--admin-radius-sm) 0; }
.cash-shop-board__shop-tabs button:hover { color: var(--admin-text); }
.cash-shop-board__shop-tabs button.is-active { position: relative; z-index: 1; border-color: var(--admin-primary); color: #fff; background: var(--admin-primary); }

.cash-shop-board__content {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 18px;
    min-height: 504px;
    padding: 18px;
}
.cash-shop-category-rail {
    display: grid;
    align-content: start;
    gap: 9px;
    padding-top: 8px;
}
.cash-shop-category-rail button {
    min-height: 40px;
    border: 1px solid var(--admin-border-strong);
    border-radius: var(--admin-radius-sm);
    padding: 0 10px;
    color: var(--admin-text);
    background: var(--admin-surface);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
}
.cash-shop-category-rail button:hover { border-color: var(--admin-primary); }
.cash-shop-category-rail button.is-active { border-color: var(--admin-primary); color: #fff; background: var(--admin-primary); }

.cash-shop-package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    align-content: stretch;
    gap: 13px;
}
.cash-shop-package-slot {
    display: grid;
    min-height: 145px;
    place-items: center;
    align-content: center;
    gap: 7px;
    overflow: hidden;
    border: 1px solid var(--admin-border-strong);
    border-radius: var(--admin-radius-sm);
    padding: 12px;
    color: var(--admin-text);
    background: var(--admin-soft-surface);
    font: inherit;
    cursor: pointer;
}
.cash-shop-package-slot:hover,
.cash-shop-package-slot:focus-visible { border-color: var(--admin-primary); background: var(--admin-surface); outline: none; }
.cash-shop-package-slot.is-empty {
    color: var(--admin-muted);
    border-style: dashed;
    background: transparent;
}
.cash-shop-package-slot.is-empty i { font-size: 18px; }
.cash-shop-package-slot.is-empty span { font-size: 11px; font-weight: 650; }
.cash-shop-package-slot img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    image-rendering: pixelated;
}
.cash-shop-package-slot strong,
.cash-shop-package-slot span {
    display: block;
    width: 100%;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.25;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cash-shop-package-slot strong { font-weight: 750; }
.cash-shop-package-slot > span { color: var(--admin-primary); font-size: 11px; font-variant-numeric: tabular-nums; }

.cash-shop-board__pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 0 18px 20px;
    margin-left: 172px;
}
.cash-shop-board__pagination button {
    display: grid;
    width: 34px;
    height: 30px;
    place-items: center;
    border: 1px solid var(--admin-border-strong);
    border-radius: var(--admin-radius-sm);
    color: var(--admin-text);
    background: var(--admin-surface);
    cursor: pointer;
}
.cash-shop-board__pagination button:hover:not(:disabled) { border-color: var(--admin-primary); color: var(--admin-primary); }
.cash-shop-board__pagination button:disabled { opacity: .45; cursor: not-allowed; }
.cash-shop-board__pagination span {
    min-width: 58px;
    color: var(--admin-text);
    font-size: 12px;
    font-weight: 750;
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.cash-shop-context-menu {
    position: fixed;
    z-index: 50;
    width: 168px;
    overflow: hidden;
    border: 1px solid var(--admin-border-strong);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-surface);
}
.cash-shop-context-menu button {
    display: flex;
    width: 100%;
    min-height: 36px;
    align-items: center;
    gap: 8px;
    border: 0;
    border-bottom: 1px solid var(--admin-border);
    padding: 0 12px;
    color: var(--admin-text);
    background: transparent;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}
.cash-shop-context-menu button:last-child { border-bottom: 0; color: var(--admin-danger); }
.cash-shop-context-menu button:hover { background: var(--admin-soft-surface); }

.cash-shop-modal {
    width: min(100% - 32px, 1040px);
    max-height: min(850px, calc(100vh - 32px));
    overflow: auto;
    border: 1px solid var(--admin-border-strong);
    border-radius: var(--admin-radius-md);
    padding: 0;
    color: var(--admin-text);
    background: var(--admin-surface);
}
.cash-shop-modal::backdrop { background: rgba(3, 12, 26, .72); }
.cash-shop-modal__frame { display: grid; gap: 18px; padding: 20px; }
.cash-shop-modal__header,
.cash-shop-modal__footer {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}
.cash-shop-modal__header { padding-bottom: 14px; border-bottom: 1px solid var(--admin-border); }
.cash-shop-modal__header h2 { margin: 3px 0 0; font-size: 21px; }
.cash-shop-modal__footer { padding-top: 14px; border-top: 1px solid var(--admin-border); color: var(--admin-muted); font-size: 12px; }
.cash-shop-modal__footer > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.cash-shop-package-editor { display: grid; grid-template-columns: minmax(215px, .55fr) minmax(0, 1fr); gap: 18px; }
.cash-shop-item-picker {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-soft-surface);
}
.cash-shop-item-picker > div {
    display: grid;
    max-height: 480px;
    gap: 4px;
    overflow: auto;
}
.cash-shop-picker-item {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
    border: 1px solid transparent;
    border-radius: var(--admin-radius-sm);
    padding: 7px;
    color: var(--admin-text);
    background: transparent;
    text-align: left;
    cursor: pointer;
}
.cash-shop-picker-item:hover,
.cash-shop-picker-item.is-selected { border-color: var(--admin-primary); background: var(--admin-surface); }
.cash-shop-picker-item img { width: 34px; height: 34px; flex: 0 0 auto; object-fit: contain; image-rendering: pixelated; }
.cash-shop-picker-item span { min-width: 0; }
.cash-shop-picker-item strong,
.cash-shop-picker-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cash-shop-picker-item strong { font-size: 12px; }
.cash-shop-picker-item small { margin-top: 2px; color: var(--admin-muted); font-size: 11px; }
.cash-shop-package-fields { display: grid; align-content: start; gap: 12px; min-width: 0; }
.cash-shop-two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cash-shop-four-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cash-shop-modal-options { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: end; gap: 10px; }
.cash-shop-sockets { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.cash-shop-settings-modal { width: min(100% - 32px, 620px); }
.cash-shop-settings-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cash-shop-settings-summary div { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); background: var(--admin-soft-surface); }
.cash-shop-settings-summary strong { color: var(--admin-primary); font-size: 24px; font-variant-numeric: tabular-nums; }
.cash-shop-settings-summary span { color: var(--admin-muted); font-size: 12px; font-weight: 650; }
.cash-shop-confirm-modal { width: min(100% - 32px, 470px); }
.cash-shop-confirm-modal p { margin: 0; color: var(--admin-muted); line-height: 1.5; }

@media (max-width: 740px) {
    .cash-shop-board { min-height: 0; }
    .cash-shop-board__toolbar { grid-template-columns: auto 1fr auto; }
    .cash-shop-file-menu summary span { display: none; }
    .cash-shop-board__shop-tabs { padding-inline: 10px; }
    .cash-shop-board__shop-tabs button { min-width: 0; flex: 1; padding-inline: 6px; font-size: 12px; }
    .cash-shop-board__content { grid-template-columns: 1fr; gap: 12px; padding: 12px; }
    .cash-shop-board__pagination { margin-left: 0;}
    .cash-shop-file-menu summary {min-width: 0;}
    .cash-shop-category-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 0; }
    .cash-shop-category-rail button { padding-inline: 6px; font-size: 12px; }
    .cash-shop-package-grid { gap: 8px; }
    .cash-shop-package-slot { min-height: 112px; padding: 7px; }
    .cash-shop-package-slot img { width: 48px; height: 48px; }
    .cash-shop-package-slot strong { font-size: 11px; }
    .cash-shop-package-editor { grid-template-columns: 1fr; }
    .cash-shop-item-picker > div { max-height: 210px; }
    .cash-shop-four-columns,
    .cash-shop-modal-options,
    .cash-shop-sockets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cash-shop-modal__footer { align-items: flex-start; flex-direction: column; }
    .cash-shop-modal__footer > div { width: 100%; }
    .cash-shop-modal__footer button { flex: 1; justify-content: center; }
}

@media (max-width: 440px) {
    .cash-shop-board__status { font-size: 11px; }
    .cash-shop-two-columns,
    .cash-shop-four-columns,
    .cash-shop-modal-options,
    .cash-shop-sockets,
    .cash-shop-settings-summary { grid-template-columns: 1fr; }
    .cash-shop-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Cash Shop board refinements: command row, transient toast, and category management. */
.cash-shop-board__command-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 28px 18px 18px;
    border-bottom: 1px solid var(--admin-border-strong);
}
.cash-shop-board__command-row .cash-shop-file-menu { justify-self: start; }
.cash-shop-board__command-row .cash-shop-settings-button { justify-self: end; }
.cash-shop-board__command-row .cash-shop-board__shop-tabs { padding: 0; margin-left: 172px; }
.cash-shop-toast {
    position: fixed;
    z-index: 100;
    top: 18px;
    right: 18px;
    max-width: min(420px, calc(100vw - 36px));
    border: 1px solid var(--admin-primary);
    border-radius: var(--admin-radius-sm);
    padding: 11px 14px;
    color: var(--admin-text);
    background: var(--admin-surface);
    font-size: 13px;
    font-weight: 650;
}
.cash-shop-toast.is-danger { border-color: var(--admin-danger); color: var(--admin-danger); }
.cash-shop-category-modal { width: min(100% - 32px, 470px); }

@media (max-width: 740px) {
    .cash-shop-board__command-row { padding: 12px 12px 12px; gap: 8px; }
    .cash-shop-board__command-row .cash-shop-board__shop-tabs { min-width: 0; margin-left: 0; }
    .cash-shop-toast { top: 12px; right: 12px; }
}

/* Cash Shop editor: refined inventory-material palette across the complete workflow. */
.cash-shop-board,
.cash-shop-modal {
    --cash-shop-ground: #151311;
    --cash-shop-recess: #100f0d;
    --cash-shop-raised: #1d1915;
    --cash-shop-hover: #252019;
    --cash-shop-line: #3d3730;
    --cash-shop-frame: #574b40;
    --cash-shop-text: #f1eadf;
    --cash-shop-muted: #b8b0a7;
    --cash-shop-gold: #fbbf24;
    color-scheme: dark;
    color: var(--cash-shop-text);
}

.cash-shop-board {
    border-color: var(--cash-shop-frame);
    background: var(--cash-shop-ground);
}
.cash-shop-board__command-row {
    border-bottom-color: var(--cash-shop-frame);
    background: var(--cash-shop-raised);
    border-radius: 8px 8px 0 0;
}
.cash-shop-board__content { background: var(--cash-shop-ground); }
/* .cash-shop-category-rail { border-right: 1px solid var(--cash-shop-frame); } */

.cash-shop-file-menu summary,
.cash-shop-settings-button,
.cash-shop-board__shop-tabs button,
.cash-shop-category-rail button,
.cash-shop-board__pagination button {
    border-color: var(--cash-shop-line);
    border-radius: 0;
    color: var(--cash-shop-text);
    background: var(--cash-shop-recess);
}
.cash-shop-file-menu summary:hover,
.cash-shop-file-menu[open] summary,
.cash-shop-settings-button:hover,
.cash-shop-board__shop-tabs button:hover,
.cash-shop-category-rail button:hover,
.cash-shop-board__pagination button:hover:not(:disabled) {
    border-color: #c8b99a;
    color: var(--cash-shop-gold);
    background: var(--cash-shop-hover);
}
.cash-shop-board__shop-tabs button.is-active,
.cash-shop-category-rail button.is-active {
    border-color: var(--cash-shop-gold);
    color: var(--cash-shop-gold);
    background: #332d1d;
    border: 1px solid;
}
.cash-shop-file-menu summary:focus-visible,
.cash-shop-settings-button:focus-visible,
.cash-shop-board__shop-tabs button:focus-visible,
.cash-shop-category-rail button:focus-visible,
.cash-shop-board__pagination button:focus-visible,
.cash-shop-package-slot:focus-visible {
    outline: 2px solid #f7d979;
    outline-offset: 2px;
}

.cash-shop-package-grid {
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--cash-shop-frame);
    background: var(--cash-shop-ground);
}
.cash-shop-package-slot {
    border-color: var(--cash-shop-line);
    border-radius: 0;
    color: var(--cash-shop-text);
    background: var(--cash-shop-recess);
}
.cash-shop-package-slot.is-empty {
    color: var(--cash-shop-muted);
    border-style: solid;
    background: var(--cash-shop-recess);
}
.cash-shop-package-slot:hover,
.cash-shop-package-slot:focus-visible {
    border-color: #c8b99a;
    background: var(--cash-shop-hover);
}
.cash-shop-package-slot > span { color: var(--cash-shop-gold); }
.cash-shop-board__pagination span { color: var(--cash-shop-text); }
.cash-shop-board__pagination button:disabled {
    opacity: 1;
    border-color: #28241f;
    color: #625b52;
    background: #13110f;
}

.cash-shop-file-menu__items,
.cash-shop-context-menu {
    border-color: var(--cash-shop-frame);
    border-radius: 0;
    background: var(--cash-shop-ground);
}
.cash-shop-file-menu__items button,
.cash-shop-file-menu__items label,
.cash-shop-file-menu__items a,
.cash-shop-context-menu button {
    border-bottom-color: var(--cash-shop-line);
    color: var(--cash-shop-text);
}
.cash-shop-file-menu__items button:hover,
.cash-shop-file-menu__items label:hover,
.cash-shop-file-menu__items a:hover,
.cash-shop-context-menu button:hover {
    color: var(--cash-shop-gold);
    background: var(--cash-shop-hover);
}
.cash-shop-file-menu__items i { color: var(--cash-shop-gold); }

.cash-shop-modal {
    border-color: var(--cash-shop-frame);
    background: var(--cash-shop-ground);
}
.cash-shop-modal::backdrop { background: rgba(8, 7, 5, .78); }
.cash-shop-modal__header,
.cash-shop-modal__footer { border-color: var(--cash-shop-line); }
.cash-shop-modal__footer,
.cash-shop-modal .muted-copy { color: var(--cash-shop-muted); }
.cash-shop-item-picker,
.cash-shop-settings-summary div {
    border-color: var(--cash-shop-line);
    border-radius: 0;
    background: var(--cash-shop-recess);
}
.cash-shop-picker-item {
    color: var(--cash-shop-text);
    border-radius: 0;
}
.cash-shop-picker-item:hover,
.cash-shop-picker-item.is-selected {
    border-color: #c8b99a;
    background: var(--cash-shop-hover);
}
.cash-shop-modal .admin-input,
.cash-shop-modal .toggle-field {
    border-color: var(--cash-shop-line);
    color: var(--cash-shop-text);
    background: var(--cash-shop-recess);
    box-shadow: none;
}
.cash-shop-modal .admin-input::placeholder { color: #847c71; }
.cash-shop-modal .admin-input:hover { border-color: #8b7c64; }
.cash-shop-modal .admin-input:focus {
    border-color: var(--cash-shop-gold);
    background: var(--cash-shop-hover);
    box-shadow: none;
    outline: 2px solid rgba(251, 191, 36, .26);
    outline-offset: 1px;
}
.cash-shop-modal .toggle-field__track { background: #3a342c; }
.cash-shop-modal .toggle-field input:checked ~ .toggle-field__track { background: #6c542e; }
.cash-shop-modal .toggle-field input:focus-visible ~ .toggle-field__track {
    outline: 2px solid #f7d979;
    outline-offset: 2px;
}
.cash-shop-modal .admin-secondary-button {
    border-color: var(--cash-shop-line);
    color: var(--cash-shop-text);
    background: var(--cash-shop-recess);
}
.cash-shop-modal .admin-secondary-button:hover,
.cash-shop-modal .admin-secondary-button:focus-visible {
    border-color: #c8b99a;
    color: var(--cash-shop-gold);
    background: var(--cash-shop-hover);
}
.cash-shop-modal .admin-primary-button {
    color: #fff6df;
    background: #5c4729;
}
.cash-shop-modal .admin-primary-button:hover,
.cash-shop-modal .admin-primary-button:focus-visible { background: #715731; }
.cash-shop-modal .admin-icon-button {
    border-color: var(--cash-shop-line);
    color: var(--cash-shop-text);
    background: var(--cash-shop-recess);
}
.cash-shop-modal .admin-icon-button:hover,
.cash-shop-modal .admin-icon-button:focus-visible {
    border-color: #c8b99a;
    color: var(--cash-shop-gold);
    background: var(--cash-shop-hover);
}
.cash-shop-settings-summary strong { color: var(--cash-shop-gold); }
.cash-shop-toast {
    border-color: var(--cash-shop-frame);
    border-radius: 0;
    color: var(--cash-shop-text);
    background: var(--cash-shop-raised);
}

/* Category management stays discoverable without restoring a context menu. */
.cash-shop-category-rail .cash-shop-category-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-style: dashed;
    color: var(--cash-shop-muted);
}
.cash-shop-category-rail .cash-shop-category-add:hover,
.cash-shop-category-rail .cash-shop-category-add:focus-visible {
    color: var(--cash-shop-gold);
}
.cash-shop-modal [data-cash-shop-category-delete][disabled] {
    opacity: .42;
    cursor: not-allowed;
}

/* The dark-admin form defaults are more specific than the editor surface; keep Cash Shop dialogs material-consistent. */
body.admin-body .cash-shop-modal .admin-input,
:root[data-theme="dark"] .cash-shop-modal .admin-input,
:root:not([data-theme="light"]) .cash-shop-modal .admin-input,
body.admin-body .cash-shop-modal .toggle-field,
:root[data-theme="dark"] .cash-shop-modal .toggle-field,
:root:not([data-theme="light"]) .cash-shop-modal .toggle-field,
body.admin-body .cash-shop-modal .character-item-excellent,
body.admin-body .cash-shop-modal .character-item-sockets {
    border-color: var(--cash-shop-line);
    color: var(--cash-shop-text);
    background: var(--cash-shop-recess);
    box-shadow: none;
}
body.admin-body .cash-shop-modal .character-item-excellent,
body.admin-body .cash-shop-modal .character-item-sockets {
    border-radius: 0;
}
body.admin-body .cash-shop-modal .admin-input:hover { border-color: #8b7c64; }
body.admin-body .cash-shop-modal .admin-input:focus,
:root[data-theme="dark"] .cash-shop-modal .admin-input:focus,
:root:not([data-theme="light"]) .cash-shop-modal .admin-input:focus {
    border-color: var(--cash-shop-gold);
    color: var(--cash-shop-text);
    background: var(--cash-shop-hover);
    box-shadow: none;
    outline: 2px solid rgba(251, 191, 36, .26);
    outline-offset: 1px;
}
body.admin-body .cash-shop-modal .toggle-field__track { background: #3a342c; }
body.admin-body .cash-shop-modal .toggle-field input:checked ~ .toggle-field__track { background: #6c542e; }

body.admin-body .cash-shop-modal .admin-secondary-button,
:root[data-theme="dark"] .cash-shop-modal .admin-secondary-button,
:root:not([data-theme="light"]) .cash-shop-modal .admin-secondary-button,
body.admin-body .cash-shop-modal .admin-icon-button,
:root[data-theme="dark"] .cash-shop-modal .admin-icon-button,
:root:not([data-theme="light"]) .cash-shop-modal .admin-icon-button {
    border-color: var(--cash-shop-line);
    color: var(--cash-shop-text);
    background: var(--cash-shop-recess);
    box-shadow: none;
}
body.admin-body .cash-shop-modal .admin-secondary-button:hover,
body.admin-body .cash-shop-modal .admin-secondary-button:focus-visible,
body.admin-body .cash-shop-modal .admin-icon-button:hover,
body.admin-body .cash-shop-modal .admin-icon-button:focus-visible {
    border-color: #c8b99a;
    color: var(--cash-shop-gold);
    background: var(--cash-shop-hover);
    box-shadow: none;
}

/* Package editor: keep preview chrome and item controls in the same material system. */
body.admin-body .cash-shop-modal .character-item-preview,
:root[data-theme="dark"] .cash-shop-modal .character-item-preview,
:root:not([data-theme="light"]) .cash-shop-modal .character-item-preview {
    border-color: var(--cash-shop-line);
    border-radius: 0;
    color: var(--cash-shop-text);
    background: var(--cash-shop-recess);
}
body.admin-body .cash-shop-modal .character-item-preview__image,
:root[data-theme="dark"] .cash-shop-modal .character-item-preview__image,
:root:not([data-theme="light"]) .cash-shop-modal .character-item-preview__image {
    border-color: var(--cash-shop-frame);
    background: #17140f;
}
body.admin-body .cash-shop-modal .character-item-preview strong { color: var(--cash-shop-text); }
body.admin-body .cash-shop-modal .character-item-preview small { color: var(--cash-shop-muted); }

.cash-shop-modal .cash-shop-modal-options {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: start;
    gap: 12px;
}
.cash-shop-modal .cash-shop-modal-options > .toggle-field:nth-child(1),
.cash-shop-modal .cash-shop-modal-options > .toggle-field:nth-child(2) {
    grid-column: span 3;
    min-width: 0;
}
.cash-shop-modal .cash-shop-modal-options > .field-stack {
    grid-column: span 2;
    min-width: 0;
}
.cash-shop-modal .cash-shop-modal-options > .field-stack .admin-input {
    width: 100%;
    min-width: 0;
}

@media (max-width: 740px) {
    .cash-shop-modal .cash-shop-modal-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cash-shop-modal .cash-shop-modal-options > .toggle-field:nth-child(1),
    .cash-shop-modal .cash-shop-modal-options > .toggle-field:nth-child(2),
    .cash-shop-modal .cash-shop-modal-options > .field-stack { grid-column: span 1; }
}
@media (max-width: 440px) {
    .cash-shop-modal .cash-shop-modal-options { grid-template-columns: 1fr; }
}

/* Modal controls must retain their requested state even when shared button rules apply. */
.cash-shop-modal [data-cash-shop-category-delete][hidden] { display: none !important; }

body.admin-body .cash-shop-modal .toggle-field__track span,
:root[data-theme="dark"] .cash-shop-modal .toggle-field__track span,
:root:not([data-theme="light"]) .cash-shop-modal .toggle-field__track span {
    background: #eee4d0;
    box-shadow: none;
}
body.admin-body .cash-shop-modal .toggle-field input:checked ~ .toggle-field__track span,
:root[data-theme="dark"] .cash-shop-modal .toggle-field input:checked ~ .toggle-field__track span,
:root:not([data-theme="light"]) .cash-shop-modal .toggle-field input:checked ~ .toggle-field__track span {
    background: #fff8e8;
}

.admin-input-action {
    display: flex;
    gap: 0.75rem;
}

.admin-input-action .admin-input {
    min-width: 0;
    flex: 1;
}

.admin-input-action .admin-secondary-button {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 560px) {
    .admin-input-action {
        align-items: stretch;
        flex-direction: column;
    }
}

.tool-availability-form { margin: 0; }
.tool-availability-toggle { border: 0; cursor: pointer; font: inherit; }
.tool-availability-toggle .toggle-field__track { background: var(--admin-border-strong); }
.tool-availability-toggle.is-enabled .toggle-field__track { background: var(--admin-primary); }
.tool-availability-toggle:focus-visible { outline: 2px solid var(--admin-primary); outline-offset: 2px; }

/* Server Manager. */
.server-manager-heading .admin-secondary-button { flex: 0 0 auto; }
.server-manager-heading__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.server-manager-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.server-manager-summary > div { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-md); background: var(--admin-surface); font-size: 13px; color: var(--admin-muted); }
.server-manager-summary strong { color: var(--admin-text); font-size: 18px; font-variant-numeric: tabular-nums; }
.server-manager-summary p { margin: 0 0 0 auto; color: var(--admin-muted); font-size: 12px; }
.server-manager-summary__dot { width: 8px; height: 8px; border-radius: 50%; }
.server-manager-summary__dot--online { background: var(--admin-green); }
.server-manager-summary__dot--offline { background: var(--admin-red); }
.server-manager-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.server-manager-card { min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.server-manager-card__top { display: flex; justify-content: space-between; align-items: flex-start; }
.server-manager-card__identity .section-label { margin: 0 0 5px; }
.server-manager-card__identity h2 { margin: 0; }
.server-manager-card__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.server-manager-card__stats div { min-width: 0; padding: 12px 14px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); background: var(--admin-bg); }
.server-manager-card__stats dt { color: var(--admin-muted); font-size: 12px; }
.server-manager-card__stats dd { margin: 6px 0 0; color: var(--admin-text); font-size: 15px; font-weight: 750; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.server-manager-card__command { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--admin-border); }
.server-manager-card__command label { display: block; margin-bottom: 8px; color: var(--admin-text); font-size: 13px; font-weight: 750; }
.server-manager-card__command-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.server-manager-card__command select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--admin-border-strong); border-radius: var(--admin-radius-sm); background: var(--admin-input-bg); color: var(--admin-text); font: inherit; }
.server-manager-card__command .admin-primary-button { width: auto; box-shadow: none; }
.server-manager-card__command p { margin: 10px 0 0; color: var(--admin-muted); font-size: 12px; line-height: 1.5; }
.server-manager-empty { grid-column: 1 / -1; text-align: center; }
.server-manager-empty .card-icon { margin: 0 auto 14px; }
.server-manager-empty p { max-width: 50ch; margin: 8px auto 0; color: var(--admin-muted); }
.server-manager-history .admin-table { min-width: 780px; }
.server-manager-history time { font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 820px) { .server-manager-grid { grid-template-columns: 1fr; } .server-manager-summary p { flex-basis: 100%; margin: 0; } }
@media (max-width: 520px) { .server-manager-heading { align-items: flex-start; flex-direction: column; } .server-manager-card__stats, .server-manager-card__command-row { grid-template-columns: 1fr; } .server-manager-card__command .admin-primary-button { width: 100%; } }
.tool-availability-toggle.is-enabled .toggle-field__track span { transform: translateX(17px); }


.totp-qr { display: flex; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--admin-border-strong); border-radius: var(--admin-radius-sm); background: var(--admin-bg); }
.totp-qr[hidden] { display: none; }
.totp-qr img { width: 144px; height: 144px; padding: 8px; border-radius: var(--admin-radius-sm); background: #fff; }
.totp-qr p { margin: 4px 0 12px; }
@media (max-width: 560px) { .totp-qr { align-items: flex-start; flex-direction: column; } }

/* Capability-gated item controls remain visible but clearly unavailable. */
.character-item-panel .admin-input:disabled,
.character-item-panel .admin-select:disabled {
    color: var(--admin-muted);
    background: var(--admin-surface-soft);
    border-color: var(--admin-border);
    border-style: dashed;
    opacity: .62;
    cursor: not-allowed;
}

.character-item-panel .toggle-field:has(input:disabled),
.character-item-panel .character-item-excellent label:has(input:disabled) {
    opacity: .5;
    cursor: not-allowed;
}

.character-item-panel .toggle-field:has(input:disabled) .toggle-field__track {
    background: var(--admin-surface-soft);
    border-color: var(--admin-border);
}

/* Character configuration editor. */
.character-config { display: grid; gap: 18px; }
.character-config__heading { margin-bottom: 0; }
.character-config__heading .admin-secondary-button { flex: 0 0 auto; }
.character-config__top { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); gap: 18px; }
.character-config__top > .admin-panel { min-width: 0; }
.character-config__server-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; }
.character-config__server { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 14px 16px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-md); color: var(--admin-text); text-decoration: none; }
.character-config__server:hover, .character-config__server:focus-visible { border-color: var(--admin-border-strong); background: var(--admin-surface-soft); }
.character-config__server.is-selected { border-color: var(--admin-blue); background: var(--admin-surface-soft); }
.character-config__server > span:first-child, .character-config__config-choice > span { display: grid; gap: 4px; min-width: 0; }
.character-config__server small, .character-config__config-choice small { color: var(--admin-muted); overflow-wrap: anywhere; }
.character-config__config-list { margin: 0; padding: 0; list-style: none; }
.character-config__config-choice { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 16px 18px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-md); }
.character-config__config-choice .admin-primary-button { width: auto; white-space: nowrap; }
.character-config__help { margin: 0 0 16px; color: var(--admin-muted); font-size: 13px; line-height: 1.55; }
.character-config__group { margin-top: 10px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); overflow: hidden; }
.character-config__group summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; color: var(--admin-text); background: var(--admin-bg); cursor: pointer; }
.character-config__group summary span { color: var(--admin-muted); font-size: 12px; }
.character-config__group[open] summary { border-bottom: 1px solid var(--admin-border); }
.character-config__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.character-config__field { display: grid; grid-template-columns: minmax(0, 1fr) 118px; align-items: center; gap: 16px; min-width: 0; padding: 14px 18px; border-bottom: 1px solid var(--admin-border); }
.character-config__field:nth-child(odd) { border-right: 1px solid var(--admin-border); }
.character-config__field-copy, .character-config__field-value { display: flex; flex-direction: column; min-width: 0; gap: 4px; }
.character-config__field-copy strong { color: var(--admin-text); font-size: 13px; }
.character-config__field-copy small, .character-config__field-value small { color: var(--admin-muted); font-size: 11px; line-height: 1.4; }
.character-config__field-copy code { color: var(--admin-muted); font-size: 10px; overflow-wrap: anywhere; }
.character-config__field-value .admin-input { width: 100%; min-width: 0; text-align: right; font-variant-numeric: tabular-nums; }
.character-config__editor-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding-top: 18px; }
.character-config__editor-actions span { color: var(--admin-muted); font-size: 12px; }
.character-config__review .admin-table { min-width: 500px; }
.character-config__bottom { min-width: 0; }
.character-config__bottom > .admin-panel { min-width: 0; }
.character-config__bottom .admin-table { min-width: 520px; }
.character-config__reload-badge { margin-left: 6px; }
.character-config__agent-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.character-config__agent-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); }
.character-config__agent-list li span { display: grid; gap: 3px; min-width: 0; }
.character-config__agent-list li small { color: var(--admin-muted); }
.character-config__agent-list li form { flex: 0 0 auto; }
.character-config__dialog { width: min(520px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 24px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-lg); background: var(--admin-surface); color: var(--admin-text); box-shadow: 0 24px 70px rgb(0 0 0 / 25%); overflow: auto; }
.character-config__dialog::backdrop { background: rgb(5 12 25 / 72%); }
.character-config__dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.character-config__dialog-heading h2 { margin: 0; }
.character-config__dialog p { color: var(--admin-muted); line-height: 1.5; }
.character-config__dialog label:not(.character-config__confirm) { display: block; margin: 18px 0 8px; font-weight: 700; }
.character-config__dialog .admin-select { display: block; width: 100%; min-height: 44px; padding: 0 38px 0 12px; border: 1px solid var(--admin-border-strong); border-radius: var(--admin-radius-sm); background: var(--admin-surface); color: var(--admin-text); color-scheme: light; font: inherit; cursor: pointer; }
:root[data-theme="dark"] .character-config__dialog .admin-select { color-scheme: dark; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .character-config__dialog .admin-select { color-scheme: dark; } }
.character-config__dialog .admin-select:focus-visible { outline: 2px solid var(--admin-blue); outline-offset: 2px; }
.character-config__dialog .admin-select option { background: var(--admin-surface); color: var(--admin-text); }
.character-config__dialog-help { margin: 7px 0 0; font-size: 12px; }
.character-config__confirm { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; line-height: 1.4; cursor: pointer; }
.character-config__confirm input { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--admin-blue); cursor: pointer; }
.character-config__confirm input:focus-visible { outline: 2px solid var(--admin-blue); outline-offset: 3px; }
.character-config__confirm span { color: var(--admin-text); }
.character-config__dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.character-config__pair-values { display: grid; gap: 7px; margin: 18px 0; }
.character-config__pair-values dt { color: var(--admin-muted); font-size: 12px; font-weight: 700; }
.character-config__pair-values dd { margin: 0 0 8px; padding: 10px 12px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-sm); overflow-wrap: anywhere; user-select: all; }
@media (max-width: 1100px) { .character-config__fields { grid-template-columns: 1fr; } .character-config__field:nth-child(odd) { border-right: 0; } }
@media (max-width: 800px) { .character-config__top { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .character-config__field { grid-template-columns: minmax(0, 1fr) 90px; gap: 8px; padding: 12px; } .character-config__heading { flex-direction: column; align-items: flex-start; } .character-config__config-choice { grid-template-columns: 1fr; } .character-config__config-choice .admin-primary-button { justify-self: start; } }
/* Manual top-up review keeps payment evidence and the decision together. */
.manual-topup-order { margin-bottom: 1rem; }
.manual-topup-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .85rem 1.25rem; margin: 1.25rem 0; }
.manual-topup-facts div { min-width: 0; }
.manual-topup-facts dt { color: var(--text-muted, #94a3b8); font-size: .8rem; }
.manual-topup-facts dd { margin: .25rem 0 0; overflow-wrap: anywhere; font-weight: 700; }
.manual-topup-actions { display: flex; flex-wrap: wrap; gap: 1rem; border-top: 1px solid var(--border, #334155); padding-top: 1rem; }
.manual-topup-actions form { flex: 1 1 260px; display: grid; gap: .75rem; align-content: start; }
.manual-topup-verify { display: flex; gap: .5rem; align-items: flex-start; line-height: 1.4; }
.manual-topup-verify input { margin-top: .2rem; flex: none; }

.nowpayments-order-search { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin: 1.25rem 0; }
.nowpayments-order-search .field-stack { flex: 1 1 280px; max-width: 460px; }
.nowpayments-order-search .admin-primary-button { width: auto; min-width: 120px; }
.nowpayments-order-table { min-width: 920px; }
.nowpayments-order-table th, .nowpayments-order-table td { vertical-align: top; }
.nowpayments-order-id { overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) {
    .nowpayments-order-search .field-stack { max-width: none; }
    .nowpayments-order-search .admin-primary-button { width: 100%; }
}
