/* Editorial Workspace — compatibility barrel.
   Light foundation: theme + shell + components. Remaining rules are layout. */

@import url("editorial-theme.css");
@import url("editorial-shell.css");
@import url("editorial-components.css");

body.editorial-body:has(.review-workspace),
body.editorial-body:has(.planning-workspace-shell) {
    overflow: hidden;
    height: 100vh;
}

body.editorial-body:has(.review-workspace) .editorial-workspace,
body.editorial-body:has(.planning-workspace-shell) .editorial-workspace {
    height: 100vh;
    min-height: 0;
    overflow: hidden;
}

.editorial-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    align-items: flex-end;
    margin-bottom: 2rem;
    padding: 1.25rem 1.5rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.editorial-review-grid {
    display: grid;
    gap: 1.5rem;
}

.editorial-review-card {
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    padding: 1.5rem 1.75rem;
}

.editorial-review-card__title {
    font-family: var(--ed-font);
    font-size: 1.25rem;
    font-weight: 400;
    margin: 0 0 0.75rem;
    line-height: 1.35;
}

.editorial-review-card__project {
    display: inline-block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ed-accent);
    background: var(--ed-accent-soft);
    padding: 0.2rem 0.5rem;
    border-radius: var(--ed-radius);
    margin-bottom: 1rem;
}

.editorial-review-card__meta {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
    gap: 0.75rem 1.5rem;
    margin: 0 0 1rem;
    font-size: 0.875rem;
}

.editorial-review-card__meta dt {
    color: var(--ed-muted);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0;
}

.editorial-review-card__meta dd {
    margin: 0.15rem 0 0;
}

.editorial-review-card__labels {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.editorial-label-chip {
    font-size: 0.75rem;
    padding: 0.2rem 0.55rem;
    background: var(--ed-surface-muted);
    border-radius: var(--ed-radius);
    color: var(--ed-muted);
}

.editorial-review-card__preview {
    font-family: var(--ed-font);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--ed-text);
    margin: 0;
    padding-top: 0.75rem;
    border-top: 1px solid var(--ed-border);
}

.editorial-empty-state {
    text-align: center;
    padding: 3rem 2rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.editorial-empty-state p {
    margin: 0;
}

.editorial-empty-state p + p {
    margin-top: 0.45rem;
}

.editorial-empty-state__title {
    font-family: var(--ed-font);
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--ed-text);
}

.editorial-empty-state__hint {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--ed-muted);
}

.editorial-error-banner {
    margin-bottom: 1.5rem;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Review Workspace — 3-column editor layout */

.editorial-main:has(.review-workspace) {
    max-width: none;
    margin: 0;
    padding: 0;
    height: calc(100vh - var(--ed-header-h));
    overflow: hidden;
}

.review-workspace-error {
    border-bottom: 1px solid var(--ed-danger-line);
    border-radius: 0;
}

.review-workspace-shell {
    --editorial-reader-width: 42rem;
    --review-pane-handle: 1.5rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.review-mobile-chrome {
    display: none;
    flex-shrink: 0;
    flex-direction: column;
    border-bottom: 1px solid var(--ed-border);
    background: var(--ed-surface);
}

.review-mobile-context-row {
    display: none;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.75rem 0.35rem;
    min-width: 0;
}

.review-mobile-context {
    display: none;
    flex: 1 1 auto;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.35rem;
    padding: 0;
    font-size: 0.75rem;
    line-height: 1.35;
    color: var(--ed-muted);
}

.review-mobile-context__theme {
    flex: none;
    margin-left: 0;
}

.review-mobile-context__section {
    font-weight: 600;
    color: var(--ed-text);
    letter-spacing: 0.02em;
}

.review-mobile-context__project,
.review-mobile-context__status {
    max-width: 11rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.review-mobile-context__sep {
    color: var(--ed-border);
}

.review-mobile-toolbar {
    display: none;
    flex-shrink: 0;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.4rem 0.75rem 0.5rem;
    border-bottom: none;
    background: transparent;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.review-mobile-toolbar::-webkit-scrollbar {
    display: none;
}

.review-mobile-toolbar__tools,
.review-mobile-toolbar__kind {
    display: flex;
    flex: none;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.review-mobile-toolbar .review-kind-switch {
    flex: none;
}

.review-mobile-toolbar .publications-mode-switch {
    padding: 0.15rem;
    box-shadow: none;
}

.review-mobile-toolbar .publications-mode-switch__item {
    padding: 0.28rem 0.52rem;
    font-size: 0.72rem;
    line-height: 1.25;
}

.review-mobile-toolbar .btn-sm {
    flex: none;
    white-space: nowrap;
}

.review-workspace__kind-desktop {
    flex-shrink: 0;
    padding: 0.55rem 1rem 0.65rem;
}

.review-kind-switch {
    max-width: 100%;
}

.review-queue-context__kind-current {
    font-weight: 600;
}

.review-list-item__author {
    display: block;
    font-size: 0.8rem;
    margin-top: 0.15rem;
}

.review-workspace {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) minmax(260px, 340px);
    height: 100%;
    min-height: 0;
    flex: 1;
}

.review-workspace-shell .review-workspace__center {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow: visible;
    background: var(--ed-bg);
}

.review-workspace-shell .review-workspace__center > .review-workspace__reader {
    flex: 1 1 auto;
    min-height: 0;
}

.review-workspace-shell .review-reader-width {
    display: none;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0.2rem 0.75rem 0;
    background: var(--ed-bg);
}

.review-workspace-shell .review-reader-width__btn {
    box-sizing: border-box;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    color: var(--ed-text);
    font-family: var(--ed-ui-font);
    font-size: 0.875rem;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.review-workspace-shell .review-reader-width__btn:hover:not(:disabled) {
    border-color: var(--ed-border-strong);
}

.review-workspace-shell .review-reader-width__btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.review-workspace-shell .review-reader-width__label {
    font-size: 0.75rem;
    line-height: 1;
    color: var(--ed-muted);
    letter-spacing: 0.02em;
    user-select: none;
}

.review-workspace-shell .review-pane-handle {
    display: none;
}

@media (min-width: 1100px) {
    .review-workspace-shell .review-reader-width {
        display: flex;
    }

    .review-workspace-shell .review-workspace__left-main {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-width: 0;
        min-height: 0;
        overflow: hidden;
    }

    .review-workspace-shell .review-workspace__actions-main {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-width: 0;
        min-height: 0;
        overflow: hidden;
    }

    .review-workspace-shell .review-pane-handle {
        display: inline-flex;
        box-sizing: border-box;
        position: absolute;
        z-index: 5;
        width: var(--review-pane-handle);
        height: 2rem;
        min-height: 2rem;
        max-height: 2rem;
        top: 0.5rem;
        margin: 0;
        padding: 0;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--ed-border);
        background: var(--ed-surface);
        color: var(--ed-muted);
        font-family: var(--ed-ui-font);
        font-size: 0.875rem;
        line-height: 1;
        cursor: pointer;
        pointer-events: auto;
    }

    .review-workspace-shell .review-pane-handle--left {
        left: -1px;
        border-left-color: var(--ed-surface);
        border-radius: 0 var(--ed-radius) var(--ed-radius) 0;
    }

    .review-workspace-shell .review-pane-handle--right {
        right: -1px;
        border-right-color: var(--ed-surface);
        border-radius: var(--ed-radius) 0 0 var(--ed-radius);
    }

    .review-workspace-shell .review-pane-handle:hover {
        color: var(--ed-text);
        background: var(--ed-surface-muted);
        border-color: var(--ed-border-strong);
    }

    .review-workspace-shell .review-pane-handle:focus-visible {
        outline: none;
        border-color: var(--ed-accent);
        box-shadow: 0 0 0 1px var(--ed-accent);
    }

    .review-workspace-shell .review-pane-handle--left:hover,
    .review-workspace-shell .review-pane-handle--left:focus-visible {
        border-left-color: var(--ed-surface);
    }

    .review-workspace-shell .review-pane-handle--right:hover,
    .review-workspace-shell .review-pane-handle--right:focus-visible {
        border-right-color: var(--ed-surface);
    }

    html[data-review-left-collapsed="1"] .review-workspace-shell .review-workspace {
        grid-template-columns: 0px minmax(0, 1fr) minmax(260px, 340px);
    }

    html[data-review-right-collapsed="1"] .review-workspace-shell .review-workspace {
        grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) 0px;
    }

    html[data-review-left-collapsed="1"][data-review-right-collapsed="1"] .review-workspace-shell .review-workspace {
        grid-template-columns: 0px minmax(0, 1fr) 0px;
    }

    html[data-review-left-collapsed="1"] .review-workspace-shell .review-workspace__left {
        min-width: 0;
        width: 0;
        max-width: 0;
        overflow: hidden;
        border-right: none;
    }

    html[data-review-left-collapsed="1"] .review-workspace-shell .review-workspace__left-main {
        visibility: hidden;
        pointer-events: none;
        flex: 0 0 320px;
        width: 320px;
        min-width: 320px;
        max-width: 320px;
    }

    html[data-review-right-collapsed="1"] .review-workspace-shell .review-workspace__actions {
        min-width: 0;
        width: 0;
        max-width: 0;
        overflow: hidden;
        border-left: none;
    }

    html[data-review-right-collapsed="1"] .review-workspace-shell .review-workspace__actions-main {
        visibility: hidden;
        pointer-events: none;
        flex: 0 0 340px;
        width: 340px;
        min-width: 340px;
        max-width: 340px;
    }

    .review-workspace-shell .review-workspace__reader::-webkit-scrollbar {
        width: 4px;
        height: 4px;
    }

    .review-workspace-shell .review-workspace__reader::-webkit-scrollbar-track {
        background: transparent;
    }

    .review-workspace-shell .review-workspace__reader::-webkit-scrollbar-thumb {
        background: var(--ed-scrollbar);
        border-radius: 999px;
    }

    .review-workspace-shell .review-workspace__reader::-webkit-scrollbar-thumb:hover {
        background: var(--ed-scrollbar-hover);
    }

    .review-workspace-shell .review-workspace__left-main > .review-workspace__sidebar-header {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }

    .review-workspace-shell .review-workspace__kind-desktop {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }

    .editorial-reader-back-to-top {
        padding: 2rem 0 0.5rem;
    }
}

@supports (-moz-appearance: none) {
    @media (min-width: 1100px) {
        .review-workspace-shell .review-workspace__reader {
            scrollbar-width: thin;
            scrollbar-color: var(--ed-scrollbar) transparent;
        }
    }
}

.review-workspace__left {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    background: var(--ed-surface);
    border-right: 1px solid var(--ed-border);
}

.review-workspace__filters-drawer {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.review-workspace__sidebar,
.review-workspace__reader,
.review-workspace__actions {
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.review-workspace__reader > * {
    min-width: 0;
    max-width: 100%;
}

.review-workspace__sidebar {
    flex: 1;
    background: var(--ed-surface);
}

.editorial-mobile-panel-header {
    display: none;
}

.editorial-mobile-scrim {
    display: none;
}

.review-workspace__sidebar-header {
    padding: 1.5rem 1.25rem 0.75rem;
    border-bottom: 1px solid var(--ed-border);
}

.review-workspace__left > .review-workspace__sidebar-header {
    padding-bottom: 1.15rem;
}

.review-workspace__left-main > .review-workspace__sidebar-header {
    padding-bottom: 1.15rem;
}

.review-workspace__title {
    font-family: var(--ed-font);
    font-size: 1.5rem;
    font-weight: 400;
    margin: 0 0 0.25rem;
}

.review-workspace__subtitle {
    margin: 0;
    font-size: 0.8125rem;
}

.editorial-filters-collapse {
    flex-shrink: 0;
    padding: 0.4rem 0.65rem 0.45rem;
    border-bottom: 1px solid var(--ed-border);
    background: var(--ed-surface);
}

.review-workspace__left .editorial-filters-collapse {
    background: var(--ed-filter-surface);
    border: 1px solid var(--ed-border);
    border-radius: 0;
}

.editorial-filters-collapse__toggle {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0;
    padding: 0.32rem 0.65rem;
    min-height: 2rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    color: var(--ed-text);
    font-family: var(--ed-ui-font);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    cursor: pointer;
    text-align: left;
}

.editorial-filters-collapse__toggle:hover {
    background: var(--ed-surface-muted);
    border-color: var(--ed-border-strong);
}

.editorial-filters-collapse__toggle:focus-visible {
    outline: none;
    border-color: var(--ed-accent);
    box-shadow: 0 0 0 1px var(--ed-accent);
}

.editorial-filters-collapse:not(.is-collapsed) .editorial-filters-collapse__toggle {
    border-color: var(--ed-border-strong);
}

.editorial-filters-collapse__icon {
    flex-shrink: 0;
    color: var(--ed-muted);
    font-size: 0.6875rem;
}

.editorial-filters-collapse.is-collapsed .editorial-filters-collapse__body {
    display: none;
}

.editorial-filters-collapse .review-workspace__filters,
.editorial-filters-collapse .planning-materials-sidebar__filters {
    border-bottom: none;
}

.review-workspace__filters {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem 1rem 1rem;
    border-bottom: 1px solid var(--ed-border);
    background: var(--ed-filter-surface);
}

.review-workspace__left .editorial-filters-collapse .review-workspace__filters {
    background: transparent;
}

.editorial-filters-collapse .review-workspace__filters,
.editorial-filters-collapse .planning-materials-sidebar__filters {
    gap: 0.45rem;
    padding: 0.25rem 0 0.05rem;
    border-bottom: none;
    background: transparent;
}

.editorial-filters-collapse .review-workspace__filters label,
.editorial-filters-collapse .planning-materials-sidebar__filters label {
    gap: 0.12rem;
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--ed-text-secondary);
    text-transform: none;
    letter-spacing: normal;
}

.editorial-filters-collapse .review-workspace__filters select,
.editorial-filters-collapse .review-workspace__filters .editorial-select,
.editorial-filters-collapse .review-workspace__filters input[type="search"],
.editorial-filters-collapse .review-workspace__filters .editorial-input,
.editorial-filters-collapse .planning-materials-sidebar__filters select,
.editorial-filters-collapse .planning-materials-sidebar__filters .editorial-select,
.editorial-filters-collapse .planning-materials-sidebar__filters input[type="search"],
.editorial-filters-collapse .planning-materials-sidebar__filters .editorial-input {
    height: 2rem;
    min-height: 2rem;
    padding: 0.2rem 0.55rem;
    font-size: 0.8125rem;
    line-height: 1.25;
}

.editorial-filters-collapse .review-workspace__filters select,
.editorial-filters-collapse .review-workspace__filters .editorial-select,
.editorial-filters-collapse .planning-materials-sidebar__filters select,
.editorial-filters-collapse .planning-materials-sidebar__filters .editorial-select {
    padding-right: 1.75rem;
    background-position: right 0.5rem center;
}

.editorial-filters-collapse .review-workspace__filters > .btn[type="submit"],
.editorial-filters-collapse .review-workspace__filters-apply,
.editorial-filters-collapse .planning-materials-sidebar__filters > .btn[type="submit"] {
    width: auto;
    min-width: 6.75rem;
    height: 2rem;
    min-height: 2rem;
    padding: 0 0.75rem;
    font-size: 0.8125rem;
    align-self: center;
    margin-top: 0.15rem;
}

.editorial-filters-collapse__body {
    padding-top: 0.15rem;
}

.review-workspace__left .editorial-filters-collapse__toggle,
.planning-workspace-v2__materials .editorial-filters-collapse__toggle {
    min-height: 1.75rem;
    padding: 0.18rem 0.55rem;
    font-size: 0.75rem;
}

.review-workspace__filters-apply,
.review-workspace__filters > .btn[type="submit"] {
    width: 100%;
    height: 2.5rem;
    min-height: 2.5rem;
    margin-top: 0.25rem; /* + 0.5rem form gap = ~0.75rem before Apply */
}

.review-workspace__filters label {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: var(--ed-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.review-workspace__filters select,
.review-workspace__filters input[type="search"],
.planning-materials-sidebar__filters select,
.planning-materials-sidebar__filters input[type="search"] {
    width: 100%;
}

.review-workspace__search input {
    width: 100%;
}

.review-workspace__queue {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0.5rem 1.25rem;
}

/* Quiet operational sidebar scrollbars. Center reader/calendar keep OS default.
   Firefox uses scrollbar-width/color. Chromium uses ::-webkit-scrollbar only —
   setting scrollbar-color on Chromium forces the OS-thick standard bar. */
.editorial-sidebar-scroll::-webkit-scrollbar,
.review-workspace-shell .review-workspace__queue::-webkit-scrollbar,
.review-workspace-shell .review-workspace__actions-scroll::-webkit-scrollbar,
.planning-workspace-v2__materials .planning-materials-sidebar__inner::-webkit-scrollbar,
.planning-workspace-v2__materials .planning-materials-sidebar__list::-webkit-scrollbar,
.planning-workspace-shell #planning-workspace-right-main::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}

.editorial-sidebar-scroll::-webkit-scrollbar-track,
.review-workspace-shell .review-workspace__queue::-webkit-scrollbar-track,
.review-workspace-shell .review-workspace__actions-scroll::-webkit-scrollbar-track,
.planning-workspace-v2__materials .planning-materials-sidebar__inner::-webkit-scrollbar-track,
.planning-workspace-v2__materials .planning-materials-sidebar__list::-webkit-scrollbar-track,
.planning-workspace-shell #planning-workspace-right-main::-webkit-scrollbar-track {
    background: transparent;
}

.editorial-sidebar-scroll::-webkit-scrollbar-thumb,
.review-workspace-shell .review-workspace__queue::-webkit-scrollbar-thumb,
.review-workspace-shell .review-workspace__actions-scroll::-webkit-scrollbar-thumb,
.planning-workspace-v2__materials .planning-materials-sidebar__inner::-webkit-scrollbar-thumb,
.planning-workspace-v2__materials .planning-materials-sidebar__list::-webkit-scrollbar-thumb,
.planning-workspace-shell #planning-workspace-right-main::-webkit-scrollbar-thumb {
    background: var(--ed-scrollbar);
    border-radius: 999px;
}

.editorial-sidebar-scroll::-webkit-scrollbar-thumb:hover,
.review-workspace-shell .review-workspace__queue::-webkit-scrollbar-thumb:hover,
.review-workspace-shell .review-workspace__actions-scroll::-webkit-scrollbar-thumb:hover,
.planning-workspace-v2__materials .planning-materials-sidebar__inner::-webkit-scrollbar-thumb:hover,
.planning-workspace-v2__materials .planning-materials-sidebar__list::-webkit-scrollbar-thumb:hover,
.planning-workspace-shell #planning-workspace-right-main::-webkit-scrollbar-thumb:hover {
    background: var(--ed-scrollbar-hover);
}

@supports (-moz-appearance: none) {
    .editorial-sidebar-scroll,
    .review-workspace-shell .review-workspace__queue,
    .review-workspace-shell .review-workspace__actions-scroll,
    .planning-workspace-v2__materials .planning-materials-sidebar__inner,
    .planning-workspace-v2__materials .planning-materials-sidebar__list,
    .planning-workspace-shell #planning-workspace-right-main {
        scrollbar-width: thin;
        scrollbar-color: var(--ed-scrollbar) transparent;
    }
}

.review-queue-context {
    flex-shrink: 0;
    margin: 0;
    padding: 0.35rem 0.65rem 0.45rem;
    border-bottom: 1px solid var(--ed-border);
    background: var(--ed-surface);
    font-size: 0.8125rem;
    line-height: 1.4;
}

.review-queue-context__toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin: 0;
    padding: 0.3rem 0.1rem;
    border: 0;
    background: transparent;
    color: var(--ed-text);
    font-family: var(--ed-ui-font);
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
}

.review-queue-context__toggle:hover {
    color: var(--ed-text);
}

.review-queue-context__closed {
    min-width: 0;
}

.review-queue-context__more {
    flex: none;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ed-muted);
    white-space: nowrap;
}

