/* Czech Royal Hunt — Operations Console */
:root {
  --pine-black: #0b0f0c;
  --pine-900: #0e140f;
  --forest-deep: #14241b;
  --forest-800: #18301f;
  --forest-700: #1f3a28;
  --ivory: #ede6d6;
  --ivory-dim: #d8cfbd;
  --stone: #9a958a;
  --gold: #b08d4f;
  --gold-soft: #c8a86b;
  --line: rgba(176, 141, 79, 0.22);
  --line-soft: rgba(237, 230, 214, 0.08);
  --panel-glass: rgba(20, 36, 27, 0.68);
  --panel-glass-strong: rgba(18, 31, 24, 0.82);
  --shadow-soft: 0 18px 48px rgba(0, 0, 0, .24);
  --shadow-tight: 0 10px 28px rgba(0, 0, 0, .18);
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: Inter, system-ui, sans-serif;
  --sidebar-w: 260px;
  --topbar-h: 56px;
  --content-readable: 1420px;
  --content-wide: 1560px;
  --content-gutter: clamp(.85rem, 1.4vw, 1.35rem);
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body.ops, body.ops-auth {
  background: var(--pine-black);
  color: var(--ivory);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
[x-cloak] { display: none !important; }

.ops-shell { display: flex; min-height: 100vh; overflow-x: clip; }
.ops-sidebar {
  width: var(--sidebar-w);
  background:
    radial-gradient(circle at 22% 0%, rgba(176,141,79,.12), transparent 34%),
    linear-gradient(180deg, rgba(14,20,15,.96), rgba(12,18,14,.98) 48%, rgba(20,36,27,.96));
  border-right: 1px solid rgba(216,185,128,.14);
  display: flex;
  flex-direction: column;
  padding: 1.25rem 1rem;
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  transform: translateX(-100%);
  transition: transform .35s cubic-bezier(.16,1,.3,1);
  box-shadow: 10px 0 34px rgba(0,0,0,.26);
  overflow: hidden;
}
.ops-sidebar::before {
  content: "";
  position: absolute;
  inset: .7rem .55rem;
  pointer-events: none;
  border: 1px solid rgba(237,230,214,.045);
  background: linear-gradient(180deg, rgba(255,255,255,.035), transparent 32%);
}
.ops-sidebar::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(216,185,128,.32), transparent);
}
.ops-sidebar.is-open { transform: translateX(0); }
@media (min-width: 1024px) {
  .ops-sidebar { transform: none; position: sticky; height: 100vh; }
}
.ops-main { flex: 1; margin-left: 0; min-width: 0; }
@media (min-width: 1024px) {
  .ops-main { margin-left: 0; max-width: calc(100vw - var(--sidebar-w)); }
}

.ops-brand { position: relative; display: flex; gap: .75rem; align-items: center; margin-bottom: 1.7rem; padding: .35rem .25rem .85rem; border-bottom: 1px solid rgba(237,230,214,.06); }
.ops-brand__mark {
  width: 42px; height: 42px; border: 1px solid rgba(216,185,128,.42);
  display: grid; place-items: center; font-family: var(--font-display);
  color: var(--gold); letter-spacing: .12em; font-size: .85rem;
  background: radial-gradient(circle at 50% 0%, rgba(216,185,128,.13), rgba(11,15,12,.28));
  box-shadow: inset 0 0 18px rgba(216,185,128,.05), 0 8px 20px rgba(0,0,0,.22);
}
.ops-brand__title { font-family: var(--font-display); font-size: 1.15rem; letter-spacing: .04em; }
.ops-brand__sub { font-size: .68rem; text-transform: uppercase; letter-spacing: .22em; color: var(--stone); }

.ops-nav { position: relative; z-index: 1; display: flex; flex-direction: column; gap: .18rem; flex: 1; padding-right: .15rem; }
.ops-nav__link {
  position: relative;
  color: rgba(237,230,214,.72); text-decoration: none; padding: .54rem .68rem .54rem .85rem;
  border-left: 2px solid transparent; transition: color .2s, background .2s, border-color .2s, transform .2s;
  background: linear-gradient(90deg, rgba(255,255,255,.018), transparent);
}
.ops-nav__link:hover, .ops-nav__link.is-active {
  color: var(--ivory); border-left-color: var(--gold); background: rgba(176,141,79,.085);
}
.ops-nav__link:hover { transform: translateX(1px); }
.ops-nav__link.is-active {
  box-shadow: inset 0 0 0 1px rgba(216,185,128,.08), 0 8px 24px rgba(0,0,0,.14);
}
.ops-nav__link.is-active::after {
  content: "";
  position: absolute;
  right: .55rem;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold-soft);
  box-shadow: 0 0 12px rgba(216,185,128,.65);
  transform: translateY(-50%);
}
.ops-nav__link--sub { padding-left: 1.45rem; font-size: .8rem; color: rgba(216,207,189,.58); }
.ops-nav__link--sub.is-active { color: var(--ivory); }
.ops-nav-group { margin-bottom: .35rem; }
.ops-nav-group__toggle {
  width: 100%; text-align: left; background: transparent; border: 0; cursor: pointer;
  font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(216,185,128,.72); padding: .55rem .65rem .35rem; margin-top: .25rem;
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
}
.ops-nav-group__toggle::after {
  content: "▸";
  font-size: .72rem;
  opacity: .65;
  transition: transform .2s ease;
}
.ops-nav-group.is-expanded .ops-nav-group__toggle::after {
  transform: rotate(90deg);
}
.ops-nav-group__toggle:hover { color: var(--gold); }
.ops-nav-group__items { display: flex; flex-direction: column; gap: .12rem; padding-bottom: .25rem; }
.ops-nav-group + .ops-nav-group { border-top: 1px solid rgba(237,230,214,.05); padding-top: .15rem; }

/* Nested module accordion inside Content / Marketplace / System */
.ops-nav-section { margin: .05rem 0; }
.ops-nav-section__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .4rem;
  text-align: left;
  background: transparent;
  border: 0;
  border-left: 2px solid transparent;
  cursor: pointer;
  font: inherit;
  font-size: .86rem;
  color: rgba(216,207,189,.78);
  padding: .42rem .65rem;
  border-radius: 0 6px 6px 0;
}
.ops-nav-section__toggle::after {
  content: "▸";
  flex-shrink: 0;
  font-size: .68rem;
  opacity: .55;
  transition: transform .18s ease;
}
.ops-nav-section.is-expanded .ops-nav-section__toggle {
  color: var(--ivory);
  border-left-color: rgba(200, 168, 107, .35);
  background: rgba(176,141,79,.06);
}
.ops-nav-section.is-expanded .ops-nav-section__toggle::after {
  transform: rotate(90deg);
  opacity: .8;
}
.ops-nav-section__toggle:hover {
  color: var(--ivory);
  background: rgba(176,141,79,.085);
}
.ops-nav-section__items {
  display: flex;
  flex-direction: column;
  gap: .08rem;
  padding: .1rem 0 .35rem;
}
.ops-nav-section__items .ops-nav__link--sub {
  padding-left: 1.55rem;
}
.ops-nav-section__toggle .ops-nav__badge {
  margin-left: auto;
  margin-right: .15rem;
}

.ops-subnav {
  display: flex; flex-wrap: wrap; gap: .35rem .5rem; margin: 0 0 1rem;
  padding: .65rem .75rem; border-radius: 10px;
  background: rgba(11,15,12,.45); border: 1px solid rgba(237,230,214,.08);
}
.ops-subnav__link {
  font-size: .78rem; color: rgba(216,207,189,.72); text-decoration: none;
  padding: .28rem .55rem; border-radius: 999px; border: 1px solid transparent;
}
.ops-subnav__link:hover { color: var(--ivory); border-color: rgba(216,185,128,.25); background: rgba(216,185,128,.06); }
.ops-subnav__link.is-active { color: var(--ivory); border-color: rgba(216,185,128,.45); background: rgba(216,185,128,.12); }

