/* SCUM Assistant visual system — v1 (2026-10-11)
   Purposefully presentation-only: no form values, actions, IDs or logic altered.
   SCUM Coins is the reference: flat dark surfaces, spaced cards, minimal tabs,
   clear tables and consistent controls. Specialized Live Map & modals stay intact. */
:root {
  --uih-surface: #151d28;
  --uih-surface-soft: #111a26;
  --uih-field: #0c1420;
  --uih-line: #2b3a4f;
  --uih-radius: 12px;
  color-scheme: dark;
}
body { background:var(--bg); }
.main { padding:clamp(18px,2vw,32px); }
.main:not(.live-map-main):not(.chat-main) { max-width:1900px; }
.main > .page-header { gap:20px; align-items:flex-start; margin-bottom:28px; }
.page-header h1 { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:3px 0 12px; font-size:clamp(26px,2.1vw,34px); line-height:1.15; letter-spacing:-.022em; }
.page-header .uih-page-icon { width:30px; height:30px; flex:none; color:#e1ac49; }
.page-header .page-description, .page-header > div > .muted { max-width:900px; line-height:1.55; }
.page-header .kicker { font-size:11px; letter-spacing:.16em; }
/* Preserve coin-like card hierarchy without extra heavy drop shadows. */
.main:not(.live-map-main) :is(.panel,.card,.admin-action-card) { box-shadow:none; border-color:var(--uih-line); }
.main:not(.live-map-main) .panel { background:var(--uih-surface); border-radius:14px; }
.main:not(.live-map-main) > .panel,
.main:not(.live-map-main) > section.panel,
.main:not(.live-map-main) .dashboard-layout > .panel,
.main:not(.live-map-main) .stats-panel,
.main:not(.live-map-main) .profile-section-panel { padding:24px; }
.main:not(.live-map-main) .panel :is(h2,h3) { letter-spacing:-.015em; }
.main:not(.live-map-main) .panel h2 { font-size:clamp(20px,1.55vw,25px); }
.main:not(.live-map-main) .panel > .muted,
.main:not(.live-map-main) .panel :is(.panel-subtitle,.page-description) { line-height:1.5; }
.main:not(.live-map-main) :is(.grid,.reward-grid) { gap:18px; }
.main:not(.live-map-main) .card { background:var(--uih-surface); padding:21px; border-radius:12px; }
.main:not(.live-map-main) .card-value { letter-spacing:-.02em; }
/* Inputs (checkboxes, file pickers and custom steppers excluded). */
.main :is(input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="number"],input[type="datetime-local"],input[type="date"],input[type="time"],select,textarea) {
  background:var(--uih-field); color:var(--text); border:1px solid var(--uih-line);
  border-radius:9px; font-family:inherit;
}
.main :is(input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="number"],input[type="datetime-local"],input[type="date"],input[type="time"],select,textarea):focus-visible {
  outline:2px solid var(--accent); outline-offset:1px;
}
.main :is(input,textarea)::placeholder { color:#899cb4; opacity:1; }
.main :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--accent); }
.main .button { border-radius:9px; transition:background-color .16s ease,border-color .16s ease,filter .16s ease; }
.main .button:not(:disabled):hover { filter:brightness(1.08); }
.main .button:focus-visible, .main button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
/* Tables should sit directly inside their cards, not look like another card. */
.main:not(.live-map-main) :is(.table-wrap,.coin-table-wrap,.aip-table-scroll,.investigation-table-scroll) { background:transparent; box-shadow:none; border-radius:0; max-width:100%; }
.main:not(.live-map-main) :is(.panel,.card) > :is(.table-wrap,.coin-table-wrap,.aip-table-scroll) { margin-top:16px; }
.main:not(.live-map-main) table { border-collapse:collapse; width:100%; }
.main:not(.live-map-main) table :is(th,td) { border-bottom:1px solid var(--uih-line); }
.main:not(.live-map-main) table th { color:#9eafc4; font-size:12px; font-weight:750; }
.main:not(.live-map-main) table td { line-height:1.5; }
.main:not(.live-map-main) table tbody tr:hover { background:rgba(255,255,255,.018); }
/* Use restrained card separators and lean toolbars throughout the admin pages. */
.main:not(.live-map-main) :is(.toolbar,.audit-toolbar,.db-toolbar,.manage-rewards-toolbar) { gap:12px; }
.main:not(.live-map-main) .panel-header-row { align-items:center; gap:18px; }
.main:not(.live-map-main) :is(.pagination-bar,.manage-rewards-pagination) { padding-top:14px; border-top:1px solid var(--uih-line); }
.main:not(.live-map-main) .info-box { box-shadow:none; }
.main:not(.live-map-main) .admin-action-card { background:var(--uih-surface); padding:22px; }
/* Investigations: replace sticky framed section-tabs with the Coin-style underline. */
.investigations-page .investigation-section-nav {
  padding:0 0 12px; margin:20px 0 12px; border:0; border-bottom:1px solid var(--uih-line);
  border-radius:0; background:transparent; box-shadow:none; gap:8px;
}
.investigations-page .investigation-section-nav button { border:1px solid var(--uih-line); background:var(--uih-surface); padding:10px 14px; }
.investigations-page .investigation-section-nav button:hover { border-color:#526681; }
.investigations-page .investigation-detail-card { padding:0 !important; }
.investigations-page .investigation-detail-card > summary { background:transparent; padding:18px 21px; }
.investigations-page .investigation-detail-card > .investigation-detail-body { border-top:1px solid var(--uih-line); }
.investigations-page .investigation-profile-hero { box-shadow:none; }
/* Events: remove the 'giant panel around other panels' look. */
.events-page .events-shell { margin-top:0; padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; overflow:visible; }
.events-page .events-tabs { background:transparent; padding:0 0 12px; margin:23px 0 18px; border-bottom:1px solid var(--uih-line); flex-wrap:wrap; }
.events-page .events-tab { border:1px solid var(--uih-line); background:var(--uih-surface); min-height:42px; }
.events-page .events-tab:hover { background:#202d40; }
.events-page .events-tab.active { border-color:var(--accent); background:var(--uih-surface); box-shadow:inset 0 0 0 1px var(--accent); color:#f3d09c; }
.events-page .events-content { padding:24px !important; background:var(--uih-surface) !important; border:1px solid var(--uih-line); border-radius:14px; }
.events-page .events-config-flow { min-width:0; }
/* Consistent content hierarchy in data-heavy sections, without touching DOM/JS. */
.main .kicker { line-height:1.4; }
.main :is(.page-description,.panel-subtitle) { max-width:100%; }
.main :is(.aip-count,.badge) { font-variant-numeric:tabular-nums; }
@media (max-width:850px) {
  .main { padding:20px; }
  .main > .page-header { flex-wrap:wrap; }
  .main:not(.live-map-main) > .panel,.main:not(.live-map-main) > section.panel { padding:17px; }
  .events-page .events-content { padding:16px !important; }
  .page-header h1 { font-size:27px; }
}
@media (max-width:580px) {
  .main { padding:16px; }
  .page-header .uih-page-icon { width:26px; height:26px; }
  .main:not(.live-map-main) :is(.pagination-bar,.manage-rewards-pagination) { gap:10px; }
}
@media (prefers-reduced-motion:reduce) {
 .main .button { transition:none; }
}

/* Five public overview values, consistent with the other status cards. */
@media (min-width: 1181px) {
  .dashboard-status-grid { grid-template-columns:repeat(5,minmax(155px,1fr)); }
}
.dashboard-card.permanent-ban-status { background:linear-gradient(135deg,rgba(225,164,40,.09),transparent 48%),var(--uih-surface); }
