/* Shared content system. Heroes remain page-specific. */
:root {
    --mk-content-ink: #111827;
    --mk-content-muted: #64748b;
    --mk-content-line: #e5e7eb;
    --mk-content-line-soft: #eef0f3;
    --mk-content-surface: #fff;
    --mk-content-surface-soft: #f8fafc;
    --mk-content-radius: 8px;
    --mk-content-gap: 1rem;
    --mk-content-shadow: 0 8px 22px rgba(15, 23, 42, .045);
    --mk-content-shadow-strong: 0 12px 28px rgba(15, 23, 42, .06);
}

/* Opt-in primitives for new and migrated modules. */
.mk-content-panel {
    border: 1px solid var(--mk-content-line);
    border-radius: var(--mk-content-radius);
    background: var(--mk-content-surface);
    box-shadow: var(--mk-content-shadow);
}

.mk-content-grid {
    display: grid;
    gap: var(--mk-content-gap);
}

.mk-content-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    min-height: 58px;
    padding: .8rem 1rem;
    border-bottom: 1px solid var(--mk-content-line-soft);
}

.mk-content-section-head h2,
.mk-content-section-head h3 {
    margin: 0;
    color: var(--mk-content-ink);
    font-size: 1.12rem;
    line-height: 1.25;
    font-weight: 800;
}

.mk-content-kicker {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #991b1b;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.mk-content-list {
    display: grid;
    gap: .65rem;
}

.mk-content-list-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .8rem;
    border: 1px solid var(--mk-content-line);
    border-radius: var(--mk-content-radius);
    background: var(--mk-content-surface);
    color: inherit;
    text-decoration: none;
    box-shadow: var(--mk-content-shadow);
}

.mk-content-list-row:hover {
    border-color: #cbd5e1;
    background: #fcfdff;
}

.mk-content-meta {
    color: var(--mk-content-muted);
    font-size: .76rem;
    line-height: 1.4;
}

.mk-content-empty {
    display: grid;
    place-content: center;
    justify-items: center;
    gap: .45rem;
    min-height: 220px;
    padding: 1.5rem;
    border: 1px dashed #cbd5e1;
    border-radius: var(--mk-content-radius);
    background: var(--mk-content-surface);
    text-align: center;
}

.mk-content-empty h2,
.mk-content-empty h3 {
    margin: .25rem 0 0;
    color: var(--mk-content-ink);
    font-size: 1.08rem;
}

.mk-content-empty p {
    margin: 0;
    color: var(--mk-content-muted);
    font-size: .86rem;
}

/* Public content families use the same panel contract. */
body:is(
    .mk-product-forum,
    .mk-product-library,
    .mk-product-support,
    .mk-product-exchange,
    .mk-product-personal,
    .mk-product-knowledge,
    .mk-product-updates,
    .mk-product-places,
    .mk-product-editorial
) .site-main :where(
    .forum-search-panel,
    .forum-discovery-card,
    .forum-tag-cloud-card,
    .category-section,
    .forum-topic-controls,
    .forum-subcategory-gateway,
    .topic-card,
    .forum-watch-card,
    .forum-saved-card,
    .forum-tag-topic-card,
    .documents-search-panel,
    .documents-owner-queue,
    .category-header-card,
    .document-category-card,
    .document-card,
    .no-subcategories-card,
    .no-documents-section,
    .signal-filter-panel,
    .signal-content-card,
    .signal-replies-card,
    .signal-reply-form-card,
    .signal-side-card,
    .signal-card,
    .signal-list,
    .becayis-filter-bar,
    .match-card,
    .chain-card,
    .fav-card,
    .becayis-form-card,
    .cetele-panel,
    .task-card-modern,
    .filters-container-modern,
    .law-panel,
    .law-source-panel,
    .mk-results-panel,
    .mk-document-panel,
    .official-card,
    .city-reference-card
) {
    border-color: var(--mk-content-line);
    border-radius: var(--mk-content-radius);
    background: var(--mk-content-surface);
    box-shadow: var(--mk-content-shadow);
}

body:is(
    .mk-product-forum,
    .mk-product-library,
    .mk-product-support,
    .mk-product-exchange,
    .mk-product-personal,
    .mk-product-knowledge,
    .mk-product-updates,
    .mk-product-places,
    .mk-product-editorial
) .site-main :where(
    .forum-discovery-empty,
    .no-subs-text,
    .no-docs-text,
    .signal-empty,
    .empty-state p,
    .empty-msg p
) {
    color: var(--mk-content-muted);
}

