/* 91jav admin · minimal content console
   Style follows the existing white, quiet, table-first admin system. */
:root {
  --bg: #ffffff;
  --bg-subtle: #fafafa;
  --bg-hover: #f4f4f5;
  --text: #18181b;
  --text-muted: #71717a;
  --text-disabled: #a1a1aa;
  --border: #e4e4e7;
  --solid: #18181b;
  --solid-hover: #27272a;
  --on-solid: #ffffff;
  --danger: #dc2626;
  --danger-bg: #fef2f2;
  --success: #16a34a;
  --success-bg: #f0fdf4;
  --warning: #ca8a04;
  --warning-bg: #fefce8;
  --sidebar-w: 240px;
  --topbar-h: 56px;
  --radius: 6px;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin: 0; }

.layout { display: flex; min-height: 100vh; }
.sidebar {
  width: var(--sidebar-w);
  flex: none;
  border-right: 1px solid var(--border);
  background: var(--bg);
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
}
.sidebar__brand {
  height: var(--topbar-h);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  border-bottom: 1px solid var(--border);
  font-size: 16px;
  font-weight: 600;
}
.mark {
  width: 24px;
  height: 24px;
  border-radius: var(--radius);
  background: var(--solid);
  color: var(--on-solid);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}
.sidebar__nav { flex: 1; overflow-y: auto; padding: 8px; }
.sidebar__section-title {
  color: var(--text-disabled);
  font-size: 12px;
  padding: 12px 12px 4px;
}
.nav-item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: var(--radius);
  border: 0;
  border-left: 2px solid transparent;
  background: transparent;
  color: var(--text-muted);
  text-align: left;
  white-space: nowrap;
}
.nav-item:hover { background: var(--bg-hover); color: var(--text); text-decoration: none; }
.nav-item.is-active {
  background: var(--bg-hover);
  color: var(--text);
  border-left-color: var(--solid);
  font-weight: 600;
}
.nav-ico { width: 16px; text-align: center; color: var(--text-disabled); flex: none; }
.sidebar__foot { border-top: 1px solid var(--border); padding: 8px; }

.main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.topbar {
  height: var(--topbar-h);
  flex: none;
  border-bottom: 1px solid var(--border);
  background: var(--bg);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  position: sticky;
  top: 0;
  z-index: 10;
}
.breadcrumb { color: var(--text-muted); display: flex; align-items: center; gap: 6px; }
.breadcrumb__current { color: var(--text); font-weight: 500; }
.topbar__spacer { flex: 1; }
.topbar__account {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-muted);
  padding: 4px 8px;
  border-radius: var(--radius);
}
.topbar__account:hover { background: var(--bg-hover); color: var(--text); }