.review-queue-context.is-open .review-queue-context__more {
    color: var(--ed-text-secondary);
}

.review-queue-context__panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.15s var(--pk-ease);
}

.review-queue-context.is-open .review-queue-context__panel {
    grid-template-rows: 1fr;
}

.review-queue-context__panel-inner {
    overflow: hidden;
    min-height: 0;
}

.review-queue-context__found,
.review-queue-context__project,
.review-queue-context__plan-title,
.review-queue-context__ok,
.review-queue-context__plan {
    margin: 0.4rem 0 0.3rem;
}

.review-queue-context__plan-list {
    margin: 0.25rem 0 0.5rem;
    padding-left: 1.1rem;
}

.review-queue-context__ok {
    color: var(--ed-text);
    font-weight: 600;
}

.review-queue-summary {
    margin: 0 0 0.75rem;
    padding: 0 0.75rem;
    font-size: 0.8125rem;
}

.review-queue-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.review-workspace .review-queue-list {
    gap: 0.25rem;
}

.review-list-item {
    margin: 0;
}

.review-list-item__button {
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    border-radius: var(--ed-radius);
    background: transparent;
    padding: 0.5rem 0.65rem;
    cursor: pointer;
    font-family: var(--ed-ui-font);
    color: var(--ed-text);
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    transition: background 0.15s ease, border-color 0.15s ease;
    user-select: none;
}

.review-workspace .review-list-item__button {
    padding: 0.4rem 0.6rem;
}

.review-list-item__button:hover {
    background: var(--ed-hover);
    border-color: transparent;
}

.review-list-item.is-selected .review-list-item__button {
    background: var(--ed-selected);
    border-color: var(--ed-border-strong);
    box-shadow: inset 3px 0 0 var(--ed-accent);
}

.review-list-item__type {
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    color: var(--ed-muted);
}

.review-list-item__title {
    font-family: var(--ed-font);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.3;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.review-workspace .review-list-item__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.review-list-item__facet {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.15rem 0.4rem;
    font-size: 0.75rem;
    color: var(--ed-muted);
}

.review-list-item__facet .taxonomy-compact {
    margin: 0;
}

.review-list-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.15rem 0.5rem;
    font-size: 0.75rem;
    font-family: var(--ed-mono);
    color: var(--ed-muted);
}

.review-list-item__status {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ed-text);
}

.review-list-item__status--pending {
    color: var(--ed-accent);
}

.review-list-item__project {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ed-muted);
}

.review-queue-empty {
    padding: 2rem 1rem;
    text-align: center;
}

.review-workspace__reader {
    background: var(--ed-reader-bg);
    overflow-x: hidden;
    overflow-y: auto;
    padding: 2.5rem 3rem;
    min-width: 0;
    max-width: 100%;
}

#review-article-panel {
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

.article-reader {
    width: 100%;
    margin: 0 auto;
    min-width: 0;
    box-sizing: border-box;
    /* Do not set overflow here — it creates a narrow scrollport beside the text.
       Scrolling stays on .review-workspace__reader (full middle column, next to actions). */
}

.review-workspace-shell .article-reader {
    max-width: min(var(--editorial-reader-width), 100%);
    width: 100%;
    margin: 0 auto;
}

.article-reader__header {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--ed-border);
    max-width: 100%;
    min-width: 0;
}

.article-reader__meta-band {
    margin: 0 0 2rem;
    padding: 0 0 1.35rem;
    border-bottom: 1px solid var(--ed-border);
    max-width: 100%;
}

.article-reader__format-kicker {
    margin: 0 0 0.75rem;
    font-family: var(--ed-ui-font);
    font-size: 0.6875rem;
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ed-chip-kicker);
    line-height: 1.3;
}

.editorial-reader-focus-row {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.75rem;
    min-width: 0;
}

.editorial-reader-focus-row__label {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-family: var(--ed-ui-font);
    font-size: 0.6875rem;
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ed-chip-kicker);
    line-height: 1.3;
}

.editorial-reader-focus-toggle {
    display: none;
    box-sizing: border-box;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    min-width: 1.75rem;
    min-height: 1.75rem;
    margin: 0;
    padding: 0;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface-muted);
    color: var(--ed-muted);
    cursor: pointer;
    line-height: 1;
}

.editorial-reader-focus-toggle:hover {
    color: var(--ed-text);
    background: var(--ed-hover);
    border-color: var(--ed-border-strong);
}

.editorial-reader-focus-toggle:focus-visible {
    outline: none;
    border-color: var(--ed-accent);
    box-shadow: 0 0 0 1px var(--ed-accent);
}

.editorial-reader-focus-toggle[aria-pressed="true"] {
    color: var(--ed-accent);
    border-color: color-mix(in srgb, var(--ed-accent) 40%, var(--ed-border));
    background: color-mix(in srgb, var(--ed-accent) 10%, var(--ed-surface-muted));
}

.editorial-reader-back-to-top {
    display: flex;
    justify-content: center;
    padding: 1.5rem 0 0.25rem;
}

.editorial-reader-back-to-top__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    margin: 0;
    padding: 0;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface-muted);
    color: var(--ed-muted);
    cursor: pointer;
    line-height: 1;
}

.editorial-reader-back-to-top__btn:hover {
    color: var(--ed-text);
    background: var(--ed-hover);
    border-color: var(--ed-border-strong);
}

.editorial-reader-back-to-top__btn:focus-visible {
    outline: none;
    border-color: var(--ed-accent);
    box-shadow: 0 0 0 1px var(--ed-accent);
}

.planning-quote-reader__kicker--desktop {
    display: block;
}

.article-reader__taxonomy-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.4rem;
    max-width: 100%;
}

.taxonomy-chip {
    display: inline-block;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.2rem 0.5rem;
    border-radius: 0.35rem;
    border: 1px solid var(--ed-chip-border);
    background: var(--ed-chip-bg);
    color: var(--ed-chip-text);
    font-family: var(--ed-ui-font);
    font-size: 0.734375rem;
    line-height: 1.35;
    font-weight: 400;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.taxonomy-chip--direction {
    background: var(--ed-chip-direction-bg);
    border-color: var(--ed-chip-direction-border);
    color: var(--ed-chip-direction-text);
}

.taxonomy-chip--type {
    background: var(--ed-chip-bg);
    border-color: var(--ed-chip-border);
    color: var(--ed-chip-text);
}

.taxonomy-chip--topic {
    background: var(--ed-chip-topic-bg);
    border-color: var(--ed-chip-topic-border);
    color: var(--ed-text);
    font-weight: 400;
}

.taxonomy-chip--secondary {
    background: transparent;
    border-color: var(--ed-chip-secondary-border);
    color: var(--ed-chip-secondary-text);
    font-weight: 400;
}

.taxonomy-compact {
    margin: 0;
    font-family: var(--ed-ui-font);
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--ed-muted);
}

.taxonomy-compact__type {
    color: var(--ed-muted);
}

.taxonomy-compact__sep {
    margin: 0 0.2rem;
    color: var(--ed-chip-sep);
}

.taxonomy-compact__topic {
    color: var(--ed-text);
    font-weight: 500;
}

.review-list-item .taxonomy-compact {
    margin: -0.05rem 0 0.05rem;
}

@media (max-width: 640px) {
    .article-reader__meta-band {
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
    }

    .article-reader__taxonomy-chips {
        gap: 0.3rem 0.35rem;
    }

    .taxonomy-chip {
        font-size: 0.6875rem;
        padding: 0.16rem 0.42rem;
    }
}

.article-reader__title {
    font-family: var(--ed-font);
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.25;
    margin: 0 0 0.95rem;
    letter-spacing: -0.01em;
    color: var(--ed-reader-heading);
    overflow-wrap: anywhere;
    word-break: break-word;
}

.article-reader__dek {
    margin: 0 0 0.55rem;
    font-size: 1.05rem;
    line-height: 1.45;
    color: var(--ed-reader-meta);
    overflow-wrap: anywhere;
    word-break: break-word;
}

.article-reader__byline {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.2rem 0.45rem;
    margin: 0;
    max-width: 100%;
    font-family: var(--ed-mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--ed-reader-meta);
    overflow-wrap: anywhere;
    word-break: break-word;
}

.article-reader__byline-source {
    color: var(--ed-reader-meta);
}

a.article-reader__byline-source {
    text-decoration: none;
}

a.article-reader__byline-source:hover,
a.article-reader__byline-source:focus-visible {
    color: var(--ed-text);
    text-decoration: underline;
}

.article-reader__media {
    margin: 0 0 1.5rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

/* Absolute img removes intrinsic 1600px min-content from flex sizing. */
.article-reader__media-slot {
    position: relative;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--ed-media-placeholder);
    border: 1px solid var(--ed-border);
    overflow: hidden;
    box-sizing: border-box;
}

.article-reader__media-img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.article-reader__meta {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
    gap: 0.75rem 1.5rem;
    margin: 0;
    font-size: 0.875rem;
}

/* Desktop: always show meta grid; summary hidden. Mobile overrides in media query. */
.article-reader__meta-details {
    margin: 0;
    border: none;
}

.article-reader__meta-details > summary {
    display: none;
    list-style: none;
    cursor: pointer;
    font-size: 0.8125rem;
    color: var(--ed-muted);
    margin-bottom: 0.65rem;
}

.article-reader__meta-details > summary::-webkit-details-marker {
    display: none;
}

.article-reader__meta-summary {
    display: none;
}

.article-reader__meta-details .article-reader__meta {
    display: grid !important;
}

.article-reader__meta dt {
    color: var(--ed-muted);
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
}

.article-reader__meta dd {
    margin: 0.2rem 0 0;
}

.article-reader__meta a {
    color: var(--ed-accent);
    text-decoration: none;
}

.article-reader__meta a:hover {
    text-decoration: underline;
}

.article-reader__text {
    font-family: var(--ed-font);
    font-size: 1.125rem;
    line-height: 1.75;
    color: var(--ed-reader-text);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
}

.article-reader__text img,
.article-reader__body img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
}

.article-reader__text--rich {
    white-space: normal;
}

.article-reader__text--rich p {
    margin: 0 0 1rem;
    font-size: 1.125rem;
    font-weight: 400;
}

.article-reader__text--rich h2,
.article-reader__text--rich h3 {
    margin: 1.25rem 0 0.75rem;
    font-family: var(--ed-font);
    line-height: 1.3;
    color: var(--ed-reader-heading);
}

.article-reader__text--rich h2 {
    font-size: 1.5rem;
    font-weight: 600;
}

.article-reader__text--rich h3 {
    font-size: 1.375rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}
.article-reader__text--rich ul,
.article-reader__text--rich ol {
    margin: 0 0 1rem;
    padding-left: 1.35rem;
}

.article-reader__text--rich blockquote {
    margin: 0 0 1rem;
    padding-left: 1rem;
    border-left: 3px solid var(--ed-border);
    color: var(--ed-reader-meta);
}

.article-reader__text--rich :where(p, li, span, div, td, th, font, h2, h3, h4, blockquote) {
    color: inherit;
    font-family: inherit;
}

.article-reader__text--rich :where(h2, h3, h4) {
    color: var(--ed-reader-heading);
}

.article-reader__text--rich a {
    color: var(--ed-accent);
}

.article-reader__body {
    max-width: 100%;
    min-width: 0;
}

.workspace-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    text-align: center;
    padding: 3rem;
}

.workspace-empty__title {
    font-family: var(--ed-font);
    font-size: 1.25rem;
    margin: 0 0 0.5rem;
}

.workspace-empty__hint {
    margin: 0;
    max-width: 20rem;
}

.review-workspace__actions {
    background: var(--ed-surface);
    border-left: 1px solid var(--ed-border);
    overflow: hidden;
    padding: 0;
}

/* Scroll host keeps #review-actions-panel stable for HTMX/OOB. */
.review-workspace__actions-scroll,
#review-actions-panel {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 1.5rem 1.25rem 2rem;
}

.review-actions-panel {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.review-actions-panel--idle {
    justify-content: center;
    min-height: 100%;
    text-align: center;
}

.review-actions-panel__heading {
    font-family: var(--ed-font);
    font-size: 0.9375rem;
    font-weight: 400;
    margin: 0 0 0.75rem;
    letter-spacing: 0.02em;
}

.review-actions-panel__flash {
    padding: 0.75rem 1rem;
    background: var(--ed-accent-soft);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    font-size: 0.875rem;
}

.review-actions-panel__flash.is-error {
    background: var(--ed-danger-bg);
    border-color: var(--ed-danger-line);
    color: var(--ed-danger);
}

.review-actions-panel__buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
}

.review-actions-panel__buttons > .review-action-form,
.review-actions-panel__buttons > .btn {
    width: 100%;
    margin: 0;
}