@media (max-width: 760px) {
    .mk-content-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .mk-content-list-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .mk-content-list-row > :last-child {
        grid-column: 2;
        justify-self: start;
    }
}/* Forum and library first-pass migration: the content rhythm follows the
   notification feed while each product keeps its own accent and hero. */
body.mk-product-forum .site-main :where(.forum-discovery-card, .category-section, .forum-topic-controls, .topic-card),
body.mk-product-library .site-main :where(.documents-owner-queue, .documents-search-panel, .category-section, .document-card, .top-document-card) {
    overflow: hidden;
}

body.mk-product-forum .site-main :where(.forum-discovery-head, .category-section > .cat-header, .forum-topic-controls),
body.mk-product-library .site-main :where(.documents-search-panel, .category-section > .category-header-card) {
    border-bottom-color: var(--mk-content-line-soft);
}

body.mk-product-forum .site-main :where(.forum-discovery-head h2, .cat-name, .forum-topic-controls h2, .forum-topic-controls h3),
body.mk-product-library .site-main :where(.category-title, .documents-owner-queue strong) {
    color: var(--mk-content-ink);
    letter-spacing: 0;
}

body.mk-product-forum .site-main :where(.forum-discovery-meta, .subcat-desc, .topic-meta, .topic-excerpt, .last-activity-col),
body.mk-product-library .site-main :where(.category-description, .doc-description, .doc-meta, .documents-owner-queue__hint) {
    color: var(--mk-content-muted);
    font-size: .82rem;
    line-height: 1.45;
}

body.mk-product-forum .site-main :where(.forum-discovery-list, .subcat-list, .topics-list),
body.mk-product-library .site-main :where(.documents-list, .top-documents-grid, .subcategories-container) {
    gap: .65rem;
}

body.mk-product-forum .site-main :where(.forum-discovery-topic, .subcat-row, .topic-card),
body.mk-product-library .site-main :where(.top-document-card, .document-card) {
    box-shadow: none;
}

body.mk-product-forum .site-main :where(.forum-discovery-topic, .subcat-row, .topic-card):hover,
body.mk-product-library .site-main :where(.top-document-card, .document-card):hover {
    border-color: #cbd5e1;
}

body.mk-product-forum .site-main :where(.topic-card h3, .subcat-title),
body.mk-product-library .site-main :where(.document-card h3, .top-document-body strong) {
    color: var(--mk-content-ink);
    font-size: .98rem;
    line-height: 1.35;
}

body.mk-product-forum .site-main :where(.topic-card h3 a, .subcat-title a),
body.mk-product-library .site-main :where(.document-card h3 a, .top-document-card) {
    color: inherit;
    text-decoration: none;
}

body.mk-product-library .site-main .documents-owner-queue {
    padding: .85rem 1rem;
}

body.mk-product-library .site-main .documents-owner-queue__list {
    display: grid;
    gap: .45rem;
    margin: .65rem 0 0;
    padding-left: 1.1rem;
}

body.mk-product-library .site-main .documents-owner-queue__list a {
    color: #92400e;
    font-weight: 700;
}

body.mk-product-library .site-main .documents-search-panel {
    align-items: center;
    gap: .65rem;
    padding: .7rem;
}

body.mk-product-library .site-main .documents-search-input {
    min-height: 42px;
}

@media (max-width: 760px) {
    body.mk-product-forum .site-main :where(.forum-discovery-head, .category-section > .cat-header),
    body.mk-product-library .site-main :where(.documents-search-panel, .category-section > .category-header-card) {
        padding: .75rem;
    }

    body.mk-product-library .site-main .documents-search-panel {
        align-items: stretch;
    }
}
/* Support, exchange and personal workspace migration. */
body.mk-product-support .site-main :where(.signal-filter-panel, .signal-content-card, .signal-replies-card, .signal-reply-form-card, .signal-side-card),
body.mk-product-exchange .site-main :where(.becayis-filter-bar, .match-card, .chain-card, .fav-card, .becayis-form-card),
body.mk-product-personal .site-main :where(.cetele-panel, .filters-container-modern, .task-card-modern, .cetele-card, .cetele-form) {
    border-color: var(--mk-content-line);
    border-radius: var(--mk-content-radius);
    background: var(--mk-content-surface);
    box-shadow: var(--mk-content-shadow);
}