.content { flex: 1; padding: 24px; max-width: 100%; }
.form-page { max-width: 760px; margin: 0 auto; }
.page-head { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.page-title { font-size: 20px; font-weight: 600; }
.page-subtitle { color: var(--text-muted); margin-top: 4px; font-size: 13px; }
.page-head__actions { margin-left: auto; display: flex; gap: 8px; align-items: center; }

.btn {
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  font-weight: 500;
  white-space: nowrap;
}
.btn:hover { background: var(--bg-hover); text-decoration: none; }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.btn--primary { background: var(--solid); color: var(--on-solid); border-color: var(--solid); }
.btn--primary:hover { background: var(--solid-hover); }
.btn--danger { color: var(--danger); }
.btn--danger:hover { background: var(--danger-bg); border-color: var(--danger); }
.btn--ghost { border-color: transparent; background: transparent; }
.btn--sm { height: 28px; padding: 0 10px; font-size: 13px; }
.btn--icon { width: 32px; padding: 0; }

.toolbar { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.toolbar--dense { margin-bottom: 12px; }
.toolbar__spacer { flex: 1; }
.searchbox {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-muted);
  min-width: 220px;
}
.searchbox input { border: 0; outline: 0; flex: 1; min-width: 0; background: transparent; color: var(--text); }
.select, .input, .textarea {
  width: 100%;
  height: 36px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  outline: 0;
}
.toolbar .select { width: auto; height: 32px; }
.mfilter { position: relative; flex: none; }
.mfilter__btn {
  height: 32px;
  min-width: 112px;
  max-width: 190px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.mfilter__btn span { font-size: 12px; flex: none; }
.mfilter__btn b { color: var(--text); font-weight: 500; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mfilter.is-active .mfilter__btn { border-color: var(--solid); background: var(--bg-subtle); }
.mfilter__panel {
  display: none;
  position: absolute;
  top: 36px;
  left: 0;
  z-index: 30;
  width: 230px;
  max-width: calc(100vw - 24px);
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .14);
}
.mfilter.is-open .mfilter__panel { display: block; }
.mfilter.is-align-end .mfilter__panel { left: auto; right: 0; }
.mfilter__search {
  width: 100%;
  height: 30px;
  padding: 0 9px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  outline: 0;
}
.mfilter__search:focus { border-color: var(--solid); }
.mfilter__ops { display: flex; align-items: center; justify-content: space-between; padding: 7px 2px 5px; color: var(--text-muted); font-size: 12px; }
.mfilter__ops button { border: 0; background: transparent; color: var(--solid); padding: 0; cursor: pointer; font-size: 12px; }
.mfilter__list { max-height: 238px; overflow: auto; display: grid; gap: 2px; }
.mfilter__option {
  width: 100%;
  height: 30px;
  border: 0;
  border-radius: var(--radius);
  background: transparent;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 8px;
  cursor: pointer;
  text-align: left;
}
.mfilter__option:hover { background: var(--bg-subtle); }
.mfilter__option span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mfilter__check { width: 14px; height: 14px; border: 1px solid var(--border); border-radius: 3px; flex: none; position: relative; }
.mfilter__option.is-selected .mfilter__check { border-color: var(--solid); background: var(--solid); }
.mfilter__option.is-selected .mfilter__check::after { content: ''; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.textarea { min-height: 96px; height: auto; padding: 10px 12px; resize: vertical; }
.textarea--code { min-height: 170px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; line-height: 1.6; }
.input:focus, .select:focus, .textarea:focus { border-color: var(--solid); }
.input::placeholder, .textarea::placeholder { color: var(--text-disabled); }

.table-wrap { border: 1px solid var(--border); border-radius: var(--radius); overflow-x: auto; overflow-y: hidden; }
.table { width: 100%; min-width: 1080px; border-collapse: collapse; font-size: 13px; }
.table th, .table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.table th { background: var(--bg-subtle); color: var(--text-muted); font-size: 12px; font-weight: 500; }
.table tbody tr:last-child td { border-bottom: 0; }
.table tbody tr:hover { background: var(--bg-subtle); }
.table .cell-truncate { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cell-title-col { min-width: 220px; max-width: 320px; }
.cell-title a { font-weight: 600; }
.cell-sub { margin-top: 3px; color: var(--text-muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.table .col-actions { text-align: right; white-space: nowrap; }
.row-actions { display: inline-flex; gap: 4px; }
.muted { color: var(--text-muted); }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

.table-wrap--ad-items .table { min-width: 980px; table-layout: fixed; }
.table-wrap--ad-items th,
.table-wrap--ad-items td { vertical-align: top; }
.table-wrap--ad-items .ad-col-main { width: 30%; }
.table-wrap--ad-items .ad-col-scope { width: 28%; }
.table-wrap--ad-items .ad-col-material { width: 18%; }
.table-wrap--ad-items .ad-col-rule { width: 18%; }
.table-wrap--ad-items .col-actions { width: 188px; }
.table-wrap--ad-items .row-actions { gap: 6px; justify-content: flex-end; }
.table-wrap--collections .table { min-width: 1120px; }
.table-wrap--collections .col-actions { width: 230px; }
.table-wrap--collections .row-actions { gap: 6px; justify-content: flex-end; }
.table-wrap--partner-sites .table { min-width: 920px; }
.table-wrap--partner-sites .col-actions { width: 180px; }
.partner-site-guide { margin-bottom: 12px; }
.ad-list-main,
.ad-list-stack {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.ad-list-title {
  display: flex;
  align-items: center;
  min-width: 0;
}
.ad-list-title a,
.ad-list-strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
  font-weight: 600;
}
.ad-list-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.ad-list-tags--tight { gap: 4px; }
.ad-list-line {
  min-width: 0;
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ad-list-line--wrap {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
}

.thumb {
  background: var(--bg-hover);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-disabled);
  overflow: hidden;
  flex: none;
  border: 1px solid var(--border);
}
.thumb img { width: 100%; height: 100%; object-fit: cover; }
.thumb--16x9 { width: 64px; height: 36px; }
.thumb--2x3 { width: 45px; height: 68px; }
.thumb--3x4 { width: 45px; height: 60px; }
.thumb--1x1 { width: 48px; height: 48px; border-radius: 50%; }
.thumb--logo { width: 48px; height: 48px; border-radius: var(--radius); }
.uploader { display: flex; gap: 12px; align-items: center; }
.uploader .thumb { width: 120px; height: 68px; }
.uploader .thumb--1x1 { width: 72px; height: 72px; }
.uploader .thumb--3x4 { width: 72px; height: 96px; }
.uploader__main { flex: 1; min-width: 0; }
.file-input { display: none; }
.upload-preview {
  width: 120px;
  height: 68px;
  flex: none;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
  color: var(--text-muted);
  display: grid;
  place-items: center;
  overflow: hidden;
  font-size: 12px;
  text-align: center;
}
.upload-preview span {
  max-width: 100%;
  padding: 0 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.upload-preview img,
.upload-preview video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.upload-preview--video {
  background: repeating-linear-gradient(135deg, #f4f4f5 0 8px, #fafafa 8px 16px);
}
.row-actions--left { justify-content: flex-start; margin-bottom: 4px; }
.video-upload-task > .field { margin-bottom: 10px; }
.upload-task__panel {
  margin: 0 0 20px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
}
.upload-task__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.upload-task__head strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
}
.upload-task__head span:not(.badge) {
  display: block;
  margin-top: 3px;
  color: var(--text-muted);
  font-size: 12px;
}
.upload-task__bars {
  display: grid;
  gap: 8px;
}
.upload-task__bar {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 8px;
  color: var(--text-muted);
  font-size: 12px;
}
.upload-task__bar i {
  position: relative;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--bg-hover);
}
.upload-task__bar b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--solid);
  transition: width .18s ease;
}
.upload-task__bar em {
  font-style: normal;
  text-align: right;
}
.upload-task__actions { margin: 12px 0 0; }
.batch-upload__actions { margin: 0 0 12px; }
.batch-upload__summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}
.batch-upload__list {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}
.batch-upload-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.2fr) minmax(150px, 1.2fr) minmax(180px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
}
.batch-upload-row strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
}
.batch-upload-row > div > span:not(.badge) {
  display: block;
  margin-top: 3px;
  color: var(--text-muted);
  font-size: 12px;
}
.batch-upload-row__bars {
  display: grid;
  gap: 6px;
}
.video-chapters {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
}
.video-chapters__list {
  display: grid;
  gap: 8px;
  margin: 12px 0 10px;
}
.video-chapters__empty {
  padding: 10px 12px;
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  background: var(--bg);
}
.video-chapter-row {
  display: grid;
  grid-template-columns: 28px minmax(120px, 1fr) 94px minmax(105px, 1fr) 112px auto;
  gap: 8px;
  align-items: center;
}
.chapter-highlight-duration { position: relative; }
.chapter-highlight-duration .input { padding-right: 28px; }
.chapter-highlight-duration span { position: absolute; right: 9px; top: 8px; color: var(--text-muted); font-size: 12px; pointer-events: none; }
.chapter-highlight-duration .input--error { border-color: var(--danger); box-shadow: 0 0 0 2px rgba(220, 38, 38, .08); }
.chapter-highlight-duration small { display: block; margin-top: 4px; color: var(--danger); font-size: 11px; line-height: 1.35; }
.chapter-region-error { margin: 0 0 10px; padding: 8px 10px; border: 1px solid rgba(220, 38, 38, .22); border-radius: var(--radius); background: var(--danger-bg); color: var(--danger); }
.chapter-hover-pick {
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text-muted);
  font-size: 12px;
  white-space: nowrap;
}
.chapter-hover-pick input { margin: 0; }
.video-chapter-row__index {
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text-muted);
  font-size: 12px;
}
.video-chapters__actions { margin-bottom: 0; }
.video-chapters__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.video-chapters__head .field__label { margin-bottom: 0; }
.hover-upload-override { margin: 4px 0 20px; padding: 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-subtle); }
.hover-upload-override.is-upload-active { border-color: var(--success); background: var(--success-bg); box-shadow: inset 0 0 0 1px rgba(22, 163, 74, .08); }
.hover-effective-source { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; padding: 14px; border: 1px solid var(--solid); border-radius: 7px; background: var(--bg); box-shadow: inset 3px 0 0 var(--solid); }
.hover-upload-override.is-upload-active .hover-effective-source { border-color: var(--success); box-shadow: inset 4px 0 0 var(--success), var(--shadow-sm); }
.hover-upload-override.is-upload-active .hover-effective-source b { color: var(--success); }
.hover-effective-source > div { min-width: 0; }
.hover-effective-source span:first-child { display: block; margin-bottom: 4px; color: var(--text-muted); font-size: 11px; }
.hover-effective-source b { display: block; font-size: 15px; }
.hover-effective-source p { margin: 5px 0 0; color: var(--text-muted); font-size: 12px; line-height: 1.55; text-wrap: pretty; }
.hover-effective-source > .badge { flex: none; }
.hover-override-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.hover-override-head .field__label { margin-bottom: 3px; }
.hover-upload-name-row { display: flex; align-items: center; gap: 8px; }
.hover-upload-override.is-upload-active .hover-upload-state { border-color: var(--success); background: var(--bg); box-shadow: var(--shadow-sm); }
.hover-upload-override.is-upload-active [data-hover-upload-name] { color: var(--success); }
.section-kicker { color: var(--text-muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.hover-mode-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.hover-mode-card { position: relative; display: grid; gap: 2px; min-height: 60px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg); cursor: pointer; }
.hover-mode-card:hover { background: var(--bg-subtle); }
.hover-mode-card.is-active { border-color: var(--solid); box-shadow: inset 0 0 0 1px var(--solid); }
.hover-mode-card input { position: absolute; top: 12px; right: 12px; }
.hover-mode-card b { padding-right: 20px; font-size: 13px; }
.hover-mode-card span { color: var(--text-muted); font-size: 12px; line-height: 1.45; }
.hover-upload-state, .hover-segments-head, .hover-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-subtle); }
.hover-upload-state b, .hover-segments-head b { display: block; font-size: 13px; }
.hover-upload-state span, .hover-segments-head span { display: block; margin-top: 3px; color: var(--text-muted); font-size: 12px; }
.hover-segment-list { display: grid; gap: 8px; margin: 10px 0; }
.hover-segment-row { display: grid; grid-template-columns: 28px minmax(170px, 1.3fr) 110px minmax(130px, .8fr) auto; gap: 8px; align-items: end; padding: 11px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg); }
.hover-segment-row.is-invalid { border-color: #d83a3a; background: #fff8f8; }
.hover-segment-row.is-invalid .hover-segment-result b { color: #b42318; }
.hover-segment-row label, .hover-segment-result span { display: block; margin-bottom: 5px; color: var(--text-muted); font-size: 11px; }
.hover-segment-row__index { align-self: center; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--solid); color: #fff; font-size: 12px; }
.hover-duration-input { position: relative; }
.hover-duration-input .input { padding-right: 30px; }
.hover-duration-input span { position: absolute; right: 9px; top: 8px; color: var(--text-muted); font-size: 12px; }
.hover-segment-result { align-self: center; }
.hover-segment-result b { font-size: 12px; font-weight: 600; }
.hover-segment-actions { display: flex; gap: 4px; align-self: center; }
.hover-empty, .hover-off-note { padding: 18px; border: 1px dashed var(--border); border-radius: 6px; background: var(--bg-subtle); color: var(--text-muted); font-size: 13px; text-align: center; }
.hover-total { padding-block: 10px; color: var(--text-muted); font-size: 12px; }
.hover-total b { color: var(--text); }

.review-cover-thumb {
  width: 54px;
  height: 72px;
  border-radius: 6px;
}
.review-cover-crop {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  background: var(--bg-subtle);
  margin-bottom: 20px;
}
.review-cover-crop > .field { margin-bottom: 14px; }
.review-cover-crop__demo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: -4px 0 14px;
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.45;
}
.review-cover-crop__demo span { min-width: 0; }
.review-cover-crop__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(150px, .65fr);
  gap: 12px;
  align-items: start;
}
.review-cover-crop__panel {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.review-cover-crop__label {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--text-muted);
  font-size: 12px;
}
.review-cover-crop__label b {
  color: var(--text);
  font-size: 13px;
}
.review-cover-crop__original,
.review-cover-crop__portrait {
  position: relative;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text-disabled);
  display: grid;
  place-items: center;
  overflow: hidden;
  min-width: 0;
}
.review-cover-crop__original {
  aspect-ratio: 16 / 9;
}
.review-cover-crop__portrait {
  width: min(156px, 100%);
  aspect-ratio: 3 / 4;
}
.review-cover-crop__original img,
.review-cover-crop__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.review-cover-crop__original span,
.review-cover-crop__portrait span {
  padding: 0 10px;
  max-width: 100%;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.review-cover-crop__window {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 42.1875%;
  border: 2px solid #fff;
  border-radius: calc(var(--radius) - 2px);
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 0 0 999px rgba(17, 24, 39, .2);
  pointer-events: none;
}
.short-cover-crop__window {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 37.5%;
  border: 2px solid #fff;
  border-radius: calc(var(--radius) - 2px);
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 0 0 999px rgba(17, 24, 39, .2);
  pointer-events: none;
}
.short-cover-crop__portrait {
  aspect-ratio: 2 / 3;
  width: min(156px, 100%);
}
.review-cover-crop__control {
  margin-top: 12px;
}
.review-cover-crop__control-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}
.review-cover-crop__control-head .field__label { margin-bottom: 6px; }
.review-cover-crop__control-head span {
  color: var(--text-muted);
  font-size: 12px;
}
.range {
  width: 100%;
  accent-color: var(--solid);
  cursor: pointer;
}
.review-cover-crop__scale {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
  color: var(--text-muted);
  font-size: 12px;
}
.review-cover-crop__scale b {
  color: var(--text);
  font-weight: 600;
}

