/* Unified modern workspace for ALL clan admin pages, based on the retired
   Bums Bot admin. Applies to every .page-admin body (STTT, Bums, FS Chaos,
   Incredibum, Pantalones) so all five admin panels share the same organized
   light workspace. The Classic view still uses the original styles.css. */
.page-admin.admin-modern {
  max-width: 100vw;
  overflow-x: clip;
  --admin-canvas: #f7f8fa;
  --admin-surface: #ffffff;
  --admin-surface-subtle: #f7f9fb;
  --admin-ink: #1c2330;
  --admin-copy: #667085;
  --admin-muted: #8a94a6;
  --admin-line: #e5e8ed;
  --admin-line-strong: #d5dae3;
  --admin-navy: #ffffff;
  --admin-navy-soft: #eef8f4;
  --admin-accent: #20a77a;
  --admin-accent-soft: #e8f7f1;
  --admin-success: #20a77a;
  --admin-success-soft: #e8f7f1;
  --admin-danger: #d94f61;
  --admin-danger-soft: #fff0f2;
  --admin-warning: #bd7a22;
  --admin-shadow: 0 1px 2px rgba(16, 24, 40, 0.025);
  background: var(--admin-canvas);
}

.page-admin.admin-modern .site-header {
  background: rgba(255, 255, 255, 0.94);
  border-bottom-color: var(--admin-line);
  box-shadow: none;
}
.page-admin.admin-modern .site-header .brand { color: var(--admin-ink); }
.page-admin.admin-modern .site-header .brand-mark { color: #fff; background: linear-gradient(135deg, #24b486, #7166d9); }
.page-admin.admin-modern .site-header .brand-name { color: var(--admin-copy); }
.page-admin.admin-modern .admin-experience-toggle,
.page-admin.admin-modern #logout-btn { color: var(--admin-copy); background: #fff; border-color: var(--admin-line-strong); }
.page-admin.admin-modern #login-card { background: #fff; border-color: var(--admin-line); }
.page-admin.admin-modern #login-card input { color: var(--admin-ink); background: var(--admin-surface-subtle); }
.page-admin.admin-modern #login-card .btn-primary { background: var(--admin-accent); }

.page-admin.admin-modern .admin-app-shell { grid-template-columns: 254px minmax(0, 1fr); }
.page-admin.admin-modern .admin-sidebar {
  color: var(--admin-ink);
  background: #fff;
  border-right-color: var(--admin-line);
}
.page-admin.admin-modern .admin-sidebar-brand { border-bottom-color: var(--admin-line); }
.page-admin.admin-modern .admin-sidebar-brand small,
.page-admin.admin-modern .admin-sidebar-foot small,
.page-admin.admin-modern .admin-nav-label { color: var(--admin-muted); }
.page-admin.admin-modern .admin-monogram { color: #fff; background: linear-gradient(135deg, #24b486, #7166d9); }
.page-admin.admin-modern .admin-nav-item { color: #697386; }
.page-admin.admin-modern .admin-nav-item:hover { color: var(--admin-ink); background: #f5f7f9; }
.page-admin.admin-modern .admin-nav-item.is-active { color: #238b6c; background: #eef8f4; box-shadow: inset 3px 0 #25a97c; }
.page-admin.admin-modern .admin-sidebar-foot { color: var(--admin-ink); border-top-color: var(--admin-line); }
.page-admin.admin-modern .admin-content { padding: clamp(1.5rem, 3vw, 3.4rem); }
.page-admin.admin-modern .admin-workspace-header,
.page-admin.admin-modern .admin-view-stack { max-width: 1380px; }
.page-admin.admin-modern .admin-eyebrow { color: #697386; }
.page-admin.admin-modern .admin-workspace-header h1 { font-size: clamp(1.8rem, 2.5vw, 2.25rem); }
.page-admin.admin-modern .admin-clan-picker select { color: var(--admin-ink); background: #fff; }

.page-admin.admin-modern .admin-tab-panel > .card,
.page-admin.admin-modern .admin-overview-grid > .card,
.page-admin.admin-modern .admin-placeholder-card {
  background: #fff;
  border-color: var(--admin-line);
  box-shadow: var(--admin-shadow);
}
.page-admin.admin-modern .admin-tab-panel { gap: 1.35rem; }
.page-admin.admin-modern .admin-tab-panel > .card,
.page-admin.admin-modern .admin-overview-grid > .card { padding: clamp(1.2rem, 2vw, 1.75rem); }
.page-admin.admin-modern .btn-primary { background: var(--admin-accent); box-shadow: 0 5px 14px rgba(32, 167, 122, 0.18); }
.page-admin.admin-modern .btn-primary:hover { background: #198b66; }
.page-admin.admin-modern .btn-ghost { color: var(--admin-copy); background: #fff; }
.page-admin.admin-modern .table-wrap { background: #fff; border-color: var(--admin-line); }
.page-admin.admin-modern table th { color: #737e91; background: #fff; }
.page-admin.admin-modern table td { color: var(--admin-ink); }
.page-admin.admin-modern table tbody tr:hover { background: #fafbfc; }
.page-admin.admin-modern .controls select,
.page-admin.admin-modern .controls input,
.page-admin.admin-modern .stack input,
.page-admin.admin-modern .reminder-controls input,
.page-admin.admin-modern .autopost-field input,
.page-admin.admin-modern .autopost-field select,
.page-admin.admin-modern .autopost-field textarea,
.page-admin.admin-modern .schedule-builder input,
.page-admin.admin-modern .schedule-builder select { color: var(--admin-ink); background: #fff; }
.page-admin.admin-modern .reminder-controls,
.page-admin.admin-modern .autopost-status { background: var(--admin-surface-subtle); }
.page-admin.admin-modern .autopost-role { min-height: 44px; }
.page-admin.admin-modern .autopost-summary:hover { background: #f7f9fb; }
.page-admin.admin-modern .autopost-expanded { color: var(--admin-ink); background: #f8fafb; border-top-color: var(--admin-line); }
.page-admin.admin-modern .autopost-description { color: #536074; }
.page-admin.admin-modern .autopost-runtime-pills span { color: #667085; background: #fff; border-color: var(--admin-line); }
.page-admin.admin-modern .autopost-field > label { color: #4f5b6d; }
.page-admin.admin-modern .autopost-field small { color: #6f7b8e; }
.page-admin.admin-modern .autopost-boolean {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-height: 42px;
  padding: .5rem .7rem;
  color: var(--admin-ink);
  background: #fff;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  cursor: pointer;
  font-size: .8rem;
}
.page-admin.admin-modern .autopost-boolean input {
  position: absolute;
  opacity: 0;
  width: 38px;
  height: 22px;
  margin: 0;
  cursor: pointer;
}
.page-admin.admin-modern .autopost-boolean-track {
  position: relative;
  flex: 0 0 38px;
  width: 38px;
  height: 22px;
  border: 1px solid #b8c1ce;
  border-radius: 999px;
  background: #d8dee8;
  transition: background .16s ease, border-color .16s ease;
}
.page-admin.admin-modern .autopost-boolean-track::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16,24,40,.25);
  transition: transform .16s ease;
}
.page-admin.admin-modern .autopost-boolean input:checked + .autopost-boolean-track {
  background: var(--admin-success);
  border-color: var(--admin-success);
}
.page-admin.admin-modern .autopost-boolean input:checked + .autopost-boolean-track::after { transform: translateX(16px); }
.page-admin.admin-modern .autopost-boolean input:focus-visible + .autopost-boolean-track { outline: 2px solid rgba(84,91,215,.5); outline-offset: 2px; }
.page-admin.admin-modern .schedule-builder,
.page-admin.admin-modern .autopost-fixed-schedule { background: #fff; border-color: var(--admin-line); box-shadow: 0 1px 2px rgba(16, 24, 40, .02); }
.page-admin.admin-modern .autopost-fixed-icon,
.page-admin.admin-modern .autopost-fixed-schedule code { color: #536074; background: var(--admin-surface-subtle); }
.page-admin.admin-modern .autopost-fixed-schedule strong { color: var(--admin-ink); }
.page-admin.admin-modern .schedule-note code { color: #536074; background: var(--admin-accent-soft); }
.page-admin.admin-modern .autopost-save-row { border-top-color: var(--admin-line); }
.page-admin.admin-modern .autopost-status { background: #fff; border-color: var(--admin-line); }

.bums-roster-toolbar {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto auto auto auto;
  align-items: end;
  gap: 0.9rem;
  margin-bottom: 1rem;
}
.bums-search-field { position: relative; display: block; min-width: 0; }
.bums-search-field svg { position: absolute; left: 0.78rem; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); fill: none; stroke: var(--admin-copy); stroke-width: 1.8; stroke-linecap: round; }
.page-admin.admin-modern .bums-search-field input {
  width: 100%; min-height: 42px; padding: 0.62rem 0.8rem 0.62rem 2.45rem;
  color: var(--admin-ink); background: #fff; border: 1px solid var(--admin-line-strong); border-radius: 10px; font: inherit;
}
.bums-compact-field { display: flex; align-items: center; gap: 0.5rem; color: var(--admin-copy); font-size: 0.78rem; }
.page-admin.admin-modern .bums-compact-field select,
.page-admin.admin-modern .bums-roster-table select,
.page-admin.admin-modern .glory-seed-form select,
.page-admin.admin-modern .glory-seed-form input {
  min-height: 40px; padding: 0.5rem 2rem 0.5rem 0.65rem; color: var(--admin-ink); background: #fff;
  border: 1px solid var(--admin-line-strong); border-radius: 9px; font: inherit;
}
.bums-inline-toggle { display: inline-flex; align-items: center; gap: 0.55rem; min-height: 42px; color: var(--admin-ink); font-size: 0.8rem; white-space: nowrap; }
.bums-inline-toggle input,
.bums-row-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.bums-toggle-track { position: relative; display: inline-block; width: 38px; height: 22px; flex: 0 0 38px; background: #dce1e9; border-radius: 999px; transition: background 140ms ease; }
.bums-toggle-track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; background: #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(16,24,40,.18); transition: transform 140ms ease; }
input:checked + .bums-toggle-track { background: var(--admin-success); }
input:checked + .bums-toggle-track::after { transform: translateX(16px); }
input:focus-visible + .bums-toggle-track { outline: 3px solid rgba(32,167,122,.22); outline-offset: 2px; }
.bums-result-count { align-self: center; color: var(--admin-copy); font-size: 0.78rem; white-space: nowrap; }

.page-admin.admin-modern .bums-roster-card { padding: 0; overflow: hidden; }
.page-admin.admin-modern .bums-roster-toolbar { padding: 1.35rem 1.35rem 0; }
.page-admin.admin-modern .bums-roster-table-wrap { margin: 0; border: 0; border-top: 1px solid var(--admin-line); border-bottom: 1px solid var(--admin-line); border-radius: 0; }
.bums-roster-table { min-width: 1180px; }
.page-admin.admin-modern .bums-roster-table th { font-size: 0.65rem; text-transform: uppercase; letter-spacing: .075em; }
.page-admin.admin-modern .bums-roster-table td { vertical-align: middle; }
.bums-player-name { display: block; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bums-roster-table td:first-child small { display: block; margin-top: 0.12rem; color: var(--admin-copy); font-size: 0.68rem; }
.bums-row-toggle { display: inline-flex; cursor: pointer; }
.bums-notes-input { width: 180px; min-height: 36px; padding: .45rem .65rem; color: var(--admin-ink); background: #fff; border: 1px solid var(--admin-line-strong); border-radius: 9px; font: inherit; }
.bums-link-badge,
.glory-role-badge,
.glory-approval { display: inline-flex; align-items: center; padding: .27rem .58rem; color: #8a5360; background: #fff1f3; border: 1px solid #f4d7dd; border-radius: 999px; font-size: .69rem; font-weight: 700; white-space: nowrap; }
.bums-link-badge.is-linked,
.glory-role-badge.is-eligible,
.glory-approval.is-approved { color: #18805e; background: #e9f7f2; border-color: #bce4d5; }
.bums-last-seen { color: var(--admin-copy) !important; white-space: nowrap; }
.bums-roster-table tr.is-removed { opacity: .48; }
.bums-roster-table tr.is-saving { opacity: .58; }
.bums-roster-table tr.is-saved { box-shadow: inset 3px 0 var(--admin-success); }
.bums-card-foot { display: flex; justify-content: space-between; gap: 1.5rem; padding: 1rem 1.35rem; color: var(--admin-copy); font-size: .72rem; line-height: 1.5; }
.bums-card-foot span:last-child { white-space: nowrap; }
.bums-empty-row { padding: 2rem !important; color: var(--admin-copy) !important; text-align: center; }

.bums-glory-section { margin-top: 1.25rem; padding: 1.45rem; border: 1px solid var(--admin-line); border-radius: 15px; }
.bums-glory-section:first-child { margin-top: 0; }
.bums-glory-section h3 { margin: 0; font-size: 1rem; }
.bums-glory-section h3 span { color: var(--admin-copy); font-weight: 500; }
.bums-glory-section > p,
.bums-section-heading p { margin: .55rem 0 1rem; color: var(--admin-copy); font-size: .83rem; }
.bums-pending-list { display: grid; gap: .75rem; margin: 1.25rem 0 0; }
.bums-pending-list > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: .75rem; align-items: center; }
.bums-pending-list dt { color: var(--admin-copy); }
.bums-pending-list dd { margin: 0; }
.bums-pending-list dd small { margin-left: .65rem; color: var(--admin-copy); }
.glory-seed-form { display: grid; grid-template-columns: minmax(260px, 1fr) 230px auto; gap: .85rem; align-items: end; }
.glory-seed-form label { display: flex; flex-direction: column; gap: .35rem; color: var(--admin-copy); font-size: .75rem; }
.glory-seed-form label small { font-weight: 400; }
.glory-seed-form button { min-height: 42px; }
.glory-seed-form > p { grid-column: 1 / -1; min-height: 1rem; margin: 0; font-size: .75rem; }
.bums-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1rem; }
.bums-section-heading p { margin-bottom: 0; }
.bums-section-heading .bums-search-field { width: min(340px, 100%); }
.bums-glory-table tr.is-glory-ineligible { opacity: .43; }
.bums-glory-table tbody tr { cursor: pointer; }
.bums-glory-table tbody tr:focus { outline: 2px solid rgba(32,167,122,.35); outline-offset: -2px; }
.bums-glory-table td small { display: block; margin-top: .2rem; color: var(--admin-copy); font-size: .66rem; }
.bums-glory-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; margin-bottom: 1.25rem; }
.bums-glory-kpis > div { padding: 1rem; background: var(--admin-surface-subtle); border: 1px solid var(--admin-line); border-radius: 12px; }
.bums-glory-kpis span { display: block; color: var(--admin-copy); font-size: .67rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.bums-glory-kpis strong { display: block; margin-top: .35rem; color: var(--admin-ink); font-size: 1.45rem; }
.bums-glory-picks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; padding: 0; list-style: none; }
.bums-glory-picks li { display: flex; align-items: center; gap: .65rem; min-width: 0; padding: .8rem; background: var(--admin-surface-subtle); border: 1px solid var(--admin-line); border-radius: 11px; }
.bums-glory-picks li > span { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; color: #fff; background: var(--admin-accent); border-radius: 50%; font-size: .7rem; font-weight: 800; }
.bums-glory-picks strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bums-glory-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; }
.bums-glory-actions p { flex: 1 1 360px; margin: 0; color: var(--admin-copy); font-size: .75rem; line-height: 1.5; }
.bums-glory-actions > span { flex-basis: 100%; color: var(--admin-copy); font-size: .75rem; }
.bums-glory-dialog { width: min(560px,calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: 0; color: var(--admin-ink); background: #fff; border: 1px solid var(--admin-line); border-radius: 18px; box-shadow: 0 28px 90px rgba(24,34,48,.25); }
.bums-glory-dialog::backdrop { background: rgba(18,25,35,.46); backdrop-filter: blur(3px); }
.bums-glory-dialog-shell { position: relative; padding: 1.35rem; }
.bums-glory-dialog .bums-subcard { margin: 1rem 0 0; }
.bums-glory-profile-status { display: flex; align-items: center; gap: .65rem; margin: .8rem 0; }
.bums-glory-profile-status p { margin: 0; color: var(--admin-copy); font-size: .75rem; }
.bums-glory-history-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; margin: .85rem 0; }
.bums-glory-history-summary > div { padding: .7rem; background: var(--admin-surface-subtle); border-radius: 10px; }
.bums-glory-history-summary span { display: block; color: var(--admin-copy); font-size: .65rem; text-transform: uppercase; letter-spacing: .05em; }
.bums-glory-history-summary strong { display: block; margin-top: .25rem; font-size: .9rem; }
.bums-glory-history-list { display: grid; gap: .45rem; }
.bums-glory-history-list > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--admin-line); }
.bums-glory-history-list > div:last-child { border-bottom: 0; }
.bums-glory-history-list span { display: flex; flex-direction: column; gap: .15rem; }
.bums-glory-history-list small { color: var(--admin-copy); font-size: .68rem; }
.bums-glory-history-list .btn { min-height: 44px; }
.bums-table-note { margin: 1rem 0 0 !important; line-height: 1.55; }
.bums-audit-table td:last-child { color: var(--admin-copy); }
.bums-toast-region { position: fixed; z-index: 200; right: 1rem; bottom: 1rem; display: grid; gap: .5rem; }
.bums-toast { max-width: 360px; padding: .75rem .9rem; color: #fff; background: #198b66; border-radius: 10px; box-shadow: 0 12px 34px rgba(16,24,40,.2); font-size: .8rem; }
.bums-toast.is-error { background: #c43f52; }

/* Historical operations suite */
.page-admin.admin-modern .bums-insight-card { padding: 0; overflow: hidden; }
.bums-view-loading { display: grid; gap: .75rem; padding: 2rem; }
.bums-skeleton-line { width: 55%; height: 13px; background: linear-gradient(90deg,#eef1f5,#f8f9fb,#eef1f5); background-size: 200% 100%; border-radius: 999px; animation: bums-shimmer 1.4s linear infinite; }
.bums-skeleton-line.short { width: 32%; }
@keyframes bums-shimmer { to { background-position: -200% 0; } }
.bums-view-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding: 1.35rem; border-bottom: 1px solid var(--admin-line); }
.bums-view-toolbar h3 { margin: 0; color: var(--admin-ink); font-size: 1.08rem; }
.bums-view-toolbar p { margin: .38rem 0 0; color: var(--admin-copy); font-size: .82rem; line-height: 1.5; }
.bums-view-toolbar > label { display: flex; align-items: center; gap: .55rem; color: var(--admin-copy); font-size: .75rem; }
.page-admin.admin-modern .bums-view-toolbar select,
.page-admin.admin-modern .bums-broadcast-form select,
.page-admin.admin-modern .bums-broadcast-form textarea { color: var(--admin-ink); background: #fff; border: 1px solid var(--admin-line-strong); border-radius: 10px; font: inherit; }
.page-admin.admin-modern .bums-view-toolbar select { min-height: 42px; padding: .55rem 2rem .55rem .7rem; }
.bums-count-pill { display: inline-flex; min-height: 32px; align-items: center; padding: .3rem .7rem; color: #18805e; background: var(--admin-accent-soft); border-radius: 999px; font-size: .72rem; font-weight: 750; white-space: nowrap; }
.bums-kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; padding: 1.2rem 1.35rem; }
.bums-kpi { min-width: 0; padding: 1rem; background: var(--admin-surface-subtle); border: 1px solid var(--admin-line); border-radius: 13px; }
.bums-kpi > span { display: block; color: var(--admin-copy); font-size: .7rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.bums-kpi strong { display: block; margin-top: .45rem; color: var(--admin-ink); font-size: clamp(1.25rem,2vw,1.65rem); letter-spacing: -.035em; }
.bums-kpi small { display: block; margin-top: .25rem; overflow: hidden; color: var(--admin-copy); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.bums-insight-card > .table-wrap { margin: 0 1.35rem 1.35rem; }
.bums-insight-table { min-width: 720px; }
#bums-player-table .bums-insight-table { min-width: 1080px; }
.bums-insight-table th button { padding: 0; color: inherit; background: none; border: 0; font: inherit; font-weight: inherit; text-transform: inherit; letter-spacing: inherit; cursor: pointer; }
.bums-insight-table td:first-child small { display: block; margin-top: .15rem; color: var(--admin-copy); font-size: .68rem; }
.bums-insight-table.is-clickable tbody tr { cursor: pointer; }
.bums-insight-table.is-clickable tbody tr:focus-visible { outline: 3px solid rgba(32,167,122,.28); outline-offset: -3px; }
.bums-badge-row { display: flex; flex-wrap: wrap; gap: .35rem; }
.bums-status-badge { display: inline-flex; align-items: center; min-height: 26px; padding: .18rem .55rem; border-radius: 999px; font-size: .68rem; font-weight: 750; }
.bums-status-badge.danger { color: #a93449; background: var(--admin-danger-soft); }
.bums-status-badge.warning { color: #996019; background: #fff6e8; }
.bums-status-badge.neutral { color: #5e687a; background: #f0f2f5; }
.bums-chart-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 0 1.35rem 1.35rem; }
.bums-line-chart { min-width: 0; margin: 0; padding: 1rem; border: 1px solid var(--admin-line); border-radius: 14px; }
.bums-line-chart figcaption,.bums-subcard h4 { margin: 0 0 .8rem; color: var(--admin-ink); font-size: .82rem; font-weight: 750; }
.bums-line-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.chart-grid line { stroke: #e9ecf1; stroke-width: 1; }
.chart-grid text,.chart-date { fill: #8a94a6; font-size: 10px; text-anchor: end; }
.chart-date { text-anchor: start; }.chart-date-end { text-anchor: end; }
.bums-line-chart polyline { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.bums-line-chart polyline.series-primary,.chart-legend .series-primary i { stroke: #20a77a; background: #20a77a; }
.bums-line-chart polyline.series-accent,.chart-legend .series-accent i { stroke: #7166d9; background: #7166d9; }
.chart-legend { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: .5rem; color: var(--admin-copy); font-size: .68rem; }
.chart-legend span { display: inline-flex; align-items: center; gap: .35rem; }.chart-legend i { width: 14px; height: 3px; border-radius: 9px; }
.bums-subcard { min-width: 0; margin: 0 1.35rem 1.35rem; padding: 1.1rem; border: 1px solid var(--admin-line); border-radius: 14px; }
.bums-subcard .table-wrap { margin: 0; }
.bums-bar-list { display: grid; gap: .55rem; }
.bums-bar-list > div { display: grid; grid-template-columns: 48px minmax(0,1fr) 46px; gap: .7rem; align-items: center; color: var(--admin-copy); font-size: .72rem; }
.bums-bar-list i { height: 9px; overflow: hidden; background: #edf0f3; border-radius: 999px; }.bums-bar-list b { display: block; height: 100%; background: linear-gradient(90deg,#20a77a,#7166d9); border-radius: inherit; }
.bums-bar-list strong { color: var(--admin-ink); text-align: right; }
.bums-delta { font-weight: 750; }.bums-delta.up { color: #18805e; }.bums-delta.down { color: #bd4052; }
.bums-board-grid,.bums-member-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 1.35rem; }
.bums-board-grid .bums-subcard,.bums-member-grid .bums-subcard { margin: 0; }
.bums-empty-state { display: grid; place-items: center; min-height: 130px; padding: 1.5rem; color: var(--admin-copy); text-align: center; }
.bums-empty-state span { color: #b2bac7; font-size: 1.4rem; }.bums-empty-state p { margin: .45rem 0 0; font-size: .8rem; }
.bums-broadcast-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 1.35rem; }
.bums-broadcast-form label { display: flex; flex-direction: column; gap: .4rem; color: var(--admin-copy); font-size: .73rem; font-weight: 700; }
.bums-broadcast-form label small { font-weight: 500; }.bums-broadcast-form select { min-height: 44px; padding: .6rem .75rem; }.bums-broadcast-form textarea { width: 100%; min-height: 170px; padding: .8rem; resize: vertical; line-height: 1.55; }
.bums-broadcast-form .wide { grid-column: 1 / -1; }
.bums-broadcast-preview { padding: 1rem; background: #f7f8fa; border: 1px solid var(--admin-line); border-radius: 12px; }
.bums-broadcast-preview > span { color: var(--admin-copy); font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.bums-broadcast-preview > div { min-height: 52px; margin-top: .6rem; color: var(--admin-ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.bums-broadcast-preview em { color: var(--admin-muted); }.bums-form-actions { display: flex; align-items: center; gap: 1rem; }.bums-form-actions p { margin: 0; color: var(--admin-copy); font-size: .75rem; }
.bums-broadcast-loading { padding: 2rem 1.35rem; color: var(--admin-copy); }
.bums-member-dialog { width: min(1100px,calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: 0; color: var(--admin-ink); background: #fff; border: 1px solid var(--admin-line); border-radius: 18px; box-shadow: 0 28px 90px rgba(24,34,48,.25); }
.bums-member-dialog::backdrop { background: rgba(18,25,35,.46); backdrop-filter: blur(3px); }
.bums-member-dialog-shell { position: relative; padding: clamp(1rem,2.5vw,2rem); }
.bums-dialog-close { position: sticky; z-index: 2; top: 0; float: right; width: 44px; height: 44px; color: var(--admin-copy); background: #f3f5f7; border: 0; border-radius: 50%; font-size: 1.55rem; cursor: pointer; }
.bums-member-hero { display: flex; align-items: center; gap: 1rem; padding-right: 3.5rem; }.bums-member-hero img { width: 64px; height: 64px; object-fit: cover; border-radius: 16px; }.bums-member-hero h2 { margin: .15rem 0; font-size: clamp(1.5rem,3vw,2.2rem); }.bums-member-hero p { margin: 0; color: var(--admin-copy); }
.bums-profile-badges { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .65rem; margin-top: .55rem; color: var(--admin-copy); font-size: .72rem; }
.bums-member-dialog .bums-kpi-grid { padding-inline: 0; }.bums-member-dialog .bums-chart-grid { padding-inline: 0; }.bums-member-dialog .bums-member-grid { padding-inline: 0; }.bums-member-dialog > .bums-subcard,.bums-member-dialog-shell > #bums-member-content > .bums-subcard { margin-inline: 0; }
.bums-history-list { display: grid; gap: .1rem; margin: 0; padding: 0; list-style: none; }.bums-history-list li { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--admin-line); }.bums-history-list span { color: var(--admin-copy); font-size: .75rem; }
.bums-roster-lifecycle { min-height: 36px; }.bums-roster-table td:nth-child(10) { text-align: right; }

@media (max-width: 1120px) {
  .bums-roster-toolbar { grid-template-columns: minmax(220px, 1fr) auto auto; }
  .bums-result-count { justify-self: end; }
  .glory-seed-form { grid-template-columns: 1fr 210px; }
  .glory-seed-form button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 760px) {
  .page-admin.admin-modern .admin-content { padding-inline: .85rem; }
  .page-admin.admin-modern .admin-mobile-tabs .admin-nav-item.is-active { color: #fff; background: var(--admin-accent); border-color: var(--admin-accent); }
  .page-admin.admin-modern .autopost-manager { overflow-x: clip; }
  .page-admin.admin-modern .autopost-groups,
  .page-admin.admin-modern .autopost-category,
  .page-admin.admin-modern .autopost-list,
  .page-admin.admin-modern .autopost-row,
  .page-admin.admin-modern .autopost-expanded,
  .page-admin.admin-modern .autopost-form-grid,
  .page-admin.admin-modern .autopost-field { min-width: 0; max-width: 100%; }
  .bums-roster-toolbar { grid-template-columns: 1fr 1fr; align-items: center; }
  .bums-search-field { grid-column: 1 / -1; }
  .bums-inline-toggle { min-height: 44px; }
  .bums-compact-field { align-items: stretch; flex-direction: column; gap: .25rem; }
  .bums-result-count { justify-self: start; }
  .page-admin.admin-modern .bums-roster-table-wrap { overflow: visible; }
  .bums-roster-table { display: block; min-width: 0; }
  .bums-roster-table thead { display: none; }
  .bums-roster-table tbody { display: grid; gap: .75rem; padding: .8rem; }
  .bums-roster-table tr { display: grid; grid-template-columns: 1fr; padding: .85rem; border: 1px solid var(--admin-line); border-radius: 12px; }
  .page-admin.admin-modern .bums-roster-table td { display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: center; gap: .65rem; padding: .42rem 0; border: 0; white-space: normal; }
  .bums-roster-table td::before { color: var(--admin-muted); font-size: .65rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
  .bums-roster-table td:nth-child(1)::before { content: "Name"; }
  .bums-roster-table td:nth-child(2)::before { content: "Status"; }
  .bums-roster-table td:nth-child(3)::before { content: "Role"; }
  .bums-roster-table td:nth-child(4)::before { content: "Glory excl."; }
  .bums-roster-table td:nth-child(5)::before { content: "Ender Echo"; }
  .bums-roster-table td:nth-child(6)::before { content: "Showdown"; }
  .bums-roster-table td:nth-child(7)::before { content: "Discord"; }
  .bums-roster-table td:nth-child(8)::before { content: "Notes"; }
  .bums-roster-table td:nth-child(9)::before { content: "Last seen"; }
  .bums-roster-table td:nth-child(10)::before { content: "Actions"; }
  .bums-roster-table select,
  .bums-notes-input { width: 100%; min-height: 44px; }
  .bums-card-foot { flex-direction: column; gap: .4rem; }
  .bums-card-foot span:last-child { white-space: normal; }
  .glory-seed-form { grid-template-columns: 1fr; }
  .glory-seed-form button { grid-column: auto; width: 100%; }
  .bums-section-heading { align-items: stretch; flex-direction: column; }
  .bums-section-heading .bums-search-field { width: 100%; }
  .bums-pending-list > div { grid-template-columns: 82px minmax(0, 1fr); }
  .bums-pending-list dd small { display: block; margin: .4rem 0 0; }
  .bums-glory-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bums-glory-picks { grid-template-columns: 1fr; }
  .bums-glory-actions .btn { width: 100%; min-height: 46px; }
  .bums-glory-dialog { width: 100vw; max-width: none; max-height: 94vh; margin: auto 0 0; border-radius: 18px 18px 0 0; }
  .bums-view-toolbar { align-items: stretch; flex-direction: column; }
  .bums-view-toolbar > label { justify-content: space-between; }
  .bums-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding: .85rem; }
  .bums-chart-grid,.bums-board-grid,.bums-member-grid { grid-template-columns: 1fr; padding: 0 .85rem .85rem; }
  .bums-subcard { margin: 0 .85rem .85rem; }
  .bums-insight-card > .table-wrap { margin: 0 .85rem .85rem; }
  .bums-broadcast-form { grid-template-columns: 1fr; padding: .85rem; }.bums-broadcast-form .wide { grid-column: auto; }
  .bums-form-actions { align-items: stretch; flex-direction: column; }.bums-form-actions .btn { width: 100%; min-height: 46px; }
  .bums-member-dialog { width: 100vw; max-width: none; max-height: 94vh; margin: auto 0 0; border-radius: 18px 18px 0 0; }
  .bums-member-hero { align-items: flex-start; }.bums-member-hero img { width: 52px; height: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .bums-toggle-track,
  .bums-toggle-track::after { transition: none; }
  .bums-skeleton-line { animation: none; }
}

/* == True-dark theme =========================================================
   .admin-dark on <body> (toggled by js/admin-ui.js) switches the workspace
   from the default light theme above to a true-black dark theme. These
   rules come last in the last-loaded stylesheet and use higher-specificity
   selectors so they beat every light rule in this file and admin-modern.css. */
.page-admin.admin-modern.admin-dark {
  color-scheme: dark;
  --admin-canvas: #000000;
  --admin-surface: #0b0b0d;
  --admin-surface-subtle: #131316;
  --admin-ink: #f4f5f7;
  --admin-copy: #b9bdc7;
  --admin-muted: #828896;
  --admin-line: #24262c;
  --admin-line-strong: #363943;
  --admin-navy: #060607;
  --admin-navy-soft: #1a1c22;
  --admin-accent: #7b82f4;
  --admin-accent-soft: #24294b;
  --admin-success: #2bb783;
  --admin-success-soft: #15372d;
  --admin-danger: #f07484;
  --admin-danger-soft: #3d2028;
  --admin-warning: #e2a24c;
  --admin-shadow: 0 1px 2px rgba(0, 0, 0, 0.22), 0 12px 30px rgba(0, 0, 0, 0.18);
}

/* Header, sidebar, nav */
.page-admin.admin-modern.admin-dark .site-header { background: rgba(0, 0, 0, 0.94); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.28); }
.page-admin.admin-modern.admin-dark .admin-experience-toggle,
.page-admin.admin-modern.admin-dark #logout-btn { color: var(--admin-copy); background: var(--admin-surface); border-color: var(--admin-line-strong); }
.page-admin.admin-modern.admin-dark #login-card { background: var(--admin-surface); border-color: var(--admin-line); }
.page-admin.admin-modern.admin-dark #login-card .btn-primary { color: #fff; }
.page-admin.admin-modern.admin-dark .admin-sidebar { color: #eef1f7; background: var(--admin-navy); border-right-color: rgba(255, 255, 255, 0.05); }
.page-admin.admin-modern.admin-dark .admin-sidebar-brand { border-bottom-color: rgba(255, 255, 255, 0.09); }
.page-admin.admin-modern.admin-dark .admin-sidebar-brand small,
.page-admin.admin-modern.admin-dark .admin-sidebar-foot small,
.page-admin.admin-modern.admin-dark .admin-nav-label { color: #9fa9ba; }
.page-admin.admin-modern.admin-dark .admin-nav-item { color: #aeb7c7; }
.page-admin.admin-modern.admin-dark .admin-nav-item:hover { color: #fff; background: rgba(255, 255, 255, 0.06); }
.page-admin.admin-modern.admin-dark .admin-nav-item.is-active { color: #fff; background: var(--admin-navy-soft); box-shadow: inset 3px 0 var(--admin-accent); }
.page-admin.admin-modern.admin-dark .admin-sidebar-foot { color: #eef1f7; border-top-color: rgba(255, 255, 255, 0.09); }
.page-admin.admin-modern.admin-dark .admin-eyebrow { color: var(--admin-muted); }
.page-admin.admin-modern.admin-dark .admin-clan-picker select { color: var(--admin-ink); background: var(--admin-surface); }

/* Cards, tables, forms */
.page-admin.admin-modern.admin-dark .admin-tab-panel > .card,
.page-admin.admin-modern.admin-dark .admin-overview-grid > .card,
.page-admin.admin-modern.admin-dark .admin-placeholder-card { background: var(--admin-surface); border-color: var(--admin-line); }
.page-admin.admin-modern.admin-dark .btn-primary:hover { background: #8d93ff; }
.page-admin.admin-modern.admin-dark .btn-ghost { color: var(--admin-copy); background: var(--admin-surface); }
.page-admin.admin-modern.admin-dark .table-wrap { background: var(--admin-surface); border-color: var(--admin-line); }
.page-admin.admin-modern.admin-dark table th { color: var(--admin-muted); background: var(--admin-surface); }
.page-admin.admin-modern.admin-dark table td { color: var(--admin-ink); }
.page-admin.admin-modern.admin-dark table tbody tr:hover { background: #151619; }
.page-admin.admin-modern.admin-dark .controls select,
.page-admin.admin-modern.admin-dark .controls input,
.page-admin.admin-modern.admin-dark .stack input,
.page-admin.admin-modern.admin-dark .reminder-controls input,
.page-admin.admin-modern.admin-dark .autopost-field input,
.page-admin.admin-modern.admin-dark .autopost-field select,
.page-admin.admin-modern.admin-dark .autopost-field textarea,
.page-admin.admin-modern.admin-dark .schedule-builder input,
.page-admin.admin-modern.admin-dark .schedule-builder select { color: var(--admin-ink); background: var(--admin-surface); }

/* Autoposts */
.page-admin.admin-modern.admin-dark .autopost-summary:hover { background: #151619; }
.page-admin.admin-modern.admin-dark .autopost-expanded { color: var(--admin-ink); background: #0d0d10; border-top-color: var(--admin-line); }
.page-admin.admin-modern.admin-dark .autopost-description { color: var(--admin-copy); }
.page-admin.admin-modern.admin-dark .autopost-runtime-pills span { color: var(--admin-copy); background: var(--admin-surface); border-color: var(--admin-line); }
.page-admin.admin-modern.admin-dark .autopost-field > label { color: var(--admin-copy); }
.page-admin.admin-modern.admin-dark .autopost-field small { color: var(--admin-muted); }
.page-admin.admin-modern.admin-dark .schedule-builder,
.page-admin.admin-modern.admin-dark .autopost-fixed-schedule { background: var(--admin-surface); border-color: var(--admin-line); box-shadow: none; }
.page-admin.admin-modern.admin-dark .autopost-fixed-icon,
.page-admin.admin-modern.admin-dark .autopost-fixed-schedule code { color: var(--admin-copy); background: var(--admin-surface-subtle); }
.page-admin.admin-modern.admin-dark .schedule-note code { color: var(--admin-copy); background: #1a1b20; }
.page-admin.admin-modern.admin-dark .autopost-status { background: var(--admin-surface); border-color: var(--admin-line); }

/* Roster, glory, insights */
.page-admin.admin-modern.admin-dark .bums-search-field input { color: var(--admin-ink); background: var(--admin-surface); border-color: var(--admin-line-strong); }
.page-admin.admin-modern.admin-dark .bums-compact-field select,
.page-admin.admin-modern.admin-dark .bums-roster-table select,
.page-admin.admin-modern.admin-dark .glory-seed-form select,
.page-admin.admin-modern.admin-dark .glory-seed-form input { color: var(--admin-ink); background: var(--admin-surface); border-color: var(--admin-line-strong); }
.admin-dark .bums-toggle-track { background: #3a3d45; }
.admin-dark input:focus-visible + .bums-toggle-track { outline-color: rgba(123, 130, 244, 0.35); }
.admin-dark .bums-notes-input { color: var(--admin-ink); background: var(--admin-surface); border-color: var(--admin-line-strong); }
.admin-dark .bums-link-badge,
.admin-dark .glory-role-badge,
.admin-dark .glory-approval { color: #f0a9b4; background: var(--admin-danger-soft); border-color: #4a2a31; }
.admin-dark .bums-link-badge.is-linked,
.admin-dark .glory-role-badge.is-eligible,
.admin-dark .glory-approval.is-approved { color: #4ed09a; background: var(--admin-success-soft); border-color: #1d4a38; }
.admin-dark .bums-glory-dialog { color: var(--admin-ink); background: var(--admin-surface); border-color: var(--admin-line); box-shadow: 0 28px 90px rgba(0, 0, 0, 0.5); }
.admin-dark .bums-skeleton-line { background: linear-gradient(90deg, #131316, #1c1e23, #131316); background-size: 200% 100%; }
.page-admin.admin-modern.admin-dark .bums-view-toolbar select,
.page-admin.admin-modern.admin-dark .bums-broadcast-form select,
.page-admin.admin-modern.admin-dark .bums-broadcast-form textarea { color: var(--admin-ink); background: var(--admin-surface); border-color: var(--admin-line-strong); }
.admin-dark .bums-count-pill { color: #4ed09a; background: var(--admin-success-soft); }
.admin-dark .bums-status-badge.danger { color: var(--admin-danger); background: var(--admin-danger-soft); }
.admin-dark .bums-status-badge.warning { color: var(--admin-warning); background: #3a2c14; }
.admin-dark .bums-status-badge.neutral { color: var(--admin-copy); background: var(--admin-surface-subtle); }
.admin-dark .chart-grid line { stroke: var(--admin-line); }
.admin-dark .chart-grid text,
.admin-dark .chart-date { fill: var(--admin-muted); }
.admin-dark .bums-bar-list i { background: var(--admin-surface-subtle); }
.admin-dark .bums-empty-state span { color: var(--admin-muted); }
.admin-dark .bums-broadcast-preview { background: var(--admin-surface-subtle); border-color: var(--admin-line); }
.admin-dark .bums-member-dialog { color: var(--admin-ink); background: var(--admin-surface); border-color: var(--admin-line); box-shadow: 0 28px 90px rgba(0, 0, 0, 0.5); }
.admin-dark .bums-dialog-close { color: var(--admin-copy); background: var(--admin-surface-subtle); }
.admin-dark .bums-insight-table.is-clickable tbody tr:focus-visible,
.admin-dark .bums-glory-table tbody tr:focus { outline-color: rgba(123, 130, 244, 0.4); }