body.mk-product-support .site-main :where(.signal-section-title, .signal-reply-form-card h2, .signal-side-card h3),
body.mk-product-exchange .site-main :where(.becayis-section-title, .match-card h3, .chain-card h3),
body.mk-product-personal .site-main :where(.cetele-section-title, .task-title, .cetele-title) {
    color: var(--mk-content-ink);
    letter-spacing: 0;
}

body.mk-product-support .site-main :where(.signal-rich-content, .signal-reply-meta, .signal-side-card p),
body.mk-product-exchange .site-main :where(.match-meta, .chain-meta, .fav-meta),
body.mk-product-personal .site-main :where(.task-meta, .task-description, .cetele-meta) {
    color: var(--mk-content-muted);
    font-size: .82rem;
    line-height: 1.45;
}

body.mk-product-support .site-main :where(.signal-reply, .signal-guidance-box),
body.mk-product-exchange .site-main :where(.match-card, .chain-card, .fav-card),
body.mk-product-personal .site-main :where(.task-card-modern, .cetele-card) {
    box-shadow: none;
}

body.mk-product-support .site-main :where(.signal-reply, .signal-guidance-box),
body.mk-product-exchange .site-main :where(.match-card, .chain-card, .fav-card) {
    border-color: var(--mk-content-line-soft);
}

body.mk-product-personal .site-main :where(.filters-container-modern, .task-card-modern) {
    transition: border-color .16s ease, background-color .16s ease;
}

body.mk-product-personal .site-main :where(.filters-container-modern, .task-card-modern):hover {
    border-color: #cbd5e1;
    background: #fcfdff;
}

@media (max-width: 760px) {
    body.mk-product-support .site-main :where(.signal-filter-panel, .signal-content-card, .signal-replies-card, .signal-reply-form-card, .signal-side-card),
    body.mk-product-exchange .site-main :where(.becayis-filter-bar, .match-card, .chain-card, .fav-card, .becayis-form-card),
    body.mk-product-personal .site-main :where(.cetele-panel, .filters-container-modern, .task-card-modern, .cetele-card, .cetele-form) {
        padding: .85rem;
    }
}
/* Knowledge, editorial and account-facing content surfaces. */
body.mk-product-knowledge .site-main :where(.law-panel, .law-source-panel, .mk-results-panel, .mk-document-panel),
body.mk-product-updates .site-main :where(.official-card),
body.mk-product-places .site-main :where(.city-reference-card),
body.mk-product-editorial .site-main :where(.post-card, .blog-sidebar, .blog-empty-shell, .post-content),
body.mk-product-conversation .site-main :where(.conversations-panel, .chat-panel, .notification-preferences-card) {
    border-color: var(--mk-content-line);
    border-radius: var(--mk-content-radius);
    background: var(--mk-content-surface);
    box-shadow: var(--mk-content-shadow);
}

body.mk-product-knowledge .site-main :where(.law-panel h2, .law-panel h3, .law-source-panel h2, .mk-results-panel h2, .mk-document-panel h2),
body.mk-product-updates .site-main :where(.official-card h2, .official-card h3),
body.mk-product-places .site-main :where(.city-reference-card h2, .city-reference-card h3),
body.mk-product-editorial .site-main :where(.blog-section-title, .post-title-anchor, .blog-sidebar h2, .blog-sidebar h3) {
    color: var(--mk-content-ink);
    letter-spacing: 0;
}

body.mk-product-knowledge .site-main :where(.law-panel p, .law-source-panel p, .law-source-panel li, .mk-results-panel p, .mk-document-panel p),
body.mk-product-updates .site-main :where(.official-card p),
body.mk-product-places .site-main :where(.city-reference-card p),
body.mk-product-editorial .site-main :where(.post-excerpt, .post-meta, .blog-sidebar small, .blog-sidebar p) {
    color: var(--mk-content-muted);
    line-height: 1.55;
}

body.mk-product-editorial .site-main :where(.post-card, .blog-sidebar) {
    box-shadow: none;
}

