/* Minimal, ren admin-stil */
:root{--bg:#0b0d10;--text:#e6edf3;--muted:#9ba3af;--card:#11151b;--accent:#3b82f6;--ok:#16a34a;--bad:#ef4444;}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;line-height:1.45}
a{color:var(--accent);text-decoration:none}
.container{max-width:1100px;margin:24px auto;padding:0 16px}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#0f131a;border-bottom:1px solid #1f2937;position:sticky;top:0}
.brand{font-weight:700;letter-spacing:.5px}
nav a{margin-right:12px}
.footer{padding:24px 16px;color:var(--muted);text-align:center;border-top:1px solid #1f2937;margin-top:40px}
.card{background:var(--card);border:1px solid #1f2937;border-radius:12px;padding:16px}
.card-narrow{max-width:380px;margin:0 auto}
.centered{display:grid;place-items:center;min-height:70vh}
label{display:block;margin:.5rem 0 .25rem}
input{width:100%;padding:.6rem .8rem;border-radius:10px;border:1px solid #1f2937;background:#0f131a;color:var(--text)}
button{width:100%;padding:.6rem .8rem;border-radius:10px;border:1px solid #1f2937;background:#0f131a;color:var(--text)}
/* Ikoner/toolbar får inte ärva fullbredd – annars täcker t.ex. tema-knappen hela vyn (flex + width:100%). */
button.ksb-theme-toggle,
button.hall-menu-btn,
button.hall-bottom-nav__more,
button#hall-bottom-nav-more,
.tcockpit__savebar button,
.tcockpit__savebar .adm-btn,
.tcockpit__nav-btn,
.tcockpit__section-nav-link,
.tcockpit__workflow-link,
.tnews-wysiwyg__btn,
.tnews-sc-chip__remove,
.hall-content .adm-btn,
.tcockpit .adm-btn {
  width: auto;
  max-width: none;
}
button{background:var(--accent);border-color:transparent;margin-top:.7rem;cursor:pointer}
button.ksb-theme-toggle,
button.hall-menu-btn,
button.hall-bottom-nav__more,
button#hall-bottom-nav-more,
.tcockpit__savebar button,
.tcockpit__savebar .adm-btn,
.tcockpit__nav-btn,
.tcockpit__section-nav-link,
.tcockpit__workflow-link,
.tnews-wysiwyg__btn,
.tnews-sc-chip__remove,
.hall-content .adm-btn,
.tcockpit .adm-btn {
  margin-top: 0;
}
button.ksb-theme-toggle {
  background: transparent;
  border: none;
  padding: 0;
}
button.danger{background:var(--bad)}
.alert{background:#1f2937;border:1px solid #374151;border-radius:10px;padding:.6rem .8rem;margin:.6rem 0}
.alert.success{border-color:#14532d;background:#0c1f14}
.table{width:100%;border-collapse:collapse;margin-top:10px}
.table th,.table td{border-bottom:1px solid #1f2937;padding:10px;text-align:left}
.pill{padding:.2rem .5rem;border-radius:999px;border:1px solid #1f2937}
.pill.ok{background:#052911;border-color:#065f46}
.pill.offline{background:#2a0b0b;border-color:#7f1d1d}
.btn{display:inline-block;padding:.4rem .7rem;border:1px solid #1f2937;border-radius:8px;background:#0f131a}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.muted{color:var(--muted);font-size:.9em}

@media (max-width: 768px) {
  .container {
    margin: 16px auto;
    padding: 0 max(12px, env(safe-area-inset-left)) 0 max(12px, env(safe-area-inset-right));
  }
  .grid2 {
    grid-template-columns: 1fr;
  }
  .topbar {
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.75rem max(12px, env(safe-area-inset-left));
  }
}

/* Status-pill design */
.pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
  text-transform: capitalize;
}

/* Online = grön */
.pill.online {
  background-color: #28a745; /* Bootstrap-grön */
}

/* Offline = röd */
.pill.offline {
  background-color: #dc3545; /* Bootstrap-röd */
}

.pill.unstable {
  background-color: #d97706;
}

.status-pill {
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: bold;
  color: #fff;
  text-transform: capitalize;
}
.status-online {
  background-color: #28a745; /* grön */
}
.status-offline {
  background-color: #dc3545; /* röd */
}
.status-unstable {
  background-color: #d97706; /* amber – ping nyligen men inte inom 90 s */
}