:root {
    color-scheme: light;
    --background: #f4f1eb;
    --surface: #ffffff;
    --text: #343434;
    --muted: #77736b;
    --gold: #a77a25;
    --gold-dark: #805b18;
    --line: #d9d0bf;
    --panel-gap: 16px;
    --panel-radius: 4px;
    font-family: Arial, Helvetica, sans-serif;
}

* {
    box-sizing: border-box;
}

body {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    color: var(--text);
    background:
        linear-gradient(135deg, rgb(167 122 37 / 8%), transparent 42%),
        var(--background);
}

button,
input,
select,
textarea {
    font: inherit;
}

.admin-shell {
    display: grid;
    min-height: 100vh;
    padding: 18px 12px;
    place-items: center;
}

.admin-card {
    width: min(100%, 480px);
    padding: clamp(24px, 3vw, 40px);
    border: 1px solid var(--line);
    background: var(--surface);
    box-shadow: 0 24px 70px rgb(58 47 25 / 10%);
}

.admin-shell-top {
    align-items: start;
}

.admin-card-wide {
    width: min(100%, 1680px);
}

.admin-card-form {
    width: min(100%, 1540px);
}

.admin-card-editor {
    width: min(100%, 1680px);
}

.brand-mark {
    display: grid;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border: 1px solid var(--gold);
    color: var(--gold-dark);
    font-size: 18px;
    letter-spacing: 0.12em;
    place-items: center;
}

.eyebrow {
    margin: 0 0 12px;
    color: var(--gold-dark);
    font-size: 13px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.admin-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    margin: 0 0 20px;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--line);
}

.admin-nav a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid transparent;
    color: var(--muted);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.admin-nav a:hover,
.admin-nav a[aria-current='page'] {
    border-color: var(--line);
    color: var(--gold-dark);
    background: rgb(167 122 37 / 7%);
}

.admin-nav a[aria-current='page'] {
    border-color: var(--gold);
}

.admin-nav a:focus-visible,
.button-link:focus-visible {
    outline: 3px solid rgb(167 122 37 / 35%);
    outline-offset: 3px;
}

h1 {
    margin: 0;
    color: var(--text);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(28px, 6vw, 40px);
    font-weight: 400;
    line-height: 1.15;
}

.lead {
    margin: 10px 0 22px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.55;
}

.login-form {
    display: grid;
    gap: 10px;
}

.password-panel {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
}

.password-panel h2 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 24px;
    font-weight: 400;
}

.password-form {
    display: grid;
    gap: 10px;
}

.field-hint {
    margin: 10px 0 12px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

label {
    margin-top: 7px;
    color: var(--text);
    font-size: 14px;
    font-weight: 700;
}

input,
select,
textarea {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid var(--line);
    border-radius: 0;
    color: var(--text);
    background: var(--surface);
}

textarea {
    min-height: 104px;
    resize: vertical;
    line-height: 1.5;
}

input:hover,
select:hover,
textarea:hover {
    border-color: var(--gold);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible {
    outline: 3px solid rgb(167 122 37 / 35%);
    outline-offset: 3px;
}

.button {
    min-height: 44px;
    margin-top: 12px;
    padding: 10px 18px;
    border: 1px solid var(--gold);
    color: #ffffff;
    background: var(--gold);
    cursor: pointer;
    font-weight: 700;
    transition: background-color 160ms ease, border-color 160ms ease;
}

.button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    text-decoration: none;
}

.button:hover {
    border-color: var(--gold-dark);
    background: var(--gold-dark);
}

.button-secondary {
    color: var(--gold-dark);
    background: var(--surface);
}

.button-secondary:hover {
    color: #ffffff;
}

.notice,
.status-box {
    margin: 0 0 24px;
    padding: 14px 16px;
    border-left: 3px solid var(--gold);
    background: rgb(167 122 37 / 8%);
    font-size: 14px;
    line-height: 1.5;
}

.notice-error {
    border-left-color: #8b342d;
    background: #fbf1ef;
}

.notice-success {
    border-left-color: #3f7451;
    background: #f0f7f2;
}

.status-box {
    display: grid;
    gap: 6px;
}

.logout-form {
    margin-top: 24px;
}

.page-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.page-heading .button {
    flex: 0 0 auto;
    margin-top: 0;
}

.publication-search {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(180px, 220px) minmax(190px, 250px) auto;
    gap: 7px 14px;
    align-items: end;
    margin: 18px 0 14px;
}

.publication-search > label:first-child {
    grid-column: 1 / 2;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.publication-search input {
    grid-column: 1 / 2;
    grid-row: 2;
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--text);
}

.publication-search input:focus-visible {
    border-color: var(--gold);
    outline: 2px solid rgb(167 122 37 / 20%);
    outline-offset: 1px;
}

.publication-quality-filter,
.publication-sort {
    display: grid;
    grid-row: 1 / 3;
    gap: 7px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.publication-quality-filter {
    grid-column: 2 / 3;
}

.publication-sort {
    grid-column: 3 / 4;
}

.publication-quality-filter select,
.publication-sort select {
    width: 100%;
    min-height: 44px;
    padding: 9px 34px 9px 12px;
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--text);
    font: inherit;
}

.publication-quality-filter select:focus-visible,
.publication-sort select:focus-visible {
    border-color: var(--gold);
    outline: 2px solid rgb(167 122 37 / 20%);
    outline-offset: 1px;
}

.publication-search__count {
    grid-column: 4 / 5;
    grid-row: 2;
    min-width: 82px;
    padding: 11px 0;
    color: var(--muted);
    font-size: 13px;
    text-align: right;
}

.publication-search-empty {
    margin: 0 0 14px;
    padding: 18px;
    border: 1px solid var(--line);
    color: var(--muted);
}

.publication-search-empty[hidden],
.publications-table tr[hidden] {
    display: none !important;
}

.publication-quality-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0 0;
}

.publication-quality-summary__item,
.publication-quality-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid var(--line);
    background: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

button.publication-quality-summary__item {
    font-family: inherit;
    cursor: pointer;
}

button.publication-quality-summary__item[aria-pressed="true"] {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.publication-quality-summary__item.is-error,
.publication-quality-badge.is-problem {
    border-color: #a4554e;
    background: #fff5f4;
    color: #7b302b;
}

.publication-quality-summary__item.is-warning,
.publication-quality-badge.is-attention {
    border-color: #c6a24f;
    background: #fffaf0;
    color: #6f5b21;
}

.publication-quality-summary__item.is-ok,
.publication-quality-badge.is-ok {
    border-color: #608169;
    background: #f3faf5;
    color: #31553a;
}

.publication-audit {
    min-width: 132px;
}

.publication-audit summary {
    width: fit-content;
    cursor: pointer;
    list-style: none;
}

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

.publication-audit__body {
    width: min(330px, 70vw);
    margin-top: 8px;
    padding: 11px 12px;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.4;
}

.publication-audit__body ul {
    display: grid;
    gap: 6px;
    margin: 0 0 9px;
    padding: 0;
    list-style: none;
}

.publication-audit__body li {
    position: relative;
    padding-left: 14px;
}

.publication-audit__body li::before {
    position: absolute;
    left: 0;
    content: '•';
}

.publication-audit__body .is-error::before {
    color: #8b342d;
}

.publication-audit__body .is-warning::before {
    color: var(--gold);
}

.publication-audit__body p {
    margin: 0;
}

.publication-audit__body p.is-ok {
    color: #31553a;
}

.publication-audit__body a {
    color: var(--text);
    font-weight: 800;
    text-decoration-color: var(--gold);
    text-underline-offset: 3px;
}

.publication-audit__body li a {
    color: inherit;
    font-weight: 600;
}

.editor-target-highlight {
    outline: 3px solid rgb(154 129 3 / 48%) !important;
    outline-offset: 5px;
}

.statistics-heading {
    align-items: end;
}

.statistics-period {
    display: grid;
    min-width: 150px;
    gap: 6px;
}

.statistics-period label {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.statistics-period select {
    min-height: 42px;
}

.statistics-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 16px;
    margin: 18px 0 12px;
    color: var(--muted);
    font-size: 13px;
}

.statistics-toolbar a,
.statistics-tables a {
    color: var(--text);
    text-decoration-color: var(--gold);
    text-underline-offset: 3px;
}

.statistics-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--panel-gap);
    margin-bottom: var(--panel-gap);
}

.statistics-kpis article {
    display: grid;
    min-width: 0;
    gap: 6px;
    padding: 18px;
    border: 1px solid var(--line);
    background: #fff;
}

.statistics-kpis span,
.statistics-kpis small {
    color: var(--muted);
    font-size: 12px;
}

.statistics-kpis strong {
    color: var(--text);
    font-size: clamp(22px, 2.4vw, 32px);
}

.statistics-data-quality {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px 24px;
    margin: 20px 0 28px;
    padding: 18px 20px;
    border: 1px solid rgba(154, 129, 3, 0.42);
    background: rgba(154, 129, 3, 0.055);
}

.statistics-data-quality p {
    margin: 5px 0 0;
}

.statistics-ignore-toggle {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    font-weight: 650;
}

.statistics-ignore-toggle input {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: var(--gold);
}

.statistics-ignore-status {
    grid-column: 1 / -1;
    color: var(--muted);
    font-size: 13px;
}

.statistics-tables {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--panel-gap);
}

.statistics-tables > section {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--line);
}

.statistics-tables table {
    width: 100%;
    margin-top: 12px;
    border-collapse: collapse;
    font-size: 13px;
}

.statistics-tables th,
.statistics-tables td {
    padding: 9px 7px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}

.statistics-tables th {
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
}

.statistics-tables td:first-child {
    max-width: 360px;
    overflow-wrap: anywhere;
}

.statistics-note {
    margin: var(--panel-gap) 0 0;
    padding: 14px 16px;
    border-left: 3px solid var(--gold);
    background: rgb(167 122 37 / 6%);
    color: var(--muted);
    font-size: 13px;
}

.statistics-section {
    margin-top: 30px;
}

.statistics-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px 24px;
    margin-bottom: var(--panel-gap);
}

.statistics-section-heading h2 {
    margin: 0;
    font-size: clamp(20px, 2vw, 28px);
}

.statistics-section-heading p {
    max-width: 920px;
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.statistics-funnel,
.statistics-channels {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--panel-gap);
}

.statistics-funnel article,
.statistics-channels article {
    display: grid;
    min-width: 0;
    gap: 8px;
    padding: 18px;
    border: 1px solid var(--line);
    background: #fff;
}

.statistics-funnel-top {
    display: flex;
    align-items: center;
    gap: 9px;
}

.statistics-funnel-top span {
    display: grid;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    border-radius: 50%;
    background: var(--gold);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    place-items: center;
}

.statistics-funnel article > b,
.statistics-channels strong {
    font-size: clamp(24px, 2.5vw, 34px);
}

.statistics-funnel small,
.statistics-channels small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.4;
}

.statistics-funnel-track {
    height: 5px;
    overflow: hidden;
    background: #eee8dd;
}

.statistics-funnel-track i {
    display: block;
    height: 100%;
    background: var(--gold);
}

.statistics-channels article {
    border-color: rgba(154, 129, 3, 0.42);
    background: rgba(154, 129, 3, 0.045);
}

.statistics-channels span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.statistics-table-wide {
    overflow-x: auto;
    border: 1px solid var(--line);
}

.statistics-table-wide table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.statistics-table-wide th,
.statistics-table-wide td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}

.statistics-table-wide tr:last-child td {
    border-bottom: 0;
}

.statistics-table-wide th {
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
}

.statistics-table-wide td:first-child {
    min-width: 240px;
    overflow-wrap: anywhere;
}

.statistics-table-wide a {
    color: var(--text);
    text-decoration-color: var(--gold);
    text-underline-offset: 3px;
}

.statistics-empty {
    margin: 0;
    padding: 18px;
    border: 1px solid var(--line);
    color: var(--muted);
}

.statistics-recommendations {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.statistics-recommendations li {
    position: relative;
    padding: 14px 16px 14px 44px;
    border: 1px solid rgba(154, 129, 3, 0.34);
    background: rgba(154, 129, 3, 0.04);
    line-height: 1.5;
}

.statistics-recommendations li::before {
    content: '!';
    position: absolute;
    top: 14px;
    left: 15px;
    display: grid;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--gold);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    place-items: center;
}

.webmaster-controls {
    display: grid;
    gap: 14px;
    margin: 18px 0;
}

.webmaster-action {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
}

.webmaster-action label {
    display: grid;
    gap: 6px;
    flex: 1 1 420px;
    min-width: min(100%, 260px);
    font-weight: 700;
}

.webmaster-action input[type="url"] {
    width: 100%;
}

.webmaster-action [data-webmaster-status] {
    flex: 1 1 280px;
    color: var(--admin-muted, #66665f);
    overflow-wrap: anywhere;
}

.statistics-disclosure {
    border-top: 1px solid rgba(132, 75, 48, .28);
    padding-top: 12px;
    margin-top: 16px;
}

.statistics-disclosure > summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--admin-ink, #25221f);
    padding: 4px 0 10px;
}

.statistics-disclosure .statistics-table-wide {
    margin-top: 0;
}

.empty-state {
    display: grid;
    gap: 8px;
    padding: 28px;
    border: 1px solid var(--line);
    color: var(--muted);
}

.empty-state strong {
    color: var(--text);
}

.table-wrap {
    overflow-x: auto;
}

.publications-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.publications-table th,
.publications-table td {
    padding: 14px 12px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}

