.audit-report-actions {
  display: grid;
  gap: 0.8rem;
  margin: 1rem 0;
}

/* Business analytics — executive diagnostic within the v2 audit report */
.audit-business-analytics {
  border-color: rgba(57, 71, 57, 0.24);
  background: linear-gradient(135deg, rgba(220, 228, 216, 0.72), var(--surface) 58%);
}
.audit-business-analytics__head {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: flex-start;
}
.audit-business-analytics__eyebrow {
  margin: 0 0 0.4rem;
  color: var(--sage-dark);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.audit-business-analytics__head .audit-section-title { margin-bottom: 0; }
.audit-business-analytics__coverage {
  margin: 0;
  max-width: 17rem;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.45;
  text-align: right;
}
.audit-business-analytics__coverage strong { color: var(--ink); }
.audit-business-analytics__note {
  margin: 0.9rem 0 1.15rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line);
}
.audit-business-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 0.85rem;
  overflow: hidden;
  background: rgba(255, 252, 246, 0.58);
}
.audit-business-kpi {
  min-width: 0;
  min-height: 8rem;
  padding: 1rem;
  border-right: 1px solid var(--line);
}
.audit-business-kpi:last-child { border-right: 0; }
.audit-business-kpi__label,
.audit-business-kpi small {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.35;
}
.audit-business-kpi__label { min-height: 2.7em; font-weight: 650; }
.audit-business-kpi__value {
  display: block;
  margin: 0.35rem 0;
  color: var(--sage-dark);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.05;
}
.audit-business-kpi__value--unknown { color: var(--muted); font-size: 0.92rem; letter-spacing: -0.02em; }
.audit-business-problems {
  margin-top: 1.35rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--line);
}
.audit-business-subhead {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
}
.audit-business-subhead h4,
.audit-business-problems h4,
.audit-business-sources h4 {
  margin: 0;
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 700;
}
.audit-business-subhead span {
  color: var(--muted);
  font-size: 0.72rem;
}
.audit-business-problems__list {
  display: grid;
  gap: 0.7rem;
  margin: 0.8rem 0 0;
  padding: 0;
  list-style: none;
}
.audit-business-problem {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  gap: 0.65rem;
  padding: 0.75rem 0.8rem;
  border-left: 3px solid #a36b4e;
  background: rgba(255, 252, 246, 0.6);
}
.audit-business-problem--high { border-left-color: #a13d35; }
.audit-business-problem--low { border-left-color: var(--sage); }
.audit-business-problem__number {
  color: var(--sage-dark);
  font-size: 0.75rem;
  font-weight: 750;
}
.audit-business-problem strong { font-size: 0.9rem; }
.audit-business-problem p,
.audit-business-problems--empty p {
  margin: 0.28rem 0 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.5;
}
.audit-business-problem__solution { color: var(--ink) !important; }
.audit-business-detail__section + .audit-business-detail__grid { margin-top: 1.6rem; }
.audit-business-detail__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(14rem, 0.9fr);
  gap: 1.5rem;
  align-items: start;
}
.audit-business-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 0.75rem; }
.audit-business-table {
  width: 100%;
  min-width: 38rem;
  border-collapse: collapse;
  font-size: 0.8rem;
}
.audit-business-table th,
.audit-business-table td {
  padding: 0.65rem 0.7rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.audit-business-table thead th {
  color: var(--muted);
  background: var(--paper-deep);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}
.audit-business-table tbody th { font-weight: 650; }
.audit-business-table tbody tr:last-child th,
.audit-business-table tbody tr:last-child td { border-bottom: 0; }
.audit-business-table small { display: block; margin-top: 0.15rem; color: var(--muted); }
.audit-business-integrity {
  padding: 1rem;
  border-radius: 0.75rem;
  background: var(--paper-deep);
}
.audit-business-integrity .audit-section-title { margin-bottom: 0.65rem; }
.audit-business-integrity dl { margin: 0; }
.audit-business-integrity dl > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.45rem 0;
  border-top: 1px solid var(--line);
}
.audit-business-integrity dt { color: var(--muted); font-size: 0.78rem; }
.audit-business-integrity dd { margin: 0; font-size: 0.84rem; font-weight: 700; }
.audit-business-integrity .meta { margin: 0.6rem 0 0; font-size: 0.78rem; line-height: 1.45; }
.audit-business-sources { margin-top: 1.5rem; }
.audit-business-sources summary { font-weight: 700; }
.audit-business-sources h4 { margin-top: 1rem; }
.audit-business-sources ul { margin: 0.45rem 0 0; padding-left: 1.15rem; }
.audit-business-sources li { margin: 0.35rem 0; overflow-wrap: anywhere; font-size: 0.82rem; }
.audit-business-sources a { text-decoration: underline; text-underline-offset: 0.18em; }
.audit-business-verdict {
  padding: 1.05rem 1.15rem;
  border: 1px solid var(--line);
  border-left: 4px solid var(--sage-dark);
  border-radius: 0.85rem;
  background: rgba(255, 252, 246, 0.72);
}
.audit-business-verdict__title {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.02rem, 1.9vw, 1.28rem);
  font-weight: 750;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.audit-business-verdict__detail {
  margin: 0.5rem 0 0;
  color: var(--ink);
  font-size: 0.9rem;
  line-height: 1.55;
}
.audit-business-verdict__note { margin: 0.6rem 0 0; font-size: 0.78rem; line-height: 1.45; }
.audit-business-answers,
.audit-business-numbers {
  margin-top: 1.35rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--line);
}
.audit-business-numbers .audit-business-kpis { margin-top: 0.8rem; }
.audit-business-answers__list {
  display: grid;
  gap: 0.7rem;
  margin-top: 0.8rem;
}
.audit-business-answer {
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--line);
  border-radius: 0.75rem;
  background: rgba(255, 252, 246, 0.6);
  break-inside: avoid;
}
.audit-business-answer--missing { border-left: 3px solid #a13d35; }
.audit-business-answer__question {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.45;
}
.audit-business-answer__verdict {
  margin: 0.3rem 0 0;
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 700;
}
.audit-business-answer__names {
  display: grid;
  gap: 0.32rem;
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
}
.audit-business-answer__name {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.35rem 0.5rem;
  border-radius: 0.5rem;
  font-size: 0.86rem;
}
.audit-business-answer__name.is-target {
  background: rgba(122, 143, 106, 0.16);
  font-weight: 700;
}
.audit-business-answer__pos {
  min-width: 1.2rem;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 700;
}
.audit-business-answer__title { overflow-wrap: anywhere; }
.audit-business-answer__badge,
.audit-business-answer__tag {
  padding: 0.08rem 0.42rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.audit-business-answer__badge { color: #f7f4ec; background: var(--sage-dark); }
.audit-business-answer__tag { color: var(--sage-dark); background: rgba(122, 143, 106, 0.2); }
.audit-business-answer .meta { margin: 0.45rem 0 0; font-size: 0.76rem; }
.audit-business-answer__engine { color: var(--muted); }
@media (max-width: 900px) {
  .audit-business-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .audit-business-kpi:nth-child(3) { border-right: 0; }
  .audit-business-kpi:nth-child(n+4) { border-top: 1px solid var(--line); }
}
@media (max-width: 640px) {
  .audit-business-analytics__head,
  .audit-business-detail__grid { display: block; }
  .audit-business-analytics__coverage { margin-top: 0.7rem; text-align: left; }
  .audit-business-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-business-kpi { min-height: 7.4rem; border-top: 1px solid var(--line); }
  .audit-business-kpi:nth-child(1),
  .audit-business-kpi:nth-child(2) { border-top: 0; }
  .audit-business-kpi:nth-child(2n) { border-right: 0; }
  .audit-business-integrity { margin-top: 1.25rem; }
}
@media print {
  .audit-business-analytics { break-inside: avoid; background: transparent; }
  .audit-business-verdict,
  .audit-business-answer { background: transparent; break-inside: avoid; }
  .audit-business-answer__name.is-target { background: rgba(122, 143, 106, 0.22); }
  .audit-business-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .audit-business-kpi { padding: 0.65rem; }
  .audit-business-detail__grid { grid-template-columns: minmax(0, 1.5fr) minmax(11rem, 0.9fr); }
  .audit-business-sources { display: block; }
}

.audit-report-actions__buttons,
.audit-report-actions__share > div,
.passport-share-buttons,
.passport-public-share {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.audit-report-actions__delete {
  color: #a13d35;
  border-color: rgba(161, 61, 53, 0.35);
}

.audit-report-actions__share label {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 700;
}

.audit-report-actions__share input {
  flex: 1 1 28rem;
  min-width: min(100%, 18rem);
}

.audit-history-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
}

.audit-history-item__actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.audit-history-item__actions a,
.audit-history-item__actions button,
.passport-share-icon,
.passport-public-share a {
  border: 0;
  background: transparent;
  color: var(--ink, #263127);
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  cursor: pointer;
  padding: 0.25rem;
}

.audit-history-item__actions button:last-child {
  color: #a13d35;
}

.passport-share-panel {
  display: grid;
  gap: 1rem;
  margin-bottom: 1rem;
}

.passport-share-panel__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.passport-badge-tools {
  border-top: 1px solid rgba(37, 49, 40, 0.12);
  padding-top: 0.8rem;
}

.passport-badge-tools summary {
  cursor: pointer;
  font-weight: 700;
}

.passport-public-share {
  margin-top: 0.8rem;
}

@media (max-width: 720px) {
  .audit-history-item {
    grid-template-columns: 1fr;
  }

  .passport-share-panel__head {
    display: grid;
  }
}

@media print {
  .audit-report-actions,
  .audit-report-nav,
  .cabinet-side,
  .cabinet-page-header,
  .site-footer,
  .site-topbar {
    display: none !important;
  }

  .audit-panel-pane {
    display: block !important;
  }
}
/* AiPassport — one visual system with the landing */

:root {
  --ink: #0b111b;
  --paper: #f3f0e9;
  --paper-deep: #e8e6df;
  --sage: #6f7f6a;
  --sage-dark: #394739;
  --sage-light: #dce4d8;
  --line: rgba(11, 17, 27, 0.12);
  --muted: #5b6675;
  --surface: #fffcf6;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font);
  color: var(--ink);
  min-height: 100vh;
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
  text-rendering: geometricPrecision;
  margin: 0;
}

h1, h2, h3, h4, .section-title, .brand-logo, .page-header h1 {
  font-family: inherit;
  color: var(--ink);
}

a { color: var(--ink); text-decoration: none; transition: color 0.15s ease; }
a:hover { color: var(--sage-dark); }
a.btn,
a.btn:hover,
a.btn:focus-visible {
  text-decoration: none;
}
a.btn-primary,
a.btn-primary:visited {
  color: #ffffff;
  background: var(--ink);
  border-color: var(--ink);
}
a.btn-primary:hover,
a.btn-primary:focus-visible {
  color: #ffffff;
  background: #000000;
  border-color: #000000;
}
a.btn-secondary,
a.btn-outline,
a.btn-call {
  color: var(--ink);
  background: transparent;
}
a.btn-secondary:hover,
a.btn-outline:hover,
a.btn-call:hover {
  color: var(--ink);
}

code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.875em;
  color: var(--ink);
  background: var(--paper-deep);
  padding: 0.15em 0.45em;
  border-radius: 0.375rem;
  border: 1px solid var(--line);
}

.container { max-width: 100%; }

.site-main {
  max-width: min(92vw, 64rem);
  margin: 0 auto;
  padding: 3rem 1.25rem 7rem;
}
.cabinet-page .site-main {
  max-width: min(92vw, 92rem);
}
.passport-view-page .site-main,
.validate-page .site-main {
  max-width: min(92vw, 58rem);
}
@media (min-width: 640px) {
  .site-main { padding-left: 2rem; padding-right: 2rem; }
}
@media (min-width: 1024px) {
  .site-main { padding-left: 2.5rem; padding-right: 2.5rem; }
}

.site-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  min-height: 5.25rem;
  margin-bottom: 3rem;
  padding-bottom: 0;
  border-bottom: 1px solid var(--line);
}
.site-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.5rem;
  font-size: 0.82rem;
  font-weight: 650;
}
.lang-switch {
  position: relative;
  z-index: 120;
}
button.lang-switch__btn,
.lang-switch__btn {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  width: auto;
  height: auto !important;
  min-height: 0 !important;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--muted);
  font: inherit;
  font-size: 0.72rem !important;
  font-weight: 650;
  letter-spacing: 0.02em;
  line-height: 1 !important;
  cursor: pointer;
}
button.lang-switch__btn:hover,
button.lang-switch__btn:focus,
button.lang-switch__btn:focus-visible,
.lang-switch.is-open .lang-switch__btn {
  color: var(--ink);
  background: transparent !important;
}
button.lang-switch__btn:focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: 4px;
}
.lang-switch__flag {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.lang-switch__flag svg {
  display: block;
  width: 15px !important;
  height: 11px !important;
  border-radius: 1px;
  outline: 1px solid rgba(15, 23, 42, 0.1);
}
.lang-switch__code {
  min-width: 1.15rem;
}
.lang-switch__chev {
  width: 0.26rem;
  height: 0.26rem;
  border-right: 1.2px solid currentColor;
  border-bottom: 1.2px solid currentColor;
  opacity: 0.55;
  transform: rotate(45deg) translateY(-1px);
}
.lang-switch.is-open .lang-switch__chev {
  transform: rotate(225deg) translateY(-1px);
}
.lang-switch__menu {
  position: absolute;
  top: calc(100% + 0.45rem);
  left: 0;
  min-width: 9.25rem;
  margin: 0;
  padding: 0.25rem;
  list-style: none;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0.6rem;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.lang-switch__menu[hidden] {
  display: none;
}
.lang-switch__menu li {
  margin: 0;
}
.lang-switch__menu button {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  margin: 0;
  padding: 0.4rem 0.55rem;
  border: 0;
  border-radius: 0.4rem;
  background: transparent;
  color: #475569;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: normal;
  text-align: left;
  cursor: pointer;
}
.lang-switch__menu button:hover,
.lang-switch__menu button:focus-visible,
.lang-switch__menu button[aria-current="true"] {
  background: rgba(15, 23, 42, 0.04);
  color: #0f172a;
}
.site-nav > a:not(.btn) {
  color: var(--muted);
}
.site-nav > a:not(.btn):hover {
  color: var(--ink);
}
.site-nav__cta {
  margin-left: 0;
}
.site-nav__cta:hover {
  color: #ffffff;
  background: #000000;
  border-color: #000000;
}
.site-footer,
.passport-public-footer {
  margin-top: 6rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--line);
  font-size: 0.875rem;
  color: var(--ink);
}
.site-footer__links,
.passport-public-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.75rem;
  margin-top: 0.75rem;
}
.site-footer a,
.passport-public-footer a { transition: color 0.15s ease; }
.site-footer a:hover,
.passport-public-footer a:hover { color: var(--sage-dark); }
.site-footer__tagline {
  margin-top: 1.25rem;
  font-size: 0.75rem;
  color: var(--muted);
}
.site-footer__brand {
  margin-top: 0.5rem;
  font-size: 0.7rem;
  color: var(--muted);
  letter-spacing: 0.02em;
}
.cabinet-footer.site-footer {
  margin-top: 4rem;
  padding-top: 2rem;
}
.danger-zone {
  margin-top: 1.5rem;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: transparent;
  overflow: hidden;
}
.danger-zone[open] {
  border-color: #ead7d2;
  background: #fffaf8;
}
.cabinet-delete-panel[hidden] {
  display: none !important;
}
.danger-zone summary {
  padding: 0.85rem 1.1rem;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 600;
  list-style: none;
}
.danger-zone summary::-webkit-details-marker {
  display: none;
}
.danger-zone summary::after {
  float: right;
  color: var(--muted);
  content: "+";
  font-size: 1rem;
  line-height: 1;
}
.danger-zone[open] summary::after {
  content: "−";
}
.danger-zone__content {
  padding: 0 1.1rem 1.1rem;
}
.danger-zone h2 {
  margin: 0.25rem 0 0;
  font-size: 1rem;
  color: #8b5e5e;
}
.danger-zone p {
  margin: 0.5rem 0 1rem;
  color: var(--muted);
  font-size: 0.875rem;
  line-height: 1.45;
}
.danger-zone label {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.8125rem;
  color: var(--muted);
}
.danger-zone__passport-id {
  display: inline-block;
  margin-bottom: 0.55rem;
  padding: 0.2rem 0.45rem;
  border-radius: 0.35rem;
  background: #f3ece8;
  color: var(--ink);
  font-size: 0.75rem;
}
.danger-zone input {
  width: min(100%, 26rem);
  margin-bottom: 0.75rem;
}
.danger-zone__help {
  margin: -0.15rem 0 0.9rem !important;
  font-size: 0.75rem !important;
}
.danger-zone__button {
  color: #9a6262;
  border-color: #d9b8b1;
}
.danger-zone__button:hover {
  color: #8b4f4f;
  border-color: #c9897d;
  background: #f9e9e5;
}

.brand-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.025em;
  color: var(--ink);
  text-decoration: none;
}
.brand-logo:visited,
.brand-logo:hover,
.brand-logo:focus,
.brand-logo:active {
  color: var(--ink);
}

/* Typography */
.page-header { margin-bottom: 3rem; }
.page-header h1 {
  margin: 0.5rem 0 1rem;
  font-size: clamp(1.875rem, 4vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  color: var(--ink);
  line-height: 1.15;
}
.page-header .lead {
  color: var(--ink);
  line-height: 1.75;
  max-width: 44rem;
  font-size: 1.0625rem;
}
.page-header .eyebrow {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sage-dark);
}

.header {
  border-bottom: 1px solid var(--line);
  padding-bottom: 1.25rem;
  margin-bottom: 2rem;
}
.header h1 {
  margin: 0 0 0.5rem;
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--ink);
}

.section-title, h2.section-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 1rem;
  letter-spacing: -0.02em;
}

.meta { color: var(--muted); font-size: 0.9375rem; line-height: 1.75; }
.meta p { margin: 0.45rem 0; }
.meta strong { color: var(--ink); font-weight: 600; }

/* Panels */
.glass-card,
.panel-card,
.audit-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  padding: 2rem 2.1rem;
  margin-bottom: 1.5rem;
}

.page-hero {
  padding: 1rem 0 2rem;
  margin-bottom: 1.5rem;
  background: transparent;
  border: none;
}
.page-hero .page-header,
.page-hero h1.page-header {
  margin: 0;
}
.page-hero .lead {
  margin-top: 0.75rem;
}
.passport-public-hero {
  padding: 2rem 2.1rem;
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  background: var(--surface);
}
.passport-hero-eyebrow {
  margin: 0 0 0.4rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sage-dark);
}
.passport-hero-summary {
  max-width: 46rem;
  margin: 0.8rem 0 0;
}
.passport-hero-facts {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.passport-hero-facts p {
  margin: 0.25rem 0;
}
.passport-hero-actions {
  margin: 1.25rem 0 0;
}
.passport-ai-links-card {
  padding: 1.1rem 1.25rem;
}
.passport-ai-link-row {
  margin-top: 0.85rem;
}
.passport-ai-link-row:first-of-type {
  margin-top: 0.35rem;
}
.passport-ai-link-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 0.35rem;
}
.passport-ai-link-url {
  display: inline-block;
  max-width: 100%;
  padding: 0.35rem 0.55rem;
  border-radius: 8px;
  background: var(--paper-deep);
  border: 1px solid var(--line);
  font-size: 0.82rem;
  word-break: break-all;
}
.btn-copy-mini {
  padding: 0.28rem 0.65rem;
  font-size: 0.78rem;
}
.passport-trust-card {
  padding-top: 1.35rem;
  padding-bottom: 1.35rem;
}

section.glass-card, section.panel-card, form.dashboard-form {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  padding: 2rem 2.1rem;
  margin-bottom: 1.5rem;
}

.glass-card:focus-within,
.panel-card:focus-within,
.dashboard-form:focus-within {
  border-color: rgba(11, 17, 27, 0.22);
}

/* Forms */
label {
  display: block;
  margin: 1.25rem 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="search"],
select,
textarea {
  width: 100%;
  padding: 0.7rem 0.95rem;
  border-radius: 0.75rem;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  transition: border-color 0.15s ease;
}
input::placeholder, textarea::placeholder { color: var(--muted); }
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--sage);
}

/* Keep browser autofill inside the warm palette instead of its default blue. */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--ink);
  -webkit-box-shadow: 0 0 0 1000px var(--surface) inset;
  box-shadow: 0 0 0 1000px var(--surface) inset;
  caret-color: var(--ink);
  transition: background-color 5000s ease-in-out 0s;
}
input:-moz-autofill {
  background-color: var(--surface) !important;
  color: var(--ink) !important;
}

textarea { min-height: 5.5rem; resize: vertical; }