.review-actions-panel__buttons .btn {
    width: 100%;
    box-sizing: border-box;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.review-actions-panel__decision {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.review-actions-panel--edit .review-actions-panel__buttons {
    margin-top: 0.25rem;
}

.review-article-edit__hint {
    margin: 0 0 0.85rem;
    font-size: 0.8rem;
}

.article-reader--edit {
    display: grid;
    gap: 1rem;
    padding-bottom: 2rem;
}

.review-edit-sticky-bar {
    display: none;
}

.review-article-edit-form__field {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    max-width: 100%;
}

.review-article-edit-form__field > span:first-child,
.review-article-edit-form__label {
    font-size: 0.8rem;
    font-weight: 600;
}

.review-article-edit-form__field .editorial-input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.review-article-edit-form__body {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    line-height: 1.45;
    min-height: 18rem;
    resize: vertical;
}

.review-article-edit-form__note {
    font-size: 0.78rem;
    line-height: 1.4;
}

.review-article-edit-form__note code {
    font-size: 0.75rem;
}

/* Lightweight body WYSIWYG ------------------------------------------------ */

.review-wysiwyg {
    gap: 0.45rem;
}

.review-wysiwyg__toolbar,
.editorial-editor__toolbar {
    display: none;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    overflow-x: auto;
    overflow-y: hidden;
}

.review-wysiwyg.is-enhanced .review-wysiwyg__toolbar,
.editorial-editor.is-enhanced .editorial-editor__toolbar {
    display: flex;
}

.editorial-editor:not(.editorial-editor--compact) .editorial-editor__toolbar {
    position: sticky;
    top: 0;
    z-index: 3;
}

.editorial-editor__block {
    display: flex;
    align-items: center;
    margin: 0;
    flex: 0 0 auto;
}

.editorial-editor__block-select {
    min-height: 2rem;
    max-width: 11.5rem;
    font-size: 0.78rem;
    padding: 0.15rem 1.6rem 0.15rem 0.45rem;
}

.review-wysiwyg__btn {
    appearance: none;
    border: 1px solid var(--ed-border);
    background: var(--ed-surface);
    color: var(--ed-text);
    border-radius: 4px;
    min-height: 2rem;
    min-width: 2rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.78rem;
    line-height: 1;
    cursor: pointer;
    flex: 0 0 auto;
}

.review-wysiwyg__btn:hover {
    border-color: var(--ed-border-strong);
    background: var(--ed-accent-soft);
}

.review-wysiwyg__btn.is-active,
.review-wysiwyg__btn[aria-pressed="true"] {
    background: var(--ed-accent-soft);
    border-color: var(--ed-accent);
}

.review-wysiwyg__btn:disabled,
.review-wysiwyg__btn[aria-disabled="true"] {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.review-wysiwyg__btn:focus-visible,
.editorial-editor__block-select:focus-visible,
.editorial-editor__link-popover input:focus-visible {
    outline: none;
    box-shadow: 0 0 0 1px var(--ed-accent);
}

.editorial-editor__icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem;
}

.review-wysiwyg__sep {
    width: 1px;
    align-self: stretch;
    background: var(--ed-border);
    margin: 0 0.15rem;
}

.review-wysiwyg__surface,
.editorial-editor__surface {
    display: none;
    min-height: 18rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    outline: none;
    box-sizing: border-box;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    position: relative;
}

.editorial-editor--compact .editorial-editor__surface,
.editorial-editor--compact .review-wysiwyg__surface {
    min-height: 8.5rem;
    max-height: 70vh;
    resize: vertical;
    overflow: auto;
}

.review-wysiwyg.is-enhanced .review-wysiwyg__surface,
.editorial-editor.is-enhanced .editorial-editor__surface {
    display: block;
}

.review-wysiwyg__surface:focus,
.editorial-editor__surface:focus {
    border-color: var(--ed-accent);
    box-shadow: 0 0 0 2px var(--ed-accent-soft);
}

.editorial-editor__surface.is-empty::before {
    content: attr(data-placeholder);
    color: var(--ed-muted, #8a8680);
    pointer-events: none;
}

.editorial-editor__link-popover {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: end;
    margin-top: 0.4rem;
    padding: 0.55rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
}

.editorial-editor__link-title {
    flex: 1 1 100%;
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
}

.editorial-editor__link-popover[hidden] {
    display: none;
}

.editorial-editor__link-label {
    display: grid;
    gap: 0.2rem;
    flex: 1 1 12rem;
    font-size: 0.78rem;
}

.editorial-editor__link-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.review-editor-unsaved {
    display: none;
    margin: 0 0 0.75rem;
    padding: 0.65rem 0.85rem;
    border-radius: 6px;
    border: 1px solid var(--ed-danger-line);
    background: var(--ed-danger-bg);
    color: var(--ed-danger);
    font-size: 0.875rem;
    line-height: 1.4;
}

.review-editor-unsaved.is-visible {
    display: block;
}

@media (min-width: 1100px) {
    .review-wysiwyg__toolbar,
    .editorial-editor__toolbar {
        flex-wrap: wrap;
        overflow-x: visible;
    }
}

.review-wysiwyg.is-enhanced .review-wysiwyg__fallback-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.review-wysiwyg:not(.is-enhanced) .review-wysiwyg__fallback {
    display: block;
}

.review-actions-panel__decision-status {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.45;
    color: var(--ed-text);
}

.review-actions-panel__revise > summary {
    list-style: none;
    cursor: pointer;
}

.review-actions-panel__revise > summary::-webkit-details-marker {
    display: none;
}

.review-actions-panel__revise-menu {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.65rem;
    padding: 0.65rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface-muted, #f7f7f5);
}

.review-actions-panel__revise-menu .btn {
    width: 100%;
}

.review-action-form {
    margin: 0;
}

.review-action-form .btn {
    width: 100%;
}

.review-actions-panel__comment-label textarea {
    width: 100%;
    font-family: var(--ed-ui-font);
    font-size: 0.875rem;
    line-height: 1.5;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    resize: vertical;
    min-height: 5rem;
}

.review-actions-panel__section--placeholder {
    padding-top: 0.5rem;
    border-top: 1px solid var(--ed-border);
    opacity: 0.75;
}

.review-actions-panel__section--placeholder .muted {
    font-size: 0.8125rem;
    margin: 0;
}

/* ------------------------------------------------------------------ */
/* Planning Workspace                                                 */
/* ------------------------------------------------------------------ */

.planning-workspace {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.planning-workspace-desk {
    display: grid;
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 899px) {
    .planning-workspace-desk {
        grid-template-columns: 1fr;
    }
}

.planning-materials-sidebar {
    position: sticky;
    top: 0.5rem;
    max-height: calc(100vh - 2rem);
    overflow: auto;
    padding: 1rem 1.25rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.planning-materials-sidebar__title {
    font-family: var(--ed-font);
    font-size: 1rem;
    font-weight: 400;
    margin: 0 0 0.25rem;
}

.planning-materials-sidebar__hint {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
}

.planning-workspace-v2__materials .editorial-filters-collapse {
    background: var(--ed-filter-surface);
    border: 1px solid var(--ed-border);
    border-radius: 0;
}

.planning-workspace-v2__materials .editorial-filters-collapse__body {
    margin-top: 0.15rem;
}

.planning-workspace-v2__materials .editorial-filters-collapse .planning-materials-sidebar__filters,
.planning-workspace-v2__materials .editorial-filters-collapse .review-workspace__filters {
    background: transparent;
}

.planning-materials-sidebar__filters {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin-bottom: 0;
    padding: 0;
}

.planning-materials-sidebar__filters label {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    font-size: 0.6875rem;
}

.planning-materials-sidebar__filters select,
.planning-materials-sidebar__filters input[type="search"] {
    height: 2rem;
    min-height: 2rem;
}

.planning-materials-sidebar__filters.review-workspace__filters > .btn[type="submit"] {
    width: auto;
    align-self: center;
    height: 2rem;
    min-height: 2rem;
    margin-top: 0.15rem;
}

.planning-materials-sidebar__search input {
    width: 100%;
}

.planning-materials-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.planning-material-item__labels {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
    font-size: 0.75rem;
}

.planning-material-item__type {
    font-weight: 600;
}

.planning-material-item__status {
    display: inline-flex;
    align-items: center;
    color: var(--ed-muted);
}

.planning-material-item__title {
    font-size: 0.875rem;
    font-weight: 600;
    margin: 0 0 0.35rem;
    line-height: 1.35;
}

.planning-material-item__meta {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    color: var(--ed-muted);
}

.planning-material-item__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.planning-assign-form {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--ed-border);
    font-size: 0.8125rem;
}

.planning-assign-form label {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--ed-text-secondary);
}

.planning-assign-form select,
.planning-assign-form .editorial-select,
.planning-assign-form .editorial-input,
.planning-assign-form textarea.editorial-input {
    height: 2rem;
    min-height: 2rem;
    padding: 0.2rem 0.55rem;
    font-size: 0.8125rem;
    line-height: 1.25;
}

.planning-assign-form select,
.planning-assign-form .editorial-select {
    padding-right: 1.75rem;
    background-position: right 0.5rem center;
}

.planning-assign-form textarea.editorial-input {
    height: auto;
    min-height: 3.25rem;
    padding: 0.35rem 0.55rem;
}

.planning-assign-form__actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.planning-assign-form__actions .btn {
    min-height: 2rem;
    height: 2rem;
    padding: 0.2rem 0.75rem;
    font-size: 0.8125rem;
}

.planning-workspace-header {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.planning-workspace-header__top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.planning-workspace-header__controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.planning-workspace-header__schedule {
    margin: 0;
    padding: 0.5rem 0 0;
    background: transparent;
}

.planning-schedule-preview__list--inline {
    display: inline;
    list-style: none;
    padding: 0;
    margin: 0 0 0 0.5rem;
}

.planning-schedule-preview__list--inline li {
    display: inline;
}

.planning-schedule-preview__list--inline li:not(:last-child)::after {
    content: " · ";
    color: var(--ed-muted);
}

.planning-panel--compact {
    margin-top: -0.5rem;
}

.planning-period-summary__stats-wrap .planning-period-summary__stats,
.planning-period-summary__stats-wrap .planning-period-summary__dates {
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
    color: var(--ed-muted);
}

.planning-workspace-desk__main {
    min-width: 0;
}

.planning-flash {
    padding: 0.65rem 0.85rem;
    border-radius: var(--ed-radius);
    border: 1px solid var(--ed-border);
    font-size: 0.8125rem;
    background: var(--ed-surface);
    box-shadow: var(--ed-shadow-panel);
}

.planning-flash--ok {
    background: var(--ed-success-bg);
    border-color: var(--ed-success-line);
}

.planning-flash--error {
    background: var(--ed-danger-bg);
    border-color: var(--ed-danger-line);
    color: var(--ed-danger);
}

.planning-flash--warn {
    background: var(--ed-warning-bg);
    border-color: var(--ed-warning-line);
    color: var(--ed-warning);
}

.planning-period-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    padding: 1.25rem 1.5rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.planning-period-summary__item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.planning-period-summary__label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ed-muted);
}

.planning-period-summary__value {
    font-family: var(--ed-font);
    font-size: 1.125rem;
}

.planning-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.planning-toolbar__primary,
.planning-toolbar__secondary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.planning-toolbar__form {
    margin: 0;
}

.planning-toolbar__secondary-btn {
    opacity: 0.85;
}

.planning-panel {
    display: none;
    padding: 1.25rem 1.5rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.planning-panel.is-open {
    display: block;
}

.planning-panel__title {
    font-family: var(--ed-font);
    font-size: 1.125rem;
    font-weight: 400;
    margin: 0 0 1rem;
}

.planning-form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: 28rem;
}

.planning-form label {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ed-text-secondary);
}

.planning-form__hint {
    margin: 0;
    font-size: 0.8125rem;
}

.planning-schedule-preview {
    padding: 1rem 1.25rem;
    background: var(--ed-surface-muted);
    border-radius: var(--ed-radius);
}

.planning-schedule-preview__title {
    font-size: 0.875rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.planning-schedule-preview__list {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.875rem;
    color: var(--ed-muted);
}

.planning-dnd-hint {
    margin: 0;
    font-size: 0.8125rem;
}

.planning-calendar-wrap {
    min-height: 4rem;
}

.planning-day-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--ed-border);
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--ed-bg);
    padding-top: 0.25rem;
}

.planning-day-nav__item {
    border: 1px solid var(--ed-border);
    background: var(--ed-surface);
    color: var(--ed-text);
    padding: 0.35rem 0.75rem;
    border-radius: var(--ed-radius);
    font-size: 0.8125rem;
    cursor: pointer;
    font-family: var(--ed-ui-font);
}

.planning-day-nav__item:hover {
    border-color: var(--ed-accent);
    color: var(--ed-accent);
}

.planning-days {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.planning-day {
    scroll-margin-top: 4rem;
    padding: 1.25rem 1.5rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.planning-day__header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--ed-border);
}

.planning-day__title {
    font-family: var(--ed-font);
    font-size: 1.25rem;
    font-weight: 400;
    margin: 0;
}

.planning-day__date {
    display: block;
    font-size: 0.875rem;
    color: var(--ed-muted);
    margin-top: 0.15rem;
}

.planning-day__slots {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.planning-slot {
    border: 1px dashed var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface-muted);
    min-height: 8rem;
    display: flex;
    flex-direction: column;
}

.planning-slot__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--ed-border);
    font-size: 0.8125rem;
    color: var(--ed-muted);
}

.planning-slot__time {
    font-weight: 600;
    color: var(--ed-text);
}

.planning-slot__content {
    flex: 1;
    padding: 0.75rem;
}

.planning-slot__empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 5rem;
    text-align: center;
    font-size: 0.8125rem;
    color: var(--ed-muted);
    padding: 0.5rem;
}

.planning-dropzone--active {
    outline: 2px dashed var(--ed-accent);
    outline-offset: 2px;
}

.planning-dropzone--hover {
    background: var(--ed-accent-soft);
    border-color: var(--ed-accent);
}

.planning-card {
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    padding: 0.875rem;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.planning-card--draggable {
    cursor: grab;
}

.planning-card--dragging {
    opacity: 0.55;
    cursor: grabbing;
}

.planning-card__flash {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--ed-accent);
}

.planning-card__labels {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    font-size: 0.75rem;
}

.planning-card__type {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.planning-card__chip {
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: var(--ed-surface-muted);
    border: 1px solid var(--ed-border);
    color: var(--ed-muted);
}

.planning-card__status {
    margin-left: auto;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: var(--ed-accent-soft);
    color: var(--ed-accent);
}

.planning-card__status--removed {
    background: var(--ed-danger-bg);
    color: var(--ed-danger);
}

.planning-card__title {
    font-family: var(--ed-font);
    font-size: 1rem;
    font-weight: 400;
    margin: 0;
    line-height: 1.35;
}

.planning-card__project {
    font-size: 0.8125rem;
    color: var(--ed-muted);
}

.planning-card__summary,
.planning-card__quote {
    margin: 0;
    font-size: 0.875rem;
    color: var(--ed-muted);
}

.planning-card__quote {
    border-left: 3px solid var(--ed-border);
    padding-left: 0.75rem;
    font-style: italic;
}

.planning-card__meta {
    display: grid;
    gap: 0.25rem;
    margin: 0;
    font-size: 0.8125rem;
}

.planning-card__meta div {
    display: grid;
    grid-template-columns: 5.5rem 1fr;
    gap: 0.5rem;
}

.planning-card__meta dt {
    color: var(--ed-muted);
    margin: 0;
}

.planning-card__meta dd {
    margin: 0;
}

.planning-card__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--ed-border);
}

.planning-card__action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.planning-card__comment {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8125rem;
}

.planning-card__comment textarea {
    width: 100%;
    min-height: 2.5rem;
    resize: vertical;
}

.planning-unscheduled {
    margin-bottom: 1.5rem;
    padding: 1rem 1.25rem;
    background: var(--ed-surface-muted);
    border-radius: var(--ed-radius);
}

.planning-unscheduled__title {
    font-size: 1rem;
    margin: 0 0 0.35rem;
}

.planning-unscheduled__cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
    margin-top: 0.75rem;
}

