/* Every dashboard override is opt-in; legacy retains its original styles. */
.ui-version-switch { position:fixed; bottom:12px; right:18px; z-index:1100; display:flex; align-items:center; gap:12px; padding:10px 16px; border:1px solid var(--border); border-radius:30px; background:var(--surface); color:var(--text); box-shadow:0 3px 16px var(--shadow-color); font:13px system-ui,sans-serif; }
.ui-version-switch label { cursor:pointer; }
.ui-version-switch input { appearance:none; width:36px; height:21px; margin:0; padding:2px; border:0; border-radius:20px; background:#a59d91; cursor:pointer; }
.ui-version-switch input::before { content:''; display:block; width:17px; height:17px; background:white; border-radius:50%; transition:transform .15s; }
.ui-version-switch input:checked { background:var(--btn); }
.ui-version-switch input:checked::before { transform:translateX(15px); }
.ui-version-switch input:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
[data-modern-shell][hidden] { display:none !important; }
body:not([data-ui="modern"]) [data-modern-only] { display:none !important; }
body[data-ui="modern"] .modern-target-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
body[data-ui="modern"] #modern-action-targets .card { margin:16px 0; padding:20px; }
body[data-ui="modern"] #modern-action-targets .card[hidden] { display:none; }
body[data-ui="modern"] {
  /* Inherit the five existing palettes; the theme selector already updates body. */
  --fg:var(--text); --surface-warm:var(--surface-2);
  --modern-sidebar-bg:var(--panel); --modern-sidebar-text:var(--text);
  --modern-sidebar-heading:var(--link);
  color-scheme:dark;
  background:var(--body-bg); color:var(--text); padding-left:250px; padding-bottom:64px;
}
body[data-ui="modern"].theme-green-light {
  color-scheme:light;
  --modern-sidebar-bg:#0f2318; --modern-sidebar-text:#e7f8ed; --modern-sidebar-heading:#86efac;
}
body[data-ui="modern"].theme-tribes {
  color-scheme:light;
  --modern-sidebar-bg:#2b2118; --modern-sidebar-text:#eee3d0; --modern-sidebar-heading:#dfbb77;
}
body[data-ui="modern"] .modern-sidebar { position:fixed; inset:0 auto 0 0; width:250px; overflow:auto; background:var(--modern-sidebar-bg); color:var(--modern-sidebar-text); padding:24px 14px 80px; z-index:1001; }
body[data-ui="modern"] .modern-brand { display:flex; align-items:center; gap:14px; padding:0 12px 24px; color:var(--modern-sidebar-heading); }
body[data-ui="modern"] .modern-brand>img { width:45px; height:45px; object-fit:contain; flex-shrink:0; }
body[data-ui="modern"] .modern-brand strong { font-size:17px; line-height:1.3; }
body[data-ui="modern"] .modern-brand small { display:block; margin-top:3px; font-size:12px; }
body[data-ui="modern"] .modern-navigation { display:flex; flex-direction:column; gap:5px; }
body[data-ui="modern"] .modern-navigation .category-links-panel,
body[data-ui="modern"] .modern-navigation .category-links-panel div { display:contents !important; }
body[data-ui="modern"] .modern-navigation [data-modern-order="10"] { order:10; }
body[data-ui="modern"] .modern-navigation [data-modern-order="11"] { order:11; }
body[data-ui="modern"] .modern-navigation [data-modern-order="12"] { order:12; }
body[data-ui="modern"] .modern-navigation [data-modern-order="20"] { order:20; }
body[data-ui="modern"] .modern-navigation [data-modern-order="30"] { order:30; }
body[data-ui="modern"] .modern-navigation [data-modern-order="40"] { order:40; }
body[data-ui="modern"] .modern-navigation [data-modern-order="50"] { order:50; }
body[data-ui="modern"] .modern-navigation-primary { order:0; }
body[data-ui="modern"] .modern-navigation-primary #topbarMenu { display:flex; position:static; flex-direction:column; align-items:stretch; gap:5px; margin:0; padding:0; width:100%; max-height:none; background:transparent; border:0; box-shadow:none; }
body[data-ui="modern"] .modern-navigation-admin { order:100; margin-top:24px; padding-top:14px; border-top:1px solid var(--modern-sidebar-heading); }
body[data-ui="modern"] .modern-navigation-admin:empty { display:none; }
body[data-ui="modern"] .modern-navigation [data-modern-heading] { margin-top:34px !important; position:relative; }
body[data-ui="modern"] .modern-navigation [data-modern-heading]::before { content:attr(data-modern-heading); position:absolute; top:-25px; left:10px; font:600 11px system-ui; letter-spacing:1.4px; color:var(--modern-sidebar-heading); }
body[data-ui="modern"] .modern-navigation .btn,
body[data-ui="modern"] .modern-navigation a[role="menuitem"] { display:block; width:100%; min-height:36px; padding:9px 10px; background:transparent; box-shadow:none; border:1px solid transparent; border-radius:7px; color:var(--modern-sidebar-text); font-size:13px; font-weight:400; white-space:normal; text-align:left; line-height:1.35; }
body[data-ui="modern"] .modern-navigation form { margin:0; }
body[data-ui="modern"] .modern-navigation .btn:hover,
body[data-ui="modern"] .modern-navigation .btn.is-active,
body[data-ui="modern"] .modern-navigation .modern-current-page { background:var(--btn); color:var(--on-accent); border-color:var(--accent); outline:none; }
body[data-ui="modern"] .modern-navigation .topbar-panels { display:block; position:static; padding:0; }
body[data-ui="modern"] .modern-navigation .topbar-panel { display:block; position:static; width:100%; inline-size:100%; max-width:none; background:transparent; border:0; box-shadow:none; padding:0; }
body[data-ui="modern"] .modern-navigation #panel-tymczasowy { display:block !important; opacity:1; transform:none; pointer-events:auto; }
body[data-ui="modern"] .modern-navigation #panel-admin[hidden] { display:none; }
body[data-ui="modern"] .modern-navigation .topbar-panel__nav { display:flex; flex-direction:column; align-items:stretch; width:100%; max-inline-size:none; gap:5px; }
body[data-ui="modern"] .modern-navigation .topbar-panel__group-title { color:var(--modern-sidebar-heading); margin-top:18px; }
body[data-ui="modern"] .topbar { display:none; }
body[data-ui="modern"] .topbar__inner { padding:10px 24px; }
body[data-ui="modern"] .topbar__brand { display:none; }
body[data-ui="modern"] .topbar .btn { background:transparent; color:var(--link); box-shadow:none; border-color:transparent; }
body[data-ui="modern"] .modern-context { position:sticky; top:0; z-index:999; background:var(--surface-2); border-bottom:1px solid var(--border); box-shadow:0 3px 12px var(--shadow-color); padding:14px 24px; }
body[data-ui="modern"] .modern-context { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
body[data-ui="modern"] .modern-context-selectors { flex:1 1 640px; min-width:0; }
body[data-ui="modern"] .modern-context-actions { flex-shrink:0; }
body[data-ui="modern"] .modern-context-account { margin-left:auto; min-width:0; }
body[data-ui="modern"] .modern-context-account .topbar-meta--inline { display:flex; width:auto; min-width:0; max-width:100%; margin:0; padding:0; gap:16px; border:0; border-radius:0; background:transparent; box-shadow:none; }
body[data-ui="modern"] .modern-context-account .topbar-meta__selectors { flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px; }
body[data-ui="modern"] .modern-context-account .topbar-meta__info { gap:8px; }
body[data-ui="modern"] .modern-context:has(#mp-selectors) .topbar-meta__info>div:not(.topbar-meta__actions) { display:none; }
body[data-ui="modern"] .modern-context-actions:empty,
body[data-ui="modern"] .modern-context-selectors:empty,
body[data-ui="modern"] .modern-context-account:empty { display:none; }
body[data-ui="modern"] .modern-context:not(:has(#mp-selectors)):not(:has(#monitorReloadButton)):not(:has(.topbar-meta)) { display:none; }
body[data-ui="modern"] #mp-selectors { padding:0; margin:0; width:100%; max-width:none; border:0; box-shadow:none; background:transparent; }
body[data-ui="modern"] #mp-selectors>div:first-child { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px !important; }
body[data-ui="modern"] #mp-selectors form { grid-template-columns:auto minmax(0,1fr) !important; }
body[data-ui="modern"] #mp-selectors select { min-height:40px; }
body[data-ui="modern"] main.content { width:auto; max-width:none; margin:0; padding:26px 24px; min-width:0; }
body[data-ui="modern"].modern-management main.content>.management-grid { display:none; }
body[data-ui="modern"].modern-management main.content:has(.management-inline-panel.is-loaded)>h2,
body[data-ui="modern"].modern-management main.content:has(.management-inline-panel.is-loaded)>p:has(a[href]) { display:none; }
body[data-ui="modern"] .management-inline-panel { width:100% !important; max-width:100% !important; margin-left:0 !important; }
body[data-ui="modern"] :is(.card,.monitor-card) { background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:10px; box-shadow:0 3px 14px var(--shadow-color); }
body[data-ui="modern"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) { background:var(--input-bg); color:var(--text); border-color:var(--input-border); border-radius:7px; max-width:100%; }
body[data-ui="modern"] :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
body[data-ui="modern"] :is(.btn,.monitor-btn) { border-radius:7px; box-shadow:none; }
body[data-ui="modern"] :is(.msg,.monitor-note) { background:var(--msg-bg); color:var(--text); border:1px solid var(--border); border-radius:8px; padding:12px 16px; }
body[data-ui="modern"] .msg.error { background:color-mix(in srgb, var(--danger) 12%, var(--surface)); color:var(--danger); border-color:var(--danger); }
body[data-ui="modern"] .monitor-page { max-width:none; width:100%; }
body[data-ui="modern"] .monitor-title { font-size:30px; color:var(--text); margin-bottom:6px; }
body[data-ui="modern"] .monitor-header::after { content:'Porównuj stany wojsk graczy i wykrywaj zmiany.'; display:block; margin:8px 0 22px; color:var(--muted); font-size:14px; }
body[data-ui="modern"] .monitor-card:has(#monitorForm) { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; padding:16px; align-items:start; width:100%; margin-inline:0; }
body[data-ui="modern"] .monitor-card:has(#monitorForm)>* { grid-column:1; min-width:0; max-width:100%; }
body[data-ui="modern"] .monitor-card #monitorForm { grid-column:1; grid-row:auto; grid-template-columns:minmax(0,1fr) auto; background:var(--surface-2); padding:14px; border:1px solid var(--border); border-radius:8px; margin:0; }
body[data-ui="modern"] #monitorForm>.monitor-source-switch,
body[data-ui="modern"] #monitorForm>.monitor-compare-grid { grid-column:1 / -1; }
body[data-ui="modern"] .monitor-compare-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:12px; }
body[data-ui="modern"] .monitor-compare-column { min-width:0; padding:12px; gap:8px; }
body[data-ui="modern"] .monitor-field { min-width:0; }
body[data-ui="modern"] #monitorSegments { min-height:100px; height:112px; }
body[data-ui="modern"] .monitor-form__actions { align-self:end; }
body[data-ui="modern"] .monitor-actions,
body[data-ui="modern"] .monitor-actions__group { flex-wrap:wrap; min-width:0; gap:8px; }
body[data-ui="modern"] .monitor-player-search { margin-block:0; }
body[data-ui="modern"] .monitor-player-search input { width:100%; }
body[data-ui="modern"] .monitor-table-wrapper { max-width:100%; min-width:0; }
body[data-ui="modern"] .monitor-table :is(th,td) { padding:5px 6px; font-size:12px; }
body[data-ui="modern"] .monitor-page .cell-main { display:grid; grid-template-columns:auto auto auto; gap:3px; }
body[data-ui="modern"] .monitor-page .cell-delta { font-size:11px; }
body[data-ui="modern"] .monitor-source-switch { display:flex; flex-wrap:wrap; border-bottom:1px solid var(--border); padding-bottom:12px; }
body[data-ui="modern"] .monitor-source-switch__item { background:transparent; color:var(--link); border-radius:6px; }
body[data-ui="modern"] .monitor-source-switch__item.is-active,
body[data-ui="modern"] .monitor-source-switch__item:has(input:checked) { background:var(--btn); color:var(--on-accent); border-color:var(--accent); }
body[data-ui="modern"] .monitor-table-wrapper { width:100%; overflow:auto; background:var(--surface); border-color:var(--border); border-radius:8px; }
body[data-ui="modern"] .monitor-table :is(th,td) { color:var(--text); border-color:var(--border); }
body[data-ui="modern"] .monitor-table th { background:var(--surface-2); }
body[data-ui="modern"] .monitor-table td { background:var(--surface); }
body[data-ui="modern"] .monitor-table tbody tr:hover td { background:var(--surface-2); }
body[data-ui="modern"] .site-footer { background:transparent; color:var(--muted); }
/* Optional real-data cards: modules can render these when metrics are available. */
body[data-ui="modern"] .se-layout { grid-template-columns:minmax(0,1fr); }
body[data-ui="modern"] .se-panel { position:static; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; border-radius:10px; box-shadow:none; }
body[data-ui="modern"] .se-panel>h3,
body[data-ui="modern"] .se-panel>p,
body[data-ui="modern"] .se-panel>.se-field:last-child { grid-column:1 / -1; margin:0; }
body[data-ui="modern"] .se-panel .se-field { min-width:0; margin-top:0; }
body[data-ui="modern"] .se-panel .se-select { height:180px; min-height:0; }
@media(max-width:1200px) {
  body[data-ui="modern"] .se-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
  body[data-ui="modern"] .se-panel { grid-template-columns:minmax(0,1fr); }
}
body[data-ui="modern"] .modern-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:14px; }
body[data-ui="modern"] .modern-stat { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:20px; }
@media(max-width:1100px) {
  body[data-ui="modern"] { padding-left:220px; }
  body[data-ui="modern"] .modern-sidebar { width:220px; }
  body[data-ui="modern"] #mp-selectors>div:first-child { grid-template-columns:1fr; gap:8px !important; }
  body[data-ui="modern"] .monitor-card:has(#monitorForm) { grid-template-columns:1fr; }
  body[data-ui="modern"] .monitor-card:has(#monitorForm)>*, body[data-ui="modern"] .monitor-card #monitorForm { grid-column:1; grid-row:auto; }
}
@media(max-width:700px) {
  body[data-ui="modern"] { padding-left:0; }
  body[data-ui="modern"] .modern-sidebar { position:relative; width:100%; max-height:290px; padding:16px; }
  body[data-ui="modern"] .modern-brand { padding-bottom:8px; }
  body[data-ui="modern"] .modern-context { padding:10px 14px; }
  body[data-ui="modern"] .modern-context { flex-direction:column; align-items:stretch; gap:8px; }
  body[data-ui="modern"] .modern-context-selectors { flex-basis:auto; }
  body[data-ui="modern"] .modern-context-account { margin-left:0; }
  body[data-ui="modern"] main.content { padding:18px 12px; }
  body[data-ui="modern"] .monitor-title { font-size:25px; }
  body[data-ui="modern"] .monitor-compare-grid { grid-template-columns:minmax(0,1fr); }
  body[data-ui="modern"] .monitor-card #monitorForm { grid-template-columns:minmax(0,1fr); }
  .ui-version-switch { bottom:8px; right:8px; }
}
@media(prefers-reduced-motion:reduce) { .ui-version-switch input::before { transition:none; } }
