.ops-body {
  margin: 0;
  font-family: "Segoe UI", "Helvetica Neue", sans-serif;
  background: linear-gradient(160deg, #0b121a 0%, #121c28 45%, #0e1620 100%);
  color: #e8eef5;
  min-height: 100vh;
}
.ops-body * { box-sizing: border-box; }
.muted { color: #9aabbc; }
.hidden { display: none !important; }
.ops-logo { height: 42px; margin-bottom: 12px; }
.ops-login {
  max-width: 420px;
  margin: 12vh auto;
  padding: 28px;
  border: 1px solid rgba(120,148,176,0.25);
  border-radius: 18px;
  background: rgba(17, 24, 33, 0.92);
}
.ops-login h1 { margin: 0 0 8px; font-size: 1.6rem; }
.ops-login label { display: block; margin: 16px 0 6px; color: #c5d0dc; font-size: 0.9rem; }
.ops-login input {
  width: 100%;
  min-height: 46px;
  border-radius: 10px;
  border: 1px solid rgba(120,148,176,0.35);
  background: #0b1118;
  color: #fff;
  padding: 0 12px;
  font: inherit;
}
.ops-btn, .ops-link, .ops-tabs button {
  font: inherit;
  cursor: pointer;
}
.ops-btn {
  margin-top: 14px;
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  background: #2ec4b6;
  color: #042522;
  font-weight: 800;
}
.ops-err { color: #f0a090; margin-top: 12px; }
.ops-bar {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(120,148,176,0.22);
  background: rgba(8, 12, 18, 0.85);
  position: sticky;
  top: 0;
}
.ops-brand { display: flex; align-items: center; gap: 10px; }
.ops-brand img { height: 28px; }
.ops-tabs { display: flex; gap: 6px; flex: 1; flex-wrap: wrap; }
.ops-tabs button {
  border: 1px solid rgba(120,148,176,0.28);
  background: transparent;
  color: #9aabbc;
  border-radius: 999px;
  padding: 8px 14px;
}
.ops-tabs button.active {
  color: #2ec4b6;
  border-color: rgba(46,196,182,0.5);
  background: rgba(46,196,182,0.12);
}
.ops-link { color: #9aabbc; text-decoration: none; }
.ops-main { padding: 20px 18px 48px; max-width: 1100px; margin: 0 auto; }
.ops-main h1 { margin: 0 0 14px; font-size: 1.45rem; }
.ops-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.ops-stat {
  border: 1px solid rgba(120,148,176,0.25);
  border-radius: 14px;
  padding: 16px;
  background: rgba(17,24,33,0.8);
}
.ops-stat strong { display: block; font-size: 1.6rem; margin-top: 4px; }
.ops-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.ops-row h1 { flex: 1; margin: 0; }
.ops-row input, .ops-row select {
  min-height: 40px;
  border-radius: 10px;
  border: 1px solid rgba(120,148,176,0.3);
  background: #0b1118;
  color: #fff;
  padding: 0 10px;
  font: inherit;
}
.ops-list { display: grid; gap: 10px; }
.ops-card {
  border: 1px solid rgba(120,148,176,0.25);
  border-radius: 14px;
  padding: 14px;
  background: rgba(17,24,33,0.8);
}
.ops-card h3 { margin: 0 0 6px; font-size: 1.05rem; }
.ops-meta { color: #9aabbc; font-size: 0.85rem; line-height: 1.45; }
.ops-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.ops-actions button {
  min-height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(120,148,176,0.35);
  background: #15202c;
  color: #e8eef5;
  padding: 0 12px;
}
.ops-actions button.primary {
  background: #2ec4b6;
  color: #042522;
  border: 0;
  font-weight: 700;
}
.ops-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.75rem;
  background: rgba(46,196,182,0.15);
  color: #2ec4b6;
}
.ops-badge.warn { background: rgba(232,168,56,0.18); color: #e8a838; }
.ops-badge.danger { background: rgba(240,160,144,0.18); color: #f0a090; }
.ops-analytics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.ops-guide-frame {
  width: 100%;
  min-height: 70vh;
  border: 1px solid rgba(120,148,176,0.25);
  border-radius: 14px;
  background: #fff;
}