.planning-empty-banner {
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.planning-modal {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.planning-modal[hidden] {
    display: none;
}

.planning-modal__backdrop {
    position: absolute;
    inset: 0;
    background: var(--ed-overlay);
}

.planning-modal__panel {
    position: relative;
    z-index: 1;
    width: min(36rem, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    overflow: auto;
    background: var(--ed-surface);
    border-radius: var(--ed-radius);
    box-shadow: var(--ed-shadow-modal);
    padding: 1.25rem 1.5rem;
}

.planning-modal-content__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.planning-modal-content__header h3 {
    margin: 0;
    font-family: var(--ed-font);
    font-weight: 400;
}

.planning-modal-content__section-title {
    font-size: 0.9375rem;
    margin: 1rem 0 0.5rem;
}

.planning-modal-content__action {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ed-border);
}

.planning-quote-candidates {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.planning-quote-candidate label {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    cursor: pointer;
}

.planning-quote-candidate label:has(input:checked) {
    border-color: var(--ed-accent);
    background: var(--ed-accent-soft);
}

.planning-schedule-rows {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.planning-schedule-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    align-items: end;
}

@media (max-width: 899px) {
    .planning-day-nav {
        position: static;
    }

    .planning-day__slots {
        grid-template-columns: 1fr;
    }
}

.planning-toolbar-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
}

.planning-toolbar-strip__left,
.planning-toolbar-strip__center,
.planning-toolbar-strip__right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.planning-toolbar-strip__period-label,
.planning-toolbar-strip__schedule-label {
    font-size: 0.875rem;
}

.planning-toolbar-strip__schedule-value {
    font-size: 0.8125rem;
    color: var(--ed-muted);
}

.planning-toolbar-strip__form {
    margin: 0;
}

.planning-toolbar-strip__more-menu {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.5rem;
    min-width: 10rem;
}

.planning-toolbar-strip__stats {
    font-size: 0.8125rem;
    color: var(--ed-muted);
}

.planning-day-nav__item--full {
    background: var(--ed-success-bg);
    border-color: var(--ed-success-line);
}

.planning-day-nav__item--partial {
    background: var(--ed-surface);
}

.planning-day-nav__item--empty {
    opacity: 0.55;
}

.planning-day--full {
    background: var(--ed-success-bg);
    border-color: var(--ed-success-line);
}

.planning-day--full > .planning-day__header {
    background: transparent;
    border-bottom-color: var(--ed-success-line);
}

.planning-day--full .planning-day__slots {
    background: transparent;
}

.planning-day--full .planning-slot {
    background: var(--ed-surface);
}

.planning-day--past,
.planning-day--locked {
    background: var(--ed-surface-muted);
    border-color: var(--ed-border);
    color: var(--ed-muted);
}

.planning-day--past > .planning-day__header,
.planning-day--locked > .planning-day__header {
    background: transparent;
}

.planning-day__lock {
    font-size: 0.75rem;
    color: var(--ed-muted);
    white-space: nowrap;
}

.planning-day-nav__item--locked {
    opacity: 0.45;
    background: var(--ed-hover);
    color: var(--ed-muted);
}

.editorial-main:has(.review-workspace),
.editorial-main:has(.planning-workspace-shell) {
    max-width: none;
    margin: 0;
    padding: 0;
    height: calc(100vh - var(--ed-header-h));
    overflow: hidden;
}

.planning-workspace-shell {
    --planning-pane-handle: 1.5rem;
    --planning-handle-safezone: 3rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.planning-workspace-shell .planning-workspace-v2 {
    flex: 1;
    min-height: 0;
}

.planning-flash-container {
    position: static;
    flex-shrink: 0;
    width: 100%;
    margin: 0 0 0.65rem;
    pointer-events: none;
}

.planning-flash-container .planning-flash {
    pointer-events: auto;
    animation: planning-flash-in 0.18s ease;
}

@keyframes planning-flash-in {
    from {
        opacity: 0;
        transform: translateY(-3px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.planning-flash-container--empty,
.planning-flash-container[hidden] {
    display: none !important;
    margin: 0;
    padding: 0;
}

.planning-mobile-toolbar {
    display: none;
    flex-shrink: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--ed-border);
    background: var(--ed-surface);
}

.planning-workspace-v2 {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) minmax(260px, 340px);
    height: 100%;
    min-height: 0;
}

.planning-workspace-v2--no-session {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}

.planning-workspace-v2__materials {
    min-height: 0;
}

.planning-workspace-shell--reader .planning-workspace-v2__calendar-inner.planning-workspace-v2__calendar-inner--reader,
.planning-workspace-shell--reader #planning-center-panel.planning-workspace-v2__calendar-inner--reader {
    padding: 0;
}

.planning-workspace-shell--reader .article-reader,
.planning-workspace-shell--reader .planning-created-reader {
    max-width: min(var(--editorial-reader-width), 100%);
    margin-left: auto;
    margin-right: auto;
    padding-left: 3rem;
    padding-right: 3rem;
    box-sizing: border-box;
}

.planning-workspace-shell--reader .planning-quote-reader {
    max-width: min(var(--editorial-reader-width), 100%);
    margin-left: auto;
    margin-right: auto;
    padding: 0 3rem;
    box-sizing: border-box;
}

.planning-quote-reader {
    color: var(--ed-text);
}

.planning-quote-reader__header {
    margin-bottom: 1.5rem;
}

.planning-quote-reader__kicker {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ed-muted);
}

.planning-quote-reader__meta-band,
.planning-quote-reader__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.75rem;
}

.planning-quote-reader__chip {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    background: var(--ed-surface-2);
    color: var(--ed-muted);
    font-size: 0.75rem;
    line-height: 1.4;
}

.planning-quote-reader__text {
    margin: 0 0 2rem;
    padding: 0 0 0 1.25rem;
    border-left: 3px solid var(--ed-accent);
    font-size: 1.25rem;
    line-height: 1.75;
    font-family: var(--ed-reading-font, var(--ed-ui-font));
    white-space: pre-wrap;
}

.planning-quote-reader__footer {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.planning-quote-reader__author {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.planning-quote-reader__source,
.planning-quote-reader__project,
.planning-quote-reader__dates {
    margin: 0;
    font-size: 0.875rem;
}

.planning-quote-reader__source-link {
    color: var(--ed-link);
    text-decoration: none;
}

.planning-quote-reader__source-link:hover,
.planning-quote-reader__source-link:focus-visible {
    text-decoration: underline;
}

.planning-quote-reader-context__meta {
    margin: 0;
    display: grid;
    gap: 0.65rem;
}

.planning-quote-reader-context__meta dt {
    margin: 0;
    font-size: 0.75rem;
    color: var(--ed-muted);
}

.planning-quote-reader-context__meta dd {
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
}

.planning-workspace-v2__calendar-inner--reader {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    position: relative;
    padding: 0;
}

.planning-workspace-shell--reader .review-reader-width {
    display: none;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0.2rem 0.75rem 0;
    background: var(--ed-bg);
}

.planning-workspace-shell--reader .review-reader-width__btn {
    box-sizing: border-box;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    color: var(--ed-text);
    font-family: var(--ed-ui-font);
    font-size: 0.875rem;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.planning-workspace-shell--reader .review-reader-width__btn:hover:not(:disabled) {
    border-color: var(--ed-border-strong);
}

.planning-workspace-shell--reader .review-reader-width__btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.planning-workspace-shell--reader .review-reader-width__label {
    font-size: 0.75rem;
    line-height: 1;
    color: var(--ed-muted);
    letter-spacing: 0.02em;
    user-select: none;
}

@media (min-width: 1100px) {
    .planning-workspace-shell--reader .review-reader-width {
        display: flex;
    }
}

.planning-workspace__reader {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    background: var(--ed-reader-bg);
    padding: 0;
}

.planning-workspace-shell--reader .planning-workspace__reader {
    padding: 2.5rem 0;
}

.planning-reader-empty {
    padding: 2rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
}

.planning-reader-context__origin {
    font-size: 0.8125rem;
    margin: 0.35rem 0 0;
}

.planning-workspace-v2__calendar,
.planning-workspace-v2__settings {
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.planning-workspace-v2__materials {
    background: var(--ed-surface);
    border-right: 1px solid var(--ed-border);
    padding: 0;
}

.planning-workspace-v2__calendar {
    position: relative;
    padding: 0;
    background: var(--ed-bg);
    overflow: visible;
}

.planning-workspace-v2__calendar-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    padding: 1rem 1.25rem;
    overflow-y: auto;
    box-sizing: border-box;
}

.planning-workspace-v2__settings {
    background: var(--ed-surface);
    border-left: 1px solid var(--ed-border);
    padding: 0;
    overflow: hidden;
}

.planning-workspace-shell .planning-pane-handle {
    display: none;
}

.planning-workspace-v2__left-main,
.planning-workspace-v2__right-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.planning-workspace-v2__right-main {
    padding: 1.25rem;
    overflow-y: auto;
}

@media (min-width: 1100px) {
    .planning-workspace-shell .planning-pane-handle {
        display: inline-flex;
        box-sizing: border-box;
        position: absolute;
        z-index: 5;
        width: var(--planning-pane-handle);
        height: 2rem;
        min-height: 2rem;
        max-height: 2rem;
        top: 0.5rem;
        margin: 0;
        padding: 0;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--ed-border);
        background: var(--ed-surface);
        color: var(--ed-muted);
        font-family: var(--ed-ui-font);
        font-size: 0.875rem;
        line-height: 1;
        cursor: pointer;
        pointer-events: auto;
    }

    .planning-workspace-shell .planning-pane-handle--left {
        left: -1px;
        border-left-color: var(--ed-surface);
        border-radius: 0 var(--ed-radius) var(--ed-radius) 0;
    }

    .planning-workspace-shell .planning-pane-handle--right {
        right: -1px;
        border-right-color: var(--ed-surface);
        border-radius: var(--ed-radius) 0 0 var(--ed-radius);
    }

    .planning-workspace-shell .planning-pane-handle:hover {
        color: var(--ed-text);
        background: var(--ed-surface-muted);
        border-color: var(--ed-border-strong);
    }

    .planning-workspace-shell .planning-pane-handle:focus-visible {
        outline: none;
        border-color: var(--ed-accent);
        box-shadow: 0 0 0 1px var(--ed-accent);
    }

    .planning-workspace-shell .planning-pane-handle--left:hover,
    .planning-workspace-shell .planning-pane-handle--left:focus-visible {
        border-left-color: var(--ed-surface);
    }

    .planning-workspace-shell .planning-pane-handle--right:hover,
    .planning-workspace-shell .planning-pane-handle--right:focus-visible {
        border-right-color: var(--ed-surface);
    }

    .planning-workspace-shell .planning-workspace-v2__calendar-inner {
        padding-top: var(--planning-handle-safezone);
    }

    .planning-workspace-shell--reader .planning-workspace-v2__calendar-inner {
        padding-top: 0;
    }

    html[data-planning-left-collapsed="1"] .planning-workspace-shell .planning-workspace-v2:not(.planning-workspace-v2--no-session) {
        grid-template-columns: 0px minmax(0, 1fr) minmax(260px, 340px);
    }

    html[data-planning-right-collapsed="1"] .planning-workspace-shell .planning-workspace-v2:not(.planning-workspace-v2--no-session) {
        grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) 0px;
    }

    html[data-planning-left-collapsed="1"][data-planning-right-collapsed="1"] .planning-workspace-shell .planning-workspace-v2:not(.planning-workspace-v2--no-session) {
        grid-template-columns: 0px minmax(0, 1fr) 0px;
    }

    html[data-planning-right-collapsed="1"] .planning-workspace-shell .planning-workspace-v2--no-session {
        grid-template-columns: minmax(0, 1fr) 0px;
    }

    html[data-planning-left-collapsed="1"] .planning-workspace-shell .planning-workspace-v2__materials {
        min-width: 0;
        width: 0;
        max-width: 0;
        overflow: hidden;
        border-right: none;
    }

    html[data-planning-left-collapsed="1"] .planning-workspace-shell .planning-workspace-v2__left-main {
        visibility: hidden;
        pointer-events: none;
        flex: 0 0 320px;
        width: 320px;
        min-width: 320px;
        max-width: 320px;
    }

    html[data-planning-right-collapsed="1"] .planning-workspace-shell .planning-workspace-v2__settings {
        min-width: 0;
        width: 0;
        max-width: 0;
        overflow: hidden;
        border-left: none;
    }

    html[data-planning-right-collapsed="1"] .planning-workspace-shell .planning-workspace-v2__right-main {
        visibility: hidden;
        pointer-events: none;
        flex: 0 0 340px;
        width: 340px;
        min-width: 340px;
        max-width: 340px;
    }
}

.planning-settings-panel {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

#planning-settings-panel,
#planning-context-panel {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.planning-settings-block__title {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ed-muted);
    margin: 0 0 0.5rem;
}

.planning-settings-block__value {
    margin: 0 0 0.35rem;
    font-size: 0.9375rem;
}

.planning-settings-block__meta,
.planning-settings-block__schedule {
    margin: 0 0 0.5rem;
    font-size: 0.8125rem;
}

.planning-settings-block__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.planning-settings-block__actions form {
    display: flex;
    justify-content: flex-start;
    margin: 0;
}

.planning-settings-block__actions .btn-primary {
    width: auto;
    min-height: 1.75rem;
}

.planning-settings-inline__form .btn-primary,
.planning-schedule-form__save .btn-primary {
    min-height: 2.5rem;
}

.planning-form input[type="date"],
.planning-form input[type="time"],
.planning-form select {
    font-family: var(--ed-ui-font);
    font-size: 0.875rem;
    height: 2.5rem;
    padding: 0.4rem 0.75rem;
    border: 1px solid var(--ed-border-strong);
    border-radius: var(--ed-radius);
    background: var(--ed-input-bg);
    color: var(--ed-text);
    width: 100%;
}

.planning-settings-block__more {
    margin: 0;
}

.planning-settings-block__more > summary {
    list-style: none;
    cursor: pointer;
}

.planning-settings-block__more > summary::-webkit-details-marker {
    display: none;
}

.planning-settings-block__more-menu {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding: 0.75rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface-muted);
}

.planning-panel--modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 100;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.planning-panel--modal.is-open {
    display: flex;
}

.planning-panel__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(26, 26, 26, 0.35);
}

.planning-panel__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 28rem);
    max-height: calc(100vh - 2rem);
    overflow: auto;
    padding: 1.25rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    box-shadow: 0 12px 40px rgba(26, 26, 26, 0.12);
}

.planning-panel__close {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    border: none;
    background: transparent;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    color: var(--ed-muted);
}

.planning-flash--dismissible {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.planning-flash__close {
    border: none;
    background: transparent;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    color: inherit;
    opacity: 0.7;
}

.planning-materials-sidebar__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.planning-materials-sidebar__list {
    flex: 1;
    overflow-y: auto;
}

.planning-material-item {
    margin: 0;
}

.planning-material-item__details {
    border: 1px solid transparent;
    border-radius: var(--ed-radius);
    background: transparent;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    overflow: hidden;
}

.review-list-item.planning-material-item:not(.is-selected) .planning-material-item__details:not([open]):hover {
    background: var(--ed-hover);
    border-color: transparent;
}

.planning-material-item__details[open]:hover,
.review-list-item.planning-material-item.is-selected .planning-material-item__details:hover {
    border-color: var(--ed-border-strong);
}

.review-list-item.planning-material-item.is-selected .planning-material-item__details {
    background: var(--ed-selected);
    border-color: var(--ed-border-strong);
    box-shadow: inset 3px 0 0 var(--ed-accent);
}

.planning-material-item__summary {
    list-style: none;
    cursor: pointer;
    margin: 0;
    width: 100%;
    text-align: left;
    border: none;
    border-radius: 0;
    background: transparent;
    padding: 0.4rem 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    font-family: var(--ed-ui-font);
    color: var(--ed-text);
    box-shadow: none;
}

.planning-material-item__summary:hover {
    background: transparent;
    border-color: transparent;
}

.review-list-item.planning-material-item.is-selected .planning-material-item__summary {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

.planning-material-item__summary::-webkit-details-marker {
    display: none;
}

.planning-material-item__head {
    display: none;
}

.planning-material-item__status {
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
    color: var(--ed-text);
    white-space: nowrap;
    flex-shrink: 0;
}

.planning-material-item__status--accepted {
    color: var(--ed-success);
}

.planning-material-item__project {
    display: block;
    width: 100%;
    margin-top: 0;
}

.planning-material-item--review-parity .planning-material-item__summary {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

.planning-material-item--review-parity .planning-material-item__details[open] .planning-material-item__body,
.planning-material-item--review-parity.is-selected .planning-material-item__body {
    padding-bottom: 0.4rem;
}

.planning-material-item__meta {
    display: none;
}

.planning-material-item__author {
    font-size: 0.75rem;
    margin: 0;
}

.planning-material-item__body {
    padding: 0 0.6rem;
    background: transparent;
}

.planning-material-item__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.5rem;
    width: 100%;
    padding: 0;
}

.planning-material-item__assign-form {
    width: 100%;
    padding: 0.5rem 0 0;
    background: transparent;
    border-top: none;
}

.planning-material-item__assign-form:empty {
    padding: 0;
    margin: 0;
}

.planning-material-item__assign-form .planning-assign-form {
    margin-top: 0;
    padding-top: 0.5rem;
    border-top: 1px solid var(--ed-border-strong);
    background: transparent;
}

.planning-material-item__actions .planning-material-btn,
.planning-material-item__actions .btn.planning-material-btn {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    width: auto;
    min-height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    color: var(--ed-text);
    box-shadow: none;
}

.planning-material-item__actions .planning-material-btn:hover,
.planning-material-item__actions .btn.planning-material-btn:hover {
    background: var(--ed-surface);
    border-color: var(--ed-border-strong);
    color: var(--ed-text);
}

html[data-theme="dark"] .review-list-item.planning-material-item.is-selected .planning-material-item__actions :is(.planning-material-btn, .btn.planning-material-btn) {
    background: var(--ed-btn-secondary-bg);
    border-color: var(--ed-border-strong);
}

html[data-theme="dark"] .review-list-item.planning-material-item.is-selected .planning-material-item__actions :is(.planning-material-btn, .btn.planning-material-btn):hover {
    background: var(--ed-btn-secondary-bg);
    border-color: var(--ed-border-strong);
    color: var(--ed-text);
}

.planning-settings-inline {
    margin-top: 0.5rem;
}

.planning-settings-inline > summary {
    list-style: none;
    cursor: pointer;
    display: inline-block;
}

.planning-settings-inline > summary::-webkit-details-marker {
    display: none;
}

.planning-settings-inline__form {
    margin-top: 0.65rem;
    padding: 0.75rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface-muted);
}

.planning-settings-inline .planning-panel__title {
    display: none;
}

.planning-day__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.75rem;
    cursor: pointer;
    list-style: none;
    padding: 0.65rem 0.75rem;
}

.planning-day__caret,
.planning-slot__caret {
    font-size: 0.875rem;
    color: var(--ed-accent);
    flex-shrink: 0;
    width: 1rem;
    text-align: center;
    transition: transform 0.15s ease;
}

details[open] > summary .planning-day__caret,
details[open] > summary .planning-slot__caret {
    transform: rotate(90deg);
}

.planning-day__fill {
    margin-left: auto;
    font-size: 0.8125rem;
    color: var(--ed-muted);
}

.planning-day__slots {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem 0.75rem;
}

.planning-slot {
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    min-height: 0;
}

.planning-slot__compact {
    display: grid;
    grid-template-columns: auto auto auto auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.35rem 0.5rem;
    padding: 0.55rem 0.75rem;
    cursor: pointer;
    list-style: none;
    font-size: 0.8125rem;
}

.planning-slot__time {
    font-weight: 600;
}