.badge {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: var(--radius);
  background: var(--bg-hover);
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  flex: none;
}
.badge--success { background: var(--success-bg); color: var(--success); }
.badge--warning { background: var(--warning-bg); color: var(--warning); }
.badge--danger { background: var(--danger-bg); color: var(--danger); }

.pagination { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 16px; color: var(--text-muted); }
.pagination__pages { display: flex; gap: 4px; }
.empty { text-align: center; padding: 64px 24px; color: var(--text-muted); }
.empty__title { font-size: 16px; color: var(--text); font-weight: 500; margin-bottom: 4px; }
.empty__desc { margin-bottom: 16px; }

.field { margin-bottom: 20px; }
.field__label { display: block; font-weight: 500; margin-bottom: 6px; }
.req { color: var(--danger); margin-left: 2px; }
.field__hint { font-size: 12px; color: var(--text-muted); margin-top: 6px; }
.field__error { display: none; font-size: 12px; color: var(--danger); margin-top: 6px; }
.field.has-error .field__error { display: block; }
.field.has-error .input,
.field.has-error .select,
.field.has-error .textarea { border-color: var(--danger); }
.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 16px;
  margin-top: 24px;
  border-top: 1px solid var(--border);
}
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.grid-2--compact { gap: 10px; }
.grid-2--compact .field { margin-bottom: 0; }
.measure-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.measure-grid .field { margin-bottom: 0; }
.measure-grid .field__label { color: var(--text-muted); font-size: 12px; }
.seo-block { border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; background: var(--bg-subtle); margin-top: 8px; }
.tdk-builder { display: grid; gap: 14px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.seo-block > .tdk-builder { padding: 0; border: 0; background: transparent; }
.tdk-builder__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.tdk-builder__head strong { display: block; font-size: 15px; color: var(--text); }
.tdk-builder__head p { margin: 4px 0 0; color: var(--text-muted); font-size: 12px; line-height: 1.55; }
.tdk-builder__head > span { flex: 0 0 auto; padding: 4px 8px; color: #2f7d5a; border-radius: 999px; background: #edf8f1; font-size: 11px; }
.tdk-builder__field { display: grid; gap: 7px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcfd; }
.tdk-builder__field > label { display: grid; gap: 6px; }
.tdk-builder__field > label > span { color: var(--text); font-size: 13px; font-weight: 600; }
.tdk-builder__field > label > span b { color: var(--danger); }
.tdk-builder__field textarea { width: 100%; resize: vertical; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text); font: 13px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; outline: none; }
.tdk-builder__field textarea:focus { border-color: #4f8fcf; box-shadow: 0 0 0 3px rgba(79,143,207,.12); }
.tdk-builder__field small { color: var(--text-muted); font-size: 11px; }
.tdk-builder__limit:empty { display: none; }
.tdk-builder__limit { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-height: 18px; color: var(--text-muted); font-size: 11px; }
.tdk-builder__limit > span { flex: none; font-variant-numeric: tabular-nums; font-weight: 650; }
.tdk-builder__limit > small { text-align: right; }
.tdk-builder__limit.is-warning { color: #9a6700; }
.tdk-builder__limit.is-warning > small { color: #9a6700; }
.tdk-builder__limit.is-error { margin: 0 -4px; padding: 7px 8px; border: 1px solid #fecaca; border-radius: 7px; color: var(--danger); background: var(--danger-bg); }
.tdk-builder__limit.is-error > small { color: var(--danger); }
.tdk-builder__field:has(.tdk-builder__limit.is-error) textarea { border-color: var(--danger); box-shadow: 0 0 0 3px rgba(220,38,38,.08); }
.tdk-builder__variables { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding-top: 2px; }
.tdk-builder__variables > span { margin-right: 2px; color: var(--text-muted); font-size: 11px; }
.tdk-builder__variables button { padding: 5px 8px; color: #356f9f; border: 1px solid rgba(79,143,207,.28); border-radius: 6px; background: #fff; font-size: 11px; cursor: pointer; }
.tdk-builder__variables button:hover { border-color: #4f8fcf; background: #f0f7fd; }
.tdk-builder__variables button.is-more { display: none; }
.tdk-builder__field.show-all-vars .tdk-builder__variables button.is-more { display: inline-flex; }
.tdk-builder__multi:empty { display: none; }
.tdk-builder__multi { display: grid; gap: 8px; margin-top: 2px; padding: 9px 10px; border: 1px solid #bcd6ee; border-radius: 8px; background: #f4f9fd; }
.tdk-builder__multi-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.tdk-builder__multi-head strong { color: #285f8e; font-size: 12px; }
.tdk-builder__multi-head span { color: var(--text-muted); font-size: 11px; }
.tdk-builder__multi label { display: grid; grid-template-columns: minmax(130px,1fr) auto; align-items: center; gap: 10px; padding: 7px 9px; border: 1px solid #d7e6f2; border-radius: 7px; background: #fff; }
.tdk-builder__multi label > span { display: grid; gap: 2px; }
.tdk-builder__multi label small { color: var(--text-muted); font-size: 10px; }
.tdk-builder__multi b { color: var(--text); font-size: 11px; }
.tdk-builder__multi select { padding: 5px 24px 5px 7px; border: 1px solid var(--border); border-radius: 6px; background: #fff; color: var(--text); font-size: 11px; }
.tdk-builder__preview { padding: 14px 16px; border: 1px solid #dfe6ec; border-radius: 10px; background: #fff; }
.tdk-builder__preview > div:first-child { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: var(--text-muted); font-size: 11px; }
.tdk-builder__preview > div:first-child span { display: flex; align-items: center; gap: 8px; }
.tdk-builder__preview > div:first-child i { padding: 2px 6px; border-radius: 999px; background: #f2eef9; color: #681da8; font-size: 10px; font-style: normal; }
.tdk-builder__preview strong { display: block; color: #1a0dab; font-size: 17px; font-weight: 500; line-height: 1.35; }
.tdk-builder__preview p { margin: 5px 0 2px; color: #4d5156; font-size: 12px; line-height: 1.55; }
.tdk-builder__preview em { display: block; margin-bottom: 4px; color: #3c4043; font-size: 11px; font-style: normal; }
.tdk-builder__keyword-preview { margin-top: 8px; color: var(--text-muted); font-size: 11px; }
.tdk-builder__preview [data-tdk-preview-part] { margin-left: -7px; padding-left: 7px; border-left: 2px solid transparent; transition: opacity .16s ease, border-color .16s ease; }
.tdk-builder.has-active-preview .tdk-builder__preview [data-tdk-preview-part]:not(.is-active) { opacity: .38; }
.tdk-builder__preview [data-tdk-preview-part].is-active { border-left-color: #681da8; }
.tdk-preview-token { padding: 0; background: transparent; color: inherit; font: inherit; }
.tdk-preview-token.is-active { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.tdk-builder__preview strong { color: #681da8; }
.tdk-builder__foot { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.tdk-builder__foot > button { padding: 0; color: #4f8fcf; border: 0; background: none; font-size: 12px; cursor: pointer; }
.tdk-builder__foot details { max-width: 70%; color: var(--text-muted); font-size: 11px; }
.tdk-builder__foot summary { cursor: pointer; text-align: right; }
.tdk-builder__foot pre { max-height: 130px; overflow: auto; padding: 10px; border-radius: 7px; background: #171a1e; color: #d8e5ef; white-space: pre-wrap; overflow-wrap: anywhere; }
.seo-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 280px)); gap: 8px; margin: -8px 0 12px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
.seo-tab { display: grid; gap: 2px; min-height: 56px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); color: var(--text-muted); text-align: left; }
.seo-tab:hover { background: var(--bg-hover); }
.seo-tab b { color: var(--text); font-size: 13px; }
.seo-tab span { font-size: 11px; }
.seo-tab.is-active { border-color: var(--solid); background: var(--bg-subtle); box-shadow: inset 3px 0 0 var(--solid); }
.seo-view-intro { display: flex; align-items: baseline; gap: 10px; margin: 12px 0; }
.seo-view-intro strong { font-size: 15px; }
.seo-view-intro span, .seo-page-count { color: var(--text-muted); font-size: 12px; }
.seo-url-query { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(420px, 1.25fr); align-items: center; gap: 20px; margin-bottom: 12px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-subtle); }
.seo-url-query > div:first-child { display: grid; gap: 3px; }
.seo-url-query strong { font-size: 13px; }
.seo-url-query span { color: var(--text-muted); font-size: 11px; }
.seo-url-query code, .seo-url-path, .seo-url-editor-head code { color: #52525b; font: 11px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.seo-url-query__action { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.seo-url-page { display: grid; gap: 2px; min-width: 180px; }
.seo-url-page strong { max-width: 320px; overflow: hidden; color: var(--text); font-size: 13px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.seo-url-page span { color: var(--text-muted); font-size: 11px; }
.seo-url-editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; padding: 13px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-subtle); }
.seo-url-editor-head > div { display: grid; gap: 3px; min-width: 0; }
.seo-url-editor-head > div > span { color: var(--text-muted); font-size: 11px; }
.seo-url-editor-head strong { font-size: 14px; }
.seo-url-priority { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; padding: 10px 12px; border: 1px solid #dbe4eb; border-radius: 8px; background: #f8fafc; font-size: 11px; }
.seo-url-priority strong { margin-right: 3px; font-size: 12px; }
.seo-url-priority span { padding: 3px 7px; border-radius: 5px; background: #fff; color: var(--text-muted); }
.seo-url-priority i { color: var(--text-disabled); font-style: normal; }
.seo-url-priority small { flex-basis: 100%; color: var(--text-muted); }
.tdk-builder__field > label > span { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.seo-field-source { margin-left: auto; padding: 2px 6px; border-radius: 999px; background: #f4f4f5; color: var(--text-muted); font-size: 10px; font-weight: 500; }
.seo-field-source.is-custom { background: var(--success-bg); color: var(--success); }
.seo-field-restore { padding: 0; border: 0; background: transparent; color: #356f9f; font-size: 10px; }
.seo-field-restore:disabled { color: var(--text-disabled); cursor: default; }
.seo-canonical { display: grid; gap: 9px; margin-top: 14px; padding: 15px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.seo-canonical__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 2px; }
.seo-canonical__head strong { display: block; font-size: 14px; }
.seo-canonical__head p { margin-top: 3px; color: var(--text-muted); font-size: 11px; line-height: 1.55; }
.seo-canonical__head > span { flex: none; padding: 3px 7px; border-radius: 999px; background: #f4f4f5; color: var(--text-muted); font-size: 10px; }
.seo-canonical-option { display: flex; align-items: flex-start; gap: 9px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 8px; cursor: pointer; }
.seo-canonical-option:hover { background: var(--bg-subtle); }
.seo-canonical-option.is-active { border-color: #8bb6d8; background: #f4f9fd; box-shadow: inset 3px 0 0 #4f8fcf; }
.seo-canonical-option input { margin-top: 3px; }
.seo-canonical-option span { display: grid; gap: 2px; min-width: 0; }
.seo-canonical-option b { font-size: 12px; }
.seo-canonical-option small { color: var(--text-muted); font-size: 11px; overflow-wrap: anywhere; }
.seo-canonical-target { display: grid; gap: 7px; margin-top: 2px; padding: 12px; border: 1px solid #dbe4eb; border-radius: 8px; background: #f8fafc; }
.seo-canonical-result { display: grid; grid-template-columns: auto minmax(120px, 1fr) auto; align-items: center; gap: 8px; min-height: 34px; padding: 7px 9px; border: 1px dashed var(--border); border-radius: 7px; color: var(--text-muted); font-size: 11px; }
.seo-canonical-result.is-valid { border-style: solid; border-color: #b9dfc6; background: var(--success-bg); }
.seo-canonical-result.is-valid > span { color: var(--success); }
.seo-canonical-result.is-invalid { border-style: solid; border-color: #fecaca; background: var(--danger-bg); color: var(--danger); }
.seo-canonical-result strong { overflow: hidden; color: var(--text); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.seo-canonical-result code { color: #52525b; font: 10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.upload-preview--1x1 {
  width: 72px;
  height: 72px;
  border-radius: 50%;
}
.upload-preview--3x4 {
  width: 72px;
  height: 96px;
}
.upload-preview--16x9 {
  width: 120px;
  height: 68px;
}
.image-crop {
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
}
.image-crop > .field { margin-bottom: 0; }
.image-crop__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.image-crop__panel {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.image-crop__label {
  display: flex;
  gap: 8px;
  align-items: baseline;
  flex-wrap: wrap;
}
.image-crop__label b,
.image-crop__control-head .field__label {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
}
.image-crop__label span,
.image-crop__control-head span {
  color: var(--text-muted);
  font-size: 12px;
}
.image-crop__original,
.image-crop__target {
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
  color: var(--text-muted);
  font-size: 12px;
}
.image-crop__original {
  width: 100%;
  min-height: 150px;
  aspect-ratio: 16 / 10;
}
.image-crop__original img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.image-crop__target img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.image-crop__target--1x1 {
  width: 132px;
  height: 132px;
  border-radius: 50%;
}
.image-crop__target--3x4 {
  width: 132px;
  height: 176px;
}
.image-crop__target--2x3 {
  width: 132px;
  height: 198px;
}
.image-crop__target--16x9 {
  width: 220px;
  height: 124px;
}
.image-crop__controls {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
}
.image-crop__control {
  display: grid;
  gap: 6px;
}
.image-crop__control.is-disabled {
  opacity: .62;
}
.image-crop__control.is-disabled .range {
  cursor: not-allowed;
}
.image-crop__control-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.actress-portrait-crop {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
  margin-bottom: 20px;
}
.actress-portrait-crop > .field { margin-bottom: 0; }
.actress-portrait-crop__demo { margin: -2px 0 0; }
.actress-portrait-crop__grid {
  grid-template-columns: minmax(0, 1fr) auto;
}
.actress-portrait-crop__original {
  position: relative;
  min-height: 300px;
  aspect-ratio: 4 / 3;
  background: var(--bg);
}
.actress-portrait-crop__original img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.actress-portrait-crop__window {
  position: absolute;
  display: none;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 6px;
  pointer-events: none;
  z-index: 2;
}
.actress-portrait-crop__window.is-visible { display: flex; }
.actress-portrait-crop__window b {
  padding: 2px 6px;
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  box-shadow: 0 1px 4px rgba(17, 24, 39, .18);
}
.actress-portrait-crop__window--avatar {
  border: 2px solid #2563eb;
  border-radius: 999px;
  background: rgba(37, 99, 235, .08);
}
.actress-portrait-crop__window--avatar b { background: #2563eb; }
.actress-portrait-crop__window--cover {
  border: 2px dashed #111827;
  border-radius: calc(var(--radius) - 2px);
  background: rgba(255, 255, 255, .1);
}
.actress-portrait-crop__window--cover b { background: #111827; }
.actress-portrait-crop__targets {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 12px;
  align-items: start;
}
.actress-portrait-crop__control-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.actress-works {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
  margin-bottom: 20px;
}
.actress-works__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  color: var(--text-muted);
  font-size: 12px;
}
.actress-works__head b { color: var(--text); font-size: 13px; font-weight: 600; }
.actress-works__tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.actress-works__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.actress-works__item {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
}
.actress-works__item div { min-width: 0; display: grid; gap: 3px; }
.actress-works__item b,
.actress-works__item span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.actress-works__item b { font-size: 12px; font-weight: 600; }
.actress-works__item span { color: var(--text-muted); font-size: 12px; }
.actress-works__empty {
  padding: 10px;
  color: var(--text-muted);
  font-size: 12px;
  text-align: center;
}
.richbox {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 10px;
  background: var(--bg-subtle);
}
.richbox__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}
.richbox__toolbar .richbox__format { flex: 0 0 92px; min-width: 92px; }
.richbox__toolbar .btn { flex: none; min-width: 32px; }
.richbox__editor {
  width: 100%;
  min-height: 136px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  outline: 0;
  line-height: 1.7;
}
.richbox__editor:focus { border-color: var(--solid); }
.richbox__editor:empty::before { content: attr(data-placeholder); color: var(--text-disabled); }
.richbox__editor a { color: #2563eb; text-decoration: underline; text-underline-offset: 2px; }
.richbox__editor p { margin: 0 0 10px; }
.richbox__editor p:last-child { margin-bottom: 0; }
.richbox__editor h2,
.richbox__editor h3 { margin: 12px 0 8px; line-height: 1.35; }
.richbox__editor h2 { font-size: 18px; }
.richbox__editor h3 { font-size: 15px; }
.richbox__editor ul,
.richbox__editor ol { margin: 8px 0 10px 20px; padding: 0; }
.richbox__editor li { margin: 4px 0; }
.section-title { font-size: 13px; font-weight: 600; color: var(--text-muted); margin: 12px 0 10px; }
.section-title--spaced { margin-top: 24px; }
.readonly-panel {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  background: var(--bg-subtle);
  margin-bottom: 20px;
}
.readonly-panel__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  color: var(--text-muted);
  font-size: 12px;
}
.readonly-panel__head b {
  color: var(--text);
  font-size: 13px;
}
.readonly-panel .field { margin-bottom: 0; }
.readonly-panel input[readonly] {
  background: var(--bg-hover);
  color: var(--text-muted);
  cursor: not-allowed;
}
.short-ratio-result {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
}
.short-ratio-result.is-warning {
  border-color: rgba(217,119,6,.34);
  background: var(--warning-bg);
}
.short-ratio-result small {
  color: var(--text-muted);
  font-size: 12px;
}
.short-metrics {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  color: var(--text-muted);
  font-size: 12px;
}
.short-metrics span {
  display: inline-flex;
  height: 22px;
  align-items: center;
  padding: 0 7px;
  border-radius: var(--radius);
  background: var(--bg-hover);
}
.short-preview-grid {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: 16px;
  align-items: start;
}
.short-preview-block {
  min-width: 0;
  display: grid;
  gap: 10px;
}
.short-preview-block__head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--text-muted);
  font-size: 12px;
}
.short-preview-block__head b {
  color: var(--text);
  font-size: 13px;
}
.short-card-preview {
  width: min(210px, 100%);
  display: grid;
  gap: 8px;
}
.short-card-preview__cover,
.short-phone-preview__screen {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
}
.short-card-preview__cover {
  aspect-ratio: 2 / 3;
}
.short-card-preview__cover img,
.short-phone-preview__screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.short-card-preview h3 {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
}
.short-card-preview__play,
.short-phone-preview__play {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(17, 24, 39, .72);
  color: #fff;
  font-size: 15px;
}
.short-card-preview__views,
.short-card-preview__dur,
.short-card-preview__landscape {
  position: absolute;
  z-index: 2;
  border-radius: var(--radius);
  background: rgba(17, 24, 39, .74);
  color: #fff;
  font-size: 11px;
  line-height: 1;
  padding: 5px 6px;
}
.short-card-preview__views { left: 8px; bottom: 8px; }
.short-card-preview__dur { right: 8px; bottom: 8px; }
.short-card-preview__landscape { left: 8px; top: 8px; }
.short-phone-preview {
  width: min(280px, 100%);
  display: grid;
  gap: 10px;
  padding: 10px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: #111827;
  color: #fff;
}
.short-phone-preview__screen {
  border-color: rgba(255,255,255,.12);
  background: #0f172a;
  aspect-ratio: 2 / 3;
}
.short-phone-preview.is-wide .short-phone-preview__screen {
  aspect-ratio: 16 / 9;
  margin-top: 54px;
  margin-bottom: 54px;
}
.short-phone-preview__meta {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.short-phone-preview__meta b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
}
.short-phone-preview__meta span,
.short-phone-preview__actions {
  color: rgba(255,255,255,.68);
  font-size: 12px;
}
.short-phone-preview__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.short-preview-media__placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  gap: 6px;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(37,99,235,.72), rgba(20,184,166,.62)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.14) 0 8px, transparent 8px 16px);
  color: #fff;
}
.short-preview-media__placeholder span {
  font-size: 13px;
  font-weight: 600;
}
.short-preview-media__placeholder b {
  font-size: 11px;
  font-weight: 500;
  opacity: .82;
}
.tree-indent { padding-left: 18px; color: var(--text-muted); }
.group-filter {
  display: flex;
  gap: 6px;
  align-items: center;
  overflow-x: auto;
  padding-bottom: 8px;
  margin-bottom: 8px;
}
.group-filter__item, .group-filter__add, .group-filter__manage {
  height: 30px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text-muted);
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.group-filter__item span { color: var(--text-disabled); font-size: 12px; }
.group-filter__item:hover, .group-filter__item.is-active, .group-filter__add:hover, .group-filter__manage:hover { background: var(--bg-hover); color: var(--text); }
.group-filter__item.is-active { border-color: var(--solid); font-weight: 600; }
.group-filter__manage { color: var(--text); }
.attr-values-cell { min-width: 360px; }
.value-chip-row { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.value-chip {
  min-height: 26px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--bg);
  color: var(--text);
  padding: 2px 8px 2px 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
}
.value-chip span {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--bg-hover);
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}
.value-chip:hover { background: var(--bg-hover); }
.value-chip.is-offline { color: var(--text-disabled); border-style: dashed; }
.value-chip--add { color: var(--text-muted); border-style: dashed; }
.mini-chips, .badge-row {
  display: flex;
  gap: 4px;
  align-items: center;
  flex-wrap: wrap;
}
.mini-chip {
  min-height: 22px;
  max-width: 92px;
  padding: 2px 7px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mini-chip--more { color: var(--text); background: var(--bg-hover); }
.notice-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--warning);
  border-radius: var(--radius);
  background: var(--warning-bg);
  color: var(--warning);
  font-size: 13px;
}
.notice-row span { color: var(--text); }
.contact-action-preview {
  min-height: 42px;
  border-color: var(--border);
  background: var(--bg-subtle);
}
.contact-action-preview.is-valid { border-color: var(--success); background: var(--success-bg); }
.contact-action-preview.is-invalid { border-color: var(--warning); background: var(--warning-bg); }
.contact-action-preview.is-valid strong { color: var(--success); }
.contact-action-preview.is-invalid strong { color: var(--warning); }
.ad-slot-meta {
  margin: -4px 0 18px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
}
.ad-slot-meta__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.ad-slot-meta__grid div {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.ad-slot-meta__grid span,
.ad-slot-meta__empty {
  color: var(--text-muted);
  font-size: 12px;
}
.ad-slot-meta__grid b {
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}
.ad-strategy-help {
  display: grid;
  gap: 4px;
  margin: -8px 0 18px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
  color: var(--text-muted);
  font-size: 13px;
}
.ad-strategy-help b { color: var(--text); font-weight: 600; }
.ad-strategy-help span { line-height: 1.55; }
.ad-flight-panel {
  display: grid;
  gap: 10px;
  margin: -4px 0 20px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
}
.ad-flight-panel--ok { border-color: var(--success); background: var(--success-bg); }
.ad-flight-panel--danger { border-color: var(--danger); background: var(--danger-bg); }
.ad-flight-panel__head,
.ad-flight-panel__list div,
.ad-flight-panel__shares div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.ad-flight-panel__head b,
.ad-flight-panel__shares strong,
.ad-flight-panel__rules strong,
.ad-flight-panel__resolution strong { font-weight: 600; }
.ad-flight-panel__rules strong,
.ad-flight-panel__resolution strong { color: var(--text); }
.ad-flight-panel__head span,
.ad-flight-panel__summary,
.ad-flight-panel__empty,
.ad-flight-panel__list small,
.ad-flight-panel__rules,
.ad-flight-panel__resolution {
  color: var(--text-muted);
  font-size: 12px;
}
.ad-flight-panel__summary { font-size: 13px; color: var(--text); }
.ad-flight-panel__list,
.ad-flight-panel__shares,
.ad-flight-panel__rules,
.ad-flight-panel__resolution {
  display: grid;
  gap: 6px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}
.ad-flight-panel__rules span { display: block; line-height: 1.5; }
.ad-flight-panel__resolution { color: var(--text); }
.ad-flight-panel__resolution ol {
  margin: 0;
  padding-left: 18px;
  color: var(--text-muted);
}
.ad-flight-panel__resolution li { margin: 2px 0; }
.ad-flight-panel__list span,
.ad-flight-panel__shares span { min-width: 0; }
.ad-flight-panel__list small {
  display: block;
  margin-top: 2px;
}
.ad-flight-panel__list b,
.ad-flight-panel__shares b {
  flex: none;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.ad-layout-guide {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
}
.ad-layout-guide__head {
  display: flex;
  gap: 10px;
  align-items: baseline;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.ad-layout-guide__head b { font-size: 13px; color: var(--text); }
.ad-layout-guide__head span { font-size: 12px; color: var(--text-muted); }
.ad-layout-guide__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ad-layout-guide__grid span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  font-size: 12px;
}
.ad-decision-guide {
  display: grid;
  gap: 12px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
}
.ad-decision-guide__head {
  display: flex;
  gap: 10px;
  align-items: baseline;
  flex-wrap: wrap;
}
.ad-decision-guide__head b,
.ad-decision-guide__case b {
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
}
.ad-decision-guide__head span,
.ad-decision-guide__case span {
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.55;
}
.ad-decision-guide__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.ad-decision-guide__steps div,
.ad-decision-guide__case {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
}
.ad-decision-guide__steps b {
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
}
.ad-decision-guide__steps span {
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.55;
}
.ad-preview__canvas {
  min-height: 300px;
  margin: 0 0 18px;
  padding: 18px;
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ad-preview__box {
  max-width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  background: repeating-linear-gradient(135deg, #f4f4f5 0 8px, #fafafa 8px 16px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
}
.ad-preview__box img,
.ad-preview__box video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ad-preview__empty { display: grid; gap: 4px; justify-items: center; padding: 12px; text-align: center; }
.ad-preview__empty b { font-size: 12px; color: var(--text); }
.ad-preview__empty span { font-size: 12px; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--bg);
  color: var(--text-muted);
  font-size: 13px;
}
.chip:hover { background: var(--bg-hover); color: var(--text); }
.chip.is-on { background: var(--solid); border-color: var(--solid); color: var(--on-solid); }
.chip--custom { background: var(--bg-subtle); border-style: dashed; }
.attr-picker, .tp, .spicker, .blocks-editor { border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; background: var(--bg-subtle); }
.attr-row { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px; padding: 8px 0; border-top: 1px solid var(--border); }
.attr-row:first-child { border-top: 0; padding-top: 0; }
.attr-row__label { color: var(--text-muted); font-size: 13px; padding-top: 5px; }
.attr-row__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.tp-selected { min-height: 32px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.tp-searchbar { margin-bottom: 10px; }
.tp-body { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 12px; }
.tp-groups-wrap, .tp-tags { min-height: 190px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); padding: 8px; }
.tp-group-search { height: 32px; margin-bottom: 8px; }
.tp-groups { display: flex; flex-direction: column; gap: 4px; }
.tp-group {
  height: 30px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--radius);
  background: transparent;
  color: var(--text-muted);
  text-align: left;
}
.tp-group:hover, .tp-group.is-active { background: var(--bg-hover); color: var(--text); }
.tp-tags { display: flex; align-content: flex-start; align-items: flex-start; gap: 8px; flex-wrap: wrap; overflow-y: auto; }
.tp-tag {
  min-height: 30px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  padding: 0 10px;
}
.tp-tag:hover { background: var(--bg-hover); }
.tp-tag.is-on { background: var(--solid); color: var(--on-solid); border-color: var(--solid); }
.tp-tag--add { border-style: dashed; color: var(--text-muted); }
.tsp__chip { padding-right: 4px; }
.tsp__x {
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  padding: 0;
}
.tsp__x:hover { background: rgba(255,255,255,.18); }
.spicker-selected { min-height: 32px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.spicker-search { height: 34px; margin-bottom: 10px; }
.spicker-list {
  max-height: 230px;
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 8px;
}
.spicker-item {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  text-align: left;
}
.spicker-item:hover { background: var(--bg-hover); }
.spicker-item.is-on { border-color: var(--solid); box-shadow: inset 0 0 0 1px var(--solid); }
.spicker-avatar, .spicker-cover {
  flex: none;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  background: var(--bg-hover);
  color: var(--text-muted);
  font-size: 12px;
}
.spicker-avatar { width: 32px; height: 32px; border-radius: 50%; }
.spicker-cover { width: 58px; aspect-ratio: 16 / 9; }
.spicker-avatar img, .spicker-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.spicker-main { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.spicker-main b {
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.spicker-main small {
  overflow: hidden;
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.spicker-item--wide { grid-column: span 2; }
.collection-video-note {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
}
.collection-video-note b { font-size: 13px; }
.collection-video-note span { color: var(--text-muted); font-size: 12px; }
.collection-videos { display: grid; gap: 14px; }
.collection-videos--page .collection-video-list {
  max-height: none;
  overflow: visible;
}
.collection-videos__summary,
.collection-videos__rule {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-subtle);
}
.collection-videos__summary b,
.collection-videos__rule b { flex: none; }
.collection-videos__summary span,
.collection-videos__rule span { color: var(--text-muted); font-size: 12px; line-height: 1.6; }
.collection-videos__addbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 8px;
  margin-bottom: 10px;
}
.collection-video-candidates {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 8px;
}
.collection-video-candidate {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  text-align: left;
}
.collection-video-candidate:hover { background: var(--bg-hover); }
.collection-video-candidate span,
.collection-video-row__main { min-width: 0; display: grid; gap: 3px; }
.collection-video-candidate b,
.collection-video-row__main b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.collection-video-candidate small,
.collection-video-row__main span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-muted);
  font-size: 12px;
}
.collection-video-candidate em {
  color: var(--text-muted);
  font-style: normal;
  font-size: 12px;
}
.collection-video-list {
  display: grid;
  gap: 8px;
  max-height: 48vh;
  overflow-y: auto;
  padding-right: 2px;
}
.collection-video-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 76px auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
}
.collection-video-row__sort { height: 32px; text-align: center; padding-inline: 6px; }
.collection-video-empty {
  padding: 14px;
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  color: var(--text-muted);
  background: var(--bg-subtle);
  font-size: 13px;
  text-align: center;
}
.blocks-toolbar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.block-item { border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); padding: 12px; margin-top: 10px; }
.block-item:first-child { margin-top: 0; }
.block-item__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: var(--text-muted); font-size: 13px; font-weight: 500; }
.block-caption { margin-top: 10px; }

.modal-mask {
  position: fixed;
  inset: 0;
  z-index: 900;
  background: rgba(0, 0, 0, .35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.modal {
  width: 100%;
  max-width: 760px;
  max-height: 90vh;
  overflow: hidden;
  background: var(--bg);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
}
.modal--narrow { max-width: 440px; }
.modal__head { padding: 20px 20px 0; font-size: 16px; font-weight: 600; }
.modal__body { padding: 16px 20px 20px; overflow-y: auto; }
.modal__foot { display: flex; justify-content: flex-end; gap: 8px; padding: 0 20px 20px; }

.drawer-mask {
  position: fixed;
  inset: 0;
  z-index: 900;
  background: rgba(0, 0, 0, .28);
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
}
.drawer {
  width: min(760px, calc(100vw - 48px));
  height: 100vh;
  background: var(--bg);
  border-left: 1px solid var(--border);
  box-shadow: -8px 0 24px rgba(0, 0, 0, .12);
  display: flex;
  flex-direction: column;
  animation: drawer-in .16s ease;
}
.drawer__head {
  min-height: 56px;
  flex: none;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px 0 20px;
  border-bottom: 1px solid var(--border);
}
.drawer__title { flex: 1; min-width: 0; font-size: 16px; font-weight: 600; }
.drawer__body { flex: 1; min-height: 0; overflow-y: auto; padding: 16px 20px 20px; }
.drawer__foot {
  flex: none;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 20px;
  border-top: 1px solid var(--border);
  background: var(--bg);
}
@keyframes drawer-in { from { transform: translateX(18px); opacity: .72; } }

.modal--tag-group-dialog { max-width: 860px; }
.modal__head--with-close { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; }
.tag-group-toolbar { align-items: center; }
.tag-group-toolbar .searchbox { width: 220px; }
.tag-group-toolbar__status { width: 112px; }
.tag-group-toolbar__count { color: var(--text-muted); white-space: nowrap; }
.table-wrap--tag-groups .table { min-width: 760px; table-layout: fixed; }
.table-wrap--tag-groups th:nth-child(1), .table-wrap--tag-groups td:nth-child(1) { width: 44%; }
.table-wrap--tag-groups th:nth-child(2), .table-wrap--tag-groups td:nth-child(2) { width: 18%; }
.table-wrap--tag-groups th:nth-child(3), .table-wrap--tag-groups td:nth-child(3) { width: 18%; }
.table-wrap--tag-groups .col-actions { width: 20%; }
.table-wrap--tag-groups .row-actions { justify-content: flex-end; gap: 6px; }
.tag-group-pagination .select { width: auto; height: 32px; }

.toast-stack { position: fixed; top: 16px; right: 16px; z-index: 1000; display: flex; flex-direction: column; gap: 8px; }
.toast {
  min-width: 220px;
  max-width: 360px;
  padding: 10px 14px;
  border-radius: var(--radius);
  background: var(--solid);
  color: var(--on-solid);
  box-shadow: var(--shadow-sm);
  animation: toast-in .15s ease;
}
.toast--success { background: var(--success); }
.toast--error { background: var(--danger); }
.toast--warning { background: var(--warning); }
@keyframes toast-in { from { opacity: 0; transform: translateY(-6px); } }

.preview-mask {
  position: fixed;
  inset: 0;
  z-index: 960;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0, 0, 0, .55);
}
.preview-modal {
  width: min(1280px, 100%);
  height: min(900px, calc(100vh - 32px));
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  box-shadow: var(--shadow-sm);
}
.preview-modal__bar {
  height: 44px;
  flex: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px 0 16px;
  border-bottom: 1px solid var(--border);
}
.preview-modal__bar b { font-size: 14px; }
.preview-modal__bar span { color: var(--text-muted); font-size: 12px; }
.preview-modal__bar .btn { margin-left: auto; }
.preview-frame { flex: 1; width: 100%; border: 0; background: #15171a; }

.auth-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--bg-subtle); padding: 16px; }
.auth-card {
  width: 100%;
  max-width: 360px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 32px;
}
.auth-card__brand { display: flex; align-items: center; gap: 8px; font-size: 18px; font-weight: 600; margin-bottom: 4px; }
.auth-card__sub { color: var(--text-muted); font-size: 13px; margin-bottom: 24px; }

@media (max-width: 1180px) {
  :root { --sidebar-w: 216px; }
  .content { padding: 20px; }
  .page-head { margin-bottom: 18px; }
  .table { min-width: 980px; }
  .mfilter__btn { max-width: 170px; }
  .ad-decision-guide__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .layout { display: block; }
  .sidebar { position: static; width: 100%; height: auto; border-right: 0; border-bottom: 1px solid var(--border); }
  .sidebar__brand { height: 48px; }
  .sidebar__nav { display: flex; overflow-x: auto; gap: 4px; padding: 8px; }
  .sidebar__section-title, .sidebar__foot { display: none; }
  .nav-item { width: auto; flex: none; border-left: 0; padding: 7px 10px; }
  .topbar { position: static; }
  .content { padding: 18px; }
  .seo-url-query { grid-template-columns: 1fr; }
  .page-head { align-items: flex-start; }
  .page-head > div:first-child { min-width: 0; }
  .page-head__actions { flex: none; }
  .searchbox { flex: 1 1 260px; min-width: 180px; }
  .grid-2 { grid-template-columns: 1fr; }
  .image-crop__grid {
    grid-template-columns: 1fr;
  }
  .actress-portrait-crop__grid,
  .actress-portrait-crop__targets,
  .actress-portrait-crop__control-grid {
    grid-template-columns: 1fr;
  }
  .image-crop__target--1x1,
  .image-crop__target--3x4,
  .image-crop__target--2x3,
  .image-crop__target--16x9 {
    justify-self: start;
  }
  .short-preview-grid {
    grid-template-columns: 1fr;
  }
  .image-crop__control-head,
  .actress-works__tools {
    grid-template-columns: 1fr;
    display: grid;
  }
  .actress-works__head {
    display: grid;
    gap: 4px;
  }
  .actress-works__list {
    grid-template-columns: 1fr;
  }
  .richbox__toolbar .richbox__format { flex: 0 0 92px; min-width: 92px; }
  .attr-row, .tp-body { grid-template-columns: 1fr; }
  .spicker-list { grid-template-columns: 1fr; }
  .spicker-item--wide { grid-column: auto; }
  .collection-videos__summary,
  .collection-videos__rule { display: grid; }
  .collection-videos__addbar,
  .collection-video-candidates { grid-template-columns: 1fr; }
  .collection-video-row { grid-template-columns: 64px minmax(0, 1fr) auto; }
  .collection-video-row .thumb { display: none; }
  .review-cover-crop__grid { grid-template-columns: 1fr; }
  .review-cover-crop__portrait { width: min(180px, 100%); }
  .ad-decision-guide__steps { grid-template-columns: 1fr; }
  .batch-upload-row {
    grid-template-columns: 1fr;
  }
  .video-chapter-row {
    grid-template-columns: 28px minmax(0, 1fr) 96px;
  }
  .video-chapter-row [data-chapter-note] {
    grid-column: 2 / -1;
  }
  .video-chapter-row .chapter-highlight-duration { grid-column: 2; }
  .video-chapter-row .btn { grid-column: 3; }
  .chapter-hover-pick {
    grid-column: 2 / -1;
    justify-content: flex-start;
  }
  .video-chapter-row .btn { min-width: 0; }
  .hover-mode-grid { grid-template-columns: 1fr; }
  .hover-segment-row { grid-template-columns: 28px minmax(0, 1fr) 100px; }
  .hover-segment-result { grid-column: 2 / 3; }
  .hover-segment-actions { grid-column: 3; grid-row: 2; }
  .table-wrap { overflow-x: auto; }
  .table { min-width: 860px; }
}

@media (max-width: 640px) {
  .seo-tabs { grid-template-columns: 1fr; }
  .seo-url-query__action { grid-template-columns: 1fr; }
  .seo-canonical-result { grid-template-columns: 1fr; }
  body { min-width: 0; }
  .sidebar__brand { padding: 0 14px; }
  .sidebar__nav { padding: 6px 8px 8px; }
  .topbar { height: 48px; padding: 0 12px; }
  .breadcrumb { min-width: 0; overflow: hidden; }
  .breadcrumb span { white-space: nowrap; }
  .topbar__account { display: none; }
  .content { padding: 14px 12px 18px; }
  .page-head { display: block; margin-bottom: 14px; }
  .page-title { font-size: 18px; }
  .page-subtitle { line-height: 1.45; }
  .page-head__actions { margin: 12px 0 0; }
  .page-head__actions .btn { width: 100%; }
  .toolbar { align-items: stretch; gap: 6px; margin-bottom: 12px; }
  .searchbox { flex: 1 1 100%; width: 100%; min-width: 0; }
  .mfilter { flex: 1 1 calc(50% - 3px); min-width: 0; }
  .mfilter__btn { width: 100%; min-width: 0; max-width: none; }
  .mfilter__panel { width: min(280px, calc(100vw - 24px)); }
  .toolbar__spacer { display: none; }
  .table { min-width: 760px; font-size: 12.5px; }
  .table th, .table td { padding: 8px 10px; }
  .row-actions { flex-wrap: wrap; justify-content: flex-end; }
  .thumb--16x9 { width: 56px; height: 32px; }
  .thumb--2x3 { width: 42px; height: 63px; }
  .review-cover-thumb { width: 48px; height: 64px; }
  .review-cover-crop { padding: 12px; }
  .actress-portrait-crop { padding: 12px; }
  .actress-portrait-crop__original { min-height: 220px; }
  .attr-values-cell { min-width: 280px; }
  .readonly-panel__head { display: grid; gap: 4px; }
  .uploader { align-items: flex-start; }
  .modal-mask { padding: 8px; align-items: stretch; }
  .modal { max-height: calc(100vh - 16px); }
  .modal__head { padding: 16px 16px 0; }
  .modal__body { padding: 14px 16px 16px; }
  .modal__foot { padding: 0 16px 16px; flex-wrap: wrap; }
  .modal__foot .btn { flex: 1 1 auto; }
  .drawer { width: 100vw; }
  .drawer__head { min-height: 52px; padding-inline: 16px; }
  .drawer__body { padding: 14px 16px 16px; }
  .drawer__foot { padding: 10px 16px; flex-wrap: wrap; }
  .drawer__foot .btn { flex: 1 1 auto; }
  .ad-slot-meta__grid { grid-template-columns: 1fr; }
  .toast-stack { left: 12px; right: 12px; top: 12px; }
  .toast { min-width: 0; max-width: none; }
  .auth-card { padding: 24px; }
}

@media (max-width: 420px) {
  .content { padding-inline: 10px; }
  .mfilter { flex-basis: 100%; }
  .group-filter { margin-inline: -2px; }
  .blocks-toolbar .btn { flex: 1 1 calc(50% - 4px); }
  .block-item__head { align-items: flex-start; }
  .auth-card { padding: 20px; }
}

/* v1.0.2 · novice-friendly configuration overview and in-form frontend preview */
.config-section-nav {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  flex-wrap: wrap;
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
}
.config-section-nav__group { display: grid; gap: 7px; }
.config-section-nav__group > span { font-size: 11px; color: var(--text-muted); }
.config-section-nav__group > div { display: flex; gap: 5px; flex-wrap: wrap; }
.config-section-nav .group-filter__item { margin: 0; }
.config-section-nav .group-filter__item b {
  display: inline-flex;
  min-width: 18px;
  justify-content: center;
  color: inherit;
  font-size: 11px;
}
.config-overview {
  margin-top: 14px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: linear-gradient(145deg, #fff, #f8fafc);
}
.config-overview__head { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.config-overview__head > div > span { color: #64748b; font-size: 12px; }
.config-overview__head h2 { margin: 4px 0; font-size: 22px; }
.config-overview__head p { margin: 0; color: var(--text-muted); }
.config-overview__legend { display: flex; gap: 14px; align-items: flex-start; white-space: nowrap; font-size: 12px; color: var(--text-muted); }
.config-overview__legend span { display: inline-flex; align-items: center; gap: 5px; }
.config-overview__legend i { width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1; }
.config-overview__legend i.is-active { background: #22c55e; }
.config-overview__flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.config-overview-card {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 16px;
  color: inherit;
  text-decoration: none;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.config-overview-card:hover { border-color: #94a3b8; box-shadow: 0 8px 22px rgba(15,23,42,.07); transform: translateY(-1px); }
.config-overview-card > div:first-child > span { display: block; margin-bottom: 4px; color: #94a3b8; font-size: 11px; }
.config-overview-card strong { display: block; font-size: 15px; }
.config-overview-card p { margin: 5px 0 0; color: var(--text-muted); font-size: 12px; }
.config-overview-card__state { min-width: 122px; text-align: right; color: var(--text-muted); font-size: 12px; }
.config-overview-card__state b { color: #16a34a; }
.config-overview-card__state em { display: block; margin-top: 12px; color: #111827; font-style: normal; font-weight: 600; }
.config-card-preview {
  margin-bottom: 16px;
  padding: 14px;
  border: 1px dashed #94a3b8;
  border-radius: 10px;
  background: #f8fafc;
}
.config-card-preview > span { display: block; margin-bottom: 8px; color: #64748b; font-size: 12px; }
.config-card-preview > div { position: relative; display: grid; gap: 4px; padding: 14px; padding-right: 112px; border: 1px solid #dbe2ea; border-radius: 9px; background: #fff; }
.config-card-preview strong { font-size: 16px; overflow-wrap: anywhere; }
.config-card-preview i, .config-card-preview em { color: #64748b; font-size: 11px; font-style: normal; }
.config-card-preview em { position: absolute; top: 13px; right: 14px; }
.config-card-preview p { margin: 1px 0 0; color: #64748b; font-size: 12px; }
.config-card-preview button { position: absolute; right: 14px; bottom: 14px; padding: 7px 11px; border: 0; border-radius: 6px; color: #fff; background: #111827; font: inherit; font-size: 12px; }
.config-card-preview small { display: block; margin-top: 8px; color: #64748b; }
.frontend-map {
  max-width: 1040px;
  margin: 0 auto;
  padding: 30px;
  border-radius: 14px;
  color: #e6e8ea;
  background: linear-gradient(180deg, #1c2027, #101215);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07);
}
.frontend-map__home-stack { display: grid; gap: 14px; }
.frontend-map__section {
  position: relative;
  display: block;
  margin-top: 22px;
  padding: 18px;
  color: #e6e8ea;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: #1b1e22;
  transition: border-color .16s ease, transform .16s ease;
}
.frontend-map__section:hover { color: #fff; text-decoration: none; border-color: rgba(79,143,207,.75); transform: translateY(-1px); }
.frontend-map__section-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.frontend-map__section-head i {
  display: inline-flex;
  padding: 3px 6px;
  border: 1px solid rgba(79,143,207,.28);
  border-radius: 5px;
  color: #8fbce8;
  font-size: 10px;
  font-style: normal;
}
.frontend-map__section-head > div { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.frontend-map__section-head strong { font-size: 15px; }
.frontend-map__section-head small { color: #8a9099; font-size: 10px; }
.frontend-map__section-tools { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.frontend-map__state { color: #8a9099; font-size: 10px; white-space: nowrap; }
.frontend-map__state b { color: #7bc47f; }
.frontend-map__configure { padding-left: 12px; color: #8fbce8; border-left: 1px solid rgba(255,255,255,.1); font-size: 10px; font-weight: 600; white-space: nowrap; }
.frontend-map__section:hover .frontend-map__configure { color: #fff; }
.frontend-map__hero { margin-top: 0; padding: 34px 24px; text-align: center; background: radial-gradient(circle at 50% 10%, rgba(79,143,207,.2), transparent 54%); }
.frontend-map__hero .frontend-map__section-head { display: block; margin-bottom: 10px; }
.frontend-map__hero .frontend-map__section-head > div { display: grid; justify-content: center; }
.frontend-map__hero .frontend-map__section-head strong { font-size: 30px; }
.frontend-map--redirect .frontend-map__hero .frontend-map__section-head strong { font-size: 42px; }
.frontend-map__hero .frontend-map__section-tools { position: absolute; top: 14px; right: 16px; }
.frontend-map__hero p { margin: 0 auto 14px; color: #8a9099; font-size: 11px; }
.frontend-map__actions { display: flex; justify-content: center; gap: 8px; }
.frontend-map__actions span, .frontend-map__main-cta { display: inline-flex; padding: 8px 14px; border-radius: 999px; color: #fff; background: #4f8fcf; font-size: 10px; }
.frontend-map__actions span + span { color: #8fbce8; border: 1px solid #4f8fcf; background: transparent; }
.frontend-map__main-cta { margin: 4px auto 8px; padding-inline: 26px; }
.frontend-map__hero > small { color: #8a9099; font-size: 9px; }
.frontend-map__grid { display: grid; gap: 8px; }
.frontend-map__grid--2 { grid-template-columns: repeat(2, 1fr); }
.frontend-map__grid--3 { grid-template-columns: repeat(3, 1fr); }
.frontend-map__grid--4 { grid-template-columns: repeat(4, 1fr); }
.frontend-map__grid > span, .frontend-map__rows > span {
  display: block;
  min-height: 52px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 8px;
  background: #15171a;
}
.frontend-map__grid--4 > span { min-height: 28px; }
.frontend-map__rows { display: grid; gap: 6px; }
.frontend-map__rows span { min-height: 30px; }
.frontend-map__mini-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  min-height: 84px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 8px;
  background: #15171a;
}
.frontend-map__mini-card.is-draft { opacity: .52; }
.frontend-map__mini-card > div { display: flex; justify-content: space-between; gap: 8px; }
.frontend-map__mini-card span, .frontend-map__mini-card i, .frontend-map__mini-card small { color: #8a9099; font-size: 9px; font-style: normal; }
.frontend-map__mini-card > strong { color: #e6e8ea; font: 11px ui-monospace, monospace; overflow-wrap: anywhere; }
.frontend-map__mini-card p { margin: 0; color: #8a9099; font-size: 9px; line-height: 1.5; }
.frontend-map__mini-card > small { color: #7bc47f; }
.frontend-map__mini-card.is-draft > small { color: #e8c45a; }
.frontend-map__mini-card--route { min-height: 112px; }
.frontend-map__mini-card--contact { min-height: 138px; align-content: start; }
.frontend-map__mini-card--contact > i { color: #8fbce8; font-size: 8px; font-style: normal; letter-spacing: .12em; }
.frontend-map__mini-card--contact > i.frontend-map__contact-icon { width: 28px; height: 28px; flex-basis: 28px; }
.frontend-map__mini-card--contact > i.frontend-map__contact-icon svg { width: 14px; height: 14px; }
.frontend-map__mini-card--contact > strong { font-family: inherit; font-size: 11px; }
.frontend-map__mini-card--contact > span { min-height: 0; padding: 5px 7px; color: #8fbce8; border: 0; border-radius: 5px; background: rgba(79,143,207,.08); font: 8px ui-monospace, monospace; overflow-wrap: anywhere; }
.frontend-map__mini-card--contact > small { justify-self: start; padding: 4px 7px; color: #8fbce8; border: 1px solid rgba(79,143,207,.4); border-radius: 5px; }
.frontend-map__mini-card--faq { position: relative; display: grid; grid-template-columns: 20px 1fr; align-content: start; }
.frontend-map__mini-card--faq > i { grid-row: 1 / 3; display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; color: #8fbce8; border: 1px solid rgba(79,143,207,.3); }
.frontend-map__mini-card--faq > strong { font-family: inherit; }
.frontend-map__mini-card--faq > p { grid-column: 2; max-height: 30px; overflow: hidden; }
.frontend-map__rows > div { display: grid; grid-template-columns: 1fr 1.6fr auto; align-items: center; gap: 12px; min-height: 38px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: #15171a; }
.frontend-map__rows strong { font-size: 10px; }
.frontend-map__rows span { min-height: 0; color: #8fbce8; border: 0; background: none; font: 9px ui-monospace, monospace; overflow-wrap: anywhere; }
.frontend-map__rows small { color: #8a9099; font-size: 9px; }
.frontend-map__contact-stack { display: grid; gap: 8px; }
.frontend-map__contact-row { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 12px 14px; border: 1px solid rgba(255,255,255,.07); border-radius: 9px; background: #15171a; }
.frontend-map__contact-row.is-draft { opacity: .62; }
.frontend-map__contact-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; min-height: 0; color: #8fbce8; border: 0; border-radius: 10px; background: linear-gradient(135deg, rgba(79,143,207,.15), rgba(143,188,232,.08)); }
.frontend-map__contact-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.frontend-map__contact-info { flex: 1; min-width: 0; }
.frontend-map__contact-info strong { display: block; color: #e6e8ea; font-size: 11px; }
.frontend-map__contact-info p { margin: 3px 0; color: #8a9099; font-size: 9px; line-height: 1.45; }
.frontend-map__contact-info > span { display: block; min-height: 0; color: #8fbce8; border: 0; background: none; font: 9px ui-monospace, monospace; overflow-wrap: anywhere; }
.frontend-map__contact-cta { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: 0; padding: 6px 10px; color: #8fbce8; border: 1px solid rgba(79,143,207,.7); border-radius: 6px; background: transparent; font-size: 9px; font-weight: 600; white-space: nowrap; }
.frontend-map__entry { display: flex !important; align-items: center; justify-content: center; color: #e6e8ea; font-size: 10px; font-weight: 600; }
.frontend-map__device { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 54px; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: #15171a; }
.frontend-map__device strong { font-size: 10px; }
.frontend-map__empty { padding: 22px; text-align: center; color: #8a9099; border: 1px dashed rgba(255,255,255,.12); border-radius: 8px; font-size: 10px; }
.frontend-map__permanent { padding: 18px; text-align: center; border: 1px solid rgba(79,143,207,.18); border-radius: 10px; background: rgba(79,143,207,.04); }
.frontend-map__permanent strong { display: block; margin-bottom: 8px; }
.frontend-map__permanent span { display: inline-block; padding: 6px 10px; border-radius: 6px; color: #8fbce8; background: rgba(79,143,207,.1); font: 10px ui-monospace, monospace; }
.frontend-map--redirect { padding-inline: 54px; }
.frontend-map--redirect .frontend-map__section:not(.frontend-map__hero) { margin-top: 38px; border: 0; border-radius: 0; background: transparent; }
.frontend-map--redirect .frontend-map__section:not(.frontend-map__hero)::before { content: ""; position: absolute; left: 18px; right: 18px; top: 42px; height: 1px; background: linear-gradient(90deg, rgba(255,255,255,.1), transparent); }
.frontend-map--redirect .frontend-map__section:not(.frontend-map__hero) .frontend-map__grid,
.frontend-map--redirect .frontend-map__section:not(.frontend-map__hero) .frontend-map__permanent { position: relative; margin-top: 24px; }
.config-card-preview--home, .config-card-preview--redirect { color: #e6e8ea; border-color: rgba(79,143,207,.35); background: #15171a; }
.config-card-preview--home > span, .config-card-preview--redirect > span,
.config-card-preview--home small, .config-card-preview--redirect small { color: #8a9099; }
.config-card-preview--home > div, .config-card-preview--redirect > div { color: #e6e8ea; border-color: rgba(255,255,255,.08); background: #1b1e22; }
.config-card-preview--home button, .config-card-preview--redirect button { background: #4f8fcf; }
.config-card-preview--redirect > div { min-height: 118px; padding: 18px 126px 18px 18px; }
.config-card-preview--redirect i { color: #8fbce8; font-family: ui-monospace, monospace; letter-spacing: .08em; }
.config-card-preview--redirect p { color: #8a9099; }

@media (max-width: 760px) {
  .config-section-nav { display: grid; gap: 12px; }
  .config-overview { padding: 14px; }
  .config-overview__head { display: grid; gap: 10px; }
  .config-overview__flow { grid-template-columns: 1fr; }
  .config-overview-card { display: grid; }
  .config-overview-card__state { text-align: left; }
  .frontend-map, .frontend-map--redirect { padding: 16px; }
  .frontend-map__grid--3, .frontend-map__grid--4 { grid-template-columns: 1fr 1fr; }
  .frontend-map--redirect .frontend-map__hero .frontend-map__section-head strong { font-size: 30px; }
  .frontend-map__section-head { align-items: flex-start; flex-wrap: wrap; }
  .frontend-map__section-tools { width: 100%; justify-content: space-between; margin-left: 0; }
  .frontend-map__hero .frontend-map__section-tools { position: static; justify-content: center; margin-top: 10px; }
  .frontend-map__contact-row { align-items: flex-start; flex-wrap: wrap; }
  .frontend-map__contact-info { flex-basis: calc(100% - 46px); }
  .frontend-map__contact-cta { margin-left: 46px; }
}
