:root,
:root[data-theme="dark"] {
    --ui-bg: #080f19;
    --ui-sidebar: #0d1727;
    --ui-topbar: #101b2c;
    --ui-card: #121e30;
    --ui-card-soft: #162337;
    --ui-border: #273750;
    --ui-border-strong: #3b4e6a;
    --ui-text: #f4f7ff;
    --ui-text-soft: #c6d0e3;
    --ui-muted: #83a0c6;
    --ui-primary: #7c70f6;
    --ui-primary-hover: #9389ff;
    --ui-primary-soft: rgba(124, 112, 246, .17);
    --ui-green: #36d399;
    --ui-orange: #f5a742;
    --ui-coral: #ff6577;
    --ui-cyan: #52b8f4;
    --ui-shadow-soft: 0 12px 32px rgba(0, 0, 0, .16);
}

:root[data-theme="light"] {
    --ui-bg: #f5f7fb;
    --ui-sidebar: #f8f9fd;
    --ui-topbar: #ffffff;
    --ui-card: #ffffff;
    --ui-card-soft: #f3f5fa;
    --ui-border: #dbe1ec;
    --ui-border-strong: #bdc8da;
    --ui-text: #17223a;
    --ui-text-soft: #3b4b68;
    --ui-muted: #667795;
    --ui-primary: #685de8;
    --ui-primary-hover: #5549d8;
    --ui-primary-soft: rgba(104, 93, 232, .11);
}

* { box-sizing: border-box; }
body { background: var(--ui-bg); color: var(--ui-text); }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.admin-shell-body { grid-template-columns: 204px minmax(0, 1fr) !important; min-height: 100vh; background: var(--ui-bg); transition: grid-template-columns .2s ease; }
.admin-sections { width: 204px !important; border-right: 1px solid var(--ui-border) !important; background: var(--ui-sidebar) !important; transition: width .2s ease; }
.admin-sections-head { position: relative; min-height: 62px !important; padding: 12px 12px !important; gap: 10px !important; border-bottom: 1px solid var(--ui-border) !important; }
.admin-brand-mark { display: grid !important; width: 31px !important; height: 31px !important; flex: 0 0 31px; place-items: center; border-radius: 9px !important; background: var(--ui-primary) !important; color: #fff !important; font-size: 13px; font-weight: 700; }
.admin-sections-head > strong { flex: 1; color: var(--ui-text) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0 !important; }
.admin-sections-head > strong small { display: inline !important; margin: 0 !important; color: var(--ui-text) !important; font-size: inherit !important; letter-spacing: 0 !important; }
.admin-sidebar-collapse { display: grid; width: 24px; height: 28px; flex: 0 0 24px; place-items: center; border: 1px solid var(--ui-border); border-radius: 7px; background: var(--ui-card-soft); color: var(--ui-muted); cursor: pointer; }
.admin-sections-list { padding: 10px 8px 22px !important; gap: 8px !important; }
.admin-nav-group { padding: 0 0 8px !important; border: 0 !important; border-bottom: 1px solid var(--ui-border) !important; border-radius: 0 !important; background: transparent !important; }
.admin-nav-group:last-child { border-bottom: 0 !important; }
.admin-section-item { min-height: 30px !important; padding: 5px 9px !important; color: var(--ui-primary-hover) !important; background: transparent !important; text-transform: uppercase; letter-spacing: .08em; }
.admin-section-item strong { font-size: 9px !important; font-weight: 700 !important; }
.admin-section-icon { color: var(--ui-muted) !important; }
.admin-section-icon svg { width: 14px !important; height: 14px !important; }
.admin-subsections { display: flex !important; gap: 2px !important; padding: 1px 0 0 !important; }
.admin-nav-group.collapsed .admin-subsections { display: none !important; }
.admin-section-summary { display: none !important; }
.admin-subsections > a,
.admin-subsections > span,
.admin-subsections > .planned { display: flex !important; min-height: 34px !important; padding: 7px 9px 7px 12px !important; align-items: center; gap: 9px; border-radius: 8px !important; color: var(--ui-muted) !important; font-size: 10px !important; font-weight: 500 !important; }
.admin-subsections > .planned { opacity: .55; }
.admin-subsections > .planned small { display: none !important; }
.admin-subsections > a:hover { color: var(--ui-text) !important; background: var(--ui-card-soft) !important; }
.admin-subsections > a.active { color: var(--ui-text) !important; background: #29364a !important; box-shadow: none !important; }
:root[data-theme="light"] .admin-subsections > a.active { background: var(--ui-primary-soft) !important; color: var(--ui-primary-hover) !important; }
.admin-subsection-icon { width: 15px !important; color: currentColor !important; }
.admin-subsection-icon svg { width: 14px !important; height: 14px !important; }
.topbar { min-height: 62px !important; height: 62px !important; padding: 8px 14px !important; gap: 12px !important; border-bottom: 1px solid var(--ui-border) !important; background: var(--ui-topbar) !important; }
.topbar-context { display: none !important; }
.topbar-search { order: 1; width: min(420px, 46vw) !important; height: 40px !important; margin-right: auto; border: 1px solid var(--ui-border) !important; border-radius: 9px !important; background: var(--ui-card-soft) !important; }
.topbar-search svg { color: var(--ui-muted) !important; stroke: currentColor !important; }
.topbar-search input { font-size: 11px !important; }
.topbar-page-actions { order: 2; }
.topbar-actions { order: 3; }
.topbar-profile { min-width: 112px !important; }
.topbar-environment { display: inline-flex; min-width: 38px; height: 28px; padding: 0 9px; align-items: center; justify-content: center; border-radius: 999px; background: rgba(245,167,66,.16); color: var(--ui-orange); font-size: 9px; font-weight: 700; }
.topbar-profile small { display: none !important; }
.topbar-avatar { background: var(--ui-primary) !important; color: #fff !important; border: 0 !important; }
.admin-workspace > .container { width: 100%; max-width: none; padding: 18px 22px 34px !important; }
.card { border: 1px solid var(--ui-border) !important; border-radius: 12px !important; background: var(--ui-card) !important; box-shadow: none !important; }
.card:hover { border-color: var(--ui-border-strong) !important; }
.btn, button, input, select, textarea { font-family: inherit; }
.btn { border-color: var(--ui-border) !important; border-radius: 8px !important; background: var(--ui-card-soft) !important; color: var(--ui-text) !important; }
.btn-primary { border-color: var(--ui-primary) !important; background: var(--ui-primary) !important; color: #fff !important; }
.btn-danger { border-color: rgba(255,101,119,.5) !important; color: var(--ui-coral) !important; }
input, select, textarea { border-color: var(--ui-border) !important; border-radius: 8px !important; background: var(--ui-card-soft) !important; color: var(--ui-text) !important; color-scheme: dark; }
:root[data-theme="light"] input, :root[data-theme="light"] select, :root[data-theme="light"] textarea { color-scheme: light; }
.page-eyebrow { margin-bottom: 5px; color: var(--ui-primary-hover); font-size: 9px; font-weight: 700; letter-spacing: .1em; }

/* Whole-sidebar collapse */
body.admin-sidebar-collapsed .admin-shell-body { grid-template-columns: 68px minmax(0, 1fr) !important; }
body.admin-sidebar-collapsed .admin-sections { width: 68px !important; }
body.admin-sidebar-collapsed .admin-sections-head { justify-content: center; }
body.admin-sidebar-collapsed .admin-brand-mark { display: none !important; }
body.admin-sidebar-collapsed .admin-sections-head > strong,
body.admin-sidebar-collapsed .admin-section-item strong,
body.admin-sidebar-collapsed .admin-section-chevron,
body.admin-sidebar-collapsed .admin-subsections { display: none !important; }
body.admin-sidebar-collapsed .admin-section-item { justify-content: center; }
body.admin-sidebar-collapsed .admin-sidebar-collapse { position: static; background: var(--ui-card); }

/* User Management */
.user-management-head { display: flex; margin-bottom: 12px; padding: 16px 18px; align-items: flex-end; justify-content: space-between; gap: 20px; }
.user-management-head h1, .reports-page-head h1 { margin: 0 0 4px; font-size: 24px; }
.user-management-head p, .reports-page-head p { margin: 0; color: var(--ui-muted); font-size: 11px; }
.user-id-search { display: flex; width: min(440px, 100%); align-items: flex-end; gap: 8px; }
.user-id-search .field { min-width: 0; flex: 1; margin: 0; }
.input-with-icon { position: relative; display: block; }
.input-with-icon > svg { position: absolute; z-index: 1; top: 50%; left: 11px; width: 16px; height: 16px; fill: none; stroke: var(--ui-muted); stroke-width: 1.7; transform: translateY(-50%); pointer-events: none; }
.input-with-icon input { width: 100%; padding-left: 35px !important; }
.user-search-state { display: flex; min-height: 260px; padding: 32px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid var(--ui-border); border-radius: 12px; color: var(--ui-muted); background: var(--ui-card); text-align: center; }
.user-search-state:empty { display: none; }
.user-search-state strong { color: var(--ui-text); font-size: 14px; }
.user-search-state span { font-size: 11px; }
.player360-hero { margin-top: 0 !important; }
.player-action-select select, .report-actions-select select { min-width: 104px; height: 34px; padding: 0 30px 0 10px; }
.user-profile-tabs { display: flex; margin: 0 0 12px; padding: 4px; gap: 3px; overflow-x: auto; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card); }
.user-profile-tabs button { flex: 0 0 auto; padding: 8px 11px; border: 0; border-radius: 7px; background: transparent; color: var(--ui-muted); cursor: pointer; }
.user-profile-tabs button.active { background: var(--ui-primary-soft); color: var(--ui-text); }
.user-profile-tab-panel[hidden] { display: none !important; }
.user-profile-tab-panel > :first-child { margin-top: 0 !important; }

/* Player Reports */
.reports-page-head { display: flex; min-height: 48px; margin-bottom: 12px; align-items: flex-start; justify-content: space-between; }
.reports-date-source { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; }
.reports-toolbar { margin-bottom: 12px; padding: 14px; }
.report-type-tabs { display: flex; padding-bottom: 11px; gap: 4px; border-bottom: 1px solid var(--ui-border); }
.report-type-tabs button { padding: 8px 11px; border: 0; border-radius: 8px; background: transparent; color: var(--ui-muted); cursor: pointer; }
.report-type-tabs button.active { background: var(--ui-primary-soft); color: var(--ui-text); }
.report-type-tabs span { margin-left: 4px; opacity: .65; }
.report-filter-grid { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, .75fr); gap: 10px; padding-top: 11px; }
.report-filter-grid input, .report-filter-grid select { width: 100%; height: 38px; }
.report-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 540px; margin-bottom: 12px; }
.report-summary-grid article { padding: 14px; }
.report-summary-grid span, .report-summary-grid small { display: block; color: var(--ui-muted); font-size: 9px; }
.report-summary-grid strong { display: block; margin: 6px 0 3px; font-size: 23px; }
.reports-notice { display: flex; margin-bottom: 12px; padding: 12px 14px; gap: 8px; border: 1px solid rgba(245,167,66,.34); border-radius: 10px; background: rgba(245,167,66,.13); color: #e7b873; font-size: 10px; }
.moderation-queue { overflow: hidden; }
.moderation-queue-head { display: flex; padding: 14px 16px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--ui-border); }
.moderation-queue-head h2 { margin: 0 0 3px; font-size: 14px; }
.moderation-queue-head p, .moderation-queue-head > span { margin: 0; color: var(--ui-muted); font-size: 9px; }
.reports-table { width: 100%; table-layout: fixed; }
.reports-table th:nth-child(1) { width: 46%; }
.reports-table th:nth-child(2) { width: 14%; }
.reports-table th:nth-child(3) { width: 23%; }
.reports-table th:nth-child(4) { width: 17%; }
.reports-table th, .reports-table td { padding: 10px 14px; }
.report-player { display: flex; width: 100%; padding: 0; align-items: center; gap: 9px; border: 0; background: transparent; color: var(--ui-text); text-align: left; cursor: pointer; }
.report-player-avatar { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 8px; background: var(--ui-primary-soft); color: var(--ui-primary-hover); font-size: 9px; }
.report-player strong, .report-player small, .report-player em { display: block; }
.report-player strong { font-size: 10px; }
.report-player strong i { margin-left: 5px; color: var(--ui-cyan); font-size: 8px; font-style: normal; }
.report-player small, .reports-table td > small { margin-top: 2px; color: var(--ui-muted); font-size: 8px; }
.report-reason { width: max-content; margin-top: 4px; padding: 2px 6px; border-radius: 999px; background: var(--ui-primary-soft); color: var(--ui-primary-hover); font-size: 8px; font-style: normal; }
.report-reason.voice { background: rgba(82,184,244,.12); color: var(--ui-cyan); }
.report-player-status { display: inline-flex; align-items: center; gap: 5px; padding: 3px 7px; border-radius: 999px; font-size: 8px; }
.report-player-status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.report-player-status.active { color: var(--ui-green); background: rgba(54,211,153,.12); }
.report-player-status.muted { color: var(--ui-orange); background: rgba(245,167,66,.13); }
.report-player-status.banned { color: var(--ui-coral); background: rgba(255,101,119,.12); }

@media (max-width: 900px) {
    .topbar-profile > span:nth-child(2), .topbar-search kbd { display: none !important; }
    .topbar-profile { min-width: auto !important; }
    .user-management-head { align-items: stretch; flex-direction: column; }
    .user-id-search { width: 100%; }
}

@media (max-width: 720px) {
    .admin-shell-body, body.admin-sidebar-collapsed .admin-shell-body { grid-template-columns: 1fr !important; }
    .admin-sections, body.admin-sidebar-collapsed .admin-sections { width: min(280px, calc(100vw - 44px)) !important; }
    body.admin-sidebar-collapsed .admin-sections-head > strong { display: block !important; }
    body.admin-sidebar-collapsed .admin-section-item strong, body.admin-sidebar-collapsed .admin-section-chevron { display: initial !important; }
    body.admin-sidebar-collapsed .admin-subsections { display: flex !important; }
    .admin-sidebar-collapse { display: none !important; }
    .topbar { gap: 7px !important; }
    .topbar-search { width: auto !important; flex: 1; }
    .topbar-page-actions { max-width: 42%; }
    .topbar-page-actions .admin-date-filter-trigger { min-width: 0 !important; width: 100%; }
    .admin-workspace > .container { padding: 14px 12px 28px !important; }
    .report-filter-grid { grid-template-columns: 1fr; }
    .reports-table thead { display: none; }
    .reports-table, .reports-table tbody { display: block; }
    .reports-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 12px; border-bottom: 1px solid var(--ui-border); }
    .reports-table td { display: block; padding: 0; border: 0; }
    .reports-table td:first-child { grid-row: 1 / span 2; }
    .reports-table td:nth-child(2) { text-align: right; }
    .reports-table td:nth-child(3) { grid-column: 1; }
    .reports-table td:nth-child(4) { grid-column: 2; align-self: end; }
}

@media (max-width: 480px) {
    .topbar-actions .theme-toggle, .topbar-actions .topbar-icon-button, .topbar-profile b { display: none !important; }
    .topbar-page-actions { max-width: 46%; }
    .user-id-search { align-items: stretch; flex-direction: column; }
    .report-summary-grid { grid-template-columns: 1fr 1fr; }
    .reports-notice { flex-direction: column; }
    .moderation-queue-head { align-items: flex-start; }
}

/* ==========================================================================
   Admin UI v2 — production implementation of the approved Ludo mockup.
   This block intentionally owns the authenticated shell so earlier legacy
   theme layers cannot alter its spacing or hierarchy.
   ========================================================================== */
.admin-ui {
    --ui-bg: #0b1018;
    --ui-sidebar: #101827;
    --ui-topbar: #151e2c;
    --ui-card: #151e2c;
    --ui-card-soft: #1a2433;
    --ui-border: #293548;
    --ui-border-strong: #3a4960;
    --ui-text: #edf3fc;
    --ui-text-soft: #dce7f7;
    --ui-muted: #95a4ba;
    --ui-primary: #8585ff;
    --ui-primary-hover: #9b9bff;
    --ui-primary-soft: #29294d;
    --ui-green: #42c995;
    --ui-orange: #f2a85e;
    --ui-coral: #ff7b89;
    --ui-cyan: #65a1ff;
    --ui-shadow-soft: 0 10px 30px rgba(0,0,0,.18);
    margin: 0;
    color: var(--ui-text);
    background: var(--ui-bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
:root[data-theme="light"] .admin-ui {
    --ui-bg: #f3f6fb;
    --ui-sidebar: #14243d;
    --ui-topbar: #fff;
    --ui-card: #fff;
    --ui-card-soft: #f7f9fc;
    --ui-border: #e3e8f0;
    --ui-border-strong: #cfd7e4;
    --ui-text: #172033;
    --ui-text-soft: #344159;
    --ui-muted: #657187;
    --ui-primary: #5c5ce2;
    --ui-primary-hover: #4f4fd0;
    --ui-primary-soft: #ededff;
    --ui-green: #1d9b6c;
    --ui-orange: #e28433;
    --ui-coral: #d84c5c;
    --ui-cyan: #3478f6;
    --ui-shadow-soft: 0 10px 30px rgba(23,32,51,.06);
}
.admin-ui #app { min-height: 100vh; }
.admin-ui .admin-shell-body {
    display: grid !important;
    grid-template-columns: clamp(188px, 20vw, 218px) minmax(0,1fr) !important;
    width: 100%; min-height: 100vh; padding: 0 !important; gap: 0 !important;
    background: var(--ui-bg) !important;
}
.admin-ui .admin-workspace { min-width: 0; width: 100%; background: var(--ui-bg); }
.admin-ui .admin-sections {
    position: sticky !important; z-index: 40; top: 0 !important; left: auto !important;
    width: auto !important; height: 100vh !important; max-height: 100vh !important;
    margin: 0 !important; padding: 0 14px 20px !important; overflow-x: hidden; overflow-y: auto;
    border: 0 !important; border-right: 1px solid rgba(255,255,255,.035) !important; border-radius: 0 !important;
    color: #dce7f7; background: var(--ui-sidebar) !important; box-shadow: none !important;
}
.admin-ui .admin-sections-head {
    position: relative; display: flex !important; min-height: 70px !important; padding: 20px 8px !important;
    align-items: center; gap: 10px !important; border: 0 !important; background: transparent !important;
}
.admin-ui .admin-brand-mark {
    display: grid !important; width: 30px !important; height: 30px !important; flex: 0 0 30px;
    place-items: center; border: 0 !important; border-radius: 9px !important;
    color: #fff !important; background: var(--ui-primary) !important; font-size: 12px !important; font-weight: 500 !important;
}
.admin-ui .admin-sections-head > strong { display: block !important; min-width: 0; color: #dce7f7 !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .01em !important; white-space: nowrap; }
.admin-ui .admin-sections-head > strong small { display: inline !important; margin: 0 !important; color: inherit !important; font-size: inherit !important; font-weight: inherit !important; letter-spacing: inherit !important; }
.admin-ui .admin-sidebar-collapse {
    position: absolute; right: -12px; display: grid; width: 23px; height: 28px; padding: 0; place-items: center;
    border: 1px solid #293548; border-radius: 8px; color: #90a6c2; background: #151e2c; cursor: pointer;
}
.admin-ui .admin-sections-list { display: flex !important; padding: 0 !important; gap: 0 !important; flex-direction: column; }
.admin-ui .admin-nav-group { margin: 0 !important; padding: 5px 0 7px !important; border: 0 !important; border-top: 1px solid rgba(255,255,255,.055) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.admin-ui .admin-nav-group:first-child { border-top: 0 !important; }
.admin-ui .admin-section-item {
    display: flex !important; width: 100%; min-height: 29px !important; margin: 0 0 3px !important; padding: 5px 7px !important;
    align-items: center; gap: 8px; border: 0 !important; color: #9b9bff !important; background: transparent !important;
    text-align: left; text-transform: uppercase; letter-spacing: .07em; cursor: pointer;
}
.admin-ui .admin-section-item strong { flex: 1; font-size: 11px !important; font-weight: 600 !important; }
.admin-ui .admin-section-icon { display: flex; color: currentColor !important; }
.admin-ui .admin-section-icon svg { width: 13px !important; height: 13px !important; fill: none; stroke: currentColor; stroke-width: 1.7; }
.admin-ui .admin-section-chevron { color: #90a6c2; font-size: 13px; transition: transform .18s ease; }
.admin-ui .admin-nav-group.collapsed .admin-section-chevron { transform: rotate(-90deg); }
.admin-ui .admin-subsections { display: flex !important; padding: 0 !important; gap: 0 !important; flex-direction: column; }
.admin-ui .admin-nav-group.collapsed .admin-subsections { display: none !important; }
.admin-ui .admin-section-summary { display: none !important; }
.admin-ui .admin-subsections > a,
.admin-ui .admin-subsections > .planned {
    display: flex !important; width: 100%; min-height: 34px !important; margin: 2px 0 !important; padding: 8px 10px !important;
    align-items: center; justify-content: flex-start !important; gap: 9px; border: 0 !important; border-radius: 9px !important;
    color: #90a6c2 !important; background: transparent !important; font-size: 12px !important; font-weight: 450 !important;
    text-decoration: none; white-space: nowrap;
}
.admin-ui .admin-subsections > .planned { opacity: .48; }
.admin-ui .admin-subsections > .planned small { display: none !important; }
.admin-ui .admin-subsections > a:hover { color: #dce7f7 !important; background: rgba(255,255,255,.045) !important; }
.admin-ui .admin-subsections > a.active { color: #dce7f7 !important; background: rgba(255,255,255,.10) !important; box-shadow: none !important; font-weight: 500 !important; }
.admin-ui .admin-subsection-icon { display: flex; width: 15px !important; flex: 0 0 15px; color: currentColor !important; }
.admin-ui .admin-subsection-icon svg { width: 15px !important; height: 15px !important; fill: none; stroke: currentColor; stroke-width: 1.7; }

.admin-ui .topbar {
    position: sticky; z-index: 32; top: 0; display: flex !important; width: 100%; height: 64px !important; min-height: 64px !important;
    padding: 0 18px !important; align-items: center; justify-content: space-between; gap: 12px !important;
    border: 0 !important; border-bottom: 1px solid var(--ui-border) !important; background: var(--ui-topbar) !important;
    box-shadow: none !important;
}
.admin-ui .topbar-context { display: none !important; }
.admin-ui .topbar-search {
    order: 1; display: flex !important; width: auto !important; max-width: 390px !important; height: 38px !important; min-width: 0; flex: 1;
    margin: 0 auto 0 0 !important; padding: 0 8px 0 11px !important; align-items: center; gap: 8px;
    border: 1px solid var(--ui-border) !important; border-radius: 10px !important; color: var(--ui-muted); background: var(--ui-card-soft) !important;
    box-shadow: none !important;
}
.admin-ui .topbar-search:focus-within { border-color: var(--ui-primary) !important; box-shadow: 0 0 0 3px color-mix(in srgb,var(--ui-primary) 15%,transparent) !important; }
.admin-ui .topbar-search svg { width: 15px !important; height: 15px !important; flex: 0 0 15px; color: var(--ui-muted) !important; fill: none; stroke: currentColor !important; stroke-width: 1.7; }
.admin-ui .topbar-search input { min-width: 0; width: 100%; height: auto !important; padding: 0 !important; border: 0 !important; outline: 0; color: var(--ui-text) !important; background: transparent !important; box-shadow: none !important; font-size: 12px !important; }
.admin-ui .topbar-search input::placeholder { color: var(--ui-muted); opacity: 1; }
.admin-ui .topbar-search kbd { padding: 3px 6px !important; border: 1px solid var(--ui-border) !important; border-radius: 6px !important; color: var(--ui-muted) !important; background: var(--ui-card) !important; font: 9px/1 Inter,sans-serif !important; }
.admin-ui .topbar-page-actions { order: 2; display: flex; min-width: 0; align-items: center; }
.admin-ui .topbar-page-actions:empty { display: none; }
.admin-ui .topbar-actions { order: 3; display: flex !important; min-width: max-content; align-items: center; gap: 8px !important; }
.admin-ui .topbar-environment { display: inline-flex; min-width: 0; height: auto; padding: 6px 8px; align-items: center; gap: 6px; border-radius: 999px; color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 14%,transparent); font-size: 10px; font-weight: 500; }
.admin-ui .topbar-environment::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.admin-ui .topbar-icon-button,
.admin-ui .theme-toggle { width: 32px !important; height: 32px !important; padding: 0 !important; border: 1px solid var(--ui-border) !important; border-radius: 9px !important; color: var(--ui-muted) !important; background: var(--ui-card-soft) !important; box-shadow: none !important; }
.admin-ui .topbar-icon-button svg { width: 15px !important; height: 15px !important; }
.admin-ui .topbar-profile { display: flex !important; min-width: 0 !important; padding: 3px 4px 3px 7px !important; align-items: center; gap: 8px; border: 0 !important; border-radius: 10px; color: var(--ui-text) !important; background: transparent !important; }
.admin-ui .topbar-profile:hover { background: var(--ui-card-soft) !important; }
.admin-ui .topbar-profile > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.admin-ui .topbar-profile strong { font-size: 10px !important; font-weight: 500; }
.admin-ui .topbar-profile small { display: block !important; margin: 1px 0 0; color: var(--ui-muted) !important; font-size: 8px !important; }
.admin-ui .topbar-profile b { color: var(--ui-muted); font-size: 12px; }
.admin-ui .topbar-avatar { display: grid; width: 30px !important; height: 30px !important; flex: 0 0 30px; place-items: center; border: 0 !important; border-radius: 50%; color: #fff !important; background: var(--ui-primary) !important; font-size: 10px !important; }
.admin-ui .admin-nav-toggle { display: none; }
.admin-ui .admin-navigation-backdrop { display: none; }
.admin-ui .admin-workspace > .container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 18px !important; }

.admin-ui .card { border: 1px solid var(--ui-border) !important; border-radius: 12px !important; color: var(--ui-text); background: var(--ui-card) !important; box-shadow: var(--ui-shadow-soft) !important; }
.admin-ui .card:hover { border-color: var(--ui-border) !important; transform: none !important; }
.admin-ui input, .admin-ui select, .admin-ui textarea { border: 1px solid var(--ui-border) !important; border-radius: 8px !important; color: var(--ui-text) !important; background: var(--ui-card-soft) !important; box-shadow: none !important; }
.admin-ui .btn { min-height: 34px; padding: 0 12px; border: 1px solid var(--ui-border) !important; border-radius: 8px !important; color: var(--ui-text) !important; background: var(--ui-card-soft) !important; box-shadow: none !important; font-size: 10px; }
.admin-ui .btn-primary { border-color: var(--ui-primary) !important; color: #fff !important; background: var(--ui-primary) !important; }
.admin-ui .btn-danger { color: var(--ui-coral) !important; }

/* Shared date range picker */
.admin-ui .admin-date-filter { position: relative; z-index: 45; }
.admin-ui .admin-date-filter-trigger { display: flex; min-width: 150px !important; height: 34px !important; padding: 0 10px !important; align-items: center; gap: 8px; border: 1px solid var(--ui-border) !important; border-radius: 8px !important; color: var(--ui-text) !important; background: var(--ui-card-soft) !important; box-shadow: none !important; font-size: 10px !important; }
.admin-ui .admin-date-filter-trigger svg { width: 14px !important; height: 14px !important; color: var(--ui-muted); stroke: currentColor !important; }
.admin-ui .admin-date-filter-trigger span { flex: 1; color: var(--ui-text); font-size: 10px !important; text-align: left; }
.admin-ui .admin-date-filter-trigger b { color: var(--ui-muted) !important; font-size: 12px; }
.admin-ui .admin-date-filter-popover { position: absolute; z-index: 90; top: calc(100% + 6px); right: 0; width: 300px; max-width: calc(100vw - 28px); overflow: hidden; border: 1px solid var(--ui-border) !important; border-radius: 10px !important; color: var(--ui-text); background: var(--ui-card) !important; box-shadow: var(--ui-shadow-soft) !important; }
.admin-ui .admin-date-presets { padding: 14px 20px; }
.admin-ui .admin-date-presets button { display: block; width: 100%; min-height: 37px; padding: 0; border: 0; color: var(--ui-muted); background: transparent; text-align: left; font-size: 11px; cursor: pointer; }
.admin-ui .admin-date-presets button:hover { color: var(--ui-text); }
.admin-ui .admin-date-presets hr { margin: 7px 0; border: 0; border-top: 1px solid var(--ui-border); }
.admin-ui .admin-date-inputs { display: grid; grid-template-columns: 1fr auto 1fr; padding: 12px; align-items: center; gap: 8px; }
.admin-ui .admin-date-inputs span { padding: 9px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-text); background: var(--ui-card-soft); font-size: 10px; text-align: center; }
.admin-ui .admin-date-inputs i { color: var(--ui-muted); font-style: normal; }
.admin-ui .admin-date-calendar { padding: 0 12px 12px; }
.admin-ui .admin-date-calendar-head { display: grid; grid-template-columns: 30px 1fr 30px; padding: 8px 0; align-items: center; }
.admin-ui .admin-date-calendar-head button { width: 30px; height: 30px; border: 0; color: var(--ui-muted); background: transparent; }
.admin-ui .admin-date-calendar-head strong { font-size: 11px; font-weight: 500; text-align: center; }
.admin-ui .admin-date-weekdays, .admin-ui .admin-date-days { display: grid; grid-template-columns: repeat(7,1fr); }
.admin-ui .admin-date-weekdays span { padding: 7px 0; color: var(--ui-muted); font-size: 9px; text-align: center; }
.admin-ui .admin-date-days button, .admin-ui .admin-date-days .empty { min-width: 0; height: 30px; padding: 0; border: 0 !important; border-radius: 0 !important; color: var(--ui-text); background: transparent !important; font-size: 9px; }
.admin-ui .admin-date-days button.in-range { color: var(--ui-primary-hover) !important; background: color-mix(in srgb,var(--ui-primary) 13%,transparent) !important; }
.admin-ui .admin-date-days button.start, .admin-ui .admin-date-days button.end { color: #fff !important; background: var(--ui-primary) !important; font-weight: 600; }
.admin-ui .admin-date-days button.start { border-radius: 999px 0 0 999px !important; }
.admin-ui .admin-date-days button.end { border-radius: 0 999px 999px 0 !important; }
.admin-ui .admin-date-days button.start.end { border-radius: 999px !important; }
.admin-ui .admin-date-filter-footer { display: flex; padding: 10px 12px; border-top: 1px solid var(--ui-border); }
.admin-ui .admin-date-filter-footer button { min-height: 34px; padding: 0 12px; border: 1px solid var(--ui-border); border-radius: 7px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 9px; }
.admin-ui .admin-date-filter-footer .admin-date-apply { margin-left: auto; border-color: var(--ui-primary); color: #fff; background: var(--ui-primary); }

/* Player reports */
.admin-ui .reports-page-head { display: flex; min-height: 48px; margin: 0 0 12px; align-items: flex-start; justify-content: space-between; gap: 14px; }
.admin-ui .reports-page-head h1 { margin: 0 0 4px; color: var(--ui-text); font-size: 22px; font-weight: 500; letter-spacing: -.025em; }
.admin-ui .reports-page-head p { margin: 0; color: var(--ui-muted); font-size: 10px; }
.admin-ui .reports-page-actions { display: flex; align-items: flex-start; justify-content: flex-end; }
.admin-ui .reports-date-source { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; }
.admin-ui .reports-toolbar { margin: 0 0 12px !important; padding: 14px !important; }
.admin-ui .report-type-tabs { display: flex; padding: 0 0 11px !important; gap: 5px; overflow-x: auto; border-bottom: 1px solid var(--ui-border) !important; }
.admin-ui .report-type-tabs button { flex: 0 0 auto; padding: 7px 10px !important; border: 0 !important; border-radius: 8px !important; color: var(--ui-muted) !important; background: transparent !important; font-size: 11px; }
.admin-ui .report-type-tabs button.active { color: var(--ui-text) !important; background: var(--ui-primary-soft) !important; font-weight: 500; }
.admin-ui .report-type-tabs span { margin-left: 4px; opacity: .72; }
.admin-ui .report-filter-grid { display: grid; grid-template-columns: minmax(180px,1.6fr) minmax(160px,1fr); gap: 9px; padding: 11px 0 0; }
.admin-ui .report-filter-grid input, .admin-ui .report-filter-grid select { width: 100%; height: 38px !important; font-size: 10px; }
.admin-ui .report-summary-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 480px; margin: 0 0 12px; gap: 10px; }
.admin-ui .report-summary-grid article { padding: 13px 14px !important; }
.admin-ui .report-summary-grid span, .admin-ui .report-summary-grid small { display: block; color: var(--ui-muted); font-size: 9px; }
.admin-ui .report-summary-grid strong { display: block; margin: 6px 0 3px; color: var(--ui-text); font-size: 23px; font-weight: 500; }
.admin-ui .reports-notice { display: flex; margin: 0 0 12px; padding: 10px 12px; align-items: center; gap: 8px; border: 1px solid color-mix(in srgb,var(--ui-orange) 24%,var(--ui-border)); border-radius: 10px; color: var(--ui-muted); background: color-mix(in srgb,var(--ui-orange) 14%,transparent); font-size: 10px; }
.admin-ui .reports-notice strong { color: var(--ui-orange); font-weight: 500; }
.admin-ui .moderation-queue { overflow: visible !important; padding: 0 !important; }
.admin-ui .moderation-queue-head { display: flex; padding: 13px 14px !important; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--ui-border) !important; }
.admin-ui .moderation-queue-head h2 { margin: 0 0 3px; color: var(--ui-text); font-size: 14px; font-weight: 500; }
.admin-ui .moderation-queue-head p, .admin-ui .moderation-queue-head > span { margin: 0; color: var(--ui-muted); font-size: 9px; }
.admin-ui .moderation-queue .table-scroll { overflow: visible !important; }
.admin-ui .reports-table { width: 100%; table-layout: auto !important; border-collapse: collapse; font-size: 10px; }
.admin-ui .reports-table th { padding: 9px 12px !important; border: 0 !important; color: var(--ui-muted); background: var(--ui-card-soft) !important; font-size: 8px; font-weight: 500; letter-spacing: .04em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.admin-ui .reports-table td { padding: 9px 12px !important; border: 0 !important; border-top: 1px solid var(--ui-border) !important; vertical-align: middle; }
.admin-ui .reports-table tbody tr:first-child td { border-top: 0 !important; }
.admin-ui .reports-table tbody tr:hover { background: color-mix(in srgb,var(--ui-primary) 4%,transparent); }
.admin-ui .reports-table th:nth-child(1) { width: auto; }
.admin-ui .reports-table th:nth-child(2) { width: 14%; }
.admin-ui .reports-table th:nth-child(3) { width: 23%; }
.admin-ui .reports-table th:nth-child(4) { width: 104px; }
.admin-ui .report-player { display: flex; width: 100%; min-width: 150px; padding: 0; align-items: center; gap: 8px; border: 0; color: var(--ui-text); background: transparent; text-align: left; cursor: pointer; }
.admin-ui .report-player:hover strong { color: var(--ui-primary-hover); }
.admin-ui .report-player-avatar { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 8px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 9px; font-weight: 500; }
.admin-ui .report-player strong { display: block; color: var(--ui-text); font-size: 10px; font-weight: 500; }
.admin-ui .report-player strong i { display: inline-flex; margin-left: 5px; align-items: center; gap: 3px; color: var(--ui-cyan); font-size: 8px; font-style: normal; }
.admin-ui .report-player strong i::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.admin-ui .report-player small, .admin-ui .reports-table td > small { display: block; margin-top: 2px; color: var(--ui-muted); font-size: 8px; }
.admin-ui .report-reason { display: inline-flex !important; width: max-content; margin-top: 4px; padding: 3px 6px; align-items: center; gap: 4px; border-radius: 999px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 8px; font-style: normal; font-weight: 500; }
.admin-ui .report-reason::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.admin-ui .report-reason.voice { color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 14%,transparent); }
.admin-ui .report-player-status { display: inline-flex; padding: 4px 7px; align-items: center; gap: 5px; border-radius: 999px; font-size: 8px; font-weight: 500; white-space: nowrap; }
.admin-ui .report-player-status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.admin-ui .report-player-status.active { color: var(--ui-green); background: color-mix(in srgb,var(--ui-green) 14%,transparent); }
.admin-ui .report-player-status.muted { color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 14%,transparent); }
.admin-ui .report-player-status.banned { color: var(--ui-coral); background: color-mix(in srgb,var(--ui-coral) 12%,transparent); }
.admin-ui .report-action-menu { position: relative; display: inline-block; }
.admin-ui .report-action-menu.open { z-index: 95; }
.admin-ui .report-action-trigger { display: flex; width: 88px; height: 30px; padding: 0 8px; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid var(--ui-border); border-radius: 7px; color: var(--ui-text); background: var(--ui-card-soft); font-size: 9px; cursor: pointer; }
.admin-ui .report-action-trigger span { color: var(--ui-muted); transition: transform .18s ease; }
.admin-ui .report-action-trigger[aria-expanded="true"] span { transform: rotate(180deg); }
.admin-ui .report-action-popover { position: absolute; z-index: 96; top: calc(100% + 4px); right: 0; min-width: 112px; padding: 4px; border: 1px solid var(--ui-border); border-radius: 8px; background: var(--ui-card); box-shadow: var(--ui-shadow-soft); }
.admin-ui .report-action-popover[hidden] { display: none; }
.admin-ui .report-action-popover button { display: block; width: 100%; padding: 7px 8px; border: 0; border-radius: 6px; color: var(--ui-text); background: transparent; text-align: left; font-size: 9px; cursor: pointer; }
.admin-ui .report-action-popover button:hover { background: var(--ui-card-soft); }
.admin-ui .report-action-popover [data-report-action="ban"] { color: var(--ui-coral); }
.admin-ui .report-action-popover [data-report-action="unban"] { color: var(--ui-green); }
.admin-ui .report-action-popover [data-report-action="mute"], .admin-ui .report-action-popover [data-report-action="unmute"] { color: var(--ui-orange); }
.admin-ui .report-action-popover [data-report-action="change-name"] { color: var(--ui-primary-hover); }
.admin-ui .report-history-table th:nth-child(n) { width: auto; }
.admin-ui .moderation-queue .table-scroll:has(.report-history-table) { overflow-x: auto !important; }
.admin-ui .report-history-table td { white-space: nowrap; }
.admin-ui .report-history-table td:first-child { min-width: 210px; }
.admin-ui .report-history-action { display: inline-flex; padding: 5px 8px; border-radius: 999px; color: var(--ui-green); background: color-mix(in srgb,var(--ui-green) 14%,transparent); font-size: 10px; font-weight: 600; }
.admin-ui .report-mute-player { display: flex; margin-bottom: 16px; padding: 12px 14px; flex-direction: column; gap: 3px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card-soft); }
.admin-ui .report-mute-player strong { color: var(--ui-text); font-size: 14px; }
.admin-ui .report-mute-player span { color: var(--ui-muted); font-size: 11px; }
.admin-ui .report-mute-presets { display: grid; margin: -4px 0 18px; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; }
.admin-ui .report-mute-presets button { min-height: 38px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-muted); background: var(--ui-card-soft); cursor: pointer; }
.admin-ui .report-mute-presets button:hover, .admin-ui .report-mute-presets button.active { border-color: var(--ui-primary); color: var(--ui-text); background: var(--ui-primary-soft); }

/* User management */
.admin-ui .user-management-head { display: flex; margin: 0 0 12px !important; padding: 16px !important; align-items: flex-end; justify-content: space-between; gap: 14px; }
.admin-ui .user-management-head .page-eyebrow { display: none; }
.admin-ui .user-management-head h1 { margin: 0 0 4px; color: var(--ui-text); font-size: 22px; font-weight: 500; letter-spacing: -.025em; }
.admin-ui .user-management-head p { margin: 0; color: var(--ui-muted); font-size: 10px; }
.admin-ui .user-id-search { display: flex; width: min(390px,100%); align-items: center; gap: 8px; }
.admin-ui .user-id-search .field { min-width: 0; margin: 0; flex: 1; }
.admin-ui .input-with-icon { position: relative; display: block; }
.admin-ui .input-with-icon > svg { position: absolute; z-index: 1; top: 50%; left: 11px; width: 15px; height: 15px; fill: none; stroke: var(--ui-muted); stroke-width: 1.7; transform: translateY(-50%); }
.admin-ui .input-with-icon input { width: 100%; height: 38px; padding-left: 34px !important; font-size: 10px; }
.admin-ui .user-search-state { display: flex; min-height: 250px; padding: 28px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid var(--ui-border); border-radius: 12px; color: var(--ui-muted); background: var(--ui-card); box-shadow: var(--ui-shadow-soft); text-align: center; }
.admin-ui .user-search-state:empty { display: none; }
.admin-ui .user-search-state strong { color: var(--ui-text); font-size: 12px; font-weight: 500; }
.admin-ui .user-search-state span { font-size: 10px; }
.admin-ui .player360-hero { margin: 0 0 12px !important; padding: 16px !important; }
.admin-ui .player360-avatar { width: 48px !important; height: 48px !important; border-radius: 13px !important; color: var(--ui-primary-hover) !important; background: var(--ui-primary-soft) !important; font-size: 15px !important; }
.admin-ui .player360-identity h2 { font-size: 18px !important; font-weight: 500 !important; }
.admin-ui .user-profile-tabs { margin-bottom: 12px; padding: 4px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card); }
.admin-ui .user-profile-tabs button { padding: 8px 11px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .user-profile-tabs button.active { color: var(--ui-text); background: var(--ui-primary-soft); }

body.admin-sidebar-collapsed.admin-ui .admin-shell-body { grid-template-columns: 64px minmax(0,1fr) !important; }
body.admin-sidebar-collapsed.admin-ui .admin-sections { width: 64px !important; padding-right: 8px !important; padding-left: 8px !important; }
body.admin-sidebar-collapsed.admin-ui .admin-sections-head { justify-content: center; padding-right: 0 !important; padding-left: 0 !important; }
body.admin-sidebar-collapsed.admin-ui .admin-brand-mark,
body.admin-sidebar-collapsed.admin-ui .admin-sections-head > strong,
body.admin-sidebar-collapsed.admin-ui .admin-section-item strong,
body.admin-sidebar-collapsed.admin-ui .admin-section-chevron,
body.admin-sidebar-collapsed.admin-ui .admin-subsections { display: none !important; }
body.admin-sidebar-collapsed.admin-ui .admin-sidebar-collapse { position: static; }
body.admin-sidebar-collapsed.admin-ui .admin-section-item { justify-content: center; }

@media (max-width: 900px) {
    .admin-ui .topbar-search kbd, .admin-ui .topbar-profile > span:nth-child(2) { display: none !important; }
    .admin-ui .user-management-head { align-items: stretch; flex-direction: column; }
    .admin-ui .user-id-search { width: 100%; }
}
/* Switch the persistent sidebar to a drawer from tablet width down so the
   shared header filters never force the page outside the viewport. */
@media (max-width: 900px) {
    .admin-ui .admin-shell-body, body.admin-sidebar-collapsed.admin-ui .admin-shell-body { display: block !important; }
    .admin-ui .admin-sections, body.admin-sidebar-collapsed.admin-ui .admin-sections {
        position: fixed !important; z-index: 60; inset: 0 auto 0 0 !important; width: min(260px,calc(100% - 48px)) !important;
        height: 100vh !important; padding: 0 14px 20px !important; transform: translateX(-100%); transition: transform .2s ease;
        box-shadow: var(--ui-shadow-soft) !important;
    }
    .admin-ui .admin-sections.mobile-open { transform: translateX(0); }
    body.admin-sidebar-collapsed.admin-ui .admin-brand-mark,
    body.admin-sidebar-collapsed.admin-ui .admin-sections-head > strong,
    body.admin-sidebar-collapsed.admin-ui .admin-section-item strong,
    body.admin-sidebar-collapsed.admin-ui .admin-section-chevron { display: initial !important; }
    body.admin-sidebar-collapsed.admin-ui .admin-brand-mark { display: grid !important; }
    body.admin-sidebar-collapsed.admin-ui .admin-subsections { display: flex !important; }
    .admin-ui .admin-sidebar-collapse { display: none !important; }
    .admin-ui .admin-nav-toggle { display: block; order: 0; flex: 0 0 32px; width: 32px; height: 32px; padding: 5px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card-soft); }
    .admin-ui .admin-navigation-backdrop { position: fixed; z-index: 50; inset: 0; background: rgba(0,0,0,.52); }
    body.admin-navigation-open.admin-ui .admin-navigation-backdrop { display: block; }
    .admin-ui .topbar { padding: 0 10px !important; gap: 6px !important; }
    .admin-ui .topbar-search { width: auto !important; max-width: none !important; }
    .admin-ui .topbar-environment, .admin-ui .theme-toggle, .admin-ui .topbar-icon-button, .admin-ui .topbar-profile b { display: none !important; }
    .admin-ui .admin-workspace > .container { padding: 14px !important; }
    .admin-ui .reports-page-head { align-items: stretch; flex-direction: column; }
    .admin-ui .reports-page-actions, .admin-ui .reports-page-actions .admin-date-filter, .admin-ui .reports-page-actions .admin-date-filter-trigger { width: 100%; }
    .admin-ui .admin-date-filter-popover { right: auto; left: 0; }
    .admin-ui .report-filter-grid { grid-template-columns: 1fr; }
    .admin-ui .report-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .moderation-queue { border: 0 !important; background: transparent !important; box-shadow: none !important; }
    .admin-ui .moderation-queue-head { padding: 0 0 10px !important; }
    .admin-ui .reports-table thead { display: none; }
    .admin-ui .reports-table, .admin-ui .reports-table tbody { display: block; width: 100%; }
    .admin-ui .reports-table tr { display: grid; grid-template-columns: minmax(0,1fr) auto; margin-bottom: 8px; padding: 11px; gap: 8px 12px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card); }
    .admin-ui .reports-table td { display: block; padding: 0 !important; border: 0 !important; }
    .admin-ui .reports-table td:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
    .admin-ui .reports-table td:nth-child(2) { grid-column: 2; grid-row: 1; color: var(--ui-muted); text-align: right; }
    .admin-ui .reports-table td:nth-child(2)::before { content: "Reports: "; font-weight: 400; }
    .admin-ui .reports-table td:nth-child(3) { grid-column: 1; grid-row: 3; }
    .admin-ui .reports-table td:nth-child(4) { grid-column: 2; grid-row: 3; align-self: center; }
    .admin-ui .user-id-search { align-items: stretch; flex-direction: column; }
}

/* Overview — approved decision-dashboard mockup */
.admin-ui .overview-page .overview-head {
    display: flex !important; min-height: 62px; margin: 0 0 12px !important;
    align-items: flex-start !important; justify-content: space-between !important; gap: 16px;
}
.admin-ui .admin-workspace > .container.overview-page { width: 100%; max-width: 1480px !important; margin-right: auto !important; margin-left: auto !important; }
.admin-ui .overview-page .overview-head > div:first-child { display: block !important; }
.admin-ui .overview-page .overview-head h1 { margin: 0 0 5px; color: var(--ui-text); font-size: clamp(24px,2.2vw,28px); font-weight: 600; letter-spacing: -.025em; }
.admin-ui .overview-page .overview-head p { margin: 0; color: var(--ui-muted); font-size: clamp(11px,1vw,13px); line-height: 1.5; }
.admin-ui .overview-page .overview-controls { display: flex !important; width: auto !important; align-items: flex-start !important; justify-content: flex-end !important; }
.admin-ui .overview-page .overview-controls > .admin-date-filter { width: auto; }
.admin-ui .overview-page #overview-content { display: block !important; }

.admin-ui .overview-system-status {
    display: flex; min-height: 98px; margin: 0 0 14px; padding: 16px 18px;
    align-items: center; justify-content: space-between; gap: 16px;
    border: 1px solid color-mix(in srgb,var(--ui-green) 35%,var(--ui-border)); border-radius: 12px;
    color: var(--ui-text); background: color-mix(in srgb,var(--ui-green) 18%,var(--ui-card));
}
.admin-ui .overview-system-status.attention { border-color: color-mix(in srgb,var(--ui-orange) 38%,var(--ui-border)); background: color-mix(in srgb,var(--ui-orange) 12%,var(--ui-card)); }
.admin-ui .overview-system-main { display: flex; min-width: 0; align-items: center; gap: 10px; }
.admin-ui .overview-system-main > i { width: 9px; height: 9px; flex: 0 0 9px; border: 2px solid color-mix(in srgb,var(--ui-green) 28%,transparent); border-radius: 50%; background: var(--ui-green); box-shadow: 0 0 0 5px color-mix(in srgb,var(--ui-green) 13%,transparent); }
.admin-ui .overview-system-status.attention .overview-system-main > i { border-color: color-mix(in srgb,var(--ui-orange) 28%,transparent); background: var(--ui-orange); box-shadow: 0 0 0 5px color-mix(in srgb,var(--ui-orange) 13%,transparent); }
.admin-ui .overview-system-main strong, .admin-ui .overview-system-main span { display: block; }
.admin-ui .overview-system-main strong { margin-bottom: 5px; font-size: clamp(13px,1.15vw,15px); font-weight: 600; }
.admin-ui .overview-system-main span, .admin-ui .overview-system-meta { color: var(--ui-muted); font-size: clamp(11px,.72vw,13px); line-height: 1.5; }
.admin-ui .overview-system-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; text-align: right; }