.planning-slot__sep,
.planning-slot__kind {
    color: var(--ed-muted);
}

.planning-slot__status-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.planning-slot__title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.planning-slot__title--empty {
    color: var(--ed-muted);
    font-style: italic;
}

.planning-slot__status {
    justify-self: end;
    font-size: 0.75rem;
    color: var(--ed-muted);
    white-space: nowrap;
}

.planning-slot__content {
    padding: 0.75rem 1rem 1rem;
    border-top: 1px solid var(--ed-border);
}

.planning-slot__content .planning-slot-card {
    margin: 0;
    padding: 1rem 1.1rem 1.05rem;
    border: 1px solid var(--ed-planning-card-border);
    border-radius: 6px;
    background: var(--ed-planning-card-bg);
    box-shadow: none;
    position: relative;
    overflow: hidden;
}

.planning-slot-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--ed-planning-card-accent);
}

.planning-slot-card--recommended::before {
    background: var(--ed-planning-card-accent-recommended);
}

.planning-slot-card--in_plan::before {
    background: var(--ed-accent);
}

.planning-slot-card--in_queue::before,
.planning-slot-card--published::before,
.planning-slot-card--partial::before,
.planning-slot-card--completed::before {
    background: var(--ed-planning-card-accent-success);
}

.planning-slot-card--failed::before {
    background: var(--ed-planning-card-accent-failed);
}

.planning-slot-card__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
    margin-bottom: 0.75rem;
    padding-left: 0.35rem;
}

.planning-slot-card__status {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    border: 1px solid var(--ed-planning-status-border);
    background: var(--ed-planning-status-bg);
    color: var(--ed-accent);
    font-family: var(--ed-ui-font);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.3;
}

.planning-slot-card--in_queue .planning-slot-card__status,
.planning-slot-card--published .planning-slot-card__status,
.planning-slot-card--partial .planning-slot-card__status,
.planning-slot-card--completed .planning-slot-card__status {
    border-color: var(--ed-planning-status-success-border);
    background: var(--ed-planning-status-success-bg);
}

.planning-slot-card__headline {
    margin: 0;
    font-size: 1.0625rem;
    line-height: 1.35;
    font-family: var(--ed-font);
    font-weight: 400;
    color: var(--ed-text);
    min-width: 0;
    overflow-wrap: anywhere;
}

.planning-slot-card__meta {
    display: grid;
    gap: 0.4rem;
    margin: 0 0 0.85rem;
    padding: 0.65rem 0.75rem;
    padding-left: calc(0.75rem + 0.1rem);
    border: 1px solid var(--ed-planning-card-meta-border);
    border-radius: 5px;
    background: var(--ed-planning-card-meta-bg);
    font-size: 0.8125rem;
}

.planning-slot-card__meta div {
    display: grid;
    grid-template-columns: 5.25rem minmax(0, 1fr);
    gap: 0.45rem;
    align-items: baseline;
}

.planning-slot-card__meta dt {
    margin: 0;
    color: var(--ed-muted);
    font-weight: 500;
    font-size: 0.75rem;
}

.planning-slot-card__meta dd {
    margin: 0;
    min-width: 0;
    color: var(--ed-text);
}

.planning-slot-card__source-link {
    color: var(--ed-accent);
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, var(--ed-accent) 28%, transparent);
    transition: color 0.15s ease, border-color 0.15s ease;
}

.planning-slot-card__source-link:hover {
    color: var(--ed-planning-link);
    border-bottom-color: color-mix(in srgb, var(--ed-planning-link) 55%, transparent);
}

.planning-slot-card__summary,
.planning-slot-card__quote {
    margin: 0 0 0.85rem;
    padding: 0.65rem 0.75rem;
    border-left: 2px solid var(--ed-planning-card-quote-border);
    background: var(--ed-planning-card-quote-bg);
    border-radius: 0 4px 4px 0;
    color: var(--ed-planning-card-quote-text);
    font-size: 0.875rem;
    line-height: 1.5;
}

.planning-slot-card__quote {
    font-family: var(--ed-font);
    font-style: italic;
}

.planning-slot-card__primary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.planning-slot-card__primary-actions form {
    margin: 0;
}

.planning-slot-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.15rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--ed-planning-card-divider);
}

.planning-slot-card__actions form,
.planning-slot-card__actions details {
    margin: 0;
    min-width: 0;
}

.planning-slot-card__actions .btn,
.planning-slot-card__actions a.btn,
.planning-slot-card__actions summary.btn {
    width: 100%;
    min-height: 2.25rem;
    justify-content: center;
    text-align: center;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
}

.planning-slot-card__actions details > summary.btn {
    list-style: none;
    cursor: pointer;
}

.planning-slot-card__actions details > summary.btn::-webkit-details-marker {
    display: none;
}

.planning-slot-card__action-spacer {
    display: block;
    min-height: 0;
}

.planning-slot-card__action--disabled {
    opacity: 0.45;
    pointer-events: none;
    cursor: default;
}

.planning-slot-card__move-target {
    margin-top: 0.5rem;
}

.planning-schedule-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.planning-schedule-form__save {
    margin-top: 1rem;
}

.planning-empty-banner--hint {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    background: var(--ed-warning-bg);
    border: 1px solid var(--ed-warning-line);
    border-radius: var(--ed-radius);
}

/* Mobile Editorial Workspace — Review + Planning overlays */
@media (max-width: 1099px) {
    body.editorial-body:has(.review-workspace-shell),
    body.editorial-body:has(.planning-workspace-shell) {
        overflow-x: hidden;
    }

    .editorial-main:has(.review-workspace-shell),
    .editorial-main:has(.planning-workspace-shell) {
        overflow-x: hidden;
        max-width: 100vw;
    }

    .review-mobile-toolbar,
    .planning-mobile-toolbar {
        display: flex;
    }

    .review-mobile-context-row {
        display: flex;
    }

    .review-workspace__kind-desktop {
        display: none;
    }

    .review-mobile-chrome {
        display: flex;
    }

    .review-mobile-context {
        display: flex;
    }

    .editorial-reader-focus-row {
        display: flex;
    }

    .editorial-reader-focus-toggle {
        display: inline-flex;
    }

    .article-reader__format-kicker {
        display: none;
    }

    .planning-quote-reader__kicker--desktop {
        display: none;
    }

    html[data-reader-focus="1"] .editorial-header {
        display: none;
    }

    html[data-reader-focus="1"] .review-mobile-chrome {
        display: none !important;
    }

    html[data-reader-focus="1"] .planning-mobile-toolbar {
        display: none !important;
    }

    html[data-reader-focus="1"] .editorial-mobile-scrim[data-review-scrim],
    html[data-reader-focus="1"] .editorial-mobile-scrim[data-planning-scrim] {
        display: none !important;
    }

    .editorial-mobile-panel-header {
        display: flex;
        flex-shrink: 0;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.85rem 1rem;
        border-bottom: 1px solid var(--ed-border);
        background: var(--ed-surface);
    }

    .editorial-mobile-panel-header__title {
        margin: 0;
        font-family: var(--ed-font);
        font-size: 1.125rem;
        font-weight: 400;
    }

    .editorial-mobile-panel-header__close {
        margin: 0;
        padding: 0.15rem 0.45rem;
        border: none;
        background: transparent;
        font-size: 1.65rem;
        line-height: 1;
        cursor: pointer;
        color: var(--ed-muted);
    }

    .editorial-mobile-scrim {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 55;
        background: var(--ed-overlay);
    }

    .editorial-mobile-scrim[hidden] {
        display: none !important;
    }

    body.editorial-drawer-open {
        overflow: hidden;
    }

    /* --- Review mobile --- */
    .review-workspace {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(0, 1fr);
        overflow-x: hidden;
    }

    .review-workspace__left {
        display: contents;
        border-right: none;
    }

    .review-workspace-shell .review-workspace__left-main {
        display: contents;
        visibility: visible;
        pointer-events: auto;
        width: auto;
        min-width: 0;
        max-width: none;
        flex: none;
    }

    .review-workspace-shell .review-pane-handle {
        display: none !important;
    }

    html[data-review-left-collapsed="1"] .review-workspace-shell .review-workspace,
    html[data-review-right-collapsed="1"] .review-workspace-shell .review-workspace,
    html[data-review-left-collapsed="1"][data-review-right-collapsed="1"] .review-workspace-shell .review-workspace {
        grid-template-columns: 1fr;
    }

    .review-workspace__filters-drawer,
    .review-workspace__sidebar {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 60;
        width: 100%;
        max-width: 100vw;
        background: var(--ed-surface);
        box-shadow: none;
        overflow: hidden;
    }

    .review-workspace__filters-drawer.is-drawer-open,
    .review-workspace__sidebar.is-drawer-open {
        display: flex;
        flex-direction: column;
    }

    .review-workspace__filters-drawer .editorial-filters-collapse__toggle {
        display: none;
    }

    .review-workspace__filters-drawer .editorial-filters-collapse__body {
        display: block !important;
    }

    .review-workspace__filters-drawer .review-workspace__filters {
        padding-top: 1rem;
    }

    .review-workspace__filters-drawer .editorial-filters-collapse {
        border-bottom: none;
        flex: 1;
        overflow-y: auto;
    }

    .review-workspace__sidebar-header {
        display: none;
    }

    .review-workspace-shell .review-workspace__center {
        grid-row: 1;
        grid-column: 1;
        min-height: 0;
        min-width: 0;
        overflow: hidden;
    }

    .review-workspace-shell .review-reader-width {
        display: none !important;
    }

    .review-workspace__reader {
        grid-row: 1;
        grid-column: 1;
        min-height: 0;
        min-width: 0;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 1rem 1rem 1.5rem;
    }

    /* Actions = bottom sheet; not a permanent bottom strip. */
    .review-workspace__actions {
        display: none;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        top: auto;
        z-index: 60;
        width: 100%;
        max-width: 100vw;
        max-height: min(72vh, 36rem);
        border-left: none;
        border-top: 1px solid var(--ed-border);
        border-radius: 12px 12px 0 0;
        box-shadow: 0 -8px 28px rgba(26, 26, 26, 0.18);
        overflow: hidden;
        background: var(--ed-surface);
    }

    .review-workspace__actions.is-drawer-open {
        display: flex;
        flex-direction: column;
    }

    .review-workspace-shell .review-workspace__actions-main {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        min-width: 0;
        width: auto;
        max-width: none;
        visibility: visible;
        pointer-events: auto;
        overflow: hidden;
    }

    .review-workspace__actions .review-workspace__actions-scroll,
    .review-workspace__actions #review-actions-panel {
        padding: 1rem 1rem 1.5rem;
    }

    .review-actions-panel__section--placeholder {
        display: none;
    }

    .article-reader__header {
        margin-bottom: 1.35rem;
        padding-bottom: 1rem;
    }

    .article-reader__title {
        font-size: 1.45rem;
        margin-bottom: 0.85rem;
    }

    .article-reader__dek {
        font-size: 0.98rem;
        margin-bottom: 0.85rem;
    }

    .article-reader__meta {
        grid-template-columns: 1fr 1fr;
        gap: 0.55rem 0.85rem;
        font-size: 0.8125rem;
    }

    .article-reader__meta-details > summary {
        display: block;
    }

    .article-reader__meta-summary {
        display: inline;
    }

    .article-reader__meta-details:not([open]) .article-reader__meta {
        display: none !important;
    }

    .article-reader__meta-details[open] .article-reader__meta {
        display: grid !important;
        margin-top: 0.65rem;
    }

    .article-reader__text {
        font-size: 1.05rem;
        line-height: 1.7;
    }

    .article-reader__media {
        margin-bottom: 1.15rem;
    }

    /* Sticky edit chrome + WYSIWYG on mobile */
    .review-edit-sticky-bar {
        display: flex;
        position: sticky;
        top: 0;
        z-index: 5;
        gap: 0.5rem;
        align-items: center;
        margin: -0.25rem 0 0.85rem;
        padding: 0.55rem 0;
        background: var(--ed-bg);
        border-bottom: 1px solid var(--ed-border);
    }

    .review-edit-sticky-bar .btn {
        flex: 1;
    }

    .review-actions-panel--edit {
        display: none;
    }

    .review-wysiwyg.is-enhanced .review-wysiwyg__toolbar,
    .editorial-editor:not(.editorial-editor--compact).is-enhanced .editorial-editor__toolbar {
        position: sticky;
        top: 3rem;
        z-index: 4;
        background: var(--ed-surface);
    }

    /* --- Planning mobile --- */
    .planning-workspace-v2 {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        overflow-x: hidden;
    }

    .planning-workspace-shell .planning-pane-handle {
        display: none !important;
    }

    html[data-planning-left-collapsed="1"] .planning-workspace-shell .planning-workspace-v2,
    html[data-planning-right-collapsed="1"] .planning-workspace-shell .planning-workspace-v2,
    html[data-planning-left-collapsed="1"][data-planning-right-collapsed="1"] .planning-workspace-shell .planning-workspace-v2,
    html[data-planning-right-collapsed="1"] .planning-workspace-shell .planning-workspace-v2--no-session {
        grid-template-columns: 1fr;
    }

    .planning-workspace-shell .planning-workspace-v2__left-main,
    .planning-workspace-shell .planning-workspace-v2__right-main {
        display: flex;
        visibility: visible;
        pointer-events: auto;
        width: auto;
        min-width: 0;
        max-width: none;
        flex: 1 1 auto;
    }

    .planning-workspace-v2__materials,
    .planning-workspace-v2__settings {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 60;
        width: 100%;
        max-width: 100vw;
        box-shadow: none;
        background: var(--ed-surface);
        padding: 0;
        overflow: hidden;
    }

    .planning-workspace-v2__materials.is-drawer-open,
    .planning-workspace-v2__settings.is-drawer-open {
        display: flex;
        flex-direction: column;
    }

    .planning-workspace-v2__materials .planning-materials-sidebar__header,
    .planning-workspace-v2__materials .review-workspace__sidebar-header {
        display: none;
    }

    .planning-workspace-v2__materials .planning-materials-sidebar__inner {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        padding: 0;
    }

    /* Planning settings drawer: full-screen shell (not Review bottom sheet). */
    .planning-workspace-shell .planning-workspace-v2__settings.review-workspace__actions {
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        max-height: none;
        border-radius: 0;
        border-top: none;
        box-shadow: none;
    }

    .planning-workspace-v2__settings {
        padding: 0;
    }

    .planning-workspace-shell .planning-workspace-v2__right-main {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0;
        overflow: hidden;
        background: var(--ed-surface);
    }

    .planning-workspace-v2__settings #planning-settings-panel,
    .planning-workspace-v2__settings #planning-context-panel {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        padding: 0.5rem 1rem 1.25rem;
    }

    .planning-workspace-v2--no-session {
        grid-template-columns: 1fr;
    }

    .planning-workspace-v2__calendar {
        min-width: 0;
        overflow-x: hidden;
        grid-row: 1;
        grid-column: 1;
        min-height: 0;
    }

    .planning-workspace-shell .planning-workspace-v2__calendar-inner:not(.planning-workspace-v2__calendar-inner--reader) {
        padding: 0;
    }

    .planning-workspace-shell .planning-workspace-v2__calendar-inner:not(.planning-workspace-v2__calendar-inner--reader) > .planning-flash-container,
    .planning-workspace-shell .planning-workspace-v2__calendar-inner:not(.planning-workspace-v2__calendar-inner--reader) > .planning-calendar-wrap,
    .planning-workspace-shell .planning-workspace-v2__calendar-inner:not(.planning-workspace-v2__calendar-inner--reader) > .muted {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .planning-workspace-shell .planning-workspace-v2__calendar-inner:not(.planning-workspace-v2__calendar-inner--reader) > .planning-flash-container {
        padding-top: 1rem;
    }

    .planning-workspace-shell .planning-workspace-v2__calendar-inner:not(.planning-workspace-v2__calendar-inner--reader) > .planning-calendar-wrap {
        padding-top: 1rem;
    }

    .planning-workspace-shell .planning-workspace-v2__calendar-inner:not(.planning-workspace-v2__calendar-inner--reader) > .planning-flash-container:not([hidden]) + .planning-calendar-wrap {
        padding-top: 0;
    }

    .planning-workspace-shell .planning-workspace-v2__calendar-inner:not(.planning-workspace-v2__calendar-inner--reader) .planning-day-nav,
    .planning-workspace-shell .planning-workspace-v2__calendar-inner:not(.planning-workspace-v2__calendar-inner--reader) .planning-day,
    .planning-workspace-shell .planning-workspace-v2__calendar-inner:not(.planning-workspace-v2__calendar-inner--reader) .planning-empty-banner {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .planning-workspace-shell--reader .planning-workspace-v2__calendar-inner--reader > .planning-workspace__reader,
    .planning-workspace-shell--reader #planning-article-panel.planning-workspace__reader,
    .planning-workspace-shell--reader #planning-quote-panel.planning-workspace__reader {
        padding: 1rem 0 1.5rem;
    }

    .planning-workspace-shell--reader .article-reader,
    .planning-workspace-shell--reader .planning-quote-reader,
    .planning-workspace-shell--reader .planning-created-reader {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .planning-workspace-v2__materials .editorial-filters-collapse {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .planning-materials-sidebar__filters.review-workspace__filters > .btn[type="submit"] {
        width: 100%;
        align-self: stretch;
    }
}

.planning-slot--completed > .planning-slot__compact {
    background: var(--ed-success-bg);
}

/* ------------------------------------------------------------------ */
/* Editorial work pages — Publications / History list shell           */
/* Scoped so Telegram (reuses .publishing-queue) is unchanged.        */
/* ------------------------------------------------------------------ */

.editorial-work-page {
    width: 100%;
    max-width: 60rem;
    margin: 0 auto;
    min-width: 0;
}

.editorial-work-page.publishing-queue,
.editorial-work-page.publication-history,
.editorial-work-page.ew-quotes-page {
    padding: 0 0 1.5rem;
}

.editorial-work-page .publishing-queue__header,
.editorial-work-page .publication-history__header {
    margin-bottom: 1.25rem;
}

.editorial-work-page .publishing-queue__title,
.editorial-work-page .publication-history__title,
.editorial-work-page .ew-quotes-title {
    margin: 0 0 0.3rem;
    font-family: var(--ed-font);
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: var(--ed-text);
}

.editorial-work-page .publishing-queue__subtitle,
.editorial-work-page .publication-history__subtitle,
.editorial-work-page .ew-quotes-subtitle {
    margin: 0;
    max-width: 42rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--ed-muted);
}

.editorial-work-page .editorial-filters-collapse {
    margin-bottom: 0.85rem;
}

.publishing-queue .ew-publications-filters-panel,
.editorial-work-page .ew-publications-filters-panel {
    padding: 0.4rem 0.65rem 0.5rem;
    border: 1px solid var(--ed-border-strong);
    border-radius: var(--ed-radius);
    background: var(--ed-filter-surface);
    box-shadow: var(--ed-shadow-panel);
}

.ew-publications-filters-panel .editorial-filters-collapse__toggle {
    min-height: 1.75rem;
    padding: 0.18rem 0.55rem;
    font-size: 0.75rem;
    background: var(--ed-surface);
}

.ew-publications-filters-panel .editorial-filters-collapse__body {
    padding-top: 0.15rem;
}

.ew-publications-filters {
    display: grid;
    gap: 0.45rem 0.65rem;
    align-items: end;
    margin: 0;
    padding: 0.25rem 0 0.05rem;
    border: none;
    background: transparent;
}

.ew-publications-filters--queue {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ew-publications-filters--history {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ew-publications-filters--quotes {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ew-publications-filters--quotes .ew-publications-filters__search {
    grid-column: 1 / span 4;
}

.ew-publications-filters label {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--ed-text-secondary);
    text-transform: none;
    letter-spacing: normal;
}

.ew-publications-filters select,
.ew-publications-filters .editorial-select,
.ew-publications-filters .editorial-input,
.ew-publications-filters input[type="search"] {
    height: 2rem;
    min-height: 2rem;
    padding: 0.2rem 0.55rem;
    font-size: 0.8125rem;
    line-height: 1.25;
    background-color: var(--ed-surface);
    border-color: var(--ed-border-strong);
}

.ew-publications-filters select,
.ew-publications-filters .editorial-select {
    padding-right: 1.75rem;
    background-position: right 0.5rem center;
}

.ew-publications-filters > .btn[type="submit"] {
    width: auto;
    min-width: 6.75rem;
    height: 2rem;
    min-height: 2rem;
    padding: 0 0.75rem;
    font-size: 0.8125rem;
    justify-self: start;
    align-self: end;
}

@media (max-width: 1080px) {
    .ew-publications-filters--queue {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ew-publications-filters--history {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ew-publications-filters--quotes {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ew-publications-filters--quotes .ew-publications-filters__search {
        grid-column: auto;
    }
}

@media (max-width: 720px) {
    .ew-publications-filters--queue,
    .ew-publications-filters--history,
    .ew-publications-filters--quotes {
        grid-template-columns: minmax(0, 1fr);
    }

    .ew-publications-filters > .btn[type="submit"] {
        width: 100%;
        justify-self: stretch;
    }
}

.editorial-work-page .review-workspace__filters label {
    text-transform: none;
    letter-spacing: normal;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ed-text-secondary);
}

.editorial-work-page .ew-publications-filters label {
    font-size: 0.6875rem;
}

.editorial-work-page .publishing-queue__count,
.editorial-work-page .publication-history__count {
    margin: 0 0 0.85rem;
    font-size: 0.8125rem;
}

.editorial-work-page .editorial-empty-state {
    box-shadow: var(--ed-shadow-panel);
}

@media (max-width: 640px) {
    .editorial-work-page .publishing-queue__title,
    .editorial-work-page .publication-history__title {
        font-size: 1.35rem;
    }

    .publication-history-card__meta div {
        grid-template-columns: 5rem minmax(0, 1fr);
    }
}

/* ------------------------------------------------------------------ */
/* Publication History                                                */
/* ------------------------------------------------------------------ */

.publication-history {
    max-width: 960px;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 2.5rem;
}

.publication-history__header {
    margin-bottom: 1rem;
}

.publication-history__title {
    margin: 0 0 0.35rem;
    font-family: var(--ed-font);
    font-size: 1.75rem;
    font-weight: 400;
}

.publication-history__subtitle {
    margin: 0;
    font-size: 0.9375rem;
}

.publication-history .editorial-filters-collapse:not(.ew-publications-filters-panel) {
    margin-bottom: 1rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.publication-history .ew-publications-filters-panel {
    margin-bottom: 0.85rem;
}

.publication-history__filters:not(.ew-publications-filters) {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
    gap: 0.75rem 1rem;
    padding: 0 1.25rem 1rem;
    border-bottom: none;
    background: transparent;
}

.publication-history__filters label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--ed-muted);
}

.publication-history__count {
    margin: 0 0 0.85rem;
    font-size: 0.8125rem;
}

.publication-history__list,
.hist-archive-list {
    display: grid;
    gap: 0.75rem;
}

.hist-archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

@media (max-width: 1080px) {
    .hist-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .hist-archive-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.hist-archive-card {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    box-shadow: var(--ed-shadow-panel);
    min-width: 0;
    min-height: 0;
    height: 100%;
}

.hist-archive-card.is-expanded {
    grid-column: 1 / -1;
    height: auto;
}

.hist-archive-card__shell {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    height: 100%;
}

.hist-archive-card__summary {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0.65rem 0.75rem 0.35rem;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    color: inherit;
    font: inherit;
    min-width: 0;
}

.hist-archive-card__summary:hover {
    background: transparent;
}

.hist-archive-card:not(.is-expanded):hover {
    background: var(--ed-hover);
}

.hist-archive-card__summary:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 1px var(--ed-accent);
}

.hist-archive-card.is-expanded .hist-archive-card__summary,
.hist-archive-card.is-expanded .hist-archive-card__actions {
    display: none;
}

.hist-archive-card--attention {
    border-color: var(--ed-danger-line);
}

.hist-archive-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem 0.5rem;
    margin-bottom: 0.4rem;
    padding-right: 0;
}

.hist-archive-card__head-aside {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    flex-shrink: 1;
    min-width: 0;
    max-width: 100%;
}

.hist-archive-card__warning {
    display: block;
    max-width: 14rem;
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--ed-warning);
    overflow-wrap: anywhere;
    text-align: right;
}

.hist-archive-card__unapplied {
    margin: 0.55rem 0 0;
    padding: 0.55rem 0.7rem;
    border-radius: var(--ed-radius);
    border: 1px solid var(--ed-warning-line);
    background: var(--ed-warning-bg);
    color: var(--ed-warning);
    overflow-wrap: anywhere;
}

.hist-archive-card__unapplied p {
    margin: 0 0 0.35rem;
    font-size: 0.75rem;
    line-height: 1.4;
}

.hist-archive-card__unapplied p:last-child {
    margin-bottom: 0;
}

.hist-archive-card__unapplied ul {
    margin: 0 0 0.35rem;
    padding-left: 1.1rem;
    font-size: 0.75rem;
    line-height: 1.4;
}

.hist-archive-card__unapplied a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.hist-archive-card__kind {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.42rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--ed-accent) 35%, var(--ed-border));
    background: color-mix(in srgb, var(--ed-accent) 8%, var(--ed-surface));
    color: var(--ed-accent);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.hist-archive-card__status {
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.hist-archive-card__status--published {
    color: var(--ed-success);
}

.hist-archive-card__status--failed {
    color: var(--ed-danger);
}

.hist-archive-card__status--processing,
.hist-archive-card__status--pending,
.hist-archive-card__status--scheduled {
    color: var(--ed-muted);
}

.hist-archive-card__title {
    margin: 0;
    font-family: var(--ed-font);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.35;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: calc(0.875rem * 1.35 * 2);
}

.hist-archive-card__subtitle {
    margin: 0.18rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--ed-muted);
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    min-height: calc(0.6875rem * 1.35);
}

.hist-archive-card__meta {
    margin: 0.35rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--ed-muted);
    overflow-wrap: anywhere;
}

