.editor-image-input {
  display: none;
}

.password-input-wrap {
  position: relative;
  display: block;
  margin: 0;
}

.login-decoy {
  position: fixed;
  top: -10000px;
  left: -10000px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.password-input-wrap input {
  padding-right: 46px;
}

.password-toggle {
  position: absolute;
  top: 50%;
  right: 6px;
  display: grid;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  place-items: center;
  color: #69809c;
  background: transparent;
  transform: translateY(-50%);
}

.password-toggle:hover,
.password-toggle:focus-visible {
  color: var(--blue);
  background: #edf6ff;
  outline: 0;
}

.password-toggle svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.remember-login {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 14px;
  color: #526881;
  cursor: pointer;
}

.remember-login input {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  accent-color: var(--blue);
}

.remember-login span {
  margin: 0;
  color: #526881;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.editor-upload-status {
  min-height: 17px;
  margin: 0;
  padding: 4px 1px;
  color: var(--green);
  font-size: 11px;
  font-weight: 800;
}

.admin-module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.admin-module-card {
  display: block;
  min-height: 150px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdff;
}

.admin-module-card.active {
  border-color: #b9dbf8;
  background: linear-gradient(135deg, #f5fbff, #eef7ff);
  transition: border-color .2s ease, transform .2s ease;
}

.admin-module-card.active:hover {
  border-color: var(--blue);
  transform: translateY(-3px);
}

.admin-module-card span,
.admin-module-card strong {
  display: block;
}

.admin-module-card span {
  color: var(--blue);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-module-card strong {
  margin-top: 8px;
  color: var(--navy);
  font-size: 17px;
}

.admin-module-card p {
  margin: 8px 0 0;
  color: var(--copy);
  font-size: 12px;
  line-height: 1.65;
}

@media (max-width: 720px) {
  .admin-module-grid {
    grid-template-columns: 1fr;
  }
}

.admin-sidebar {
  overflow-y: auto;
}

.admin-panel-spaced,
.service-manager-list {
  margin-top: 15px;
}

.manager-list,
.service-manager-list {
  display: grid;
  gap: 10px;
}

.manager-row {
  display: grid;
  grid-template-columns: 34px minmax(130px, .8fr) minmax(180px, 1.2fr) 94px;
  align-items: end;
  gap: 10px;
  padding: 11px;
  border: 1px solid #dfebf5;
  border-radius: 11px;
  background: #fbfdff;
}

.manager-list-menu .manager-row {
  grid-template-columns: 34px minmax(130px, .8fr) minmax(180px, 1.2fr) minmax(110px, .6fr) 94px;
}

.manager-row > b {
  align-self: center;
  color: #9eb2c7;
  font-size: 12px;
}

.manager-row label {
  margin-top: 0;
}

.manager-check {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 43px;
  margin: 0;
}

.manager-check input {
  width: 16px;
  height: 16px;
}

.manager-check span {
  margin: 0;
}

.manager-check-inline {
  min-height: 0;
  margin-top: 15px;
}

.manager-details {
  padding: 0;
}

.manager-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 17px 20px;
  cursor: pointer;
  list-style: none;
}

.manager-details summary::-webkit-details-marker {
  display: none;
}

.manager-details summary span {
  display: flex;
  align-items: center;
  gap: 12px;
}

.manager-details summary b,
.manager-details summary em {
  color: #88a2bd;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.manager-details summary strong {
  color: var(--navy);
  font-size: 16px;
}

.manager-details form {
  padding: 0 20px 20px;
  border-top: 1px solid #edf3f8;
}

.content-manager-tabs,
.content-manager-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.page-copy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  margin-top: 15px;
}

.content-manager-tabs {
  margin-top: 16px;
}

.content-manager-tabs a {
  padding: 8px 10px;
  border: 1px solid #dce8f3;
  border-radius: 999px;
  color: #5c7693;
  background: #fbfdff;
  font-size: 10px;
  font-weight: 800;
}

.content-manager-tabs a:hover,
.content-manager-tabs a.active {
  border-color: #9bc8ef;
  color: var(--blue);
  background: #edf7ff;
}

.content-manager-actions {
  align-items: center;
}

.admin-button.danger {
  color: var(--red);
  border-color: #f1c6ca;
  background: #fff8f8;
}

.media-upload-panel {
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(380px, 1.25fr);
  gap: 18px;
}

.media-library-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.media-library-grid article {
  overflow: hidden;
  border: 1px solid #dfebf5;
  border-radius: 11px;
  background: #fbfdff;
}

.media-library-grid img {
  display: block;
  width: 100%;
  height: 150px;
  object-fit: cover;
  background: #edf5fb;
}

.media-library-grid article > div {
  display: grid;
  gap: 5px;
  padding: 11px;
}

.media-library-grid code,
.media-library-grid small {
  overflow-wrap: anywhere;
  color: #7890a9;
  font-size: 10px;
}

.media-library-grid form {
  padding: 0 11px 11px;
}

.media-library-grid button {
  padding: 0;
  border: 0;
  color: var(--red);
  background: transparent;
  font-size: 11px;
  font-weight: 800;
}

@media (max-width: 1180px) {
  .manager-row,
  .manager-list-menu .manager-row {
    grid-template-columns: 34px repeat(2, minmax(0, 1fr));
  }

  .manager-check {
    grid-column: 2;
  }

  .media-library-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .manager-row,
  .manager-list-menu .manager-row,
  .media-upload-panel,
  .media-library-grid,
  .page-copy-grid {
    grid-template-columns: 1fr;
  }

  .manager-check {
    grid-column: auto;
  }
}

/* All-in-one blog publishing studio */
.editor-panel-head {
  align-items: flex-start;
}

.editor-panel-head-actions,
.editor-toolbar-group,
.editor-block-buttons,
.editor-stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.editor-panel-head-actions {
  justify-content: flex-end;
  gap: 6px;
}

.editor-toolbar {
  position: sticky;
  top: 12px;
  z-index: 80;
  gap: 7px;
  padding: 10px;
  border-bottom: 1px solid var(--line);
  border-radius: 10px;
  background: #f6faff;
  box-shadow: 0 12px 30px rgba(9, 38, 74, .08);
}

.editor-toolbar-group {
  gap: 4px;
  padding: 5px;
  border: 1px solid #dce8f3;
  border-radius: 8px;
  background: #fff;
}

.editor-toolbar-label {
  display: block;
  width: 100%;
  padding: 0 3px 2px;
  color: #8a9bb1;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.editor-toolbar button,
.editor-toolbar select,
.editor-panel-head-actions .source-toggle {
  transition: border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease;
}

.editor-toolbar button:hover,
.editor-toolbar select:hover,
.editor-panel-head-actions .source-toggle:hover {
  border-color: #9bc8ef;
  color: var(--blue);
  background: #f2f9ff;
}

.editor-toolbar button:active,
.editor-panel-head-actions .source-toggle:active {
  transform: translateY(1px);
}

.editor-toolbar button:disabled {
  cursor: wait;
  opacity: .58;
}

.editor-table-tools {
  align-items: flex-end;
}

.editor-table-tools label {
  width: 54px;
  margin: 0;
}

.editor-table-tools label span {
  margin-bottom: 2px;
  font-size: 7px;
}

.editor-table-tools input,
.editor-table-tools select {
  height: 30px;
  min-width: 54px;
  padding: 0 7px;
  font-size: 10px;
}

.editor-table-tools select {
  width: auto;
}

.editor-block-library {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr);
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 12px;
  border: 1px solid #dce8f3;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(135deg, #f8fcff, #f1f8ff);
}

.editor-block-library .admin-eyebrow {
  margin-bottom: 3px;
}

.editor-block-library span {
  display: block;
  color: var(--copy);
  font-size: 11px;
  line-height: 1.5;
}

.editor-block-buttons {
  justify-content: flex-end;
  gap: 5px;
}

.editor-block-buttons button {
  padding: 7px 8px;
  border: 1px solid #cfe1f1;
  border-radius: 7px;
  color: #416383;
  background: #fff;
  font-size: 10px;
  font-weight: 800;
  transition: border-color .2s ease, color .2s ease, transform .2s ease;
}

.editor-block-buttons button:hover {
  border-color: var(--blue);
  color: var(--blue);
  transform: translateY(-2px);
}

.editor-block-library + .rich-editor,
.editor-block-library ~ .html-source {
  border-radius: 0 0 9px 9px;
}

.rich-editor {
  min-height: 520px;
}

.rich-editor h2,
.rich-editor h3 {
  color: var(--navy);
}

.rich-editor .article-lead {
  color: #294767;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.65;
}

.rich-editor .article-callout,
.rich-editor .article-highlight {
  margin: 18px 0;
  padding: 15px 16px;
  border: 1px solid #cce4f7;
  border-left: 4px solid var(--blue);
  border-radius: 9px;
  background: #f3faff;
}

.rich-editor .article-highlight {
  border-color: #ffe0b6;
  border-left-color: var(--orange);
  background: #fff9ef;
}

.rich-editor .article-callout h3,
.rich-editor .article-callout p,
.rich-editor .article-highlight p {
  margin: 0;
}

.rich-editor .article-callout h3,
.rich-editor .article-highlight strong {
  display: block;
  margin-bottom: 5px;
  color: var(--navy);
}

.rich-editor .article-table {
  width: 100%;
  margin: 18px 0;
  border-collapse: collapse;
}

.rich-editor .article-table th,
.rich-editor .article-table td {
  padding: 9px 10px;
  border: 1px solid #dce8f3;
  text-align: left;
}

.rich-editor .article-table th {
  color: var(--navy);
  background: #eef7ff;
}

.rich-editor .article-table,
.preview-content .article-table {
  --table-accent: #188cff;
  --table-soft: #eef7ff;
  overflow: hidden;
  border: 1px solid #dce8f3;
  border-radius: 10px;
  border-collapse: separate;
  border-spacing: 0;
}

.rich-editor .article-table.table-color-cyan,
.preview-content .article-table.table-color-cyan {
  --table-accent: #0baed5;
  --table-soft: #e9fbff;
}

.rich-editor .article-table.table-color-green,
.preview-content .article-table.table-color-green {
  --table-accent: #16875f;
  --table-soft: #ecfbf4;
}

.rich-editor .article-table.table-color-orange,
.preview-content .article-table.table-color-orange {
  --table-accent: #e6780b;
  --table-soft: #fff5e8;
}

.rich-editor .article-table.table-color-slate,
.preview-content .article-table.table-color-slate {
  --table-accent: #34465d;
  --table-soft: #f1f5f9;
}

.rich-editor .article-table th,
.preview-content .article-table th {
  color: #0b2442;
  background: linear-gradient(180deg, var(--table-soft), #fff);
  border-top: 3px solid var(--table-accent);
}

.rich-editor .article-table-striped tbody tr:nth-child(even) td,
.preview-content .article-table-striped tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--table-soft) 70%, #fff);
}