.admin-ui .overview-primary-kpis {
    display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    margin: 0 0 12px !important; gap: 10px !important;
}
.admin-ui .overview-primary-kpis .overview-kpi {
    position: relative; display: block; min-width: 0; min-height: 132px !important; height: auto !important;
    padding: 15px 16px !important; overflow: hidden; border: 1px solid var(--ui-border) !important;
    border-radius: 12px !important; color: var(--ui-text); background: var(--ui-card) !important; box-shadow: var(--ui-shadow-soft);
}
.admin-ui .overview-primary-kpis .overview-kpi::before { display: none !important; }
.admin-ui .overview-primary-kpis .overview-kpi-top { display: flex; margin: 0 0 9px; align-items: center; justify-content: space-between; gap: 8px; }
.admin-ui .overview-primary-kpis .overview-kpi-top > span:first-child { color: var(--ui-muted); font-size: clamp(11px,.75vw,13px); font-weight: 600; letter-spacing: .025em; text-transform: uppercase; }
.admin-ui .overview-primary-kpis .overview-kpi-icon { display: grid; width: 30px !important; height: 30px !important; flex: 0 0 30px !important; place-items: center; border-radius: 8px !important; color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .overview-primary-kpis .overview-kpi-icon svg { width: 17px !important; height: 17px !important; fill: none; stroke: currentColor; stroke-width: 1.7; }
.admin-ui .overview-primary-kpis .overview-kpi > strong { display: block; margin: 0 0 9px; padding-bottom: 2px; overflow: hidden; color: var(--ui-text); font-size: clamp(27px,2vw,34px); font-weight: 600; line-height: 1.1; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .overview-primary-kpis .overview-kpi > small { display: flex; min-width: 0; align-items: center; gap: 6px; color: var(--ui-muted); font-size: clamp(11px,.72vw,12px); line-height: 1.45; white-space: normal; }
.admin-ui .overview-primary-kpis .overview-delta { flex: 0 0 auto; margin: 0; padding: 0; background: transparent !important; font-size: inherit; font-weight: 600; }
.admin-ui .overview-primary-kpis .overview-delta.positive { color: var(--ui-green); }
.admin-ui .overview-primary-kpis .overview-delta.negative { color: var(--ui-coral); }
.admin-ui .overview-primary-kpis .overview-delta.flat { color: var(--ui-muted); }

.admin-ui .overview-mock-grid { display: grid; margin: 0 0 12px; gap: 12px; }
.admin-ui .overview-mock-charts { grid-template-columns: minmax(0,1.45fr) minmax(260px,1fr); }
.admin-ui .overview-mock-health-row { grid-template-columns: minmax(0,1.45fr) minmax(260px,1fr); }
.admin-ui .overview-mock-liveops-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
.admin-ui .overview-page .overview-panel,
.admin-ui .overview-mock-panel { min-width: 0; padding: 14px !important; border-radius: 12px !important; }
.admin-ui .overview-page .overview-panel-head,
.admin-ui .overview-mock-panel-head { display: flex; margin: 0 0 12px; align-items: flex-start; justify-content: space-between; gap: 12px; }
.admin-ui .overview-page .overview-panel-head h2,
.admin-ui .overview-mock-panel-head h2 { margin: 0 0 5px; color: var(--ui-text); font-size: clamp(15px,1.25vw,17px); font-weight: 600; }
.admin-ui .overview-page .overview-panel-head p,
.admin-ui .overview-mock-panel-head p { margin: 0; color: var(--ui-muted); font-size: clamp(11px,.72vw,13px); line-height: 1.55; }
.admin-ui .overview-page .overview-legend { display: flex; flex-direction: column; gap: 8px; color: var(--ui-muted); font-size: clamp(11px,.72vw,12px); }
.admin-ui .overview-page .overview-legend span { display: flex; align-items: center; gap: 5px; }
.admin-ui .overview-page .legend-dot { width: 6px; height: 6px; border-radius: 50%; }
.admin-ui .overview-page .overview-chart,
.admin-ui .overview-page .overview-chart.revenue { display: block; width: 100%; height: 220px !important; min-height: 220px !important; overflow: visible; }
.admin-ui .overview-mock-chart-primary,
.admin-ui .overview-mock-chart-secondary { min-height: 290px !important; height: auto !important; overflow: visible !important; }
.admin-ui .overview-page .chart-x-label,
.admin-ui .overview-page .chart-y-label { font-size: 13px !important; font-weight: 500; }
.admin-ui .overview-page .chart-tooltip-date { font-size: 13px !important; }
.admin-ui .overview-page .chart-tooltip-label { font-size: 12px !important; }
.admin-ui .overview-page .chart-tooltip-value { font-size: 13px !important; }
.admin-ui .overview-page .chart-tooltip > rect { stroke-width: 1.25; }
.admin-ui .overview-page .chart-hover-detail { isolation: isolate; }
.admin-ui .overview-health-badge { display: inline-flex; min-height: 30px; padding: 0 10px; align-items: center; border-radius: 999px; font-size: clamp(9px,.8vw,11px); font-weight: 600; white-space: nowrap; }
.admin-ui .overview-health-badge.healthy { color: var(--ui-green); background: color-mix(in srgb,var(--ui-green) 14%,transparent); }
.admin-ui .overview-health-badge.watch { color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 18%,transparent); }

.admin-ui .overview-retention-engagement,
.admin-ui .overview-operational-pulse { min-height: 320px; }
.admin-ui .overview-retention-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 8px 0 16px; gap: 9px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .overview-retention-cards article { padding: 11px 10px; border-radius: 9px; background: var(--ui-card-soft); }
.admin-ui .overview-retention-cards span, .admin-ui .overview-engagement-stats span { display: block; color: var(--ui-muted); font-size: clamp(11px,.7vw,12px); line-height: 1.4; }
.admin-ui .overview-retention-cards strong { display: block; margin: 9px 0 11px; font-size: clamp(18px,1.55vw,22px); font-weight: 600; }
.admin-ui .overview-retention-cards article > div { height: 5px; overflow: hidden; border-radius: 999px; background: var(--ui-border); }
.admin-ui .overview-retention-cards article > div i { display: block; height: 100%; border-radius: inherit; background: var(--ui-primary); }
.admin-ui .overview-retention-cards article.unavailable strong { color: var(--ui-muted); }
.admin-ui .overview-retention-cards article.unavailable > div i { width: 0 !important; }
.admin-ui .overview-engagement-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding-top: 16px; gap: 18px; }
.admin-ui .overview-engagement-stats strong { display: block; margin-top: 9px; font-size: clamp(15px,1.25vw,18px); font-weight: 600; }
.admin-ui .overview-pulse-list article { display: grid; grid-template-columns: 34px minmax(0,1fr); min-height: 76px; padding: 12px 0; align-items: center; gap: 11px; border-top: 1px solid var(--ui-border); }
.admin-ui .overview-pulse-list article:first-child { border-top: 0; }
.admin-ui .overview-pulse-list article > i { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 17%,transparent); font-style: normal; }
.admin-ui .overview-pulse-list article > i svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-ui .overview-pulse-list article.healthy > i { color: var(--ui-green); background: color-mix(in srgb,var(--ui-green) 14%,transparent); }
.admin-ui .overview-pulse-list article.danger > i { color: var(--ui-coral); background: color-mix(in srgb,var(--ui-coral) 14%,transparent); }
.admin-ui .overview-pulse-list strong, .admin-ui .overview-pulse-list span { display: block; }
.admin-ui .overview-pulse-list strong { margin-bottom: 5px; color: var(--ui-text); font-size: clamp(12px,.78vw,14px); font-weight: 600; }
.admin-ui .overview-pulse-list span { color: var(--ui-muted); font-size: clamp(11px,.7vw,12px); font-weight: 400; line-height: 1.45; }

.admin-ui .overview-economy-panel, .admin-ui .overview-liveops-panel { min-height: 208px; }
.admin-ui .overview-economy-list article { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; min-height: 67px; padding: 10px 0; align-items: center; gap: 10px; border-top: 1px solid var(--ui-border); }
.admin-ui .overview-resource-icon { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 16%,transparent); }
.admin-ui .overview-resource-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.admin-ui .overview-economy-list article:nth-child(2) .overview-resource-icon { color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .overview-economy-list strong, .admin-ui .overview-economy-list span { display: block; }
.admin-ui .overview-economy-list strong { margin-bottom: 5px; font-size: clamp(12px,.78vw,14px); font-weight: 600; }
.admin-ui .overview-economy-list div > span { color: var(--ui-muted); font-size: clamp(11px,.7vw,12px); line-height: 1.4; }
.admin-ui .overview-economy-list em { padding: 6px 9px; border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: clamp(9px,.75vw,10px); font-style: normal; text-align: center; }
.admin-ui .overview-economy-list em.balanced { color: var(--ui-green); background: color-mix(in srgb,var(--ui-green) 14%,transparent); }
.admin-ui .overview-economy-list em.inflation { color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 16%,transparent); }
.admin-ui .overview-economy-list em.scarcity { color: var(--ui-coral); background: color-mix(in srgb,var(--ui-coral) 14%,transparent); }
.admin-ui .overview-panel-action { display: inline-flex; min-height: 32px; padding: 0 11px; align-items: center; gap: 7px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-primary-hover); background: var(--ui-card-soft); font-size: 11px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: border-color .16s ease,background .16s ease,transform .16s ease; }
.admin-ui .overview-panel-action:hover { border-color: color-mix(in srgb,var(--ui-primary) 55%,var(--ui-border)); background: var(--ui-primary-soft); transform: translateY(-1px); }
.admin-ui .overview-panel-action svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.admin-ui .overview-panel-loading { display: grid; min-height: 120px; place-items: center; color: var(--ui-muted); font-size: 9px; }
.admin-ui .overview-liveops-list article { display: flex; min-height: 67px; padding: 11px 0; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--ui-border); }
.admin-ui .overview-liveops-list strong, .admin-ui .overview-liveops-list span { display: block; }
.admin-ui .overview-liveops-list strong { margin-bottom: 6px; color: var(--ui-text); font-size: clamp(12px,.78vw,14px); font-weight: 600; }
.admin-ui .overview-liveops-list span, .admin-ui .overview-liveops-list em { color: var(--ui-muted); font-size: clamp(11px,.7vw,12px); font-style: normal; line-height: 1.4; }

.admin-ui .overview-attention-panel { min-height: 198px; }
.admin-ui .overview-attention-list article { display: grid; grid-template-columns: 28px minmax(0,1fr); min-height: 60px; padding: 11px 0; align-items: center; gap: 10px; border-top: 1px solid var(--ui-border); }
.admin-ui .overview-attention-list article > i { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 17%,transparent); font-style: normal; }
.admin-ui .overview-attention-list article > i svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-ui .overview-attention-list strong, .admin-ui .overview-attention-list span { display: block; }
.admin-ui .overview-attention-list strong { margin-bottom: 5px; font-size: clamp(12px,.78vw,14px); font-weight: 600; }
.admin-ui .overview-attention-list span { color: var(--ui-muted); font-size: clamp(11px,.7vw,12px); line-height: 1.45; }

/* Admin management */
.admin-ui .admin-management-page { width: 100%; max-width: 1480px; margin: 0 auto; }
.admin-ui .admin-management-head { display: flex; min-height: 64px; margin-bottom: 14px; align-items: flex-start; justify-content: space-between; gap: 16px; }
.admin-ui .admin-management-head h1 { margin: 0 0 6px; color: var(--ui-text); font-size: clamp(24px,2vw,28px); font-weight: 600; letter-spacing: -.025em; }
.admin-ui .admin-management-head p { margin: 0; color: var(--ui-muted); font-size: 12px; line-height: 1.5; }
.admin-ui .admin-create-button { display: inline-flex; min-height: 38px; align-items: center; gap: 8px; white-space: nowrap; }
.admin-ui .admin-create-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.admin-ui .admin-management-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 14px; gap: 12px; }
.admin-ui .admin-management-summary article { min-height: 96px; padding: 16px; border: 1px solid var(--ui-border); border-radius: 12px; background: var(--ui-card); box-shadow: var(--ui-shadow-soft); }
.admin-ui .admin-management-summary span { display: block; margin-bottom: 12px; color: var(--ui-muted); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .035em; }
.admin-ui .admin-management-summary strong { color: var(--ui-text); font-size: 27px; font-weight: 600; line-height: 1; }
.admin-ui .admin-management-table-card { padding: 0 !important; overflow: hidden; border-radius: 12px !important; }
.admin-ui .admin-management-table-head { display: flex; min-height: 72px; padding: 15px 17px; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .admin-management-table-head h2 { margin: 0 0 5px; font-size: 16px; font-weight: 600; }
.admin-ui .admin-management-table-head p { margin: 0; color: var(--ui-muted); font-size: 11px; }
.admin-ui .admin-management-table-head > span { color: var(--ui-muted); font-size: 11px; white-space: nowrap; }
.admin-ui .admin-management-table-wrap { width: 100%; overflow-x: auto; }
.admin-ui .admin-management-table { min-width: 880px; }
.admin-ui .admin-management-table th { padding: 11px 14px !important; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 10px !important; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.admin-ui .admin-management-table td { padding: 13px 14px !important; vertical-align: middle; }
.admin-ui .admin-account { display: flex; min-width: 180px; align-items: center; gap: 10px; }
.admin-ui .admin-account > i { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 10px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 12px; font-style: normal; font-weight: 700; }
.admin-ui .admin-account strong, .admin-ui .admin-account span { display: block; }
.admin-ui .admin-account strong { margin-bottom: 4px; color: var(--ui-text); font-size: 12px; font-weight: 600; }
.admin-ui .admin-account span, .admin-ui .admin-created-date { color: var(--ui-muted); font-size: 11px; }
.admin-ui .admin-role-badge { display: inline-flex; min-height: 26px; padding: 0 9px; align-items: center; border-radius: 999px; font-size: 10px; font-weight: 600; white-space: nowrap; }
.admin-ui .admin-role-badge.super { color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .admin-role-badge.scoped { color: var(--ui-cyan); background: color-mix(in srgb,var(--ui-cyan) 13%,transparent); }
.admin-ui .admin-access-list { display: flex; max-width: 390px; flex-wrap: wrap; gap: 5px; }
.admin-ui .admin-access-list span, .admin-ui .admin-access-list b { display: inline-flex; min-height: 24px; padding: 0 8px; align-items: center; border-radius: 7px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 10px; font-weight: 500; }
.admin-ui .admin-access-list b { color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .admin-access-all { color: var(--ui-green); font-size: 11px; font-weight: 600; }
.admin-ui .admin-access-none { color: var(--ui-coral); font-size: 11px; }
.admin-ui .admin-row-actions { min-width: 128px; white-space: nowrap; }

.admin-ui .modal.admin-permissions-modal { width: min(820px,calc(100vw - 28px)); max-height: min(820px,calc(100vh - 28px)); overflow-y: auto; }
.admin-ui .admin-super-toggle { display: flex; margin: 4px 0 16px; padding: 13px 14px; align-items: center; gap: 11px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card-soft); cursor: pointer; }
.admin-ui .admin-super-toggle input { width: 17px; height: 17px; flex: 0 0 17px; accent-color: var(--ui-primary); }
.admin-ui .admin-super-toggle span, .admin-ui .admin-super-toggle strong, .admin-ui .admin-super-toggle small { display: block; }
.admin-ui .admin-super-toggle strong { margin-bottom: 4px; color: var(--ui-text); font-size: 12px; }
.admin-ui .admin-super-toggle small { color: var(--ui-muted); font-size: 10px; line-height: 1.4; }
.admin-ui .admin-permissions-field { margin: 0 !important; transition: opacity .16s ease; }
.admin-ui .admin-permissions-field.disabled { opacity: .42; }
.admin-ui .admin-permissions-heading { display: flex; margin-bottom: 10px; align-items: center; justify-content: space-between; gap: 12px; }
.admin-ui .admin-permissions-heading > div:first-child strong, .admin-ui .admin-permissions-heading > div:first-child small { display: block; }
.admin-ui .admin-permissions-heading > div:first-child strong { margin-bottom: 4px; color: var(--ui-text); font-size: 12px; }
.admin-ui .admin-permissions-heading > div:first-child small { color: var(--ui-muted); font-size: 10px; }
.admin-ui .admin-permissions-heading > div:last-child { display: flex; gap: 6px; }
.admin-ui .admin-permissions-heading button { min-height: 29px; padding: 0 9px; border: 1px solid var(--ui-border); border-radius: 7px; color: var(--ui-text-soft); background: var(--ui-card); font-size: 10px; cursor: pointer; }
.admin-ui .admin-permission-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.admin-ui .admin-permission-group { min-width: 0; padding: 11px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card-soft); }
.admin-ui .admin-permission-group-title { display: flex; margin-bottom: 9px; align-items: center; gap: 7px; color: var(--ui-primary-hover); }
.admin-ui .admin-permission-group-title > span { display: flex; }
.admin-ui .admin-permission-group-title svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.admin-ui .admin-permission-group-title strong { color: var(--ui-text); font-size: 11px; font-weight: 600; }
.admin-ui .admin-permission-options { display: grid; gap: 6px; }
.admin-ui .admin-permission-option { display: grid; min-height: 51px; padding: 9px; grid-template-columns: 17px minmax(0,1fr); align-items: center; gap: 9px; border: 1px solid transparent; border-radius: 8px; background: var(--ui-card); cursor: pointer; }
.admin-ui .admin-permission-option:hover { border-color: var(--ui-border-strong); }
.admin-ui .admin-permission-option input { width: 16px; height: 16px; margin: 0; accent-color: var(--ui-primary); }
.admin-ui .admin-permission-option span, .admin-ui .admin-permission-option strong, .admin-ui .admin-permission-option small { display: block; }
.admin-ui .admin-permission-option strong { margin-bottom: 4px; color: var(--ui-text); font-size: 11px; font-weight: 600; }
.admin-ui .admin-permission-option small { color: var(--ui-muted); font-size: 9px; line-height: 1.35; }

/* Overview loading keeps the final dashboard geometry visible. */
.admin-ui .overview-dashboard-loading { display: block; }
.admin-ui .overview-dashboard-loading .overview-system-status,
.admin-ui .overview-dashboard-loading .overview-kpi,
.admin-ui .overview-dashboard-loading .overview-skeleton-panel { pointer-events: none; }
.admin-ui .overview-system-loading { border-color: var(--ui-border); background: var(--ui-card); }
.admin-ui .overview-system-loading .overview-system-main > i { border-color: color-mix(in srgb,var(--ui-primary) 30%,transparent); background: var(--ui-primary); box-shadow: 0 0 0 5px color-mix(in srgb,var(--ui-primary) 13%,transparent); animation: overview-pulse 1.4s ease-in-out infinite; }
.admin-ui .overview-loading-label { display: inline-flex; min-height: 26px; padding: 0 9px; align-items: center; border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 10px; white-space: nowrap; }
.admin-ui .overview-skeleton-line,
.admin-ui .overview-skeleton-rows b,
.admin-ui .overview-skeleton-rows i,
.admin-ui .overview-skeleton-stats span,
.admin-ui .overview-skeleton-retention article > i {
    position: relative; display: block; overflow: hidden; border-radius: 7px; background: var(--ui-card-soft);
}
.admin-ui .overview-skeleton-line::after,
.admin-ui .overview-skeleton-rows b::after,
.admin-ui .overview-skeleton-rows i::after,
.admin-ui .overview-skeleton-stats span::after,
.admin-ui .overview-skeleton-retention article > i::after,
.admin-ui .overview-skeleton-chart::after,
.admin-ui .overview-skeleton-bars::after {
    position: absolute; inset: 0; content: ""; transform: translateX(-105%);
    background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--ui-text) 7%,transparent),transparent);
    animation: overview-shimmer 1.35s ease-in-out infinite;
}
.admin-ui .overview-skeleton-line.short { width: 145px; height: 11px; }
.admin-ui .overview-skeleton-line.tiny { width: 86px; height: 9px; }
.admin-ui .overview-kpi-loading .overview-skeleton-line.value { width: 43%; height: 30px; margin: 1px 0 10px; }
.admin-ui .overview-kpi-loading .overview-skeleton-line.detail { width: 62%; height: 10px; }
.admin-ui .overview-kpi-loading > small { display: block; }
.admin-ui .overview-skeleton-chart,
.admin-ui .overview-skeleton-bars { position: relative; height: 198px; overflow: hidden; border-radius: 9px; background: color-mix(in srgb,var(--ui-card-soft) 62%,transparent); }
.admin-ui .overview-skeleton-chart > i { position: absolute; right: 3%; left: 3%; height: 1px; background: var(--ui-border); }
.admin-ui .overview-skeleton-chart > i:nth-child(1) { top: 18%; }
.admin-ui .overview-skeleton-chart > i:nth-child(2) { top: 36%; }
.admin-ui .overview-skeleton-chart > i:nth-child(3) { top: 54%; }
.admin-ui .overview-skeleton-chart > i:nth-child(4) { top: 72%; }
.admin-ui .overview-skeleton-chart > i:nth-child(5) { top: 90%; }
.admin-ui .overview-skeleton-chart svg { position: absolute; inset: 13% 3% 9%; width: 94%; height: 78%; }
.admin-ui .overview-skeleton-chart path { fill: none; stroke: color-mix(in srgb,var(--ui-primary) 42%,var(--ui-border)); stroke-width: 3; }
.admin-ui .overview-skeleton-bars { display: flex; padding: 28px 7% 18px; align-items: flex-end; justify-content: space-between; gap: 7%; }
.admin-ui .overview-skeleton-bars > i { width: 9%; border-radius: 5px 5px 2px 2px; background: color-mix(in srgb,var(--ui-primary) 34%,var(--ui-card-soft)); }
.admin-ui .overview-skeleton-retention { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 8px 0 16px; gap: 9px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .overview-skeleton-retention article { padding: 11px 10px; border-radius: 9px; background: var(--ui-card-soft); }
.admin-ui .overview-skeleton-retention .value { width: 42%; height: 22px; margin: 13px 0; }
.admin-ui .overview-skeleton-retention article > i { width: 100%; height: 5px; background: var(--ui-border); }
.admin-ui .overview-skeleton-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding-top: 18px; gap: 18px; }
.admin-ui .overview-skeleton-stats span { width: 48%; height: 31px; }
.admin-ui .overview-skeleton-rows > div { display: grid; grid-template-columns: 28px minmax(0,1fr); min-height: 67px; padding: 10px 0; align-items: center; gap: 10px; border-top: 1px solid var(--ui-border); }
.admin-ui .overview-skeleton-rows i { width: 27px; height: 27px; background: var(--ui-card-soft); }
.admin-ui .overview-skeleton-rows span { display: flex; gap: 8px; flex-direction: column; }
.admin-ui .overview-skeleton-rows b { height: 9px; }
.admin-ui .overview-loading-unavailable { display: grid; min-height: 120px; place-items: center; color: var(--ui-muted); font-size: 11px; }
.admin-ui .overview-load-error { display: flex; min-height: 150px; padding: 24px; align-items: flex-start; justify-content: center; gap: 10px; flex-direction: column; }
.admin-ui .overview-load-error strong { font-size: 16px; }
.admin-ui .overview-load-error span { color: var(--ui-muted); font-size: 12px; }
.admin-ui .overview-load-error button { min-height: 34px; padding: 0 13px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-text); background: var(--ui-card-soft); cursor: pointer; }
@keyframes overview-shimmer { to { transform: translateX(105%); } }
@keyframes overview-pulse { 50% { opacity: .45; transform: scale(.8); } }
@media (prefers-reduced-motion: reduce) {
    .admin-ui .overview-dashboard-loading *, .admin-ui .overview-dashboard-loading *::after { animation: none !important; }
}