.hist-archive-card__sep {
    margin: 0 0.12rem;
    opacity: 0.55;
}

.hist-archive-card__spacer {
    flex: 1 1 auto;
    min-height: 0.4rem;
}

.hist-archive-card__chevron {
    flex-shrink: 0;
    width: 0.4rem;
    height: 0.4rem;
    margin-top: -0.04rem;
    border-right: 1.5px solid var(--ed-muted);
    border-bottom: 1.5px solid var(--ed-muted);
    transform: rotate(45deg);
}

.hist-archive-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
    min-height: 1.75rem;
    margin-top: auto;
    padding: 0.45rem 0.75rem 0.7rem;
}

.hist-archive-card__action {
    min-height: 1.75rem;
    padding: 0.15rem 0.55rem;
    font-size: 0.75rem;
    line-height: 1.2;
}

.hist-archive-card__details {
    padding: 0.85rem 1rem 1rem;
}

.hist-archive-card__details-title {
    margin-top: 0.3rem;
}

.hist-archive-card__details-body {
    display: grid;
    gap: 1rem 1.5rem;
}

@media (min-width: 641px) {
    .hist-archive-card__details-body {
        grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
        align-items: start;
    }
}

.hist-archive-card__facts {
    margin-bottom: 0;
}

.hist-archive-card__evidence {
    min-width: 0;
}

.hist-archive-card__evidence-row {
    margin-bottom: 0.55rem;
}

.hist-archive-card__details-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--ed-border);
}

.hist-archive-card__error-summary {
    margin: 0 0 0.45rem;
    color: var(--ed-danger);
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.01em;
}

.hist-archive-card__evidence-error {
    margin-top: 0;
}

.hist-archive-card__error-body {
    display: grid;
    gap: 0.35rem;
    margin: 0.45rem 0 0;
    padding: 0.55rem 0.65rem;
    border-radius: var(--ed-radius);
    border: 1px solid var(--ed-danger-line);
    background: var(--ed-danger-bg);
    font-size: 0.75rem;
}

.hist-archive-card__error-body div {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: 0.35rem;
}

.hist-archive-card__error-body dt {
    margin: 0;
    color: var(--ed-muted);
    font-weight: 500;
}

.hist-archive-card__error-body dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--ed-danger);
}

.hist-archive-card__error-inline {
    margin: 0.45rem 0 0;
    font-size: 0.75rem;
    color: var(--ed-danger);
}

@media (max-width: 640px) {
    .hist-archive-card__actions {
        width: 100%;
    }

    .hist-archive-card__warning {
        max-width: 100%;
        text-align: left;
    }
}

.publication-history-card {
    margin: 0;
    padding: 1rem 1.1rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    box-shadow: var(--ed-shadow-panel);
    min-width: 0;
}

.publication-history-card--quote {
    border-left: none;
}

.publication-history-card--published {
    border-color: var(--ed-border);
}

.publication-history-card--failed {
    border-color: var(--ed-danger-line);
}

.publication-history-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
}

.publication-history-card__kind,
.publication-history-card__status {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    border: 1px solid var(--ed-border);
    background: var(--ed-surface-muted);
    color: var(--ed-accent);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.03em;
}

.publication-history-card__title {
    margin: 0 0 0.75rem;
    font-family: var(--ed-font);
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.publication-history-card__meta {
    display: grid;
    gap: 0.4rem;
    margin: 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface-muted);
    font-size: 0.8125rem;
}

.publication-history-card__meta div {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr);
    gap: 0.45rem;
    align-items: baseline;
}

.publication-history-card__meta dt {
    margin: 0;
    color: var(--ed-muted);
    font-weight: 500;
    font-size: 0.75rem;
}

.publication-history-card__meta dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.publication-history-card__link {
    color: var(--ed-accent);
    text-decoration: none;
    border-bottom: 1px solid var(--ed-border);
}

.publication-history-card__link:hover {
    border-bottom-color: var(--ed-accent);
}

.publication-history-card__actions {
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--ed-border);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.publication-history__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    margin-top: 1.25rem;
    flex-wrap: wrap;
}

/* ------------------------------------------------------------------ */
/* Publication editor (History → Редактировать публикацию)             */
/* ------------------------------------------------------------------ */

.publication-editor-page {
    max-width: 100%;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 3rem;
    box-sizing: border-box;
}

.publication-editor-shell {
    --editorial-reader-width: 42rem;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    min-width: 0;
}

.publication-editor-page__back-notice,
.publication-editor-form__back-notice {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border-radius: 6px;
    border: 1px solid var(--ed-danger-line);
    background: var(--ed-danger-bg);
    color: var(--ed-danger);
    font-size: 0.875rem;
    line-height: 1.4;
}

.publication-editor-page__back-notice {
    max-width: min(var(--editorial-reader-width), 100%);
}

.publication-editor-page__back-notice.is-visible,
.publication-editor-form__back-notice.is-visible {
    display: block;
}

.publication-editor-form__back-notice {
    width: 100%;
}

.publication-editor-page__toolbar {
    display: grid;
    gap: 0.65rem;
    margin: 0 auto 1rem;
    max-width: min(var(--editorial-reader-width), 100%);
}

.publication-editor-page__back {
    margin: 0;
    font-size: 0.875rem;
}

.publication-editor-page__back a,
.publication-editor-page__back-link a {
    color: var(--ed-muted);
    text-decoration: none;
}

.publication-editor-page__back a:hover,
.publication-editor-page__back a:focus-visible,
.publication-editor-page__back-link a:hover,
.publication-editor-page__back-link a:focus-visible {
    color: var(--ed-text);
    text-decoration: underline;
}

.publication-editor-page__heading {
    margin: 0 auto 1.5rem;
    max-width: min(var(--editorial-reader-width), 100%);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.25;
}

.publication-editor-page__back-link {
    margin: 1rem auto 0;
    max-width: min(var(--editorial-reader-width), 100%);
    font-size: 0.875rem;
}

.publication-editor-page__flash {
    margin: 0 auto 1rem;
    max-width: min(var(--editorial-reader-width), 100%);
    padding: 0.75rem 0.9rem;
    border-radius: 6px;
    border: 1px solid transparent;
}

.publication-editor-page__flash p {
    margin: 0;
}

.publication-editor-page__flash--ok {
    background: var(--ed-success-bg);
    border-color: var(--ed-success-line);
    color: var(--ed-success);
}

.publication-editor-page__flash--error {
    background: var(--ed-danger-bg);
    border-color: var(--ed-danger-line);
    color: var(--ed-danger);
}

.publication-editor-page__flash--warning {
    background: var(--ed-warning-bg);
    border-color: var(--ed-warning-line);
    color: var(--ed-warning);
}

.publication-editor-form {
    max-width: min(var(--editorial-reader-width), 100%);
    margin: 0 auto;
    min-width: 0;
}

.publication-editor-form__field {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.publication-editor-form__field > span:first-child {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ed-text);
}

.publication-editor-form__field .editorial-input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.publication-editor-form__title {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.3;
}

.publication-editor-form__dek {
    font-size: 1rem;
    line-height: 1.45;
    resize: vertical;
}

.publication-editor-form__section-title {
    margin: 0 0 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ed-text);
}

.editorial-image-upload {
    display: grid;
    gap: 0.65rem;
}

.editorial-image-upload__title {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ed-text);
}

.editorial-image-upload__preview {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 0.5rem;
    overflow: hidden;
    background: var(--ed-surface-muted, #f3f2ef);
    border: 1px solid var(--ed-border);
}

.editorial-image-upload__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.editorial-image-upload__img.is-hidden,
.editorial-image-upload__empty.is-hidden {
    display: none;
}

.editorial-image-upload__empty {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: var(--ed-muted);
    font-size: 0.875rem;
}

.editorial-image-upload__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.editorial-image-upload__remove-btn {
    width: fit-content;
}

.editorial-image-upload__remote-btn {
    width: fit-content;
}

.editorial-image-upload__picker {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    cursor: pointer;
}

.editorial-image-upload__file {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.editorial-image-upload__btn {
    pointer-events: none;
}

.editorial-image-upload__error {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--ed-danger);
}

.editorial-image-upload__url-field {
    display: grid;
    gap: 0.35rem;
}

.editorial-image-upload__url-field > span {
    font-size: 0.8rem;
    font-weight: 600;
}

.editorial-image-upload__note {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.4;
}

.editorial-image-cropper {
    display: grid;
    gap: 0.65rem;
    padding: 0.75rem;
    border: 1px solid var(--ed-border);
    border-radius: 0.5rem;
    background: var(--ed-surface);
}

.editorial-image-cropper[hidden] {
    display: none !important;
}

.editorial-image-cropper__title {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ed-text);
}