.ops-nav__link--sub + .ops-nav__link:not(.ops-nav__link--sub) { margin-top: .42rem; }
.ops-nav__badge {
  margin-left: .35rem;
  font-size: .62rem;
  font-weight: 600;
  padding: .1rem .35rem;
  border-radius: 999px;
  background: rgba(176,141,79,.18);
  color: var(--gold-soft);
  border: 1px solid rgba(176,141,79,.28);
  vertical-align: middle;
}

.ops-sidebar__foot { position: relative; z-index: 1; border-top: 1px solid rgba(237,230,214,.07); padding: .9rem .25rem 0; background: linear-gradient(180deg, transparent, rgba(11,15,12,.22)); }
.ops-user__name { display: block; font-weight: 500; color: var(--ivory); }
.ops-user__role { font-size: .72rem; color: var(--stone); text-transform: uppercase; letter-spacing: .16em; }

.ops-topbar {
  height: var(--topbar-h); display: flex; align-items: center; gap: 1rem;
  padding: 0 1.25rem; border-bottom: 1px solid rgba(237,230,214,.07);
  background: rgba(11,15,12,.78); backdrop-filter: blur(12px);
  position: sticky; top: 0; z-index: 20;
}
.ops-topbar__title {
  font-family: var(--font-display); font-size: 1.35rem; font-weight: 500;
  margin: 0; flex: 1; letter-spacing: .02em;
}
.ops-content {
  padding: var(--content-gutter);
  width: 100%;
  min-width: 0;
}

.ops-icon-btn {
  background: transparent; border: 1px solid var(--line-soft); color: var(--ivory);
  width: 36px; height: 36px; cursor: pointer;
}
@media (min-width: 1024px) { .ops-icon-btn { display: none; } }

.ops-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  border: 1px solid rgba(176,141,79,.26);
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.01));
  color: var(--ivory);
  padding: .55rem 1rem; font: inherit; cursor: pointer; text-decoration: none;
  transition: border-color .2s, color .2s, background .2s, box-shadow .2s, transform .2s;
}
.ops-btn:hover { border-color: var(--gold); color: var(--gold-soft); box-shadow: 0 8px 22px rgba(0,0,0,.16); transform: translateY(-1px); }
.ops-btn--gold { background: linear-gradient(135deg, #8c6e3a, var(--gold) 58%, #d1ae6d); border-color: rgba(216,185,128,.72); color: var(--pine-black); font-weight: 600; box-shadow: 0 10px 24px rgba(176,141,79,.16); }
.ops-btn--gold:hover { filter: brightness(1.05); color: var(--pine-black); box-shadow: 0 12px 30px rgba(176,141,79,.22); }
.ops-btn--outline { border-color: var(--line); }
.ops-btn--ghost { border-color: transparent; background: transparent; color: var(--stone); }
.ops-btn--sm { padding: .35rem .7rem; font-size: .82rem; }
.ops-btn--block { width: 100%; }

.ops-pill {
  display: inline-block; font-size: .68rem; text-transform: uppercase;
  letter-spacing: .14em; padding: .2rem .5rem; border: 1px solid rgba(237,230,214,.09); color: var(--stone);
  background: rgba(11,15,12,.32);
}
.ops-pill--live { border-color: rgba(124,154,106,.4); color: #9eb58a; }
.ops-pill--gold { border-color: var(--line); color: var(--gold-soft); }

.ops-flash { padding: .75rem 1rem; margin: 1rem 1.25rem 0; border: 1px solid; }
.ops-flash--ok { border-color: rgba(124,154,106,.4); background: rgba(31,58,40,.5); }
.ops-flash--err { border-color: rgba(125,74,62,.5); background: rgba(61,32,28,.4); }

.ops-grid { display: grid; gap: .75rem; }
.ops-grid--2 { grid-template-columns: 1fr; }
.ops-grid--metrics { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) {
  .ops-grid--2 { grid-template-columns: 1fr 1fr; }
  .ops-grid--metrics { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 960px) {
  .ops-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.ops-metric {
  position: relative;
  display: block; text-decoration: none; color: inherit;
  background:
    linear-gradient(145deg, rgba(255,255,255,.042), transparent 38%),
    linear-gradient(180deg, rgba(20,36,27,.82), rgba(14,20,15,.9));
  border: 1px solid rgba(237,230,214,.08);
  padding: 1rem; transition: border-color .25s, transform .25s, box-shadow .25s, background .25s;
  box-shadow: var(--shadow-tight);
  overflow: hidden;
}
.ops-metric::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(216,185,128,.68), transparent);
  opacity: .58;
}
.ops-metric::after {
  content: "";
  position: absolute;
  right: -18px;
  top: -28px;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(216,185,128,.12), transparent 62%);
  pointer-events: none;
}
.ops-metric:hover { border-color: rgba(216,185,128,.28); transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.ops-metric__label { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .18em; color: var(--stone); }
.ops-metric__value { display: block; margin-top: .2rem; font-family: var(--font-display); font-size: 2.15rem; line-height: 1; color: var(--gold-soft); text-shadow: 0 0 22px rgba(216,185,128,.12); }

.ops-panel {
  position: relative;
  background:
    linear-gradient(150deg, rgba(255,255,255,.035), transparent 34%),
    var(--panel-glass);
  border: 1px solid rgba(237,230,214,.085);
  padding: .9rem 1rem;
  box-shadow: var(--shadow-tight);
  backdrop-filter: blur(8px);
}
.ops-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(216,185,128,.32), transparent);
  opacity: .75;
  pointer-events: none;
}
.ops-panel__head { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; margin-bottom: .75rem; padding-bottom: .55rem; border-bottom: 1px solid rgba(237,230,214,.055); }
.ops-panel__head h2 { font-family: var(--font-display); font-size: 1.2rem; margin: 0; font-weight: 500; }
.ops-panel h3 { margin: 0 0 .35rem; font-family: var(--font-display); font-size: 1.05rem; font-weight: 500; color: var(--ivory); }
.ops-panel p { margin-top: .25rem; margin-bottom: .45rem; }

.ops-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.ops-muted { color: var(--stone); font-size: .88rem; }

.ops-timeline__item {
  display: grid; grid-template-columns: 140px 1fr; gap: 1rem;
  padding: .75rem .2rem; border-bottom: 1px solid rgba(237,230,214,.06);
}
.ops-timeline__item time { font-size: .75rem; color: var(--stone); letter-spacing: .04em; }
.ops-timeline__item strong { color: var(--gold-soft); font-weight: 500; }
.ops-timeline__item p { margin: .15rem 0 .1rem; color: var(--ivory-dim); }

.ops-status-list { list-style: none; margin: 0; padding: 0; }
.ops-status-list li {
  display: flex; align-items: center; gap: .75rem; padding: .48rem .55rem;
  border: 1px solid rgba(237,230,214,.045);
  background: rgba(11,15,12,.2);
  margin-bottom: .35rem;
}

.ops-toolbar {
  display: flex; flex-wrap: wrap; gap: .65rem; justify-content: space-between; margin-bottom: .85rem; align-items: center;
  padding: .55rem;
  border: 1px solid rgba(237,230,214,.055);
  background: rgba(11,15,12,.2);
}
.ops-toolbar__left { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }

.ops-table-wrap,
.ops-content > .ops-table {
  overflow: auto; border: 1px solid rgba(237,230,214,.085); background: rgba(20,36,27,.45);
  box-shadow: var(--shadow-tight);
  backdrop-filter: blur(8px);
}
.ops-table { width: 100%; border-collapse: collapse; }
.ops-table th, .ops-table td { padding: .58rem .7rem; text-align: left; border-bottom: 1px solid var(--line-soft); }
.ops-table th { font-size: .68rem; text-transform: uppercase; letter-spacing: .16em; color: var(--gold-soft); background: rgba(11,15,12,.28); }
.ops-table strong { font-weight: 500; color: var(--ivory); }
.ops-table tbody tr { transition: background .18s; }
.ops-table tbody tr:hover { background: rgba(176,141,79,.045); }

.ops-form { display: flex; flex-direction: column; gap: .7rem; }
.ops-form--wide {
  width: 100%;
  max-width: 1180px;
}
.ops-field { display: flex; flex-direction: column; gap: .3rem; }
.ops-field span { font-size: .68rem; text-transform: uppercase; letter-spacing: .16em; color: var(--stone); }
.ops-field--full { grid-column: 1 / -1; }
.ops-input, .ops-select, .ops-field input, .ops-field textarea {
  background: rgba(11,15,12,.72); border: 1px solid rgba(237,230,214,.075); color: var(--ivory);
  padding: .48rem .6rem; font: inherit;
  transition: border-color .18s, box-shadow .18s, background .18s;
}
.ops-field input:focus, .ops-field textarea:focus, .ops-select:focus {
  outline: none; border-color: rgba(216,185,128,.7); box-shadow: 0 0 0 3px rgba(176,141,79,.09); background: rgba(11,15,12,.9);
}
.ops-check { display: flex; align-items: center; gap: .5rem; }
body.ops .ops-check {
  min-height: 34px;
  padding: .32rem .45rem;
  border: 1px solid rgba(237,230,214,.05);
  background: rgba(14,20,15,.36);
}
.ops-check-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .35rem; }
.ops-form__actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .7rem; padding-top: .75rem; border-top: 1px solid var(--line-soft); }

