:root {
  --c4-bg:#0d1117;
  --c4-panel:#161b22;
  --c4-panel-2:#21262d;
  --c4-text:#f0f3f6;
  --c4-muted:#8b949e;
  --c4-pink:#ec0a61;
  --c4-orange:#ff841d;
  --c4-good:#238636;
  --c4-warn:#ffcc16;
  --c4-danger:#f85149;
  --c4-border:#30363d;
}
body{background:var(--c4-bg);color:var(--c4-text)}
.topbar{height:76px;min-height:76px;padding:0 22px 0 78px;background:#10151b;border-bottom:1px solid var(--c4-border);position:relative;overflow:visible;display:flex;align-items:center;justify-content:space-between;gap:18px}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--c4-pink) 0 60%,var(--c4-orange) 60% 100%)}
.brand-shell{display:flex;align-items:center;gap:0;min-width:0}
.brand-logo-wrap{width:132px;flex:0 0 132px;display:flex;align-items:center;justify-content:center}
.brand-logo-img{display:block;width:100%;height:auto;max-height:72px;object-fit:contain;filter:drop-shadow(0 3px 10px rgba(0,0,0,.28))}
.brand-logo-fallback{font-size:20px;font-weight:900;letter-spacing:.05em;color:#fff;line-height:1;text-align:center}
.brand-logo-fallback span{display:block;font-size:34px;color:var(--c4-pink)}
.brand-kicker{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--c4-orange);font-weight:800;margin-bottom:4px}
.topbar .brand,.topbar .brand-logo-wrap,.topbar .brand-kicker{display:none}
.topbar h1{font-size:21px;margin:0;line-height:1.15}
.topbar p{margin:4px 0 0;color:var(--c4-muted);font-size:12px;line-height:1.35}
.topbar .status-pill{flex:0 0 auto}
.panel{background:var(--c4-panel);border-color:var(--c4-border);box-shadow:0 12px 28px rgba(0,0,0,.12)}
select,input{background:#0d1117;border-color:var(--c4-border);color:var(--c4-text)}
select:focus,input:focus{outline:1px solid var(--c4-pink);border-color:var(--c4-pink)}
button{background:var(--c4-pink);border-color:var(--c4-pink)}
button:hover:not(:disabled){filter:brightness(1.08)}
button.secondary,.date-picker-button{background:#30363d;border-color:#3a4654}
.danger-button{background:#b4233d!important;border-color:#d14a61!important}
.status-pill{border-color:#5b3520;background:#21170f;color:#ffb574}
.chips span{border-color:#493245;background:#171118}
.site-state.good{color:#7ee787;border-color:#2d6a42;background:#102819}
.site-state.warn{color:#ffd85a;border-color:#6f5b21;background:#2d260f}
.site-state.bad{color:#ff8b8b;border-color:#7a3030;background:#2b1414}
.preview-window,.srmg-site-card,.cadence-row,.window-row{background:#111820;border-color:var(--c4-border)}
.summary-card{background:#121a22;border-color:var(--c4-border)}
.publish-panel{border-color:#5a3a18}
.publish-safety-note{border-left:3px solid var(--c4-orange)}
.group-server-status{margin-top:8px;padding:7px 9px;border:1px solid #2c3946;border-radius:7px;background:#101820;color:var(--c4-muted);font-size:11px;line-height:1.35}
.group-server-status.good{color:#7ee787;border-color:#2d6a42;background:#102819}
.group-server-status.warn{color:#ffd85a;border-color:#6f5b21;background:#2d260f}
.group-server-status.bad{color:#ff8b8b;border-color:#7a3030;background:#2b1414}
.group-manager-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.group-manager-actions button{margin:0;min-height:36px;padding:0 12px}
.group-manager-actions .secondary{width:auto;margin:0}
.group-builder{margin-top:12px;padding:12px;border:1px solid var(--c4-border);border-radius:10px;background:#10151b}
.group-builder[hidden]{display:none}
.group-builder h3{margin:0 0 6px}
.group-project-list{display:grid;grid-template-columns:1fr;gap:7px;max-height:250px;overflow:auto;margin-top:10px;padding-right:4px}
.group-project-option{display:flex;align-items:flex-start;gap:9px;margin:0;padding:9px;border:1px solid #2c3946;border-radius:8px;background:#0d131a}
.group-project-option input{width:auto;margin-top:2px}
.group-project-option span{min-width:0}
.group-project-option b,.group-project-option small{display:block}
.group-project-option small{color:var(--c4-muted);margin-top:2px;overflow-wrap:anywhere}
.group-builder-buttons{display:flex;gap:8px;margin-top:12px}
.group-builder-buttons button{margin:0}
.group-builder-status{margin-top:8px;color:var(--c4-muted);font-size:11px}
.group-custom-badge{color:var(--c4-orange);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:760px){.topbar{padding:0 12px 0 68px}.topbar h1{font-size:21px}.topbar p{display:none}.topbar .status-pill{max-width:42vw;overflow:hidden;text-overflow:ellipsis}.brand-logo-wrap{width:94px;flex-basis:94px}.brand-shell{gap:0}}