.publications-table th {
    color: var(--muted);
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.publications-table td:first-child {
    min-width: 240px;
}

.publication-title {
    color: var(--text);
    font-weight: 700;
    text-decoration-color: var(--gold);
    text-underline-offset: 3px;
}

.publication-title:hover {
    color: var(--gold-dark);
}

.delete-control {
    min-width: 170px;
}

.delete-control summary {
    width: fit-content;
    color: #8b342d;
    cursor: pointer;
    font-weight: 700;
}

.delete-form {
    display: grid;
    gap: 10px;
    margin-top: 10px;
    padding: 12px;
    border: 1px solid #8b342d;
    background: #fbf1ef;
}

.delete-form p {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
}

.delete-confirm {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 0;
    font-size: 12px;
}

.delete-confirm input {
    width: 18px;
    min-height: 18px;
    margin: 0;
}

.button-danger {
    min-height: 40px;
    margin: 0;
    border-color: #8b342d;
    background: #8b342d;
    font-size: 13px;
}

.button-danger:hover {
    border-color: var(--text);
    background: var(--text);
}

.slug-preview {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 12px;
}

.status-badge {
    display: inline-flex;
    padding: 4px 8px;
    border: 1px solid var(--line);
    white-space: nowrap;
}

.status-draft {
    border-color: var(--gold);
    color: var(--gold-dark);
    background: rgb(167 122 37 / 7%);
}

.publication-form {
    display: grid;
    gap: 10px;
}

.publication-form > .editor-actions { order: 60; }
.publication-form .form-section-title { margin-top: 16px; padding-top: 16px; font-size: 20px; }
.publication-form .ai-research { margin: 14px 0; padding: 14px; }
.publication-form textarea:not(.block-text):not(.ai-source) { min-height: 72px; }

.ai-source {
    min-height: 360px;
}

.button:disabled {
    border-color: var(--line);
    color: var(--muted);
    background: var(--background);
    cursor: not-allowed;
}

code {
    font-size: 0.92em;
}

.ai-field-button {
    justify-self: start;
    min-height: 36px;
    margin: -2px 0 6px;
    padding: 7px 12px;
    border: 1px solid var(--gold);
    color: var(--gold-dark);
    background: var(--surface);
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
}

.ai-field-button:hover,
.ai-field-button-primary {
    color: #ffffff;
    background: var(--gold);
}

.ai-field-button-primary:hover {
    background: var(--gold-dark);
}

.ai-field-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.form-grid-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 12px;
}

.form-grid-three {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 12px;
}

.publication-classifiers > .form-field { min-width: 0; align-content: start; }
.publication-classifiers select { width: 100%; min-width: 0; }
.topic-picker__add {
    justify-self: start;
    min-height: 32px;
    padding: 3px 0;
    border: 0;
    color: var(--gold-dark);
    background: transparent;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}
.topic-picker__add:hover,
.topic-picker__add:focus-visible { color: var(--text); }
.topic-picker [data-topic-new][hidden] { display: none; }

.form-field {
    display: grid;
    gap: 10px;
}

.form-section-title {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
    color: var(--gold-dark);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 22px;
}

.field-hint-close {
    margin-top: -4px;
}

.form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 14px;
}

.editor-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.media-section {
    margin-bottom: 28px;
}

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

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

.media-card {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--line);
    background: #fdfcf9;
}

.media-card h2 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 21px;
    font-weight: 400;
}

.media-card > p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.media-preview,
.media-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 1px solid var(--line);
    background: var(--background);
}

.media-preview {
    display: block;
    object-fit: contain;
}

.media-preview-frame {
    position: relative;
    min-width: 0;
}

.media-preview-frame .media-preview {
    height: auto;
}

.media-preview-overlay {
    position: absolute;
    right: 12px;
    bottom: 10px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .035em;
    line-height: 1.2;
    text-align: right;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .85);
}

.media-placeholder {
    display: grid;
    padding: 18px;
    color: var(--muted);
    font-size: 13px;
    text-align: center;
    place-items: center;
}

.media-meta {
    font-variant-numeric: tabular-nums;
}

.media-upload-form {
    display: grid;
    gap: 10px;
}

.media-generation-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 14px;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid var(--gold);
    background: rgb(167 122 37 / 7%);
}

.media-generation-form label {
    display: grid;
    gap: 8px;
    margin: 0;
}

.media-generation-form .button {
    margin: 0;
}

.ai-image-form {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid var(--line);
    background: #fdfcf9;
}

.ai-image-form label {
    display: grid;
    gap: 8px;
    margin: 0;
}

.ai-image-form textarea {
    min-height: 92px;
}

.ai-image-form .field-hint,
.ai-image-form .button {
    margin: 0;
}

.media-upload-form label {
    display: grid;
    gap: 8px;
    margin-top: 0;
}

.button-small {
    justify-self: start;
    margin-top: 4px;
}

.slug-field {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    color: var(--muted);
}

.block-editor-section {
    margin-top: 14px;
}

.block-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 12px;
    padding: 8px;
    border: 1px solid var(--line);
    background: #faf8f3;
}

.editor-tool,
.block-action {
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid var(--gold);
    color: var(--gold-dark);
    background: var(--surface);
    cursor: pointer;
}

.editor-tool:hover,
.block-action:hover,
.editor-tool.is-active {
  color: #ffffff;
  background: var(--gold);
}

.block-action:disabled {
    border-color: var(--line);
    color: var(--muted);
    background: var(--background);
    cursor: not-allowed;
}

.block-editor {
    display: grid;
    gap: 8px;
}

.rich-editor-surface,
.rich-editor-source {
    box-sizing: border-box;
    width: 100%;
    min-height: 460px;
    height: auto;
    padding: 18px 20px;
    border: 1px solid var(--line);
    color: var(--text);
    background: #fff;
    font: 17px/1.62 Arial, sans-serif;
    overflow: visible;
    resize: none;
}

.marker-controls {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-left: 8px;
    border-left: 1px solid var(--line);
}

.marker-controls select {
    width: auto;
    min-height: 38px;
    padding: 6px 28px 6px 8px;
}

.media-disclosure {
    margin: 12px 0 18px;
    border: 1px solid var(--line);
    background: #fdfcf9;
}

.media-disclosure > summary {
    display: flex;
    min-height: 72px;
    align-items: center;
    gap: 14px;
    padding: 10px 14px;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}

.media-disclosure > summary::-webkit-details-marker { display: none; }
.media-disclosure > summary::after { margin-left: auto; content: 'Раскрыть'; color: var(--gold-dark); font-size: 13px; }
.media-disclosure[open] > summary::after { content: 'Свернуть'; }
.media-disclosure__thumb { width: 76px; height: 52px; flex: 0 0 auto; border: 1px solid var(--line); object-fit: cover; background: #fff; }
.media-disclosure__empty { display: grid; width: 76px; height: 52px; flex: 0 0 auto; border: 1px dashed var(--line); color: var(--muted); font-size: 11px; place-items: center; }
.media-disclosure__body { padding: 0 16px 16px; border-top: 1px solid var(--line); }

.reusable-media-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
    margin-top: 12px;
}

.reusable-media-grid .button { margin: 0; }

.reusable-media-library {
    margin-top: 14px;
    padding: 0;
    border: 1px solid var(--line);
    background: #fff;
}

.reusable-media-library > summary {
    padding: 13px 15px;
    cursor: pointer;
    color: var(--text);
    font-weight: 750;
}

.reusable-media-picker {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 10px;
    max-height: 520px;
    padding: 14px;
    overflow: auto;
    border-top: 1px solid var(--line);
}

.reusable-media-option {
    position: relative;
    display: grid;
    min-width: 0;
    margin: 0;
    padding: 7px;
    gap: 6px;
    border: 1px solid var(--line);
    background: #fcfbf8;
    cursor: pointer;
}

.reusable-media-option:hover,
.reusable-media-option:focus-within,
.reusable-media-option:has(input:checked) {
    border-color: var(--gold-dark);
    background: #f5eee7;
}

.reusable-media-option input {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--gold-dark);
}

.reusable-media-option img {
    width: 100%;
    aspect-ratio: 3 / 2;
    border: 0;
    background: #f2eee8;
    object-fit: cover;
}

.reusable-media-option span {
    overflow-wrap: anywhere;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.28;
}

.reusable-media-option small { color: var(--muted); font-size: 11px; }
.reusable-media-apply { margin: 0 14px 14px !important; }
.character-counter { color: var(--muted); font-size: 12px; font-weight: 500; }

.editor-insert-dialog {
    width: min(720px, calc(100vw - 28px));
    max-height: calc(100vh - 28px);
    padding: 0;
    border: 1px solid var(--gold);
    background: #fff;
}

.editor-insert-dialog::backdrop { background: rgb(30 29 25 / 58%); }
.editor-insert-dialog__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.editor-insert-dialog__head button { min-width: 38px; min-height: 38px; border: 0; background: transparent; cursor: pointer; font-size: 26px; }
.editor-insert-dialog__body { display: grid; gap: 10px; max-height: calc(100vh - 96px); padding: 16px; overflow: auto; }
.editor-insert-dialog__body label { display: grid; gap: 5px; margin: 0; }
.editor-insert-dialog__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.editor-insert-dialog__actions .button { margin: 4px 0 0; }
.editor-insert-dialog--wide { width: min(1180px, calc(100vw - 32px)); }
.editor-insert-dialog__head > div { display: grid; gap: 2px; min-width: 0; }
.editor-insert-dialog__head small { color: var(--muted); font-size: 12px; font-weight: 400; }

.card-builder {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    align-items: start;
    gap: 16px;
}
.card-builder__controls,
.card-builder__items { display: grid; gap: 10px; min-width: 0; }
.card-builder__item { min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); background: #fff; }
.card-builder__item legend { padding: 0 6px; color: var(--ink); font-weight: 750; }
.card-builder__item-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 12px; }
.card-builder__item-grid label { min-width: 0; }
.card-builder__item-title,
.card-builder__item-subtitle,
.card-builder__upload { grid-column: 1 / -1; }
.card-builder__upload { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px 10px; }
.card-builder__upload[hidden] { display: none; }
.card-builder__upload .button { margin: 0; }
.card-builder__upload .field-hint { grid-column: 1 / -1; margin: 0; }
.card-builder__item-actions { display: flex; justify-content: flex-end; gap: 6px; margin-top: 9px; }
.card-builder__item-actions .button { min-width: 38px; margin: 0; }
.card-builder__add { justify-self: start; margin: 0; }
.card-builder__preview { position: sticky; top: 0; min-width: 0; padding: 14px; border: 1px solid var(--line); background: #f7f7f4; }
.card-builder__preview > strong { display: block; margin-bottom: 10px; }
.card-builder__preview .article-card-grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0; padding: 0; list-style: none; }
.card-builder__preview .article-card-grid > li { display: flex; min-width: 0; min-height: 150px; flex-direction: column; padding: 14px; border: 1px solid var(--gold); background: rgb(167 122 37 / 6%); overflow-wrap: anywhere; }
.card-builder__preview .article-card-grid strong { display: block; color: var(--ink); font-size: 1.08em; }
.card-builder__preview .article-card-grid p { margin: 7px 0 0; }
.card-builder__preview .article-card-grid a { align-self: flex-start; margin-top: auto; padding: 7px 10px; border: 1px solid var(--gold); color: var(--ink); font-weight: 750; text-decoration: none; }
.card-builder__actions { grid-column: 1 / -1; }