body.mk-product-editorial .site-main :where(.post-card, .blog-sidebar):hover {
    border-color: #cbd5e1;
}

body.mk-product-conversation .site-main :where(.conversations-panel, .chat-panel, .notification-preferences-card) {
    box-shadow: var(--mk-content-shadow);
}

@media (max-width: 760px) {
    body.mk-product-knowledge .site-main :where(.law-panel, .law-source-panel, .mk-results-panel, .mk-document-panel),
    body.mk-product-updates .site-main :where(.official-card),
    body.mk-product-places .site-main :where(.city-reference-card),
    body.mk-product-editorial .site-main :where(.post-card, .blog-sidebar, .blog-empty-shell, .post-content) {
        padding: .85rem;
    }
}
/* Back-office content surfaces use the same spacing and border contract. */
body.mk-shell-backoffice :where(.admin-form-card, .table-card-flush, .settings-control-panel, .sidebar-card, .docs-table, .migration-table-wrap, .admin-ad-slot-card, .admin-quick-link, .module-card, .attention-card, .stat-card) {
    border-color: var(--mk-content-line);
    border-radius: var(--mk-content-radius);
    background: var(--mk-content-surface);
    box-shadow: var(--mk-content-shadow);
}

body.mk-shell-backoffice :where(.admin-form-card h2, .admin-form-card h3, .settings-control-panel h2, .settings-control-panel h3, .sidebar-card h2, .sidebar-card h3, .admin-ad-card-head, .module-card strong, .attention-card strong) {
    color: var(--mk-content-ink);
    letter-spacing: 0;
}

body.mk-shell-backoffice :where(.admin-form-card p, .settings-control-panel small, .sidebar-card p, .module-card small, .attention-card small) {
    color: var(--mk-content-muted);
    line-height: 1.5;
}

body.mk-shell-backoffice :where(.admin-table, .docs-table table, .migration-table-wrap table) {
    border-color: var(--mk-content-line);
}

@media (max-width: 760px) {
    body.mk-shell-backoffice :where(.admin-form-card, .table-card-flush, .settings-control-panel, .sidebar-card, .docs-table, .migration-table-wrap, .admin-ad-slot-card, .admin-quick-link, .module-card, .attention-card, .stat-card) {
        border-radius: 8px;
    }
}
/* Back-office radius normalization for legacy page-specific modules. */
body.mk-shell-backoffice :where(
    .admin-page-hero,
    .admin-header,
    .admin-hero,
    .taxonomy-hero,
    .import-hero,
    .city-admin-hero,
    .law-admin-hero,
    .admin-card,
    .stat-card,
    .settings-status-card,
    .table-card-flush,
    .admin-form-card,
    .sidebar-card,
    .docs-table,
    .migration-table-wrap,
    .taxonomy-form-card,
    .taxonomy-list-card,
    .document-list-card,
    .import-card,
    .template-card,
    .field-guide,
    .select-city-card,
    .admin-ad-slot-card,
    .admin-quick-link,
    .module-card,
    .attention-card
) {
    border-radius: var(--mk-content-radius) !important;
}
/* V2.4: notification-center content baseline for all non-hero surfaces. */
:root {
    --mk-content-accent: #dc2626;
    --mk-content-accent-soft: #fef2f2;
    --mk-content-control-height: 42px;
}

body:is(
    .mk-product-forum,
    .mk-product-library,
    .mk-product-support,
    .mk-product-exchange,
    .mk-product-personal,
    .mk-product-knowledge,
    .mk-product-updates,
    .mk-product-places,
    .mk-product-editorial,
    .mk-product-conversation,
    .mk-product-people,
    .mk-shell-backoffice
) :where(
    .page-card,
    .content-section,
    .content-card,
    .info-card,
    .doc-info-card,
    .document-detail,
    .document-view,
    .profile-card,
    .session-card,
    .sessions-toolbar,
    .conversations-panel,
    .chat-panel,
    .notification-preferences-card,
    .post-content,
    .blog-sidebar,
    .admin-form-card,
    .table-card-flush,
    .settings-control-panel,
    .sidebar-card,
    .docs-table,
    .migration-table-wrap
) {
    border-color: var(--mk-content-line);
    border-radius: var(--mk-content-radius);
    background: var(--mk-content-surface);
    box-shadow: var(--mk-content-shadow);
}

