:root{
  color-scheme:dark;
  --bg-base:#0d1a12; --bg-sidebar:#0a1410; --bg-card:#0f1e16; --bg-row-hover:#111f18; --bg-head:#132419;
  --border:#1e3028; --border-light:#203830;
  --text-primary:#d8e8d0; --text-secondary:#c0d8b8; --text-muted:#6fa088; --text-faint:#84a894;
  --accent-purple:#6a3aaa; --accent-purple-bright:#c4a0ff; --accent-purple-bg:#1a1030;
  --status-running:#57a06c; --status-idle:#57977f; --status-slow:#c2953f; --status-late:#c0507f; --status-unknown:#89988f;
  --level-info:#57977f; --level-warning:#c2953f; --level-error:#c0507f; --level-success:#57a06c;
  --src-botdaddy:#4fa8a0; --src-farmdash:#c4a0ff;
  --resource-value:#a488d6;
  --frozen-edge:#4a6a5a;
  --nav-active-bg:#162010; --nav-active-text:#a0c8a8;
  --bg-row-hover-strong:#16261d;
  --pill-on-bg:#12241a; --pill-on-border:#2f5a3f; --pill-on-text:#8fe0a8;
}
*{box-sizing:border-box}
[hidden]{display:none !important;}
body{background:var(--bg-base);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:15.5px;}
a{color:inherit}
.app{display:flex;min-height:100vh;}

/* ---------- Sidebar ---------- */
.sidebar{width:48px;flex:none;background:var(--bg-sidebar);border-right:0.5px solid var(--border);display:flex;flex-direction:column;transition:width .15s ease;overflow:hidden;position:sticky;top:0;height:100vh;}
.sidebar.expanded{width:200px;}
.sidebar .brand{height:50px;display:flex;align-items:center;gap:10px;padding:0 14px;font-weight:600;font-size:15.5px;color:var(--accent-purple-bright);white-space:nowrap;flex:none;border-bottom:0.5px solid var(--border);}
.sidebar .brand i{font-size:20.0px;}
.sidebar .brand .label{opacity:0;transition:opacity .12s;}
.sidebar.expanded .brand .label{opacity:1;}
.sidebar .nav-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 0;}
.sidebar .nav-group{margin-bottom:14px;}
.sidebar .nav-label{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:0 14px;margin:0 0 4px;white-space:nowrap;height:12px;opacity:0;transition:opacity .1s;}
.sidebar.expanded .nav-label{opacity:1;}
.sidebar .nav-item{display:flex;align-items:center;gap:12px;height:38px;padding:0 14px;cursor:pointer;color:var(--text-secondary);white-space:nowrap;overflow:hidden;border-left:2px solid transparent;font-size:15.0px;}
.sidebar .nav-item i{width:18px;flex:none;text-align:center;font-size:18.5px;}
.sidebar .nav-item .label{opacity:0;transition:opacity .12s;}
.sidebar.expanded .nav-item .label{opacity:1;}
.sidebar .nav-item:hover{color:var(--text-primary);background:var(--bg-row-hover);}
.sidebar .nav-item.active{background:var(--nav-active-bg);border-left-color:var(--accent-purple);color:var(--nav-active-text);}
.sidebar .nav-item.disabled{color:var(--text-muted);cursor:default;opacity:.55;}
.sidebar .nav-item.disabled:hover{background:none;color:var(--text-muted);}
.sidebar .spacer{flex:1;}
.sidebar .nav-admin{border-top:0.5px solid var(--border);padding-top:8px;margin-bottom:0;}
.sidebar .rail-toggle{height:46px;display:flex;align-items:center;gap:12px;padding:0 14px;border-top:0.5px solid var(--border);cursor:pointer;color:var(--text-muted);white-space:nowrap;flex:none;}
.sidebar .rail-toggle i{width:18px;text-align:center;font-size:18.5px;}
.sidebar .rail-toggle .label{opacity:0;transition:opacity .12s;font-size:14.0px;}
.sidebar.expanded .rail-toggle .label{opacity:1;}
.sidebar .rail-toggle:hover{color:var(--text-primary);}
.sidebar .nav-scroll{scrollbar-width:none;}
.sidebar .nav-scroll::-webkit-scrollbar{display:none;}

/* ---------- Shell ---------- */
.main{flex:1;min-width:0;display:flex;flex-direction:column;}
.topbar{height:52px;flex:none;display:flex;align-items:center;gap:10px;padding:0 20px;border-bottom:0.5px solid var(--border);background:var(--bg-card);position:sticky;top:0;z-index:30;}
.filter-wrap{position:relative;}
.filter-btn{display:flex;align-items:center;gap:7px;font:inherit;font-size:14.0px;color:var(--text-secondary);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:6px;padding:7px 12px;cursor:pointer;}
.filter-btn:hover{color:var(--text-primary);}
.filter-btn .count{background:var(--accent-purple-bg);color:var(--accent-purple-bright);border-radius:10px;padding:1px 7px;font-size:12.5px;font-variant-numeric:tabular-nums;}
.filter-panel{position:absolute;top:38px;left:0;width:240px;background:var(--bg-card);border:0.5px solid var(--accent-purple);border-radius:6px;padding:8px;z-index:40;box-shadow:0 12px 28px rgba(0,0,0,.5);display:none;}
.filter-panel.open{display:block;}
#farmsPanel{left:auto;right:0;}
.filter-panel input[type=text]{width:100%;font:inherit;font-size:14.0px;background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:4px;color:var(--text-primary);padding:6px 8px;margin-bottom:6px;}
.filter-panel .bulk{display:flex;gap:6px;margin-bottom:6px;}
.filter-panel .bulk button{flex:1;font:inherit;font-size:12.5px;color:var(--text-secondary);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:4px;padding:4px;cursor:pointer;}
.filter-panel .bulk button:hover{color:var(--text-primary);}
.filter-list{max-height:220px;overflow-y:auto;}
.filter-row{display:flex;align-items:center;gap:7px;padding:4px 4px;font-size:14.0px;color:var(--text-secondary);border-radius:4px;}
.filter-row:hover{background:var(--bg-row-hover);}
.filter-row input{accent-color:var(--accent-purple);width:13px;height:13px;}
.filter-hint{font-size:12.5px;color:var(--text-muted);margin:0 0 6px;}
.topbar .spacer{flex:1;}
.topbar .page-title{font-size:15.5px;font-weight:600;color:var(--text-primary);}

