.ops-body { background: #f6f3ec; }
.ops-page { padding: 2rem 0 3rem; max-width: 720px; }
.ops-page h1 { font-family: Georgia, serif; color: #0b1f3a; margin: 0 0 .4rem; }
.ops-page .lede { color: #5c6b7a; margin: 0 0 1.25rem; }
.ops-card {
  background: #fff;
  border: 1px solid rgba(11,31,58,.12);
  border-radius: 12px;
  padding: 1rem 1.1rem 1.2rem;
  margin-bottom: 1.1rem;
}
.ops-card h2 { margin: 0 0 .65rem; font-family: Georgia, serif; color: #0b1f3a; font-size: 1.2rem; }
.ops-form { display: grid; gap: .55rem; }
.ops-form label {
  display: grid; gap: .25rem;
  font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; color: #5c6b7a;
}
.ops-form input, .ops-form textarea, .ops-form select {
  width: 100%; box-sizing: border-box;
  border: 1px solid rgba(11,31,58,.22);
  border-radius: 8px;
  padding: .55rem .7rem;
  font: inherit; color: #0b1f3a; background: #fff;
}
.ops-form button[type="submit"] {
  justify-self: start; border: 0; appearance: none;
  background: #c9a227; color: #0b1f3a; font-weight: 700;
  border-radius: 8px; padding: .55rem 1rem; cursor: pointer;
}
.ops-status { color: #8a4b00; margin: 0; }
.ops-hint { color: #5c6b7a; font-size: .92rem; }
.ops-muted { color: #5c6b7a; }
.ops-who { margin: 0 0 1rem; }
.ops-linkish {
  appearance: none; border: 0; background: transparent;
  color: #8a6a12; font-weight: 700; cursor: pointer; margin-left: .5rem;
}
.ops-row {
  display: flex; flex-wrap: wrap; gap: .5rem; align-items: center;
  padding: .55rem 0; border-bottom: 1px solid rgba(11,31,58,.08);
}
.ops-row strong { color: #0b1f3a; }
.ops-row .meta { color: #5c6b7a; font-size: .85rem; }
.ops-row button {
  appearance: none; border: 1px solid rgba(11,31,58,.2);
  background: #fff; border-radius: 6px; padding: .25rem .55rem;
  cursor: pointer; font: inherit; font-size: .85rem;
}
.ops-row button.danger { border-color: #c0392b; color: #c0392b; }
.ops-badge {
  display: inline-block; padding: .05rem .35rem; border-radius: 3px;
  font-size: .65rem; font-weight: 800; letter-spacing: .06em;
}
.ops-badge.owner { background: #c9a227; color: #1a1406; }
.ops-badge.mod { background: #0b1f3a; color: #f0c96a; }
.ops-badge.user { background: #e8e4da; color: #0b1f3a; }

.ops-search-label {
  display: grid; gap: .25rem; margin-bottom: .75rem;
  font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; color: #5c6b7a;
}
.ops-search-label input {
  width: 100%; box-sizing: border-box;
  border: 1px solid rgba(11,31,58,.22);
  border-radius: 8px; padding: .55rem .7rem;
  font: inherit; color: #0b1f3a; background: #fff;
}
.ops-row-actions { display: flex; flex-wrap: wrap; gap: .35rem; margin-left: auto; }
.ops-badge.verified { background: #dcefe0; color: #1a5c2a; }
.ops-badge.unverified { background: #f5e6d3; color: #8a4b00; }
.ops-forgot-wrap { margin: .2rem 0 0; }

#ops-app[hidden], #ops-gate[hidden] { display: none !important; }
.ops-linkish[href] {
  display: inline-block;
  text-decoration: underline;
  text-underline-offset: 2px;
  margin-left: 0;
}
.ops-section-title { margin-top: 0; }
.ops-video-block { margin-top: .75rem; }
.ops-video-block h3 { margin: 0 0 .4rem; font-size: 1rem; color: #0b1f3a; }

.ops-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .65rem;
}
.ops-stat-tile {
  background: #f8f5ee;
  border: 1px solid rgba(11,31,58,.1);
  border-radius: 10px;
  padding: .7rem .75rem;
}
.ops-stat-tile .n {
  display: block;
  font-size: 1.45rem;
  font-weight: 800;
  color: #0b1f3a;
  line-height: 1.1;
}
.ops-stat-tile .l {
  display: block;
  margin-top: .2rem;
  color: #5c6b7a;
  font-size: .78rem;
  letter-spacing: .02em;
}
.ops-stats-note {
  grid-column: 1 / -1;
  color: #5c6b7a;
  font-size: .88rem;
  margin: .25rem 0 0;
}