body:is(
    .mk-product-forum,
    .mk-product-library,
    .mk-product-support,
    .mk-product-exchange,
    .mk-product-personal,
    .mk-product-knowledge,
    .mk-product-updates,
    .mk-product-places,
    .mk-product-editorial,
    .mk-product-conversation,
    .mk-product-people,
    .mk-shell-backoffice
) :where(
    .panel-header,
    .section-head,
    .card-header,
    .content-section-header,
    .document-header,
    .chat-header,
    .sessions-toolbar > div,
    .admin-card-head,
    .table-card-head
) {
    border-bottom-color: var(--mk-content-line-soft);
}

body:is(
    .mk-product-forum,
    .mk-product-library,
    .mk-product-support,
    .mk-product-exchange,
    .mk-product-personal,
    .mk-product-knowledge,
    .mk-product-updates,
    .mk-product-places,
    .mk-product-editorial,
    .mk-product-conversation,
    .mk-product-people,
    .mk-shell-backoffice
) :where(
    .panel-header h2,
    .panel-header h3,
    .section-head h2,
    .section-head h3,
    .card-header h2,
    .card-header h3,
    .content-section-header h2,
    .content-section-header h3,
    .document-header h1,
    .chat-header h2,
    .session-title strong,
    .admin-card-head h2,
    .admin-card-head h3,
    .table-card-head h2
) {
    color: var(--mk-content-ink);
    letter-spacing: 0;
}

body:is(
    .mk-product-forum,
    .mk-product-library,
    .mk-product-support,
    .mk-product-exchange,
    .mk-product-personal,
    .mk-product-knowledge,
    .mk-product-updates,
    .mk-product-places,
    .mk-product-editorial,
    .mk-product-conversation,
    .mk-product-people,
    .mk-shell-backoffice
) :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    select,
    textarea
) {
    min-height: var(--mk-content-control-height);
    border: 1px solid #cbd5e1;
    border-radius: var(--mk-content-radius);
    background: #fff;
    color: var(--mk-content-ink);
    font: inherit;
}

body:is(
    .mk-product-forum,
    .mk-product-library,
    .mk-product-support,
    .mk-product-exchange,
    .mk-product-personal,
    .mk-product-knowledge,
    .mk-product-updates,
    .mk-product-places,
    .mk-product-editorial,
    .mk-product-conversation,
    .mk-product-people,
    .mk-shell-backoffice
) :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    select,
    textarea
):focus {
    border-color: #94a3b8;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
    outline: 0;
}

body:is(
    .mk-product-forum,
    .mk-product-library,
    .mk-product-support,
    .mk-product-exchange,
    .mk-product-personal,
    .mk-product-knowledge,
    .mk-product-updates,
    .mk-product-places,
    .mk-product-editorial,
    .mk-product-conversation,
    .mk-product-people,
    .mk-shell-backoffice
) :where(.alert, .mk-alert, .info-alert, .warning-box, .error-alert, .success-alert) {
    border-radius: var(--mk-content-radius);
    box-shadow: none;
}

body:is(
    .mk-product-forum,
    .mk-product-library,
    .mk-product-support,
    .mk-product-exchange,
    .mk-product-personal,
    .mk-product-knowledge,
    .mk-product-updates,
    .mk-product-places,
    .mk-product-editorial,
    .mk-product-conversation,
    .mk-product-people,
    .mk-shell-backoffice
) :where(.empty-state, .empty-chat, .sessions-empty, .archive-empty-state, .no-results, .search-empty) {
    border-color: #cbd5e1;
    border-radius: var(--mk-content-radius);
    background: var(--mk-content-surface);
    color: var(--mk-content-muted);
}

@media (max-width: 640px) {
    body:is(
        .mk-product-forum,
        .mk-product-library,
        .mk-product-support,
        .mk-product-exchange,
        .mk-product-personal,
        .mk-product-knowledge,
        .mk-product-updates,
        .mk-product-places,
        .mk-product-editorial,
        .mk-product-conversation,
        .mk-product-people,
        .mk-shell-backoffice
    ) :where(.content-section, .content-card, .info-card, .doc-info-card, .document-detail, .profile-card, .session-card, .sessions-toolbar) {
        padding: .85rem;
    }
}