.ops-tabs__nav { display: flex; gap: .35rem; margin-bottom: 1rem; flex-wrap: wrap; }
.ops-tabs__nav button {
  background: rgba(11,15,12,.24); border: 1px solid rgba(237,230,214,.075); color: var(--stone);
  padding: .45rem .8rem; cursor: pointer; font: inherit;
  transition: border-color .18s, color .18s, background .18s;
}
.ops-tabs__nav button:hover,
.ops-tabs__nav button.is-active { border-color: rgba(216,185,128,.42); color: var(--ivory); background: rgba(176,141,79,.08); }

.ops-blocks { display: flex; flex-direction: column; gap: .45rem; min-height: 96px; }
.ops-block {
  border: 1px solid rgba(237,230,214,.075); background: rgba(11,15,12,.46); padding: .75rem;
  display: grid; grid-template-columns: auto 1fr auto; gap: .75rem; align-items: start;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.ops-block__drag { cursor: grab; color: var(--stone); padding-top: .35rem; }
.ops-block__fields { display: grid; gap: .5rem; }

.ops-sortable { list-style: none; margin: 0; padding: 0; }
.ops-sortable__item {
  display: flex; align-items: center; gap: .75rem; padding: .55rem .65rem;
  border: 1px solid rgba(237,230,214,.075); margin-bottom: .35rem; background: rgba(11,15,12,.48);
  transition: border-color .18s, background .18s;
}
.ops-sortable__item:hover { border-color: rgba(216,185,128,.24); background: rgba(176,141,79,.045); }
.ops-drag { cursor: grab; color: var(--stone); }

.ops-media-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .75rem;
}
.ops-media-card {
  border: 1px solid rgba(237,230,214,.085);
  background: var(--panel-glass);
  box-shadow: var(--shadow-tight);
  transition: transform .22s, border-color .22s, box-shadow .22s;
}
.ops-media-card:hover { transform: translateY(-2px); border-color: rgba(216,185,128,.24); box-shadow: var(--shadow-soft); }
.ops-media-card__thumb { aspect-ratio: 4/3; overflow: hidden; background: #000; }
.ops-media-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ops-media-card__meta { padding: .55rem; display: flex; flex-direction: column; gap: .15rem; }

.ops-map-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem;
  border: 1px solid var(--line-soft); max-width: 100%; margin: 0;
  background: rgba(20,36,27,.36);
  overflow: hidden;
  min-width: 0;
}
.ops-map-editor > * { min-width: 0; }
@media (min-width: 1040px) {
  .ops-map-editor {
    grid-template-columns: minmax(240px, .75fr) minmax(0, 1.65fr);
    align-items: start;
  }
  .ops-map-editor__stage { grid-column: 1 / -1; }
}
.ops-map-editor__stage {
  position: relative;
  height: clamp(520px, 50vh, 650px);
  min-height: 520px;
  border-bottom: 1px solid var(--line-soft);
}
.ops-map-editor__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  background: var(--forest-800);
}
@media (max-width: 720px) {
  .ops-map-editor__stage {
    height: min(68vh, 520px);
    min-height: 420px;
  }
}
@media (min-width: 1040px) {
  .ops-map-editor {
    padding: .75rem;
  }
  .ops-map-editor__stage { border: 1px solid var(--line-soft); }
}
.ops-map-editor__hud,
.ops-map-editor__tools,
.ops-map-editor__empty {
  position: absolute; z-index: 2; left: .75rem;
  background: rgba(11,15,12,.78); border: 1px solid var(--line-soft);
  backdrop-filter: blur(8px); padding: .55rem .65rem;
  max-width: calc(100% - 1.5rem);
}
.ops-map-editor__hud { top: .75rem; display: flex; flex-wrap: wrap; gap: .7rem; font-size: .78rem; color: var(--stone); }
.ops-map-editor__tools { bottom: .75rem; display: flex; flex-wrap: wrap; gap: .45rem; max-width: calc(100% - 1.5rem); }
.ops-map-editor__empty { top: 4rem; color: #c47a6a; }
.ops-map-editor__sidebar {
  border-top: 1px solid var(--line-soft);
  padding: .65rem;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: min(78vh, 860px);
  min-width: 0;
}
@media (min-width: 1040px) {
  .ops-map-editor__sidebar {
    border: 1px solid var(--line-soft);
    max-height: min(72vh, 900px);
  }
}
.ops-map-editor__sidebar--form { background: rgba(11,15,12,.22); }
.ops-map-editor__sidebar .ops-grid--2 { grid-template-columns: 1fr; }
.ops-map-editor__sidebar .ops-field input,
.ops-map-editor__sidebar .ops-field textarea,
.ops-map-editor__sidebar .ops-select {
  width: 100%;
  max-width: 100%;
}
.ops-map-point-list { display: grid; gap: .35rem; }
.ops-map-point {
  display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: .5rem; align-items: center;
  width: 100%; text-align: left; background: var(--pine-900);
  border: 1px solid var(--line-soft); color: var(--ivory); padding: .48rem; margin: 0; cursor: pointer;
}
.ops-map-point.is-active { border-color: var(--gold); }
.ops-map-point__icon {
  width: 34px; height: 34px; display: grid; place-items: center;
  border: 1px solid var(--line); color: var(--gold-soft);
  font-size: .55rem; text-transform: uppercase; overflow: hidden;
}
.ops-map-point small { display: block; color: var(--stone); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ops-map-point b { color: var(--gold-soft); font-size: .72rem; font-weight: 500; }
.ops-map-marker {
  width: 16px; height: 16px; border-radius: 50%;
  border: 2px solid #ede6d6;
  box-shadow: 0 0 0 6px rgba(176,141,79,.16), 0 0 18px rgba(216,191,144,.45);
  cursor: grab;
}
.ops-map-marker.is-active { transform: scale(1.2); }
.ops-inline-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.ops-map-layer-row,
.ops-map-media-item {
  display: grid; grid-template-columns: minmax(0, 1fr) 40px 58px;
  gap: .4rem; align-items: center; padding: .42rem 0; border-bottom: 1px solid var(--line-soft);
}
.ops-map-media-item { grid-template-columns: minmax(0, .45fr) minmax(0, 1fr); }
.ops-map-media-item .ops-btn { grid-column: 1 / -1; justify-self: start; }
.ops-map-media-item input { min-width: 0; }
.ops-map-layer-row input[type="color"] { width: 38px; height: 30px; padding: 0; }
.ops-map-layer-row input[type="number"] { min-width: 56px; }
.ops-map-boundary-list,
.ops-map-media-list { display: grid; gap: .4rem; margin: .55rem 0; }
.ops-map-boundary-item {
  display: grid; gap: .12rem; width: 100%; text-align: left;
  border: 1px solid var(--line-soft); background: rgba(11,15,12,.45);
  color: var(--ivory); padding: .5rem; cursor: pointer;
}
.ops-map-boundary-item.is-active { border-color: var(--gold); }
.ops-map-boundary-item small { color: var(--stone); }
.ops-preview-map-card {
  border: 1px solid var(--line-soft); background: var(--pine-900);
  padding: .75rem; margin-top: .35rem;
}
.ops-preview-map-card__image { width: 100%; aspect-ratio: 16/9; object-fit: cover; margin-bottom: .6rem; border: 1px solid var(--line-soft); }
.ops-preview-map-card h3 { font-family: var(--font-display); font-weight: 500; margin: .2rem 0; }
.ops-preview-map-card p { margin: 0 0 .35rem; color: var(--stone); }
.ops-preview-map-card small { color: var(--ivory-dim); }
.ops-map-preview-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: .45rem 0; }
.ops-map-preview-tags span {
  border: 1px solid rgba(184,139,74,.36); color: var(--gold-soft);
  font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; padding: .18rem .42rem;
}
.ops-map-preview-list { margin: .55rem 0; padding-left: 1rem; color: var(--stone); }

.ops-tag {
  display: inline-block; padding: .2rem .55rem; font-size: .68rem; letter-spacing: .14em;
  border: 1px solid var(--tag-color, var(--gold)); color: var(--tag-color, var(--gold));
}

/* Auth */
.ops-auth {
  min-height: 100vh; display: grid; place-items: center;
  background: radial-gradient(ellipse at 30% 20%, var(--forest-deep), var(--pine-black) 60%);
}
.ops-auth__panel {
  width: min(420px, 92vw); padding: 2rem; border: 1px solid var(--line);
  background: rgba(20,36,27,.75); backdrop-filter: blur(6px);
}
.ops-auth__seal {
  display: inline-grid; place-items: center; width: 52px; height: 52px;
  border: 1px solid var(--gold); color: var(--gold); font-family: var(--font-display);
  margin-bottom: .75rem;
}
.ops-auth h1 { font-family: var(--font-display); font-weight: 500; margin: 0 0 .25rem; }
.ops-auth p { color: var(--stone); margin: 0 0 1.25rem; }
.ops-auth__link { color: var(--gold-soft); font-size: .88rem; }

/* ——— Control room layout ——— */
.ops-kicker {
  font-size: .68rem; text-transform: uppercase; letter-spacing: .22em; color: var(--gold-soft);
  display: block; margin-bottom: .15rem;
}
.ops-toolbar--dense { margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--line-soft); }
.ops-toolbar__right { display: flex; gap: .5rem; flex-wrap: wrap; }