.page{padding:22px 24px 60px;}
.page-eyebrow{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 4px;}
.page-h1{font-size:21.0px;font-weight:500;margin:0 0 6px;text-wrap:balance;}
.page-lede{font-size:14.5px;color:var(--text-secondary);max-width:78ch;line-height:1.55;margin:0 0 18px;}
.page-lede b{color:var(--text-primary);}
.note-box{font-size:13.5px;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:9px 13px;margin:0 0 18px;line-height:1.6;max-width:88ch;}
.note-box b{color:var(--text-secondary);}
.page-end-divider{border:none;border-top:1px dashed var(--border);margin:32px 0 16px;}
.page-notes{padding-top:2px;}
.page-notes::before{content:"Notes on this mockup — not part of the page";display:block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px;}

/* ---------- Cards ---------- */
.card{background:var(--bg-card);border:0.5px solid var(--border);border-radius:8px;margin-bottom:12px;}
.card-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:0.5px solid var(--border-light);cursor:pointer;user-select:none;}
.card-head:hover{background:var(--bg-row-hover);}
.card-head.static{cursor:default;}
.card-head.static:hover{background:none;}
.card-head h3{margin:0;font-size:15.0px;font-weight:600;letter-spacing:.02em;color:var(--text-primary);text-transform:uppercase;}
.card-head .chev{margin-left:auto;font-size:13.5px;color:var(--text-muted);transition:transform .15s;}
.status-updated{margin-left:auto;font-size:12.5px;color:var(--text-muted);white-space:nowrap;}
.status-updated .su-lbl{font-size:11px;color:var(--text-muted);opacity:.72;}
.status-updated b{font-weight:600;color:var(--text-secondary);}
.card.collapsed .chev{transform:rotate(-90deg);}
.card.collapsed .card-body{display:none;}
.card-body{padding:18px 20px;}
/* .status-tight is no longer a special case — 12px is now the default .card gap everywhere (see below) */

/* ---------- Info bar (STATUS) — rebuilt to match wireframe V1's 4-card layout ---------- */
.status-bar{display:flex;gap:8px;padding:10px;flex-wrap:wrap;}
.status-card{background:var(--bg-row-hover);border:0.5px solid var(--border-light);border-radius:6px;padding:12px 16px;min-width:0;}
.status-card.card-status{flex:1 1 150px;}
.status-card.card-cycle{flex:1.15 1 172px;}
.status-card.card-avg{flex:1 1 150px;}
.status-card.card-fleet{flex:2.3 1 320px;}
.status-card .lbl{font-size:13.0px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 4px;line-height:1.1;}
.status-card .val{font-size:24.0px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:7px;line-height:1.1;margin:0;}
.status-card .sub{font-size:13.0px;color:var(--text-faint);margin:2px 0 0;line-height:1.2;}
.status-card .sub.trend-up{color:var(--status-slow);}
.status-card .sub.trend-down{color:var(--status-running);}
.status-card .alert-line{font-size:13.0px;margin:4px 0 0;line-height:1.2;cursor:pointer;color:var(--level-warning);}
.status-card .alert-line:hover{text-decoration:underline;}
.status-card .alert-line.none-active{color:var(--text-muted);cursor:default;}
.status-card .alert-line.none-active:hover{text-decoration:none;}
.bot-dot{width:10px;height:10px;border-radius:50%;background:var(--status-running);flex:none;}
.bot-dot.stopped{background:var(--status-late);}
.bot-label.stopped{color:var(--status-late);}
.fleet-counts{display:flex;height:100%;gap:14px;}
.fleet-count{flex:1;min-width:0;}
.fleet-count .num{font-size:26.0px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1;margin:0;}
.fleet-count .lbl2{font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;margin:2px 0 0;color:var(--text-muted);line-height:1.1;}
.status-demo-toggle{display:flex;gap:4px;margin-left:auto;}

/* ---------- Alerts card / rows — rebuilt to match wireframe A1 (dense list, most-liked) ---------- */
.alerts-summary-collapsed{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:14.5px;color:var(--text-secondary);}
.recent-badge{background:var(--accent-purple-bg);color:var(--accent-purple-bright);border:0.5px solid var(--accent-purple);border-radius:12px;padding:2px 10px;font-size:13.5px;font-weight:600;margin-left:auto;}
.all-clear{color:var(--status-running);font-weight:600;}
.alert-list{max-height:360px;overflow-y:auto;padding-right:6px;}
.alert-list::-webkit-scrollbar{width:8px;height:8px;}
.alert-list::-webkit-scrollbar-track{background:transparent;}
.alert-list::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px;}
.alert-list::-webkit-scrollbar-thumb:hover{background:var(--frozen-edge);}
.alert-list{scrollbar-width:thin;scrollbar-color:var(--border-light) transparent;}
.alert-row{display:grid;grid-template-columns:8px 196px 1fr 88px 64px;align-items:center;gap:14px;padding:8px 14px;min-height:62px;cursor:pointer;}
.alert-row:nth-child(odd){background:var(--bg-card);}
.alert-row:nth-child(even){background:var(--bg-row-hover);}
.alert-row:hover{filter:brightness(1.18);}
.alert-row.ack{opacity:.42;}
.alert-dot{width:8px;height:8px;border-radius:50%;flex:none;}
.alert-main .farm{font-weight:600;color:var(--text-primary);font-size:15.5px;}
.alert-main .owner{color:var(--text-faint);font-size:14.0px;margin-top:1px;}
.alert-desc{color:var(--text-secondary);font-size:14.5px;line-height:1.4;}
.alert-src{font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:var(--bg-row-hover);border:0.5px solid var(--border);color:var(--text-muted);white-space:nowrap;}
.alert-src-badge{font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;padding:3px 8px;border-radius:4px;background:var(--bg-base);border:0.5px solid var(--border);color:var(--text-muted);white-space:nowrap;text-align:center;}
.alert-time{font-size:13.5px;color:var(--text-faint);white-space:nowrap;text-align:right;}