.editorial-image-cropper__stage {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 0.35rem;
    background: var(--ed-surface-muted, #f3f2ef);
}

.editorial-image-cropper__stage > img {
    display: block;
    width: 100%;
    height: auto;
}

/* Cropper.js clones the source <img>. max-width:100% on those clones
   collapses the canvas and shows an empty stage. */
.editorial-image-cropper .cropper-container img {
    max-width: none !important;
    max-height: none !important;
}

.editorial-image-cropper .cropper-modal {
    background-color: #111;
    opacity: 0.42;
}

.editorial-image-cropper .cropper-view-box {
    outline: 2px solid rgba(255, 255, 255, 0.92);
}

.editorial-image-cropper .cropper-face {
    cursor: move;
}

.editorial-image-cropper .cropper-line,
.editorial-image-cropper .cropper-point {
    display: none;
}

.editorial-image-cropper__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.publication-editor-form__image {
    display: grid;
    gap: 0.65rem;
}

.publication-editor-form__body-surface {
    min-height: 16rem;
}

.publication-editor-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.5rem;
    padding-top: 0.25rem;
}

.publication-editor-shell .review-wysiwyg__surface {
    max-width: 100%;
}

@media (max-width: 640px) {
    .publication-editor-page {
        padding: 1rem 0.85rem 2.5rem;
    }

    .publication-editor-form__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .publication-editor-form__actions .btn {
        width: 100%;
        justify-content: center;
    }
}

/* ------------------------------------------------------------------ */
/* Publications read-only article reader                              */
/* ------------------------------------------------------------------ */

.publication-reader-page {
    max-width: 100%;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 3rem;
    box-sizing: border-box;
}

.publication-reader-shell {
    --editorial-reader-width: 42rem;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    min-width: 0;
}

.publication-reader-page__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin: 0 auto 1.5rem;
    max-width: min(var(--editorial-reader-width), 100%);
}

.publication-reader-page__back {
    margin: 0;
    font-size: 0.875rem;
}

.publication-reader-page__back a {
    color: var(--ed-muted);
    text-decoration: none;
}

.publication-reader-page__back a:hover,
.publication-reader-page__back a:focus-visible {
    color: var(--ed-text);
    text-decoration: underline;
}

.publication-reader-shell .review-reader-width {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.publication-reader-shell .review-reader-width__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 1px solid var(--ed-border);
    border-radius: 0.35rem;
    background: var(--ed-bg);
    color: var(--ed-text);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.publication-reader-shell .review-reader-width__btn:hover:not(:disabled) {
    border-color: var(--ed-border-strong);
    background: var(--ed-hover);
}

.publication-reader-shell .review-reader-width__btn:disabled {
    opacity: 0.45;
    cursor: default;
}

.publication-reader-shell .review-reader-width__label {
    font-family: var(--ed-ui-font);
    font-size: 0.75rem;
    color: var(--ed-muted);
    min-width: 3.25rem;
    text-align: center;
}

.publication-reader-shell .article-reader {
    max-width: min(var(--editorial-reader-width), 100%);
    width: 100%;
    margin: 0 auto;
}

.publication-reader-meta {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
    gap: 0.75rem 1.25rem;
    margin: 0 auto 1.75rem;
    padding: 0 0 1.25rem;
    max-width: min(var(--editorial-reader-width), 100%);
    border-bottom: 1px solid var(--ed-border);
    font-size: 0.875rem;
}

.publication-reader-meta dt {
    margin: 0;
    color: var(--ed-muted);
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.publication-reader-meta dd {
    margin: 0.2rem 0 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.publication-reader-meta a {
    color: var(--ed-accent);
    text-decoration: none;
}

.publication-reader-meta a:hover {
    text-decoration: underline;
}

.publication-reader-page__article {
    max-width: min(var(--editorial-reader-width), 100%);
    margin: 0 auto;
    min-width: 0;
}

.publication-reader-preview-note {
    max-width: min(var(--editorial-reader-width), 100%);
    margin: 0 auto 1rem;
    color: var(--ed-muted);
    font-size: 0.8125rem;
}

.publication-reader-flash,
.channel-rejection-banner,
.publication-reader-actions {
    max-width: min(var(--editorial-reader-width), 100%);
    margin: 0 auto 1rem;
    min-width: 0;
}

.publication-reader-flash {
    padding: 0.75rem 0.9rem;
    border-radius: 6px;
    border: 1px solid var(--ed-success-line);
    background: var(--ed-success-bg);
    color: var(--ed-success);
}

.publication-reader-flash p {
    margin: 0;
}

.channel-rejection-banner {
    padding: 0.85rem 0.95rem;
    border-radius: 6px;
    border: 1px solid var(--ed-warning-line);
    background: var(--ed-warning-bg);
    color: var(--ed-warning);
    overflow-wrap: anywhere;
}

.channel-rejection-banner__summary {
    margin: 0 0 0.45rem;
    font-weight: 600;
    line-height: 1.4;
}

.channel-rejection-banner__reasons {
    margin: 0 0 0.5rem;
    padding-left: 1.15rem;
}

.channel-rejection-banner__reasons li {
    margin: 0.2rem 0;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.channel-rejection-banner__detail {
    margin: 0;
}

.channel-rejection-banner__detail a {
    color: inherit;
    font-weight: 600;
}

.publication-reader-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.channel-reprepare-intents {
    border: 0;
    padding: 0;
    min-width: 0;
}

.channel-reprepare-intents legend {
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 0.45rem;
}

.channel-reprepare-intents__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.channel-reprepare-intents__item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.7rem;
    border: 1px solid var(--ed-border-strong);
    border-radius: var(--ed-radius);
    background: var(--ed-btn-secondary-bg);
    font-size: 0.8125rem;
    min-width: 0;
}

.channel-reprepare-form__hint {
    color: var(--ed-muted);
    font-size: 0.75rem;
}

.publication-reader-page__empty {
    max-width: 36rem;
    margin: 2rem auto 0;
}

@media (max-width: 640px) {
    .publication-reader-page {
        padding: 1rem 0.85rem 2.5rem;
    }

    .publication-reader-page__toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .publication-reader-meta {
        grid-template-columns: 1fr 1fr;
    }

    .publication-reader-actions {
        width: 100%;
    }

    .publication-reader-actions .btn {
        flex: 1 1 auto;
    }

    .channel-rejection-banner,
    .channel-reprepare-intents__list {
        max-width: 100%;
    }
}

/* ------------------------------------------------------------------ */
/* Publishing Queue                                                   */
/* ------------------------------------------------------------------ */

.publishing-queue {
    max-width: 960px;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 2.5rem;
}

.publishing-queue__header {
    margin-bottom: 1rem;
}

.publishing-queue__header-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem 1.25rem;
}

.publishing-queue__header-copy {
    flex: 1 1 14rem;
    min-width: 0;
}

.publications-mode-switch {
    display: inline-flex;
    align-items: stretch;
    flex: 0 1 auto;
    max-width: 100%;
    padding: 0.2rem;
    border: 1px solid var(--ed-border);
    border-radius: calc(var(--ed-radius) + 2px);
    background: var(--ed-surface-muted, var(--ed-surface));
    box-shadow: var(--ed-shadow-panel);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.publications-mode-switch::-webkit-scrollbar {
    display: none;
}

.publications-mode-switch__item {
    flex: 0 0 auto;
    padding: 0.38rem 0.72rem;
    border-radius: var(--ed-radius);
    border: 1px solid transparent;
    background: transparent;
    color: var(--ed-muted);
    font-family: var(--ed-ui-font);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.publications-mode-switch__item:hover {
    color: var(--ed-text);
    background: var(--ed-hover);
}

.publications-mode-switch__item.is-active {
    color: var(--ed-text);
    background: var(--ed-surface);
    border-color: var(--ed-border-strong);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.publishing-queue__content {
    min-width: 0;
}

.publishing-queue__title {
    margin: 0 0 0.35rem;
    font-family: var(--ed-font);
    font-size: 1.75rem;
    font-weight: 400;
}

.publishing-queue__subtitle {
    margin: 0;
    font-size: 0.9375rem;
}

.publishing-ops {
    margin: 0 0 1rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
}

.publishing-ops__summary {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.75rem;
    padding: 0.7rem 1rem;
    cursor: pointer;
    list-style: none;
}

.publishing-ops__summary::-webkit-details-marker {
    display: none;
}

.publishing-ops__summary::before {
    content: "▸";
    color: var(--ed-muted);
    font-size: 0.75rem;
}

.publishing-ops[open] > .publishing-ops__summary::before {
    content: "▾";
}

.publishing-ops__summary-title {
    font-size: 0.875rem;
    font-weight: 600;
}

.publishing-ops__summary-meta {
    font-size: 0.8125rem;
}

.publishing-ops__body {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--ed-border);
}

.publishing-ops__hint {
    margin: 0.75rem 0 0.85rem;
    font-size: 0.8125rem;
    line-height: 1.4;
}

.publishing-ops__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.publishing-ops__form {
    margin: 0;
}

.publishing-ops__result:not(:empty) {
    margin-top: 0.75rem;
}

.publishing-queue .editorial-filters-collapse:not(.ew-publications-filters-panel) {
    margin-bottom: 1rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.publishing-queue__filters:not(.ew-publications-filters) {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
    gap: 0.75rem 1rem;
    padding: 0 1.25rem 1rem;
    border-bottom: none;
    background: transparent;
    margin-bottom: 0;
}

.publishing-queue__filters:not(.ew-publications-filters) label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--ed-muted);
}

.publishing-queue__count {
    margin: 0 0 0.85rem;
    font-size: 0.8125rem;
}

.ew-publishing-grid,
.pub-card-grid,
.ew-create-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: stretch;
}

@media (max-width: 1080px) {
    .ew-publishing-grid,
    .pub-card-grid,
    .ew-create-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ew-publishing-grid,
    .pub-card-grid,
    .ew-create-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.pub-card {
    display: flex;
    flex-direction: column;
    margin: 0;
    min-width: 0;
    min-height: 0;
    height: 100%;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    box-shadow: var(--ed-shadow-panel);
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.pub-card:not(.is-expanded):hover {
    background: var(--ed-hover);
}

.pub-card--attention {
    border-color: var(--ed-warning-line);
}

.pub-card--fatal {
    border-color: var(--ed-danger-line);
}

.pub-card.is-expanded {
    grid-column: 1 / -1;
    height: auto;
}

.pub-card__shell {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    height: 100%;
}

.pub-card__summary {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0.65rem 1.6rem 0.7rem 0.75rem;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    color: inherit;
    font: inherit;
    min-width: 0;
}

.pub-card__summary:hover {
    background: transparent;
}

.pub-card__summary:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 1px var(--ed-accent);
}

.pub-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem 0.5rem;
    margin-bottom: 0.4rem;
}

.pub-card__title {
    margin: 0;
    font-family: var(--ed-font);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--ed-text);
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: calc(0.875rem * 1.35 * 2);
}

.pub-card.is-expanded .pub-card__summary {
    display: none;
}

.pub-card__meta,
.pub-card__schedule {
    margin: 0.35rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--ed-text-secondary);
    overflow-wrap: anywhere;
}

.pub-card__aggregate {
    margin: 0.18rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--ed-text-secondary);
    overflow-wrap: anywhere;
}

.pub-card__aggregate--attention {
    color: var(--ed-warning);
    font-weight: 600;
}

.pub-card__spacer {
    flex: 1 1 auto;
    min-height: 0;
}

.pub-card__chevron {
    position: absolute;
    right: 0.85rem;
    top: 1.05rem;
    width: 0.45rem;
    height: 0.45rem;
    border-right: 1.5px solid var(--ed-muted);
    border-bottom: 1.5px solid var(--ed-muted);
    transform: rotate(45deg);
}

.pub-card__kind {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.42rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--ed-accent) 35%, var(--ed-border));
    background: color-mix(in srgb, var(--ed-accent) 8%, var(--ed-surface));
    color: var(--ed-accent);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.pub-card__status,
.pub-card__queue {
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.pub-card__details {
    padding: 0.85rem 1rem 1rem;
}

.pub-card.is-expanded .pub-card__details {
    border-top: 0;
}

.pub-card__details-header {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem 1rem;
    margin-bottom: 0.85rem;
}

.pub-card__details-heading {
    min-width: 0;
    flex: 1 1 auto;
}

.pub-card__details-title {
    margin: 0.3rem 0 0;
    font-family: var(--ed-font);
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.pub-card__details-meta {
    margin: 0.3rem 0 0;
    font-size: 0.75rem;
    color: var(--ed-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.pub-card__details-sep {
    opacity: 0.55;
}

.pub-card__close {
    flex: 0 0 auto;
    align-self: flex-start;
    height: 1.75rem;
    min-height: 1.75rem;
    max-height: 1.75rem;
    padding: 0.15rem 0.55rem;
    font-size: 0.75rem;
    line-height: 1.2;
}

.pub-card__details-body {
    display: grid;
    gap: 1rem 1.5rem;
    margin-bottom: 0.85rem;
}

@media (min-width: 641px) {
    .pub-card__details-body {
        grid-template-columns: minmax(0, 0.34fr) minmax(0, 0.66fr);
        align-items: start;
    }
}

.pub-card__details-meta-col {
    min-width: 0;
}

.pub-card__facts {
    display: grid;
    gap: 0.5rem;
    margin: 0;
    font-size: 0.8125rem;
}

.pub-card__facts dt {
    color: var(--ed-muted);
    font-weight: 500;
    font-size: 0.6875rem;
}

.pub-card__facts dd {
    margin: 0.1rem 0 0;
    overflow-wrap: anywhere;
}

.pub-card__queue-error {
    margin: 0.65rem 0 0;
    padding: 0.4rem 0.55rem;
    border-radius: var(--ed-radius);
    border: 1px solid var(--ed-danger-line);
    background: var(--ed-danger-bg);
    color: var(--ed-danger);
    font-size: 0.75rem;
}

.pub-card__channels {
    min-width: 0;
}

.pub-card__channels-title {
    margin: 0 0 0.45rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--ed-muted);
}

.pub-card__channels-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.35rem;
}

.pub-card__channel {
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    font-size: 0.8125rem;
}

.pub-card__channel--failed {
    border-color: var(--ed-danger-line);
    background: color-mix(in srgb, var(--ed-danger-bg) 55%, var(--ed-surface));
}

.pub-card__channel-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.75rem;
    align-items: baseline;
}

.pub-card__channel-platform {
    font-weight: 600;
}

.pub-card__channel--published .pub-card__channel-status {
    color: var(--ed-success);
    font-weight: 600;
}

.pub-card__channel--failed .pub-card__channel-status {
    color: var(--ed-danger);
    font-weight: 600;
}

.pub-card__channel-target,
.pub-card__channel-time {
    color: var(--ed-muted);
    font-size: 0.75rem;
}

.pub-card__channel-error {
    margin: 0.2rem 0 0;
    color: var(--ed-danger);
    font-size: 0.75rem;
}

.pub-card__channel--ready .pub-card__channel-status {
    color: var(--ed-success);
    font-weight: 600;
}

.pub-card__channel--attention {
    border-color: var(--ed-warning-line);
    background: color-mix(in srgb, var(--ed-warning-bg) 55%, var(--ed-surface));
}

.pub-card__channel--attention .pub-card__channel-status {
    color: var(--ed-warning);
    font-weight: 600;
}

.pub-card__channel--delivery_error,
.pub-card__channel--delivery-error {
    border-color: var(--ed-danger-line);
    background: color-mix(in srgb, var(--ed-danger-bg) 55%, var(--ed-surface));
}

.pub-card__channel--delivery_error .pub-card__channel-status,
.pub-card__channel--delivery-error .pub-card__channel-status {
    color: var(--ed-danger);
    font-weight: 600;
}

.pub-card__channel-detail {
    margin: 0.2rem 0 0;
    color: var(--ed-text-secondary);
    font-size: 0.75rem;
}

.pub-card__channel--checking .pub-card__channel-status,
.pub-card__channel--preparing .pub-card__channel-status {
    color: var(--ed-accent);
    font-weight: 600;
}

.pub-card__channel-warning {
    color: var(--ed-warning);
    font-size: 0.75rem;
    font-weight: 600;
}

.pub-card__read {
    margin: 0.75rem 0 0;
}

@media (max-width: 640px) {
    .pub-card__channel-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.15rem;
    }
}

.pub-card__channels-empty {
    margin: 0;
    font-size: 0.8125rem;
}

.pub-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.pub-card__ops {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-top: 0.95rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--ed-border);
}

.pub-card__reschedule {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.65rem;
    align-items: flex-end;
    margin: 0;
    padding: 0;
    border: 0;
}

.pub-card__reschedule label {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.75rem;
    color: var(--ed-muted);
}