.ops-workspace { display: grid; grid-template-columns: 1fr; gap: .9rem; }
@media (min-width: 1100px) {
  .ops-workspace:not(.ops-workspace--stacked) { grid-template-columns: minmax(0, 1fr) 260px; align-items: start; }
}
@media (min-width: 1500px) {
  .ops-workspace:not(.ops-workspace--stacked) { grid-template-columns: minmax(0, 1fr) 280px; }
}
.ops-workspace__main { min-width: 0; }
.ops-workspace__rail { display: flex; flex-direction: column; gap: .65rem; }
.ops-rail-card {
  background: var(--forest-deep); border: 1px solid var(--line-soft); padding: .85rem;
}
.ops-rail-card h3 { font-family: var(--font-display); font-size: 1rem; margin: 0 0 .35rem; font-weight: 500; }

.ops-territory-list {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr)); gap: .5rem;
}
.ops-territory-list__item {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .6rem; align-items: center;
  padding: .52rem .62rem; background: var(--forest-deep); border: 1px solid var(--line-soft);
}
.ops-territory-list__item:has(.ops-territory-list__thumb) { grid-template-columns: auto 58px minmax(0, 1fr) auto; }
.ops-territory-list__thumb {
  width: 58px; height: 40px; overflow: hidden; background: var(--pine-900);
}
.ops-territory-list__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ops-territory-list__body { min-width: 0; }
.ops-territory-list__body strong { display: block; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ops-territory-list__body > .ops-muted { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ops-territory-list__meta { display: flex; flex-wrap: wrap; gap: .28rem; align-items: center; margin-top: .18rem; font-size: .75rem; color: var(--stone); }
.ops-territory-list__meta code { font-size: .7rem; color: var(--gold-soft); }

.ops-editor-layout {
  display: grid; grid-template-columns: 1fr; gap: .9rem; min-height: calc(100vh - var(--topbar-h) - 3rem);
  max-width: var(--content-wide);
  margin: 0 auto;
}
@media (min-width: 1100px) {
  .ops-editor-layout { grid-template-columns: minmax(0, 3.1fr) minmax(250px, 320px); align-items: start; }
}
@media (min-width: 1500px) {
  .ops-editor-layout { grid-template-columns: minmax(0, 3.4fr) minmax(270px, 340px); }
}
.ops-editor-layout__form { min-width: 0; }
.ops-editor-layout:not(#huntEditor) > .ops-editor-layout__form:not(.ops-panel) {
  background: rgba(20,36,27,.48);
  border: 1px solid var(--line-soft);
  padding: .85rem .95rem;
}
.ops-editor-layout__preview {
  background: var(--pine-900); border: 1px solid var(--line);
  display: flex; flex-direction: column; position: sticky; top: calc(var(--topbar-h) + 1rem);
  max-height: calc(100vh - var(--topbar-h) - 2rem);
}
.ops-preview__head {
  display: flex; justify-content: space-between; align-items: center; gap: .5rem;
  padding: .55rem .7rem; border-bottom: 1px solid var(--line-soft);
}
.ops-preview__frame { padding: .7rem; overflow: auto; flex: 1; }

.ops-segment-nav__tabs {
  display: flex; flex-wrap: wrap; gap: .2rem; margin-bottom: .75rem;
  border-bottom: 1px solid var(--line-soft); padding-bottom: .4rem;
}
.ops-segment-nav__tabs button {
  background: transparent; border: none; color: var(--stone); padding: .34rem .55rem;
  cursor: pointer; font: inherit; font-size: .78rem; letter-spacing: .06em;
}
.ops-segment-nav__tabs button.is-active { color: var(--gold-soft); box-shadow: inset 0 -2px 0 var(--gold); }
.ops-segment-nav__tabs button:disabled { opacity: .35; cursor: not-allowed; }

.ops-preview-territory { border: 1px solid var(--line-soft); font-size: .82rem; }
.ops-preview-territory__hero {
  min-height: 140px; background-size: cover; background-position: center; position: relative;
  display: flex; align-items: flex-end;
}
.ops-preview-territory__hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(transparent 20%, rgba(11,15,12,.85));
}
.ops-preview-territory__head { position: relative; z-index: 1; padding: .75rem; }
.ops-preview-territory__head span { font-size: .65rem; text-transform: uppercase; letter-spacing: .16em; color: var(--stone); }
.ops-preview-territory__head h2 { font-family: var(--font-display); margin: .15rem 0 0; font-size: 1.35rem; font-weight: 500; }
.ops-preview-territory__body { padding: .75rem; }
.ops-preview-lead { color: var(--ivory-dim); line-height: 1.55; margin: 0 0 .75rem; }
.ops-preview-meta { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin: 0; }
.ops-preview-meta dt { font-size: .62rem; text-transform: uppercase; letter-spacing: .14em; color: var(--stone); }
.ops-preview-meta dd { margin: 0 0 .5rem; color: var(--ivory); }
.ops-preview-foot { display: flex; gap: 1rem; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--line-soft); font-size: .78rem; }
.ops-preview-foot b { color: var(--gold-soft); margin-left: .25rem; }