@media (max-width: 980px) {
    .admin-ui .overview-mock-charts,
    .admin-ui .overview-mock-health-row { grid-template-columns: 1fr; }
    .admin-ui .overview-retention-engagement,
    .admin-ui .overview-operational-pulse { min-height: 0; }
    .admin-ui .overview-page .overview-chart,
    .admin-ui .overview-page .overview-chart.revenue { height: 250px !important; min-height: 250px !important; }
}

/* Player segmentation */
.admin-ui .segments-page { width: min(100%,1540px); margin: 0 auto; }
.admin-ui .segments-page .page-head { align-items: flex-end; margin-bottom: 18px; }
.admin-ui .segments-page .page-head h1 { margin: 4px 0; font-size: clamp(25px,2vw,32px); }
.admin-ui .segments-page .page-head p { margin: 0; color: var(--ui-muted); font-size: 13px; }
.admin-ui .page-eyebrow { color: var(--ui-primary-hover); font-size: 10px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.admin-ui .segment-kpis { display: grid; margin-bottom: 14px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.admin-ui .segment-kpis article { min-height: 116px; padding: 17px; border: 1px solid var(--ui-border); border-radius: 12px; background: var(--ui-card); }
.admin-ui .segment-kpis span,.admin-ui .segment-kpis small { display: block; color: var(--ui-muted); font-size: 11px; }
.admin-ui .segment-kpis strong { display: block; margin: 13px 0 8px; color: var(--ui-text); font-size: clamp(25px,2vw,32px); line-height: 1; }
.admin-ui .segment-list-card { padding: 0; overflow: hidden; }
.admin-ui .segment-list-head { display: flex; min-height: 76px; padding: 16px 18px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--ui-border); }
.admin-ui .segment-list-head h2 { margin: 0; color: var(--ui-text); font-size: 16px; }
.admin-ui .segment-list-head p { margin: 5px 0 0; color: var(--ui-muted); font-size: 11px; }
.admin-ui .segment-result-count { flex: 0 0 auto; padding: 5px 9px; border: 1px solid var(--ui-border); border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 10px; font-weight: 650; }
.admin-ui .segment-toolbar { display: grid; padding: 12px 16px; grid-template-columns: minmax(240px,1fr) 160px 160px; gap: 9px; border-bottom: 1px solid var(--ui-border); background: color-mix(in srgb,var(--ui-card-soft) 35%,transparent); }
.admin-ui .segment-toolbar input,.admin-ui .segment-toolbar select { width: 100%; min-height: 40px; border: 1px solid var(--ui-border); border-radius: 9px; color: var(--ui-text); background: var(--ui-card-soft); font-size: 11.5px; }
.admin-ui .segment-toolbar select { padding: 0 34px 0 11px; }
.admin-ui .segment-search { position: relative; display: block; min-width: 0; }
.admin-ui .segment-search > span { position: absolute; top: 50%; left: 12px; z-index: 1; color: var(--ui-muted); font-size: 18px; transform: translateY(-52%); pointer-events: none; }
.admin-ui .segment-search input { padding: 0 12px 0 38px; }
.admin-ui .segment-table-wrap { max-height: min(62vh,720px); overflow: auto; scrollbar-gutter: stable; }
.admin-ui .segments-table { min-width: 840px; }
.admin-ui .segments-table thead { position: sticky; top: 0; z-index: 2; background: var(--ui-card); }
.admin-ui .segments-table tbody tr[hidden] { display: none; }
.admin-ui .segment-filter-empty { padding: 44px 18px; color: var(--ui-muted); text-align: center; font-size: 12px; }
.admin-ui .segment-name { display: grid; padding: 0; justify-items: start; border: 0; color: var(--ui-text); background: transparent; text-align: left; cursor: pointer; }
.admin-ui .segment-name b { font-size: 12px; }
.admin-ui .segment-name small { margin-top: 5px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .segment-name:hover b { color: var(--ui-primary-hover); }
.admin-ui .segment-type { display: inline-flex; min-height: 24px; padding: 0 9px; align-items: center; border-radius: 20px; color: #75ccff; background: rgba(82,184,244,.12); font-size: 10px; font-weight: 700; text-transform: capitalize; }
.admin-ui .segment-type.static { color: #c5a8ff; background: rgba(124,112,246,.14); }
.admin-ui .segment-actions { display: flex; justify-content: flex-end; gap: 6px; }
.admin-ui .segment-skeleton { overflow: hidden; }
.admin-ui .segment-skeleton i,.admin-ui .segment-skeleton b,.admin-ui .segment-skeleton span,.admin-ui .segment-loading-rows i { display: block; border-radius: 7px; background: linear-gradient(100deg,var(--ui-card-soft),color-mix(in srgb,var(--ui-primary) 25%,var(--ui-card-soft)),var(--ui-card-soft)); background-size: 220% 100%; animation: monetization-skeleton-shimmer 1.25s linear infinite; }
.admin-ui .segment-skeleton i { width: 35%; height: 9px; }.admin-ui .segment-skeleton b { width: 28%; height: 28px; margin: 20px 0 12px; }.admin-ui .segment-skeleton span { width: 60%; height: 9px; }
.admin-ui .segment-loading-rows { display: grid; padding: 14px 18px; gap: 10px; }.admin-ui .segment-loading-rows i { height: 48px; }
.admin-ui .segment-editor-modal { width: min(900px,calc(100vw - 28px)); }
.admin-ui .segment-editor { display: grid; gap: 14px; }
.admin-ui .segment-editor-intro { display: grid; padding: 13px 14px; gap: 4px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card-soft); }
.admin-ui .segment-editor-intro strong { color: var(--ui-text); font-size: 13px; }.admin-ui .segment-editor-intro span { color: var(--ui-muted); font-size: 10.5px; }
.admin-ui .segment-rule-section { padding: 15px; border: 1px solid var(--ui-border); border-radius: 11px; background: color-mix(in srgb,var(--ui-card-soft) 74%,transparent); }
.admin-ui .segment-rule-section > header { display: flex; margin-bottom: 12px; align-items: flex-start; justify-content: space-between; gap: 12px; }
.admin-ui .segment-rule-section h3 { margin: 0; color: var(--ui-text); font-size: 14px; }.admin-ui .segment-rule-section p { margin: 5px 0 0; color: var(--ui-muted); font-size: 10.5px; }.admin-ui .segment-rule-section p select { width: auto; min-height: 27px; padding: 0 25px 0 8px; }
.admin-ui .segment-rules { display: grid; gap: 8px; }
.admin-ui .segment-rule-note { display: flex; min-height: 38px; margin-bottom: 10px; padding: 8px 10px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(82,184,244,.18); border-radius: 8px; color: var(--ui-muted); background: rgba(82,184,244,.055); font-size: 9.5px; }
.admin-ui .segment-rule-note b { color: #88cef4; font-size: 10px; }
.admin-ui .segment-rule { display: grid; grid-template-columns: minmax(180px,1.1fr) minmax(145px,.8fr) minmax(160px,1fr) 34px; gap: 8px; }
.admin-ui .segment-rule > * { min-width: 0; }.admin-ui .segment-rule button { border: 1px solid rgba(244,91,114,.3); border-radius: 8px; color: var(--ui-coral); background: rgba(244,91,114,.08); font-size: 18px; cursor: pointer; }
.admin-ui .segment-preview { display: flex; min-height: 48px; margin-top: 13px; padding-top: 12px; align-items: center; gap: 12px; border-top: 1px solid var(--ui-border); color: var(--ui-muted); font-size: 10.5px; }.admin-ui .segment-preview strong { color: var(--ui-text); font-size: 14px; }
.admin-ui .segment-static-section small { display: block; margin-top: 5px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .segment-detail-modal { width: min(760px,calc(100vw - 28px)); }.admin-ui .segment-detail-summary { display: grid; margin-bottom: 18px; grid-template-columns: repeat(2,1fr); gap: 9px; }.admin-ui .segment-detail-summary article { padding: 13px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card-soft); }.admin-ui .segment-detail-summary span { display: block; color: var(--ui-muted); font-size: 10px; }.admin-ui .segment-detail-summary strong { display: block; margin-top: 8px; color: var(--ui-text); font-size: 23px; }.admin-ui .segment-detail h3 { margin: 18px 0 8px; color: var(--ui-text); font-size: 13px; }.admin-ui .segment-usages { padding: 0; list-style: none; }.admin-ui .segment-usages li { display: flex; padding: 10px 0; align-items: center; gap: 9px; border-bottom: 1px solid var(--ui-border); }.admin-ui .segment-usages span { padding: 3px 7px; border-radius: 10px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 9px; }.admin-ui .segment-usages b { color: var(--ui-text); font-size: 11px; }.admin-ui .segment-detail.is-loading { opacity: .7; pointer-events: none; }.admin-ui .segment-player-head { display: flex; margin-top: 18px; align-items: end; justify-content: space-between; gap: 12px; }.admin-ui .segment-player-head h3 { margin: 0 0 4px; }.admin-ui .segment-player-head span { color: var(--ui-muted); font-size: 11px; }.admin-ui .segment-player-head nav { display: flex; align-items: center; gap: 8px; }.admin-ui .segment-player-head nav b { color: var(--ui-muted); font-size: 10px; font-weight: 600; }.admin-ui .segment-player-link { padding: 0; border: 0; color: var(--ui-primary-hover); background: transparent; font: inherit; font-weight: 700; cursor: pointer; }.admin-ui .segment-player-link:hover { text-decoration: underline; }
@media (max-width: 920px) {
    .admin-ui .segment-toolbar { grid-template-columns: 1fr 1fr; }
    .admin-ui .segment-search { grid-column: 1 / -1; }
    .admin-ui .segment-table-wrap { max-height: none; overflow: visible; }
    .admin-ui .segments-table { display: block; min-width: 0; }
    .admin-ui .segments-table thead { display: none; }
    .admin-ui .segments-table tbody { display: grid; padding: 10px; gap: 10px; }
    .admin-ui .segments-table tr { display: grid; padding: 13px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 18px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card-soft); }
    .admin-ui .segments-table td { display: grid; min-width: 0; padding: 0; align-content: start; gap: 5px; border: 0; }
    .admin-ui .segments-table td::before { content: attr(data-label); color: var(--ui-muted); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
    .admin-ui .segments-table td:first-child,.admin-ui .segments-table td:last-child { grid-column: 1 / -1; }
    .admin-ui .segment-actions { justify-content: flex-start; flex-wrap: wrap; }
}
@media (max-width: 820px) { .admin-ui .segment-kpis { grid-template-columns: 1fr; }.admin-ui .segment-rule { grid-template-columns: 1fr 1fr; }.admin-ui .segment-rule input { grid-column: 1 / -1; }.admin-ui .segment-rule button { min-height: 34px; }.admin-ui .segment-editor .grid-2 { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .admin-ui .segments-page .page-head { align-items: stretch; }.admin-ui .segments-page .page-head .btn { width: 100%; }.admin-ui .segment-list-head { align-items: flex-start; }.admin-ui .segment-toolbar { grid-template-columns: 1fr; }.admin-ui .segment-search { grid-column: auto; }.admin-ui .segments-table tr { grid-template-columns: 1fr; }.admin-ui .segments-table td,.admin-ui .segments-table td:first-child,.admin-ui .segments-table td:last-child { grid-column: auto; }.admin-ui .segment-actions .btn { flex: 1 1 auto; }.admin-ui .segment-rule { grid-template-columns: 1fr; }.admin-ui .segment-rule input { grid-column: auto; }.admin-ui .segment-preview { align-items: stretch; flex-direction: column; }.admin-ui .segment-detail-summary { grid-template-columns: 1fr; }.admin-ui .segment-player-head { align-items: stretch; flex-direction: column; }.admin-ui .segment-player-head nav { justify-content: space-between; } }
@media (max-width: 620px) { .admin-ui .segment-rule-note { align-items: flex-start; flex-direction: column; } }

/* Tournament operations workspace */
.admin-ui .tournament-operations-page { max-width: 1500px; margin: 0 auto; }
.admin-ui .tournament-page-head { display: flex; align-items: flex-start; gap: 18px; }
.admin-ui .tournament-page-head h1 { margin: 3px 0 0; color: var(--ui-text); font-size: clamp(24px,2vw,30px); line-height: 1.15; }
.admin-ui .tournament-page-head p { margin: 7px 0 0; color: var(--ui-muted); font-size: 13px; line-height: 1.5; }
.admin-ui .tournament-page-actions { display: flex; margin-left: auto; gap: 9px; }
.admin-ui .tournament-page-actions .btn { display: inline-flex; min-height: 40px; padding: 0 14px; align-items: center; gap: 8px; font-size: 12px; }
.admin-ui .tournament-page-actions svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-ui .tournament-summary-grid { display: grid; margin: 18px 0; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.admin-ui .tournament-summary { position: relative; min-height: 112px; padding: 16px !important; overflow: hidden; }
.admin-ui .tournament-summary > span { display: block; color: var(--ui-muted); font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.admin-ui .tournament-summary > strong { display: block; margin-top: 9px; color: var(--ui-text); font-size: clamp(24px,2vw,31px); line-height: 1; }
.admin-ui .tournament-summary > small { display: block; max-width: calc(100% - 38px); margin-top: 8px; color: var(--ui-muted); font-size: 11px; line-height: 1.45; }
.admin-ui .tournament-summary > i { position: absolute; top: 14px; right: 14px; display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .tournament-summary > i svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.admin-ui .tournament-summary.warning > i { color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 15%,transparent); }
.admin-ui .tournament-summary.healthy > i { color: var(--ui-green); background: color-mix(in srgb,var(--ui-green) 14%,transparent); }
.admin-ui .tournament-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--ui-border); overflow-x: auto; scrollbar-width: none; }
.admin-ui .tournament-tabs button { display: inline-flex; min-height: 43px; padding: 0 13px; align-items: center; gap: 7px; border: 0; border-bottom: 2px solid transparent; color: var(--ui-muted); background: transparent; font-size: 12px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.admin-ui .tournament-tabs button:hover { color: var(--ui-text); }
.admin-ui .tournament-tabs button.active { border-bottom-color: var(--ui-primary); color: var(--ui-text); }
.admin-ui .tournament-tabs button span { min-width: 20px; padding: 2px 6px; border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 9px; text-align: center; }
.admin-ui .tournament-toolbar { display: grid; margin: 12px 0; padding: 11px !important; grid-template-columns: minmax(220px,1fr) 170px 170px; gap: 9px; }
.admin-ui .tournament-toolbar label { min-width: 0; }
.admin-ui .tournament-toolbar select,
.admin-ui .tournament-toolbar input { width: 100%; min-height: 40px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-text); background: var(--ui-card-soft); font-size: 12px; }
.admin-ui .tournament-toolbar select { padding: 0 11px; }
.admin-ui .tournament-toolbar .input-with-icon input { padding-left: 38px; }
.admin-ui .tournament-toolbar .input-with-icon svg { left: 12px; width: 16px; }
.admin-ui .tournament-panel { margin-top: 11px; }
.admin-ui .tournament-panel[hidden] { display: none !important; }
.admin-ui .tournament-operational-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(280px,.65fr); gap: 11px; align-items: start; }
.admin-ui .tournament-list-card,
.admin-ui .tournament-gantt-card { padding: 0 !important; overflow: hidden; }
.admin-ui .tournament-section-head { display: flex; min-height: 64px; padding: 13px 15px; align-items: center; gap: 12px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .tournament-section-head h2 { margin: 0; color: var(--ui-text); font-size: 15px; line-height: 1.2; }
.admin-ui .tournament-section-head p { margin: 5px 0 0; color: var(--ui-muted); font-size: 11px; }
.admin-ui .tournament-section-head > span { margin-left: auto; color: var(--ui-muted); font-size: 10px; white-space: nowrap; }
.admin-ui .tournament-instance-row { display: grid; min-height: 82px; padding: 12px 14px; grid-template-columns: minmax(190px,1.4fr) minmax(120px,.8fr) minmax(110px,.7fr) minmax(110px,.7fr) auto; align-items: center; gap: 13px; border-bottom: 1px solid var(--ui-border); color: var(--ui-text); cursor: pointer; }
.admin-ui .tournament-instance-row:last-child { border-bottom: 0; }
.admin-ui .tournament-instance-row:hover,
.admin-ui .tournament-instance-row.selected { background: color-mix(in srgb,var(--ui-primary) 6%,var(--ui-card)); }
.admin-ui .tournament-instance-row > div > strong { display: block; font-size: 12px; }
.admin-ui .tournament-instance-row > div > small { display: block; margin-top: 5px; color: var(--ui-muted); font-size: 10px; line-height: 1.35; }
.admin-ui .tournament-instance-name { display: flex; min-width: 0; align-items: center; gap: 10px; }
.admin-ui .tournament-instance-name > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 9px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .tournament-instance-name svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.admin-ui .tournament-instance-name > div { min-width: 0; }
.admin-ui .tournament-instance-name strong { display: block; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .tournament-instance-name small { display: block; margin-top: 4px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .tournament-status { display: inline-flex; width: max-content; min-height: 23px; padding: 0 8px; align-items: center; border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 9px; font-style: normal; font-weight: 600; }
.admin-ui .tournament-status.live { color: var(--ui-green); background: color-mix(in srgb,var(--ui-green) 14%,transparent); }
.admin-ui .tournament-status.scheduled { color: var(--ui-cyan); background: color-mix(in srgb,var(--ui-cyan) 13%,transparent); }
.admin-ui .tournament-status.pre-start { color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .tournament-status.completed { color: var(--ui-muted); background: var(--ui-card-soft); }
.admin-ui .tournament-status.attention { color: var(--ui-coral); background: color-mix(in srgb,var(--ui-coral) 13%,transparent); }
.admin-ui .tournament-row-action { min-height: 34px; padding: 0 10px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-text); background: transparent; font-size: 10px; cursor: pointer; }
.admin-ui .tournament-row-action:hover { border-color: var(--ui-primary); color: var(--ui-primary-hover); }
.admin-ui .tournament-detail { position: sticky; top: 82px; padding: 15px !important; }
.admin-ui .tournament-detail-head { display: flex; align-items: flex-start; gap: 10px; }
.admin-ui .tournament-detail-head h2 { margin: 0; color: var(--ui-text); font-size: 16px; }
.admin-ui .tournament-detail-head p { margin: 5px 0 0; color: var(--ui-muted); font-size: 10px; }
.admin-ui .tournament-detail-head em { margin-left: auto; }
.admin-ui .tournament-detail-grid { display: grid; margin: 15px 0 0; grid-template-columns: 1fr 1fr; gap: 0; }
.admin-ui .tournament-detail-grid > div { min-height: 64px; padding: 11px 0; border-top: 1px solid var(--ui-border); }
.admin-ui .tournament-detail-grid > div:nth-child(odd) { padding-right: 9px; }
.admin-ui .tournament-detail-grid dt { color: var(--ui-muted); font-size: 9px; text-transform: uppercase; }
.admin-ui .tournament-detail-grid dd { margin: 6px 0 0; color: var(--ui-text); font-size: 11px; line-height: 1.35; }
.admin-ui .tournament-detail-alert { display: flex; margin-top: 10px; padding: 11px; align-items: flex-start; gap: 9px; border: 1px solid color-mix(in srgb,var(--ui-orange) 35%,transparent); border-radius: 8px; color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 9%,transparent); }
.admin-ui .tournament-detail-alert > svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; }
.admin-ui .tournament-detail-alert strong,
.admin-ui .tournament-detail-alert small { display: block; }
.admin-ui .tournament-detail-alert strong { color: var(--ui-text); font-size: 11px; }
.admin-ui .tournament-detail-alert small { margin-top: 4px; color: var(--ui-muted); font-size: 10px; line-height: 1.4; }
.admin-ui .tournament-detail-actions { display: flex; margin-top: 13px; gap: 8px; }
.admin-ui .tournament-detail-actions .btn { flex: 1; min-height: 36px; font-size: 10px; }
.admin-ui .tournament-detail-empty,
.admin-ui .tournament-empty { display: grid; min-height: 220px; padding: 28px; place-items: center; align-content: center; gap: 8px; color: var(--ui-muted); text-align: center; }
.admin-ui .tournament-empty.gantt { min-height: 320px; }
.admin-ui .tournament-detail-empty > span,
.admin-ui .tournament-empty > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 12px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .tournament-detail-empty svg,
.admin-ui .tournament-empty svg { width: 22px; height: 22px; fill: none; stroke: currentColor; }
.admin-ui .tournament-detail-empty strong,
.admin-ui .tournament-empty strong { color: var(--ui-text); font-size: 13px; }
.admin-ui .tournament-detail-empty small,
.admin-ui .tournament-empty small { max-width: 420px; font-size: 11px; line-height: 1.5; }
.admin-ui .tournament-gantt-range { display: flex; margin-left: auto; padding: 3px; gap: 2px; border: 1px solid var(--ui-border); border-radius: 8px; background: var(--ui-card-soft); }
.admin-ui .tournament-gantt-range button { min-width: 39px; min-height: 29px; border: 0; border-radius: 6px; color: var(--ui-muted); background: transparent; font-size: 10px; cursor: pointer; }
.admin-ui .tournament-gantt-range button.active { color: var(--ui-text); background: var(--ui-primary-soft); }
.admin-ui .tournament-gantt-scroll { max-width: 100%; overflow-x: auto; scrollbar-width: thin; }
.admin-ui .tournament-gantt { min-width: 760px; }
.admin-ui .tournament-gantt-axis,
.admin-ui .tournament-gantt-row { display: grid; grid-template-columns: 190px minmax(570px,1fr); }
.admin-ui .tournament-gantt-axis { min-height: 52px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .tournament-gantt-axis > span { display: flex; padding: 0 14px; align-items: center; color: var(--ui-muted); font-size: 9px; font-weight: 600; }
.admin-ui .tournament-gantt-axis > div { display: grid; grid-template-columns: repeat(var(--gantt-days),minmax(72px,1fr)); }
.admin-ui .tournament-gantt-axis > div > span { display: flex; flex-direction: column; align-items: center; justify-content: center; border-left: 1px solid var(--ui-border); color: var(--ui-muted); font-size: 9px; }
.admin-ui .tournament-gantt-axis strong { margin-top: 4px; color: var(--ui-text); font-size: 10px; }
.admin-ui .tournament-gantt-row { min-height: 76px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .tournament-gantt-line { display: grid; padding: 10px 12px; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 8px; }
.admin-ui .tournament-gantt-line > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .tournament-gantt-line svg { width: 15px; height: 15px; fill: none; stroke: currentColor; }
.admin-ui .tournament-gantt-line strong,
.admin-ui .tournament-gantt-line small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .tournament-gantt-line strong { color: var(--ui-text); font-size: 11px; }
.admin-ui .tournament-gantt-line small { margin-top: 4px; color: var(--ui-muted); font-size: 9px; }
.admin-ui .tournament-gantt-line button { min-height: 29px; padding: 0 7px; border: 0; border-radius: 6px; color: var(--ui-muted); background: transparent; font-size: 9px; cursor: pointer; }
.admin-ui .tournament-gantt-line button:hover { color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .tournament-gantt-track { position: relative; min-height: 76px; background-image: linear-gradient(to right,transparent calc(100% - 1px),var(--ui-border) calc(100% - 1px)); background-size: calc(100% / var(--gantt-days)) 100%; }
.admin-ui .tournament-gantt-track::after { position: absolute; z-index: 3; top: 0; bottom: 0; left: var(--gantt-now); width: 1px; background: var(--ui-coral); content: ""; pointer-events: none; }
.admin-ui .tournament-gantt-track > small { position: absolute; top: 29px; left: 12px; color: var(--ui-muted); font-size: 9px; }
.admin-ui .tournament-gantt-track > em { position: absolute; right: 10px; bottom: 6px; color: var(--ui-coral); font-size: 8px; font-style: normal; }
.admin-ui .tournament-gantt-bar { position: absolute; z-index: 2; top: 20px; display: flex; height: 36px; min-width: 5px; padding: 0; align-items: stretch; overflow: hidden; border: 1px solid color-mix(in srgb,var(--ui-primary) 45%,var(--ui-border)); border-radius: 7px; background: var(--ui-primary-soft); cursor: pointer; }
.admin-ui .tournament-gantt-bar:hover { border-color: var(--ui-primary-hover); filter: brightness(1.08); }
.admin-ui .tournament-gantt-bar i { display: block; height: 100%; }
.admin-ui .tournament-gantt-bar i.pre { background: color-mix(in srgb,var(--ui-cyan) 68%,var(--ui-card)); }
.admin-ui .tournament-gantt-bar i.live { background: color-mix(in srgb,var(--ui-primary) 78%,var(--ui-card)); }
.admin-ui .tournament-gantt-bar span { position: absolute; inset: 0; display: flex; padding: 0 8px; align-items: center; justify-content: center; overflow: hidden; color: #fff; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .tournament-gantt-legend { display: flex; min-height: 49px; padding: 10px 14px 10px 204px; align-items: center; gap: 15px; color: var(--ui-muted); font-size: 9px; }
.admin-ui .tournament-gantt-legend span,
.admin-ui .tournament-gantt-legend b { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; }
.admin-ui .tournament-gantt-legend i { width: 9px; height: 9px; border-radius: 3px; }
.admin-ui .tournament-gantt-legend i.pre { background: color-mix(in srgb,var(--ui-cyan) 68%,var(--ui-card)); }
.admin-ui .tournament-gantt-legend i.live { background: color-mix(in srgb,var(--ui-primary) 78%,var(--ui-card)); }
.admin-ui .tournament-gantt-legend b { margin-left: auto; color: var(--ui-coral); }
.admin-ui .tournament-gantt-legend svg { width: 13px; height: 13px; fill: none; stroke: currentColor; }
.admin-ui .tournament-editor-modal { width: min(920px,calc(100vw - 28px)); max-height: calc(100vh - 28px); overflow: hidden; }
.admin-ui .tournament-editor-modal > .modal-content { max-height: calc(100vh - 92px); overflow-y: auto; }
.admin-ui .tournament-editor-form { display: grid; gap: 2px; }
.admin-ui .tournament-edit-context { display: grid; margin-bottom: 16px; padding: 14px; grid-template-columns: 36px minmax(0,1fr); gap: 11px; border: 1px solid color-mix(in srgb,var(--ui-cyan) 42%,var(--ui-border)); border-radius: 11px; background: color-mix(in srgb,var(--ui-cyan) 9%,var(--ui-card-soft)); }
.admin-ui .tournament-edit-context > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 9px; color: var(--ui-cyan); background: color-mix(in srgb,var(--ui-cyan) 15%,transparent); }
.admin-ui .tournament-edit-context svg { width: 18px; height: 18px; fill: none; stroke: currentColor; }
.admin-ui .tournament-edit-context strong { display: block; color: var(--ui-text); font-size: 13px; }
.admin-ui .tournament-edit-context p { margin: 5px 0 0; color: var(--ui-muted); font-size: 11px; line-height: 1.6; }
.admin-ui .tournament-edit-context.danger { border-color: color-mix(in srgb,var(--ui-coral) 48%,var(--ui-border)); background: color-mix(in srgb,var(--ui-coral) 10%,var(--ui-card-soft)); }
.admin-ui .tournament-edit-context.danger > span { color: var(--ui-coral); background: color-mix(in srgb,var(--ui-coral) 16%,transparent); }
.admin-ui .tournament-instance-schedule { margin: 8px 0 16px; padding: 14px; border: 1px solid var(--ui-border); border-radius: 11px; background: var(--ui-card-soft); }
.admin-ui .tournament-instance-schedule > div:first-child { margin-bottom: 12px; }
.admin-ui .tournament-instance-schedule > div:first-child span,.admin-ui .tournament-instance-schedule > div:first-child strong,.admin-ui .tournament-instance-schedule > div:first-child small { display: block; }
.admin-ui .tournament-instance-schedule > div:first-child span { color: var(--ui-primary-hover); font-size: 9px; font-weight: 700; letter-spacing: .08em; }
.admin-ui .tournament-instance-schedule > div:first-child strong { margin-top: 4px; color: var(--ui-text); font-size: 12px; }
.admin-ui .tournament-instance-schedule > div:first-child small { margin-top: 3px; color: var(--ui-muted); font-size: 10px; }
.tournament-apply-choice-backdrop { position: fixed; z-index: 10000; inset: 0; display: grid; padding: 16px; place-items: center; background: rgba(3,8,18,.76); backdrop-filter: blur(7px); }
.admin-ui .tournament-apply-choice { display: grid; width: min(520px,calc(100vw - 32px)); padding: 22px; gap: 12px; border: 1px solid var(--ui-border); border-radius: 15px; background: var(--ui-card); box-shadow: 0 24px 80px rgba(0,0,0,.45); }
.admin-ui .tournament-apply-choice-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; color: var(--ui-coral); background: color-mix(in srgb,var(--ui-coral) 15%,transparent); }
.admin-ui .tournament-apply-choice-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; }
.admin-ui .tournament-apply-choice h3 { margin: 0; color: var(--ui-text); font-size: 17px; }
.admin-ui .tournament-apply-choice p { margin: 6px 0 4px; color: var(--ui-muted); font-size: 11px; line-height: 1.6; }
.admin-ui .tournament-apply-option { display: flex; min-height: 60px; padding: 11px 13px; flex-direction: column; align-items: flex-start; justify-content: center; border: 1px solid var(--ui-border); border-radius: 10px; color: var(--ui-text); background: var(--ui-card-soft); cursor: pointer; text-align: left; }
.admin-ui .tournament-apply-option:hover { border-color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .tournament-apply-option.primary { border-color: color-mix(in srgb,var(--ui-coral) 52%,var(--ui-border)); }
.admin-ui .tournament-apply-option strong { font-size: 12px; }
.admin-ui .tournament-apply-option small { margin-top: 4px; color: var(--ui-muted); font-size: 10px; }

@media (max-width: 1100px) {
    .admin-ui .tournament-summary-grid { grid-template-columns: 1fr 1fr; }
    .admin-ui .tournament-operational-layout { grid-template-columns: 1fr; }
    .admin-ui .tournament-detail { position: static; }
}
@media (max-width: 760px) {
    .admin-ui .tournament-editor-modal { width: calc(100vw - 16px); max-height: calc(100vh - 16px); }
    .admin-ui .tournament-editor-modal > .modal-content { max-height: calc(100vh - 76px); }
    .admin-ui .tournament-edit-context { grid-template-columns: 32px minmax(0,1fr); padding: 12px; }
    .admin-ui .tournament-edit-context > span { width: 32px; height: 32px; }
    .admin-ui .tournament-instance-schedule .grid-2 { grid-template-columns: 1fr; }
    .admin-ui .tournament-page-head { flex-direction: column; }
    .admin-ui .tournament-page-actions { width: 100%; margin-left: 0; }
    .admin-ui .tournament-page-actions .btn { flex: 1; justify-content: center; }
    .admin-ui .tournament-toolbar { grid-template-columns: 1fr 1fr; }
    .admin-ui .tournament-toolbar .input-with-icon { grid-column: 1 / -1; }
    .admin-ui .tournament-instance-row { grid-template-columns: minmax(0,1fr) auto; }
    .admin-ui .tournament-instance-row > div:nth-child(3),
    .admin-ui .tournament-instance-row > div:nth-child(4) { display: none; }
    .admin-ui .tournament-gantt-legend { padding-left: 14px; }
}
@media (max-width: 480px) {
    .admin-ui .tournament-summary-grid { grid-template-columns: 1fr; }
    .admin-ui .tournament-toolbar { grid-template-columns: 1fr; }
    .admin-ui .tournament-toolbar .input-with-icon { grid-column: auto; }
    .admin-ui .tournament-page-actions { flex-direction: column; }
    .admin-ui .tournament-detail-grid { grid-template-columns: 1fr; }
    .admin-ui .tournament-detail-grid > div:nth-child(odd) { padding-right: 0; }
}
@media (max-width: 720px) {
    .admin-ui .overview-page .overview-head { align-items: stretch !important; flex-direction: column; }
    .admin-ui .overview-page .overview-controls,
    .admin-ui .overview-page .overview-controls > .admin-date-filter,
    .admin-ui .overview-page .overview-controls .admin-date-filter-trigger { width: 100% !important; }
    .admin-ui .overview-primary-kpis { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .admin-ui .overview-mock-liveops-row { grid-template-columns: 1fr; }
    .admin-ui .overview-system-status { align-items: flex-start; flex-direction: column; }
    .admin-ui .overview-system-meta { justify-content: flex-start; text-align: left; }
    .admin-ui .admin-management-head { align-items: stretch; flex-direction: column; }
    .admin-ui .admin-create-button { justify-content: center; }
    .admin-ui .admin-management-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .admin-permission-groups { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .admin-ui .overview-retention-cards { grid-template-columns: 1fr; }
    .admin-ui .overview-engagement-stats { grid-template-columns: 1fr; }
    .admin-ui .overview-primary-kpis .overview-kpi { min-height: 126px !important; padding: 13px !important; }
    .admin-ui .overview-primary-kpis .overview-kpi > strong { font-size: clamp(25px,7.2vw,29px); }
    .admin-ui .overview-primary-kpis .overview-kpi > small { font-size: 11px; }
    .admin-ui .overview-system-status { padding: 14px; }
    .admin-ui .overview-page .overview-chart,
    .admin-ui .overview-page .overview-chart.revenue { height: 210px !important; min-height: 210px !important; }
    .admin-ui .overview-page .chart-x-label,
    .admin-ui .overview-page .chart-y-label { font-size: 18px !important; }
    .admin-ui .overview-page .chart-tooltip-date,
    .admin-ui .overview-page .chart-tooltip-value { font-size: 17px !important; }
    .admin-ui .overview-page .chart-tooltip-label { font-size: 16px !important; }
    .admin-ui .overview-skeleton-retention { grid-template-columns: 1fr; }
    .admin-ui .overview-skeleton-chart, .admin-ui .overview-skeleton-bars { height: 180px; }
    .admin-ui .overview-panel-action { min-height: 30px; padding: 0 9px; font-size: 10px; }
    .admin-ui .admin-management-summary { grid-template-columns: 1fr; }
    .admin-ui .admin-management-summary article { min-height: 82px; }
    .admin-ui .admin-permissions-heading { align-items: flex-start; flex-direction: column; }
    .admin-ui .admin-permissions-heading > div:last-child { width: 100%; }
    .admin-ui .admin-permissions-heading button { flex: 1; }
}

/* Topbar interactions, readable type and account controls */
.admin-ui .admin-sidebar-collapse { display: none !important; }
.admin-ui .topbar { overflow: visible !important; }
.admin-ui .topbar-search { position: relative; width: clamp(280px,31vw,460px) !important; min-height: 40px !important; padding: 0 12px !important; border-radius: 9px !important; }
.admin-ui .topbar-search input { font-size: clamp(12px,.78vw,14px) !important; line-height: 1.4; }
.admin-ui .topbar-search kbd { font-size: 10px !important; }
.admin-ui .topbar-search-results { position: absolute; z-index: 120; top: calc(100% + 7px); left: 0; width: min(520px,calc(100vw - 28px)); padding: 6px; border: 1px solid var(--ui-border-strong); border-radius: 11px; background: var(--ui-card); box-shadow: 0 18px 46px rgba(0,0,0,.38); }
.admin-ui .topbar-search-results[hidden] { display: none; }
.admin-ui .topbar-search-results a, .admin-ui .topbar-search-results button { display: grid; width: 100%; min-height: 54px; padding: 8px 10px; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; border: 0; border-radius: 8px; color: var(--ui-text); background: transparent; text-align: left; text-decoration: none; cursor: pointer; }
.admin-ui .topbar-search-results a:hover, .admin-ui .topbar-search-results button:hover { background: var(--ui-primary-soft); }
.admin-ui .search-result-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 8px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .search-result-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.admin-ui .topbar-search-results strong, .admin-ui .topbar-search-results small { display: block; }
.admin-ui .topbar-search-results strong { font-size: 13px; font-weight: 600; }
.admin-ui .topbar-search-results small { margin-top: 3px; color: var(--ui-muted); font-size: 11px; }
.admin-ui .topbar-search-results kbd { color: var(--ui-muted); font-size: 10px; }

.admin-ui .topbar-menu { position: relative; }
.admin-ui .topbar-environment { display: flex; min-height: 34px; padding: 0 10px; align-items: center; gap: 6px; border: 1px solid var(--ui-border); border-radius: 999px; color: var(--ui-orange); background: color-mix(in srgb,var(--ui-orange) 13%,var(--ui-card)); font-size: 11px; font-weight: 700; cursor: pointer; }
.admin-ui .topbar-environment > i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px color-mix(in srgb,currentColor 12%,transparent); }
.admin-ui .topbar-environment b { color: var(--ui-muted); font-size: 12px; transition: transform .15s ease; }
.admin-ui .topbar-environment[aria-expanded="true"] b, .admin-ui .topbar-profile[aria-expanded="true"] b { transform: rotate(180deg); }
.admin-ui .topbar-popover { position: absolute; z-index: 125; top: calc(100% + 8px); right: 0; width: 330px; padding: 6px; overflow: hidden; border: 1px solid var(--ui-border-strong); border-radius: 12px; background: var(--ui-card); box-shadow: 0 20px 54px rgba(0,0,0,.42); }
.admin-ui .topbar-popover[hidden] { display: none; }
.admin-ui .topbar-popover-head { padding: 10px 10px 11px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .topbar-popover-head strong, .admin-ui .topbar-popover-head small { display: block; }
.admin-ui .topbar-popover-head strong { color: var(--ui-text); font-size: 13px; }
.admin-ui .topbar-popover-head small { margin-top: 4px; color: var(--ui-muted); font-size: 11px; line-height: 1.4; }
.admin-ui .connection-option { display: grid; width: 100%; min-height: 58px; padding: 8px 10px; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px; border: 0; border-radius: 9px; color: var(--ui-text); background: transparent; text-align: left; cursor: pointer; }
.admin-ui .connection-option:hover:not(:disabled), .admin-ui .connection-option.active { background: var(--ui-primary-soft); }
.admin-ui .connection-option:disabled { opacity: .48; cursor: not-allowed; }
.admin-ui .connection-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 8px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .connection-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.admin-ui .connection-option strong, .admin-ui .connection-option small { display: block; }
.admin-ui .connection-option strong { font-size: 12px; }
.admin-ui .connection-option small { margin-top: 3px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .connection-option > i { color: var(--ui-muted); font-size: 9px; font-style: normal; }
.admin-ui .connection-option.active > i { color: var(--ui-green); }

.admin-ui .topbar-icon-button { width: 36px !important; height: 36px !important; }
.admin-ui .topbar-icon-button > i { display: grid !important; position: absolute; top: -4px; right: -4px; width: 17px !important; height: 17px !important; place-items: center; border: 2px solid var(--ui-topbar); border-radius: 50%; background: var(--ui-coral) !important; }
.admin-ui .topbar-icon-button > i span { color: #fff; font-size: 8px; font-style: normal; font-weight: 700; }
.admin-ui .notifications-popover { width: 350px; }
.admin-ui .notification-item { display: grid; width: 100%; min-height: 62px; padding: 10px; grid-template-columns: 9px minmax(0,1fr); align-items: center; gap: 11px; border: 0; border-radius: 9px; color: var(--ui-text); background: transparent; text-align: left; cursor: pointer; }
.admin-ui .notification-item:hover { background: var(--ui-primary-soft); }
.admin-ui .notification-item.read { opacity: .62; }
.admin-ui .notification-item > i { width: 8px; height: 8px; border-radius: 50%; background: var(--ui-cyan); box-shadow: 0 0 0 4px color-mix(in srgb,var(--ui-cyan) 12%,transparent); }
.admin-ui .notification-item > i.warning { background: var(--ui-orange); box-shadow: 0 0 0 4px color-mix(in srgb,var(--ui-orange) 12%,transparent); }
.admin-ui .notification-item > i.secure { background: var(--ui-green); box-shadow: 0 0 0 4px color-mix(in srgb,var(--ui-green) 12%,transparent); }
.admin-ui .notification-item strong, .admin-ui .notification-item small { display: block; }
.admin-ui .notification-item strong { font-size: 12px; }
.admin-ui .notification-item small { margin-top: 4px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .mark-notifications-read { width: 100%; padding: 9px; border: 0; border-top: 1px solid var(--ui-border); color: var(--ui-primary-hover); background: transparent; font-size: 11px; cursor: pointer; }
.admin-ui .topbar-empty { padding: 18px 12px; color: var(--ui-muted); font-size: 11px; text-align: center; }

.admin-ui .topbar-profile { min-width: 160px !important; padding: 4px 7px 4px 4px !important; }
.admin-ui .topbar-profile strong { font-size: 12px !important; font-weight: 600 !important; }
.admin-ui .topbar-profile small { font-size: 10px !important; }
.admin-ui .topbar-avatar { display: grid; width: 34px; height: 34px; flex: 0 0 34px; overflow: hidden; place-items: center; border-radius: 9px; color: #fff; background: var(--ui-primary); font-size: 12px; font-weight: 700; }
.admin-ui .topbar-avatar img { width: 100%; height: 100%; object-fit: cover; }
.admin-ui .profile-popover { width: 290px; }
.admin-ui .profile-popover-head { display: flex; padding: 11px; align-items: center; gap: 10px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .topbar-avatar.large { width: 42px; height: 42px; flex-basis: 42px; border-radius: 11px; }
.admin-ui .profile-popover-head strong, .admin-ui .profile-popover-head small { display: block; }
.admin-ui .profile-popover-head strong { font-size: 13px; }
.admin-ui .profile-popover-head small { margin-top: 3px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .profile-popover > button, .admin-ui .profile-popover > a { display: grid; width: 100%; min-height: 54px; padding: 8px 10px; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 9px; border: 0; border-radius: 8px; color: var(--ui-text); background: transparent; text-align: left; text-decoration: none; cursor: pointer; }
.admin-ui .profile-popover > button:hover, .admin-ui .profile-popover > a:hover { background: var(--ui-primary-soft); }
.admin-ui .profile-popover > button > svg, .admin-ui .profile-popover > a > svg { width: 18px; height: 18px; fill: none; stroke: var(--ui-muted); stroke-width: 1.7; }
.admin-ui .profile-popover > button strong, .admin-ui .profile-popover > button small, .admin-ui .profile-popover > a strong, .admin-ui .profile-popover > a small { display: block; }
.admin-ui .profile-popover > button strong, .admin-ui .profile-popover > a strong { font-size: 12px; }
.admin-ui .profile-popover > button small, .admin-ui .profile-popover > a small { margin-top: 3px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .profile-popover > button.danger strong, .admin-ui .profile-popover > button.danger > svg { color: var(--ui-coral); stroke: var(--ui-coral); }

.admin-ui .profile-settings-modal { width: min(660px,calc(100vw - 28px)); }
.admin-ui .profile-settings-hero { display: flex; margin-bottom: 16px; padding: 13px; align-items: center; gap: 13px; border: 1px solid var(--ui-border); border-radius: 11px; background: var(--ui-card-soft); }
.admin-ui .profile-avatar-editor { position: relative; display: block; cursor: pointer; }
.admin-ui .profile-avatar-editor input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.admin-ui .topbar-avatar.preview { width: 58px; height: 58px; border-radius: 15px; font-size: 18px; }
.admin-ui .profile-avatar-editor > span:last-child { position: absolute; right: -6px; bottom: -5px; padding: 3px 6px; border: 1px solid var(--ui-border); border-radius: 999px; color: var(--ui-text); background: var(--ui-card); font-size: 8px; white-space: nowrap; }
.admin-ui .profile-settings-hero > div strong, .admin-ui .profile-settings-hero > div small { display: block; }
.admin-ui .profile-settings-hero > div strong { font-size: 14px; }
.admin-ui .profile-settings-hero > div small { margin-top: 4px; color: var(--ui-muted); font-size: 11px; }
.admin-ui .profile-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.admin-ui .profile-fields .field > span { font-size: 11px; }
.admin-ui .profile-fields input { font-size: 12px; }
.admin-ui .profile-fields small { display: block; margin-top: 5px; color: var(--ui-muted); font-size: 9px; }
.admin-ui .profile-access-summary { display: grid; margin-top: 14px; padding: 12px; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px solid color-mix(in srgb,var(--ui-green) 24%,var(--ui-border)); border-radius: 10px; background: color-mix(in srgb,var(--ui-green) 8%,transparent); }
.admin-ui .profile-access-summary > svg { width: 20px; height: 20px; fill: none; stroke: var(--ui-green); stroke-width: 1.7; }
.admin-ui .profile-access-summary strong, .admin-ui .profile-access-summary small { display: block; }
.admin-ui .profile-access-summary strong { font-size: 12px; }
.admin-ui .profile-access-summary small { margin-top: 3px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .profile-access-summary a { color: var(--ui-primary-hover); font-size: 11px; text-decoration: none; }

/* Keep resource symbols visually centered at every font scale. */
.admin-ui .overview-resource-icon { display: grid !important; padding: 0 !important; place-items: center !important; line-height: 0 !important; }
.admin-ui .overview-resource-icon svg { display: block; width: 18px !important; height: 18px !important; margin: auto; }

@media (max-width: 1050px) {
    .admin-ui .topbar-search { width: min(340px,38vw) !important; }
    .admin-ui .topbar-profile { min-width: 42px !important; }
    .admin-ui .topbar-profile > span:nth-child(2) { display: none !important; }
}
@media (max-width: 720px) {
    .admin-ui .topbar-search { flex: 1; width: auto !important; }
    .admin-ui .topbar-search kbd, .admin-ui .topbar-environment b, .admin-ui .topbar-environment span { display: none; }
    .admin-ui .topbar-environment { width: 34px; padding: 0; justify-content: center; }
    .admin-ui .topbar-profile { min-width: 34px !important; padding: 0 !important; }
    .admin-ui .topbar-profile b { display: none; }
    .admin-ui .topbar-popover { position: fixed; top: 62px; right: 10px; left: 10px; width: auto; }
    .admin-ui .topbar-search-results { position: fixed; top: 62px; right: 10px; left: 10px; width: auto; }
    .admin-ui .profile-fields { grid-template-columns: 1fr; }
    .admin-ui .profile-access-summary { grid-template-columns: 26px minmax(0,1fr); }
    .admin-ui .profile-access-summary a { grid-column: 2; }
}
@media (max-width: 359px) {
    .admin-ui .overview-primary-kpis { grid-template-columns: 1fr !important; }
}

/* Shared header date control — one predictable location on every date-aware screen. */
.admin-ui .topbar-page-actions { flex: 0 0 auto; }
.admin-ui .topbar-page-actions .admin-date-filter { z-index: 126; }
.admin-ui .topbar-page-actions .admin-date-filter-trigger {
    min-width: 178px !important; height: 40px !important; padding: 0 12px !important; gap: 9px;
    border-radius: 9px !important; background: var(--ui-card-soft) !important; cursor: pointer;
}
.admin-ui .topbar-page-actions .admin-date-filter-trigger:hover,
.admin-ui .topbar-page-actions .admin-date-filter-trigger[aria-expanded="true"] { border-color: var(--ui-border-strong) !important; background: color-mix(in srgb,var(--ui-primary) 7%,var(--ui-card-soft)) !important; }
.admin-ui .topbar-page-actions .admin-date-filter-trigger:focus-visible { outline: 3px solid color-mix(in srgb,var(--ui-primary) 24%,transparent); outline-offset: 1px; }
.admin-ui .topbar-page-actions .admin-date-filter-trigger svg { width: 16px !important; height: 16px !important; flex: 0 0 16px; }
.admin-ui .topbar-page-actions .admin-date-filter-trigger span { font-size: 12px !important; font-weight: 600; white-space: nowrap; }
.admin-ui .topbar-page-actions .admin-date-filter-trigger b { display: inline-flex; font-size: 13px; transition: transform .16s ease; }
.admin-ui .topbar-page-actions .admin-date-filter-trigger[aria-expanded="true"] b { transform: rotate(180deg); }
.admin-ui .topbar-page-actions .admin-date-filter-popover {
    top: calc(100% + 10px); width: 360px; border-color: var(--ui-border-strong) !important;
    border-radius: 12px !important; box-shadow: 0 22px 58px rgba(0,0,0,.44) !important;
}
.admin-ui .topbar-page-actions .admin-date-specific,
.admin-ui .topbar-page-actions .admin-date-presets { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
.admin-ui .topbar-page-actions .admin-date-presets { padding: 10px; }
.admin-ui .topbar-page-actions .admin-date-presets button { min-height: 42px; padding: 0 11px; border-radius: 8px; color: var(--ui-text-soft); font-size: 12px; font-weight: 500; }
.admin-ui .topbar-page-actions .admin-date-presets button:hover { color: var(--ui-text); background: var(--ui-primary-soft); }
.admin-ui .topbar-page-actions .admin-date-presets hr { margin: 5px 10px; }
.admin-ui .topbar-page-actions .admin-date-inputs { padding: 14px 14px 8px; gap: 10px; }
.admin-ui .topbar-page-actions .admin-date-inputs span { min-height: 40px; padding: 10px; font-size: 11px; font-weight: 600; }
.admin-ui .topbar-page-actions .admin-date-calendar { padding: 2px 14px 14px; }
.admin-ui .topbar-page-actions .admin-date-calendar-head { grid-template-columns: 36px 1fr 36px; padding: 8px 0; }
.admin-ui .topbar-page-actions .admin-date-calendar-head button { width: 36px; height: 36px; border-radius: 8px; font-size: 18px; cursor: pointer; }
.admin-ui .topbar-page-actions .admin-date-calendar-head button:hover { color: var(--ui-text); background: var(--ui-primary-soft); }
.admin-ui .topbar-page-actions .admin-date-calendar-head strong { font-size: 13px; font-weight: 600; }
.admin-ui .topbar-page-actions .admin-date-weekdays span { padding: 8px 0; font-size: 10px; font-weight: 600; }
.admin-ui .topbar-page-actions .admin-date-days button,
.admin-ui .topbar-page-actions .admin-date-days .empty { height: 36px; font-size: 11px; font-weight: 500; cursor: pointer; }
.admin-ui .topbar-page-actions .admin-date-days button:hover:not(:disabled):not(.start):not(.end) { color: var(--ui-text) !important; background: color-mix(in srgb,var(--ui-primary) 10%,transparent) !important; }
.admin-ui .topbar-page-actions .admin-date-filter-footer { min-height: 58px; padding: 10px 14px; align-items: center; gap: 10px; }
.admin-ui .topbar-page-actions .admin-date-filter-footer button { min-width: 76px; min-height: 38px; padding: 0 13px; font-size: 11px; font-weight: 600; cursor: pointer; }
.admin-ui .topbar-page-actions .admin-date-filter-footer .admin-date-apply { min-width: 112px; margin-left: auto; }

@media (max-width: 1180px) {
    .admin-ui .topbar-search { max-width: 300px !important; }
    .admin-ui .topbar-page-actions .admin-date-filter-trigger { min-width: 156px !important; }
}
@media (max-width: 720px) {
    .admin-ui .topbar { height: auto !important; min-height: 64px !important; padding-top: 8px !important; padding-bottom: 8px !important; flex-wrap: wrap; }
    .admin-ui .topbar-page-actions { position: static !important; order: 4; width: 100% !important; max-width: none !important; flex: 0 0 100%; }
    .admin-ui .topbar-page-actions .admin-date-filter,
    .admin-ui .topbar-page-actions .admin-date-filter-trigger { width: 100% !important; }
    .admin-ui .topbar-page-actions .admin-date-filter-popover { position: fixed; top: 116px; right: 10px; left: 10px; width: auto; max-height: calc(100vh - 126px); overflow-y: auto; }
}
@media (max-width: 420px) {
    .admin-ui .topbar-page-actions .admin-date-inputs { grid-template-columns: 1fr; }
    .admin-ui .topbar-page-actions .admin-date-inputs i { display: none; }
}

/* User Management — readable, permission-aware Player 360 workspace. */
.admin-ui .user-management-head {
    display: grid; margin: 0 0 18px !important; padding: 4px 0 18px !important;
    grid-template-columns: minmax(260px,1fr) minmax(420px,540px); align-items: end; gap: 28px;
    border: 0 !important; border-bottom: 1px solid var(--ui-border) !important; border-radius: 0 !important; background: transparent !important;
}
.admin-ui .user-management-head .page-eyebrow { display: block; margin-bottom: 7px; font-size: 10px; }
.admin-ui .user-management-head h1 { margin: 0 0 6px; font-size: clamp(24px,1.8vw,30px); font-weight: 650; line-height: 1.15; letter-spacing: -.035em; }
.admin-ui .user-management-head p { max-width: 560px; font-size: 13px; line-height: 1.55; }
.admin-ui .user-id-search { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) 152px; grid-template-rows: auto 44px auto; align-items: center; column-gap: 10px; row-gap: 6px; }
.admin-ui .user-id-search .field { display: contents; }
.admin-ui .user-id-search .field > label { grid-column: 1; grid-row: 1; color: var(--ui-text-soft); font-size: 11px; font-weight: 650; }
.admin-ui .user-id-search .field > .input-with-icon { grid-column: 1; grid-row: 2; }
.admin-ui .user-id-search .field > small { grid-column: 1; grid-row: 3; color: var(--ui-muted); font-size: 10px; }
.admin-ui .user-id-search input { height: 44px; padding: 0 38px !important; font-size: 13px; font-weight: 550; }
.admin-ui .user-id-search input::-webkit-search-cancel-button { opacity: .65; cursor: pointer; }
.admin-ui .user-id-search .input-with-icon > svg { left: 13px; width: 17px; height: 17px; }
.admin-ui .user-id-search button { display: inline-flex; height: 44px; margin: 0; padding: 0 15px; grid-column: 2; grid-row: 2; align-items: center; justify-content: center; gap: 8px; font-size: 12px; font-weight: 650; white-space: nowrap; }
.admin-ui .user-id-search button span { white-space: nowrap; }
.admin-ui .user-id-search button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.admin-ui .user-id-search button:disabled { opacity: .48; cursor: not-allowed; }
.admin-ui .button-spinner { width: 15px; height: 15px; flex: 0 0 15px; border: 2px solid color-mix(in srgb,currentColor 28%,transparent); border-top-color: currentColor; border-radius: 50%; animation: user-spin .7s linear infinite; }
@keyframes user-spin { to { transform: rotate(360deg); } }
.admin-ui .user-search-state { min-height: 300px; padding: 42px 20px; gap: 8px; border-style: dashed; }
.admin-ui .user-search-state-icon { display: grid; width: 52px; height: 52px; margin-bottom: 5px; place-items: center; border-radius: 15px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .user-search-state-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.admin-ui .user-search-state-icon.error { color: var(--ui-coral); background: color-mix(in srgb,var(--ui-coral) 12%,transparent); font-size: 20px; font-weight: 700; }
.admin-ui .user-search-state strong { font-size: 16px; font-weight: 650; }
.admin-ui .user-search-state > span:last-child { max-width: 520px; font-size: 12px; line-height: 1.55; }
.admin-ui .user-inline-loading { display: grid; justify-items: center; gap: 7px; }
.admin-ui .user-inline-loading strong { margin-top: 5px; }
.admin-ui .user-inline-loading small { color: var(--ui-muted); font-size: 11px; }
.admin-ui .user-management-date-source { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; pointer-events: none; }
.admin-ui .user-detail-error { display: flex; min-height: 190px; padding: 28px; align-items: center; justify-content: center; flex-direction: column; gap: 8px; text-align: center; }
.admin-ui .user-detail-error strong { font-size: 15px; }
.admin-ui .user-detail-error span { color: var(--ui-muted); font-size: 12px; }
.admin-ui .user-detail-error button { margin-top: 7px; }

.admin-ui .player360-loading { display: grid; gap: 12px; }
.admin-ui .player360-loading-hero { display: grid; min-height: 104px; padding: 20px !important; grid-template-columns: 56px minmax(0,1fr) 130px; align-items: center; gap: 14px; }
.admin-ui .player360-loading-kpis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.admin-ui .player360-loading-kpis article { display: grid; min-height: 118px; padding: 17px !important; align-content: center; gap: 12px; }
.admin-ui .player360-loading-panels { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 12px; }
.admin-ui .player360-loading-panels article { display: grid; min-height: 280px; padding: 18px !important; gap: 16px; }
.admin-ui .skeleton-block { display: block; overflow: hidden; border-radius: 7px; background: var(--ui-card-soft); position: relative; }
.admin-ui .skeleton-block::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--ui-primary) 10%,transparent),transparent); transform: translateX(-100%); animation: user-shimmer 1.25s ease-in-out infinite; }
.admin-ui .skeleton-block.avatar { width: 56px; height: 56px; border-radius: 15px; }
.admin-ui .skeleton-block.line { height: 10px; }
.admin-ui .skeleton-block.line.wide { width: min(280px,85%); height: 16px; margin-bottom: 12px; }
.admin-ui .skeleton-block.line.medium { width: min(190px,68%); }
.admin-ui .skeleton-block.line.short { width: 42%; }
.admin-ui .skeleton-block.value { width: 38%; height: 29px; }
.admin-ui .skeleton-block.action { width: 130px; height: 40px; justify-self: end; }
.admin-ui .skeleton-block.chart { width: 100%; height: 190px; }
@keyframes user-shimmer { to { transform: translateX(100%); } }

.admin-ui .player360-hero { padding: 20px !important; align-items: center; gap: 20px; }
.admin-ui .player360-avatar { width: 56px !important; height: 56px !important; flex: 0 0 56px; border-radius: 15px !important; font-size: 18px !important; font-weight: 700; }
.admin-ui .player360-eyebrow { font-size: 10px; letter-spacing: .09em; }
.admin-ui .player360-identity h2 { margin: 5px 0 8px !important; font-size: clamp(20px,1.55vw,26px) !important; font-weight: 650 !important; }
.admin-ui .player360-tags .tag { font-size: 10px; }
.admin-ui .player360-actions { align-items: center; gap: 8px; }
.admin-ui .player360-actions > .btn, .admin-ui .player-action-select select { min-height: 38px; font-size: 12px; font-weight: 600; }
.admin-ui .user-profile-tabs { padding: 5px; gap: 4px; scrollbar-width: thin; }
.admin-ui .user-profile-tabs button { min-height: 39px; padding: 0 14px; font-size: 12px; font-weight: 600; }
.admin-ui .player360-panel { padding: 19px !important; }
.admin-ui .player360-panel-head { min-height: 42px; align-items: center; gap: 12px; }
.admin-ui .player360-panel-head h3 { font-size: 16px; font-weight: 650; }
.admin-ui .player360-section-label { font-size: 10px; letter-spacing: .09em; }
.admin-ui .player360-info span { font-size: 10px; }
.admin-ui .player360-info strong { font-size: 13px; line-height: 1.4; }
.admin-ui .player360-kpi > span { font-size: 10px; }
.admin-ui .player360-kpi strong { font-size: clamp(20px,1.5vw,27px); }
.admin-ui .player360-kpi small { font-size: 10px; line-height: 1.45; }
.admin-ui .player360-wallet-item { min-height: 118px; padding: 15px; }
.admin-ui .player360-wallet-item span { font-size: 11px; }
.admin-ui .player360-wallet-item strong { font-size: 21px; }
.admin-ui .player360-wallet-item small { font-size: 10px; }
.admin-ui .player360-wallet-actions .btn { min-height: 33px; font-size: 10px; }
.admin-ui .player360-panel-head > .btn { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; }
.admin-ui .player360-panel-head > .btn svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
.admin-ui .player360-readonly-access { padding: 5px 9px; border: 1px solid var(--ui-border); border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 10px; font-weight: 650; }
.admin-ui .player360-access-note { margin: 12px 0 0; padding: 10px 12px; border-radius: 8px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 10px; line-height: 1.5; }
.admin-ui .player360-access-note strong { color: var(--ui-text-soft); }
.admin-ui .player-segments-panel { min-height: 220px; }
.admin-ui .player-segment-intro { margin: 2px 0 16px; color: var(--ui-muted); font-size: 11px; line-height: 1.55; }
.admin-ui .player-segment-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.admin-ui .player-segment-card { display: grid; min-width: 0; padding: 15px; gap: 12px; border: 1px solid var(--ui-border); border-left: 3px solid var(--ui-primary); border-radius: 11px; background: var(--ui-card-soft); }
.admin-ui .player-segment-card.paused { border-left-color: var(--ui-muted); opacity: .78; }
.admin-ui .player-segment-card > header,.admin-ui .player-segment-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-ui .player-segment-card > header > div { display: grid; min-width: 0; gap: 4px; }
.admin-ui .player-segment-card > header strong { overflow: hidden; color: var(--ui-text); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .player-segment-card code { overflow: hidden; color: var(--ui-muted); font-family: inherit; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .player-segment-card > p { min-height: 34px; margin: 0; color: var(--ui-muted); font-size: 11px; line-height: 1.55; }
.admin-ui .player-segment-reason { display: grid; padding: 10px; gap: 8px; border: 1px solid color-mix(in srgb,var(--ui-primary) 20%,var(--ui-border)); border-radius: 8px; background: color-mix(in srgb,var(--ui-primary-soft) 45%,transparent); }
.admin-ui .player-segment-reason > b { color: var(--ui-text-soft); font-size: 10.5px; }
.admin-ui .player-segment-reason > div { display: flex; flex-wrap: wrap; gap: 6px; }
.admin-ui .player-segment-reason span { display: inline-flex; min-height: 26px; padding: 4px 8px; align-items: center; gap: 5px; border: 1px solid var(--ui-border); border-radius: 999px; color: var(--ui-muted); background: var(--ui-card); font-size: 9.5px; }
.admin-ui .player-segment-reason span em { color: var(--ui-green); font-style: normal; }.admin-ui .player-segment-reason span b { color: var(--ui-text); }
.admin-ui .player-segment-card > footer { padding-top: 2px; }.admin-ui .player-segment-card > footer > span { color: var(--ui-muted); font-size: 9.5px; line-height: 1.45; }
.admin-ui .player-segment-loading { display: grid; gap: 9px; }.admin-ui .player-segment-loading i { height: 72px; border-radius: 9px; background: linear-gradient(100deg,var(--ui-card-soft),color-mix(in srgb,var(--ui-primary) 20%,var(--ui-card-soft)),var(--ui-card-soft)); background-size: 220% 100%; animation: monetization-skeleton-shimmer 1.25s linear infinite; }
.admin-ui .player-segment-empty,.admin-ui .player-segment-error { display: grid; min-height: 130px; padding: 22px; place-content: center; gap: 7px; border: 1px dashed var(--ui-border); border-radius: 10px; text-align: center; }.admin-ui .player-segment-empty strong,.admin-ui .player-segment-error strong { color: var(--ui-text); font-size: 14px; }.admin-ui .player-segment-empty span,.admin-ui .player-segment-error span { color: var(--ui-muted); font-size: 11px; }
.admin-ui .resource-removal-warning { display: grid; margin-bottom: 15px; padding: 13px; gap: 5px; border: 1px solid color-mix(in srgb,var(--ui-coral) 36%,transparent); border-radius: 9px; background: color-mix(in srgb,var(--ui-coral) 9%,transparent); }
.admin-ui .resource-removal-warning strong { color: var(--ui-text); font-size: 13px; }
.admin-ui .resource-removal-warning span { color: var(--ui-muted); font-size: 11px; line-height: 1.45; }
.admin-ui .modal .field > small { display: block; margin-top: 5px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .admin-permission-option strong { font-size: 12px; }
.admin-ui .admin-permission-option small { font-size: 10px; }

@media (max-width: 1050px) {
    .admin-ui .user-management-head { grid-template-columns: 1fr; align-items: stretch; gap: 16px; }
    .admin-ui .user-id-search { max-width: 620px; }
    .admin-ui .player360-loading-panels { grid-template-columns: 1fr; }
    .admin-ui .player-segment-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .admin-ui .user-management-head { padding-top: 2px !important; }
    .admin-ui .player360-loading-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .player360-hero { align-items: flex-start; }
    .admin-ui .player360-actions { width: 100%; justify-content: flex-start; }
    .admin-ui .user-profile-tabs button { min-height: 42px; }
    .admin-ui .player360-panel { padding: 16px !important; }
}
@media (max-width: 520px) {
    .admin-ui .user-id-search { grid-template-columns: 1fr; grid-template-rows: auto 44px auto 44px; }
    .admin-ui .user-id-search button { width: 100%; grid-column: 1; grid-row: 4; }
    .admin-ui .user-search-state { min-height: 250px; }
    .admin-ui .player360-loading-hero { grid-template-columns: 48px minmax(0,1fr); }
    .admin-ui .skeleton-block.avatar { width: 48px; height: 48px; }
    .admin-ui .skeleton-block.action { display: none; }
    .admin-ui .player360-loading-kpis { grid-template-columns: 1fr; }
    .admin-ui .player360-kpis { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .admin-ui .player360-wallet-actions { flex-direction: row; }
    .admin-ui .player-segment-card > footer { align-items: stretch; flex-direction: column; }
    .admin-ui .player-segment-card > footer .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .admin-ui .skeleton-block::after, .admin-ui .button-spinner { animation-duration: .01ms; animation-iteration-count: 1; }
}

/* Reports readability and responsive density */
.admin-ui .reports-page-head { min-height: 64px; margin-bottom: 16px; align-items: center; }
.admin-ui .reports-page-head h1 { margin-bottom: 6px; font-size: clamp(24px,1.8vw,30px); font-weight: 650; }
.admin-ui .reports-page-head p { font-size: 13px; line-height: 1.5; }
.admin-ui .reports-toolbar { margin-bottom: 14px !important; padding: 16px !important; }
.admin-ui .report-type-tabs { padding-bottom: 13px !important; gap: 6px; }
.admin-ui .report-type-tabs button { min-height: 38px; padding: 0 13px !important; font-size: 12px; font-weight: 600; }
.admin-ui .report-filter-grid { grid-template-columns: minmax(260px,1fr) minmax(220px,320px); padding-top: 13px; gap: 12px; }
.admin-ui .report-filter-grid input, .admin-ui .report-filter-grid select { height: 44px !important; font-size: 12px; }
.admin-ui .report-summary-grid { max-width: 620px; margin-bottom: 14px; gap: 12px; }
.admin-ui .report-summary-grid article { padding: 16px 17px !important; }
.admin-ui .report-summary-grid span, .admin-ui .report-summary-grid small { font-size: 10px; line-height: 1.45; }
.admin-ui .report-summary-grid strong { margin: 7px 0 4px; font-size: 28px; font-weight: 650; }
.admin-ui .reports-notice { margin-bottom: 14px; padding: 13px 15px; font-size: 11px; line-height: 1.5; }
.admin-ui .moderation-queue-head { padding: 16px 17px !important; }
.admin-ui .moderation-queue-head h2 { margin-bottom: 4px; font-size: 17px; font-weight: 650; }
.admin-ui .moderation-queue-head p, .admin-ui .moderation-queue-head > span { font-size: 11px; line-height: 1.45; }
.admin-ui .reports-table { font-size: 12px; }
.admin-ui .reports-table th { padding: 11px 16px !important; font-size: 10px; font-weight: 650; letter-spacing: .055em; }
.admin-ui .reports-table td { padding: 13px 16px !important; }
.admin-ui .report-player { min-width: 180px; gap: 11px; }
.admin-ui .report-player-avatar { width: 34px; height: 34px; flex-basis: 34px; font-size: 11px; font-weight: 650; }
.admin-ui .report-player strong { font-size: 12.5px; font-weight: 650; line-height: 1.35; }
.admin-ui .report-player strong i { font-size: 9.5px; }
.admin-ui .report-player small, .admin-ui .reports-table td > small { margin-top: 3px; font-size: 10px; line-height: 1.35; }
.admin-ui .report-reason { margin-top: 5px; padding: 4px 7px; font-size: 9.5px; }
.admin-ui .report-player-status { padding: 5px 8px; font-size: 10px; }
.admin-ui .report-action-trigger { width: 100px; height: 36px; padding: 0 10px; font-size: 11px; font-weight: 600; }
.admin-ui .report-action-popover { min-width: 128px; padding: 5px; }
.admin-ui .report-action-popover button { padding: 9px 10px; font-size: 11px; }

@media (max-width: 620px) {
    .admin-ui .reports-page-head { min-height: 0; margin-bottom: 13px; }
    .admin-ui .reports-page-head h1 { font-size: 24px; }
    .admin-ui .reports-page-head p { font-size: 12px; }
    .admin-ui .reports-toolbar { padding: 13px !important; }
    .admin-ui .report-filter-grid { grid-template-columns: 1fr; }
    .admin-ui .report-summary-grid { max-width: none; }
    .admin-ui .moderation-queue-head { padding: 0 0 12px !important; align-items: flex-end; }
    .admin-ui .reports-table tr { padding: 14px; gap: 10px 14px; }
    .admin-ui .report-player { min-width: 0; }
    .admin-ui .report-player strong { font-size: 12px; }
    .admin-ui .report-action-trigger { width: 96px; }
    .admin-ui .report-mute-presets { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 390px) {
    .admin-ui .report-summary-grid { grid-template-columns: 1fr; }
    .admin-ui .reports-table tr { grid-template-columns: minmax(0,1fr) 96px; }
}

/* Sidebar — stronger hierarchy between section headers and child destinations. */
.admin-ui .admin-shell-body { grid-template-columns: 224px minmax(0,1fr) !important; }
.admin-ui .admin-sections {
    width: 224px !important;
    padding: 0 14px 20px !important;
    border-right: 1px solid #202b3d !important;
    background: #0e1829 !important;
}
.admin-ui .admin-sections-head {
    min-height: 52px !important;
    padding: 0 8px !important;
    gap: 9px !important;
}
.admin-ui .admin-brand-mark {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px;
    border-radius: 9px !important;
    background: #766cff !important;
}
.admin-ui .admin-sections-head > strong {
    color: #f5f8ff !important;
    font-size: 14px !important;
    font-weight: 650 !important;
}
.admin-ui .admin-sections-list { padding: 0 !important; gap: 0 !important; }
.admin-ui .admin-nav-group {
    margin: 0 !important;
    padding: 8px 0 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #202b3d !important;
    background: transparent !important;
}
.admin-ui .admin-nav-group:last-child { border-bottom: 0 !important; }
.admin-ui .admin-nav-group + .admin-nav-group { padding-top: 8px !important; }
.admin-ui .admin-section-item {
    min-height: 36px !important;
    margin: 0 0 4px !important;
    padding: 7px 8px !important;
    gap: 9px;
    border-radius: 8px !important;
    color: #a9a8ff !important;
    background: rgba(123,114,255,.035) !important;
}
.admin-ui .admin-nav-group:not(.collapsed) > .admin-section-item { background: rgba(123,114,255,.075) !important; }
.admin-ui .admin-nav-group.active > .admin-section-item { color: #c5c3ff !important; background: rgba(123,114,255,.105) !important; }
.admin-ui .admin-section-item strong {
    color: inherit !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: .085em;
}
.admin-ui .admin-section-icon,
.admin-ui .admin-section-chevron { color: #9295ff !important; }
.admin-ui .admin-section-icon svg { width: 15px !important; height: 15px !important; }
.admin-ui .admin-section-chevron { display: grid; width: 18px; height: 18px; place-items: center; }
.admin-ui .admin-section-chevron svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .18s ease; }
.admin-ui .admin-nav-group.collapsed .admin-section-chevron svg { transform: rotate(-90deg); }
.admin-ui .admin-subsections {
    position: relative;
    margin-left: 15px !important;
    padding: 2px 0 2px 10px !important;
    gap: 2px !important;
    border-left: 1px solid rgba(142,183,232,.18);
}
.admin-ui .admin-subsections > a {
    position: relative;
    width: auto !important;
    min-width: 0;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 8px 4px 8px 8px !important;
    gap: 7px;
    border-radius: 9px !important;
    color: #8eb7e8 !important;
    background: transparent !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
}
.admin-ui .admin-subsections > a:hover {
    color: #dce9fa !important;
    background: rgba(255,255,255,.045) !important;
}
.admin-ui .admin-subsections > a.active {
    color: #f8fbff !important;
    background: linear-gradient(90deg,#2b3749,#273243) !important;
    box-shadow: none !important;
    font-weight: 650 !important;
}
.admin-ui .admin-subsections > a.active::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: -11px;
    width: 2px;
    border-radius: 3px;
    background: #847cff;
    box-shadow: 0 0 8px rgba(132,124,255,.55);
}
.admin-ui .admin-subsections > a > span:last-child { min-width: 0; white-space: nowrap; }
.admin-ui .admin-subsection-icon { width: 16px !important; flex-basis: 16px; }
.admin-ui .admin-subsection-icon svg { width: 16px !important; height: 16px !important; }

body.admin-sidebar-collapsed.admin-ui .admin-shell-body { grid-template-columns: 64px minmax(0,1fr) !important; }
body.admin-sidebar-collapsed.admin-ui .admin-sections { width: 64px !important; }

@media (max-width: 620px) {
    .admin-ui .admin-shell-body,
    body.admin-sidebar-collapsed.admin-ui .admin-shell-body { display: block !important; }
    .admin-ui .admin-sections,
    body.admin-sidebar-collapsed.admin-ui .admin-sections { width: min(260px,calc(100% - 48px)) !important; }
}

/* Shared player acquisition source filter */
.admin-ui .topbar-page-actions { gap: 8px; }
.admin-ui .player-source-menu { z-index: 127; }
.admin-ui .player-source-trigger {
    display: flex; width: 172px; height: 40px; padding: 0 12px; align-items: center; gap: 9px;
    border: 1px solid var(--ui-border); border-radius: 9px; color: var(--ui-text);
    background: var(--ui-card-soft); cursor: pointer;
}
.admin-ui .player-source-trigger:hover,
.admin-ui .player-source-trigger[aria-expanded="true"] { border-color: var(--ui-border-strong); background: color-mix(in srgb,var(--ui-primary) 7%,var(--ui-card-soft)); }
.admin-ui .player-source-trigger:focus-visible { outline: 3px solid color-mix(in srgb,var(--ui-primary) 24%,transparent); outline-offset: 1px; }
.admin-ui .player-source-trigger svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: var(--ui-muted); stroke-width: 1.7; }
.admin-ui .player-source-trigger span { min-width: 0; flex: 1; overflow: hidden; font-size: 12px; font-weight: 600; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .player-source-trigger b { color: var(--ui-muted); font-size: 13px; transition: transform .16s ease; }
.admin-ui .player-source-trigger[aria-expanded="true"] b { transform: rotate(180deg); }
.admin-ui .player-source-popover { width: 340px; }
.admin-ui .player-source-options { max-height: min(410px,calc(100vh - 150px)); padding: 5px; overflow-y: auto; scrollbar-width: thin; }
.admin-ui .player-source-option { display: grid; width: 100%; min-height: 54px; padding: 8px 10px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; border: 0; border-radius: 8px; color: var(--ui-text); background: transparent; text-align: left; cursor: pointer; }
.admin-ui .player-source-option:hover,
.admin-ui .player-source-option.active { background: var(--ui-primary-soft); }
.admin-ui .player-source-option strong,
.admin-ui .player-source-option small { display: block; }
.admin-ui .player-source-option strong { overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .player-source-option small { margin-top: 3px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .player-source-option i { color: var(--ui-green); font-size: 9px; font-style: normal; }

@media (max-width: 1180px) {
    .admin-ui .player-source-trigger { width: 156px; }
}
@media (max-width: 720px) {
    .admin-ui .topbar-page-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; }
    .admin-ui .player-source-menu,
    .admin-ui .player-source-trigger,
    .admin-ui .topbar-page-actions .admin-date-filter,
    .admin-ui .topbar-page-actions .admin-date-filter-trigger { width: 100% !important; }
    .admin-ui .topbar-page-actions .admin-date-filter { grid-column: 1 / -1; }
    .admin-ui .player-source-popover { position: fixed; top: 116px; right: 10px; left: 10px; width: auto; }
}

/* Monetization analytics */
.admin-ui .monetization-page { max-width: 1540px; margin: 0 auto; }
.admin-ui .monetization-head { display: flex; margin-bottom: 18px; align-items: flex-end; justify-content: space-between; gap: 20px; }
.admin-ui .monetization-head h1 { margin: 5px 0 4px; color: var(--ui-text); font-size: clamp(25px,2vw,32px); line-height: 1.1; }
.admin-ui .monetization-head p { margin: 0; color: var(--ui-muted); font-size: 13px; }
.admin-ui .monetization-head-actions { display: flex; align-items: center; gap: 9px; }
.admin-ui .monetization-head-action { display: inline-flex; min-height: 38px; padding: 0 14px; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--ui-border); border-radius: 9px; color: var(--ui-text); background: var(--ui-card-soft); font-size: 11px; font-weight: 650; line-height: 1; text-decoration: none; transition: border-color .16s ease,background .16s ease,transform .16s ease; }
.admin-ui .monetization-head-action:hover { border-color: color-mix(in srgb,var(--ui-primary) 58%,var(--ui-border)); background: color-mix(in srgb,var(--ui-primary-soft) 52%,var(--ui-card-soft)); transform: translateY(-1px); }
.admin-ui .monetization-head-action.primary { border-color: var(--ui-primary); color: #fff; background: var(--ui-primary); }
.admin-ui .monetization-head-action.primary:hover { background: var(--ui-primary-hover); }
.admin-ui .monetization-head-action svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-ui .monetization-dashboard { display: grid; gap: 14px; }
.admin-ui .monetization-gateway-panel { overflow: hidden; }
.admin-ui .monetization-gateway-head { align-items: center; }
.admin-ui .monetization-gateway-tabs { display: flex; padding: 4px; flex-wrap: wrap; gap: 3px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card-soft); }
.admin-ui .monetization-gateway-tabs button { min-height: 32px; padding: 0 12px; border: 0; border-radius: 7px; color: var(--ui-muted); background: transparent; font-size: 11px; font-weight: 650; cursor: pointer; }
.admin-ui .monetization-gateway-tabs button:hover { color: var(--ui-text); background: color-mix(in srgb,var(--ui-primary-soft) 45%,transparent); }
.admin-ui .monetization-gateway-tabs button.active { color: #fff; background: var(--ui-primary); box-shadow: 0 5px 14px rgba(124,112,246,.2); }
.admin-ui .monetization-gateway-kpis { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; }
.admin-ui .monetization-gateway-kpis article { min-width: 0; min-height: 96px; padding: 13px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card-soft); }
.admin-ui .monetization-gateway-kpis span,.admin-ui .monetization-gateway-kpis small { display: block; color: var(--ui-muted); font-size: 10px; }
.admin-ui .monetization-gateway-kpis strong { display: block; margin: 9px 0 7px; overflow: hidden; color: var(--ui-text); font-size: clamp(18px,1.4vw,24px); line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .monetization-gateway-grid { display: grid; margin-top: 12px; grid-template-columns: minmax(0,1fr) minmax(440px,.85fr); align-items: stretch; gap: 12px; }
.admin-ui .monetization-gateway-chart,.admin-ui .monetization-gateway-table { min-width: 0; padding: 12px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card-soft); }
.admin-ui .monetization-gateway-chart .overview-chart { min-height: 205px; }
.admin-ui .monetization-subhead { display: flex; margin-bottom: 5px; align-items: center; justify-content: space-between; gap: 12px; }
.admin-ui .monetization-subhead strong { color: var(--ui-text); font-size: 12px; }
.admin-ui .monetization-subhead span { color: var(--ui-muted); font-size: 10px; }
.admin-ui .monetization-gateway-table { padding: 0; }
.admin-ui .monetization-gateway-table table { min-width: 560px; }
.admin-ui .monetization-gateway-table tr.selected td { background: color-mix(in srgb,var(--ui-primary-soft) 34%,transparent); }
.admin-ui .monetization-gateway-scope { margin: 10px 0 0; color: var(--ui-muted); font-size: 9.5px; line-height: 1.45; }
.admin-ui .monetization-gateway-unavailable { display: grid; min-height: 84px; padding: 15px; align-content: center; gap: 6px; border: 1px dashed var(--ui-border); border-radius: 9px; color: var(--ui-muted); background: var(--ui-card-soft); }
.admin-ui .monetization-gateway-unavailable strong { color: var(--ui-text); font-size: 12px; }
.admin-ui .monetization-gateway-unavailable span { font-size: 10.5px; }
.admin-ui .monetization-data-status { display: flex; width: fit-content; min-height: 28px; padding: 0 10px; align-items: center; gap: 7px; border: 1px solid var(--ui-border); border-radius: 20px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 10.5px; }
.admin-ui .monetization-data-status span { color: var(--ui-text); font-weight: 650; }
.admin-ui .monetization-data-status time { padding-left: 7px; border-left: 1px solid var(--ui-border); }
.admin-ui .monetization-kpis { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.admin-ui .monetization-kpi { min-width: 0; min-height: 138px; padding: 17px; border: 1px solid var(--ui-border); border-radius: 12px; background: var(--ui-card); }
.admin-ui .monetization-kpi > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--ui-muted); }
.admin-ui .monetization-kpi > div span { font-size: 11px; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.admin-ui .monetization-kpi > div i { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); }
.admin-ui .monetization-kpi > div svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.admin-ui .monetization-kpi > strong { display: block; margin-top: 15px; overflow: hidden; color: var(--ui-text); font-size: clamp(24px,1.7vw,31px); line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .monetization-kpi > small { display: flex; margin-top: 13px; align-items: center; gap: 7px; color: var(--ui-muted); font-size: 11px; line-height: 1.35; }
.admin-ui .monetization-kpi > small em { flex: 0 0 auto; }
.admin-ui .monetization-ltv-panel { overflow: hidden; }
.admin-ui .monetization-ltv-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.admin-ui .monetization-ltv-card { min-width: 0; padding: 15px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card-soft); }
.admin-ui .monetization-ltv-card.featured { border-color: color-mix(in srgb,var(--ui-primary) 48%,var(--ui-border)); background: color-mix(in srgb,var(--ui-primary-soft) 34%,var(--ui-card-soft)); box-shadow: inset 0 2px 0 color-mix(in srgb,var(--ui-primary) 72%,transparent); }
.admin-ui .monetization-ltv-card > div:first-child { display: flex; min-height: 24px; align-items: center; justify-content: space-between; gap: 8px; color: var(--ui-muted); }
.admin-ui .monetization-ltv-card > div:first-child span { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.admin-ui .monetization-ltv-card > div:first-child em { padding: 4px 7px; border-radius: 10px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 8.5px; font-style: normal; font-weight: 700; }
.admin-ui .monetization-ltv-card > strong { display: block; margin-top: 12px; overflow: hidden; color: var(--ui-text); font-size: clamp(24px,2vw,34px); line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .monetization-ltv-card > small { display: block; margin-top: 7px; color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .monetization-ltv-card dl { display: grid; margin: 14px 0 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.admin-ui .monetization-ltv-card dl div { min-width: 0; padding: 8px; border-radius: 7px; background: color-mix(in srgb,var(--ui-card) 70%,transparent); }
.admin-ui .monetization-ltv-card dt,.admin-ui .monetization-ltv-card dd { margin: 0; }
.admin-ui .monetization-ltv-card dt { overflow: hidden; color: var(--ui-muted); font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .monetization-ltv-card dd { margin-top: 5px; overflow: hidden; color: var(--ui-text); font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .monetization-ltv-card footer { margin-top: 11px; padding-top: 9px; border-top: 1px solid var(--ui-border); color: var(--ui-muted); font-size: 8.5px; }
.admin-ui .monetization-ltv-definition { display: flex; margin-top: 10px; padding: 10px 12px; align-items: flex-start; gap: 10px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-muted); background: color-mix(in srgb,var(--ui-card-soft) 65%,transparent); font-size: 9.5px; line-height: 1.5; }
.admin-ui .monetization-ltv-definition strong { flex: 0 0 auto; color: var(--ui-text); }
.admin-ui .monetization-ltv-unavailable { display: grid; min-height: 88px; padding: 16px; align-content: center; gap: 6px; border: 1px dashed var(--ui-border); border-radius: 9px; color: var(--ui-muted); background: var(--ui-card-soft); }
.admin-ui .monetization-ltv-unavailable strong { color: var(--ui-text); font-size: 12px; }
.admin-ui .monetization-ltv-unavailable span { font-size: 10.5px; }
.admin-ui .monetization-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.72fr); align-items: start; gap: 14px; }
.admin-ui .monetization-primary-grid { grid-template-columns: minmax(0,1.55fr) minmax(340px,.7fr); }
.admin-ui .monetization-panel { min-width: 0; padding: 16px; border-color: var(--ui-border); border-radius: 12px; background: var(--ui-card); }
.admin-ui .monetization-panel-head { display: flex; min-height: 42px; margin-bottom: 12px; align-items: flex-start; justify-content: space-between; gap: 16px; }
.admin-ui .monetization-panel-head h2 { margin: 0; color: var(--ui-text); font-size: 15px; }
.admin-ui .monetization-panel-head p { margin: 5px 0 0; color: var(--ui-muted); font-size: 10.5px; }
.admin-ui .monetization-panel-head > strong { color: var(--ui-text); font-size: 16px; }
.admin-ui .monetization-panel-head > span { color: var(--ui-muted); font-size: 10px; }
.admin-ui .monetization-panel-head > a { color: var(--ui-primary-hover); font-size: 11px; font-weight: 650; text-decoration: none; }
.admin-ui .monetization-revenue-panel .overview-chart { min-height: 245px; }
.admin-ui .monetization-chart-summary { display: grid; justify-items: end; gap: 7px; }
.admin-ui .monetization-chart-summary > strong { color: var(--ui-text); font-size: 16px; }
.admin-ui .monetization-chart-summary > span { display: flex; align-items: center; gap: 5px; color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .monetization-chart-summary i { width: 7px; height: 7px; border-radius: 50%; background: #8247ef; }
.admin-ui .monetization-chart-summary i.orders { margin-left: 5px; background: #f5654d; }
.admin-ui .monetization-funnel { display: grid; gap: 14px; }
.admin-ui .monetization-funnel article > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.admin-ui .monetization-funnel strong { color: var(--ui-text); font-size: 12px; }
.admin-ui .monetization-funnel b { color: var(--ui-text); font-size: 14px; }
.admin-ui .monetization-funnel article > span { display: block; margin-top: 3px; color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .monetization-funnel article > i { display: block; height: 7px; margin-top: 7px; overflow: hidden; border-radius: 8px; background: var(--ui-card-soft); }
.admin-ui .monetization-funnel article > i em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#776cff,#3eb9df); }
.admin-ui .monetization-payment-health { display: grid; margin-top: 18px; padding-top: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; border-top: 1px solid var(--ui-border); }
.admin-ui .monetization-payment-health article { min-width: 0; padding: 11px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card-soft); }
.admin-ui .monetization-payment-health span,.admin-ui .monetization-payment-health small { display: block; color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .monetization-payment-health strong { display: block; margin: 6px 0; color: var(--ui-text); font-size: 18px; }
.admin-ui .monetization-coverage-note { margin-top: 16px; padding: 10px; border: 1px solid rgba(238,173,65,.22); border-radius: 8px; color: #d6b06f; background: rgba(238,173,65,.07); font-size: 9.5px; line-height: 1.5; }
.admin-ui .monetization-segments { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.admin-ui .monetization-segments article { min-width: 0; padding: 12px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card-soft); }
.admin-ui .monetization-segments span,.admin-ui .monetization-segments small { display: block; color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .monetization-segments strong { display: block; margin: 7px 0; color: var(--ui-text); font-size: 20px; }
.admin-ui .monetization-attention-list { display: grid; gap: 2px; }
.admin-ui .monetization-attention-list article { display: grid; min-height: 58px; padding: 9px 0; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 10px; border-top: 1px solid var(--ui-border); }
.admin-ui .monetization-attention-list article:first-child { border-top: 0; }
.admin-ui .monetization-attention-list article > i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: var(--ui-orange); background: rgba(245,158,11,.12); font-style: normal; }
.admin-ui .monetization-attention-list article.good > i { color: var(--ui-green); background: rgba(40,199,142,.12); }
.admin-ui .monetization-attention-list article.danger > i { color: var(--ui-coral); background: rgba(244,91,114,.12); }
.admin-ui .monetization-attention-list strong,.admin-ui .monetization-attention-list span { display: block; }
.admin-ui .monetization-attention-list strong { color: var(--ui-text); font-size: 11px; }
.admin-ui .monetization-attention-list span { margin-top: 4px; color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .monetization-detail-tabs { display: flex; width: fit-content; padding: 4px; gap: 3px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card-soft); }
.admin-ui .monetization-detail-tabs button { min-height: 34px; padding: 0 13px; border: 0; border-radius: 7px; color: var(--ui-muted); background: transparent; font-size: 11px; font-weight: 600; cursor: pointer; }
.admin-ui .monetization-detail-tabs button:hover { color: var(--ui-text); }
.admin-ui .monetization-detail-tabs button.active { color: #fff; background: var(--ui-primary); box-shadow: 0 5px 14px rgba(124,112,246,.2); }
.admin-ui .monetization-detail-tabs button span { margin-left: 5px; opacity: .72; }
.admin-ui [data-monetization-panel][hidden] { display: none !important; }
.admin-ui .monetization-products table,.admin-ui .monetization-offers table,.admin-ui .monetization-transactions table { min-width: 800px; }
.admin-ui .monetization-products td small { display: block; margin-top: 3px; color: var(--ui-muted); }
.admin-ui .monetization-share { width: 84px; height: 5px; margin-bottom: 4px; overflow: hidden; border-radius: 5px; background: var(--ui-card-soft); }
.admin-ui .monetization-share span { display: block; height: 100%; border-radius: inherit; background: var(--ui-primary); }
.admin-ui .monetization-data-scope { display: flex; padding: 12px 14px; align-items: center; gap: 14px; border: 1px solid var(--ui-border); border-radius: 10px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 10px; }
.admin-ui .monetization-data-scope strong { color: var(--ui-text); }
.admin-ui .monetization-loading { width: 100%; max-width: 100%; overflow-x: clip; }
.admin-ui .monetization-loading > * { min-width: 0; max-width: 100%; }
.admin-ui .monetization-skeleton-line { display: block; position: static; width: min(var(--skeleton-width,60%),100%); max-width: 100%; height: 10px; margin-right: 0; margin-left: 0; transform: none; border-radius: 6px; background: linear-gradient(100deg,var(--ui-card-soft) 20%,color-mix(in srgb,var(--ui-primary) 27%,var(--ui-card-soft)) 45%,var(--ui-card-soft) 70%); background-size: 240% 100%; animation: monetization-skeleton-shimmer 1.25s linear infinite; }
.admin-ui .monetization-loading-card { position: relative; }
.admin-ui .monetization-card-loader { position: absolute; z-index: 2; top: 12px; right: 13px; display: inline-flex; min-height: 22px; padding: 0 7px; align-items: center; gap: 5px; border: 1px solid color-mix(in srgb,var(--ui-primary) 28%,var(--ui-border)); border-radius: 12px; color: var(--ui-muted); background: color-mix(in srgb,var(--ui-card) 88%,transparent); font-size: 9px; }
.admin-ui .monetization-card-loader i { width: 10px; height: 10px; border: 1.5px solid color-mix(in srgb,var(--ui-primary) 24%,transparent); border-top-color: var(--ui-primary-hover); border-radius: 50%; animation: monetization-loader-spin .75s linear infinite; }
.admin-ui .monetization-card-loader em { font-style: normal; }
.admin-ui .monetization-loading-meta { display: flex; min-height: 20px; align-items: center; justify-content: space-between; }
.admin-ui .monetization-loading-meta .monetization-skeleton-line { max-width: 230px; }
.admin-ui .monetization-kpi.skeleton { display: block; overflow: hidden; }
.admin-ui .monetization-kpi.skeleton > .monetization-skeleton-line { height: 10px; }
.admin-ui .monetization-kpi.skeleton > .monetization-skeleton-line + .monetization-skeleton-line { height: 28px; margin-top: 24px; }
.admin-ui .monetization-kpi.skeleton > .monetization-skeleton-line + .monetization-skeleton-line + .monetization-skeleton-line { height: 9px; margin-top: 17px; }
.admin-ui .monetization-loading-panel { min-height: 0; overflow: hidden; }
.admin-ui .monetization-loading-head { display: flex; min-height: 48px; align-items: flex-start; justify-content: space-between; gap: 20px; }
.admin-ui .monetization-loading-head > div { display: grid; width: min(360px,65%); gap: 9px; }
.admin-ui .monetization-loading-head > .monetization-skeleton-line { max-width: 150px; }
.admin-ui .monetization-skeleton-chart { display: flex; height: 245px; padding: 28px 7% 20px; align-items: flex-end; justify-content: space-around; gap: 5%; border-bottom: 1px solid var(--ui-border); background: repeating-linear-gradient(to bottom,transparent 0,transparent 32%,var(--ui-border) 32.5%,transparent 33%); }
.admin-ui .monetization-skeleton-chart > i { width: 6%; min-width: 14px; max-width: 34px; border-radius: 5px 5px 0 0; background: linear-gradient(180deg,rgba(132,124,255,.48),rgba(82,184,244,.2)); animation: monetization-skeleton-pulse 1.15s ease-in-out infinite alternate; }
.admin-ui .monetization-skeleton-funnel { display: grid; margin-top: 10px; gap: 22px; }
.admin-ui .monetization-skeleton-funnel article { display: grid; gap: 10px; }
.admin-ui .monetization-skeleton-funnel article > i { height: 7px; overflow: hidden; border-radius: 8px; background: var(--ui-card-soft); }
.admin-ui .monetization-skeleton-funnel article > i em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,rgba(124,112,246,.62),rgba(82,184,244,.4)); }
.admin-ui .monetization-skeleton-mini { display: grid; margin-top: 22px; padding-top: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; border-top: 1px solid var(--ui-border); }
.admin-ui .monetization-skeleton-mini .monetization-skeleton-line { height: 66px; }
.admin-ui .monetization-loading-panel.compact { min-height: 238px; }
.admin-ui .monetization-skeleton-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.admin-ui .monetization-skeleton-cards article { display: grid; min-height: 72px; padding: 11px; gap: 8px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card-soft); }
.admin-ui .monetization-skeleton-cards article .monetization-skeleton-line:nth-child(2) { height: 19px; }
.admin-ui .monetization-skeleton-rows { display: grid; gap: 4px; }
.admin-ui .monetization-skeleton-rows article { display: grid; min-height: 66px; padding: 8px 0; grid-template-columns: 32px minmax(0,1fr); align-items: center; gap: 10px; border-top: 1px solid var(--ui-border); }
.admin-ui .monetization-skeleton-rows article:first-child { border-top: 0; }
.admin-ui .monetization-skeleton-rows b { width: 30px; height: 30px; border-radius: 8px; background: var(--ui-card-soft); }
.admin-ui .monetization-skeleton-rows article > div { display: grid; min-width: 0; gap: 8px; }

@keyframes monetization-skeleton-shimmer { from { background-position: 120% 0; } to { background-position: -120% 0; } }
@keyframes monetization-skeleton-pulse { from { opacity: .48; } to { opacity: 1; } }
@keyframes monetization-loader-spin { to { transform: rotate(360deg); } }

@media (max-width: 1600px) {
    .admin-ui .monetization-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 1220px) {
    .admin-ui .monetization-grid,.admin-ui .monetization-primary-grid { grid-template-columns: 1fr; }
    .admin-ui .monetization-gateway-grid { grid-template-columns: 1fr; }
    .admin-ui .monetization-gateway-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .admin-ui .monetization-ltv-card dl { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .admin-ui .monetization-head { align-items: flex-start; flex-direction: column; }
    .admin-ui .monetization-head-actions { width: 100%; }.admin-ui .monetization-head-action { flex: 1; }
    .admin-ui .monetization-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .monetization-kpi { min-height: 118px; padding: 13px; }
    .admin-ui .monetization-segments { grid-template-columns: 1fr; }
    .admin-ui .monetization-data-scope { align-items: flex-start; flex-direction: column; gap: 5px; }
    .admin-ui .monetization-chart-summary { justify-items: start; }
    .admin-ui .monetization-panel-head { flex-direction: column; }
    .admin-ui .monetization-gateway-tabs { width: 100%; }
    .admin-ui .monetization-gateway-tabs button { flex: 1 1 42%; }
    .admin-ui .monetization-gateway-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .monetization-loading-meta { align-items: flex-start; flex-direction: column; gap: 7px; }
    .admin-ui .monetization-ltv-grid { grid-template-columns: 1fr; }
    .admin-ui .monetization-ltv-card dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .monetization-ltv-definition { flex-direction: column; gap: 4px; }
}
@media (max-width: 420px) {
    .admin-ui .monetization-kpis { grid-template-columns: 1fr; }
    .admin-ui .monetization-gateway-kpis { grid-template-columns: 1fr; }
}

/* Folder-aware shared asset library */
.admin-ui .files-page-head { display:flex; margin-bottom:16px; align-items:flex-end; justify-content:space-between; gap:18px; }
.admin-ui .files-page-head h1 { margin:5px 0 4px; color:var(--ui-text); font-size:clamp(25px,2vw,32px); line-height:1.1; }
.admin-ui .files-page-head p { margin:0; color:var(--ui-muted); font-size:12px; }
.admin-ui .files-head-actions { display:flex; gap:8px; }
.admin-ui .files-head-actions .btn { display:inline-flex; align-items:center; gap:7px; }
.admin-ui .files-head-actions svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.admin-ui .file-manager-shell { display:grid; min-height:620px; grid-template-columns:240px minmax(0,1fr); overflow:hidden; border:1px solid var(--ui-border); border-radius:13px; background:var(--ui-card); }
.admin-ui .file-folder-sidebar { min-width:0; padding:14px 10px; border-right:1px solid var(--ui-border); background:color-mix(in srgb,var(--ui-card-soft) 68%,var(--ui-card)); }
.admin-ui .file-folder-sidebar header { display:flex; padding:0 8px 11px; align-items:center; justify-content:space-between; color:var(--ui-text); }
.admin-ui .file-folder-sidebar header strong { font-size:12px; }
.admin-ui .file-folder-sidebar header span { color:var(--ui-muted); font-size:9.5px; }
.admin-ui .file-folder-tree { display:grid; max-height:570px; overflow-y:auto; gap:2px; scrollbar-width:thin; scrollbar-color:var(--ui-border) transparent; }
.admin-ui .file-folder-tree-item { display:grid; width:100%; min-height:36px; padding:6px 8px 6px calc(8px + var(--folder-depth,0) * 15px); grid-template-columns:18px minmax(0,1fr); align-items:center; gap:8px; border:0; border-radius:8px; color:var(--ui-muted); background:transparent; text-align:left; cursor:pointer; }
.admin-ui .file-folder-tree-item:hover { color:var(--ui-text); background:var(--ui-card-soft); }
.admin-ui .file-folder-tree-item.active { color:#fff; background:color-mix(in srgb,var(--ui-primary) 24%,var(--ui-card-soft)); box-shadow:inset 3px 0 0 var(--ui-primary); }
.admin-ui .file-folder-tree-item i { display:grid; place-items:center; color:var(--ui-primary-hover); }
.admin-ui .file-folder-tree-item svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; }
.admin-ui .file-folder-tree-item span { overflow:hidden; font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.admin-ui .file-manager-content { min-width:0; padding:14px; }
.admin-ui .file-manager-toolbar { display:flex; min-height:42px; margin-bottom:10px; align-items:center; justify-content:space-between; gap:12px; }
.admin-ui .file-breadcrumbs { display:flex; min-width:0; align-items:center; gap:5px; overflow-x:auto; }
.admin-ui .file-breadcrumbs button { padding:5px 7px; border:0; border-radius:6px; color:var(--ui-muted); background:transparent; font-size:11px; font-weight:600; cursor:pointer; white-space:nowrap; }
.admin-ui .file-breadcrumbs button:hover,.admin-ui .file-breadcrumbs button:last-child { color:var(--ui-text); background:var(--ui-card-soft); }
.admin-ui .file-breadcrumbs span { color:var(--ui-muted); font-size:14px; }
.admin-ui .file-search { width:min(260px,42%); min-height:36px; }
.admin-ui .file-search input { width:100%; }
.admin-ui .file-manager-summary { display:flex; margin-bottom:14px; padding:9px 11px; align-items:center; flex-wrap:wrap; gap:16px; border:1px solid var(--ui-border); border-radius:8px; color:var(--ui-muted); background:var(--ui-card-soft); font-size:9.5px; }
.admin-ui .file-manager-summary strong { color:var(--ui-text); }
.admin-ui .file-manager-content .files-grid { grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:11px; }
.admin-ui .file-manager-content .file-card { position:relative; min-width:0; border-color:var(--ui-border); border-radius:10px; background:var(--ui-card-soft); transition:border-color .15s ease,transform .15s ease; }
.admin-ui .file-manager-content .file-card:hover { border-color:color-mix(in srgb,var(--ui-primary) 45%,var(--ui-border)); transform:translateY(-1px); }
.admin-ui .folder-card { min-height:76px; overflow:hidden; }
.admin-ui .folder-card-open { display:grid; width:100%; height:100%; min-height:76px; padding:13px 38px 13px 13px; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:10px; border:0; color:var(--ui-text); background:transparent; text-align:left; cursor:pointer; }
.admin-ui .folder-card-open > i { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; color:var(--ui-primary-hover); background:var(--ui-primary-soft); }
.admin-ui .folder-card-open svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; }
.admin-ui .folder-card-open span,.admin-ui .folder-card-open strong,.admin-ui .folder-card-open small { display:block; min-width:0; }
.admin-ui .folder-card-open strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.admin-ui .folder-card-open small { margin-top:5px; color:var(--ui-muted); font-size:9.5px; }
.admin-ui .folder-card-menu { position:absolute; top:8px; right:8px; width:25px; height:25px; border:0; border-radius:7px; color:var(--ui-muted); background:transparent; cursor:pointer; }
.admin-ui .folder-card-menu:hover { color:var(--ui-coral); background:rgba(244,91,114,.1); }
.admin-ui .file-manager-content .file-thumb { height:132px; border-bottom:1px solid var(--ui-border); }
.admin-ui .file-manager-content .file-body { padding:11px; }
.admin-ui .file-manager-content .file-name { overflow:hidden; color:var(--ui-text); font-size:11px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.admin-ui .file-manager-content .file-meta { font-size:9.5px; }
.admin-ui .file-manager-content .file-actions .btn { flex:1; min-height:30px; font-size:9.5px; }
.admin-ui .file-empty-state { display:grid; min-height:300px; grid-column:1/-1; place-content:center; justify-items:center; gap:8px; color:var(--ui-muted); text-align:center; }
.admin-ui .file-empty-state i { display:grid; width:46px; height:46px; place-items:center; border-radius:13px; color:var(--ui-primary-hover); background:var(--ui-primary-soft); }
.admin-ui .file-empty-state svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6; }
.admin-ui .file-empty-state strong { color:var(--ui-text); font-size:13px; }
.admin-ui .file-empty-state span { font-size:10.5px; }
@media (max-width:900px) {
    .admin-ui .file-manager-shell { grid-template-columns:190px minmax(0,1fr); }
    .admin-ui .file-manager-toolbar { align-items:stretch; flex-direction:column; }
    .admin-ui .file-search { width:100%; }
}
@media (max-width:680px) {
    .admin-ui .files-page-head { align-items:flex-start; flex-direction:column; }
    .admin-ui .files-head-actions { width:100%; }.admin-ui .files-head-actions .btn { flex:1; justify-content:center; }
    .admin-ui .file-manager-shell { display:block; min-height:0; overflow:visible; }
    .admin-ui .file-folder-sidebar { border-right:0; border-bottom:1px solid var(--ui-border); }
    .admin-ui .file-folder-tree { display:flex; max-height:none; padding-bottom:4px; overflow-x:auto; }
    .admin-ui .file-folder-tree-item { width:auto; min-width:max-content; padding:6px 10px; }
    .admin-ui .file-folder-tree-item.active { box-shadow:inset 0 -2px 0 var(--ui-primary); }
    .admin-ui .file-manager-content .files-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:430px) {
    .admin-ui .file-manager-content { padding:10px; }
    .admin-ui .file-manager-content .files-grid { grid-template-columns:1fr; }
}

/* Shared page frame and loading language: every route follows the Overview geometry. */
.admin-ui .admin-workspace > .container.workspace-responsive-view { width: 100% !important; max-width: 1480px !important; margin-right: auto !important; margin-left: auto !important; }
.admin-ui .workspace-responsive-view > * { min-width: 0; max-width: 100%; }
.admin-ui .workspace-page-loading { display: grid; width: 100%; min-width: 0; gap: 14px; }
.admin-ui .workspace-loading-status { display: grid; min-height: 76px; padding: 16px; grid-template-columns: 10px minmax(0,1fr) minmax(80px,18%); align-items: center; gap: 12px; border-color: var(--ui-border); background: var(--ui-card); }
.admin-ui .workspace-loading-status > i { width: 8px; height: 8px; border-radius: 50%; background: var(--ui-primary); box-shadow: 0 0 0 5px color-mix(in srgb,var(--ui-primary) 13%,transparent); animation: overview-pulse 1.4s ease-in-out infinite; }
.admin-ui .workspace-loading-status strong,.admin-ui .workspace-loading-status span { display: block; }
.admin-ui .workspace-loading-status strong { margin-bottom: 6px; color: var(--ui-text); font-size: 13px; }
.admin-ui .workspace-loading-status div > span { color: var(--ui-muted); font-size: 11px; }
.admin-ui .workspace-loading-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.admin-ui .workspace-loading-kpi { min-width: 0; min-height: 126px; padding: 15px; overflow: hidden; }
.admin-ui .workspace-loading-kpi > div { display: flex; min-height: 26px; align-items: flex-start; justify-content: space-between; gap: 10px; }
.admin-ui .workspace-loading-kpi > .overview-skeleton-line.value { height: 28px; margin: 14px 0 12px; }
.admin-ui .workspace-loading-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(340px,.75fr); align-items: stretch; gap: 14px; }
.admin-ui .workspace-loading-panel { min-width: 0; min-height: 270px; padding: 16px; overflow: hidden; }
.admin-ui .workspace-loading-panel-head { display: flex; min-height: 46px; align-items: flex-start; justify-content: space-between; gap: 16px; }
.admin-ui .workspace-loading-panel-head > div { display: grid; width: min(360px,62%); gap: 9px; }
.admin-ui .workspace-loading-panel .overview-skeleton-bars { height: 195px; }
.admin-ui .workspace-loading-rows { display: grid; }
.admin-ui .workspace-loading-row { display: grid; min-height: 53px; padding: 9px 0; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 10px; border-top: 1px solid var(--ui-border); }
.admin-ui .workspace-loading-row:first-child { border-top: 0; }
.admin-ui .workspace-loading-row > i { position: relative; width: 27px; height: 27px; overflow: hidden; border-radius: 8px; background: var(--ui-card-soft); }
.admin-ui .workspace-loading-row > i::after { position: absolute; inset: 0; content: ""; transform: translateX(-110%); background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--ui-primary) 18%,transparent),transparent); animation: overview-shimmer 1.35s ease-in-out infinite; }
.admin-ui .workspace-loading-row > span { display: grid; min-width: 0; gap: 8px; }
.admin-ui .workspace-loading-row .overview-skeleton-line { height: 9px; }
.admin-ui .workspace-loading-table { min-height: 250px; }
.admin-ui .workspace-list-loading { padding: 4px 14px; }
.admin-ui .workspace-list-loading .workspace-loading-row { min-height: 58px; }
.admin-ui .workspace-responsive-view > .card { min-width: 0; max-width: 100%; }
.admin-ui .workspace-responsive-view .table-scroll,
.admin-ui .workspace-responsive-view .responsive-table,
.admin-ui .workspace-responsive-view > .card:has(> table) { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.admin-ui .workspace-responsive-view img,
.admin-ui .workspace-responsive-view svg { max-width: 100%; }

@media (max-width: 1180px) {
    .admin-ui .workspace-loading-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .workspace-loading-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .admin-ui .admin-workspace > .container.workspace-responsive-view { padding: 12px 10px 28px !important; }
    .admin-ui .workspace-loading-status { grid-template-columns: 10px minmax(0,1fr); }
    .admin-ui .workspace-loading-status > .overview-skeleton-line { display: none; }
    .admin-ui .workspace-loading-panel { min-height: 230px; padding: 13px; }
    .admin-ui .workspace-loading-panel .overview-skeleton-bars { height: 165px; }
    .admin-ui .workspace-responsive-view .page-head,
    .admin-ui .workspace-responsive-view .reports-page-head,
    .admin-ui .workspace-responsive-view .user-management-head,
    .admin-ui .workspace-responsive-view .tournament-page-head,
    .admin-ui .workspace-responsive-view .realtime-head,
    .admin-ui .workspace-responsive-view .overview-head { align-items: stretch; flex-direction: column; }
    .admin-ui .workspace-responsive-view .page-head > :last-child,
    .admin-ui .workspace-responsive-view .reports-page-actions,
    .admin-ui .workspace-responsive-view .tournament-page-actions,
    .admin-ui .workspace-responsive-view .realtime-controls { width: 100%; flex-wrap: wrap; }
}
@media (max-width: 460px) {
    .admin-ui .workspace-loading-kpis { grid-template-columns: 1fr; }
    .admin-ui .workspace-loading-kpi { min-height: 112px; }
    .admin-ui .workspace-loading-panel-head { flex-direction: column; }
    .admin-ui .workspace-loading-panel-head > div { width: 82%; }
}

@media (prefers-reduced-motion: reduce) {
    .admin-ui .workspace-page-loading *, .admin-ui .workspace-page-loading *::after { animation: none !important; }
}

/* Offer editor and shared asset library */
.admin-ui .offer-editor-modal { width: min(1040px,calc(100vw - 32px)); padding: 0; overflow: hidden; border-radius: 16px; }
.admin-ui .offer-editor-modal > h2 { margin: 0; padding: 20px 24px 16px; border-bottom: 1px solid var(--ui-border); font-size: 20px; }
.admin-ui .offer-editor-modal > .modal-content { max-height: calc(100vh - 120px); padding: 18px 24px 24px; overflow-y: auto; }
.admin-ui .offer-editor-form { display: grid; gap: 2px; }
.admin-ui .offer-editor-intro { display: flex; margin-bottom: 18px; padding: 14px 16px; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid color-mix(in srgb,var(--ui-primary) 26%,var(--ui-border)); border-radius: 11px; background: color-mix(in srgb,var(--ui-primary) 8%,var(--ui-card-soft)); }
.admin-ui .offer-editor-intro strong,.admin-ui .offer-editor-intro span { display: block; }
.admin-ui .offer-editor-intro strong { color: var(--ui-text); font-size: 13px; }
.admin-ui .offer-editor-intro div > span { margin-top: 4px; color: var(--ui-muted); font-size: 10.5px; }
.admin-ui .offer-editor-intro > span { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 9.5px; font-weight: 700; text-transform: uppercase; }
.admin-ui .offer-editor-form .field { min-width: 0; margin-bottom: 15px; }
.admin-ui .offer-editor-form label { margin-bottom: 7px; color: var(--ui-muted); font-size: 11px; font-weight: 600; }
.admin-ui .offer-editor-form input,.admin-ui .offer-editor-form select { min-height: 42px; padding: 0 12px; font-size: 12px; }
.admin-ui .offer-editor-form textarea { min-height: 88px; padding: 11px 12px; font-size: 12px; line-height: 1.65; }
.admin-ui .offer-form-divider { display: flex; margin: 8px 0 16px; padding-top: 17px; align-items: center; gap: 10px; border-top: 1px solid var(--ui-border); }
.admin-ui .offer-form-divider > span { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 8px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 10px; font-weight: 800; }
.admin-ui .offer-form-divider strong,.admin-ui .offer-form-divider small { display: block; }
.admin-ui .offer-form-divider strong { color: var(--ui-text); font-size: 12.5px; }
.admin-ui .offer-form-divider small { margin-top: 3px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .offer-editor-form .upload-hints { margin: 2px 0 16px; border: 1px solid var(--ui-border); background: var(--ui-card-soft); font-size: 10px; line-height: 1.75; }
.admin-ui .offer-editor-form > .modal-actions { position: sticky; z-index: 4; bottom: -24px; margin: 8px -24px -24px; padding: 14px 24px; border-top: 1px solid var(--ui-border); background: color-mix(in srgb,var(--ui-card) 96%,transparent); backdrop-filter: blur(12px); }
.admin-ui .offer-editor-form > .modal-actions .btn { min-width: 104px; min-height: 40px; }
.admin-ui .offer-asset-field { padding: 13px; border: 1px solid var(--ui-border); border-radius: 11px; background: var(--ui-card-soft); }
.admin-ui .offer-asset-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-ui .offer-asset-label > span { color: var(--ui-muted); font-size: 9px; }
.admin-ui .offer-asset-preview { display: flex; min-height: 126px; margin-bottom: 11px; overflow: hidden; align-items: center; justify-content: center; flex-direction: column; gap: 7px; border: 1px dashed var(--ui-border-strong); border-radius: 9px; background: color-mix(in srgb,var(--ui-card) 78%,#080b12); }
.admin-ui .offer-asset-preview > img { display: block; width: 100%; height: 100px; object-fit: contain; background: #080b12; }
.admin-ui .offer-asset-preview > span { width: 100%; padding: 0 10px 8px; overflow: hidden; color: var(--ui-muted); font-size: 9.5px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .offer-asset-empty { display: grid; justify-items: center; gap: 7px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .offer-asset-empty b { display: grid; width: 42px; height: 34px; place-items: center; border-radius: 7px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 9px; }
.admin-ui .offer-asset-actions { display: flex; gap: 8px; }
.admin-ui .offer-asset-actions .btn:first-child { flex: 1; }
.admin-ui .offer-activation-card { display: flex; margin: 2px 0 8px; padding: 13px 14px; align-items: center; gap: 11px; border: 1px solid var(--ui-border); border-radius: 10px; background: var(--ui-card-soft); cursor: pointer; }
.admin-ui .offer-activation-card input { width: 18px; min-height: 18px; flex: 0 0 18px; accent-color: var(--ui-primary); }
.admin-ui .offer-activation-card span,.admin-ui .offer-activation-card strong,.admin-ui .offer-activation-card small { display: block; }
.admin-ui .offer-activation-card strong { color: var(--ui-text); font-size: 11.5px; }
.admin-ui .offer-activation-card small { margin-top: 3px; color: var(--ui-muted); font-size: 9.5px; }

.offer-asset-dialog-overlay { position: fixed; z-index: 150; inset: 0; display: grid; padding: 24px; place-items: center; background: rgba(3,7,14,.76); backdrop-filter: blur(5px); }
.offer-asset-dialog { display: grid; width: min(900px,100%); max-height: min(760px,calc(100vh - 48px)); overflow: hidden; grid-template-rows: auto auto minmax(220px,1fr) auto; border: 1px solid var(--ui-border); border-radius: 15px; color: var(--ui-text); background: var(--ui-card); box-shadow: 0 24px 80px rgba(0,0,0,.46); }
.offer-asset-dialog > header { display: flex; padding: 18px 20px; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--ui-border); }
.offer-asset-dialog h3 { margin: 0; font-size: 17px; }
.offer-asset-dialog header p { margin: 5px 0 0; color: var(--ui-muted); font-size: 10.5px; }
.offer-asset-dialog header > button { width: 32px; height: 32px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 20px; cursor: pointer; }
.offer-asset-toolbar { display: flex; padding: 13px 20px; align-items: center; gap: 10px; border-bottom: 1px solid var(--ui-border); }
.offer-asset-toolbar .input-with-icon { min-width: 0; flex: 1; }
.offer-asset-toolbar input { height: 40px; padding-left: 36px !important; }
.offer-asset-toolbar .btn { min-height: 40px; }
.offer-asset-library { display: grid; padding: 16px 20px; overflow-y: auto; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: max-content; align-content: start; gap: 11px; }
.offer-asset-option { display: grid; min-width: 0; min-height: 184px; padding: 0; overflow: hidden; grid-template-rows: 112px auto; border: 1px solid var(--ui-border); border-radius: 10px; color: var(--ui-text); background: var(--ui-card-soft); text-align: left; cursor: pointer; }
.offer-asset-option:hover,.offer-asset-option.selected { border-color: var(--ui-primary); box-shadow: 0 0 0 2px color-mix(in srgb,var(--ui-primary) 12%,transparent); }
.offer-asset-option-thumb { display: grid; overflow: hidden; place-items: center; background: #080b12; }
.offer-asset-option-thumb img { width: 100%; height: 112px; object-fit: contain; }
.offer-asset-option > span:nth-child(2) { min-width: 0; padding: 10px 11px 4px; }
.offer-asset-option strong,.offer-asset-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.offer-asset-option strong { font-size: 10.5px; }
.offer-asset-option small { margin-top: 4px; color: var(--ui-muted); font-size: 9px; }
.offer-asset-option > i { padding: 0 11px 10px; color: var(--ui-primary-hover); font-size: 9px; font-style: normal; font-weight: 700; }
.offer-asset-dialog > footer { display: flex; min-height: 58px; padding: 10px 20px; align-items: center; gap: 12px; border-top: 1px solid var(--ui-border); }
.offer-asset-dialog > footer > span { margin-right: auto; color: var(--ui-muted); font-size: 10px; }
.offer-asset-empty-state,.offer-asset-error { display: grid; min-height: 200px; grid-column: 1 / -1; place-content: center; justify-items: center; gap: 6px; color: var(--ui-muted); text-align: center; }
.offer-asset-empty-state strong,.offer-asset-error strong { color: var(--ui-text); font-size: 12px; }
.offer-asset-empty-state span,.offer-asset-error span { font-size: 10px; }

.file-dependency-overlay { position: fixed; z-index: 170; inset: 0; display: grid; padding: 18px; place-items: center; background: rgba(3,7,14,.78); backdrop-filter: blur(5px); }
.file-dependency-dialog { width: min(600px,100%); max-height: calc(100vh - 36px); overflow: hidden; border: 1px solid var(--ui-border); border-radius: 14px; color: var(--ui-text); background: var(--ui-card); box-shadow: 0 24px 80px rgba(0,0,0,.5); }
.file-dependency-dialog > header { display: flex; padding: 15px 17px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--ui-border); }
.file-dependency-dialog h3 { margin: 0; font-size: 15px; }
.file-dependency-dialog header button { width: 30px; height: 30px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 19px; }
.file-dependency-content { max-height: calc(100vh - 104px); padding: 16px; overflow-y: auto; }
.file-dependency-alert { display: grid; padding: 13px; grid-template-columns: 34px minmax(0,1fr); gap: 11px; border: 1px solid color-mix(in srgb,var(--ui-coral) 30%,var(--ui-border)); border-radius: 10px; background: color-mix(in srgb,var(--ui-coral) 9%,transparent); }
.file-dependency-alert > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: var(--ui-coral); background: color-mix(in srgb,var(--ui-coral) 14%,transparent); font-weight: 800; }
.file-dependency-alert strong { font-size: 12px; }
.file-dependency-alert p { margin: 4px 0 0; color: var(--ui-muted); font-size: 10.5px; line-height: 1.5; }
.file-dependency-list { display: grid; margin-top: 13px; gap: 7px; }
.file-dependency-list article { display: grid; padding: 10px 11px; grid-template-columns: 100px minmax(0,1fr); align-items: center; gap: 10px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card-soft); }
.file-dependency-list article > span { color: var(--ui-primary-hover); font-size: 9.5px; font-weight: 700; text-transform: uppercase; }
.file-dependency-list strong,.file-dependency-list small { display: block; }
.file-dependency-list strong { font-size: 11px; }
.file-dependency-list small { margin-top: 3px; color: var(--ui-muted); font-size: 9.5px; }
.file-dependency-help { color: var(--ui-muted); font-size: 10px; }

@media (max-width: 760px) {
    .admin-ui .offer-editor-modal { width: calc(100vw - 16px); }
    .admin-ui .offer-editor-modal > h2 { padding: 16px; }
    .admin-ui .offer-editor-modal > .modal-content { padding: 14px 16px 20px; }
    .admin-ui .offer-editor-form .grid-2,.admin-ui .offer-editor-form .grid-3 { grid-template-columns: 1fr; gap: 0; }
    .admin-ui .offer-editor-form > .modal-actions { bottom: -20px; margin: 8px -16px -20px; padding: 12px 16px; }
    .offer-asset-dialog-overlay { padding: 8px; }
    .offer-asset-dialog { max-height: calc(100vh - 16px); }
    .offer-asset-toolbar { align-items: stretch; flex-direction: column; }
    .offer-asset-library { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 12px; }
}
@media (max-width: 430px) {
    .offer-asset-library { grid-template-columns: 1fr; }
    .offer-asset-option { grid-template-rows: 132px auto; }
    .offer-asset-option-thumb img { height: 132px; }
}

/* Offer delivery workspace --------------------------------------------------------------- */

.admin-ui .offers-workspace { width: min(100%,1480px); margin: 0 auto; }
.admin-ui .offers-workspace > .page-head { margin-bottom: 14px; }
.admin-ui .offers-workspace > .page-head h1 { margin: 4px 0 5px; font-size: clamp(24px,2vw,31px); line-height: 1.08; }
.admin-ui .offers-workspace > .page-head p { margin: 0; color: var(--ui-muted); font-size: clamp(11px,.82vw,13px); }
.admin-ui .offers-workspace-tabs { display: flex; margin-bottom: 14px; padding: 4px; gap: 4px; border: 1px solid var(--ui-border); border-radius: 12px; background: var(--ui-card); }
.admin-ui .offers-workspace-tabs button { display: grid; min-width: 190px; min-height: 52px; padding: 8px 14px; align-content: center; gap: 3px; border: 0; border-radius: 9px; color: var(--ui-muted); background: transparent; text-align: left; cursor: pointer; }
.admin-ui .offers-workspace-tabs button:hover { color: var(--ui-text); background: var(--ui-card-soft); }
.admin-ui .offers-workspace-tabs button.active { color: var(--ui-text); background: var(--ui-primary-soft); box-shadow: inset 0 -2px 0 var(--ui-primary); }
.admin-ui .offers-workspace-tabs span { font-size: 12px; font-weight: 800; }
.admin-ui .offers-workspace-tabs small { color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .offer-catalog-toolbar { display: flex; min-height: 52px; margin-bottom: 10px; align-items: center; justify-content: space-between; gap: 14px; }
.admin-ui .offer-catalog-toolbar .offer-page-note { margin: 0; }
.admin-ui .offers-workspace-content > .card { overflow: auto; }
.admin-ui .offer-page-actions { display: flex; align-items: center; gap: 9px; }
.admin-ui .offer-page-note { margin-top: -5px; margin-bottom: 15px; }
.admin-ui .offer-delivery-page { width: min(100%,1480px); margin: 0 auto; }
.admin-ui .offer-delivery-page .page-head { margin-bottom: 18px; align-items: flex-end; }
.admin-ui .offer-delivery-page .page-head h1 { margin: 4px 0 5px; font-size: clamp(24px,2vw,31px); line-height: 1.08; }
.admin-ui .offer-delivery-page .page-head p { margin: 0; color: var(--ui-muted); font-size: clamp(11px,.82vw,13px); }
.admin-ui .offer-delivery-page .page-eyebrow { color: var(--ui-primary-hover); font-size: 9.5px; font-weight: 800; letter-spacing: .11em; }
.admin-ui .offer-delivery-kpis { display: grid; margin-bottom: 12px; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.admin-ui .offer-delivery-kpis article { position: relative; min-height: 116px; padding: 17px 18px; overflow: hidden; border: 1px solid var(--ui-border); border-radius: 12px; background: var(--ui-card); box-shadow: var(--ui-shadow-soft); }
.admin-ui .offer-delivery-kpis article::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 2px; background: var(--ui-primary); opacity: .72; }
.admin-ui .offer-delivery-kpis article.active::before { background: #35d39a; }
.admin-ui .offer-delivery-kpis article.conversion::before { background: linear-gradient(90deg,#8b7cff,#35d39a); }
.admin-ui .offer-delivery-kpis article.purchased::before { background: #58a7ff; }
.admin-ui .offer-delivery-kpis article.expired::before { background: #f0a44b; }
.admin-ui .offer-delivery-kpis article.test::before { background: #9b91ff; }
.admin-ui .offer-delivery-kpis span,.admin-ui .offer-delivery-kpis strong,.admin-ui .offer-delivery-kpis small { display: block; }
.admin-ui .offer-delivery-kpis span { color: var(--ui-muted); font-size: 10px; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.admin-ui .offer-delivery-kpis strong { margin: 12px 0 8px; color: var(--ui-text); font-size: clamp(24px,2vw,32px); line-height: 1; }
.admin-ui .offer-delivery-kpis small { color: var(--ui-muted); font-size: 10px; }
.admin-ui .offer-delivery-page > .card { margin-bottom: 12px; padding: 0; overflow: hidden; }
.admin-ui .offer-delivery-page > .card > header { display: flex; min-height: 68px; padding: 14px 17px; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .offer-delivery-page > .card > header h2 { margin: 0; color: var(--ui-text); font-size: clamp(15px,1.15vw,18px); }
.admin-ui .offer-delivery-page > .card > header p { margin: 4px 0 0; color: var(--ui-muted); font-size: 10.5px; }
.admin-ui .offer-delivery-page > .card > header > span { padding: 6px 9px; border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 10px; white-space: nowrap; }
.admin-ui .offer-delivery-page table { min-width: 860px; margin: 0; }
.admin-ui .offer-delivery-page th { height: 40px; color: var(--ui-muted); background: color-mix(in srgb,var(--ui-card-soft) 56%,transparent); font-size: 9.5px; letter-spacing: .045em; text-transform: uppercase; }
.admin-ui .offer-delivery-page td { min-height: 58px; padding-top: 11px; padding-bottom: 11px; font-size: 11px; vertical-align: middle; }
.admin-ui .offer-delivery-catalog tr.selected td { background: color-mix(in srgb,var(--ui-primary) 9%,transparent); }
.admin-ui .offer-delivery-name { display: grid; max-width: 280px; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.admin-ui .offer-delivery-name b { overflow: hidden; color: var(--ui-text); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .offer-delivery-name small,.admin-ui .offer-delivery-sub { display: block; margin-top: 4px; color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .offer-delivery-name:hover b { color: var(--ui-primary-hover); }
.admin-ui .offer-conversion-value { display: grid; gap: 5px; }
.admin-ui .offer-conversion-value strong { color: var(--ui-text); font-size: 13px; }
.admin-ui .offer-conversion-value small { width: max-content; padding: 3px 6px; border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 8.5px; font-weight: 700; white-space: nowrap; }
.admin-ui .offer-conversion-value small.progress { color: #42dda4; background: rgba(24,151,107,.14); }
.admin-ui .offer-test-count { display: grid; color: var(--ui-text); font-weight: 700; }
.admin-ui .offer-test-count small { margin-top: 3px; color: var(--ui-muted); font-size: 8.5px; font-weight: 500; white-space: nowrap; }
.admin-ui .offer-delivery-status { display: inline-flex; min-height: 23px; padding: 0 8px; align-items: center; border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 9.5px; font-weight: 700; text-transform: capitalize; }
.admin-ui .offer-delivery-status.active,.admin-ui .offer-delivery-status.live { color: #42dda4; background: rgba(24,151,107,.17); }
.admin-ui .offer-delivery-status.purchased { color: #75b8ff; background: rgba(53,122,198,.17); }
.admin-ui .offer-delivery-status.expired,.admin-ui .offer-delivery-status.ended { color: #f1ad5d; background: rgba(178,106,32,.18); }
.admin-ui .offer-delivery-status.removed { color: #f27a8b; background: rgba(183,54,76,.17); }
.admin-ui .offer-delivery-status.scheduled { color: #9b91ff; background: rgba(108,91,215,.18); }
.admin-ui .offer-delivery-kind { display: inline-flex; min-height: 23px; padding: 0 8px; align-items: center; border: 1px solid var(--ui-border); border-radius: 999px; color: var(--ui-muted); font-size: 9.5px; font-weight: 700; }
.admin-ui .offer-delivery-kind.test { border-color: rgba(139,124,255,.35); color: #aea5ff; background: rgba(108,91,215,.16); }
.admin-ui .offer-delivery-kind.forced { border-color: rgba(242,173,93,.45); color: #ffc171; background: rgba(178,106,32,.18); }
.admin-ui .offer-delivery-filters { display: grid; padding: 13px 17px; grid-template-columns: minmax(190px,1.2fr) minmax(190px,1.2fr) minmax(150px,.85fr) minmax(140px,.75fr) auto auto; align-items: center; gap: 8px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .offer-delivery-filters input,.admin-ui .offer-delivery-filters select { width: 100%; min-height: 40px; font-size: 10.5px; }
.admin-ui .offer-delivery-filters .btn { min-height: 40px; }
.admin-ui .offer-delivery-result-meta { display: flex; min-height: 34px; padding: 8px 17px; align-items: center; color: var(--ui-muted); background: color-mix(in srgb,var(--ui-card-soft) 34%,transparent); font-size: 9.5px; }
.admin-ui .offer-delivery-player { display: flex; min-width: 0; padding: 0; align-items: center; gap: 9px; border: 0; color: var(--ui-text); background: transparent; text-align: left; cursor: pointer; }
.admin-ui .offer-delivery-player > span { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; border-radius: 8px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 9px; font-weight: 800; }
.admin-ui .offer-delivery-player b { display: grid; font-size: 11px; }
.admin-ui .offer-delivery-player small { margin-top: 3px; color: var(--ui-muted); font-size: 9px; font-weight: 500; }
.admin-ui .offer-delivery-player:hover b { color: var(--ui-primary-hover); }
.admin-ui .offer-delivery-pagination { display: flex; min-height: 58px; padding: 10px 17px; align-items: center; justify-content: flex-end; gap: 12px; border-top: 1px solid var(--ui-border); }
.admin-ui .offer-delivery-pagination span { margin-right: auto; color: var(--ui-muted); font-size: 10px; }
.admin-ui .offer-delivery-skeleton,.admin-ui .offer-delivery-skeleton-panel { overflow: hidden; }
.admin-ui .offer-delivery-skeleton i,.admin-ui .offer-delivery-skeleton b,.admin-ui .offer-delivery-skeleton span,.admin-ui .offer-delivery-skeleton-panel i,.admin-ui .offer-delivery-skeleton-panel b,.admin-ui .offer-delivery-skeleton-panel span { display: block; overflow: hidden; border-radius: 7px; background: linear-gradient(100deg,var(--ui-card-soft),color-mix(in srgb,var(--ui-primary) 23%,var(--ui-card-soft)),var(--ui-card-soft)); background-size: 220% 100%; animation: monetization-skeleton-shimmer 1.25s linear infinite; }
.admin-ui .offer-delivery-skeleton i { width: 42%; height: 9px; }.admin-ui .offer-delivery-skeleton b { width: 36%; height: 28px; margin: 20px 0 13px; }.admin-ui .offer-delivery-skeleton span { width: 64%; height: 9px; }
.admin-ui .offer-delivery-skeleton-panel { display: grid; min-height: 220px; padding: 18px !important; gap: 15px; }
.admin-ui .offer-delivery-skeleton-panel i { width: 18%; height: 16px; }.admin-ui .offer-delivery-skeleton-panel b { width: 32%; height: 9px; }.admin-ui .offer-delivery-skeleton-panel span { width: 100%; height: 38px; }
.admin-ui .is-refreshing .offer-delivery-page { opacity: .68; pointer-events: none; }

/* Offer audience test workflow ---------------------------------------------------------- */
.admin-ui .offer-test-modal { width: min(920px,calc(100vw - 30px)); }
.admin-ui .offer-test-form { display: grid; gap: 14px; }
.admin-ui .offer-test-intro { display: flex; padding: 16px 17px; align-items: flex-start; justify-content: space-between; gap: 18px; border: 1px solid rgba(139,124,255,.28); border-radius: 12px; background: linear-gradient(135deg,rgba(108,91,215,.13),var(--ui-card-soft)); }
.admin-ui .offer-test-intro span,.admin-ui .offer-test-audience header span { color: var(--ui-primary-hover); font-size: 9px; font-weight: 800; letter-spacing: .09em; }
.admin-ui .offer-test-intro h3 { margin: 5px 0; color: var(--ui-text); font-size: 17px; }
.admin-ui .offer-test-intro p { max-width: 680px; margin: 0; color: var(--ui-muted); font-size: 10.5px; line-height: 1.55; }
.admin-ui .offer-test-intro .offer-test-badge { display: grid; min-width: 50px; min-height: 28px; place-items: center; border-radius: 8px; color: #beb7ff; background: rgba(108,91,215,.22); }
.admin-ui .offer-test-audience { padding: 14px 16px; border: 1px solid var(--ui-border); border-radius: 11px; background: var(--ui-card-soft); }
.admin-ui .offer-test-audience header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.admin-ui .offer-test-audience header div { display: grid; gap: 3px; }
.admin-ui .offer-test-audience header b { color: var(--ui-text); font-size: 12px; }
.admin-ui .offer-test-audience header small { color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .offer-test-audience header a { color: var(--ui-primary-hover); font-size: 10px; font-weight: 700; }
.admin-ui .offer-test-samples { display: flex; margin-top: 12px; padding-top: 11px; flex-wrap: wrap; align-items: center; gap: 7px; border-top: 1px solid var(--ui-border); }
.admin-ui .offer-test-samples > span { margin-right: 3px; color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .offer-test-samples button { display: grid; padding: 7px 9px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-text); background: var(--ui-card); font-size: 9.5px; text-align: left; cursor: pointer; }
.admin-ui .offer-test-samples button:hover { border-color: var(--ui-primary); }
.admin-ui .offer-test-samples small { margin-top: 2px; color: var(--ui-muted); font-size: 8.5px; }
.admin-ui .offer-test-inputs { align-items: start; }
.admin-ui .offer-test-results { display: grid; max-height: 390px; overflow-y: auto; gap: 9px; }
.admin-ui .offer-test-empty,.admin-ui .offer-test-loading { display: grid; min-height: 90px; place-content: center; justify-items: center; gap: 6px; border: 1px dashed var(--ui-border-strong); border-radius: 11px; color: var(--ui-muted); text-align: center; }
.admin-ui .offer-test-empty b { color: var(--ui-text); font-size: 11px; }.admin-ui .offer-test-empty span,.admin-ui .offer-test-loading span { font-size: 9.5px; }
.admin-ui .offer-test-loading i { width: 24px; height: 24px; border: 2px solid var(--ui-border-strong); border-top-color: var(--ui-primary); border-radius: 50%; animation: offer-test-spin .8s linear infinite; }
@keyframes offer-test-spin { to { transform: rotate(360deg); } }
.admin-ui .offer-test-player { overflow: hidden; border: 1px solid var(--ui-border); border-radius: 11px; background: var(--ui-card-soft); }
.admin-ui .offer-test-player > header { display: flex; padding: 11px 13px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .offer-test-player > header div { display: grid; gap: 3px; }.admin-ui .offer-test-player > header b { font-size: 11px; }.admin-ui .offer-test-player > header span { color: var(--ui-muted); font-size: 9px; }
.admin-ui .offer-test-player > header strong { padding: 5px 7px; border-radius: 7px; color: #f27a8b; background: rgba(183,54,76,.15); font-size: 8.5px; }
.admin-ui .offer-test-player.pass > header strong { color: #42dda4; background: rgba(24,151,107,.15); }
.admin-ui .offer-test-rules { display: grid; padding: 10px 13px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.admin-ui .offer-test-rules > div { display: grid; min-width: 0; padding: 8px; grid-template-columns: 22px minmax(0,1fr); align-items: start; gap: 7px; border-radius: 8px; background: var(--ui-card); }
.admin-ui .offer-test-rules > div > span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 6px; color: #f27a8b; background: rgba(183,54,76,.15); font-weight: 800; }
.admin-ui .offer-test-rules > div.pass > span { color: #42dda4; background: rgba(24,151,107,.15); }
.admin-ui .offer-test-rules p,.admin-ui .offer-test-rules b,.admin-ui .offer-test-rules small { display: block; min-width: 0; margin: 0; }
.admin-ui .offer-test-rules b { color: var(--ui-text); font-size: 9.5px; }.admin-ui .offer-test-rules small { margin-top: 3px; overflow: hidden; color: var(--ui-muted); font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .offer-test-error { margin: 0; padding: 12px; color: var(--ui-coral); font-size: 10px; }
.admin-ui .offer-test-force { display: grid; padding: 13px 14px; gap: 12px; border: 1px solid rgba(242,173,93,.38); border-radius: 11px; background: rgba(178,106,32,.10); }
.admin-ui .offer-test-force[hidden],.admin-ui .offer-test-force-reason[hidden] { display: none !important; }
.admin-ui .offer-test-force-toggle { display: grid; grid-template-columns: 30px minmax(0,1fr) 38px; align-items: center; gap: 11px; cursor: pointer; }
.admin-ui .offer-test-force-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: #ffc171; background: rgba(178,106,32,.2); font-size: 15px; font-weight: 900; }
.admin-ui .offer-test-force-toggle > span:nth-child(2) { display: grid; gap: 3px; }
.admin-ui .offer-test-force-toggle b { color: var(--ui-text); font-size: 11px; }
.admin-ui .offer-test-force-toggle small { color: var(--ui-muted); font-size: 9.5px; line-height: 1.45; }
.admin-ui .offer-test-force-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.admin-ui .offer-test-force-toggle > i { position: relative; width: 38px; height: 22px; border: 1px solid var(--ui-border-strong); border-radius: 999px; background: var(--ui-card); transition: .18s ease; }
.admin-ui .offer-test-force-toggle > i::after { position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--ui-muted); content: ""; transition: .18s ease; }
.admin-ui .offer-test-force-toggle input:checked + i { border-color: #d99445; background: rgba(178,106,32,.3); }
.admin-ui .offer-test-force-toggle input:checked + i::after { left: 19px; background: #ffc171; }
.admin-ui .offer-test-force-reason { padding-top: 11px; border-top: 1px solid rgba(242,173,93,.22); }
.admin-ui .offer-test-force-reason > span { color: var(--ui-text); font-size: 10px; font-weight: 700; }
.admin-ui .offer-test-player.forced { border-color: rgba(242,173,93,.42); }
.admin-ui .offer-test-player.forced > header { background: rgba(178,106,32,.09); }
.admin-ui .offer-test-player.forced > header strong { color: #ffc171; background: rgba(178,106,32,.2); }

/* Notices workspace ------------------------------------------------------------------- */
.admin-ui .notices-page { width: min(100%,1480px); margin: 0 auto; }
.admin-ui .notices-page-head { display: flex; margin-bottom: 14px; align-items: flex-end; justify-content: space-between; gap: 20px; }
.admin-ui .notices-eyebrow { color: var(--ui-primary-hover); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.admin-ui .notices-page-head h1 { margin: 5px 0 3px; color: var(--ui-text); font-size: clamp(24px,2vw,31px); letter-spacing: -.035em; }
.admin-ui .notices-page-head p { margin: 0; color: var(--ui-muted); font-size: clamp(11px,.9vw,13px); }
.admin-ui .notices-primary-action { min-height: 42px; padding-inline: 16px; gap: 7px; font-size: 12px; }
.admin-ui .notices-primary-action span { font-size: 17px; line-height: 1; }
.admin-ui .notices-quick-actions { display: grid; margin-bottom: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.admin-ui .notices-quick-actions > button { display: grid; min-height: 70px; padding: 12px 14px; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; border: 1px solid var(--ui-border); border-radius: 11px; color: var(--ui-text); background: linear-gradient(135deg,var(--ui-card-soft),color-mix(in srgb,var(--ui-card) 78%,transparent)); font: inherit; text-align: left; cursor: pointer; transition: border-color .16s ease,transform .16s ease,background .16s ease; }
.admin-ui .notices-quick-actions > button:hover { border-color: color-mix(in srgb,var(--ui-primary) 45%,var(--ui-border)); background: color-mix(in srgb,var(--ui-primary) 8%,var(--ui-card)); transform: translateY(-1px); }
.admin-ui .notices-quick-actions > button > span:nth-child(2) { display: grid; gap: 4px; }
.admin-ui .notices-quick-actions b { font-size: 12px; }.admin-ui .notices-quick-actions small { color: var(--ui-muted); font-size: 10px; }
.admin-ui .notices-quick-actions button > i { color: var(--ui-muted); font-size: 15px; font-style: normal; }
.admin-ui .notice-action-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 9px; font-size: 17px; font-weight: 800; }
.admin-ui .notice-action-icon.gift { color: #8dd9ff; background: rgba(46,151,202,.15); }.admin-ui .notice-action-icon.payment { color: #ffc171; background: rgba(178,106,32,.17); }
.admin-ui .notices-kpis { display: grid; margin-bottom: 12px; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.admin-ui .notices-kpis article { display: grid; min-height: 105px; padding: 14px 15px; align-content: space-between; border: 1px solid var(--ui-border); border-radius: 11px; background: var(--ui-card); }
.admin-ui .notices-kpis article > span { color: var(--ui-muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.admin-ui .notices-kpis strong { color: var(--ui-text); font-size: clamp(24px,2vw,31px); line-height: 1; }.admin-ui .notices-kpis small { color: var(--ui-muted); font-size: 10px; }
.admin-ui .notices-kpis article.active { border-top-color: rgba(66,221,164,.5); }.admin-ui .notices-kpis article.broadcast { border-top-color: rgba(139,124,255,.55); }.admin-ui .notices-kpis article.opened { border-top-color: rgba(117,184,255,.55); }
.admin-ui .notices-guidance { display: flex; min-height: 48px; margin-bottom: 12px; padding: 10px 13px; align-items: center; gap: 10px; border: 1px solid rgba(117,184,255,.25); border-radius: 10px; background: rgba(53,122,198,.09); }
.admin-ui .notices-guidance > span { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 7px; color: #75b8ff; background: rgba(53,122,198,.17); font-size: 12px; font-weight: 800; }
.admin-ui .notices-guidance p { margin: 0; color: var(--ui-muted); font-size: 10.5px; line-height: 1.5; }.admin-ui .notices-guidance b { color: var(--ui-text); }
.admin-ui .notices-table-card { padding: 0; overflow: hidden; }
.admin-ui .notices-table-card > header { display: flex; min-height: 66px; padding: 13px 16px; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .notices-table-card > header h2 { margin: 0; color: var(--ui-text); font-size: clamp(15px,1.2vw,18px); }.admin-ui .notices-table-card > header p { margin: 4px 0 0; color: var(--ui-muted); font-size: 10.5px; }
.admin-ui .notices-table-card > header > span { padding: 6px 9px; border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 10px; white-space: nowrap; }
.admin-ui .notices-filters { display: grid; padding: 12px 16px; grid-template-columns: minmax(220px,1.4fr) minmax(150px,.75fr) minmax(140px,.7fr) auto auto; align-items: center; gap: 8px; border-bottom: 1px solid var(--ui-border); }
.admin-ui .notices-filters input,.admin-ui .notices-filters select,.admin-ui .notices-filters .btn { min-height: 40px; font-size: 11px; }
.admin-ui .notices-table-wrap table { min-width: 1040px; margin: 0; }
.admin-ui .notices-table-wrap th { height: 40px; color: var(--ui-muted); background: color-mix(in srgb,var(--ui-card-soft) 55%,transparent); font-size: 9.5px; letter-spacing: .05em; text-transform: uppercase; }
.admin-ui .notices-table-wrap td { padding-top: 11px; padding-bottom: 11px; font-size: 11px; vertical-align: middle; }
.admin-ui .notice-message-cell { display: grid; min-width: 260px; max-width: 400px; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 10px; }
.admin-ui .notice-message-cell > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 13px; }
.admin-ui .notice-message-cell > div { display: grid; min-width: 0; gap: 3px; }.admin-ui .notice-message-cell b { overflow: hidden; color: var(--ui-text); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.admin-ui .notice-message-cell small { overflow: hidden; color: var(--ui-muted); font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }.admin-ui .notice-message-cell em { color: color-mix(in srgb,var(--ui-muted) 74%,transparent); font-size: 8.5px; font-style: normal; }
.admin-ui .notice-audience,.admin-ui .notice-player-link,.admin-ui .notice-plain { display: inline-flex; min-height: 25px; padding: 0 8px; align-items: center; border: 1px solid var(--ui-border); border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 9.5px; font-weight: 700; white-space: nowrap; }
.admin-ui .notice-audience.broadcast { color: #aea5ff; border-color: rgba(139,124,255,.32); background: rgba(108,91,215,.14); }
.admin-ui .notice-player-link { color: #75b8ff; border-color: rgba(117,184,255,.28); background: rgba(53,122,198,.12); cursor: pointer; }
.admin-ui .notice-reward { display: grid; min-width: 150px; max-width: 260px; gap: 3px; }.admin-ui .notice-reward b { overflow: hidden; color: var(--ui-text); font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }.admin-ui .notice-reward small { color: var(--ui-muted); font-size: 9px; }
.admin-ui .notice-date { display: table-cell; white-space: nowrap; }.admin-ui .notice-date b,.admin-ui .notice-date small { display: block; }.admin-ui .notice-date small { margin-top: 3px; }
.admin-ui .notice-opened { display: grid; gap: 3px; white-space: nowrap; }.admin-ui .notice-date b,.admin-ui .notice-opened strong { color: var(--ui-text); font-size: 10.5px; }.admin-ui .notice-date small,.admin-ui .notice-opened small { color: var(--ui-muted); font-size: 9px; }
.admin-ui .notice-status { display: inline-flex; min-height: 24px; padding: 0 8px; align-items: center; gap: 5px; border-radius: 999px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 9.5px; font-weight: 700; text-transform: capitalize; }.admin-ui .notice-status i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.admin-ui .notice-status.active { color: #42dda4; background: rgba(24,151,107,.15); }.admin-ui .notice-status.expired { color: #f1ad5d; background: rgba(178,106,32,.16); }.admin-ui .notice-status.inactive { color: #93a2b5; background: rgba(93,110,132,.14); }
.admin-ui .notice-row-actions { white-space: nowrap; }.admin-ui .notice-row-actions .btn { min-height: 31px; }
.admin-ui .notices-empty { display: grid; min-height: 190px; place-content: center; justify-items: center; gap: 7px; color: var(--ui-muted); }.admin-ui .notices-empty > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 11px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 18px; }.admin-ui .notices-empty b { color: var(--ui-text); font-size: 12px; }.admin-ui .notices-empty small { font-size: 10px; }
.admin-ui .notices-error-state { display: grid; min-height: 300px; place-content: center; justify-items: center; gap: 9px; text-align: center; }.admin-ui .notices-error-state > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; color: #f27a8b; background: rgba(183,54,76,.16); font-weight: 900; }.admin-ui .notices-error-state h2,.admin-ui .notices-error-state p { margin: 0; }.admin-ui .notices-error-state p { color: var(--ui-muted); font-size: 11px; }
.admin-ui .notices-loading-head { display: grid; margin-bottom: 14px; gap: 8px; }.admin-ui .notices-loading-head i,.admin-ui .notices-loading-head b,.admin-ui .notices-loading-head span,.admin-ui .notice-skeleton > *,.admin-ui .notice-skeleton-table > * { display: block; overflow: hidden; border-radius: 7px; background: linear-gradient(100deg,var(--ui-card-soft),color-mix(in srgb,var(--ui-primary) 22%,var(--ui-card-soft)),var(--ui-card-soft)); background-size: 220% 100%; animation: monetization-skeleton-shimmer 1.25s linear infinite; }
.admin-ui .notices-loading-head i { width: 95px; height: 8px; }.admin-ui .notices-loading-head b { width: 190px; height: 31px; }.admin-ui .notices-loading-head span { width: 330px; max-width: 75%; height: 10px; }.admin-ui .notice-skeleton i { width: 42%; height: 9px; }.admin-ui .notice-skeleton b { width: 33%; height: 28px; }.admin-ui .notice-skeleton span { width: 64%; height: 9px; }.admin-ui .notice-skeleton-table { display: grid; min-height: 300px; padding: 18px !important; gap: 14px; }.admin-ui .notice-skeleton-table i { width: 20%; height: 19px; }.admin-ui .notice-skeleton-table span { width: 100%; height: 42px; }

/* Notice editor and support dialogs */
.admin-ui .notice-editor-modal { width: min(940px,calc(100vw - 30px)); }.admin-ui .notice-support-modal { width: min(820px,calc(100vw - 30px)); }
.admin-ui .notice-editor-form,.admin-ui .notice-support-form { display: grid; gap: 12px; }
.admin-ui .notice-editor-intro,.admin-ui .notice-support-intro { display: flex; padding: 14px 15px; align-items: center; gap: 11px; border: 1px solid rgba(139,124,255,.28); border-radius: 11px; background: linear-gradient(135deg,rgba(108,91,215,.13),var(--ui-card-soft)); }
.admin-ui .notice-editor-intro > span { padding: 5px 7px; border-radius: 6px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 8.5px; font-weight: 800; letter-spacing: .08em; }.admin-ui .notice-editor-intro h3,.admin-ui .notice-editor-intro p { margin: 0; }.admin-ui .notice-editor-intro h3 { font-size: 13px; }.admin-ui .notice-editor-intro p { margin-top: 4px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .notice-edit-warning { display: flex; padding: 10px 12px; align-items: center; gap: 9px; border: 1px solid rgba(242,173,93,.3); border-radius: 9px; background: rgba(178,106,32,.1); }.admin-ui .notice-edit-warning > span { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 7px; color: #ffc171; background: rgba(178,106,32,.2); font-weight: 900; }.admin-ui .notice-edit-warning p { margin: 0; color: var(--ui-muted); font-size: 10px; }.admin-ui .notice-edit-warning b { color: var(--ui-text); }
.admin-ui .notice-form-section { padding: 14px 15px; border: 1px solid var(--ui-border); border-radius: 11px; background: var(--ui-card-soft); }.admin-ui .notice-form-section.compact { padding: 13px 14px; }
.admin-ui .notice-form-section > header { display: flex; margin-bottom: 13px; align-items: center; gap: 10px; }.admin-ui .notice-form-section > header > span { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 8px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 10px; font-weight: 800; }.admin-ui .notice-form-section > header > div { min-width: 0; }.admin-ui .notice-form-section > header h3,.admin-ui .notice-form-section > header p { margin: 0; }.admin-ui .notice-form-section > header h3 { color: var(--ui-text); font-size: 12px; }.admin-ui .notice-form-section > header h3 em { margin-left: 5px; color: var(--ui-muted); font-size: 9px; font-style: normal; font-weight: 600; }.admin-ui .notice-form-section > header p { margin-top: 3px; color: var(--ui-muted); font-size: 9.5px; }.admin-ui .notice-reward-section > header .btn { margin-left: auto; }
.admin-ui .notice-audience-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }.admin-ui .notice-audience-picker label { position: relative; margin: 0; cursor: pointer; }.admin-ui .notice-audience-picker input { position: absolute; opacity: 0; pointer-events: none; }.admin-ui .notice-audience-picker label > span { display: grid; min-height: 69px; padding: 12px 13px; align-content: center; gap: 4px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card); transition: .16s ease; }.admin-ui .notice-audience-picker b { color: var(--ui-text); font-size: 11px; }.admin-ui .notice-audience-picker small { color: var(--ui-muted); font-size: 9.5px; }.admin-ui .notice-audience-picker input:checked + span { border-color: var(--ui-primary); background: color-mix(in srgb,var(--ui-primary) 13%,var(--ui-card)); box-shadow: inset 3px 0 var(--ui-primary); }
.admin-ui .notice-player-field { margin: 10px 0 0; }.admin-ui .notice-player-field[hidden] { display: none; }
.admin-ui .notice-counted-field > label { display: flex; justify-content: space-between; }.admin-ui .notice-counted-field > label small { color: var(--ui-muted); font-size: 9px; font-weight: 500; }.admin-ui .notice-counted-field > label b { color: var(--ui-primary-hover); }
.admin-ui .notice-message-preview { display: grid; min-height: 95px; padding: 12px 14px; align-content: center; gap: 5px; border: 1px solid rgba(117,184,255,.2); border-radius: 9px; background: linear-gradient(145deg,rgba(53,122,198,.09),var(--ui-card)); }.admin-ui .notice-message-preview > span { color: #75b8ff; font-size: 8px; font-weight: 800; letter-spacing: .08em; }.admin-ui .notice-message-preview b { color: var(--ui-text); font-size: 12px; }.admin-ui .notice-message-preview p { max-height: 44px; margin: 0; overflow: hidden; color: var(--ui-muted); font-size: 9.5px; line-height: 1.5; }
.admin-ui .notice-delivery-grid { align-items: stretch; }.admin-ui .notice-switches { display: grid; gap: 8px; }.admin-ui .notice-switch { display: grid; min-height: 54px; margin: 0; padding: 9px 10px; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 9px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card); cursor: pointer; }.admin-ui .notice-switch input { position: absolute; opacity: 0; pointer-events: none; }.admin-ui .notice-switch > i { position: relative; width: 34px; height: 20px; border: 1px solid var(--ui-border-strong); border-radius: 999px; background: var(--ui-card-soft); }.admin-ui .notice-switch > i::after { position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; border-radius: 50%; background: var(--ui-muted); content: ""; transition: .16s ease; }.admin-ui .notice-switch input:checked + i { border-color: var(--ui-primary); background: var(--ui-primary-soft); }.admin-ui .notice-switch input:checked + i::after { left: 17px; background: var(--ui-primary-hover); }.admin-ui .notice-switch > span { display: grid; gap: 2px; }.admin-ui .notice-switch b { color: var(--ui-text); font-size: 10px; }.admin-ui .notice-switch small { color: var(--ui-muted); font-size: 8.5px; }
.admin-ui .notice-reward-section #pkg-items-container:empty { display: none; }.admin-ui .notice-reward-section #pkg-items-container > .muted { display: grid; min-height: 74px; margin: 0 !important; place-content: center; border: 1px dashed var(--ui-border-strong); border-radius: 9px; text-align: center; }.admin-ui .notice-reward-section #pkg-items-container > .grid-3 { margin-bottom: 8px !important; padding: 10px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card); }
.admin-ui .notice-support-intro > span { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 9px; font-size: 16px; }.admin-ui .notice-support-intro.payment > span { color: #ffc171; background: rgba(178,106,32,.18); }.admin-ui .notice-support-intro.resource > span { color: #8dd9ff; background: rgba(46,151,202,.15); }.admin-ui .notice-support-intro b { color: var(--ui-text); font-size: 12px; }.admin-ui .notice-support-intro p { margin: 4px 0 0; color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .notice-accounting-note { display: flex; padding: 9px 10px; align-items: flex-start; gap: 8px; border: 1px solid rgba(242,173,93,.24); border-radius: 8px; background: rgba(178,106,32,.08); }.admin-ui .notice-accounting-note.free { border-color: rgba(117,184,255,.22); background: rgba(53,122,198,.07); }.admin-ui .notice-accounting-note > span { display: grid; width: 21px; height: 21px; flex: 0 0 21px; place-items: center; border-radius: 6px; color: var(--ui-muted); background: var(--ui-card); font-size: 9px; font-weight: 800; }.admin-ui .notice-accounting-note p { margin: 0; color: var(--ui-muted); font-size: 9px; line-height: 1.55; }.admin-ui .notice-accounting-note b { color: var(--ui-text); }
.admin-ui .notice-editor-form > .modal-actions,.admin-ui .notice-support-form > .modal-actions { position: sticky; bottom: -24px; z-index: 2; margin: 0 -24px -24px; padding: 13px 24px; border-top: 1px solid var(--ui-border); background: color-mix(in srgb,var(--ui-card) 94%,transparent); backdrop-filter: blur(12px); }
/* Notice image, segment audience and reward-or-action picker */
.admin-ui .notice-audience-picker.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.admin-ui .notice-attachment-picker { margin-bottom: 12px; }
.admin-ui .notice-attachment-panel { display: grid; gap: 10px; }.admin-ui .notice-attachment-panel[hidden],.admin-ui .notice-switch[hidden] { display: none; }
.admin-ui .notice-attachment-panel .field { margin: 0; }.admin-ui .notice-attachment-panel .grid-2 { gap: 10px; }
.admin-ui .notice-attachment-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.admin-ui .notice-attachment-head small { color: var(--ui-muted); font-size: 9.5px; }
.admin-ui .notice-message-media { align-items: stretch; }.admin-ui .notice-message-media > *,.admin-ui .notice-delivery-grid > *,.admin-ui .notice-attachment-panel .grid-2 > * { min-width: 0; }.admin-ui .notice-message-media .offer-asset-field { margin: 0; }.admin-ui .notice-message-media .offer-asset-label small { color: var(--ui-muted); font-size: 9px; font-weight: 500; }
.admin-ui .notice-message-preview img { display: block; width: 100%; max-height: 130px; margin-bottom: 4px; border-radius: 7px; object-fit: contain; background: #080b12; }
.admin-ui .notice-message-preview img[hidden],.admin-ui .notice-message-preview i[hidden] { display: none; }
.admin-ui .notice-message-preview i { justify-self: center; margin-top: 6px; padding: 6px 16px; border-radius: 8px; color: #fff; background: var(--ui-primary); font-size: 10px; font-style: normal; font-weight: 700; }
.admin-ui .notice-delivery-fields { display: grid; gap: 10px; }.admin-ui .notice-delivery-fields .field { margin: 0; }
.admin-ui .notice-audience.segment { max-width: 220px; overflow: hidden; color: #6fd6b5; border-color: rgba(66,221,164,.3); background: rgba(24,151,107,.13); text-overflow: ellipsis; }
.admin-ui .notice-message-cell > span { overflow: hidden; }.admin-ui .notice-message-cell > span img { width: 100%; height: 100%; object-fit: cover; }
.admin-ui .notice-action-cell b { color: var(--ui-primary-hover); }.admin-ui .notice-action-cell small { overflow: hidden; direction: ltr; text-align: left; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 980px) {
    .admin-ui .offer-delivery-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .admin-ui .offer-delivery-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .offer-delivery-filters .input-with-icon { grid-column: 1 / -1; }
    .admin-ui .notices-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .notices-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .notices-player-filter { grid-column: 1 / -1; }
}

/* Tournament economy */
.admin-ui .tournament-economy-summary{display:grid;margin-top:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.admin-ui .tournament-economy-kpi{position:relative;min-height:120px;padding:16px!important;overflow:hidden}.admin-ui .tournament-economy-kpi>span{display:block;padding-right:38px;color:var(--ui-muted);font-size:11px;font-weight:650;letter-spacing:.035em;text-transform:uppercase}.admin-ui .tournament-economy-kpi>strong{display:block;margin-top:12px;color:var(--ui-text);font-size:clamp(20px,1.8vw,28px);line-height:1.08}.admin-ui .tournament-economy-kpi>small{display:block;max-width:calc(100% - 34px);margin-top:8px;color:var(--ui-muted);font-size:10px;line-height:1.5}.admin-ui .tournament-economy-kpi>i{position:absolute;top:14px;right:14px;display:grid;width:32px;height:32px;place-items:center;border-radius:9px;color:var(--ui-primary-hover);background:var(--ui-primary-soft)}.admin-ui .tournament-economy-kpi>i svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.admin-ui .tournament-economy-kpi.healthy>strong{color:var(--ui-green)}.admin-ui .tournament-economy-kpi.danger>strong{color:var(--ui-coral)}
.admin-ui .tournament-economy-kpi.is-loading i,.admin-ui .tournament-economy-kpi.is-loading b,.admin-ui .tournament-economy-kpi.is-loading small,.admin-ui .tournament-economy-lines i{display:block;border-radius:6px;background:linear-gradient(90deg,var(--ui-card-soft),color-mix(in srgb,var(--ui-primary) 11%,var(--ui-card-soft)),var(--ui-card-soft));background-size:220% 100%;animation:overview-shimmer 1.5s infinite}.admin-ui .tournament-economy-kpi.is-loading i{width:32px;height:32px}.admin-ui .tournament-economy-kpi.is-loading b{width:56%;height:24px;margin-top:16px}.admin-ui .tournament-economy-kpi.is-loading small{width:76%;height:9px}.admin-ui .tournament-economy-card{margin-top:12px;padding:0!important;overflow:hidden}.admin-ui .tournament-economy-card>.tournament-section-head{padding:17px 18px}.admin-ui .tournament-economy-card.is-loading{min-height:390px}.admin-ui .tournament-economy-lines{display:grid;padding:4px 18px 20px;gap:13px}.admin-ui .tournament-economy-lines i{width:100%;height:42px}
.admin-ui .tournament-economy-toolbar{display:flex;padding:12px 18px;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-card-soft) 55%,transparent)}.admin-ui .tournament-economy-toolbar label{width:min(390px,100%)}.admin-ui .tournament-economy-toolbar>span{max-width:540px;color:var(--ui-muted);font-size:9px;line-height:1.45;text-align:right}.admin-ui .tournament-economy-table-wrap{width:100%;overflow-x:auto}.admin-ui .tournament-economy-table{width:100%;min-width:980px;border-collapse:collapse}.admin-ui .tournament-economy-table th{padding:11px 14px;color:var(--ui-muted);background:var(--ui-card-soft);font-size:9px;font-weight:650;letter-spacing:.04em;text-align:left;text-transform:uppercase}.admin-ui .tournament-economy-table td{padding:13px 14px;border-top:1px solid var(--ui-border);vertical-align:middle}.admin-ui .tournament-economy-table td strong,.admin-ui .tournament-economy-table td small{display:block;white-space:nowrap}.admin-ui .tournament-economy-table td strong{color:var(--ui-text);font-size:11px}.admin-ui .tournament-economy-table td small{margin-top:4px;color:var(--ui-muted);font-size:9px}.admin-ui .tournament-economy-table td strong.positive{color:var(--ui-green)}.admin-ui .tournament-economy-table td strong.negative{color:var(--ui-coral)}.admin-ui .tournament-economy-note{display:flex;padding:12px 18px;align-items:flex-start;gap:12px;border-top:1px solid var(--ui-border);color:var(--ui-muted);font-size:9px;line-height:1.5}.admin-ui .tournament-economy-note strong{flex:0 0 auto;color:var(--ui-text)}
.admin-ui .tournament-economy-error{display:flex;min-height:110px;margin-top:16px;padding:18px!important;align-items:center;gap:13px}.admin-ui .tournament-economy-error>span{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:10px;color:var(--ui-coral);background:color-mix(in srgb,var(--ui-coral) 12%,transparent)}.admin-ui .tournament-economy-error>div{min-width:0;flex:1}.admin-ui .tournament-economy-error strong{color:var(--ui-text);font-size:12px}.admin-ui .tournament-economy-error p{margin:5px 0 0;color:var(--ui-muted);font-size:10px}.admin-ui .tournament-economy-detail{display:grid;gap:16px}.admin-ui .tournament-economy-detail>header{display:flex;padding:14px;align-items:center;gap:12px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-card-soft)}.admin-ui .tournament-economy-detail>header>span{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:10px;color:var(--ui-primary-hover);background:var(--ui-primary-soft)}.admin-ui .tournament-economy-detail header svg{width:19px;height:19px;fill:none;stroke:currentColor}.admin-ui .tournament-economy-detail header small,.admin-ui .tournament-economy-detail header p{color:var(--ui-muted);font-size:9px}.admin-ui .tournament-economy-detail header h3{margin:3px 0;color:var(--ui-text);font-size:16px}.admin-ui .tournament-economy-detail section h4{margin:0 0 8px;color:var(--ui-text);font-size:11px}.admin-ui .tournament-economy-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-ui .tournament-economy-detail-grid article{min-height:82px;padding:12px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-card-soft)}.admin-ui .tournament-economy-detail-grid span,.admin-ui .tournament-economy-detail-grid small{display:block;color:var(--ui-muted);font-size:9px}.admin-ui .tournament-economy-detail-grid strong{display:block;margin-top:7px;color:var(--ui-text);font-size:14px}.admin-ui .tournament-economy-detail-grid small{margin-top:5px;line-height:1.4}.admin-ui .tournament-economy-detail aside{padding:12px 14px;border:1px solid color-mix(in srgb,var(--ui-orange) 30%,var(--ui-border));border-radius:9px;color:var(--ui-muted);background:color-mix(in srgb,var(--ui-orange) 6%,transparent);font-size:9px;line-height:1.5}.admin-ui .tournament-economy-detail aside strong{color:var(--ui-text)}.admin-ui .tournament-economy-detail aside p{margin:5px 0 0}
@media(max-width:980px){.admin-ui .tournament-economy-summary{grid-template-columns:1fr 1fr}}@media(max-width:620px){.admin-ui .tournament-economy-summary{grid-template-columns:1fr}.admin-ui .tournament-economy-toolbar{align-items:stretch;flex-direction:column}.admin-ui .tournament-economy-toolbar>span{text-align:left}.admin-ui .tournament-economy-detail-grid{grid-template-columns:1fr}}
.admin-ui .economy-type-tabs{display:flex;width:max-content;max-width:100%;margin-top:16px;padding:4px;gap:4px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-card)}.admin-ui .economy-type-tabs button{display:inline-flex;min-height:36px;padding:0 13px;align-items:center;gap:8px;border:0;border-radius:8px;color:var(--ui-muted);background:transparent;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.admin-ui .economy-type-tabs button span{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;color:var(--ui-muted);background:var(--ui-card-soft);font-size:9px}.admin-ui .economy-type-tabs button.active{color:var(--ui-text);background:var(--ui-primary-soft)}.admin-ui .economy-type-tabs button.active span{color:var(--ui-primary-hover);background:color-mix(in srgb,var(--ui-primary) 16%,transparent)}
.admin-ui .trailblazer-economy-summary{margin-top:12px}.admin-ui .tournament-economy-toolbar>span strong{color:var(--ui-orange)}.admin-ui .trailblazer-economy-detail>header{position:relative}.admin-ui .trailblazer-economy-detail>header>em{margin-left:auto;padding:5px 8px;border-radius:999px;color:var(--ui-orange);background:color-mix(in srgb,var(--ui-orange) 13%,transparent);font-size:8px;font-style:normal;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.admin-ui .trailblazer-source-table{overflow:hidden;border:1px solid var(--ui-border);border-radius:10px}.admin-ui .trailblazer-source-table>div{display:grid;min-height:44px;padding:9px 12px;align-items:center;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(70px,.35fr));gap:10px;border-top:1px solid var(--ui-border);color:var(--ui-muted);font-size:10px}.admin-ui .trailblazer-source-table>div:first-child{min-height:34px;border-top:0;color:var(--ui-muted);background:var(--ui-card-soft);font-size:8px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.admin-ui .trailblazer-source-table strong{color:var(--ui-text);font-size:10px}.admin-ui .trailblazer-source-table strong small{display:block;margin-top:3px;color:var(--ui-muted);font-size:8px;font-weight:500}
@media(max-width:760px){.admin-ui .economy-type-tabs{width:100%}.admin-ui .economy-type-tabs button{flex:1;justify-content:center}.admin-ui .trailblazer-source-table{overflow-x:auto}.admin-ui .trailblazer-source-table>div{min-width:560px}}
@media (max-width: 620px) {
    .admin-ui .offers-workspace-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .offers-workspace-tabs button { min-width: 0; padding-inline: 10px; }
    .admin-ui .offer-catalog-toolbar { align-items: stretch; flex-direction: column; }
    .admin-ui .offer-catalog-toolbar .btn { width: 100%; }
    .admin-ui .offer-page-actions { width: 100%; }
    .admin-ui .offer-page-actions .btn { flex: 1; }
    .admin-ui .offer-delivery-page .page-head { align-items: stretch; }
    .admin-ui .offer-delivery-page .page-head > .btn { width: 100%; }
    .admin-ui .offer-delivery-kpis { grid-template-columns: 1fr; }
    .admin-ui .offer-delivery-kpis article { min-height: 100px; }
    .admin-ui .offer-delivery-filters { grid-template-columns: 1fr; }
    .admin-ui .offer-delivery-filters .input-with-icon { grid-column: auto; }
    .admin-ui .offer-delivery-pagination { justify-content: space-between; }
    .admin-ui .offer-delivery-pagination span { margin: 0; }
    .admin-ui .offer-test-modal { width: calc(100vw - 16px); }
    .admin-ui .offer-test-intro { flex-direction: column; }
    .admin-ui .offer-test-rules { grid-template-columns: 1fr; }
    .admin-ui .notices-page-head { align-items: stretch; flex-direction: column; }.admin-ui .notices-primary-action { width: 100%; }
    .admin-ui .notices-quick-actions,.admin-ui .notices-kpis,.admin-ui .notices-filters,.admin-ui .notice-audience-picker,.admin-ui .notice-delivery-grid { grid-template-columns: 1fr; }
    .admin-ui .notices-player-filter { grid-column: auto; }.admin-ui .notices-kpis article { min-height: 94px; }
    .admin-ui .notices-guidance { align-items: flex-start; }.admin-ui .notices-table-card > header { align-items: flex-start; }
    .admin-ui .notice-editor-modal,.admin-ui .notice-support-modal { width: calc(100vw - 16px); }
    .admin-ui .notice-audience-picker.three,.admin-ui .notice-message-media,.admin-ui .notice-attachment-panel .grid-2 { grid-template-columns: 1fr; }
    .admin-ui .notice-attachment-head { align-items: stretch; flex-direction: column; }
    .admin-ui .notice-form-section { padding: 12px; }.admin-ui .notice-reward-section > header { align-items: flex-start; flex-wrap: wrap; }.admin-ui .notice-reward-section > header .btn { width: 100%; margin-left: 37px; }
    .admin-ui .notice-editor-form > .modal-actions,.admin-ui .notice-support-form > .modal-actions { bottom: -24px; flex-direction: row; }.admin-ui .notice-editor-form > .modal-actions .btn,.admin-ui .notice-support-form > .modal-actions .btn { flex: 1; }
}

/* Gift codes */
.admin-ui .gift-codes-page{width:100%;max-width:1460px;margin:0 auto}.admin-ui .gift-code-page-head{display:flex;margin-bottom:14px;align-items:flex-end;justify-content:space-between;gap:18px}.admin-ui .gift-code-page-head h1{margin:4px 0 3px;color:var(--ui-text);font-size:clamp(24px,2.1vw,32px);line-height:1.1}.admin-ui .gift-code-page-head p{margin:0;color:var(--ui-muted);font-size:11px}.admin-ui .gift-code-eyebrow{color:var(--ui-primary-hover);font-size:9px;font-weight:800;letter-spacing:.09em}.admin-ui .gift-code-page-head>.btn{min-height:39px;white-space:nowrap}
.admin-ui .gift-code-guidance{display:flex;min-height:52px;margin-bottom:12px;padding:11px 14px;align-items:center;gap:11px;border:1px solid rgba(139,124,255,.26);border-radius:10px;background:linear-gradient(135deg,rgba(108,91,215,.1),var(--ui-card))}.admin-ui .gift-code-guidance>span{display:grid;width:29px;height:29px;flex:0 0 29px;place-items:center;border-radius:8px;color:var(--ui-primary-hover);background:var(--ui-primary-soft)}.admin-ui .gift-code-guidance svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}.admin-ui .gift-code-guidance p{margin:0;color:var(--ui-muted);font-size:10.5px;line-height:1.5}.admin-ui .gift-code-guidance b{color:var(--ui-text)}
.admin-ui .gift-code-kpis{display:grid;margin-bottom:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-ui .gift-code-kpis article{display:grid;min-height:108px;padding:14px 15px;align-content:space-between;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-card)}.admin-ui .gift-code-kpis article>span{color:var(--ui-muted);font-size:9.5px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.admin-ui .gift-code-kpis strong{color:var(--ui-text);font-size:clamp(24px,2vw,31px);line-height:1}.admin-ui .gift-code-kpis small{color:var(--ui-muted);font-size:9.5px}.admin-ui .gift-code-kpis .available{border-top-color:rgba(66,221,164,.45)}.admin-ui .gift-code-kpis .exhausted{border-top-color:rgba(242,122,139,.42)}.admin-ui .gift-code-kpis .claimed{border-top-color:rgba(139,124,255,.52)}
.admin-ui .gift-code-table-card{padding:0!important;overflow:hidden}.admin-ui .gift-code-table-card>header{display:flex;min-height:65px;padding:13px 16px;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--ui-border)}.admin-ui .gift-code-table-card h2,.admin-ui .gift-code-table-card p{margin:0}.admin-ui .gift-code-table-card h2{font-size:clamp(15px,1.25vw,18px)}.admin-ui .gift-code-table-card p{margin-top:4px;color:var(--ui-muted);font-size:10px}.admin-ui .gift-code-table-card>header>span{padding:6px 9px;border-radius:999px;color:var(--ui-muted);background:var(--ui-card-soft);font-size:9.5px;white-space:nowrap}.admin-ui .gift-code-toolbar{display:grid;padding:12px 16px;grid-template-columns:minmax(240px,1.4fr) minmax(150px,.65fr) minmax(170px,.7fr);gap:8px;border-bottom:1px solid var(--ui-border)}.admin-ui .gift-code-toolbar label{position:relative}.admin-ui .gift-code-toolbar label>span{position:absolute;top:50%;left:13px;z-index:1;color:var(--ui-muted);transform:translateY(-50%)}.admin-ui .gift-code-toolbar input{padding-left:35px}.admin-ui .gift-code-toolbar input,.admin-ui .gift-code-toolbar select{min-height:40px;font-size:11px}.admin-ui .gift-code-table-wrap table{min-width:1050px;margin:0}.admin-ui .gift-code-table-wrap th{height:40px;color:var(--ui-muted);background:color-mix(in srgb,var(--ui-card-soft) 55%,transparent);font-size:9px;letter-spacing:.05em;text-transform:uppercase}.admin-ui .gift-code-table-wrap td{padding-top:12px;padding-bottom:12px;vertical-align:middle}.admin-ui .gift-code-value{display:flex;align-items:center;gap:7px}.admin-ui .gift-code-value code{padding:6px 8px;border:1px solid rgba(139,124,255,.28);border-radius:7px;color:#c8c2ff;background:rgba(108,91,215,.1);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:750;letter-spacing:.035em}.admin-ui .gift-code-value button{display:grid;width:28px;height:28px;padding:0;place-items:center;border:1px solid var(--ui-border);border-radius:7px;color:var(--ui-muted);background:var(--ui-card-soft);cursor:pointer}.admin-ui .gift-code-value button:hover{color:var(--ui-primary-hover);border-color:var(--ui-primary)}.admin-ui .gift-code-value svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}.admin-ui .gift-code-status{display:inline-flex;margin-top:6px;align-items:center;gap:5px;color:var(--ui-muted);font-size:8.5px}.admin-ui .gift-code-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.admin-ui .gift-code-status.available{color:#42dda4}.admin-ui .gift-code-status.exhausted{color:#f27a8b}.admin-ui .gift-code-reward{display:grid;max-width:310px;gap:4px}.admin-ui .gift-code-reward b{overflow:hidden;color:var(--ui-text);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.admin-ui .gift-code-reward small,.admin-ui .gift-code-usage small,.admin-ui .gift-code-date small{color:var(--ui-muted);font-size:8.5px}.admin-ui .gift-code-usage{display:grid;min-width:130px;gap:5px}.admin-ui .gift-code-usage>b,.admin-ui .gift-code-date>b{font-size:10.5px}.admin-ui .gift-code-usage>span{display:block;width:110px;height:4px;overflow:hidden;border-radius:999px;background:var(--ui-border)}.admin-ui .gift-code-usage>span>i{display:block;height:100%;border-radius:inherit;background:var(--ui-primary)}.admin-ui .gift-code-kind{display:inline-flex;min-height:25px;padding:0 8px;align-items:center;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap}.admin-ui .gift-code-kind.free{color:#75b8ff;background:rgba(53,122,198,.13)}.admin-ui .gift-code-kind.paid{color:#ffc171;background:rgba(178,106,32,.15)}.admin-ui .gift-code-date{display:grid;gap:4px;white-space:nowrap}.admin-ui .gift-code-empty{display:grid;min-height:180px;place-content:center;justify-items:center;gap:6px;color:var(--ui-muted)}.admin-ui .gift-code-empty>span{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;color:var(--ui-primary-hover);background:var(--ui-primary-soft);font-size:18px}.admin-ui .gift-code-empty b{color:var(--ui-text);font-size:12px}.admin-ui .gift-code-empty small{font-size:9.5px}.admin-ui .gift-code-filter-empty{padding:28px;color:var(--ui-muted);font-size:10.5px;text-align:center}
.admin-ui .gift-code-loading-head{display:grid;margin-bottom:14px;gap:8px}.admin-ui .gift-code-loading-head i,.admin-ui .gift-code-loading-head b,.admin-ui .gift-code-loading-head span,.admin-ui .gift-code-skeleton>*,.admin-ui .gift-code-loading-table>i{display:block;overflow:hidden;border-radius:7px;background:linear-gradient(100deg,var(--ui-card-soft),color-mix(in srgb,var(--ui-primary) 22%,var(--ui-card-soft)),var(--ui-card-soft));background-size:220% 100%;animation:monetization-skeleton-shimmer 1.25s linear infinite}.admin-ui .gift-code-loading-head i{width:105px;height:8px}.admin-ui .gift-code-loading-head b{width:210px;height:31px}.admin-ui .gift-code-loading-head span{width:380px;max-width:75%;height:10px}.admin-ui .gift-code-skeleton i{width:42%;height:9px}.admin-ui .gift-code-skeleton b{width:34%;height:28px}.admin-ui .gift-code-skeleton span{width:64%;height:9px}.admin-ui .gift-code-loading-table{display:grid;min-height:330px;padding:18px!important;gap:14px}.admin-ui .gift-code-loading-table>i{width:100%;height:42px}
.admin-ui .gift-code-editor-modal{width:min(880px,calc(100vw - 30px))}.admin-ui .gift-code-editor{display:grid;gap:12px}.admin-ui .gift-code-editor-intro{display:flex;padding:14px 15px;align-items:center;gap:11px;border:1px solid rgba(139,124,255,.28);border-radius:11px;background:linear-gradient(135deg,rgba(108,91,215,.13),var(--ui-card-soft))}.admin-ui .gift-code-editor-intro>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:10px;color:var(--ui-primary-hover);background:var(--ui-primary-soft)}.admin-ui .gift-code-editor-intro svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.admin-ui .gift-code-editor-intro h3,.admin-ui .gift-code-editor-intro p{margin:0}.admin-ui .gift-code-editor-intro h3{font-size:13px}.admin-ui .gift-code-editor-intro p{margin-top:4px;color:var(--ui-muted);font-size:9.5px}.admin-ui .gift-code-form-section{padding:14px 15px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-card-soft)}.admin-ui .gift-code-form-section>header{display:flex;margin-bottom:13px;align-items:center;gap:10px}.admin-ui .gift-code-form-section>header>span{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border-radius:8px;color:var(--ui-primary-hover);background:var(--ui-primary-soft);font-size:10px;font-weight:800}.admin-ui .gift-code-form-section>header h3,.admin-ui .gift-code-form-section>header p{margin:0}.admin-ui .gift-code-form-section>header h3{font-size:12px}.admin-ui .gift-code-form-section>header p{margin-top:3px;color:var(--ui-muted);font-size:9.5px}.admin-ui .gift-code-rewards>header>.btn{margin-left:auto}.admin-ui .gift-code-code-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.admin-ui .gift-code-code-field>.field{margin:0}.admin-ui .gift-code-code-field>.btn{min-height:38px}.admin-ui .gift-code-code-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}.admin-ui .gift-code-limit-picker{display:grid;margin-top:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-ui .gift-code-limit-picker label{position:relative;margin:0;cursor:pointer}.admin-ui .gift-code-limit-picker input{position:absolute;opacity:0;pointer-events:none}.admin-ui .gift-code-limit-picker label>span{display:grid;min-height:64px;padding:11px 12px;align-content:center;gap:4px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-card);transition:.16s ease}.admin-ui .gift-code-limit-picker b{font-size:10.5px}.admin-ui .gift-code-limit-picker small{color:var(--ui-muted);font-size:9px}.admin-ui .gift-code-limit-picker input:checked+span{border-color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 12%,var(--ui-card));box-shadow:inset 3px 0 var(--ui-primary)}.admin-ui .gift-code-max-field{margin:10px 0 0}.admin-ui .gift-code-max-field[hidden]{display:none}.admin-ui .gift-code-rewards #pkg-items-container>.grid-3{margin-bottom:8px!important;padding:10px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-card)}.admin-ui .gift-code-preview{display:grid;min-height:82px;padding:13px 15px;align-content:center;gap:5px;border:1px solid rgba(66,221,164,.21);border-radius:10px;background:linear-gradient(145deg,rgba(24,151,107,.08),var(--ui-card-soft))}.admin-ui .gift-code-preview>span{color:#42dda4;font-size:8px;font-weight:800;letter-spacing:.08em}.admin-ui .gift-code-preview>b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;letter-spacing:.04em}.admin-ui .gift-code-preview>p{margin:0;color:var(--ui-muted);font-size:10px}.admin-ui .gift-code-editor>.modal-actions{position:sticky;bottom:-24px;z-index:2;margin:0 -24px -24px;padding:13px 24px;border-top:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-card) 94%,transparent);backdrop-filter:blur(12px)}
@media(max-width:980px){.admin-ui .gift-code-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-ui .gift-code-toolbar{grid-template-columns:1fr 1fr}.admin-ui .gift-code-toolbar label{grid-column:1/-1}}
@media(max-width:620px){.admin-ui .gift-code-page-head{align-items:stretch;flex-direction:column}.admin-ui .gift-code-page-head>.btn{width:100%}.admin-ui .gift-code-guidance{align-items:flex-start}.admin-ui .gift-code-kpis,.admin-ui .gift-code-toolbar,.admin-ui .gift-code-limit-picker{grid-template-columns:1fr}.admin-ui .gift-code-toolbar label{grid-column:auto}.admin-ui .gift-code-kpis article{min-height:94px}.admin-ui .gift-code-editor-modal{width:calc(100vw - 16px)}.admin-ui .gift-code-code-field{grid-template-columns:1fr}.admin-ui .gift-code-code-field>.btn{width:100%}.admin-ui .gift-code-form-section{padding:12px}.admin-ui .gift-code-rewards>header{align-items:flex-start;flex-wrap:wrap}.admin-ui .gift-code-rewards>header>.btn{width:100%;margin-left:37px}.admin-ui .gift-code-editor>.modal-actions{flex-direction:row}.admin-ui .gift-code-editor>.modal-actions>.btn{flex:1}}

/* Gift-code batch generation and export */
.admin-ui .gift-code-page-actions{display:flex;align-items:center;gap:8px}.admin-ui .gift-code-page-actions>.btn{min-height:39px;white-space:nowrap}.admin-ui .gift-code-batch-fields{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(120px,.65fr) minmax(140px,.75fr);gap:8px}.admin-ui .gift-code-batch-fields>.field{margin:0}.admin-ui .gift-code-batch-fields input[name="prefix"]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}.admin-ui .gift-code-batch-modal{width:min(720px,calc(100vw - 30px))}.admin-ui .gift-code-batch-result{display:grid;gap:12px}.admin-ui .gift-code-batch-success{display:flex;padding:14px;align-items:center;gap:11px;border:1px solid rgba(66,221,164,.28);border-radius:11px;background:rgba(24,151,107,.09)}.admin-ui .gift-code-batch-success>span{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:9px;color:#42dda4;background:rgba(24,151,107,.17);font-weight:900}.admin-ui .gift-code-batch-success h3,.admin-ui .gift-code-batch-success p{margin:0}.admin-ui .gift-code-batch-success h3{font-size:13px}.admin-ui .gift-code-batch-success p{margin-top:4px;color:var(--ui-muted);font-size:9.5px}.admin-ui .gift-code-batch-result-actions{display:flex;gap:8px}.admin-ui .gift-code-batch-list{display:grid;max-height:390px;padding:10px;overflow:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-card-soft)}.admin-ui .gift-code-batch-list code{padding:8px;border:1px solid var(--ui-border);border-radius:7px;color:#c8c2ff;background:var(--ui-card);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9.5px;text-align:center}
@media(max-width:620px){.admin-ui .gift-code-page-actions{display:grid;grid-template-columns:1fr 1fr}.admin-ui .gift-code-page-actions>.btn{width:100%}.admin-ui .gift-code-page-actions>.btn:last-child{grid-column:1/-1}.admin-ui .gift-code-batch-fields{grid-template-columns:1fr}.admin-ui .gift-code-batch-modal{width:calc(100vw - 16px)}.admin-ui .gift-code-batch-result-actions{display:grid;grid-template-columns:1fr 1fr}.admin-ui .gift-code-batch-result-actions>.btn:last-child{grid-column:1/-1}.admin-ui .gift-code-batch-list{grid-template-columns:1fr 1fr}}

/* Running tournament economics */
.admin-ui .tournament-economy-name{display:flex;align-items:center;gap:7px}.admin-ui .tournament-economy-name>span{display:inline-flex;min-height:20px;padding:0 7px;align-items:center;border-radius:999px;color:#42dda4;background:rgba(24,151,107,.15);font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.admin-ui .tournament-economy-table td:first-child small+small{color:var(--ui-primary-hover)}
.admin-ui .tournament-portfolio-card{margin-top:16px}.admin-ui .tournament-portfolio-table{min-width:1780px}.admin-ui .tournament-portfolio-table th:first-child,.admin-ui .tournament-portfolio-table td:first-child{position:sticky;left:0;z-index:2;background:var(--ui-card)}.admin-ui .tournament-portfolio-table th:first-child{z-index:3;background:var(--ui-card-soft)}.admin-ui .portfolio-table-economy{display:grid;min-width:185px;gap:7px}.admin-ui .portfolio-table-economy>span{display:block}.admin-ui .portfolio-table-economy b{color:var(--ui-text);font-size:10px;white-space:nowrap}.admin-ui .portfolio-table-economy small{margin-top:2px!important}.admin-ui .portfolio-assessment{display:inline-flex!important;width:max-content;min-height:22px;padding:0 8px;align-items:center;border-radius:999px;font-size:8px!important;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.admin-ui .portfolio-assessment.strong,.admin-ui .portfolio-assessment.healthy{color:var(--ui-green);background:color-mix(in srgb,var(--ui-green) 14%,transparent)}.admin-ui .portfolio-assessment.engagement,.admin-ui .portfolio-assessment.core{color:var(--ui-primary-hover);background:var(--ui-primary-soft)}.admin-ui .portfolio-assessment.review{color:var(--ui-coral);background:color-mix(in srgb,var(--ui-coral) 14%,transparent)}

/* Game rules editor (Games & Tables -> Edit game) */
.admin-ui .modal.game-editor-modal { width: min(900px,calc(100vw - 28px)); }
.admin-ui .rules-editor { display: grid; gap: 10px; }
.admin-ui .rules-editor .rules-section { padding: 0; background: var(--ui-card); }
.admin-ui .rules-editor .rules-section > header,
.admin-ui .rules-editor .rules-section > summary { display: flex; margin: 0; padding: 13px 15px; align-items: center; justify-content: space-between; gap: 12px; }
.admin-ui .rules-editor .rules-section > summary { list-style: none; cursor: pointer; border-radius: 11px; }
.admin-ui .rules-editor .rules-section > summary::-webkit-details-marker { display: none; }
.admin-ui .rules-editor .rules-section > summary::after { content: ""; width: 8px; height: 8px; flex: 0 0 8px; margin-right: 4px; border-right: 2px solid var(--ui-muted); border-bottom: 2px solid var(--ui-muted); transform: rotate(45deg); transition: transform .16s ease; }
.admin-ui .rules-editor .rules-section[open] > summary::after { transform: rotate(225deg); }
.admin-ui .rules-editor .rules-section > summary:hover { background: var(--ui-card-soft); }
.admin-ui .rules-editor .rules-section > summary > div { flex: 1; }
.admin-ui .rules-editor .rules-body { padding: 2px 15px 15px; }
.admin-ui .rules-editor .rules-section[open] > .rules-body,
.admin-ui .rules-editor .rules-section > header + .rules-body { border-top: 1px solid var(--ui-border); padding-top: 14px; }
.admin-ui .rules-badge { padding: 3px 9px; border-radius: 99px; color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-size: 10px; font-weight: 700; white-space: nowrap; }
.admin-ui .rules-field > label em, .admin-ui .rules-editor .field > label em { color: var(--ui-muted); font-size: .85em; font-style: normal; font-weight: 400; }
.admin-ui .rules-input { position: relative; }
.admin-ui .rules-input.has-unit input { padding-right: 46px; }
.admin-ui .rules-input > span { position: absolute; top: 50%; right: 11px; color: var(--ui-muted); font-size: 11px; pointer-events: none; transform: translateY(-50%); }
.admin-ui .rules-toggle-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }
.admin-ui .rules-toggle-grid .rules-toggle { margin: 0; }
.admin-ui .rules-body > .rules-toggle { margin-bottom: 12px; }
.admin-ui .rules-faces { display: flex; flex-wrap: wrap; gap: 6px; }
.admin-ui .rules-faces label { position: relative; margin: 0; cursor: pointer; }
.admin-ui .rules-faces input { position: absolute; opacity: 0; pointer-events: none; }
.admin-ui .rules-faces span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--ui-border-strong); border-radius: 9px; color: var(--ui-text-soft); background: var(--ui-card-soft); font-size: 14px; font-weight: 700; transition: .14s ease; }
.admin-ui .rules-faces input:checked + span { border-color: var(--ui-primary); color: #fff; background: var(--ui-primary); }
.admin-ui .rules-faces input:focus-visible + span { outline: 2px solid var(--ui-primary-hover); outline-offset: 2px; }
.admin-ui .rules-dice-scores { display: grid; grid-template-columns: repeat(auto-fill,minmax(96px,1fr)); gap: 8px; }
.admin-ui .rules-dice-scores label { display: grid; gap: 5px; margin: 0; }
.admin-ui .rules-dice-scores label > span { color: var(--ui-muted); font-size: 11px; }
.admin-ui .rules-price-row { display: grid; grid-template-columns: 44px minmax(0,1fr) 120px auto; gap: 8px; align-items: center; margin-bottom: 8px; }
.admin-ui .rules-price-index { color: var(--ui-muted); font-size: 12px; font-weight: 700; }
.admin-ui .rules-row-actions { display: flex; gap: 8px; margin: 4px 0 6px; }
.admin-ui .rules-empty { margin: 4px 0 10px; padding: 12px; border: 1px dashed var(--ui-border-strong); border-radius: 9px; text-align: center; }
.admin-ui .rules-note { display: block; margin-top: 8px; color: var(--ui-muted); font-size: 10px; }
.admin-ui .rules-dependent[hidden] { display: none; }
.admin-ui .rules-json textarea { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: 12px; }
@media (max-width: 720px) {
    .admin-ui .rules-editor .grid-2, .admin-ui .rules-editor .grid-3, .admin-ui .rules-toggle-grid { grid-template-columns: 1fr; gap: 0 14px; }
    .admin-ui .rules-toggle-grid { gap: 8px; }
    .admin-ui .rules-price-row { grid-template-columns: 36px minmax(0,1fr) 90px; }
    .admin-ui .rules-price-row > .btn { grid-column: 2 / -1; }
}

/* A/B testing workspace and the shared re-roll editors */
.admin-ui .ab-editor [hidden] { display: none !important; }
.admin-ui .ab-editor .segment-editor-intro span,.admin-ui .ab-editor .segment-rule-section p { font-size: 12px; line-height: 1.6; }
.admin-ui .ab-editor .field > small { font-size: 11px; line-height: 1.5; }
.admin-ui .ab-editor > .modal-actions { position: sticky; bottom: -24px; z-index: 2; margin: 0 -24px -24px; padding: 13px 24px; border-top: 1px solid var(--ui-border); background: var(--ui-card); }
.admin-ui .ab-workspace-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.admin-ui .ab-workspace-tabs button { min-width: 0; }
.admin-ui .ab-workspace-tabs button:focus-visible { outline: 2px solid var(--ui-primary); outline-offset: 2px; }
.admin-ui .ab-workflow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.admin-ui .ab-workflow > span { display: grid; align-content: start; gap: 6px; padding: 14px; border: 1px solid var(--ui-border); border-radius: 10px; color: var(--ui-muted); font-size: 12px; line-height: 1.5; }
.admin-ui .ab-workflow b { color: var(--ui-text); font-size: 12px; }
.admin-ui .ab-help { margin-bottom: 16px; padding: 12px 15px; border: 1px solid var(--ui-border); border-radius: 10px; color: var(--ui-muted); font-size: 12px; line-height: 1.65; }
.admin-ui .ab-help > summary { cursor: pointer; color: var(--ui-text); font-weight: 600; }
.admin-ui .ab-help > span { display: block; margin-top: 10px; }
.admin-ui .ab-tab-description { color: var(--ui-muted); font-size: 12px; line-height: 1.6; }
.admin-ui .ab-override-toggle { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card); cursor: pointer; }
.admin-ui .ab-override-toggle > input { width: 16px; height: 16px; min-height: 16px; flex: 0 0 16px; margin: 2px 0 0; }
.admin-ui .ab-override-toggle > span { display: grid; gap: 5px; }
.admin-ui .ab-override-toggle strong { color: var(--ui-text); font-size: 12px; }
.admin-ui .ab-override-toggle small { color: var(--ui-muted); font-size: 11px; line-height: 1.5; }
.admin-ui .ab-inherited-note { margin: 10px 0 !important; color: var(--ui-muted); font-size: 11px !important; line-height: 1.6; }
.admin-ui .ab-price-editor { min-width: 0; margin: 12px 0 0; padding: 0; border: 0; }
.admin-ui .ab-price-editor:disabled { opacity: .7; }
.admin-ui .ab-price-row { display: grid; grid-template-columns: 40px minmax(0,1fr) minmax(100px,.65fr) auto; align-items: end; gap: 10px; margin: 0 0 10px; }
.admin-ui .ab-price-row > .rules-price-index { padding-bottom: 12px; }
.admin-ui .ab-price-row > .btn { margin-bottom: 1px; }
.admin-ui .ab-price-row .field,.admin-ui .ab-variant-row .field,.admin-ui .ab-player-assignment .field { min-width: 0; margin: 0; }
.admin-ui .ab-price-row .field > span,.admin-ui .ab-variant-row .field > span { color: var(--ui-muted); font-size: 11px; }
.admin-ui .ab-limit-input { display: flex; gap: 6px; }
.admin-ui .ab-limit-input select { min-width: 0; flex: 1; }
.admin-ui .ab-limit-input input { width: 75px; }
.admin-ui .ab-variant-row { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(80px,.65fr) auto auto; gap: 10px; align-items: end; margin-bottom: 10px; padding: 12px; border: 1px solid var(--ui-border); border-radius: 9px; background: var(--ui-card); }
.admin-ui .ab-split-preview { padding: 10px 12px; border-radius: 8px; background: var(--ui-primary-soft); color: var(--ui-text) !important; font-size: 12px !important; }
.admin-ui .ab-player-assignment { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) auto; gap: 10px; align-items: end; margin-top: 12px; }
.admin-ui .ab-player-assignment > button { margin-bottom: 1px; }
.admin-ui .ab-limits-grid > .field { min-width: 0; }
@media (max-width: 1050px) {
    .admin-ui .ab-variant-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .admin-ui .ab-limits-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .admin-ui .ab-workspace-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-ui .ab-workflow,.admin-ui .ab-player-assignment { grid-template-columns: 1fr; }
    .admin-ui .ab-price-row { grid-template-columns: 30px minmax(0,1fr) 95px; }
    .admin-ui .ab-price-row > .btn { grid-column: 2 / -1; }
    .admin-ui .ab-variant-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
    .admin-ui .ab-variant-row > .field:first-child { grid-column: 1 / -1; }
}

/* ---------- Events ---------- */
.admin-ui .events-toolbar { grid-template-columns: minmax(220px,1fr) minmax(240px,340px) auto; }
.admin-ui .events-game-filter { display: flex; min-width: 0; gap: 6px; }
.admin-ui .events-game-filter > label { flex: 1; }
.admin-ui .events-game-filter > .btn { min-height: 40px; white-space: nowrap; }
.admin-ui .events-game-filter > .btn[hidden] { display: none; }
.admin-ui .event-state-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.admin-ui .event-state-filter button { min-height: 40px; padding: 0 12px; border: 1px solid var(--ui-border); border-radius: 8px; color: var(--ui-muted); background: var(--ui-card-soft); font-size: 12px; cursor: pointer; }
.admin-ui .event-state-filter button[aria-pressed="true"] { border-color: var(--ui-primary); color: var(--ui-primary-hover); background: var(--ui-primary-soft); font-weight: 600; }
.admin-ui .event-row { cursor: default; grid-template-columns: minmax(190px,1.4fr) minmax(170px,1fr) minmax(130px,.8fr) minmax(150px,.9fr) 168px; }
.admin-ui .tournament-page-actions a.btn,
.admin-ui a.tournament-row-action { display: inline-flex; align-items: center; text-decoration: none; }
.admin-ui .event-editor label small.muted,
.admin-ui .event-section > legend small.muted { margin-left: 6px; font-size: 10px; font-weight: 400; }
.admin-ui .event-row .tournament-status + .tournament-status { margin-left: 4px; }
.admin-ui .event-row-actions { display: flex; justify-content: flex-end; gap: 6px; }
.admin-ui .event-load-more { display: flex; justify-content: center; padding: 12px; border-top: 1px solid var(--ui-border); }
.admin-ui .event-load-more:empty { display: none; }
.admin-ui .event-section { margin: 0 0 14px; padding: 10px 14px 4px; border: 1px solid var(--ui-border); border-radius: 11px; }
.admin-ui .event-section > legend { padding: 0 6px; color: var(--ui-text); font-size: 12px; font-weight: 700; }
.admin-ui .event-advanced > summary { padding: 2px 0 10px; color: var(--ui-text); font-size: 12px; font-weight: 700; cursor: pointer; }
.admin-ui .event-editor .field > small.muted { display: block; margin-top: 5px; font-size: 10px; line-height: 1.45; }
.admin-ui .event-game-actions { display: flex; margin-top: 8px; gap: 6px; }
.admin-ui .event-checks { display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; }
.admin-ui .event-checks .checkbox-row { margin: 0; }
.admin-ui .event-schedule-summary { margin: 0 0 10px; color: var(--ui-muted); font-size: 11px; }
.admin-ui .event-schedule-summary.invalid { color: var(--ui-coral); }
.admin-ui .event-tiers-head { display: grid; margin: 4px 0 10px; gap: 3px; }
.admin-ui .event-tiers-head strong { color: var(--ui-text); font-size: 12px; }
.admin-ui .event-tiers-head small { color: var(--ui-muted); font-size: 10px; }
.admin-ui .event-tier .reward-head { flex-wrap: wrap; gap: 10px; }
.admin-ui .event-tier-ranks { display: flex; flex: 1; flex-wrap: wrap; align-items: center; gap: 6px; color: var(--ui-muted); font-size: 11px; }
.admin-ui .event-tier-ranks input[type="number"] { width: 78px; }
.admin-ui .event-tier-ranks .checkbox-row { margin: 0; }
.admin-ui .event-tier-item { display: grid; margin-bottom: 8px; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: center; gap: 8px; }
.admin-ui .event-no-tiers { margin: 4px 0 10px; }
@media (max-width: 1100px) {
    .admin-ui .events-toolbar { grid-template-columns: 1fr 1fr; }
    .admin-ui .events-toolbar .input-with-icon { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .admin-ui .events-toolbar { grid-template-columns: 1fr; }
    .admin-ui .event-row { grid-template-columns: minmax(0,1fr) auto; }
    .admin-ui .event-row-actions { grid-column: 1 / -1; justify-content: flex-start; }
    .admin-ui .event-editor .grid-2,
    .admin-ui .event-editor .grid-3 { grid-template-columns: 1fr; }
}

/* Tables inside a modal scroll sideways instead of spilling past its border. */
.admin-ui .modal .table-wrap { max-width: 100%; overflow-x: auto; }
.admin-ui .modal.game-tables-modal { width: min(1000px,calc(100vw - 28px)); }