/* ---------- Reusable data table ---------- */
.table-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.table-toolbar .ttl{font-size:15.0px;font-weight:600;color:var(--text-primary);margin-right:auto;text-transform:uppercase;letter-spacing:.03em;}
.chip-row{display:flex;gap:6px;flex-wrap:wrap;}
.chip{font:inherit;font-size:13.0px;color:var(--text-muted);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:4px;padding:5px 10px;cursor:pointer;}
.chip.on{background:var(--accent-purple-bg);border-color:var(--accent-purple);color:var(--accent-purple-bright);}
.cols-wrap{position:relative;}
.cols-btn{font-size:15.5px;color:var(--text-secondary);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:4px;width:30px;height:28px;cursor:pointer;}
.cols-btn:hover{color:var(--text-primary);}
.cols-panel{position:absolute;top:34px;right:0;width:230px;background:var(--bg-card);border:0.5px solid var(--accent-purple);border-radius:6px;padding:10px;z-index:20;box-shadow:0 12px 28px rgba(0,0,0,.5);display:none;}
.cols-panel.open{display:block;}
.cols-panel .head-row{display:flex;align-items:center;gap:8px;margin:0 0 8px;}
.cols-panel h4{margin:0;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:600;}
.cols-panel .head-row .bulk-link{margin-left:auto;display:flex;gap:8px;}
.cols-panel .head-row .bulk-link button{font:inherit;font-size:12.0px;color:var(--accent-purple-bright);background:none;border:none;cursor:pointer;padding:0;}
.cols-panel .head-row .bulk-link button:hover{text-decoration:underline;}
.col-row{display:flex;align-items:center;gap:8px;padding:5px 4px;font-size:14.0px;color:var(--text-secondary);border-radius:4px;cursor:grab;}
.col-row:hover{background:var(--bg-row-hover);}
.col-row.dragging{opacity:.4;}
.col-row .grip{color:var(--text-muted);font-size:13.5px;}
.col-row .lbl{flex:1;}
.col-row input{accent-color:var(--accent-purple);width:13px;height:13px;margin-left:auto;}

.table-scroll{border:1px solid var(--border);border-radius:8px;overflow:auto;max-height:720px;--row-h:50px;padding-right:8px;background:var(--bg-card);}
.table-scroll::-webkit-scrollbar{width:8px;height:8px;}
.table-scroll::-webkit-scrollbar-track{background:transparent;}
.table-scroll::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px;}
.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--frozen-edge);}
.table-scroll{scrollbar-width:thin;scrollbar-color:var(--border-light) transparent;}
.header-row,.data-row{display:grid;align-items:center;}
.header-row{position:sticky;top:0;z-index:5;background:var(--bg-head);height:36px;border-bottom:0.5px solid var(--border);}
.header-cell{padding:0 16px;font-size:12.0px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px;}
.header-cell:hover{color:var(--text-secondary);}
.header-cell.sorted{color:var(--accent-purple-bright);}
.header-cell .arrow{font-size:10.5px;opacity:.9;}
.data-row{height:var(--row-h);border-bottom:0.5px solid var(--border-light);}
.data-row:nth-child(odd){background:var(--bg-card);}
.data-row:nth-child(even){background:var(--bg-row-hover);}
.cell{padding:0 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:14.0px;}
.cell.frozen{position:sticky;left:0;z-index:2;background:inherit;display:flex;flex-direction:column;justify-content:center;gap:1px;border-right:1.5px solid var(--frozen-edge);}
.cell.frozen::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;}
.data-row[data-status="running"] .cell.frozen::after{background:var(--status-running);}
.data-row[data-status="idle"] .cell.frozen::after{background:var(--status-idle);}
.data-row[data-status="slow"] .cell.frozen::after{background:var(--status-slow);}
.data-row[data-status="late"] .cell.frozen::after{background:var(--status-late);}
.data-row[data-status="unknown"] .cell.frozen::after{background:var(--status-unknown);}
.farm-name{font-size:15.0px;font-weight:600;color:var(--text-primary);padding-left:8px;}
.farm-hide{border:0;background:transparent;color:var(--text-faint);cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;margin-left:6px;border-radius:3px;opacity:0;transition:opacity .1s;}
.data-row:hover .farm-hide{opacity:1;}
.farm-hide:hover{color:var(--status-late);background:var(--bg-row-hover);}
.farm-owner{font-size:13.5px;color:var(--text-faint);padding-left:8px;}
.ch-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.4px;color:var(--text-faint);background:var(--bg-head);border-radius:3px;padding:1px 4px;margin-left:6px;vertical-align:middle;}
.header-cell.frozen-head{position:sticky;left:0;z-index:6;background:var(--bg-head);border-right:1.5px solid var(--frozen-edge);}
.header-cell.center{justify-content:center;text-align:center;}
.cell.center{text-align:center;}

.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:middle;background-color:currentColor;}
.status-text{vertical-align:middle;font-weight:500;}
.status-running{color:var(--status-running);} .status-idle{color:var(--status-idle);} .status-slow{color:var(--status-slow);}
.status-late{color:var(--status-late);} .status-unknown{color:var(--status-unknown);}
.level-pill{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.02em;}
.level-info{background:color-mix(in srgb, var(--level-info) 16%, transparent);color:var(--level-info);}
.level-warning{background:color-mix(in srgb, var(--level-warning) 16%, transparent);color:var(--level-warning);}
.level-error{background:color-mix(in srgb, var(--level-error) 16%, transparent);color:var(--level-error);}
.level-success{background:color-mix(in srgb, var(--level-success) 16%, transparent);color:var(--level-success);}
.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-purple-bright);display:inline-block;}

.pos{color:var(--status-slow);} .neg{color:var(--status-idle);} .flat{color:var(--text-muted);} .dash{color:var(--text-muted);}
.resource{color:var(--resource-value);font-weight:500;}
.uptime-low{color:var(--status-late);font-weight:600;}
.ch-input{width:34px;background:var(--bg-row-hover);border:0.5px solid var(--accent-purple);border-radius:3px;color:var(--text-primary);font:inherit;font-size:14.0px;padding:1px 4px;font-variant-numeric:tabular-nums;}
.ch-edit-wrap{display:inline-flex;align-items:center;gap:5px;cursor:pointer;}
.ch-edit{}
.ch-edit-icon{color:var(--text-muted);font-size:13.5px;line-height:1;}
.ch-edit-wrap:hover .ch-edit-icon{color:var(--accent-purple-bright);}

/* rate deltas (Farm resources table) — distinct from .pos/.neg above, which mean "worse/better than usual timing" (orange=worse). Here + = gaining the resource (good), - = losing it (bad). */
.rate-pos{color:var(--status-running);}
.rate-neg{color:var(--status-late);}

/* ---------- Farm resources table — grouped header ---------- */
.res-table-scroll{--row-h:48px;}
.header-cell.divider,.cell.divider{border-left:1px solid var(--border);}
.cell.rate{padding:0 10px;font-size:13.0px;}
.header-cell.rate-head{padding:0 10px;font-size:11.5px;}