.ops-metric-editor { display: flex; flex-direction: column; gap: .35rem; margin-bottom: .5rem; }
.ops-metric-row { display: grid; grid-template-columns: 1fr 1fr auto auto; gap: .35rem; align-items: center; }
.ops-gallery-row { display: grid; grid-template-columns: auto 1fr 1fr auto; gap: .35rem; align-items: center; margin-bottom: .35rem; }

.ops-featured-row {
  display: grid; grid-template-columns: auto 56px 1fr auto; gap: .65rem; align-items: center;
  padding: .48rem .55rem; border: 1px solid var(--line-soft); margin-bottom: .35rem; background: var(--pine-900);
}
.ops-featured-row__thumb { width: 56px; height: 40px; object-fit: cover; }
.ops-divider { border: none; border-top: 1px solid var(--line-soft); margin: 1.25rem 0; }
.ops-delete-form { margin-top: .5rem; }
.ops-btn--danger { color: #c47a6a; border-color: rgba(196,122,106,.35); }
.ops-form--inline { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.ops-form--inline .ops-input { flex: 1 1 180px; min-width: 0; }
.ops-inline-edit summary { cursor: pointer; list-style: none; }
.ops-inline-edit summary::-webkit-details-marker { display: none; }

/* Media picker modal */
.ops-modal {
  position: fixed; inset: 0; z-index: 2000; background: rgba(6,10,8,.72);
  display: flex; align-items: center; justify-content: center; padding: 1rem;
}
.ops-modal__panel {
  width: min(920px, 96vw); max-height: 85vh; background: var(--pine-900);
  border: 1px solid var(--line); display: flex; flex-direction: column;
}
.ops-modal__head {
  display: flex; justify-content: space-between; align-items: center;
  padding: .75rem 1rem; border-bottom: 1px solid var(--line-soft);
}
.ops-modal__head h3 { margin: 0; font-weight: 500; font-size: 1rem; }
.ops-modal__body { padding: .85rem; overflow: auto; }
.ops-media-picker-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .5rem;
}
.ops-media-pick {
  background: var(--forest-deep); border: 1px solid var(--line-soft); padding: 0;
  cursor: pointer; text-align: left; color: var(--ivory-dim);
}
.ops-media-pick:hover { border-color: var(--gold-soft); }
.ops-media-pick img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.ops-media-pick span { display: block; padding: .35rem .45rem; font-size: .68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Inside estates builder */
.ops-inside-grid-panel { margin-bottom: .85rem; border: 1px solid var(--line-soft); background: var(--forest-deep); }
.ops-inside-grid-panel__head {
  display: flex; justify-content: space-between; align-items: center;
  padding: .55rem .75rem; border-bottom: 1px solid var(--line-soft);
}
.ops-inside-grid-panel__head h3 { margin: 0; font-size: .85rem; font-weight: 500; letter-spacing: .04em; }
.ops-inside-grid-panel__slots { padding: .5rem; display: flex; flex-direction: column; gap: .45rem; }
.ops-inside-slot {
  display: grid; grid-template-columns: auto 88px 1fr; gap: .55rem; align-items: start;
  padding: .5rem; border: 1px solid var(--line-soft); background: var(--pine-900);
}
.ops-inside-slot__thumb {
  width: 88px; height: 60px; background: var(--forest-deep); overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.ops-inside-slot__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ops-inside-slot__meta { display: grid; gap: .35rem; }
.ops-toolbar--tight { gap: .35rem; }

.ops-slot-card {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .5rem; align-items: start;
  padding: .55rem; border: 1px solid var(--line-soft); margin-bottom: .4rem; background: var(--pine-900);
}
.ops-slot-card__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; }
.ops-slot-card__fields .ops-field--full { grid-column: 1 / -1; }
.ops-slot-card__thumb { width: 56px; height: 40px; object-fit: cover; }
.ops-nested-list {
  grid-column: 1 / -1;
  display: grid;
  gap: .4rem;
  margin-top: .35rem;
}
.ops-slot-card--nested {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto auto;
  gap: .35rem;
  align-items: center;
  padding: .55rem .65rem;
  margin: 0;
  box-shadow: none;
}

.ops-gallery-strip { display: flex; flex-direction: column; gap: .4rem; }
.ops-gallery-item {
  display: grid; grid-template-columns: auto 72px 1fr 1fr auto; gap: .45rem; align-items: center;
  padding: .45rem; border: 1px solid var(--line-soft); background: var(--pine-900);
}
.ops-gallery-item img { width: 72px; height: 48px; object-fit: cover; }

/* Hunt editor */
#huntEditor .ops-workspace-nav__tabs {
  display: flex; gap: .35rem; margin-bottom: 1.25rem;
  border-bottom: 1px solid var(--line-soft); padding-bottom: .5rem;
}
#huntEditor .ops-workspace-nav__tabs button {
  background: transparent; border: none; color: var(--stone); padding: .45rem .85rem;
  cursor: pointer; font: inherit; font-size: .88rem; letter-spacing: .04em;
}
#huntEditor .ops-workspace-nav__tabs button.is-active { color: var(--gold-soft); box-shadow: inset 0 -2px 0 var(--gold); }
#huntEditor .ops-workspace-nav__tabs button:disabled { opacity: .35; cursor: not-allowed; }
#huntEditor .ops-workspace { display: flex; flex-direction: column; gap: 1.25rem; }
.ops-avail-list { display: flex; flex-direction: column; gap: 1rem; }
.ops-avail-period {
  border: 1px solid var(--line-soft); background: var(--pine-900); padding: .9rem 1rem;
}
.ops-avail-departures { display: flex; flex-direction: column; gap: .65rem; }
.ops-avail-departure {
  border: 1px solid var(--line-soft); background: var(--pine-900); padding: .75rem 1rem;
}
.ops-avail-departure summary {
  display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; cursor: pointer; list-style: none;
}
.ops-avail-departure summary::-webkit-details-marker { display: none; }
.ops-field-group {
  border: 1px solid var(--line-soft); background: var(--forest-deep); padding: 1rem 1.1rem;
}
.ops-field-group__head h2 {
  margin: 0; font-family: var(--font-display); font-size: 1.1rem; font-weight: 500; color: var(--ivory);
}
.ops-field-group__head p { margin: .35rem 0 0; }
.ops-field-group--media { border-color: rgba(200,168,107,.25); }
.ops-field-group--collapse summary { cursor: pointer; list-style: none; }
.ops-field-group--collapse summary::-webkit-details-marker { display: none; }
.ops-media-hero {
  display: grid; grid-template-columns: minmax(200px, 280px) 1fr; gap: 1rem; align-items: start;
}
@media (max-width: 720px) {
  .ops-media-hero { grid-template-columns: 1fr; }
}
.ops-media-hero__preview {
  aspect-ratio: 4/5; background: var(--pine-900); border: 1px solid var(--line-soft);
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.ops-media-hero__preview img { width: 100%; height: 100%; object-fit: cover; }
.ops-media-hero__label { font-size: .78rem; color: var(--gold-soft); margin: 0 0 .5rem; }
.ops-toolbar--wrap { flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.ops-gallery-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .65rem;
}
.ops-gallery-tile {
  display: flex; flex-direction: column; gap: .35rem; min-width: 0;
  padding: .5rem; border: 1px solid var(--line-soft); background: var(--pine-900);
  overflow: hidden;
}
.ops-gallery-tile__thumb {
  width: 100%; max-width: 100%; aspect-ratio: 16/10; overflow: hidden;
  background: var(--forest-deep); flex-shrink: 0;
}
.ops-gallery-tile img {
  width: 100%; height: 100%; max-width: 100%; display: block;
  object-fit: cover; object-position: center;
}
.ops-gallery-tile__empty {
  width: 100%; aspect-ratio: 16/10; display: flex; align-items: center; justify-content: center;
  background: var(--forest-deep); color: var(--stone); font-size: .75rem;
}
.ops-gallery-tile .ops-input { min-width: 0; width: 100%; max-width: 100%; box-sizing: border-box; }
.ops-gallery-tile .ops-drag { flex-shrink: 0; align-self: flex-start; }
.ops-gallery-tile .ops-drag { cursor: grab; color: var(--stone); }
.ops-reviews-grid {
  display: grid; gap: .75rem; margin-bottom: .75rem;
}
.ops-review-tile {
  display: grid; gap: .4rem;
  padding: .75rem; border: 1px solid var(--line-soft); background: var(--pine-900);
}
.ops-review-tile .ops-input { width: 100%; box-sizing: border-box; }
.ops-editor-layout__preview--hunt .ops-preview__frame { font-size: .82rem; }
.ops-preview-mode { display: flex; gap: .25rem; }
.ops-preview-mode button {
  background: var(--pine-900); border: 1px solid var(--line-soft); color: var(--stone);
  padding: .25rem .5rem; font-size: .68rem; cursor: pointer;
}
.ops-preview-mode button.is-active { color: var(--gold-soft); border-color: var(--gold-soft); }
.ops-preview__foot { padding: .5rem .85rem; border-top: 1px solid var(--line-soft); }
.ops-hunt-card-preview {
  border: 1px solid var(--line-soft); background: #0b0f0c; color: #f4efe5; overflow: hidden;
}
.ops-hunt-card-preview__media { position: relative; aspect-ratio: 4/5; background: #1a221c; }
.ops-hunt-card-preview__media img { width: 100%; height: 100%; object-fit: cover; }
.ops-hunt-card-preview__placeholder {
  display: flex; align-items: center; justify-content: center; height: 100%;
  color: #c47a6a; font-size: .75rem; text-align: center; padding: 1rem;
}
.ops-hunt-card-preview__tier {
  position: absolute; top: .65rem; left: .65rem; font-size: .62rem; letter-spacing: .14em;
  text-transform: uppercase; color: #d8b980;
}
.ops-hunt-card-preview__season {
  position: absolute; top: .65rem; right: .65rem; font-size: .62rem; color: #b8c4b0;
}
.ops-hunt-card-preview__body { padding: .85rem; }
.ops-hunt-card-preview__region {
  font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: #d8b980; margin: 0 0 .35rem;
}
.ops-hunt-card-preview h3 {
  font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; margin: 0 0 .5rem; line-height: 1.1;
}
.ops-hunt-card-preview__meta {
  display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .65rem; padding-top: .65rem;
  border-top: 1px solid rgba(255,255,255,.12); font-size: .62rem; text-transform: uppercase; letter-spacing: .1em;
}
.ops-hunt-card-preview__meta b { color: #f4efe5; font-weight: 400; }
.ops-hunt-detail-preview__hero { position: relative; min-height: 180px; background: #1a221c; }
.ops-hunt-detail-preview__hero img { width: 100%; height: 180px; object-fit: cover; display: block; }
.ops-hunt-detail-preview__hero-inner {
  position: absolute; inset: auto 0 0 0; padding: .75rem;
  background: linear-gradient(transparent, rgba(11,15,12,.9));
}
.ops-hunt-detail-preview__hero-inner h2 {
  font-family: 'Cormorant Garamond', serif; margin: .25rem 0; font-size: 1.4rem; font-weight: 500;
}
.ops-hunt-detail-preview__body { padding: .75rem; }
.ops-hunt-detail-preview__price { margin: .75rem 0; }
.ops-preview-dl { display: grid; gap: .35rem; margin: .5rem 0; }
.ops-preview-dl dt { font-size: .62rem; text-transform: uppercase; letter-spacing: .12em; color: var(--stone); }
.ops-preview-dl dd { margin: 0; }
.ops-preview-gallery { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.ops-preview-gallery-thumb { width: 64px; height: 44px; object-fit: cover; }

.ops-preview-stay-page__title { font-family: var(--font-display); font-size: 1.25rem; font-weight: 500; margin: .25rem 0; }
.ops-preview-stay-page__section { font-size: .95rem; margin: .75rem 0 .35rem; color: var(--gold-soft); }
.ops-preview-inside { display: grid; grid-template-columns: 1.2fr 1fr; gap: .35rem; margin: .5rem 0; }
.ops-preview-inside--pair { grid-template-columns: 1fr 1.2fr; }
.ops-preview-inside__hero img, .ops-preview-inside__tile img { width: 100%; height: 56px; object-fit: cover; display: block; }
.ops-preview-inside__stack { display: grid; gap: .25rem; }
.ops-preview-inside__tile { position: relative; }
.ops-preview-inside__tile span { position: absolute; left: .25rem; bottom: .2rem; font-size: .55rem; color: var(--ivory); }
.ops-preview-quote { font-style: italic; color: var(--gold-soft); margin: .65rem 0; font-size: .85rem; }
.ops-preview-phil { list-style: none; padding: 0; margin: .5rem 0; font-size: .78rem; }
.ops-preview-phil li { display: grid; grid-template-columns: 1.5rem 1fr; gap: .35rem; margin-bottom: .35rem; }
.ops-preview-sigs { display: grid; gap: .35rem; margin-top: .5rem; }
.ops-preview-sigs article { border: 1px solid var(--line-soft); padding: .45rem; font-size: .75rem; }
.ops-preview-sigs h4 { margin: 0 0 .2rem; font-size: .8rem; color: var(--gold-soft); }
.ops-preview-matrix { width: 100%; font-size: .72rem; border-collapse: collapse; }
.ops-preview-matrix th, .ops-preview-matrix td { border: 1px solid var(--line-soft); padding: .35rem .45rem; text-align: left; }
.ops-preview-hero { height: 80px; background-size: cover; background-position: center; margin-top: .5rem; }
.ops-preview-gallery { display: flex; gap: .25rem; margin-top: .35rem; flex-wrap: wrap; }
.ops-preview-gallery img { width: 48px; height: 32px; object-fit: cover; }
.ops-territory-list__actions { display: flex; gap: .35rem; align-items: center; }
.ops-workspace--stacked { display: flex; flex-direction: column; gap: .8rem; }
.ops-content:has(#dossierBuilder),
.ops-content:has(#categorySortList),
.ops-content:has(#staySortList),
.ops-content:has(#speciesSortList),
.ops-content:has(.ops-table) {
  max-width: var(--content-readable);
}
@media (min-width: 1180px) {
  .ops-content:has(#dossierBuilder) .ops-workspace--stacked {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    align-items: start;
  }
  .ops-content:has(#dossierBuilder) .ops-workspace--stacked > form {
    grid-column: 1 / -1;
  }
  .ops-content:has(#categorySortList) .ops-workspace--stacked {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
    align-items: start;
  }
  .ops-content:has(#categorySortList) .ops-toolbar {
    grid-column: 1 / -1;
  }
  .ops-content:has(#categorySortList) #add-cat {
    position: sticky;
    top: calc(var(--topbar-h) + 1rem);
  }
}
.ops-form--wide:not(.ops-form--hunt) {
  width: 100%;
  max-width: 1180px;
}
.ops-check--sm { font-size: .78rem; }
.ops-select--sm { font-size: .78rem; padding: .35rem .5rem; }
.mark-yes { color: var(--gold-soft); }
.mark-no { color: var(--stone); }
.ops-preview-species h2 { font-family: var(--font-display); font-weight: 500; margin: .25rem 0; }
.ops-panel--link { display: block; text-decoration: none; color: inherit; transition: border-color .2s; }
.ops-panel--link:hover { border-color: var(--gold-soft); }
.ops-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.ops-table th, .ops-table td { border-bottom: 1px solid var(--line-soft); padding: .55rem .65rem; text-align: left; }
.ops-table--dense td { padding: .4rem .55rem; }

.ops-settings-layout {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 960px) {
  .ops-settings-layout { grid-template-columns: 200px minmax(0, 1fr); align-items: start; }
}
.ops-settings-layout__main { min-width: 0; }
.ops-settings-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  padding: .65rem;
  border: 1px solid var(--line-soft);
  background: rgba(14, 20, 15, .6);
  border-radius: 4px;
}
@media (min-width: 960px) {
  .ops-settings-nav { flex-direction: column; position: sticky; top: calc(var(--topbar-h) + 1rem); }
}
.ops-settings-nav__link {
  display: block;
  padding: .45rem .65rem;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--stone);
  text-decoration: none;
  border-radius: 3px;
  transition: color .2s, background .2s;
}
.ops-settings-nav__link:hover { color: var(--ivory); background: rgba(176, 141, 79, .08); }
.ops-settings-nav__link.is-active { color: var(--gold-soft); background: rgba(176, 141, 79, .12); }

body.ops {
  background-image:
    radial-gradient(ellipse 70% 42% at 50% -18%, rgba(31,58,40,.48), transparent),
    radial-gradient(circle at 82% 8%, rgba(176,141,79,.055), transparent 28%);
  overflow-x: hidden;
}
.ops-sidebar { box-shadow: 8px 0 34px rgba(0,0,0,.3); }
.ops-content {
  max-width: min(var(--content-readable), 100%);
  margin: 0 auto;
  width: 100%;
}
.ops-content:has(.ops-editor-layout),
.ops-content:has(.ops-map-editor) {
  max-width: min(var(--content-wide), 100%);
}
.ops-topbar { box-shadow: 0 1px 0 var(--line-soft), 0 10px 34px rgba(0,0,0,.16); }
.ops-topbar__status .ops-pill { box-shadow: 0 0 24px rgba(124,154,106,.12); }

/* Final visual polish layer — shared admin surfaces only */
.ops-editor-layout__form,
.ops-editor-layout__preview,
.ops-workspace__main,
.ops-workspace__rail,
.ops-rail-card,
.ops-preview__frame,
.ops-map-editor,
.ops-map-editor__stage,
.ops-map-editor__sidebar,
.ops-settings-nav,
.ops-media-hero,
.ops-slot-card,
.ops-featured-row {
  box-shadow: var(--shadow-tight);
}
.ops-editor-layout__preview,
.ops-rail-card,
.ops-preview__frame,
.ops-map-editor,
.ops-map-editor__sidebar,
.ops-settings-nav,
.ops-media-hero,
.ops-slot-card,
.ops-featured-row {
  background:
    linear-gradient(150deg, rgba(255,255,255,.028), transparent 35%),
    rgba(20,36,27,.58);
  border-color: rgba(237,230,214,.085);
  backdrop-filter: blur(8px);
}
.ops-panel--link { box-shadow: var(--shadow-tight); }
.ops-panel--link:hover {
  border-color: rgba(216,185,128,.32);
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}
.ops-settings-nav__link {
  border: 1px solid transparent;
}
.ops-settings-nav__link:hover,
.ops-settings-nav__link.is-active {
  border-color: rgba(216,185,128,.16);
}
.ops-map-point,
.ops-map-boundary-item {
  background: rgba(11,15,12,.5);
  transition: border-color .18s, background .18s, transform .18s;
}
.ops-map-point:hover,
.ops-map-boundary-item:hover {
  border-color: rgba(216,185,128,.24);
  background: rgba(176,141,79,.045);
}
.ops-preview-map-card {
  background:
    linear-gradient(150deg, rgba(255,255,255,.028), transparent 38%),
    rgba(11,15,12,.54);
  border-color: rgba(237,230,214,.085);
}
.ops-flash {
  box-shadow: var(--shadow-tight);
  backdrop-filter: blur(8px);
}
@media (max-width: 720px) {
  .ops-toolbar { padding: .45rem; }
  .ops-metric { padding: .85rem; }
  .ops-panel { padding: .8rem; }
}

/* Hunt editor — full-width workspace (~78/22), Overview + Detail share same grid */
.ops-content:has(#huntEditor) {
  max-width: none;
  width: 100%;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
#huntEditor.ops-editor-layout {
  width: 100%;
  max-width: none;
  gap: 0.75rem;
  min-height: calc(100vh - var(--topbar-h) - 2.5rem);
}
#huntEditor .ops-editor-layout__form,
#huntEditor .ops-workspace-nav,
#huntEditor .ops-workspace,
#huntEditor .ops-form--hunt {
  width: 100%;
  max-width: none;
}
#huntEditor .ops-form--hunt { margin: 0; }
#huntEditor .ops-form { gap: .85rem; }
#huntEditor .ops-field-group { width: 100%; max-width: none; }
#huntEditor .ops-field-group { padding: 1rem 1.1rem; }
#huntEditor .ops-grid { gap: 1rem; }
#huntEditor .ops-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#huntEditor .ops-input,
#huntEditor .ops-select,
#huntEditor .ops-field input,
#huntEditor .ops-field textarea {
  padding: .55rem .65rem;
}
#huntEditor .ops-form__actions {
  margin-top: 1rem;
  padding-top: 1rem;
}
@media (min-width: 1024px) {
  #huntEditor.ops-editor-layout {
    grid-template-columns: minmax(0, 1fr) minmax(200px, 24%);
  }
  #huntEditor .ops-editor-layout__preview {
    max-width: min(280px, 24vw);
    justify-self: stretch;
  }
}
@media (min-width: 1280px) {
  #huntEditor.ops-editor-layout {
    grid-template-columns: minmax(0, 4fr) minmax(240px, 1fr);
  }
  #huntEditor .ops-editor-layout__preview {
    max-width: min(300px, 20vw);
  }
}
@media (min-width: 1600px) {
  #huntEditor.ops-editor-layout {
    grid-template-columns: minmax(0, 4.2fr) minmax(260px, 1fr);
  }
  #huntEditor .ops-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- Content page composer (shared) ---- */