.infographic-builder {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    align-items: start;
    gap: 16px;
}
.infographic-builder__controls { display: grid; gap: 12px; min-width: 0; }
.infographic-builder__settings { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px 12px; margin: 0; }
.infographic-builder__heading-field { grid-column: 1 / -1; }
.infographic-builder__items { display: grid; gap: 10px; }
.infographic-builder__item { min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); background: #fff; }
.infographic-builder__item legend { padding: 0 6px; color: var(--ink); font-weight: 750; }
.infographic-builder__item-grid { display: grid; grid-template-columns: minmax(120px, .35fr) minmax(160px, .65fr); gap: 9px 12px; }
.infographic-builder__item-grid label { min-width: 0; }
.infographic-builder__item-title,
.infographic-builder__item-text,
.infographic-builder__item-note { grid-column: 1 / -1; }
.infographic-builder__item-actions { display: flex; justify-content: flex-end; gap: 6px; margin-top: 9px; }
.infographic-builder__item-actions .button { min-width: 38px; margin: 0; }
.infographic-builder__add { justify-self: start; margin: 0; }
.infographic-builder__ai { padding: 12px; border: 1px solid var(--line); background: #fdfcf9; }
.infographic-builder__ai summary { cursor: pointer; font-weight: 750; }
.infographic-builder__ai[open] { display: grid; gap: 10px; }
.infographic-builder__preview { position: sticky; top: 0; min-width: 0; padding: 14px; border: 1px solid var(--line); background: #f7f7f4; }
.infographic-builder__preview > strong { display: block; margin-bottom: 10px; }
.infographic-builder__preview [data-infographic-preview] { min-width: 0; }
.infographic-builder__preview h2 { margin: 0 0 10px; color: var(--ink); font-size: 20px; }
.infographic-builder__actions { grid-column: 1 / -1; }

.special-builder { grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); align-items: start; gap: 16px; }
.special-builder__controls { display: grid; gap: 10px; min-width: 0; }
.special-builder__settings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px 12px; }
.special-builder__ai { padding: 12px; border: 1px solid var(--line); background: #fdfcf9; }
.special-builder__ai summary { cursor: pointer; font-weight: 750; }
.special-builder__ai[open] { display: grid; gap: 10px; }
.special-builder__preview { position: sticky; top: 0; min-width: 0; padding: 14px; border: 1px solid var(--line); background: #f7f7f4; }
.special-builder__preview > strong { display: block; margin-bottom: 10px; }
.special-builder__actions { grid-column: 1 / -1; }
.special-builder__preview .article-banner,
.special-builder__preview .article-lead-magnet { position: relative; display: grid; gap: 8px; min-height: 210px; margin: 0; padding: 24px; border: 1px solid var(--gold); align-content: center; overflow: hidden; }
.special-builder__preview .article-banner--gold { background: rgb(167 122 37 / 8%); }
.special-builder__preview .article-banner--blue { background: rgb(74 119 144 / 8%); }
.special-builder__preview .article-banner--green { background: rgb(82 126 96 / 8%); }
.special-builder__preview .article-banner--cream { background: #fbf4ea; }
.special-builder__preview .article-banner--sand { background: #eadbc7; }
.special-builder__preview .article-banner--terracotta { background: #edd4c7; }
.special-builder__preview .article-banner--sage { background: #dde5dc; }
.special-builder__preview .article-banner--smoke { background: #e5e3df; }
.special-builder__preview .article-banner--blush { background: #eee0dc; }
.special-builder__preview .article-banner--parchment { background: #f2ead9; }
.special-builder__preview .article-banner--white { background: #fff; }
.special-builder__preview .article-banner--graphite { background: #343531; color: #fff; }
.special-builder__preview .article-banner__background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.38); }
.special-builder__preview .article-banner > :not(.article-banner__background),
.special-builder__preview .article-lead-magnet > * { position: relative; z-index: 1; }
.special-builder__preview .article-banner--image { color: #fff; }
.special-builder__preview p { margin: 0; }
.special-builder__preview p:first-of-type { font-size: 1.25em; }
.special-builder__preview a { justify-self: start; margin-top: 5px; padding: 9px 13px; border: 1px solid #8b4d32; background: #8b4d32; color: #fff; font-weight: 750; text-decoration: none; }

.ai-options-panel {
    margin: 12px 0;
    padding: 14px;
    border: 1px solid var(--line);
    background: #fdfcf9;
}

.ai-options-panel > summary { cursor: pointer; font-weight: 700; }
.ai-options-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; margin-top: 12px; }

.contact-field-builder { display: grid; gap: var(--panel-gap); margin-top: 12px; }

.rich-editor-surface:focus,
.rich-editor-source:focus {
    border-color: var(--gold);
    outline: 2px solid rgb(176 138 60 / 22%);
    outline-offset: 1px;
}

.rich-editor-surface:empty::before {
    color: var(--muted);
    content: attr(data-placeholder);
    pointer-events: none;
}

.rich-editor-surface h2 {
    margin: 1.65em 0 0.65em;
    padding-bottom: 0.28em;
    border-bottom: 2px solid var(--gold);
    font-size: 1.55em;
    line-height: 1.25;
}

.rich-editor-surface h3 { margin: 1.35em 0 0.45em; font-size: 1.22em; line-height: 1.3; }
.rich-editor-surface p { margin: 0.65em 0; }
.rich-editor-surface ul,
.rich-editor-surface ol { margin: 0.7em 0; padding-left: 1.7em; }
.rich-editor-surface blockquote { margin: 1em 0; padding: 12px 18px; border-left: 3px solid var(--gold); background: #faf7ef; }
.rich-editor-surface :is(p, li, blockquote):not(.related-link) a:not([class]) {
    color: #70412f;
    font-weight: 650;
    text-decoration-line: underline;
    text-decoration-color: rgb(151 79 49 / 52%);
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
}
.rich-editor-surface :is(p, li, blockquote):not(.related-link) a:not([class])::after {
    display: inline-block;
    margin-left: .22em;
    color: #975031;
    content: "\2197";
    font: 700 .72em/1 Arial, sans-serif;
    text-decoration: none;
    transform: translateY(-.08em);
}
.rich-editor-surface a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 0.16em; }
.rich-editor-surface :is(.article-card-grid, .article-infographic),
.infographic-builder__preview .article-infographic {
    display: grid;
    gap: 10px;
    margin: 1em 0;
    padding: 0;
    list-style: none;
}
.rich-editor-surface .article-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rich-editor-surface .article-infographic,
.infographic-builder__preview .article-infographic { grid-template-columns: repeat(2, minmax(0, 1fr)); counter-reset: infographic-preview; }
.rich-editor-surface :is(.article-card-grid, .article-infographic) > li,
.infographic-builder__preview .article-infographic > li {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--gold);
    background: rgb(167 122 37 / 6%);
    overflow-wrap: anywhere;
}
.rich-editor-surface .article-card-grid > li > strong { display: block; margin-bottom: 6px; font-size: 1.08em; }
.rich-editor-surface .article-infographic > li,
.infographic-builder__preview .article-infographic > li { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-content: start; gap: 4px 9px; text-align: left; overflow-wrap: anywhere; }
.rich-editor-surface .article-infographic:not([class*="article-infographic--"]) > li { display: block; text-align: center; }
.rich-editor-surface .article-infographic:not([class*="article-infographic--"]) > li > strong { display: block; color: var(--gold-dark); font-size: 1.65em; line-height: 1.1; }
.rich-editor-surface .article-infographic__marker,
.infographic-builder__preview .article-infographic__marker { grid-column: 1; grid-row: 1 / span 3; display: grid; width: 31px; height: 31px; border-radius: 50%; background: var(--gold); color: #fff; font: 800 14px/1 Arial,sans-serif; place-items: center; }
.rich-editor-surface .article-infographic__marker img,
.infographic-builder__preview .article-infographic__marker img { width: 100%; height: 100%; object-fit: cover; }
.rich-editor-surface .article-infographic__value,
.infographic-builder__preview .article-infographic__value { grid-column: 2; display: block; color: var(--ink); font-size: 1.45em; line-height: 1.05; }
.rich-editor-surface .article-infographic__title,
.infographic-builder__preview .article-infographic__title { grid-column: 2; display: block; color: var(--ink); line-height: 1.25; }
.rich-editor-surface .article-infographic > li > p,
.rich-editor-surface .article-infographic__note,
.infographic-builder__preview .article-infographic > li > p,
.infographic-builder__preview .article-infographic__note { grid-column: 1 / -1; margin: 5px 0 0; }
.rich-editor-surface .article-infographic__note,
.infographic-builder__preview .article-infographic__note { display: block; padding-top: 6px; border-top: 1px solid rgb(167 122 37 / 24%); color: var(--muted); font-size: .8em; }
.rich-editor-surface :is(.article-infographic--steps, .article-infographic--timeline) .article-infographic__marker,
.infographic-builder__preview :is(.article-infographic--steps, .article-infographic--timeline) .article-infographic__marker { border-radius: 3px; }
.rich-editor-surface [class*='article-marker-'] { position: relative; }
.rich-editor-surface h2[class*='article-marker-'] { padding-left: 38px; }
.rich-editor-surface h2[class*='article-marker-']::before,
.rich-editor-surface :is(ul,ol)[class*='article-marker-'] > li::before { position: absolute; left: 0; display: grid; width: 28px; height: 28px; background: var(--gold); color: #fff; content: '1'; font: 800 12px/1 Arial,sans-serif; place-items: center; }
.rich-editor-surface h2[class*='-circle']::before,
.rich-editor-surface :is(ul,ol)[class*='-circle'] > li::before { border-radius: 50%; }
.rich-editor-surface h2[class*='-dot-']::before,
.rich-editor-surface :is(ul,ol)[class*='-dot-'] > li::before { content: '•'; font-size: 18px; }
.rich-editor-surface .article-banner,
.rich-editor-surface .article-lead-magnet { position: relative; display: grid; gap: 8px; margin: 1em 0; padding: 18px; border: 1px solid var(--gold); overflow: hidden; }
.rich-editor-surface .article-banner--gold { background: rgb(167 122 37 / 8%); }
.rich-editor-surface .article-banner--blue { background: rgb(74 119 144 / 8%); }
.rich-editor-surface .article-banner--green { background: rgb(82 126 96 / 8%); }
.rich-editor-surface .article-banner--cream { background: #fbf4ea; }
.rich-editor-surface .article-banner--sand { background: #eadbc7; }
.rich-editor-surface .article-banner--terracotta { background: #edd4c7; }
.rich-editor-surface .article-banner--sage { background: #dde5dc; }
.rich-editor-surface .article-banner--smoke { background: #e5e3df; }
.rich-editor-surface .article-banner--blush { background: #eee0dc; }
.rich-editor-surface .article-banner--parchment { background: #f2ead9; }
.rich-editor-surface .article-banner--white { background: #fff; }
.rich-editor-surface .article-banner--graphite { background: #343531; color: #fff; }
.rich-editor-surface .article-banner__background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.38); }
.rich-editor-surface .article-banner > :not(.article-banner__background),
.rich-editor-surface .article-lead-magnet > * { position: relative; z-index: 1; }
.rich-editor-surface .article-banner--image { color: #fff; }

/* Structured infographic and banner builders: editor and preview mirror the public rendering. */
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic {
    --info-accent: var(--gold);
    --info-surface: rgb(167 122 37 / 6%);
    --info-line: rgb(167 122 37 / 50%);
    position: relative;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
}
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--metrics { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--columns-1 { grid-template-columns: minmax(0, 1fr); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--tone-white { --info-surface: #fff; }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--tone-blue { --info-accent: #597482; --info-surface: rgb(89 116 130 / 9%); --info-line: rgb(89 116 130 / 52%); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--tone-green { --info-accent: #60785f; --info-surface: rgb(96 120 95 / 9%); --info-line: rgb(96 120 95 / 52%); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--tone-graphite { --info-accent: #3f403c; --info-surface: rgb(63 64 60 / 8%); --info-line: rgb(63 64 60 / 50%); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic > li { position: relative; border-color: var(--info-accent); background: var(--info-surface); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic__marker { background: var(--info-accent); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--markers-square .article-infographic__marker { border-radius: 3px; }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--markers-diamond .article-infographic__marker { border-radius: 2px; clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic__note { border-color: var(--info-line); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--steps > li { border-top-width: 3px; }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--steps > li:not(:last-child)::after {
    display: none;
}
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--timeline { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; padding-left: 45px; }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--timeline::before { position: absolute; top: 15px; bottom: 15px; left: 15px; width: 2px; content: ''; background: var(--info-line); }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--timeline > li { display: block; min-height: 0; border-left-width: 3px; }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--timeline .article-infographic__marker { position: absolute; top: 14px; left: -47px; box-shadow: 0 0 0 5px #fff; }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--timeline :is(.article-infographic__value,.article-infographic__title) { display: block; margin-bottom: 4px; }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--metrics > li,
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--risks > li { border-top-width: 3px; }
:is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--comparison > li:nth-child(even) { box-shadow: inset 4px 0 0 var(--info-line); }

:is(.rich-editor-surface, .special-builder__preview) :is(.article-banner,.article-lead-magnet) {
    grid-template-columns: minmax(0,1fr); grid-template-areas: 'heading' 'text' 'button'; gap: 7px 13px; align-content: center;
}
:is(.rich-editor-surface, .special-builder__preview) :is(.article-banner,.article-lead-magnet).article-banner--with-icon { grid-template-columns: 48px minmax(0,1fr); grid-template-areas: 'icon heading' 'icon text' '. button'; }
:is(.rich-editor-surface, .special-builder__preview) .article-banner__icon { grid-area: icon; display: grid; width: 43px; height: 43px; border: 1px solid currentColor; border-radius: 50%; color: var(--gold); font: 800 20px/1 Arial,sans-serif; place-items: center; }
:is(.rich-editor-surface, .special-builder__preview) :is(.article-banner--image,.article-banner--graphite) .article-banner__icon { color: #fff; }
:is(.rich-editor-surface, .special-builder__preview) .article-banner__heading { grid-area: heading; align-self: end; }
:is(.rich-editor-surface, .special-builder__preview) .article-banner__text { grid-area: text; }
:is(.rich-editor-surface, .special-builder__preview) :is(.article-banner,.article-lead-magnet) > a {
    grid-area: button; display: inline-flex; width: fit-content; min-height: 42px; align-items: center; justify-content: center;
    margin-top: 7px; padding: 9px 14px; border: 1px solid #8b4d32; background: #8b4d32; color: #fff; font-weight: 750; text-decoration: none;
}
:is(.rich-editor-surface, .special-builder__preview) .article-banner--button-outline > a { background: #fff; color: #563023; }
:is(.rich-editor-surface, .special-builder__preview) .article-banner--image > a {
    border-color: #fff; background: #fff; color: #563023;
}
:is(.rich-editor-surface, .special-builder__preview) .article-banner--layout-split { grid-template-columns: minmax(0,1fr); grid-template-areas: 'heading' 'text' 'button'; align-items: start; border-left-width: 1px; }
:is(.rich-editor-surface, .special-builder__preview) .article-banner--layout-split.article-banner--with-icon { grid-template-columns: 48px minmax(0,1fr); grid-template-areas: 'icon heading' 'icon text' '. button'; }
:is(.rich-editor-surface, .special-builder__preview) .article-banner--layout-compact { grid-template-columns: minmax(0,1fr); grid-template-areas: 'heading' 'text' 'button'; min-height: 0; padding-block: 14px; align-items: start; }
:is(.rich-editor-surface, .special-builder__preview) .article-banner--layout-compact.article-banner--with-icon { grid-template-columns: 45px minmax(0,1fr); grid-template-areas: 'icon heading' 'icon text' '. button'; }
:is(.rich-editor-surface, .special-builder__preview) .article-banner--layout-centered { grid-template-columns: minmax(0,1fr); grid-template-areas: 'icon' 'heading' 'text' 'button'; justify-items: center; text-align: center; }
.rich-editor-surface :is(.article-card-grid,.article-infographic,.article-banner,.article-lead-magnet) { cursor: pointer; }
.rich-editor-surface :is(.article-card-grid,.article-infographic,.article-banner,.article-lead-magnet):hover { outline: 2px solid rgb(167 122 37 / 28%); outline-offset: 2px; }

.editor-action-choice {
  display: grid;
  min-width: min(100%, 230px);
  max-width: 330px;
  gap: 5px;
  align-content: start;
}
.editor-action-choice .button { width: 100%; }
.editor-action-choice small { color: var(--muted); font-size: 12px; line-height: 1.3; }
.rich-editor-source { font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 1.55; }
.rich-editor-source { overflow: hidden; }
.block-editor-section--expanded .rich-editor-surface,
.block-editor-section--expanded .rich-editor-source { min-height: calc(100vh - 190px); }

@media (max-width: 900px) {
    .publication-search {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
    }

    .publication-sort {
        grid-column: 1 / 2;
        grid-row: 3 / 5;
    }

    .publication-search__count {
        grid-column: 2 / 3;
        grid-row: 4;
    }
}

/* Компактные раскрывающиеся разделы редактора публикации. */
.editor-disclosure {
    min-width: 0;
    margin: 14px 0;
    padding: 0;
    border: 1px solid var(--line);
    background: #fff;
}

.editor-disclosure > summary {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 16px;
    cursor: pointer;
    list-style: none;
    background: #faf8f4;
}

.editor-disclosure > summary::-webkit-details-marker { display: none; }
.editor-disclosure > summary::after {
    content: "+";
    flex: 0 0 auto;
    color: var(--accent, #77533f);
    font-size: 24px;
    line-height: 1;
}
.editor-disclosure[open] > summary::after { content: "−"; }
.editor-disclosure > summary .form-section-title { margin: 0; }
.editor-disclosure > summary small { margin-left: auto; color: var(--muted); }
.editor-disclosure > :not(summary) { margin-right: 16px; margin-left: 16px; }
.editor-disclosure > :last-child { margin-bottom: 16px; }

.media-card-main { grid-column: 1 / -1; }
.media-preview-frame { position: relative; overflow: hidden; background: #eeeae3; }
.media-preview-frame .media-preview { display: block; width: 100%; max-height: 520px; object-fit: contain; }
.media-preview-overlay {
    position: absolute;
    right: 18px;
    bottom: 14px;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    text-shadow: 0 1px 3px rgba(0,0,0,.55);
}
.media-preview-overlay[data-position="bottom-left"] { right: auto; left: 18px; }
.media-preview-overlay[data-position="top-right"] { top: 14px; bottom: auto; }
.media-preview-overlay[data-position="top-left"] { top: 14px; right: auto; bottom: auto; left: 18px; }
.media-preview-overlay[data-color="cream"] { color: #f7f1e7; }
.media-preview-overlay[data-color="brown"] { color: #6d402d; text-shadow: 0 1px 2px rgba(255,255,255,.65); }
.media-preview-overlay[data-color="graphite"] { color: #252622; text-shadow: 0 1px 2px rgba(255,255,255,.65); }
.media-preview-overlay[data-size="small"] { font-size: 14px; }
.media-preview-overlay[data-size="large"] { font-size: 24px; }
.media-current-actions,
.caption-options { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.media-current-actions .media-meta { margin-right: auto; }
.caption-options > label { flex: 1 1 180px; margin: 0; }
.publication-image-reuse-disclosure > summary { display: grid; gap: 3px; cursor: pointer; font-weight: 800; }
.publication-image-reuse-disclosure > summary small { color: var(--muted); font-weight: 500; }
.publication-image-reuse-disclosure[open] > summary { margin-bottom: 10px; }
.image-tools-dialog { width: min(940px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 1px solid var(--line); }
.image-tools-dialog__body { display: grid; gap: 14px; padding: 16px; overflow: auto; }
.image-tools-dialog canvas { display: block; width: 100%; max-height: 58vh; object-fit: contain; background: repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 50%/18px 18px; }
.image-tools-dialog__controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }

@media (max-width: 700px) {
    .editor-disclosure > summary { align-items: flex-start; }
    .editor-disclosure > summary small { display: none; }
    .image-tools-dialog__controls { grid-template-columns: minmax(0,1fr); }
}

.publication-search {
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
}
.publication-search > label,
.publication-search > label:first-child,
.publication-quality-filter,
.publication-sort {
    display: grid;
    grid-column: auto;
    grid-row: auto;
    gap: 7px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}
.publication-search input,
.publication-search select {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    min-height: 44px;
}
.publication-search__count {
    grid-column: auto;
    grid-row: auto;
    align-self: end;
}

@media (max-width: 680px) {
    .rich-editor-surface .article-card-grid { grid-template-columns: 1fr; }
    .rich-editor-surface .article-infographic { grid-template-columns: 1fr; }

    .publication-search {
        grid-template-columns: minmax(0, 1fr);
    }

    .publication-search > label:first-child,
    .publication-search input,
    .publication-quality-filter,
    .publication-sort,
    .publication-search__count {
        grid-column: auto;
        grid-row: auto;
    }

    .publication-search__count {
        padding: 0;
        text-align: left;
    }
}

@media (max-width: 920px) {
    .card-builder { grid-template-columns: 1fr; }
    .card-builder__preview { position: static; }
    .infographic-builder { grid-template-columns: 1fr; }
    .infographic-builder__preview { position: static; }
    .special-builder { grid-template-columns: 1fr; }
    .special-builder__preview { position: static; }
    .infographic-builder__settings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .editor-insert-dialog--wide { width: calc(100vw - 16px); }
    .card-builder__item-grid,
    .card-builder__upload,
    .infographic-builder__settings,
    .special-builder__settings { grid-template-columns: 1fr; }
    .card-builder__item-title,
    .card-builder__item-subtitle,
    .card-builder__upload,
    .card-builder__upload .field-hint { grid-column: auto; }
    .infographic-builder__heading-field { grid-column: auto; }
    .infographic-builder__item-grid { grid-template-columns: 1fr; }
    .infographic-builder__item-title,
    .infographic-builder__item-text,
    .infographic-builder__item-note { grid-column: auto; }
    .infographic-builder__preview .article-infographic { grid-template-columns: 1fr; }
}

.editor-block {
    display: grid;
    grid-template-columns: minmax(120px, 0.22fr) minmax(0, 1fr);
    gap: 7px 12px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    background: #fdfcf9;
}

.editor-block .block-header { grid-column: 1 / -1; }
.editor-block > label:has(.block-text),
.editor-block > .related-link-fields { grid-column: 2; }
.editor-block > label:has(.block-type),
.editor-block > .heading-icon-wrap { grid-column: 1; }
.heading-icon-wrap[hidden] { display: none; }
.editor-block textarea { min-height: 76px; resize: vertical; }
.editor-block .block-type,
.editor-block .heading-icon { min-height: 38px; padding: 6px 8px; }
.block-controls .block-action { min-height: 32px; padding: 5px 9px; }

.block-editor-section--expanded {
    position: fixed;
    z-index: 1000;
    inset: 10px;
    overflow: auto;
    padding: 16px;
    border: 2px solid var(--gold);
    background: #fff;
    box-shadow: 0 18px 60px rgb(0 0 0 / 25%);
}

.block-editor-section--expanded .block-toolbar {
    position: sticky;
    z-index: 2;
    top: -16px;
    padding: 10px 0;
    background: #fff;
}

.editor-is-expanded { overflow: hidden; }
.editor-tool--expand { margin-left: auto; }

.editor-block label {
    display: grid;
    gap: 8px;
    margin-top: 0;
}

.block-header,
.block-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.block-number {
    color: var(--gold-dark);
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.block-controls {
    justify-content: flex-end;
}

.quote-attribution-wrap[hidden] {
    display: none;
}

.related-link-fields {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr);
    gap: 12px;
}

.related-link-fields[hidden] {
    display: none;
}

.ai-research {
    margin: 28px 0;
    padding: 20px;
    border: 1px solid var(--line);
    background: #fffdf8;
}

.research-report {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.research-summary,
.research-warnings,
.research-sources {
    margin: 0;
    padding: 14px 16px;
    border: 1px solid #d9c28d;
    background: #fff;
}

.research-warnings {
    border-color: #c99b46;
}

.research-warnings ul {
    margin-bottom: 0;
}

.research-sources {
    display: grid;
    gap: 12px;
}

.research-source {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    margin: 0;
    font-weight: 400;
}

.research-source input {
    width: auto;
    margin-top: 4px;
}

.checkbox-row {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    cursor: pointer;
}

.checkbox-row input[type='checkbox'] {
    width: 18px;
    min-width: 18px;
    height: 18px;
    min-height: 0;
    flex: 0 0 18px;
    margin: 0;
    padding: 0;
    accent-color: var(--gold);
}

.style-options {
    grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
    gap: 8px 14px;
}

.ai-topic-actions {
    margin: 2px 0 12px;
}

.ai-topic-actions .button {
    margin-top: 0;
}

.research-source a {
    color: var(--gold-dark);
    font-weight: 700;
}

.research-source small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    line-height: 1.45;
}

.seo-audit-button {
    border-color: var(--gold-dark);
    background: #fff8e8;
}

.seo-audit-report {
    display: grid;
    gap: 12px;
    margin: 20px 0 28px;
    padding: 18px;
    border: 1px solid var(--line);
    background: #fafafa;
}

.seo-audit-report h2 {
    margin: 0;
    font-size: 1.15rem;
}

.seo-audit-group,
.seo-audit-passed {
    padding: 13px 15px;
    border: 1px solid var(--line);
    background: #fff;
}

.seo-audit-group ul,
.seo-audit-passed ul {
    margin-bottom: 0;
}

.seo-audit-errors {
    border-color: #a53b32;
    background: #fff5f4;
}

.seo-audit-warnings {
    border-color: #c99b46;
    background: #fffaf0;
}

.seo-audit-success {
    border-color: #4e7b5b;
    background: #f3faf5;
}

.editor-actions {
    position: sticky;
    bottom: 0;
    z-index: 2;
    margin-right: -12px;
    margin-left: -12px;
    padding: 12px;
    border-top: 1px solid var(--line);
    background: rgb(255 255 255 / 94%);
    backdrop-filter: blur(8px);
}

@media (max-width: 480px) {
    .editor-block { grid-template-columns: 1fr; }
    .editor-block > *,
    .editor-block > label:has(.block-text),
    .editor-block > .related-link-fields,
    .editor-block > label:has(.block-type),
    .editor-block > .heading-icon-wrap { grid-column: 1; }
    .block-editor-section--expanded { inset: 0; padding: 12px; border-width: 0; }

    .related-link-fields {
        grid-template-columns: 1fr;
    }

    .admin-shell {
        padding: 0;
    }

    .admin-card {
        min-height: 100vh;
        padding: 32px 24px;
        border: 0;
        box-shadow: none;
    }

    .page-heading,
    .editor-heading,
    .form-grid-two,
    .form-grid-three,
    .media-grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    .media-generation-form {
        grid-template-columns: 1fr;
    }

    .publication-search {
        grid-template-columns: minmax(0, 1fr);
    }

    .publication-search > label:first-child,
    .publication-quality-filter,
    .publication-sort {
        grid-column: auto;
        grid-row: auto;
    }

    .publication-search input,
    .publication-search__count {
        grid-column: auto;
        grid-row: auto;
    }

    .publication-search__count {
        padding: 0;
        text-align: left;
    }

    .statistics-kpis,
    .statistics-tables {
        grid-template-columns: minmax(0, 1fr);
    }

    .block-header {
        align-items: flex-start;
    }

    .block-controls {
        flex-wrap: wrap;
    }

    .publications-table,
    .publications-table tbody,
    .publications-table tr,
    .publications-table td {
        display: block;
        width: 100%;
    }

    .publications-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }

    .publications-table tr {
        padding: 12px 0;
        border-bottom: 1px solid var(--line);
    }

    .publications-table td {
        display: grid;
        grid-template-columns: 100px minmax(0, 1fr);
        gap: 12px;
        padding: 7px 0;
        border: 0;
    }

    .publications-table td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: 12px;
    }
}

@media (max-width: 900px) {
    .ai-options-grid,
    .reusable-media-grid { grid-template-columns: 1fr; }

    .statistics-kpis,
    .statistics-funnel,
    .statistics-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .statistics-tables { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
    .statistics-data-quality {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .statistics-ignore-status {
        grid-column: auto;
    }

    .statistics-section {
        margin-top: 24px;
    }
}

/* AI publication workflow v2 */
.ai-workspace-toolbar { position: sticky; top: 0; z-index: 12; display: grid; grid-template-columns: minmax(240px,1fr) auto minmax(230px,.7fr) auto auto; gap: 10px; align-items: end; margin: 16px 0; padding: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.97); box-shadow: 0 8px 24px rgba(55,39,29,.08); }
.ai-workspace-toolbar label { display:grid; gap:5px; margin:0; }
.ai-save-status { align-self:center; color:var(--muted); font-weight:750; white-space:nowrap; }
.ai-wizard-nav { display:grid; grid-template-columns:repeat(7,minmax(115px,1fr)); gap:6px; overflow-x:auto; padding:7px; border:1px solid var(--line); background:#f8f4ef; }
.ai-wizard-nav button { display:grid; grid-template-columns:auto 1fr; gap:2px 7px; min-height:62px; padding:9px 10px; border:1px solid transparent; background:#fff; color:var(--ink); text-align:left; font:inherit; cursor:pointer; }
.ai-wizard-nav button > span { grid-row:1 / 3; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#efe3d9; color:#7a3f27; font-weight:850; }
.ai-wizard-nav button > small { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ai-wizard-nav button[aria-current="step"] { border-color:#985436; background:#f5e8df; }
.ai-wizard-nav button[aria-current="step"] > span { background:#985436; color:#fff; }
.ai-wizard-step { scroll-margin-top:90px; padding:24px 0 4px; }
.ai-wizard-step[hidden] { display:none !important; }
.ai-wizard-step > header { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(300px,1.25fr); gap:var(--admin-gap,20px); align-items:end; margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.ai-wizard-step > header :is(h2,p) { margin:0; }
.ai-wizard-step > header h2 { font-size:clamp(28px,3vw,46px); }
.ai-wizard-step label:not(.checkbox-row):not(.research-source) { display:grid; gap:6px; }
.ai-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ai-range-grid { margin-top:14px; }
.ai-range-grid small { min-height:42px; color:var(--muted); }
.ai-range-grid output { color:#985436; font-size:1.3rem; font-weight:850; }
.ai-step-actions { display:flex; justify-content:space-between; gap:10px; margin-top:22px; padding-top:14px; border-top:1px solid var(--line); }
.ai-dropzone { position:relative; display:grid; place-items:center; min-height:150px; margin:8px 0 12px; padding:22px; border:1px dashed #a56c50; background:#fbf7f3; text-align:center; }
.ai-dropzone.is-dragging { background:#f3e4d9; outline:3px solid rgba(152,84,54,.18); }
.ai-dropzone > label { cursor:pointer; }
.ai-dropzone input[type="file"] { margin-top:10px; }
.ai-dropzone ul { width:100%; margin:10px 0 0; padding:0; list-style:none; text-align:left; }
.ai-dropzone li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 0; border-top:1px solid var(--line); }
.ai-dropzone li > span { min-width:0; overflow-wrap:anywhere; }
.ai-dropzone li .button { flex:0 0 auto; min-height:34px; padding:6px 10px; }
.ai-research-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
.ai-research-grid > article { display:grid; gap:10px; min-width:0; padding:16px; border:1px solid var(--line); background:#fff; }
.ai-research-grid h3 { margin:0; color:#7a3f27; }
.integration-status { margin:6px 0; padding:8px 10px; border-left:3px solid #a98a55; background:#faf7f2; }
.integration-status.is-off { border-color:#a1a1a1; color:#666; }
.integration-status.is-on { border-color:#55805b; }
.ai-result-tools { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:12px 0; }
.ai-reader-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ai-reader-grid .research-source { grid-template-columns:auto minmax(0,1fr); }
.ai-reader-grid .research-source input[type="text"] { min-width:0; }
.ai-plan { display:grid; gap:8px; margin:12px 0; }
.ai-plan-block { display:grid; grid-template-columns:minmax(160px,.55fr) minmax(210px,.8fr) minmax(260px,1.5fr) auto; gap:8px; align-items:center; padding:9px 10px; border:1px solid var(--line); background:#fff; font-size:14px; line-height:1.35; }
.ai-plan-block > div:first-child { display:flex; align-items:center; gap:10px; }
.ai-plan-block :is(input,select,textarea) { font-size:14px; line-height:1.35; }
.ai-plan-type { display:inline-flex; padding:4px 6px; background:#985436; color:#fff; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ai-plan-actions { display:flex; gap:5px; }
.ai-plan-actions button { min-width:32px; min-height:32px; border:1px solid var(--line); background:#fff; font-size:13px; cursor:pointer; }
[data-step-panel="plan"] > header h2 { font-size:clamp(24px,2.2vw,34px); }
.ai-option-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0; }
.ai-option-cards button { display:grid; gap:5px; padding:13px; border:1px solid var(--line); background:#fff; color:var(--ink); text-align:left; cursor:pointer; }
.ai-option-cards button:hover { background:#f3e4d9; }
.ai-brief-summary,.ai-token-estimate,.ai-review { display:grid; gap:7px; margin:12px 0; padding:16px; border:1px solid var(--line); background:#fbf7f3; }
.ai-brief-summary :is(p,ul),.ai-token-estimate :is(p,small) { margin:0; }
.ai-review article { padding-top:9px; border-top:1px solid var(--line); }
.ai-review article :is(p,small) { margin:4px 0 0; }
.ai-review.is-ready { border-color:#55805b; background:#f2f7f1; }
.ai-final-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:16px; }
@media (max-width:1100px) {
  .ai-workspace-toolbar { grid-template-columns:1fr 1fr; }
  .ai-workspace-toolbar > :last-child { grid-column:1 / -1; }
  .ai-wizard-nav { grid-template-columns:repeat(4,minmax(155px,1fr)); }
  .ai-research-grid { grid-template-columns:1fr; }
  .ai-plan-block { grid-template-columns:1fr 1fr; }
  .ai-plan-block textarea { grid-column:1 / -1; }
}
@media (max-width:760px) {
  .ai-workspace-toolbar,.ai-wizard-step > header,.ai-choice-grid,.ai-reader-grid,.ai-option-cards,.ai-plan-block { grid-template-columns:1fr; }
  .ai-workspace-toolbar { position:static; }
  .ai-wizard-nav { grid-template-columns:repeat(7,minmax(150px,1fr)); }
  .ai-step-actions,.ai-final-actions { align-items:stretch; flex-direction:column; }
  .ai-step-actions .button,.ai-final-actions .button { width:100%; }
}

/* News and topics */
.news-source-table { display:grid; gap:7px; }
.news-source-row { display:grid; grid-template-columns:minmax(220px,1.2fr) minmax(150px,.65fr) minmax(180px,.8fr) minmax(280px,1fr); gap:12px; align-items:center; padding:12px; border:1px solid var(--line); background:#fff; }
.news-source-row > div { display:grid; gap:4px; min-width:0; }
.news-source-head { background:#f3ebe4; font-weight:800; }
.news-inline-actions { display:flex !important; flex-wrap:wrap; gap:6px !important; }
.news-inline-actions form { margin:0; }
.news-inline-actions .button { min-height:38px; padding:8px 11px; }
.news-source-editor { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding-top:12px; border-top:1px solid var(--line); }
.news-source-editor[hidden] { display:none; }
.rss-status-pending { color:#786b62; }.rss-status-ok { color:#3f6a42; }.rss-status-error { color:#9a332b; }
.news-filter { display:grid; grid-template-columns:minmax(250px,1.4fr) repeat(6,minmax(130px,.6fr)); gap:8px; margin:20px 0 12px; padding:12px; border:1px solid var(--line); background:#f8f4ef; }
.news-filter > * { min-width:0; }
.news-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding-bottom:100px; }
.news-topic-card { position:relative; display:flex; flex-direction:column; gap:10px; min-width:0; padding:17px; border:1px solid var(--line); background:#fff; }
.news-topic-card.is-new::before { content:""; position:absolute; top:0; left:0; width:46px; height:4px; background:#ad7b2a; }
.news-topic-card h2 { margin:0; font-size:1.25rem; line-height:1.2; color:var(--ink); }
.news-topic-card > p { margin:0; color:var(--muted); }
.news-select { display:flex; gap:8px; align-items:center; font-weight:800; }
.news-select input { width:20px; height:20px; }
.news-card-meta,.news-card-tags,.news-card-actions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.news-card-meta { justify-content:space-between; color:#78513e; font-weight:750; }
.news-card-tags span { padding:4px 7px; background:#f3e7de; color:#6e3a25; font-size:.84rem; }
.news-topic-card dl { display:grid; gap:5px; margin:0; padding-top:8px; border-top:1px solid var(--line); }
.news-topic-card dl div { display:grid; grid-template-columns:100px 1fr; gap:8px; }
.news-topic-card :is(dt,dd) { margin:0; }
.news-topic-card dt { color:var(--muted); }
.news-topic-card details { max-width:100%; }
.news-topic-card details p { max-height:260px; overflow:auto; white-space:pre-wrap; }
.news-card-actions { margin-top:auto; padding-top:8px; }
.news-card-actions .button { min-height:40px; padding:8px 10px; }
.news-hide-form { display:grid; grid-template-columns:minmax(130px,1fr) auto; gap:5px; width:100%; }
.news-ai-result { display:grid; gap:6px; padding:11px; background:#eef4eb; border-left:3px solid #577659; }
.news-ai-result :is(p,small) { margin:0; }
.news-changed { padding:8px; background:#fff3d9; color:#694c19 !important; }
.news-selection-bar { position:fixed; z-index:20; right:24px; bottom:20px; left:24px; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; max-width:1500px; margin:auto; padding:13px 16px; border:1px solid #7d432b; background:#fff; box-shadow:0 12px 34px rgba(50,32,23,.2); }
.news-selection-bar[hidden] { display:none; }
.news-selection-bar form { display:flex; gap:8px; align-items:end; justify-content:center; }
.news-selection-bar label { display:grid; gap:4px; }
.news-card-grid.is-compact { grid-template-columns:1fr; }
.news-card-grid.is-compact .news-topic-card { display:grid; grid-template-columns:auto minmax(180px,.35fr) minmax(300px,1fr) auto; align-items:center; }
.news-card-grid.is-compact .news-topic-card > :not(.news-select):not(.news-card-meta):not(h2):not(.news-card-actions) { display:none; }
@media(max-width:1200px){.news-source-row{grid-template-columns:1fr 1fr}.news-source-head{display:none}.news-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.news-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-card-grid.is-compact .news-topic-card{grid-template-columns:auto 1fr}.news-selection-bar{grid-template-columns:1fr}.news-selection-bar form{justify-content:start}}
@media(max-width:760px){.news-source-row,.news-source-editor,.news-filter,.news-card-grid,.news-card-grid.is-compact .news-topic-card{grid-template-columns:1fr}.news-card-grid.is-compact .news-topic-card{display:flex}.news-selection-bar{right:8px;bottom:8px;left:8px}.news-selection-bar form{align-items:stretch;flex-direction:column}.news-selection-bar .button{width:100%}}

.file-analysis-results:empty { display: none; }
.file-analysis-results { display: grid; gap: 12px; margin-top: 14px; }
.extracted-materials { display: grid; gap: 10px; }
.extracted-materials article {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--line);
    background: #fff;
}
.extracted-materials textarea { width: 100%; min-height: 84px; resize: vertical; }

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}
.publication-preview-link {
    display: block;
    width: fit-content;
    margin-top: 0.35rem;
    color: #8b651e;
    font-size: 0.86rem;
}

.publication-action-form {
    margin: 0 0 0.65rem;
}

.publication-action-form .button {
    width: 100%;
}

.channel-jobs { display: grid; gap: 20px; margin-top: 24px; }
.channel-platforms { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; margin: 18px 0 24px; }
.channel-platform { display: grid; gap: 5px; padding: 12px; border: 1px solid var(--line); background: #f7f5f0; }
.channel-platform.is-active { border-color: var(--gold); background: rgba(167, 122, 37, 0.08); }
.channel-platform span { color: var(--muted); font-size: 0.82rem; line-height: 1.35; }
.channel-job { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; padding: 20px; border: 1px solid var(--line); background: #fff; }
.channel-job:not(:has(> img)) { grid-template-columns: minmax(0, 1fr); }
.channel-job--text-only { grid-template-columns: minmax(0, 1fr); }
.channel-job > img { width: 150px; aspect-ratio: 1; object-fit: contain; background: #f5eddb; }
.channel-job h2 { margin: 8px 0; font-size: 1.15rem; }
.channel-job-meta, .channel-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.channel-job-meta { color: var(--muted); font-size: 0.85rem; }
.channel-caption-editor { display: grid; gap: 8px; max-width: 820px; margin: 12px 0 16px; }
.channel-caption-editor label { color: var(--muted); font-size: 0.85rem; font-weight: 700; }
.channel-caption-editor textarea { width: 100%; min-height: 190px; padding: 12px; resize: vertical; border: 1px solid var(--line); background: #fff; color: var(--text); line-height: 1.5; }
.publication-quality { display: flex; flex-wrap: wrap; gap: 7px; margin: 2px 0 4px; }
.publication-quality__item { padding: 5px 8px; border: 1px solid var(--line); background: #fff; color: var(--muted); font-size: 12px; line-height: 1.25; }
.publication-quality__item.is-ok { border-color: #608169; background: #f3faf5; color: #31553a; }
.publication-quality__item.is-warning { border-color: #c6a24f; background: #fffaf0; color: #6f5b21; }
.publication-quality__item.is-error { border-color: #a4554e; background: #fff5f4; color: #7b302b; }
.channel-caption-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.button-danger { border-color: #8f3737; background: #fff; color: #8f3737; }
.button-danger:hover, .button-danger:focus-visible { background: #8f3737; color: #fff; }
.channel-check { margin: 20px 0; padding: 18px; border: 1px solid var(--line); background: #fffaf0; }
.channel-check h2 { margin-top: 0; font-size: 1.1rem; }
.channel-check ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.channel-check li { display: grid; gap: 3px; padding-left: 18px; position: relative; }
.channel-check li::before { content: '●'; position: absolute; left: 0; color: #9b2c2c; }
.channel-check li.is-ok::before { color: #26734d; }
.channel-check li span { color: var(--muted); font-size: 0.9rem; }
.channel-automation { display: grid; gap: 16px; margin: 20px 0 28px; padding: 18px; border: 1px solid var(--gold); background: rgba(167, 122, 37, 0.08); }
.channel-automation h2 { margin: 0 0 5px; font-size: 1.15rem; }
.channel-automation p { margin: 0; color: var(--muted); font-size: 0.9rem; }
.channel-automation__options { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 9px; margin-bottom: 14px; }
.channel-automation__options label { display: flex; gap: 9px; align-items: flex-start; padding: 10px; border: 1px solid var(--line); background: #fff; cursor: pointer; }
.channel-automation__options input { margin-top: 4px; accent-color: var(--gold); }
.channel-automation__options span { display: grid; gap: 2px; }
.channel-automation__options small { color: var(--muted); }
.channel-optional-form { margin-top: 10px; }
.text-button { padding: 0; border: 0; background: transparent; color: var(--gold-dark); font: inherit; font-size: 0.88rem; text-decoration: underline; cursor: pointer; }
@media (max-width: 600px) { .channel-job { grid-template-columns: 1fr; } .channel-job > img { width: 120px; } .statistics-kpis, .statistics-funnel, .statistics-channels { grid-template-columns: 1fr; } }
.editor-block-added{outline:2px solid #b08a3c;outline-offset:2px;background:#fffaf0}

.editorial-generator { display: grid; gap: 16px; margin-top: 22px; padding: 20px; border: 1px solid var(--line); background: #faf8f3; }
.editorial-generator label, .editorial-result label { display: grid; gap: 7px; color: var(--muted); font-size: .88rem; font-weight: 700; }
.editorial-generator select, .editorial-generator textarea, .editorial-result textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); background: #fff; color: var(--text); font: inherit; line-height: 1.5; }
.editorial-generator textarea, .editorial-result textarea { resize: vertical; }
.editorial-checkbox { display: flex !important; flex-direction: row; align-items: center; align-self: end; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); background: #fff; }
.editorial-checkbox input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--gold); }
.editorial-result { display: grid; gap: 9px; margin-top: 30px; padding-top: 24px; border-top: 2px solid var(--gold); }
.editorial-result-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; }
.editorial-result-heading h2 { margin: 0; }
.editorial-result .text-button { width: fit-content; margin: -3px 0 10px; }
.editorial-result textarea[data-editorial-field="body"] { min-height: 520px; }
.media-section-collapsible{padding:0;overflow:hidden}.media-section-summary{display:flex;gap:14px;align-items:center;padding:14px;cursor:pointer;list-style:none}.media-section-summary::-webkit-details-marker{display:none}.media-section-summary img,.media-summary-placeholder{width:150px;height:92px;flex:0 0 150px;border:1px solid rgba(154,129,3,.28);object-fit:cover;background:rgba(154,129,3,.08)}.media-summary-placeholder{display:grid;place-items:center;color:var(--gold,#9a8103);font-size:34px}.media-section-summary>span:last-child{display:grid;gap:4px}.media-section-summary small{color:var(--muted,#706b62);font-weight:400}.media-section-body{padding:0 18px 18px;border-top:1px solid rgba(154,129,3,.2)}.media-section-collapsible[open] .media-section-summary{background:rgba(154,129,3,.06)}.channel-manual-add{margin:20px 0;padding:18px;border:1px solid rgba(154,129,3,.28);background:rgba(154,129,3,.05)}.channel-manual-add h2{margin-top:0}.block-controls .block-action[data-format-action]{min-width:34px;padding-inline:7px}.block-controls .block-action[data-action=italic]{font-style:italic}.block-controls .block-action[data-action=bold],.block-controls .block-action[data-action=bold-italic]{font-weight:800}@media(max-width:620px){.media-section-summary img,.media-summary-placeholder{width:104px;height:72px;flex-basis:104px}.media-section-summary{align-items:flex-start}.media-section-body{padding-inline:12px}}
.media-section-summary{width:max-content;max-width:100%;gap:0;padding:8px}.media-section-summary img,.media-summary-placeholder{width:104px;height:68px;flex-basis:104px}@media(max-width:620px){.media-section-summary{align-items:center}.media-section-summary img,.media-summary-placeholder{width:88px;height:58px;flex-basis:88px}}
.media-section-summary{gap:12px}.media-section-summary__label{display:grid;min-width:0;gap:3px}.media-section-summary__label strong{color:var(--text);font-size:15px}.media-section-summary__label small{font-size:12px}.ai-image-form select{width:100%}

/* Единые элементы выбора во всей редакционной панели. */
body input[type="checkbox"] {
    appearance: auto;
    box-sizing: border-box;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px;
    flex: 0 0 18px;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    accent-color: var(--gold);
}

body :is(.checkbox-row, .research-source, .editorial-checkbox, .statistics-ignore-toggle, .site-editor-shared-toggle, .site-editor-ai-consent, .delete-confirm) {
    min-width: 0;
    max-width: 100%;
    align-items: flex-start;
    gap: 9px;
    white-space: normal;
    overflow-wrap: anywhere;
}

body :is(.research-source, .checkbox-row) > span,
body :is(.ai-options-grid, .form-grid-two, .form-grid-three) > label,
body fieldset,
body label,
body legend {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

body :is(.checkbox-row, .research-source, .editorial-checkbox, .statistics-ignore-toggle, .site-editor-shared-toggle, .site-editor-ai-consent, .delete-confirm) > input[type="checkbox"] {
    align-self: flex-start;
}

.form-message {
    min-height: 1.4em;
    margin: 2px 0 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.4;
}

.form-message-success { color: #416044; }
.form-message-error { color: #8b2f28; }

.ai-humanizer {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: 16px;
    align-items: end;
    margin-top: 16px;
    padding: 16px;
    border: 1px solid rgba(154, 129, 3, .34);
    background: rgba(154, 129, 3, .045);
}

.ai-humanizer .form-section-title { margin: 0 0 5px; }
.ai-humanizer .field-hint { margin: 0; max-width: 760px; }
.ai-humanizer__controls { display: grid; gap: 7px; min-width: 0; }
.ai-humanizer__controls > label { margin: 0; font-weight: 700; }
.ai-humanizer__range { display: grid; grid-template-columns: minmax(140px, 1fr) 88px; gap: 12px; align-items: center; }
.ai-humanizer__range input[type="range"] { width: 100%; margin: 0; accent-color: var(--gold, #9a8103); }
.ai-humanizer__range output { color: var(--text, #2f302d); font-weight: 700; text-align: right; }
.ai-humanizer__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; }
.ai-humanizer__actions .button { min-height: 40px; margin: 0; }
.ai-humanizer__submit { flex: 1 1 170px; }

@media (max-width: 780px) {
    .ai-humanizer { grid-template-columns: minmax(0, 1fr); align-items: stretch; padding: 14px; }
    .ai-humanizer__actions .button { flex: 1 1 100%; }
}

.text-format-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    margin: 0 0 2px;
    padding: 7px;
    border: 1px solid var(--line);
    border-bottom: 0;
    background: #f7f5f0;
}

.text-format-toolbar + textarea {
    margin-top: -2px;
}

.text-format-toolbar button {
    min-width: 38px;
    min-height: 34px;
    padding: 5px 9px;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--text);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

.text-format-toolbar button:hover,
.text-format-toolbar button:focus-visible,
.text-format-toolbar button[aria-pressed="true"] {
    border-color: var(--gold);
    background: rgb(154 129 3 / 10%);
    color: var(--gold-dark);
}

.text-format-toolbar button:focus-visible {
    outline: 2px solid rgb(154 129 3 / 24%);
    outline-offset: 1px;
}

.channel-caption-editor > label,
.editorial-result > label {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 600px) {
    .text-format-toolbar button {
        flex: 1 1 auto;
    }
}

@keyframes admin-ai-result-ready {
    0% { outline-color: transparent; background-color: inherit; }
    35% { outline-color: rgb(167 122 37 / 72%); background-color: rgb(167 122 37 / 8%); }
    100% { outline-color: transparent; background-color: inherit; }
}

.is-ai-updated {
    outline: 2px solid transparent;
    outline-offset: 2px;
    animation: admin-ai-result-ready 1.35s ease-out;
}

@media (prefers-reduced-motion: reduce) {
    .is-ai-updated {
        animation: none;
        outline-color: var(--gold);
    }
}

/* AI and visual builders: predictable controls without page jumps. */
.ai-preferences-dialog {
    width: min(720px, calc(100vw - 28px));
}

.ai-preferences-dialog .editor-insert-dialog__body {
    display: grid;
    gap: 14px;
}

.ai-preferences-dialog textarea {
    min-height: 190px;
    resize: vertical;
}

.special-builder__settings [data-special-inverse-wrap] {
    grid-column: 1 / -1;
    align-self: end;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--line);
    background: #fff;
}

:is(.rich-editor-surface, .special-builder__preview) .article-lead-magnet--inverse {
    border-color: #343531;
    background: #343531 !important;
    color: #fff !important;
}

:is(.rich-editor-surface, .special-builder__preview) .article-lead-magnet--inverse :is(p,strong) {
    color: inherit !important;
}

:is(.rich-editor-surface, .special-builder__preview) .article-lead-magnet--inverse .article-banner__icon {
    color: #fff;
}

:is(.rich-editor-surface, .special-builder__preview) .article-lead-magnet--inverse.article-banner--button-outline > a {
    border-color: #fff;
    background: transparent;
    color: #fff;
}

/* Connectors live only in the internal gap, so they cannot widen the page. */
@media (min-width: 681px) {
    :is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--steps.article-infographic--columns-2 > li:nth-child(odd):not(:last-child)::after,
    :is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--steps.article-infographic--columns-3 > li:not(:nth-child(3n)):not(:last-child)::after {
        position: absolute;
        z-index: 2;
        top: 28px;
        right: -10px;
        width: 10px;
        height: 2px;
        content: '';
        background: var(--info-accent);
        pointer-events: none;
    }

    :is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--steps.article-infographic--columns-2 > li:nth-child(odd):not(:last-child)::before,
    :is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--steps.article-infographic--columns-3 > li:not(:nth-child(3n)):not(:last-child)::before {
        position: absolute;
        z-index: 3;
        top: 24px;
        right: -10px;
        width: 0;
        height: 0;
        content: '';
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 6px solid var(--info-accent);
        pointer-events: none;
    }
}

@media (max-width: 680px) {
    :is(.rich-editor-surface, .infographic-builder__preview) .article-infographic--steps > li:not(:last-child)::after {
        position: absolute;
        z-index: 2;
        bottom: -10px;
        left: 29px;
        width: 2px;
        height: 10px;
        content: '';
        background: var(--info-accent);
        pointer-events: none;
    }
}

/* Закрытый журнал обращений */
.lead-submissions__list { display: grid; gap: 12px; }
.lead-submission { min-width: 0; padding: 18px; border: 1px solid var(--line); background: #fff; }
.lead-submission__heading { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; }
.lead-submission__heading > div { display: flex; min-width: 0; gap: 6px 14px; flex-wrap: wrap; align-items: baseline; }
.lead-submission__heading a { color: var(--text); font-weight: 700; }
.lead-submission__heading time { color: var(--muted); font-size: 13px; white-space: nowrap; }
.lead-submission__question { margin: 14px 0; padding: 13px 15px; border-left: 3px solid var(--gold); background: #faf8f3; white-space: normal; }
.lead-submission dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 18px; margin: 0; }
.lead-submission dl div { display: grid; min-width: 0; grid-template-columns: 110px minmax(0, 1fr); gap: 8px; }
.lead-submission dt { color: var(--muted); font-size: 12px; }
.lead-submission dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-size: 13px; }
.lead-submission__delete { display: flex; justify-content: flex-end; margin-top: 14px; }

.lead-log-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.lead-log-filters a { display: inline-flex; gap: 8px; align-items: center; min-height: 42px; padding: 8px 13px; border: 1px solid var(--line); background: #fff; color: var(--text); text-decoration: none; }
.lead-log-filters a:hover, .lead-log-filters a:focus-visible, .lead-log-filters a[aria-current="page"] { border-color: var(--accent); background: var(--accent-soft); }
.lead-log-filters b { min-width: 24px; padding: 2px 6px; background: var(--surface-muted); text-align: center; }
.lead-event-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 8px; border: 1px solid var(--accent); color: var(--accent-dark); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.lead-submission--submitted { border-left: 4px solid var(--accent); }
.lead-submission--opened { border-left: 4px solid #a8a298; }
.lead-visit-history { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 10px; }
.lead-visit-history summary { color: var(--accent-dark); font-weight: 700; cursor: pointer; }
.lead-visit-history ol { display: grid; gap: 4px; margin: 10px 0 0; padding-left: 22px; }
.lead-visit-history li { overflow-wrap: anywhere; font-size: 13px; }
.button-danger { border-color: #8d3b32 !important; background: transparent !important; color: #7b2f28 !important; }
.button-danger:hover, .button-danger:focus-visible { background: #8d3b32 !important; color: #fff !important; }
@media (max-width: 760px) {
    .lead-submission__heading, .lead-submission dl { grid-template-columns: minmax(0, 1fr); }
    .lead-submission__heading { flex-direction: column; }
}

/* 2026-09 · Единая эргономика редакционной панели. */
.admin-shell-top {
    display: block;
    width: 100%;
    padding: 12px;
}

.admin-shell-top > :is(.admin-card-wide, .admin-card-form, .admin-card-editor) {
    width: min(100%, 1840px);
    margin-inline: auto;
    padding: clamp(20px, 2.2vw, 34px);
    border-radius: 6px;
    box-shadow: 0 12px 38px rgb(58 47 25 / 8%);
}

.admin-shell-top .brand-mark {
    width: 42px;
    height: 42px;
    margin-bottom: 7px;
    font-size: 14px;
}

.admin-shell-top > section > .eyebrow {
    margin-bottom: 8px;
    font-size: 11px;
}

.admin-nav {
    position: sticky;
    z-index: 40;
    top: 0;
    flex-wrap: nowrap;
    margin: 0 -10px 18px;
    padding: 8px 10px;
    overflow-x: auto;
    border: 1px solid var(--line);
    background: rgb(255 255 255 / 96%);
    box-shadow: 0 5px 18px rgb(58 47 25 / 7%);
    backdrop-filter: blur(10px);
    scrollbar-width: thin;
}

.admin-nav a {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 7px 11px;
    white-space: nowrap;
}

.page-heading,
.editor-heading {
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
}

.page-heading .lead,
.editor-heading .lead {
    margin-bottom: 0;
}

.publication-form {
    gap: 8px;
}

.editor-workflow {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin: 2px 0 10px;
    padding: 10px;
    border: 1px solid var(--line);
    background: #faf8f3;
}

.editor-workflow a {
    display: flex;
    min-width: 0;
    min-height: 42px;
    padding: 7px 9px;
    gap: 7px;
    align-items: center;
    border: 1px solid transparent;
    color: var(--text);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.editor-workflow a:hover,
.editor-workflow a:focus-visible {
    border-color: var(--gold);
    background: #fff;
}

.editor-workflow span {
    display: grid;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    place-items: center;
    background: var(--gold);
    color: #fff;
    font-size: 11px;
}

.publication-form > .form-section-title {
    margin-top: 20px;
    padding: 14px 16px 0;
    border-top: 1px solid var(--line);
    color: #65451f;
    font-size: 21px;
}

.publication-form > label,
.publication-form > :is(input, textarea, select, .slug-field, .ai-field-actions, .field-hint-close) {
    margin-right: 16px;
    margin-left: 16px;
}

.publication-form > .ai-field-button {
    margin-left: 16px;
}

.publication-form > :is(.publication-classifiers, .media-section, .block-editor-section, .ai-research, .editor-actions) {
    margin-right: 0;
    margin-left: 0;
}

.publication-form input,
.publication-form select,
.publication-form textarea {
    min-width: 0;
}

.publication-form label {
    line-height: 1.35;
}

.block-editor-section {
    padding: 16px;
    border: 1px solid var(--line);
    background: #fcfbf8;
}

.block-editor-section > .form-section-title {
    margin: 0;
    padding: 0;
    border: 0;
}

.block-toolbar {
    position: sticky;
    z-index: 16;
    top: 58px;
    margin: 10px 0 0;
    border-bottom: 0;
    background: rgb(250 248 243 / 97%);
    backdrop-filter: blur(8px);
}

.rich-editor-surface,
.rich-editor-source {
    min-height: 560px;
    padding: clamp(18px, 2vw, 28px);
    border-color: #cfc5b5;
    box-shadow: inset 0 1px 0 rgb(0 0 0 / 2%);
}

.ai-field-button,
.ai-humanizer__actions .button,
.site-banner-ai .button {
    position: relative;
}

.ai-field-button:disabled,
.ai-humanizer__actions .button:disabled,
.site-banner-ai .button:disabled {
    opacity: .68;
    cursor: progress;
}

.ai-assist-toast {
    position: fixed;
    z-index: 10000;
    right: 18px;
    top: 18px;
    bottom: auto;
    width: min(420px, calc(100% - 36px));
    padding: 13px 15px;
    border: 1px solid var(--gold);
    background: #fffaf0;
    color: var(--text);
    box-shadow: 0 14px 36px rgb(45 36 23 / 18%);
    font-size: 14px;
    line-height: 1.4;
    pointer-events: none;
}

.ai-assist-toast.is-success { border-color: #4e7b5b; background: #f3faf5; }
.ai-assist-toast.is-error { border-color: #a53b32; background: #fff5f4; }
.ai-assist-toast[hidden] { display: none; }

@media (max-width: 760px) {
    .ai-assist-toast {
        top: 10px;
        right: 10px;
        width: calc(100% - 20px);
    }
}

.editor-actions {
    z-index: 30;
    margin: 18px -18px -18px !important;
    padding: 12px 18px;
    border: 1px solid var(--line);
    border-bottom: 0;
}

.editor-insert-dialog {
    max-height: calc(100dvh - 36px);
    border-radius: 6px;
}

.editor-insert-dialog__head {
    position: sticky;
    z-index: 8;
    top: 0;
    background: #fff;
}

@media (max-width: 760px) {
    .admin-shell-top { padding: 0; }
    .admin-shell-top > :is(.admin-card-wide, .admin-card-form, .admin-card-editor) {
        min-height: 100dvh;
        padding: 18px 14px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }
    .admin-nav { margin-inline: -14px; border-right: 0; border-left: 0; }
    .publication-form > label,
    .publication-form > :is(input, textarea, select, .slug-field, .ai-field-actions, .field-hint-close) { margin-right: 0; margin-left: 0; }
    .publication-form > .ai-field-button { margin-left: 0; }
    .block-editor-section { padding: 10px; }
    .block-toolbar { top: 54px; }
    .editor-actions { margin-inline: -10px !important; padding-inline: 10px; }
    .editor-workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 7px; }
}

@media (min-width: 761px) and (max-width: 1180px) {
    .editor-workflow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.editor-workflow--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.editor-workflow--seven {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.landing-inline-options,
.ai-draft-metrics-panel {
    padding: 16px;
    border: 1px solid var(--admin-line, #d8c8bc);
    background: #fbf8f5;
}

.landing-inline-options[hidden],
[data-article-type-field][hidden],
[data-landing-confirm][hidden] { display: none !important; }

.ai-draft-metrics-panel p { margin: 7px 0 12px; }
.ai-draft-metrics-panel .button { width: fit-content; }

@media (max-width: 1180px) {
    .editor-workflow--seven { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .editor-workflow--seven { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.ai-draft-form > .form-section-title {
    margin-top: 18px;
}

.ai-draft-form > .form-section-title:first-of-type {
    margin-top: 4px;
}

.ai-draft-suggestion-controls {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
}

.ai-draft-suggestion-controls legend {
    grid-column: 1 / -1;
}

.ai-draft-suggestion-controls .checkbox-row {
    min-height: 48px;
    margin: 0;
    padding: 9px 11px;
    border: 1px solid var(--line);
    background: #fff;
}

.ai-draft-suggestion-controls .button {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: 4px;
}

.ai-draft-results {
    display: grid;
    gap: 10px;
}

.ai-draft-results:empty {
    display: none;
}

@media (max-width: 900px) {
    .editor-workflow--four,
    .ai-draft-suggestion-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .editor-workflow--four,
    .ai-draft-suggestion-controls {
        grid-template-columns: minmax(0, 1fr);
    }

    .ai-draft-suggestion-controls legend,
    .ai-draft-suggestion-controls .button {
        grid-column: 1;
        width: 100%;
    }
}
/* Посадочные страницы: крупный последовательный редактор без скрытых технических полей. */
.landing-generation-form,
.landing-edit-form {
  margin-top: 24px;
}

.landing-section-editor {
  display: grid;
  gap: 16px;
  margin-bottom: 16px;
}

.landing-section-row {
  min-width: 0;
  margin: 0;
  padding: 18px;
  border: 1px solid rgba(154, 129, 3, .5);
  background: #fff;
}

.landing-section-row legend {
  padding: 0 8px;
  color: #563023;
  font-weight: 800;
}

.landing-section-row label {
  display: grid;
  gap: 7px;
  margin-bottom: 14px;
}

.landing-confidentiality-confirm {
  margin-top: 14px;
  border-color: rgba(123, 66, 45, .34);
  background: #fbf7f2;
}

.landing-source-brief {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  background: #faf9f6;
}

.landing-source-brief summary {
  cursor: pointer;
  color: #563023;
  font-weight: 800;
}

.landing-source-brief textarea {
  width: 100%;
  margin-top: 10px;
}

.landing-draft-panel { margin: 16px 0 24px; }
.landing-draft-panel .landing-generation-form { margin-top: 8px; }
.landing-draft-list { display: grid; gap: 8px; margin-top: 18px; }
.landing-draft-list > a {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  text-decoration: none;
}
.landing-draft-list > a span { display: grid; min-width: 0; gap: 3px; }
.landing-draft-list > a small { color: var(--muted); overflow-wrap: anywhere; }
.landing-draft-list > a em { color: var(--gold-dark); font-size: 12px; font-style: normal; font-weight: 750; white-space: nowrap; }
.landing-draft-list > a:hover,
.landing-draft-list > a:focus-visible { border-color: var(--gold); background: rgb(154 129 3 / 7%); }

.publications-table td small {
  display: block;
  margin-top: 5px;
  color: #66665f;
  overflow-wrap: anywhere;
}
.admin-check--compact {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
  color: var(--ink, #252622);
  font-size: 14px;
  line-height: 1.4;
}

.admin-check--compact input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--accent, #77533f);
}
.wordstat-panel { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); background: #fbfaf7; }
.wordstat-panel h2 { margin: 0 0 4px; font-size: 20px; }
.wordstat-panel p { margin: 0; color: var(--muted); line-height: 1.45; }
.wordstat-toolbar { display: grid; grid-template-columns: minmax(260px,1.5fr) minmax(150px,.55fr) minmax(170px,.65fr) auto; gap: 10px; align-items: end; }
.wordstat-toolbar label { margin: 0; }
.wordstat-toolbar .button { min-height: 44px; margin: 0; }
.wordstat-results { display: grid; gap: 10px; }
.wordstat-summary { padding: 10px 12px; border-left: 3px solid var(--gold); background: #fff; color: var(--text) !important; }
.wordstat-phrases { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width:980px) { .wordstat-toolbar,.wordstat-phrases { grid-template-columns:minmax(0,1fr); } }
.admin-site-summary { display:grid; grid-template-columns:repeat(6,minmax(110px,1fr)); gap:1px; margin:0 0 18px; border:1px solid var(--line); background:var(--line); }
.admin-site-summary > span { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; gap:2px 7px; padding:8px 10px; background:#fff; }
.admin-site-summary small { grid-column:1/-1; overflow:hidden; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.03em; text-overflow:ellipsis; white-space:nowrap; }
.admin-site-summary strong { color:var(--text); font-size:15px; }
.admin-site-summary em { align-self:center; font-size:11px; font-style:normal; font-weight:800; }
.admin-site-summary .is-positive { color:#227148; }
.admin-site-summary .is-negative { color:#a33a32; }
@media (max-width:980px) { .admin-site-summary { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:600px) { .admin-site-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Редактор публикации: одна прокрутка страницы и два очевидных способа выбрать изображение. */
.publication-image-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.publication-image-action {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--line);
    background: #fff;
}

.publication-image-action > .form-section-title,
.publication-image-action > :is(.field-hint, label, button) { margin: 0; }
.publication-file-picker { display: grid; gap: 7px; }
.publication-image-actions > .form-message { grid-column: 1 / -1; }
.publication-image-action .reusable-media-picker {
    max-height: none;
    padding: 0;
    overflow: visible;
    border-top: 0;
}

.editor-actions--simple {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) repeat(2, minmax(180px, auto));
    align-items: center;
    gap: 10px;
}

.editor-actions--simple .autosave-status {
    grid-column: 1 / -1;
    min-height: 20px;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.35;
}

.autosave-status.is-saving { color: #765b27; }
.autosave-status.is-saved { color: #416044; }
.autosave-status.is-error { color: #8b2f28; font-weight: 700; }
.autosave-status.is-pending { color: #6a6257; }
.editor-actions--simple .button { min-height: 44px; margin: 0; }

.admin-card-editor,
.publication-form,
.block-editor-section,
.rich-editor-surface,
.rich-editor-source,
.reusable-media-picker { overflow: visible; }

@media (max-width: 900px) {
    .publication-image-actions { grid-template-columns: minmax(0, 1fr); }
    .editor-actions--simple { grid-template-columns: minmax(0, 1fr); }
    .editor-actions--simple .autosave-status { grid-column: 1; }
}
/* Фототека адвоката: отдельная компактная управляемая коллекция. */
.attorney-photo-upload {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(240px, 1fr) auto;
    gap: 14px;
    align-items: end;
    margin: 18px 0 24px;
    padding: 18px;
    border: 1px solid var(--line, #d8c9bb);
    background: #fbf8f4;
}

.attorney-photo-upload label {
    display: grid;
    gap: 7px;
    font-weight: 700;
}

.attorney-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 18px;
}

.attorney-photo-card {
    overflow: hidden;
    border: 1px solid #c9b8a8;
    background: #fff;
}

.attorney-photo-card.is-active {
    border-color: #98502f;
}

.attorney-photo-card > img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    object-position: center 22%;
}

.attorney-photo-card > div {
    display: grid;
    gap: 10px;
    padding: 14px;
}

.attorney-photo-card small {
    color: #666158;
}

.attorney-photo-card form {
    display: grid;
    gap: 8px;
    margin: 0;
}

@media (max-width: 820px) {
    .attorney-photo-upload {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* RSS: компактное управление источниками и поводами для ИИ-черновика. */
.rss-period { width: min(220px, 100%); }
.rss-period label,
.rss-source-form { display: grid; gap: 8px; }
.rss-source-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rss-source-form > :is(label, button):nth-last-child(-n + 3) { grid-column: 1 / -1; }
.rss-source-list,
.rss-news-list { display: grid; gap: 12px; margin-top: 16px; }
.rss-source-list article,
.rss-news-list article {
    display: flex;
    min-width: 0;
    gap: 14px;
    padding: 16px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--line);
    background: #fff;
}
.rss-source-list article > div,
.rss-news-list article > div { display: grid; min-width: 0; gap: 4px; }
.rss-source-list small,
.rss-news-list small { overflow-wrap: anywhere; }
.rss-source-list .rss-status-ok { color: #3f6a42; font-weight: 750; }
.rss-source-list .rss-status-error { color: #9a332b; font-weight: 750; }
.rss-news-list article time { white-space: nowrap; color: var(--muted); }
.rss-news-list article form { margin-left: auto; }
@media (max-width: 760px) {
    .rss-source-form { grid-template-columns: 1fr; }
    .rss-source-list article,
    .rss-news-list article { align-items: stretch; flex-direction: column; }
    .rss-news-list article form { margin-left: 0; }
}
.news-ai-operation{width:100%;min-height:42px;border:1px solid var(--line);background:#fff;color:var(--text);padding:.55rem .65rem}
.news-related{display:grid;gap:.45rem;padding:.8rem;background:#f8f3ed;border-left:3px solid var(--gold)}
.news-related>a{display:grid;gap:.12rem;color:var(--text);text-decoration:none}
.news-related>a:hover,.news-related>a:focus-visible{color:var(--gold-dark);text-decoration:underline}
.news-related small{font-weight:400;color:var(--muted)}
.ai-version-dialog{width:min(1100px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);border:1px solid var(--line);padding:1.25rem;background:var(--surface);color:var(--text)}
.ai-version-dialog::backdrop{background:rgba(35,24,18,.48)}
.ai-version-dialog>form{position:sticky;top:0;display:flex;justify-content:flex-end;z-index:2}
.ai-version-dialog>form button{width:42px;height:42px;border:1px solid var(--line);background:#fff;color:var(--text);font-size:1.5rem;cursor:pointer}
.ai-version-dialog pre{max-height:60vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);padding:1rem;font:500 .82rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}
.media-picker-dialog { width:min(1180px,calc(100vw - 24px)); height:min(860px,calc(100vh - 24px)); padding:0; overflow:hidden; border:1px solid var(--line); }
.media-picker-dialog::backdrop { background:rgb(31 25 22 / 62%); }
.media-picker-dialog iframe { display:block; width:100%; height:calc(100% - 58px); border:0; background:#fff; }
.media-primary-actions { display:flex; flex-wrap:wrap; gap:10px; margin:10px 0; }

/* Публикации: единое рабочее пространство редактора. */
html { scroll-padding-top: 104px; }
.admin-card-editor { container-type: inline-size; }
.publication-commandbar {
  position: sticky;
  top: 55px;
  z-index: 39;
  display: grid;
  grid-template-columns: minmax(180px,1fr) auto auto;
  gap: 12px;
  align-items: center;
  margin: 0 -22px 14px;
  padding: 10px 22px;
  border-block: 1px solid var(--line);
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 8px 18px rgb(47 30 23 / 7%);
  backdrop-filter: blur(10px);
}
.publication-commandbar__identity { display:flex; min-width:0; align-items:center; gap:10px; }
.publication-commandbar__identity strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.publication-commandbar__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.publication-commandbar .button { min-height:38px; margin:0; padding:8px 11px; }
.publication-commandbar .autosave-status { min-width:102px; margin:0; text-align:center; white-space:nowrap; }
.editor-workflow { display:flex; gap:6px; margin:0 0 18px; padding:6px; overflow-x:auto; border:1px solid var(--line); background:#faf8f4; scrollbar-width:thin; }
.editor-workflow a { display:inline-flex; flex:none; align-items:center; gap:6px; min-height:36px; padding:6px 9px; color:var(--text); font-size:13px; font-weight:750; text-decoration:none; }
.editor-workflow a:hover,.editor-workflow a:focus-visible { background:#efe5dc; color:#60331f; }
.editor-workflow span { display:grid; width:21px; height:21px; border:1px solid #ac7a63; border-radius:50%; place-items:center; font-size:11px; }
.publication-editor-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,340px); gap:16px; align-items:start; }
.publication-editor-primary { min-width:0; }
.publication-assist-panel { position:sticky; top:122px; display:grid; min-width:0; overflow:visible; border:1px solid var(--line); background:#fbfaf7; }
.publication-assist-panel__head { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; padding:11px 13px; border-bottom:1px solid var(--line); background:#f4eee8; }
.publication-assist-panel__head button { display:none; width:38px; height:38px; border:1px solid var(--line); background:#fff; color:var(--text); font-size:22px; }
.publication-assist-panel > details { margin:0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.publication-assist-panel > details:last-child { border-bottom:0; }
.publication-assist-panel .form-section-title { font-size:16px; }
.publication-assist-panel .research-source { grid-template-columns:20px minmax(0,1fr); }
.publication-assist-open { display:none; }
.block-editor-section.editor-disclosure { margin:0; padding:0; border:1px solid var(--line); background:#fff; }
.block-editor-section.editor-disclosure > summary { padding:12px 14px; background:#f7f2ed; }
.block-editor-section.editor-disclosure > :not(summary) { margin-inline:14px; }
.block-toolbar { position:sticky; top:121px; z-index:30; display:flex; flex-wrap:wrap; gap:6px; margin:0 14px 10px!important; padding:8px; border:1px solid var(--line); background:rgb(255 255 255 / 97%); box-shadow:0 4px 12px rgb(50 33 24 / 6%); }
.editor-icon-defs { position:absolute; width:0; height:0; overflow:hidden; }
.editor-tool-group { display:flex; flex-wrap:wrap; gap:3px; align-items:center; padding-right:6px; border-right:1px solid var(--line); }
.editor-tool-group:last-child { border-right:0; }
.editor-tool-group__label { align-self:stretch; display:grid; padding:0 4px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; place-items:center; text-transform:uppercase; writing-mode:vertical-rl; transform:rotate(180deg); }
.editor-tool { display:grid; width:40px; height:40px; padding:8px; border:1px solid transparent; background:#fff; color:#4a342b; cursor:pointer; place-items:center; }
.editor-tool:hover,.editor-tool:focus-visible { border-color:#a66f54; background:#f1e7df; color:#713b26; }
.editor-tool.is-active,.editor-tool[aria-pressed="true"] { border-color:#75412c; background:#75412c; color:#fff; }
.editor-tool svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.editor-tool--letters,.editor-tool__text { font-size:12px; font-weight:850; }
.editor-context-toolbar { position:fixed; z-index:1000; display:flex; gap:3px; padding:5px; border:1px solid #8f6653; background:#fff; box-shadow:0 8px 24px rgb(27 17 13 / 22%); }
.editor-context-toolbar[hidden] { display:none; }
.editor-context-toolbar button { min-width:38px; height:36px; border:0; background:#fff; color:#412c23; cursor:pointer; }
.editor-context-toolbar button:hover,.editor-context-toolbar button:focus-visible { background:#efe3da; }
.editor-block-actions { position:fixed; z-index:999; display:flex; gap:2px; padding:4px; border:1px solid #906650; background:#fff; box-shadow:0 8px 24px rgb(27 17 13 / 18%); }
.editor-block-actions[hidden] { display:none; }
.editor-block-actions button { min-height:34px; padding:5px 8px; border:0; background:#fff; color:#412c23; font-size:12px; font-weight:700; }
.editor-block-actions button:hover,.editor-block-actions button:focus-visible { background:#efe3da; }
.editor-outline { display:grid; gap:7px; margin:10px 14px 16px!important; padding:12px; border:1px solid var(--line); background:#faf8f5; }
.editor-outline ol { display:grid; gap:3px; margin:0; padding:0; list-style:none; }
.editor-outline li { display:grid; grid-template-columns:minmax(0,1fr) 34px 34px; gap:3px; }
.editor-outline li.is-h3 { padding-left:22px; }
.editor-outline button { min-width:0; min-height:32px; padding:4px 7px; overflow:hidden; border:1px solid transparent; background:transparent; color:var(--text); text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.editor-outline button:hover,.editor-outline button:focus-visible { border-color:var(--line); background:#fff; }
.outline-warning { color:#973c31; font-weight:750; }
.publication-page-mode { display:grid; gap:10px; min-width:0; }
.preview-size-toolbar { display:flex; flex-wrap:wrap; gap:6px; }
.publication-page-mode__frame { width:100%; padding:12px; overflow:auto; border:1px solid var(--line); background:#e9e4de; }
.publication-page-mode iframe { display:block; width:min(var(--preview-width),100%); height:calc(100vh - 190px); min-height:650px; margin:auto; border:0; background:#fff; box-shadow:0 4px 22px rgb(31 22 18 / 14%); }
.editor-disclosure { border:1px solid var(--line); background:#fff; }
.editor-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 15px; cursor:pointer; list-style:none; }
.editor-disclosure > summary::-webkit-details-marker { display:none; }
.editor-disclosure > summary::after { flex:none; content:'+'; color:#76432f; font-size:22px; line-height:1; }
.editor-disclosure[open] > summary::after { content:'−'; }
.editor-disclosure > summary small { margin-left:auto; color:var(--muted); font-weight:500; text-align:right; }
.publication-aux-section { display:grid; gap:12px; margin:14px 0; padding:0 15px 15px; }
.publication-aux-section > summary { margin:0 -15px; }
.seo-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.search-snippet-preview,.blog-card-preview { display:grid; gap:5px; min-width:0; padding:15px; border:1px solid var(--line); background:#fff; }
.search-snippet-preview strong { color:#3f51a1; font-size:18px; font-weight:500; }
.search-snippet-preview span { color:#26713d; font-size:13px; overflow-wrap:anywhere; }
.search-snippet-preview p,.blog-card-preview p { margin:0; color:var(--muted); }
.direct-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.direct-editor-grid > label,.direct-editor-grid > fieldset { margin:0; }
.direct-editor-grid .admin-check,.direct-editor-grid .direct-utm { grid-column:1/-1; }
.direct-utm { padding:12px; border:1px solid var(--line); }
.direct-ad-preview { display:grid; gap:5px; max-width:680px; padding:15px; border:1px solid var(--line); background:#fff; }
.direct-ad-preview strong { color:#3f51a1; font-size:18px; font-weight:600; }
.direct-ad-preview span { color:#26713d; font-size:13px; overflow-wrap:anywhere; }
.direct-ad-preview p { margin:0; color:var(--text); }
.publication-dates { display:flex; flex-wrap:wrap; gap:10px 20px; color:var(--muted); font-size:13px; }
.revision-list { display:grid; gap:7px; }
.revision-item { display:flex; justify-content:space-between; gap:14px; padding:12px; border:1px solid var(--line); background:#fff; }
.revision-item > div { display:grid; gap:3px; }
.revision-item > div:last-child { display:flex; align-items:center; }
.revision-item form { margin:0; }
.revision-comparison pre { max-height:360px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }
.ai-fragment-compare textarea { min-height:310px!important; font:500 14px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }

@media (max-width: 1120px) {
  .publication-commandbar { grid-template-columns:minmax(0,1fr) auto; }
  .publication-commandbar > .autosave-status { grid-column:1; grid-row:2; justify-self:start; text-align:left; }
  .publication-commandbar__actions { grid-column:2; grid-row:1/3; }
  .publication-editor-workspace { grid-template-columns:minmax(0,1fr); }
  .publication-assist-open { display:inline-flex; margin:0 0 10px; }
  .publication-assist-panel { position:fixed; inset:0 0 0 auto; z-index:900; width:min(410px,calc(100vw - 32px)); max-height:none; overflow:auto; box-shadow:-12px 0 32px rgb(31 21 16 / 25%); transform:translateX(105%); transition:transform .2s ease; }
  .publication-assist-panel.is-open { transform:translateX(0); }
  .publication-assist-panel__head button { display:grid; place-items:center; }
}
@media (max-width: 720px) {
  html { scroll-padding-top:154px; }
  .publication-commandbar { grid-template-columns:minmax(0,1fr); margin-inline:-12px; padding:9px 12px; }
  .publication-commandbar__identity { display:none; }
  .publication-commandbar > .autosave-status { grid-column:1; grid-row:1; }
  .publication-commandbar__actions { grid-column:1; grid-row:2; flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; }
  .publication-commandbar .button { flex:none; min-height:42px; }
  .editor-workflow { margin-inline:-4px; }
  .block-toolbar { top:154px; flex-wrap:nowrap; overflow-x:auto; }
  .editor-tool-group { flex:none; }
  .editor-tool-group__label { writing-mode:horizontal-tb; transform:none; }
  .seo-preview-grid,.direct-editor-grid { grid-template-columns:minmax(0,1fr); }
  .direct-editor-grid .admin-check,.direct-editor-grid .direct-utm { grid-column:1; }
  .revision-item { align-items:stretch; flex-direction:column; }
  .publication-page-mode__frame { padding:5px; }
  .publication-page-mode iframe { min-height:620px; }
}

/* Новости и темы: компактные заголовки с доступной карточкой поверх сетки. */
.news-card-grid { overflow:visible; align-items:start; }
.news-topic-card {
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:84px;
  padding:14px 15px;
  isolation:isolate;
}
.news-topic-card:is(:hover,:focus-within),.news-topic-card.is-open { z-index:40; }
.news-topic-card h2 { font-size:1.02rem; line-height:1.3; }
.news-topic-card__reveal {
  min-height:38px;
  padding:7px 10px;
  border:1px solid #9a6b55;
  background:#fff;
  color:#653923;
  font:750 13px/1.2 Arial,sans-serif;
  cursor:pointer;
}
.news-topic-card__reveal:hover,.news-topic-card__reveal:focus-visible,.news-topic-card.is-open .news-topic-card__reveal {
  background:#70402b;
  color:#fff;
  outline:none;
}
.news-topic-card__popover {
  position:absolute;
  z-index:50;
  top:calc(100% - 1px);
  left:-1px;
  display:grid;
  width:min(560px,calc(100vw - 64px));
  max-height:min(72vh,720px);
  gap:10px;
  padding:16px;
  overflow:auto;
  border:1px solid #9a6b55;
  background:#fff;
  box-shadow:0 18px 42px rgb(48 30 22 / 24%);
}
.news-topic-card__popover[hidden] { display:none; }
.news-topic-card__popover > p { margin:0; color:var(--muted); }
.news-topic-card:nth-child(3n) .news-topic-card__popover { right:-1px; left:auto; }
.news-card-grid.is-compact .news-topic-card {
  grid-template-columns:minmax(0,1fr) auto;
}
.news-card-grid.is-compact .news-topic-card > :not(h2):not(.news-topic-card__reveal):not(.news-topic-card__popover) { display:none; }

@media (hover:hover) and (pointer:fine) {
  .news-topic-card:hover .news-topic-card__popover[hidden],
  .news-topic-card:focus-within .news-topic-card__popover[hidden] { display:grid; }
}
@media (max-width:1200px) and (min-width:761px) {
  .news-topic-card:nth-child(3n) .news-topic-card__popover { right:auto; left:-1px; }
  .news-topic-card:nth-child(2n) .news-topic-card__popover { right:-1px; left:auto; }
}
@media (max-width:760px) {
  .news-topic-card { min-height:0; }
  .news-topic-card__popover {
    position:static;
    grid-column:1/-1;
    width:auto;
    max-height:none;
    margin:0 -15px -14px;
    border-width:1px 0 0;
    box-shadow:none;
  }
}

.news-auto-refresh {
  max-width:760px;
  margin:8px 0 0;
  color:var(--muted);
  font-size:.9rem;
}
.news-auto-refresh[data-state="pending"] { color:#795d24; }
.news-auto-refresh[data-state="done"] { color:#3f6a42; }
.news-auto-refresh[data-state="error"] { color:#9a332b; }
.news-source-kind { font-weight:800; }
.telegram-source-form {
  display:grid;
  gap:8px;
  margin-bottom:18px;
  padding:16px;
  border:1px solid var(--line);
  background:#faf7f3;
}
.telegram-source-form h2 { margin:0; font-size:1.2rem; }
.telegram-source-form .field-hint { margin:0; }
.extracted-materials__meta {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:6px 14px;
}
.extracted-materials__meta small { color:var(--muted); }
.processed-source-files { display:grid; gap:8px; padding:12px; border:1px solid var(--line); background:#faf7f3; }
.processed-source-files ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.processed-source-files li { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.processed-source-files li span { min-width:0; overflow-wrap:anywhere; }
.processed-source-files .button { flex:0 0 auto; }
.research-result-summary { margin:0; padding:10px; border-left:3px solid var(--gold); background:#faf7f2; line-height:1.45; }
.extracted-materials article > details { margin-top:6px; }
.extracted-materials article > details p {
  margin:8px 0 0;
  overflow-wrap:anywhere;
  white-space:pre-wrap;
}
.news-add-source-grid { align-items:start; }
.news-practice-checks {
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  min-width:0;
  margin:0;
  padding:10px;
  border:1px solid var(--line);
}
.news-practice-checks legend { padding:0 5px; font-weight:800; }
.news-practice-checks .checkbox-row { margin:0; }
.form-grid-span { grid-column:1 / -1; }
@media (max-width:760px) {
  .form-grid-span { grid-column:auto; }
  .telegram-source-form { padding:12px; }
  .processed-source-files li,
  .ai-dropzone li { align-items:stretch; flex-direction:column; }
  .processed-source-files .button,
  .ai-dropzone li .button { width:100%; }
}