.checkbox-row { color: var(--ink); font-size: 0.9375rem; }
.checkbox-row--compact {
  margin: 0.55rem 0 0;
  font-size: 0.875rem;
}
.field-suggest.is-disabled {
  opacity: 0.55;
}
.field-suggest.is-disabled input {
  pointer-events: none;
  background: var(--paper-deep);
}
.checkbox-row--field {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  margin: 0.75rem 0 1rem;
  cursor: pointer;
}
.checkbox-row--field-lg { margin: 1rem 0; }
.checkbox-row__copy {
  display: grid;
  gap: 0.15rem;
  line-height: 1.35;
}
.checkbox-row__copy small {
  color: #64748b;
  font-size: 0.8125rem;
}
.cabinet-check {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  margin-top: 0.18rem;
}
.cabinet-check__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.cabinet-check__box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 0.28rem;
  border: 1.5px solid #d1d5db;
  background: #fff;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.checkbox-row--field:hover .cabinet-check__box {
  border-color: #b8c0a8;
}
.cabinet-check__input:checked + .cabinet-check__box {
  background: #6f7f6a;
  border-color: #6f7f6a;
}
.cabinet-check__input:checked + .cabinet-check__box::after {
  content: "";
  width: 0.22rem;
  height: 0.4rem;
  border: solid #fff;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg) translateY(-0.5px);
}
.cabinet-check__input:focus-visible + .cabinet-check__box {
  outline: 2px solid rgba(111, 127, 106, 0.4);
  outline-offset: 2px;
}
.plan-tier-fieldset {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px;
  margin: 16px 0;
}
.plan-tier-fieldset legend {
  padding: 0 8px;
  font-weight: 600;
}
.plan-tier-option {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0 0 10px;
}
.plan-tier-option:last-child { margin-bottom: 0; }
.plan-tier-fieldset > .field-hint {
  margin-top: 0;
  margin-bottom: 0.75rem;
}
.form-block { margin: 1.75rem 0 0.25rem; }
.form-block__label {
  margin: 0 0 0.65rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #0f172a;
  letter-spacing: -0.01em;
}
.plan-tier-block { margin-bottom: 0.15rem; }
.plan-tier-choices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.75rem;
}
.plan-tier-choices--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 719px) {
  .plan-tier-choices,
  .plan-tier-choices--two {
    grid-template-columns: 1fr;
  }
}
.business-footprint {
  margin-top: 0.75rem;
  padding: 0;
  border: 0;
  background: transparent;
}
.business-footprint__label {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #0f172a;
}
.business-footprint__choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
@media (max-width: 639px) {
  .business-footprint__choices {
    grid-template-columns: 1fr;
  }
}
.business-footprint__choices--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 960px) {
  .business-footprint__choices--three {
    grid-template-columns: 1fr;
  }
}
.geo-scope-block {
  margin-top: 1.25rem;
}
.register-page .geo-fields-panel {
  margin-top: 0.85rem;
  padding: 1rem 1.1rem 0.35rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.75rem;
  background: #fafafa;
}
.register-page .geo-fields-panel .register-fields-row__cell label {
  margin-top: 0;
}
.register-page .geo-fields-panel .field-hint {
  margin: 0.65rem 0 0;
}
.register-page .geo-fields-panel--nationwide .geo-fields-panel__city,
.register-page .geo-fields-panel--global .geo-fields-panel__city {
  display: none;
}
.register-page .geo-fields-panel--global .register-fields-row {
  grid-template-columns: 1fr;
}
.register-page .geo-fields-panel--global {
  background: #f8fafc;
}
.business-footprint__choice {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin: 0;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.65rem;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.business-footprint__choice:hover {
  border-color: rgba(148, 163, 184, 0.85);
  background: #fafafa;
}
.business-footprint__choice:has(input:checked) {
  border-color: #0f172a;
  background: #ffffff;
  box-shadow: 0 0 0 1px #0f172a;
}
.business-footprint__choice input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.business-footprint__choice strong {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #0f172a;
}
.business-footprint__choice small {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.45;
}
.plan-tier-choice {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.65rem;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.plan-tier-choice:hover {
  border-color: rgba(148, 163, 184, 0.85);
  background: #fafafa;
}
.plan-tier-choice:has(input:checked) {
  border-color: #0f172a;
  background: #ffffff;
  box-shadow: 0 0 0 1px #0f172a;
}
.plan-tier-choice input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.plan-tier-choice__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.1rem;
  height: 3.1rem;
  border-radius: 0.8rem;
  background: var(--tone-bg, #c4785a);
  color: var(--tone-fg, #1b1816);
  border: none;
  box-shadow: none;
}
.plan-tier-choice:has(input:checked) .plan-tier-choice__icon {
  background: var(--tone-bg, #c4785a);
  box-shadow: inset 0 0 0 1.5px #0f172a;
}
.plan-tier-choice__icon .sector-icon {
  width: 34px;
  height: 34px;
}
.plan-tier-choice__body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.875rem;
  color: #0f172a;
  line-height: 1.35;
  min-width: 0;
}
.plan-tier-choice__body strong {
  font-weight: 600;
  letter-spacing: -0.015em;
  font-size: 0.9375rem;
}
.plan-tier-choice__hint {
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.45;
}
.plan-tier-choice__detail {
  font-size: 0.75rem;
  font-weight: 600;
  color: #475569;
  line-height: 1.4;
}
.register-page .site-main {
  max-width: min(98vw, 72rem);
}
.register-page .dashboard-form.glass-card {
  width: 100%;
  max-width: none;
  border-radius: 1.25rem;
  border-color: var(--line);
  box-shadow: none;
  padding: 1.75rem 1.85rem;
}
@media (min-width: 640px) {
  .register-page .dashboard-form.glass-card {
    padding: 2rem 2.25rem;
  }
}
.register-page .page-header {
  margin-bottom: 2rem;
}
.register-fields-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@media (min-width: 640px) {
  .register-fields-row {
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
  }
  .register-fields-row__cell label {
    margin-top: 1.25rem;
  }
}
.city-suggest,
.field-suggest {
  position: relative;
}
.city-suggest__menu,
.field-suggest__menu {
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  right: 0;
  z-index: 50;
  max-height: min(16rem, 42vh);
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 0.75rem;
  box-shadow: 0 14px 36px rgba(11, 17, 27, 0.08);
}
.city-suggest__option,
.field-suggest__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  padding: 0.55rem 0.75rem;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  font: inherit;
  font-size: 0.9375rem;
  cursor: pointer;
}
.city-suggest__option:hover,
.city-suggest__option.is-active,
.field-suggest__option:hover,
.field-suggest__option.is-active {
  background: var(--sage-light);
}
.city-suggest__option-name,
.field-suggest__option-name {
  min-width: 0;
}
.city-suggest__option-country,
.city-suggest__option-meta,
.field-suggest__option-meta {
  color: var(--muted);
  font-size: 0.8125rem;
  flex-shrink: 0;
}
.register-page .dashboard-form label:first-of-type {
  margin-top: 0;
}
.register-page .form-block + .sector-picker label {
  margin-top: 1.5rem;
}
.sector-icon {
  display: block;
  flex-shrink: 0;
  color: var(--tone-fg, #1b1816);
}
.sector-icon--tile {
  color: var(--tone-fg, #1b1816);
}
.sector-icon--tile * {
  vector-effect: non-scaling-stroke;
}
.form-field-note { margin: 0.5rem 0 1rem; }
.form-field-note--tight { margin: 0.5rem 0 0.75rem; }
.form-submit-spaced { margin-top: 1.25rem; }
input[type="text"].recover-code-input {
  width: 9.5rem;
  max-width: 100%;
  text-align: center;
  letter-spacing: 0.18em;
  font-variant-numeric: tabular-nums;
}
.field-hint--block {
  display: block;
  margin: 0.35rem 0 0;
}
.passport-id-status { margin: 0.35rem 0 0.75rem; }
.passport-id-status--ok { color: #15803d; }
.passport-id-status--bad { color: #b45309; }
.passport-id-status--wait { color: #64748b; }
.passport-id-suggestions { margin: 0 0 1rem; }
.passport-id-suggestions__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.register-advanced {
  margin: 0 0 1rem;
  padding: 0.75rem 0;
}
.register-advanced summary {
  cursor: pointer;
  margin-bottom: 0.75rem;
}
.btn-suggestion {
  font-size: 0.8125rem;
  padding: 0.35rem 0.65rem;
  height: auto;
}
.sector-picker { margin-bottom: 0.15rem; }
.sector-picker--compact .sector-picker__intro {
  margin: 0.15rem 0 0.55rem;
  font-size: 0.8125rem;
  color: #64748b;
}
.sector-picker--compact .sector-picker__selected {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 2.75rem;
  margin-bottom: 0.5rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 0.65rem;
  background: #fff;
}
.sector-picker--compact .sector-picker__value {
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
}
.sector-picker--compact .sector-picker__selected-label {
  display: none;
}
.sector-picker--compact .sector-picker__panel[hidden] {
  display: none;
}
.sector-summary-card {
  margin-top: 0.75rem;
}
.sector-summary-card__value {
  margin: 0.35rem 0 0;
  font-size: 0.9375rem;
}
.sector-summary-card__hint {
  margin: 0.35rem 0 0;
}
.sector-picker__intro {
  margin: 0.35rem 0 0.85rem;
  color: #64748b;
  line-height: 1.55;
}
.sector-picker__search-wrap { margin-bottom: 0.35rem; }
.sector-picker__search {
  width: 100%;
  padding: 0.7rem 0.95rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.5rem;
  font-size: 0.9375rem;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sector-picker__search:focus {
  outline: none;
  border-color: #cbd5e1;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.06);
}
.sector-picker__selected {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  margin: 0.85rem 0 0.25rem;
  padding: 0.75rem 0;
  border-top: 1px solid rgba(226, 232, 240, 0.85);
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
}
.sector-picker__selected-label {
  font-size: 0.8125rem;
  color: #64748b;
}
.sector-picker__change {
  margin-left: auto;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 0.8125rem;
  color: #64748b;
  cursor: pointer;
  text-decoration: none;
}
.sector-picker__change:hover { color: var(--sage-dark); }
.sector-picker__panel {
  margin-top: 1rem;
  padding: 0;
  background: transparent;
  border: 0;
  max-height: none;
  overflow: visible;
}
.sector-picker__browse {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.15rem;
  align-items: start;
}
@media (min-width: 768px) {
  .sector-picker__browse {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}
.sector-picker__section-title {
  margin: 0 0 0.5rem;
  min-height: 1.25rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-transform: none;
  color: #0f172a;
}
.sector-picker__section + .sector-picker__section {
  margin-top: 0;
}
.sector-picker__results {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.sector-picker__chips,
.sector-picker__groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  border-top: 0;
}
.sector-picker__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid rgba(226, 232, 240, 0.85);
}
/* Scroll only after drilling into a group / search results — not on the first browse screen */
.sector-picker__activities .sector-picker__list,
.sector-picker__results .sector-picker__list {
  max-height: min(32rem, 65vh);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #64748b #e2e8f0;
  padding: 0.15rem 0.25rem 0.35rem 0;
  margin-top: 0.15rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.65rem;
  background: #f8fafc;
}
.sector-picker__list-heading {
  position: sticky;
  top: 0;
  z-index: 1;
  margin: 0;
  padding: 0.55rem 0.65rem 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #64748b;
  background: #f8fafc;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}
.sector-picker__activities .sector-picker__list::-webkit-scrollbar,
.sector-picker__results .sector-picker__list::-webkit-scrollbar {
  width: 0.65rem;
}
.sector-picker__activities .sector-picker__list::-webkit-scrollbar-thumb,
.sector-picker__results .sector-picker__list::-webkit-scrollbar-thumb {
  background: #64748b;
  border-radius: 999px;
}
.sector-picker__activities .sector-picker__list::-webkit-scrollbar-track,
.sector-picker__results .sector-picker__list::-webkit-scrollbar-track {
  background: #e2e8f0;
  border-radius: 999px;
}
.sector-picker__activities .sector-picker__item,
.sector-picker__results .sector-picker__item {
  padding-left: 0.65rem;
  padding-right: 0.65rem;
}
.sector-picker__chip,
.sector-picker__group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  min-width: 0;
  min-height: 3.35rem;
  box-sizing: border-box;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.6rem;
  background: #ffffff;
  padding: 0.4rem 0.55rem;
  cursor: pointer;
  font: inherit;
  font-size: 0.8125rem;
  color: #0f172a;
  text-align: left;
  transition: border-color 0.12s ease, background-color 0.12s ease;
}
.sector-picker__chip:hover,
.sector-picker__group:hover {
  border-color: #cbd5e1;
  background: #fafafa;
}
.sector-picker__chip-icon,
.sector-picker__group-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.05rem;
  height: 3.05rem;
  border-radius: 0.8rem;
  background: var(--tone-bg, #c4785a);
  color: var(--tone-fg, #1b1816);
  border: none;
  box-shadow: none;
}
.sector-picker__chip-icon .sector-icon,
.sector-picker__group-icon .sector-icon {
  width: 32px;
  height: 32px;
}
.sector-picker__chip-label,
.sector-picker__group-label {
  flex: 1;
  min-width: 0;
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: -0.01em;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.register-entity-note {
  margin: 0 0 1.25rem;
  font-size: 0.8125rem;
  color: #64748b;
}
.sector-picker__group-arrow {
  flex-shrink: 0;
  width: 0.85rem;
  text-align: center;
  font-size: 0.8125rem;
  color: #94a3b8;
  transition: transform 0.12s ease, color 0.12s ease;
}
.sector-picker__group:hover .sector-picker__group-arrow {
  color: #64748b;
  transform: translateX(2px);
}
.sector-picker__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 0;
  padding: 0.72rem 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  transition: color 0.12s ease;
}
.sector-picker__item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.05rem;
  height: 3.05rem;
  border-radius: 0.8rem;
  background: var(--tone-bg, #c4785a);
  color: var(--tone-fg, #1b1816);
  border: none;
  box-shadow: none;
}
.sector-picker__item-icon .sector-icon {
  width: 32px;
  height: 32px;
}
.sector-picker__item-text {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}
.sector-picker__item:hover {
  color: #0f172a;
}
.sector-picker__item:active {
  color: #312e81;
}
.sector-picker__item:focus-visible,
.sector-picker__chip:focus-visible,
.sector-picker__group:focus-visible,
.sector-picker__back:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 1px #0f172a;
}
.sector-picker__item-label {
  font-weight: 500;
  color: inherit;
  letter-spacing: -0.01em;
}
.sector-picker__item-group {
  flex-shrink: 0;
  font-size: 0.8125rem;
  color: #94a3b8;
}
.sector-picker__empty {
  margin: 0.35rem 0 0.85rem;
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.45;
}
.sector-picker__item:hover .sector-picker__item-group {
  color: #64748b;
}
.sector-picker__back {
  border: 0;
  background: none;
  padding: 0;
  margin: 0 0 0.75rem;
  cursor: pointer;
  color: #64748b;
  border-radius: 0;
  font: inherit;
  font-size: 0.8125rem;
}
.sector-picker__back:hover {
  color: #0f172a;
  text-decoration: none;
}
.input-hidden,
.row-template { display: none; }
.universal-upload-label {
  cursor: pointer;
  margin: 0;
}
.section-title--spaced { margin-top: 2rem; }
.validate-header-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.validate-header-row__side { text-align: right; }
.validate-check-detail {
  margin-left: 1.15rem;
  margin-top: 0.35rem;
}
.link-preview--spaced { margin-top: 0.65rem; }
.link-preview > .meta:first-of-type { margin: 0.5rem 0 0; }

.field-hint { font-size: 0.875rem; color: #0f172a; margin: 0.35rem 0 0.75rem; line-height: 1.55; }
.field-hint strong { color: #0f172a; }

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  height: 2.625rem;
  padding: 0 1.25rem;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  box-sizing: border-box;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.btn-primary {
  background: var(--ink);
  color: #ffffff;
  border: 1px solid var(--ink);
  border-radius: 999px;
}
.btn-primary:hover {
  background: #000000;
  border-color: #000000;
  color: #ffffff;
}

.btn-call,
.btn-secondary,
.btn-outline {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 999px;
}
.btn-call:hover,
.btn-secondary:hover,
.btn-outline:hover {
  background: var(--surface);
  color: var(--ink);
  border-color: rgba(11, 17, 27, 0.28);
}

.cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem;
  margin: 2.25rem 0;
}
.cta-row--landing {
  margin-top: 0.5rem;
}

/* ===========================================
   LANDING — same system as passport /view
   =========================================== */
.landing-page .site-main {
  max-width: min(94vw, 72rem);
}

.lp-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(1.75rem, 4vw, 3.25rem);
  align-items: start;
  margin-bottom: 1.75rem;
}

.lp-hero__copy {
  padding: 0.5rem 0 0.25rem;
}

.lp-hero__copy .passport-hero__title {
  font-size: clamp(2rem, 4.2vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  margin: 0;
  max-width: 11em;
}

.lp-hero__copy .passport-hero-summary {
  max-width: 32rem;
  margin-top: 1rem;
}

.lp-hero__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
  margin: 1rem 0 0;
  font-size: 0.9rem;
}

.lp-hero__links a {
  color: #64748b;
  font-weight: 500;
}

.lp-hero__links a:hover {
  color: #0f172a;
}

/* Live passport preview — looks like /view, not a flyer */
.lp-preview {
  display: block;
  color: inherit;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 22px 48px rgba(15, 23, 42, 0.08),
    0 6px 16px rgba(15, 23, 42, 0.04);
  overflow: hidden;
}

.lp-preview__bar {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem 1rem;
  background: #f8fafc;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
}

.lp-preview__bar-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #0f172a;
  flex-shrink: 0;
  opacity: 0.55;
}

.lp-preview__bar-url {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  font-weight: 500;
  color: #64748b;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lp-preview__bar-url--live::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 0.9em;
  margin-left: 2px;
  vertical-align: text-bottom;
  background: #64748b;
  animation: lp-cursor-blink 1.05s step-end infinite;
}

@keyframes lp-cursor-blink {
  50% { opacity: 0; }
}

.lp-preview__body {
  padding: 1.35rem 1.4rem 1.25rem;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbf9f6 100%);
}

.lp-preview__title {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 650;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: #0f172a;
}

.lp-preview__summary {
  margin: 0.55rem 0 0;
  max-width: 28rem;
}

.lp-preview__actions {
  margin-top: 1rem;
  pointer-events: none;
}

.lp-preview__actions .btn {
  height: 2.35rem;
  padding: 0 1rem;
  font-size: 0.8rem;
}

.lp-preview .verified-badge {
  margin-top: 1rem;
}

.lp-preview__offers {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(226, 232, 240, 0.85);
}

.lp-preview__offers-label {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.lp-preview__offers .price-item {
  padding: 0.7rem 0;
}

.lp-preview__open {
  margin: 1rem 0 0;
  font-weight: 600;
  color: #0f172a;
}

.lp-split {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 1.25rem;
}

.lp-split .section-title--sm {
  margin-bottom: 0.35rem;
}

.lp-steps {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

.lp-steps li {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}

.lp-steps__num {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #f8fafc;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0f172a;
}

.lp-steps strong {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.98rem;
  color: #0f172a;
}

.lp-steps .meta {
  margin: 0;
}

.lp-final .cta-row {
  margin-top: 1.25rem;
}

/* Landing sections — numbered, spacious */
.lp-section {
  padding: clamp(2.25rem, 5vw, 3.5rem) 0;
  border-top: 1px solid rgba(226, 232, 240, 0.75);
}

.lp-section__head {
  display: flex;
  align-items: baseline;
  gap: 1rem 1.25rem;
  margin-bottom: 1.5rem;
}

.lp-section__index {
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lp-section__title {
  margin: 0;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 650;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.lp-section__footnote {
  margin: 1.25rem 0 0;
  max-width: 36rem;
}

/* Human / AI reader toggle */
.lp-reader__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.lp-reader__tabs {
  display: inline-flex;
  gap: 0.25rem;
  padding: 0.2rem;
  margin-bottom: 1rem;
  border-radius: 999px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: #f8fafc;
}

.lp-reader__tab {
  display: inline-block;
  padding: 0.4rem 0.95rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

#lp-reader-human:checked ~ .lp-reader__tabs label[for="lp-reader-human"],
#lp-reader-ai:checked ~ .lp-reader__tabs label[for="lp-reader-ai"] {
  background: #0f172a;
  color: #ffffff;
}

.lp-reader__panel--ai {
  display: none;
}

#lp-reader-ai:checked ~ .lp-reader__panel--human {
  display: none;
}

#lp-reader-ai:checked ~ .lp-reader__panel--ai {
  display: block;
}

.lp-reader__card {
  padding: 1.15rem 1.2rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.lp-reader__card-title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}

.lp-reader__facts {
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #0f172a;
}

.lp-reader__facts li + li {
  margin-top: 0.35rem;
}

.lp-reader__code {
  margin: 0;
  padding: 1rem 1.1rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: #0f172a;
  overflow-x: auto;
}

.lp-reader__code code {
  display: block;
  padding: 0;
  border: none;
  background: transparent;
  color: #e2e8f0;
  font-size: 0.78rem;
  line-height: 1.55;
  white-space: pre;
}

.lp-reader__note {
  margin: 0.85rem 0 0;
}

.lp-triad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(226, 232, 240, 0.6);
}

.lp-triad__label {
  margin: 0 0 0.3rem;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.lp-triad__item .meta {
  margin: 0;
}

.lp-features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.1rem;
}

.lp-features li {
  display: grid;
  gap: 0.15rem;
}

.lp-features strong {
  font-size: 0.98rem;
  font-weight: 650;
  color: #0f172a;
}

.lp-formats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.65rem;
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(226, 232, 240, 0.6);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lp-formats__sep {
  opacity: 0.45;
}

.lp-audience,
.lp-honest {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
  max-width: 40rem;
  font-size: 0.98rem;
  line-height: 1.5;
  color: #0f172a;
}

.lp-audience li,
.lp-honest li {
  padding-left: 1rem;
  border-left: 2px solid #0f172a;
}

.lp-final {
  margin-top: 0.5rem;
  padding: clamp(2.5rem, 5vw, 3.75rem) clamp(1.25rem, 3vw, 2rem);
  border-radius: 1rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  text-align: center;
}

.lp-final__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 650;
  letter-spacing: -0.03em;
  line-height: 1.12;
}

.lp-final__lead {
  margin: 0.85rem auto 0;
  max-width: 28rem;
}

.lp-final .cta-row {
  justify-content: center;
  margin-top: 1.5rem;
}

/* Scroll reveal */
.lp-reveal {
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.lp-reveal--in {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .lp-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .lp-preview__bar-url--live::after {
    animation: none;
  }
}

@media (max-width: 900px) {
  .lp-hero {
    grid-template-columns: 1fr;
  }

  .lp-preview {
    max-width: 28rem;
  }
}

@media (max-width: 760px) {
  .lp-split,
  .lp-triad {
    grid-template-columns: 1fr;
  }
}

/* Alerts */
.alert {
  position: relative;
  padding: 0.9rem 1.15rem 0.9rem 1.35rem;
  border-radius: 0.85rem;
  margin: 1rem 0;
  font-size: 0.9rem;
  line-height: 1.45;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  overflow: hidden;
}
.alert::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #94a3b8;
}
.alert-warning {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
.alert-warning::before { background: #c4a35a; }
.register-page .alert-warning {
  font-weight: 700;
  font-size: 1rem;
}
.alert-success {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
.alert-success::before { background: #6f7f6a; }

.stale-banner, .subscription-alert {
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
  border-radius: 0.75rem;
  padding: 0.875rem 1.1rem;
  font-size: 0.9375rem;
}

.dev-hint {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 0.75rem;
  padding: 0.875rem 1.1rem;
  color: #92400e;
  margin: 0.875rem 0;
  font-size: 0.875rem;
}

/* Lists */
.price-list { list-style: none; padding: 0; margin: 0; }
.price-item {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.6);
  color: #0f172a;
  min-width: 0;
}
.price-item:last-child { border-bottom: none; }
.price-item strong { color: #0f172a; font-weight: 600; }
.price-item-main {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.price-item-value {
  flex: 0 0 auto;
  text-align: right;
  white-space: nowrap;
}

.steps-list { list-style: decimal; padding-left: 1.5rem; margin: 0; }
.steps-list li { padding: 0.6rem 0; color: #0f172a; border: none; }

.email-preview {
  background: #f8fafc;
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: 0.75rem;
  padding: 1.25rem 1.35rem;
  font-size: 0.9375rem;
  line-height: 1.65;
}
.email-preview p { margin: 0 0 0.55rem; }

.data-table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.data-table thead tr { border-bottom: 1px solid rgba(226, 232, 240, 0.9); text-align: left; }
.data-table th, .data-table td { padding: 0.9rem 0.4rem; }
.data-table tbody tr { border-bottom: 1px solid rgba(226, 232, 240, 0.6); }
.data-table th {
  color: #0f172a;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.data-table td { color: #0f172a; }

.link-preview {
  font-size: 0.875rem;
  background: #f8fafc;
  border: 1px dashed rgba(203, 213, 225, 0.9);
  border-radius: 0.75rem;
  padding: 0.9rem 1.1rem;
  margin-bottom: 1.25rem;
  word-break: break-all;
  color: #0f172a;
}
.link-preview strong { color: #0f172a; display: block; margin-bottom: 0.35rem; font-weight: 600; }
.link-preview.is-ready { border-color: rgba(148, 163, 184, 0.8); background: #ffffff; }
.link-preview.is-ready code { color: #0f172a; }
.link-preview ol { margin: 0.55rem 0 0; padding-left: 1.25rem; }
.link-preview li { margin-bottom: 0.35rem; color: #0f172a; }
.link-preview a { word-break: break-all; }

.spoiler summary {
  cursor: pointer;
  color: #0f172a;
  padding: 0.35rem 0;
  font-weight: 500;
}

.verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #ffffff;
  color: #0f172a;
  font-weight: 500;
  font-size: 0.875rem;
  padding: 0.5rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(226, 232, 240, 0.9);
}
.verified-badge .checkmark {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #6f7f6a;
  flex-shrink: 0;
}

/* Status indicators */
.status-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 0.5rem;
  vertical-align: middle;
  flex-shrink: 0;
}
.status-dot--ok { background: #6f7f6a; }
.status-dot--warn { background: #eab308; }

.status-row {
  display: flex;
  align-items: flex-start;
}
.status-row strong {
  display: flex;
  align-items: center;
  font-weight: 600;
  color: #0f172a;
}

.audit-panel .audit-score {
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: #0f172a;
  line-height: 1;
}
.audit-panel .audit-label {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0f172a;
  margin-bottom: 0.4rem;
}
.audit-panel .audit-index {
  font-size: 1.75rem;
  font-weight: 600;
  color: #0f172a;
  letter-spacing: -0.02em;
}

.validate-list .price-item {
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: 0.75rem;
  padding: 1rem 1.15rem;
  margin-bottom: 0.65rem;
  background: #ffffff;
}

/* ========== CABINET ========== */
.cabinet-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 3.25rem;
  align-items: start;
}
.cabinet-side {
  position: sticky;
  top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.cabinet-main {
  min-width: 0;
}
.cabinet-nav {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.cabinet-logout-form {
  margin: 0;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(226, 232, 240, 0.85);
}
.cabinet-logout-link {
  display: block;
  width: 100%;
  padding: 0.45rem 0.85rem;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 0.8125rem;
  text-align: left;
  cursor: pointer;
}
.cabinet-logout-link:hover {
  color: var(--ink);
}
.cabinet-nav .tab-btn {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0.55rem 0.85rem;
  border-radius: 0.65rem;
  border: 1px solid transparent;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.cabinet-nav .tab-btn:hover { color: var(--ink); background: var(--paper-deep); }
.cabinet-nav .tab-btn.active {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
  font-weight: 600;
}
.cabinet-panel { display: none; }
.cabinet-panel.active { display: block; }

.readiness-card {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem 1.35rem;
  margin-bottom: 1.25rem;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.035);
}
.readiness-score {
  width: 5.8rem;
  min-width: 5.8rem;
  height: 5.8rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  border-radius: 1.25rem;
  background: #fbfaf7;
  color: #111827;
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68), 0 10px 22px rgba(15, 23, 42, 0.045);
}
.readiness-score span {
  font-size: 2.25rem;
  font-weight: 760;
  letter-spacing: -0.04em;
}
.readiness-score small {
  margin-left: 0.15rem;
  font-size: 0.82rem;
  color: #6b7280;
}
.readiness-eyebrow {
  margin: 0 0 0.18rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.68rem;
}
.readiness-title {
  margin: 0 0 0.35rem;
  color: #0f172a;
  font-size: 1.05rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.readiness-progress {
  height: 0.28rem;
  margin-top: 0.85rem;
  overflow: hidden;
  border-radius: 999px;
  background: #eef0f3;
}
.readiness-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #6f7f6a, #8b9a84);
}
.score-row { display: flex; flex-wrap: wrap; gap: 1.75rem; align-items: flex-end; margin-bottom: 1.25rem; }
.score-block { flex: 1; min-width: 180px; }
.ai-score {
  font-size: 1.5rem;
  font-weight: 600;
  color: #0f172a;
  letter-spacing: -0.02em;
}
.ai-score-max { font-size: 0.9375rem; color: #0f172a; font-weight: 500; }

.rank-card {
  margin: 0 0 1.25rem;
  padding: 1rem 1.15rem;
  border-radius: 0.75rem;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.6);
}
.rank-card--active {
  background: #f8fafc;
  border-color: rgba(203, 213, 225, 0.9);
}
.rank-place { font-size: 1.125rem; color: #0f172a; margin: 0 0 0.25rem; font-weight: 600; }

.checklist { list-style: none; padding: 0; margin: 0.875rem 0 0; }
.checklist li {
  display: flex;
  align-items: flex-start;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.5);
  font-size: 0.9375rem;
  color: #0f172a;
  text-align: left;
}
.checklist li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 0.7rem;
  margin-top: 0.45rem;
  flex-shrink: 0;
}
.checklist li.ok::before { background: #22c55e; }
.checklist li.no::before { background: #cbd5e1; }

.cabinet-overview .checklist--overview li {
  color: #0f172a;
  font-weight: 560;
  line-height: 1.35;
  padding: 0.62rem 0;
  gap: 0;
}
.cabinet-overview .checklist--overview li::before {
  width: 7px;
  height: 7px;
  margin-top: 0.42rem;
  margin-right: 0.75rem;
  box-shadow: none;
}
.cabinet-overview .checklist--overview li.ok::before { background: #6f7f6a; }
.cabinet-overview .checklist--overview li.no::before {
  background: #d8dee8;
  box-shadow: none;
}
.cabinet-overview .save-bar-note,
.cabinet-page .save-bar .save-bar-note {
  color: #0f172a;
}

.mode-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.45rem 0 1rem;
}
.mode-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.7rem 0.4rem 0.55rem;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-size: 0.85rem;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.mode-chip:hover {
  border-color: #cbd5e1;
  background: #fafafa;
}
.mode-chip:has(.mode-chip__input:checked) {
  border-color: rgba(111, 127, 106, 0.45);
  background: #f4f6f2;
  color: #1f2a24;
}
.mode-chip__check {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.mode-chip__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.mode-chip__box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 0.28rem;
  border: 1.5px solid #d1d5db;
  background: #fff;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.mode-chip:hover .mode-chip__box {
  border-color: #b8c0a8;
}
.mode-chip__input:checked + .mode-chip__box {
  background: #6f7f6a;
  border-color: #6f7f6a;
}
.mode-chip__input:checked + .mode-chip__box::after {
  content: "";
  width: 0.22rem;
  height: 0.4rem;
  border: solid #fff;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg) translateY(-0.5px);
}
.mode-chip__input:focus-visible + .mode-chip__box {
  outline: 2px solid rgba(111, 127, 106, 0.4);
  outline-offset: 2px;
}

.ai-writing-guide {
  margin: -0.5rem 0 1rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 0.9rem;
  background: #fbfaf7;
}
.price-ai-cell {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.4rem;
}
.price-ai-cell .ai-offer-preview {
  margin: 0;
  font-size: 0.76rem;
  color: #64748b;
}
.price-extras {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.3rem;
  margin: 0;
  padding: 0;
  border: 0;
}
.price-synonyms-row,
.price-terms-row {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
}
#prices-panel .price-synonyms-row,
#prices-panel .price-terms-row {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.price-terms {
  margin: 0;
  border: 0;
  background: transparent;
}
.price-terms > summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
  list-style: none;
  cursor: pointer;
  color: #64748b;
  font-size: 0.8125rem;
}
.price-terms > summary::-webkit-details-marker { display: none; }
.price-terms__label {
  font-weight: 650;
  color: #475569;
}
.price-terms__hint {
  color: #94a3b8;
}
.price-terms__count {
  font-size: 0.72rem;
  font-weight: 500;
  color: #64748b;
}
.price-terms__count::before {
  content: "· ";
  color: #cbd5e1;
}
.price-terms__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 0.75rem;
  margin-top: 0.55rem;
}
.price-terms__grid label {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  font-size: 0.75rem;
  color: #64748b;
}
.price-terms__grid input {
  width: 100%;
  min-height: 2.35rem;
  padding: 0.4rem 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 0.55rem;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-size: 0.875rem;
}
.price-terms__wide { grid-column: 1 / -1; }
@media (max-width: 700px) {
  .price-terms__grid { grid-template-columns: 1fr; }
  .price-terms__wide { grid-column: auto; }
}
.price-synonyms {
  margin: 0;
}
.price-synonyms__toggle {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  padding: 0.1rem 0;
  border: 0;
  background: transparent;
  color: #64748b;
  font: inherit;
  font-size: 0.8125rem;
  text-align: left;
  cursor: pointer;
}
.price-synonyms__toggle:hover,
.price-synonyms__toggle:focus-visible {
  color: #0f172a;
}
.price-synonyms__toggle:focus-visible {
  outline: 2px solid rgba(148, 163, 184, 0.35);
  outline-offset: 2px;
  border-radius: 0.25rem;
}
.price-synonyms__chevron {
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
  transform-origin: 40% 60%;
  transition: transform 0.15s ease;
  flex-shrink: 0;
  margin-right: 0.1rem;
}
.price-synonyms.is-open .price-synonyms__chevron {
  transform: rotate(45deg);
}
.price-synonyms__toggle-title {
  font-weight: 500;
  color: inherit;
}
.price-synonyms__toggle-note {
  font-size: 0.75rem;
  color: #94a3b8;
}
.price-synonyms.has-value .price-synonyms__toggle-title {
  color: #334155;
}
.price-synonyms__count {
  font-size: 0.72rem;
  font-weight: 500;
  color: #64748b;
}
.price-synonyms__count.is-hidden {
  display: none;
}
.price-synonyms__count:not(.is-hidden)::before {
  content: "· ";
  color: #cbd5e1;
}
.price-synonyms__body {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.45rem 0 0;
}
.price-synonyms__body .price-name-field {
  font-size: 0.8125rem;
  color: #334155;
}
.price-synonyms__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.price-synonyms__chips:empty {
  display: none;
}
.price-synonyms__chips-label {
  width: 100%;
  margin: 0;
  font-size: 0.75rem;
  color: #94a3b8;
}
.price-synonyms__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #fff;
  color: #475569;
  font-size: 0.75rem;
  line-height: 1.25;
  cursor: pointer;
}
.price-synonyms__chip::before {
  content: "+";
  font-weight: 600;
  color: #94a3b8;
}
.price-synonyms__chip:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}
.price-synonyms__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
}
.price-synonyms__suggest {
  height: 2rem;
  min-height: 2rem;
  padding: 0 0.85rem;
  font-size: 0.75rem;
}
.price-synonyms__suggest:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.price-synonyms__quota {
  margin: 0;
  font-size: 0.75rem;
  color: #94a3b8;
}
.price-synonyms__status {
  margin: 0;
  font-size: 0.75rem;
}
.price-synonyms__status.is-error {
  color: #b45309;
}
.price-synonyms__status.is-ok {
  color: #64748b;
}
.table-grid-prices.price-row {
  align-items: start;
}

.cabinet-links .links-lead {
  margin: 0 0 1.25rem;
  color: #0f172a;
  font-size: 0.9375rem;
  line-height: 1.55;
  max-width: 52rem;
}
.nap-report {
  margin: 0 0 1.25rem;
  padding: 0.9rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  background: #f8fafc;
}
.nap-report__title {
  margin: 0 0 0.25rem;
  font-size: 0.9375rem;
  font-weight: 700;
}
.nap-report__lead {
  margin: 0 0 0.65rem;
}
.nap-report__ref {
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  line-height: 1.45;
}
.nap-report__ref-label {
  color: #64748b;
  font-weight: 600;
}
.nap-report__summary--ok { color: #15803d; }
.nap-report__summary--warn { color: #b45309; }
.nap-report__summary--muted { color: #64748b; }
.nap-report__list {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.nap-report__item {
  padding: 0.55rem 0.65rem;
  border-radius: 0.55rem;
  background: #fff;
  border: 1px solid #e2e8f0;
}
.nap-report__item-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
}
.nap-report__badge {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #64748b;
}
.nap-report__item--ok .nap-report__badge { color: #15803d; }
.nap-report__item--warn .nap-report__badge { color: #b45309; }
.nap-report__item--bad .nap-report__badge { color: #dc2626; }
.nap-report__detail {
  margin: 0.25rem 0 0;
}
.nap-report__pattern {
  color: #94a3b8;
}
.nap-report__link {
  display: inline-block;
  margin-top: 0.2rem;
}
.links-field-status--ok {
  color: #15803d;
}
.cabinet-links .links-verify-btn { margin-bottom: 1.5rem; }
.trust-explainer {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: -0.5rem 0 1.25rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 0.9rem;
  background: #fbfaf7;
  color: #0f172a;
  font-size: 0.86rem;
  line-height: 1.45;
}
.trust-explainer span {
  color: #64748b;
}
.snapshot-card {
  margin: 1rem 0 1.1rem;
  padding: 0.95rem 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--surface);
}
.subscription-term-card {
  color: #0f172a;
}
.subscription-term-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.subscription-term-card__hint,
.subscription-term-card__note {
  margin: 0.35rem 0 0;
}
.subscription-term-card__state {
  flex: 0 0 auto;
  padding: 0.35rem 0.6rem;
  border: 1px solid #d7d9d2;
  border-radius: 999px;
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 650;
}
.subscription-term-card__state--active {
  border-color: #b7c9b0;
  color: #4f6749;
  background: #f2f7ef;
}
.subscription-term-card__state--expired {
  border-color: #e5c6bd;
  color: #9a4f42;
  background: #fff6f3;
}
.subscription-term-card__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1rem 0 0;
}
.subscription-term-card__grid > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 0.7rem;
  background: #fbfaf7;
}
.subscription-term-card__value {
  color: #0f172a;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.subscription-term-card .btn {
  margin-top: 0.9rem;
}
@media (max-width: 760px) {
  .subscription-term-card__head {
    flex-direction: column;
  }
  .subscription-term-card__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 430px) {
  .subscription-term-card__grid {
    grid-template-columns: 1fr;
  }
}

/* Admin */
.admin-page .mx-auto {
  max-width: 82rem;
}
.admin-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}
.admin-nav a {
  padding: 0.5rem 0.7rem;
  border-radius: 999px;
  color: #334155;
  font-size: 0.9rem;
  font-weight: 600;
}
.admin-nav a.active,
.admin-nav a:hover {
  background: #f1f3ee;
  color: #0f172a;
}
.admin-logout {
  padding: 0.45rem 0.7rem;
}
.admin-login-card {
  max-width: 34rem;
  margin: 0 auto;
}
.admin-hero {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.admin-eyebrow {
  margin: 0 0 0.35rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.85rem;
  margin: 1rem 0 1.25rem;
}
.admin-stat-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 1rem;
  background: #fff;
  color: #0f172a;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.035);
}
.admin-stat-card span {
  color: #64748b;
  font-size: 0.84rem;
}
.admin-stat-card strong {
  font-size: 1.85rem;
  line-height: 1;
}
.admin-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}
.admin-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.admin-table-wrap {
  width: 100%;
  overflow-x: auto;
}
.admin-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}
.admin-btn-sm {
  height: 2rem;
  padding: 0 0.85rem;
  font-size: 0.78rem;
}
.admin-pagination {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  justify-content: center;
}
.admin-pagination__info {
  color: #64748b;
  font-size: 0.88rem;
}
.llm-advanced {
  margin-top: 0.85rem;
  border-top: 1px solid rgba(226, 232, 240, 0.7);
  padding-top: 0.75rem;
}
.llm-advanced summary {
  cursor: pointer;
  color: #64748b;
  font-size: 0.82rem;
  user-select: none;
}
.llm-advanced summary:hover {
  color: #0f172a;
}
.admin-audit-detail code {
  font-size: 0.8em;
  background: #f1f5f9;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  border: 1px solid rgba(226, 232, 240, 0.8);
}
.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}
.admin-table th,
.admin-table td {
  padding: 0.72rem 0.65rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.82);
  text-align: left;
  vertical-align: top;
}
.admin-table th {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.admin-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.24rem 0.5rem;
  border-radius: 999px;
  background: #f1f3ee;
  color: #334155;
  font-size: 0.78rem;
  font-weight: 650;
  white-space: nowrap;
}
.admin-actions,
.admin-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.admin-actions .btn,
.admin-link-row .btn {
  padding: 0.38rem 0.58rem;
  font-size: 0.78rem;
}
.admin-filters,
.admin-inline-form {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0.65rem;
}
.admin-filters input,
.admin-filters select,
.admin-inline-form select {
  min-width: 11rem;
  margin: 0;
}
.admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.admin-tabs a {
  padding: 0.42rem 0.68rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 999px;
  color: #334155;
  font-size: 0.86rem;
}
.admin-tabs a.active {
  background: #0f172a;
  border-color: #0f172a;
  color: #fff;
}
.admin-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.75rem;
  margin: 1rem 0;
}
.admin-detail-grid > div {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.8rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 0.85rem;
  background: #fbfaf7;
}
.admin-detail-grid strong {
  color: #0f172a;
}

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

/* Admin LLM — компактная панель, тумблеры */
.admin-llm-shell {
  max-width: 52rem;
  margin: 0 auto;
}
.admin-llm-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.admin-llm-toolbar h1 {
  font-size: 1.35rem;
  margin: 0;
}
.admin-llm-toolbar-actions {
  display: flex;
  gap: 0.45rem;
  flex-shrink: 0;
}
.admin-llm-toolbar-actions .btn {
  padding: 0.42rem 0.75rem;
  font-size: 0.82rem;
}
.admin-llm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  align-items: start;
}
.admin-llm-card {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.85rem;
  background: #fff;
  padding: 0.75rem 0.85rem;
}
.admin-llm-card h2 {
  margin: 0 0 0.55rem;
  font-size: 0.92rem;
  font-weight: 700;
  color: #0f172a;
}
.admin-llm-card .meta {
  font-size: 0.78rem;
  line-height: 1.35;
}
.admin-llm-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  min-height: 2.1rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid rgba(241, 245, 249, 0.95);
}
.admin-llm-row:last-child {
  border-bottom: 0;
}
.admin-llm-row-label {
  flex: 1;
  min-width: 0;
  font-size: 0.84rem;
  color: #0f172a;
}
.admin-llm-row-label small {
  display: block;
  color: #64748b;
  font-size: 0.74rem;
  margin-top: 0.1rem;
}
.admin-llm-inline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin: 0.45rem 0;
}
.admin-llm-inline label {
  font-size: 0.72rem;
  color: #64748b;
  margin: 0 0 0.2rem;
}
.admin-llm-inline input,
.admin-llm-inline select,
.admin-llm-inline textarea {
  margin: 0;
  padding: 0.38rem 0.5rem;
  font-size: 0.8rem;
}
.admin-llm-inline textarea {
  min-height: 4.2rem;
  resize: vertical;
}
.admin-llm-agent-list {
  max-height: 22rem;
  overflow-y: auto;
  margin-top: 0.35rem;
  padding-right: 0.15rem;
}
.admin-llm-agent {
  display: grid;
  grid-template-columns: auto 1fr minmax(7rem, 1.4fr);
  gap: 0.45rem;
  align-items: center;
  padding: 0.32rem 0;
  border-bottom: 1px solid rgba(241, 245, 249, 0.95);
}
.admin-llm-agent:last-child {
  border-bottom: 0;
}
.admin-llm-agent input[type="text"],
.admin-llm-agent input[type="password"],
.admin-llm-agent input[type="url"],
.admin-llm-agent select {
  margin: 0;
  padding: 0.32rem 0.45rem;
  font-size: 0.78rem;
  min-width: 0;
}
.admin-llm-agent-extra {
  grid-column: 1 / -1;
  display: none;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.4rem;
  padding: 0.25rem 0 0.35rem 2.4rem;
}
.admin-llm-agent-extra.is-open {
  display: grid;
}
.admin-llm-agent-extra label {
  font-size: 0.7rem;
  color: #64748b;
  margin: 0;
}
.admin-llm-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 0.72rem;
  font-weight: 600;
}
.admin-llm-pill--ok {
  background: #ecfdf5;
  color: #15803d;
}
.ap-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  cursor: pointer;
}
.ap-toggle-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.ap-toggle-track {
  width: 2.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #cbd5e1;
  transition: background 0.15s ease;
  position: relative;
}
.ap-toggle-track::after {
  content: "";
  position: absolute;
  top: 0.15rem;
  left: 0.15rem;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.18);
  transition: transform 0.15s ease;
}
.ap-toggle-input:checked + .ap-toggle-track {
  background: #22c55e;
}
.ap-toggle-input:checked + .ap-toggle-track::after {
  transform: translateX(1rem);
}
.ap-toggle-input:focus-visible + .ap-toggle-track {
  outline: 2px solid #6366f1;
  outline-offset: 2px;
}
.admin-llm-mode-hidden {
  display: none;
}
body.admin-llm-direct .admin-llm-mode-hidden {
  display: grid;
}
body.admin-llm-direct .admin-llm-agent-extra {
  display: grid;
}
@media (max-width: 900px) {
  .admin-llm-grid {
    grid-template-columns: 1fr;
  }
  .admin-llm-agent {
    grid-template-columns: auto 1fr;
  }
  .admin-llm-agent input[name^="link_forge_model"] {
    grid-column: 2;
  }
}

/* --- Admin dashboard v2 --- */
.admin-hero--dashboard {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.admin-hero-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.admin-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
  gap: 0.65rem;
  margin-bottom: 1.25rem;
}
.admin-kpi-grid--compact {
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
}
.admin-kpi-card {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.65rem;
  background: #fff;
  text-decoration: none;
  color: inherit;
  min-height: 4.5rem;
}
.admin-kpi-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.admin-kpi-card--warn {
  border-color: #fcd34d;
  background: #fffbeb;
}
.admin-kpi-label {
  font-size: 0.72rem;
  color: #64748b;
  line-height: 1.3;
}
.admin-kpi-value {
  font-size: 1.45rem;
  line-height: 1.1;
  color: #0f172a;
}
.admin-kpi-hint {
  font-size: 0.68rem;
}
.admin-dashboard-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-viz-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.admin-viz-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-viz-grid--2 {
  grid-template-columns: 1.1fr 0.9fr;
}
.admin-viz-grid--stack {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 1rem;
}
.admin-viz-card {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  padding: 1rem 1.1rem 0.85rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.admin-viz-card--wide {
  grid-column: 1 / -1;
}
.admin-viz-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.65rem;
}
.admin-viz-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.01em;
}
.admin-viz-hint {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  color: #94a3b8;
}
.admin-viz-stat {
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  flex-shrink: 0;
}
.admin-viz-stat strong {
  font-size: 1.35rem;
  line-height: 1;
  color: #0f172a;
}
.admin-viz-stat span {
  font-size: 0.72rem;
  color: #94a3b8;
}
.admin-viz-peak {
  font-size: 0.68rem !important;
  color: #64748b !important;
}
.admin-viz-canvas {
  position: relative;
  height: 240px;
}
.admin-viz-canvas--donut {
  height: 200px;
  max-width: 220px;
  margin: 0 auto;
}
.admin-viz-canvas--funnel {
  height: 220px;
}
.admin-viz-legend {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 0.8rem;
}
.admin-viz-legend li {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: #334155;
}
.admin-viz-legend strong {
  margin-left: auto;
}
.admin-viz-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: #6366f1;
}
.admin-viz-legend li:nth-child(2) .admin-viz-legend-dot { background: #0ea5e9; }
.admin-viz-legend li:nth-child(3) .admin-viz-legend-dot { background: #10b981; }
.admin-viz-legend li:nth-child(4) .admin-viz-legend-dot { background: #f59e0b; }
.admin-viz-legend li:nth-child(5) .admin-viz-legend-dot { background: #8b5cf6; }
.admin-viz-legend li:nth-child(6) .admin-viz-legend-dot { background: #ec4899; }
.admin-stat-card--alert {
  border-color: #fecaca;
  background: #fef2f2;
}
.admin-stat-card--alert strong {
  color: #b91c1c;
}
.admin-stat-card--static {
  pointer-events: none;
}
.admin-stat-grid--queue .admin-stat-card {
  min-height: 4rem;
}
.admin-stat-grid--inline {
  grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
}
.admin-queue-card {
  margin-bottom: 1rem;
}
.admin-llm-summary {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
  font-size: 0.85rem;
}
.admin-llm-summary p {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.admin-table--compact th,
.admin-table--compact td {
  font-size: 0.76rem;
  padding: 0.35rem 0.45rem;
}
.admin-table-ellipsis {
  max-width: 10rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-badge--ok {
  background: #dcfce7;
  color: #166534;
}
.admin-filters--wide {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr) auto;
  gap: 0.5rem;
  align-items: end;
}
.text-amber-700 {
  color: #b45309;
}
@media (max-width: 1100px) {
  .admin-viz-grid,
  .admin-viz-grid--3,
  .admin-viz-grid--2 {
    grid-template-columns: 1fr;
  }
  .admin-viz-card--wide {
    grid-column: auto;
  }
  .admin-filters--wide {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .admin-filters--wide {
    grid-template-columns: 1fr;
  }
}

/* Кабинет: спокойная палитра без тяжёлых тёмных и холодных заливок */
.cabinet-page .btn-primary {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}
.cabinet-page .btn-primary:hover,
.cabinet-page .btn-primary:focus-visible {
  border-color: #2d3743;
  background: #2d3743;
  color: #fff;
}
.cabinet-side {
  border: 1px solid rgba(57, 71, 57, 0.14);
  background: rgba(255, 252, 246, 0.78);
  box-shadow: 0 14px 34px rgba(57, 71, 57, 0.08);
}
.cabinet-nav .tab-btn {
  color: #657080;
}
.cabinet-nav .tab-btn > span {
  color: #a2aa9f;
}
.cabinet-nav .tab-btn:hover {
  color: var(--ink);
  background: rgba(220, 228, 216, 0.46);
}
.cabinet-nav .tab-btn.active {
  border-color: rgba(111, 127, 106, 0.28);
  background: var(--sage-light);
  color: var(--sage-dark);
  box-shadow: none;
}
.cabinet-nav .tab-btn.active > span { color: var(--sage-dark); }
.cabinet-nav__separator {
  color: #9aa294;
}
.cabinet-logout-form {
  border-top-color: rgba(57, 71, 57, 0.12);
}
.cabinet-logout-link {
  color: #7f887d;
}
.cabinet-logout-link:hover {
  color: var(--sage-dark);
}
.owner-journey {
  border: 1px solid rgba(111, 127, 106, 0.25);
  background: #e3e9df;
  color: var(--ink);
  box-shadow: 0 14px 34px rgba(57, 71, 57, 0.08);
}
.owner-journey__eyebrow {
  color: var(--sage-dark);
}
.owner-ready {
  color: #667261;
}
.owner-journey h2 {
  color: var(--ink);
}
.owner-journey__description {
  color: #596457;
}
.owner-journey .btn-primary {
  border-color: var(--sage-dark);
  background: var(--sage-dark);
  color: #fff;
}
.owner-journey .btn-primary:hover {
  border-color: #263326;
  background: #263326;
  color: #fff;
}
.owner-journey__waiting {
  border-color: rgba(57, 71, 57, 0.2);
  background: rgba(255, 252, 246, 0.7);
  color: var(--sage-dark);
}
.owner-journey__stages {
  border-top-color: rgba(57, 71, 57, 0.12);
  background: rgba(255, 252, 246, 0.34);
}
.owner-journey__stage {
  border-right-color: rgba(57, 71, 57, 0.1);
  color: #9aa294;
}
.owner-journey__stage--done {
  color: var(--sage-dark);
}
.owner-journey__stage--current {
  border-color: rgba(57, 71, 57, 0.1);
  background: rgba(255, 252, 246, 0.82);
  color: var(--ink);
}
.owner-journey__stage--current .owner-journey__stage-num {
  border-color: var(--sage-dark);
  color: var(--sage-dark);
}
.owner-journey__stage--done .owner-journey__stage-num {
  border-color: var(--sage);
  background: var(--sage);
}
.owner-journey__forge,
.owner-journey__job {
  border-top-color: rgba(57, 71, 57, 0.12);
  color: #667261;
}
.owner-journey__forge a { color: var(--sage-dark); }
.cabinet-page .cabinet-readonly input:not([type="hidden"]),
.cabinet-page .cabinet-readonly textarea,
.cabinet-page .cabinet-readonly select {
  background: rgba(255, 252, 246, 0.74);
}
.cabinet-page .snapshot-card,
.cabinet-page .audit-panel,
.cabinet-page .audit-panel-card {
  border-color: rgba(11, 17, 27, 0.09);
  background: rgba(255, 252, 246, 0.72);
  box-shadow: none;
}
.cabinet-page .audit-report-nav {
  border-color: rgba(11, 17, 27, 0.1);
  background: rgba(255, 252, 246, 0.72);
}
.cabinet-page .audit-report-nav__link:hover,
.cabinet-page .audit-report-nav__link.is-active {
  border-color: rgba(111, 127, 106, 0.22);
  background: var(--sage-light);
  color: var(--sage-dark);
}
.cabinet-page .audit-stat-chip,
.cabinet-page .audit-mem-chip,
.cabinet-page .audit-hero-report__stats .audit-stat-chip {
  border-color: rgba(111, 127, 106, 0.18);
  background: rgba(220, 228, 216, 0.46);
}
.cabinet-page .audit-how-card {
  border-left: 0;
  border: 1px solid rgba(111, 127, 106, 0.22);
  background: rgba(220, 228, 216, 0.5);
}
.cabinet-page .audit-footprint-item {
  border-color: rgba(111, 127, 106, 0.2);
  background: rgba(220, 228, 216, 0.38);
}
.cabinet-page .audit-footprint-item__url {
  color: var(--sage-dark);
}
.cabinet-page .audit-tag--more:hover,
.cabinet-page .audit-tag--more[aria-expanded="true"] {
  border-color: rgba(111, 127, 106, 0.45);
  color: var(--sage-dark);
  background: rgba(220, 228, 216, 0.45);
}
.cabinet-links label.links-field-label {
  display: block;
  margin: 0 0 0.5rem;
  color: #18181b;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.3;
}
.cabinet-links .links-platform-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem 1.5rem;
  align-items: start;
}
.cabinet-links .links-platform-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}
.cabinet-links .links-platform-field input[type="url"],
.cabinet-links .links-media-panel input[type="url"],
.cabinet-links .links-extra-row input[type="url"] {
  width: 100%;
  margin: 0;
  color: #18181b;
}
.cabinet-links .links-field-status {
  margin: 0.15rem 0 0;
  color: #52525b;
  font-size: 0.8125rem;
  line-height: 1.45;
}
.cabinet-links .links-extra-section {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(228, 228, 231, 0.9);
}
.cabinet-links .links-extra-title {
  margin: 0 0 0.35rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #18181b;
}
.cabinet-links .links-extra-hint {
  margin: 0 0 1rem;
}
.cabinet-links .links-extra-rows {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.cabinet-links .links-extra-row,
.cabinet-links .links-dynamic-row {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.cabinet-links .links-dynamic-row-main {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cabinet-links .links-dynamic-row-main input[type="url"] {
  flex: 1;
  min-width: 0;
}
.cabinet-links .links-remove-row {
  flex-shrink: 0;
  width: 2.25rem;
  min-width: 2.25rem;
  padding: 0.35rem 0;
  line-height: 1;
  font-size: 1.25rem;
}
.cabinet-links .links-add-row {
  margin-top: 0.75rem;
}
.cabinet-links .links-media-panel { margin-top: 0; }
.cabinet-links .links-media-panel .links-field-label {
  margin-bottom: 0.5rem;
}

.profile-lead { margin: 0 0 1.1rem; max-width: 40rem; }
.profile-block {
  margin: 0 0 1.5rem;
  padding: 0 0 1.25rem;
  border-bottom: 1px solid rgba(11, 17, 27, 0.08);
}
.profile-block:last-of-type { border-bottom: 0; padding-bottom: 0; }
.profile-block__title {
  margin: 0 0 0.35rem;
  color: #0f172a;
  font-size: 0.95rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.site-tag-panel { margin-top: 0.5rem; }
.site-tag-more {
  margin-top: 0.85rem;
}
.site-tag-more > summary {
  cursor: pointer;
  color: #475569;
  font-size: 0.8125rem;
  font-weight: 650;
}
.site-tag-more[open] > summary { margin-bottom: 0.65rem; }
.site-tag-lead { margin-bottom: 1rem; }
.site-tag-snippet-block { margin: 0 0 1rem; }
.site-tag-snippet-label {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #18181b;
}
.site-tag-snippet {
  width: 100%;
  min-height: 3rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.8125rem;
  line-height: 1.45;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(228, 228, 231, 0.95);
  border-radius: 8px;
  background: #fafafa;
  color: #18181b;
  resize: vertical;
}

.cabinet-overview .overview-analytics-panel {
  margin-top: 0;
}

.owner-journey {
  overflow: hidden;
  margin-bottom: 1rem;
  border: 1px solid rgba(15, 23, 42, 0.11);
  border-radius: 16px;
  background:
    radial-gradient(circle at 92% 0%, rgba(111, 127, 106, 0.12), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  color: #0f172a;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}
.owner-journey__copy {
  padding: clamp(1.2rem, 2.5vw, 1.7rem);
}
.owner-value {
  max-width: 42rem;
  margin: 0 0 0.65rem;
  color: #334155;
  font-size: 0.9rem;
  line-height: 1.5;
}
.owner-ready {
  margin: 0 0 1rem;
  color: #5f705b;
  font-size: 0.8125rem;
  font-weight: 650;
}
.owner-journey__eyebrow {
  margin: 0 0 0.45rem;
  color: #6f7f6a;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.owner-journey h2 {
  max-width: 38rem;
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  line-height: 1.15;
  letter-spacing: -0.035em;
}
.owner-journey__description {
  max-width: 42rem;
  margin: 0.55rem 0 1rem;
  color: #64748b;
  line-height: 1.5;
  font-size: 0.9rem;
}
.owner-journey__email {
  display: flex;
  gap: 0.6rem;
  max-width: 34rem;
}
.owner-journey__email input {
  min-width: 0;
  margin: 0;
  border-color: #cbd5e1;
  background: #fff;
}
.owner-journey__minor-action {
  margin-top: 0.7rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #64748b;
  font: inherit;
  font-size: 0.85rem;
  text-decoration: underline;
  cursor: pointer;
}
.owner-journey__waiting {
  display: inline-flex;
  padding: 0.65rem 0.9rem;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  color: #475569;
  background: #fff;
  font-size: 0.875rem;
}
.owner-journey__blocker {
  margin: 0.75rem 0 0;
  color: #a16207;
}
.owner-journey__stages {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0.75rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(248, 250, 252, 0.72);
  list-style: none;
}
.owner-journey__stage {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.7rem;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #94a3b8;
  font-size: 0.72rem;
  background: transparent;
}
.owner-journey__stage--done { color: #5f705b; }
.owner-journey__stage--recommended { color: #92724a; }
.owner-journey__stage--current {
  border-color: rgba(111, 127, 106, 0.34);
  background: #ffffff;
  color: #0f172a;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.045);
}
.owner-journey__stage-num {
  display: inline-grid;
  flex: 0 0 1.45rem;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.7rem;
}
.owner-journey__stage--done .owner-journey__stage-num {
  border-color: #6f7f6a;
  background: #6f7f6a;
  color: #fff;
}
.owner-journey__stage--recommended .owner-journey__stage-num {
  border-color: #92724a;
  background: rgba(146, 114, 74, 0.08);
}
.owner-journey__stage--current .owner-journey__stage-num {
  border-color: #0f172a;
}
.owner-journey__forge {
  margin: 0;
  padding: 0.8rem 1rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  color: #64748b;
  font-size: 0.78rem;
  line-height: 1.5;
}
.owner-journey__forge a { color: #0f172a; }
.owner-journey__forge--warn,
.owner-journey__forge--partial { color: #a16207; }
.owner-journey__forge--ok { color: #3d4f3a; }
.owner-journey__job {
  margin: 0;
  padding: 0.75rem 1rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  color: #475569;
}

.review-summary__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0.9rem 0;
}
.review-summary__grid > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.85rem;
  border: 1px solid #e4e4e7;
  border-radius: 10px;
  background: #fafafa;
}
.review-summary__value {
  overflow: hidden;
  color: #18181b;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.review-summary__note {
  margin: 0 0 0.6rem;
  line-height: 1.55;
}

.passport-progress-header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1rem;
  max-width: 20rem;
}
.passport-progress-header__score {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.passport-progress-header__score strong {
  font-size: 1.5rem;
  line-height: 1;
  color: #0f172a;
}
.passport-progress-header__bar {
  height: 0.35rem;
}

.readiness-card--slim {
  padding: 1rem 1.15rem;
}
.readiness-card--slim .readiness-meta {
  margin: 0.35rem 0 0.65rem;
}

.cabinet-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.25rem;
}
.snapshot-hint {
  margin: 0.65rem 0 0;
}

@media (max-width: 1180px) {
  .owner-journey__stages {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .owner-journey__stages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .owner-journey__email {
    align-items: stretch;
    flex-direction: column;
  }
  .review-summary__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 420px) {
  .owner-journey__stages {
    grid-template-columns: 1fr;
  }
}

.overview-section-title {
  margin-bottom: 1.25rem;
}

.analytics-info-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 1.5rem;
}
.analytics-info-note__icon {
  flex-shrink: 0;
  margin-top: 2px;
}
.analytics-info-note__title {
  display: block;
  color: #0f172a;
  margin-bottom: 4px;
  font-size: 14px;
}
.analytics-info-note__body .meta {
  margin: 0;
  font-size: 13px;
  color: #475569;
}
.cabinet-dev-tools {
  margin-left: auto;
  flex-shrink: 0;
}
.cabinet-dev-tools summary {
  cursor: pointer;
  user-select: none;
}
.cabinet-dev-tools form { margin: 0; }
.cabinet-dev-tools__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.cabinet-dev-tools__btn {
  padding: 0.4rem 0.8rem;
  font-size: 12px;
}
.cabinet-dev-tools__btn--danger {
  border-color: #ef4444;
  color: #ef4444;
}
.analytics-reliability-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin-bottom: 1.5rem;
}
.analytics-reliability-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 18px 20px;
}
.analytics-reliability-card__body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.analytics-reliability-card__label {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 650;
  color: #0f172a;
}
.analytics-reliability-card__desc {
  margin: 0;
  font-size: 12px;
}
.analytics-reliability-card__value {
  font-size: 24px;
  line-height: 1;
  font-weight: 700;
  color: #0f172a;
  flex-shrink: 0;
}

.price-mobile-label {
  display: none;
}
.price-field-wrap {
  display: contents;
}

.snapshot-card__title {
  margin: 0 0 0.5rem;
  font-weight: 600;
  color: #0f172a;
}
.snapshot-card__title--tight { margin-bottom: 0.35rem; }
.snapshot-card__title--steps { margin-bottom: 0.75rem; }
.snapshot-card__body { margin: 0; }
.snapshot-card__spaced { margin: 0 0 0.65rem; }
.snapshot-card .checklist--overview { margin-top: 0.75rem; }
.section-lead { margin: -0.35rem 0 0.75rem; }
.u-mt-sm { margin-top: 0.65rem; }
.u-mt-md { margin-top: 1rem; }
.u-mt-lg { margin-top: 1.5rem; }
.passport-hero__title { margin: 0; }
.passport-ai-links-card--nested { margin-top: 1rem; }
.section-title--sm { margin-top: 0; font-size: 1.05rem; }
.passport-public-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 3rem;
  padding-bottom: 0;
  min-height: 5.25rem;
  border-bottom: 1px solid var(--line);
  font-size: 0.875rem;
}
.passport-public-topbar__tagline { color: var(--muted); }
.cabinet-auth-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.cabinet-auth-actions input[type="text"] { max-width: 11rem; margin: 0; }
.cabinet-page-header-actions { margin-top: 0.875rem; }
.links-field-note { margin: 0.5rem 0 0; }
.snapshot-card__hash { margin: 0.35rem 0 0; }
.passport-progress-header .cta-row {
  margin: 0.875rem 0 0;
}
.passport-view-page .spoiler > .meta { margin-top: 1rem; }
.passport-view-page .spoiler > .dashboard-form { margin-top: 1rem; }
.panel-field-note { margin: 0.5rem 0 1rem; }
.panel-field-note--tight { margin: 0.5rem 0 0.75rem; }
.login-form-actions { margin-top: 0.75rem; }
.login-form-note { margin-top: 0.75rem; }
.login-token-hint { margin-top: 0.65rem; }
.cabinet-tab-intro { margin: 0.5rem 0 1rem; }
.link-preview--spaced { margin-top: 0.65rem; }
.links-media-panel { margin-top: 0; }
.cabinet-links .links-panel + .links-media-panel {
  border-top: none;
  margin-top: -0.5rem;
}
.hints-list--spaced { margin: 0 0 0.75rem; }
.hints-box--spaced { margin-top: 0.75rem; }
.rank-card__eyebrow { margin: 0 0 0.35rem; }

.analytics-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-bottom: 24px;
  align-items: start;
}

.analytics-dashboard-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.analytics-dashboard-card--conversion {
  margin-bottom: 24px;
}

.analytics-dashboard-card__header {
  margin-bottom: 16px;
}

.analytics-dashboard-card__hint {
  margin: 6px 0 0;
  font-size: 12px;
}

.analytics-dashboard-card__section-label {
  margin: 0 0 12px;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.05em;
}

.analytics-dashboard-card--wide {
  grid-column: 1 / -1;
}

.analytics-trends {
  margin-bottom: 24px;
}

.analytics-trends .analytics-dashboard-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.analytics-trend-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
  color: #64748b;
  font-size: 0.72rem;
  white-space: nowrap;
}

.analytics-trend-legend span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.analytics-trend-dot {
  width: 0.5rem;
  height: 0.5rem;
  display: inline-block;
  border-radius: 999px;
}

.analytics-trend-dot--views { background: #64748b; }
.analytics-trend-dot--tag { background: #8b9b82; }
.analytics-trend-dot--clicks { background: #bd8a5d; }

.analytics-trend-dot--exact { background: #4b6b5a; }
.analytics-trend-dot--recognized { background: #6c8fbd; }
.analytics-trend-dot--referral { background: #9b7cc2; }
.analytics-trend-dot--automation { background: #c99b4f; }
.analytics-trend-dot--machine { background: #9aa3ad; }

.analytics-trend-tabs {
  display: inline-flex;
  gap: 0.25rem;
  padding: 0.25rem;
  margin-bottom: 1rem;
  border: 1px solid #e5ded2;
  border-radius: 0.65rem;
  background: #f4efe7;
}

.analytics-trend-tab {
  border: 0;
  border-radius: 0.45rem;
  padding: 0.4rem 0.8rem;
  color: #64748b;
  background: transparent;
  font: inherit;
  font-size: 0.78rem;
  cursor: pointer;
}

.analytics-trend-tab:hover,
.analytics-trend-tab.is-active {
  color: #1f2933;
  background: #fffdf8;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.analytics-trend-chart {
  display: flex;
  align-items: stretch;
  gap: 0.25rem;
  min-height: 10rem;
  padding: 0.5rem 0.25rem 0;
  border-bottom: 1px solid #e5ded2;
}

.analytics-trend-column {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.45rem;
}

.analytics-trend-bars {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  height: 8rem;
}

.analytics-trend-bar {
  display: block;
  width: min(0.55rem, 30%);
  min-height: 2px;
  border-radius: 0.25rem 0.25rem 0 0;
}

.analytics-trend-bar--views { background: #64748b; }
.analytics-trend-bar--tag { background: #8b9b82; }
.analytics-trend-bar--clicks { background: #bd8a5d; }

.analytics-trend-bar--exact { background: #4b6b5a; }
.analytics-trend-bar--recognized { background: #6c8fbd; }
.analytics-trend-bar--referral { background: #9b7cc2; }
.analytics-trend-bar--automation { background: #c99b4f; }
.analytics-trend-bar--machine { background: #9aa3ad; }

.analytics-trend-label {
  overflow: hidden;
  color: #94a3b8;
  font-size: 0.64rem;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.analytics-trend-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding-top: 0.8rem;
  color: #64748b;
  font-size: 0.78rem;
}

.analytics-trend-summary strong {
  color: #1f2933;
}

.analytics-tag-funnel {
  margin-bottom: 24px;
}

.analytics-tag-funnel__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.analytics-tag-funnel__stats > div {
  padding: 0.85rem 1rem;
  border: 1px solid #e5ded2;
  border-radius: 0.75rem;
  background: #fffdf8;
}

.analytics-tag-funnel__stats strong {
  display: block;
  color: #1f2933;
  font-size: 1.45rem;
  line-height: 1.1;
}

.analytics-tag-funnel__stats span {
  display: block;
  margin-top: 0.3rem;
  color: #64748b;
  font-size: 0.72rem;
}

.analytics-tag-funnel__actors {
  display: grid;
  gap: 0.45rem;
}

.analytics-tag-funnel__actor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid #eee8de;
  color: #334155;
  font-size: 0.82rem;
}

.analytics-tag-funnel__actor small {
  color: #94a3b8;
}

.analytics-tag-funnel__actor strong {
  color: #1f2933;
}

.analytics-conversion-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 16px;
}

.analytics-conversion-value {
  display: block;
  font-size: 28px;
  line-height: 1;
  color: #0f172a;
}

.analytics-dashboard-rows {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.analytics-dashboard-row {
  font-size: 13px;
}

.analytics-row-collapsed {
  display: none;
}

.analytics-row-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.analytics-row-label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: #1e293b;
  font-weight: 500;
}

.analytics-row-label > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.analytics-row-count {
  color: #0f172a;
  font-weight: 600;
  flex-shrink: 0;
}

.analytics-row-icon {
  width: 16px;
  height: 16px;
  border-radius: 3px;
  flex-shrink: 0;
  object-fit: contain;
}

.analytics-row-icon--fallback {
  display: block;
}

.analytics-demo-tag {
  font-size: 10px;
  font-weight: 500;
  color: #64748b;
  background: #f1f5f9;
  padding: 1px 6px;
  border-radius: 999px;
  flex-shrink: 0;
}

.analytics-bar-track-soft {
  background: #f1f5f9;
  border-radius: 4px;
  height: 6px;
  overflow: hidden;
}

.analytics-bar-fill {
  display: block;
  height: 100%;
  min-width: 2px;
  border-radius: 4px;
}

.analytics-bar-fill--graphite { background: #0f172a; }
.analytics-bar-fill--sage { background: linear-gradient(90deg, #b8c8a9, #8ea77c); }
.analytics-bar-fill--lavender { background: linear-gradient(90deg, #c8bad8, #9f8bb8); }
.analytics-bar-fill--sand { background: linear-gradient(90deg, #dccfb8, #c4b59a); }
.analytics-bar-fill--teal { background: linear-gradient(90deg, #b8cfd4, #8faeb4); }
.analytics-bar-fill--olive { background: linear-gradient(90deg, #c8c4b0, #a8a494); }

.analytics-expand-btn {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #475569;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
  padding: 8px 12px;
  margin-top: 4px;
  border-radius: 8px;
  width: 100%;
}

.analytics-expand-btn:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.analytics-human-section {
  margin: 8px 0 16px;
}

.analytics-human-section__lead {
  margin: 6px 0 0;
  font-size: 13px;
}
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  margin-bottom: 1.5rem;
}

.kpi-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 20px 24px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}

.kpi-value {
  display: block;
  font-size: 28px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1;
}

.kpi-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
  margin-top: 8px;
}

.cabinet-overview .overview-traffic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.875rem;
  margin-bottom: 1.5rem;
}
.cabinet-overview .overview-traffic-card {
  background: #ffffff;
  border: 1px solid rgba(228, 228, 231, 0.95);
  border-radius: 0.75rem;
  padding: 1rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
}
.cabinet-overview .overview-traffic-value {
  font-size: 1.5rem;
  line-height: 1.1;
  color: #18181b;
  font-weight: 700;
}
.cabinet-overview .overview-traffic-label {
  font-size: 0.8125rem;
  color: #52525b;
  font-weight: 500;
}
.cabinet-overview .overview-activity-title {
  margin: 0 0 0.875rem;
  color: #18181b;
}
.cabinet-overview .overview-activity-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(228, 228, 231, 0.95);
  border-radius: 0.75rem;
  background: #ffffff;
}
.cabinet-overview .overview-activity-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  color: #18181b;
}
.cabinet-overview .overview-activity-table th,
.cabinet-overview .overview-activity-table td {
  padding: 0.72rem 0.9rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(228, 228, 231, 0.75);
}
.cabinet-overview .overview-activity-table th {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #52525b;
  background: #fafaf9;
}
.cabinet-overview .overview-activity-table tbody tr:last-child td {
  border-bottom: none;
}
.cabinet-overview .overview-activity-time {
  white-space: nowrap;
  color: #3f3f46;
  font-variant-numeric: tabular-nums;
}
.cabinet-overview .overview-activity-empty {
  color: #71717a;
  text-align: center;
  padding: 1.25rem 0.9rem;
}

.hints-box { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgba(226, 232, 240, 0.6); }
.hints-list { margin: 0; padding-left: 1.15rem; color: #0f172a; font-size: 0.875rem; }

.table-grid, .table-grid-prices, .table-grid-links {
  display: grid;
  gap: 0.55rem;
  align-items: center;
  margin-bottom: 0.55rem;
}
.table-grid { grid-template-columns: 2fr 1fr 1fr auto; }
.table-grid-prices {
  grid-template-columns: minmax(22rem, 1.9fr) minmax(6.5rem, 8rem) minmax(12rem, 1.1fr) 5.5rem 2.5rem;
}
.table-grid-prices.table-head { align-items: end; }
.table-grid-prices input[type="text"],
.table-grid-prices input[type="number"],
.table-grid-prices input[type="url"] {
  width: 100%;
  min-width: 0;
}
.table-grid-prices textarea.price-name-field {
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  max-height: 6.5rem;
  padding: 0.55rem 0.65rem;
  line-height: 1.45;
  resize: none;
  overflow-x: hidden;
  overflow-y: auto;
  overflow-wrap: anywhere;
  word-break: break-word;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #94a3b8 transparent;
}
.price-remove-row,
.links-remove-row {
  flex-shrink: 0;
  width: 2.25rem;
  min-width: 2.25rem;
  padding: 0.35rem 0;
  line-height: 1;
  font-size: 1.25rem;
  justify-self: center;
}
.price-row-actions-head { width: 2.25rem; }
.table-grid-prices.price-row {
  align-items: start;
}
.table-grid-prices .price-on-card {
  padding-top: 0.45rem;
}
#prices-panel .price-remove-row {
  padding-top: 0.35rem;
}
.prices-table {
  overflow-x: auto;
}
#prices-panel .prices-table {
  border: 1px solid rgba(11, 17, 27, 0.12);
  border-radius: 0.9rem;
  background: #fff;
}
#prices-panel .prices-table .table-head {
  padding: 0.7rem 1rem 0.55rem;
  margin: 0;
  background: #f6f3ec;
  border-bottom: 1px solid rgba(11, 17, 27, 0.08);
  color: var(--ink);
}
#prices-panel .prices-table .price-row:not(.row-template) {
  padding: 0.85rem 1rem 0.75rem;
  margin: 0;
  border: 0;
  border-bottom: 1px solid rgba(11, 17, 27, 0.08);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
#prices-panel .prices-table .price-row:not(.row-template):has(+ .row-template),
#prices-panel .prices-table .price-row:not(.row-template):last-child {
  border-bottom: 0;
}
#prices-panel .prices-table .price-row input[type="text"],
#prices-panel .prices-table .price-row input[type="number"],
#prices-panel .prices-table .price-row textarea.price-name-field {
  min-height: 2.5rem;
  padding: 0.48rem 0.7rem;
  border-radius: 0.5rem;
  background: #fff;
  border: 1px solid rgba(11, 17, 27, 0.16);
}
#prices-panel .prices-table .price-row input[type="text"],
#prices-panel .prices-table .price-row input[type="number"] {
  height: 2.5rem;
}
#prices-panel .prices-table .price-row input:focus,
#prices-panel .prices-table .price-row textarea.price-name-field:focus {
  border-color: rgba(57, 71, 57, 0.5);
  background: #fff;
}
#prices-panel .price-synonyms__editor {
  width: 100%;
  min-height: 2.5rem;
  background: #fff;
  border: 1px solid rgba(11, 17, 27, 0.16);
  border-radius: 0.5rem;
}
.prices-table .table-grid-prices {
  min-width: 46rem;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.price-on-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  margin: 0;
  cursor: pointer;
}
.price-card-check {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.price-card-check__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.price-card-check__box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 0.28rem;
  border: 1.5px solid #d1d5db;
  background: #fff;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.price-on-card:hover .price-card-check__box {
  border-color: #b8c0a8;
}
.price-card-check__input:checked + .price-card-check__box {
  background: #6f7f6a;
  border-color: #6f7f6a;
}
.price-card-check__input:checked + .price-card-check__box::after {
  content: "";
  width: 0.22rem;
  height: 0.4rem;
  border: solid #fff;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg) translateY(-0.5px);
}
.price-card-check__input:focus-visible + .price-card-check__box {
  outline: 2px solid rgba(111, 127, 106, 0.4);
  outline-offset: 2px;
}
.price-remove-row {
  color: #94a3b8;
  border-color: transparent;
  background: transparent;
}
.price-remove-row:hover {
  color: #64748b;
  background: #f8fafc;
  border-color: rgba(226, 232, 240, 0.95);
}
.card-check-label { text-align: center; }
.prices-panel .prices-lead { max-width: 40rem; margin-bottom: 0.7rem; }
.prices-panel .prices-lead,
.prices-panel .section-lead,
.prices-panel .ai-writing-guide p {
  font-size: 0.8125rem;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0;
}
.prices-panel .ai-writing-guide p + p {
  margin-top: 0.55rem;
}
.prices-panel .ai-writing-guide strong {
  font-size: inherit;
  line-height: inherit;
  font-weight: 650;
}
.credentials-panel > .meta {
  font-size: 0.8125rem;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0;
}
.price-facts {
  margin-bottom: 0.85rem;
  padding: 0.65rem 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
}
.price-facts span,
.price-facts strong,
.price-facts b {
  font-size: 0.78125rem;
  line-height: 1.45;
}
.price-facts span {
  color: #64748b;
  font-weight: 400;
}
.price-facts strong {
  display: block;
  color: #0f172a;
  font-weight: 650;
}
.price-facts b {
  color: inherit;
  font-weight: 650;
}
.price-import-fold {
  margin: 0 0 0.85rem;
  border: 1px solid rgba(11, 17, 27, 0.1);
  border-radius: 0.75rem;
  background: #fff;
}
.price-import-fold > summary {
  padding: 0.7rem 0.9rem;
  color: #334155;
  font-size: 0.8125rem;
  line-height: 1.45;
  font-weight: 650;
  cursor: pointer;
}
.price-import-fold[open] > summary {
  border-bottom: 1px solid rgba(11, 17, 27, 0.08);
}
.price-import-fold .universal-upload-box {
  margin: 0;
  padding: 0.85rem 0.9rem 1rem;
}
.price-writing-help {
  margin: 0 0 1rem;
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
}
.price-writing-help summary {
  padding: 0.7rem 0;
  color: #334155;
  font-size: 0.8125rem;
  line-height: 1.5;
  font-weight: 650;
  cursor: pointer;
}
.price-writing-help > div {
  padding: 0 0 1rem;
}
.price-writing-help p {
  margin: 0;
  color: #64748b;
  font-size: 0.78125rem;
  line-height: 1.55;
  font-weight: 400;
}
.price-writing-help p + p {
  margin-top: 0.4rem;
}
@media (max-width: 700px) {
  .price-facts {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
}
.prices-add-row { margin-top: 0.75rem; }
.table-grid-links { grid-template-columns: 1fr 2fr auto; }
.table-head {
  font-size: 0.6875rem;
  color: #0f172a;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.row-template { display: none !important; }

.csv-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 1.25rem;
  padding: 1rem;
  background: #f8fafc;
  border-radius: 0.75rem;
  border: 1px solid rgba(226, 232, 240, 0.6);
}

.universal-upload-box { margin-bottom: 1rem; }
.universal-upload-box .csv-bar {
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #ffffff;
}
.universal-upload-box.is-dragover .csv-bar {
  border-color: rgba(111, 127, 106, 0.45);
  background: #f7f8f5;
}
.universal-upload-label { cursor: pointer; }

.price-import-mode {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  width: 100%;
  max-width: none;
}
@media (max-width: 640px) {
  .price-import-mode {
    grid-template-columns: 1fr;
    max-width: none;
  }
}
.price-import-mode__option {
  position: relative;
  display: flex;
  gap: 0.55rem;
  align-items: center;
  min-height: 3.4rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.75rem;
  background: #ffffff;
  cursor: pointer;
  font-size: 0.8125rem;
  color: #334155;
  line-height: 1.4;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.price-import-mode__option:hover {
  border-color: #cbd5e1;
  background: #fafafa;
}
.price-import-mode__option:has(input:checked) {
  border-color: rgba(111, 127, 106, 0.45);
  background: #f4f6f2;
  box-shadow: none;
}
.price-import-mode__option input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.price-import-mode__control {
  flex-shrink: 0;
  width: 0.95rem;
  height: 0.95rem;
  margin-top: 0.12rem;
  border-radius: 999px;
  border: 1.5px solid #d1d5db;
  background: #fff;
  position: relative;
}
.price-import-mode__option:hover .price-import-mode__control {
  border-color: #b8c0a8;
}
.price-import-mode__option:has(input:checked) .price-import-mode__control {
  border-color: #6f7f6a;
}
.price-import-mode__option:has(input:checked) .price-import-mode__control::after {
  content: "";
  position: absolute;
  inset: 0.2rem;
  border-radius: 999px;
  background: #6f7f6a;
}
.price-import-mode__text strong {
  display: block;
  font-size: 0.875rem;
  line-height: 1.4;
  font-weight: 650;
  color: #0f172a;
}
.price-import-mode__text small {
  display: block;
  margin-top: 0.25rem;
  color: #64748b;
  font-size: 0.78125rem;
  line-height: 1.45;
  font-weight: 400;
}

.universal-upload-hint {
  margin: 0;
  color: #64748b;
  font-size: 0.78125rem;
  line-height: 1.45;
  font-weight: 400;
  text-align: center;
}
.universal-upload-sample {
  align-self: center;
  font-size: 0.78125rem;
  line-height: 1.45;
  font-weight: 500;
}
#price-file-name {
  width: 100%;
  text-align: center;
}
#csv-import-status {
  width: 100%;
  min-height: 1.2em;
  font-size: 0.78125rem;
  line-height: 1.45;
  font-weight: 400;
  text-align: center;
}
#csv-import-status.is-error { color: #dc2626; }
#csv-import-status.is-ok { color: #16a34a; }

.preview-box {
  background: #f8fafc;
  color: #0f172a;
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: 0.75rem;
  padding: 1rem;
  font-family: ui-monospace, monospace;
  font-size: 0.78rem;
  max-height: 420px;
  overflow: auto;
  white-space: pre-wrap;
}
.preview-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; margin-bottom: 1.25rem; }
.preview-stat {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: 0.75rem;
  padding: 0.75rem 0.9rem;
}
.preview-stat strong {
  display: block;
  font-size: 1.125rem;
  color: #0f172a;
  font-weight: 600;
}

.save-bar {
  position: sticky;
  bottom: 0;
  background: rgba(251, 249, 246, 0.96);
  border-top: 1px solid rgba(226, 232, 240, 0.6);
  padding: 1rem 0;
  margin-top: 1.5rem;
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

.dev-box {
  border: 1px dashed rgba(203, 213, 225, 0.9);
  background: #f8fafc;
  border-radius: 0.75rem;
  padding: 0.875rem;
}
.tab-badge {
  display: inline-block;
  min-width: 1.15rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: #0f172a;
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 600;
}

.leads-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
.lead-stat {
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: 0.75rem;
  padding: 0.75rem;
  text-align: center;
  background: #ffffff;
}
.lead-stat strong {
  display: block;
  font-size: 1.2rem;
  color: #0f172a;
  font-weight: 600;
}
.lead-stat span { font-size: 0.8125rem; color: #0f172a; }
.lead-stat-new strong { color: #dc2626; }

.leads-list { display: flex; flex-direction: column; gap: 0.875rem; }
.lead-card {
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: 0.75rem;
  padding: 1.15rem;
  background: #ffffff;
}
.lead-card-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem; align-items: flex-start; margin-bottom: 0.55rem; }
.lead-badge { font-size: 0.6875rem; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 999px; }
.lead-badge-new { background: #fef2f2; color: #dc2626; }
.lead-badge-in_progress { background: #fefce8; color: #a16207; }
.lead-badge-done { background: #f0fdf4; color: #16a34a; }
.lead-badge-cancelled { background: #f8fafc; color: #0f172a; }
.lead-meta { font-size: 0.875rem; color: #0f172a; margin: 0.25rem 0; }
.lead-raw {
  background: #f8fafc;
  border-radius: 0.5rem;
  padding: 0.75rem;
  font-size: 0.875rem;
  color: #0f172a;
  border: 1px solid rgba(226, 232, 240, 0.5);
}
.lead-actions { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 0.75rem; }

.cabinet-readonly input:not([type="hidden"]),
.cabinet-readonly textarea,
.cabinet-readonly select {
  background: #f8fafc;
  color: #0f172a;
  pointer-events: none;
}

.cabinet-readonly .cabinet-auth-actions input:not([type="hidden"]),
.cabinet-readonly .cabinet-auth-actions button {
  pointer-events: auto;
  background: #ffffff;
  color: #0f172a;
}

.cabinet-page .panel-card { margin-bottom: 1.25rem; }

/* Analytics */
.analytics-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0.875rem; }
.analytics-stat {
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: 0.75rem;
  padding: 0.875rem;
  text-align: center;
  background: #ffffff;
}
.analytics-stat strong {
  display: block;
  font-size: 1.25rem;
  color: #0f172a;
  font-weight: 600;
}
.analytics-bars { display: flex; flex-direction: column; gap: 0.65rem; }
.analytics-bar-row {
  display: grid;
  grid-template-columns: minmax(120px, 34%) 1fr 40px;
  gap: 0.55rem;
  align-items: center;
  font-size: 0.875rem;
}
.analytics-bar-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; }
.analytics-bar-track { background: #e2e8f0; border-radius: 0.25rem; height: 0.45rem; overflow: hidden; }
.analytics-bar-fill { background: #64748b; height: 100%; min-width: 2px; border-radius: 0.25rem; }
.analytics-bar-count { text-align: right; color: #0f172a; font-weight: 500; }
.analytics-chips { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.analytics-chip {
  background: #f8fafc;
  color: #0f172a;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  border: 1px solid rgba(226, 232, 240, 0.6);
}
.analytics-more { margin-top: 0.75rem; font-size: 0.875rem; color: #0f172a; }
.analytics-more-list { margin: 0.55rem 0 0; padding-left: 1.15rem; color: #0f172a; max-height: 160px; overflow: auto; }
.analytics-split { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.analytics-subtitle {
  margin: 0 0 0.55rem;
  font-size: 1rem;
  color: #0f172a;
  font-weight: 600;
}
.analytics-agent-list { margin: 0; padding-left: 1.15rem; color: #0f172a; }
.analytics-activity-list { list-style: none; padding: 0; margin: 0; }
.analytics-activity-list li { padding: 0.55rem 0; border-bottom: 1px solid rgba(226, 232, 240, 0.5); font-size: 0.875rem; }
.analytics-event-badge {
  background: #f8fafc;
  color: #0f172a;
  padding: 0.12rem 0.5rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  border: 1px solid rgba(226, 232, 240, 0.6);
}

@media (max-width: 800px) {
  .cabinet-layout { grid-template-columns: 1fr; }
  .cabinet-side { position: static; }
  .cabinet-nav { flex-direction: row; flex-wrap: wrap; }
  .cabinet-logout-form {
    border-top: 0;
    padding-top: 0;
    width: 100%;
  }
  .table-grid, .table-grid-links { grid-template-columns: 1fr; }
  .cabinet-links .links-platform-grid { grid-template-columns: 1fr; }
  .cabinet-overview .overview-traffic-grid { grid-template-columns: 1fr; }
  .leads-stats { grid-template-columns: repeat(2, 1fr); }
  .readiness-card { align-items: flex-start; }
  .analytics-reliability-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .prices-table { overflow-x: visible; }
  .prices-table .table-grid-prices { min-width: 0; }
  .prices-table .table-head { display: none; }
  .prices-table .price-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
    padding: 0.9rem 1rem;
    border: 0;
    border-bottom: 1px solid rgba(11, 17, 27, 0.08);
    border-radius: 0;
    background: #fff;
    margin-bottom: 0;
    align-items: stretch;
  }
  .prices-table--photos .price-remove-row { grid-area: remove; }
  .prices-table .price-field-wrap { display: block; }
  .prices-table .price-on-card {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-top: 0;
  }
  .prices-table .price-remove-row {
    justify-self: start;
    width: auto;
    min-width: 2.25rem;
  }
  .price-mobile-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.2rem;
  }
  .price-mobile-label--inline {
    margin-bottom: 0;
    text-transform: none;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0;
  }
  .analytics-info-note {
    flex-direction: column;
  }
  .cabinet-dev-tools {
    margin-left: 0;
    width: 100%;
  }
  .cabinet-links .links-dynamic-row-main {
    flex-direction: column;
    align-items: stretch;
  }
  .cabinet-links .links-remove-row {
    align-self: flex-end;
  }
  .passport-view-page .price-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }
  .passport-view-page .price-item-value {
    text-align: left;
    white-space: normal;
  }
  .passport-public-hero {
    padding: 1.25rem 1.1rem;
  }
  .passport-view-page section.glass-card,
  .passport-view-page section.panel-card {
    padding: 1.35rem 1.15rem;
  }
  .passport-ai-link-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .passport-ai-link-actions .btn-copy-mini {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 720px) {
  .analytics-split { grid-template-columns: 1fr; }
  .analytics-bar-row { grid-template-columns: 1fr; gap: 0.25rem; }
  .analytics-bar-count { text-align: left; }
  .readiness-card { flex-direction: column; }
}

/* ── Cabinet: вкладка «Проверка» ── */
.cabinet-audit { display: flex; flex-direction: column; gap: 1rem; }
.audit-hero__eyebrow { margin-bottom: 0.35rem; }
.audit-hero__title { margin: 0 0 0.5rem; font-size: 1.35rem; }
.audit-hero__lead { margin: 0 0 1rem; max-width: 52rem; }
.audit-quota { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.audit-quota__pill {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.82rem;
  background: rgba(111, 127, 106, 0.12);
  color: var(--text-secondary, #475569);
}
.audit-quota__pill--ok { background: rgba(111, 127, 106, 0.2); color: #3d4f3a; }
.audit-quota__pill--trial { background: rgba(59, 130, 246, 0.12); color: #1d4ed8; }
.audit-quota__pill--muted { background: rgba(148, 163, 184, 0.15); }
.audit-run-form { margin-top: 0.25rem; }
.audit-run-form--fields {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  max-width: 36rem;
}
.audit-run-form--fields label { margin-top: 0.5rem; font-weight: 600; font-size: 0.88rem; }
.audit-run-form--fields input[type="url"],
.audit-run-form--fields input[type="text"] { width: 100%; }
.audit-run-form--fields .btn { margin-top: 0.75rem; align-self: flex-start; }
.audit-hero--paid {
  margin-top: 1.5rem;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  padding: 1.15rem 1.25rem;
}
.audit-hero--paid .audit-hero__eyebrow {
  display: inline-block;
  margin: 0 0 0.5rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #64748b;
}
.audit-hero--paid .audit-hero__title { margin-top: 0; }
.audit-hero--paid .audit-quota { margin-top: 0.75rem; margin-bottom: 0.85rem; }
.audit-source-card { margin-top: 1rem; }
.audit-facts-list { margin: 0.5rem 0 0; padding-left: 1.1rem; }
.audit-excerpt-details summary { cursor: pointer; }
.audit-excerpt {
  margin: 0.5rem 0 0;
  padding: 0.75rem;
  border-radius: 0.5rem;
  background: rgba(15, 23, 42, 0.04);
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 0.82rem;
  max-height: 220px;
  overflow: auto;
}
.audit-run-form__note { margin: 0.5rem 0 0; }
.audit-score-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.75rem; margin: 0.5rem 0 1rem; }
.audit-score {
  font-size: 1.5rem;
  font-weight: 700;
  padding: 0.15rem 0.55rem;
  border-radius: 0.5rem;
  background: rgba(111, 127, 106, 0.15);
}
.audit-score--mismatch { background: rgba(199, 101, 88, 0.15); color: #9a3412; }
.audit-score--partial { background: rgba(234, 179, 8, 0.15); color: #854d0e; }
.audit-blocks { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.audit-block {
  padding: 0.85rem 1rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(148, 163, 184, 0.2);
}
.audit-block__title { margin: 0 0 0.35rem; font-size: 1rem; }
.audit-block__ok { color: #3d4f3a; }
.audit-block__warn { color: #9a3412; }
.audit-sample {
  margin: 0.65rem 0 0;
  padding: 0.65rem 0.85rem;
  border-left: 3px solid rgba(111, 127, 106, 0.45);
  font-size: 0.92rem;
  color: var(--text-secondary, #475569);
}
.audit-history-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.65rem; }
.audit-history-item {
  display: block;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}
.audit-history-item:last-child { border-bottom: none; padding-bottom: 0; }
.audit-history-item__score { font-weight: 600; }
.save-bar--hidden { display: none; }
.audit-score-bars { flex: 1; min-width: 220px; }
.audit-bar-row { display: grid; grid-template-columns: 5.5rem 1fr 2rem; gap: 0.5rem; align-items: center; margin-bottom: 0.35rem; }
.audit-bar-label { font-size: 0.82rem; color: var(--text-secondary, #64748b); }
.audit-bar { height: 0.55rem; border-radius: 999px; background: rgba(148, 163, 184, 0.2); overflow: hidden; }
.audit-bar__fill { height: 100%; border-radius: 999px; background: #6F7F6A; }
.audit-bar__fill--perp { background: #3b82f6; }
.audit-bar__fill--goog { background: #ea4335; }
.audit-bar-val { font-size: 0.82rem; font-weight: 600; text-align: right; }
.audit-error-msg { color: #9a3412; margin: 0.35rem 0; }
.audit-matrix-wrap { overflow-x: auto; margin-top: 0.65rem; }
.audit-matrix { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.audit-matrix th, .audit-matrix td { border: 1px solid rgba(148, 163, 184, 0.25); padding: 0.45rem 0.55rem; text-align: left; vertical-align: top; }
.audit-matrix th { background: rgba(148, 163, 184, 0.1); font-weight: 600; }
.audit-matrix td:first-child { font-weight: 600; white-space: nowrap; }
.audit-panel-card { margin-top: 1rem; }

/* Discovery report dashboard */
.audit-report { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; }
.audit-report__head { padding: 1.1rem 1.25rem; }
.audit-report__head-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.audit-report__url { margin: 0.25rem 0 0; word-break: break-all; }
.audit-report__score-wrap { text-align: center; min-width: 5.5rem; }
.audit-report__score {
  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1;
  color: #3d4f3a;
  background: linear-gradient(135deg, rgba(111,127,106,0.18), rgba(111,127,106,0.05));
  border-radius: 0.75rem;
  padding: 0.5rem 0.85rem;
}
.audit-report__score-sub { font-size: 0.75rem; color: var(--text-secondary, #64748b); margin-top: 0.25rem; }
.audit-score-bars--report { margin-top: 0.85rem; max-width: 28rem; }
.audit-score-legend {
  margin: 0.75rem 0 0;
  max-width: 42rem;
  line-height: 1.45;
  font-size: 0.8125rem;
  color: var(--text-secondary, #64748b);
}

/* Дашборд аналитики */
.audit-dashboard { padding: 1rem 1.15rem; }
.audit-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0.75rem 0 1rem;
}
.audit-kpi {
  padding: 0.8rem 0.9rem;
  border-radius: 0.55rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #ffffff;
  text-align: center;
}
.audit-kpi__val {
  display: block;
  font-size: 1.35rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.audit-kpi__lbl {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.72rem;
  color: var(--text-secondary, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.audit-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.85rem;
}
.audit-kpi-grid .audit-kpi {
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.audit-kpi__label {
  font-size: 0.78rem;
  font-weight: 500;
  color: #64748b;
  text-transform: none;
  letter-spacing: 0;
}
.audit-details-summary {
  margin: 0.85rem 0 0;
  max-width: 44rem;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #64748b;
}
.audit-bar__fill--panel { background: #5b8fc7; }
.audit-bar__fill--traces { background: #7a8f75; }
.audit-model-dash {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.75rem;
}
.audit-model-dash__row {
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.65rem;
  padding: 0.75rem 0.85rem;
  background: rgba(255, 255, 255, 0.65);
}
.audit-model-dash__row--off { opacity: 0.65; border-style: dashed; }
.audit-model-dash__head {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.45rem;
  flex-wrap: wrap;
}
.audit-model-dash__bars { display: grid; gap: 0.3rem; }
.audit-tag--know {
  background: rgba(14, 165, 233, 0.12);
  color: #0369a1;
  border: 1px solid rgba(14, 165, 233, 0.25);
}
.audit-tag--know-yes {
  background: rgba(111, 127, 106, 0.14);
  color: #3d4f3a;
  border: 1px solid rgba(111, 127, 106, 0.28);
}
.audit-tag--know-no {
  background: rgba(148, 163, 184, 0.12);
  color: #64748b;
  border: 1px solid rgba(148, 163, 184, 0.28);
}
.audit-tag--know-unsure {
  background: rgba(180, 140, 80, 0.12);
  color: #8a6914;
  border: 1px solid rgba(180, 140, 80, 0.28);
}
.audit-tag--off {
  background: rgba(148, 163, 184, 0.15);
  color: #64748b;
}

/* Visibility audit: memory A/B/C */
.audit-mem-blocks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
  gap: 0.75rem;
  margin-top: 0.85rem;
}
.audit-mem-block {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.55rem;
  padding: 0.85rem 0.95rem;
  background: #fff;
}
.audit-mem-block__head {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin-bottom: 0.45rem;
}
.audit-mem-block__key {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}
.audit-mem-block__title {
  font-size: 0.95rem;
  font-weight: 650;
  color: #0f172a;
}
.audit-mem-block__score {
  margin: 0 0 0.4rem;
  font-size: 0.9rem;
  color: #334155;
}
.audit-mem-block__score strong { font-size: 1.15rem; color: #0f172a; }
.audit-mem-block__hint { margin: 0.45rem 0 0; }
.audit-mem-block__split { margin: 0.35rem 0 0; font-size: 0.78rem; }
.audit-bar__fill--mem-a { background: #6F7F6A; }
.audit-bar__fill--mem-b { background: #7a8799; }
.audit-bar__fill--mem-c { background: #8b7aad; }
.audit-mem-section { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid rgba(226, 232, 240, 0.95); }
.audit-mem-section:first-of-type { margin-top: 0.75rem; padding-top: 0; border-top: none; }
.audit-mem-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.35rem;
}
.audit-mem-section__title {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 650;
  color: #0f172a;
}
.audit-mem-section__meta {
  font-size: 0.82rem;
  font-weight: 600;
  color: #64748b;
}
.audit-mem-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.55rem;
}
.audit-mem-chip {
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.22rem 0.5rem;
  border-radius: 0.35rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #f8fafc;
  color: #475569;
}
.audit-mem-chip--yes {
  border-color: rgba(111, 127, 106, 0.35);
  background: rgba(111, 127, 106, 0.1);
  color: #3d4f3a;
}
.audit-mem-chip--no {
  border-color: rgba(148, 163, 184, 0.35);
  color: #94a3b8;
}
.audit-mem-chip--unsure {
  border-color: rgba(180, 140, 80, 0.35);
  background: rgba(180, 140, 80, 0.08);
  color: #8a6914;
}
.audit-findings-list {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}
.audit-findings-item {
  display: grid;
  grid-template-columns: 6.5rem 1fr;
  gap: 0.65rem;
  align-items: start;
  padding: 0.55rem 0;
  border-top: 1px solid rgba(226, 232, 240, 0.95);
}
.audit-findings-item:first-child { border-top: none; padding-top: 0; }
.audit-findings-item__lbl {
  font-size: 0.78rem;
  font-weight: 650;
  color: #64748b;
  padding-top: 0.1rem;
}
.audit-findings-item__val {
  font-size: 0.92rem;
  line-height: 1.45;
  color: #0f172a;
}
@media (max-width: 640px) {
  .audit-findings-item { grid-template-columns: 1fr; gap: 0.15rem; }
}
.audit-intent-list {
  list-style: none;
  margin: 0.85rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}
.audit-intent-list--search { margin-top: 1rem; }
.audit-intent-item {
  margin: 0;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.7rem;
  background: #fff;
}
.audit-intent-item--named { border-color: rgba(111, 127, 106, 0.45); }
.audit-intent-item--other { border-color: rgba(180, 140, 80, 0.4); }
.audit-intent-item__q {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 650;
  color: #0f172a;
}
.audit-intent-item__v {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  font-weight: 650;
  color: #485a44;
}
.audit-intent-item--other .audit-intent-item__v,
.audit-intent-item--empty .audit-intent-item__v { color: #8a6914; }
.audit-know-note { margin-top: 0.85rem; }
.audit-explain {
  margin-top: 0.9rem;
  border: 1px solid rgba(90, 110, 90, 0.22);
  border-radius: 0.7rem;
  background: rgba(240, 245, 238, 0.5);
  padding: 0.5rem 0.75rem;
}
.audit-explain > summary {
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 650;
  color: #4d6048;
}
.audit-explain p {
  margin: 0.5rem 0 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #4a5550;
}
.audit-rival-list,
.audit-lies-list {
  list-style: none;
  margin: 0.85rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}
.audit-rival-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(120, 130, 118, 0.28);
  border-radius: 0.7rem;
  background: #fff;
}
.audit-rival-item__name { font-weight: 700; font-size: 0.9rem; }
.audit-rival-item__count { font-size: 0.78rem; color: #6d7a68; }
.audit-rival-item__q { flex-basis: 100%; font-size: 0.76rem; }
.audit-lies-item {
  display: grid;
  gap: 0.2rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(180, 90, 70, 0.35);
  border-radius: 0.7rem;
  background: rgba(255, 245, 240, 0.75);
}
.audit-lies-item__lbl { font-size: 0.76rem; font-weight: 650; color: #8a4030; }
.audit-lies-item__val { font-size: 0.86rem; color: #3d3733; }
.audit-lies-item__val small { display: block; font-size: 0.76rem; color: #6d7a68; }
.audit-stat-chip--warn { border-color: rgba(180, 90, 70, 0.45); color: #8a4030; }
.audit-advice-box {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(226, 232, 240, 0.95);
}
.audit-advice-box__title {
  margin: 0 0 0.4rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #475569;
}
.audit-advice-list {
  margin: 0.35rem 0 0;
  padding-left: 1.15rem;
  color: #475569;
  font-size: 0.875rem;
  line-height: 1.5;
}
.audit-advice-list li + li { margin-top: 0.35rem; }
.audit-traces-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
}
.audit-trace-card {
  border: 1px solid rgba(5, 150, 105, 0.2);
  border-radius: 0.65rem;
  padding: 0.85rem;
  background: rgba(236, 253, 245, 0.45);
}
.audit-trace-card__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
}
.audit-trace-card__score {
  font-weight: 700;
  font-size: 0.95rem;
  color: #047857;
}
.audit-trace-card__advice {
  margin: 0.5rem 0 0;
  font-size: 0.82rem;
  color: #065f46;
}
@media (max-width: 720px) {
  .audit-kpi-grid { grid-template-columns: repeat(2, 1fr); }
}
.audit-dash-block { margin-top: 1rem; padding-top: 0.85rem; border-top: 1px solid rgba(148, 163, 184, 0.18); }
.audit-dash-block:first-of-type { margin-top: 0; padding-top: 0; border-top: none; }
.audit-dash-block__title { margin: 0 0 0.55rem; font-size: 0.92rem; font-weight: 700; color: #334155; }
.audit-dash-hint { margin: 0.5rem 0 0; font-size: 0.78rem; }
.audit-bar-row--dash .audit-bar-label { width: 5.5rem; }
.audit-bar-row--model { grid-template-columns: 7.5rem 1fr 2rem; }
.audit-bar-row--model .audit-bar-label {
  font-size: 0.78rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.audit-bar-row--main .audit-bar-label { font-weight: 700; color: #0f172a; }
.audit-bar-label-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
  overflow: hidden;
}
.audit-bar-role {
  font-size: 0.65rem;
  color: #94a3b8;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.audit-site-read-kpi__hint {
  margin: 0 0 0.4rem;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #64748b;
}
.audit-site-model-card--fail {
  opacity: 0.85;
  border-color: rgba(248, 113, 113, 0.35);
  background: rgba(254, 242, 242, 0.45);
}
.audit-site-model-card__badge {
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.audit-site-model-card__badge--off { color: #b91c1c; }
.audit-bar__fill--fact { background: linear-gradient(90deg, #6F7F6A, #8fa88a); }
.audit-bar__fill--model { background: rgba(100, 116, 139, 0.55); }
.audit-bar__fill--model-main { background: linear-gradient(90deg, #3b82f6, #6F7F6A); }
.audit-model-bars, .audit-fact-bars { max-width: 36rem; }

/* Чтение сайта — удобство и извлечение по моделям */
.audit-site-read-card { padding: 1.35rem 1.4rem; border-left: 0; }
.audit-site-read-kpis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-top: 0.65rem;
}
.audit-site-read-kpi {
  position: relative;
  padding: 0.85rem 0.9rem 0.85rem 1rem;
  border-radius: 0.55rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #ffffff;
  overflow: hidden;
}
.audit-site-read-kpi::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65rem;
  bottom: 0.65rem;
  width: 2px;
  background: #7a8f75;
}
.audit-site-read-kpi:first-child::before { background: #5b8fc7; }
.audit-site-read-kpi__label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 0.45rem;
  text-transform: none;
  letter-spacing: 0;
}
.audit-site-read-note { margin: 0.45rem 0 0; font-size: 0.84rem; line-height: 1.45; color: #64748b; }
.audit-site-read-tags { margin-top: 0.45rem; }
.audit-site-read-meta { margin: 0.75rem 0 0; font-size: 0.78rem; }
.audit-bar__fill--site-ease { background: #5b8fc7; }
.audit-bar__fill--site-ext { background: #7a8f75; }
.audit-site-model-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 0.65rem;
}
.audit-site-model-card {
  padding: 0.75rem 0.85rem;
  border-radius: 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.5);
}
.audit-site-model-card__head {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin-bottom: 0.45rem;
}
.audit-site-model-card__facts {
  font-size: 0.72rem;
  color: var(--text-secondary, #64748b);
}
.audit-site-model-card__note { margin: 0.35rem 0 0; font-size: 0.75rem; line-height: 1.35; }
.audit-bar-row--mini {
  grid-template-columns: 4.5rem 1fr 2.2rem;
  margin-bottom: 0.25rem;
}
.audit-bar-row--mini .audit-bar-label { font-size: 0.72rem; }

/* Загрузка проверки — официальная иконка бренда */
.audit-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(251, 249, 246, 0.94);
  backdrop-filter: blur(6px);
}
.audit-loading-overlay[hidden] { display: none !important; }
body.audit-loading-active { overflow: hidden; }
.audit-loading-card {
  text-align: center;
  max-width: 22rem;
  padding: 1.5rem 1.25rem;
  border-radius: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
}
.audit-passport-loader {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}
.brand-mark--audit-loader {
  display: inline-flex;
  filter: drop-shadow(0 10px 28px rgba(15, 23, 42, 0.18));
}
.brand-mark__svg--audit-loader {
  width: 82px;
  height: 98px;
  margin: 0;
  display: block;
}
.brand-mark--audit-loader .brand-mark__core {
  fill: #ffffff !important;
}
.brand-mark--audit-loader .brand-stream {
  opacity: 0.45;
  animation: brand-stream-run 0.28s ease-in-out infinite;
}
.brand-mark--audit-loader .brand-stream--t { animation-delay: 0s; }
.brand-mark--audit-loader .brand-stream--r { animation-delay: 0.07s; }
.brand-mark--audit-loader .brand-stream--b { animation-delay: 0.14s; }
.brand-mark--audit-loader .brand-stream--l { animation-delay: 0.21s; }
@keyframes brand-stream-run {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}
.audit-loading-title {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #0f172a;
}
.audit-loading-sub {
  margin: 0;
  line-height: 1.45;
  font-size: 0.85rem;
}

/* ── Audit report v2 ── */
.audit-report--v2 { gap: 1.15rem; }
.audit-hero-report {
  padding: 1.35rem 1.4rem 1.25rem;
  border-left: 0;
}
.audit-hero-report__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.audit-hero-report__eyebrow {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6F7F6A;
}
.audit-hero-report__date {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  color: var(--text-secondary, #64748b);
}
.audit-hero-report__url {
  display: inline-block;
  margin-top: 0.45rem;
  font-size: 0.875rem;
  word-break: break-all;
  color: #334155;
  text-decoration: none;
}
.audit-hero-report__url:hover { color: #0f172a; text-decoration: underline; }
.audit-hero-report__score-block {
  text-align: right;
  min-width: 4.5rem;
  padding-top: 0.1rem;
}
.audit-hero-report__score {
  font-size: 2.35rem;
  font-weight: 700;
  line-height: 1;
  color: #0f172a;
  letter-spacing: -0.03em;
}
.audit-hero-report__score-sub {
  font-size: 0.75rem;
  color: var(--text-secondary, #64748b);
  margin-top: 0.25rem;
}
.audit-hero-report__delta {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
}
.audit-hero-report__delta--up { background: rgba(111, 127, 106, 0.18); color: #3d4f3a; }
.audit-hero-report__delta--down { background: rgba(199, 101, 88, 0.14); color: #9a3412; }
.audit-hero-report__delta--flat { background: rgba(148, 163, 184, 0.15); color: #64748b; }
.audit-hero-report__channels {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.55rem;
  margin-top: 1rem;
  max-width: 32rem;
}
.audit-channel-pill {
  display: grid;
  grid-template-columns: 4.5rem 1fr 2rem;
  gap: 0.35rem;
  align-items: center;
}
.audit-channel-pill__label { font-size: 0.78rem; color: var(--text-secondary, #64748b); }
.audit-channel-pill__val { font-size: 0.78rem; font-weight: 700; text-align: right; }
.audit-channel-pill--pending .audit-channel-pill__val--pending { color: #94a3b8; font-weight: 600; }
.audit-bar__fill--search { background: #8b7aad; }
.audit-bar__fill--coverage { background: #7a8799; }
.audit-bar__fill--pending { background: rgba(148, 163, 184, 0.25); }
.audit-bar--sm { height: 0.45rem; }
.audit-hero-report__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1rem;
}
.audit-stat-chip {
  font-size: 0.8125rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid rgba(226, 232, 240, 0.95);
  color: #64748b;
}
.audit-stat-chip strong { color: #0f172a; font-weight: 600; }
.audit-hero-report__summary {
  margin: 0.85rem 0 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #334155;
}
.audit-model-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.75rem;
}
.audit-model-chip {
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.6);
  color: #64748b;
}
.audit-model-chip--ok { border-color: rgba(111, 127, 106, 0.35); color: #3d4f3a; background: rgba(111, 127, 106, 0.1); }
.audit-model-chip--fail { border-style: dashed; opacity: 0.75; }
.audit-model-chip--pending { border-style: dotted; opacity: 0.85; color: #64748b; }
.audit-search-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.65rem;
}
.audit-search-engine {
  position: relative;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.55rem;
  padding: 0.85rem 0.9rem 0.85rem 1rem;
  background: #ffffff;
  overflow: hidden;
}
.audit-search-engine::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65rem;
  bottom: 0.65rem;
  width: 2px;
  background: #8b7aad;
}
.audit-search-engine--ok { border-color: rgba(226, 232, 240, 0.95); }
.audit-search-engine--pending {
  border-style: dashed;
  opacity: 0.92;
}
.audit-search-engine--pending::before { background: #94a3b8; }
.audit-search-engine__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}
.audit-search-engine__badge {
  font-size: 0.72rem;
  font-weight: 500;
  padding: 0;
  border-radius: 0;
  background: transparent;
  white-space: nowrap;
}
.audit-search-engine__badge--ok { color: #5f705b; }
.audit-search-engine__badge--pending { color: #94a3b8; }
.audit-search-engine__badge--off { color: #94a3b8; }
.audit-search-engine__how,
.audit-search-engine__summary,
.audit-search-engine__query { margin: 0.35rem 0 0; font-size: 0.84rem; line-height: 1.45; }
.audit-search-engine__summary { color: #475569; }
.audit-full-answer {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.audit-answer-details {
  margin-top: 0.65rem;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
  padding-top: 0.55rem;
}
.audit-answer-details summary {
  cursor: pointer;
  color: #5b4a78;
  font-size: 0.82rem;
  font-weight: 650;
}
.audit-answer-details--error summary { color: #9b4c4c; }
.audit-evidence-block { margin-top: 0.75rem; font-size: 0.84rem; }
.audit-evidence-list {
  margin: 0.4rem 0 0;
  padding-left: 1.15rem;
  display: grid;
  gap: 0.3rem;
  overflow-wrap: anywhere;
}
.audit-analysis-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0.8rem 0;
}
.audit-analysis-kpis > div {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.55rem;
  padding: 0.7rem 0.8rem;
  display: grid;
  gap: 0.15rem;
}
.audit-analysis-kpis span,
.audit-analysis-kpis small,
.audit-fact-proof { color: #64748b; }
.audit-analysis-kpis strong { text-transform: capitalize; }
.audit-fact-proof { display: block; margin-top: 0.15rem; font-size: 0.76rem; }
.audit-findings-item--conflict { background: rgba(254, 242, 242, 0.65); }
.audit-conflicts-box {
  margin-top: 0.75rem;
  border-left: 3px solid #c87979;
  background: rgba(254, 242, 242, 0.7);
  padding: 0.7rem 0.85rem;
  border-radius: 0.35rem;
}
.audit-conflicts-box ul { margin: 0.35rem 0 0; padding-left: 1.15rem; }
@media (max-width: 720px) {
  .audit-analysis-kpis { grid-template-columns: 1fr; }
}
.audit-model-chip--main { font-weight: 700; }

.audit-report-nav {
  position: sticky;
  top: 0.5rem;
  z-index: 40;
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  padding: 0.35rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #ffffff;
  box-shadow: none;
}
.audit-report-nav__link {
  display: inline-block;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.5rem 0.85rem;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  background: transparent;
  text-decoration: none;
  color: #0f172a;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.audit-report-nav__link:hover {
  color: #0f172a;
  background: #f8fafc;
}
.audit-report-nav__link.is-active {
  color: #0f172a;
  font-weight: 600;
  background: #f8fafc;
  border-color: rgba(226, 232, 240, 0.95);
}
.audit-report-nav__link--extra {
  margin-left: auto;
  color: #64748b;
}
.audit-report-nav__link--extra.is-active {
  color: #0f172a;
}
.audit-extra-site-card .audit-section-title { margin-top: 0; }
.audit-extra-site-card .audit-run-form { margin-top: 0.85rem; }
.audit-extra-site-card__last { margin: 0.65rem 0 0; }
.audit-extra-site-card__last a { color: #334155; text-decoration: underline; text-underline-offset: 0.12em; }
.audit-extra-site-card__last a:hover { color: #0f172a; }
@media (max-width: 720px) {
  .audit-report-nav__link--extra { margin-left: 0; }
}

/* Отчёт v2: вкладки-панели + вердикт */
.audit-report--v2 .audit-hero-report__score--sm {
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1;
  color: #0f172a;
  letter-spacing: -0.02em;
}
.audit-report--v2 .audit-hero-report__verdict {
  margin: 1.1rem 0 0;
  max-width: 40rem;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: #0f172a;
}
.audit-report--v2 .audit-section-title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 650;
  letter-spacing: -0.015em;
}
.audit-report--v2 .audit-section-lead {
  margin: 0 0 0.85rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #64748b;
}
.audit-panel-pane[hidden] { display: none !important; }
.audit-panel-pane.is-active { display: flex; flex-direction: column; gap: 1.15rem; }
.audit-model-voices { display: grid; gap: 0.65rem; margin-top: 0.75rem; }
.audit-model-voice__quote {
  margin: 0.35rem 0 0.25rem;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #334155;
}
.audit-model-voice__facts { margin: 0.25rem 0 0; font-size: 0.8rem; }
.audit-model-voice__miss { color: #9a3412; }
.audit-fact-summary td:last-child { font-weight: 600; }

.audit-actions-card { padding: 1.35rem 1.4rem; }
.audit-actions-list {
  list-style: none;
  margin: 0.15rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.audit-actions-item {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  background: transparent;
  border-left: 0;
  border-radius: 0;
}
.audit-actions-item:last-child { border-bottom: 0; padding-bottom: 0.2rem; }
.audit-actions-item__head {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}
.audit-actions-item__num {
  flex-shrink: 0;
  width: 1.35rem;
  margin-top: 0.15rem;
  color: #94a3b8;
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.audit-actions-item__body { min-width: 0; flex: 1; }
.audit-actions-item__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.35;
  letter-spacing: -0.01em;
}
.audit-actions-item__prio {
  display: inline-block;
  margin-left: 0.45rem;
  color: #94a3b8;
  font-size: 0.75rem;
  font-weight: 500;
}
.audit-actions-item__detail {
  margin: 0.35rem 0 0;
  max-width: 40rem;
  font-size: 0.875rem;
  line-height: 1.45;
}
.audit-actions-item__action {
  margin: 0.45rem 0 0;
  max-width: 40rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: #3d4f3a;
  line-height: 1.4;
}

.audit-analytics-card { padding: 1rem 1.15rem; }
.audit-radar {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.audit-radar__spoke {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}
.audit-radar__ring {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: conic-gradient(#6F7F6A calc(var(--pct, 0) * 1%), rgba(148, 163, 184, 0.18) 0);
  mask: radial-gradient(farthest-side, transparent 58%, #000 59%);
  -webkit-mask: radial-gradient(farthest-side, transparent 58%, #000 59%);
}
.audit-radar__label { font-size: 0.68rem; color: var(--text-secondary, #64748b); line-height: 1.2; }
.audit-radar__val { font-size: 0.72rem; font-weight: 700; }
.audit-cat-bars { max-width: 28rem; }
.audit-model-bars--compact { max-width: 36rem; }

.audit-heatmap-card { padding: 1rem 1.15rem; }
.audit-heatmap-wrap { overflow-x: auto; margin-top: 0.5rem; }
.audit-heatmap {
  width: 100%;
  border-collapse: separate;
  border-spacing: 2px;
  font-size: 0.78rem;
}
.audit-heatmap th,
.audit-heatmap td {
  padding: 0.4rem 0.45rem;
  text-align: center;
  vertical-align: middle;
}
.audit-heatmap__corner,
.audit-heatmap__row-label {
  text-align: left;
  font-weight: 600;
  white-space: nowrap;
  position: sticky;
  left: 0;
  background: rgba(251, 249, 246, 0.98);
  z-index: 2;
}
.audit-heatmap__th {
  font-size: 0.68rem;
  font-weight: 700;
  color: #475569;
  max-width: 4.5rem;
  line-height: 1.2;
}
.audit-heatmap__th span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.audit-heatmap__th--off { opacity: 0.45; }
.audit-heatmap__cell {
  border-radius: 0.35rem;
  font-weight: 700;
  min-width: 2rem;
}
.audit-heatmap__cell--yes { background: rgba(111, 127, 106, 0.22); color: #3d4f3a; }
.audit-heatmap__cell--no { background: rgba(199, 101, 88, 0.14); color: #9a3412; }
.audit-heatmap__cell--off { background: rgba(148, 163, 184, 0.1); color: #94a3b8; }

.audit-collapsible {
  position: relative;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.55rem;
  background: #ffffff;
}
.audit-collapsible > summary {
  cursor: pointer;
  padding: 0.85rem 2.5rem 0.85rem 1.15rem;
  font-weight: 600;
  font-size: 0.9rem;
  color: #0f172a;
  list-style: none;
  letter-spacing: -0.01em;
}
.audit-collapsible > summary::-webkit-details-marker { display: none; }
.audit-collapsible > summary::after {
  content: "▾";
  position: absolute;
  right: 1rem;
  top: 0.9rem;
  color: #94a3b8;
  font-weight: 400;
  transition: transform 0.15s;
}
.audit-collapsible[open] > summary::after { transform: rotate(180deg); }
.audit-collapsible > :not(summary) { padding: 0 1.15rem 1rem; }
.audit-collapsible__meta {
  display: inline;
  margin-left: 0.4rem;
  font-weight: 500;
  font-size: 0.84rem;
  color: #64748b;
}
.audit-collapsible--warn {
  border-left: 0;
}
.audit-collapsible--warn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65rem;
  bottom: 0.65rem;
  width: 2px;
  background: #c76558;
}
.audit-collapsible--warn > summary {
  padding-left: 1.2rem;
}
.audit-collapsible--muted > summary { color: #64748b; font-weight: 600; }
.audit-failed-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.audit-failed-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.55rem 0;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
  font-size: 0.875rem;
}
.audit-failed-item:first-child { border-top: 0; padding-top: 0; }
.audit-failed-item strong {
  font-size: 0.875rem;
  font-weight: 600;
  color: #0f172a;
}
.audit-error-msg {
  color: #64748b;
  line-height: 1.45;
}

.audit-loading-steps {
  list-style: none;
  margin: 0.75rem 0 0.5rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  text-align: left;
}
.audit-loading-step {
  font-size: 0.82rem;
  padding: 0.4rem 0.55rem;
  border-radius: 0.45rem;
  color: #94a3b8;
  border: 1px solid transparent;
}
.audit-loading-step.is-active {
  color: #0f172a;
  font-weight: 600;
  border-color: rgba(111, 127, 106, 0.35);
  background: rgba(111, 127, 106, 0.08);
}
.audit-loading-step.is-done {
  color: #3d4f3a;
}
.audit-loading-step.is-done::before {
  content: "✓ ";
  color: #6F7F6A;
}
.audit-loading-model {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: #6F7F6A;
}
.audit-loading-models {
  list-style: none;
  margin: 0.55rem 0 0;
  padding: 0.45rem 0.55rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  border-radius: 0.55rem;
  background: rgba(15, 23, 42, 0.04);
  text-align: left;
}
.audit-loading-models[hidden] { display: none !important; }
.audit-loading-models__item {
  font-size: 0.72rem;
  padding: 0.22rem 0.45rem;
  border-radius: 999px;
  color: #64748b;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.35);
}
.audit-loading-models__item.is-done {
  color: #3d4f3a;
  border-color: rgba(111, 127, 106, 0.35);
}
.audit-loading-models__item.is-active {
  color: #0f172a;
  font-weight: 700;
  border-color: rgba(111, 127, 106, 0.55);
  background: rgba(111, 127, 106, 0.12);
}

.audit-archive-banner {
  padding: 0.65rem 1rem;
  border-left: 4px solid #3b82f6;
  margin-bottom: 0.5rem;
}
.audit-archive-banner a { margin-left: 0.5rem; }

.audit-history-item__link {
  display: grid;
  grid-template-columns: 9.5rem 4.5rem minmax(0, 1fr);
  gap: 0.65rem 1rem;
  align-items: start;
  text-decoration: none;
  color: inherit;
  padding: 0.35rem 0;
  width: 100%;
}
.audit-history-item__link:hover .audit-history-item__score { color: #1d4ed8; }
.audit-history-item__date {
  font-size: 0.85rem;
  color: var(--text-secondary, #64748b);
  white-space: nowrap;
}
.audit-history-item__msg {
  min-width: 0;
  line-height: 1.45;
  overflow-wrap: break-word;
  word-break: normal;
}

.audit-passport-diff-card,
.audit-conflicts-card {
  padding: 1.35rem 1.4rem;
  border-left: 0;
}
.audit-passport-diff-list,
.audit-conflicts-list {
  list-style: none;
  margin: 0.35rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.audit-passport-diff-item,
.audit-conflicts-item {
  position: relative;
  padding: 0.9rem 0.95rem 0.9rem 1.05rem;
  border-radius: 0.55rem;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  overflow: hidden;
}
.audit-passport-diff-item::before,
.audit-conflicts-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65rem;
  bottom: 0.65rem;
  width: 2px;
  border-radius: 0;
  background: #c4a35a;
}
.audit-passport-diff-item--high::before { background: #c76558; }
.audit-passport-diff-item--medium::before { background: #c4a35a; }
.audit-passport-diff-item--low::before { background: #5b8fc7; }
.audit-passport-diff-item__title,
.audit-conflicts-item__title {
  display: block;
  margin: 0 0 0.55rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
  letter-spacing: -0.01em;
  line-height: 1.35;
}
.audit-passport-diff-pairs {
  display: grid;
  gap: 0.45rem;
}
.audit-passport-diff-pair {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
}
.audit-passport-diff-pair__lbl {
  font-size: 0.78rem;
  font-weight: 500;
  color: #94a3b8;
  padding-top: 0.1rem;
}
.audit-passport-diff-pair__val {
  font-size: 0.9rem;
  line-height: 1.45;
  color: #0f172a;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.audit-passport-diff-action {
  margin: 0.7rem 0 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: #5f705b;
  line-height: 1.45;
}
.audit-passport-diff-action__lbl {
  color: #64748b;
  font-weight: 500;
}
.audit-passport-diff-ok {
  margin: 0.75rem 0 0;
  padding: 0.75rem 0.85rem;
  border-radius: 0.55rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  color: #5f705b;
  font-size: 0.9rem;
  line-height: 1.45;
}
.audit-conflicts-item__detail {
  margin: 0;
  max-width: 42rem;
  font-size: 0.875rem;
  line-height: 1.45;
}
@media (max-width: 640px) {
  .audit-passport-diff-pair {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
}

.audit-failed-hint { display: block; margin-top: 0.25rem; font-size: 0.78rem; color: #64748b; }

.for-agents-page { max-width: 48rem; margin: 0 auto; padding: 1.5rem 1rem 3rem; display: flex; flex-direction: column; gap: 1rem; }
.for-agents-lead { max-width: 40rem; line-height: 1.5; }
.for-agents-block { padding: 1.1rem 1.25rem; }
.for-agents-block h2 { margin: 0 0 0.65rem; font-size: 1.05rem; }
.for-agents-sub { margin: 1rem 0 0.4rem; font-size: 0.95rem; }
.for-agents-dl--stack div { grid-template-columns: 1fr; gap: 0.25rem; }
.for-agents-dl--stack dt { color: #334155; }
.for-agents-steps, .for-agents-list { margin: 0; padding-left: 1.2rem; line-height: 1.55; }
.for-agents-dl { margin: 0; display: grid; gap: 0.45rem; }
.for-agents-dl div { display: grid; grid-template-columns: 8rem 1fr; gap: 0.5rem; font-size: 0.88rem; }
.for-agents-dl dt { font-weight: 600; color: #64748b; }
.for-agents-dl dd { margin: 0; word-break: break-all; }
.for-agents-pre {
  margin: 0;
  padding: 0.75rem;
  border-radius: 0.5rem;
  background: rgba(15, 23, 42, 0.04);
  font-size: 0.72rem;
  overflow: auto;
  max-height: 320px;
}
.for-agents-block--muted { opacity: 0.92; }
.for-agents-footer { text-align: center; }
.links-verify-form { margin: 0.75rem 0; }

.audit-report__meta-line { margin: 0.65rem 0 0; }
.audit-section-title { margin: 0 0 0.5rem; font-size: 1.05rem; font-weight: 700; }
.audit-section-lead { margin: 0 0 0.65rem; }
.audit-insight-card { padding: 1rem 1.15rem; border-left: 4px solid #6F7F6A; }
.audit-insight-card--warn { border-left-color: #c76558; }
.audit-insight-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.65rem; }
.audit-insight-item { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.55rem 0.65rem; border-radius: 0.5rem; background: rgba(255,255,255,0.55); }
.audit-insight-item--high { background: rgba(199, 101, 88, 0.1); }
.audit-insight-item--medium { background: rgba(234, 179, 8, 0.08); }
.audit-matrix--presence .audit-cell-mark { text-align: center; font-weight: 700; font-size: 1rem; width: 3.2rem; }
.audit-cell-mark--yes { background: rgba(111, 127, 106, 0.18); color: #3d4f3a; }
.audit-cell-mark--no { background: rgba(199, 101, 88, 0.12); color: #9a3412; }
.audit-cell-mark--off { background: rgba(148, 163, 184, 0.08); color: #94a3b8; }
.audit-th--off { opacity: 0.55; }
.audit-matrix--detail td { font-size: 0.82rem; line-height: 1.35; max-width: 14rem; }

/* Цифровой след — по категориям */
.audit-footprint-card { padding: 1rem 1.15rem; }
.audit-fp-group {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}
.audit-fp-dash {
  display: grid;
  grid-template-columns: minmax(7rem, 9rem) 1fr;
  gap: 1rem 1.25rem;
  align-items: start;
  margin: 0.85rem 0 1.15rem;
  padding: 0.9rem 1rem;
  border-radius: 0.75rem;
  background: #fafafa;
  border: 1px solid rgba(226, 232, 240, 0.95);
}
.audit-fp-dash__score {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.audit-fp-dash__score-val {
  font-size: 2rem;
  line-height: 1;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.03em;
}
.audit-fp-dash__score-lbl {
  font-size: 0.72rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.audit-fp-dash__chart {
  display: grid;
  gap: 0.55rem;
}
.audit-fp-cov__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.2rem;
}
.audit-fp-cov__label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #0f172a;
}
.audit-fp-cov__nums {
  font-size: 0.78rem;
  color: #64748b;
}
.audit-fp-cov__nums strong { color: #0f172a; }
.audit-bar--cov {
  height: 0.4rem;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.95);
  overflow: hidden;
}
.audit-bar__fill--cov-maps,
.audit-bar__fill--cov-dirs,
.audit-bar__fill--cov-social,
.audit-bar__fill--cov-news,
.audit-bar__fill--cov-site {
  border-radius: 999px;
}
.audit-bar__fill--cov-maps { background: #5b8fc7; }
.audit-bar__fill--cov-dirs { background: #7a8f75; }
.audit-bar__fill--cov-social { background: #8b7aad; }
.audit-bar__fill--cov-news { background: #c4a35a; }
.audit-bar__fill--cov-site { background: #7a8799; }
.audit-fp-cov__hint {
  display: inline-block;
  margin-top: 0.15rem;
  font-size: 0.68rem;
  color: #94a3b8;
}
.audit-fp-cov__hint--ok { color: #5f705b; }
.audit-fp-cov--empty .audit-fp-cov__label { color: #94a3b8; }
.audit-fp-cov--empty .audit-bar { background: rgba(148, 163, 184, 0.12); }
@media (max-width: 720px) {
  .audit-fp-dash { grid-template-columns: 1fr; }
}
.audit-fp-group:first-of-type { margin-top: 0.5rem; padding-top: 0; border-top: none; }
.audit-fp-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}
.audit-fp-group__title {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #0f172a;
  letter-spacing: -0.01em;
}
.audit-fp-group__count {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #94a3b8;
}
.audit-fp-group--maps .audit-fp-group__title { color: #3b6ea5; }
.audit-fp-group--dirs .audit-fp-group__title { color: #5f705b; }
.audit-fp-group--news .audit-fp-group__title { color: #9a7b2f; }
.audit-fp-group--social .audit-fp-group__title { color: #6b5b8c; }
.audit-fp-empty {
  margin: 0;
  padding: 0.65rem 0.85rem;
  border-radius: 0.55rem;
  background: rgba(148, 163, 184, 0.08);
  font-size: 0.82rem;
  line-height: 1.45;
}
.audit-footprint-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  align-items: stretch;
}
@media (max-width: 900px) {
  .audit-footprint-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .audit-footprint-grid { grid-template-columns: 1fr; }
}
.audit-fp-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  box-sizing: border-box;
  width: 100%;
  height: 6.75rem;
  min-height: 6.75rem;
  max-height: 6.75rem;
  padding: 0.7rem 0.8rem 0.65rem 1rem;
  border-radius: 0.55rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
}
.audit-fp-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  bottom: 0.55rem;
  width: 2px;
  border-radius: 0;
  background: #94a3b8;
}
.audit-fp-card--maps::before { background: #5b8fc7; }
.audit-fp-card--dirs::before { background: #7a8f75; }
.audit-fp-card--news::before { background: #c4a35a; }
.audit-fp-card--social::before { background: #8b7aad; }
.audit-fp-card--site::before { background: #7a8799; }
.audit-fp-card--other::before { background: #94a3b8; }
.audit-fp-card--check {
  background: #ffffff;
  border-style: dashed;
}
.audit-fp-badge--check {
  background: transparent;
  color: #9a7b2f;
  padding: 0;
}
.audit-fp-badge--found {
  background: transparent;
  color: #5f705b;
  padding: 0;
}
.audit-fp-card__link {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  text-decoration: none;
  color: inherit;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.audit-fp-card__link:hover .audit-fp-card__name { color: #334155; text-decoration: underline; }
.audit-fp-card__platform {
  font-size: 0.68rem;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #94a3b8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.audit-fp-card__name {
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.3;
  color: #0f172a;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.audit-fp-card__static {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.audit-fp-card__foot {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  align-items: center;
  margin-top: auto;
  min-height: 1.1rem;
  max-width: 100%;
  overflow: hidden;
}
.audit-fp-card__meta {
  flex-shrink: 0;
  font-size: 0.72rem;
  color: #94a3b8;
}
.audit-fp-badge {
  flex-shrink: 1;
  font-size: 0.72rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.audit-fp-badge--more { background: transparent; color: #94a3b8; }
.audit-fp-badge--in-passport {
  flex-shrink: 0;
  background: transparent;
  color: #3b6ea5;
}
.audit-fp-add-form {
  display: inline;
  margin: 0;
  flex-shrink: 0;
}
.audit-fp-add-btn {
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #5f705b;
  font-size: 0.72rem;
  font-weight: 500;
  white-space: nowrap;
}
.audit-fp-add-btn:hover { color: #0f172a; text-decoration: underline; }

/* Подробно по источникам */
.audit-sources-section { padding: 1rem 1.15rem; }
.audit-sources-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  gap: 0.75rem;
  margin-top: 0.65rem;
}
.audit-src-card {
  padding: 0.85rem 1rem;
  border-radius: 0.7rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.55);
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.audit-src-card--fail {
  opacity: 0.82;
  border-style: dashed;
  background: rgba(248, 250, 252, 0.8);
}
.audit-src-card__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}
.audit-src-card__title { margin: 0; font-size: 0.95rem; font-weight: 700; }
.audit-src-card__badge {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  white-space: nowrap;
}
.audit-src-card__badge--ok { background: rgba(111, 127, 106, 0.18); color: #3d4f3a; }
.audit-src-card__badge--off { background: rgba(148, 163, 184, 0.15); color: #64748b; }
.audit-src-card__query { margin: 0; font-size: 0.75rem; line-height: 1.35; }
.audit-src-card__summary {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--text-secondary, #475569);
}
.audit-src-facts { margin: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.audit-src-facts__row {
  display: grid;
  grid-template-columns: 4.8rem 1fr;
  gap: 0.45rem;
  font-size: 0.82rem;
  align-items: start;
}
.audit-src-facts__row dt {
  margin: 0;
  font-weight: 600;
  color: var(--text-secondary, #64748b);
  font-size: 0.75rem;
}
.audit-src-facts__row dd { margin: 0; line-height: 1.35; word-break: break-word; }
.audit-tag-block { display: flex; flex-direction: column; gap: 0.3rem; }
.audit-tag-block__label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-secondary, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.audit-tag-row { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.audit-tag {
  font-size: 0.75rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  line-height: 1.25;
  max-width: 100%;
}
.audit-tag + .audit-tag::before {
  content: "·";
  margin: 0 0.35rem 0 0;
  color: #cbd5e1;
}
.audit-tag--price { background: transparent; color: #5f705b; }
.audit-tag--more {
  background: transparent;
  border: 1px dashed rgba(148, 163, 184, 0.45);
  color: #475569;
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  padding: 0.2rem 0.45rem;
  border-radius: 0.35rem;
  line-height: 1.25;
}
.audit-tag--more:hover {
  border-color: rgba(59, 130, 246, 0.55);
  color: #1d4ed8;
  background: rgba(59, 130, 246, 0.06);
}
.audit-tag--more[aria-expanded="true"] {
  border-style: solid;
  border-color: rgba(59, 130, 246, 0.35);
  color: #1d4ed8;
}

.audit-footprint-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.audit-footprint-item {
  display: flex; flex-direction: column; gap: 0.15rem;
  padding: 0.55rem 0.75rem; border-radius: 0.55rem;
  background: rgba(59, 130, 246, 0.08); border: 1px solid rgba(59, 130, 246, 0.15);
  min-width: 11rem;
}
.audit-footprint-item__link {
  display: flex; flex-direction: column; gap: 0.1rem;
  text-decoration: none; color: inherit;
}
.audit-footprint-item__link:hover .audit-footprint-item__name { text-decoration: underline; color: #1d4ed8; }
.audit-footprint-item__url {
  font-size: 0.72rem; color: #3b82f6; word-break: break-all;
  opacity: 0.9;
}
.audit-how-card { padding: 1rem 1.15rem; background: rgba(59, 130, 246, 0.06); border-left: 4px solid #3b82f6; }
.audit-how-line { margin: 0.35rem 0; line-height: 1.45; }
.audit-failed-card { border-left: 0; padding: 1rem 1.15rem; }
.audit-failed-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.audit-failed-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.55rem 0;
  border-radius: 0;
  background: transparent;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}
.audit-failed-item:first-child { border-top: 0; padding-top: 0; }
.audit-footprint-item__name { font-weight: 600; font-size: 0.9rem; }
.audit-footprint-item__meta { font-size: 0.78rem; color: var(--text-secondary, #64748b); }
.audit-details-block { padding: 0.85rem 1.1rem; }
.audit-details-block__summary { cursor: pointer; list-style: none; }
.audit-details-block__summary::-webkit-details-marker { display: none; }
.audit-source-card--nested { margin-top: 0.85rem; padding-top: 0.85rem; border-top: 1px solid rgba(148,163,184,0.2); }
.audit-source-card__title { margin: 0 0 0.45rem; font-size: 0.95rem; }
.audit-facts-dl { margin: 0.5rem 0 0; display: grid; gap: 0.35rem; }
.audit-facts-dl div { display: grid; grid-template-columns: 6.5rem 1fr; gap: 0.5rem; font-size: 0.88rem; }
.audit-facts-dl dt { font-weight: 600; color: var(--text-secondary, #64748b); }
.audit-facts-dl dd { margin: 0; }
.audit-model-grid--compact { margin-top: 0.75rem; }
.audit-score-detail { display: flex; flex-direction: column; gap: 0.2rem; }
.audit-score-detail__formula { margin: 0.35rem 0 0; font-size: 0.88rem; }
.audit-method-note {
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.85rem;
  border-radius: 0.5rem;
  background: rgba(148, 163, 184, 0.12);
  font-size: 0.88rem;
}
.audit-models-line { margin: 0.5rem 0 0; }
.audit-kv-label { font-weight: 600; color: var(--text-secondary, #475569); }
.audit-page-read .audit-excerpt {
  margin: 0.5rem 0 0;
  padding: 0.75rem;
  border-radius: 0.5rem;
  background: rgba(15, 23, 42, 0.04);
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 0.82rem;
  max-height: 220px;
  overflow: auto;
}
.audit-model-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.85rem;
  margin-top: 0.75rem;
}
.audit-model-card {
  padding: 0.85rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.5);
}
.audit-model-card--fail { opacity: 0.72; border-style: dashed; }
.audit-model-card__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}
.audit-model-card__status {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-secondary, #64748b);
}
.audit-model-card__msg { margin: 0 0 0.5rem; }
.audit-model-card__quote {
  margin: 0 0 0.5rem;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--text-primary, #1e293b);
}
.audit-check-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  font-size: 0.82rem;
}
.audit-check-list li.ok::before { content: "✓ "; color: #3d4f3a; }
.audit-check-list li.no::before { content: "✗ "; color: #9a3412; }
.audit-block__hint { margin-bottom: 0.5rem; }
.audit-overview-teaser a { text-decoration: underline; }
@media (max-width: 720px) {
  .audit-blocks { grid-template-columns: 1fr; }
  .audit-history-item__link { grid-template-columns: 1fr; gap: 0.25rem; }
  .audit-sources-grid { grid-template-columns: 1fr; }
  .audit-kpi-row { grid-template-columns: repeat(2, 1fr); }
  .audit-site-read-kpis { grid-template-columns: 1fr; }
  .audit-site-model-grid { grid-template-columns: 1fr; }
  .audit-footprint-grid { grid-template-columns: 1fr; }
  .audit-bar-row--model { grid-template-columns: 5.5rem 1fr 2rem; }
  .audit-hero-report__channels { grid-template-columns: 1fr; }
  .audit-radar { grid-template-columns: repeat(3, 1fr); }
  .audit-report-nav { top: 0; border-radius: 0.55rem; }
}

/* ── Brand mark container ── */
.brand-mark {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 0;
}
.brand-mark__svg {
  display: block;
  flex-shrink: 0;
}

/* Cabinet UX clarity — llms preview, kuznya status, collapsible blocks */
.prices-mechanics-note {
  margin: 0.75rem 0 1rem;
  padding: 0.85rem 1rem;
  border-left: 3px solid #6f7f6a;
}
.llms-preview {
  margin: 0.65rem 0 0;
  padding: 0.75rem 0.85rem;
  max-height: 16rem;
  overflow: auto;
  font-size: 0.72rem;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  background: rgba(15, 23, 42, 0.04);
  border-radius: 0.5rem;
  border: 1px solid rgba(148, 163, 184, 0.35);
}
/* Safari renders the native disclosure marker as a blue emoji on some phones.
   Keep every cabinet disclosure control in the same monochrome visual system. */
.cabinet-page details:not(.price-terms):not(.audit-collapsible):not(.danger-zone):not(.location-create) > summary {
  cursor: pointer;
  list-style: none;
}
.cabinet-page details:not(.price-terms):not(.audit-collapsible):not(.danger-zone):not(.location-create) > summary::-webkit-details-marker {
  display: none;
}
.cabinet-page details:not(.price-terms):not(.audit-collapsible):not(.danger-zone):not(.location-create) > summary::before {
  content: "";
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  margin: 0 0.58rem 0.08rem 0.12rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
  transform-origin: 60% 60%;
  transition: transform 0.15s ease;
}
.cabinet-page details:not(.price-terms):not(.audit-collapsible):not(.danger-zone):not(.location-create)[open] > summary::before {
  transform: rotate(45deg);
}
.links-forge-status--ok { color: #3d4f3a; font-weight: 600; }
.links-forge-status--warn { color: #9a3412; }
.links-forge-status--partial { color: #64748b; }
.links-forge-status--muted { color: #64748b; }
.overview-analytics-panel__body { margin-top: 0.75rem; }
.canon-for-ai-card { border-left: 3px solid #6f7f6a; }
.canon-for-ai-list { margin: 0.65rem 0; padding-left: 1.15rem; line-height: 1.5; }
.canon-for-ai-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.75rem 0 0.35rem; }
.canon-for-ai-note { margin: 0; font-size: 0.82rem; }

/* Landing v3 — product-led, editorial */
.landing-v3 .site-main {
  width: 100%;
  max-width: none;
  padding: 0;
  overflow: hidden;
}
.landing-v3 .site-footer {
  max-width: 76rem;
  margin: 0 auto;
  padding: 2.5rem 2rem 3rem;
}
.lp3-nav {
  width: min(100% - 3rem, 76rem);
  min-height: 5.25rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}
.lp3-nav__links {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2.4vw, 2rem);
  font-size: 0.82rem;
  font-weight: 600;
}
.lp3-nav__links > a:not(.btn) { color: #475569; }
.lp3-nav__links > a:hover { color: #0f172a; }
.lp3-nav__login {
  padding-left: clamp(1rem, 2vw, 1.75rem);
  border-left: 1px solid rgba(15, 23, 42, 0.14);
}
.lp3-nav .btn {
  height: 2.55rem;
  padding: 0 1.1rem;
}
.lp3 { color: #0f172a; }
.lp3-hero {
  width: min(100% - 3rem, 76rem);
  min-height: min(46rem, calc(100vh - 5.25rem));
  margin: 0 auto;
  padding: clamp(5rem, 10vw, 8.5rem) 0 4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.lp3-kicker,
.lp3-label {
  margin: 0 0 1.25rem;
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #64748b;
}
.lp3-kicker {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.lp3-kicker span {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #6f7f6a;
  box-shadow: 0 0 0 0.3rem rgba(111, 127, 106, 0.13);
}
.lp3-hero h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(3.4rem, 8.2vw, 7.8rem);
  line-height: 0.91;
  letter-spacing: -0.075em;
  font-weight: 680;
}
.lp3-hero h1 em {
  color: #6f7f6a;
  font-style: normal;
}
.lp3-hero__lead {
  max-width: 42rem;
  margin: 2.25rem 0 0;
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  line-height: 1.5;
  letter-spacing: -0.015em;
  color: #475569;
}
.lp3-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 2rem;
}
.lp3-btn-main {
  min-height: 3.35rem;
  padding: 0 1.5rem;
  border-radius: 999px;
}
.lp3-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.28);
  color: #0f172a;
  font-size: 0.88rem;
  font-weight: 650;
}
.lp3-text-link span { transition: transform 0.2s ease; }
.lp3-text-link:hover span { transform: translate(0.15rem, -0.15rem); }
.lp3-proof {
  width: 100%;
  margin-top: auto;
  padding-top: 4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 2rem;
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.lp3-proof span::before {
  content: "✓";
  margin-right: 0.55rem;
  color: #6f7f6a;
}
.lp3-shift,
.lp3-product,
.lp3-problem,
.lp3-how {
  width: min(100% - 3rem, 76rem);
  margin: 0 auto;
  padding: clamp(5rem, 9vw, 8rem) 0;
  border-top: 1px solid rgba(15, 23, 42, 0.1);
}
.lp3-section-head {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: start;
  margin-bottom: 3rem;
}
.lp3-number {
  padding-top: 0.3rem;
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  color: #94a3b8;
}
.lp3-section-head .lp3-label { margin-bottom: 0.75rem; }
.lp3-section-head h2,
.lp3-machine h2,
.lp3-final h2 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  line-height: 0.98;
  font-weight: 650;
  letter-spacing: -0.06em;
}
.lp3-section-head p:last-child {
  max-width: 34rem;
  margin: 1rem 0 0;
  font-size: 1.05rem;
  color: #64748b;
}
.lp3-arrow-link {
  margin-top: 1.9rem;
  font-size: 0.82rem;
  font-weight: 650;
  white-space: nowrap;
}
.lp3-shift__grid {
  display: grid;
  grid-template-columns: minmax(16rem, 0.72fr) minmax(32rem, 1.28fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: stretch;
}
.lp3-shift__evidence {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.lp3-shift__evidence article {
  padding: 1.5rem 0;
  border-top: 1px solid rgba(15, 23, 42, 0.14);
}
.lp3-shift__evidence article:first-child { padding-top: 0; border-top: 0; }
.lp3-shift__evidence strong {
  display: block;
  color: #3d4f3a;
  font-size: clamp(2.8rem, 5.5vw, 5rem);
  line-height: 0.9;
  letter-spacing: -0.07em;
}
.lp3-shift__evidence strong small {
  font-size: 0.28em;
  font-weight: 650;
  letter-spacing: -0.025em;
  color: #64748b;
}
.lp3-shift__evidence article p {
  max-width: 27rem;
  margin: 1rem 0 0;
  color: #475569;
  font-size: 0.88rem;
  line-height: 1.55;
}
.lp3-source-note {
  margin: auto 0 0;
  padding-top: 1rem;
  color: #94a3b8;
  font-size: 0.65rem;
  line-height: 1.55;
}
.lp3-source-note a {
  color: #64748b;
  text-decoration: underline;
  text-decoration-color: rgba(100, 116, 139, 0.35);
  text-underline-offset: 0.15rem;
}
.lp3-flow {
  position: relative;
  min-height: 35rem;
  padding: clamp(1rem, 2vw, 1.5rem);
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 1.8rem;
  background:
    radial-gradient(circle at 72% 32%, rgba(111, 127, 106, 0.2), transparent 31%),
    linear-gradient(145deg, #f8f8f5 0%, #edf1eb 100%);
  box-shadow: 0 2.4rem 7rem rgba(15, 23, 42, 0.11);
}
.lp3-flow::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.34;
  background-image:
    linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px);
  background-size: 2.5rem 2.5rem;
  mask-image: linear-gradient(to bottom, #000, transparent 82%);
}
.lp3-flow__query {
  position: relative;
  z-index: 2;
  padding: 1rem 1.15rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 0.8rem 2rem rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(14px);
}
.lp3-flow__query span {
  flex: 0 0 auto;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  background: #0f172a;
  color: #fff;
  font-size: 0.59rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.lp3-flow__query strong {
  font-size: clamp(0.78rem, 1.3vw, 0.96rem);
  letter-spacing: -0.015em;
}
.lp3-flow__stage {
  position: relative;
  z-index: 1;
  min-height: 26rem;
}
.lp3-flow__sources {
  position: absolute;
  left: 0.5rem;
  top: 5.5rem;
  width: 10.5rem;
  display: grid;
  gap: 0.45rem;
}
.lp3-flow__sources span {
  padding: 0.65rem 0.75rem;
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 0.7rem;
  color: #64748b;
  background: rgba(255, 255, 255, 0.6);
  font-size: 0.65rem;
  font-weight: 700;
}
.lp3-flow__sources i {
  color: #a3aab3;
  font-style: normal;
  font-weight: 500;
}
.lp3-flow__passport {
  position: absolute;
  left: 1.5rem;
  bottom: 0.2rem;
  width: 13.5rem;
  padding: 1rem;
  border: 1px solid rgba(111, 127, 106, 0.34);
  border-radius: 0.9rem;
  color: #273526;
  background: rgba(244, 248, 242, 0.94);
  box-shadow: 0 1.2rem 3rem rgba(61, 79, 58, 0.12);
}
.lp3-flow__passport small,
.lp3-flow__passport strong,
.lp3-flow__passport span { display: block; }
.lp3-flow__passport small {
  margin-bottom: 0.45rem;
  color: #6f7f6a;
  font-size: 0.57rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.lp3-flow__passport strong { font-size: 1.12rem; letter-spacing: -0.035em; }
.lp3-flow__passport span { margin-top: 0.35rem; color: #64748b; font-size: 0.58rem; }
.lp3-flow__core {
  position: absolute;
  left: 45%;
  top: 8rem;
  width: 7.2rem;
  height: 7.2rem;
  display: grid;
  place-content: center;
  text-align: center;
  border: 1px solid rgba(111, 127, 106, 0.35);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  box-shadow:
    0 0 0 0.75rem rgba(111, 127, 106, 0.08),
    0 1.2rem 3rem rgba(15, 23, 42, 0.12);
}
.lp3-flow__core > i {
  position: absolute;
  inset: -0.45rem;
  border: 1px solid rgba(111, 127, 106, 0.24);
  border-radius: 50%;
  animation: lp3-core-pulse 2.8s ease-out infinite;
}
.lp3-flow__core strong {
  color: #3d4f3a;
  font-size: 1.65rem;
  letter-spacing: -0.06em;
}
.lp3-flow__core small { margin-top: 0.15rem; color: #64748b; font-size: 0.56rem; }
.lp3-flow__answer {
  position: absolute;
  right: 0.5rem;
  top: 5.25rem;
  width: min(15.5rem, 34%);
  padding: 1.15rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 1.4rem 3.5rem rgba(15, 23, 42, 0.12);
  animation: lp3-answer-float 5s ease-in-out infinite;
}
.lp3-flow__answer small {
  color: #6f7f6a;
  font-size: 0.57rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.lp3-flow__answer strong {
  display: block;
  margin-top: 0.7rem;
  font-size: 1rem;
  letter-spacing: -0.03em;
}
.lp3-flow__answer p {
  margin: 0.45rem 0 1rem;
  color: #64748b;
  font-size: 0.62rem;
  line-height: 1.5;
}
.lp3-flow__answer span { color: #0f172a; font-size: 0.62rem; font-weight: 750; }
.lp3-flow__beam {
  position: absolute;
  z-index: -1;
  height: 1px;
  overflow: visible;
  background: linear-gradient(90deg, rgba(111, 127, 106, 0.14), rgba(111, 127, 106, 0.75));
  transform-origin: left center;
}
.lp3-flow__beam i {
  position: absolute;
  top: -0.18rem;
  left: 0;
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 50%;
  background: #6f7f6a;
  box-shadow: 0 0 0.8rem rgba(111, 127, 106, 0.75);
  animation: lp3-signal 2.4s linear infinite;
}
.lp3-flow__beam--sources { left: 29%; top: 11.5rem; width: 18%; }
.lp3-flow__beam--passport {
  left: 28%;
  bottom: 4.2rem;
  width: 23%;
  transform: rotate(-32deg);
}
.lp3-flow__beam--passport i { animation-delay: -0.8s; }
.lp3-flow__beam--answer { left: 57%; top: 11.5rem; width: 17%; }
.lp3-flow__beam--answer i { animation-delay: -1.5s; }
.lp3-flow__caption {
  position: relative;
  z-index: 2;
  margin: 0.4rem 0 0;
  padding: 0.8rem 0.2rem 0;
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  color: #64748b;
  font-size: 0.63rem;
  line-height: 1.45;
}
.lp3-flow__caption span {
  width: 0.45rem;
  height: 0.45rem;
  margin-top: 0.2rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #6f7f6a;
  box-shadow: 0 0 0 0.25rem rgba(111, 127, 106, 0.12);
}
@keyframes lp3-signal {
  from { left: 0; opacity: 0; }
  12%, 88% { opacity: 1; }
  to { left: calc(100% - 0.38rem); opacity: 0; }
}
@keyframes lp3-core-pulse {
  0% { transform: scale(0.92); opacity: 0; }
  35% { opacity: 1; }
  100% { transform: scale(1.25); opacity: 0; }
}
@keyframes lp3-answer-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-0.35rem); }
}
.lp3-cosmos {
  position: relative;
  min-height: 39rem;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 2rem;
  color: #f8fafc;
  background:
    radial-gradient(circle at 50% 45%, rgba(98, 126, 91, 0.28), transparent 25%),
    radial-gradient(circle at 18% 10%, rgba(64, 83, 111, 0.2), transparent 35%),
    linear-gradient(145deg, #101722, #06090e 68%, #0c1412);
  box-shadow:
    0 3rem 8rem rgba(15, 23, 42, 0.24),
    inset 0 1px rgba(255, 255, 255, 0.08);
}
.lp3-cosmos::before {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow:
    inset 0 0 5rem rgba(0, 0, 0, 0.62),
    inset 0 0 0 1px rgba(255, 255, 255, 0.035);
}
.lp3-cosmos__canvas {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
}
.lp3-cosmos__shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(5, 8, 13, 0.66) 0%, transparent 24%, transparent 70%, rgba(5, 8, 13, 0.78) 100%),
    radial-gradient(circle at 50% 44%, transparent 0 18%, rgba(5, 8, 13, 0.08) 42%, rgba(5, 8, 13, 0.4) 100%);
}
.lp3-cosmos__query {
  position: absolute;
  z-index: 5;
  top: 1.25rem;
  left: 1.25rem;
  right: 1.25rem;
  min-height: 4.5rem;
  padding: 0.9rem 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 1rem;
  background: rgba(10, 16, 24, 0.62);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(18px) saturate(130%);
}
.lp3-cosmos__query small {
  flex: 0 0 auto;
  padding: 0.35rem 0.55rem;
  border: 1px solid rgba(171, 197, 163, 0.24);
  border-radius: 999px;
  color: #b7c8b2;
  font-size: 0.54rem;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.lp3-cosmos__query strong {
  max-width: 31rem;
  color: rgba(248, 250, 252, 0.9);
  font-size: clamp(0.72rem, 1.3vw, 0.9rem);
  line-height: 1.4;
  letter-spacing: -0.015em;
}
.lp3-cosmos__core-label {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 45%;
  width: 12rem;
  text-align: center;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 0 1.5rem rgba(172, 201, 163, 0.24));
  pointer-events: none;
}
.lp3-cosmos__core-label small,
.lp3-cosmos__core-label strong,
.lp3-cosmos__core-label i { display: block; }
.lp3-cosmos__core-label small {
  margin-bottom: 0.5rem;
  color: rgba(201, 217, 197, 0.72);
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.lp3-cosmos__core-label strong {
  color: #f8fafc;
  font-size: clamp(1.1rem, 2.25vw, 1.65rem);
  line-height: 1;
  letter-spacing: -0.06em;
}
.lp3-cosmos__core-label strong span { color: #9fb49a; }
.lp3-cosmos__core-label i {
  width: max-content;
  margin: 0.65rem auto 0;
  padding: 0.28rem 0.5rem;
  border: 1px solid rgba(173, 202, 164, 0.2);
  border-radius: 999px;
  color: #b7c8b2;
  background: rgba(10, 20, 16, 0.46);
  font-size: 0.48rem;
  font-style: normal;
  letter-spacing: 0.08em;
}
.lp3-cosmos__answer {
  position: absolute;
  z-index: 5;
  right: 1.25rem;
  bottom: 4.4rem;
  width: min(16.5rem, 42%);
  padding: 1.15rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.05rem;
  background:
    linear-gradient(135deg, rgba(28, 41, 36, 0.9), rgba(12, 18, 25, 0.88));
  box-shadow:
    0 1.5rem 4rem rgba(0, 0, 0, 0.4),
    inset 0 1px rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(20px) saturate(130%);
  animation: lp3-cosmos-float 6s ease-in-out infinite;
}
.lp3-cosmos__answer::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.38;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.11) 48%, transparent 72%);
  transform: translateX(-100%);
  animation: lp3-cosmos-shine 7s ease-in-out infinite;
}
.lp3-cosmos__answer > div {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.lp3-cosmos__answer > div i {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: #9bb594;
  box-shadow: 0 0 0.8rem #83a27c;
}
.lp3-cosmos__answer small {
  color: #a9bda4;
  font-size: 0.52rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.lp3-cosmos__answer strong {
  display: block;
  margin-top: 0.8rem;
  font-size: 1.05rem;
  letter-spacing: -0.035em;
}
.lp3-cosmos__answer p {
  margin: 0.45rem 0 0.9rem;
  color: rgba(226, 232, 240, 0.62);
  font-size: 0.61rem;
  line-height: 1.5;
}
.lp3-cosmos__answer > span {
  color: rgba(248, 250, 252, 0.9);
  font-size: 0.61rem;
  font-weight: 700;
}
.lp3-cosmos__telemetry {
  position: absolute;
  z-index: 5;
  left: 1.25rem;
  bottom: 4.6rem;
  display: grid;
  gap: 0.45rem;
}
.lp3-cosmos__telemetry span {
  width: max-content;
  padding: 0.32rem 0.5rem;
  border-left: 1px solid rgba(170, 199, 162, 0.42);
  color: rgba(203, 213, 225, 0.52);
  background: linear-gradient(90deg, rgba(111, 127, 106, 0.1), transparent);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.48rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.lp3-cosmos__caption {
  position: absolute;
  z-index: 5;
  left: 1.25rem;
  right: 1.25rem;
  bottom: 1.2rem;
  margin: 0;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  color: rgba(203, 213, 225, 0.46);
  font-size: 0.57rem;
  line-height: 1.45;
}
@keyframes lp3-cosmos-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -0.45rem, 0); }
}
@keyframes lp3-cosmos-shine {
  0%, 58% { transform: translateX(-110%); }
  78%, 100% { transform: translateX(110%); }
}
.lp3-live-demo {
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.13);
  border-radius: 1.6rem;
  background: #f4f5f2;
  box-shadow:
    0 2.8rem 7rem rgba(15, 23, 42, 0.16),
    inset 0 1px #fff;
}
.lp3-live-demo__bar {
  min-height: 3.5rem;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.09);
  background: rgba(255, 255, 255, 0.86);
}
.lp3-live-demo__bar > div { display: flex; gap: 0.35rem; }
.lp3-live-demo__bar > div i {
  width: 0.52rem;
  height: 0.52rem;
  border-radius: 50%;
  background: #cbd0ca;
}
.lp3-live-demo__bar > div i:first-child { background: #8fa08a; }
.lp3-live-demo__bar span {
  color: #475569;
  font-size: 0.61rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.lp3-live-demo__bar small {
  justify-self: end;
  color: #94a3b8;
  font-size: 0.56rem;
}
.lp3-live-demo__body {
  min-height: 30.5rem;
  padding: 1.1rem;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(13rem, 0.85fr);
  gap: 0.85rem;
}
.lp3-live-demo__conversation,
.lp3-live-demo__passport {
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 1.1rem;
}
.lp3-live-demo__conversation {
  padding: clamp(1.25rem, 2.4vw, 2rem);
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 5% 0%, rgba(111, 127, 106, 0.09), transparent 32%),
    #eef0ec;
}
.lp3-live-demo__question {
  max-width: 24rem;
  margin-left: auto;
  padding: 0.9rem 1rem;
  border-radius: 1rem 1rem 0.25rem 1rem;
  color: #f8fafc;
  background: #111927;
  box-shadow: 0 0.8rem 2rem rgba(15, 23, 42, 0.14);
}
.lp3-live-demo__question small {
  display: block;
  margin-bottom: 0.4rem;
  color: #aab9a6;
  font-size: 0.5rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.lp3-live-demo__question p {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.45;
}
.lp3-live-demo__thinking {
  min-height: 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.28rem;
  color: #64748b;
  font-size: 0.58rem;
}
.lp3-live-demo__thinking i {
  width: 0.32rem;
  height: 0.32rem;
  border-radius: 50%;
  background: #7f927a;
}
.lp3-live-demo__thinking span { margin-left: 0.35rem; }
.lp3-live-demo__result {
  margin-top: auto;
  padding: clamp(1.15rem, 2.2vw, 1.65rem);
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 1.25rem 3rem rgba(15, 23, 42, 0.08);
}
.lp3-live-demo__result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.lp3-live-demo__result-head span {
  color: #64748b;
  font-size: 0.54rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.lp3-live-demo__result-head small {
  padding: 0.3rem 0.5rem;
  border-radius: 999px;
  color: #52654e;
  background: #e8eee5;
  font-size: 0.5rem;
  font-weight: 700;
}
.lp3-live-demo__result h3 {
  margin: 1.1rem 0 0.45rem;
  font-size: clamp(1.2rem, 2.5vw, 1.75rem);
  letter-spacing: -0.045em;
}
.lp3-live-demo__result > p {
  margin: 0;
  color: #64748b;
  font-size: 0.68rem;
  line-height: 1.55;
}
.lp3-live-demo__facts {
  margin: 1rem 0;
  display: grid;
  gap: 0.5rem;
}
.lp3-live-demo__facts span {
  color: #334155;
  font-size: 0.65rem;
  font-weight: 650;
}
.lp3-live-demo__facts i {
  width: 1rem;
  height: 1rem;
  margin-right: 0.35rem;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #6f7f6a;
  font-size: 0.54rem;
  font-style: normal;
}
.lp3-live-demo__result > a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #0f172a;
  font-size: 0.65rem;
  font-weight: 750;
}
.lp3-live-demo__result > a b { transition: transform 0.2s ease; }
.lp3-live-demo__result > a:hover b { transform: translateX(0.2rem); }
.lp3-live-demo__passport {
  padding: clamp(1.15rem, 2.2vw, 1.6rem);
  display: flex;
  flex-direction: column;
  color: #e9eee7;
  background:
    radial-gradient(circle at 100% 0%, rgba(151, 178, 143, 0.18), transparent 35%),
    linear-gradient(150deg, #27332a, #121a19 72%);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
}
.lp3-live-demo__passport-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.lp3-live-demo__passport-top span {
  font-size: 0.6rem;
  font-weight: 750;
  letter-spacing: -0.02em;
}
.lp3-live-demo__passport-top i {
  color: #9fb49a;
  font-size: 0.46rem;
  font-style: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.lp3-live-demo__identity { padding: 1.5rem 0 1.2rem; }
.lp3-live-demo__identity small,
.lp3-live-demo__identity strong,
.lp3-live-demo__identity span { display: block; }
.lp3-live-demo__identity small {
  color: #95aa90;
  font-size: 0.49rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.lp3-live-demo__identity strong {
  margin-top: 0.55rem;
  font-size: clamp(1.05rem, 2vw, 1.4rem);
  letter-spacing: -0.04em;
}
.lp3-live-demo__identity span {
  margin-top: 0.3rem;
  color: rgba(226, 232, 240, 0.58);
  font-size: 0.58rem;
}
.lp3-live-demo__passport dl { margin: 0; }
.lp3-live-demo__passport dl > div {
  padding: 0.72rem 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
}
.lp3-live-demo__passport dt {
  color: rgba(226, 232, 240, 0.52);
  font-size: 0.55rem;
}
.lp3-live-demo__passport dd {
  margin: 0;
  color: #f1f5f9;
  font-size: 0.57rem;
  font-weight: 700;
  text-align: right;
}
.lp3-live-demo__verified {
  margin-top: auto;
  padding-top: 1rem;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.lp3-live-demo__verified > i {
  width: 1.65rem;
  height: 1.65rem;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid rgba(171, 204, 162, 0.3);
  border-radius: 50%;
  color: #dbe8d7;
  background: rgba(137, 167, 129, 0.16);
  font-size: 0.65rem;
  font-style: normal;
}
.lp3-live-demo__verified strong,
.lp3-live-demo__verified small { display: block; }
.lp3-live-demo__verified strong { font-size: 0.57rem; }
.lp3-live-demo__verified small {
  margin-top: 0.2rem;
  color: rgba(226, 232, 240, 0.46);
  font-size: 0.48rem;
}
.lp3-live-demo__route {
  min-height: 3.25rem;
  padding: 0 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  color: #94a3b8;
  background: rgba(255, 255, 255, 0.72);
}
.lp3-live-demo__route span {
  font-size: 0.5rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.lp3-live-demo__route span.is-active { color: #52654e; }
.lp3-live-demo__route i {
  width: clamp(1rem, 4vw, 3.5rem);
  height: 1px;
  overflow: hidden;
  background: #d6dbd4;
}
.lp3-live-demo.is-ready:not(.is-playing) .lp3-live-demo__thinking,
.lp3-live-demo.is-ready:not(.is-playing) .lp3-live-demo__result {
  opacity: 0;
  transform: translateY(0.75rem);
}
.lp3-live-demo.is-ready:not(.is-playing) .lp3-live-demo__passport dl > div,
.lp3-live-demo.is-ready:not(.is-playing) .lp3-live-demo__verified {
  opacity: 0.25;
}
.lp3-live-demo.is-playing .lp3-live-demo__thinking {
  animation: lp3-demo-in 0.45s 0.45s both;
}
.lp3-live-demo.is-playing .lp3-live-demo__thinking i {
  animation: lp3-demo-dot 0.9s infinite alternate;
}
.lp3-live-demo.is-playing .lp3-live-demo__thinking i:nth-child(2) { animation-delay: 0.14s; }
.lp3-live-demo.is-playing .lp3-live-demo__thinking i:nth-child(3) { animation-delay: 0.28s; }
.lp3-live-demo.is-playing .lp3-live-demo__passport dl > div {
  animation: lp3-demo-field 0.5s both;
}
.lp3-live-demo.is-playing .lp3-live-demo__passport dl > div:nth-child(1) { animation-delay: 0.85s; }
.lp3-live-demo.is-playing .lp3-live-demo__passport dl > div:nth-child(2) { animation-delay: 1.05s; }
.lp3-live-demo.is-playing .lp3-live-demo__passport dl > div:nth-child(3) { animation-delay: 1.25s; }
.lp3-live-demo.is-playing .lp3-live-demo__passport dl > div:nth-child(4) { animation-delay: 1.45s; }
.lp3-live-demo.is-playing .lp3-live-demo__verified { animation: lp3-demo-field 0.5s 1.65s both; }
.lp3-live-demo.is-playing .lp3-live-demo__result { animation: lp3-demo-in 0.65s 1.85s both; }
.lp3-live-demo.is-playing .lp3-live-demo__facts span { animation: lp3-demo-fact 0.4s both; }
.lp3-live-demo.is-playing .lp3-live-demo__facts span:nth-child(1) { animation-delay: 2.25s; }
.lp3-live-demo.is-playing .lp3-live-demo__facts span:nth-child(2) { animation-delay: 2.42s; }
.lp3-live-demo.is-playing .lp3-live-demo__facts span:nth-child(3) { animation-delay: 2.59s; }
@keyframes lp3-demo-in {
  from { opacity: 0; transform: translateY(0.75rem) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes lp3-demo-field {
  from { opacity: 0.25; filter: blur(0.25rem); }
  to { opacity: 1; filter: blur(0); }
}
@keyframes lp3-demo-fact {
  from { opacity: 0; transform: translateX(-0.4rem); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes lp3-demo-dot {
  from { opacity: 0.25; transform: translateY(0); }
  to { opacity: 1; transform: translateY(-0.15rem); }
}
.lp3-browser {
  display: block;
  border: 1px solid rgba(15, 23, 42, 0.13);
  border-radius: 1.4rem;
  overflow: hidden;
  color: #0f172a;
  background: #fff;
  box-shadow: 0 2rem 6rem rgba(15, 23, 42, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.lp3-browser:hover {
  color: #0f172a;
  transform: translateY(-0.35rem);
  box-shadow: 0 2.5rem 7rem rgba(15, 23, 42, 0.14);
}
.lp3-browser__bar {
  min-height: 3.4rem;
  padding: 0 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.09);
  background: #f8fafc;
}
.lp3-browser__bar i {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #cbd5e1;
}
.lp3-browser__bar code {
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #94a3b8;
  font-size: 0.68rem;
}
.lp3-browser__content { padding: clamp(1.5rem, 4vw, 3.5rem); }
.lp3-passport-head > p {
  margin: 0 0 0.65rem;
  font-size: 0.66rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #64748b;
}
.lp3-passport-head h3 {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.5rem);
  letter-spacing: -0.045em;
}
.lp3-passport-head > span {
  display: block;
  margin-top: 0.5rem;
  color: #64748b;
}
.lp3-passport-head > div {
  display: flex;
  gap: 0.7rem;
  margin-top: 1.5rem;
}
.lp3-passport-head b,
.lp3-passport-head small {
  padding: 0.65rem 1rem;
  border-radius: 999px;
  font-size: 0.75rem;
}
.lp3-passport-head b { background: #0f172a; color: #fff; }
.lp3-passport-head small { border: 1px solid #cbd5e1; }
.lp3-passport-status {
  margin: 2rem 0 0;
  padding: 1rem 0;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  border-top: 1px solid #e2e8f0;
}
.lp3-passport-status > span {
  width: 1.8rem;
  height: 1.8rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #0f172a;
  color: #fff;
}
.lp3-passport-status strong,
.lp3-passport-status small { display: block; }
.lp3-passport-status small { margin-top: 0.15rem; color: #64748b; }
.lp3-passport-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8rem;
}
.lp3-passport-grid article {
  min-height: 9rem;
  padding: 1.2rem;
  display: flex;
  flex-direction: column;
  border: 1px solid #e2e8f0;
  border-radius: 0.9rem;
}
.lp3-passport-grid small {
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-size: 0.6rem;
}
.lp3-passport-grid strong { margin-top: auto; font-size: 1rem; }
.lp3-passport-grid span { margin-top: 0.3rem; color: #64748b; font-size: 0.76rem; }
.lp3-compare {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  gap: 1.2rem;
}
.lp3-compare article {
  min-height: 18rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  display: flex;
  flex-direction: column;
  border-radius: 1.25rem;
}
.lp3-compare article > span {
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.lp3-compare h3 {
  max-width: 12ch;
  margin: 2.25rem 0 0.85rem;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1;
  letter-spacing: -0.045em;
}
.lp3-compare article > p {
  max-width: 28rem;
  margin: 0 0 1.5rem;
  color: #64748b;
  font-size: 0.88rem;
  line-height: 1.5;
}
.lp3-compare ul {
  margin: auto 0 0;
  padding: 1.25rem 0 0;
  border-top: 1px solid rgba(15, 23, 42, 0.12);
  list-style: none;
  color: #475569;
  line-height: 1.85;
}
.lp3-compare__before {
  border: 1px solid #d7dce2;
  color: #475569;
  background: #f7f5f0;
}
.lp3-compare__after {
  border: 1px solid rgba(111, 127, 106, 0.28);
  color: #3d4f3a;
  background:
    radial-gradient(circle at 90% 0%, rgba(111, 127, 106, 0.16), transparent 38%),
    #edf1eb;
}
.lp3-compare__mark {
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  color: #94a3b8;
}
.lp3-steps {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  border-top: 1px solid rgba(15, 23, 42, 0.16);
}
.lp3-steps li {
  min-height: 16rem;
  padding: 1.5rem 2rem 1.5rem 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(15, 23, 42, 0.12);
}
.lp3-steps li + li { padding-left: 2rem; }
.lp3-steps li:last-child { border-right: 0; }
.lp3-steps b {
  color: #94a3b8;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
}
.lp3-steps h3 {
  margin: auto 0 0.65rem;
  font-size: 1.6rem;
  letter-spacing: -0.04em;
}
.lp3-steps p {
  max-width: 17rem;
  margin: 0;
  color: #64748b;
  line-height: 1.5;
}
.lp3-machine {
  margin-top: 2rem;
  padding: clamp(4.5rem, 8vw, 6.5rem) max(1.5rem, calc((100vw - 76rem) / 2));
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(3rem, 8vw, 8rem);
  color: #0f172a;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  background:
    radial-gradient(circle at 8% 0%, rgba(111, 127, 106, 0.13), transparent 32%),
    #eef1ec;
}
.lp3-machine .lp3-label,
.lp3-machine .lp3-number { color: #6f7f6a; }
.lp3-machine__copy > p:last-child {
  max-width: 30rem;
  margin: 1.5rem 0 0;
  color: #64748b;
  font-size: 1rem;
  line-height: 1.6;
}
.lp3-formats {
  padding: 0 1.25rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.04);
}
.lp3-formats > div {
  min-height: 5.5rem;
  padding: 1.2rem 0;
  display: grid;
  grid-template-columns: 3rem 1fr auto;
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}
.lp3-formats span { color: #64748b; font-size: 0.68rem; }
.lp3-formats strong { font-size: 1rem; }
.lp3-formats small {
  max-width: 15rem;
  color: #64748b;
  text-align: right;
  line-height: 1.4;
}
.lp3-final {
  width: min(100% - 3rem, 76rem);
  min-height: 40rem;
  margin: 0 auto;
  padding: 7rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.lp3-final h2 { max-width: 14ch; font-size: clamp(3rem, 6.4vw, 6rem); }
.lp3-final > p:not(.lp3-label) {
  margin: 1.5rem 0 0;
  color: #64748b;
  font-size: 1.05rem;
}
.lp3-actions--center { justify-content: center; }
@media (max-width: 820px) {
  .lp3-nav { width: min(100% - 2rem, 76rem); }
  .lp3-nav__links > a:not(.btn):not(.lp3-nav__login) { display: none; }
  .lp3-nav__login { border: 0; padding-left: 0; }
  .lp3-hero,
  .lp3-shift,
  .lp3-product,
  .lp3-problem,
  .lp3-how,
  .lp3-final { width: min(100% - 2rem, 76rem); }
  .lp3-hero { min-height: 44rem; padding-top: 5rem; }
  .lp3-hero h1 { font-size: clamp(3rem, 15vw, 5rem); }
  .lp3-section-head { grid-template-columns: 2rem 1fr; }
  .lp3-shift__grid { grid-template-columns: 1fr; }
  .lp3-shift__evidence {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
  }
  .lp3-source-note { grid-column: 1 / -1; }
  .lp3-arrow-link { grid-column: 2; margin-top: 0; }
  .lp3-passport-grid { grid-template-columns: 1fr; }
  .lp3-passport-grid article { min-height: 7rem; }
  .lp3-compare { grid-template-columns: 1fr; }
  .lp3-compare__mark { transform: rotate(90deg); }
  .lp3-compare article { min-height: 18rem; }
  .lp3-steps { grid-template-columns: 1fr; }
  .lp3-steps li,
  .lp3-steps li + li {
    min-height: 11rem;
    padding: 1.25rem 0;
    border-right: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.12);
  }
  .lp3-machine { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .lp3-nav { min-height: 4.5rem; }
  .lp3-nav__links { gap: 0.75rem; }
  .lp3-nav__login { font-size: 0.78rem; }
  .lp3-nav .btn { height: 2.35rem; padding: 0 0.85rem; font-size: 0.75rem; }
  .lp3-hero { min-height: 40rem; }
  .lp3-hero__lead { font-size: 1rem; }
  .lp3-proof { display: grid; }
  .lp3-shift__evidence { grid-template-columns: 1fr; }
  .lp3-source-note { grid-column: auto; }
  .lp3-flow { min-height: 42rem; border-radius: 1.25rem; }
  .lp3-flow__query { align-items: flex-start; flex-direction: column; }
  .lp3-flow__stage { min-height: 33rem; }
  .lp3-flow__sources {
    left: 0;
    top: 1.5rem;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lp3-flow__sources span {
    min-width: 0;
    display: grid;
  }
  .lp3-flow__core { left: calc(50% - 3.6rem); top: 10rem; }
  .lp3-flow__passport { left: 0; bottom: 0; width: 48%; }
  .lp3-flow__answer { right: 0; top: auto; bottom: 0; width: 48%; }
  .lp3-flow__beam--sources {
    left: 50%;
    top: 7.1rem;
    width: 4rem;
    transform: rotate(90deg);
  }
  .lp3-flow__beam--passport {
    left: 28%;
    bottom: 8rem;
    width: 7rem;
    transform: rotate(-50deg);
  }
  .lp3-flow__beam--answer {
    left: 54%;
    top: auto;
    bottom: 8rem;
    width: 7rem;
    transform: rotate(50deg);
  }
  .lp3-cosmos {
    min-height: 43rem;
    border-radius: 1.3rem;
  }
  .lp3-cosmos__query {
    align-items: flex-start;
    flex-direction: column;
  }
  .lp3-cosmos__core-label { top: 43%; }
  .lp3-cosmos__telemetry {
    left: 1rem;
    bottom: 11.5rem;
  }
  .lp3-cosmos__answer {
    left: 1rem;
    right: 1rem;
    bottom: 4.6rem;
    width: auto;
  }
  .lp3-cosmos__caption {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
  }
  .lp3-live-demo__bar {
    grid-template-columns: 1fr auto;
  }
  .lp3-live-demo__bar > small { display: none; }
  .lp3-live-demo__body {
    grid-template-columns: 1fr;
  }
  .lp3-live-demo__passport { min-height: 27rem; }
  .lp3-live-demo__route {
    gap: 0.4rem;
    padding: 0 0.7rem;
  }
  .lp3-browser__bar code { max-width: 13rem; overflow: hidden; text-overflow: ellipsis; }
  .lp3-passport-head > div { flex-wrap: wrap; }
  .lp3-formats > div { grid-template-columns: 2rem 1fr; }
  .lp3-formats small { grid-column: 2; text-align: left; margin-top: -0.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .lp3-flow__core > i,
  .lp3-flow__answer,
  .lp3-flow__beam i {
    animation: none;
  }
  .lp3-cosmos__answer,
  .lp3-cosmos__answer::before {
    animation: none;
  }
}

/* Two honest passport examples */
.lp3-examples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.lp3-browser--example {
  display: block;
}
.lp3-browser--example:hover {
  transform: translateY(-0.25rem);
}
.lp3-browser--example .lp3-browser__content {
  padding: clamp(1.3rem, 2.6vw, 2.25rem);
}
.lp3-browser--example .lp3-passport-head h3 {
  font-size: clamp(1.45rem, 2.4vw, 2.05rem);
}
.lp3-example-type {
  margin-bottom: 1.8rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid #e2e8f0;
  color: #64748b;
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.lp3-example-facts {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.lp3-example-facts span {
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 0.66rem;
  font-weight: 600;
}
.lp3-example-price {
  margin-top: 1.5rem;
  border-top: 1px solid #e2e8f0;
}
.lp3-example-price p {
  margin: 0;
  padding: 0.8rem 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #e2e8f0;
  font-size: 0.78rem;
}
.lp3-example-price strong {
  font-weight: 600;
}
.lp3-example-price b {
  flex-shrink: 0;
  font-weight: 700;
}
.lp3-browser--example .lp3-passport-status {
  margin-top: 1.25rem;
  border-top: 0;
}
.lp3-browser--example .lp3-passport-status strong {
  font-size: 0.76rem;
}
.lp3-browser--example .lp3-passport-status small {
  font-size: 0.67rem;
  line-height: 1.35;
}
.lp3-demo-note {
  margin: 1rem 0 0;
  color: #94a3b8;
  font-size: 0.72rem;
}
@media (max-width: 820px) {
  .lp3-examples {
    grid-template-columns: 1fr;
  }
}

/* Registration onboarding */
.register-page .site-main {
  max-width: min(96vw, 68rem);
  padding-top: 0;
}
.register-nav {
  min-height: 5.25rem;
  margin-bottom: clamp(3rem, 6vw, 5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border-bottom: 1px solid var(--line);
}
.register-nav nav {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--muted);
  font-size: 0.82rem;
}
.register-nav nav > a:not(.btn) {
  color: var(--muted);
  font-weight: 650;
}
.register-nav nav > a:not(.btn):hover {
  color: var(--ink);
}
.register-nav .btn {
  height: 2.55rem;
  padding: 0 1.05rem;
}
.register-hero {
  max-width: 46rem;
}
.register-hero h1 {
  max-width: 14ch;
  font-size: clamp(2.4rem, 5.5vw, 4.5rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}
.register-hero .lead {
  max-width: 40rem;
  font-size: 1.05rem;
  line-height: 1.55;
}
.register-page .dashboard-form.glass-card {
  padding: clamp(1.25rem, 4vw, 3.25rem);
  border-radius: 1.25rem;
  box-shadow: none;
}
.register-step {
  padding: 0 0 clamp(2.5rem, 5vw, 4rem);
}
.register-step + .register-step {
  padding-top: clamp(2.5rem, 5vw, 4rem);
  border-top: 1px solid var(--line);
}
.register-step--final {
  padding-bottom: 0;
}
.register-step__head {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 0.75rem;
  margin-bottom: 1.75rem;
}
.register-step__head > span {
  padding-top: 0.25rem;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.12em;
}
.register-step__head h2 {
  margin: 0;
  font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  font-weight: 650;
  letter-spacing: -0.035em;
}
.register-step__head p {
  margin: 0.4rem 0 0;
  color: var(--muted);
  font-size: 0.86rem;
}
.register-page .plan-tier-block {
  margin-top: 0;
  margin-bottom: 1.5rem;
}
.register-page .plan-tier-choice {
  min-height: 9.5rem;
  padding: 1.1rem;
}
.register-page .plan-tier-choice__icon {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: none;
}
.register-page .plan-tier-choice:has(input:checked) .plan-tier-choice__icon {
  background: #FBF9F6;
  color: var(--ink);
  border-color: var(--ink);
  box-shadow: none;
}
.register-page .plan-tier-choice__detail {
  margin-top: auto;
  padding-top: 0.5rem;
}
.register-page .sector-picker {
  margin-top: 1.25rem;
}
.register-page .field-hint {
  max-width: 44rem;
}
.register-inn-block {
  margin-top: 1.25rem;
  padding: 1.1rem 1.2rem 1.25rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--paper-deep);
}
.register-inn-block[hidden] {
  display: none;
}
.register-inn-block label {
  margin-top: 0;
}
.register-page .register-advanced {
  padding: 0.85rem 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--paper-deep);
}
.register-page .register-advanced[open] {
  padding-bottom: 1rem;
}
.register-page .link-preview {
  margin: 1rem 0;
}
.register-submit {
  width: 100%;
  min-height: 3.35rem;
  margin-top: 0.75rem;
  border-radius: 999px;
  font-size: 0.92rem;
}
.register-submit-note {
  margin: 0.8rem 0 0;
  color: var(--muted);
  font-size: 0.76rem;
  text-align: center;
}
.register-access-backup {
  margin: 1.5rem 0 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(15, 23, 42, 0.1);
}
.register-access-backup summary {
  cursor: pointer;
  color: #475569;
  font-size: 0.8rem;
  font-weight: 650;
}
.register-access-backup code {
  display: block;
  margin-top: 0.75rem;
  overflow-wrap: anywhere;
}

.cabinet-upload,
.credential-upload {
  margin-top: 1.25rem;
  padding: 1.25rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 1rem;
  background: #ffffff;
}
#prices-panel .cabinet-upload__dropzone {
  min-height: 5.5rem;
  padding: 1.05rem 1.2rem;
}
.cabinet-upload__dropzone {
  width: 100%;
  min-height: 7rem;
  padding: 1.35rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  border: 1px dashed #d5d8d0;
  border-radius: 0.85rem;
  background: #fafaf7;
  color: #0f172a;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.16s ease, background 0.16s ease;
}
.cabinet-upload__dropzone:hover,
.is-dragover .cabinet-upload__dropzone {
  border-color: rgba(111, 127, 106, 0.55);
  background: #f4f6f2;
}
.cabinet-upload__icon {
  width: 2.4rem;
  height: 2.4rem;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 0.7rem;
  color: #455342;
  background: #e8ece4;
  font-size: 1.05rem;
  font-weight: 650;
}
.cabinet-upload__copy strong,
.cabinet-upload__copy small {
  display: block;
}
.cabinet-upload__copy strong {
  font-size: 0.875rem;
  line-height: 1.4;
  font-weight: 650;
}
.cabinet-upload__copy small {
  margin-top: 0.25rem;
  color: #64748b;
  font-size: 0.78125rem;
  line-height: 1.45;
  font-weight: 400;
}
.cabinet-upload__footer {
  margin-top: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.cabinet-upload__filename {
  min-width: 0;
  color: #64748b;
  font-size: 0.78125rem;
  line-height: 1.45;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cabinet-upload__hint {
  margin: 0.7rem 0 0;
  color: #64748b;
  font-size: 0.78125rem;
  line-height: 1.45;
  font-weight: 400;
}
/* Кабинет: плавающий ИИ-помощник */
.cab-assistant {
  position: fixed;
  right: 1.1rem;
  bottom: 1.1rem;
  z-index: 60;
  font-family: inherit;
}
.cab-assistant__fab {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  border: 1px solid #1b1816;
  background: #1b1816;
  color: #fbf9f6;
  border-radius: 999px;
  padding: 0.7rem 1rem 0.7rem 0.85rem;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.18);
  transition: transform 0.18s ease, background 0.15s ease;
}
.cab-assistant__fab:hover {
  background: #000;
  transform: translateY(-1px);
}
.cab-assistant__fab-icon {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
}
.cab-assistant__fab-label {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.cab-assistant--open .cab-assistant__fab {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.92);
}
.cab-assistant__panel {
  width: min(92vw, 22.5rem);
  max-height: min(78vh, 36rem);
  display: flex;
  flex-direction: column;
  background: linear-gradient(165deg, #fffdf9 0%, #f4f0e8 55%, #efe8dc 100%);
  border: 1px solid rgba(27, 24, 22, 0.14);
  border-radius: 1.1rem;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
  overflow: hidden;
  animation: cab-assistant-in 0.22s ease;
}
.cab-assistant__panel[hidden] {
  display: none !important;
}
@keyframes cab-assistant-in {
  from { opacity: 0; transform: translateY(10px) scale(0.98); }
  to { opacity: 1; transform: none; }
}
.cab-assistant__head {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0.95rem 1rem 0.75rem;
  border-bottom: 1px solid rgba(27, 24, 22, 0.08);
}
.cab-assistant__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1b1816;
}
.cab-assistant__sub {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #5b534a;
  max-width: 16rem;
}
.cab-assistant__head-actions {
  display: flex;
  gap: 0.25rem;
}
.cab-assistant__icon-btn {
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(27, 24, 22, 0.12);
  background: rgba(255, 255, 255, 0.55);
  border-radius: 0.55rem;
  cursor: pointer;
  color: #1b1816;
  font-size: 1rem;
  line-height: 1;
}
.cab-assistant__icon-btn.is-off {
  opacity: 0.45;
}
.cab-assistant__icon-btn.is-listening {
  background: #1b1816;
  color: #fbf9f6;
  border-color: #1b1816;
}
.cab-assistant__messages {
  flex: 1 1 auto;
  overflow: auto;
  padding: 0.85rem 1rem;
  display: grid;
  gap: 0.55rem;
  min-height: 10rem;
}
.cab-assistant__bubble {
  max-width: 92%;
  padding: 0.65rem 0.75rem;
  border-radius: 0.85rem;
  font-size: 0.84rem;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}
.cab-assistant__bubble--user {
  justify-self: end;
  background: #1b1816;
  color: #fbf9f6;
  border-bottom-right-radius: 0.3rem;
}
.cab-assistant__bubble--assistant {
  justify-self: start;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(27, 24, 22, 0.08);
  color: #1b1816;
  border-bottom-left-radius: 0.3rem;
}
.cab-assistant__bubble--pending {
  opacity: 0.7;
  font-style: italic;
}
.cab-assistant__meta {
  margin: 0.35rem 0 0;
  font-size: 0.72rem;
  opacity: 0.75;
}
.cab-assistant__suggestions {
  padding: 0 1rem 0.5rem;
  display: grid;
  gap: 0.5rem;
  max-height: 10rem;
  overflow: auto;
}
.cab-assistant__suggest {
  display: grid;
  gap: 0.35rem;
  padding: 0.65rem 0.7rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(27, 24, 22, 0.1);
}
.cab-assistant__suggest--ok { border-color: rgba(22, 101, 52, 0.35); }
.cab-assistant__suggest--warn { border-color: rgba(161, 98, 7, 0.4); }
.cab-assistant__suggest--bad { border-color: rgba(153, 27, 27, 0.35); }
.cab-assistant__suggest strong {
  font-size: 0.78rem;
}
.cab-assistant__suggest code {
  font-size: 0.72rem;
  word-break: break-all;
}
.cab-assistant__suggest-note {
  margin: 0;
  font-size: 0.72rem;
  color: #5b534a;
  line-height: 1.35;
}
.cab-assistant__drop {
  margin: 0 1rem;
  padding: 0.55rem 0.7rem;
  border: 1px dashed rgba(27, 24, 22, 0.22);
  border-radius: 0.7rem;
  background: rgba(255, 255, 255, 0.35);
  cursor: pointer;
}
.cab-assistant__drop--hover,
.cab-assistant__drop--ready {
  border-style: solid;
  border-color: rgba(27, 24, 22, 0.45);
  background: rgba(255, 255, 255, 0.7);
}
.cab-assistant__drop-hint {
  margin: 0;
  font-size: 0.72rem;
  color: #5b534a;
}
.cab-assistant__composer {
  padding: 0.75rem 1rem 1rem;
  display: grid;
  gap: 0.5rem;
}
.cab-assistant__input {
  width: 100%;
  resize: none;
  border: 1px solid rgba(27, 24, 22, 0.14);
  border-radius: 0.7rem;
  padding: 0.65rem 0.75rem;
  font: inherit;
  font-size: 0.84rem;
  background: #fff;
  color: #1b1816;
}
.cab-assistant__composer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.45rem;
}
@media (max-width: 640px) {
  .cab-assistant {
    right: 0.65rem;
    bottom: 0.65rem;
  }
  .cab-assistant__panel {
    width: min(96vw, 22.5rem);
    max-height: min(82vh, 34rem);
  }
  .cab-assistant__fab-label {
    display: none;
  }
  .cab-assistant__fab {
    padding: 0.85rem;
    border-radius: 999px;
  }
}

.credentials-panel [hidden],
.credential-card [hidden] {
  display: none !important;
}
.credentials-list {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}
.credential-card {
  border-left: 3px solid var(--accent);
}
.credential-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1rem;
  margin: 1rem 0;
}
@media (max-width: 700px) {
  .credential-grid {
    grid-template-columns: 1fr;
  }
  .cabinet-upload__footer {
    align-items: stretch;
    flex-direction: column;
  }
  .cabinet-upload__footer .btn {
    width: 100%;
  }
}

/* Layout helpers previously provided by Tailwind CDN */
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mx-auto { margin-left: auto; margin-right: auto; }

/* ========== CABINET 2026 REFRESH ========== */
.cabinet-page {
  background:
    radial-gradient(circle at 12% 8%, rgba(111, 127, 106, 0.1), transparent 28rem),
    var(--paper);
}
.cabinet-page .site-main {
  max-width: min(94vw, 86rem);
  padding-top: 0;
}
.cabinet-page .site-topbar {
  min-height: 4.5rem;
  margin-bottom: clamp(2rem, 4vw, 4rem);
}
.cabinet-page-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
.cabinet-page-header__copy { min-width: 0; }
.cabinet-page-header__title-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1rem;
  align-items: center;
}
.cabinet-page-header h1 {
  max-width: 52rem;
  margin: 0;
  font-size: clamp(2.35rem, 5vw, 4.8rem);
  line-height: 0.98;
  letter-spacing: -0.065em;
}
.cabinet-page-header .lead {
  max-width: 42rem;
  margin: 1rem 0 0;
  color: #4f5968;
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.55;
}
.cabinet-page-header__id {
  margin: 0.75rem 0 0;
  color: #7b8491;
  font-size: 0.82rem;
}
.cabinet-page-header__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.65rem;
}
.cabinet-status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid rgba(11, 17, 27, 0.12);
  border-radius: 999px;
  background: rgba(255, 252, 246, 0.78);
  color: #505966;
  font-size: 0.75rem;
  font-weight: 700;
}
.cabinet-status::before {
  content: "";
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: #aab1ba;
}
.cabinet-status--pending_review::before { background: #d29a45; }
.cabinet-status--verified::before { background: #6f7f6a; }
.cabinet-status--suspended::before { background: #c76558; }
.cabinet-layout {
  grid-template-columns: 13.5rem minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 3rem);
}
.cabinet-side {
  top: 1rem;
  gap: 0.75rem;
  padding: 0.7rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(57, 71, 57, 0.14);
  background: rgba(255, 252, 246, 0.92);
  box-shadow: 0 14px 34px rgba(57, 71, 57, 0.08);
}
.cabinet-nav { gap: 0.25rem; }
.cabinet-nav .tab-btn {
  display: flex;
  gap: 0.7rem;
  align-items: center;
  min-height: 2.85rem;
  padding: 0.7rem 0.8rem;
  border-radius: 0.85rem;
  color: #657080;
  font-size: 0.86rem;
  font-weight: 600;
}
.cabinet-nav .tab-btn > span {
  width: 1.25rem;
  color: #a2aa9f;
  font-size: 0.67rem;
  letter-spacing: 0.04em;
}
.cabinet-nav .tab-btn:hover {
  color: var(--ink);
  background: rgba(220, 228, 216, 0.46);
}
.cabinet-nav .tab-btn.active {
  border-color: rgba(111, 127, 106, 0.28);
  background: var(--sage-light);
  color: var(--sage-dark);
  font-weight: 750;
  box-shadow: none;
}
.cabinet-nav .tab-btn.active > span { color: #6f7f6a; }
.cabinet-nav__separator {
  margin: 0.9rem 0.75rem 0.35rem;
  color: #9aa294;
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.cabinet-logout-form { border-top-color: rgba(57, 71, 57, 0.12); }
.cabinet-logout-link { color: #7f887d; }
.cabinet-logout-link:hover { color: var(--sage-dark); }
.cabinet-main { max-width: 64rem; }
.cabinet-page .panel-card {
  border: 1px solid rgba(11, 17, 27, 0.09);
  border-radius: 1.35rem;
  background: rgba(255, 252, 246, 0.9);
  box-shadow: 0 18px 50px rgba(11, 17, 27, 0.045);
}
.cabinet-overview > .panel-card {
  padding: clamp(0.85rem, 2vw, 1.25rem);
}
.owner-journey {
  margin: 0;
  border: 1px solid rgba(57, 71, 57, 0.16);
  border-radius: 1.1rem;
  background:
    radial-gradient(circle at 92% 0%, rgba(111, 127, 106, 0.12), transparent 34%),
    linear-gradient(180deg, #fffdf8 0%, #f5f1e9 100%);
  color: var(--ink);
  box-shadow: 0 14px 34px rgba(57, 71, 57, 0.08);
}
.owner-journey__copy { padding: clamp(1.5rem, 4vw, 2.6rem); }
.owner-journey__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 1.25rem;
}
.owner-journey__eyebrow {
  margin: 0;
  color: var(--sage-dark);
}
.owner-ready {
  margin: 0;
  color: #667261;
  font-weight: 600;
}
.owner-journey h2 {
  max-width: 44rem;
  color: var(--ink);
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.04;
  letter-spacing: -0.055em;
}
.owner-journey__description {
  max-width: 44rem;
  margin: 0.8rem 0 1.4rem;
  color: #596457;
  font-size: 1rem;
  line-height: 1.55;
}
.owner-journey .btn-primary {
  min-height: 3rem;
  padding-inline: 1.15rem;
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}
.owner-journey .btn-primary:hover {
  border-color: #2d3743;
  background: #2d3743;
  color: #fff;
}
.owner-journey__waiting {
  border-color: rgba(111, 127, 106, 0.28);
  background: rgba(255, 252, 246, 0.72);
  color: var(--sage-dark);
}
.owner-journey__stages {
  gap: 0;
  padding: 0;
  border-top-color: rgba(57, 71, 57, 0.12);
  background: rgba(255, 252, 246, 0.42);
}
.owner-journey__stage {
  min-height: 4rem;
  justify-content: center;
  padding: 0.8rem 0.55rem;
  border: 0;
  border-right: 1px solid rgba(57, 71, 57, 0.1);
  border-radius: 0;
  color: #9aa294;
}
.owner-journey__stage:last-child { border-right: 0; }
.owner-journey__stage--done { color: var(--sage-dark); }
.owner-journey__stage--current {
  border-color: rgba(111, 127, 106, 0.24);
  background: rgba(255, 252, 246, 0.86);
  color: var(--ink);
  box-shadow: none;
}
.owner-journey__stage--current .owner-journey__stage-num {
  border-color: var(--sage-dark);
  color: var(--sage-dark);
}
.owner-journey__forge,
.owner-journey__job {
  border-top-color: rgba(57, 71, 57, 0.12);
  color: #667261;
}
.owner-journey__forge a { color: var(--sage-dark); }
.cabinet-payment-card {
  position: relative;
  overflow: hidden;
  padding: clamp(1.35rem, 3vw, 2rem);
  border-color: rgba(111, 127, 106, 0.22) !important;
  background: #e3e9df !important;
  box-shadow: none !important;
}
.cabinet-payment-card::after {
  content: "30";
  position: absolute;
  right: 1.4rem;
  top: -1.25rem;
  color: rgba(57, 71, 57, 0.07);
  font-size: 8rem;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
}
.cabinet-payment-card > * {
  position: relative;
  z-index: 1;
}
.cabinet-payment-card h2 {
  max-width: 38rem;
  margin: 0 0 0.6rem;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  letter-spacing: -0.04em;
}
.cabinet-payment-card p { max-width: 42rem; }
.save-bar {
  z-index: 20;
  bottom: 0.75rem;
  margin: 1.5rem 0 0;
  padding: 0.8rem;
  border: 1px solid rgba(11, 17, 27, 0.1);
  border-radius: 1rem;
  background: rgba(255, 252, 246, 0.88);
  box-shadow: 0 18px 45px rgba(11, 17, 27, 0.1);
  backdrop-filter: blur(18px);
}
.save-bar .btn-primary { min-height: 2.8rem; }
.save-bar-note {
  flex: 1;
  min-width: 15rem;
}
.moderation-status {
  border: 0;
  background: #f1f3ee;
}
@media (max-width: 900px) {
  .cabinet-page-header {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .cabinet-page-header__actions { justify-content: flex-start; }
  .cabinet-layout { grid-template-columns: 1fr; }
  .cabinet-side {
    position: sticky;
    top: 0.4rem;
    z-index: 50;
    overflow-x: auto;
    padding: 0.45rem;
    border-radius: 1rem;
  }
  .cabinet-nav {
    flex-direction: row;
    flex-wrap: nowrap;
    min-width: max-content;
  }
  .cabinet-nav .tab-btn {
    width: auto;
    min-height: 2.55rem;
    white-space: nowrap;
  }
  .cabinet-nav__separator,
  .cabinet-logout-form { display: none; }
}
@media (max-width: 640px) {
  .cabinet-page .site-main {
    max-width: 100%;
    padding-inline: 0.9rem;
  }
  .cabinet-page-header { gap: 1.25rem; }
  .cabinet-page-header h1 {
    font-size: clamp(2.2rem, 13vw, 3.3rem);
  }
  .cabinet-page-header__actions .btn {
    width: 100%;
    text-align: center;
  }
  .owner-journey__copy { padding: 1.4rem; }
  .owner-journey__stages {
    display: flex;
    overflow-x: auto;
  }
  .owner-journey__stage { flex: 0 0 8rem; }
  .cabinet-payment-card .cta-row {
    align-items: stretch;
    flex-direction: column;
  }
  .cabinet-payment-card .btn { width: 100%; }
  .save-bar {
    align-items: stretch;
    flex-direction: column;
  }
  .save-bar .btn,
  .save-bar-note {
    width: 100%;
    min-width: 0;
  }
}

/* Кабинет: нейтральные поля без холодных синих и зелёных заливок */
.cabinet-page .cabinet-nav .tab-btn.active {
  border-color: rgba(11, 17, 27, 0.12);
  background: #f4efe7;
  color: var(--ink);
  box-shadow: none;
}
.cabinet-page .cabinet-nav .tab-btn.active > span {
  color: var(--ink);
}
.cabinet-page .cabinet-nav .tab-btn:hover {
  background: #f8f4ed;
  color: var(--ink);
}
.cabinet-page .panel-card,
.cabinet-page .snapshot-card,
.cabinet-page .prices-table,
.cabinet-page .csv-bar,
.cabinet-page .universal-upload-box .csv-bar,
.cabinet-page .analytics-info-note,
.cabinet-page .analytics-reliability-card,
.cabinet-page .analytics-dashboard-card,
.cabinet-page .preview-stat,
.cabinet-page .lead-card,
.cabinet-page .dev-box {
  background: #fbf8f2;
}
.cabinet-page .prices-table .table-head {
  background: #f3eee5;
}
.cabinet-page .prices-table .price-row:not(.row-template) {
  background: #fbf8f2;
}
.cabinet-page .cabinet-readonly input:not([type="hidden"]),
.cabinet-page .cabinet-readonly textarea,
.cabinet-page .cabinet-readonly select,
.cabinet-page .table-grid-prices input[type="text"],
.cabinet-page .table-grid-prices input[type="number"],
.cabinet-page .table-grid-prices input[type="url"],
.cabinet-page .table-grid-prices textarea,
.cabinet-page .links-dynamic-row input[type="url"] {
  background: #fffdf8;
  color: var(--ink);
}
.cabinet-page .table-grid-prices textarea.price-name-field,
.cabinet-page .table-grid-prices textarea.price-promo-field {
  display: block;
  width: 100%;
  min-height: 3.25rem;
  max-height: 14rem;
  padding: 0.7rem 0.75rem;
  line-height: 1.45;
  resize: none;
  overflow-x: hidden;
  overflow-y: auto;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.cabinet-page .table-grid-prices textarea.price-promo-field {
  min-height: 2.75rem;
}
.cabinet-page .table-grid-prices input[type="number"] {
  min-height: 3.25rem;
}
.cabinet-page .table-grid-prices input:focus,
.cabinet-page .table-grid-prices textarea:focus,
.cabinet-page .links-dynamic-row input[type="url"]:focus {
  border-color: rgba(11, 17, 27, 0.34);
  background: #fffdf8;
  box-shadow: 0 0 0 3px rgba(11, 17, 27, 0.06);
}
.cabinet-page .price-import-mode__option,
.cabinet-page .price-import-mode__option:has(input:checked) {
  background: #fbf8f2;
}
.cabinet-page .price-import-mode__option:hover {
  background: #f8f4ed;
}
.cabinet-page .universal-upload-box .csv-bar,
.cabinet-page .csv-bar {
  border-color: rgba(11, 17, 27, 0.1);
}

/* Price editor: keep the table inside the cabinet grid instead of creating
   an accidental horizontal canvas at laptop widths. */
.cabinet-page .cabinet-main {
  width: 100%;
  max-width: none;
}

.cabinet-page #prices-panel {
  padding: clamp(1.15rem, 2vw, 1.5rem);
}

.cabinet-page #prices-panel .section-title {
  margin-bottom: 0.55rem;
}

.cabinet-page .save-bar {
  margin-top: 0.75rem;
  padding: 0.75rem 1rem;
  border-color: rgba(11, 17, 27, 0.09);
  border-radius: 1.1rem;
  background: #fbf8f2;
  box-shadow: 0 12px 30px rgba(11, 17, 27, 0.06);
  backdrop-filter: none;
}

.cabinet-page #prices-panel .prices-table {
  overflow-x: auto;
}

.cabinet-page #prices-panel .prices-table .table-grid-prices {
  min-width: 0;
  grid-template-columns:
    minmax(11rem, 1.8fr)
    minmax(5.5rem, 0.7fr)
    minmax(8rem, 1fr)
    4.4rem
    2.15rem;
  column-gap: 0.55rem;
}

.cabinet-page #prices-panel .prices-table .table-head {
  align-items: center;
}

.cabinet-page #prices-panel .prices-table .price-row {
  align-items: start;
}

.cabinet-page #prices-panel .price-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1180px) and (min-width: 901px) {
  .cabinet-page .cabinet-layout {
    grid-template-columns: 12.25rem minmax(0, 1fr);
    gap: 1.25rem;
  }

  .cabinet-page #prices-panel .prices-table .table-grid-prices {
    grid-template-columns:
      minmax(10rem, 1.7fr)
      minmax(5rem, 0.7fr)
      minmax(7.5rem, 1fr)
      4.15rem
      2.1rem;
    column-gap: 0.45rem;
  }

  .cabinet-page #prices-panel .prices-table .price-row {
    padding-inline: 0.75rem;
  }
}

@media (max-width: 900px) {
  .cabinet-page .cabinet-layout {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

@media (max-width: 768px) {
  .cabinet-page #prices-panel .prices-table {
    overflow-x: visible;
  }

  .cabinet-page #prices-panel .prices-table .table-head {
    display: none;
  }

  .cabinet-page #prices-panel .prices-table .table-grid-prices {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}

/* Passport sharing: two small actions in the public footer */
.passport-public-share {
  position: static;
  display: block;
  width: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.passport-public-footer__share {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.passport-public-share__heading {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.passport-share-actions {
  display: flex;
  gap: 0.25rem;
  width: auto;
  max-width: none;
  overflow: visible;
}

.passport-share-action,
a.passport-share-action,
button.passport-share-action {
  position: relative;
  appearance: none;
  display: grid;
  place-items: center;
  width: 1.8rem;
  height: 1.8rem;
  min-width: 1.8rem;
  min-height: 1.8rem;
  padding: 0;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-radius: 50%;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.16s ease, background 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

.passport-share-action:hover,
a.passport-share-action:hover,
button.passport-share-action:hover {
  color: var(--ink);
  background: #fff;
  box-shadow: 0 5px 14px rgba(11, 17, 27, 0.12);
  transform: scale(1.08);
  text-decoration: none;
}

.passport-share-action:focus-visible {
  outline: 3px solid rgba(111, 127, 106, 0.3);
  outline-offset: 2px;
}

.passport-share-action__icon {
  display: inline-grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  flex: 0 0 1.65rem;
  border-radius: 50%;
  color: #fff;
  background: #111820;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.passport-share-action__icon svg {
  width: 0.82rem;
  height: 0.82rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.passport-share-action--telegram .passport-share-action__icon svg {
  fill: currentColor;
  stroke: none;
}

.passport-share-action__icon--letter {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.passport-share-action--native .passport-share-action__icon,
.passport-share-action--copy .passport-share-action__icon {
  color: var(--ink);
  background: var(--paper-deep);
}

.passport-share-action__text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.passport-share-action::after {
  display: none;
}

.passport-share-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: 0.55rem;
  width: 100%;
}

.passport-share-panel .passport-share-action {
  display: flex;
  gap: 0.6rem;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 3.2rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid rgba(11, 17, 27, 0.1);
  border-radius: 0.8rem;
  background: var(--surface);
  box-shadow: 0 1px 0 rgba(11, 17, 27, 0.03);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.15;
  text-align: left;
}

.passport-share-panel .passport-share-action__text {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.passport-share-panel .passport-share-action::after {
  display: none;
}

.passport-share-panel__actions {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.passport-share-panel__controls {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-shrink: 0;
}

.passport-share-panel__actions .passport-share-action {
  display: grid;
  width: 1.8rem;
  height: 1.8rem;
  min-width: 1.8rem;
  min-height: 1.8rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}

.passport-share-panel__actions .passport-share-action:hover {
  background: #fff;
  box-shadow: 0 4px 12px rgba(11, 17, 27, 0.1);
}

.passport-share-panel__actions .passport-share-action__icon {
  width: 1.65rem;
  height: 1.65rem;
  flex-basis: 1.65rem;
}

.passport-share-panel__actions .passport-share-action__text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.passport-share-panel__actions .passport-share-action::after {
  display: none;
}

@media (max-width: 720px) {
  .passport-public-footer__share {
    width: 100%;
    margin-left: 0;
    margin-top: 0.5rem;
  }

  .passport-share-panel .passport-share-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .passport-share-panel__actions {
    margin-left: 0;
  }

  .passport-share-panel__controls {
    justify-content: flex-start;
  }
}

@media (max-width: 380px) {
  .passport-share-panel .passport-share-buttons {
    grid-template-columns: 1fr;
  }
}

/* Audit report controls: final cascade layer */
.cabinet-page .audit-report-actions {
  gap: 1rem;
  padding: 1.1rem 1.2rem;
  background: #fbf8f2;
  border: 1px solid rgba(11, 17, 27, 0.1);
  border-radius: 1rem;
  box-shadow: 0 10px 28px rgba(11, 17, 27, 0.04);
}

.audit-report-actions__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(11, 17, 27, 0.08);
}

.audit-report-actions__heading > div {
  display: grid;
  gap: 0.18rem;
}

.audit-report-actions__heading span {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.audit-report-actions__heading strong {
  font-size: 0.92rem;
}

.audit-report-actions__heading > b {
  color: var(--sage-dark);
  font-size: 1.45rem;
  letter-spacing: -0.04em;
}

.audit-report-actions__heading > b small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0;
}

.cabinet-page .audit-report-actions__buttons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.cabinet-page .audit-report-action {
  position: relative;
  justify-content: flex-start;
  min-height: 2.75rem;
  padding: 0.65rem 0.7rem 0.65rem 2.2rem;
  border-radius: 0.75rem;
  border-color: rgba(11, 17, 27, 0.12);
  background: var(--surface);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.cabinet-page .audit-report-action::before {
  position: absolute;
  left: 0.75rem;
  display: grid;
  place-items: center;
  width: 1rem;
  color: var(--sage-dark);
  font-size: 1rem;
}

.audit-report-action--download::before { content: "↓"; }
.audit-report-action--print::before { content: "⌑"; }
.audit-report-action--share::before { content: "↗"; }
.audit-report-action--delete::before { content: "×"; }

.cabinet-page .audit-report-action:hover {
  background: #fffefa;
  border-color: rgba(57, 71, 57, 0.3);
  transform: translateY(-1px);
}

.cabinet-page .audit-report-action--delete {
  color: #8d3b34;
}

.cabinet-page .audit-report-action--delete::before {
  color: #8d3b34;
}

.cabinet-page .audit-report-actions__share {
  padding: 0.85rem;
  border-radius: 0.8rem;
  background: rgba(111, 127, 106, 0.08);
  border: 1px solid rgba(111, 127, 106, 0.18);
}

.cabinet-page .audit-report-actions__share input {
  min-height: 2.65rem;
  background: #fffefa;
}

.cabinet-page .audit-report-return {
  position: sticky;
  top: 0.8rem;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 0.8rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid rgba(57, 71, 57, 0.24);
  border-radius: 0.9rem;
  background: rgba(255, 254, 250, 0.97);
  box-shadow: 0 0.45rem 1.4rem rgba(11, 17, 27, 0.1);
}

.cabinet-page .audit-report-return__copy {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.cabinet-page .audit-report-return__copy span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.cabinet-page .audit-report-return__copy strong {
  color: var(--ink);
  font-size: 0.9rem;
}

.cabinet-page .audit-report-return__close {
  flex: 0 0 auto;
  text-align: center;
}

.cabinet-page .audit-history {
  padding: 1rem 1.1rem;
  background: #fbf8f2;
  border-radius: 1rem;
}

.cabinet-page .audit-history-list {
  gap: 0.65rem;
}

.cabinet-page .audit-history-list + .audit-history-group {
  margin-top: 1rem;
}

.cabinet-page .audit-history-group {
  margin: 0 0 0.5rem;
  font-weight: 700;
  color: #0b111b;
  text-transform: none;
}

.cabinet-page .audit-history-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: center;
  padding: 0.65rem;
  border: 1px solid rgba(11, 17, 27, 0.09);
  border-radius: 0.8rem;
  background: var(--surface);
}

.cabinet-page .audit-history-item:last-child {
  border-bottom: 1px solid rgba(11, 17, 27, 0.09);
  padding-bottom: 0.65rem;
}

.cabinet-page .audit-history-item__link {
  min-width: 0;
  grid-template-columns: minmax(7.5rem, 8.5rem) max-content minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  padding: 0.25rem;
}

.cabinet-page .audit-history-item__score {
  min-width: 0;
  padding-inline: 0.5rem;
  display: inline-grid;
  place-items: center;
  min-height: 2rem;
  border-radius: 999px;
  color: var(--sage-dark);
  background: rgba(111, 127, 106, 0.1);
  font-size: 0.72rem;
  line-height: 1.2;
  white-space: nowrap;
}

.cabinet-page .audit-history-item__actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(4.8rem, 1fr));
  align-items: center;
  gap: 0.25rem;
  padding-left: 0.65rem;
  border-left: 1px solid rgba(11, 17, 27, 0.08);
}

.cabinet-page .audit-history-action,
.cabinet-page a.audit-history-action {
  appearance: none;
  padding: 0.42rem 0.52rem;
  border: 0;
  border-radius: 0.55rem;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
}

.cabinet-page .audit-history-action:hover {
  color: var(--ink);
  background: var(--paper-deep);
  text-decoration: none;
}

.cabinet-page .audit-history-action--delete {
  color: #8d3b34;
}

@media (max-width: 1100px) and (min-width: 901px) {
  .cabinet-page .audit-history-item {
    grid-template-columns: 1fr;
  }

  .cabinet-page .audit-history-item__actions {
    padding: 0.45rem 0 0;
    border-top: 1px solid rgba(11, 17, 27, 0.08);
    border-left: 0;
  }
}

@media (max-width: 900px) {
  .cabinet-page .audit-report-actions__buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cabinet-page .audit-report-return {
    align-items: stretch;
    flex-direction: column;
  }

  .cabinet-page .audit-report-return__close {
    width: 100%;
  }

  .cabinet-page .audit-history-item {
    grid-template-columns: 1fr;
  }

  .cabinet-page .audit-history-item__actions {
    padding: 0.45rem 0 0;
    border-top: 1px solid rgba(11, 17, 27, 0.08);
    border-left: 0;
  }
}

@media (max-width: 620px) {
  .cabinet-page .audit-history-item__link {
    grid-template-columns: 1fr auto;
  }

  .cabinet-page .audit-history-item__msg {
    grid-column: 1 / -1;
  }
}

@media print {
  .cabinet-page .audit-report-return {
    display: none;
  }
}

/* Public passport controls: predictable monochrome disclosure icons. */
.passport-view-page details > summary {
  list-style: none;
}

.passport-view-page details > summary::-webkit-details-marker {
  display: none;
}

.passport-view-page details > summary::before {
  content: "";
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  margin-right: 0.7rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg) translateY(-0.08rem);
  transform-origin: center;
  transition: transform 0.15s ease;
}

.passport-view-page details[open] > summary::before {
  transform: rotate(45deg) translateY(-0.08rem);
}

@media (max-width: 720px) {
  .passport-view-page .site-main {
    max-width: 100%;
    padding: 1.5rem 1rem 4rem;
  }

  .passport-view-page .passport-public-hero,
  .passport-view-page section.glass-card,
  .passport-view-page details.glass-card {
    padding: 1.25rem 1.2rem;
    border-radius: 1rem;
  }

  .passport-view-page details.passport-contact-card,
  .passport-view-page details.spoiler {
    padding: 0;
    overflow: hidden;
  }

  .passport-view-page details.passport-contact-card > summary,
  .passport-view-page details.spoiler > summary {
    display: flex;
    align-items: center;
    min-height: 3.5rem;
    margin: 0;
    padding: 0.9rem 1rem;
    font-size: 1rem;
    line-height: 1.3;
  }

  .passport-view-page details.passport-contact-card[open],
  .passport-view-page details.spoiler[open] {
    padding: 1rem;
  }

  .passport-view-page details.passport-contact-card[open] > summary,
  .passport-view-page details.spoiler[open] > summary {
    margin: -1rem -1rem 0.85rem;
    border-bottom: 1px solid var(--line);
  }

  .passport-public-footer__share {
    margin-top: 0.75rem;
  }

  .passport-public-footer__share .passport-share-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 0.5rem;
  }

  .passport-public-footer__share .passport-share-action {
    display: inline-flex;
    justify-content: center;
    width: 100%;
    height: 2.35rem;
    padding: 0 0.7rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: transparent;
  }

  .passport-public-footer__share .passport-share-action__icon {
    width: 1.35rem;
    height: 1.35rem;
    flex-basis: 1.35rem;
  }

  .passport-public-footer__share .passport-share-action__text {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: nowrap;
    font-size: 0.76rem;
    font-weight: 700;
  }
}


/* Почему такой балл — расшифровка итогового числа */
.audit-why-score {
  margin-top: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(120, 140, 190, 0.22);
  border-radius: 14px;
  background: rgba(120, 150, 220, 0.06);
}
.audit-why-score__title { margin: 0 0 0.35rem; font-size: 1rem; }
.audit-why-score__verdict { margin: 0 0 0.7rem; }
.audit-why-score__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.audit-why-score__item { padding: 0.55rem 0.7rem; border-radius: 11px; background: rgba(255, 255, 255, 0.55); }
.audit-why-score__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem; }
.audit-why-score__val { font-variant-numeric: tabular-nums; font-weight: 600; }
.audit-why-score__weight { font-size: 0.82rem; opacity: 0.7; }
.audit-why-score__why { margin: 0.25rem 0 0; }
.audit-why-score__weak { margin: 0.7rem 0 0; font-weight: 600; }
.audit-why-score__weights { margin: 0.2rem 0 0; opacity: 0.8; }
@media (prefers-color-scheme: dark) {
  .audit-why-score__item { background: rgba(20, 26, 44, 0.5); }
}


/* Где встречаются эти нейросети в жизни */
.audit-where-list { list-style: none; margin: 0.8rem 0 0; padding: 0; display: grid; gap: 0.55rem; }
.audit-where-item { padding: 0.6rem 0.75rem; border-radius: 12px; border: 1px solid rgba(120, 140, 190, 0.18); background: rgba(120, 150, 220, 0.05); }
.audit-where-item__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem; }
.audit-where-item__name { font-size: 1rem; }
.audit-where-item__status { font-size: 0.85rem; opacity: 0.75; }
.audit-where-item__where { margin: 0.2rem 0 0; }
.audit-where-note { margin-top: 0.85rem; font-weight: 600; }

/* Ссылки по площадкам и варианты формулировок факта */
.audit-fact-variants { display: block; margin-top: 0.15rem; opacity: 0.7; font-size: 0.82rem; }
.audit-platform-groups { margin-top: 1rem; }
.audit-platform-list { list-style: none; margin: 0.5rem 0 0; padding: 0; display: grid; gap: 0.35rem; }
.audit-platform-item > details > summary { cursor: pointer; display: flex; gap: 0.6rem; align-items: baseline; padding: 0.4rem 0.6rem; border-radius: 10px; background: rgba(120, 150, 220, 0.06); }
.audit-platform-item__name { font-weight: 600; }
.audit-platform-item__count { font-size: 0.85rem; opacity: 0.7; }
.audit-platform-item .audit-evidence-list { margin: 0.35rem 0 0.5rem 0.6rem; }

/* Сеть: компактный список филиалов без смешения с основным прайсом паспорта. */
.cabinet-count-badge,
.location-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}
.cabinet-count-badge { color: var(--muted, #667085); background: rgba(95, 108, 150, 0.09); }
.location-status--active { color: #176b4a; background: rgba(43, 170, 111, 0.13); }
.location-status--paused { color: #8b5b13; background: rgba(233, 173, 63, 0.16); }
.location-list { display: grid; gap: 1rem; }
.location-editor { padding: clamp(1rem, 2vw, 1.35rem); }
.location-editor__summary,
.location-editor__footer,
.location-form__actions,
.location-import__form {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.location-editor__summary { margin-bottom: 1rem; }
.location-editor__summary h3 { margin: 0.2rem 0 0.25rem; }
.location-editor__footer {
  align-items: center;
  margin-top: 0.9rem;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(120, 140, 190, 0.18);
}
.location-editor__footer form { margin: 0; }
.location-form { display: grid; gap: 0.85rem; }
.location-form label,
.location-import label { display: grid; gap: 0.35rem; }
.location-form__advanced,
.location-create { margin-top: 0.9rem; }
.location-form__advanced > summary,
.location-create > summary { cursor: pointer; color: var(--ink, #182033); font-weight: 700; }
.location-form__advanced[open] > summary,
.location-create[open] > summary { margin-bottom: 0.85rem; }
.location-form__advanced { padding: 0.85rem; border: 1px solid rgba(120, 140, 190, 0.18); border-radius: 14px; }
.bulk-location-price { display: grid; gap: 0.85rem; margin: 1rem 0; padding: clamp(1rem, 2vw, 1.25rem); border: 1px solid rgba(71, 88, 217, 0.2); background: rgba(71, 88, 217, 0.035); }
.bulk-location-price__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.bulk-location-price__heading h3 { margin: 0.15rem 0 0.35rem; }
.bulk-location-price__heading .meta { margin: 0; }
.bulk-location-price__count { flex: 0 0 auto; padding: 0.4rem 0.65rem; border-radius: 999px; background: rgba(71, 88, 217, 0.1); color: var(--accent, #4758d9); font-size: 0.8rem; font-weight: 700; }
.bulk-location-price__form { display: grid; grid-template-columns: minmax(180px, 1.25fr) minmax(180px, 0.8fr) minmax(130px, 0.55fr) auto; align-items: end; gap: 0.7rem; }
.bulk-location-price__form label { display: grid; gap: 0.35rem; font-size: 0.82rem; }
.bulk-location-price__form [data-bulk-price-value-wrap][hidden] { display: none; }
.bulk-location-price__confirm { grid-column: 1 / -1; display: flex !important; align-items: center; gap: 0.5rem; }
.bulk-location-price__confirm input { width: auto; }
.location-select { display: inline-flex; align-items: center; gap: 0.45rem; flex: 0 0 auto; font-size: 0.8rem; color: var(--muted, #64748b); }
.location-select input { width: 1rem; height: 1rem; }
.location-price-section {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(120, 140, 190, 0.14);
}
.location-price-section h3 {
  margin: 0;
  font-size: 1rem;
}
.location-price-section .field-help { margin: 0; }
.location-price-filter { display: grid; gap: 0.35rem; font-size: 0.82rem; }
.location-price-tools { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.location-price-tools .field-help { flex: 1 1 280px; }
.location-common-prices {
  overflow: hidden;
  border: 1px solid rgba(120, 140, 190, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.55);
}
.location-common-prices__head,
.location-common-prices__row {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(150px, 0.65fr) minmax(90px, 0.35fr);
  gap: 1rem;
  align-items: center;
  padding: 0.55rem 0.7rem;
}
.location-common-prices__head {
  color: var(--muted, #64748b);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(248, 250, 252, 0.8);
}
.location-common-prices__row + .location-common-prices__row {
  border-top: 1px solid rgba(120, 140, 190, 0.12);
}
.location-price-section:not(.is-showing-inherited) .location-common-prices__row.is-inherited { display: none; }
.location-common-prices__row strong { white-space: nowrap; }
.location-price-empty {
  margin: 0;
  padding: 0.7rem;
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.8);
  color: var(--muted, #64748b);
}
.location-create { padding: clamp(1rem, 2vw, 1.35rem); }
.location-create > summary { display: flex; justify-content: space-between; gap: 1rem; list-style: none; }
.location-create > summary::-webkit-details-marker { display: none; }
.location-create > summary::after { content: "+"; color: var(--accent, #4758d9); font-size: 1.25rem; }
.location-create[open] > summary::after { content: "−"; }
.location-delete { margin-left: auto; }
.location-delete summary { cursor: pointer; color: #a14646; font-size: 0.82rem; }
.location-delete form { display: grid; gap: 0.5rem; min-width: min(100%, 270px); margin-top: 0.65rem; }
.location-delete label { display: grid; gap: 0.35rem; font-size: 0.8rem; }
.location-import { display: grid; gap: 1rem; margin-top: 1rem; }
.location-filters { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(150px, 0.35fr) auto auto; align-items: end; gap: 0.7rem; margin: 1rem 0; padding: 0.8rem; border: 1px solid rgba(120, 140, 190, 0.16); border-radius: 14px; }
.location-filters label { display: grid; gap: 0.35rem; font-size: 0.82rem; }
.location-pagination { display: flex; align-items: center; justify-content: center; gap: 0.9rem; margin: 1rem 0; }
.location-import h3 { margin: 0.2rem 0 0.35rem; }
.location-import__form { align-items: end; justify-content: flex-start; }
.location-import__form .file-input { min-width: min(100%, 360px); }
.location-price-list { display: grid; gap: 0.45rem; margin-top: 1rem; }
.location-price-row { display: flex; justify-content: space-between; gap: 1rem; padding: 0.65rem 0.75rem; border-radius: 10px; background: rgba(120, 150, 220, 0.06); }
.location-price-row strong { white-space: nowrap; }
.passport-location-hero { max-width: 760px; margin: 0 auto; padding: 3rem 1.25rem 1.5rem; }
.passport-location-hero h1 { margin-bottom: 0.45rem; }
.passport-location-hero__address { margin: 0; color: var(--muted, #667085); }
.passport-location-content { display: grid; gap: 1rem; max-width: 760px; margin: 0 auto; padding: 0 1.25rem 4rem; }
.passport-location-card { padding: clamp(1rem, 3vw, 1.5rem); }
.passport-location-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.passport-location-card h2 { margin: 0.2rem 0 0; }
.location-facts { display: grid; gap: 0.8rem; margin: 1.25rem 0 0; }
.location-facts > div { display: grid; grid-template-columns: minmax(110px, 0.4fr) 1fr; gap: 1rem; padding-top: 0.75rem; border-top: 1px solid rgba(120, 140, 190, 0.15); }
.location-facts dt { color: var(--muted, #667085); font-size: 0.85rem; }
.location-facts dd { margin: 0; }
.passport-location-resources { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.passport-locations-public__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.passport-locations-public__head .section-title { margin-bottom: 0.25rem; }
.public-location-search { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; align-items: end; gap: 0.7rem; margin-top: 1rem; padding: 0.8rem; border: 1px solid rgba(120, 140, 190, 0.16); border-radius: 14px; }
.public-location-search label { display: grid; gap: 0.35rem; font-size: 0.82rem; }
.public-location-list { display: grid; gap: 0.65rem; margin-top: 1rem; }
.public-location-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.85rem; border: 1px solid rgba(120, 140, 190, 0.16); border-radius: 13px; }
.public-location-row strong { display: block; margin-bottom: 0.2rem; }
.public-location-pagination { display: flex; align-items: center; justify-content: center; gap: 0.9rem; margin-top: 1rem; }
.btn-small { padding: 0.45rem 0.7rem; font-size: 0.8rem; white-space: nowrap; }
@media (max-width: 680px) {
  .bulk-location-price__heading { flex-direction: column; gap: 0.35rem; }
  .bulk-location-price__form { grid-template-columns: 1fr; }
  .bulk-location-price__confirm { grid-column: auto; }
  .bulk-location-price__form .btn { width: 100%; }
  .location-address-grid.form-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .location-facts > div { grid-template-columns: 1fr; gap: 0.25rem; }
  .passport-location-resources .btn { flex: 1 1 100%; text-align: center; }
  .public-location-row { align-items: flex-start; flex-direction: column; }
  .public-location-row .btn { width: 100%; text-align: center; }
  .location-filters { grid-template-columns: 1fr; }
  .location-filters .btn { width: 100%; }
  .location-pagination { justify-content: space-between; }
  .passport-locations-public__head { flex-direction: column; gap: 0.25rem; }
  .public-location-search { grid-template-columns: 1fr; }
  .public-location-search .btn { width: 100%; }
  .public-location-pagination { justify-content: space-between; }
  .location-common-prices__head { display: none; }
  .location-common-prices__row {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
  .location-common-prices__row select,
  .location-common-prices__row input { width: 100%; }
}