.ops-composer.ops-editor-layout {
  max-width: none;
  margin: 0;
}
@media (min-width: 1200px) {
  .ops-composer.ops-editor-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  }
}
.ops-composer .ops-editor-layout__form {
  background: transparent;
  border: none;
  padding: 0;
}
.ops-composer--solo {
  max-width: none;
}
.ops-composer__intro,
.lp-composer__intro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border: 1px solid var(--line-soft);
  background: rgba(20, 36, 27, .55);
}
.ops-composer__intro .ops-muted,
.lp-composer__intro .ops-muted { margin: 0; max-width: 42rem; }
.ops-composer__shell,
.lp-composer__shell {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: start;
}
@media (min-width: 900px) {
  .ops-composer__shell,
  .lp-composer__shell {
    grid-template-columns: minmax(200px, 220px) minmax(0, 1fr);
  }
}
.ops-composer__nav,
.lp-composer__nav {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: .35rem;
  padding: .65rem;
  border: 1px solid var(--line-soft);
  background: var(--forest-deep);
}
@media (min-width: 900px) {
  .ops-composer__nav,
  .lp-composer__nav {
    flex-direction: column;
    flex-wrap: nowrap;
    position: sticky;
    top: calc(var(--topbar-h) + 1rem);
    max-height: calc(100vh - var(--topbar-h) - 2rem);
    overflow: auto;
  }
}
.ops-composer__nav-btn,
.lp-composer__nav-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .12rem;
  width: 100%;
  text-align: left;
  padding: .55rem .65rem;
  border: 1px solid transparent;
  background: transparent;
  color: var(--stone);
  cursor: pointer;
  font: inherit;
  border-radius: 2px;
}
.ops-composer__nav-btn:hover,
.lp-composer__nav-btn:hover {
  border-color: var(--line-soft);
  background: var(--pine-900);
}
.ops-composer__nav-btn.is-active,
.lp-composer__nav-btn.is-active {
  border-color: rgba(200, 168, 107, .35);
  background: var(--pine-900);
  color: var(--ivory);
  box-shadow: inset 3px 0 0 var(--gold);
}
.ops-composer__nav-label,
.lp-composer__nav-label {
  font-size: .88rem;
  font-weight: 500;
  color: inherit;
}
.ops-composer__nav-hint,
.lp-composer__nav-hint {
  font-size: .72rem;
  color: var(--stone);
  line-height: 1.35;
}
.ops-composer__nav-btn.is-active .ops-composer__nav-hint,
.ops-composer__nav-btn.is-active .lp-composer__nav-hint,
.lp-composer__nav-btn.is-active .lp-composer__nav-hint { color: rgba(244, 239, 229, .55); }
.ops-composer__nav-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.ops-composer__panels,
.lp-composer__panels { min-width: 0; }
.ops-composer__panel,
.lp-composer__panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ops-composer__panel-head,
.lp-composer__panel-head {
  padding: .15rem 0 .35rem;
  border-bottom: 1px solid var(--line-soft);
}
.ops-composer__panel-head h2,
.lp-composer__panel-head h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: 500;
  color: var(--ivory);
}
.ops-composer__panel-head p,
.lp-composer__panel-head p {
  margin: .4rem 0 0;
  font-size: .86rem;
  color: var(--stone);
  max-width: 36rem;
}
.ops-composer .ops-field-group {
  margin: 0;
  border-radius: 2px;
}
.ops-composer .ops-field-group__head h3 {
  margin: 0;
  font-size: .95rem;
  font-weight: 500;
  color: var(--ivory);
}
.ops-composer .ops-field-group__head p { margin: .3rem 0 0; font-size: .78rem; }
.ops-composer__fields,
.lp-composer__fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: .85rem;
  margin-top: .85rem;
}
.ops-composer__fields--2,
.lp-composer__fields--2 {
  grid-template-columns: 1fr;
}
.ops-composer__fields--3,
.lp-composer__fields--3 {
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  .ops-composer__fields--2,
  .lp-composer__fields--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ops-composer__fields--3,
  .lp-composer__fields--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.ops-composer__field--full,
.lp-composer__field--full { grid-column: 1 / -1; }
.ops-composer .ops-field span {
  font-size: .72rem;
  letter-spacing: .1em;
  margin-bottom: .15rem;
}
.ops-composer .ops-field input,
.ops-composer .ops-field textarea {
  padding: .55rem .65rem;
  font-size: .88rem;
  line-height: 1.45;
}
.ops-composer .ops-field textarea {
  min-height: 4.5rem;
  resize: vertical;
}
.ops-composer__stats,
.lp-composer__stats {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-top: .85rem;
}
.ops-composer__stat-row,
.lp-composer__stat-row {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: .65rem;
  padding: .55rem .65rem;
  border: 1px dashed var(--line-soft);
  background: var(--pine-900);
}
@media (max-width: 520px) {
  .ops-composer__stat-row,
  .lp-composer__stat-row { grid-template-columns: 1fr; }
}
.ops-composer__save,
.lp-composer__save {
  display: flex;
  justify-content: flex-start;
  padding-top: .25rem;
}
.ops-composer__repeater,
.lp-composer__repeater { margin-top: 0; }
.ops-composer .ops-repeater-list,
.ops-composer .lp-repeater-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin: .85rem 0 0;
}
.ops-composer .ops-repeater-card,
.ops-composer .lp-repeater-card {
  border: 1px solid var(--line-soft);
  background: var(--pine-900);
  overflow: hidden;
}
.ops-composer .ops-repeater-card__head,
.ops-composer .lp-repeater-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .5rem .75rem;
  border-bottom: 1px solid var(--line-soft);
  background: rgba(11, 18, 13, .45);
}
.ops-composer .ops-repeater-card__title,
.ops-composer .lp-repeater-card__title {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .82rem;
  font-weight: 500;
  color: var(--gold-soft);
}
.ops-composer .ops-repeater-card__body,
.ops-composer .lp-repeater-card__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: .65rem;
  padding: .75rem;
}
.ops-composer .ops-repeater-card__body--2,
.ops-composer .lp-repeater-card__body--2 {
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .ops-composer .ops-repeater-card__body--2,
  .ops-composer .lp-repeater-card__body--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ops-composer .ops-repeater-card__field label,
.ops-composer .lp-repeater-card__field label {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.ops-composer .ops-repeater-card__field span,
.ops-composer .lp-repeater-card__field span {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--stone);
}
.ops-composer .ops-repeater-card__field input,
.ops-composer .ops-repeater-card__field textarea,
.ops-composer .lp-repeater-card__field input,
.ops-composer .lp-repeater-card__field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: .5rem .6rem;
  background: var(--forest-deep);
  border: 1px solid var(--line-soft);
  color: var(--ivory);
  font: inherit;
  font-size: .86rem;
}
.ops-composer .ops-repeater-card__field textarea,
.ops-composer .lp-repeater-card__field textarea { min-height: 5rem; resize: vertical; }
.ops-composer .ops-repeater-card__field--full,
.ops-composer .lp-repeater-card__field--full { grid-column: 1 / -1; }
.ops-composer .ops-repeater-card__actions,
.ops-composer .lp-repeater-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  padding: .55rem .75rem .7rem;
  border-top: 1px solid var(--line-soft);
}
.ops-composer .ops-repeater-add,
.ops-composer .lp-repeater-add {
  margin-top: .65rem;
}
.ops-composer .ops-drag {
  cursor: grab;
  color: var(--stone);
  font-size: .9rem;
  user-select: none;
}
.ops-composer__save--row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.ops-composer .ops-preview__frame .ops-preview-stay-page,
#lpPreview .ops-preview-stay-page {
  font-size: .78rem;
  line-height: 1.45;
}
.ops-composer .ops-preview__frame .ops-preview-stay-page h2,
#lpPreview .ops-preview-stay-page h2 {
  font-size: 1.1rem;
  margin: .35rem 0;
}
.ops-composer .ops-preview__frame .ops-preview-stay-page h3,
#lpPreview .ops-preview-stay-page h3 {
  font-size: .82rem;
  margin: .75rem 0 .35rem;
  color: var(--gold-soft);
}