/* ---------- Summary cards (Resources) ---------- */
.summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:12px;}
.res-card{background:var(--bg-card);border:0.5px solid var(--border);border-radius:8px;padding:14px 16px;}
.res-card .lbl{font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;}
.res-card .gross{font-size:20.0px;font-weight:600;color:var(--resource-value);font-variant-numeric:tabular-nums;margin:0;}
.res-card .after{font-size:13.5px;color:var(--text-secondary);margin:5px 0 0;}
.res-card .excl{font-size:12.0px;color:var(--text-muted);margin:3px 0 0;}

/* ---------- Alerts page — stats card (from "Alerts Panel Concepts" 2B) ---------- */
.alert-stat-card{border-left:4px solid var(--tile-color);padding:22px 24px 20px;}
.alert-stat-hero{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.alert-stat-hero .hero-num{font-size:36.0px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1;margin:0;}
.alert-stat-hero .hero-cap{font-size:13.0px;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin:4px 0 0;}
.alert-pill-stack{display:flex;flex-direction:column;gap:8px;margin-left:auto;}
.alert-pill-subrow{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.alert-pill{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;padding:5px 11px;border-radius:14px;background:var(--bg-row-hover);border:0.5px solid var(--border);}
.alert-pill .dot{width:7px;height:7px;border-radius:50%;}
.alert-trend-cols{display:grid;grid-template-columns:1fr auto;gap:24px;margin-top:16px;padding-top:14px;border-top:0.5px solid var(--border-light);}
.alert-trend-col{display:flex;flex-direction:column;gap:10px;}
.alert-trend-col-divided{padding-left:24px;border-left:0.5px solid var(--border-light);}
.hero-7d{display:flex;flex-direction:column;gap:4px;min-width:220px;}
.alert-trend-col.trend-right{align-items:flex-start;text-align:left;}
.alert-trend-subhead{font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;}
.alert-trend-row{display:flex;align-items:center;gap:12px;}
.alert-trend-lbl{font-size:13.5px;font-weight:600;width:64px;flex-shrink:0;}
.alert-trend-row svg{width:110px;height:22px;flex-shrink:0;display:block;}
.alert-trend-val{font-size:14.0px;color:var(--text-secondary);font-variant-numeric:tabular-nums;}
.alert-trend-val b{font-weight:700;}
.table-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto;}

/* ---------- Chart ---------- */
.chart-card{display:flex;gap:18px;}
.chart-legend{flex:none;width:130px;display:flex;flex-direction:column;gap:8px;}
.legend-item{display:flex;align-items:center;gap:7px;font-size:14.0px;color:var(--text-secondary);cursor:pointer;}
.legend-item .sw{width:10px;height:10px;border-radius:2px;flex:none;}
.legend-item.off{opacity:.35;}
.chart-area{flex:1;min-width:0;position:relative;}
.chart-controls{display:flex;gap:14px;align-items:center;margin-bottom:10px;flex-wrap:wrap;}
.chart-controls select{font:inherit;font-size:13.5px;background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:4px;color:var(--text-secondary);padding:5px 8px;}
svg.chart{width:100%;height:240px;display:block;cursor:crosshair;}
.chart-axis-label{font-size:12.0px;fill:var(--text-muted);font-variant-numeric:tabular-nums;}
.chart-gridline{stroke:var(--border-light);stroke-width:1;}
.chart-tooltip{position:absolute;pointer-events:none;background:var(--bg-card);border:0.5px solid var(--accent-purple);border-radius:6px;padding:7px 10px;font-size:13.0px;color:var(--text-secondary);box-shadow:0 8px 20px rgba(0,0,0,.5);opacity:0;transition:opacity .08s;z-index:10;white-space:nowrap;}
.chart-tooltip.show{opacity:1;}
.chart-tooltip .tt-date{color:var(--text-muted);font-size:12.0px;margin-bottom:4px;}
.chart-tooltip .tt-row{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;}
.chart-tooltip .tt-sw{width:7px;height:7px;border-radius:50%;flex:none;}
.chart-tooltip .tt-val{margin-left:auto;font-weight:600;color:var(--text-primary);}

/* ---------- Calculator sidebar ---------- */
.calc-box{display:flex;flex-direction:column;gap:10px;max-width:260px;}
.calc-field label{display:block;font-size:12.0px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 4px;}
.calc-field select,.calc-field input{width:100%;font:inherit;font-size:14.5px;background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:5px;color:var(--text-primary);padding:7px 9px;}
.calc-result{background:var(--accent-purple-bg);border:0.5px solid var(--accent-purple);border-radius:6px;padding:10px 12px;font-size:15.0px;color:var(--accent-purple-bright);}
.calc-result b{font-size:18.5px;display:block;margin-top:2px;font-variant-numeric:tabular-nums;}

.two-col{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;}
.two-col .grow{flex:1;min-width:400px;}

.foot-note{margin-top:10px;font-size:13.5px;color:var(--text-secondary);line-height:1.6;}
.foot-note b{color:var(--text-primary);}
.foot-note ul{margin:6px 0 0;padding-left:18px;}
.foot-note li{margin-bottom:3px;}

@media (max-width:900px){
  .status-card{flex-basis:100% !important;}
  .summary-grid{grid-template-columns:repeat(2,1fr);}
  .chart-card{flex-direction:column;}
  .alert-trend-cols{grid-template-columns:1fr;}
  .alert-trend-col-divided{padding-left:0;border-left:none;padding-top:14px;border-top:0.5px solid var(--border-light);}
  .alert-pill-subrow{justify-content:flex-start;}
  .table-toolbar-right{margin-left:0;width:100%;}
}
/* ---------- Alerts redesign: status pills, inbox, log ---------- */
.count-badge{background:var(--accent-purple-bg);color:var(--accent-purple-bright);border:0.5px solid var(--accent-purple);border-radius:12px;padding:2px 10px;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;}
.g-dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block;}
.inbox-sort{display:flex;align-items:center;gap:6px;padding:2px 16px 10px;flex-wrap:wrap;}
.inbox-sort-lbl{font-size:12.0px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-right:4px;}
.inbox{display:flex;flex-direction:column;}
.grp{border-top:0.5px solid var(--border-light);}
.grp-head{display:grid;grid-template-columns:10px 1fr auto auto 84px 16px;align-items:center;gap:14px;padding:12px 16px;cursor:pointer;}
.grp-head:hover{background:var(--bg-row-hover);}
.grp-title{font-size:14.5px;font-weight:600;color:var(--text-primary);}
.grp-sub{font-size:12.5px;color:var(--text-muted);margin-top:2px;}
.grp-farms{font-size:13.0px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px;}
.grp-latest{font-size:12.5px;color:var(--text-faint);white-space:nowrap;text-align:right;}
.grp-chev{color:var(--text-muted);font-size:13.5px;transition:transform .15s;}
.grp.open .grp-chev{transform:rotate(90deg);}
.grp-body{display:none;background:var(--bg-base);border-top:0.5px solid var(--border-light);}
.grp.open .grp-body{display:block;}
.grp-actions{display:flex;justify-content:flex-end;padding:8px 16px 0;}
.grp-read{font:inherit;font-size:12.5px;color:var(--text-secondary);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:4px;padding:4px 10px;cursor:pointer;}
.grp-read:hover{color:var(--text-primary);border-color:var(--accent-purple);}
.member{display:grid;grid-template-columns:1fr 160px 116px;align-items:center;gap:14px;padding:9px 16px 9px 40px;}
.member .m-farm{color:var(--text-primary);font-weight:500;font-size:13.5px;}
.member .m-msg{color:var(--text-muted);font-size:12.5px;margin-top:1px;}
.member .m-time{color:var(--text-faint);font-size:12.5px;text-align:right;white-space:nowrap;}
.member .m-read{font:inherit;font-size:12.5px;color:var(--accent-purple-bright);background:none;border:0.5px solid var(--border);border-radius:4px;padding:3px 10px;cursor:pointer;}
.member .m-read:hover{border-color:var(--accent-purple);}
.member.alt{background:var(--bg-row-hover);}
.log-search{font:inherit;font-size:13.5px;background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:4px;color:var(--text-primary);padding:6px 10px;width:180px;}
#alertsBodyRows .data-row.acked{opacity:.42;}
#alertsBodyRows .cell-msg{white-space:normal;line-height:1.4;padding-top:7px;padding-bottom:7px;}
/* ---------- Action Config page ---------- */
.ac-count{color:var(--text-muted);font-size:12.5px;font-variant-numeric:tabular-nums;}
.ac-search{font:inherit;font-size:13px;background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:4px;color:var(--text-primary);padding:7px 11px;width:220px;}
.ac-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.ac-matrix-scroll{overflow:auto;max-height:480px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);}
.ac-matrix-scroll::-webkit-scrollbar{width:10px;height:10px;}
.ac-matrix-scroll::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:5px;}
.ac-row{display:grid;align-items:center;border-bottom:0.5px solid var(--border-light);height:34px;}
.ac-row.head{position:sticky;top:0;z-index:5;background:var(--bg-head);height:40px;border-bottom:0.5px solid var(--border);}
.ac-cell{display:flex;align-items:center;justify-content:center;}
.ac-head{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px;width:100%;text-align:center;}
.ac-row:nth-child(even) .ac-cell{background:var(--bg-row-hover);}
.ac-row:hover .ac-cell{background:var(--bg-row-hover-strong);}
.ac-row.sel .ac-cell{background:var(--accent-purple-bg);}
.ac-cell.frozen,.ac-head.frozen{position:sticky;left:0;z-index:3;background:var(--bg-card);border-right:1.5px solid var(--frozen-edge);justify-content:flex-start;padding:0 14px;}
.ac-row.head .ac-head.frozen{z-index:7;background:var(--bg-head);}
.ac-row:nth-child(even) .ac-cell.frozen{background:var(--bg-row-hover);}
.ac-row.sel .ac-cell.frozen{background:var(--accent-purple-bg);}
.ac-row:hover .ac-cell.frozen{background:var(--bg-row-hover-strong);}
.ac-name{font-size:12.5px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ac-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.ac-dot.on{background:var(--status-running);}
.ac-dot.off{background:transparent;border:1.5px solid var(--status-slow);}
.ac-legend{display:flex;gap:18px;align-items:center;margin-top:10px;font-size:12.5px;color:var(--text-muted);flex-wrap:wrap;}
.ac-legend span{display:inline-flex;align-items:center;gap:7px;}
.ac-farm-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;width:100%;}
.ac-nav{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:0.5px solid var(--border);border-radius:6px;background:var(--bg-row-hover);color:var(--text-secondary);cursor:pointer;font-size:15px;flex:none;}
.ac-nav:hover{color:var(--text-primary);border-color:var(--accent-purple);}
.ac-title{font-size:18px;font-weight:600;}
.ac-sub{font-size:12px;color:var(--text-muted);}
.ac-picker{position:relative;}
.ac-picker-btn{display:flex;align-items:center;gap:8px;font:inherit;font-size:13px;color:var(--text-primary);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:6px;padding:7px 11px;cursor:pointer;min-width:180px;}
.ac-picker-panel{position:absolute;top:40px;left:0;width:300px;background:var(--bg-card);border:0.5px solid var(--accent-purple);border-radius:6px;padding:8px;z-index:50;box-shadow:0 12px 28px rgba(0,0,0,.5);display:none;}
.ac-picker-panel.open{display:block;}
.ac-picker-panel input{width:100%;font:inherit;font-size:12.5px;background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:4px;color:var(--text-primary);padding:7px 9px;margin-bottom:6px;}
.ac-picker-list{max-height:260px;overflow-y:auto;}
.ac-picker-row{padding:6px 8px;font-size:12.5px;color:var(--text-secondary);border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;gap:8px;}
.ac-picker-row:hover,.ac-picker-row.hl{background:var(--accent-purple-bg);color:var(--accent-purple-bright);}
.ac-picker-row .meta{color:var(--text-muted);font-size:11px;}
.ac-res-strip{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap;}
.ac-res-pill{background:var(--bg-row-hover);border:0.5px solid var(--border-light);border-radius:6px;padding:8px 12px;min-width:96px;}
.ac-res-pill .k{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);}
.ac-res-pill .v{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px;}
.ac-pos{color:var(--status-running);} .ac-neg{color:var(--status-late);} .ac-zero{color:var(--text-muted);}
.ac-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;}
.ac-card{background:var(--bg-base);border:0.5px solid var(--border);border-radius:8px;padding:14px 16px;}
.ac-card .a-head{display:flex;align-items:center;gap:9px;margin-bottom:4px;}
.ac-card .a-name{font-size:14px;font-weight:600;}
.ac-pill{font-size:9px;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:9px;margin-left:auto;border:0.5px solid;color:var(--pill-on-text);border-color:var(--pill-on-border);background:var(--pill-on-bg);}
.ac-card .a-meta{font-size:11.5px;color:var(--text-muted);margin-bottom:10px;}
.ac-card .a-meta b{font-weight:600;}
.ac-kv{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:2px 0;}
.ac-kv .k{color:var(--text-muted);}
.ac-kv .v{color:var(--text-primary);font-weight:600;text-align:right;}
.ac-flags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.ac-flag{font-size:10.5px;color:var(--pill-on-text);background:var(--pill-on-bg);border:0.5px solid var(--pill-on-border);border-radius:4px;padding:2px 8px;}
.ac-noopt{font-size:11.5px;color:var(--text-faint);margin-top:6px;}
details.ac-grp{margin-top:14px;border:0.5px solid var(--border);border-radius:8px;background:var(--bg-base);}
details.ac-grp summary{cursor:pointer;padding:12px 16px;font-size:12.5px;color:var(--text-secondary);list-style:none;}
details.ac-grp summary::-webkit-details-marker{display:none;}
details.ac-grp summary::before{content:"▸ ";color:var(--text-muted);}
details.ac-grp[open] summary::before{content:"▾ ";}
.ac-chips{padding:0 16px 14px;display:flex;flex-wrap:wrap;gap:6px;}
.ac-tag{font-size:11.5px;color:var(--text-muted);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:5px;padding:4px 9px;}