.pub-card__reschedule .editorial-input,
.pub-card__reschedule-input {
    width: auto;
    height: 1.75rem;
    min-height: 1.75rem;
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
}

.pub-card__reschedule-btn {
    align-self: flex-end;
    height: 1.75rem;
    min-height: 1.75rem;
    padding: 0.15rem 0.55rem;
}

.pub-card__ops-cancel {
    display: flex;
    align-items: center;
}

.pub-card__cancel {
    margin: 0;
}

@media (max-width: 640px) {
    .pub-card__details-header {
        flex-wrap: wrap;
    }

    .pub-card__reschedule {
        flex-direction: column;
        align-items: stretch;
    }

    .pub-card__reschedule .editorial-input,
    .pub-card__reschedule-input,
    .pub-card__reschedule-btn {
        width: 100%;
    }
}

.ew-publishing-card {
    margin: 0;
    padding: 1rem 1.1rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    box-shadow: var(--ed-shadow-panel);
    min-width: 0;
}

.ew-publishing-card--quote {
    border-left: none;
}

.ew-publishing-card--failed {
    border-color: var(--ed-border);
}

.ew-publishing-card__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.ew-publishing-card__title-row {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex: 1;
    min-width: 0;
}

.ew-publishing-card__kind {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    border: 1px solid var(--ed-border);
    background: var(--ed-surface-muted);
    color: var(--ed-accent);
    font-size: 0.75rem;
    font-weight: 500;
}

.ew-publishing-card__kind--quote {
    border-color: var(--ed-success-line);
    background: var(--ed-success-bg);
}

.ew-publishing-card__project {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    border: 1px solid var(--ed-border);
    background: var(--ed-surface-muted);
    color: var(--ed-muted);
    font-size: 0.75rem;
}

.ew-publishing-card__title {
    margin: 0;
    font-family: var(--ed-font);
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.ew-publishing-card__meta {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
    gap: 0.5rem 1rem;
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
}

.ew-publishing-card__meta dt {
    color: var(--ed-muted);
    font-weight: 500;
}

.ew-publishing-card__meta dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.ew-publishing-card__error {
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: var(--ed-radius);
    border: 1px solid var(--ed-danger-line);
    background: var(--ed-danger-bg);
    color: var(--ed-danger);
    font-size: 0.8125rem;
}

.ew-publishing-status--scheduled {
    color: var(--ed-success);
}

.ew-publishing-status--processing {
    color: var(--ed-accent);
}

.ew-publishing-status--approved,
.ew-publishing-status--proposed {
    color: var(--ed-warning);
}

.ew-publishing-status--cancelled,
.ew-publishing-status--rejected,
.ew-publishing-status--replaced {
    color: var(--ed-muted);
}

.ew-publishing-status--published,
.ew-publishing-status--ready_to_publish {
    color: var(--ed-success);
}

.ew-publishing-status--failed,
.ew-publishing-status--failed_permanent {
    color: var(--ed-danger);
}

.ew-publishing-deliveries {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--ed-border);
}

.ew-publishing-deliveries__title {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ed-muted);
}

.ew-publishing-deliveries__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.ew-publishing-delivery {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem 0.75rem;
    align-items: center;
    font-size: 0.8125rem;
}

.ew-publishing-delivery__platform {
    font-weight: 600;
}

.ew-publishing-delivery--failed .ew-publishing-delivery__status {
    color: var(--ed-danger);
}

.ew-publishing-delivery--published .ew-publishing-delivery__status {
    color: var(--ed-success);
}

.ew-publishing-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-top: 0.75rem;
}

.ew-inline-form {
    display: inline;
}

.ew-publishing-reschedule {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    align-items: flex-end;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--ed-border);
}

.ew-publishing-reschedule label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--ed-muted);
}

.ew-publishing-cancel {
    margin-top: 0.5rem;
}

.ew-action-flash {
    margin: 0 0 0.75rem;
    padding: 0.45rem 0.65rem;
    border-radius: var(--ed-radius);
    background: var(--ed-accent-soft);
    color: var(--ed-accent);
    font-size: 0.8125rem;
}

.ew-empty-state {
    padding: 1.5rem 1rem;
    text-align: center;
    color: var(--ed-muted);
}

.ew-empty-state__hint {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
}

.publishing-queue__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    margin-top: 1.25rem;
}

/* ------------------------------------------------------------------ */
/* Quotes                                                             */
/* ------------------------------------------------------------------ */

.ew-quotes-page {
    max-width: none;
    margin: 0;
    padding: 0;
}

.ew-quotes-header {
    margin-bottom: 1.25rem;
}

.ew-quotes-title {
    margin: 0;
}

.ew-quotes-subtitle {
    margin: 0;
}

.ew-quotes-create-wrap {
    margin-bottom: 1rem;
}

.ew-quotes-create-details summary {
    cursor: pointer;
    list-style: none;
    display: inline-block;
}

.ew-quotes-create-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin-top: 0.75rem;
    padding: 1rem;
    border: 1px solid var(--ed-border);
    border-radius: 6px;
    background: var(--ed-planning-card-bg);
    align-items: flex-end;
}

.ew-quotes-create-form label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--ed-muted);
}

.ew-quotes-create-form__text {
    flex: 1 1 100%;
}

.ew-quotes-create-form__text textarea {
    width: 100%;
    min-height: 4rem;
    font-family: var(--ed-ui-font);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    padding: 0.45rem 0.65rem;
    background: var(--ed-surface);
}

.ew-quotes-grid {
    display: grid;
    gap: 0.85rem;
}

.ew-quotes-card {
    margin: 0;
    padding: 0.75rem 1rem 0.85rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    box-shadow: var(--ed-shadow-panel);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ew-quotes-card--rejected {
    opacity: 0.92;
    border-color: var(--ed-danger-line);
    background: color-mix(in srgb, var(--ed-surface) 94%, var(--ed-danger-line));
}

.ew-quotes-card__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.ew-quotes-card__title-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ew-quotes-card__text {
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.75rem;
    border: none;
    border-radius: calc(var(--ed-radius) - 2px);
    background: var(--ed-surface-muted);
    font-family: var(--ed-font);
    font-style: italic;
    color: var(--ed-text);
    line-height: 1.45;
}

.ew-quotes-card__meta {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
    gap: 0.5rem 1rem;
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
}

.ew-quotes-card__meta dt {
    color: var(--ed-muted);
    font-weight: 500;
}

.ew-quotes-card__meta dd {
    margin: 0;
}

.ew-quotes-status {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.ew-quotes-status--draft { color: var(--ed-muted); }
.ew-quotes-status--active { color: var(--ed-success); }
.ew-quotes-status--queue_ready { color: var(--ed-success); }
.ew-quotes-status--archived { color: var(--ed-muted); }

.ew-quotes-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-start;
}

.ew-quotes-reject-details summary {
    cursor: pointer;
    list-style: none;
}

.ew-quotes-reject-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding: 0.5rem;
    border: 1px dashed var(--ed-border);
    border-radius: var(--ed-radius);
}

.ew-quotes-rejected-note {
    color: var(--ed-danger);
    font-size: 0.8125rem;
    margin: 0 0 0.5rem;
}

.ew-quotes-history {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--ed-border);
}

.ew-quotes-history__title {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
}

.ew-quotes-history__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.5rem;
}

.ew-quotes-history__item {
    padding: 0.5rem;
    background: var(--ed-surface-muted);
    border-radius: var(--ed-radius);
    font-size: 0.8125rem;
}

.ew-quotes-history__head {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

.ew-quotes-history__meta pre {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    overflow-x: auto;
}

.ew-quotes-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ew-quotes-modal[hidden] {
    display: none;
}

.ew-quotes-modal__backdrop {
    position: absolute;
    inset: 0;
    background: var(--ed-overlay);
}

.ew-quotes-modal__panel {
    position: relative;
    z-index: 1;
    width: min(32rem, 92vw);
    max-height: 90vh;
    overflow-y: auto;
    padding: 1.25rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: 8px;
    box-shadow: var(--ed-shadow-modal);
}

.ew-quotes-locked-warning {
    margin-bottom: 0.75rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--ed-warning-line);
    border-radius: var(--ed-radius);
    background: var(--ed-warning-bg);
    font-size: 0.8125rem;
}

.ew-quotes-edit-form__actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.ew-badge-quote {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.42rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--ed-accent) 35%, var(--ed-border));
    background: color-mix(in srgb, var(--ed-accent) 12%, var(--ed-surface));
    color: var(--ed-accent);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.ew-quote-planned {
    border-color: var(--ed-success-line);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--ed-success) 15%, transparent);
}

.ew-quote-planned-badge {
    background: var(--ed-accent-soft);
    color: var(--ed-accent);
    border: 1px solid var(--ed-success-line);
    border-radius: 999px;
    padding: 0.15rem 0.5rem;
    font-size: 0.75rem;
}

.ew-quotes-planning-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.ew-quotes-planning-modal__meta {
    margin-bottom: 1rem;
}

.ew-quotes-planning-form label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 0.75rem;
    font-size: 0.8125rem;
    color: var(--ed-muted);
}

.ew-quotes-planning-form__actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.ew-quotes-plan-result {
    margin-top: 0.75rem;
}

.ew-quotes-hint--warn {
    color: var(--ed-warning);
}

.ew-action-result {
    padding: 0.75rem 1rem;
    border-radius: var(--ed-radius);
    border: 1px solid var(--ed-border);
    background: var(--ed-surface);
}

.ew-action-result--error {
    border-color: var(--ed-danger-line);
    background: var(--ed-danger-bg);
    color: var(--ed-danger);
}

/* Telegram confirm queue */
.telegram-queue__flash {
    padding: 0.75rem 1rem;
    border: 1px solid var(--ed-border);
    background: var(--ed-accent-soft);
    color: var(--ed-accent);
    border-radius: var(--ed-radius);
}

.telegram-queue__error {
    padding: 0.75rem 1rem;
    border: 1px solid var(--ed-danger-line);
    background: var(--ed-danger-bg);
    color: var(--ed-danger);
    border-radius: var(--ed-radius);
}

.telegram-queue__list {
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.telegram-queue__card {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem 1.25rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.telegram-queue__title-link {
    color: var(--ed-text);
    font-family: var(--ed-font);
    font-size: 1.125rem;
    text-decoration: none;
}

.telegram-queue__title-link:hover {
    color: var(--ed-accent);
}

.telegram-queue__meta {
    margin: 0.35rem 0 0;
}

.telegram-queue__hook {
    margin: 0.5rem 0 0;
    color: var(--ed-muted);
}

.telegram-queue__facts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    gap: 0.75rem 1.5rem;
    margin: 1.25rem 0;
}

.telegram-queue__facts dt {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ed-muted);
}

.telegram-queue__facts dd {
    margin: 0.15rem 0 0;
}

.telegram-queue__preview {
    margin: 1.5rem 0;
    padding: 1.25rem;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
}

.telegram-queue__preview-title {
    margin: 0 0 0.75rem;
    font-size: 1rem;
}

.telegram-queue__preview-body {
    font-family: var(--ed-ui-font);
    white-space: pre-wrap;
    line-height: 1.55;
}

.telegram-queue__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.ew-create-page,
.ew-create-editor {
    max-width: 52rem;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 3rem;
    display: grid;
    gap: 1.25rem;
}

.ew-create-page__actions,
.ew-create-editor__footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.ew-create-lists {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 900px) {
    .ew-create-lists {
        grid-template-columns: 1fr 1fr;
    }
}

.ew-create-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.5rem;
}

.ew-create-form {
    display: grid;
    gap: 1rem;
}

.ew-create-notice {
    margin: 0;
    padding: 0.75rem 1rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-accent-soft);
}

.ew-create-save {
    margin: 0;
    font-size: 0.85rem;
    color: var(--ed-muted, #667);
}

.ew-create-links__row {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.ew-create-help {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.75rem;
    line-height: 1.4;
}

.ew-create-featured {
    display: grid;
    gap: 0.35rem;
    margin: 0 0 0.9rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    box-shadow: var(--ed-shadow-panel);
}

.ew-create-featured__kicker {
    margin: 0;
    font-size: 0.75rem;
}

.ew-create-featured__title {
    margin: 0;
    font-weight: 600;
}

.ew-create-featured__title--quote {
    font-style: italic;
    font-weight: 500;
}

.ew-create-featured > .btn {
    justify-self: center;
    width: max-content;
    padding-inline: 1rem;
}

.ew-create-grid {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ew-create-item {
    display: flex;
    flex-direction: column;
    margin: 0;
    min-width: 0;
    min-height: 0;
    height: 100%;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    box-shadow: var(--ed-shadow-panel);
    transition: background 0.15s ease, border-color 0.15s ease;
}

.ew-create-item:hover {
    background: var(--ed-hover);
}

.ew-create-item__main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.65rem 0.75rem 0.35rem;
    color: inherit;
    text-decoration: none;
}

.ew-create-item__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem 0.5rem;
    margin-bottom: 0.4rem;
}

.ew-create-item__kind {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.42rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--ed-accent) 35%, var(--ed-border));
    background: color-mix(in srgb, var(--ed-accent) 8%, var(--ed-surface));
    color: var(--ed-accent);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.ew-prep-badge {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 0.08rem 0.42rem;
    border-radius: 999px;
    border: 1px solid var(--ed-border);
    background: color-mix(in srgb, var(--ed-muted) 10%, var(--ed-surface));
    color: var(--ed-muted);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
    white-space: nowrap;
}

.ew-create-prep {
    margin: 0.25rem 0 0;
}

.planning-slot-card__header .ew-prep-badge,
.planning-card__labels .ew-prep-badge,
.review-list-item__facet .ew-prep-badge {
    flex-shrink: 0;
}

.ew-create-item__status {
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--ed-muted);
}

.ew-create-item__status--ready {
    color: var(--ed-success);
}

.ew-create-item__title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.ew-create-item--quote .ew-create-item__title {
    font-style: italic;
    font-weight: 500;
}

.ew-create-item__author {
    margin: 0.18rem 0 0;
    font-size: 0.75rem;
    color: var(--ed-text);
}

.ew-create-item__meta {
    margin: 0.35rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--ed-muted);
    overflow-wrap: anywhere;
}

.ew-create-item__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
    min-height: 1.75rem;
    margin-top: auto;
    padding: 0.45rem 0.75rem 0.7rem;
}

.ew-create-item__icon {
    border: 0;
    background: transparent;
    color: var(--ed-muted);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    padding: 0.15rem 0.35rem;
}

.ew-create-item__icon:hover,
.ew-create-item__icon:focus-visible {
    color: var(--ed-text);
}

.ew-create-dialog {
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    padding: 1.1rem 1.2rem;
    max-width: 28rem;
}

.ew-create-dialog__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
}

.editorial-image-upload--compact.is-empty .editorial-image-upload__preview {
    display: none;
}

.ew-create-preview {
    display: grid;
    gap: 1rem;
}

.ew-create-ai {
    display: grid;
    gap: 0.65rem;
    margin: 0.25rem 0 0.5rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface);
    min-width: 0;
}

.ew-create-ai__title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 650;
    color: var(--ed-text);
}

.ew-create-ai__lead,
.ew-create-ai__help,
.ew-create-ai__notice,
.ew-create-ai__loading p {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.45;
    color: var(--ed-muted);
}

.ew-create-ai__ops,
.ew-create-ai__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.ew-create-ai__panel {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.35rem;
    border-top: 1px solid var(--ed-border);
}

.ew-create-ai__config,
.ew-create-ai__result,
.ew-create-ai__clarify,
.ew-create-ai__error-state,
.ew-create-ai__loading {
    display: grid;
    gap: 0.65rem;
}

.ew-create-ai [hidden] {
    display: none !important;
}

.ew-create-ai__questions {
    margin: 0;
    padding-left: 1.2rem;
    display: grid;
    gap: 0.35rem;
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--ed-text);
    overflow-wrap: anywhere;
    min-width: 0;
}

.ew-create-ai__questions li {
    padding-left: 0.15rem;
}

.ew-create-ai__field {
    display: grid;
    gap: 0.3rem;
    min-width: 0;
}

.ew-create-ai__field textarea {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.ew-create-ai__field span {
    font-size: 0.8rem;
    color: var(--ed-text-secondary);
}

.ew-create-ai__preview {
    max-height: 18rem;
    overflow: auto;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    background: var(--ed-surface-muted);
    color: var(--ed-text);
}

.ew-create-ai__error {
    margin: 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--ed-danger-line);
    border-radius: var(--ed-radius);
    background: var(--ed-danger-bg);
    color: var(--ed-danger);
    font-size: 0.9rem;
    line-height: 1.4;
}

.ew-create-ai__ops .btn[disabled],
.ew-create-ai__actions .btn[disabled] {
    opacity: 0.65;
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .ew-create-ai__ops .btn,
    .ew-create-ai__actions .btn {
        flex: 1 1 100%;
        justify-content: center;
    }
}

html[data-theme="dark"] .ew-create-ai__preview {
    background: var(--ed-surface-muted);
}

html[data-theme="dark"] .ew-create-ai__questions,
html[data-theme="dark"] .ew-create-ai__notice {
    color: var(--ed-text);
}

html[data-theme="dark"] .ew-create-ai__error {
    color: var(--ed-text);
}