.rich-editor .article-table-boxed,
.preview-content .article-table-boxed {
  box-shadow: 0 10px 26px rgba(9, 38, 74, .07);
}

.rich-editor .article-table-boxed th,
.rich-editor .article-table-boxed td,
.preview-content .article-table-boxed th,
.preview-content .article-table-boxed td {
  border-color: color-mix(in srgb, var(--table-accent) 22%, #dce8f3);
}

.rich-editor .article-table-compact th,
.rich-editor .article-table-compact td,
.preview-content .article-table-compact th,
.preview-content .article-table-compact td {
  padding: 6px 8px;
  font-size: 12px;
}

.rich-editor .article-button {
  display: inline-block;
  padding: 9px 13px;
  border-radius: 7px;
  color: #fff;
  background: var(--blue);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.align-left {
  text-align: left;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

.align-justify {
  text-align: justify;
}

.editor-stats {
  gap: 14px;
  padding: 9px 1px 0;
  color: #778ca4;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.editor-stats strong {
  color: var(--blue);
}

.editor-sidebar-stack {
  display: grid;
  gap: 13px;
}

.editor-sidebar-stack .admin-panel {
  padding: 17px;
}

.editor-sidebar-stack h2 {
  font-size: 19px;
}

.reviews-admin-hero,
.reviews-admin-layout,
.reviews-form-actions,
.diagnostic-grid {
  display: grid;
}

.reviews-admin-hero {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 25px;
  overflow: hidden;
  margin-bottom: 15px;
  background: radial-gradient(circle at 88% 20%, rgba(83, 216, 255, .18), transparent 31%), linear-gradient(135deg, #07182f, #0b315e);
}

.reviews-admin-hero h2 {
  color: #fff;
  font-size: 31px;
}

.reviews-admin-hero > div:first-child > p:last-child {
  max-width: 790px;
  margin: 10px 0 0;
  color: #c7daf0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.72;
}

.reviews-setup-score {
  display: grid;
  min-width: 118px;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 13px;
  background: rgba(255, 255, 255, .08);
  text-align: center;
  backdrop-filter: blur(10px);
}

.reviews-setup-score strong {
  color: #fff;
  font-size: 28px;
  letter-spacing: -.06em;
}

.reviews-setup-score span {
  margin-top: 2px;
  color: #7edbff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.reviews-admin-layout {
  grid-template-columns: minmax(0, 1fr) 390px;
  align-items: start;
  gap: 15px;
}

.reviews-admin-main {
  display: grid;
  gap: 15px;
}

.credential-note {
  margin: -2px 0 2px;
  padding: 11px 12px;
  border: 1px solid #d7e7f5;
  border-radius: 9px;
  color: #536b86;
  background: #f4faff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6;
}

.reviews-connect-panel h2 {
  font-size: 25px;
}

.connection-stages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.connection-stages > div {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fbfdff;
}

.connection-stages b {
  display: grid;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  color: #70839a;
  background: #eaf1f7;
  font-size: 11px;
}

.connection-stages .done {
  border-color: #c5eadb;
  background: #f4fcf8;
}

.connection-stages .done b {
  color: #fff;
  background: var(--green);
}

.connection-stages strong,
.connection-stages small {
  display: block;
}

.connection-stages strong {
  color: var(--navy);
  font-size: 10px;
}

.connection-stages small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}

.google-connect-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding: 11px 16px;
  border: 1px solid #d4e1ee;
  border-radius: 8px;
  color: #2d4968;
  background: #fff;
  box-shadow: 0 7px 15px rgba(9, 38, 74, .07);
  font-size: 11px;
  letter-spacing: .02em;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.google-connect-button:hover {
  border-color: #9bc8ef;
  box-shadow: 0 10px 20px rgba(9, 38, 74, .11);
  transform: translateY(-2px);
}

.google-connect-button span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #2b7de9, #1f62c2);
  font-size: 14px;
  font-weight: 800;
}

.location-picker-panel > p:not(.admin-eyebrow) {
  margin: 7px 0 0;
  color: var(--copy);
  font-size: 12px;
  line-height: 1.65;
}

.reviews-developer-settings {
  padding: 0;
}

.reviews-developer-settings summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 15px 17px;
  cursor: pointer;
  list-style: none;
}

.reviews-developer-settings summary::-webkit-details-marker {
  display: none;
}

.reviews-developer-settings summary b,
.reviews-developer-settings summary small {
  display: block;
}

.reviews-developer-settings summary b {
  color: var(--navy);
  font-size: 13px;
}

.reviews-developer-settings summary small {
  margin-top: 3px;
  color: var(--copy);
  font-size: 11px;
  font-weight: 600;
}

.reviews-developer-settings summary > strong {
  flex: 0 0 auto;
  color: var(--blue);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.reviews-developer-settings[open] summary {
  border-bottom: 1px solid var(--line);
}

.reviews-developer-settings form {
  padding: 17px;
}

.integration-status {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 50px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.integration-status.configured {
  color: #126642;
  background: #e5f8ef;
}

.integration-status.pending {
  color: #9b650f;
  background: #fff4dd;
}

.missing-fields {
  margin-top: 14px;
  padding: 10px 11px;
  border-radius: 8px;
  color: #9b650f;
  background: #fff8e9;
  font-size: 11px;
  line-height: 1.55;
}

.reviews-form-actions {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
}

.reviews-form-actions .admin-button {
  margin-top: 16px;
}

.reviews-diagnostic-panel h2 {
  margin-bottom: 12px;
}

.diagnostic-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.diagnostic-grid div {
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fbfdff;
}

.diagnostic-grid span,
.diagnostic-grid strong {
  display: block;
}

.diagnostic-grid span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.diagnostic-grid strong {
  margin-top: 5px;
  color: var(--navy);
  font-size: 12px;
}

.admin-button.danger-link {
  margin-top: 12px;
  padding: 0;
  color: var(--red);
  background: transparent;
  font-size: 10px;
}

.reviews-guide {
  position: sticky;
  top: 20px;
}

.reviews-guide ol {
  display: grid;
  gap: 12px;
  margin: 15px 0 0;
  padding-left: 22px;
}

.reviews-guide li {
  padding-left: 3px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
}

.reviews-guide li strong,
.reviews-guide li span,
.reviews-guide li code,
.reviews-guide li a {
  display: block;
}

.reviews-guide li strong {
  color: var(--navy);
  font-size: 12px;
}

.reviews-guide li span {
  margin-top: 3px;
  color: var(--copy);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.58;
}

.reviews-guide code {
  overflow-wrap: anywhere;
  margin-top: 5px;
  padding: 6px;
  border-radius: 5px;
  color: #427092;
  background: #f1f7fc;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.55;
}

.reviews-guide a {
  margin-top: 5px;
  color: var(--blue);
  font-size: 10px;
}

.reviews-guide-tip {
  margin-top: 16px;
  padding: 11px;
  border: 1px solid #ffe0b6;
  border-radius: 9px;
  background: #fff9ef;
}

.reviews-guide-tip strong {
  color: #92590d;
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.reviews-guide-tip p {
  margin: 5px 0 0;
  color: #766344;
  font-size: 11px;
  line-height: 1.58;
}

.reviews-guide-links {
  display: grid;
  gap: 5px;
  margin-top: 15px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
}

.reviews-guide-links strong {
  color: var(--navy);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.reviews-guide-links a {
  color: var(--blue);
  font-size: 10px;
  font-weight: 800;
}

.reviews-approval-note {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #f3d190;
  border-radius: 10px;
  color: #75500f;
  background: #fff9ec;
}

.reviews-approval-note strong,
.reviews-approval-note a {
  display: block;
  font-size: 12px;
  font-weight: 800;
}

.reviews-approval-note p {
  margin: 6px 0 9px;
  font-size: 12px;
  line-height: 1.7;
}

.reviews-approval-note a {
  color: #0b70d8;
}

.color-input {
  min-height: 44px;
  padding: 5px;
}

.editor-panel-expanded {
  position: fixed;
  z-index: 1200;
  inset: 14px;
  overflow-y: auto;
  border-color: #c7ddf0;
  box-shadow: 0 25px 75px rgba(4, 24, 51, .25);
}

.editor-panel-expanded .rich-editor,
.editor-panel-expanded .html-source {
  min-height: calc(100vh - 285px);
}

.editor-focus-active {
  overflow: hidden;
}

/* Live reader preview */
.preview-open {
  overflow: hidden;
}

.article-preview-modal {
  position: fixed;
  z-index: 1500;
  inset: 0;
  display: grid;
  padding: 22px;
  place-items: center;
}

.article-preview-modal[hidden] {
  display: none;
}

.article-preview-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(3, 19, 39, .74);
  backdrop-filter: blur(8px);
}

.article-preview-dialog {
  position: relative;
  overflow: hidden;
  width: min(100%, 1080px);
  max-height: calc(100vh - 44px);
  border-radius: 17px;
  background: #f7fbff;
  box-shadow: 0 28px 85px rgba(0, 0, 0, .3);
}

.article-preview-dialog > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 17px;
  border-bottom: 1px solid #dfe9f2;
  background: #fff;
}

.article-preview-dialog h2 {
  margin: 0;
  color: var(--navy);
  font-size: 19px;
  letter-spacing: -.04em;
}

.article-preview-dialog header button {
  padding: 8px 10px;
  border: 1px solid #caddeb;
  border-radius: 7px;
  color: var(--blue);
  background: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.preview-article-surface {
  --article-accent: #188cff;
  overflow-y: auto;
  max-height: calc(100vh - 114px);
  background: #fff;
}

.preview-article-hero {
  padding: 45px max(24px, calc((100% - 820px) / 2));
  color: #fff;
  background: radial-gradient(circle at 85% 25%, var(--article-accent), transparent 36%), linear-gradient(135deg, #06172f, #0b315f);
}

.preview-hero-clean .preview-article-hero {
  background: #071b36;
}

.preview-hero-accent .preview-article-hero {
  background: radial-gradient(circle at 82% 20%, var(--article-accent), transparent 31%), linear-gradient(135deg, #051329, #0b294d);
}

.preview-category {
  margin: 0 0 10px;
  color: #7edbff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.preview-article-hero h1 {
  max-width: 810px;
  margin: 0;
  font-size: clamp(35px, 5vw, 57px);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.04;
}

.preview-article-hero h1 + p {
  max-width: 710px;
  margin: 13px 0 0;
  color: #d7e6ff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
}

.preview-article-hero span {
  display: block;
  margin-top: 17px;
  color: #a9c6e6;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.preview-article-body {
  max-width: 820px;
  margin: 0 auto;
  padding: 30px 24px 38px;
}

.preview-width-narrow .preview-article-body {
  max-width: 700px;
}

.preview-width-wide .preview-article-body {
  max-width: 990px;
}

.preview-featured-image {
  overflow: hidden;
  margin: 0 0 20px;
  border-radius: 13px;
}

.preview-featured-image img {
  display: block;
  width: 100%;
  max-height: 340px;
  object-fit: cover;
}

.preview-toc {
  display: grid;
  gap: 4px;
  margin-bottom: 22px;
  padding: 13px;
  border: 1px solid #d9e9f6;
  border-radius: 10px;
  color: #54708c;
  background: #f4faff;
  font-size: 11px;
}

.preview-toc strong {
  color: var(--navy);
}

.preview-content {
  color: #53627a;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.78;
}

.preview-content h2,
.preview-content h3 {
  color: #10203d;
  letter-spacing: -.04em;
}

.preview-content .article-lead {
  color: #294767;
  font-size: 18px;
  font-weight: 700;
}

.preview-content .article-callout,
.preview-content .article-highlight {
  margin: 18px 0;
  padding: 15px;
  border: 1px solid #cce4f7;
  border-left: 4px solid var(--article-accent);
  border-radius: 9px;
  background: #f3faff;
}

.preview-content .article-highlight {
  border-color: #ffe0b6;
  border-left-color: #ff9418;
  background: #fff9ef;
}

.preview-content .article-table {
  width: 100%;
  border-collapse: collapse;
}

.preview-content .article-table th,
.preview-content .article-table td {
  padding: 8px;
  border: 1px solid #dce8f3;
  text-align: left;
}

.preview-content .article-button {
  display: inline-block;
  padding: 9px 13px;
  border-radius: 7px;
  color: #fff;
  background: var(--article-accent);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.preview-theme-classic .preview-content {
  color: #4c586b;
  font-family: Georgia, serif;
  font-size: 16px;
}

.preview-theme-minimal .preview-content {
  color: #43546b;
  line-height: 1.88;
}

.preview-article-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 28px;
  padding: 16px;
  border: 1px solid #d8e7f5;
  border-radius: 11px;
  background: #f5faff;
}

.preview-article-cta strong,
.preview-article-cta span {
  display: block;
}

.preview-article-cta strong {
  color: var(--navy);
  font-size: 13px;
}

.preview-article-cta span {
  margin-top: 3px;
  color: var(--copy);
  font-size: 11px;
}

.preview-article-cta b {
  flex: 0 0 auto;
  padding: 9px 11px;
  border-radius: 7px;
  color: #fff;
  background: var(--article-accent);
  font-size: 10px;
}

@media (max-width: 1280px) {
  .reviews-admin-layout {
    grid-template-columns: 1fr;
  }

  .reviews-guide {
    position: static;
  }
}

@media (max-width: 720px) {
  .reviews-admin-hero,
  .reviews-admin-layout {
    grid-template-columns: 1fr;
  }

  .reviews-setup-score {
    justify-self: start;
  }

  .reviews-guide {
    position: static;
  }

  .diagnostic-grid {
    grid-template-columns: 1fr;
  }

  .reviews-form-actions {
    grid-template-columns: 1fr;
  }

  .reviews-form-actions .admin-button {
    width: 100%;
    margin-top: 0;
  }

  .reviews-form-actions .admin-button:first-child {
    margin-top: 15px;
  }

  .connection-stages {
    grid-template-columns: 1fr;
  }

  .google-connect-button {
    width: 100%;
    justify-content: center;
  }

  .editor-panel-head {
    display: block;
  }

  .editor-panel-head-actions,
  .editor-block-buttons {
    justify-content: flex-start;
    margin-top: 10px;
  }

  .editor-block-library {
    grid-template-columns: 1fr;
  }

  .editor-toolbar-group {
    flex: 1 1 auto;
  }

  .editor-toolbar {
    top: 8px;
    max-height: 56vh;
    overflow: auto;
  }

  .article-preview-modal {
    padding: 8px;
  }

  .article-preview-dialog {
    max-height: calc(100vh - 16px);
  }

  .preview-article-surface {
    max-height: calc(100vh - 84px);
  }

  .preview-article-hero {
    padding: 33px 18px;
  }

  .preview-article-body {
    padding: 21px 17px 28px;
  }

  .preview-article-cta {
    display: block;
  }

  .preview-article-cta b {
    display: inline-block;
    margin-top: 10px;
  }
}

/* Creative dashboard and disclosure document workspace */
.admin-sidebar{overflow-y:auto}
.admin-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:24px;overflow:hidden;margin-bottom:16px;padding:27px;border-radius:17px;color:#fff;background:radial-gradient(circle at 85% 10%,rgba(53,191,255,.26),transparent 30%),linear-gradient(140deg,#06172f,#0c3c70);box-shadow:0 19px 42px rgba(7,36,72,.16)}
.admin-dashboard-hero h2{max-width:690px;margin:0;font-size:clamp(29px,4vw,44px);letter-spacing:-.065em;line-height:1.02}.admin-dashboard-hero p:not(.admin-eyebrow){max-width:650px;margin:12px 0 0;color:#c9def5;font-size:13px;line-height:1.7}.admin-hero-actions{display:flex;flex-wrap:wrap;gap:9px}.admin-button.ghost{color:#fff;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.07)}
.admin-insight-orbit{position:relative;height:190px}.insight-ring{position:absolute;border:1px dashed rgba(95,220,255,.34);border-radius:50%}.ring-one{inset:17px 27px}.ring-two{inset:43px 0}.admin-insight-orbit strong{position:absolute;top:62px;left:89px;display:grid;width:74px;height:74px;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#fff;background:rgba(255,255,255,.1);font-size:25px;line-height:.8;text-align:center}.admin-insight-orbit small{display:block;color:#9edcff;font-size:7px;letter-spacing:.12em;text-transform:uppercase}.insight-node{position:absolute;padding:6px 8px;border:1px solid rgba(255,255,255,.14);border-radius:99px;color:#d7ebff;background:rgba(255,255,255,.08);font-size:9px;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.node-content{top:8px;left:11px}.node-media{top:27px;right:7px}.node-growth{right:8px;bottom:19px}.node-system{bottom:4px;left:5px}
.admin-main .stat-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-main .stat-grid article{min-width:0;padding:16px}.admin-main .stat-grid strong{font-size:28px}.admin-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.admin-health-grid article{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.admin-health-grid span,.admin-health-grid strong,.admin-health-grid small{display:block}.admin-health-grid span,.document-library-grid small{color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.admin-health-grid strong{overflow:hidden;margin-top:5px;color:var(--navy);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.admin-health-grid div{height:5px;overflow:hidden;margin-top:11px;border-radius:99px;background:#e7eff7}.admin-health-grid i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan))}.admin-health-grid small{margin-top:7px;color:#7890aa;font-size:10px}
.document-library-grid{display:grid;gap:10px}.document-library-grid article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #dfebf5;border-radius:11px;background:#fbfdff}.document-library-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;color:var(--blue);background:#e8f5ff}.document-library-grid strong,.document-library-grid code,.document-library-grid p{display:block}.document-library-grid strong{margin-top:3px;color:var(--navy);font-size:15px}.document-library-grid code,.document-library-grid p{overflow-wrap:anywhere;margin:4px 0 0;color:#7890aa;font-size:10px}.document-library-actions{display:grid;justify-items:end;gap:7px}.document-library-actions a,.document-library-actions button{padding:0;border:0;color:var(--blue);background:transparent;font-size:11px;font-weight:800}.document-library-actions button{color:var(--red)}
@media(min-width:1181px){.admin-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.admin-main .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.admin-dashboard-hero{display:block;padding:20px}.admin-insight-orbit{display:none}.admin-main .stat-grid,.admin-health-grid{grid-template-columns:1fr}.document-library-grid article{grid-template-columns:38px minmax(0,1fr)}.document-library-actions{grid-column:2;justify-items:start}}

/* Categorised admin navigation */
.sidebar-dashboard{display:block;margin-top:28px;padding:10px;border-radius:8px;color:#b9cde3;font-size:12px;font-weight:800}.sidebar-dashboard:hover,.sidebar-dashboard.active{color:#fff;background:rgba(255,255,255,.1)}.sidebar-groups{display:grid;gap:8px;margin-top:12px}.sidebar-group{border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.025)}.sidebar-group summary{position:relative;padding:9px 26px 9px 10px;color:#82a1c2;font-size:9px;font-weight:800;letter-spacing:.14em;list-style:none;text-transform:uppercase;cursor:pointer}.sidebar-group summary::-webkit-details-marker{display:none}.sidebar-group summary::after{position:absolute;top:50%;right:10px;width:6px;height:6px;border-right:1.5px solid #82a1c2;border-bottom:1.5px solid #82a1c2;content:"";transform:translateY(-65%) rotate(45deg);transition:transform .2s ease}.sidebar-group[open] summary{color:#a6dbff}.sidebar-group[open] summary::after{transform:translateY(-30%) rotate(225deg)}.sidebar-group nav{display:grid;gap:2px;padding:0 5px 6px}.sidebar-group nav a{padding:7px 8px;font-size:11px}.sidebar-bottom{padding-top:13px}@media(max-width:720px){.sidebar-groups{grid-template-columns:1fr 1fr}.sidebar-group nav{display:grid!important;grid-template-columns:1fr}.sidebar-dashboard{margin-top:18px}.sidebar-bottom{display:grid;grid-template-columns:1fr 1fr}}

/* Sidebar icons and reusable media picker */
.sidebar-dashboard,.sidebar-group summary span,.sidebar-group nav a,.sidebar-bottom a,.sidebar-bottom button{display:flex;align-items:center;gap:8px}.sidebar-dashboard svg,.sidebar-group summary svg,.sidebar-group nav svg,.sidebar-bottom svg{flex:0 0 auto}.sidebar-group summary{padding-top:11px;padding-bottom:11px;color:#d7e8fb;font-size:11px;font-weight:800;letter-spacing:.105em}.sidebar-group summary svg{color:#fff}.sidebar-group[open] summary{color:#fff}.sidebar-group nav a svg{color:#7fa8d0}.sidebar-group nav a:hover svg,.sidebar-group nav a.active svg{color:#7edbff}.sidebar-bottom button{justify-content:flex-start}
.admin-media-field{display:grid;gap:8px;margin-top:14px}.admin-field-label{display:block;color:#475c76;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.admin-media-preview{display:grid;min-height:124px;overflow:hidden;place-items:center;border:1px solid #d9e7f3;border-radius:11px;background:linear-gradient(145deg,#f7fbff,#eef6fc)}.admin-media-preview img{display:block;width:100%;height:124px;padding:9px;object-fit:contain}.admin-media-preview span{display:none;padding:17px;color:#8b9db0;font-size:11px;font-weight:700}.admin-media-field.empty .admin-media-preview span{display:block}.admin-media-actions{display:flex;flex-wrap:wrap;gap:7px}.admin-media-actions .admin-button{margin:0;padding:9px 10px;font-size:9px}.admin-media-actions .media-remove-button{color:#b64249;border:1px solid #f2d1d4;background:#fff8f8}.admin-media-modal{position:fixed;z-index:1800;inset:0;display:grid;padding:18px;place-items:center;background:rgba(3,18,39,.74);backdrop-filter:blur(9px)}.admin-media-modal[hidden]{display:none}.admin-media-dialog{overflow-y:auto;width:min(960px,100%);max-height:min(760px,92vh);padding:19px;border:1px solid rgba(255,255,255,.4);border-radius:17px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.26)}.admin-media-close{display:grid;width:35px;height:35px;place-items:center;border:1px solid #d7e6f2;border-radius:9px;color:#5f7894;background:#f8fcff}.admin-media-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px}.admin-media-choice{overflow:hidden;padding:0;border:1px solid #dce8f3;border-radius:10px;background:#fbfdff;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.admin-media-choice:hover{border-color:#8bc9f7;box-shadow:0 10px 21px rgba(9,38,74,.1);transform:translateY(-3px)}.admin-media-choice img{display:block;width:100%;height:106px;padding:7px;object-fit:contain;background:#f0f6fb}.admin-media-choice span{display:block;padding:8px;color:#47617c;font-size:10px;font-weight:800;line-height:1.4}.media-modal-open{overflow:hidden}.library-upload-preview{display:grid;grid-template-columns:94px 1fr;align-items:center;gap:11px;padding:9px;border:1px solid #dce8f3;border-radius:10px;background:#f7fbff}.library-upload-preview img{width:94px;height:70px;border-radius:7px;object-fit:contain;background:#fff}.library-upload-preview span{color:#5c7691;font-size:11px;font-weight:800}
@media(max-width:720px){.admin-media-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-group summary{font-size:10px}}

/* Command header and media modal upload */
.admin-command-header{position:relative;overflow:hidden;align-items:flex-start;margin-bottom:20px;padding:18px;border:1px solid #dce8f3;border-radius:17px;background:radial-gradient(circle at 95% 10%,rgba(83,216,255,.18),transparent 28%),linear-gradient(135deg,#fff,#f5faff);box-shadow:0 15px 35px rgba(9,38,74,.07)}.admin-command-header::after{position:absolute;right:-54px;bottom:-96px;width:190px;height:190px;border:1px solid rgba(24,140,255,.12);border-radius:50%;content:""}.admin-command-header>div{position:relative;z-index:1}.admin-header-subtitle{max-width:650px;margin:8px 0 0;color:#617891;font-size:12px;font-weight:600;line-height:1.65}.admin-header-tools{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:560px}.admin-header-tools a,.admin-header-tools span{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:8px 10px;border:1px solid #d8e6f2;border-radius:9px;color:#45637f;background:#fff;font-size:10px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.admin-header-tools svg{color:var(--blue)}.admin-header-tools span{color:#147052;background:#eefbf5}.admin-header-tools span svg{color:#18a879}.admin-header-tools .admin-button{margin:0;color:var(--blue)}
.admin-media-hint{display:block;margin-top:-5px;color:#74899f;font-size:11px;font-weight:600;line-height:1.55}.admin-media-modal-upload{display:grid;grid-template-columns:minmax(210px,1fr) minmax(130px,.7fr) minmax(140px,.8fr) minmax(160px,.8fr) auto;align-items:end;gap:9px;margin:0 0 15px;padding:12px;border:1px solid #dce8f3;border-radius:12px;background:linear-gradient(135deg,#f8fcff,#f0f7fe)}.admin-media-modal-upload>div strong,.admin-media-modal-upload>div span{display:block}.admin-media-modal-upload>div strong{color:var(--navy);font-size:13px}.admin-media-modal-upload>div span{margin-top:4px;color:#6c8299;font-size:10px;font-weight:600;line-height:1.45}.admin-media-modal-upload label{margin:0}.admin-media-modal-upload .admin-button{min-height:43px;margin:0}.media-modal-upload-status{grid-column:1/-1;margin:0;color:#168359;font-size:11px;font-weight:800}.media-modal-upload-status.error{color:var(--red)}
@media(max-width:1180px){.admin-command-header{display:block}.admin-header-tools{justify-content:flex-start;margin-top:14px}.admin-media-modal-upload{grid-template-columns:1fr 1fr}.admin-media-modal-upload>div,.admin-media-modal-upload .admin-button{grid-column:1/-1}}
@media(max-width:720px){.admin-header-tools{display:grid;grid-template-columns:1fr}.admin-header-tools a,.admin-header-tools span{justify-content:flex-start}.admin-media-modal-upload{grid-template-columns:1fr}}