.theme-select{position:relative;}
.theme-select-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:12px;color:var(--text-secondary);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:6px;padding:5px 10px;cursor:pointer;}
.theme-select-btn:hover{color:var(--text-primary);border-color:var(--accent-purple);}
.theme-select-btn .sw{width:12px;height:12px;border-radius:3px;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.4);}
.theme-select-btn .ti-chevron-down{font-size:13px;color:var(--text-muted);}
.theme-menu{position:absolute;top:36px;right:0;left:auto;min-width:200px;background:var(--bg-card);border:0.5px solid var(--border);border-radius:8px;padding:6px;z-index:60;box-shadow:0 12px 28px rgba(0,0,0,.5);display:none;}
.theme-menu.open{display:block;}
.theme-menu button{display:flex;align-items:center;gap:9px;width:100%;font:inherit;font-size:12.5px;color:var(--text-secondary);background:transparent;border:0;border-radius:5px;padding:7px 9px;cursor:pointer;text-align:left;}
.theme-menu button:hover{background:var(--bg-row-hover);color:var(--text-primary);}
.theme-menu button.on{color:var(--accent-purple-bright);}
.theme-menu button .sw{width:12px;height:12px;border-radius:3px;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.4);}
.theme-menu button .lbl{flex:1;}
.theme-menu button .chk{margin-left:auto;font-size:13px;opacity:0;}
.theme-menu button.on .chk{opacity:1;}


/* ===== ADMIN / PLAYERS PAGE ===== */
.admin-head{display:flex;align-items:flex-start;gap:16px;}
.admin-head .page-h1{margin:0 0 4px;}
.admin-head .page-lede{margin:0;max-width:72ch;}
.admin-head .grow{flex:1;}
.admin-btn{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13.5px;color:var(--text-secondary);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:6px;padding:7px 13px;cursor:pointer;white-space:nowrap;}
.admin-btn:hover{color:var(--text-primary);border-color:var(--accent-purple);}
.admin-btn.primary{background:var(--accent-purple-bg);border-color:var(--accent-purple);color:var(--accent-purple-bright);}
.admin-btn.danger{color:var(--status-late);border-color:color-mix(in srgb, var(--status-late) 40%, var(--border));}
.admin-btn.danger:hover{background:color-mix(in srgb, var(--status-late) 14%, transparent);color:var(--status-late);border-color:var(--status-late);}
.admin-btn:disabled{opacity:.45;cursor:not-allowed;}
.admin-btn:disabled:hover{color:var(--text-secondary);border-color:var(--border);}
.admin-table{max-height:none;--row-h:56px;}
.admin-row{display:grid;grid-template-columns:180px 1fr 100px 120px 220px;align-items:center;height:56px;border-bottom:0.5px solid var(--border-light);}
.admin-row:nth-child(odd){background:var(--bg-card);}
.admin-row:nth-child(even){background:var(--bg-row-hover);}
.admin-row:hover{background:var(--bg-row-hover-strong);}
.admin-cell{padding:0 16px;font-size:13.5px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-cell.name{color:var(--text-primary);font-weight:600;display:flex;align-items:center;gap:8px;}
.admin-cell.center{text-align:center;}
.admin-op{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-purple-bright);background:var(--accent-purple-bg);border-radius:3px;padding:2px 6px;font-weight:600;}
.admin-farms{color:var(--status-running);font-variant-numeric:tabular-nums;}
.link-cell{display:flex;align-items:center;gap:8px;min-width:0;}
.link-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;border:0.5px solid var(--border);background:var(--bg-row-hover);color:var(--text-muted);cursor:pointer;flex:none;font-size:13px;}
.icon-btn:hover{color:var(--text-primary);border-color:var(--accent-purple);}
.row-actions{display:flex;gap:8px;}
.bulk-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;}
.bulk-field{display:flex;flex-direction:column;gap:6px;}
.bulk-field label{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);}
.bulk-field input,.bulk-field select{font:inherit;font-size:13.5px;color:var(--text-primary);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:6px;padding:7px 10px;min-width:200px;}
.bulk-field input:focus,.bulk-field select:focus{outline:none;border-color:var(--accent-purple);}
.bulk-result{font-size:13px;color:var(--text-muted);align-self:center;min-height:1em;}
.bulk-result b{color:var(--status-running);}
.bulk-result .mono,.admin-toast .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;}
.add-form{display:none;gap:8px;align-items:center;margin-bottom:12px;}
.add-form.on{display:flex;}
.add-form input{font:inherit;font-size:13.5px;color:var(--text-primary);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:6px;padding:7px 10px;min-width:220px;}
.add-form input:focus{outline:none;border-color:var(--accent-purple);}
.admin-toast{margin-top:12px;font-size:13px;color:var(--status-running);display:none;line-height:1.5;}
.admin-toast.on{display:block;}
.admin-toast b{color:var(--text-primary);}
.admin-caret{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;border:0;background:transparent;color:var(--text-muted);cursor:pointer;flex:none;font-size:14px;line-height:1;transition:transform .15s;}
.admin-caret.open{transform:rotate(90deg);color:var(--accent-purple-bright);}
.admin-caret.spacer{visibility:hidden;}
.farms-toggle{font:inherit;font-size:13.5px;color:var(--status-running);background:transparent;border:0;cursor:pointer;padding:0;font-variant-numeric:tabular-nums;}
.farms-toggle:hover{text-decoration:underline;}
.farms-toggle.static{cursor:default;color:var(--text-muted);}
.farms-toggle.static:hover{text-decoration:none;}
.admin-subrow{background:var(--bg-base);border-bottom:0.5px solid var(--border-light);padding:12px 16px 14px 42px;}
.farm-chips{display:flex;flex-wrap:wrap;gap:6px;}
.farm-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-secondary);background:var(--bg-row-hover);border:0.5px solid var(--border);border-radius:5px;padding:4px 6px 4px 9px;}
.chip-x{border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;border-radius:3px;}
.chip-x:hover{color:var(--status-late);}
.chip-hide{border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;line-height:1;padding:0 2px;border-radius:3px;}
.chip-hide:hover{color:var(--status-late);}
.chip-restore{border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;line-height:1;padding:0 2px;border-radius:3px;}
.chip-restore:hover{color:var(--accent-purple);}
.chip-purge{border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;line-height:1;padding:0 2px;border-radius:3px;}
.chip-purge:hover{color:var(--level-error);}
.pattern-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.pattern-chip{background:var(--bg-head);}
.chip-assign{font:inherit;font-size:12px;color:var(--text-secondary);background:var(--bg-card);border:0.5px solid var(--border);border-radius:4px;padding:2px 4px;}
.admin-empty{font-size:12.5px;color:var(--text-muted);font-style:italic;}
.admin-unassigned .admin-cell.name{color:var(--text-muted);font-weight:500;}
.row-actions .admin-btn{font-size:12.5px;padding:6px 10px;gap:6px;}
html[data-theme="mono"]{
  --bg-base:#0a0a0a; --bg-sidebar:#000000; --bg-card:#141414; --bg-row-hover:#1c1c1c; --bg-head:#1a1a1a; --bg-row-hover-strong:#242424;
  --border:#2a2a2a; --border-light:#333333;
  --text-primary:#f2f2f2; --text-secondary:#c9c9c9; --text-muted:#8a8a8a; --text-faint:#a0a0a0;
  --accent-purple:#8a8a8a; --accent-purple-bright:#f2f2f2; --accent-purple-bg:#262626;
  --status-running:#4fbf8f; --status-idle:#6f9fb8; --status-slow:#e0a63f; --status-late:#e0617f; --status-unknown:#93a0ac;
  --level-info:#6f9fb8; --level-warning:#e0a63f; --level-error:#e0617f; --level-success:#4fbf8f;
  --src-botdaddy:#9a9a9a; --src-farmdash:#d0d0d0;
  --resource-value:#e6e6e6; --frozen-edge:#555555;
  --nav-active-bg:#1f1f1f; --nav-active-text:#f2f2f2;
  --pill-on-bg:#1e1e1e; --pill-on-border:#4a4a4a; --pill-on-text:#d8d8d8;
}
html[data-theme="forest"]{
  --bg-base:#081a11; --bg-sidebar:#050f0a; --bg-card:#0e2318; --bg-row-hover:#152c1f; --bg-head:#122619; --bg-row-hover-strong:#1b3524;
  --border:#27492f; --border-light:#1e3c26;
  --text-primary:#eef2ee; --text-secondary:#c2cec5; --text-muted:#93a498; --text-faint:#748878;
  --accent-purple:#c9a24b; --accent-purple-bright:#e3c980; --accent-purple-bg:#2e2814;
  --status-running:#4fbf8f; --status-idle:#6f9fb8; --status-slow:#e0a63f; --status-late:#e0617f; --status-unknown:#93a0ac;
  --level-info:#6f9fb8; --level-warning:#e0a63f; --level-error:#e0617f; --level-success:#4fbf8f;
  --src-botdaddy:#d69ca7; --src-farmdash:#e3c980;
  --resource-value:#e3c980; --frozen-edge:#55735f;
  --nav-active-bg:#2a2410; --nav-active-text:#e3c980;
  --pill-on-bg:#10261d; --pill-on-border:#398767; --pill-on-text:#84d2b1;
}
html[data-theme="forest"] body{background:radial-gradient(70% 45% at 50% -10%,#c9a24b22,transparent 70%),var(--bg-base);background-attachment:fixed;}
html[data-theme="eggplant"]{
  --bg-base:#17101f; --bg-sidebar:#0e0914; --bg-card:#23182f; --bg-row-hover:#2e223c; --bg-head:#291e36; --bg-row-hover-strong:#392b49;
  --border:#4b3b5c; --border-light:#3c2e4b;
  --text-primary:#eeecf2; --text-secondary:#c6c0d2; --text-muted:#9a93a6; --text-faint:#7c7588;
  --accent-purple:#8a4fb0; --accent-purple-bright:#c9a2e6; --accent-purple-bg:#2a1838;
  --status-running:#4fbf8f; --status-idle:#6f9fb8; --status-slow:#e0a63f; --status-late:#e0617f; --status-unknown:#93a0ac;
  --level-info:#6f9fb8; --level-warning:#e0a63f; --level-error:#e0617f; --level-success:#4fbf8f;
  --src-botdaddy:#d6a0b0; --src-farmdash:#c9a2e6;
  --resource-value:#d9b96a; --frozen-edge:#7a6f88;
  --nav-active-bg:#291739; --nav-active-text:#c9a2e6;
  --pill-on-bg:#10261d; --pill-on-border:#3c8263; --pill-on-text:#84d2b1;
}
html[data-theme="eggplant"] body{background:radial-gradient(70% 45% at 50% -10%,#8a4fb022,transparent 70%),var(--bg-base);background-attachment:fixed;}
html[data-theme="seagreen"]{
  --bg-base:#0f1f1c; --bg-sidebar:#0a1412; --bg-card:#16302b; --bg-row-hover:#223a36; --bg-head:#1d3631; --bg-row-hover-strong:#2b433e;
  --border:#3b514d; --border-light:#2d4540;
  --text-primary:#eceded; --text-secondary:#c1c5c4; --text-muted:#939a99; --text-faint:#747d7b;
  --accent-purple:#4f9d8a; --accent-purple-bright:#8dbfb3; --accent-purple-bg:#162c27;
  --status-running:#4fbf8f; --status-idle:#6f9fb8; --status-slow:#e0a63f; --status-late:#e0617f; --status-unknown:#93a0ac;
  --level-info:#6f9fb8; --level-warning:#e0a63f; --level-error:#e0617f; --level-success:#4fbf8f;
  --src-botdaddy:#e87e63; --src-farmdash:#8dbfb3;
  --resource-value:#8dbfb3; --frozen-edge:#6c7c7a;
  --nav-active-bg:#142722; --nav-active-text:#8dbfb3;
  --pill-on-bg:#10261d; --pill-on-border:#398767; --pill-on-text:#84d2b1;
}
html[data-theme="seagreen"] body{background:radial-gradient(70% 45% at 50% -10%,#4f9d8a22,transparent 70%),var(--bg-base);background-attachment:fixed;}
html[data-theme="slate"]{
  --bg-base:#161d26; --bg-sidebar:#0e131a; --bg-card:#212a35; --bg-row-hover:#2b3542; --bg-head:#27313c; --bg-row-hover-strong:#36414f;
  --border:#465262; --border-light:#394554;
  --text-primary:#eceef1; --text-secondary:#c2c7cd; --text-muted:#969ca4; --text-faint:#787f88;
  --accent-purple:#9dbdd6; --accent-purple-bright:#c6dbe9; --accent-purple-bg:#24303c;
  --status-running:#4fbf8f; --status-idle:#6f9fb8; --status-slow:#e0a63f; --status-late:#e0617f; --status-unknown:#93a0ac;
  --level-info:#6f9fb8; --level-warning:#e0a63f; --level-error:#e0617f; --level-success:#4fbf8f;
  --src-botdaddy:#c48a94; --src-farmdash:#c6dbe9;
  --resource-value:#c6dbe9; --frozen-edge:#737c87;
  --nav-active-bg:#202a35; --nav-active-text:#c6dbe9;
  --pill-on-bg:#10261d; --pill-on-border:#3c886b; --pill-on-text:#84d2b1;
}
html[data-theme="slate"] body{background:radial-gradient(70% 45% at 50% -10%,#9dbdd622,transparent 70%),var(--bg-base);background-attachment:fixed;}
html[data-theme="powder"]{
  --bg-base:#333e4b; --bg-sidebar:#2b3541; --bg-card:#3a4551; --bg-row-hover:#434f5c; --bg-head:#3f4a57; --bg-row-hover-strong:#4c5865;
  --border:#5b6878; --border-light:#4d5a68;
  --text-primary:#eef1f5; --text-secondary:#ced6df; --text-muted:#a6b2bf; --text-faint:#8b97a5;
  --accent-purple:#8fb0cf; --accent-purple-bright:#bcd4e9; --accent-purple-bg:#3d4c5c;
  --status-running:#6fd6a8; --status-idle:#8fc0d9; --status-slow:#e8b85a; --status-late:#f090a6; --status-unknown:#a8b4c2;
  --level-info:#8fc0d9; --level-warning:#e8b85a; --level-error:#f090a6; --level-success:#6fd6a8;
  --src-botdaddy:#e0a0b0; --src-farmdash:#bcd4e9;
  --resource-value:#bcd4e9; --frozen-edge:#8b97a5;
  --nav-active-bg:#3a4551; --nav-active-text:#bcd4e9;
  --pill-on-bg:#10261d; --pill-on-border:#398767; --pill-on-text:#84d2b1;
}
html[data-theme="powder"] body{background:radial-gradient(70% 45% at 50% -10%,#8fb0cf22,transparent 70%),var(--bg-base);background-attachment:fixed;}
html[data-theme="chocolate"]{
  --bg-base:#15100f; --bg-sidebar:#0d0909; --bg-card:#201816; --bg-row-hover:#2a211e; --bg-head:#261d1b; --bg-row-hover-strong:#352b28;
  --border:#453b38; --border-light:#372e2b;
  --text-primary:#ece9e8; --text-secondary:#c3bcba; --text-muted:#98908d; --text-faint:#7a726f;
  --accent-purple:#b9925a; --accent-purple-bright:#d6bd8e; --accent-purple-bg:#2e2417;
  --status-running:#4fbf8f; --status-idle:#6f9fb8; --status-slow:#e0a63f; --status-late:#e0617f; --status-unknown:#93a0ac;
  --level-info:#6f9fb8; --level-warning:#e0a63f; --level-error:#e0617f; --level-success:#4fbf8f;
  --src-botdaddy:#a7b39b; --src-farmdash:#d6bd8e;
  --resource-value:#d6bd8e; --frozen-edge:#756c65;
  --nav-active-bg:#2a2113; --nav-active-text:#d6bd8e;
  --pill-on-bg:#10261d; --pill-on-border:#3c8263; --pill-on-text:#84d2b1;
}
html[data-theme="chocolate"] body{background:radial-gradient(70% 45% at 50% -10%,#b9925a22,transparent 70%),var(--bg-base);background-attachment:fixed;}
html[data-theme="galleryred"]{
  --bg-base:#140e10; --bg-sidebar:#0b0708; --bg-card:#1e1418; --bg-row-hover:#281c20; --bg-head:#241a1e; --bg-row-hover-strong:#32262a;
  --border:#452f34; --border-light:#372429;
  --text-primary:#efeaea; --text-secondary:#c9bebe; --text-muted:#9e9294; --text-faint:#807274;
  --accent-purple:#7e1b2a; --accent-purple-bright:#c07a84; --accent-purple-bg:#240a10;
  --status-running:#4fbf8f; --status-idle:#6f9fb8; --status-slow:#e0a63f; --status-late:#e0617f; --status-unknown:#93a0ac;
  --level-info:#6f9fb8; --level-warning:#e0a63f; --level-error:#e0617f; --level-success:#4fbf8f;
  --src-botdaddy:#eed6d6; --src-farmdash:#c07a84;
  --resource-value:#c07a84; --frozen-edge:#7a6e70;
  --nav-active-bg:#1e080d; --nav-active-text:#c07a84;
  --pill-on-bg:#10261d; --pill-on-border:#3c8264; --pill-on-text:#84d2b1;
}
html[data-theme="galleryred"] body{background:radial-gradient(70% 45% at 50% -10%,#7e1b2a22,transparent 70%),var(--bg-base);background-attachment:fixed;}
