
@media (max-width: 600px) {
    .admin-qr-summary,
    .admin-profile-current-summary,
    .admin-qr-filters,
    .admin-qr-row {
        grid-template-columns: 1fr;
    }

    .admin-qr-summary span,
    .admin-profile-current-summary > div {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .admin-qr-summary span:last-child,
    .admin-profile-current-summary > div:last-child {
        border-bottom: 0;
    }
}

/* Mobile administration: keep long operational queues focused and touch-friendly. */
.admin-page.profile-container .admin-mobile-section-nav {
    display: none;
}

.admin-list-pagination .progressive-list-status {
    align-self: center;
    min-width: 72px;
    text-align: center;
}

@media (min-width: 720px) {
    .admin-mobile-row-actions > summary {
        display: none;
    }
}

@media (max-width: 719px) {
    .admin-page.profile-container .admin-mobile-section-nav {
        display: flex;
        flex-wrap: nowrap;
        gap: 7px;
        overflow-x: auto;
        overflow-y: hidden;
        padding-inline: 12px;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .admin-mobile-section-nav a,
    .admin-mobile-section-nav button {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        scroll-snap-align: start;
    }

    .admin-places-page .admin-places-mobile-panel,
    .admin-profiles-page .admin-profiles-mobile-panel,
    .admin-events-page #event-list {
        scroll-margin-top: 142px;
    }

    .admin-places-page .admin-list-filter,
    .admin-profiles-page .admin-list-filter,
    .admin-events-page .admin-list-filter {
        margin-bottom: 0;
    }

    .admin-places-page .admin-list-filter > summary,
    .admin-profiles-page .admin-list-filter > summary,
    .admin-events-page .admin-list-filter > summary {
        min-height: 44px;
    }

    .admin-places-page .admin-mobile-record-table,
    .admin-profiles-page .admin-mobile-record-table,
    .admin-events-page .admin-mobile-record-table {
        display: block;
        min-width: 0;
    }

    .admin-places-page .admin-mobile-record-table thead,
    .admin-profiles-page .admin-mobile-record-table thead,
    .admin-events-page .admin-mobile-record-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .admin-places-page .admin-mobile-record-table tbody,
    .admin-profiles-page .admin-mobile-record-table tbody,
    .admin-events-page .admin-mobile-record-table tbody {
        display: grid;
        gap: 10px;
    }

    .admin-places-page .admin-mobile-record-table tbody tr,
    .admin-profiles-page .admin-mobile-record-table tbody tr,
    .admin-events-page .admin-mobile-record-table tbody tr {
        display: block;
        overflow: hidden;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: var(--surface);
    }

    .admin-places-page .admin-mobile-record-table tbody td,
    .admin-profiles-page .admin-mobile-record-table tbody td,
    .admin-events-page .admin-mobile-record-table tbody td {
        display: block;
        width: auto;
        padding: 10px 12px;
        border-bottom: 1px solid var(--border);
    }

    .admin-places-page .admin-mobile-record-table tbody td:last-child,
    .admin-profiles-page .admin-mobile-record-table tbody td:last-child,
    .admin-events-page .admin-mobile-record-table tbody td:last-child {
        border-bottom: 0;
    }

    .admin-places-page .admin-mobile-record-table tbody td::before,
    .admin-profiles-page .admin-mobile-record-table tbody td::before,
    .admin-events-page .admin-mobile-record-table tbody td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 5px;
        color: var(--muted);
        font-size: 0.7rem;
        font-weight: 900;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .admin-mobile-row-actions > summary {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 9px 11px;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: var(--soft-bg);
        color: var(--text);
        cursor: pointer;
        font-weight: 900;
    }

    .admin-mobile-row-actions > summary::after {
        content: '+';
        color: var(--accent);
        font-size: 1.15rem;
    }

    .admin-mobile-row-actions[open] > summary {
        margin-bottom: 10px;
        border-color: var(--accent);
    }

    .admin-mobile-row-actions[open] > summary::after {
        content: '−';
    }

    .admin-places-page .admin-mobile-record-table .table-actions,
    .admin-profiles-page .admin-mobile-record-table .table-actions,
    .admin-events-page .admin-mobile-record-table .table-actions {
        align-items: stretch;
    }

    .admin-places-page .admin-mobile-record-table .table-actions > a,
    .admin-places-page .admin-mobile-record-table .table-actions > button,
    .admin-profiles-page .admin-mobile-record-table .table-actions > a,
    .admin-profiles-page .admin-mobile-record-table .table-actions > button,
    .admin-events-page .admin-mobile-record-table .table-actions > a,
    .admin-events-page .admin-mobile-record-table .table-actions > button {
        min-height: 44px;
    }

    .admin-places-page .admin-mobile-record-table input,
    .admin-places-page .admin-mobile-record-table select,
    .admin-places-page .admin-mobile-record-table textarea,
    .admin-places-page .admin-mobile-record-table button,
    .admin-profiles-page .admin-mobile-record-table input,
    .admin-profiles-page .admin-mobile-record-table select,
    .admin-profiles-page .admin-mobile-record-table textarea,
    .admin-profiles-page .admin-mobile-record-table button,
    .admin-events-page .admin-mobile-record-table input,
    .admin-events-page .admin-mobile-record-table select,
    .admin-events-page .admin-mobile-record-table textarea,
    .admin-events-page .admin-mobile-record-table button {
        min-height: 44px;
    }

    .admin-list-pagination {
        justify-content: stretch;
    }

    .admin-list-pagination a {
        min-height: 44px;
        flex: 1 1 120px;
        justify-content: center;
    }
}

@media (min-width: 720px) and (max-width: 1023px) {
    .admin-page.profile-container .admin-mobile-section-nav {
        display: flex;
        flex-wrap: nowrap;
        gap: 7px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .admin-mobile-section-nav a,
    .admin-mobile-section-nav button {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        scroll-snap-align: start;
    }
}

.profile-logo-disclosure {
    max-width: 44rem;
    margin-top: 0.65rem;
    color: var(--muted);
    font-size: 0.88rem;
}

.profile-logo-disclosure summary {
    width: fit-content;
    cursor: pointer;
    color: var(--text);
    font-weight: 700;
}

.profile-logo-disclosure p {
    margin: 0.5rem 0 0.35rem;
}

.profile-logo-disclosure a {
    color: var(--accent-strong);
}

.admin-profile-logo-source-layout {
    display: grid;
    grid-template-columns: minmax(7rem, 10rem) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.admin-profile-logo-preview {
    display: grid;
    place-items: center;
    min-height: 8rem;
    padding: 0.75rem;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.78);
}

.admin-profile-logo-preview img {
    display: block;
    max-width: 100%;
    max-height: 8rem;
    object-fit: contain;
}

.admin-profile-logo-file-removed {
    display: grid;
    place-items: center;
    min-height: 8rem;
    margin: 0;
    padding: 0.75rem;
    border: 1px dashed var(--border);
    color: var(--muted);
    text-align: center;
}

.admin-profile-logo-remove {
    max-width: 40rem;
    margin-top: 1rem;
}

@media (max-width: 640px) {
    .admin-profile-logo-source-layout {
        grid-template-columns: 1fr;
    }

    .admin-profile-logo-preview {
        min-height: 6.5rem;
    }
}

.cultural-taxonomy-fields {
    margin: 1rem 0;
    padding: 1rem 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.cultural-taxonomy-grid,
.event-taxonomy-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 0.85rem;
}

.cultural-taxonomy-axis[hidden] {
    display: none;
}

.cultural-taxonomy-secondary {
    margin-top: 0.45rem;
}

.cultural-taxonomy-secondary summary,
.name-exception-fields summary,
.inline-admin-action summary {
    cursor: pointer;
    color: var(--muted);
    font-weight: 700;
}

.cultural-taxonomy-secondary > div {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
    gap: 0.35rem 0.8rem;
    margin-top: 0.65rem;
}

.cultural-taxonomy-secondary .checkbox-row {
    justify-content: flex-start;
    margin: 0;
}

.cultural-taxonomy-public {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 1rem;
}

.name-exception-fields {
    margin: 0.75rem 0 1rem;
    padding: 0.8rem 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.name-exception-fields[open] summary,
.inline-admin-action[open] summary {
    margin-bottom: 0.75rem;
}

.inline-admin-action {
    position: relative;
}

.inline-admin-action form {
    display: grid;
    gap: 0.6rem;
    min-width: min(320px, 78vw);
    margin-top: 0.5rem;
}

.admin-compact-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-compact-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border);
}

.admin-compact-list li:last-child {
    border-bottom: 0;
}

.admin-credit-claim-copy {
    display: grid;
    gap: 0.2rem;
}

.admin-credit-claim-copy span,
.admin-credit-claim-copy small {
    color: var(--muted);
}

.cultural-taxonomy-table td > span,
.entity-name-protection-admin .data-table td > span {
    display: block;
    margin-top: 0.25rem;
    color: var(--muted);
}

@media (max-width: 680px) {
    .admin-compact-list li {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.25rem;
    }
}

* {
    box-sizing: border-box;
}

html {
    color-scheme: dark;
    scroll-padding-top: 92px;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background-color: var(--bg);
    background-image: var(--app-bg-pattern);
    background-attachment: fixed;
    background-position: top center;
    background-repeat: repeat;
    background-size: var(--app-bg-pattern-size);
    color: var(--text);
    line-height: 1.5;
}

.maintenance-body {
    min-height: 100vh;
    min-height: 100svh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 16% 20%, rgba(73, 211, 193, 0.36), transparent 28%),
        radial-gradient(circle at 82% 22%, rgba(244, 193, 93, 0.24), transparent 24%),
        radial-gradient(circle at 50% 92%, rgba(255, 255, 255, 0.11), transparent 34%),
        var(--bg);
}

.maintenance-body::before {
    content: "";
    position: fixed;
    inset: -40px;
    z-index: -2;
    background:
        linear-gradient(135deg, rgba(73, 211, 193, 0.18), transparent 42%),
        linear-gradient(45deg, rgba(255, 255, 255, 0.08), transparent 55%);
    filter: blur(26px);
}

.maintenance-body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: rgba(15, 17, 21, 0.56);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.maintenance-shell {
    width: min(100%, 720px);
    min-height: 100vh;
    min-height: 100svh;
    display: grid;
    place-items: center;
    margin: 0 auto;
    padding: 28px 16px;
}

.maintenance-card {
    width: 100%;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    background: rgba(23, 26, 33, 0.88);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.maintenance-card h1 {
    font-size: clamp(2rem, 7vw, 3rem);
}

.maintenance-login-form {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}

.system-error-page {
    width: min(100%, 760px);
    min-height: 100vh;
    min-height: 100svh;
    display: grid;
    place-items: center;
    margin: 0 auto;
    padding: 28px 16px;
}

.system-error-panel {
    position: relative;
    width: 100%;
    padding: clamp(22px, 5vw, 38px);
    overflow: hidden;
    border: 1px solid var(--glass-border);
    border-radius: 8px;
    background: var(--glass-bg-strong);
    box-shadow: var(--glass-shadow);
    -webkit-backdrop-filter: blur(var(--glass-blur));
    backdrop-filter: blur(var(--glass-blur));
}

.system-error-code {
    position: absolute;
    right: clamp(18px, 4vw, 34px);
    top: clamp(14px, 3vw, 24px);
    margin: 0;
    color: var(--muted);
    font-size: clamp(2.4rem, 13vw, 6rem);
    font-weight: 900;
    line-height: 1;
    opacity: 0.13;
    pointer-events: none;
}

.system-error-panel h1 {
    max-width: 12ch;
    margin: 0 0 12px;
    font-size: clamp(2rem, 7vw, 3.4rem);
    line-height: 1.02;
}

.system-error-panel p {
    max-width: 620px;
}

.system-error-hint {
    color: var(--muted);
}

.system-error-report {
    display: inline-grid;
    gap: 2px;
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.system-error-report span {
    color: var(--muted);
    font-size: 0.82rem;
}

.system-error-report strong {
    font-family: Consolas, "Courier New", monospace;
    letter-spacing: 0;
}

.system-error-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.system-error-actions a {
    min-width: 44px;
    min-height: 44px;
}

.maintenance-login-form button {
    margin-top: 4px;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: var(--accent);
}

img {
    display: block;
    max-width: 100%;
}

h1,
h2,
h3,
p {
    margin-top: 0;
    overflow-wrap: anywhere;
}

h1 {
    font-size: var(--type-page-title);
    line-height: 1.14;
    margin-bottom: 10px;
}

h2 {
    font-size: var(--type-section-title);
    margin-bottom: 10px;
}

h3 {
    font-size: var(--type-card-title);
    margin-bottom: 8px;
}

p,
li {
    color: var(--muted);
}

button,
.hero-actions a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: var(--accent);
    color: var(--button-text);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

button:hover,
.hero-actions a:hover {
    background: var(--accent-strong);
    color: var(--button-text);
}

.button-link {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border-radius: 8px;
    background: var(--accent);
    color: var(--button-text);
    font-weight: 700;
}

.button-link:hover {
    background: var(--accent-strong);
    color: var(--button-text);
}

.protected-email {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    vertical-align: middle;
}

.protected-email-address {
    font-weight: 700;
    overflow-wrap: anywhere;
}

.protected-email-button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent) 14%, transparent);
    color: var(--accent-strong);
    border: 1px solid color-mix(in srgb, var(--accent) 34%, transparent);
    font-weight: 700;
}

.protected-email-button:hover,
.protected-email-button:focus-visible {
    background: var(--accent);
    color: var(--button-text);
}

.ghost-link {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--muted);
}

.ghost-link:hover {
    border-color: var(--accent);
    color: var(--text);
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 120;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    background: var(--topbar-bg);
    -webkit-backdrop-filter: blur(18px) saturate(1.14);
    backdrop-filter: blur(18px) saturate(1.14);
}

.logo a {
    display: inline-flex;
    align-items: center;
    max-width: 190px;
    min-height: 36px;
    color: var(--text);
    font-weight: 800;
}

.brand-logo {
    width: auto;
    height: 36px;
    max-width: 190px;
    object-fit: contain;
    object-position: left center;
}

.topbar-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.topbar-actions a,
.nav-menu summary {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--glass-bg-strong) 72%, transparent);
    color: var(--muted);
    font-size: 0.92rem;
    -webkit-backdrop-filter: blur(12px) saturate(1.12);
    backdrop-filter: blur(12px) saturate(1.12);
}

.topbar-actions a:hover,
.nav-menu summary:hover {
    border-color: var(--accent);
    color: var(--text);
}

.topbar-divider {
    width: 1px;
    min-height: 28px;
    align-self: center;
    margin: 0 8px;
    background: color-mix(in srgb, var(--border) 78%, transparent);
}

.nav-menu {
    position: relative;
}

.nav-menu summary {
    gap: 6px;
    list-style: none;
    cursor: pointer;
}

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

.nav-menu summary::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid var(--muted);
}

.nav-menu summary.nav-icon-summary {
    width: 38px;
    min-width: 38px;
    justify-content: center;
    padding: 7px;
}

.nav-menu summary.nav-icon-summary::after {
    display: none;
}

.nav-menu-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.18));
}

.nav-menu[open] summary {
    border-color: var(--accent);
    color: var(--text);
}

.nav-menu:not([open]) > .nav-menu-list {
    display: none;
}

.nav-menu-list {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 30;
    display: grid;
    gap: 6px;
    min-width: 190px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--glass-bg-strong);
    box-shadow: var(--shadow);
    -webkit-backdrop-filter: blur(16px) saturate(1.12);
    backdrop-filter: blur(16px) saturate(1.12);
}

.nav-menu-list a,
.nav-menu-list .nav-logout-button {
    width: 100%;
    justify-content: flex-start;
    background: var(--glass-bg-soft);
}

.nav-logout-form {
    margin: 0;
}

.nav-menu-list .nav-logout-button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--muted);
    font: inherit;
    font-size: 0.92rem;
    cursor: pointer;
}

.nav-menu-list .nav-logout-button:hover {
    border-color: var(--accent);
    color: var(--text);
}

.nav-menu-list a.nav-menu-feature-link {
    min-height: 56px;
    align-items: flex-start;
}

.nav-menu-item-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
    line-height: 1.25;
}

.nav-menu-item-copy strong {
    color: var(--text);
    font-size: 0.88rem;
}

.nav-menu-item-copy small {
    max-width: 230px;
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 500;
    white-space: normal;
}

.mobile-topbar-actions {
    display: none;
    align-items: center;
    gap: 8px;
}

.topbar-icon-link {
    position: relative;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--glass-bg-strong) 72%, transparent);
    color: var(--muted);
    -webkit-backdrop-filter: blur(12px) saturate(1.12);
    backdrop-filter: blur(12px) saturate(1.12);
}

.topbar-actions a.topbar-icon-link {
    width: 44px;
    min-width: 44px;
    justify-content: center;
    padding: 7px;
}

.notification-menu > summary {
    position: relative;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
    padding: 7px;
}

.topbar-icon-link:hover {
    border-color: var(--accent);
    color: var(--text);
}

.notification-menu > summary::after {
    display: none;
}

.topbar-icon-link svg,
.notification-menu > summary svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.topbar-icon-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.topbar-icon-link .nav-badge,
.notification-menu > summary .nav-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 18px;
    height: 18px;
    margin: 0;
    padding: 0 5px;
    font-size: 0.65rem;
}

.notification-preview-list {
    width: min(340px, calc(100vw - 24px));
    min-width: 0;
    gap: 5px;
}

.notification-preview-header {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: 3px 4px 7px;
}

.topbar-actions .notification-preview-header a,
.notification-preview-header a {
    width: auto;
    min-height: 0;
    padding: 3px;
    border: 0;
    background: transparent;
    color: var(--accent);
    font-size: 0.78rem;
}

.notification-preview-item,
.notification-preview-footer {
    margin: 0;
}

.notification-preview-item button {
    width: 100%;
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: var(--surface-strong);
    color: var(--text);
    text-align: left;
}

.notification-preview-item.is-unread button {
    border-left: 3px solid var(--accent);
    background: var(--accent-wash);
}

.notification-preview-item button:hover {
    border-color: var(--accent);
}

.notification-preview-item strong,
.notification-preview-item span,
.notification-preview-item small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notification-preview-item span,
.notification-preview-item small,
.notification-preview-empty {
    color: var(--muted);
    font-size: 0.76rem;
}

.notification-preview-empty {
    margin: 0;
    padding: 12px 8px;
}

.notification-preview-footer button {
    width: 100%;
    padding: 7px 8px;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 0.76rem;
}

.notification-preview-footer button:hover {
    color: var(--text);
}

.nav-menu-label {
    padding: 4px 6px 1px;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.nav-badge {
    display: inline-flex;
    min-width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    margin-left: 6px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--accent);
    color: var(--button-text);
    font-size: 0.72rem;
    font-weight: 800;
}

.topbar-actions a.bhcoin-nav-link,
.mobile-topbar-actions .bhcoin-nav-link {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 3px;
    border: 0;
    background: transparent;
    color: var(--text);
    font-weight: 800;
    text-decoration: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.bhcoin-nav-link img {
    width: 25px;
    height: 25px;
    flex: 0 0 auto;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.24));
}

.bhcoin-nav-link strong {
    color: var(--text);
    font-size: 0.92rem;
    line-height: 1;
}

.topbar-actions a.bhcoin-nav-link:hover,
.mobile-topbar-actions .bhcoin-nav-link:hover {
    color: var(--accent);
}

#app-content {
    width: min(100%, 1120px);
    margin: 0 auto;
    padding: 24px 16px 92px;
}

#app-content > section:not(.hero):not(.auth-card):not(.form-card):not(.entity-profile) {
    max-width: 760px;
}

.hero {
    display: grid;
    align-content: center;
    min-height: calc(100vh - 164px);
    min-height: calc(100svh - 164px);
    padding: 42px 0;
}

.hero p {
    max-width: 680px;
    font-size: 1.08rem;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.hero-actions a:nth-child(2) {
    border-color: var(--border);
    background: var(--surface);
    color: var(--text);
}

.hero-actions a:nth-child(2):hover {
    border-color: var(--accent);
    color: var(--accent);
}

.home-page {
    display: grid;
    gap: 38px;
}

.home-hero {
    min-height: auto;
    gap: 28px;
    padding: 44px 0 8px;
}

.home-hero-copy {
    max-width: 720px;
}

.home-hero-copy > p:not(.eyebrow) {
    max-width: 650px;
    color: var(--muted);
    line-height: 1.62;
}

.home-stat-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-self: stretch;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.home-stat-strip a {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 5px;
    padding: 16px 14px;
    color: var(--text);
    text-decoration: none;
}

.home-stat-strip a:nth-child(odd) {
    border-right: 1px solid var(--border);
}

.home-stat-strip a:nth-child(-n + 2) {
    border-bottom: 1px solid var(--border);
}

.home-stat-strip a:hover strong,
.home-stat-strip a:focus-visible strong {
    color: var(--text);
}

.home-stat-strip strong {
    display: block;
    color: var(--accent);
    font-size: clamp(1.35rem, 3vw, 1.8rem);
    line-height: 1;
}

.home-stat-strip span {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.home-profile-grid,
.home-event-grid {
    display: grid;
    gap: 12px;
}

.home-profile-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.home-profile-avatar {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--accent);
    font-weight: 800;
}

.home-profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-profile-card h3,
.home-profile-card p:last-child {
    margin-bottom: 0;
}

.home-profile-card h3 a {
    color: var(--text);
}

.home-profile-card h3 a:hover {
    color: var(--accent);
}

.home-showcase-section {
    display: grid;
    gap: 16px;
}

.home-showcase-section-hero {
    gap: 0;
}

.home-showcase-header {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
    align-items: end;
    justify-content: space-between;
}

.home-showcase-header h2 {
    margin-bottom: 0;
}

.home-showcase {
    min-width: 0;
}

.home-showcase-viewport {
    position: relative;
    display: grid;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    box-shadow: var(--shadow);
    aspect-ratio: 4 / 5;
}

.home-showcase-section-hero .home-showcase-viewport {
    height: clamp(500px, calc(100svh - 145px), 620px);
    aspect-ratio: auto;
}

.home-showcase-slide {
    position: relative;
    grid-area: 1 / 1;
    min-width: 0;
    min-height: 0;
    display: none;
    overflow: hidden;
}

.home-showcase-slide.is-active,
.home-showcase-slide:first-child {
    display: grid;
}

.home-showcase.is-enhanced .home-showcase-slide {
    display: grid;
    z-index: 0;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 380ms ease,
        visibility 0s linear 380ms;
}

.home-showcase.is-enhanced .home-showcase-slide.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.home-showcase.is-enhanced .home-showcase-slide:not(.is-active) {
    display: grid;
}

.home-showcase-slide picture,
.home-showcase-slide picture::after {
    position: absolute;
    inset: 0;
}

.home-showcase-slide picture {
    display: block;
}

.home-showcase-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.home-showcase.is-enhanced .home-showcase-slide.is-active img {
    transform-origin: var(--showcase-origin-x, 50%) var(--showcase-origin-y, 38%);
    animation: home-showcase-focus var(--showcase-motion-duration, 60000ms) linear both;
}

.home-showcase.is-motion-paused .home-showcase-slide.is-active img {
    animation-play-state: paused;
}

@keyframes home-showcase-focus {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(var(--showcase-zoom, 1.045));
    }
}

.home-showcase-scrim {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.home-showcase-slide.position-left.contrast-dark .home-showcase-scrim {
    background: linear-gradient(90deg, rgba(7, 9, 13, 0.93) 0%, rgba(7, 9, 13, 0.74) 35%, rgba(7, 9, 13, 0.08) 74%);
}

.home-showcase-slide.position-right.contrast-dark .home-showcase-scrim {
    background: linear-gradient(270deg, rgba(7, 9, 13, 0.93) 0%, rgba(7, 9, 13, 0.74) 35%, rgba(7, 9, 13, 0.08) 74%);
}

.home-showcase-slide.position-bottom.contrast-dark .home-showcase-scrim {
    background: linear-gradient(0deg, rgba(7, 9, 13, 0.94) 0%, rgba(7, 9, 13, 0.68) 38%, rgba(7, 9, 13, 0.04) 76%);
}

.home-showcase-slide.position-left.contrast-light .home-showcase-scrim {
    background: linear-gradient(90deg, rgba(7, 9, 13, 0.93) 0%, rgba(7, 9, 13, 0.74) 35%, rgba(7, 9, 13, 0.08) 74%);
}

.home-showcase-slide.position-right.contrast-light .home-showcase-scrim {
    background: linear-gradient(270deg, rgba(7, 9, 13, 0.93) 0%, rgba(7, 9, 13, 0.74) 35%, rgba(7, 9, 13, 0.08) 74%);
}

.home-showcase-slide.position-bottom.contrast-light .home-showcase-scrim {
    background: linear-gradient(0deg, rgba(7, 9, 13, 0.94) 0%, rgba(7, 9, 13, 0.68) 38%, rgba(7, 9, 13, 0.04) 76%);
}

.home-showcase-copy {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: min(100%, 480px);
    display: grid;
    align-content: end;
    gap: 8px;
    padding: 24px;
}

.home-showcase-section-hero .home-showcase-copy {
    padding: 26px 30px;
}

.home-showcase-slide.position-right .home-showcase-copy {
    right: 0;
    left: auto;
}

.home-showcase-slide.position-bottom .home-showcase-copy {
    width: min(100%, 720px);
}

.home-showcase-slide.contrast-dark .home-showcase-copy,
.home-showcase-slide.contrast-dark .home-showcase-copy h2,
.home-showcase-slide.contrast-dark .home-showcase-copy h3 {
    color: #fff;
}

.home-showcase-slide.contrast-dark .home-showcase-copy .eyebrow,
.home-showcase-slide.contrast-dark .home-showcase-copy > p:not(.eyebrow) {
    color: rgba(255, 255, 255, 0.82);
}

.home-showcase-slide.contrast-light .home-showcase-copy,
.home-showcase-slide.contrast-light .home-showcase-copy h2,
.home-showcase-slide.contrast-light .home-showcase-copy h3 {
    color: #fff;
}

.home-showcase-slide.contrast-light .home-showcase-copy .eyebrow,
.home-showcase-slide.contrast-light .home-showcase-copy > p:not(.eyebrow) {
    color: rgba(255, 255, 255, 0.82);
}

.home-showcase-copy h2,
.home-showcase-copy h3 {
    margin: 0;
    font-size: clamp(1.45rem, 4vw, 2.25rem);
}

.home-showcase-copy > p {
    max-width: 610px;
    margin: 0;
    line-height: 1.55;
}

.home-showcase-copy > a {
    width: fit-content;
    margin-top: 6px;
}

.home-showcase-brand-scrim {
    position: absolute;
    inset: 0 0 auto;
    z-index: 2;
    height: 48%;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(5, 7, 11, 0.8) 0%,
        rgba(5, 7, 11, 0.58) 46%,
        rgba(5, 7, 11, 0.18) 78%,
        transparent 100%
    );
}

.home-showcase-brand {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    isolation: isolate;
    width: min(56%, 650px);
    display: grid;
    gap: 7px;
    padding: 30px;
    color: #fff;
}

.home-showcase-brand::before {
    position: absolute;
    inset: 14px 8px 10px 14px;
    z-index: -1;
    border-radius: 6px;
    background: linear-gradient(135deg, rgba(5, 7, 11, 0.46), rgba(5, 7, 11, 0.3));
    -webkit-backdrop-filter: blur(40px) saturate(1.02);
    backdrop-filter: blur(40px) saturate(1.02);
    content: "";
}

.home-showcase-brand .eyebrow,
.home-showcase-brand h1,
.home-showcase-brand p {
    color: inherit;
}

.home-showcase-brand-title {
    position: relative;
    width: fit-content;
    margin: 0;
    line-height: 1;
}

.home-showcase-logo-lockup {
    position: relative;
    width: clamp(270px, 28vw, 370px);
    aspect-ratio: 1092 / 230;
    display: block;
    overflow: hidden;
    margin: 0;
}

.home-showcase-brand-logo {
    position: absolute;
    top: 0;
    left: 0;
    width: 173.72%;
    height: auto;
    max-width: none;
    max-height: none;
    transform: translate(-42.435%, -26.26%);
}

.home-showcase-brand-fallback {
    display: block;
    padding: 8px 12px;
    border-radius: 6px;
    background: rgba(5, 7, 11, 0.52);
    -webkit-backdrop-filter: blur(18px) saturate(1.08);
    backdrop-filter: blur(18px) saturate(1.08);
    font-size: clamp(2.6rem, 5.5vw, 4.4rem);
    line-height: 0.98;
}

.home-showcase-brand .home-showcase-intro {
    max-width: 540px;
    margin: 2px 0 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1rem;
    line-height: 1.5;
}

.home-showcase-brand .hero-actions {
    margin-top: 12px;
}

.home-showcase-brand .hero-actions a:nth-child(2) {
    border-color: rgba(255, 255, 255, 0.58);
    background: rgba(8, 11, 16, 0.42);
    color: #fff;
    backdrop-filter: blur(10px);
}

.home-showcase-brand .hero-actions a:nth-child(2):hover {
    border-color: #fff;
    background: rgba(8, 11, 16, 0.7);
    color: #fff;
}

.home-showcase-stat-strip {
    position: absolute;
    top: 25px;
    right: 28px;
    z-index: 3;
    width: min(39%, 460px);
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(7, 10, 14, 0.2);
    backdrop-filter: blur(9px);
}

.home-showcase-stat-strip a {
    padding: 11px 12px;
    color: #fff;
}

.home-showcase-stat-strip a:nth-child(odd),
.home-showcase-stat-strip a:nth-child(-n + 2) {
    border-color: rgba(255, 255, 255, 0.24);
}

.home-showcase-stat-strip strong,
.home-showcase-stat-strip a:hover strong,
.home-showcase-stat-strip a:focus-visible strong {
    color: #fff;
    font-size: clamp(1.15rem, 2.2vw, 1.55rem);
}

.home-showcase-stat-strip span {
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.76rem;
}

.home-showcase-controls {
    display: none;
    grid-template-columns: 44px minmax(0, auto) 44px 44px;
    gap: 8px;
    align-items: center;
    justify-content: center;
    padding-top: 12px;
}

.home-showcase.is-enhanced .home-showcase-controls {
    display: grid;
}

.home-showcase-controls > button {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border-color: var(--border);
    background: var(--glass-bg-strong);
    color: var(--text);
    font-size: 1.35rem;
    line-height: 1;
}

.home-showcase-dots {
    min-width: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 7px;
    align-items: center;
    justify-content: center;
    overflow-x: auto;
    padding: 3px;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.home-showcase-dots::-webkit-scrollbar {
    display: none;
}

.home-showcase-dots button {
    position: relative;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
}

.home-showcase-dots button::before {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid var(--muted);
    border-radius: 50%;
    background: transparent;
    transform: translate(-50%, -50%);
}

.home-showcase-dots button[aria-selected="true"] {
    background: transparent;
}

.home-showcase-dots button[aria-selected="true"]::before {
    border-color: var(--accent);
    background: var(--accent);
}

.home-showcase-noscript {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 14px 0 0;
    padding-left: 20px;
}

@media (prefers-reduced-motion: reduce) {
    .home-showcase.is-enhanced .home-showcase-slide {
        transition: none;
    }

    .home-showcase.is-enhanced .home-showcase-slide.is-active img {
        animation: none;
        transform: none;
    }
}

@media (max-width: 719px) {
    .home-showcase-brand-scrim {
        height: 60%;
    }

    .home-showcase-brand {
        width: 100%;
        gap: 5px;
        padding: 18px;
    }

    .home-showcase-brand::before {
        bottom: -28px;
        background: linear-gradient(135deg, rgba(5, 7, 11, 0.58), rgba(5, 7, 11, 0.46));
    }

    .home-showcase-logo-lockup {
        width: min(58vw, 235px);
    }

    .home-showcase-brand-fallback {
        font-size: clamp(2.25rem, 12vw, 3.1rem);
    }

    .home-showcase-brand .home-showcase-intro {
        max-width: 350px;
        font-size: 0.84rem;
        line-height: 1.36;
    }

    .home-showcase-brand .hero-actions {
        gap: 8px;
        margin-top: 9px;
    }

    .home-showcase-brand .hero-actions a {
        min-height: 38px;
        padding: 8px 10px;
        font-size: 0.86rem;
    }

    .home-showcase-stat-strip {
        top: 224px;
        right: 18px;
        left: 18px;
        width: auto;
    }

    .home-showcase-stat-strip a {
        gap: 3px;
        padding: 9px 10px;
    }

    .home-showcase-stat-strip strong,
    .home-showcase-stat-strip a:hover strong,
    .home-showcase-stat-strip a:focus-visible strong {
        font-size: 1.08rem;
    }

    .home-showcase-stat-strip span {
        font-size: 0.7rem;
        line-height: 1.25;
    }

    .home-showcase-section-hero .home-showcase-copy {
        width: 100%;
        gap: 5px;
        padding: 18px;
    }

    .home-showcase-copy h2,
    .home-showcase-copy h3 {
        font-size: 1.35rem;
    }

    .home-showcase-copy > p:not(.eyebrow) {
        display: -webkit-box;
        overflow: hidden;
        font-size: 0.86rem;
        line-height: 1.4;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .home-showcase-copy > a {
        min-height: 38px;
        padding: 8px 11px;
    }
}

@media (min-width: 720px) and (max-width: 959px) {
    .home-showcase-brand {
        width: 100%;
    }

    .home-showcase-stat-strip {
        top: 210px;
        right: 30px;
        left: 30px;
        width: auto;
    }
}

.admin-showcase-heading,
.admin-showcase-manager,
.admin-showcase-list,
.admin-showcase-editor {
    min-width: 0;
    max-width: 100%;
    display: grid;
    gap: 16px;
}

.admin-showcase-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
}

.admin-showcase-table .is-selected {
    background: var(--accent-wash);
}

.admin-showcase-item {
    min-width: 220px;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.admin-showcase-item img {
    width: 72px;
    height: 46px;
    border-radius: 6px;
    object-fit: cover;
    object-position: top;
}

.admin-showcase-editor {
    align-content: start;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.admin-showcase-targets {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.admin-showcase-targets legend {
    padding: 0 6px;
    font-weight: 800;
}

.form-grid.three-columns {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
}

.admin-showcase-preview {
    width: min(100%, 560px);
    margin: 0;
}

.admin-showcase-preview.is-mobile {
    width: min(100%, 220px);
}

.admin-showcase-preview img {
    width: 100%;
    max-height: 320px;
    display: block;
    border: 1px solid var(--border);
    border-radius: 8px;
    object-fit: cover;
    object-position: top;
}

.admin-showcase-preview figcaption {
    margin-top: 6px;
    color: var(--muted);
    font-size: 0.82rem;
}

@media (max-width: 719px) {
    .home-showcase-slide.position-left.contrast-dark .home-showcase-scrim,
    .home-showcase-slide.position-right.contrast-dark .home-showcase-scrim,
    .home-showcase-slide.position-bottom.contrast-dark .home-showcase-scrim {
        background: linear-gradient(0deg, rgba(7, 9, 13, 0.97) 0%, rgba(7, 9, 13, 0.88) 52%, rgba(7, 9, 13, 0.08) 88%);
    }

    .home-showcase-slide.position-left.contrast-light .home-showcase-scrim,
    .home-showcase-slide.position-right.contrast-light .home-showcase-scrim,
    .home-showcase-slide.position-bottom.contrast-light .home-showcase-scrim {
        background: linear-gradient(0deg, rgba(7, 9, 13, 0.97) 0%, rgba(7, 9, 13, 0.88) 52%, rgba(7, 9, 13, 0.08) 88%);
    }

    .home-showcase-copy {
        width: 100%;
        padding: 18px;
    }

    .home-showcase-copy h3 {
        font-size: 1.5rem;
    }
}

.article-category-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.articles-page,
.article-editor-page {
    max-width: none !important;
}

.article-category-nav a {
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--muted);
}

.article-category-nav a:hover,
.article-category-nav a.active {
    border-color: var(--accent);
    color: var(--text);
}

.article-archive-copy,
.article-category-explainers,
.reviewer-archive-copy {
    max-width: 1040px;
    margin: 0 0 18px;
}

.article-archive-copy h2,
.reviewer-archive-copy h2 {
    margin: 0 0 8px;
    font-size: 1.15rem;
}

.article-category-explainers summary {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: baseline;
    margin-bottom: 10px;
    color: var(--muted);
    cursor: pointer;
    list-style-position: inside;
}

.article-category-explainers summary span {
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.article-category-explainers summary strong {
    color: var(--text);
    font-size: 1rem;
}

.article-archive-copy p,
.article-category-explainers p,
.article-category-explainers dd,
.reviewer-archive-copy p {
    color: var(--muted);
    line-height: 1.54;
}

.article-archive-copy p,
.article-category-explainers > p,
.reviewer-archive-copy p {
    max-width: 780px;
    margin: 0 0 10px;
}

.article-archive-copy ul,
.reviewer-archive-copy ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    padding: 0;
    margin: 0;
    color: var(--muted);
    list-style-position: inside;
}

.article-category-explainers dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px 22px;
    margin: 0;
}

.article-category-explainers dt {
    margin-bottom: 3px;
    font-weight: 800;
}

.article-category-explainers dt a {
    color: var(--text);
    text-decoration: none;
}

.article-category-explainers dt a:hover,
.article-category-explainers dt a:focus-visible {
    color: var(--accent);
}

.article-category-explainers dd {
    margin: 0;
    font-size: 0.92rem;
}

.article-list {
    display: grid;
    gap: 14px;
}

.article-card {
    display: grid;
    grid-template-columns: minmax(108px, 34%) minmax(0, 1fr);
    min-height: 150px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.article-card-image {
    position: relative;
    min-height: 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: var(--surface-strong);
    color: var(--accent);
    font-weight: 800;
}

.article-card-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-card-image .visual-placeholder,
.lost-item-card-image .visual-placeholder {
    position: absolute;
    inset: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
}

.article-card-copy {
    min-width: 0;
    padding: 15px;
}

.article-card-copy h2 {
    margin-bottom: 7px;
    font-size: 1.18rem;
}

.article-card-copy > p:not(.eyebrow):not(.article-meta) {
    display: -webkit-box;
    margin-bottom: 10px;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.reviewer-directory-summary,
.reviewer-directory-grid {
    display: grid;
    gap: 14px;
}

.reviewer-directory-summary {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin-bottom: 18px;
}

.reviewer-directory-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

.reviewer-directory-summary article,
.reviewer-directory-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.reviewer-directory-summary article {
    display: grid;
    gap: 4px;
    padding: 14px;
}

.reviewer-directory-summary strong {
    color: var(--accent);
    font-size: 1.55rem;
    line-height: 1;
}

.reviewer-directory-summary span {
    color: var(--muted);
    font-weight: 700;
}

.reviewer-directory-card {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.reviewer-directory-card-head {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: start;
    justify-content: space-between;
}

.reviewer-directory-person {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    min-width: 0;
}

.reviewer-directory-avatar {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--soft-bg);
    color: var(--accent);
    font-weight: 900;
}

.reviewer-directory-identity {
    min-width: 0;
}

.reviewer-directory-card-head h2 {
    margin-bottom: 4px;
    font-size: 1.25rem;
}

.reviewer-directory-card p {
    margin-bottom: 0;
    color: var(--muted);
}

.reviewer-directory-bio {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.reviewer-directory-focus {
    display: grid;
    gap: 8px;
}

.reviewer-directory-focus > span {
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.reviewer-directory-focus-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.reviewer-directory-focus-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--text);
    font-size: 0.86rem;
    font-weight: 700;
}

.reviewer-directory-metrics {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
}

.reviewer-directory-metrics div,
.reviewer-latest-review {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.reviewer-directory-metrics strong {
    color: var(--text);
    font-size: 1.2rem;
}

.reviewer-directory-metrics span,
.reviewer-latest-review span,
.reviewer-latest-review small {
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 700;
}

.reviewer-directory-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.reviewer-directory-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--accent);
    font-weight: 800;
    text-decoration: none;
}

.reviewer-directory-actions a:first-child {
    border-color: var(--accent);
    background: var(--soft-bg);
}

.reviewer-status-pill {
    background: var(--success-bg);
    color: var(--success-text);
}

.team-member-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    gap: 14px;
}

.team-member-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.team-member-head {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.team-member-avatar {
    display: grid;
    width: 96px;
    height: 96px;
    overflow: hidden;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--soft-bg);
    color: var(--accent);
    font-weight: 900;
}

.team-member-avatar img,
.team-member-avatar .profile-avatar-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-member-head h2 {
    margin-bottom: 4px;
    font-size: 1.22rem;
}

.team-member-head p,
.team-member-bio,
.team-member-details dd {
    margin-bottom: 0;
    color: var(--muted);
    line-height: 1.45;
}

.team-member-details {
    display: grid;
    gap: 10px;
    margin: 0;
}

.team-member-details div {
    display: grid;
    gap: 3px;
}

.team-member-details dt {
    color: var(--text);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.team-member-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.team-member-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.team-member-socials a {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--soft-bg);
    transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.team-member-socials img {
    display: block;
    width: 24px;
    height: 24px;
}

.team-member-socials a:hover,
.team-member-socials a:focus-visible {
    border-color: var(--accent);
    background: var(--surface-strong);
    transform: translateY(-1px);
}

.admin-team-social-fields {
    display: grid;
    gap: 10px;
    min-width: 0;
    margin: 0;
    padding: 14px 0 0;
    border: 0;
    border-top: 1px solid var(--border);
}

.admin-team-social-fields legend {
    padding: 0;
    color: var(--text);
    font-weight: 800;
}

.team-member-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--accent);
    font-weight: 800;
    text-decoration: none;
}

.team-member-actions a:first-child {
    border-color: var(--accent);
    background: var(--soft-bg);
}

.team-application-dialog {
    width: min(760px, calc(100vw - 32px));
    max-height: min(880px, calc(100dvh - 32px));
    padding: 0;
    border: 1px solid var(--border-strong, var(--border));
    border-radius: 10px;
    overflow: auto;
    background: var(--surface);
    color: var(--text);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.58);
}

.admin-team-applications {
    display: grid;
    gap: 18px;
}

.admin-team-application-summary {
    margin: 0;
}

.admin-team-application-list {
    display: grid;
    gap: 14px;
}

.admin-team-application-card {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface-raised, var(--surface)) 86%, transparent);
}

.admin-team-application-card > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.admin-team-application-card > header h3,
.admin-team-application-card > header p {
    margin-bottom: 0;
}

.admin-team-application-copy {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-team-application-copy dd {
    overflow-wrap: anywhere;
    white-space: normal;
}

@media (max-width: 860px) {
    .admin-team-application-copy {
        grid-template-columns: minmax(0, 1fr);
    }
}

.team-application-dialog::backdrop {
    background: rgba(3, 6, 9, 0.82);
    backdrop-filter: blur(3px);
}

.team-application-dialog-shell {
    position: relative;
    display: grid;
    gap: 20px;
    padding: clamp(22px, 4vw, 38px);
}

.team-application-dialog-close-form {
    position: absolute;
    top: 10px;
    right: 10px;
    margin: 0;
}

.team-application-dialog-close {
    display: inline-flex;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--muted);
    font-size: 1.8rem;
    line-height: 1;
}

.team-application-dialog-close:hover {
    background: var(--accent-wash);
    color: var(--text);
}

.team-application-dialog-copy {
    padding-right: 44px;
}

.team-application-dialog-copy h2,
.team-application-dialog-copy p {
    margin-bottom: 0;
}

.team-application-form textarea {
    resize: vertical;
}

.team-application-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.team-application-consent {
    min-height: 44px;
}

@media (max-width: 560px) {
    .team-application-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
    }

    .team-application-dialog-shell {
        padding: 22px 16px;
    }

    .team-application-dialog-copy {
        padding-right: 38px;
    }

    .team-application-form .form-actions > * {
        width: 100%;
        justify-content: center;
    }
}

.email-template-form,
.email-template-preview,
.email-template-index,
.email-template-editor,
.email-delivery-overview,
.email-delivery-failures {
    display: grid;
    gap: 14px;
}

.email-delivery-overview,
.email-delivery-failures {
    padding: 18px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.email-delivery-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--border);
}

.email-delivery-stats div {
    min-width: 0;
    padding: 13px;
    background: var(--surface);
}

.email-delivery-stats dt {
    color: var(--muted);
    font-size: .82rem;
}

.email-delivery-stats dd {
    margin: 3px 0 0;
    font-size: 1.25rem;
    font-weight: 800;
}

.email-delivery-stats small,
.setting-runtime-note {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.email-delivery-stats .email-delivery-address {
    overflow-wrap: anywhere;
    font-size: 1rem;
}

.email-template-workspace {
    display: grid;
    grid-template-columns: minmax(230px, .34fr) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.email-template-index {
    position: sticky;
    top: 86px;
}

.email-template-index-heading,
.email-template-editor-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.email-template-index-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 11px 0;
    border-bottom: 1px solid var(--border);
    color: var(--text);
    text-decoration: none;
}

.email-template-index-row:first-of-type {
    border-top: 1px solid var(--border);
}

.email-template-index-row:hover,
.email-template-index-row:focus-visible,
.email-template-index-row.is-active {
    color: var(--accent);
}

.email-template-index-row.is-active {
    padding-left: 10px;
    border-left: 3px solid var(--accent);
}

.email-template-index-row > span:first-child,
.email-template-index-meta {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.email-template-index-row small {
    color: var(--muted);
    line-height: 1.35;
}

.email-template-index-meta {
    justify-items: end;
    text-align: right;
}

.email-template-editor {
    min-width: 0;
    padding-bottom: 18px;
}

.email-template-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
    gap: 16px;
}

.email-template-placeholders {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.email-template-placeholders div {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 6px 10px;
    align-items: baseline;
}

.email-template-placeholders code {
    white-space: nowrap;
}

.email-template-preview {
    align-self: start;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.email-template-preview h3 {
    margin-bottom: 0;
    font-size: 1rem;
}

.email-template-preview pre {
    overflow-x: auto;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
    white-space: pre-wrap;
}

.email-template-preview iframe {
    width: 100%;
    min-height: 320px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
}

.email-template-test-form {
    align-items: end;
}

@media (max-width: 860px) {
    .email-template-workspace,
    .email-delivery-stats {
        grid-template-columns: 1fr 1fr;
    }

    .email-template-index {
        position: static;
        grid-column: 1 / -1;
    }

    .email-template-editor {
        grid-column: 1 / -1;
    }

    .email-template-editor-header,
    .email-template-test-form {
        display: grid;
    }

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

@media (max-width: 560px) {
    .email-delivery-stats,
    .email-template-workspace,
    .email-template-index-row {
        grid-template-columns: 1fr;
    }

    .email-template-index-meta {
        justify-items: start;
        text-align: left;
    }
}

.profile-create-match-review {
    display: grid;
    gap: 1rem;
    margin: 1.5rem 0;
    padding: 1.25rem 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.profile-create-match-head {
    display: grid;
    gap: .35rem;
    max-width: 72ch;
}

.profile-create-match-head > * {
    margin: 0;
}

.profile-create-match-head h2 {
    font-size: 1.3rem;
}

.profile-create-match-list {
    border-top: 1px solid var(--border);
}

.profile-create-match-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--border);
}

.profile-create-match-copy {
    display: grid;
    gap: .25rem;
    min-width: 0;
}

.profile-create-match-copy strong,
.profile-create-match-copy span,
.profile-create-match-copy small {
    overflow-wrap: anywhere;
}

.profile-create-match-copy span {
    color: var(--muted);
}

.profile-create-match-copy small {
    color: var(--accent);
    font-weight: 700;
}

.profile-create-match-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .5rem;
}

.profile-create-match-actions .button-link,
.profile-create-match-actions .ghost-link,
.profile-claim-shortcut .ghost-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}

.profile-create-match-notice {
    margin: 0;
    padding: .85rem 1rem;
    border-left: 3px solid var(--warning-text);
    background: var(--warning-bg);
}

.profile-create-distinct-confirmation {
    align-items: flex-start;
    margin: 0;
}

.profile-claim-shortcut {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: .75rem 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.profile-claim-shortcut span {
    font-weight: 700;
}

@media (max-width: 720px) {
    .profile-create-match-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .profile-create-match-actions {
        justify-content: flex-start;
    }

    .profile-create-match-actions .button-link,
    .profile-create-match-actions .ghost-link {
        flex: 1 1 12rem;
    }

    .profile-claim-shortcut {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Theatre professionals: compact profile settings and verified production links. */
.theatre-professional-settings-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.theatre-professional-settings-form > fieldset,
.theatre-professional-settings-form > button {
    grid-column: 1 / -1;
}

.theatre-professional-settings-form > button {
    justify-self: start;
}

.theatre-professional-selected-professions {
    margin: 0 0 1rem;
    color: var(--muted);
}

.theatre-professional-selected-professions strong {
    color: var(--text);
}

.theatre-collaboration-choices {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.theatre-credit-claim-summary {
    margin-top: 1.4rem;
    padding-top: 1.2rem;
    border-top: 1px solid var(--border);
}

.theatre-credit-claim-list {
    border-top: 1px solid var(--border);
}

.theatre-credit-claim-row,
.theatre-credit-decision-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 1rem;
    align-items: center;
    padding: .85rem 0;
    border-bottom: 1px solid var(--border);
}

.theatre-credit-decision-row {
    grid-template-columns: auto minmax(12rem, 1fr) minmax(14rem, .75fr) auto;
}

.theatre-credit-claim-row > div:first-child,
.theatre-credit-decision-row > div:first-of-type {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.theatre-credit-claim-row span,
.theatre-credit-claim-row small,
.theatre-credit-decision-row span,
.theatre-credit-decision-row small {
    color: var(--muted);
}

.theatre-professional-public-list dd {
    display: grid;
    gap: .2rem;
}

.theatre-credit-claim-box {
    margin-top: .7rem;
    max-width: 34rem;
}

.theatre-credit-claim-box summary {
    color: var(--link);
    cursor: pointer;
    font-weight: 700;
}

.theatre-credit-claim-box form {
    margin-top: .75rem;
}

.theatre-credit-claim-state {
    margin-top: .55rem;
    color: var(--muted);
    font-size: .9rem;
}

@media (max-width: 900px) {
    .theatre-collaboration-choices {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theatre-credit-decision-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .theatre-credit-decision-row > label,
    .theatre-credit-decision-row > .table-actions {
        grid-column: 2;
    }
}

@media (max-width: 620px) {
    .theatre-professional-settings-form,
    .theatre-collaboration-choices,
    .theatre-credit-claim-row,
    .theatre-credit-decision-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .theatre-credit-decision-row > label,
    .theatre-credit-decision-row > .table-actions {
        grid-column: 1;
    }
}

.reviewer-application-form,
.reviewer-application-status-panel {
    max-width: 820px;
    margin: 0 auto 18px;
}

.reviewer-application-form {
    display: grid;
    gap: 14px;
}

.reviewer-application-status-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: start;
    justify-content: space-between;
}

.reviewer-application-status-panel > div,
.reviewer-application-status-panel .form-help {
    min-width: min(100%, 360px);
}

.form-grid.two-columns {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.checkbox-line {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.checkbox-line input[type="checkbox"],
.checkbox-line input[type="radio"] {
    flex: 0 0 18px;
    width: 18px;
    min-width: 18px;
    height: 18px;
    min-height: 18px;
    margin: 0.15em 0 0;
    padding: 0;
}

.editorial-reviewer-applications-panel {
    margin-bottom: 18px;
}

.editorial-reviewer-applications-table p {
    margin-bottom: 6px;
    color: var(--muted);
}

.editorial-reviewer-applications-table td {
    max-width: 360px;
    vertical-align: top;
}

.compact-decision-form textarea {
    min-width: min(100%, 240px);
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.84rem;
}

.article-detail {
    max-width: 860px;
    margin: 0 auto;
}

.article-detail-header {
    max-width: 760px;
    margin: 30px auto 24px;
}

.article-detail-header h1 {
    font-size: clamp(2.2rem, 7vw, 3.8rem);
}

.article-lead {
    font-size: 1.2rem;
}

.article-cover {
    overflow: hidden;
    margin: 0 0 30px;
    border-radius: 8px;
    background: var(--surface-strong);
}

.article-cover img {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
}

.article-cover .visual-placeholder {
    min-height: min(360px, 48vw);
    border: 0;
    border-radius: 0;
}

.article-body {
    max-width: 720px;
    margin: 0 auto;
    font-size: 1.07rem;
    line-height: 1.78;
}

.article-body h1,
.article-body h2,
.article-body h3,
.article-body h4 {
    margin-top: 30px;
}

.article-body h1 {
    font-size: 2rem;
}

.article-body h4 {
    font-size: 1.05rem;
}

.article-body blockquote {
    margin: 24px 0;
    padding: 10px 18px;
    border-left: 4px solid var(--accent);
    color: var(--text);
    font-size: 1.14rem;
}

.article-body-media {
    margin: 28px 0;
}

.article-body-media.is-wide {
    width: min(860px, calc(100vw - 32px));
    margin-left: 50%;
    transform: translateX(-50%);
}

.article-body-media img,
.article-body-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.article-body > p > img {
    display: block;
    width: 100%;
    height: auto;
    margin: 28px 0;
    border-radius: 8px;
}

.article-body-image-missing {
    display: inline-block;
    padding: 8px 10px;
    border-left: 3px solid var(--warning-text);
    color: var(--muted);
    font-size: 0.9rem;
}

.article-table-scroll {
    width: 100%;
    margin: 24px 0;
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: 6px;
    scrollbar-gutter: stable;
}

.article-table-scroll:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--accent) 50%, transparent);
    outline-offset: 3px;
}

.article-table-scroll table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    font-size: 0.94rem;
    line-height: 1.5;
}

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

.article-table-scroll th {
    background: color-mix(in srgb, var(--surface-strong) 90%, transparent);
    color: var(--text);
    font-weight: 750;
}

.article-table-scroll tbody tr:last-child td {
    border-bottom: 0;
}

.article-body-embed {
    width: min(860px, calc(100vw - 32px));
    margin: 28px 0 28px 50%;
    transform: translateX(-50%);
}

.article-body-embed iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    border-radius: 8px;
    background: #000;
}

.article-body-embed.is-spotify iframe {
    min-height: 352px;
    aspect-ratio: auto;
}

.article-body-media figcaption,
.article-body-gallery figcaption {
    margin-top: 7px;
    color: var(--muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.article-body-gallery {
    width: min(860px, calc(100vw - 32px));
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 28px 0 28px 50%;
    transform: translateX(-50%);
}

.article-body-gallery figure {
    min-width: 0;
    margin: 0;
}

.article-body-gallery img {
    height: clamp(180px, 26vw, 320px);
    object-fit: cover;
}

.article-list-line {
    margin: 0 0 7px 14px;
}

.article-detail-footer {
    max-width: 720px;
    margin: 30px auto 0;
}

.article-engagement {
    max-width: 720px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 0 auto 24px;
}

.article-engagement .public-share {
    margin: 0;
}

.article-comments {
    max-width: 720px;
    margin: 42px auto 0;
    padding-top: 24px;
    border-top: 1px solid var(--border);
}

.article-comments-heading,
.article-comment-form-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    align-items: center;
    justify-content: space-between;
}

.article-comments-heading {
    margin-bottom: 8px;
}

.article-comments-heading h2,
.article-comments-heading p {
    margin-bottom: 0;
}

.article-comments-heading > span {
    min-width: 32px;
    color: var(--muted);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.article-comment-list {
    display: grid;
}

.article-comments-empty {
    margin: 12px 0;
    color: var(--muted);
}

.article-comment {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    padding: 18px 0;
    border-bottom: 1px solid var(--border);
}

.article-comment-avatar,
.article-comment-avatar-image {
    width: 48px;
    height: 48px;
}

.article-comment-avatar-image img,
.article-comment-avatar-image .profile-avatar-placeholder {
    width: 100%;
    height: 100%;
}

.article-comment-content {
    min-width: 0;
}

.article-comment-content header > div {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    align-items: baseline;
}

.article-comment-content header a {
    color: var(--text);
    text-decoration: none;
}

.article-comment-content header a:hover {
    color: var(--accent);
}

.article-comment-content time,
.article-comment-form-footer > span {
    color: var(--muted);
    font-size: 0.82rem;
}

.article-comment-content > p {
    margin: 8px 0 0;
    overflow-wrap: anywhere;
    line-height: 1.6;
}

.article-comment-action {
    margin: 6px 0 0;
}

.article-comment-action .text-button,
.article-comment-report > summary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 6px 0;
    color: var(--muted);
    cursor: pointer;
}

.article-comment-report {
    position: relative;
    margin-top: 4px;
}

.article-comment-report > summary {
    list-style: none;
}

.article-comment-report > summary::-webkit-details-marker {
    display: none;
}

.article-comment-report form {
    display: grid;
    gap: 10px;
    margin-top: 6px;
    padding: 14px;
    border-left: 3px solid var(--border);
    background: color-mix(in srgb, var(--surface-strong) 58%, transparent);
}

.article-comment-form {
    display: grid;
    gap: 10px;
    margin-top: 24px;
}

.article-comment-form textarea {
    min-height: 112px;
    resize: vertical;
}

@media (max-width: 520px) {
    .article-comment {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px;
    }

    .article-comment-avatar,
    .article-comment-avatar-image {
        width: 42px;
        height: 42px;
    }

    .article-comment-form-footer > button {
        width: 100%;
    }
}

.form-card.article-editor-form {
    width: 100%;
    max-width: none;
    display: grid;
    gap: 20px;
}

.article-form-main,
.article-form-side,
.article-seo-fields,
.article-review-fields,
.article-history-fields {
    display: grid;
    gap: 14px;
}

.article-writing-workspace {
    display: grid;
    gap: 10px;
    min-width: 0;
}

[data-article-editor] [hidden] {
    display: none !important;
}

.article-writing-heading,
.article-editor-controls,
.article-editor-metrics,
.article-editor-toolbar,
.article-editor-view-switch {
    display: flex;
    align-items: center;
}

.article-writing-heading,
.article-editor-controls {
    justify-content: space-between;
    gap: 12px;
}

.article-editor-metrics {
    gap: 12px;
    color: var(--muted);
    font-size: 0.86rem;
}

.article-editor-metrics span + span {
    padding-left: 12px;
    border-left: 1px solid var(--border);
}

.article-editor-toolbar {
    flex-wrap: wrap;
    gap: 5px;
    min-width: 0;
}

.article-editor-toolbar button,
.article-editor-view-switch button {
    width: auto;
    min-width: 38px;
    min-height: 44px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: color-mix(in srgb, var(--surface) 82%, transparent);
    color: var(--text);
    box-shadow: none;
    font-size: 0.86rem;
}

.article-markdown-import-dialog {
    width: min(960px, calc(100vw - 32px));
    max-height: min(880px, calc(100vh - 32px));
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 96%, #081010);
    color: var(--text);
    box-shadow: var(--shadow);
}

.article-markdown-import-dialog::backdrop {
    background: rgba(0, 0, 0, 0.76);
    backdrop-filter: blur(5px);
}

.article-markdown-import-shell {
    display: grid;
    gap: 18px;
    max-height: min(880px, calc(100vh - 32px));
    padding: 22px;
    overflow-y: auto;
}

.article-markdown-import-head,
.article-markdown-import-summary,
.article-markdown-import-picker {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
}

.article-markdown-import-head h2,
.article-markdown-import-head p,
.article-markdown-import-state,
.article-markdown-import-notice {
    margin: 0;
}

.article-markdown-import-head > div {
    min-width: 0;
}

.article-markdown-import-head .icon-button {
    flex: 0 0 44px;
    width: 44px;
    min-height: 44px;
}

.article-markdown-import-picker > label {
    flex: 1 1 auto;
}

.article-markdown-import-picker > button {
    flex: 0 0 auto;
}

.article-markdown-import-review,
.article-markdown-import-fields {
    display: grid;
    gap: 14px;
}

.article-markdown-import-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.article-markdown-import-fields > label,
.article-markdown-import-review > label {
    min-width: 0;
}

.article-markdown-import-cover {
    min-height: 160px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface-strong);
}

.article-markdown-import-cover img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.article-markdown-import-state {
    color: var(--muted);
}

.article-markdown-import-state.is-error,
.article-markdown-import-notice.is-error {
    color: var(--danger-text);
}

.article-markdown-import-state.is-success {
    color: var(--success-text);
}

.article-markdown-import-notices {
    display: grid;
    gap: 8px;
}

.article-markdown-import-notice {
    padding: 10px 12px;
    border-left: 3px solid var(--warning-text);
    background: color-mix(in srgb, var(--surface-strong) 82%, transparent);
}

.article-markdown-import-notice.is-error {
    border-left-color: var(--danger-text);
}

.article-editor-toolbar button:hover,
.article-editor-toolbar button:focus-visible,
.article-editor-view-switch button:hover,
.article-editor-view-switch button:focus-visible,
.article-editor-view-switch button.active {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 14%, var(--surface));
}

.article-editor-view-switch {
    flex: 0 0 auto;
    gap: 0;
}

.article-editor-view-switch button:first-child {
    border-radius: 6px 0 0 6px;
}

.article-editor-view-switch button:last-child {
    margin-left: -1px;
    border-radius: 0 6px 6px 0;
}

.article-writing-workspace textarea[data-article-body] {
    width: 100%;
    min-height: 520px;
    resize: vertical;
    font-family: inherit;
    line-height: 1.65;
}

.article-editor-preview {
    min-height: 520px;
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 94%, transparent);
}

.article-editor-preview .article-body {
    margin: 0 auto;
}

.article-editor-preview-state,
.article-editor-save-state {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.article-review-field {
    display: grid;
    align-content: start;
    gap: 7px;
    min-width: 0;
}

.article-review-field > label {
    font-weight: 700;
}

.article-review-suggest {
    position: relative;
    min-width: 0;
}

.article-review-suggest-panel {
    margin: 0;
}

.article-review-suggest-option {
    gap: 3px;
}

.article-review-suggest-option.is-active {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, var(--surface-strong));
}

.article-review-suggest-option strong,
.article-review-suggest-option small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.article-review-suggest-option small {
    color: var(--muted);
    white-space: normal;
}

.article-draft-recovery {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 12px;
    border-left: 3px solid var(--accent);
    background: color-mix(in srgb, var(--accent) 10%, transparent);
}

.article-draft-recovery p {
    margin: 0;
}

.article-link-dialog {
    width: min(92vw, 520px);
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    box-shadow: var(--shadow);
}

.article-link-dialog::backdrop {
    background: rgba(0, 0, 0, 0.55);
}

.article-link-dialog-content {
    display: grid;
    gap: 14px;
    padding: 20px;
}

.article-link-dialog-content h2 {
    margin: 0;
    font-size: 1.2rem;
}

.article-form-cover {
    width: 100%;
    max-height: 190px;
    border-radius: 8px;
    object-fit: cover;
}

.article-form-cover.visual-placeholder {
    min-height: 150px;
    max-height: none;
}

.article-seo-fields,
.article-review-fields,
.article-history-fields {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.article-seo-fields summary,
.article-review-fields summary,
.article-history-fields summary {
    cursor: pointer;
    color: var(--text);
    font-weight: 700;
}

.article-history-fields summary span {
    margin-left: 5px;
    color: var(--muted);
    font-weight: 500;
}

.article-seo-preview {
    display: grid;
    gap: 4px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.article-seo-preview strong {
    color: var(--accent);
    font-size: 1.08rem;
    font-weight: 600;
}

.article-seo-preview span {
    color: var(--muted);
    font-size: 0.84rem;
    overflow-wrap: anywhere;
}

.article-seo-preview p {
    margin: 2px 0 0;
    color: var(--muted);
    line-height: 1.5;
}

.article-revision-list {
    display: grid;
}

.article-revision-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 12px 0;
    border-top: 1px solid var(--border);
}

.article-revision-row:first-child {
    border-top: 0;
}

.article-revision-row > div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.article-revision-row span,
.article-revision-row p {
    margin: 0;
    color: var(--muted);
    font-size: 0.88rem;
}

.article-media-manager {
    display: grid;
    gap: 18px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
}

.article-media-upload {
    display: grid;
    grid-template-columns: minmax(220px, 1.1fr) minmax(220px, 1.2fr) minmax(180px, 1fr) minmax(150px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.article-media-upload .form-actions {
    grid-column: 1 / -1;
}

.article-media-gallery-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.article-media-list {
    display: grid;
    border-top: 1px solid var(--border);
}

.article-media-row {
    display: grid;
    grid-template-columns: auto 120px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.article-media-gallery-check {
    padding-top: 38px;
}

.article-media-gallery-check input {
    width: 20px;
    height: 20px;
}

.article-media-row > img {
    width: 120px;
    height: 90px;
    border-radius: 8px;
    object-fit: cover;
}

.article-media-row-content {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.article-media-meta-form {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) minmax(150px, 0.7fr) auto;
    gap: 10px;
    align-items: end;
}

.article-media-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.article-media-row-actions form {
    margin: 0;
}

.article-media-first-save {
    margin-top: 14px;
    text-align: center;
}

.article-body ul,
.article-body ol {
    margin: 0 0 18px;
    padding-left: 26px;
}

.article-body li + li {
    margin-top: 7px;
}

.article-body hr {
    margin: 28px 0;
    border: 0;
    border-top: 1px solid var(--border);
}

@media (max-width: 720px) {
    .article-writing-heading,
    .article-editor-controls,
    .article-draft-recovery {
        align-items: stretch;
        flex-direction: column;
    }

    .article-editor-view-switch button {
        flex: 1;
    }

    .article-markdown-import-shell {
        padding: 16px;
    }

    .article-markdown-import-picker,
    .article-markdown-import-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .article-markdown-import-picker > button {
        width: 100%;
    }

    .article-markdown-import-fields {
        grid-template-columns: 1fr;
    }

    .article-writing-workspace textarea[data-article-body],
    .article-editor-preview {
        min-height: 420px;
    }

    .article-editor-preview {
        padding: 18px 14px;
    }

    .article-revision-row {
        grid-template-columns: 1fr;
    }

    .article-revision-row > button {
        justify-self: start;
    }

    .article-body-gallery {
        grid-template-columns: 1fr;
    }

    .article-media-upload,
    .article-media-meta-form {
        grid-template-columns: 1fr;
    }

    .article-media-row {
        grid-template-columns: auto 82px minmax(0, 1fr);
        gap: 10px;
    }

    .article-media-row > img {
        width: 82px;
        height: 82px;
    }

    .article-media-gallery-check {
        padding-top: 30px;
    }
}

.article-review-grid {
    display: grid;
    gap: 14px;
}

.article-review-rating-total,
.article-review-criteria,
.article-review-criteria-template {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.article-review-criteria {
    grid-column: 1 / -1;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.article-review-criteria-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 260px);
    gap: 16px;
    align-items: end;
}

.article-review-criteria-head p,
.article-review-criteria-template > p {
    margin: 4px 0 0;
}

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

.article-review-criteria.is-enhanced [hidden] {
    display: none !important;
}

.article-review-panel {
    max-width: 720px;
    margin: 0 auto 30px;
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.article-review-panel h2 {
    margin-bottom: 4px;
    font-size: 1.35rem;
}

.article-review-panel p:last-child {
    margin-bottom: 0;
}

.article-review-facts,
.event-review-card-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.article-review-facts span,
.review-award {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-strong);
    color: var(--text);
    font-size: 0.84rem;
    font-weight: 800;
}

.article-review-facts strong {
    color: var(--accent);
}

.article-review-criteria-public {
    display: grid;
    gap: 9px;
    padding: 12px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.article-review-criteria-list {
    display: grid;
}

.article-review-criterion-row {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) auto 52px;
    gap: 12px;
    align-items: center;
    min-height: 40px;
    padding: 5px 0;
}

.article-review-criterion-row + .article-review-criterion-row {
    border-top: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
}

.article-review-criterion-row > strong {
    text-align: right;
}

@media (max-width: 640px) {
    .article-review-criteria-head,
    .article-review-criteria-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .article-review-criterion-row {
        grid-template-columns: minmax(0, 1fr) 52px;
        gap: 4px 10px;
    }

    .article-review-criterion-row .visual-rating {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .article-review-criterion-row > strong {
        grid-column: 2;
        grid-row: 1;
    }
}

.article-review-transparency {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.article-review-transparency p,
.review-transparency-line {
    margin-bottom: 0;
}

.article-review-transparency > strong {
    color: var(--text);
}

.article-reviewer-signature {
    display: grid;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.article-reviewer-head {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: start;
    justify-content: space-between;
}

.article-reviewer-head h3 {
    margin-bottom: 4px;
    font-size: 1.15rem;
}

.article-reviewer-head p,
.article-reviewer-note {
    margin-bottom: 0;
    color: var(--muted);
}

.article-reviewer-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.article-reviewer-metrics span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--text);
    font-size: 0.86rem;
    font-weight: 800;
}

.article-reviewer-metrics strong {
    margin-right: 4px;
    color: var(--accent);
}

.article-review-helpfulness {
    display: grid;
    gap: 9px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.article-review-reaction-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.article-review-reaction-head strong {
    font-size: 0.96rem;
}

.article-review-reaction-summary {
    margin-bottom: 0;
    color: var(--muted);
}

.article-review-reaction-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.article-review-reaction-list form {
    margin: 0;
}

.article-review-reaction-list button {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.article-review-reaction-list button.active {
    border-color: var(--accent);
    background: var(--surface);
    color: var(--accent);
}

.article-review-reaction-list button small {
    display: inline-grid;
    min-width: 24px;
    min-height: 24px;
    place-items: center;
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 900;
}

.article-review-helpfulness small {
    color: var(--muted);
    font-weight: 700;
}

.review-award {
    justify-self: start;
    border-color: rgba(83, 197, 129, 0.45);
    background: var(--success-bg);
    color: var(--success-text);
}

.status-scheduled {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.home-cta {
    display: grid;
    gap: 16px;
    align-items: center;
    padding: 22px;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 50%),
        var(--surface);
}

.home-cta h2 {
    margin-bottom: 8px;
}

.home-cta p:last-child {
    margin-bottom: 0;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 22px;
}

.dashboard-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    margin-top: 12px;
    padding: 18px 0 16px;
    border-bottom: 1px solid var(--border);
}

.dashboard-hero h1 {
    margin-bottom: 10px;
}

.dashboard-hero p:last-child {
    margin-bottom: 0;
}

.dashboard-attention {
    margin-bottom: 22px;
}

.dashboard-attention-list {
    display: grid;
}

.dashboard-attention-row {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.dashboard-attention-marker {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--muted);
}

.dashboard-attention-row.tone-urgent .dashboard-attention-marker {
    background: var(--danger-text);
}

.dashboard-attention-row.tone-warning .dashboard-attention-marker {
    background: var(--warning-text);
}

.dashboard-attention-row.tone-success .dashboard-attention-marker {
    background: var(--success-text);
}

.dashboard-attention-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.dashboard-attention-copy h2 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.dashboard-attention-copy p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.dashboard-attention-status {
    color: var(--muted);
    font-size: 0.73rem;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
}

.dashboard-attention-row.tone-urgent .dashboard-attention-status {
    color: var(--danger-text);
}

.dashboard-attention-row.tone-warning .dashboard-attention-status {
    color: var(--warning-text);
}

.dashboard-attention-row.tone-success .dashboard-attention-status {
    color: var(--success-text);
}

.dashboard-attention-action {
    white-space: nowrap;
}

.dashboard-attention-empty {
    display: grid;
    gap: 3px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.dashboard-attention-empty span {
    color: var(--muted);
    font-size: 0.86rem;
}

.xp-panel {
    display: grid;
    gap: 14px;
    margin-top: 20px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 44%),
        var(--surface);
    box-shadow: var(--shadow);
}

.xp-panel h2,
.xp-panel h3 {
    margin-bottom: 7px;
}

.xp-panel p:last-child {
    margin-bottom: 0;
}

.xp-panel-main strong {
    color: var(--accent);
}

.dashboard-account-summary {
    grid-template-columns: minmax(0, 1.4fr) minmax(180px, 0.8fr) minmax(180px, 0.8fr);
    align-items: stretch;
}

.dashboard-account-summary .xp-panel-side {
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 78%, transparent);
}

.dashboard-account-summary .xp-panel-side p {
    color: var(--muted);
    font-size: 0.9rem;
}

.xp-progress {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--surface-strong);
}

.xp-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--accent);
}

.badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.badge-pill {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    width: fit-content;
    padding: 7px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--text);
    font-size: 0.9rem;
}

.badge-pill strong {
    display: inline-grid;
    place-items: center;
    min-width: 26px;
    height: 26px;
    border-radius: 999px;
    background: var(--accent);
    color: var(--button-text);
    font-size: 0.76rem;
}

.badge-pill.has-graphic {
    min-height: 40px;
    padding-block: 5px;
}

.state-graphic {
    position: relative;
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    display: inline-grid;
    place-items: center;
    isolation: isolate;
}

.state-graphic > .state-graphic-image,
.state-graphic > .state-graphic-image img {
    width: 100%;
    height: 100%;
}

.state-graphic > .state-graphic-image {
    position: absolute;
    inset: 0;
    overflow: visible;
    border-radius: 0;
    background: transparent;
}

.state-graphic-overlay {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    min-width: 54%;
    min-height: 42%;
    padding: 0 3px;
    color: #fff5ce;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9), 0 0 9px rgba(244, 181, 49, 0.52);
}

.badge-pill-graphic {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
}

.badge-pill-graphic .state-graphic-overlay {
    font-size: 0.64rem;
}

.xp-event-list {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.xp-event-list li {
    display: grid;
    gap: 3px;
    color: var(--text);
}

.xp-event-list span {
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 800;
}

.activity-hero {
    display: grid;
    gap: 16px;
    margin-top: 12px;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 46%),
        var(--surface);
    box-shadow: var(--shadow);
}

.activity-hero h1 {
    margin-bottom: 10px;
}

.account-identity-hero {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    align-items: center;
}

.account-identity-main {
    display: flex;
    gap: 16px;
    align-items: center;
    min-width: 0;
}

.account-identity-context {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;
    align-items: center;
    margin: 12px 0 0;
    color: var(--muted);
}

.account-identity-context strong {
    color: var(--text);
}

.account-identity-context a {
    color: var(--accent);
}

.user-account-avatar {
    width: 104px;
    height: 104px;
    flex: 0 0 auto;
    font-size: 1.25rem;
}

.account-reputation-grid article:nth-child(3) strong {
    color: #d89b17;
}

.activity-level-card {
    display: grid;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.activity-level-card span,
.activity-level-card small {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.activity-level-card strong {
    color: var(--accent);
    font-size: 1.55rem;
    line-height: 1;
}

.activity-level-card p {
    margin-bottom: 0;
}

.activity-level-graphic {
    width: 76px;
    height: 76px;
    flex-basis: 76px;
}

.activity-level-graphic .state-graphic-overlay {
    font-size: 1.35rem;
}

.public-user-page .activity-level-card {
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: center;
}

.public-user-page .activity-level-card > .activity-level-graphic {
    grid-column: 1;
    grid-row: 1 / span 3;
}

.public-user-page .activity-level-card > span,
.public-user-page .activity-level-card > strong,
.public-user-page .activity-level-card > p {
    grid-column: 2;
}

.public-user-page .activity-level-card > .xp-progress,
.public-user-page .activity-level-card > .identity-reputation-note {
    grid-column: 1 / -1;
}

.public-user-page {
    display: grid;
    gap: 18px;
    align-items: start;
}

.public-user-page > * {
    min-width: 0;
}

.identity-reputation-note {
    display: grid;
    gap: 3px;
    padding-top: 8px;
    border-top: 1px solid var(--border);
}

.identity-reputation-note.is-quiet {
    gap: 0;
}

.identity-reputation-note.is-quiet small {
    line-height: 1.45;
}

.activity-reward-card {
    gap: 10px;
}

.activity-reward-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.activity-reward-level {
    min-width: 0;
}

.activity-reward-level span,
.activity-reward-level strong {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.activity-reward-level strong,
.bhcoin-profile-balance strong {
    font-variant-numeric: tabular-nums;
}

.activity-reward-head > .bhcoin-profile-balance {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
}

.bhcoin-profile-balance {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 118px;
    padding: 8px 10px;
    border: 1px solid color-mix(in srgb, #f2b936 44%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, #f2b936 13%, var(--soft-bg));
}

.bhcoin-profile-balance img {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.24));
}

.activity-level-card .bhcoin-profile-balance strong {
    color: #e0a31d;
    font-size: 1.2rem;
}

.private-reward-card .bhcoin-profile-balance {
    background: color-mix(in srgb, #f2b936 16%, var(--soft-bg));
}

.activity-reward-note {
    color: var(--muted);
    font-size: 0.86rem;
}

.activity-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 18px;
}

.activity-stat-grid article {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.activity-stat-grid strong {
    display: block;
    color: var(--accent);
    font-size: 1.35rem;
    line-height: 1.05;
}

.activity-stat-grid span {
    color: var(--muted);
    font-size: 0.88rem;
}

.reward-goals-panel {
    margin: 18px 0;
}

.account-reward-grid {
    align-items: start;
}

.account-next-steps-panel {
    margin-top: 18px;
}

.account-next-steps-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin-top: 0;
}

.reward-goal-list {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.reward-overview-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    margin-bottom: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 78%, transparent);
}

.reward-overview-strip > div {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-right: 1px solid var(--border);
}

.reward-overview-strip > div:last-child {
    border-right: 0;
}

.reward-overview-strip strong {
    color: var(--accent);
    font-size: 1.2rem;
    line-height: 1;
}

.reward-overview-strip span {
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.reward-goal-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(130px, auto);
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 80%, transparent);
}

.reward-goal-row:last-child {
    border-bottom: 0;
}

.reward-goal-row.is-complete {
    background: color-mix(in srgb, var(--success-bg) 52%, var(--surface));
}

.reward-goal-row.is-pending-reward {
    background: color-mix(in srgb, var(--warning-bg) 50%, var(--surface));
}

.reward-goal-row.is-pending-reward .status-pill {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.reward-goal-title-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.reward-goal-title-row h3 {
    margin: 0;
    font-size: 1rem;
}

.reward-goal-main p {
    margin: 6px 0 10px;
    color: var(--muted);
}

.reward-goal-progress {
    max-width: 520px;
}

.reward-goal-side {
    display: grid;
    gap: 5px;
    justify-items: end;
    text-align: right;
}

.reward-goal-amount {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #d89b17;
    font-size: 1.08rem;
    font-weight: 900;
}

.reward-goal-amount img {
    width: 24px;
    height: 24px;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
}

.reward-goal-side small {
    color: var(--muted);
}

.reward-goal-disclosure {
    margin-top: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 76%, transparent);
}

.reward-goal-disclosure summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    padding: 10px 14px;
    cursor: pointer;
    color: var(--text);
    font-weight: 900;
}

.reward-goal-disclosure summary small {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.reward-goal-disclosure .reward-goal-list {
    margin: 0 10px 10px;
}

.reward-goal-list.compact .reward-goal-row {
    padding: 11px 12px;
    background: color-mix(in srgb, var(--surface) 88%, transparent);
}

.reward-goal-list.compact .reward-goal-main p {
    margin: 4px 0 8px;
    font-size: 0.9rem;
}

.reward-spend-section {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.reward-spend-section .section-heading {
    margin-bottom: 10px;
}

.reward-spend-list {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 78%, transparent);
}

.reward-spend-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 13px 15px;
    border-bottom: 1px solid var(--border);
}

.reward-spend-row:last-child {
    border-bottom: 0;
}

.reward-spend-row p {
    margin: 4px 0;
    color: var(--muted);
}

.reward-spend-row small {
    color: var(--muted);
}

.reward-spend-action {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.reward-spend-cost {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #d89b17;
    font-weight: 900;
}

.reward-spend-cost img {
    width: 22px;
    height: 22px;
}

.status-pill.is-muted {
    opacity: 0.72;
}

.badge-milestone-list {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.badge-milestone-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 80%, transparent);
}

.badge-milestone-row:last-child {
    border-bottom: 0;
}

.badge-milestone-row.is-complete {
    background: color-mix(in srgb, var(--success-bg) 52%, var(--surface));
}

.badge-milestone-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--border));
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent-wash) 72%, transparent);
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 900;
}

.state-graphic.badge-milestone-icon {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.state-graphic.badge-milestone-icon .state-graphic-overlay {
    font-size: 0.92rem;
}

.badge-milestone-main {
    display: grid;
    gap: 7px;
}

.badge-milestone-title-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.badge-milestone-title-row h3 {
    margin: 0;
    font-size: 1rem;
}

.badge-milestone-main p,
.badge-milestone-main small {
    margin: 0;
    color: var(--muted);
}

.reviewer-progress-panel {
    margin-bottom: 18px;
}

.reviewer-progress-stats {
    margin-top: 0;
}

.reviewer-milestone-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.reviewer-milestone-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.reviewer-milestone-card.complete {
    border-color: rgba(83, 197, 129, 0.45);
    background: var(--success-bg);
}

.reviewer-milestone-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.reviewer-milestone-card p,
.reviewer-milestone-card small {
    margin-bottom: 0;
    color: var(--muted);
}

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

.activity-timeline li {
    display: grid;
    gap: 3px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.activity-timeline span {
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 800;
}

.activity-timeline strong {
    color: var(--text);
}

.activity-timeline small {
    color: var(--muted);
}

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

.reward-history-grid h3 {
    margin: 0 0 10px;
}

.bhcoin-timeline span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #d89b17;
}

.bhcoin-timeline img {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
}

.bhcoin-timeline em.status-pill {
    margin-top: 6px;
    font-style: normal;
}

.admin-economy-warning {
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--warning-text) 36%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--warning-bg) 78%, transparent);
    color: var(--warning-text);
    font-weight: 700;
}

.compact-row-action summary {
    cursor: pointer;
    color: var(--accent);
    font-weight: 800;
}

.compact-row-action form {
    display: grid;
    gap: 8px;
    min-width: 220px;
    margin-top: 8px;
}

.compact-row-action input,
.compact-row-action button {
    width: 100%;
}

.scene-feed-panel {
    margin: 18px 0;
}

.scene-feed-list {
    display: grid;
    gap: 10px;
}

.scene-feed-card {
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--accent);
    border-radius: 8px;
    background: var(--soft-bg);
}

.scene-feed-card h3 {
    margin-bottom: 0;
}

.scene-feed-card h3 a {
    color: var(--text);
}

.scene-feed-card h3 a:hover {
    color: var(--accent);
}

.scene-feed-card p {
    margin-bottom: 0;
}

.scene-feed-card small {
    color: var(--muted);
}

.scene-feed-label {
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.public-user-hero {
    display: grid;
    gap: 16px;
    align-items: start;
    margin-top: 12px;
    margin-bottom: 0;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 46%),
        var(--surface);
    box-shadow: var(--shadow);
}

.public-user-avatar {
    display: grid;
    place-items: center;
    width: 86px;
    height: 86px;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--surface-strong);
    color: var(--accent);
    font-size: 2.4rem;
    font-weight: 800;
}

.user-initial-avatar {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--surface-strong);
    color: var(--accent);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.user-initial-avatar.user-account-avatar {
    width: 104px;
    height: 104px;
    font-size: 1.25rem;
}

.user-placeholder-avatar {
    overflow: hidden;
    padding: 0;
    background: var(--surface-strong);
}

.user-placeholder-avatar .profile-avatar-placeholder {
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

.user-initial-avatar.public-user-avatar {
    width: 86px;
    height: 86px;
}

.user-initial-avatar.team-member-avatar {
    width: 96px;
    height: 96px;
}

.identity-image-avatar {
    overflow: hidden;
    padding: 0;
}

.identity-profile-avatar {
    overflow: hidden;
    padding: 0;
    background: var(--surface-strong);
}

.identity-image-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.identity-profile-avatar .profile-avatar-placeholder {
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

.public-user-hero h1 {
    margin-bottom: 10px;
}

.public-user-hero > div {
    min-width: 0;
}

.public-user-hero .hero-actions {
    margin-top: 14px;
    margin-bottom: 0;
}

.public-user-hero .public-profile-search-note {
    max-width: 48rem;
    margin: 12px 0 0;
}

.public-user-hero .activity-level-card {
    width: 100%;
}

.dashboard-card,
.profile-section,
.auth-card,
.form-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.profile-section[id] {
    scroll-margin-top: 92px;
}

.dashboard-card {
    padding: 18px;
    color: var(--text);
    transition: border-color 160ms ease, transform 160ms ease;
}

a.dashboard-card:hover {
    border-color: var(--accent);
    color: var(--text);
    transform: translateY(-1px);
}

.dashboard-card p:last-child,
.profile-section p:last-child,
.auth-card p:last-child,
.form-card p:last-child {
    margin-bottom: 0;
}

.dashboard-worlds-panel,
.dashboard-tools-panel {
    display: grid;
    gap: 12px;
    margin: 18px 0;
}

.dashboard-world-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 10px;
}

.dashboard-world-card {
    display: grid;
    gap: 9px;
    min-height: 210px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.dashboard-world-card-head,
.dashboard-world-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.dashboard-world-card-head {
    justify-content: space-between;
}

.dashboard-world-card-head span,
.dashboard-world-card-head small {
    font-size: 0.74rem;
    font-weight: 900;
    text-transform: uppercase;
}

.dashboard-world-card-head span {
    color: var(--accent);
}

.dashboard-world-card-head small {
    max-width: 56%;
    overflow: hidden;
    color: var(--muted);
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-world-card h3 {
    margin: 0;
    font-size: 1rem;
}

.dashboard-world-card p {
    margin: 0;
    color: var(--muted);
    font-size: 0.84rem;
    line-height: 1.42;
}

.dashboard-world-card .dashboard-world-return {
    padding-top: 3px;
    color: var(--text);
    font-weight: 700;
}

.dashboard-world-actions {
    margin-top: auto;
}

.dashboard-world-actions a {
    padding: 5px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--text);
    font-size: 0.78rem;
    font-weight: 800;
}

.dashboard-world-actions a:hover,
.dashboard-world-actions a:focus-visible {
    border-color: var(--accent);
    color: var(--accent);
}

.mobile-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(52px, 1fr));
    gap: 4px;
    padding: 8px;
    border-top: 1px solid var(--border);
    background: var(--mobile-nav-bg);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.mobile-nav a {
    min-width: 0;
    min-height: 42px;
    position: relative;
    display: grid;
    place-items: center;
    padding: 4px 2px;
    border-radius: 8px;
    color: var(--muted);
    font-size: 0.72rem;
    line-height: 1.15;
    overflow-wrap: anywhere;
    text-align: center;
}

.mobile-nav a:hover {
    background: var(--surface-strong);
    color: var(--text);
}

.mobile-nav .nav-badge {
    position: absolute;
    top: 2px;
    right: 8px;
    margin-left: 0;
}

.mobile-nav.mobile-nav-primary {
    display: flex;
    grid-template-columns: none;
    gap: 4px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
}

.mobile-nav.mobile-nav-primary::-webkit-scrollbar {
    display: none;
}

.mobile-nav.mobile-nav-primary a {
    min-width: max-content;
    flex: 0 0 auto;
    padding-inline: 10px;
    overflow-wrap: normal;
    scroll-snap-align: start;
    white-space: nowrap;
    word-break: normal;
}

.inline-check {
    min-width: 0;
    display: flex;
    gap: 8px;
    align-items: flex-start;
    overflow-wrap: anywhere;
}

.inline-check input[type="checkbox"],
.inline-check input[type="radio"] {
    width: 18px;
    min-width: 18px;
    height: 18px;
    min-height: 18px;
    flex: 0 0 18px;
    margin-top: 0.15em;
    padding: 0;
}

.auth-card,
.form-card {
    width: min(100%, 620px);
    margin: 22px auto;
    padding: 20px;
}

.profile-create-card {
    width: min(100%, 980px);
}

.account-start-page {
    width: min(100%, 1040px);
    margin: 22px auto;
    display: grid;
    gap: 16px;
}

.account-start-hero,
.account-start-list,
.account-start-footer,
.account-start-preview {
    border: 1px solid var(--glass-border);
    background: color-mix(in srgb, var(--surface) 72%, transparent);
    box-shadow: var(--glass-shadow);
    backdrop-filter: blur(var(--glass-blur)) saturate(132%);
}

.account-start-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 24px;
    border-radius: 8px;
}

.account-start-hero h1,
.account-start-hero p,
.account-start-row h2,
.account-start-row p,
.account-start-footer p {
    margin-top: 0;
}

.account-start-hero p:last-child,
.account-start-row p:last-child,
.account-start-footer p:last-child {
    margin-bottom: 0;
}

.account-start-current {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: min(100%, 260px);
}

.account-start-current div,
.account-start-preview div {
    display: grid;
    gap: 3px;
}

.account-start-current span,
.account-start-preview small,
.account-start-preview > span {
    color: var(--muted);
}

.account-start-avatar,
.account-start-preview-avatar {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
}

.account-start-list {
    overflow: hidden;
    border-radius: 8px;
}

.account-start-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 20px 22px;
}

.account-start-row + .account-start-row {
    border-top: 1px solid var(--border);
}

.account-start-row h2 {
    font-size: var(--type-section-title);
}

.account-start-row > form {
    margin: 0;
}

.account-start-public-row {
    grid-template-columns: 1fr;
}

.account-start-public-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(250px, 0.8fr);
    gap: 22px;
    align-items: start;
}

.account-start-public-form {
    margin: 0;
}

.account-start-slug-control {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--input-bg);
    overflow: hidden;
}

.account-start-slug-control span {
    padding-left: 12px;
    color: var(--muted);
    white-space: nowrap;
}

.account-start-slug-control input {
    border: 0;
    border-radius: 0;
    min-width: 0;
}

.account-start-suggestions,
.account-start-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.account-start-suggestions button {
    padding: 5px 8px;
    border: 0;
    background: transparent;
    color: var(--accent);
    box-shadow: none;
}

.account-start-suggestions button:hover,
.account-start-suggestions button:focus-visible {
    color: var(--text);
    text-decoration: underline;
}

.account-start-search-choice {
    margin-bottom: 0;
}

.account-start-preview {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 18px;
    border-radius: 8px;
}

.account-start-preview > span,
.account-start-preview > p,
.account-start-preview > code,
.account-start-preview > small {
    grid-column: 1 / -1;
}

.account-start-preview > p {
    margin: 0;
    color: var(--muted);
}

.account-start-preview > code {
    overflow-wrap: anywhere;
    color: var(--accent);
}

.account-start-footer {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    padding: 16px 20px;
    border-radius: 8px;
}

@media (max-width: 760px) {
    .account-start-hero,
    .account-start-row,
    .account-start-public-layout {
        grid-template-columns: 1fr;
    }

    .account-start-row {
        align-items: stretch;
    }

    .account-start-row > form button,
    .account-start-footer form,
    .account-start-footer button {
        width: 100%;
    }

    .account-start-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .account-start-slug-control {
        grid-template-columns: 1fr;
    }

    .account-start-slug-control span {
        padding: 9px 12px 0;
        white-space: normal;
    }
}

.profile-team-page {
    display: grid;
    gap: 1.5rem;
}

.profile-governance-status,
.profile-governance-notice {
    align-items: center;
    background: var(--glass-bg-soft);
    border: 1px solid var(--glass-border);
    border-radius: 8px;
    box-shadow: var(--glass-shadow);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem 1.15rem;
}

.profile-governance-status > div,
.profile-team-person > div,
.profile-team-pending-row > div,
.profile-proposal-row > div:first-child {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.profile-governance-status span,
.profile-team-person span,
.profile-team-pending-row span,
.profile-proposal-row span {
    color: var(--muted);
    font-size: 0.9rem;
}

.profile-governance-status.is-disputed,
.profile-governance-notice {
    border-color: color-mix(in srgb, var(--danger-text) 42%, var(--glass-border));
}

.profile-governance-notice > div {
    max-width: 72ch;
}

.profile-governance-notice h2,
.profile-governance-notice p,
.profile-governance-section h2,
.profile-governance-section p {
    margin-top: 0;
}

.profile-governance-section {
    border-top: 1px solid var(--border);
    padding-top: 1.25rem;
}

.profile-team-list,
.profile-team-pending-list,
.profile-proposal-list {
    display: grid;
}

.profile-team-row,
.profile-team-pending-row,
.profile-proposal-row {
    align-items: center;
    border-bottom: 1px solid var(--border);
    display: flex;
    gap: 0.9rem;
    justify-content: space-between;
    min-width: 0;
    padding: 0.85rem 0;
}

.profile-team-person {
    align-items: center;
    display: flex;
    flex: 1 1 15rem;
    gap: 0.75rem;
    min-width: 0;
}

.profile-team-avatar,
.profile-team-user-option img,
.profile-team-user-placeholder {
    border: 1px solid var(--border);
    border-radius: 50%;
    flex: 0 0 42px;
    height: 42px;
    object-fit: cover;
    width: 42px;
}

.profile-team-user-placeholder {
    background: var(--surface-strong);
}

.profile-team-vote-state {
    flex: 0 1 11rem;
}

.profile-team-role-form,
.profile-team-invite-form,
.profile-governance-mode-form,
.profile-access-decision-form {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.profile-team-role-form label,
.profile-team-invite-form label,
.profile-governance-mode-form label,
.profile-access-decision-form label,
.profile-governance-dispute-form label {
    margin: 0;
}

.profile-team-role-form select {
    min-width: 10.5rem;
}

.profile-access-request-row {
    align-items: flex-start;
}

.profile-access-request-row .profile-team-person p {
    max-width: 68ch;
    margin: 0.35rem 0 0;
    color: var(--text);
    overflow-wrap: anywhere;
}

.profile-access-request-actions,
.profile-access-decision-form {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.75rem;
}

.profile-access-request-actions {
    justify-content: flex-end;
}

.profile-access-decision-form select,
.profile-access-decision-form button,
.profile-access-request-actions > form > button {
    min-height: 44px;
}

.profile-team-invite-form {
    display: grid;
    grid-template-columns: minmax(14rem, 1.4fr) minmax(10rem, 0.8fr) auto auto;
}

.profile-team-user-field {
    position: relative;
}

.profile-team-user-results {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    left: 0;
    max-height: 18rem;
    overflow-y: auto;
    position: absolute;
    right: 0;
    top: calc(100% + 0.35rem);
    z-index: 25;
}

.profile-team-user-option {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    color: var(--text);
    display: flex;
    gap: 0.7rem;
    justify-content: flex-start;
    padding: 0.65rem;
    text-align: left;
    width: 100%;
}

.profile-team-user-option:hover,
.profile-team-user-option.is-active,
.profile-team-user-option:focus-visible {
    background: var(--accent-wash);
    color: var(--text);
}

.profile-team-user-option > span:not(.profile-team-user-placeholder) {
    display: grid;
    min-width: 0;
}

.profile-team-user-option small {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.profile-team-user-empty {
    color: var(--muted);
    padding: 0.85rem;
}

.profile-team-pending-row > div,
.profile-proposal-row > div:first-child {
    flex: 1 1 auto;
}

.profile-proposal-row .table-actions,
.profile-team-page .module-header-actions {
    flex-wrap: wrap;
}

.profile-governance-mode-form {
    margin-top: 1rem;
}

.profile-governance-dispute-form {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 1.2fr);
}

.profile-governance-dispute-form form {
    display: grid;
    gap: 0.75rem;
}

.profile-team-invitation-summary {
    display: grid;
    gap: 1rem;
}

@media (max-width: 900px) {
    .profile-team-invite-form {
        grid-template-columns: minmax(0, 1fr) minmax(10rem, 0.7fr);
    }

    .profile-team-row {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .profile-team-role-form {
        flex: 1 1 100%;
    }
}

@media (max-width: 640px) {
    .profile-governance-status,
    .profile-governance-notice,
    .profile-team-pending-row,
    .profile-access-request-row,
    .profile-proposal-row {
        align-items: stretch;
        flex-direction: column;
    }

    .profile-team-invite-form,
    .profile-governance-dispute-form {
        grid-template-columns: 1fr;
    }

    .profile-team-invite-form > button,
    .profile-governance-mode-form > button,
    .profile-team-role-form > button {
        width: 100%;
    }

    .profile-team-role-form label:not(.compact-checkbox),
    .profile-team-role-form select,
    .profile-access-request-actions,
    .profile-access-decision-form,
    .profile-access-decision-form label,
    .profile-access-decision-form select,
    .profile-access-decision-form button,
    .profile-access-request-actions > form,
    .profile-access-request-actions > form > button,
    .profile-governance-mode-form label,
    .profile-governance-mode-form select {
        width: 100%;
    }
}

.account-settings-card {
    width: min(100%, 880px);
    display: grid;
    gap: 16px;
}

section.account-settings-card > p,
.account-settings-card .settings-section p,
.account-settings-card .settings-section h2 {
    margin-top: 0;
}

.account-settings-card .account-settings-form {
    display: grid;
    gap: 14px;
}

.account-settings-card .settings-section {
    margin-top: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.account-settings-card .account-security-section {
    align-items: start;
}

.account-settings-card .choice-grid {
    gap: 9px;
}

.account-settings-page {
    width: min(100%, 1040px);
    margin: 22px auto;
    display: grid;
    gap: 16px;
}

.account-settings-hero,
.account-settings-panel,
.account-settings-savebar,
.account-settings-nav,
.account-status-grid article {
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: color-mix(in srgb, var(--surface) 76%, transparent);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(18px) saturate(132%);
}

.account-settings-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 22px;
    border-radius: 14px;
}

.account-settings-hero h1,
.account-settings-hero p,
.account-section-head h2,
.account-section-head p,
.social-login-panel h3,
.social-login-panel p {
    margin-top: 0;
}

.account-settings-hero p:last-child,
.account-section-head p:last-child,
.social-login-panel p:last-child {
    margin-bottom: 0;
}

.account-hero-identity {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: min(100%, 280px);
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--soft-bg) 70%, transparent);
}

.account-hero-identity strong,
.account-hero-identity span {
    display: block;
}

.account-hero-identity span {
    color: var(--muted);
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}

.account-hero-avatar,
.social-provider-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent), var(--accent-strong));
    color: var(--button-text);
    font-weight: 800;
}

.account-hero-avatar {
    width: 48px;
    height: 48px;
    font-size: 1.2rem;
}

.account-settings-nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px;
    border-radius: 12px;
}

.account-settings-nav a,
.account-settings-nav button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--soft-bg) 72%, transparent);
    color: var(--text);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.account-settings-nav button {
    appearance: none;
    cursor: pointer;
    font: inherit;
}

.account-settings-nav a:hover,
.account-settings-nav button:hover,
.account-settings-nav a:focus-visible,
.account-settings-nav button:focus-visible,
.account-settings-nav a.is-active,
.account-settings-nav button.is-active {
    border-color: var(--accent);
    color: var(--accent);
}

.account-settings-nav a.is-active,
.account-settings-nav button.is-active {
    background: color-mix(in srgb, var(--accent) 12%, var(--soft-bg));
}

.account-overview-panel {
    gap: 14px;
}

.account-overview-panel .account-status-grid {
    margin: 0;
}

.account-status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.account-status-grid article {
    display: grid;
    gap: 4px;
    min-height: 84px;
    padding: 14px;
    border-radius: 12px;
}

.account-status-grid span,
.account-security-item span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
}

.account-status-grid strong,
.account-security-item strong {
    color: var(--text);
    overflow-wrap: anywhere;
}

.account-settings-form {
    display: grid;
    gap: 16px;
}

.account-settings-panel {
    display: grid;
    gap: 16px;
    padding: 18px;
    border-radius: 14px;
}

.account-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
}

.account-section-head.compact {
    display: block;
}

.account-section-head h2 {
    margin-bottom: 6px;
}

.account-section-head h3 {
    margin: 0 0 6px;
}

.account-security-grid,
.account-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.account-name-change-note {
    display: grid;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--soft-bg) 82%, transparent);
}

.account-name-change-note > div:first-child {
    display: grid;
    gap: 4px;
}

.account-name-change-note strong {
    color: var(--text);
}

.account-name-change-note p {
    margin-bottom: 0;
}

.account-name-change-note dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.account-name-change-note dl div {
    display: grid;
    gap: 3px;
}

.account-name-change-note dt {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.account-name-change-note dd {
    margin: 0;
    color: var(--text);
    font-weight: 800;
}

.account-name-change-confirm {
    align-items: flex-start;
}

.account-avatar-settings {
    display: grid;
    gap: 12px;
    margin: 4px 0 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--soft-bg) 68%, transparent);
}

.account-avatar-settings legend {
    padding: 0 6px;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.account-avatar-preview-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.account-avatar-preview-row p {
    margin: 4px 0 0;
    color: var(--muted);
}

.account-settings-avatar-preview {
    width: 58px;
    height: 58px;
}

.account-avatar-upload {
    display: grid;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--surface) 72%, transparent);
}

.account-avatar-upload > div:first-child p {
    margin: 4px 0 0;
    color: var(--muted);
}

.account-avatar-crop-layout {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(180px, auto);
    gap: 12px;
    align-items: start;
}

.account-avatar-crop-preview {
    width: 86px;
    height: 86px;
}

.account-avatar-crop-preview img,
.account-avatar-crop-preview .user-initial-avatar,
.account-avatar-crop-placeholder {
    width: 100%;
    height: 100%;
}

.account-avatar-crop-editor {
    max-width: 380px;
}

.account-avatar-upload-actions {
    display: grid;
    gap: 8px;
    align-content: start;
    justify-items: start;
}

.account-avatar-upload-actions small {
    color: var(--muted);
}

.avatar-choice-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.avatar-choice-card {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 72px;
    padding: 11px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--surface) 78%, transparent);
    cursor: pointer;
}

.avatar-choice-card:has(input:checked) {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent-wash) 54%, var(--surface));
}

.avatar-choice-card input {
    width: auto;
    margin: 0;
}

.avatar-choice-card strong,
.avatar-choice-card small {
    display: block;
}

.avatar-choice-card small {
    color: var(--muted);
}

.avatar-choice-preview {
    display: inline-flex;
}

.avatar-choice-avatar {
    width: 42px;
    height: 42px;
}

.account-security-item {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--soft-bg) 72%, transparent);
}

.account-security-item small {
    color: var(--muted);
}

.account-login-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
    gap: 14px;
    align-items: start;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--surface) 74%, transparent);
}

.account-login-summary.is-ready {
    border-color: color-mix(in srgb, var(--success-text) 38%, var(--border));
    background: color-mix(in srgb, var(--success-bg) 22%, var(--surface));
}

.account-login-summary.needs-action {
    border-color: color-mix(in srgb, var(--warning-text) 40%, var(--border));
    background: color-mix(in srgb, var(--warning-bg) 24%, var(--surface));
}

.account-login-summary h3,
.account-login-summary p {
    margin: 0;
}

.account-login-summary h3 {
    margin-top: 3px;
}

.account-login-summary p {
    color: var(--muted);
}

.account-login-next-step {
    margin-top: 8px;
}

.account-login-summary dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin: 0;
}

.account-login-summary dl > div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 9px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--soft-bg) 70%, transparent);
}

.account-login-summary dt {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.account-login-summary dd {
    margin: 0;
    color: var(--text);
    font-size: 0.9rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.account-inline-form {
    margin-top: 4px;
}

.account-password-form {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--soft-bg) 70%, transparent);
}

.account-password-form h3,
.account-password-form p {
    margin-top: 0;
}

.account-password-form p:last-child {
    margin-bottom: 0;
}

.account-password-actions {
    justify-content: flex-start;
    margin-top: 0;
}

.account-session-form {
    display: grid;
    gap: 12px;
    padding: 2px 0 16px;
    border-bottom: 1px solid var(--border);
}

.account-session-heading {
    min-width: 0;
}

.account-session-form h3,
.account-session-form p {
    margin: 0;
}

.account-session-form p {
    margin-top: 5px;
    color: var(--muted);
}

.account-session-form .ghost-link {
    flex: 0 0 auto;
}

.account-session-list {
    display: grid;
    border-top: 1px solid var(--border);
}

.account-session-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    min-height: 58px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.account-session-row > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.account-session-row strong,
.account-session-row span {
    overflow-wrap: anywhere;
}

.account-session-row span {
    color: var(--muted);
    font-size: 0.88rem;
}

.account-session-row .status-pill {
    color: var(--text);
}

.account-session-revoke-all {
    display: flex;
    justify-content: flex-start;
}

.account-confirm-page {
    max-width: 680px;
}

.account-confirm-panel {
    display: grid;
    gap: 18px;
    padding: 20px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.account-confirm-password,
.account-confirm-providers {
    display: grid;
    gap: 10px;
}

.account-confirm-password button {
    justify-self: start;
}

.account-confirm-divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: center;
    color: var(--muted);
    font-size: 0.86rem;
}

.account-confirm-divider::before,
.account-confirm-divider::after {
    content: '';
    height: 1px;
    background: var(--border);
}

.account-confirm-providers .social-login-button {
    width: 100%;
    max-width: 360px;
}

.account-confirm-back {
    justify-self: start;
}

.social-login-panel {
    display: grid;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.social-provider-list {
    display: grid;
    gap: 8px;
}

.social-provider-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--soft-bg) 68%, transparent);
}

.social-provider-row.is-connected {
    border-color: var(--accent);
}

.social-provider-mark {
    width: 38px;
    height: 38px;
    font-size: 0.98rem;
}

.social-provider-mark img {
    width: 22px;
    height: 22px;
    display: block;
}

.social-provider-row h4 {
    margin: 0 0 3px;
}

.social-provider-copy {
    display: grid;
    gap: 6px;
}

.social-provider-row p {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
}

.social-provider-row p strong {
    color: var(--text);
}

.social-provider-data {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 2px 0 0;
}

.social-provider-data div {
    display: inline-flex;
    max-width: 100%;
    gap: 5px;
    align-items: center;
    padding: 4px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 72%, transparent);
    font-size: 0.78rem;
    line-height: 1.25;
}

.social-provider-data dt {
    color: var(--muted);
    font-weight: 800;
}

.social-provider-data dd {
    min-width: 0;
    margin: 0;
    color: var(--text);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.social-provider-privacy-note {
    max-width: 620px;
    font-size: 0.82rem !important;
    line-height: 1.4;
}

.social-provider-action {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.social-provider-disconnect-form {
    margin: 0;
}

.social-provider-sync-form {
    margin: 0;
}

.social-provider-sync-button {
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--accent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-soft) 80%, transparent);
    color: var(--accent-text);
    font-size: 0.9rem;
    font-weight: 800;
}

.social-provider-sync-button:hover,
.social-provider-sync-button:focus-visible {
    background: var(--accent);
    color: #fff;
}

.social-provider-disconnect-button {
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 80%, transparent);
    color: var(--text);
    font-size: 0.9rem;
    font-weight: 800;
}

.social-provider-disconnect-button:hover,
.social-provider-disconnect-button:focus-visible {
    border-color: var(--danger-text);
    color: var(--danger-text);
}

.social-provider-lock-note {
    max-width: 230px;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.35;
    text-align: right;
}

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

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

.compact-link {
    width: fit-content;
    margin-top: 6px;
}

.account-settings-savebar {
    position: sticky;
    bottom: 12px;
    z-index: 4;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
    padding: 12px;
    border-radius: 14px;
}

.profile-container.is-profile-container-ready .account-settings-form:not(:has([data-profile-panel]:not([hidden]))) .account-settings-savebar {
    display: none;
}

.settings-actions {
    margin-top: 2px;
}

.auth-card {
    width: min(100%, 430px);
}

.auth-social-login {
    display: grid;
    gap: 8px;
    margin: 12px 0 10px;
}

.social-login-button {
    min-height: 44px;
    display: inline-flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-color: color-mix(in srgb, var(--border) 78%, var(--glass-border));
    border-radius: 8px;
    background: var(--surface);
    background: color-mix(in srgb, var(--surface) 78%, transparent);
    color: var(--text);
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(14px) saturate(125%);
}

.social-login-button:hover,
.social-login-button:focus-visible {
    background: var(--surface-strong);
    border-color: color-mix(in srgb, var(--accent) 54%, var(--border));
    background: color-mix(in srgb, var(--accent-wash) 42%, var(--surface));
    color: var(--text);
}

.social-login-button img {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
}

.social-login-button-official {
    padding: 5px 12px;
    justify-content: center;
    background: transparent;
}

.social-login-button img.social-login-official-image {
    width: 214px;
    height: 34px;
    max-width: 100%;
    flex: 0 1 214px;
    object-fit: contain;
}

.auth-divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 10px;
    align-items: center;
    margin: 14px 0 10px;
    color: var(--muted);
    font-size: 0.84rem;
}

.auth-divider::before,
.auth-divider::after {
    content: "";
    height: 1px;
    background: var(--border);
}

.auth-card form,
.form-card form {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

label {
    color: var(--text);
    font-weight: 700;
}

.form-label {
    display: block;
    margin-bottom: 6px;
    color: var(--text);
    font-weight: 700;
}

input,
select,
textarea {
    width: 100%;
    min-height: 40px;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--input-bg);
    color: var(--text);
    font-family: inherit;
    font-size: 0.92rem;
    line-height: 1.35;
}

input[type="checkbox"],
input[type="radio"] {
    flex: 0 0 18px;
    width: 18px;
    min-width: 18px;
    height: 18px;
    min-height: 18px;
    margin: 0.15em 0 0;
    padding: 0;
    accent-color: var(--accent);
}

textarea {
    resize: vertical;
    line-height: 1.5;
}

input:focus,
select:focus,
textarea:focus {
    outline: 2px solid rgba(73, 211, 193, 0.32);
    border-color: var(--accent);
}

.auth-card p,
.form-card p {
    margin-top: 18px;
}

.auth-card p a {
    color: var(--accent);
    font-weight: 700;
}

.form-help {
    margin: -2px 0 4px;
    color: var(--muted);
    font-size: 0.9rem;
}

.checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--text);
    font-weight: 700;
}

.checkbox-label input {
    margin-top: 0.15em;
}

.help-hint {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-left: 4px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
    cursor: help;
}

.help-hint:hover,
.help-hint:focus-visible {
    border-color: var(--accent);
    color: var(--accent);
    outline: none;
}

.help-hint::after {
    position: absolute;
    z-index: 40;
    bottom: calc(100% + 8px);
    left: 50%;
    display: none;
    width: min(280px, calc(100vw - 32px));
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
    color: var(--text);
    content: attr(data-help);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    text-align: left;
    transform: translate(-50%, 4px);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.help-hint:hover::after,
.help-hint:focus-visible::after {
    display: block;
    opacity: 1;
    transform: translate(-50%, 0);
}

@media (max-width: 719px) {
    .help-hint::after {
        position: fixed;
        right: 12px;
        bottom: 82px;
        left: 12px;
        width: auto;
        transform: none;
    }

    .help-hint:hover::after,
    .help-hint:focus-visible::after {
        transform: none;
    }
}

.field-label-line,
.setting-label-line {
    display: inline-flex;
    gap: 4px;
    align-items: center;
}

.registration-trap {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.media-upload-grid {
    display: grid;
    gap: 12px;
    margin-bottom: 4px;
}

.media-upload-card {
    display: grid;
    gap: 10px;
    align-content: start;
    padding: 12px;
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.media-upload-card > span {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
}

.image-crop-card {
    min-width: 0;
}

.image-crop-card small {
    color: var(--muted);
    line-height: 1.45;
}

.image-crop-editor {
    display: grid;
    gap: 10px;
}

.image-crop-editor[hidden],
.avatar-preview[hidden],
.cover-preview[hidden] {
    display: none;
}

.image-crop-stage {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--border);
    background: var(--surface-strong);
    touch-action: none;
}

.image-crop-stage-avatar {
    max-width: 240px;
    aspect-ratio: 1;
    border-radius: 50%;
}

.image-crop-stage-cover {
    aspect-ratio: 16 / 7;
    border-radius: 8px;
}

.image-crop-stage canvas {
    display: block;
    width: 100%;
    height: 100%;
    cursor: grab;
}

.image-crop-stage canvas.is-dragging {
    cursor: grabbing;
}

.image-crop-zoom {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin: 0;
}

.image-crop-zoom span {
    color: var(--muted);
    font-size: 0.85rem;
    font-weight: 700;
}

.image-crop-zoom input {
    width: 100%;
    margin: 0;
}

.image-crop-reset {
    justify-self: start;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--accent);
    font-size: 0.85rem;
    font-weight: 800;
}

.image-crop-reset:hover {
    color: var(--text);
}

.file-picker {
    display: inline-flex;
    width: fit-content;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 800;
}

.file-picker:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.visually-hidden-file {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.image-crop-error {
    color: var(--danger-text) !important;
    font-weight: 700;
}

.avatar-preview,
.cover-preview {
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 60%),
        var(--surface-strong);
    color: var(--muted);
}

.avatar-preview {
    width: 96px;
    height: 96px;
    border-radius: 50%;
}

.avatar-preview img,
.cover-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.avatar-preview .profile-avatar-placeholder {
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

.avatar-preview strong {
    color: var(--accent);
    font-size: 2rem;
}

.cover-preview {
    min-height: 116px;
    border-radius: 8px;
}

.choice-grid {
    display: grid;
    gap: 10px;
}

.choice-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    cursor: pointer;
}

.choice-card:hover,
.choice-card.is-checked,
.choice-card:has(input:checked) {
    border-color: var(--accent);
}

.choice-card input {
    width: auto;
    min-height: 0;
    margin-top: 5px;
}

.choice-card span {
    display: grid;
    gap: 3px;
}

.choice-card .help-hint {
    display: inline-flex;
    margin-left: 0;
}

.choice-card small {
    color: var(--muted);
}

.wide-choice-card {
    grid-template-columns: 1fr;
    cursor: default;
}

.inline-choice-list {
    display: grid;
    gap: 8px;
}

.inline-choice-list label {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px;
    align-items: start;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    cursor: pointer;
}

.inline-choice-list label.is-checked,
.inline-choice-list label:has(input:checked) {
    border-color: var(--accent);
    background: var(--accent-wash);
}

.inline-choice-list input {
    width: auto;
    min-height: 0;
    margin-top: 4px;
}

.theatre-substitution-choice-list {
    margin-top: 6px;
}

.production-substitution-summary-list {
    display: grid;
    gap: 4px;
    margin-top: 8px;
}

.production-substitution-summary-list p {
    margin-bottom: 0;
}

.substitution-date-warning {
    padding: 7px 9px;
    border: 1px solid color-mix(in srgb, var(--warning-text) 28%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--warning-bg) 74%, var(--surface));
    color: var(--warning-text);
}

.production-substitution-live-preview {
    display: grid;
    gap: 7px;
    margin-top: 10px;
    padding: 10px;
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.production-substitution-live-preview p,
.production-substitution-live-preview ul {
    margin-bottom: 0;
}

.production-substitution-live-preview ul {
    display: grid;
    gap: 7px;
    padding-left: 18px;
}

.production-substitution-live-preview li {
    display: grid;
    gap: 2px;
}

.production-substitution-live-preview span,
.production-substitution-live-preview small {
    color: var(--muted);
}

.profile-type-selector,
.profile-service-editor {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 0;
    border: 0;
}

.profile-service-editor {
    margin-top: 4px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.profile-type-selector legend,
.profile-service-editor legend {
    padding: 0;
    font-weight: 800;
}

.profile-type-selector > .form-help,
.profile-service-editor > .form-help {
    margin: 0;
}

.profile-type-group-switch {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 8px;
}

.profile-type-group-switch button {
    display: grid;
    gap: 3px;
    justify-items: start;
    min-height: 58px;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 70%, transparent);
    color: var(--muted);
    text-align: left;
    cursor: pointer;
}

.profile-type-group-switch button:hover,
.profile-type-group-switch button:focus-visible,
.profile-type-group-switch button.is-active {
    border-color: var(--accent);
    color: var(--text);
}

.profile-type-group-switch button.is-active {
    background: color-mix(in srgb, var(--accent-wash) 62%, transparent);
}

.profile-type-group-switch strong {
    font-size: 0.92rem;
}

.profile-type-group-switch span {
    font-size: 0.78rem;
    line-height: 1.35;
}

.profile-type-group-list {
    display: grid;
    gap: 12px;
}

.profile-type-group {
    display: grid;
    gap: 9px;
}

.profile-type-group[hidden] {
    display: none !important;
}

.profile-type-group-head {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    align-items: baseline;
    justify-content: space-between;
}

.profile-type-group-head h2 {
    margin: 0;
    font-size: 1rem;
}

.profile-type-group-head p {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
}

.profile-type-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.profile-type-card {
    --profile-type-bg-image: none;
    --profile-type-bg-filter: grayscale(0.74) saturate(0.66) contrast(1);
    --profile-type-bg-filter-active: grayscale(0) saturate(1.2) contrast(1.04);
    --profile-type-bg-opacity: 0.78;
    --profile-type-bg-opacity-active: 0.88;
    --profile-type-bg-position: center right;

    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    min-height: 128px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    cursor: pointer;
    isolation: isolate;
    overflow: hidden;
    transition: border-color 160ms ease, transform 160ms ease;
}

.profile-type-card:hover,
.profile-type-card.is-checked,
.profile-type-card:has(input:checked) {
    border-color: var(--accent);
    transform: translateY(-1px);
}

.profile-type-card input {
    position: relative;
    z-index: 1;
    width: auto;
    min-height: 0;
    margin-top: 5px;
}

.profile-type-card span {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 5px;
    min-width: 0;
}

.profile-type-card::before,
.profile-type-card::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
}

.profile-type-card::before {
    z-index: -2;
    background-image: var(--profile-type-bg-image);
    background-position: var(--profile-type-bg-position);
    background-size: cover;
    filter: var(--profile-type-bg-filter);
    opacity: var(--profile-type-bg-opacity);
    transform: scale(1.02);
    transition: filter 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.profile-type-card::after {
    z-index: -1;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.44) 55%, rgba(255, 255, 255, 0.24)),
        linear-gradient(0deg, rgba(255, 255, 255, 0.42), transparent 58%);
    transition: background 180ms ease;
}

.profile-type-card strong,
.profile-type-card small {
    text-shadow: 0 1px 9px rgba(255, 255, 255, 0.92);
}

.profile-type-card:hover::before,
.profile-type-card.is-checked::before,
.profile-type-card:focus-within::before,
.profile-type-card:has(input:checked)::before {
    filter: var(--profile-type-bg-filter-active);
    opacity: var(--profile-type-bg-opacity-active);
    transform: scale(1.06);
}

.profile-type-card:hover::after,
.profile-type-card.is-checked::after,
.profile-type-card:focus-within::after,
.profile-type-card:has(input:checked)::after {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.42) 55%, rgba(255, 255, 255, 0.24)),
        linear-gradient(0deg, rgba(255, 255, 255, 0.46), transparent 58%);
}

html[data-theme="dark"] .profile-type-card::after {
    background:
        linear-gradient(135deg, rgba(13, 20, 31, 0.74), rgba(13, 20, 31, 0.44) 55%, rgba(13, 20, 31, 0.24)),
        linear-gradient(0deg, rgba(13, 20, 31, 0.44), transparent 62%);
}

html[data-theme="dark"] .profile-type-card:hover::after,
html[data-theme="dark"] .profile-type-card.is-checked::after,
html[data-theme="dark"] .profile-type-card:focus-within::after,
html[data-theme="dark"] .profile-type-card:has(input:checked)::after {
    background:
        linear-gradient(135deg, rgba(13, 20, 31, 0.74), rgba(13, 20, 31, 0.42) 55%, rgba(13, 20, 31, 0.24)),
        linear-gradient(0deg, rgba(13, 20, 31, 0.46), transparent 62%);
}

html[data-theme="dark"] .profile-type-card strong,
html[data-theme="dark"] .profile-type-card small {
    text-shadow: 0 1px 9px rgba(0, 0, 0, 0.64);
}

.profile-type-card--band {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/band-live-stage.jpg");
}

.profile-type-card--dj {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/dj-booth-lights.jpg");
}

.profile-type-card--solo_artist {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/solo-artist-spotlight.jpg");
}

.profile-type-card--theatre_professional {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/theatre-professional-backstage.jpg");
}

.profile-type-card--club {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/club-stage-interior.jpg");
}

.profile-type-card--festival {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/festival-night-stage.jpg");
}

.profile-type-card--organizer {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/community-event-organizer.jpg");
}

.profile-type-card--agency {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/agency-booking-desk.jpg");
}

.profile-type-card--technician {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/technician-mixing-desk.jpg");
}

.profile-type-card--theatre {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/theatre-stage-curtain.jpg");
}

.profile-type-card--cultural_centre {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/cultural-centre-hall.jpg");
}

.profile-type-card--vendor {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/vendor-event-stall.jpg");
}

.profile-type-card--catering {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/catering-event-service.jpg");
}

.profile-type-card--food_truck {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/food-truck-evening.jpg");
}

.profile-type-card--craft_vendor {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/craft-vendor-market.jpg");
}

.profile-type-card--technical_service {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/technical-service-stage-gear.jpg");
}

.profile-type-card--security_service {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/security-event-entrance.jpg");
}

.profile-type-card--production_service {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/production-service-backstage.jpg");
}

.profile-type-card--photographer {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/production-service-backstage.jpg");
}

.profile-type-card--equipment_rental {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/equipment-rental-warehouse.jpg");
}

.profile-type-card--accompanying_program {
    --profile-type-bg-image: url("/assets/visual-assets/profile-type-backgrounds/accompanying-program-workshop.jpg");
}

.profile-type-card strong {
    color: var(--text);
}

.profile-type-card small {
    color: var(--muted);
    line-height: 1.42;
}

.profile-type-card em {
    width: fit-content;
    padding: 3px 7px;
    border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 58%, transparent);
    color: var(--muted);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 800;
}

.profile-type-context {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 0.52fr) auto;
    gap: 12px;
    align-items: start;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-wash) 48%, transparent);
}

.profile-type-context[hidden] {
    display: none !important;
}

.profile-type-context h2 {
    margin: 0 0 4px;
    font-size: 1.08rem;
}

.profile-type-context p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.profile-type-context ul {
    display: grid;
    gap: 5px;
    margin: 0;
    padding-left: 18px;
    color: var(--text);
    font-size: 0.9rem;
}

.profile-type-context .ghost-link {
    justify-self: end;
    white-space: nowrap;
}

.profile-form-focus {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.6fr);
    gap: 12px;
    align-items: start;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--accent-2) 24%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 68%, transparent);
}

.profile-form-focus[hidden] {
    display: none !important;
}

.profile-form-focus h2 {
    margin: 0 0 4px;
    font-size: 1.02rem;
}

.profile-form-focus p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.profile-form-focus ul {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 18px;
    color: var(--text);
    font-size: 0.9rem;
}

.profile-field-section {
    display: grid;
    gap: 10px;
    padding: 12px 0 0;
    border-top: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
}

.profile-field-section:first-of-type {
    padding-top: 4px;
    border-top: 0;
}

.profile-field-section-head {
    display: grid;
    gap: 3px;
}

.profile-field-section-head h3 {
    margin: 0;
    font-size: 0.98rem;
}

.profile-field-section-head p {
    margin: 0;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.42;
}

.profile-type-context-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.profile-type-context-actions .ghost-link {
    white-space: nowrap;
}

@media (max-width: 720px) {
    .profile-type-group-switch,
    .profile-type-context,
    .profile-form-focus {
        grid-template-columns: 1fr;
    }

    .profile-type-context .ghost-link,
    .profile-type-context-actions {
        justify-self: start;
        justify-content: flex-start;
    }
}

.publisher-selector {
    display: grid;
    gap: 10px;
    padding: 0;
    margin: 0;
    border: 0;
}

.publisher-selector[hidden] {
    display: none;
}

.publisher-selector legend {
    padding: 0;
    margin-bottom: 2px;
    font-weight: 700;
}

.publisher-selector > .form-help {
    margin-bottom: 0;
}

.publisher-grid {
    display: grid;
    gap: 10px;
}

.publisher-card {
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
}

.publisher-card input {
    margin-top: 0;
    accent-color: var(--accent);
}

.publisher-avatar {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--accent-wash);
    color: var(--accent);
    font-weight: 800;
    text-transform: uppercase;
}

.publisher-info {
    min-width: 0;
}

.settings-section {
    display: grid;
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.settings-section h2 {
    margin-bottom: 6px;
}

.settings-section p:last-child {
    margin-bottom: 0;
}

.admin-settings-form {
    display: grid;
    gap: 14px;
}

.profile-container.is-profile-container-ready .admin-settings-form:not(:has([data-profile-panel]:not([hidden]))) .admin-settings-savebar {
    display: none;
}

.admin-page.profile-container.is-profile-container-ready > .detail-grid:not(:has(> [data-profile-panel]:not([hidden]))) {
    display: none;
}

.admin-settings-section {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.branding-settings-section {
    margin-bottom: 18px;
}

.seo-status-section {
    gap: 16px;
}

.seo-status-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.seo-status-summary article {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.seo-status-summary span,
.seo-status-detail-list span,
.seo-status-checks {
    color: var(--muted);
}

.seo-status-summary strong {
    color: var(--text);
    font-size: 1.65rem;
    line-height: 1;
}

.seo-status-summary p {
    margin: 0;
    font-size: 0.86rem;
}

.seo-status-detail-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
}

.seo-status-detail-list div {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.seo-status-detail-list strong {
    color: var(--text);
}

.seo-status-checks {
    display: grid;
    gap: 7px;
    margin: 0;
    padding-left: 18px;
    font-size: 0.9rem;
}

.social-login-provider-section {
    gap: 14px;
}

.social-provider-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.social-provider-overview span {
    display: inline-grid;
    min-width: 150px;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.social-provider-overview strong {
    color: var(--text);
    font-size: 1.08rem;
}

.social-provider-overview small {
    color: var(--muted);
    font-size: 0.8rem;
}

.social-provider-list {
    display: grid;
    gap: 8px;
}

.social-login-provider-section .social-provider-row {
    display: grid;
    grid-template-columns: none;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.social-login-provider-section .social-provider-main {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.social-provider-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    font-weight: 800;
}

.social-provider-icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
}

.social-provider-heading {
    display: grid;
    flex: 1;
    gap: 4px;
    min-width: 0;
}

.social-provider-title-line {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.social-login-provider-section .social-provider-main h3,
.social-login-provider-section .social-provider-main p {
    margin: 0;
}

.social-login-provider-section .social-provider-main p,
.social-login-provider-section .social-provider-meta dd {
    color: var(--muted);
}

.social-login-provider-section .social-provider-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

.social-login-provider-section .social-provider-meta div,
.social-provider-extra-meta div {
    display: grid;
    gap: 4px;
}

.social-login-provider-section .social-provider-meta dt,
.social-provider-extra-meta dt {
    color: var(--text);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.social-login-provider-section .social-provider-meta dd,
.social-provider-extra-meta dd {
    margin: 0;
}

.social-login-provider-section .social-provider-meta code,
.social-provider-extra-meta code {
    display: block;
    width: 100%;
    padding: 8px 10px;
    overflow-wrap: anywhere;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    font-size: 0.82rem;
}

.social-provider-detail {
    color: var(--muted);
}

.social-provider-warnings {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 9px 10px 9px 28px;
    border: 1px solid color-mix(in srgb, var(--warning-text) 30%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--warning-bg) 42%, transparent);
    color: var(--warning-text);
    font-size: 0.88rem;
}

.social-provider-detail summary {
    width: fit-content;
    cursor: pointer;
    color: var(--accent);
    font-size: 0.9rem;
    font-weight: 800;
}

.social-provider-detail[open] {
    padding-top: 4px;
}

.social-provider-extra-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 10px 0 0;
}

.social-provider-checklist {
    display: grid;
    gap: 6px;
    margin: 10px 0 0;
    padding-left: 18px;
    color: var(--muted);
    font-size: 0.9rem;
}

.social-provider-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.social-login-provider-section .social-provider-links .button-link {
    width: auto;
}

@media (max-width: 640px) {
    .social-login-provider-section .social-provider-main {
        display: flex;
    }

    .social-login-provider-section .social-provider-meta {
        grid-template-columns: 1fr;
    }

    .social-provider-extra-meta {
        grid-template-columns: 1fr;
    }

    .social-provider-overview span {
        min-width: min(100%, 150px);
    }
}

.branding-logo-grid {
    display: grid;
    gap: 12px;
}

.branding-logo-groups,
.branding-logo-group {
    display: grid;
    gap: 14px;
}

.branding-logo-group + .branding-logo-group {
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.branding-logo-group-header h3 {
    margin-bottom: 4px;
}

.branding-logo-group-header p {
    margin-bottom: 0;
    color: var(--muted);
}

.compact-branding-header {
    margin-top: 4px;
}

.branding-logo-card {
    display: grid;
    gap: 13px;
    align-content: start;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.branding-logo-card h3 {
    margin-bottom: 4px;
}

.branding-logo-card p {
    margin-bottom: 0;
}

.branding-logo-preview {
    min-height: 112px;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.branding-logo-preview-dark {
    background: #0f1115;
    color: #f6f7f9;
}

.branding-logo-preview img {
    width: auto;
    max-width: 100%;
    height: 64px;
    object-fit: contain;
}

.branding-icon-preview {
    min-height: 86px;
}

.branding-icon-preview img {
    height: 42px;
}

.branding-logo-preview img[hidden],
.branding-logo-preview strong[hidden] {
    display: none;
}

.branding-logo-preview strong {
    font-size: 1.25rem;
}

.branding-upload-form {
    display: grid;
    gap: 9px;
}

.branding-upload-form label {
    display: grid;
    gap: 7px;
}

.branding-upload-form small {
    color: var(--muted);
}

.branding-logo-card > form:last-child button {
    width: 100%;
}

.visual-asset-settings-section {
    gap: 18px;
}

.visual-asset-admin-group {
    display: grid;
    gap: 12px;
}

.visual-asset-admin-group-header {
    display: grid;
    gap: 4px;
}

.visual-asset-admin-group-header h3,
.visual-asset-admin-group-header p {
    margin: 0;
}

.visual-asset-admin-grid {
    display: grid;
    gap: 8px;
}

.visual-asset-admin-row {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(260px, 0.9fr) auto;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.visual-asset-admin-summary {
    display: flex;
    min-width: 0;
    gap: 10px;
    align-items: center;
}

.visual-asset-admin-copy {
    min-width: 0;
}

.visual-asset-admin-copy h3,
.visual-asset-admin-copy p {
    margin: 0;
}

.visual-asset-admin-copy h3 {
    font-size: 0.96rem;
}

.visual-asset-admin-copy p,
.visual-asset-admin-variant small,
.visual-asset-admin-actions small {
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.visual-asset-admin-variants {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}

.visual-asset-admin-variant {
    display: flex;
    min-width: 0;
    min-height: 46px;
    gap: 7px;
    align-items: center;
    padding: 6px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.visual-asset-admin-preview {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(128, 128, 128, 0.28);
    border-radius: 8px;
    background: rgba(128, 128, 128, 0.1);
}

.visual-asset-admin-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.visual-asset-admin-preview strong {
    font-size: 0.62rem;
    line-height: 1;
}

.visual-asset-admin-manage {
    justify-self: end;
}

.visual-asset-admin-manage summary {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--accent);
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 850;
    list-style: none;
}

.visual-asset-admin-manage summary::-webkit-details-marker {
    display: none;
}

.visual-asset-admin-manage[open] {
    grid-column: 1 / -1;
    justify-self: stretch;
}

.visual-asset-admin-manage[open] summary {
    margin-left: auto;
}

.visual-asset-admin-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.visual-asset-upload-column {
    display: grid;
    align-content: start;
    gap: 7px;
}

.visual-asset-admin-actions form {
    display: grid;
    gap: 7px;
}

.visual-asset-admin-actions button {
    width: 100%;
}

@media (max-width: 860px) {
    .visual-asset-admin-row {
        grid-template-columns: 1fr;
    }

    .visual-asset-admin-manage {
        justify-self: stretch;
    }

    .visual-asset-admin-manage summary {
        width: 100%;
    }

    .visual-asset-admin-manage[open] summary {
        margin-left: 0;
    }
}

@media (max-width: 560px) {
    .visual-asset-admin-variants,
    .visual-asset-admin-actions {
        grid-template-columns: 1fr;
    }
}

.settings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 8px;
}

.setting-row {
    display: grid;
    gap: 8px;
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.setting-row span {
    display: grid;
    gap: 4px;
}

.setting-row .setting-label-line {
    display: inline-flex;
}

.setting-row .help-hint {
    display: inline-flex;
}

.setting-row small {
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.form-help {
    margin-top: -6px;
    color: var(--muted);
    font-size: 0.88rem;
}

.switch-card {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.choice-card.switch-card {
    grid-template-columns: auto minmax(0, 1fr);
}

.switch-card input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-height: 18px;
    margin: 0;
    padding: 0;
    accent-color: var(--accent);
    cursor: pointer;
}

.switch-card > span {
    min-width: 0;
}

.switch-card .setting-label-line strong {
    font-size: 0.94rem;
    line-height: 1.25;
}

.setting-row.is-wide,
.setting-row:has(textarea) {
    grid-column: 1 / -1;
}

.admin-layout-page {
    display: grid;
    gap: 16px;
}

.admin-layout-section {
    align-items: start;
}

.admin-layout-form {
    display: grid;
    gap: 14px;
}

.layout-section-list {
    display: grid;
    gap: 10px;
}

.layout-section-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 190px) minmax(220px, 280px);
    gap: 12px;
    align-items: center;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.layout-section-card h3,
.layout-section-card p {
    margin-bottom: 0;
}

.layout-enable-card {
    margin: 0;
}

.layout-section-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.layout-section-controls label {
    display: grid;
    gap: 5px;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.layout-order-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.layout-order-preview span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--text);
    font-size: 0.86rem;
    font-weight: 800;
}

.inline-admin-form {
    margin-top: 10px;
}

.layout-current-order {
    margin-top: 12px;
}

.layout-current-order h3 {
    margin-bottom: 8px;
}

@media (max-width: 820px) {
    .layout-section-card {
        grid-template-columns: 1fr;
    }

    .layout-section-controls {
        grid-template-columns: 1fr;
    }
}

.privacy-visibility-summary {
    display: grid;
    gap: 12px;
    margin-top: 4px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.privacy-visibility-summary h3,
.privacy-visibility-summary p {
    margin-bottom: 0;
}

.privacy-visibility-summary dl {
    display: grid;
    gap: 0;
    margin: 0;
    border-top: 1px solid var(--border);
}

.privacy-visibility-summary dl > div {
    display: grid;
    gap: 8px;
    padding: 11px 0;
    border-bottom: 1px solid var(--border);
}

.privacy-visibility-summary dt {
    color: var(--text);
    font-weight: 700;
}

.privacy-visibility-summary dd {
    margin: 0;
}

.account-data-safety-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.account-data-safety-list > div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--soft-bg) 70%, transparent);
}

.account-data-safety-list strong {
    color: var(--text);
}

.account-data-safety-list span {
    color: var(--muted);
    line-height: 1.45;
}

@media (max-width: 860px) {
    .account-settings-hero,
    .account-section-head,
    .social-provider-row {
        grid-template-columns: 1fr;
    }

    .privacy-policy-summary dl,
    .privacy-policy-layout,
    .privacy-data-table > div,
    .privacy-definition-list > div,
    .privacy-rights-grid {
        grid-template-columns: 1fr;
    }

    .privacy-policy-toc {
        position: static;
    }

    .social-provider-action {
        justify-content: flex-start;
    }

    .social-provider-lock-note {
        max-width: none;
        text-align: left;
    }

    .account-status-grid,
    .account-security-grid,
    .account-field-grid,
    .account-login-summary,
    .account-login-summary dl,
    .account-name-change-note dl,
    .account-data-safety-list,
    .compact-choice-grid,
    .account-choice-grid,
    .account-avatar-crop-layout,
    .avatar-choice-list {
        grid-template-columns: 1fr;
    }

    .account-session-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .account-settings-savebar {
        position: static;
        justify-content: stretch;
        flex-direction: column;
        align-items: stretch;
    }
}

.flash-stack {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
}

.platform-notice {
    --notice-color: #177d77;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    max-width: 1180px;
    margin: 0 auto 18px;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--notice-color) 40%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 86%, transparent);
    box-shadow: var(--glass-shadow);
    backdrop-filter: blur(18px) saturate(128%);
}

.platform-notice-warning { --notice-color: #b77908; }
.platform-notice-critical { --notice-color: #b33d38; }
.platform-notice-resolved { --notice-color: #287f53; }

.platform-notice-mark {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--notice-color);
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--notice-color) 16%, transparent);
}

.platform-notice-copy {
    min-width: 0;
}

.platform-notice-copy strong,
.platform-notice-copy p {
    display: block;
    margin: 0;
}

.platform-notice-copy p {
    margin-top: 3px;
    color: var(--muted);
}

.platform-notice-action {
    color: var(--text);
    font-weight: 750;
    white-space: nowrap;
}

.platform-notice-dismiss-form {
    margin: 0;
}

.platform-notice-dismiss {
    display: grid;
    width: 34px;
    height: 34px;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 1.4rem;
}

.registration-paused-page {
    position: relative;
    min-height: clamp(430px, 58vh, 620px);
    max-width: 1120px;
    margin: 18px auto 42px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--glass-shadow);
}

.registration-paused-visual,
.registration-paused-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.registration-paused-image {
    object-fit: cover;
}

.registration-paused-copy {
    position: relative;
    z-index: 1;
    width: min(540px, calc(100% - 36px));
    margin: clamp(32px, 8vw, 86px) 0 32px clamp(18px, 5vw, 58px);
    padding: clamp(22px, 4vw, 36px);
    border: 1px solid color-mix(in srgb, var(--border) 75%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 72%, transparent);
    backdrop-filter: blur(22px) saturate(128%);
}

.registration-paused-copy h1 {
    margin: 5px 0 12px;
    font-size: 2.25rem;
    letter-spacing: 0;
}

.registration-paused-copy > p:last-of-type {
    max-width: 48ch;
    color: var(--muted);
    font-size: 1.05rem;
}

@media (max-width: 680px) {
    .platform-notice {
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: start;
    }

    .platform-notice-action {
        grid-column: 2 / -1;
        white-space: normal;
    }

    .platform-notice-dismiss-form {
        grid-column: 3;
        grid-row: 1;
    }

    .registration-paused-page {
        min-height: 560px;
    }

    .registration-paused-copy {
        position: absolute;
        inset: auto 14px 14px;
        width: auto;
        margin: 0;
    }

    .registration-paused-copy h1 {
        font-size: 1.8rem;
    }
}

.alert {
    --alert-bg: var(--surface);
    --alert-text: var(--text);
    --alert-border: var(--border);
    --alert-mark: var(--accent);
    position: relative;
    display: block;
    min-width: 0;
    margin-bottom: 15px;
    padding: 13px 14px;
    border: 1px solid var(--alert-border);
    border-radius: 8px;
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--alert-mark) 9%, transparent), transparent 48%),
        var(--alert-bg);
    box-shadow: var(--glass-shadow);
    color: var(--alert-text);
    transition: opacity 160ms ease, transform 160ms ease;
}

.flash-stack .alert {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    align-items: start;
    margin-bottom: 0;
}

.alert.is-hiding {
    opacity: 0;
    transform: translateY(-4px);
}

.alert-mark {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: color-mix(in srgb, var(--alert-mark) 18%, transparent);
    color: var(--alert-mark);
    font-size: 0.82rem;
    font-weight: 900;
    line-height: 1;
}

.alert-mark::before {
    content: "i";
}

.alert-copy {
    min-width: 0;
}

.alert-copy strong {
    display: block;
    margin-bottom: 2px;
    color: var(--text);
    font-size: 0.94rem;
    line-height: 1.25;
}

.alert-copy p {
    margin: 0;
    color: currentColor;
}

.alert-action {
    display: inline-flex;
    width: fit-content;
    min-height: 44px;
    margin-top: 8px;
    padding-block: 6px;
    align-items: center;
    color: var(--alert-mark);
    font-size: 0.88rem;
    font-weight: 800;
}

.alert-action:hover {
    color: var(--text);
}

.alert-dismiss {
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--alert-border) 74%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 68%, transparent);
    color: currentColor;
    font-size: 1.1rem;
    line-height: 1;
}

.alert-dismiss:hover,
.alert-dismiss:focus-visible {
    border-color: var(--alert-mark);
    color: var(--text);
}

.alert.error,
.alert-error {
    --alert-bg: var(--danger-bg);
    --alert-text: var(--danger-text);
    --alert-border: color-mix(in srgb, var(--danger-text) 36%, var(--border));
    --alert-mark: var(--danger-text);
}

.alert.success,
.alert-success {
    --alert-bg: var(--success-bg);
    --alert-text: var(--success-text);
    --alert-border: color-mix(in srgb, var(--success-text) 36%, var(--border));
    --alert-mark: var(--success-text);
}

.alert.warning,
.alert-warning {
    --alert-bg: var(--warning-bg);
    --alert-text: var(--warning-text);
    --alert-border: color-mix(in srgb, var(--warning-text) 36%, var(--border));
    --alert-mark: var(--warning-text);
}

.alert.info,
.alert-info {
    --alert-bg: var(--accent-wash);
    --alert-text: var(--text);
    --alert-border: color-mix(in srgb, var(--accent) 36%, var(--border));
    --alert-mark: var(--accent);
}

.alert.success .alert-mark::before,
.alert-success .alert-mark::before {
    content: "OK";
    font-size: 0.58rem;
}

.alert.error .alert-mark::before,
.alert.warning .alert-mark::before,
.alert-error .alert-mark::before,
.alert-warning .alert-mark::before {
    content: "!";
}

.visual-placeholder {
    width: 100%;
    min-height: 120px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 7px;
    padding: 14px;
    border: 1px dashed color-mix(in srgb, var(--accent) 30%, var(--border));
    border-radius: 8px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent 64%),
        var(--soft-bg);
    color: var(--muted);
    text-align: center;
}

.visual-placeholder::before {
    content: "";
    width: 38px;
    aspect-ratio: 4 / 3;
    border: 2px solid currentColor;
    border-radius: 7px;
    opacity: 0.55;
    background:
        radial-gradient(circle at 70% 28%, currentColor 0 2px, transparent 3px),
        linear-gradient(135deg, transparent 58%, currentColor 59% 64%, transparent 65%);
}

.visual-placeholder strong {
    max-width: 24ch;
    color: var(--text);
    font-size: 0.95rem;
    line-height: 1.25;
}

.visual-placeholder small {
    max-width: 34ch;
    color: var(--muted);
    font-weight: 600;
    line-height: 1.35;
}

.visual-placeholder.compact {
    min-height: 0;
    gap: 5px;
    padding: 10px;
}

.visual-placeholder.compact::before {
    width: 28px;
    border-radius: 5px;
}

.visual-placeholder.compact strong {
    font-size: 0.78rem;
}

.profile-avatar-placeholder {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    border-radius: inherit;
    background:
        radial-gradient(circle at 50% 34%, color-mix(in srgb, var(--accent) 28%, transparent) 0 18%, transparent 19%),
        linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, transparent), transparent 66%),
        var(--surface-strong);
}

.profile-avatar-placeholder::before,
.profile-avatar-placeholder::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: color-mix(in srgb, var(--accent) 58%, var(--muted));
    opacity: 0.76;
}

.profile-avatar-placeholder::before {
    top: 24%;
    width: 28%;
    aspect-ratio: 1;
    border-radius: 50%;
}

.profile-avatar-placeholder::after {
    bottom: 18%;
    width: 58%;
    height: 30%;
    border-radius: 999px 999px 10px 10px;
}

.profile-avatar-placeholder.has-type-asset::before,
.profile-avatar-placeholder.has-type-asset::after {
    display: none;
}

.profile-avatar-placeholder .profile-avatar-type-icon {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: transparent;
}

.profile-avatar-placeholder .profile-avatar-type-icon img {
    object-fit: cover;
}

.profile-avatar-placeholder .profile-avatar-type-icon .visual-asset-fallback {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    padding: 0;
    font-size: 0.74rem;
}

.module-page {
    max-width: none;
    min-width: 0;
}

.module-header {
    display: grid;
    gap: 16px;
    align-items: start;
    margin-bottom: 22px;
}

.module-header > * {
    min-width: 0;
}

.module-header p:last-child {
    margin-bottom: 0;
}

.compact-header {
    margin-bottom: 16px;
}

.privacy-policy-page {
    max-width: 1180px;
    margin: 0 auto;
}

.privacy-policy-summary {
    display: grid;
    gap: 14px;
    margin-bottom: 22px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 72%, transparent);
    backdrop-filter: blur(16px);
}

.privacy-policy-summary dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.privacy-policy-summary dl > div {
    min-width: 0;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.privacy-policy-summary dt {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.privacy-policy-summary dd {
    margin: 4px 0 0;
    color: var(--text);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.privacy-policy-summary p {
    max-width: 920px;
    margin: 0;
}

.privacy-policy-layout {
    display: grid;
    grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.privacy-policy-toc {
    position: sticky;
    top: 92px;
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 76%, transparent);
    backdrop-filter: blur(16px);
}

.privacy-policy-toc h2 {
    margin: 0;
    font-size: 1rem;
}

.privacy-policy-toc nav {
    display: grid;
    gap: 4px;
}

.privacy-policy-toc a {
    padding: 5px 0;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none;
}

.privacy-policy-toc a:hover,
.privacy-policy-toc a:focus-visible {
    color: var(--accent);
}

.privacy-policy-document {
    display: grid;
    gap: 0;
    min-width: 0;
    max-width: 860px;
}

.privacy-document-section {
    padding: 0 0 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--border);
    scroll-margin-top: 110px;
}

.privacy-document-section h2 {
    margin-bottom: 10px;
}

.privacy-document-section h3 {
    margin-bottom: 6px;
    font-size: 1rem;
}

.privacy-document-section p,
.privacy-document-section li,
.privacy-document-section dd {
    line-height: 1.7;
}

.privacy-document-section > :last-child {
    margin-bottom: 0;
}

.privacy-check-list,
.privacy-source-list {
    display: grid;
    gap: 8px;
    padding-left: 1.2rem;
}

.privacy-data-table {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--border);
}

.privacy-data-table > div {
    display: grid;
    grid-template-columns: minmax(160px, 0.34fr) minmax(0, 1fr);
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.privacy-data-table h3,
.privacy-data-table p {
    margin: 0;
}

.privacy-data-table > div > h3 {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.privacy-data-table > div > p {
    grid-column: 2;
    min-width: 0;
    overflow-wrap: anywhere;
}

.privacy-data-table > div > p + p {
    margin-top: -6px;
}

.privacy-definition-list {
    display: grid;
    gap: 0;
    margin: 0;
    border-top: 1px solid var(--border);
}

.privacy-definition-list > div {
    display: grid;
    grid-template-columns: minmax(170px, 0.32fr) minmax(0, 1fr);
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px solid var(--border);
}

.privacy-definition-list dt {
    color: var(--text);
    font-weight: 800;
}

.privacy-definition-list dd {
    margin: 0;
}

.privacy-rights-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
    border-top: 1px solid var(--border);
}

.privacy-rights-grid > div {
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.privacy-rights-grid h3,
.privacy-rights-grid p {
    margin-bottom: 6px;
}

.privacy-source-list a {
    font-weight: 800;
}

.privacy-change-log {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.privacy-change-log h3 {
    margin: 0 0 10px;
}

.privacy-change-log-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding-left: 1.2rem;
}

.privacy-change-log-list li {
    padding-left: 2px;
}

.privacy-change-log-list li > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: center;
    margin-bottom: 2px;
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 800;
}

.privacy-change-log-list time,
.privacy-change-log-list span {
    display: inline-flex;
    align-items: center;
}

.privacy-change-log-list p {
    margin: 0;
}

@media (max-width: 860px) {
    .privacy-policy-page,
    .privacy-policy-layout,
    .privacy-policy-document,
    .privacy-document-section {
        min-width: 0;
        max-width: 100%;
    }

    .privacy-policy-summary dl,
    .privacy-policy-layout,
    .privacy-data-table > div,
    .privacy-definition-list > div,
    .privacy-rights-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .privacy-policy-toc {
        position: static;
    }

    .privacy-data-table > div > h3,
    .privacy-data-table > div > p {
        grid-column: 1;
    }

    .privacy-data-table > div > p + p {
        margin-top: 0;
    }
}

.eyebrow {
    margin-bottom: 8px;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.empty-state {
    max-width: 760px;
    padding: 22px;
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.empty-state h2 {
    margin-bottom: 8px;
}

.empty-state > * {
    min-width: 0;
}

.empty-state > :last-child {
    margin-bottom: 0;
}

.empty-state-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.hub-header-copy {
    max-width: 980px;
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.58;
}

.hub-header-copy {
    margin-bottom: 0;
}

.hub-header-copy p {
    margin: 0;
}

.hub-header-copy p + p {
    margin-top: 10px;
}

.hub-header-links {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    align-items: baseline;
    margin-top: 10px;
    font-size: 0.9rem;
}

.hub-header-links {
    margin-top: 10px;
}

.hub-header-links span {
    color: var(--text);
    font-weight: 700;
}

.hub-header-links a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.hub-header-links a:hover,
.hub-header-links a:focus-visible {
    border-bottom-color: currentColor;
}

.section-heading-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: start;
    justify-content: space-between;
    margin-bottom: 14px;
}

.section-heading-row h2,
.section-heading-row p {
    margin-bottom: 0;
}

.compact-actions {
    gap: 8px;
}

.faq-section-list,
.faq-question-list,
.faq-guide-group-list {
    display: grid;
    gap: 14px;
}

.faq-section-list {
    gap: 28px;
}

.faq-category-section {
    padding-top: 4px;
    scroll-margin-top: 92px;
}

.faq-category-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 16px;
    margin: 18px 0 6px;
    padding: 10px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.faq-category-nav a {
    display: inline-flex;
    gap: 6px;
    align-items: baseline;
    min-height: 44px;
    padding: 8px 0;
    color: var(--text);
    font-weight: 750;
}

.faq-category-nav a:hover,
.faq-category-nav a:focus-visible {
    color: var(--accent);
}

.faq-category-nav strong {
    color: var(--muted);
    font-size: 0.78rem;
}

.faq-overview-note {
    margin: 0 0 24px;
    color: var(--muted);
    font-size: 0.9rem;
}

.faq-guide-group-list {
    gap: 24px;
}

.faq-guide-group > h3 {
    margin: 0 0 8px;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.faq-question-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 10px 16px;
    align-items: start;
    padding: 10px 0 12px;
    border-bottom: 1px solid var(--border);
}

.faq-question-card > div {
    min-width: 0;
}

.faq-question-card > .ghost-link {
    justify-self: end;
    white-space: nowrap;
}

.faq-question-card h3,
.faq-question-card h4 {
    margin-bottom: 5px;
    font-size: 1rem;
}

.faq-question-card h3 a,
.faq-question-card h4 a {
    color: var(--text);
}

.faq-question-card h3 a:hover,
.faq-question-card h3 a:focus-visible,
.faq-question-card h4 a:hover,
.faq-question-card h4 a:focus-visible {
    color: var(--accent);
}

.faq-question-card p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.94rem;
}

.faq-answer-panel {
    line-height: 1.7;
}

.faq-answer-panel ol,
.faq-answer-panel ul {
    display: grid;
    gap: 8px;
    margin: 0 0 18px;
    padding-left: 24px;
}

.faq-answer-panel p:last-child,
.faq-help-panel p:last-child {
    margin-bottom: 0;
}

.faq-source-note {
    padding-top: 10px;
    border-top: 1px solid var(--border);
    color: var(--muted);
}

.faq-related-panel {
    margin-top: 16px;
}

.admin-faq-form {
    max-width: 980px;
}

.admin-faq-table td p {
    max-width: 540px;
    margin: 6px 0 0;
    color: var(--muted);
}

.admin-faq-source a {
    color: var(--accent);
    font-weight: 800;
}

@media (min-width: 920px) {
    .faq-detail-grid {
        grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.7fr);
        align-items: start;
    }
}

.public-listing-copy,
.public-listing-explainers {
    max-width: 1040px;
    margin: 0 0 18px;
}

.public-listing-copy h2 {
    margin: 0 0 8px;
    font-size: 1.15rem;
}

.public-listing-explainers summary {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: baseline;
    box-sizing: border-box;
    min-height: var(--bh-control-height, 44px);
    margin-bottom: 10px;
    padding-block: 10px;
    color: var(--muted);
    cursor: pointer;
    list-style-position: inside;
}

.public-listing-explainers summary span {
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.public-listing-explainers summary strong {
    color: var(--text);
    font-size: 1rem;
}

.public-listing-copy p,
.public-listing-explainers p,
.public-listing-explainers dd {
    color: var(--muted);
    line-height: 1.54;
}

.public-listing-copy p,
.public-listing-explainers > p {
    max-width: 780px;
    margin: 0 0 10px;
}

.public-listing-copy ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    padding: 0;
    margin: 0;
    color: var(--muted);
    list-style-position: inside;
}

.public-listing-explainers dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px 22px;
    margin: 0;
}

.public-listing-explainers dt {
    margin-bottom: 3px;
    font-weight: 800;
}

.public-listing-explainers dt a {
    color: var(--text);
    text-decoration: none;
}

.public-listing-explainers dt a:hover,
.public-listing-explainers dt a:focus-visible {
    color: var(--accent);
}

.public-listing-explainers dd {
    margin: 0;
    font-size: 0.92rem;
}

.public-detail-context {
    max-width: 1040px;
    margin: 0 0 12px;
}

.public-detail-context-details {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.public-detail-context-details summary {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    cursor: pointer;
    list-style: none;
}

.public-detail-context-details summary::-webkit-details-marker {
    display: none;
}

.public-detail-context-summary {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.public-detail-context-summary .eyebrow {
    margin: 0;
}

.public-detail-context-title {
    color: var(--text);
    font-size: 0.98rem;
    font-weight: 800;
}

.public-detail-context-lead {
    max-width: 860px;
    overflow: hidden;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.42;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-detail-context-details[open] .public-detail-context-lead {
    overflow: visible;
    text-overflow: initial;
    white-space: normal;
}

.public-detail-context-toggle {
    flex: 0 0 auto;
    color: var(--accent);
    font-size: 0.86rem;
    font-weight: 800;
}

.public-detail-context-toggle .when-open,
.public-detail-context-details[open] .public-detail-context-toggle .when-closed {
    display: none;
}

.public-detail-context-details[open] .public-detail-context-toggle .when-open {
    display: inline;
}

.public-detail-context-body {
    padding: 0 0 10px;
}

.public-detail-context ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    padding: 0;
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
    list-style-position: inside;
}

.public-detail-links {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    align-items: baseline;
    margin-top: 10px;
    color: var(--muted);
    font-size: 0.9rem;
}

.public-detail-links span {
    color: var(--text);
    font-weight: 700;
}

.public-detail-links a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.public-detail-links a:hover,
.public-detail-links a:focus-visible {
    border-bottom-color: currentColor;
}

.status-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.summary-pill {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
}

.summary-pill > * {
    min-width: 0;
}

.summary-pill span {
    color: var(--muted);
    font-size: 0.88rem;
}

.summary-pill small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 0.78rem;
}

.summary-pill strong {
    color: var(--accent);
}

.operations-admin-page .retention-policy-card p {
    overflow-wrap: anywhere;
}

.operations-admin-page > section + section {
    margin-top: 14px;
}

.security-admin-page > section + section {
    margin-top: 14px;
}

.security-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border-top: 1px solid var(--border);
}

.security-detail-list > div {
    display: grid;
    grid-template-columns: minmax(130px, 0.42fr) minmax(0, 1fr);
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
}

.security-detail-list > div:nth-child(odd) {
    padding-right: 18px;
}

.security-detail-list > div:nth-child(even) {
    padding-left: 18px;
}

.security-detail-list dt {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.security-detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.security-assessment-form {
    gap: 0;
}

.security-assessment-section {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 20px 0;
    border: 0;
    border-top: 1px solid var(--border);
}

.security-assessment-section:first-of-type {
    padding-top: 4px;
    border-top: 0;
}

.security-assessment-section legend {
    padding: 0;
    color: var(--text);
    font-size: 1rem;
    font-weight: 800;
}

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

.security-assessment-wide {
    grid-column: 1 / -1;
}

.security-playbook-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.security-playbook-grid > div {
    min-width: 0;
    padding-inline-start: 14px;
    border-inline-start: 3px solid var(--accent, #168f83);
}

.security-playbook-grid h3 {
    margin: 0 0 8px;
    font-size: 1rem;
}

.security-playbook-grid ul {
    margin: 0;
    padding-inline-start: 18px;
}

.security-legal-assessment {
    border-block: 1px solid var(--border-color, rgba(72, 86, 102, 0.22));
    padding-block: 12px;
}

.security-legal-assessment > summary {
    cursor: pointer;
    font-weight: 700;
}

.security-legal-assessment > p {
    color: var(--muted-text, #5f6b7a);
}

.security-protocol-body {
    min-height: 100vh;
    margin: 0;
    padding: 34px 18px 60px;
    background: #e8ecef;
    color: #15191d;
    font-family: Arial, Helvetica, sans-serif;
}

.security-protocol-document {
    width: min(100%, 210mm);
    margin: 0 auto;
}

.security-protocol-brand {
    display: flex;
    align-items: center;
    min-height: 54px;
    margin-bottom: 14px;
}

.security-protocol-brand img {
    display: block;
    width: auto;
    max-width: 210px;
    height: auto;
    max-height: 54px;
}

.security-protocol-brand strong {
    font-size: 1.3rem;
}

.security-protocol-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 14px;
}

.security-protocol-content {
    padding: 18mm 17mm;
    border: 1px solid #c8ced4;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(21, 25, 29, 0.12);
    color: #15191d;
}

.security-protocol-heading {
    display: grid;
    gap: 5px;
    padding-bottom: 20px;
    border-bottom: 2px solid #171b1f;
}

.security-protocol-heading p,
.security-protocol-heading h1,
.security-protocol-heading strong,
.security-protocol-heading span,
.security-protocol-section h2,
.security-protocol-section h3,
.security-protocol-section p {
    margin: 0;
}

.security-protocol-heading p {
    color: #59636c;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.security-protocol-heading h1 {
    color: #111417;
    font-size: 1.75rem;
    letter-spacing: 0;
}

.security-protocol-heading strong {
    font-size: 1.05rem;
}

.security-protocol-heading span {
    color: #59636c;
    font-size: 0.82rem;
}

.security-protocol-section {
    display: grid;
    gap: 12px;
    padding: 20px 0;
    border-bottom: 1px solid #cfd5da;
    break-inside: avoid;
}

.security-protocol-section h2 {
    color: #111417;
    font-size: 1.12rem;
}

.security-protocol-section h3 {
    color: #353d44;
    font-size: 0.9rem;
}

.security-protocol-section p,
.security-protocol-section dd {
    font-size: 0.88rem;
    line-height: 1.55;
}

.security-protocol-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.security-protocol-facts.single-column {
    grid-template-columns: 1fr;
}

.security-protocol-facts > div {
    display: grid;
    grid-template-columns: minmax(120px, 0.72fr) minmax(0, 1fr);
    gap: 10px;
    padding: 8px 12px 8px 0;
    border-bottom: 1px solid #e2e6e9;
}

.security-protocol-facts > .full-width {
    grid-column: 1 / -1;
}

.security-protocol-facts dt {
    color: #59636c;
    font-size: 0.76rem;
    font-weight: 700;
}

.security-protocol-facts dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.security-protocol-timeline {
    break-inside: auto;
}

.security-protocol-timeline table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 0.72rem;
}

.security-protocol-timeline th,
.security-protocol-timeline td {
    padding: 7px 6px;
    border-bottom: 1px solid #d9dee2;
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.security-protocol-timeline th {
    color: #444d55;
    font-weight: 800;
}

.security-protocol-timeline tr {
    break-inside: avoid;
}

.security-protocol-hash {
    font-family: Consolas, "Courier New", monospace;
    font-size: 0.7rem !important;
    word-break: break-all;
}

.security-protocol-note {
    color: #59636c;
    font-size: 0.76rem !important;
}

.security-protocol-signature {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding-top: 28px;
    break-inside: avoid;
}

.security-protocol-signature div {
    display: grid;
    gap: 20px;
}

.security-protocol-signature span {
    color: #59636c;
    font-size: 0.76rem;
}

.security-protocol-signature strong {
    min-height: 1.2rem;
    font-size: 0.82rem;
}

.security-mobile-meta {
    display: none !important;
}

@media (max-width: 720px) {
    .security-admin-page .security-incident-table {
        min-width: 0;
        table-layout: fixed;
    }

    .security-incident-table th:nth-child(1),
    .security-incident-table td:nth-child(1),
    .security-incident-table th:nth-child(5),
    .security-incident-table td:nth-child(5) {
        display: none;
    }

    .security-incident-table th,
    .security-incident-table td {
        padding: 0.65rem 0.4rem;
    }

    .security-incident-table th:nth-child(2) {
        width: auto;
    }

    .security-incident-table th:nth-child(3) {
        width: 5.5rem;
    }

    .security-incident-table th:nth-child(4) {
        width: 2.5rem;
    }

    .security-incident-table th:nth-child(6) {
        width: 3.75rem;
    }

    .security-incident-table .security-mobile-meta {
        display: block !important;
        margin-top: 0.25rem;
    }

    .security-incident-table .ghost-link {
        padding-inline: 0.35rem;
    }
}

@media (max-width: 760px) {
    .security-detail-list {
        grid-template-columns: 1fr;
    }

    .security-detail-list > div:nth-child(odd),
    .security-detail-list > div:nth-child(even) {
        padding-left: 0;
        padding-right: 0;
    }

    .security-assessment-grid,
    .security-playbook-grid,
    .security-protocol-facts,
    .security-protocol-signature {
        grid-template-columns: 1fr;
    }

    .security-protocol-body {
        padding: 18px 8px 40px;
    }

    .security-protocol-content {
        padding: 26px 18px;
    }

    .security-protocol-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .security-protocol-facts > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 14mm;
    }

    .security-protocol-body {
        min-height: 0;
        padding: 0;
        background: #fff !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .security-protocol-document {
        width: auto;
        max-width: none;
    }

    .security-protocol-brand {
        margin-bottom: 8mm;
    }

    .security-protocol-actions {
        display: none !important;
    }

    .security-protocol-content {
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }
}

.feature-health-panel {
    display: grid;
    gap: 14px;
}

.feature-health-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}

.feature-health-card {
    display: grid;
    gap: 10px;
    align-content: start;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.feature-health-card-header {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    justify-content: space-between;
}

.feature-health-card h3 {
    margin: 0;
    font-size: 1rem;
}

.feature-health-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.feature-health-metrics {
    display: grid;
    gap: 7px;
    margin: 0;
}

.feature-health-metrics div {
    display: flex;
    gap: 10px;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--border);
}

.feature-health-metrics div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.feature-health-metrics dt,
.feature-health-metrics dd {
    margin: 0;
}

.feature-health-metrics dt {
    color: var(--muted);
    font-size: 0.88rem;
}

.feature-health-metrics dt a {
    color: var(--accent);
    text-decoration: none;
}

.feature-health-metrics dt a:hover,
.feature-health-metrics dt a:focus-visible {
    text-decoration: underline;
}

.feature-health-metrics dd {
    color: var(--text);
    font-weight: 800;
}

.feature-health-next {
    padding-top: 2px;
    font-size: 0.9rem;
}

.feature-health-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
}

.feature-health-links a {
    color: var(--accent);
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none;
}

.feature-health-links a:hover,
.feature-health-links a:focus-visible {
    text-decoration: underline;
}

.telemetry-panel {
    display: grid;
    gap: 16px;
}

.telemetry-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.telemetry-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: 18px;
}

.telemetry-block {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.telemetry-block h3 {
    margin: 0;
    font-size: 1rem;
}

.telemetry-note,
.telemetry-policy-list p,
.telemetry-footprint-grid p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.telemetry-date-list {
    display: grid;
    gap: 8px;
    margin: 0;
}

.telemetry-date-list div {
    display: flex;
    gap: 12px;
    align-items: baseline;
    justify-content: space-between;
    padding-top: 8px;
    border-top: 1px solid var(--border);
}

.telemetry-date-list dt,
.telemetry-date-list dd {
    margin: 0;
}

.telemetry-date-list dt {
    color: var(--muted);
    font-size: 0.88rem;
}

.telemetry-date-list dd {
    color: var(--text);
    font-weight: 800;
    text-align: right;
}

.telemetry-event-list,
.telemetry-policy-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
}

.telemetry-event-list li,
.telemetry-policy-list li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    justify-content: space-between;
    padding: 10px 0;
    border-top: 1px solid var(--border);
}

.telemetry-event-list li:first-child,
.telemetry-policy-list li:first-child {
    border-top: 0;
}

.telemetry-event-list span,
.telemetry-policy-list span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.telemetry-event-list strong,
.telemetry-policy-list strong {
    color: var(--text);
}

.telemetry-event-list small,
.telemetry-policy-list small {
    color: var(--muted);
    font-size: 0.8rem;
}

.telemetry-event-list b {
    color: var(--accent);
    font-size: 1.05rem;
}

.telemetry-policy-list {
    list-style: none;
}

.telemetry-policy-list li {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.2fr);
}

.telemetry-footprint-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.telemetry-footprint-grid div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.telemetry-footprint-grid strong {
    color: var(--accent);
    font-size: 1.2rem;
}

.telemetry-footprint-grid span {
    color: var(--text);
    font-weight: 800;
}

@media (max-width: 760px) {
    .telemetry-layout,
    .telemetry-policy-list li {
        grid-template-columns: 1fr;
    }

    .telemetry-date-list div {
        display: grid;
        justify-content: stretch;
    }

    .telemetry-date-list dd {
        text-align: left;
    }
}

.summary-pill.active,
.summary-pill:hover {
    border-color: var(--accent);
}

.filter-bar {
    display: grid;
    gap: 10px;
    align-items: end;
    margin-bottom: 18px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.filter-bar label {
    display: grid;
    gap: 7px;
}

.filter-panel {
    margin: -2px 0 14px;
}

.filter-panel summary {
    width: max-content;
    max-width: 100%;
    min-height: 38px;
    display: flex;
    gap: 7px;
    align-items: center;
    margin-left: auto;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    cursor: pointer;
    list-style: none;
}

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

.filter-panel summary:hover,
.filter-panel[open] summary {
    border-color: var(--accent);
    color: var(--text);
}

.filter-panel summary svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.filter-panel-current {
    max-width: min(360px, 52vw);
    overflow: hidden;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--accent-wash);
    color: var(--text);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.filter-panel-content {
    display: grid;
    gap: 12px;
    margin-top: 8px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.filter-panel .filter-bar,
.filter-panel .discover-location-filter {
    margin-bottom: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.admin-unclaimed-create-form {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.admin-unclaimed-create-form .wide-field {
    grid-column: 1 / -1;
}

.filter-panel .work-match-filter {
    min-height: 42px;
    display: flex;
    gap: 8px;
    align-items: center;
    align-self: end;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
}

.filter-panel .work-match-filter input {
    width: auto;
}

.filter-panel .work-fit-filter {
    min-width: 170px;
    align-self: end;
}

.filter-panel .work-fit-filter select {
    min-width: 0;
}

.work-filter-note {
    display: grid;
    gap: 4px;
    padding: 9px 10px;
    border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--border));
    border-radius: 8px;
    background: var(--surface);
}

.work-filter-note p {
    margin: 0;
    color: var(--muted);
    font-size: 0.84rem;
}

.work-return-signal {
    display: grid;
    gap: 12px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.work-return-signal h3,
.work-return-signal p {
    margin: 0;
}

.work-return-signal p {
    color: var(--muted);
}

.work-return-signal > .button-link {
    justify-self: start;
}

.work-return-signal-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
    gap: 8px;
    margin: 0;
}

.work-return-signal-stats div {
    display: grid;
    gap: 2px;
    padding: 8px 0;
    border-top: 1px solid var(--border);
}

.work-return-signal-stats dt {
    color: var(--muted);
    font-size: 0.78rem;
}

.work-return-signal-stats dd {
    margin: 0;
    color: var(--text);
    font-size: 1.2rem;
    font-weight: 800;
}

.work-return-signal-attention {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 12px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--muted);
    border-radius: 8px;
    background: var(--surface);
}

.work-return-signal-attention.tone-warning {
    border-left-color: #f59e0b;
}

.work-return-signal-attention.tone-success {
    border-left-color: #22c55e;
}

.work-return-signal-attention h4 {
    margin: 0 0 6px;
    font-size: 1rem;
}

.work-return-signal-attention small {
    display: block;
    margin-top: 7px;
    color: var(--muted);
    line-height: 1.45;
}

.work-return-signal-attention small a {
    color: var(--text);
    font-weight: 700;
}

.work-return-signal-attention .ghost-link {
    flex: 0 0 auto;
}

.work-return-signal-best a {
    font-weight: 700;
}

.work-return-signal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.work-return-signal-links a {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text);
    font-size: 0.86rem;
    font-weight: 700;
}

.work-return-signal-links span {
    color: var(--muted);
    font-size: 0.78rem;
}

.search-form {
    max-width: 760px;
    margin-bottom: 18px;
}

.search-row {
    display: grid;
    gap: 10px;
    margin-top: 8px;
}

.search-summary {
    margin: 14px 0 18px;
}

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

.search-section h2 {
    margin-bottom: 12px;
}

.search-result-grid {
    display: grid;
    gap: 12px;
}

.search-result-card {
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.search-result-card h3 a {
    color: var(--text);
}

.search-result-card h3 a:hover {
    color: var(--accent);
}

.search-result-card p:last-child {
    margin-bottom: 0;
}

.search-result-card .eyebrow {
    margin-bottom: 7px;
}

.scene-summary {
    margin-bottom: 12px;
}

.scene-filter-panel {
    margin: -2px 0 14px;
}

.scene-filter-panel summary {
    width: max-content;
    max-width: 100%;
    min-height: 38px;
    display: flex;
    gap: 7px;
    align-items: center;
    margin-left: auto;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    cursor: pointer;
    list-style: none;
}

.scene-filter-panel summary::-webkit-details-marker {
    display: none;
}

.scene-filter-panel summary:hover,
.scene-filter-panel[open] summary {
    border-color: var(--accent);
    color: var(--text);
}

.scene-filter-panel summary svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.scene-filter-current {
    max-width: min(360px, 52vw);
    overflow: hidden;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--accent-wash);
    color: var(--text);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scene-filter-content {
    display: grid;
    gap: 12px;
    margin-top: 8px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.scene-type-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.scene-type-strip a {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    min-height: 38px;
    padding: 8px 11px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.scene-type-strip a:hover,
.scene-type-strip a.active {
    border-color: var(--accent);
    color: var(--text);
}

.scene-type-strip span {
    color: var(--accent);
}

.scene-type-copy,
.scene-type-explainers {
    max-width: 1040px;
    margin: 0 0 18px;
}

.scene-type-copy h2 {
    margin: 0 0 8px;
    font-size: 1.15rem;
}

.scene-type-explainers summary {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: baseline;
    margin-bottom: 10px;
    color: var(--muted);
    cursor: pointer;
    list-style-position: inside;
}

.scene-type-explainers summary span {
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.scene-type-explainers summary strong {
    color: var(--text);
    font-size: 1rem;
}

.scene-type-copy p,
.scene-type-explainers dd {
    color: var(--muted);
    line-height: 1.54;
}

.scene-type-copy p {
    max-width: 760px;
    margin: 0 0 10px;
}

.scene-type-copy ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    padding: 0;
    margin: 0;
    color: var(--muted);
    list-style-position: inside;
}

.scene-type-explainers dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px 22px;
    margin: 0;
}

.scene-type-explainers dt {
    margin-bottom: 3px;
    font-weight: 800;
}

.scene-type-explainers dt a {
    color: var(--text);
    text-decoration: none;
}

.scene-type-explainers dt a:hover,
.scene-type-explainers dt a:focus-visible {
    color: var(--accent);
}

.scene-type-explainers dd {
    margin: 0;
    font-size: 0.92rem;
}

.scene-filter {
    grid-template-columns: 1fr;
    padding: 0;
    border: 0;
    margin-bottom: 0;
    background: transparent;
    box-shadow: none;
}

.scene-profile-card {
    display: grid;
    gap: 10px;
    align-content: start;
    padding: 13px;
}

.people-summary {
    margin-bottom: 12px;
}

.people-search-panel {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.people-search-panel:focus-within {
    position: relative;
    z-index: 80;
}

.people-search-form {
    position: relative;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(140px, 180px) minmax(180px, 230px) auto;
    gap: 7px;
    align-items: end;
}

.people-search-form label {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.people-search-form label span {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.people-search-main {
    position: relative;
}

.people-search-form input,
.people-search-form select {
    width: 100%;
    min-height: 42px;
}

.people-search-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.people-search-actions button,
.people-search-actions a {
    min-height: 42px;
}

.people-search-form .places-search-visibility {
    display: flex;
    grid-column: 1 / 4;
    min-height: 44px;
    align-items: center;
    gap: 10px;
}

.people-search-form .places-search-visibility span {
    color: var(--text);
    font-size: 0.88rem;
}

.people-active-filters {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.people-search-suggestions {
    position: absolute;
    z-index: 30;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    display: grid;
    gap: 6px;
    max-height: min(420px, 70vh);
    overflow: auto;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.people-search-suggestions[hidden] {
    display: none;
}

.people-search-result,
.people-search-state {
    min-width: 0;
    padding: 8px;
    border-radius: 8px;
}

.people-search-result {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    border: 1px solid var(--border);
    background: var(--soft-bg);
    color: var(--text);
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.people-search-result:hover,
.people-search-result:focus-visible {
    border-color: var(--accent);
    background: var(--accent-wash);
    color: var(--text);
    transform: translateY(-1px);
}

.people-search-thumb {
    width: 56px;
    aspect-ratio: 1;
    display: grid;
    overflow: hidden;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--accent);
    font-size: 0.8rem;
    font-weight: 900;
}

.people-search-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.people-search-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.people-search-kind {
    overflow: hidden;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.people-search-copy strong {
    overflow: hidden;
    font-size: 0.95rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.people-search-copy small,
.people-search-state {
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.place-directory-main {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
}

.place-directory-icon {
    width: 42px;
    aspect-ratio: 1;
    display: grid;
    overflow: hidden;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.place-directory-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.place-directory-copy strong,
.place-directory-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.places-map-panel {
    margin: 0 0 16px;
}

.event-map-panel {
    margin: 0 0 16px;
}

.places-map-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.places-map-heading h2,
.places-map-heading p {
    margin: 0;
}

.places-map-heading h2 {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.places-map-heading-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.places-map-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.55fr);
    gap: 12px;
    align-items: stretch;
}

.places-map-stage {
    --places-map-outline: url("/assets/visual-assets/places/czech-map-dark.svg");
    position: relative;
    min-height: 360px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:
        radial-gradient(circle at 20% 20%, rgba(46, 106, 230, 0.12), transparent 32%),
        radial-gradient(circle at 82% 72%, rgba(42, 157, 143, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.34), transparent),
        repeating-linear-gradient(0deg, transparent 0 42px, rgba(125, 138, 160, 0.1) 43px 44px),
        repeating-linear-gradient(90deg, transparent 0 42px, rgba(125, 138, 160, 0.1) 43px 44px),
        var(--soft-bg);
}

.places-map-stage--interactive {
    background: var(--soft-bg);
}

.places-map-stage::before {
    content: "";
    position: absolute;
    inset: 10px;
    z-index: 1;
    border: 1px solid rgba(125, 138, 160, 0.22);
    border-radius: 8px;
    pointer-events: none;
}

.places-map-stage::after {
    content: "";
    position: absolute;
    inset: 24px 28px;
    z-index: 0;
    background: var(--places-map-outline) center / contain no-repeat;
    opacity: 0.92;
    pointer-events: none;
}

.places-map-stage--interactive::before,
.places-map-stage--interactive::after {
    display: none;
}

.places-map-leaflet {
    position: absolute;
    inset: 0;
    z-index: 2;
    min-height: inherit;
    font-family: inherit;
    background: var(--soft-bg);
}

.places-map-leaflet.leaflet-container {
    border-radius: 8px;
    color: var(--text);
}

.places-map-leaflet .leaflet-control-container {
    font-family: inherit;
}

.places-map-leaflet .leaflet-control-zoom a {
    color: var(--text);
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    border-bottom-color: var(--border);
}

.places-map-leaflet .leaflet-control-attribution {
    color: var(--muted);
    background: color-mix(in srgb, var(--surface) 86%, transparent);
}

.places-map-leaflet .leaflet-control-attribution a {
    color: var(--accent);
}

.places-map-popup {
    display: grid;
    gap: 3px;
    min-width: 150px;
    color: #162033;
}

.places-map-popup a {
    color: #0b6f68;
    text-decoration: none;
}

.places-map-popup span,
.places-map-popup small {
    color: #526076;
    font-size: 0.82rem;
}

.places-map-pin,
.places-map-cluster {
    position: absolute;
    z-index: 3;
    transform: translate(-50%, -50%);
}

.places-map-pin {
    width: 18px;
    height: 18px;
    border: 3px solid var(--surface);
    border-radius: 999px;
    background: var(--accent);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.places-map-pin::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: inherit;
    background: var(--surface);
    opacity: 0.78;
}

.places-map-pin:hover,
.places-map-pin:focus-visible {
    outline: 3px solid var(--accent-wash);
    outline-offset: 2px;
}

.events-map-pin {
    background: var(--warning-text);
}

.places-map-cluster {
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    display: inline-grid;
    place-items: center;
    border: 2px solid var(--surface);
    border-radius: 999px;
    background: var(--accent);
    color: var(--accent-contrast);
    font-size: 0.8rem;
    font-weight: 900;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
    cursor: pointer;
}

.places-map-cluster:hover,
.places-map-cluster:focus-visible {
    outline: 3px solid var(--accent-wash);
    outline-offset: 2px;
}

.events-map-cluster {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.places-map-empty {
    position: absolute;
    inset: 0;
    z-index: 4;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 20px;
    color: var(--muted);
    text-align: center;
}

.places-map-side {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 0;
}

.events-map-layout {
    --events-map-panel-height: clamp(480px, 42vw, 520px);
    align-items: start;
}

.events-map-layout .events-map-stage,
.events-map-layout .places-map-side {
    height: var(--events-map-panel-height);
}

.events-map-layout .events-map-stage {
    min-height: 0;
}

.events-map-layout .places-map-side {
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    align-content: stretch;
}

.events-map-layout:not(.is-enhanced) {
    grid-template-columns: minmax(0, 1fr);
}

.events-map-layout:not(.is-enhanced) .events-map-stage {
    height: auto;
    min-height: 160px;
}

.events-map-layout:not(.is-enhanced) .places-map-side {
    height: auto;
}

.events-map-layout .places-map-results {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-inline-end: 6px;
    scrollbar-gutter: stable;
}

.places-map-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--muted);
    font-size: 0.82rem;
}

.places-map-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.places-map-legend-dot {
    width: 11px;
    height: 11px;
    border: 2px solid var(--surface);
    border-radius: 999px;
    background: var(--accent);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.16);
}

.places-map-legend-dot-cluster {
    width: 18px;
    background: var(--accent-wash);
}

.events-map-legend-dot {
    background: var(--warning-text);
}

.events-map-legend-dot.is-live {
    background: var(--accent);
}

.events-map-legend-dot.is-today {
    background: var(--warning-text);
}

.events-map-legend-dot.is-upcoming {
    background: var(--muted);
}

.events-map-leaflet-cluster {
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
}

.events-map-leaflet-cluster span {
    display: grid;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    place-items: center;
    border: 3px solid var(--surface);
    border-radius: 999px;
    background: var(--warning-bg);
    color: var(--warning-text);
    font-size: 0.78rem;
    font-weight: 900;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.26);
}

.places-map-status,
.places-map-more {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.4;
}

.places-map-results {
    display: grid;
    gap: 0;
}

.places-map-result {
    display: grid;
    gap: 2px;
    padding: 9px 0;
    border-bottom: 1px solid var(--border);
    color: var(--text);
    text-decoration: none;
}

.places-map-result:hover,
.places-map-result:focus-visible {
    color: var(--accent);
}

.places-map-result strong,
.places-map-result span,
.places-map-result small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.places-map-result .event-map-result-state {
    width: fit-content;
    margin-top: 2px;
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 900;
}

.places-map-result .event-map-result-state.is-live,
.event-map-popup-state.is-live {
    background: var(--accent-wash);
    color: var(--accent);
}

.places-map-result .event-map-result-state.is-today,
.event-map-popup-state.is-today {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.event-map-popup-state {
    display: inline-flex;
    width: fit-content;
    padding: 2px 7px;
    border-radius: 999px;
    background: #eef2f6;
    color: #526076;
    font-size: 0.7rem;
    font-style: normal;
    font-weight: 900;
}

.places-map-result span,
.places-map-result small {
    color: var(--muted);
    font-size: 0.82rem;
}

.place-live-list {
    display: grid;
    gap: 0;
    margin-top: 14px;
}

.place-live-list h3 {
    margin: 0 0 6px;
    font-size: 1rem;
}

.place-live-list > p {
    margin: 0;
    color: var(--muted);
}

.place-live-item {
    display: grid;
    gap: 2px;
    padding: 10px 0;
    border-top: 1px solid var(--border);
    color: var(--text);
    text-decoration: none;
}

.place-live-item:last-child {
    border-bottom: 1px solid var(--border);
}

.place-live-item:hover,
.place-live-item:focus-visible {
    color: var(--accent);
}

.place-live-kind {
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 900;
    text-transform: uppercase;
}

.place-live-item strong,
.place-live-item span,
.place-live-item small,
.place-live-item em {
    overflow: hidden;
    text-overflow: ellipsis;
}

.place-live-item strong,
.place-live-item span,
.place-live-item em {
    white-space: nowrap;
}

.place-live-item small {
    color: var(--muted);
    font-size: 0.84rem;
    font-style: normal;
    line-height: 1.35;
}

.place-live-item em {
    color: var(--accent);
    font-size: 0.8rem;
    font-style: normal;
    font-weight: 800;
}

.linked-place-summary {
    display: grid;
    gap: 2px;
    width: fit-content;
    max-width: 100%;
    padding: 8px 0 8px 12px;
    border-left: 3px solid var(--accent);
    color: var(--text);
    text-decoration: none;
}

.linked-place-summary:hover,
.linked-place-summary:focus-visible {
    color: var(--accent);
}

.linked-place-summary span {
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 900;
    text-transform: uppercase;
}

.linked-place-summary strong,
.linked-place-summary small,
.linked-place-summary em {
    overflow: hidden;
    text-overflow: ellipsis;
}

.linked-place-summary strong,
.linked-place-summary em {
    white-space: nowrap;
}

.linked-place-summary small {
    color: var(--muted);
    font-size: 0.84rem;
    font-style: normal;
    line-height: 1.35;
}

.linked-place-summary em {
    color: var(--accent);
    font-size: 0.8rem;
    font-style: normal;
    font-weight: 800;
}

.profile-linked-place-summary {
    margin-top: 10px;
}

.people-leaderboard {
    display: grid;
    gap: 14px;
    margin: 0 0 18px;
}

.people-rank-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.people-rank-list li {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.people-rank-number {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--accent-wash);
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 800;
}

.people-rank-avatar,
.people-list-avatar {
    display: grid;
    place-items: center;
    color: inherit;
    text-decoration: none;
}

.people-rank-list strong,
.people-rank-list span {
    display: block;
    min-width: 0;
}

.people-rank-list strong a {
    color: var(--text);
}

.people-rank-list span {
    color: var(--muted);
    font-size: 0.84rem;
}

.people-result-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 9px;
}

.people-list-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 84px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 82%, transparent);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(14px) saturate(125%);
}

.people-avatar {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 8px;
}

.people-rank-list .people-avatar {
    width: 44px;
    height: 44px;
}

.people-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.people-list-copy {
    min-width: 0;
}

.people-list-copy h2 {
    margin: 0 0 3px;
    font-size: 0.98rem;
    line-height: 1.2;
}

.people-list-copy h2 a {
    color: var(--text);
}

.people-list-copy h2 a:hover,
.people-rank-list strong a:hover {
    color: var(--accent);
}

.people-list-copy p {
    margin: 0;
    color: var(--muted);
    line-height: 1.35;
}

.people-list-meta,
.people-list-bio {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.82rem;
}

.people-list-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
}

.people-list-signals span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 6px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface-strong);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.people-list-signals strong {
    color: var(--text);
}

@media (max-width: 720px) {
    .people-search-form {
        grid-template-columns: 1fr;
    }

    .people-search-actions {
        align-items: stretch;
    }

    .people-search-actions button,
    .people-search-actions a {
        justify-content: center;
    }

    .people-search-form .places-search-visibility {
        grid-column: 1;
    }

    .places-map-heading {
        display: grid;
    }

    .places-map-layout {
        grid-template-columns: 1fr;
    }

    .events-map-layout .events-map-stage {
        height: 300px;
    }

    .events-map-layout .places-map-side {
        height: auto;
        grid-template-rows: none;
        align-content: start;
    }

    .events-map-layout .places-map-results {
        max-height: 260px;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-inline-end: 6px;
        scrollbar-gutter: stable;
    }

    .events-map-leaflet .leaflet-control-zoom a {
        width: 44px;
        height: 44px;
        line-height: 44px;
    }

    .events-map-leaflet-cluster {
        width: 44px !important;
        height: 44px !important;
    }

    .places-map-stage {
        min-height: 260px;
    }

    .places-map-stage::after {
        inset: 18px 16px;
    }

    .people-rank-list {
        grid-template-columns: 1fr;
    }

    .people-result-list {
        grid-template-columns: 1fr;
    }

    .people-list-item {
        grid-template-columns: auto minmax(0, 1fr);
    }
}

.scene-profile-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.scene-profile-avatar {
    width: 88px;
    height: 88px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--accent);
    font-weight: 800;
}

.scene-profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 480px) {
    .scene-profile-avatar {
        width: 80px;
        height: 80px;
    }

}

.scene-profile-head h3,
.scene-profile-head p:last-child {
    margin-bottom: 0;
}

.scene-profile-head .eyebrow {
    margin-bottom: 3px;
    font-size: 0.72rem;
    line-height: 1.3;
}

.scene-profile-head h3 {
    margin-top: 0;
    font-size: 1.02rem;
    line-height: 1.25;
}

.scene-profile-head p {
    margin-top: 3px;
    font-size: 0.84rem;
}

.scene-profile-description {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.42;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.scene-service-summary {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 0.84rem;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.scene-service-summary strong {
    color: var(--text);
}

.scene-profile-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    padding: 7px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.scene-profile-metrics span {
    display: inline-flex;
    gap: 4px;
    align-items: baseline;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 0.78rem;
}

.scene-profile-metrics strong {
    color: var(--accent);
    font-size: 0.95rem;
    line-height: 1;
}

.scene-next-event {
    margin: 0;
    padding: 0;
    color: var(--accent);
    font-size: 0.84rem;
    font-weight: 700;
}

.scene-profile-card > .ghost-link {
    min-height: auto;
    justify-self: start;
    padding: 2px 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.scene-crossroads {
    margin-top: 28px;
}

.scene-crossroad-grid {
    display: grid;
    gap: 12px;
}

.scene-mini-list {
    display: grid;
    gap: 9px;
}

.scene-mini-card {
    display: grid;
    gap: 3px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.scene-mini-card.with-poster {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.scene-mini-poster {
    width: 58px;
}

.scene-mini-card-body {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.scene-mini-card:hover {
    border-color: var(--accent);
}

.scene-mini-card span {
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.scene-mini-card strong {
    color: var(--text);
}

.scene-mini-card small {
    color: var(--muted);
}

.supplier-summary {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.supplier-role-strip a {
    min-width: 150px;
}

.supplier-need-panel {
    display: grid;
    gap: 13px;
    padding: 14px;
    border: 1px solid var(--glass-border);
    border-radius: 8px;
    background:
        linear-gradient(145deg, var(--glass-highlight), transparent 34%),
        var(--glass-bg-soft);
    box-shadow: var(--shadow);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
}

.supplier-need-panel-head {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    justify-content: space-between;
}

.supplier-need-panel h2 {
    margin-bottom: 5px;
    font-size: 1.08rem;
    line-height: 1.22;
}

.supplier-need-panel p {
    margin-bottom: 0;
    color: var(--muted);
}

.supplier-need-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
    gap: 8px;
}

.supplier-need-chip {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
}

.supplier-need-chip:hover,
.supplier-need-chip.active {
    border-color: var(--accent);
    color: var(--text);
}

.supplier-need-chip span,
.supplier-need-chip small,
.supplier-need-chip em {
    color: var(--muted);
    font-size: 0.76rem;
    line-height: 1.3;
}

.supplier-need-chip > span:first-child {
    color: var(--accent);
    font-weight: 800;
    text-transform: uppercase;
}

.supplier-need-chip strong {
    overflow-wrap: anywhere;
    line-height: 1.22;
}

.supplier-need-chip em {
    justify-self: start;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--accent-wash);
    color: var(--text);
    font-style: normal;
    font-weight: 800;
}

.supplier-need-chip-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 2px;
}

.supplier-need-chip .supplier-need-chip-stats {
    color: var(--muted);
    font-weight: 400;
    text-transform: none;
}

.supplier-need-selected {
    padding: 9px 10px;
    border-radius: 8px;
    background: var(--soft-bg);
    font-size: 0.9rem;
}

.supplier-need-detail {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.6fr);
    gap: 12px;
    align-items: stretch;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.supplier-need-detail > div:first-child {
    display: grid;
    gap: 8px;
    align-content: start;
}

.supplier-need-detail p {
    margin: 0;
    line-height: 1.45;
}

.supplier-need-detail dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

.supplier-need-detail dl div {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.supplier-need-detail dt {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.supplier-need-detail dd {
    margin: 0;
    color: var(--text);
    font-size: 1.05rem;
    font-weight: 900;
}

.supplier-need-checklist {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 12px;
    color: var(--muted);
    font-size: 0.88rem;
}

.supplier-need-checklist strong,
.supplier-need-checklist span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    border-radius: 999px;
}

.supplier-need-checklist strong {
    color: var(--text);
}

.supplier-need-checklist span {
    padding: 4px 9px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--soft-bg) 76%, transparent);
    font-weight: 750;
}

.supplier-directory-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr));
    gap: 12px;
    align-items: stretch;
}

.supplier-directory-card {
    display: grid;
    gap: 8px;
    align-content: start;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--glass-border);
    border-radius: 8px;
    background:
        linear-gradient(145deg, var(--glass-highlight), transparent 32%),
        var(--glass-bg);
    box-shadow: var(--shadow);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
}

.supplier-directory-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.supplier-directory-avatar {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
}

.supplier-directory-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.supplier-directory-head h2 {
    margin-bottom: 4px;
    font-size: 1.05rem;
    line-height: 1.2;
}

.supplier-directory-head p:last-child,
.supplier-directory-teaser,
.supplier-search-summary {
    margin-bottom: 0;
}

.supplier-directory-teaser {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.supplier-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.supplier-trust-item {
    display: inline-flex;
    min-height: 23px;
    align-items: center;
    padding: 2px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.supplier-trust-item.is-strong {
    border-color: color-mix(in srgb, var(--accent) 28%, var(--border));
    background: color-mix(in srgb, var(--accent) 7%, var(--surface));
    color: var(--text);
}

.supplier-trust-item.is-active {
    color: color-mix(in srgb, var(--accent) 72%, var(--text));
}

.supplier-directory-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
}

.supplier-directory-meta span {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.supplier-directory-meta {
    max-height: 40px;
    overflow: hidden;
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.supplier-directory-meta span {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
    font-weight: 700;
}

.supplier-directory-meta span:not(:last-child)::after {
    content: "·";
    margin-left: 8px;
    color: var(--muted);
    font-weight: 700;
}

.supplier-proof-summary,
.profile-service-proof-summary {
    display: grid;
    gap: 4px;
    padding: 7px 8px;
    border: 1px solid color-mix(in srgb, var(--accent) 16%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 70%, transparent);
}

.supplier-proof-summary p,
.profile-service-proof-summary p {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 7px;
    align-items: baseline;
    margin: 0;
    color: var(--muted);
    font-size: 0.76rem;
    line-height: 1.35;
}

.supplier-proof-summary span,
.profile-service-proof-summary span {
    color: var(--text);
    font-weight: 900;
}

.supplier-need-card-context {
    display: grid;
    gap: 7px;
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-wash) 62%, var(--surface));
}

.supplier-need-card-match {
    display: grid;
    gap: 7px;
}

.supplier-need-card-match strong {
    font-size: 0.86rem;
}

.supplier-need-match-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.supplier-need-match-list span {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    padding: 2px 7px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border));
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
}

.supplier-need-state {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.supplier-need-state p,
.supplier-need-state small {
    flex-basis: 100%;
    margin: 0;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.4;
}

.supplier-need-state small {
    color: var(--text);
    font-weight: 800;
}

.supplier-need-state .supplier-need-action-note {
    color: var(--muted);
    font-weight: 700;
}

.supplier-need-state-link {
    flex-basis: 100%;
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
}

.supplier-need-state-link:hover {
    text-decoration: underline;
}

.supplier-directory-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.supplier-empty-state {
    margin-top: 14px;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .supplier-directory-card,
    .supplier-need-panel {
        background: var(--surface);
    }
}

@media (max-width: 620px) {
    .supplier-need-panel-head {
        align-items: stretch;
        flex-direction: column;
    }

    .supplier-need-detail {
        grid-template-columns: 1fr;
    }

    .supplier-need-detail dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .supplier-directory-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .supplier-directory-actions .button-link,
    .supplier-directory-actions .ghost-link {
        justify-content: center;
        width: 100%;
    }
}

.table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.table-scroll {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.data-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

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

.data-table th {
    color: var(--muted);
    font-size: 0.78rem;
    text-transform: uppercase;
}

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

.data-table td span {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 0.88rem;
}

.table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.table-actions a,
.table-actions button {
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 8px;
    font-size: 0.88rem;
}

.table-actions a {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--border);
    color: var(--text);
}

.table-actions a:hover {
    border-color: var(--accent);
}

.table-actions form {
    margin: 0;
}

.stack-form {
    display: grid;
    gap: 11px;
}

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

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

.button-muted {
    background: var(--surface-strong);
    color: var(--text);
}

.button-muted:hover {
    background: #2b313d;
    color: var(--text);
}

.status-pill {
    display: inline-flex;
    width: fit-content;
    padding: 5px 8px;
    border-radius: 999px;
    background: var(--surface-strong);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.place-quality-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 7px;
}

.place-quality-signal {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    padding: 3px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface-strong) 74%, transparent);
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1.25;
}

.place-quality-signal.is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
    background: color-mix(in srgb, var(--warning-bg) 70%, transparent);
    color: var(--warning-text);
}

.place-quality-signal.is-info {
    border-color: color-mix(in srgb, var(--accent) 34%, var(--border));
    background: color-mix(in srgb, var(--accent-wash) 70%, transparent);
    color: var(--accent);
}

.status-approved {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-published {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-hidden,
.status-cancelled {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.status-submitted,
.status-shortlisted {
    background: color-mix(in srgb, #f59e0b 18%, var(--surface-strong));
    color: #fbbf24;
}

.status-accepted {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-declined,
.status-withdrawn {
    background: var(--surface-strong);
    color: var(--muted);
}

.status-open,
.status-reviewing {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.status-in_progress {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.status-blocked {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.status-done {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-resolved {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-pending_verification,
.status-draft {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.status-rejected,
.status-suspended {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.status-pending,
.status-negotiating {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.status-accepted,
.status-completed {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-contacted,
.status-offer_made,
.status-offer_accepted,
.status-reserved {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.status-sold {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-available {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-limited,
.status-not_announced {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.status-sold_out {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.status-change {
    background: var(--accent-wash);
    color: var(--accent);
}

.status-declined,
.status-cancelled {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.detail-grid {
    display: grid;
    gap: 14px;
    margin-bottom: 14px;
}

.detail-panel {
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.detail-panel > * {
    min-width: 0;
}

.detail-panel > :last-child {
    margin-bottom: 0;
}

.detail-panel + .detail-panel {
    margin-top: 14px;
}

:is(.detail-grid, .retention-policy-grid) > .detail-panel + .detail-panel {
    margin-top: 0;
}

.admin-event-detail-page {
    display: grid;
    gap: 16px;
}

.admin-event-detail-page .module-header,
.admin-event-detail-page .detail-grid,
.admin-event-detail-page .detail-panel {
    margin-bottom: 0;
}

.admin-event-detail-page .detail-panel + .detail-panel {
    margin-top: 0;
}

.admin-event-detail-grid {
    align-items: stretch;
}

.admin-event-detail-page .detail-panel {
    min-width: 0;
    height: 100%;
    display: grid;
    gap: 14px;
    align-content: start;
}

.admin-event-detail-page .detail-panel > * {
    min-width: 0;
}

.admin-event-detail-page .detail-panel h2,
.admin-event-detail-page .detail-panel p {
    margin-bottom: 0;
}

.admin-event-detail-page .table-wrap {
    max-width: 100%;
}

.event-review-list {
    display: grid;
    gap: 12px;
}

.event-review-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-review-card h3 {
    margin-bottom: 0;
    font-size: 1.08rem;
}

.event-review-card p {
    margin-bottom: 0;
}

.event-review-card-head {
    justify-content: space-between;
}

.event-review-card-head strong {
    color: var(--accent);
}

.review-quality-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.review-quality-signals span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.review-quality-signals span:focus-visible {
    border-color: var(--accent);
    color: var(--accent);
    outline: none;
}

.editorial-reviewer-admin-panel {
    margin-top: 18px;
}

.profile-completeness-panel {
    display: grid;
    gap: 14px;
}

.profile-service-readiness-panel {
    grid-column: 1 / -1;
}

.profile-world-panel {
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
}

.profile-world-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
}

.profile-world-main h2,
.profile-world-main p {
    margin-bottom: 0;
}

.profile-world-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.profile-world-columns > div {
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-world-columns strong {
    display: block;
    margin-bottom: 7px;
}

.profile-world-columns ul {
    display: grid;
    gap: 5px;
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.42;
}

.profile-world-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.artist-work-overview {
    display: grid;
    gap: 18px;
    margin-bottom: 18px;
}

.artist-work-overview-head {
    display: flex;
    gap: 18px;
    align-items: start;
    justify-content: space-between;
}

.artist-work-overview-head h2,
.artist-work-overview-head p,
.artist-work-column h3,
.artist-work-empty {
    margin: 0;
}

.artist-work-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.artist-work-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.artist-work-column {
    min-width: 0;
    padding: 14px 18px 14px 0;
}

.artist-work-column + .artist-work-column {
    padding-right: 0;
    padding-left: 18px;
    border-left: 1px solid var(--border);
}

.artist-work-column-head {
    display: flex;
    gap: 10px;
    align-items: center;
    min-height: 30px;
    margin-bottom: 6px;
}

.artist-work-column-head h3 {
    font-size: 1rem;
}

.artist-work-column-head > span {
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 900;
}

.artist-attention-list,
.artist-event-list {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}

.artist-attention-list li + li,
.artist-event-list li + li {
    border-top: 1px solid color-mix(in srgb, var(--border) 74%, transparent);
}

.artist-attention-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 67px;
    padding: 9px 8px 9px 11px;
    color: var(--text);
}

.artist-attention-row::before {
    position: absolute;
    top: 12px;
    bottom: 12px;
    left: 0;
    width: 3px;
    border-radius: 3px;
    background: var(--border);
    content: "";
}

.artist-attention-row.is-warning::before {
    background: var(--warning-text);
}

.artist-attention-row.is-urgent::before {
    background: var(--danger-text);
}

.artist-attention-row.is-success::before {
    background: var(--success-text);
}

.artist-attention-row:hover,
.artist-attention-row:focus-visible {
    color: var(--text);
    background: color-mix(in srgb, var(--accent-wash) 38%, transparent);
    outline: none;
}

.artist-attention-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.artist-attention-copy small {
    color: var(--accent);
    font-size: 0.71rem;
    font-weight: 900;
    text-transform: uppercase;
}

.artist-attention-copy strong {
    overflow-wrap: anywhere;
    font-size: 0.91rem;
}

.artist-attention-copy > span:last-child,
.artist-event-place {
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.artist-row-action {
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 900;
    white-space: nowrap;
}

.artist-event-row {
    display: grid;
    grid-template-columns: 53px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    min-height: 76px;
    padding: 9px 0;
}

.artist-event-date {
    display: grid;
    gap: 1px;
    align-content: center;
    min-height: 48px;
    padding-right: 10px;
    border-right: 1px solid var(--border);
    text-align: center;
}

.artist-event-date strong {
    font-size: 0.92rem;
}

.artist-event-date span {
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 800;
}

.artist-event-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.artist-event-title-line {
    display: flex;
    gap: 8px;
    align-items: baseline;
    min-width: 0;
}

.artist-event-title-line a {
    min-width: 0;
    color: var(--text);
}

.artist-event-title-line strong {
    overflow-wrap: anywhere;
    font-size: 0.91rem;
}

.artist-event-title-line small {
    flex: 0 0 auto;
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 800;
}

.artist-event-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 3px;
}

.artist-event-signals span {
    position: relative;
    padding-left: 9px;
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 800;
}

.artist-event-signals span::before {
    position: absolute;
    top: 0.48em;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    content: "";
}

.artist-event-signals .is-success {
    color: var(--success-text);
}

.artist-event-signals .is-warning {
    color: var(--warning-text);
}

.artist-event-action {
    align-self: center;
    white-space: nowrap;
}

.artist-work-empty {
    min-height: 67px;
    padding: 14px 0;
    color: var(--muted);
    font-size: 0.87rem;
}

.artist-overview-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
    gap: 0;
    align-items: center;
}

.artist-overview-metrics > div {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 2px 14px;
    border-left: 1px solid var(--border);
}

.artist-overview-metrics > div:first-child {
    padding-left: 0;
    border-left: 0;
}

.artist-overview-metrics strong {
    color: var(--accent);
    font-size: 1.15rem;
    line-height: 1;
}

.artist-overview-metrics span {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.artist-overview-metrics > a {
    justify-self: end;
    margin-left: 14px;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .work-return-signal-attention {
        flex-direction: column;
    }

    .profile-world-main {
        grid-template-columns: 1fr;
    }

    .profile-world-main .button-link {
        width: 100%;
        justify-content: center;
    }

    .dashboard-world-card-head small {
        max-width: 100%;
        text-align: left;
    }

    .artist-work-overview {
        gap: 14px;
    }

    .artist-work-overview-head {
        display: grid;
        gap: 10px;
    }

    .artist-work-quick-actions {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: thin;
    }

    .artist-work-quick-actions a {
        flex: 0 0 auto;
    }

    .artist-work-columns {
        grid-template-columns: 1fr;
    }

    .artist-work-column,
    .artist-work-column + .artist-work-column {
        padding: 12px 0;
        border-left: 0;
    }

    .artist-work-column + .artist-work-column {
        border-top: 1px solid var(--border);
    }

    .artist-attention-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    .artist-row-action {
        padding-left: 0;
    }

    .artist-event-row {
        grid-template-columns: 49px minmax(0, 1fr);
    }

    .artist-event-action {
        grid-column: 2;
        justify-self: start;
    }

    .artist-event-title-line {
        align-items: start;
        flex-direction: column;
        gap: 1px;
    }

    .artist-overview-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 0;
    }

    .artist-overview-metrics > div {
        padding: 0 10px;
    }

    .artist-overview-metrics > div:nth-child(odd) {
        padding-left: 0;
        border-left: 0;
    }

    .artist-overview-metrics > a {
        grid-column: 1 / -1;
        justify-self: start;
        margin: 0;
    }
}

.artist-performance-manage,
.artist-performance-public {
    display: grid;
    gap: 18px;
}

.artist-performance-section-head {
    display: flex;
    gap: 18px;
    align-items: start;
    justify-content: space-between;
}

.artist-performance-section-head h2,
.artist-performance-section-head h3,
.artist-performance-section-head p,
.artist-performance-list-head h3,
.artist-performance-empty {
    margin: 0;
}

.artist-performance-section-head > div:first-child {
    max-width: 760px;
}

.artist-performance-section-head > div:first-child > p:last-child {
    margin-top: 6px;
    color: var(--muted);
}

.artist-performance-head-links,
.artist-performance-row-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

.artist-performance-head-links {
    justify-content: flex-end;
}

.artist-performance-manage-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.artist-performance-manage-column {
    min-width: 0;
    padding: 16px 20px 16px 0;
}

.artist-performance-manage-column + .artist-performance-manage-column {
    padding-right: 0;
    padding-left: 20px;
    border-left: 1px solid var(--border);
}

.artist-performance-list-head,
.artist-performance-list-head > div,
.artist-performance-row-main {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}

.artist-performance-list-head {
    min-height: 36px;
    margin-bottom: 8px;
}

.artist-performance-list-head > div {
    justify-content: flex-start;
}

.artist-performance-list-head h3 {
    font-size: 1rem;
}

.artist-performance-list-head span {
    color: var(--accent);
    font-size: 0.76rem;
    font-weight: 900;
}

.artist-performance-list-head .button-muted {
    min-height: 34px;
    padding: 6px 10px;
}

.artist-performance-manage-list,
.artist-lineup-manage-list,
.artist-lineup-public-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.artist-performance-manage-row,
.artist-lineup-manage-row {
    position: relative;
    padding: 12px 0;
    border-top: 1px solid color-mix(in srgb, var(--border) 76%, transparent);
}

.artist-performance-manage-row:first-child,
.artist-lineup-manage-row:first-child {
    border-top: 0;
}

.artist-performance-row-main > div,
.artist-lineup-row-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.artist-performance-row-main strong,
.artist-lineup-row-copy strong {
    overflow-wrap: anywhere;
    font-size: 0.92rem;
}

.artist-performance-row-main > div > span,
.artist-lineup-row-copy > span,
.artist-lineup-row-copy small,
.artist-performance-manage-row > p {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.4;
}

.artist-performance-manage-row > p {
    margin: 6px 0 0;
}

.artist-performance-row-actions {
    justify-content: flex-end;
    margin-top: 7px;
}

.artist-performance-row-actions form,
.artist-performance-delete {
    margin: 0;
}

.artist-performance-row-actions .icon-button {
    width: 30px;
    min-width: 30px;
    height: 30px;
}

.artist-performance-row-actions .ghost-link,
.artist-performance-delete button {
    min-height: 30px;
    padding: 4px 8px;
    font-size: 0.76rem;
}

.artist-performance-delete {
    display: flex;
    justify-content: flex-end;
    margin-top: 3px;
}

.artist-performance-editor {
    display: grid;
    gap: 12px;
    margin-top: 12px;
    padding: 14px;
    border-top: 1px solid var(--border);
    background: color-mix(in srgb, var(--glass-bg-soft) 72%, transparent);
}

.artist-performance-new-form {
    margin-top: 8px;
}

.artist-performance-editor-disclosure {
    margin-top: 8px;
}

.artist-performance-editor-disclosure > summary {
    width: max-content;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 850;
    cursor: pointer;
}

.artist-performance-editor-disclosure[open] > summary {
    margin-bottom: 8px;
}

.artist-performance-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.artist-performance-field-grid > label,
.artist-user-lookup > label {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.artist-performance-field-wide {
    grid-column: 1 / -1;
}

.artist-performance-field-grid .checkbox-row {
    display: flex;
    align-items: flex-start;
}

.artist-performance-empty {
    min-height: 72px;
    padding: 14px 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.5;
}

.artist-lineup-manage-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.artist-lineup-manage-row > .artist-performance-editor-disclosure,
.artist-lineup-manage-row > .artist-performance-delete {
    grid-column: 1 / -1;
}

.artist-lineup-manage-row .artist-performance-row-actions {
    margin-top: 0;
}

.artist-user-lookup {
    position: relative;
}

.artist-user-suggestions {
    position: absolute;
    z-index: 12;
    top: calc(100% + 5px);
    right: 0;
    left: 0;
    overflow: hidden;
    border: 1px solid var(--glass-border);
    background: var(--glass-bg-strong);
    box-shadow: var(--glass-shadow);
    backdrop-filter: blur(var(--glass-blur));
}

.artist-user-suggestion {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    width: 100%;
    min-height: 52px;
    padding: 7px 10px;
    border: 0;
    border-top: 1px solid var(--border);
    border-radius: 0;
    color: var(--text);
    background: transparent;
    text-align: left;
}

.artist-user-suggestion:first-child {
    border-top: 0;
}

.artist-user-suggestion:hover,
.artist-user-suggestion:focus-visible {
    background: var(--accent-wash);
}

.artist-user-suggestion img {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 50%;
}

.artist-user-suggestion span {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.artist-user-suggestion strong,
.artist-user-suggestion small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artist-user-suggestion small {
    color: var(--muted);
    font-size: 0.72rem;
}

.artist-performance-public-list {
    display: grid;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.artist-performance-public-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 0.38fr);
    gap: 20px;
    align-items: center;
    padding: 15px 0;
    border-top: 1px solid color-mix(in srgb, var(--border) 76%, transparent);
}

.artist-performance-public-row:first-child {
    border-top: 0;
}

.artist-performance-public-row h3,
.artist-performance-public-row p,
.artist-performance-public-row small,
.artist-lineup-public-block h3 {
    margin: 0;
}

.artist-performance-public-row > div:first-child {
    display: grid;
    gap: 5px;
}

.artist-performance-public-row h3,
.artist-lineup-public-block h3 {
    font-size: 1rem;
}

.artist-performance-public-row p,
.artist-performance-public-row small {
    color: var(--muted);
    line-height: 1.48;
}

.artist-performance-public-row small {
    font-size: 0.77rem;
}

.artist-performance-public-facts {
    display: flex;
    gap: 6px 12px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.artist-performance-public-facts span {
    position: relative;
    padding-left: 9px;
    color: var(--accent);
    font-size: 0.76rem;
    font-weight: 850;
}

.artist-performance-public-facts span::before {
    position: absolute;
    top: 0.53em;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    content: "";
}

.artist-lineup-public-block {
    display: grid;
    gap: 10px;
}

.artist-lineup-public-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0 18px;
}

.artist-lineup-public-list li {
    min-width: 0;
    border-top: 1px solid color-mix(in srgb, var(--border) 74%, transparent);
}

.artist-lineup-public-list li > a,
.artist-lineup-public-list li > span:first-child:not(.entity-avatar-sm) {
    color: var(--text);
}

.artist-lineup-public-list li > a,
.artist-lineup-public-list li {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 62px;
}

.artist-lineup-public-list li > a {
    grid-column: 1 / -1;
    padding: 8px 0;
}

.artist-lineup-public-list li.has-no-profile-link {
    padding: 8px 0;
}

.artist-lineup-public-list li span:last-child {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.artist-lineup-public-list strong,
.artist-lineup-public-list small {
    overflow-wrap: anywhere;
}

.artist-lineup-public-list small {
    color: var(--muted);
    font-size: 0.76rem;
}

.booking-artist-variant-field {
    display: grid;
    gap: 7px;
    margin: 16px 0;
    padding: 14px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.booking-artist-variant-field label,
.booking-artist-variant-field .form-help {
    margin: 0;
}

.booking-performance-summary {
    display: grid;
    grid-template-columns: minmax(180px, 0.45fr) minmax(180px, 0.35fr) minmax(220px, 1fr) auto;
    gap: 12px 24px;
    align-items: center;
    padding: 14px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.booking-performance-summary > div {
    display: grid;
    gap: 2px;
}

.booking-performance-summary span,
.booking-performance-summary small,
.booking-performance-summary p {
    color: var(--muted);
    font-size: 0.78rem;
}

.booking-performance-summary strong,
.booking-performance-summary p {
    margin: 0;
}

.booking-performance-summary > small {
    text-align: right;
}

@media (max-width: 820px) {
    .artist-performance-manage-grid {
        grid-template-columns: 1fr;
    }

    .artist-performance-manage-column,
    .artist-performance-manage-column + .artist-performance-manage-column {
        padding: 14px 0;
        border-left: 0;
    }

    .artist-performance-manage-column + .artist-performance-manage-column {
        border-top: 1px solid var(--border);
    }

    .booking-performance-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .booking-performance-summary > small {
        text-align: left;
    }
}

@media (max-width: 620px) {
    .artist-performance-section-head,
    .artist-performance-row-main {
        display: grid;
    }

    .artist-performance-head-links,
    .artist-performance-row-actions,
    .artist-performance-public-facts {
        justify-content: flex-start;
    }

    .artist-performance-field-grid,
    .artist-performance-public-row {
        grid-template-columns: 1fr;
    }

    .artist-lineup-manage-row {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .artist-lineup-manage-row > .artist-performance-row-actions {
        grid-column: 2;
        justify-content: flex-start;
    }

    .booking-performance-summary {
        grid-template-columns: minmax(0, 1fr);
    }
}

.profile-completeness-head {
    display: flex;
    gap: 14px;
    align-items: start;
    justify-content: space-between;
}

.profile-completeness-head h2,
.profile-completeness-head p {
    margin-bottom: 0;
}

.profile-completeness-head strong {
    color: var(--accent);
    font-size: 2rem;
    line-height: 1;
}

.profile-completeness-meter {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--surface-strong);
}

.profile-completeness-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--accent);
}

.profile-completeness-start span {
    background: var(--warning-text);
}

.profile-completeness-basic span,
.profile-completeness-solid span {
    background: var(--accent);
}

.profile-completeness-strong span {
    background: var(--success-text);
}

.profile-content-overview {
    display: grid;
    gap: 12px;
    margin: 20px 0;
}

.profile-content-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 10px;
}

.profile-content-pill {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 9px;
    align-items: center;
    min-height: 68px;
    padding: 10px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
}

.profile-content-pill:hover,
.profile-content-pill:focus-visible {
    border-color: var(--accent);
    color: var(--text);
    transform: translateY(-1px);
}

.profile-content-pill strong {
    grid-row: span 2;
    color: var(--accent);
    font-size: 1.55rem;
    line-height: 1;
}

.profile-content-pill span {
    font-weight: 800;
}

.profile-content-pill small {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.profile-content-pill.is-empty strong {
    color: var(--muted);
}

.profile-signal-list,
.profile-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.profile-signal {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-strong);
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.profile-signal-success {
    border-color: rgba(83, 197, 129, 0.45);
    background: var(--success-bg);
    color: var(--success-text);
}

.profile-next-step-list {
    display: grid;
    gap: 10px;
}

.profile-next-step-list a,
.profile-next-step-list article {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
}

.profile-next-step-list a:hover {
    border-color: var(--accent);
}

.profile-next-step-list small {
    color: var(--muted);
    line-height: 1.4;
}

.rider-editor-form {
    gap: 18px;
    max-width: 1120px;
    margin: 0 auto;
}

.rider-editor-steps {
    position: sticky;
    top: 82px;
    z-index: 30;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 8px 0 10px;
    border-bottom: 1px solid color-mix(in srgb, var(--border) 68%, transparent);
    background: color-mix(in srgb, var(--bg) 78%, transparent);
    backdrop-filter: blur(16px);
}

.rider-editor-steps a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 58%, transparent);
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 800;
}

.rider-editor-steps a:hover,
.rider-editor-steps a:focus-visible,
.rider-editor-steps a.is-active {
    border-color: color-mix(in srgb, var(--accent) 62%, transparent);
    background: color-mix(in srgb, var(--accent) 10%, transparent);
    color: var(--text);
}

.rider-editor-steps span {
    display: inline-grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent) 14%, transparent);
    color: var(--accent);
    font-size: 0.72rem;
    line-height: 1;
}

.rider-studio-page .detail-panel {
    border-color: color-mix(in srgb, var(--border) 78%, transparent);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--accent) 5%, transparent), transparent 44%),
        color-mix(in srgb, var(--surface) 78%, transparent);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.10);
    backdrop-filter: blur(14px);
}

.rider-studio-page .compact-header {
    gap: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
}

.rider-editor-section {
    scroll-margin-top: 150px;
}

.rider-editor-section.is-collapsed {
    padding-bottom: 14px;
}

.rider-editor-section.is-collapsed > :not(.compact-header) {
    display: none;
}

.rider-editor-section .compact-header {
    align-items: center;
}

.rider-editor-section .compact-header > div {
    min-width: 0;
}

.rider-section-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.rider-section-toggle {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 0.82rem;
}

.rider-studio-page .rider-guide-link {
    gap: 7px;
    border-color: color-mix(in srgb, var(--border) 65%, transparent);
    background: color-mix(in srgb, var(--surface) 48%, transparent);
    color: var(--muted);
    font-weight: 700;
}

.rider-studio-page .rider-guide-link::before {
    content: "?";
    display: inline-grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--accent) 48%, transparent);
    border-radius: 50%;
    color: var(--accent);
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1;
}

.rider-studio-page .rider-guide-link:hover {
    border-color: color-mix(in srgb, var(--accent) 72%, transparent);
    background: color-mix(in srgb, var(--accent) 8%, transparent);
    color: var(--text);
}

.rider-starter-panel,
.rider-starter-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border));
    border-radius: 8px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, transparent), transparent 58%),
        color-mix(in srgb, var(--surface) 72%, transparent);
    backdrop-filter: blur(14px);
}

.rider-starter-inline {
    margin-bottom: 12px;
}

.rider-starter-panel strong,
.rider-starter-inline strong {
    color: var(--text);
}

.rider-starter-panel p,
.rider-starter-inline p {
    margin: 3px 0 0;
    max-width: 720px;
    color: var(--muted);
    line-height: 1.45;
}

.rider-starter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 8px;
}

.rider-starter-chips span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 5px 9px;
    border: 1px solid color-mix(in srgb, var(--border) 74%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 74%, transparent);
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.rider-studio-page .detail-panel > label:not(.rider-signature-confirmation),
.rider-file-upload-form label {
    display: grid;
    gap: 7px;
}

.rider-studio-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.rider-studio-page select,
.rider-studio-page textarea {
    border-color: color-mix(in srgb, var(--border) 82%, transparent);
    background: color-mix(in srgb, var(--surface) 88%, #ffffff);
}

.rider-studio-page textarea {
    resize: vertical;
}

.rider-form-grid,
.rider-contact-grid,
.rider-requirement-grid,
.rider-readout-grid {
    display: grid;
    gap: 14px;
}

.rider-form-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.rider-contact-grid,
.rider-requirement-grid,
.rider-readout-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.rider-contact-fieldset {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.rider-contact-fieldset legend {
    padding: 0 6px;
    color: var(--text);
    font-weight: 900;
}

.rider-lineup-table-wrap {
    overflow-x: auto;
    border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 74%, transparent);
}

.rider-lineup-table,
.rider-input-table {
    margin: 0;
    border: 0;
    background: transparent;
}

.rider-lineup-table th,
.rider-input-table th {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
    background: color-mix(in srgb, var(--surface) 68%, transparent);
}

.rider-lineup-table td,
.rider-input-table td {
    border-color: color-mix(in srgb, var(--border) 72%, transparent);
}

.rider-lineup-table input,
.rider-input-table input,
.rider-input-table select {
    width: 100%;
    min-width: 150px;
}

.rider-input-type-select {
    display: grid;
    grid-template-columns: 42px minmax(150px, 1fr);
    gap: 8px;
    align-items: center;
    min-width: 220px;
}

.rider-input-source-choice-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.rider-input-source-choice-icon img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.rider-input-table th:first-child,
.rider-input-table td:first-child {
    width: 72px;
    white-space: nowrap;
}

.rider-input-table th:nth-child(2),
.rider-input-table td:nth-child(2) {
    width: 160px;
}

.rider-input-table td:first-child strong {
    color: var(--text);
}

.rider-input-readout-table td {
    vertical-align: top;
}

.rider-input-source-badge {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    max-width: 100%;
    padding: 5px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1.15;
    white-space: normal;
}

.rider-input-source-badge img {
    display: block;
    width: 26px;
    height: 26px;
    object-fit: contain;
    flex: 0 0 auto;
}

.rider-input-source-vocal,
.rider-input-source-backing_vocal,
.rider-input-source-drums,
.rider-input-source-kick,
.rider-input-source-snare,
.rider-input-source-toms,
.rider-input-source-cymbals,
.rider-input-source-guitar,
.rider-input-source-acoustic_guitar,
.rider-input-source-bass,
.rider-input-source-keys,
.rider-input-source-piano,
.rider-input-source-synth,
.rider-input-source-dj,
.rider-input-source-laptop,
.rider-input-source-strings,
.rider-input-source-brass,
.rider-input-source-sax,
.rider-input-source-perc,
.rider-input-source-speech,
.rider-input-source-ambient,
.rider-input-source-click,
.rider-input-source-cable {
    color: var(--text);
}

.rider-input-source-vocal,
.rider-input-source-backing_vocal,
.rider-input-source-speech,
.rider-input-source-ambient {
    background: color-mix(in srgb, #38bdf8 18%, var(--surface));
}

.rider-input-source-drums,
.rider-input-source-kick,
.rider-input-source-snare,
.rider-input-source-toms,
.rider-input-source-cymbals,
.rider-input-source-perc {
    background: color-mix(in srgb, #f97316 18%, var(--surface));
}

.rider-input-source-guitar,
.rider-input-source-acoustic_guitar,
.rider-input-source-bass {
    background: color-mix(in srgb, #22c55e 17%, var(--surface));
}

.rider-input-source-keys,
.rider-input-source-piano,
.rider-input-source-synth {
    background: color-mix(in srgb, #a78bfa 18%, var(--surface));
}

.rider-input-source-dj,
.rider-input-source-laptop,
.rider-input-source-click {
    background: color-mix(in srgb, #f43f5e 16%, var(--surface));
}

.rider-input-source-strings,
.rider-input-source-brass,
.rider-input-source-sax {
    background: color-mix(in srgb, #eab308 18%, var(--surface));
}

.rider-input-source-cable {
    background: color-mix(in srgb, #64748b 16%, var(--surface));
}

.rider-input-actions {
    margin-top: 10px;
}

.rider-lineup-actions {
    margin-top: 10px;
}

.rider-file-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.rider-file-summary > div:first-child {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.rider-file-summary strong {
    color: var(--text);
    overflow-wrap: anywhere;
}

.rider-file-summary small,
.rider-file-upload-form small {
    color: var(--muted);
    line-height: 1.45;
}

.rider-file-summary form {
    margin: 0;
}

.rider-file-upload-form {
    margin-top: 14px;
}

.rider-signature-confirmation {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: fit-content;
    max-width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    font-weight: 700;
}

.rider-signature-confirmation input {
    width: auto;
    margin-top: 3px;
}

.rider-editor-form > .form-actions {
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-top: 4px;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--border) 76%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 86%, transparent);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
    backdrop-filter: blur(14px);
}

.rider-readout-section {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 0;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.rider-readout-section h3 {
    margin: 0;
}

.rider-readout-section-wide {
    grid-column: 1 / -1;
}

.rider-plain-list,
.rider-contact-readout,
.rider-note-readout {
    display: grid;
    gap: 9px;
    margin: 0;
}

.rider-plain-list {
    padding-left: 18px;
}

.rider-plain-list li,
.rider-contact-readout > div,
.rider-note-readout > div {
    min-width: 0;
}

.rider-plain-list strong,
.rider-contact-readout strong,
.rider-note-readout dt,
.rider-contact-readout dt {
    color: var(--text);
    font-weight: 900;
}

.rider-plain-list span,
.rider-contact-readout span,
.rider-plain-list small,
.rider-contact-readout small,
.rider-note-readout dd {
    display: block;
    color: var(--muted);
    line-height: 1.45;
}

.rider-contact-readout dt,
.rider-contact-readout dd,
.rider-note-readout dt,
.rider-note-readout dd {
    margin: 0;
}

.rider-version-list,
.rider-usage-list,
.rider-booking-target-list {
    display: grid;
    gap: 10px;
}

.rider-version-guide {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding: 12px 0;
    margin-bottom: 14px;
    border-top: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
}

.rider-version-guide article {
    display: grid;
    gap: 4px;
    padding: 0 0 0 12px;
    border-left: 3px solid color-mix(in srgb, var(--accent) 58%, var(--border));
}

.rider-version-guide span {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.rider-version-row,
.rider-usage-list article,
.rider-booking-target-list article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.rider-version-row > div:first-child {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.rider-version-meta,
.rider-usage-list small,
.rider-booking-target-list small {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.rider-version-meta span:not(:last-child)::after,
.rider-usage-list small span:not(:last-child)::after,
.rider-booking-target-list small span:not(:last-child)::after {
    content: "";
}

.rider-version-status-draft {
    background: color-mix(in srgb, #94a3b8 18%, var(--surface));
}

.rider-version-status-exported {
    background: color-mix(in srgb, #38bdf8 18%, var(--surface));
}

.rider-version-status-published {
    background: color-mix(in srgb, #22c55e 18%, var(--surface));
}

.rider-version-status-locked {
    background: color-mix(in srgb, #f59e0b 20%, var(--surface));
}

@media (max-width: 720px) {
    .rider-version-guide {
        grid-template-columns: 1fr;
    }

    .rider-version-row,
    .rider-usage-list article,
    .rider-booking-target-list article {
        grid-template-columns: 1fr;
    }
}

.rider-usage-list {
    margin-top: 18px;
}

.rider-usage-list h3 {
    margin: 0;
}

.rider-booking-target-panel > .button-link {
    width: fit-content;
}

.rider-booking-target-list form {
    margin: 0;
}

.rider-preview-actions {
    align-items: flex-start;
}

.rider-preview-builder {
    max-width: 1120px;
    margin: 0 auto 22px;
    border-color: color-mix(in srgb, var(--accent) 28%, var(--border));
}

.rider-page-control-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rider-page-control-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 84%, transparent);
}

.rider-page-control-item.is-muted,
.rider-page-control-item.is-disabled {
    opacity: 0.62;
}

.rider-page-control-item label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    min-width: 0;
    margin: 0;
}

.rider-page-control-item input {
    margin-top: 4px;
}

.rider-page-control-item input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    max-height: 18px;
    margin: 2px 0 0;
    accent-color: var(--accent);
}

.rider-page-control-item label span {
    min-width: 0;
}

.rider-page-control-item strong,
.rider-page-control-item small {
    display: block;
}

.rider-page-control-item small {
    color: var(--muted);
    line-height: 1.45;
}

.rider-page-control-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.rider-page-control-actions .button-muted {
    padding: 7px 10px;
    font-size: 0.84rem;
}

.rider-logo-choice-list {
    display: grid;
    gap: 10px;
}

.rider-logo-choice-list label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 76%, transparent);
}

.rider-logo-choice-list strong,
.rider-logo-choice-list small {
    display: block;
}

.rider-logo-choice-list small {
    margin-top: 3px;
    color: var(--muted);
}

.rider-document-preview {
    display: grid;
    gap: 18px;
    max-width: 1120px;
    margin: 0 auto;
    padding: 18px;
    border: 1px solid color-mix(in srgb, var(--border) 68%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 82%, #ffffff);
}

.rider-preview-page-sheet {
    --text: #111827;
    --muted: #475569;
    --border: #d1d5db;
    --surface: #ffffff;
    --panel: #ffffff;
    --soft-bg: #f8fafc;
    --accent: #0f766e;
    --accent-wash: #dff7f2;
    display: grid;
    gap: 22px;
    width: 100%;
    max-width: 960px;
    min-height: 760px;
    margin: 0 auto;
    padding: 42px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.22);
    color: #111827;
    isolation: isolate;
}

.rider-preview-page-sheet .data-table,
.rider-preview-page-sheet .rider-preview-table,
.rider-preview-page-sheet .rider-input-readout-table {
    background: #ffffff;
    color: #111827;
}

.rider-preview-page-sheet .data-table th,
.rider-preview-page-sheet .rider-preview-table th,
.rider-preview-page-sheet .rider-input-readout-table th {
    background: #f1f5f9;
    color: #334155;
}

.rider-preview-page-sheet .data-table td,
.rider-preview-page-sheet .rider-preview-table td,
.rider-preview-page-sheet .rider-input-readout-table td {
    background: #ffffff;
    color: #111827;
}

.rider-preview-page-heading {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 2px solid var(--text);
}

.rider-preview-page-heading h3 {
    margin: 0;
    font-size: 2rem;
}

.rider-preview-page-heading span {
    flex: 0 0 auto;
    color: var(--muted);
    font-weight: 800;
}

.rider-preview-header,
.rider-preview-meta,
.rider-preview-contact-grid,
.rider-preview-note-grid {
    display: grid;
    gap: 14px;
}

.rider-preview-header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    padding-bottom: 18px;
    border-bottom: 2px solid var(--text);
}

.rider-preview-header h2 {
    margin: 0;
    font-size: 2.4rem;
    line-height: 1.05;
}

.rider-preview-header p {
    margin: 8px 0 0;
    color: var(--muted);
}

.rider-preview-brand {
    display: grid;
    justify-items: end;
    gap: 4px;
    color: var(--text);
    text-align: right;
}

.rider-preview-brand img {
    display: block;
    width: auto;
    max-width: 180px;
    max-height: 58px;
    object-fit: contain;
}

.rider-preview-brand-small img {
    max-width: 150px;
    max-height: 42px;
}

.rider-preview-brand span,
.rider-preview-muted {
    color: var(--muted);
    font-size: 0.92rem;
}

.rider-preview-brand-small span {
    max-width: 190px;
    font-size: 0.82rem;
}

.rider-preview-artist-logo {
    display: grid;
    justify-items: center;
    margin: 2px 0 4px;
}

.rider-preview-artist-logo img {
    display: block;
    width: auto;
    max-width: min(320px, 70%);
    max-height: 120px;
    object-fit: contain;
}

.rider-preview-identity {
    display: grid;
    gap: 4px;
    margin: 0;
    color: var(--muted);
    text-align: center;
}

.rider-preview-identity strong {
    color: var(--text);
    font-size: 1.08rem;
}

.rider-preview-meta {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.rider-preview-meta dt,
.rider-preview-contact-grid dt,
.rider-preview-note-grid dt {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.rider-preview-meta dd,
.rider-preview-contact-grid dd,
.rider-preview-note-grid dd {
    margin: 4px 0 0;
}

.rider-preview-section {
    display: grid;
    gap: 12px;
    break-inside: avoid;
}

.rider-preview-section h3 {
    margin: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

.rider-preview-table {
    background: transparent;
}

.rider-preview-contact-grid,
.rider-preview-note-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.rider-preview-contact-grid > div,
.rider-preview-note-grid > div,
.rider-signature-card {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.rider-preview-contact-grid strong,
.rider-preview-contact-grid span,
.rider-preview-contact-grid small,
.rider-signature-card strong,
.rider-signature-card span,
.rider-signature-card small,
.rider-signature-card em {
    display: block;
}

.rider-preview-contact-grid small,
.rider-signature-card small,
.rider-signature-card em {
    color: var(--muted);
}

.rider-signature-card {
    max-width: 420px;
    margin-top: 4px;
    padding-top: 26px;
    border-top: 2px solid var(--text);
}

.rider-signature-statement {
    display: grid;
    gap: 8px;
    max-width: 720px;
    color: var(--muted);
}

.rider-signature-statement p {
    margin: 0;
}

.rider-signature-statement p:first-child {
    color: var(--text);
    font-weight: 700;
}

.rider-stage-plan-frame,
.rider-stage-plan-pdf {
    display: grid;
    min-height: 460px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #ffffff;
}

.rider-stage-plan-frame img {
    width: 100%;
    height: 100%;
    max-height: 560px;
    object-fit: contain;
}

.rider-stage-plan-pdf iframe {
    width: 100%;
    min-height: 560px;
    border: 0;
}

.rider-stage-editor-grid {
    display: grid;
    grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.rider-stage-toolbox {
    display: grid;
    grid-template-columns: repeat(2, minmax(104px, 1fr));
    gap: 9px;
    min-width: 0;
    max-height: 620px;
    overflow: auto;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 72%, transparent);
}

.rider-stage-toolbox .button-muted,
.rider-stage-toolbox .button-link {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 10px;
    width: 100%;
    min-width: 0;
}

.rider-stage-toolbox .button-link {
    grid-column: 1 / -1;
}

.rider-stage-tool-button img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    flex: 0 0 auto;
}

.rider-stage-toolbox .rider-stage-tool-button {
    flex-direction: column;
    gap: 6px;
    min-height: 64px;
    padding: 8px 7px;
}

.rider-stage-tool-button span {
    min-width: 0;
    white-space: normal;
}

.rider-stage-workspace {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.rider-stage-layout-board {
    position: relative;
    display: block;
    width: 100%;
    min-height: 360px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:
        linear-gradient(to right, color-mix(in srgb, var(--border) 35%, transparent) 1px, transparent 1px),
        linear-gradient(to bottom, color-mix(in srgb, var(--border) 35%, transparent) 1px, transparent 1px),
        color-mix(in srgb, var(--surface) 82%, #ffffff);
    background-size: 12.5% 25%, 12.5% 25%, auto;
    touch-action: none;
}

.rider-stage-backline,
.rider-stage-frontline {
    position: absolute;
    left: 14px;
    right: 14px;
    z-index: 0;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-align: center;
    text-transform: uppercase;
    pointer-events: none;
}

.rider-stage-backline {
    top: 12px;
}

.rider-stage-frontline {
    bottom: 12px;
    padding-top: 8px;
    border-top: 2px solid color-mix(in srgb, var(--accent) 35%, var(--border));
}

.rider-stage-item {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    align-items: center;
    justify-content: center;
    width: 92px;
    min-height: 78px;
    padding: 6px 7px;
    border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--border));
    border-radius: 10px;
    background: color-mix(in srgb, var(--surface) 88%, var(--accent-wash));
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
    color: var(--text);
    cursor: grab;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    transform: translate(-50%, -50%);
    user-select: none;
}

.rider-stage-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    flex: 0 0 auto;
}

.rider-stage-item:active {
    cursor: grabbing;
}

.rider-stage-item.is-selected {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent), 0 14px 28px rgba(15, 23, 42, 0.18);
}

.rider-stage-item span {
    display: block;
    max-width: 100%;
    overflow-wrap: break-word;
    hyphens: auto;
}

.rider-stage-empty {
    position: absolute;
    inset: 50% auto auto 50%;
    margin: 0;
    color: var(--muted);
    font-weight: 700;
    text-align: center;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.rider-stage-selected-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 78%, transparent);
}

.rider-stage-selected-panel[hidden] {
    display: none;
}

.rider-stage-readonly .rider-stage-layout-board {
    min-height: 420px;
    touch-action: auto;
}

.rider-stage-readonly .rider-stage-item {
    pointer-events: none;
}

.rider-stage-note {
    margin: 10px 0 0;
    color: var(--muted);
}

@media (max-width: 760px) {
    .rider-editor-steps {
        position: static;
        padding-top: 0;
    }

    .rider-editor-steps a {
        flex: 1 1 135px;
        justify-content: flex-start;
    }

    .rider-editor-section {
        scroll-margin-top: 96px;
    }

    .rider-section-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .rider-stage-editor-grid,
    .rider-stage-selected-panel {
        grid-template-columns: 1fr;
    }

    .rider-stage-toolbox {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: none;
    }

    .rider-stage-layout-board {
        min-height: 260px;
    }

    .rider-input-type-select {
        grid-template-columns: 38px minmax(0, 1fr);
        min-width: 190px;
    }

    .rider-input-source-choice-icon {
        width: 38px;
        height: 38px;
    }

    .rider-preview-page-heading h3,
    .rider-preview-header h2 {
        font-size: 1.55rem;
    }

    .rider-editor-form > .form-actions {
        width: 100%;
    }
}

@page rider-portrait {
    size: A4 portrait;
    margin: 14mm;
}

@media print {
    .site-header,
    .topbar,
    .site-footer,
    .rider-preview-actions,
    .rider-preview-builder {
        display: none !important;
    }

    body {
        background: #ffffff !important;
        color: #111827 !important;
    }

    .module-page.rider-preview-page {
        max-width: none;
        padding: 0;
    }

    .rider-document-preview {
        max-width: none;
        margin: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
        background: #ffffff;
    }

    .rider-preview-page-sheet {
        page: rider-portrait;
        max-width: none;
        min-height: auto;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #ffffff;
        box-shadow: none;
        break-after: page;
        page-break-after: always;
    }

    .rider-preview-page-sheet[hidden] {
        display: none !important;
    }

    .rider-preview-page-sheet:last-child {
        break-after: auto;
        page-break-after: auto;
    }

    .rider-stage-plan-frame,
    .rider-stage-plan-pdf {
        min-height: 150mm;
        border-color: #d1d5db;
    }

    .rider-stage-readonly .rider-stage-layout-board {
        min-height: 150mm;
        border-color: #d1d5db;
        background: #ffffff;
    }

    .rider-stage-item {
        box-shadow: none;
    }
}

.profile-service-readiness-actions {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.profile-service-readiness-actions a {
    min-height: 78px;
}

.profile-cooperation-followup-panel {
    margin: 18px 0;
}

.profile-cooperation-followup-list {
    display: grid;
    gap: 10px;
}

.profile-cooperation-followup-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 13px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--muted);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-cooperation-followup-card.is-ready {
    border-left-color: var(--success-text);
}

.profile-cooperation-followup-card.is-missing {
    border-left-color: #f59e0b;
}

.profile-cooperation-followup-card span {
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.profile-cooperation-followup-card h3 {
    margin: 3px 0 6px;
    font-size: 1rem;
}

.profile-cooperation-followup-card p {
    margin: 0 0 6px;
    color: var(--muted);
    line-height: 1.45;
}

.profile-cooperation-followup-card p:last-child {
    margin-bottom: 0;
}

@media (max-width: 720px) {
    .profile-cooperation-followup-card {
        grid-template-columns: 1fr;
    }

    .profile-cooperation-followup-card .ghost-link {
        justify-self: start;
    }
}

.admin-contact-panel {
    scroll-margin-top: 82px;
    margin-bottom: 14px;
    border-color: rgba(73, 211, 193, 0.5);
}

.admin-contact-form {
    max-width: 820px;
}

.admin-team-note {
    border-color: rgba(73, 211, 193, 0.28);
}

.admin-team-grid {
    display: grid;
    gap: 16px;
}

.admin-team-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.admin-team-card-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.admin-team-card-header h2,
.admin-team-card-header p {
    margin-bottom: 0;
}

.admin-team-statuses {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.admin-team-meta {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.admin-team-form {
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.admin-team-switches,
.admin-team-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

@media (max-width: 760px) {
    .admin-team-card-header,
    .admin-team-switches,
    .admin-team-fields {
        grid-template-columns: 1fr;
    }

    .admin-team-statuses {
        justify-content: flex-start;
    }
}

.dashboard-section {
    margin-top: 18px;
}

.meta-list {
    display: grid;
    gap: 10px;
    margin: 0;
}

.meta-list div {
    display: grid;
    gap: 2px;
}

.meta-list dt {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.meta-list dd {
    margin: 0;
}

.stacked-actions {
    margin-top: 18px;
}

.marketplace-review-admin-table {
    min-width: 1080px;
}

.marketplace-review-admin-table td p {
    margin: 8px 0 0;
}

.marketplace-review-admin-table .marketplace-review-context {
    color: var(--muted);
    font-size: 0.9rem;
}

.marketplace-review-admin-table .stacked-actions {
    margin-top: 0;
    display: grid;
    gap: 12px;
}

.marketplace-review-admin-table form {
    display: grid;
    gap: 8px;
}

.admin-bulk-form {
    display: grid;
    grid-template-columns: minmax(190px, 260px) minmax(240px, 1fr) auto;
    gap: 10px;
    align-items: end;
    margin: 0 0 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 78%, transparent);
    backdrop-filter: blur(14px);
}

.admin-bulk-form label {
    display: grid;
    gap: 6px;
}

@media (max-width: 760px) {
    .admin-bulk-form {
        grid-template-columns: 1fr;
    }

    .admin-bulk-form button {
        width: 100%;
    }
}

.moderation-report-table {
    min-width: 1000px;
}

.moderation-report-table td p {
    margin: 8px 0 0;
}

.support-ticket-table,
.support-admin-table {
    min-width: 1080px;
}

.support-ticket-table td p,
.support-admin-table td p {
    margin: 8px 0 0;
    color: var(--muted);
}

.support-admin-table .stacked-actions {
    margin-top: 0;
    display: grid;
    gap: 8px;
}

.support-admin-table form {
    display: grid;
}

.support-ticket-meta {
    display: grid;
    gap: 8px;
}

.support-ticket-meta p {
    margin-bottom: 0;
}

.support-related-line {
    font-size: 0.9rem;
}

.support-label-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.support-label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 24px;
    padding: 3px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--text);
    font-size: 0.78rem;
    font-weight: 800;
}

.support-label-blue,
.support-label-teal {
    border-color: rgba(73, 211, 193, 0.35);
    background: var(--accent-wash);
    color: var(--accent);
}

.support-label-green {
    border-color: rgba(95, 188, 122, 0.35);
    background: var(--success-bg);
    color: var(--success-text);
}

.support-label-purple {
    border-color: rgba(135, 117, 255, 0.35);
    background: rgba(135, 117, 255, 0.12);
    color: var(--accent);
}

.support-label-amber {
    border-color: rgba(255, 189, 89, 0.4);
    background: var(--warning-bg);
    color: var(--warning-text);
}

.support-label-red {
    border-color: rgba(239, 107, 107, 0.4);
    background: var(--danger-bg);
    color: var(--danger-text);
}

.support-label-checkbox-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.support-shortcut-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.support-shortcut {
    display: inline-flex;
    width: fit-content;
    min-height: 30px;
    align-items: center;
    padding: 5px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
    font-size: 0.84rem;
    font-weight: 800;
}

.support-shortcut:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.support-shortcut-admin {
    border-color: rgba(73, 211, 193, 0.35);
    background: var(--accent-wash);
    color: var(--accent);
}

.support-classification-panel {
    display: grid;
    gap: 18px;
}

.support-template-picker {
    display: grid;
    gap: 7px;
}

.support-template-picker-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

@media (max-width: 640px) {
    .support-template-picker-row {
        grid-template-columns: 1fr;
    }
}

.support-queue-summary .summary-pill {
    min-width: 150px;
}

.support-queue-badge,
.support-sla-badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    margin: 0 6px 5px 0;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--text);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.25;
}

.support-queue-urgent,
.support-sla-overdue {
    border-color: rgba(239, 107, 107, 0.4);
    background: var(--danger-bg);
    color: var(--danger-text);
}

.support-queue-team,
.support-sla-due_soon {
    border-color: rgba(255, 189, 89, 0.4);
    background: var(--warning-bg);
    color: var(--warning-text);
}

.support-queue-user,
.support-sla-ok {
    border-color: rgba(73, 211, 193, 0.35);
    background: var(--accent-wash);
    color: var(--accent);
}

.support-admin-table td small {
    display: block;
    color: var(--muted);
}

.support-label-editor {
    max-width: 640px;
}

.support-label-admin-list {
    display: grid;
    gap: 12px;
}

.support-label-admin-card {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) repeat(4, minmax(120px, 1fr)) auto auto;
    gap: 10px;
    align-items: end;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.support-label-admin-card label {
    display: grid;
    gap: 6px;
}

.support-label-admin-card p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.support-insight-filter {
    max-width: 360px;
}

.support-insight-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.support-insight-card {
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.support-insight-card span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.support-insight-card strong {
    color: var(--accent);
    font-size: 1.22rem;
}

.support-insight-columns {
    display: grid;
    gap: 14px;
}

.support-insight-columns + .support-insight-columns {
    margin-top: 14px;
}

.support-insight-table {
    min-width: 360px;
}

.support-upload-form {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.support-attachment-list strong {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.support-attachment-internal {
    border-color: var(--warning);
    background: var(--surface-strong);
}

.report-message,
.report-target-note {
    padding: 10px 12px;
    border-left: 3px solid var(--accent);
    border-radius: 8px;
    background: var(--soft-bg);
}

.report-action-form {
    display: grid;
    gap: 8px;
}

.danger-action {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.compact-table {
    box-shadow: none;
}

.timeline-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding-left: 20px;
}

.timeline-list li::marker {
    color: var(--accent);
}

.timeline-list span {
    display: block;
    color: var(--muted);
    font-size: 0.86rem;
}

.timeline-list p {
    margin: 4px 0 0;
}

.entity-card-list {
    display: grid;
    gap: 10px;
}

.entity-mini-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.entity-mini-card h3 {
    margin-bottom: 3px;
}

.entity-mini-card p {
    margin-bottom: 0;
}

.entity-mini-card a {
    color: var(--accent);
    font-weight: 700;
}

.booking-list {
    display: grid;
    gap: 12px;
}

.booking-overview-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.booking-overview-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 72%, transparent);
}

.booking-overview-pill span {
    min-width: 0;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.booking-overview-pill strong {
    flex: 0 0 auto;
    color: var(--text);
    font-size: 1.05rem;
}

.booking-overview-pill.is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
}

.booking-overview-pill.is-warning strong {
    color: var(--warning-text);
}

.booking-overview-pill.is-success strong {
    color: var(--success-text);
}

.booking-overview-pill.is-muted {
    opacity: 0.82;
}

.marketplace-grid,
.marketplace-list {
    display: grid;
    gap: 12px;
}

.progressive-list {
    display: grid;
    gap: 16px;
}

.progressive-list-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    align-items: center;
    padding-top: 4px;
}

.progressive-list-status {
    min-height: 1.35em;
    color: var(--muted);
    font-size: 0.9rem;
}

.progressive-list-actions a[aria-busy="true"] {
    pointer-events: none;
    opacity: 0.72;
}

.marketplace-card,
.marketplace-manage-card {
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.marketplace-card > *,
.marketplace-manage-card > * {
    min-width: 0;
}

.marketplace-card-image,
.marketplace-manage-image {
    display: block;
    overflow: hidden;
    background: var(--soft-bg);
}

.marketplace-card-image {
    margin: -18px -18px 14px;
    border-radius: 8px 8px 0 0;
    aspect-ratio: 16 / 10;
}

.marketplace-manage-summary {
    min-width: 0;
}

.marketplace-manage-image {
    width: min(180px, 100%);
    margin-bottom: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    aspect-ratio: 4 / 3;
}

.marketplace-card-image img,
.marketplace-manage-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.marketplace-card-image .visual-placeholder,
.marketplace-manage-image .visual-placeholder {
    height: 100%;
    min-height: 0;
    border: 0;
    border-radius: 0;
}

.marketplace-card h2,
.marketplace-manage-card h2 {
    margin-bottom: 6px;
}

.marketplace-card h2 a,
.marketplace-manage-card h2 a {
    color: var(--text);
}

.marketplace-card h2 a:hover,
.marketplace-manage-card h2 a:hover {
    color: var(--accent);
}

.work-match-line {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 10px;
}

.work-match-note {
    display: grid;
    gap: 6px;
    margin: 0 0 10px;
    padding: 9px;
    border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-wash) 42%, var(--surface));
}

.work-match-note > div:first-child,
.work-match-detail-head,
.work-profile-status-head {
    display: flex;
    gap: 10px;
    align-items: start;
    justify-content: space-between;
}

.work-match-note > div:first-child span,
.work-match-detail-head > strong,
.work-profile-status-head > strong:last-child {
    color: var(--accent);
    font-weight: 900;
}

.work-match-note p {
    margin: 0;
    color: var(--muted);
    font-size: 0.84rem;
    line-height: 1.4;
}

.work-card-action,
.work-card-next {
    display: grid;
    gap: 3px;
    margin: 0 0 10px;
    padding: 8px 9px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--muted);
    border-radius: 8px;
    background: color-mix(in srgb, var(--soft-bg) 72%, transparent);
}

.work-card-action strong,
.work-card-next strong {
    color: var(--text);
}

.work-card-action span,
.work-card-next {
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.4;
}

.work-card-next small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    line-height: 1.4;
}

.work-card-action.tone-warning,
.work-card-next.tone-warning {
    border-left-color: #f59e0b;
}

.work-card-action.tone-success,
.work-card-next.tone-success {
    border-left-color: #22c55e;
}

.work-match-reasons,
.work-profile-visible-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.work-match-reasons span,
.work-profile-visible-list span {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
}

.work-match-detail-panel,
.work-profile-status-panel,
.work-profile-privacy-panel {
    display: grid;
    gap: 12px;
}

.work-action-panel {
    display: grid;
    gap: 12px;
    border-left: 4px solid var(--muted);
}

.work-action-panel.tone-warning {
    border-left-color: #f59e0b;
}

.work-action-panel.tone-success {
    border-left-color: #22c55e;
}

.work-action-panel h2,
.work-action-panel p {
    margin-top: 0;
}

.work-action-panel p:last-child {
    margin-bottom: 0;
    color: var(--muted);
}

.work-action-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.work-action-meta span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 30px;
    padding: 4px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.work-action-meta strong,
.work-action-meta em {
    color: var(--text);
    font-style: normal;
}

.work-match-detail-head p,
.work-profile-privacy-panel p {
    margin: 0;
    color: var(--muted);
}

.work-match-detail-grid,
.work-profile-checklist {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
}

.work-match-detail-grid span,
.work-profile-checklist span {
    display: grid;
    gap: 4px;
    padding: 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.work-match-detail-grid .is-done,
.work-profile-checklist .is-done {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
}

.work-match-detail-grid .is-done strong,
.work-profile-checklist .is-done strong {
    color: var(--success-text);
}

.work-match-detail-grid .is-missing strong,
.work-profile-checklist .is-missing strong {
    color: var(--muted);
}

.work-match-detail-grid small,
.work-profile-checklist small {
    color: var(--muted);
    line-height: 1.4;
}

.work-profile-status-panel,
.work-profile-privacy-panel {
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-wash) 36%, var(--surface));
}

.work-profile-status-head span {
    color: var(--muted);
}

.work-profile-meter {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--surface);
}

.work-profile-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--accent);
}

.work-profile-privacy-panel > div:first-child {
    display: grid;
    gap: 4px;
}

.work-application-privacy-card {
    align-items: start;
}

.work-application-privacy-card > div {
    display: grid;
    gap: 6px;
}

.work-application-preview {
    display: grid;
    gap: 14px;
    padding: 14px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--muted);
    border-radius: 8px;
    background: var(--soft-bg);
}

.work-application-preview.tone-warning {
    border-left-color: #f59e0b;
}

.work-application-preview.tone-success {
    border-left-color: #22c55e;
}

.work-application-preview-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.work-application-preview-head h3 {
    margin: 0 0 6px;
    font-size: 1.05rem;
}

.work-application-preview-head p,
.work-application-preview-section small {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.work-application-preview-head .ghost-link {
    flex: 0 0 auto;
}

.work-application-preview-section {
    display: grid;
    gap: 8px;
}

.work-application-missing-list,
.work-application-checks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
}

.work-application-missing-list > span,
.work-application-checks > span {
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.work-application-checks em {
    color: var(--text);
    font-style: normal;
    font-weight: 700;
}

.work-application-review-summary {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

.work-application-review-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 8px;
    margin: 0;
}

.work-application-review-stats div {
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.work-application-review-stats dt {
    color: var(--muted);
    font-size: 0.8rem;
}

.work-application-review-stats dd {
    margin: 0;
    color: var(--accent);
    font-size: 1.25rem;
    font-weight: 800;
}

.work-application-review-attention {
    padding: 12px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--muted);
    border-radius: 8px;
    background: var(--surface);
}

.work-application-review-attention.tone-warning,
.booking-card.work-application-card.tone-warning {
    border-left-color: #f59e0b;
}

.work-application-review-attention.tone-success,
.booking-card.work-application-card.tone-success {
    border-left-color: #22c55e;
}

.work-application-review-attention h3 {
    margin: 0 0 6px;
    font-size: 1rem;
}

.work-application-review-attention p,
.work-application-card-note {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.work-application-list {
    gap: 12px;
}

.booking-card.work-application-card {
    border-left: 4px solid var(--muted);
}

.work-application-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 8px;
}

.work-application-card-head h3 {
    margin: 7px 0 0;
}

.work-application-card-head > strong {
    flex: 0 0 auto;
    color: var(--text);
    font-size: 0.92rem;
}

.work-application-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 10px 0;
}

.work-application-facts span {
    padding: 5px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.work-application-profile-card {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
    display: grid;
    gap: 7px;
}

.work-application-profile-card h4,
.work-application-profile-card p {
    margin: 0;
}

.work-application-profile-card h4 {
    font-size: 1rem;
}

.work-application-profile-card .eyebrow {
    margin: 0;
}

.work-application-message-helper {
    margin: 8px 0 10px;
}

.work-card-save-form {
    display: flex;
    justify-content: flex-start;
    margin: 12px 0 0;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.work-card-save-form button {
    min-height: 32px;
    padding: 6px 9px;
    font-size: 0.8rem;
}

.work-saved-note-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(280px, 1.2fr);
    gap: 22px;
    align-items: start;
}

.work-saved-note-panel h2,
.work-saved-note-panel p,
.work-saved-note-panel form {
    margin-top: 0;
}

.work-alert-settings {
    display: grid;
    gap: 10px;
}

.work-alert-settings > p {
    margin: 0;
    color: var(--muted);
}

.work-alert-options {
    display: grid;
    border-top: 1px solid var(--border);
}

.work-alert-options > label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 11px 0;
    border-bottom: 1px solid var(--border);
    cursor: pointer;
}

.work-alert-options input {
    width: auto;
    margin-top: 3px;
}

.work-alert-options span {
    display: grid;
    gap: 2px;
}

.work-alert-options small {
    color: var(--muted);
    line-height: 1.4;
}

.work-overview-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 2px 0 18px;
    padding: 0;
    border-block: 1px solid var(--border);
}

.work-overview-metrics div {
    min-width: 0;
    padding: 12px 16px;
    border-right: 1px solid var(--border);
}

.work-overview-metrics div:first-child {
    padding-left: 0;
}

.work-overview-metrics div:last-child {
    padding-right: 0;
    border-right: 0;
}

.work-overview-metrics dt {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.3;
}

.work-overview-metrics dd {
    margin: 3px 0 0;
    color: var(--text);
    font-size: 1.28rem;
    font-weight: 900;
}

.work-overview-metrics .has-attention dd {
    color: var(--warning-text);
}

.work-overview-metrics .is-success dd {
    color: var(--success-text);
}

.work-overview-attention,
.work-overview-section,
.work-saved-section {
    display: grid;
    gap: 14px;
}

.work-overview-calm {
    margin: 0;
    color: var(--muted);
}

.work-attention-list,
.work-overview-list {
    display: grid;
    border-top: 1px solid var(--border);
}

.work-attention-row {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    min-width: 0;
    padding: 11px 0;
    border-bottom: 1px solid var(--border);
}

.work-attention-marker {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--muted);
}

.work-attention-row.tone-warning .work-attention-marker {
    background: var(--warning-text);
}

.work-attention-row.tone-success .work-attention-marker {
    background: var(--success-text);
}

.work-attention-row > div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.work-attention-row strong,
.work-attention-row span {
    overflow-wrap: anywhere;
}

.work-attention-row > div > span {
    color: var(--muted);
    font-size: 0.84rem;
}

.work-attention-row .ghost-link {
    white-space: nowrap;
}

.work-overview-recommendation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding-top: 13px;
    border-top: 1px solid var(--border);
}

.work-overview-recommendation > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.work-overview-recommendation span {
    color: var(--muted);
    font-size: 0.84rem;
    line-height: 1.4;
}

.work-overview-recommendation > a {
    font-weight: 800;
    white-space: nowrap;
}

.work-overview-recommendation.tone-success > a {
    color: var(--success-text);
}

.work-overview-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    min-width: 0;
    padding: 13px 0;
    border-bottom: 1px solid var(--border);
}

.work-overview-row.is-history {
    opacity: 0.82;
}

.work-overview-row-main {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.work-overview-row-head {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 10px;
    align-items: center;
}

.work-overview-row h3 {
    margin: 0;
    font-size: 1rem;
}

.work-overview-row h3 a {
    color: var(--text);
}

.work-overview-row h3 a:hover {
    color: var(--accent);
}

.work-overview-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
}

.work-overview-row.tone-warning .work-overview-status {
    border-color: color-mix(in srgb, var(--warning-text) 45%, var(--border));
    color: var(--warning-text);
}

.work-overview-row.tone-success .work-overview-status {
    border-color: color-mix(in srgb, var(--success-text) 45%, var(--border));
    color: var(--success-text);
}

.work-overview-meta,
.work-overview-note,
.work-overview-decision {
    margin: 0;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.work-overview-note {
    color: var(--text);
}

.work-overview-decision {
    padding-left: 9px;
    border-left: 3px solid var(--border);
}

.work-overview-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    justify-content: flex-end;
}

.work-overview-row-actions form {
    margin: 0;
}

.work-overview-row-actions .ghost-link,
.work-overview-row-actions button {
    min-height: 32px;
    padding: 6px 9px;
    font-size: 0.8rem;
}

.work-saved-note-editor {
    width: min(100%, 680px);
}

.work-saved-note-editor > summary {
    width: fit-content;
    color: var(--accent);
    font-size: 0.8rem;
    font-weight: 800;
    cursor: pointer;
}

.work-saved-note-editor > form {
    margin-top: 10px;
}

.work-saved-note-editor textarea {
    min-height: 90px;
}

.work-overview-history > summary {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    cursor: pointer;
    list-style: none;
}

.work-overview-history > summary::-webkit-details-marker {
    display: none;
}

.work-overview-history > summary > span {
    display: grid;
    gap: 2px;
}

.work-overview-history > summary small {
    color: var(--muted);
    font-weight: 500;
}

.work-overview-history > summary b {
    color: var(--muted);
}

.work-overview-history-content {
    display: grid;
    gap: 20px;
    margin-top: 18px;
}

.work-overview-history-content h3 {
    margin: 0 0 8px;
    font-size: 0.95rem;
}

@media (max-width: 720px) {
    .work-saved-note-panel {
        grid-template-columns: minmax(0, 1fr);
    }

    .work-application-preview-head {
        flex-direction: column;
    }

    .work-application-card-head {
        flex-direction: column;
    }

    .work-overview-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .work-overview-metrics div,
    .work-overview-metrics div:first-child,
    .work-overview-metrics div:last-child {
        padding: 10px;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .work-overview-metrics div:nth-child(odd) {
        padding-left: 0;
        border-right: 1px solid var(--border);
    }

    .work-overview-metrics div:nth-child(even) {
        padding-right: 0;
    }

    .work-overview-metrics div:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .work-attention-row,
    .work-overview-recommendation,
    .work-overview-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .work-attention-row {
        padding-left: 18px;
        position: relative;
    }

    .work-attention-marker {
        position: absolute;
        top: 16px;
        left: 0;
    }

    .work-attention-row .ghost-link,
    .work-overview-recommendation > a {
        justify-self: start;
        white-space: normal;
    }

    .work-overview-row-actions {
        justify-content: flex-start;
    }
}

.marketplace-card p:last-child,
.marketplace-manage-card p:last-child {
    margin-bottom: 0;
}

.marketplace-rating-line {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    color: var(--muted);
}

.marketplace-rating-line .star-rating {
    font-size: 1rem;
}

.marketplace-rating-copy {
    min-width: 0;
}

.marketplace-renewed-line {
    color: var(--muted);
    font-size: 0.92rem;
    margin-top: -4px;
}

.marketplace-safety-panel {
    border-left: 4px solid var(--accent);
    background: color-mix(in srgb, var(--accent) 8%, var(--surface));
    border-radius: 0 8px 8px 0;
    padding: 12px 14px;
}

.marketplace-safety-panel summary {
    cursor: pointer;
    display: grid;
    gap: 4px;
    list-style: none;
}

.marketplace-safety-panel summary::-webkit-details-marker {
    display: none;
}

.marketplace-safety-panel summary span {
    font-weight: 700;
}

.marketplace-safety-panel summary small {
    color: var(--muted);
    line-height: 1.45;
}

.marketplace-safety-panel-body {
    display: grid;
    gap: 12px;
    margin-top: 12px;
}

.marketplace-safety-panel ul,
.marketplace-safety-page .clean-list {
    margin: 0;
    padding-left: 20px;
}

.marketplace-safety-panel li,
.marketplace-safety-page li {
    margin: 6px 0;
}

.marketplace-safety-page {
    display: grid;
    gap: 18px;
}

.marketplace-safety-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.marketplace-safety-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.marketplace-safety-card-head {
    display: flex;
    gap: 10px;
    align-items: center;
}

.marketplace-safety-visual {
    --safety-visual-bg: var(--accent-wash);
    --safety-visual-text: var(--accent);
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--safety-visual-text) 38%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--safety-visual-bg) 76%, var(--surface));
    color: var(--safety-visual-text);
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1;
}

.marketplace-safety-visual.is-danger {
    --safety-visual-bg: var(--danger-bg);
    --safety-visual-text: var(--danger-text);
}

.marketplace-safety-visual.is-question {
    --safety-visual-bg: var(--warning-bg);
    --safety-visual-text: var(--warning-text);
}

.marketplace-safety-visual.is-pressure {
    --safety-visual-bg: var(--accent-wash);
    --safety-visual-text: var(--accent);
}

.marketplace-safety-visual.is-price {
    --safety-visual-bg: var(--success-bg);
    --safety-visual-text: var(--success-text);
}

.marketplace-safety-grid h3 {
    margin: 0;
    font-size: 1rem;
}

.marketplace-safety-grid p,
.marketplace-safety-overview p {
    color: var(--muted);
}

.marketplace-safety-columns {
    align-items: start;
}

.marketplace-detail-page {
    display: grid;
    gap: 18px;
}

.marketplace-detail-page .module-header {
    order: 1;
}

.marketplace-detail-page > .alert {
    order: 2;
}

.marketplace-detail-page .marketplace-detail-gallery {
    order: 3;
}

.marketplace-detail-page .marketplace-rating-panel {
    order: 5;
}

.marketplace-detail-page .detail-grid {
    order: 4;
}

.marketplace-detail-gallery {
    display: grid;
    gap: 10px;
}

.marketplace-detail-hero-image,
.marketplace-detail-thumbs img {
    width: 100%;
    display: block;
    object-fit: cover;
    border: 1px solid var(--border);
    background: var(--soft-bg);
}

.marketplace-detail-hero-image {
    max-height: 560px;
    border-radius: 8px;
    aspect-ratio: 16 / 9;
    box-shadow: var(--shadow);
}

.marketplace-detail-gallery > .visual-placeholder {
    min-height: 280px;
}

.marketplace-detail-thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px;
}

.marketplace-detail-thumbs img {
    border-radius: 8px;
    aspect-ratio: 4 / 3;
}

.marketplace-filter {
    grid-template-columns: 1fr;
}

.marketplace-rating-panel {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.public-user-page .marketplace-rating-panel {
    margin-top: 0;
}

.public-user-page .detail-panel,
.public-user-page .detail-grid,
.public-user-page .public-user-grid {
    margin-top: 0;
    margin-bottom: 0;
}

.public-user-grid {
    align-items: start;
    gap: 18px;
}

.rating-summary-card,
.rating-form-card,
.review-card {
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.rating-summary-card {
    display: grid;
    gap: 16px;
}

.rating-score {
    display: grid;
    gap: 4px;
    align-content: center;
    padding: 14px;
    border-radius: 8px;
    background: var(--soft-bg);
}

.rating-score strong {
    font-size: 1.22rem;
}

.star-rating {
    vertical-align: middle;
}

.visual-rating {
    display: inline-flex;
    gap: 2px;
    align-items: center;
    min-height: 24px;
}

.visual-rating .visual-rating-star {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    overflow: visible;
    border-radius: 0;
    background: transparent;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.22));
}

.visual-rating-field {
    display: grid;
    gap: 8px;
    min-width: 0;
    margin: 2px 0;
    padding: 0;
    border: 0;
}

.visual-rating-field + .visual-rating-field {
    margin-top: 6px;
}

.visual-rating-field legend {
    margin: 0;
    padding: 0;
    color: var(--text);
    font-weight: 800;
}

.visual-rating-input {
    display: flex;
    justify-content: flex-end;
    gap: 2px;
    min-height: var(--bh-control-height, 44px);
}

.visual-rating-input input {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    opacity: 0;
    cursor: pointer;
}

.visual-rating-input label {
    position: relative;
    width: var(--bh-control-height, 44px);
    height: var(--bh-control-height, 44px);
    flex: 0 0 var(--bh-control-height, 44px);
    display: grid;
    place-items: center;
    border-radius: 6px;
    cursor: pointer;
    transition: transform 140ms ease, background-color 140ms ease;
}

.visual-rating-input label:hover {
    transform: translateY(-2px);
    background: color-mix(in srgb, var(--accent) 10%, transparent);
}

.visual-rating-input .visual-rating-choice {
    position: absolute;
    inset: 3px;
    width: 36px;
    height: 36px;
    overflow: visible;
    border-radius: 0;
    background: transparent;
    pointer-events: none;
    transition: opacity 120ms ease, transform 120ms ease;
}

.visual-rating-input .visual-rating-choice-filled {
    opacity: 0;
    transform: scale(0.92);
}

.visual-rating-input label:has(input:checked) .visual-rating-choice-empty,
.visual-rating-input label:has(~ label input:checked) .visual-rating-choice-empty,
.visual-rating-input label:hover .visual-rating-choice-empty,
.visual-rating-input label:has(~ label:hover) .visual-rating-choice-empty {
    opacity: 0;
}

.visual-rating-input label:has(input:checked) .visual-rating-choice-filled,
.visual-rating-input label:has(~ label input:checked) .visual-rating-choice-filled,
.visual-rating-input label:hover .visual-rating-choice-filled,
.visual-rating-input label:has(~ label:hover) .visual-rating-choice-filled {
    opacity: 1;
    transform: scale(1);
}

.visual-rating-input label:has(input:focus-visible) {
    outline: 3px solid color-mix(in srgb, var(--accent) 72%, transparent);
    outline-offset: 2px;
}

.visual-rating-input-ten {
    gap: 0;
    justify-content: flex-start;
    max-width: 100%;
    min-height: var(--bh-control-height, 44px);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.visual-rating-input-ten label {
    width: var(--bh-control-height, 44px);
    height: var(--bh-control-height, 44px);
    flex-basis: var(--bh-control-height, 44px);
}

.visual-rating-input-ten .visual-rating-choice {
    inset: 7px;
    width: 30px;
    height: 30px;
}

.visual-rating-input-ten label > span {
    position: relative;
    z-index: 1;
    align-self: end;
    min-width: 16px;
    padding: 0 2px;
    border-radius: 3px;
    background: color-mix(in srgb, var(--surface) 86%, transparent);
    color: var(--text);
    font-size: 0.64rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.rating-breakdown {
    display: grid;
    gap: 10px;
}

.rating-breakdown div {
    display: grid;
    gap: 3px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.rating-breakdown span,
.rating-score small,
.review-card p {
    color: var(--muted);
}

.reviewer-status-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: center;
    margin-top: 10px;
}

.reviewer-status-stack small {
    color: var(--muted);
}

.reviewer-profile-signals {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.reviewer-signal-label {
    display: block;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 800;
}

.reviewer-focus-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.reviewer-focus-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text);
    font-size: 0.9rem;
    font-weight: 700;
}

.reviewer-signal-list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
}

.rating-content-grid {
    display: grid;
    gap: 14px;
}

.rating-review-disclosure {
    display: grid;
    gap: 12px;
}

.rating-review-disclosure summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
    color: var(--text);
    cursor: pointer;
    list-style: none;
}

.rating-review-disclosure summary::-webkit-details-marker {
    display: none;
}

.rating-review-disclosure summary span {
    font-weight: 800;
}

.rating-review-disclosure summary small {
    color: var(--muted);
}

.rating-review-disclosure[open] summary {
    border-color: var(--accent);
}

.rating-review-disclosure[open] .rating-content-grid {
    margin-top: 12px;
}

.rating-reviews h3,
.rating-form-card h3 {
    margin-bottom: 8px;
}

.review-list {
    display: grid;
    gap: 12px;
}

.review-card {
    box-shadow: none;
}

.review-card > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 6px;
}

.review-card a {
    color: var(--accent);
    font-weight: 700;
}

.reviewer-review-card-head {
    justify-content: space-between;
    align-items: flex-start;
}

.reviewer-review-title {
    display: grid;
    gap: 4px;
    min-width: min(100%, 260px);
}

.reviewer-review-title small {
    color: var(--muted);
}

.reviewer-review-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.status-form {
    display: grid;
    gap: 10px;
    align-content: start;
}

.marketplace-manage-actions {
    display: grid;
    gap: 10px;
    align-content: start;
}

.renew-form button {
    width: 100%;
}

.renew-form button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.renew-form .form-help {
    margin: 6px 0 0;
}

.marketplace-deals-page {
    padding-bottom: 56px;
}

.status-summary.marketplace-deal-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 22px;
}

.marketplace-deal-checklist,
.marketplace-safe-contact-note,
.marketplace-deal-next-steps {
    display: grid;
    gap: 10px;
}

.marketplace-deal-next-steps {
    margin-top: 16px;
}

.marketplace-next-step-list {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.marketplace-next-step {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
}

.marketplace-next-step span {
    color: var(--muted);
}

.marketplace-next-step small {
    color: var(--accent);
    font-weight: 800;
}

.marketplace-deal-checklist {
    margin-top: 16px;
}

.marketplace-deal-checklist h2,
.marketplace-safe-contact-note strong {
    margin: 0;
}

.marketplace-deal-checklist ul,
.marketplace-safe-contact-note ul {
    margin: 0;
}

.deal-section {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

.section-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: end;
}

.section-heading h2 {
    margin: 0;
}

.marketplace-deal-list {
    display: grid;
    border-top: 1px solid var(--border);
}

.marketplace-deal-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, 260px);
    gap: 16px;
    padding: 15px 4px;
    border-bottom: 1px solid var(--border);
}

.marketplace-deal-main {
    min-width: 0;
}

.marketplace-deal-row h3 {
    margin: 0 0 5px;
    font-size: 1.05rem;
}

.marketplace-deal-row h3 a {
    color: var(--text);
}

.marketplace-deal-row h3 a:hover {
    color: var(--accent);
}

.marketplace-deal-row p {
    margin-bottom: 5px;
}

.marketplace-deal-meta,
.marketplace-deal-hint {
    color: var(--muted);
}

.marketplace-deal-controls {
    display: grid;
    gap: 9px;
    align-content: start;
    justify-items: stretch;
}

.marketplace-deal-controls > .status-pill {
    justify-self: start;
}

.marketplace-deal-controls form {
    margin: 0;
}

.marketplace-deal-controls > form button,
.marketplace-deal-controls > .button-link {
    width: 100%;
    justify-content: center;
}

.marketplace-deal-more {
    border-top: 1px solid var(--border);
    padding-top: 7px;
}

.marketplace-deal-more > summary,
.marketplace-risk-report > summary {
    color: var(--accent);
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 800;
}

.marketplace-deal-more-content {
    display: grid;
    gap: 12px;
    margin-top: 10px;
}

.marketplace-deal-more-content > form,
.marketplace-risk-report form {
    display: grid;
    gap: 9px;
}

.marketplace-risk-report {
    border-top: 1px solid var(--border);
    padding-top: 9px;
}

.marketplace-risk-report[open] > summary {
    margin-bottom: 10px;
}

.marketplace-completion-confirmation {
    display: grid;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.marketplace-completion-confirmation p,
.marketplace-completion-confirmation form {
    margin: 0;
}

.deal-message-preview {
    padding: 10px 12px;
    border-left: 3px solid var(--accent);
    background: var(--soft-bg);
    border-radius: 8px;
}

.deal-muted-note {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 700;
}

.buyer-review-form {
    width: min(100%, 320px);
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.buyer-review-form summary {
    color: var(--accent);
    font-weight: 800;
    cursor: pointer;
}

.buyer-review-form[open] summary {
    margin-bottom: 12px;
}

.marketplace-deal-action {
    width: min(100%, 320px);
    padding-top: 4px;
    border-top: 1px solid var(--border);
}

.marketplace-deal-action summary {
    color: var(--accent);
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 800;
}

.marketplace-deal-action[open] summary {
    margin-bottom: 10px;
}

.marketplace-deal-action .form-stack + .form-stack {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.account-deletion-section {
    margin-top: 20px;
    border-color: color-mix(in srgb, var(--danger-text) 35%, var(--border));
}

.account-deletion-form {
    max-width: 620px;
}

.contact-note {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.marketplace-deal-box {
    display: grid;
    gap: 12px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.marketplace-deal-box h3 {
    margin-bottom: 0;
}

.marketplace-contact-details,
.marketplace-report-box,
.marketplace-interaction-card {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.marketplace-report-box {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.compact-report {
    margin-top: 12px;
    padding: 12px;
    background: var(--surface);
}

.marketplace-contact-details summary,
.marketplace-report-box summary {
    font-weight: 800;
    cursor: pointer;
}

.marketplace-report-box > summary {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: var(--bh-control-height, 44px);
    padding-block: 10px;
}

.marketplace-report-box > p {
    margin-bottom: 0;
    color: var(--muted);
}

.marketplace-contact-details form,
.marketplace-report-box form {
    margin-top: 12px;
}

.marketplace-interaction-list {
    display: grid;
    gap: 10px;
}

.marketplace-interaction-card {
    display: grid;
    gap: 10px;
}

.marketplace-interaction-card > div:first-child {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
}

.marketplace-interaction-card span {
    color: var(--muted);
}

.marketplace-interaction-card p {
    margin-bottom: 0;
}

.marketplace-interaction-card form {
    margin: 0;
}

.booking-card {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.booking-card-with-signal {
    border-left-width: 4px;
}

.booking-card-with-signal.is-warning {
    border-left-color: var(--warning-text);
}

.booking-card-with-signal.is-success {
    border-left-color: var(--success-text);
}

.booking-card-with-signal.is-muted {
    border-left-color: var(--muted);
}

.booking-card > * {
    min-width: 0;
}

.booking-card > :last-child {
    margin-bottom: 0;
}

.booking-card h2 {
    margin-bottom: 5px;
}

.booking-card h2 a {
    color: var(--text);
}

.booking-card h2 a:hover {
    color: var(--accent);
}

.booking-card-side {
    display: grid;
    gap: 8px;
    align-content: start;
}

.booking-card-side p {
    margin-bottom: 0;
}

.booking-card-signal {
    display: grid;
    gap: 2px;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.booking-card-signal strong {
    color: var(--text);
    font-size: 0.95rem;
}

.booking-card-signal span,
.booking-card-checks span {
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.booking-card-signal.is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
    background: color-mix(in srgb, var(--warning-bg) 58%, var(--surface));
}

.booking-card-signal.is-warning strong {
    color: var(--warning-text);
}

.booking-card-signal.is-success {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
    background: color-mix(in srgb, var(--success-bg) 58%, var(--surface));
}

.booking-card-signal.is-success strong {
    color: var(--success-text);
}

.booking-card-signal.is-muted strong {
    color: var(--muted);
}

.booking-card-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.booking-card-checks span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--soft-bg) 72%, transparent);
    font-weight: 800;
}

.booking-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.booking-card-actions .ghost-link {
    min-height: 30px;
    padding: 6px 9px;
    font-size: 0.82rem;
}

.booking-request-intro,
.profile-request-panel,
.profile-claim-panel {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--soft-bg) 82%, transparent);
    backdrop-filter: blur(16px);
}

.booking-request-intro h2,
.profile-request-panel h2,
.profile-claim-panel h2 {
    margin-bottom: 4px;
    font-size: 1.25rem;
}

.booking-request-intro p:last-child,
.profile-request-panel p:last-child,
.profile-claim-panel p:last-child {
    margin-bottom: 0;
}

.profile-claim-panel {
    grid-template-columns: minmax(230px, 0.42fr) minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    padding: 24px;
}

.profile-claim-panel .button-link,
.profile-claim-panel .ghost-link {
    justify-self: start;
}

.profile-claim-state {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.profile-claim-state span {
    color: var(--muted);
    font-size: 0.9rem;
}

.profile-claim-form {
    min-width: 0;
    padding-left: 24px;
    border-left: 1px solid var(--border);
}

.ownership-claim-form {
    gap: 18px;
}

.ownership-claim-form-intro {
    display: grid;
    gap: 5px;
}

.ownership-claim-form-intro p,
.ownership-claim-form-actions small {
    margin: 0;
    color: var(--muted);
}

.ownership-claim-form input[type="file"] {
    min-height: 48px;
    padding: 10px;
}

.ownership-claim-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.ownership-claim-form-actions small {
    flex: 1 1 260px;
    line-height: 1.5;
}

.ownership-claim-form-actions button {
    flex: 0 0 auto;
}

@media (max-width: 900px) {
    .profile-claim-panel {
        grid-template-columns: 1fr;
    }

    .profile-claim-form {
        padding-top: 20px;
        padding-left: 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }
}

@media (max-width: 640px) {
    .profile-claim-panel {
        gap: 18px;
        padding: 18px;
    }

    .ownership-claim-form-actions button {
        width: 100%;
    }
}

.booking-request-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.booking-request-benefits span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.booking-target-note {
    display: grid;
    gap: 6px;
    padding: 12px;
    border-left: 3px solid var(--accent);
    background: var(--accent-wash);
}

.booking-target-note p {
    margin: 0;
}

.booking-supply-call-links {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 7px;
}

.booking-supply-call-guidance {
    display: grid;
    gap: 10px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-wash) 48%, var(--surface));
}

.booking-supply-call-guidance strong {
    font-size: 0.95rem;
}

.booking-supply-call-guidance p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.booking-supply-call-checklist,
.booking-supply-call-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.booking-supply-call-checklist span {
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.booking-supply-call-checklist .is-done {
    border-color: color-mix(in srgb, var(--success-text) 38%, var(--border));
    color: var(--success-text);
}

.booking-supply-call-checklist .is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 38%, var(--border));
    color: var(--warning-text);
}

.booking-supply-call-actions {
    align-items: center;
}

.booking-supply-call-actions form {
    margin: 0;
}

.booking-post-event-panel {
    display: grid;
    gap: 12px;
    margin-top: 14px;
    padding: 13px;
    border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--soft-bg) 82%, var(--accent) 18%);
}

.booking-post-event-panel > div:first-child {
    display: grid;
    gap: 5px;
}

.booking-post-event-panel strong {
    font-size: 0.95rem;
}

.booking-post-event-panel p {
    margin: 0;
    color: var(--muted);
}

.booking-post-event-checklist {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
    gap: 8px;
}

.booking-post-event-checklist span {
    display: grid;
    gap: 4px;
    padding: 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.booking-post-event-checklist .is-done {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
}

.booking-post-event-checklist .is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
}

.booking-post-event-checklist small {
    color: var(--muted);
    line-height: 1.4;
}

.booking-post-event-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.booking-post-event-actions form {
    margin: 0;
}

.booking-review-section {
    display: grid;
    gap: 14px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.booking-review-heading,
.booking-review-row,
.profile-booking-review-row {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    justify-content: space-between;
}

.booking-review-heading > div,
.booking-review-row > div:first-child {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.booking-review-heading p,
.booking-review-row p,
.booking-review-row span {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

.booking-review-list {
    border-top: 1px solid var(--border);
}

.booking-review-row {
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
}

.booking-review-score {
    display: grid;
    gap: 4px;
    flex: 0 0 auto;
    justify-items: end;
    text-align: right;
}

.booking-review-score small {
    max-width: 180px;
    color: var(--muted);
}

.booking-review-form {
    display: grid;
    gap: 12px;
}

.booking-review-form > p {
    margin: 0;
}

.booking-review-questions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.booking-review-form button {
    justify-self: start;
}

.booking-review-admin-action {
    display: grid;
    gap: 7px;
    margin-top: 8px;
}

.booking-review-admin-action input[type="text"] {
    width: min(260px, 100%);
}

.data-table td .booking-review-admin-rating {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 1px;
    margin-top: 5px;
    color: inherit;
    white-space: nowrap;
}

.data-table td .booking-review-admin-rating .visual-rating-star {
    display: inline-flex;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 0;
    color: inherit;
}

.document-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.document-list a {
    display: grid;
    gap: 3px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.document-list a:hover {
    border-color: var(--accent);
}

.document-list span {
    color: var(--muted);
    font-size: 0.88rem;
}

.booking-rider-source-list {
    display: grid;
    gap: 0;
    margin: 16px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.booking-rider-source-head {
    display: grid;
    gap: 4px;
    padding: 12px 0;
}

.booking-rider-source-head h3 {
    margin: 0;
}

.booking-rider-source-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid var(--border);
}

.booking-rider-source-row > div:first-child {
    display: grid;
    gap: 4px;
    min-width: min(100%, 260px);
}

.booking-rider-source-row strong {
    color: var(--text);
}

.booking-rider-source-row span {
    color: var(--muted);
    font-size: 0.9rem;
}

.booking-rider-source-row form {
    margin: 0;
}

.notification-list {
    display: grid;
    gap: 12px;
}

.notification-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.notification-card.is-unread {
    border-color: rgba(73, 211, 193, 0.55);
    background:
        linear-gradient(135deg, rgba(73, 211, 193, 0.08), transparent 40%),
        var(--surface);
}

.notification-card h2 {
    margin-bottom: 6px;
}

.notification-card p:last-child {
    margin-bottom: 0;
}

.notification-card form {
    margin: 0;
}

.message-thread-list {
    display: grid;
    gap: 12px;
}

.message-compose-panel {
    min-width: 0;
}

.message-compose-form {
    max-width: 760px;
}

.message-compose-form button[type="submit"] {
    justify-self: start;
}

.message-recipient-picker {
    position: relative;
}

.message-recipient-suggestions {
    position: absolute;
    z-index: 90;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    display: grid;
    gap: 6px;
    max-height: min(390px, 64vh);
    overflow: auto;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.message-recipient-suggestions[hidden] {
    display: none;
}

.message-recipient-result {
    width: 100%;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.message-recipient-result:hover,
.message-recipient-result:focus-visible,
.message-recipient-result.is-active {
    border-color: var(--accent);
    background: var(--accent-wash);
    transform: translateY(-1px);
}

.message-recipient-thumb {
    width: 46px;
    aspect-ratio: 1;
    display: grid;
    overflow: hidden;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 900;
}

.message-recipient-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.message-recipient-placeholder {
    border-radius: inherit;
}

.message-recipient-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.message-recipient-copy strong,
.message-recipient-copy span,
.message-recipient-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.message-recipient-copy span,
.message-recipient-copy small,
.message-recipient-state {
    color: var(--muted);
    font-size: 0.84rem;
}

.message-recipient-state {
    padding: 10px;
}

.message-character-counter {
    margin-top: -7px;
    font-weight: 700;
}

.message-character-counter.is-warning {
    color: var(--warning-text);
}

.message-character-counter.is-danger {
    color: var(--danger-text);
}

.message-thread-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.message-thread-card.is-unread {
    border-color: rgba(73, 211, 193, 0.55);
    background:
        linear-gradient(135deg, rgba(73, 211, 193, 0.08), transparent 42%),
        var(--surface);
}

.message-thread-card.is-platform-message {
    border-left: 4px solid var(--accent);
}

.message-thread-card h2 {
    margin-bottom: 7px;
}

.message-thread-card h2 a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: var(--text);
}

.message-thread-card h2 a:hover {
    color: var(--accent);
}

.message-thread-card p:last-child {
    margin-bottom: 0;
}

.message-thread-context {
    margin: -2px 0 8px;
    color: var(--accent);
    font-size: 0.9rem;
    font-weight: 700;
}

.message-context-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    align-items: center;
    justify-content: space-between;
    margin: -2px 0 14px;
    padding: 10px 0;
    border-block: 1px solid var(--border);
}

.message-context-strip > div {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    align-items: baseline;
}

.message-context-strip span,
.message-context-strip small {
    color: var(--muted);
    font-size: 0.82rem;
}

.message-context-strip strong {
    color: var(--text);
}

.official-message-label {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--accent-wash);
    color: var(--accent);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
}

.official-message-notice {
    display: grid;
    gap: 5px;
    margin-bottom: 14px;
    padding: 14px 16px;
    border: 1px solid var(--accent);
    border-radius: 8px;
    background: var(--accent-wash);
}

.official-message-notice p {
    margin-bottom: 0;
    color: var(--text);
}

.privacy-access-decision-panel,
.privacy-access-admin-panel {
    scroll-margin-top: 90px;
}

.privacy-access-summary {
    margin-bottom: 16px;
}

.privacy-access-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.privacy-access-actions form,
.privacy-access-table .table-actions form {
    margin: 0;
}

.privacy-access-admin-panel h3 {
    margin: 24px 0 12px;
    font-size: 1rem;
}

.privacy-access-page .official-message-notice {
    margin-top: -4px;
}

.message-thread-side {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.message-thread-archive {
    display: grid;
    gap: 3px;
    margin: 0;
}

.message-thread-archive small {
    max-width: 180px;
    color: var(--muted);
    font-size: 0.76rem;
    line-height: 1.25;
}

.conversation-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.live-conversation-panel {
    position: relative;
}

[data-live-empty][hidden],
[data-live-nonempty][hidden],
[data-live-items][hidden] {
    display: none !important;
}

.live-conversation-panel[data-live-conversation="messages"] .conversation-list {
    max-height: min(68vh, 720px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 4px 8px 4px 2px;
    scrollbar-gutter: stable;
}

.live-conversation-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 14px;
    margin-bottom: 10px;
}

.live-conversation-status {
    display: block;
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.live-conversation-status:empty {
    display: none;
}

.live-conversation-status.is-success {
    color: var(--success-text);
}

.live-conversation-status.is-error {
    color: var(--warning-text);
}

[data-live-item-id].is-live-new {
    animation: live-conversation-arrival 1.4s ease-out;
}

@keyframes live-conversation-arrival {
    from {
        background-color: color-mix(in srgb, var(--success-text) 15%, transparent);
    }

    to {
        background-color: transparent;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-live-item-id].is-live-new {
        animation: none;
    }
}

@media (max-width: 720px) {
    .live-conversation-panel[data-live-conversation="messages"] .conversation-list {
        max-height: 62svh;
    }
}

.conversation-list li {
    display: flex;
}

.conversation-list li.is-mine {
    justify-content: flex-end;
}

.conversation-bubble {
    width: min(100%, 720px);
    padding: 13px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.conversation-list li.is-mine .conversation-bubble {
    border-color: rgba(73, 211, 193, 0.36);
    background: var(--accent-wash);
}

.conversation-list li.is-internal .conversation-bubble {
    border-color: var(--warning);
    background: var(--surface-strong);
}

.conversation-bubble strong,
.conversation-bubble strong a {
    color: var(--text);
}

.conversation-bubble .official-message-label {
    margin-left: 7px;
    vertical-align: middle;
}

.conversation-bubble p {
    margin: 7px 0;
    color: var(--text);
}

.conversation-bubble small {
    color: var(--muted);
}

.event-list {
    display: grid;
    gap: 12px;
}

.event-directory-header-context {
    width: 100%;
    min-width: 0;
}

.event-directory-header-context .hub-header-copy {
    max-width: none;
}

html[data-visual-style="backstage"] .events-page .event-card-poster img {
    position: absolute;
    inset: 0;
    min-height: 0;
}

.event-card {
    display: grid;
    grid-template-columns: minmax(132px, 180px) minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.event-card-poster {
    position: relative;
    min-height: 150px;
    display: block;
    overflow: hidden;
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--muted);
}

.event-card-poster img {
    width: 100%;
    height: 100%;
    min-height: 150px;
    display: block;
    object-fit: cover;
}

.event-card-poster .visual-placeholder {
    position: absolute;
    inset: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
}

.event-date {
    width: 68px;
    min-height: 68px;
    display: grid;
    place-items: center;
    align-content: center;
    border-radius: 8px;
    background: var(--surface-strong);
    text-align: center;
}

.event-card-poster .event-date {
    position: absolute;
    top: 10px;
    left: 10px;
    border: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
    background: color-mix(in srgb, var(--surface) 86%, transparent);
    box-shadow: var(--shadow);
}

.event-date strong {
    color: var(--accent);
    font-size: 1.45rem;
    line-height: 1;
}

.event-date.is-range strong {
    font-size: 1.05rem;
    line-height: 1.1;
}

.event-date span {
    color: var(--muted);
    font-size: 0.8rem;
}

.event-card h2 {
    margin-bottom: 4px;
}

.event-card h2 a {
    color: var(--text);
}

.event-card h2 a:hover {
    color: var(--accent);
}

.event-card-body {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.event-card-meta,
.event-card-meta a {
    max-width: 100%;
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
    white-space: normal;
}

.event-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.event-card-tags span {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.event-card-amenities,
.event-amenities-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.event-card-amenities {
    margin: 8px 0;
}

.event-card-amenities.compact-amenities {
    gap: 5px;
    margin: 6px 0 0;
}

.event-card-amenities.compact-amenities span {
    min-width: 30px;
    min-height: 26px;
    padding: 2px 5px;
}

.event-card-amenities.profile-event-amenities {
    margin: 10px 0;
}

.visual-asset-icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: inline-grid;
    place-items: center;
    overflow: hidden;
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent) 13%, var(--surface));
    color: var(--accent);
    line-height: 1;
}

.visual-asset-icon.compact {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
}

.visual-asset-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.visual-asset-fallback {
    max-width: 100%;
    padding: 0 3px;
    overflow: hidden;
    font-size: 0.6rem;
    font-weight: 900;
    letter-spacing: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.event-card-amenities span,
.event-amenity-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--text);
    font-size: 0.82rem;
    font-weight: 700;
}

.event-card-amenities span {
    min-width: 38px;
    padding: 0 8px;
}

.event-card-amenities span.has-visual-icon,
.event-card-amenities span:has(.visual-asset-icon) {
    min-width: 38px;
    padding: 3px 7px;
}

.event-card-amenities.compact-amenities span.has-visual-icon,
.event-card-amenities.compact-amenities span:has(.visual-asset-icon) {
    min-width: 30px;
    padding: 2px 5px;
}

.event-amenities-panel {
    margin-bottom: 14px;
}

.event-amenity-pill {
    gap: 8px;
    padding: 6px 11px;
}

.event-amenity-pill .visual-asset-icon,
.amenity-editor-item .visual-asset-icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
}

.event-card-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    justify-content: space-between;
    margin-top: 2px;
}

.event-card-footer .event-interest-line {
    margin-bottom: 0;
}

.event-card-link {
    color: var(--accent);
    font-size: 0.88rem;
    font-weight: 800;
}

.event-card-tags .status-pill {
    background: var(--surface-strong);
    color: var(--muted);
}

.event-card-tags .status-pill.status-limited,
.event-card-tags .status-pill.status-not_announced {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.event-card-tags .status-pill.status-sold_out,
.event-card-tags .status-pill.status-cancelled {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.event-card-tags .status-pill.status-change {
    background: var(--accent-wash);
    color: var(--accent);
}

.event-intro-layout {
    display: grid;
    grid-template-columns: minmax(150px, 260px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-bottom: 18px;
}

.event-intro-side {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.event-intro-side .detail-panel {
    margin-bottom: 0;
}

.event-organizer-panel h2,
.event-organizer-panel p {
    margin-bottom: 0;
}

.event-media-accreditation-panel {
    display: grid;
    gap: 10px;
}

.event-media-accreditation-panel h2 {
    margin-bottom: 4px;
    font-size: 1.05rem;
}

.event-media-accreditation-panel p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.event-media-accreditation-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.event-media-accreditation-tags span {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 3px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
}

.event-poster-panel {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    box-shadow: var(--shadow);
}

.event-poster-link {
    position: relative;
    display: block;
    aspect-ratio: 2 / 3;
    color: var(--text);
    background: var(--surface-strong);
}

.event-poster-panel img,
.event-poster-link img {
    width: 100%;
    height: 100%;
    max-height: none;
    display: block;
    object-fit: contain;
}

.event-poster-panel .visual-placeholder {
    min-height: 0;
    aspect-ratio: 2 / 3;
    border: 0;
    border-radius: 0;
}

.event-poster-zoom-hint {
    position: absolute;
    right: 8px;
    bottom: 8px;
    max-width: calc(100% - 16px);
    padding: 5px 7px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--surface) 90%, transparent);
    color: var(--text);
    font-size: 0.78rem;
    font-weight: 800;
    opacity: 0;
    transform: translateY(3px);
    transition: opacity 0.16s ease, transform 0.16s ease;
}

.event-poster-link:hover .event-poster-zoom-hint,
.event-poster-link:focus-visible .event-poster-zoom-hint {
    opacity: 1;
    transform: translateY(0);
}

.event-poster-link:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent);
    outline-offset: 3px;
}

@media (max-width: 720px) {
    .event-intro-layout {
        grid-template-columns: 1fr;
    }

    .event-poster-panel {
        max-width: min(260px, 72vw);
    }
}

.event-poster-editor {
    display: grid;
    gap: 9px;
}

.event-poster-preview {
    overflow: hidden;
    border-radius: 8px;
    background: var(--surface-strong);
}

.event-poster-preview img {
    width: 100%;
    max-height: 260px;
    display: block;
    object-fit: cover;
}

.event-thumb {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--muted);
    box-shadow: var(--shadow);
}

.event-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.18s ease;
}

.event-thumb:hover img,
.event-thumb:focus-visible img {
    transform: scale(1.025);
}

.event-thumb:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent);
    outline-offset: 3px;
}

.event-thumb .visual-placeholder {
    position: absolute;
    inset: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
}

.event-thumb .visual-placeholder strong {
    max-width: 10ch;
    font-size: 0.7rem;
    line-height: 1.15;
}

.event-thumb .event-date {
    position: absolute;
    top: 6px;
    left: 6px;
    width: 46px;
    min-height: 46px;
    border: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    box-shadow: var(--shadow);
}

.event-thumb .event-date strong {
    font-size: 0.98rem;
}

.event-thumb .event-date.is-range strong {
    font-size: 0.72rem;
}

.event-thumb .event-date span {
    font-size: 0.64rem;
}

.event-table-summary {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.event-table-poster {
    width: 64px;
}

.event-readiness-summary {
    display: grid;
    gap: 6px;
    min-width: 180px;
    max-width: 260px;
}

.event-readiness-summary-head {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.data-table td .event-readiness-summary-head span {
    display: inline-flex;
    width: fit-content;
    margin: 0;
    padding: 3px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-strong);
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
}

.event-readiness-summary-head strong {
    color: var(--text);
    font-size: 0.82rem;
    white-space: nowrap;
}

.event-readiness-meter {
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--soft-bg);
}

.data-table td .event-readiness-meter span {
    display: block;
    height: 100%;
    margin: 0;
    border-radius: inherit;
    background: var(--accent);
}

.event-readiness-summary p {
    margin: 0;
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.event-readiness-summary.is-ready .event-readiness-summary-head span {
    background: var(--success-bg);
    color: var(--success-text);
}

.event-readiness-summary.is-ready .event-readiness-meter span {
    background: var(--success-text);
}

.event-readiness-summary.is-attention .event-readiness-summary-head span {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.event-readiness-summary.is-attention .event-readiness-meter span {
    background: var(--warning-text);
}

.event-readiness-summary.is-missing .event-readiness-summary-head span {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.event-readiness-summary.is-missing .event-readiness-meter span {
    background: var(--danger-text);
}

.admin-event-poster-panel {
    grid-template-columns: minmax(150px, 260px) minmax(0, 1fr);
    align-items: center;
}

.admin-event-poster-preview {
    width: min(100%, 260px);
}

.admin-event-poster-copy {
    display: grid;
    gap: 10px;
}

.admin-event-poster-copy p {
    color: var(--muted);
}

@media (max-width: 560px) {
    .event-card {
        grid-template-columns: 1fr;
    }

    .event-card-poster {
        min-height: 190px;
    }

    .event-card-poster img {
        min-height: 190px;
    }

    .event-table-summary {
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .event-table-poster {
        width: 54px;
    }

    .admin-event-poster-panel {
        grid-template-columns: 1fr;
    }
}

.home-event-grid.upcoming-event-strip,
.discover-event-grid.upcoming-event-strip {
    display: grid;
    grid-template-columns: none;
    grid-template-rows: 1fr;
    grid-auto-flow: column;
    grid-auto-columns: minmax(180px, 240px);
    gap: 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 2px 2px 12px;
    margin-inline: 0;
    scroll-snap-type: x proximity;
    scrollbar-color: color-mix(in srgb, var(--accent) 38%, var(--border)) transparent;
}

.upcoming-event-strip::-webkit-scrollbar {
    height: 10px;
}

.upcoming-event-strip::-webkit-scrollbar-track {
    background: transparent;
}

.upcoming-event-strip::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent) 38%, var(--border));
    background-clip: padding-box;
}

.discover-event-grid.upcoming-event-strip {
    --strip-edge-fade: clamp(28px, 5vw, 74px);
    grid-auto-columns: clamp(190px, 18vw, 220px);
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(
        90deg,
        transparent 0,
        #000 var(--strip-edge-fade),
        #000 calc(100% - var(--strip-edge-fade)),
        transparent 100%
    );
    mask-image: linear-gradient(
        90deg,
        transparent 0,
        #000 var(--strip-edge-fade),
        #000 calc(100% - var(--strip-edge-fade)),
        transparent 100%
    );
}

.discover-event-grid.upcoming-event-strip.is-auto-scrolling {
    scroll-snap-type: none;
}

.discover-event-grid.upcoming-event-strip::-webkit-scrollbar {
    display: none;
}

.upcoming-event-card {
    min-width: 0;
    scroll-snap-align: start;
}

.upcoming-event-poster {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--muted);
    box-shadow: var(--shadow);
}

.upcoming-event-poster img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.18s ease;
}

.upcoming-event-poster:hover img,
.upcoming-event-poster:focus-visible img {
    transform: scale(1.025);
}

.upcoming-event-poster:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent);
    outline-offset: 3px;
}

.upcoming-event-poster .visual-placeholder {
    position: absolute;
    inset: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
}

.upcoming-event-poster .event-date {
    position: absolute;
    top: 10px;
    left: 10px;
    border: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    box-shadow: var(--shadow);
}

.upcoming-event-signals {
    position: absolute;
    right: 9px;
    bottom: 9px;
    left: 9px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: flex-end;
    pointer-events: none;
}

.upcoming-event-signals .status-pill {
    max-width: 100%;
    border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
    background: color-mix(in srgb, var(--surface) 84%, transparent);
    box-shadow: var(--shadow);
    font-size: 0.72rem;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.upcoming-event-signals .status-pill.status-change {
    background: color-mix(in srgb, var(--accent-wash) 82%, var(--surface));
    color: var(--accent);
}

.upcoming-event-signals .status-pill.status-limited {
    background: color-mix(in srgb, var(--warning-bg) 82%, var(--surface));
    color: var(--warning-text);
}

.upcoming-event-signals .status-pill.status-sold_out,
.upcoming-event-signals .status-pill.status-cancelled {
    background: color-mix(in srgb, var(--danger-bg) 82%, var(--surface));
    color: var(--danger-text);
}

.upcoming-event-signals .event-amenity-signal {
    min-width: 32px;
    min-height: 30px;
    padding: 3px 5px;
    color: var(--text);
}

.upcoming-event-signals .event-amenity-signal .visual-asset-icon {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
}

@media (max-width: 560px) {
    .home-event-grid.upcoming-event-strip,
    .discover-event-grid.upcoming-event-strip {
        grid-auto-columns: minmax(168px, 74vw);
    }

    .discover-event-grid.upcoming-event-strip {
        --strip-edge-fade: 24px;
    }
}

.event-hero {
    display: grid;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 48%),
        var(--surface);
    box-shadow: var(--shadow);
}

.event-hero > div:first-child,
.event-hero-side {
    min-width: 0;
}

.event-hero-side {
    display: grid;
    gap: 12px;
}

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

.event-hero .event-actions {
    gap: 7px;
    justify-content: flex-end;
}

.event-hero .event-actions .button-link,
.event-hero .event-actions .ghost-link {
    min-height: 34px;
    padding: 6px 9px;
    border-radius: 7px;
    font-size: 0.82rem;
    line-height: 1.2;
    box-shadow: none;
}

.event-response-panel-hero {
    gap: 10px;
    margin-bottom: 0;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.event-response-panel-hero .event-response-copy {
    display: grid;
    gap: 8px;
}

.event-response-panel-hero h2 {
    margin-bottom: 0;
    font-size: 1rem;
}

.event-response-panel-hero .event-live-stats {
    gap: 6px;
    max-width: none;
}

.event-response-panel-hero .event-live-stats article {
    padding: 8px;
}

.event-response-panel-hero .event-live-stats strong {
    font-size: 1.12rem;
}

.event-response-panel-hero .event-live-stats span {
    font-size: 0.78rem;
}

.event-response-panel-hero .event-response-actions {
    gap: 6px;
}

.event-visitor-summary {
    display: grid;
    gap: 12px;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.event-visitor-summary-head {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    align-items: start;
    justify-content: space-between;
}

.event-visitor-summary-head h2,
.event-visitor-summary-head p {
    margin-bottom: 0;
}

.event-visitor-program-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: stretch;
    padding: 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-visitor-program-strip > span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.event-visitor-program-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 2px 8px;
    align-items: center;
    min-width: min(280px, 100%);
    flex: 1 1 280px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    text-decoration: none;
}

.event-visitor-program-item:hover,
.event-visitor-program-item:focus-visible {
    border-color: var(--accent);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
}

.event-visitor-program-item time,
.event-visitor-program-item strong,
.event-visitor-program-item small,
.event-visitor-program-item em {
    min-width: 0;
}

.event-visitor-program-item time {
    color: var(--accent);
    font-weight: 900;
}

.event-visitor-program-item strong {
    overflow-wrap: anywhere;
}

.event-visitor-program-item small {
    grid-column: 2 / 4;
    color: var(--muted);
    font-size: 0.8rem;
}

.event-visitor-program-item em {
    justify-self: end;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.74rem;
    font-style: normal;
    font-weight: 900;
}

.event-visitor-program-item.is-timeline-live em {
    background: var(--success-bg);
    color: var(--success-text);
}

.event-visitor-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
    gap: 9px;
}

.event-visitor-summary-card {
    display: grid;
    gap: 6px;
    min-width: 0;
    min-height: 150px;
    align-content: start;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-visitor-summary-card > span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.event-visitor-summary-card strong {
    color: var(--text);
    font-size: 0.96rem;
    overflow-wrap: anywhere;
}

.event-visitor-summary-card p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.84rem;
}

.event-visitor-summary-card a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    align-self: end;
    width: fit-content;
    margin-top: 2px;
    padding: 6px 8px;
    border-radius: 8px;
    background: var(--surface);
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 900;
    text-decoration: none;
}

.event-visitor-summary-card a:hover,
.event-visitor-summary-card a:focus-visible {
    background: var(--accent-wash);
}

.event-visitor-summary-inline {
    gap: 10px;
    margin-bottom: 0;
    padding: 12px;
    box-shadow: none;
}

.event-visitor-summary-inline .event-visitor-summary-head h2 {
    font-size: 1rem;
}

.event-visitor-summary-inline .event-visitor-program-strip {
    gap: 6px;
    padding: 7px;
}

.event-visitor-summary-inline .event-visitor-program-strip > span {
    min-height: 0;
}

.event-visitor-summary-inline .event-visitor-program-item {
    min-width: min(220px, 100%);
    flex-basis: 220px;
    padding: 7px 8px;
}

.event-visitor-summary-inline .event-visitor-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
    gap: 6px;
}

.event-visitor-summary-inline .event-visitor-summary-card {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding: 8px;
}

.event-visitor-summary-inline .event-visitor-summary-card a {
    margin-top: 0;
}

.event-public-notices {
    display: grid;
    gap: 10px;
    margin: 14px 0 18px;
    padding: 14px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.event-live-fragment {
    display: contents;
}

.event-public-notices-head h2,
.event-public-notices-head p {
    margin-bottom: 0;
}

.event-public-notice-list {
    display: grid;
    gap: 6px;
}

.event-public-notice {
    display: grid;
    grid-template-columns: minmax(82px, auto) minmax(0, 1fr) auto;
    gap: 8px 12px;
    align-items: start;
    padding: 10px 12px;
    border-left: 3px solid var(--accent);
    background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.event-public-notice.is-change {
    border-left-color: var(--warning-text);
    background: color-mix(in srgb, var(--warning-bg) 45%, transparent);
}

.event-public-notice.is-urgent {
    border-left-color: var(--danger-text);
    background: color-mix(in srgb, var(--danger-bg) 48%, transparent);
}

.event-public-notice > span,
.event-public-notice time {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.event-public-notice strong,
.event-public-notice p {
    margin-bottom: 0;
}

.event-public-notice p {
    margin-top: 3px;
    color: var(--muted);
    font-size: 0.9rem;
}

.event-personal-program {
    display: grid;
    gap: 7px;
    padding: 9px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.event-personal-program-head {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    align-items: baseline;
    justify-content: space-between;
}

.event-personal-program-head span,
.event-personal-program p {
    color: var(--muted);
    font-size: 0.84rem;
}

.event-personal-program p {
    margin-bottom: 0;
}

.event-personal-program ul {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.event-personal-program li {
    display: grid;
    grid-template-columns: minmax(92px, auto) minmax(0, 1fr) auto;
    gap: 6px 10px;
    align-items: baseline;
    font-size: 0.84rem;
}

.event-personal-program li time,
.event-personal-program li span {
    color: var(--muted);
}

.event-personal-program > a {
    width: fit-content;
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 800;
}

.event-program-save {
    align-self: center;
}

.event-program-save .ghost-button {
    min-height: 34px;
    padding: 6px 9px;
    white-space: nowrap;
}

.event-program-save .ghost-button.is-saved {
    border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
    background: var(--accent-wash);
    color: var(--accent);
}

.event-site-points {
    display: grid;
    gap: 9px;
    padding: 12px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.event-site-points-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    align-items: end;
    justify-content: space-between;
}

.event-site-points-head h2,
.event-site-points-head p {
    margin-bottom: 0;
}

.event-site-points-head > span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.event-site-points ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.event-site-points li {
    display: grid;
    grid-template-columns: minmax(92px, 120px) minmax(0, 1fr) auto;
    gap: 8px 14px;
    align-items: center;
    padding: 9px 0;
    border-top: 1px solid var(--border);
}

.event-site-points li > span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.event-site-points li strong,
.event-site-points li p {
    margin-bottom: 0;
}

.event-site-points li p {
    margin-top: 2px;
    color: var(--muted);
    font-size: 0.84rem;
}

.event-site-points li a {
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 800;
}

.event-festival-tools-editor {
    display: grid;
    gap: 18px;
}

.event-festival-editor-section {
    margin: 0;
    padding: 14px 0 0;
    border: 0;
    border-top: 1px solid var(--border);
    border-radius: 0;
    background: transparent;
}

.event-festival-editor-list {
    display: grid;
    gap: 0;
}

.event-festival-editor-row {
    display: grid;
    gap: 10px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.admin-event-compact-list {
    display: grid;
    gap: 7px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.admin-event-compact-list h3 {
    margin-bottom: 0;
    font-size: 0.95rem;
}

.admin-event-compact-list ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-event-compact-list li {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    justify-content: space-between;
    padding: 7px 0;
    border-top: 1px solid var(--border);
}

.admin-event-compact-list li span {
    color: var(--muted);
    font-size: 0.8rem;
}

.event-about-panel {
    display: grid;
    gap: 8px;
}

.event-about-panel h2,
.event-about-panel p {
    margin-bottom: 0;
}

.event-interest-line {
    color: var(--muted);
    font-size: 0.9rem;
}

.event-response-panel {
    display: grid;
    gap: 14px;
    align-items: center;
    margin-bottom: 14px;
}

.event-response-panel p {
    margin-bottom: 0;
}

.event-village-panel {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.event-village-panel h2,
.event-village-panel p:last-child {
    margin-bottom: 0;
}

.event-visitor-practical {
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
}

.event-visitor-practical-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    align-items: end;
    justify-content: space-between;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

.event-visitor-practical-head h2,
.event-visitor-practical-head p,
.event-visitor-practical-head .eyebrow {
    margin-bottom: 0;
}

.event-visitor-practical-head p {
    max-width: 560px;
    color: var(--muted);
    font-size: 0.9rem;
}

.event-visitor-practical .event-place-layout,
.event-visitor-practical .event-amenities-panel,
.event-visitor-practical .event-village-panel,
.event-visitor-practical .event-sponsor-strip {
    margin-bottom: 0;
}

.event-place-layout {
    display: grid;
    gap: 14px;
    margin-bottom: 14px;
}

.event-place-layout .detail-panel + .detail-panel {
    margin-top: 0;
}

.event-location-panel {
    display: grid;
    gap: 14px;
}

.event-location-copy {
    display: grid;
    gap: 12px;
    align-content: start;
}

.event-location-copy h2,
.event-location-copy p {
    margin-bottom: 0;
}

.event-location-coordinates {
    display: inline-flex;
    width: fit-content;
    padding: 5px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--muted);
    font-size: 0.86rem;
    background: var(--surface);
}

.event-location-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.event-transport-panel {
    display: grid;
    gap: 14px;
}

.event-venue-map-panel {
    display: grid;
    gap: 14px;
}

.event-venue-map-copy {
    display: grid;
    gap: 7px;
    align-content: start;
}

.event-venue-map-copy h2,
.event-venue-map-copy p {
    margin-bottom: 0;
}

.event-venue-map-image {
    display: block;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    box-shadow: var(--shadow);
}

.event-venue-map-image img {
    width: 100%;
    max-height: 560px;
    display: block;
    object-fit: contain;
    background: var(--surface);
}

.event-transport-header {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: start;
    justify-content: space-between;
}

.event-transport-header h2,
.event-transport-header p {
    margin-bottom: 0;
}

.event-transport-note {
    display: grid;
    gap: 5px;
    padding: 12px 14px;
    border-left: 3px solid var(--accent);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-transport-note strong {
    color: var(--text);
}

.event-transport-note p {
    color: var(--muted);
}

.event-transport-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 7px;
}

.event-transport-links a {
    display: grid;
    gap: 4px;
    min-height: 72px;
    align-content: center;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    text-decoration: none;
}

.event-transport-links a:hover {
    border-color: var(--accent);
    background: var(--accent-wash);
}

.event-transport-links span {
    font-weight: 800;
}

.event-transport-links small {
    color: var(--muted);
    font-size: 0.78rem;
}

.event-transport-attribution {
    color: var(--muted);
    font-size: 0.78rem;
}

.event-location-map {
    position: relative;
    min-height: 250px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
}

.event-site-map-leaflet {
    position: absolute;
    inset: 0;
    min-height: inherit;
    background: var(--surface-strong);
}

.event-site-map-leaflet.leaflet-container {
    color: var(--text);
    font-family: inherit;
}

.event-site-map-leaflet .leaflet-control-zoom a {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    line-height: 1;
}

.event-site-map-marker {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 0;
    background: transparent;
}

.event-site-map-marker span {
    display: block;
    width: 16px;
    height: 16px;
    border: 3px solid var(--surface);
    border-radius: 999px;
    background: var(--accent);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}

.event-site-map-marker.is-venue span {
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: var(--text);
}

.event-site-map-marker.is-first_aid span,
.event-site-map-marker.is-entrance span {
    background: var(--danger-text);
}

.event-site-map-marker.is-water span,
.event-site-map-marker.is-toilets span {
    background: #2e6ae6;
}

.event-site-map-marker.is-food span,
.event-site-map-marker.is-parking span,
.event-site-map-marker.is-camping span {
    background: var(--warning-text);
}

.event-site-map-popup strong,
.event-site-map-popup span,
.event-site-map-popup small {
    display: block;
}

.event-location-map iframe {
    width: 100%;
    height: 100%;
    min-height: 250px;
    display: block;
    border: 0;
}

.event-location-map-empty {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 5px;
    padding: 18px;
    color: var(--muted);
    text-align: center;
}

.event-location-map-empty strong {
    color: var(--text);
}

.event-location-map-empty small {
    max-width: 28ch;
}

@media (min-width: 780px) {
    .event-place-layout {
        grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
        align-items: start;
    }

    .event-place-layout-map-only {
        grid-template-columns: 1fr;
    }

    .event-location-panel {
        grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1.1fr);
        align-items: stretch;
    }

    .event-place-layout:not(.event-place-layout-map-only) .event-location-panel {
        grid-template-columns: 1fr;
    }

    .event-place-layout:not(.event-place-layout-map-only) .event-location-map,
    .event-place-layout:not(.event-place-layout-map-only) .event-location-map iframe {
        min-height: 320px;
    }

    .event-venue-map-panel {
        grid-template-columns: minmax(0, 0.85fr) minmax(280px, 1.15fr);
        align-items: start;
    }

    .event-venue-map-panel-note-only {
        grid-template-columns: 1fr;
    }
}

.event-partners-panel {
    display: grid;
    gap: 14px;
    margin-bottom: 14px;
}

.event-partner-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.event-partner-summary a {
    min-width: 148px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1px 8px;
    align-items: center;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
}

.event-partner-summary a:hover {
    border-color: var(--accent);
    color: var(--text);
}

.event-partner-summary strong {
    grid-row: span 2;
    color: var(--accent);
    font-size: 1.25rem;
}

.event-partner-summary span,
.event-partner-summary small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.event-partner-summary span {
    font-weight: 800;
    line-height: 1.2;
}

.event-partner-summary small {
    color: var(--muted);
    font-size: 0.76rem;
}

.event-partner-group-list {
    display: grid;
    gap: 18px;
}

.event-partner-group {
    display: grid;
    gap: 10px;
    scroll-margin-top: 86px;
}

.event-partner-group + .event-partner-group {
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.event-partner-group-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    justify-content: space-between;
}

.event-partner-group-head h3 {
    margin-bottom: 0;
}

.event-partner-group-head span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.event-partner-list,
.event-partner-editor,
.event-sponsor-logo-editor,
.event-supply-call-editor,
.event-supply-call-list,
.event-supply-call-group-list {
    display: grid;
    gap: 12px;
}

.event-sponsor-strip {
    display: grid;
    gap: 10px;
}

.event-sponsor-strip-head {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: baseline;
    justify-content: space-between;
}

.event-sponsor-strip-head h2,
.event-sponsor-strip-head .eyebrow {
    margin-bottom: 0;
}

.event-sponsor-logo-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: stretch;
}

.event-sponsor-logo-card {
    flex: 1 1 178px;
    display: grid;
    grid-template-columns: minmax(58px, 72px) minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    max-width: 260px;
    min-height: 58px;
    min-width: 0;
    padding: 7px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    text-decoration: none;
}

.event-sponsor-logo-card:is(a):hover,
.event-sponsor-logo-card:is(a):focus-visible {
    border-color: var(--accent);
    background: var(--surface-strong);
}

.event-sponsor-logo-frame {
    display: grid;
    width: 72px;
    min-width: 0;
    min-height: 42px;
    place-items: center;
    padding: 5px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: #fff;
}

.event-sponsor-logo-frame img {
    display: block;
    width: 100%;
    max-width: 70px;
    max-height: 34px;
    object-fit: contain;
}

.event-sponsor-logo-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.event-sponsor-logo-copy strong,
.event-sponsor-logo-copy small {
    overflow-wrap: anywhere;
    line-height: 1.18;
}

.event-sponsor-logo-copy strong {
    font-size: 0.86rem;
}

.event-sponsor-logo-copy small {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.event-sponsor-logo-status {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: center;
    margin: 10px 0 12px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-sponsor-logo-status p {
    min-width: min(100%, 280px);
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
}

.event-supply-opportunity-list {
    display: grid;
    gap: 14px;
}

.event-supply-opportunity-filter label {
    width: min(100%, 220px);
}

.event-supply-opportunity-filter label:first-child,
.event-supply-opportunity-filter label:nth-child(3) {
    width: min(100%, 300px);
}

.event-supplier-readiness-panel {
    display: grid;
    gap: 12px;
}

.event-supplier-readiness-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}

.event-supplier-readiness-card {
    display: grid;
    gap: 12px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-supplier-readiness-card h3 {
    margin: 0 0 3px;
    font-size: 1rem;
}

.event-supplier-readiness-card .profile-completeness-head strong {
    font-size: 1.55rem;
}

.event-supplier-next-steps {
    gap: 8px;
}

.event-supplier-next-steps a {
    background: var(--surface);
}

.event-supply-calls-panel {
    display: grid;
    gap: 14px;
    margin-bottom: 14px;
}

.event-supply-call-inbox {
    display: grid;
    gap: 10px;
    margin: 12px 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-supply-call-inbox-header {
    display: flex;
    gap: 8px;
    align-items: baseline;
    justify-content: space-between;
}

.event-supply-call-inbox-header strong {
    font-size: 0.95rem;
}

.event-supply-call-inbox-header span {
    color: var(--muted);
    font-size: 0.84rem;
}

.event-supply-call-inbox-list {
    display: grid;
    gap: 6px;
}

.event-supply-call-inbox-row {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(130px, 0.55fr) minmax(190px, 0.9fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface);
    color: inherit;
    text-decoration: none;
}

.event-supply-call-inbox-row:hover,
.event-supply-call-inbox-row:focus-visible {
    border-color: var(--accent);
}

.event-supply-call-inbox-main {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.event-supply-call-inbox-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 800;
}

.event-supply-call-inbox-subtitle,
.event-supply-call-inbox-response {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--muted);
    font-size: 0.82rem;
}

.event-supply-call-inbox-metrics {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 5px;
}

.event-supply-call-inbox-metrics span {
    padding: 3px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 700;
}

.event-supply-call-inbox-next {
    display: grid;
    gap: 2px;
    padding: 7px 8px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: color-mix(in srgb, var(--soft-bg) 74%, var(--surface));
}

.event-supply-call-inbox-next strong {
    font-size: 0.82rem;
}

.event-supply-call-inbox-next span {
    color: var(--muted);
    font-size: 0.76rem;
    line-height: 1.35;
}

.event-supply-call-inbox-next-success {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
    background: color-mix(in srgb, var(--success-bg) 70%, var(--surface));
}

.event-supply-call-inbox-next-success strong {
    color: var(--success-text);
}

.event-supply-call-inbox-next-warning {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
    background: color-mix(in srgb, var(--warning-bg) 70%, var(--surface));
}

.event-supply-call-inbox-next-warning strong {
    color: var(--warning-text);
}

.event-supply-call-inbox-next-info {
    border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
    background: color-mix(in srgb, var(--accent-wash) 70%, var(--surface));
}

.event-supply-call-inbox-next-info strong {
    color: var(--accent);
}

.event-supply-call-inbox-next-muted strong {
    color: var(--muted);
}

.event-supply-call-inbox-open {
    justify-self: end;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.event-supply-call-group {
    display: grid;
    gap: 10px;
}

.event-supply-call-group + .event-supply-call-group {
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.event-supply-call-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-supply-call-card h3 {
    margin-bottom: 5px;
}

.event-supply-call-card p:last-child {
    margin-bottom: 0;
}

.event-supply-opportunity-card {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    gap: 14px;
    align-items: start;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-supply-opportunity-main {
    display: grid;
    gap: 8px;
}

.event-supply-opportunity-main h2 {
    margin: 0;
    font-size: 1.18rem;
}

.event-supply-opportunity-main p,
.event-supply-opportunity-muted {
    margin-bottom: 0;
    color: var(--muted);
}

.event-supply-opportunity-matches {
    display: grid;
    gap: 9px;
}

.event-supply-opportunity-matches > strong {
    color: var(--muted);
    font-size: 0.82rem;
}

.event-supply-opportunity-match {
    display: grid;
    gap: 9px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--soft-bg) 88%, var(--accent) 12%);
}

.event-supply-opportunity-match h3 {
    margin: 0 0 3px;
    font-size: 0.98rem;
}

.event-supply-opportunity-match p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.event-supply-fit-context {
    display: grid;
    gap: 7px;
    margin-top: 9px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-supply-fit-context strong {
    font-size: 0.82rem;
}

.event-supply-fit-context ul {
    display: grid;
    gap: 5px;
    padding-left: 18px;
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.event-supply-fit-context p {
    margin: 0;
}

.event-supply-fit-strong {
    border-color: color-mix(in srgb, var(--success-text) 42%, var(--border));
}

.event-supply-fit-solid {
    border-color: color-mix(in srgb, var(--accent) 36%, var(--border));
}

.event-supply-fit-warning {
    border-color: color-mix(in srgb, var(--warning-text) 42%, var(--border));
}

.event-supply-call-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 8px;
}

.event-supply-call-meta span {
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.event-supply-call-requirements {
    margin-top: 9px;
}

.event-supply-call-requirements summary {
    width: fit-content;
    color: var(--accent);
    font-weight: 800;
    cursor: pointer;
}

.event-supply-call-requirements p {
    margin-top: 7px;
}

.event-supply-call-row {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-supply-call-row-main {
    display: grid;
    grid-template-columns: minmax(220px, 1.6fr) minmax(180px, 0.8fr) minmax(150px, 0.7fr);
    gap: 10px;
}

.event-supply-call-row-main.compact {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
}

.event-supply-call-row label {
    display: grid;
    gap: 7px;
}

.event-supply-call-responses {
    display: grid;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.event-supply-call-recommendations {
    display: grid;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.event-supply-call-responses > strong,
.event-supply-call-recommendations > strong {
    color: var(--muted);
    font-size: 0.82rem;
}

.event-supply-call-response,
.event-supply-call-recommendation {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-supply-call-recommendation {
    background: color-mix(in srgb, var(--surface) 88%, var(--accent) 12%);
}

.event-supply-call-response h4,
.event-supply-call-recommendation h4 {
    margin-bottom: 3px;
    font-size: 0.96rem;
}

.event-supply-call-response p,
.event-supply-call-recommendation p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.event-supply-call-response-phase {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-top: 7px;
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.event-supply-call-response-checklist {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 7px;
}

.event-supply-call-response-checklist span {
    padding: 3px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-supply-call-response-checklist .is-done {
    border-color: color-mix(in srgb, var(--success-text) 38%, var(--border));
    color: var(--success-text);
}

.event-supply-call-response-checklist .is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 38%, var(--border));
    color: var(--warning-text);
}

.event-supply-call-match-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 7px 0;
}

.event-supply-call-match-reasons span {
    padding: 3px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.event-supply-call-recommendation-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 6px 0;
}

.event-supply-call-recommendation-signals span {
    padding: 3px 7px;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border));
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 78%, var(--accent) 22%);
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-supply-call-recommendation-signals .recommendation-availability-free {
    border-color: color-mix(in srgb, var(--success-text) 42%, var(--border));
    color: var(--success-text);
}

.event-supply-call-recommendation-signals .recommendation-availability-partial {
    border-color: color-mix(in srgb, var(--warning-text) 42%, var(--border));
    color: var(--warning-text);
}

.event-supply-call-recommendation-signals .recommendation-availability-busy {
    border-color: color-mix(in srgb, var(--danger-text) 42%, var(--border));
    color: var(--danger-text);
}

.event-supply-call-recommendation-outreach {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-top: 7px;
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.event-supply-call-recommendation-outreach > span:last-child {
    min-width: min(100%, 260px);
}

.event-supply-call-response-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    justify-content: flex-end;
}

.event-supply-call-response-actions form {
    margin: 0;
}

.event-supply-call-response-actions button {
    padding: 7px 10px;
    font-size: 0.84rem;
}

.event-supply-call-response-actions small {
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.event-workroom-editor,
.event-workroom-list {
    display: grid;
    gap: 12px;
}

.event-workroom-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(240px, 0.8fr);
    gap: 12px;
    margin: 12px 0;
}

.event-workroom-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
    gap: 8px;
}

.event-workroom-stat {
    display: grid;
    gap: 4px;
    min-height: 70px;
    align-content: center;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-workroom-stat span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.event-workroom-stat strong {
    color: var(--text);
    font-size: 1.45rem;
    line-height: 1;
}

.event-workroom-stat-alert strong {
    color: var(--danger-text);
}

.event-workroom-stat-next strong {
    font-size: 0.94rem;
    line-height: 1.22;
    overflow-wrap: anywhere;
}

.event-workroom-stat-next small {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-workroom-brief-panel {
    display: grid;
    gap: 12px;
    margin-bottom: 14px;
}

.event-workroom-brief-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1.1fr);
    gap: 12px;
    align-items: stretch;
}

.event-workroom-brief-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.event-workroom-brief-copy {
    position: relative;
    display: grid;
    min-width: 0;
}

.event-workroom-brief-copy textarea {
    min-height: 168px;
    resize: vertical;
    border-color: color-mix(in srgb, var(--accent) 22%, var(--border));
    background: var(--surface);
    color: var(--text);
    font-size: 0.88rem;
    line-height: 1.5;
}

.event-workroom-brief-copy-feedback {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 5px 8px;
    border-radius: 999px;
    background: var(--success-bg);
    color: var(--success-text);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-workroom-brief-alerts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.event-workroom-brief-alert {
    display: grid;
    gap: 3px;
    min-width: min(100%, 220px);
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
}

.event-workroom-brief-alert:hover,
.event-workroom-brief-alert:focus-visible {
    border-color: var(--accent);
    color: var(--text);
}

.event-workroom-brief-alert strong {
    overflow-wrap: anywhere;
    font-size: 0.86rem;
}

.event-workroom-brief-alert span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-workroom-brief-alert.is-attention {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
    background: var(--warning-bg);
}

.event-workroom-radar-panel {
    display: grid;
    gap: 12px;
    margin-bottom: 14px;
}

.event-workroom-radar-score {
    display: grid;
    gap: 3px;
    min-width: 128px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border));
    border-radius: 8px;
    background: var(--soft-bg);
    text-align: right;
}

.event-workroom-radar-score strong {
    color: var(--text);
    font-size: 1.45rem;
    line-height: 1;
}

.event-workroom-radar-score span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-workroom-radar-focus {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-workroom-radar-focus strong {
    overflow-wrap: anywhere;
}

.event-workroom-radar-focus span {
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.42;
}

.event-workroom-radar-focus.is-danger {
    border-color: color-mix(in srgb, var(--danger-text) 36%, var(--border));
}

.event-workroom-radar-focus.is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 36%, var(--border));
}

.event-workroom-radar-focus.is-info,
.event-workroom-radar-focus.is-success {
    border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
}

.event-workroom-radar-list {
    display: grid;
    gap: 8px;
}

.event-workroom-radar-item {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) minmax(120px, auto);
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
}

.event-workroom-radar-item:hover,
.event-workroom-radar-item:focus-visible {
    border-color: var(--accent);
    color: var(--text);
}

.event-workroom-radar-item > span:nth-child(2) {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.event-workroom-radar-item strong {
    overflow-wrap: anywhere;
}

.event-workroom-radar-item small {
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.36;
}

.event-workroom-radar-item em {
    display: grid;
    gap: 3px;
    justify-items: end;
    color: var(--muted);
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 800;
}

.event-workroom-radar-item em b {
    color: var(--text);
    font-size: 0.95rem;
}

.event-workroom-radar-meter {
    display: block;
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: color-mix(in srgb, var(--border) 64%, transparent);
}

.event-workroom-radar-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--accent);
}

.event-workroom-radar-item.is-success .event-workroom-radar-meter span {
    background: var(--success-text);
}

.event-workroom-radar-item.is-warning .event-workroom-radar-meter span {
    background: var(--warning-text);
}

.event-workroom-radar-item.is-danger .event-workroom-radar-meter span {
    background: var(--danger-text);
}

.event-workroom-public-panel {
    display: grid;
    gap: 12px;
    margin-bottom: 14px;
}

.event-workroom-public-score {
    display: grid;
    gap: 3px;
    min-width: 118px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border));
    border-radius: 8px;
    background: var(--soft-bg);
    text-align: right;
}

.event-workroom-public-score strong {
    color: var(--text);
    font-size: 1.35rem;
    line-height: 1;
}

.event-workroom-public-score span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-workroom-public-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 8px;
}

.event-workroom-public-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 10px;
    align-items: start;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-workroom-public-item strong,
.event-workroom-public-item span {
    display: block;
}

.event-workroom-public-item strong {
    overflow-wrap: anywhere;
}

.event-workroom-public-item span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.38;
}

.event-workroom-public-item em {
    width: fit-content;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.74rem;
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
}

.event-workroom-public-item.is-ready {
    border-color: color-mix(in srgb, var(--success-text) 28%, var(--border));
}

.event-workroom-public-item.is-ready em {
    background: var(--success-bg);
    color: var(--success-text);
}

.event-workroom-public-item.is-attention {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
}

.event-workroom-public-item.is-attention em {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.event-workroom-public-item.is-missing {
    border-color: color-mix(in srgb, var(--danger-text) 34%, var(--border));
}

.event-workroom-public-item.is-missing em {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.event-workroom-public-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    grid-column: 1 / -1;
}

.event-workroom-program-panel {
    margin-bottom: 14px;
}

.event-workroom-program-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 8px;
    margin-bottom: 14px;
}

.event-workroom-program-handoff {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 58%),
        var(--soft-bg);
}

.event-workroom-program-handoff-head,
.event-workroom-program-handoff-card {
    display: grid;
    gap: 10px;
    align-items: center;
}

.event-workroom-program-handoff-head {
    grid-template-columns: minmax(0, 1fr) auto;
}

.event-workroom-program-handoff-head strong,
.event-workroom-program-handoff-head span {
    display: block;
}

.event-workroom-program-handoff-head strong {
    font-size: 0.96rem;
}

.event-workroom-program-handoff-head span {
    margin-top: 2px;
    color: var(--muted);
    font-size: 0.84rem;
}

.event-workroom-program-handoff-list {
    display: grid;
    gap: 8px;
}

.event-workroom-program-handoff-card {
    grid-template-columns: minmax(92px, 0.36fr) minmax(0, 1fr) auto;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-workroom-program-handoff-card time,
.event-workroom-program-handoff-card strong,
.event-workroom-program-handoff-card span,
.event-workroom-program-handoff-card small {
    display: block;
}

.event-workroom-program-handoff-card time {
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 900;
}

.event-workroom-program-handoff-card strong {
    overflow-wrap: anywhere;
}

.event-workroom-program-handoff-card span,
.event-workroom-program-handoff-card small {
    color: var(--muted);
    font-size: 0.78rem;
}

.event-workroom-program-handoff-card small {
    margin-top: 3px;
    width: fit-content;
    padding: 2px 6px;
    border-radius: 999px;
    background: var(--accent-wash);
    color: var(--accent);
    font-weight: 900;
}

@media (max-width: 720px) {
    .event-workroom-program-handoff-head,
    .event-workroom-program-handoff-card {
        grid-template-columns: 1fr;
    }

    .event-workroom-program-handoff-head .ghost-link,
    .event-workroom-program-handoff-card .ghost-button {
        width: 100%;
        justify-content: center;
    }
}

.event-workroom-program-editor-panel {
    margin-bottom: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-workroom-program-editor-panel summary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    align-items: baseline;
    justify-content: space-between;
    padding: 12px;
    cursor: pointer;
}

.event-workroom-program-editor-panel summary span {
    font-weight: 900;
}

.event-workroom-program-editor-panel summary small {
    color: var(--muted);
    font-size: 0.82rem;
}

.event-workroom-program-form {
    display: grid;
    gap: 12px;
    padding: 0 12px 12px;
}

.event-workroom-lineup-editor {
    gap: 10px;
}

.event-workroom-lineup-editor .lineup-editor-row {
    background: var(--surface);
}

.event-lineup-time-grid {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) minmax(110px, 0.7fr);
    gap: 10px;
}

@media (max-width: 520px) {
    .event-lineup-time-grid {
        grid-template-columns: 1fr;
    }
}

.event-workroom-program-days {
    display: grid;
    gap: 14px;
}

.event-workroom-program-day {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-workroom-program-day.is-timeline-past {
    opacity: 0.78;
}

.event-workroom-program-day.is-timeline-past:hover {
    opacity: 1;
}

.event-workroom-program-day.is-timeline-today {
    border-color: color-mix(in srgb, var(--accent) 34%, var(--border));
}

.event-workroom-program-day-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: baseline;
    justify-content: space-between;
}

.event-workroom-program-day-head > div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
}

.event-workroom-program-day-head h3 {
    margin-bottom: 0;
    font-size: 1rem;
}

.event-workroom-program-day-head span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.event-workroom-program-day-status {
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 900;
}

.event-workroom-program-day.is-timeline-today .event-workroom-program-day-status {
    background: var(--accent-wash);
    color: var(--accent);
}

.event-workroom-timeline-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
}

.event-workroom-program-slot {
    cursor: grab;
}

.event-workroom-program-slot.is-dragging {
    border-color: var(--accent);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
    opacity: 0.72;
}

.event-workroom-program-slot.is-lineup-reference-target {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-wash);
}

.event-timeline-stage.is-lineup-drop-target {
    border-color: var(--accent);
    background: var(--accent-wash);
}

.lineup-editor-row.is-lineup-drop-updated {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-wash);
}

.event-workroom-unscheduled {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    padding: 12px;
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-workroom-unscheduled > strong {
    font-size: 0.9rem;
}

.event-workroom-unscheduled ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.event-workroom-unscheduled li {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: baseline;
    justify-content: space-between;
}

.event-workroom-unscheduled span {
    font-weight: 800;
}

.event-workroom-unscheduled small {
    color: var(--muted);
    font-size: 0.8rem;
}

.event-workroom-handoff-panel {
    margin-bottom: 14px;
}

.event-workroom-handoff-feedback {
    margin: 0 0 12px;
    padding: 9px 11px;
    border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--border));
    border-radius: 8px;
    background: var(--accent-wash);
    color: var(--accent);
    font-size: 0.86rem;
    font-weight: 800;
}

.event-workroom-handoff-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
    gap: 10px;
}

.event-workroom-handoff-card {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-workroom-handoff-card.is-attention {
    border-color: color-mix(in srgb, var(--warning-text) 35%, var(--border));
}

.event-workroom-handoff-card.is-active {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
}

.event-workroom-handoff-card.is-watch {
    border-color: color-mix(in srgb, var(--accent) 32%, var(--border));
}

.event-workroom-handoff-card.is-muted {
    opacity: 0.78;
}

.event-workroom-handoff-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: start;
    justify-content: space-between;
}

.event-workroom-handoff-head > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.event-workroom-handoff-head strong {
    overflow-wrap: anywhere;
    font-size: 0.98rem;
}

.event-workroom-handoff-head span {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.event-workroom-handoff-head small {
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 900;
}

.event-workroom-handoff-card.is-attention .event-workroom-handoff-head small {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.event-workroom-handoff-card.is-active .event-workroom-handoff-head small {
    background: var(--success-bg);
    color: var(--success-text);
}

.event-workroom-handoff-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

.event-workroom-handoff-metrics span {
    display: grid;
    gap: 2px;
    padding: 7px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.event-workroom-handoff-metrics b {
    color: var(--text);
    font-size: 1rem;
    line-height: 1;
}

.event-workroom-handoff-card p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.event-workroom-handoff-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.event-workroom-handoff-check {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 7px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-workroom-handoff-check strong {
    color: var(--text);
    font-size: 0.78rem;
}

.event-workroom-handoff-check small {
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 0.7rem;
    line-height: 1.25;
}

.event-workroom-handoff-check.is-open {
    border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
}

.event-workroom-handoff-check.is-open strong {
    color: var(--accent);
}

.event-workroom-handoff-check.is-done {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
}

.event-workroom-handoff-check.is-done strong {
    color: var(--success-text);
}

.event-workroom-handoff-check.is-missing strong {
    color: var(--muted);
}

.event-workroom-handoff-bookings {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.event-workroom-handoff-bookings li {
    display: grid;
    gap: 2px;
}

.event-workroom-handoff-bookings span {
    overflow-wrap: anywhere;
    font-size: 0.84rem;
    font-weight: 850;
}

.event-workroom-handoff-bookings small {
    color: var(--muted);
    font-size: 0.76rem;
}

.event-workroom-handoff-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.event-workroom-handoff-ready {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 9px;
    border: 1px solid color-mix(in srgb, var(--success-text) 30%, var(--border));
    border-radius: 8px;
    background: var(--success-bg);
    color: var(--success-text);
    font-size: 0.8rem;
    font-weight: 850;
}

.event-workroom-unsaved {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--warning-text) 32%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--warning-bg) 74%, var(--surface));
}

.event-workroom-unsaved[hidden] {
    display: none;
}

.event-workroom-unsaved div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.event-workroom-unsaved strong {
    color: var(--warning-text);
    font-size: 0.94rem;
}

.event-workroom-unsaved p {
    margin: 0;
    color: var(--muted);
    font-size: 0.84rem;
}

.event-workroom-unsaved button {
    flex: 0 0 auto;
}

.event-workroom-attention {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-workroom-attention strong {
    font-size: 0.9rem;
}

.event-workroom-attention ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.event-workroom-attention li {
    display: grid;
    gap: 2px;
}

.event-workroom-attention span {
    font-weight: 800;
}

.event-workroom-attention small,
.event-workroom-attention p {
    margin: 0;
    color: var(--muted);
    font-size: 0.82rem;
}

.event-workroom-attention.muted {
    align-content: center;
}

.event-workroom-next-actions {
    display: grid;
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-workroom-next-actions-head {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: baseline;
    justify-content: space-between;
}

.event-workroom-next-actions-head strong {
    font-size: 0.94rem;
}

.event-workroom-next-actions-head span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.event-workroom-next-actions ol {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.event-workroom-next-action {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-left-width: 4px;
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-workroom-next-action.is-danger {
    border-left-color: var(--danger-text);
}

.event-workroom-next-action.is-warning {
    border-left-color: var(--warning-text);
}

.event-workroom-next-action.is-info {
    border-left-color: var(--accent);
}

.event-workroom-next-action.is-neutral {
    border-left-color: var(--muted);
}

.event-workroom-next-action div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.event-workroom-next-action span {
    overflow-wrap: anywhere;
    font-size: 0.9rem;
    font-weight: 850;
}

.event-workroom-next-action p,
.event-workroom-next-action small {
    margin: 0;
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.event-workroom-next-action small {
    font-weight: 800;
}

.event-workroom-next-action-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
}

.event-workroom-quick-status-form {
    margin: 0;
}

.event-workroom-next-action-actions .ghost-button,
.event-workroom-participant-reply-actions .ghost-button {
    min-height: 32px;
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-size: 0.78rem;
    font-weight: 850;
    cursor: pointer;
}

.event-workroom-next-action-actions .ghost-button:hover,
.event-workroom-next-action-actions .ghost-button:focus-visible,
.event-workroom-participant-reply-actions .ghost-button:hover,
.event-workroom-participant-reply-actions .ghost-button:focus-visible {
    border-color: var(--accent);
    color: var(--text);
}

.event-workroom-responsibility-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 12px;
}

.event-workroom-responsibility-card {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-workroom-responsibility-head {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: baseline;
    justify-content: space-between;
}

.event-workroom-responsibility-head strong {
    font-size: 0.95rem;
}

.event-workroom-responsibility-head span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.event-workroom-responsibility-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.event-workroom-responsibility-metrics span {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 7px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.event-workroom-responsibility-metrics b {
    color: var(--text);
    font-size: 1rem;
    line-height: 1;
}

.event-workroom-responsibility-items {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.event-workroom-responsibility-items li {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.event-workroom-responsibility-items span {
    overflow-wrap: anywhere;
    font-size: 0.88rem;
    font-weight: 850;
}

.event-workroom-responsibility-items small,
.event-workroom-responsibility-items em,
.event-workroom-responsibility-empty {
    margin: 0;
    color: var(--muted);
    font-size: 0.78rem;
}

.event-workroom-responsibility-items em {
    font-style: normal;
    overflow-wrap: anywhere;
}

.event-workroom-filter-panel {
    margin: 12px 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-workroom-filter-panel summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    cursor: pointer;
    font-weight: 800;
}

.event-workroom-filter-panel summary small {
    color: var(--muted);
    font-size: 0.82rem;
}

.event-workroom-filter-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(106px, 1fr)) auto;
    gap: 10px;
    align-items: end;
    padding: 0 12px 12px;
}

.event-workroom-filter-shortcuts {
    grid-column: 1 / -1;
    display: grid;
    gap: 8px;
}

.event-workroom-filter-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.event-workroom-filter-chip-group > span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.event-workroom-filter-chip {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-strong);
    color: var(--muted);
    font: inherit;
    font-size: 0.84rem;
    font-weight: 800;
    cursor: pointer;
}

.event-workroom-filter-chip:hover,
.event-workroom-filter-chip:focus-visible,
.event-workroom-filter-chip.is-active {
    border-color: var(--accent);
    background: var(--accent-wash);
    color: var(--text);
}

.event-workroom-filter-chip small {
    color: inherit;
    font-size: 0.76rem;
    opacity: 0.78;
}

.event-workroom-filter-grid label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.event-workroom-filter-grid select,
.event-workroom-filter-grid input {
    font-size: 0.9rem;
}

.event-workroom-filter-grid button {
    min-height: 40px;
    white-space: nowrap;
}

.event-workroom-filter-grid .ghost-button {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: transparent;
    color: var(--muted);
    font-weight: 800;
}

.event-workroom-filter-grid .ghost-button:hover {
    border-color: var(--accent);
    color: var(--text);
}

.event-workroom-row,
.event-workroom-card {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-workroom-row.is-workroom-prefilled {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-wash);
}

.event-workroom-row.has-workroom-warning {
    border-color: color-mix(in srgb, var(--warning-text) 42%, var(--border));
}

.event-workroom-row-notice,
.event-workroom-filter-empty {
    display: grid;
    gap: 4px;
    padding: 9px 10px;
    border: 1px solid color-mix(in srgb, var(--warning-text) 34%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--warning-bg) 72%, var(--surface));
    color: var(--text);
}

.event-workroom-row-notice[hidden],
.event-workroom-filter-empty[hidden] {
    display: none;
}

.event-workroom-row-notice strong,
.event-workroom-filter-empty strong {
    font-size: 0.86rem;
}

.event-workroom-row-notice span,
.event-workroom-filter-empty p {
    margin: 0;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.4;
}

.event-workroom-participant-reply {
    display: grid;
    gap: 4px;
    padding: 9px 10px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-wash) 72%, var(--surface));
}

.event-workroom-participant-reply strong {
    font-size: 0.86rem;
}

.event-workroom-participant-reply p {
    margin: 0;
    color: var(--text);
    font-size: 0.84rem;
    line-height: 1.42;
    overflow-wrap: anywhere;
}

.event-workroom-participant-reply small {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-workroom-participant-reply-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-top: 3px;
}

.event-workroom-participant-reply em {
    color: var(--muted);
    font-size: 0.74rem;
    font-style: normal;
    line-height: 1.35;
}

.event-workroom-filter-empty {
    margin: 10px 0;
    background: var(--surface);
}

.event-workroom-filter-empty .ghost-button {
    justify-self: start;
    margin-top: 4px;
}

.booking-agreement-panel {
    display: grid;
    gap: 14px;
}

.booking-focus-panel {
    gap: 12px;
}

.booking-focus-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 8px;
}

.booking-focus-metrics div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 76%, transparent);
}

.booking-focus-metrics span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.booking-focus-metrics strong {
    min-width: 0;
    color: var(--text);
    font-size: 0.94rem;
    overflow-wrap: anywhere;
}

.booking-focus-metrics .is-warning strong {
    color: var(--warning-text);
}

.booking-focus-metrics .is-success strong {
    color: var(--success-text);
}

.booking-focus-waiting {
    display: grid;
    gap: 8px;
}

.booking-focus-waiting a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--muted);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 82%, transparent);
    color: inherit;
}

.booking-focus-waiting a.is-warning {
    border-left-color: var(--warning-text);
    background: color-mix(in srgb, var(--warning-bg) 52%, var(--surface));
}

.booking-focus-waiting a.is-success {
    border-left-color: var(--success-text);
}

.booking-focus-waiting span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.booking-focus-waiting strong {
    color: var(--text);
    font-size: 0.92rem;
}

.booking-focus-waiting small {
    color: var(--muted);
    line-height: 1.35;
}

.booking-focus-waiting em {
    flex: 0 0 auto;
    color: var(--accent);
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 800;
}

.booking-focus-calm {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--success-bg) 34%, transparent);
    color: var(--success-text);
    font-size: 0.9rem;
    font-weight: 800;
}

.booking-collaboration-panel {
    display: grid;
    gap: 12px;
}

.booking-collaboration-head {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    align-items: flex-start;
    justify-content: space-between;
}

.booking-collaboration-head h2 {
    margin-bottom: 5px;
}

.booking-collaboration-head p {
    margin: 0;
    color: var(--muted);
}

.booking-collaboration-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 70%, transparent);
}

.booking-collaboration-step {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 12px;
    border-left: 1px solid var(--border);
    color: inherit;
}

.booking-collaboration-step:first-child {
    border-left: 0;
}

a.booking-collaboration-step:hover,
a.booking-collaboration-step:focus-visible {
    background: color-mix(in srgb, var(--accent-wash) 62%, transparent);
    color: var(--text);
}

.booking-collaboration-step span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.booking-collaboration-step strong {
    min-width: 0;
    color: var(--text);
    font-size: 0.98rem;
    overflow-wrap: anywhere;
}

.booking-collaboration-step small {
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.booking-collaboration-step.is-warning strong,
.booking-collaboration-step.is-attention strong {
    color: var(--warning-text);
}

.booking-collaboration-step.is-success strong {
    color: var(--success-text);
}

.booking-collaboration-step.is-muted strong {
    color: var(--muted);
}

.booking-connected-section {
    scroll-margin-top: 90px;
}

.booking-connected-head {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    align-items: flex-start;
    justify-content: space-between;
}

.booking-connected-head > div:first-child {
    min-width: min(100%, 260px);
    flex: 1 1 360px;
}

.booking-connected-head h2 {
    margin-bottom: 5px;
}

.booking-connected-head p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.booking-connected-actions {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.booking-contract-panel {
    display: grid;
    gap: 12px;
}

.booking-agreement-head {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr);
    gap: 14px;
    align-items: start;
}

.booking-agreement-head h2 {
    margin-bottom: 6px;
}

.booking-agreement-head p {
    margin: 0;
    color: var(--muted);
}

.booking-agreement-next {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--accent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 84%, transparent);
}

.booking-agreement-next.is-warning {
    border-left-color: var(--warning-text);
    background: color-mix(in srgb, var(--warning-bg) 58%, var(--surface));
}

.booking-agreement-next.is-success {
    border-left-color: var(--success-text);
    background: color-mix(in srgb, var(--success-bg) 58%, var(--surface));
}

.booking-agreement-next.is-muted {
    border-left-color: var(--muted);
}

.booking-agreement-next span,
.booking-agreement-label,
.booking-agreement-row small {
    color: var(--muted);
    font-size: 0.78rem;
}

.booking-agreement-next span,
.booking-agreement-label {
    font-weight: 800;
    text-transform: uppercase;
}

.booking-agreement-next strong {
    color: var(--text);
    font-size: 1rem;
}

.booking-agreement-next p {
    margin: 0;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.booking-agreement-list {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 80%, transparent);
}

.booking-agreement-row {
    display: grid;
    grid-template-columns: minmax(120px, 0.36fr) minmax(0, 1fr);
    gap: 3px 14px;
    min-width: 0;
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
}

.booking-agreement-row:last-child {
    border-bottom: 0;
}

.booking-agreement-value {
    min-width: 0;
    color: var(--text);
    overflow-wrap: anywhere;
}

.booking-agreement-row small {
    grid-column: 2;
    line-height: 1.35;
}

.booking-agreement-row.is-warning .booking-agreement-value {
    color: var(--warning-text);
}

.booking-agreement-row.is-success .booking-agreement-value {
    color: var(--success-text);
}

.booking-agreement-row.is-muted .booking-agreement-value {
    color: var(--muted);
}

.booking-agreement-actions,
.booking-message-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.booking-message-panel {
    display: grid;
    gap: 12px;
}

.booking-message-head h2 {
    margin-bottom: 5px;
}

.booking-message-head p {
    margin: 0;
    color: var(--muted);
}

.booking-message-helper {
    display: grid;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 74%, transparent);
}

.booking-message-presets-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5px 12px;
}

.booking-message-presets-head strong {
    color: var(--text);
    font-size: 0.9rem;
}

.booking-message-presets-head span {
    color: var(--muted);
    font-size: 0.82rem;
}

.booking-message-presets {
    margin: 0;
}

.booking-message-presets .ghost-button {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 0.86rem;
}

.booking-agreement-items-panel {
    display: grid;
    gap: 14px;
}

.booking-agreement-items-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.booking-agreement-items-head h2 {
    margin-bottom: 6px;
}

.booking-agreement-items-head p {
    margin: 0;
    color: var(--muted);
}

.booking-agreement-progress {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 82%, transparent);
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.booking-agreement-progress.is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
    color: var(--warning-text);
}

.booking-agreement-progress.is-success {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
    color: var(--success-text);
}

.booking-agreement-items-list {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 78%, transparent);
}

.booking-agreement-item {
    display: grid;
    gap: 10px;
    padding: 12px;
    border-bottom: 1px solid var(--border);
}

.booking-agreement-item:last-child {
    border-bottom: 0;
}

.booking-agreement-item-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}

.booking-agreement-item-main h3 {
    margin: 2px 0 3px;
    font-size: 1rem;
}

.booking-agreement-item-main p,
.booking-agreement-item-value {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.booking-agreement-item-value {
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--soft-bg) 72%, transparent);
    color: var(--text);
    overflow-wrap: anywhere;
}

.booking-agreement-state {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.booking-agreement-item.is-warning .booking-agreement-state {
    background: color-mix(in srgb, var(--warning-bg) 72%, transparent);
    color: var(--warning-text);
}

.booking-agreement-item.is-success .booking-agreement-state {
    background: color-mix(in srgb, var(--success-bg) 72%, transparent);
    color: var(--success-text);
}

.booking-agreement-confirmation,
.booking-agreement-edit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.booking-agreement-confirmation span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.booking-agreement-confirmation .is-done {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
    color: var(--success-text);
}

.booking-agreement-edit {
    border-top: 1px solid var(--border);
    padding-top: 8px;
}

.booking-agreement-edit summary {
    cursor: pointer;
    color: var(--accent);
    font-weight: 800;
}

.booking-agreement-edit form {
    margin-top: 10px;
}

.booking-agreement-edit textarea {
    min-height: 88px;
}

.booking-agreement-edit-actions {
    justify-content: flex-start;
}

.booking-agreement-edit-actions .ghost-button {
    min-height: 38px;
}

.booking-agreement-resolution {
    display: grid;
    gap: 5px;
    padding: 9px 10px;
    border-left: 3px solid color-mix(in srgb, var(--accent) 58%, var(--border));
    background: color-mix(in srgb, var(--soft-bg) 64%, transparent);
}

.booking-agreement-resolution > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6px 12px;
}

.booking-agreement-resolution strong {
    color: var(--text);
}

.booking-agreement-resolution span,
.booking-agreement-resolution p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.booking-agreement-resolution.is-confirmed {
    border-left-color: var(--success-text);
}

.booking-agreement-resolution.is-needs_update,
.booking-agreement-resolution.is-reopened {
    border-left-color: var(--warning-text);
}

.booking-agreement-resolution-review {
    color: var(--warning-text) !important;
}

.booking-agreement-external {
    margin-top: 3px;
    border-top: 1px solid var(--border);
    padding-top: 9px;
}

.booking-agreement-external summary {
    color: var(--accent);
    font-size: 0.88rem;
    font-weight: 800;
}

.booking-agreement-external-fields {
    display: grid;
    gap: 9px;
    margin: 10px 0 0;
    padding: 0;
    border: 0;
}

.booking-agreement-external-fields legend {
    padding: 0;
    color: var(--text);
    font-size: 0.9rem;
    font-weight: 800;
}

.booking-agreement-external-grid {
    display: grid;
    grid-template-columns: minmax(150px, 0.55fr) minmax(220px, 1.45fr);
    gap: 10px;
}

.booking-agreement-resolution-review-form {
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.booking-activity-panel {
    display: grid;
    gap: 14px;
}

.booking-activity-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.booking-activity-head h2 {
    margin-bottom: 6px;
}

.booking-activity-head p {
    margin: 0;
    color: var(--muted);
}

.booking-activity-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 82%, transparent);
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 900;
    white-space: nowrap;
}

.booking-activity-count.is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
    color: var(--warning-text);
}

.booking-activity-count.is-success {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
    color: var(--success-text);
}

.booking-activity-waiting,
.booking-activity-list {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 78%, transparent);
}

.booking-activity-waiting {
    display: grid;
    gap: 8px;
    padding: 10px;
}

.booking-activity-waiting > strong {
    font-size: 0.95rem;
}

.booking-activity-waiting ul,
.booking-activity-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.booking-activity-waiting li,
.booking-activity-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 9px 10px;
    border-bottom: 1px solid var(--border);
}

.booking-activity-waiting li:last-child,
.booking-activity-list li:last-child {
    border-bottom: 0;
}

.booking-activity-waiting span,
.booking-activity-list span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.booking-activity-waiting b,
.booking-activity-list strong {
    color: var(--text);
    font-size: 0.92rem;
}

.booking-activity-waiting small,
.booking-activity-list small,
.booking-activity-list time {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.booking-activity-waiting a {
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 800;
}

.booking-activity-waiting li.is-warning b,
.booking-activity-list li.is-warning strong {
    color: var(--warning-text);
}

.booking-activity-waiting li.is-success b,
.booking-activity-list li.is-success strong {
    color: var(--success-text);
}

.booking-activity-list li {
    grid-template-columns: minmax(116px, 0.28fr) minmax(0, 1fr);
    align-items: start;
}

.booking-workroom-dashboard {
    display: grid;
    gap: 12px;
    margin: 12px 0 14px;
}

.booking-workroom-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.booking-workroom-metrics div {
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.booking-workroom-metrics span,
.booking-workroom-priority > div > span,
.booking-workroom-priority small,
.booking-workroom-responsibility span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.booking-workroom-metrics strong {
    display: block;
    margin-top: 3px;
    color: var(--text);
    font-size: 1.35rem;
    line-height: 1;
}

.booking-workroom-guidance {
    display: grid;
    gap: 5px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.booking-workroom-guidance.is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 38%, var(--border));
    background: color-mix(in srgb, var(--warning-bg) 70%, var(--surface));
}

.booking-workroom-guidance.is-danger {
    border-color: color-mix(in srgb, var(--danger-text) 38%, var(--border));
    background: color-mix(in srgb, var(--danger-bg) 70%, var(--surface));
}

.booking-workroom-guidance.is-success {
    border-color: color-mix(in srgb, var(--success-text) 38%, var(--border));
    background: color-mix(in srgb, var(--success-bg) 70%, var(--surface));
}

.booking-workroom-guidance strong {
    font-size: 0.95rem;
}

.booking-workroom-guidance p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.booking-workroom-guidance span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.booking-workroom-context {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.booking-workroom-context-head {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: baseline;
    justify-content: space-between;
}

.booking-workroom-context-head strong {
    font-size: 0.95rem;
}

.booking-workroom-context-head span {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.booking-workroom-context-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
}

.booking-workroom-context-chip {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
}

.booking-workroom-context-chip[href]:hover,
.booking-workroom-context-chip[href]:focus-visible {
    border-color: var(--accent);
    color: var(--text);
}

.booking-workroom-context-chip strong {
    font-size: 0.78rem;
}

.booking-workroom-context-chip small,
.booking-workroom-context-chip em {
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 0.7rem;
    font-style: normal;
    line-height: 1.25;
}

.booking-workroom-context-chip.is-open {
    border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
}

.booking-workroom-context-chip.is-open strong {
    color: var(--accent);
}

.booking-workroom-context-chip.is-done {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
}

.booking-workroom-context-chip.is-done strong {
    color: var(--success-text);
}

.booking-workroom-context-chip.is-missing strong {
    color: var(--muted);
}

.booking-workroom-priority {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.booking-workroom-priority > div,
.booking-workroom-priority li {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}

.booking-workroom-priority ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.booking-workroom-priority li {
    min-width: 0;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.booking-workroom-priority li > span:first-child {
    display: grid;
    min-width: 0;
}

.booking-workroom-priority b {
    overflow: hidden;
    color: var(--text);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.booking-workroom-priority-actions {
    display: inline-flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    justify-content: flex-end;
}

.booking-workroom-priority-actions a {
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
}

.booking-workroom-priority-actions a:hover,
.booking-workroom-priority-actions a:focus-visible {
    text-decoration: underline;
}

.booking-workroom-priority p {
    margin: 0;
    color: var(--muted);
}

.booking-workroom-responsibility {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.booking-workroom-responsibility span {
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
}

.booking-workroom-responsibility b {
    color: var(--text);
}

.event-workroom-row-main {
    display: grid;
    grid-template-columns: minmax(130px, 0.6fr) minmax(240px, 1.35fr) minmax(140px, 0.62fr) minmax(140px, 0.62fr);
    gap: 10px;
}

.event-workroom-context-line {
    padding: 7px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.event-workroom-row-links {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.2fr) minmax(160px, 0.75fr);
    gap: 10px;
}

.event-workroom-row label {
    display: grid;
    gap: 7px;
}

.event-workroom-card-header,
.event-workroom-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.event-workroom-card-header > span:not(.status-pill),
.event-workroom-meta span {
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.event-workroom-meta span.is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 42%, var(--border));
    color: var(--warning-text);
}

.event-workroom-meta span.is-danger {
    border-color: color-mix(in srgb, var(--danger-text) 42%, var(--border));
    color: var(--danger-text);
}

.event-workroom-card h3 {
    margin: 4px 0 6px;
    font-size: 1rem;
}

.event-workroom-card p:last-child {
    margin-bottom: 0;
}

.booking-workroom-card.is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
}

.booking-workroom-card.is-danger {
    border-color: color-mix(in srgb, var(--danger-text) 34%, var(--border));
}

.booking-workroom-card.is-success {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
}

.booking-workroom-card-guidance {
    display: grid;
    gap: 3px;
    margin: 0 0 8px;
    padding: 8px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.booking-workroom-card-guidance strong {
    font-size: 0.86rem;
}

.booking-workroom-card-guidance span {
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.4;
}

.booking-workroom-response {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.booking-workroom-response summary {
    cursor: pointer;
    color: var(--accent);
    font-size: 0.88rem;
    font-weight: 800;
}

.booking-workroom-response form {
    display: grid;
    gap: 9px;
    margin-top: 10px;
}

.booking-workroom-response label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.booking-workroom-response select,
.booking-workroom-response textarea {
    font-size: 0.92rem;
}

.booking-workroom-reply-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.booking-workroom-reply-tools .ghost-button {
    min-height: 32px;
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.booking-workroom-reply-tools .ghost-button:hover,
.booking-workroom-reply-tools .ghost-button:focus-visible {
    border-color: var(--accent);
    color: var(--text);
}

.booking-workroom-note-counter {
    margin: -2px 0 0;
}

.booking-workroom-response > form > button {
    justify-self: start;
    padding: 8px 12px;
    font-size: 0.88rem;
}

@media (max-width: 720px) {
    .event-supply-call-card,
    .event-supply-opportunity-card,
    .event-supply-call-inbox-row,
    .event-supply-call-row-main,
    .event-supply-call-row-main.compact,
    .event-supply-call-response,
    .event-supply-call-recommendation,
    .event-edit-basics-grid,
    .event-workroom-brief-grid,
    .event-workroom-radar-focus,
    .event-workroom-radar-item,
    .event-workroom-overview,
    .event-workroom-responsibility-board,
    .event-workroom-next-action,
    .booking-agreement-head,
    .booking-agreement-row,
    .booking-agreement-items-head,
    .booking-agreement-item-main,
    .booking-activity-head,
    .booking-activity-waiting li,
    .booking-activity-list li,
    .event-workroom-row-main,
    .event-workroom-row-links,
    .event-workroom-filter-grid {
        grid-template-columns: 1fr;
    }

    .event-workroom-stat-grid,
    .event-workroom-brief-stats,
    .booking-workroom-metrics,
    .booking-workroom-context-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .event-workroom-radar-score,
    .event-workroom-radar-focus,
    .event-workroom-radar-item em {
        justify-items: start;
        text-align: left;
    }

    .booking-workroom-priority > div,
    .booking-workroom-priority li {
        align-items: flex-start;
        flex-direction: column;
    }

    .booking-agreement-row small {
        grid-column: auto;
    }

    .booking-agreement-progress {
        justify-self: start;
        white-space: normal;
    }

    .booking-agreement-confirmation {
        justify-content: flex-start;
    }

    .booking-agreement-external-grid {
        grid-template-columns: 1fr;
    }

    .booking-activity-count {
        justify-self: start;
        white-space: normal;
    }

    .booking-activity-waiting li {
        align-items: flex-start;
    }

    .booking-activity-waiting a {
        justify-self: start;
    }

    .booking-workroom-priority-actions {
        justify-content: flex-start;
    }

    .booking-collaboration-flow {
        grid-template-columns: 1fr;
    }

    .booking-collaboration-step {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .booking-collaboration-step:first-child {
        border-top: 0;
    }

    .booking-connected-head {
        display: grid;
        justify-items: start;
    }

    .booking-connected-actions {
        justify-content: flex-start;
    }

    .event-workroom-unsaved {
        display: grid;
        justify-items: start;
    }

    .event-supply-call-response,
    .event-supply-call-recommendation {
        display: grid;
        justify-items: start;
    }

    .event-supply-call-response-actions {
        justify-content: flex-start;
    }
}

.event-listing-request-list {
    display: grid;
    gap: 9px;
    margin-bottom: 12px;
}

.event-listing-request-item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-listing-request-item div {
    display: grid;
    gap: 3px;
}

.event-listing-request-item span:not(.status-pill) {
    color: var(--muted);
    font-size: 0.9rem;
}

.event-partner-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-partner-avatar {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--accent);
    font-weight: 800;
}

.event-partner-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-partner-card h3 {
    margin-bottom: 3px;
}

.event-partner-card h3 a {
    color: var(--text);
}

.event-partner-card h3 a:hover {
    color: var(--accent);
}

.event-partner-card p {
    margin-bottom: 6px;
}

.event-partner-card p:last-child {
    margin-bottom: 0;
}

.event-partner-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.event-partner-meta span {
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--muted);
    font-size: 0.82rem;
}

.event-cultural-panel {
    display: grid;
    gap: 14px;
}

.event-cultural-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.event-cultural-note {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-cultural-note p {
    margin-bottom: 0;
}

.event-ticket-empty-state {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-ticket-empty-state span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.event-ticket-empty-state strong {
    color: var(--text);
    overflow-wrap: anywhere;
}

.event-ticket-empty-state p {
    margin-bottom: 0;
    color: var(--muted);
}

.event-ticket-empty-state a {
    width: fit-content;
}

.event-cast-public-list {
    display: grid;
    gap: 14px;
}

.event-cast-public-group {
    display: grid;
    gap: 9px;
}

.event-cast-public-group h3 {
    margin-bottom: 0;
}

.event-cast-public-grid {
    display: grid;
    gap: 10px;
}

.event-cast-public-card {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-cast-public-card span,
.event-cast-public-card p {
    color: var(--muted);
    font-size: 0.88rem;
}

.event-cast-public-card strong a {
    color: var(--text);
}

.event-cast-public-card strong a:hover {
    color: var(--accent);
}

.event-cast-public-card p {
    margin-bottom: 0;
}

.event-response-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.event-response-actions form {
    margin: 0;
}

.event-response-actions button.is-active {
    background: var(--accent);
    color: var(--button-text);
}

.event-live-panel {
    display: grid;
    gap: 14px;
    margin-bottom: 14px;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 46%),
        var(--surface);
}

.event-live-panel h2 {
    margin-bottom: 0;
}

.event-live-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.event-live-stats article {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-live-stats strong {
    display: block;
    color: var(--accent);
    font-size: 1.35rem;
    line-height: 1.1;
}

.event-live-stats span {
    color: var(--muted);
    font-size: 0.86rem;
}

.event-mini-list {
    display: grid;
    gap: 10px;
}

.event-mini-card {
    display: grid;
    gap: 10px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-mini-card.with-poster {
    grid-template-columns: 70px minmax(0, 1fr);
    align-items: center;
}

.event-mini-card.with-poster .status-pill,
.event-mini-card.with-poster .inline-manage-link {
    justify-self: start;
}

.event-mini-poster {
    width: 70px;
}

.event-mini-card p {
    margin-bottom: 0;
}

.event-mini-card strong a {
    color: var(--text);
}

.event-mini-card strong a:hover {
    color: var(--accent);
}

.event-program-list {
    display: grid;
    gap: 10px;
}

.event-program-header {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: start;
    justify-content: space-between;
    margin-bottom: 14px;
}

.event-program-header > * {
    min-width: 0;
}

.event-program-header h2 {
    margin-bottom: 6px;
}

.event-program-header p {
    margin-bottom: 0;
    color: var(--muted);
}

.event-live-freshness {
    display: flex;
    gap: 7px;
    align-items: center;
    margin-top: 7px;
    font-size: 0.78rem;
}

.event-live-freshness > span[aria-hidden="true"] {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--success-text);
}

.event-live-freshness small {
    color: inherit;
    font-size: inherit;
    font-weight: 800;
}

.event-live-freshness[data-event-live-freshness="checking"] > span[aria-hidden="true"] {
    background: var(--accent);
}

.event-live-freshness[data-event-live-freshness="delayed"] {
    color: var(--warning-text);
}

.event-live-freshness[data-event-live-freshness="delayed"] > span[aria-hidden="true"] {
    background: var(--warning-text);
}

.event-program-empty-state.empty-state {
    display: grid;
    gap: 8px;
    max-width: none;
}

.event-program-empty-state .eyebrow {
    margin-bottom: 0;
}

.event-program-empty-state h3 {
    margin-bottom: 0;
    color: var(--text);
}

.event-program-empty-state p {
    margin-bottom: 0;
}

.event-program-view-switch {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
}

.event-program-view-switch a,
.event-timeline-days a {
    text-decoration: none;
}

.event-program-view-switch a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 8px 11px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 800;
}

.event-program-view-switch a.active,
.event-program-view-switch a:hover {
    border-color: var(--accent);
    background: var(--accent-wash);
    color: var(--accent);
}

.event-timeline-view {
    display: grid;
    gap: 14px;
}

.event-timeline-stage-jump small {
    display: block;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-timeline-spotlight {
    display: grid;
    gap: 8px;
    padding: 10px 12px;
    border-left: 3px solid var(--accent);
    border-radius: 8px;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 58%),
        var(--soft-bg);
}

.event-timeline-spotlight-head {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    align-items: baseline;
    justify-content: space-between;
}

.event-timeline-spotlight-head > div {
    display: grid;
    gap: 2px;
}

.event-timeline-spotlight-head .ghost-link {
    min-height: 34px;
    padding: 6px 9px;
    align-self: center;
}

.event-timeline-spotlight-head span {
    color: var(--text);
    font-size: 0.86rem;
    font-weight: 900;
}

.event-timeline-spotlight-head small {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-timeline-spotlight-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
    gap: 8px;
}

.event-timeline-spotlight-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-timeline-spotlight-item time {
    display: inline-grid;
    min-width: 50px;
    min-height: 38px;
    place-items: center;
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--accent);
    font-weight: 900;
}

.event-timeline-spotlight-item strong,
.event-timeline-spotlight-item span {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.event-timeline-spotlight-item strong {
    font-size: 0.94rem;
}

.event-timeline-spotlight-item span {
    margin-top: 2px;
    color: var(--muted);
    font-size: 0.78rem;
}

.event-timeline-spotlight-item small {
    justify-self: end;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--accent-wash);
    color: var(--accent);
    font-size: 0.7rem;
    font-weight: 900;
    white-space: nowrap;
}

.event-timeline-spotlight-item.is-timeline-live {
    border-color: var(--accent);
}

.event-timeline-spotlight-item.is-timeline-live time {
    background: var(--accent);
    color: var(--button-text);
}

.event-timeline-days {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 3px;
    scroll-snap-type: x proximity;
}

.event-timeline-stage-jump {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 3px;
    scroll-snap-type: x proximity;
}

.event-timeline-days a {
    flex: 0 0 auto;
    min-width: 112px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
    scroll-snap-align: center;
}

.event-timeline-stage-jump a {
    flex: 0 0 auto;
    min-width: 132px;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
    text-decoration: none;
    scroll-snap-align: center;
}

.event-timeline-days a.active,
.event-timeline-days a:hover,
.event-timeline-stage-jump a:hover {
    border-color: var(--accent);
    background: var(--accent-wash);
}

.event-timeline-days strong,
.event-timeline-days span,
.event-timeline-days em,
.event-timeline-stage-jump span {
    display: block;
}

.event-timeline-days span {
    margin-top: 2px;
    color: var(--muted);
    font-size: 0.78rem;
}

.event-timeline-days em {
    margin-top: 4px;
    color: var(--muted);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.event-timeline-days small {
    display: inline-flex;
    width: fit-content;
    margin-top: 6px;
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 900;
}

.event-timeline-days a.is-timeline-today small {
    background: var(--accent-wash);
    color: var(--accent);
}

.event-timeline-days a.is-timeline-past {
    opacity: 0.72;
}

.event-timeline-days a.is-timeline-past.active,
.event-timeline-days a.is-timeline-past:hover {
    opacity: 1;
}

.event-timeline-stage-jump span {
    font-weight: 900;
    overflow-wrap: anywhere;
}

.event-timeline-stage-jump small {
    margin-top: 2px;
}

.event-timeline-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
    gap: 12px;
    align-items: start;
}

.event-timeline-stage {
    display: grid;
    gap: 10px;
    min-width: 0;
    scroll-margin-top: 88px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-timeline-stage-head {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

.event-timeline-stage-head h3 {
    margin-bottom: 0;
    font-size: 1rem;
    overflow-wrap: anywhere;
}

.event-timeline-stage-head span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-align: right;
}

.event-timeline-stage-head span small {
    display: block;
    margin-top: 2px;
    color: var(--text);
    font-size: 0.78rem;
    font-weight: 900;
}

.event-timeline-slots {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.event-timeline-slot {
    position: relative;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: stretch;
    padding: 10px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}

.event-timeline-slot::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 0;
    width: 0;
    border-radius: inherit;
    background: transparent;
    pointer-events: none;
}

.event-timeline-slot:hover {
    border-color: color-mix(in srgb, var(--accent) 38%, var(--border));
    background: var(--surface-strong);
}

.event-timeline-slot.is-stage-opening-slot {
    border-color: color-mix(in srgb, var(--accent) 26%, var(--border));
}

.event-timeline-slot.is-timeline-past {
    opacity: 0.72;
}

.event-timeline-slot.is-timeline-past:hover {
    opacity: 1;
}

.event-timeline-slot.is-timeline-next {
    border-color: color-mix(in srgb, var(--accent) 34%, var(--border));
    background: linear-gradient(135deg, var(--accent-wash), var(--surface) 58%);
}

.event-timeline-slot.is-timeline-live {
    --timeline-progress: 0%;
    border-color: var(--accent);
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 62%),
        var(--surface);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent);
}

.event-timeline-slot.is-timeline-live::before {
    width: var(--timeline-progress);
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--accent) 18%, transparent),
        color-mix(in srgb, var(--accent) 8%, transparent)
    );
}

.event-timeline-slot.is-stage-opening-slot::after {
    content: "";
    position: absolute;
    inset: 10px auto 10px 5px;
    z-index: 2;
    width: 3px;
    border-radius: 999px;
    background: var(--accent);
}

.event-timeline-slot > * {
    position: relative;
    z-index: 1;
}

.event-timeline-slot time {
    display: grid;
    place-items: center;
    min-height: 48px;
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--accent);
    font-weight: 900;
}

.event-timeline-slot.is-timeline-live time {
    background: var(--accent);
    color: var(--button-text);
}

.event-timeline-slot strong,
.event-timeline-slot span {
    display: block;
}

.event-timeline-slot strong {
    overflow-wrap: anywhere;
}

.event-timeline-slot strong a {
    color: var(--text);
}

.event-timeline-slot strong a:hover {
    color: var(--accent);
}

.event-timeline-slot span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 0.82rem;
}

.event-timeline-slot-status {
    display: inline-flex;
    width: fit-content;
    margin-top: 7px;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 900;
}

.event-timeline-slot-progress {
    display: inline-flex;
    width: fit-content;
    margin-top: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 72%, transparent);
    color: var(--text);
    font-size: 0.7rem;
    font-weight: 900;
}

.event-timeline-slot.is-timeline-next .event-timeline-slot-status,
.event-timeline-slot.is-timeline-live .event-timeline-slot-status {
    background: var(--accent-wash);
    color: var(--accent);
}

@media (max-width: 719px) {
    .event-program-header {
        display: grid;
    }

    .event-program-view-switch {
        width: 100%;
    }

    .event-program-view-switch a {
        flex: 1 1 120px;
        text-align: center;
    }

    .event-timeline-slot {
        grid-template-columns: 56px minmax(0, 1fr);
    }

    .event-timeline-slot .event-program-save {
        grid-column: 2;
    }

    .event-timeline-spotlight-item {
        grid-template-columns: 50px minmax(0, 1fr);
    }

    .event-timeline-spotlight-item small {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 720px) {
    .event-public-notice {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .event-public-notice > span {
        grid-column: 1;
    }

    .event-public-notice > div {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .event-public-notice time {
        grid-column: 2;
        grid-row: 1;
    }

    .event-personal-program li {
        grid-template-columns: minmax(92px, auto) minmax(0, 1fr);
    }

    .event-personal-program li span {
        grid-column: 2;
    }

    .event-program-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .event-program-item .event-program-save {
        grid-column: 2;
    }

    .event-site-points li {
        grid-template-columns: minmax(84px, 110px) minmax(0, 1fr);
    }

    .event-site-points li a {
        grid-column: 2;
        justify-self: start;
    }
}

.event-stage-list {
    display: grid;
    gap: 14px;
}

.event-program-day-list {
    display: grid;
    gap: 14px;
}

.event-program-day-block {
    display: grid;
    gap: 10px;
}

.event-program-day-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

.event-program-day-head span {
    display: block;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.event-program-day-head h3,
.event-program-day-head p {
    margin-bottom: 0;
}

.event-program-day-head h3 {
    color: var(--text);
    font-size: 1.08rem;
}

.event-program-day-head p {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 800;
}

.event-program-list-compact {
    gap: 8px;
}

.event-program-list-compact .event-program-item {
    padding: 11px;
}

.event-program-list-compact .event-program-time span {
    max-width: 68px;
    overflow-wrap: anywhere;
}

.event-stage-block {
    display: grid;
    gap: 10px;
}

.event-stage-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

.event-stage-head h3 {
    margin-bottom: 0;
    font-size: 1.08rem;
}

.event-stage-head span {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.event-program-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-program-time {
    width: 74px;
    min-height: 62px;
    display: grid;
    place-items: center;
    align-content: center;
    border-radius: 8px;
    background: var(--surface-strong);
    text-align: center;
}

.event-program-time strong {
    color: var(--accent);
    font-size: 1.2rem;
    line-height: 1.1;
}

.event-program-time span {
    color: var(--muted);
    font-size: 0.76rem;
}

.event-program-item h3 {
    margin-bottom: 3px;
}

.event-program-item h3 a {
    color: var(--text);
}

.event-program-item h3 a:hover {
    color: var(--accent);
}

.event-program-item p {
    margin-bottom: 0;
}

.event-wall-form,
.profile-wall-form {
    display: grid;
    gap: 10px;
    margin-bottom: 16px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-wall-form button,
.profile-wall-form button {
    justify-self: start;
}

.event-wall-list,
.profile-wall-list,
.profile-wall-mini-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.event-wall-post,
.profile-wall-post {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
}

.event-wall-avatar,
.profile-wall-avatar {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--surface-strong);
    color: var(--accent);
    font-weight: 800;
}

.event-wall-body,
.profile-wall-body,
.profile-wall-mini-card {
    display: grid;
    gap: 8px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-wall-body p,
.profile-wall-body p,
.profile-wall-mini-card p {
    margin-bottom: 0;
    color: var(--text);
}

.event-wall-body form,
.profile-wall-body form {
    margin: 0;
}

.event-wall-body button,
.profile-wall-body button {
    min-height: 32px;
    padding: 6px 9px;
    font-size: 0.82rem;
}

.event-wall-replies {
    display: grid;
    gap: 8px;
    margin: 4px 0 0;
    padding: 0 0 0 16px;
    border-left: 2px solid var(--border);
    list-style: none;
}

.event-wall-reply {
    display: grid;
    gap: 7px;
    padding: 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-wall-reply-box {
    margin-top: 2px;
}

.event-wall-reply-box summary {
    width: fit-content;
    color: var(--accent);
    font-weight: 800;
    cursor: pointer;
}

.event-wall-reply-box form {
    display: grid;
    gap: 8px;
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.event-wall-meta,
.profile-wall-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.event-wall-meta strong,
.event-wall-meta strong a,
.profile-wall-meta strong,
.profile-wall-meta strong a {
    color: var(--text);
}

.event-wall-meta span,
.profile-wall-meta span {
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--accent-wash);
    color: var(--accent);
    font-size: 0.76rem;
    font-weight: 800;
}

.event-wall-meta small,
.profile-wall-meta small,
.profile-wall-mini-card small {
    color: var(--muted);
}

.profile-wall-link {
    width: fit-content;
    color: var(--accent);
    font-weight: 800;
}

.profile-wall-media {
    display: block;
    width: min(100%, 720px);
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
}

.profile-wall-media img {
    display: block;
    width: 100%;
    max-height: 560px;
    object-fit: contain;
}

.profile-wall-report-box {
    width: min(100%, 540px);
}

.profile-wall-report-box summary {
    width: fit-content;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.profile-wall-report-box form {
    display: grid;
    gap: 8px;
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.profile-wall-edit-box {
    margin-top: 2px;
}

.profile-wall-edit-box summary {
    width: fit-content;
    color: var(--accent);
    font-weight: 800;
    cursor: pointer;
}

.profile-wall-edit-box form {
    display: grid;
    gap: 8px;
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.profile-wall-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.profile-wall-actions form {
    margin: 0;
}

.fan-club-manage-page,
.fan-club-invitation-page {
    width: min(1120px, 100%);
}

.fan-club-manage-nav {
    margin-bottom: 18px;
}

.fan-club-settings-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    max-width: 760px;
}

.fan-club-settings-form > .checkbox-label,
.fan-club-settings-form > .event-profile-picker {
    grid-column: 1 / -1;
}

.fan-club-settings-form > button {
    justify-self: start;
}

.fan-club-linked-artist,
.fan-club-member-row,
.fan-club-request-row,
.fan-club-invitation-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
}

.fan-club-linked-artist {
    margin-bottom: 14px;
    border-top: 1px solid var(--border);
}

.fan-club-official-list {
    border-top: 1px solid var(--border);
}

.fan-club-official-list .fan-club-linked-artist {
    margin: 0;
    border-top: 0;
}

.fan-club-official-list .fan-club-linked-artist:last-child {
    border-bottom: 0;
}

.fan-club-linked-artist > div,
.fan-club-member-copy,
.fan-club-request-row > div:not(.table-actions) {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.fan-club-linked-artist span,
.fan-club-member-copy span,
.fan-club-request-row span,
.fan-club-invitation-row span,
.fan-club-public-member span {
    color: var(--muted);
    font-size: 0.88rem;
}

.fan-club-member-list,
.fan-club-request-list,
.fan-club-invitation-list,
.fan-club-support-list {
    border-top: 1px solid var(--border);
}

.fan-club-support-workspace {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.fan-club-support-request-form {
    display: grid;
    grid-template-columns: minmax(11rem, 0.7fr) minmax(16rem, 1.3fr) auto;
    gap: 0.75rem;
    align-items: end;
    margin: 0 0 1rem;
}

.fan-club-support-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--border);
}

.fan-club-support-row > div:first-child {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.fan-club-support-row span {
    color: var(--muted);
    font-size: 0.86rem;
}

.fan-club-support-row .table-actions,
.fan-club-support-row form {
    margin: 0;
}

.fan-club-public-support {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    margin: 1rem 0 0;
    padding: 0.8rem 0 0.8rem 1rem;
    border-left: 3px solid var(--accent);
    background: linear-gradient(90deg, var(--accent-wash), transparent 72%);
}

.fan-club-public-support > div {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.fan-club-public-support .eyebrow {
    margin: 0;
}

.fan-club-member-filter {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(10rem, 0.55fr) auto auto;
    gap: 0.7rem;
    align-items: end;
    margin: 0 0 0.9rem;
}

.fan-club-member-filter label {
    min-width: 0;
}

.fan-club-member-pagination {
    margin-top: 0.9rem;
}

.fan-club-member-actions,
.fan-club-member-actions form,
.fan-club-public-actions,
.fan-club-public-actions form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0;
}

.fan-club-member-actions form select {
    min-width: 126px;
}

.fan-club-member-actions button,
.fan-club-request-row button,
.fan-club-invitation-row button,
.fan-club-public-actions button {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 0.84rem;
}

.fan-club-invitation-result {
    display: grid;
    gap: 6px;
    max-width: 760px;
    margin-bottom: 14px;
}

.fan-club-public-actions {
    margin: 14px 0;
}

.fan-club-public-member-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.fan-club-public-member {
    display: inline-grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.fan-club-invitation-confirm {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

@media (max-width: 760px) {
    .fan-club-member-filter {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .fan-club-settings-form,
    .fan-club-support-request-form,
    .fan-club-support-row,
    .fan-club-public-support,
    .fan-club-linked-artist,
    .fan-club-member-row,
    .fan-club-request-row,
    .fan-club-invitation-row,
    .fan-club-invitation-confirm {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .fan-club-support-request-form button,
    .fan-club-public-support .button-link {
        justify-self: start;
    }

    .fan-club-settings-form > .checkbox-label,
    .fan-club-settings-form > .event-profile-picker {
        grid-column: auto;
    }

    .fan-club-member-actions,
    .fan-club-request-row .table-actions {
        justify-content: flex-start;
    }
}

.profile-upcoming-events {
    border: 1px solid var(--border);
    border-radius: 8px;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 44%),
        var(--surface);
}

.profile-event-list {
    display: grid;
    gap: 10px;
}

.profile-event-card {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.profile-event-poster {
    width: 86px;
}

.profile-event-main {
    display: grid;
    gap: 5px;
}

.profile-event-main h3 {
    margin-bottom: 0;
}

.profile-event-main h3 a {
    color: var(--text);
}

.profile-event-main h3 a:hover {
    color: var(--accent);
}

.profile-event-main p {
    margin-bottom: 0;
}

.profile-availability-calendar {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.profile-calendar-list {
    display: grid;
    gap: 10px;
}

.profile-calendar-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-calendar-card form {
    margin: 0;
}

.profile-calendar-main {
    display: grid;
    gap: 6px;
}

.profile-calendar-main h3 {
    margin-bottom: 0;
}

.profile-calendar-main p {
    margin-bottom: 0;
}

.profile-calendar-capacity {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    color: var(--muted);
    font-size: 0.9rem;
}

.profile-calendar-capacity strong {
    color: var(--accent);
}

.profile-production-list,
.production-admin-list,
.production-cast-list,
.production-block-list,
.theatre-scene-list,
.production-public-blocks {
    display: grid;
    gap: 10px;
}

.profile-production-card,
.production-admin-card,
.production-line-card,
.production-block-card,
.theatre-scene-card {
    display: grid;
    gap: 12px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-production-card,
.production-admin-card,
.production-line-card,
.production-block-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
}

.production-public-block-card {
    grid-template-columns: 1fr;
}

.production-public-block-body,
.production-public-block-heading {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.production-public-block-header {
    display: grid;
    gap: 12px;
    align-items: start;
}

.production-block-ticket-link {
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
}

.production-block-status-row,
.production-schedule-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.production-block-status-row span,
.production-schedule-summary span {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.2;
}

.production-public-block-card .production-date-chips {
    align-items: flex-start;
}

.production-public-block-card .production-date-chips span,
.production-public-block-card .production-date-chips a {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    max-width: 100%;
    white-space: normal;
    text-align: left;
    overflow-wrap: anywhere;
}

.production-public-block-card .production-date-chips strong,
.production-public-block-card .production-date-chips small {
    display: block;
    line-height: 1.2;
}

.production-public-block-card .production-date-chips small {
    color: currentColor;
    font-size: 0.74rem;
    font-weight: 800;
    opacity: 0.82;
}

.production-admin-guide-panel {
    display: grid;
    gap: 14px;
}

.production-admin-summary,
.production-panel-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.production-admin-summary span,
.production-panel-stats span,
.theatre-scene-card-summary > span {
    display: grid;
    min-width: 94px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.production-admin-summary strong,
.production-panel-stats strong,
.theatre-scene-card-summary > span strong {
    color: var(--heading);
    font-size: 1rem;
    line-height: 1.15;
}

.production-admin-summary small,
.production-panel-stats small,
.theatre-scene-card-summary > span small {
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1.2;
}

.production-admin-guide {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 10px;
}

.production-admin-guide-card {
    display: grid;
    gap: 6px;
    align-content: start;
    min-height: 132px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    text-decoration: none;
}

.production-admin-guide-card:hover,
.production-admin-guide-card:focus-visible {
    border-color: var(--accent);
    color: var(--text);
}

.production-admin-guide-card.is-ready {
    border-color: color-mix(in srgb, var(--success-text) 24%, var(--border));
}

.production-admin-guide-card.is-attention,
.production-admin-guide-card.is-todo {
    border-color: color-mix(in srgb, var(--accent) 28%, var(--border));
}

.production-admin-guide-card.is-warning {
    border-color: color-mix(in srgb, var(--warning-text) 40%, var(--border));
    background: color-mix(in srgb, var(--warning-bg) 52%, var(--surface));
}

.production-admin-guide-card strong {
    color: var(--heading);
    line-height: 1.2;
}

.production-admin-guide-card span:not(.production-admin-guide-status),
.production-admin-guide-card small {
    color: var(--muted);
    line-height: 1.3;
}

.production-admin-guide-status {
    display: inline-flex;
    width: fit-content;
    padding: 4px 7px;
    border-radius: 999px;
    background: var(--surface-strong);
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1.2;
}

.production-admin-help-list {
    display: grid;
    gap: 5px;
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.theatre-scenes-panel {
    display: grid;
    gap: 14px;
}

.theatre-scene-create-form {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border);
}

.theatre-scene-card {
    background: var(--surface);
}

.theatre-scene-card-summary {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-start;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
}

.theatre-scene-card-summary > div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.theatre-scene-card-summary h3,
.theatre-scene-card-summary p {
    margin-bottom: 0;
}

.theatre-scene-card-summary p {
    color: var(--muted);
}

.profile-theatre-scene-list {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.theatre-scene-public-card {
    align-content: start;
}

.theatre-scene-public-card h3 {
    font-size: 1rem;
}

.profile-theatre-scene-meta {
    justify-content: flex-start;
}

.profile-theatre-scene-program {
    display: grid;
    gap: 6px;
    padding-top: 2px;
}

.profile-theatre-scene-program-list {
    display: grid;
    border-top: 1px solid var(--border);
}

.profile-theatre-scene-program-item {
    display: grid;
    gap: 3px;
    padding: 8px 0;
    border-bottom: 1px solid var(--border);
    color: var(--text);
    text-decoration: none;
}

.profile-theatre-scene-program-item:hover .profile-theatre-scene-program-title {
    color: var(--accent);
}

.profile-theatre-scene-program-date {
    color: var(--accent);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.25;
}

.profile-theatre-scene-program-title {
    color: var(--heading);
    font-weight: 800;
    line-height: 1.25;
}

.profile-theatre-scene-program-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.profile-theatre-scene-empty {
    color: var(--muted);
    font-size: 0.88rem;
}

.theatre-scene-card.is-inactive {
    opacity: 0.72;
}

.theatre-scene-delete-form {
    display: flex;
    justify-content: flex-end;
}

.profile-production-card h2,
.profile-production-card h3,
.production-admin-card h3,
.production-line-card h3,
.production-line-card h4,
.production-block-card h3,
.theatre-scene-card h3 {
    margin-bottom: 0;
}

.production-index-card h2 {
    font-size: 1.05rem;
    line-height: 1.25;
}

.production-index-facts {
    margin: 8px 0;
}

.production-card-spotlight {
    display: grid;
    gap: 3px;
    width: min(100%, 460px);
    margin: 9px 0;
    padding: 9px 10px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}

.production-card-spotlight span {
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: uppercase;
}

.production-card-spotlight strong {
    color: var(--heading);
    font-size: 0.98rem;
    line-height: 1.25;
}

.production-card-spotlight small {
    color: var(--muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.production-card-alerts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 3px;
}

.production-card-alerts .status-pill {
    width: fit-content;
}

.production-card-detail-link {
    width: fit-content;
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 800;
}

.production-card-detail-link:hover {
    color: var(--accent-strong);
}

.production-card-next-change {
    display: grid;
    gap: 5px;
    margin-top: 7px;
    padding-top: 7px;
    border-top: 1px solid var(--border);
}

.production-card-next-change strong {
    font-size: 0.9rem;
}

.profile-production-card p,
.production-admin-card p,
.production-line-card p,
.production-block-card p,
.theatre-scene-card p {
    margin-bottom: 0;
}

.production-date-override-panel {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.production-date-override-panel summary {
    cursor: pointer;
    color: var(--accent);
    font-size: 0.9rem;
    font-weight: 800;
}

.production-date-override-panel .compact-form {
    margin-top: 10px;
}

.production-date-override-list,
.production-date-notes {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.production-date-override-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.production-date-override-item h4 {
    margin-bottom: 0;
    font-size: 0.95rem;
}

.production-date-notes {
    color: var(--muted);
    font-size: 0.9rem;
}

.production-history-item {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.production-history-item p,
.production-history-change-list {
    margin-bottom: 0;
}

.production-history-change-list {
    display: grid;
    gap: 4px;
    padding-left: 18px;
}

.production-history-snapshots {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.production-history-snapshots div {
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.production-history-snapshots span {
    display: block;
    margin-bottom: 3px;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.inline-profile-link {
    display: inline-flex;
    margin-top: 4px;
}

.production-block-preview {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.production-block-preview h3 {
    margin-bottom: 0;
    font-size: 0.98rem;
}

.production-block-preview .production-date-chips:empty {
    display: none;
}

.profile-production-card a,
.production-line-card a {
    color: var(--text);
}

.profile-production-card a:hover,
.production-line-card a:hover {
    color: var(--accent);
}

.profile-production-card.with-poster,
.production-admin-card.with-poster {
    grid-template-columns: 88px minmax(0, 1fr) auto;
    align-items: center;
}

.production-poster-thumb {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--muted);
    box-shadow: var(--shadow);
}

.production-poster-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.18s ease;
}

.production-poster-thumb:hover img,
.production-poster-thumb:focus-visible img {
    transform: scale(1.025);
}

.production-poster-thumb:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent);
    outline-offset: 3px;
}

.production-poster-thumb .visual-placeholder {
    position: absolute;
    inset: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
}

.production-poster-thumb .visual-placeholder strong {
    max-width: 11ch;
    font-size: 0.72rem;
    line-height: 1.15;
}

.production-card-poster {
    width: 88px;
}

.production-poster-editor {
    display: grid;
    gap: 9px;
}

.production-poster-preview {
    overflow: hidden;
    border-radius: 8px;
    background: var(--surface-strong);
}

.production-poster-preview img {
    width: 100%;
    max-height: 320px;
    display: block;
    object-fit: cover;
}

.production-poster-preview.visual-placeholder,
.production-poster-preview .visual-placeholder {
    min-height: 240px;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.production-cast-group {
    display: grid;
    gap: 8px;
}

.production-cast-group h3 {
    font-size: 1rem;
    margin-bottom: 0;
}

.production-date-chips,
.chip-checkbox-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.production-date-chips span,
.production-date-chips a,
.chip-checkbox-grid label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text);
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
}

.production-date-chips a:hover,
.production-date-chips a:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
}

.production-date-chips span.status-limited,
.production-date-chips span.status-sold_out,
.production-date-chips span.status-cancelled,
.production-date-chips span.status-change,
.production-date-chips span.status-hidden,
.production-date-chips a.status-limited,
.production-date-chips a.status-sold_out,
.production-date-chips a.status-cancelled,
.production-date-chips a.status-change,
.production-date-chips a.status-hidden {
    border-color: currentColor;
}

.production-date-chips span.status-limited,
.production-date-chips a.status-limited {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.production-date-chips span.status-sold_out,
.production-date-chips span.status-cancelled,
.production-date-chips a.status-sold_out,
.production-date-chips a.status-cancelled {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.production-date-chips span.status-hidden,
.production-date-chips a.status-hidden {
    background: var(--surface-strong);
    color: var(--muted);
}

.production-date-chips span.status-change,
.production-date-chips a.status-change {
    background: var(--accent-wash);
    color: var(--accent);
}

.production-date-note-item {
    display: grid;
    gap: 6px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.production-date-note-item:target {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-wash);
}

.production-date-note-header {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.production-note-line {
    margin-bottom: 0;
}

.production-substitution-public-list {
    display: grid;
    gap: 7px;
}

.production-substitution-public-list > div {
    display: grid;
    gap: 3px;
    padding: 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.production-substitution-public-list span,
.production-substitution-public-list small {
    color: var(--muted);
}

.production-date-cast-snapshot {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.production-date-cast-snapshot summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    padding: 9px;
    cursor: pointer;
    font-weight: 800;
}

.production-date-cast-snapshot summary small {
    color: var(--muted);
    font-size: 0.78rem;
}

.production-date-cast-snapshot-list {
    display: grid;
    gap: 6px;
    padding: 0 9px 9px;
}

.production-date-cast-snapshot-list > div {
    display: grid;
    gap: 2px;
    padding: 8px;
    border-radius: 8px;
    background: var(--surface);
}

.production-date-cast-snapshot-list > div.is-substituted {
    border-left: 3px solid var(--accent);
}

.production-date-cast-snapshot-list span,
.production-date-cast-snapshot-list small {
    color: var(--muted);
}

.production-date-cast-snapshot-list a {
    color: inherit;
}

.production-change-labels {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.production-change-labels .status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 8px;
    font-size: 0.78rem;
    font-weight: 800;
}

.chip-checkbox-grid input {
    margin: 0;
}

.production-weekdays {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.production-weekdays legend {
    padding: 0 6px;
    color: var(--muted);
    font-weight: 800;
}

.production-hero {
    display: grid;
    gap: 12px;
}

.production-hero-layout {
    display: grid;
    gap: 18px;
    align-items: start;
}

.production-hero-copy {
    display: grid;
    gap: 12px;
}

.production-hero-copy h1,
.production-hero-copy p {
    margin-bottom: 0;
}

.production-hero-poster {
    width: min(100%, 320px);
    justify-self: center;
}

.production-fact-list {
    justify-content: flex-start;
}

.production-upcoming-overview {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.production-upcoming-overview-header {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    align-items: end;
    justify-content: space-between;
}

.production-upcoming-overview h3 {
    margin-bottom: 0;
    font-size: 1rem;
}

.production-upcoming-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 10px;
    align-items: start;
}

.production-upcoming-card {
    display: grid;
    gap: 8px;
    align-content: start;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.production-upcoming-card.is-cancelled {
    border-color: color-mix(in srgb, var(--danger-text) 34%, var(--border));
    background: color-mix(in srgb, var(--danger-bg) 28%, var(--surface));
}

.production-upcoming-card-main {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.production-upcoming-card h4,
.production-upcoming-card p {
    margin-bottom: 0;
}

.production-upcoming-card h4 {
    color: var(--heading);
    font-size: 1rem;
    line-height: 1.25;
}

.production-upcoming-card p:not(.eyebrow) {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.35;
}

.production-upcoming-card-tags,
.production-upcoming-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.production-upcoming-card-actions .ghost-link {
    width: max-content;
}

.production-date-notes-header {
    display: grid;
    gap: 2px;
}

.production-date-notes-header h4 {
    margin-bottom: 0;
    color: var(--heading);
    font-size: 0.98rem;
}

.production-conflict-panel {
    border-color: color-mix(in srgb, var(--warning-text) 32%, var(--border));
}

.production-conflict-list {
    display: grid;
    gap: 10px;
}

.production-conflict-card {
    display: grid;
    gap: 10px;
    padding: 13px;
    border: 1px solid color-mix(in srgb, var(--warning-text) 32%, var(--border));
    border-radius: 8px;
    background: var(--warning-bg);
    color: var(--warning-text);
}

.production-conflict-card h3,
.production-conflict-card p {
    margin-bottom: 0;
}

.production-conflict-summary {
    font-weight: 800;
}

.production-conflict-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.production-conflict-pair > div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--warning-text) 22%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface) 72%, transparent);
}

.production-conflict-pair strong,
.production-conflict-pair span,
.production-conflict-pair small {
    overflow-wrap: anywhere;
}

.production-conflict-pair small {
    color: var(--muted);
}

.production-conflict-slot-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding-top: 4px;
}

.production-conflict-slot-actions a {
    color: var(--accent);
    font-size: 0.8rem;
    font-weight: 800;
}

.compact-empty {
    padding: 14px;
}

.danger-zone {
    border-color: rgba(185, 28, 28, 0.35);
}

@media (max-width: 720px) {
    .profile-production-card,
    .production-admin-card,
    .production-line-card,
    .production-block-card,
    .theatre-scene-card-summary,
    .production-conflict-pair,
    .production-date-override-item {
        grid-template-columns: 1fr;
    }

    .theatre-scene-card-summary {
        display: grid;
    }

    .production-history-snapshots {
        grid-template-columns: 1fr;
    }

    .profile-production-card.with-poster,
    .production-admin-card.with-poster {
        grid-template-columns: 74px minmax(0, 1fr);
    }

    .profile-production-card.with-poster .table-actions,
    .production-admin-card.with-poster .table-actions {
        grid-column: 1 / -1;
    }

    .production-card-poster {
        width: 74px;
    }
}

@media (min-width: 860px) {
    .production-hero-layout {
        grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    }

    .production-hero-poster {
        justify-self: end;
    }

    .production-public-block-header {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .production-block-ticket-link {
        justify-self: end;
    }
}

.profile-marketplace-list {
    display: grid;
    gap: 10px;
}

.profile-marketplace-card {
    display: grid;
    gap: 6px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-marketplace-card h3 {
    margin-bottom: 0;
}

.profile-marketplace-card h3 a {
    color: var(--text);
}

.profile-marketplace-card h3 a:hover {
    color: var(--accent);
}

.profile-marketplace-card p {
    margin-bottom: 0;
}

.form-fieldset {
    display: grid;
    gap: 9px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.form-fieldset legend {
    padding: 0 6px;
    color: var(--muted);
    font-weight: 700;
}

.event-create-card {
    width: min(100%, 1040px);
}

.event-create-card form > *,
.event-edit-form > *,
.event-edit-form [data-profile-panel],
.event-edit-basics-fields,
.event-festival-editor-row,
.event-coordinate-editor {
    min-width: 0;
}

.event-create-card input,
.event-create-card select,
.event-create-card textarea,
.event-edit-form input,
.event-edit-form select,
.event-edit-form textarea {
    max-width: 100%;
}

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

.event-coordinate-picker {
    padding-top: 7px;
    border-top: 1px solid var(--border);
}

.event-coordinate-picker summary {
    width: fit-content;
    cursor: pointer;
    color: var(--accent);
    font-size: 0.88rem;
    font-weight: 900;
}

.event-coordinate-picker summary:hover,
.event-coordinate-picker summary:focus-visible {
    color: var(--text);
}

.event-coordinate-picker-map {
    position: relative;
    z-index: 0;
    width: 100%;
    min-height: 260px;
    max-height: 420px;
    margin-top: 10px;
    overflow: hidden;
    aspect-ratio: 16 / 7;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
}

.event-coordinate-picker.is-compact .event-coordinate-picker-map {
    min-height: 230px;
    aspect-ratio: 2 / 1;
}

.event-coordinate-picker-map > p {
    display: grid;
    min-height: inherit;
    margin: 0;
    padding: 18px;
    place-items: center;
    color: var(--muted);
    text-align: center;
}

.event-coordinate-picker-map.leaflet-container {
    font-family: inherit;
}

.event-coordinate-picker-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    margin-top: 8px;
}

.event-coordinate-picker-footer p {
    margin: 0;
    color: var(--muted);
    font-size: 0.84rem;
}

.event-coordinate-picker-footer .ghost-button {
    min-height: 34px;
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.event-coordinate-picker-footer .ghost-button:hover,
.event-coordinate-picker-footer .ghost-button:focus-visible {
    border-color: var(--accent);
    color: var(--text);
}

.event-coordinate-picker-marker {
    border: 0;
    background: transparent;
}

.event-coordinate-picker-marker span {
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    border: 3px solid var(--surface);
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.34);
}

.event-coordinate-picker-marker span::after {
    content: "";
    position: absolute;
    inset: 7px;
    border-radius: 50%;
    background: var(--surface);
}

.admin-place-data-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 18px;
}

.admin-place-data-form > label,
.admin-place-data-form > [data-coordinate-picker] > label {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.admin-place-data-form > [data-coordinate-picker] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    min-width: 0;
}

.admin-place-data-form > [data-coordinate-picker] > strong,
.admin-place-data-form > [data-coordinate-picker] > .form-help,
.admin-place-data-form > [data-coordinate-picker] > .event-coordinate-picker,
.admin-place-data-form > button[type="submit"] {
    grid-column: 1 / -1;
}

.admin-place-data-form > button[type="submit"] {
    justify-self: start;
}

.event-edit-page {
    display: grid;
    gap: 14px;
}

.event-edit-form {
    gap: 14px;
}

.event-edit-page .form-fieldset {
    padding: 18px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.event-visitor-check-panel {
    display: grid;
    gap: 12px;
}

.event-visitor-check-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
}

.event-visitor-check-head h2,
.event-visitor-check-head p {
    margin-bottom: 0;
}

.event-visitor-check-score {
    display: grid;
    gap: 5px;
    min-width: 136px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border));
    border-radius: 8px;
    background: var(--soft-bg);
    text-align: right;
}

.event-visitor-check-score strong {
    color: var(--text);
    font-size: 1.28rem;
    line-height: 1;
}

.event-visitor-check-score span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 900;
}

.event-visitor-check-meter {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: color-mix(in srgb, var(--border) 68%, transparent);
}

.event-visitor-check-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--accent);
}

.event-visitor-check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
    gap: 9px;
}

.event-visitor-check-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
    min-height: 154px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-visitor-check-item > div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.event-visitor-check-item span,
.event-visitor-check-item strong,
.event-visitor-check-item p {
    display: block;
}

.event-visitor-check-item span {
    width: fit-content;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 900;
}

.event-visitor-check-item strong {
    color: var(--text);
    overflow-wrap: anywhere;
}

.event-visitor-check-item p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.84rem;
}

.event-visitor-check-item a {
    align-self: end;
    width: fit-content;
    padding: 6px 8px;
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 900;
    text-decoration: none;
}

.event-visitor-check-item a:hover,
.event-visitor-check-item a:focus-visible {
    background: var(--accent-wash);
}

.event-visitor-check-item.is-ready {
    border-color: color-mix(in srgb, var(--success-text) 28%, var(--border));
}

.event-visitor-check-item.is-ready span {
    background: var(--success-bg);
    color: var(--success-text);
}

.event-visitor-check-item.is-attention {
    border-color: color-mix(in srgb, var(--warning-text) 34%, var(--border));
}

.event-visitor-check-item.is-attention span {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.event-visitor-check-item.is-missing {
    border-color: color-mix(in srgb, var(--danger-text) 34%, var(--border));
}

.event-visitor-check-item.is-missing span {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.event-visitor-check-item.is-optional {
    border-color: var(--border);
    background: var(--soft-bg);
}

.event-visitor-check-item.is-optional span {
    background: var(--surface);
    color: var(--muted);
}

.event-edit-basics-panel {
    display: grid;
    gap: 14px;
}

.event-edit-basics-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.7fr);
    gap: 16px;
    align-items: start;
}

.event-edit-basics-fields,
.event-edit-poster-card {
    display: grid;
    gap: 11px;
}

.event-edit-basics-fields label,
.event-edit-poster-card label {
    display: grid;
    gap: 7px;
}

.event-edit-poster-card {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-edit-page .event-poster-preview {
    border: 1px solid var(--border);
}

.event-edit-page .event-poster-preview .visual-placeholder {
    min-height: 260px;
    border: 0;
}

.event-edit-submit-actions {
    position: sticky;
    bottom: 12px;
    z-index: 8;
    justify-content: flex-end;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-shadow: var(--shadow);
}

.profile-container.is-profile-container-ready .event-edit-form:not(:has([data-profile-panel]:not([hidden]))) .event-edit-submit-actions {
    display: none;
}

.event-edit-status-panel {
    margin-top: 0;
}

@media (max-width: 720px) {
    .admin-place-data-form,
    .admin-place-data-form > [data-coordinate-picker] {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-place-data-form > [data-coordinate-picker] > strong,
    .admin-place-data-form > [data-coordinate-picker] > .form-help,
    .admin-place-data-form > [data-coordinate-picker] > .event-coordinate-picker,
    .admin-place-data-form > button[type="submit"] {
        grid-column: 1;
    }

    .event-visitor-check-head {
        grid-template-columns: 1fr;
    }

    .event-visitor-check-score {
        text-align: left;
    }

    .event-edit-basics-grid {
        grid-template-columns: 1fr;
    }

    .event-coordinate-picker-map,
    .event-coordinate-picker.is-compact .event-coordinate-picker-map {
        min-height: 240px;
        aspect-ratio: 4 / 3;
    }

    .event-coordinate-picker-footer {
        grid-template-columns: 1fr;
    }

    .event-coordinate-picker-footer .ghost-button {
        justify-self: start;
    }

    .event-edit-submit-actions {
        bottom: 74px;
        justify-content: stretch;
    }

    .event-edit-submit-actions button {
        width: 100%;
    }
}

.lineup-editor {
    display: grid;
    gap: 12px;
}

.event-cultural-grid {
    display: grid;
    gap: 10px;
}

.event-cast-editor {
    display: grid;
    gap: 12px;
}

.event-repeatable-actions,
.event-cast-editor-actions {
    display: flex;
    justify-content: flex-start;
}

.event-repeatable-actions .ghost-button,
.event-cast-editor-actions .ghost-button {
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    font-weight: 800;
}

.event-repeatable-actions .ghost-button:hover,
.event-cast-editor-actions .ghost-button:hover {
    border-color: var(--accent);
    color: var(--text);
}

.event-repeatable-row-head {
    grid-column: 1 / -1;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}

.event-repeatable-row-head strong {
    color: var(--muted);
    font-size: 0.82rem;
}

.event-repeatable-row-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.event-repeatable-remove {
    min-height: 32px;
    padding: 5px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.event-repeatable-drag {
    min-height: 32px;
    padding: 5px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    cursor: grab;
    font-size: 0.8rem;
    font-weight: 800;
}

.event-repeatable-drag:hover {
    border-color: var(--accent);
    color: var(--text);
}

.event-repeatable-drag:active {
    cursor: grabbing;
}

.event-repeatable-remove:hover {
    border-color: var(--danger);
    color: var(--danger-text);
}

.event-cast-editor-row,
.event-partner-editor-row,
.event-sponsor-logo-row,
.lineup-editor-row {
    transition: border-color 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
}

.event-cast-editor-row.is-dragging,
.event-partner-editor-row.is-dragging,
.event-sponsor-logo-row.is-dragging,
.lineup-editor-row.is-dragging {
    border-color: var(--accent);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
    opacity: 0.72;
}

.event-cast-editor-row {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-partner-editor-row,
.event-sponsor-logo-row,
.lineup-editor-row {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.event-cast-editor-row label,
.event-partner-editor-row label,
.event-sponsor-logo-row label,
.lineup-editor-row label {
    display: grid;
    gap: 7px;
}

.event-sponsor-logo-preview {
    display: grid;
    min-height: 78px;
    place-items: center;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
    text-align: center;
}

.event-sponsor-logo-preview img {
    display: block;
    max-width: 190px;
    max-height: 64px;
    object-fit: contain;
}

.event-sponsor-logo-row > .form-help,
.event-sponsor-logo-row > .checkbox-row {
    grid-column: 1 / -1;
}

.event-profile-picker {
    position: relative;
    display: grid;
    gap: 7px;
}

.event-profile-picker label span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

.event-profile-suggestions {
    position: absolute;
    z-index: 80;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    display: grid;
    gap: 6px;
    max-height: min(380px, 58vh);
    overflow: auto;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.event-profile-suggestions[hidden] {
    display: none;
}

.event-profile-suggestion {
    width: 100%;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.event-profile-suggestion:hover,
.event-profile-suggestion:focus-visible {
    border-color: var(--accent);
    background: var(--accent-wash);
}

.event-profile-suggestion-thumb {
    width: 44px;
    aspect-ratio: 1;
    display: grid;
    overflow: hidden;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-profile-suggestion-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-profile-suggestion-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.event-profile-suggestion-copy strong,
.event-profile-suggestion-copy span,
.event-profile-suggestion-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.event-profile-suggestion-copy span,
.event-profile-suggestion-copy small,
.event-profile-suggestion-state {
    color: var(--muted);
    font-size: 0.84rem;
}

.event-profile-suggestion-state {
    padding: 10px;
}

.city-suggest-field {
    position: relative;
}

.city-suggest-panel {
    position: absolute;
    z-index: 90;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    display: grid;
    gap: 6px;
    max-height: min(320px, 58vh);
    overflow: auto;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.city-suggest-panel[hidden] {
    display: none;
}

.city-suggest-option {
    width: 100%;
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.place-suggest-option {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.place-suggest-thumb {
    width: 42px;
    aspect-ratio: 1;
    display: grid;
    overflow: hidden;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.place-suggest-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.place-suggest-summary {
    white-space: normal;
}

.event-place-suggestion {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.event-place-suggestion div {
    display: grid;
    gap: 3px;
    min-width: min(100%, 260px);
}

.event-place-suggestion span {
    color: var(--muted);
    font-size: 0.92rem;
}

.city-suggest-option:hover,
.city-suggest-option:focus-visible {
    border-color: var(--accent);
    background: var(--accent-wash);
}

.city-suggest-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.city-suggest-copy strong,
.city-suggest-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.city-suggest-copy small,
.city-suggest-state {
    color: var(--muted);
    font-size: 0.84rem;
}

.city-suggest-state {
    padding: 10px;
}

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

.amenity-editor-item {
    display: flex;
    gap: 9px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    font-weight: 400;
}

.amenity-editor-item input {
    width: auto;
    min-height: 0;
}

.amenity-editor-item > span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.amenity-editor-item > span > strong {
    min-width: 38px;
    color: var(--accent);
    font-size: 0.82rem;
}

.checkbox-row {
    display: flex;
    min-width: 0;
    gap: 9px;
    align-items: flex-start;
    flex-wrap: nowrap;
    overflow-wrap: anywhere;
    font-weight: 400;
    line-height: 1.45;
}

.checkbox-row input[type="checkbox"],
.checkbox-row input[type="radio"] {
    width: 18px;
    min-width: 18px;
    height: 18px;
    min-height: 18px;
    flex: 0 0 18px;
    margin-top: 0.15em;
    padding: 0;
}

.booking-terms,
.message-thread {
    margin-top: 18px;
}

.booking-terms form {
    margin-top: 10px;
}

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

.mini-actions a {
    color: var(--accent);
    font-weight: 700;
}

.inline-manage-link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--accent);
    font-size: 0.92rem;
    font-weight: 700;
}

.inline-manage-link:hover {
    border-color: var(--accent);
}

.inline-manage-link.profile-booking-cta,
.event-program-place-link {
    min-height: 44px;
}

.profile-block-list {
    display: grid;
    gap: 12px;
}

.public-blocks {
    margin-top: 14px;
}

.profile-block-card {
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-block-card form {
    margin-top: 12px;
}

.profile-block-edit-box {
    margin-top: 10px;
}

.profile-block-edit-box summary {
    width: fit-content;
    color: var(--accent);
    font-weight: 800;
    cursor: pointer;
}

.profile-block-edit-box form {
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.profile-block-card p:last-child {
    margin-bottom: 0;
}

.block-help-grid {
    display: grid;
    gap: 9px;
    margin-top: 14px;
}

.block-help-card {
    padding: 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.block-help-card strong {
    display: block;
    margin-bottom: 4px;
    color: var(--text);
}

.block-help-card p {
    margin-bottom: 0;
    font-size: 0.92rem;
}

.admin-page {
    max-width: none;
}

.admin-user-filter {
    grid-template-columns: minmax(220px, 1fr) auto auto;
}

.admin-reward-rules-panel {
    margin-bottom: 16px;
}

.admin-reward-safety-panel {
    margin-bottom: 16px;
}

.admin-reward-safety-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.admin-reward-safety-notes {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-reward-sync-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(140px, 180px) auto;
    gap: 12px;
    align-items: end;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.admin-reward-sync-form strong {
    display: block;
    margin-bottom: 4px;
}

.admin-reward-sync-form p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

.admin-reward-sync-form label {
    display: grid;
    gap: 5px;
    color: var(--text-muted);
    font-size: 0.82rem;
}

.admin-reward-sync-form select {
    width: 100%;
}

.admin-reward-rule-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 16px;
}

.admin-reward-rule-block {
    min-width: 0;
}

.admin-reward-rule-block h3 {
    margin: 0 0 10px;
    font-size: 1rem;
}

.admin-reward-rule-block .table-wrap {
    margin: 0;
}

.admin-spend-panel {
    margin-bottom: 16px;
}

.admin-spend-form {
    display: grid;
    gap: 14px;
}

.admin-spend-list {
    display: grid;
    border-top: 1px solid var(--border);
}

.admin-spend-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
    gap: 16px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid var(--border);
}

.admin-spend-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.admin-spend-copy strong {
    color: var(--text);
}

.admin-spend-copy small,
.admin-spend-copy em {
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.admin-spend-control {
    display: grid;
    grid-template-columns: minmax(90px, 1fr) auto;
    gap: 8px;
    align-items: center;
    color: var(--text-muted);
    font-size: 0.88rem;
    font-weight: 700;
}

.admin-spend-control input {
    width: 100%;
}

.admin-reward-amount {
    color: var(--accent);
    font-weight: 800;
    white-space: nowrap;
}

.admin-milestone-rule-list {
    display: grid;
    gap: 10px;
}

.admin-milestone-rule-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(150px, 0.9fr) minmax(130px, 0.7fr) 90px minmax(120px, auto) minmax(90px, auto) auto;
    gap: 10px;
    align-items: end;
    padding: 10px 0;
    border-top: 1px solid var(--border);
}

.admin-milestone-rule-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.admin-milestone-rule-row label,
.admin-milestone-create label {
    display: grid;
    gap: 5px;
    min-width: 0;
    font-size: 0.82rem;
    color: var(--text-muted);
}

.admin-milestone-rule-row input,
.admin-milestone-rule-row select,
.admin-milestone-create input,
.admin-milestone-create select,
.admin-milestone-create textarea {
    width: 100%;
}

.admin-milestone-rule-title {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.admin-milestone-rule-title strong {
    color: var(--text);
}

.admin-milestone-rule-title span {
    font-size: 0.86rem;
    color: var(--text-muted);
}

.admin-milestone-rule-row .checkbox-label,
.admin-milestone-create .checkbox-label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--text);
}

.admin-milestone-rule-row .checkbox-label input,
.admin-milestone-create .checkbox-label input {
    flex: 0 0 18px;
    width: 18px;
    min-width: 18px;
    height: 18px;
    min-height: 18px;
    margin: 0.15em 0 0;
    padding: 0;
}

.admin-milestone-create {
    margin-top: 14px;
}

.admin-milestone-create summary {
    cursor: pointer;
    font-weight: 700;
}

.admin-milestone-create .stack-form {
    margin-top: 12px;
}

@media (max-width: 980px) {
    .admin-reward-safety-grid,
    .admin-reward-safety-notes {
        grid-template-columns: 1fr 1fr;
    }

    .admin-reward-rule-grid {
        grid-template-columns: 1fr;
    }

    .admin-spend-row {
        grid-template-columns: 1fr;
    }

    .admin-milestone-rule-row {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 680px) {
    .admin-reward-safety-grid,
    .admin-reward-safety-notes {
        grid-template-columns: 1fr;
    }

    .admin-reward-sync-form {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .admin-milestone-rule-row {
        grid-template-columns: 1fr;
    }
}

.compact-metric-grid {
    margin-bottom: 14px;
}

.badge-admin-list {
    display: grid;
    gap: 10px;
}

.badge-admin-card {
    display: grid;
    gap: 12px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.badge-admin-card p {
    margin: 8px 0 4px;
}

.badge-admin-card small {
    color: var(--muted);
}

.admin-users-table {
    min-width: 980px;
}

.admin-role-list {
    display: grid;
    gap: 12px;
}

.role-admin-card {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.role-admin-card form {
    display: grid;
    gap: 8px;
    margin: 0;
}

.role-admin-card small {
    display: block;
    margin-top: 6px;
    color: var(--muted);
}

.permission-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.entity-profile {
    max-width: 960px;
    margin: 0 auto;
}

.entity-cover {
    min-height: 180px;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
    background:
        linear-gradient(135deg, var(--accent-wash), transparent 55%),
        var(--surface);
}

.entity-cover img {
    width: 100%;
    height: 240px;
    object-fit: cover;
}

.entity-cover .visual-placeholder {
    min-height: 240px;
    border: 0;
    border-radius: 0;
}

.entity-header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: end;
    margin-top: -34px;
    padding: 0 14px;
}

.entity-header h1 {
    font-size: clamp(1.45rem, 4vw, 2.1rem);
    margin-bottom: 4px;
}

.entity-avatar {
    width: 86px;
    height: 86px;
    border: 4px solid var(--bg);
    border-radius: 50%;
    overflow: hidden;
    background: var(--surface-strong);
}

.entity-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.entity-avatar--brand {
    width: 116px;
    height: 116px;
    border-radius: 12px;
}

.entity-header--brand {
    align-items: start;
}

.entity-avatar--brand img {
    object-fit: contain;
}

.entity-avatar--brand .visual-asset-picture {
    position: absolute;
    inset: 0;
}

.entity-avatar--brand .profile-avatar-type-icon img {
    object-fit: contain;
}

@media (max-width: 480px) {
    .entity-avatar--brand {
        width: 104px;
        height: 104px;
    }
}

@media (max-width: 360px) {
    .entity-avatar--brand {
        width: 92px;
        height: 92px;
    }

}

.profile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
}

.profile-actions form {
    margin: 0;
}

.profile-actions button {
    padding: 8px 13px;
}

.profile-qr-arrival {
    max-width: 680px;
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.profile-featured-manage {
    display: grid;
    gap: 18px;
}

.profile-featured-current {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 13px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.profile-featured-current.has-media {
    grid-template-columns: 96px minmax(0, 1fr) auto;
}

.profile-featured-current img {
    width: 96px;
    aspect-ratio: 16 / 10;
    border-radius: 6px;
    object-fit: cover;
}

.profile-featured-current > div {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.profile-featured-current span,
.profile-featured-current small {
    color: var(--muted);
}

.profile-featured-current strong,
.profile-featured-current small {
    overflow-wrap: anywhere;
}

.profile-featured-form {
    display: grid;
    gap: 8px;
}

.profile-featured-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.profile-featured-form-row select {
    min-width: 0;
}

.profile-featured-form > small {
    color: var(--muted);
}

.profile-share-panel {
    display: grid;
    gap: 18px;
}

.profile-share-layout {
    display: grid;
    grid-template-columns: minmax(190px, 236px) minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.profile-qr-preview {
    width: min(100%, 236px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--border) 70%, #ffffff);
    border-radius: 8px;
    background: #ffffff;
    color: #27313d;
    color-scheme: light;
    box-shadow: var(--shadow-soft);
    text-align: center;
}

.profile-qr-preview svg {
    width: 100%;
    height: auto;
    display: block;
}

.profile-qr-preview svg rect {
    fill: #ffffff;
}

.profile-qr-preview svg path {
    fill: #000000;
    stroke: transparent;
}

.profile-share-content {
    min-width: 0;
    display: grid;
    gap: 10px;
    align-content: center;
}

.profile-share-content h3,
.profile-share-content p {
    margin: 0;
}

.profile-share-content p,
.profile-share-content small {
    color: var(--muted);
}

.profile-share-content input {
    min-width: 0;
    width: 100%;
}

.profile-share-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.profile-share-content > small {
    min-height: 1.3em;
}

.profile-featured-public {
    position: relative;
    display: grid;
    gap: 18px;
    overflow: hidden;
    border-left: 4px solid var(--accent);
    background: color-mix(in srgb, var(--accent-wash) 44%, var(--surface));
}

.profile-featured-public.has-media {
    grid-template-columns: minmax(180px, 0.36fr) minmax(0, 1fr);
    align-items: stretch;
}

.profile-featured-public-media {
    display: block;
    min-height: 190px;
    overflow: hidden;
    border-radius: 6px;
}

.profile-featured-public-media img {
    width: 100%;
    height: 100%;
    min-height: 190px;
    object-fit: cover;
    transition: transform 180ms ease;
}

.profile-featured-public-media:hover img,
.profile-featured-public-media:focus-visible img {
    transform: scale(1.025);
}

.profile-featured-public-copy {
    min-width: 0;
    display: grid;
    gap: 10px;
    align-content: center;
}

.profile-featured-public-copy h2,
.profile-featured-public-copy p {
    margin: 0;
    overflow-wrap: anywhere;
}

.profile-featured-public-copy .button-link {
    width: max-content;
    max-width: 100%;
    margin-top: 4px;
}

@media (max-width: 720px) {
    .entity-cover img {
        height: 168px;
    }

    .entity-cover .visual-placeholder {
        min-height: 168px;
        padding: 20px;
    }

    .profile-trust-strip {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .profile-trust-strip .profile-signal {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    .profile-quick-strip {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: minmax(158px, 72vw);
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .profile-quick-strip a {
        scroll-snap-align: start;
    }

    .profile-featured-current,
    .profile-featured-current.has-media,
    .profile-featured-form-row,
    .profile-featured-public.has-media,
    .profile-share-layout {
        grid-template-columns: 1fr;
    }

    .profile-featured-current img {
        width: min(132px, 100%);
    }

    .profile-featured-current .ghost-link,
    .profile-featured-form-row button,
    .profile-share-actions button,
    .profile-share-actions .ghost-link {
        width: 100%;
    }

    .profile-qr-preview {
        width: min(100%, 260px);
        justify-self: center;
    }

    .profile-featured-public-media,
    .profile-featured-public-media img {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
}

.profile-request-panel,
.profile-claim-panel {
    margin-top: 18px;
}

.profile-request-panel .button-link,
.profile-request-panel .ghost-link,
.profile-claim-panel .button-link,
.profile-claim-panel .ghost-link {
    width: max-content;
    max-width: 100%;
}

.profile-trust-strip {
    margin-top: 18px;
}

.profile-quick-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1px;
    overflow: hidden;
    margin-top: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--border) 70%, transparent);
    box-shadow: var(--shadow-soft);
}

.profile-quick-strip a {
    min-width: 0;
    display: grid;
    gap: 3px;
    align-content: start;
    min-height: 84px;
    padding: 11px 12px;
    background: color-mix(in srgb, var(--surface) 78%, transparent);
    color: var(--text);
    text-decoration: none;
    -webkit-backdrop-filter: blur(14px) saturate(130%);
    backdrop-filter: blur(14px) saturate(130%);
}

.profile-quick-strip a:hover,
.profile-quick-strip a:focus-visible {
    background: color-mix(in srgb, var(--accent-wash) 54%, var(--surface));
}

.profile-quick-strip span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.profile-quick-strip strong {
    overflow: hidden;
    color: var(--text);
    font-size: 0.98rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-quick-strip small {
    overflow: hidden;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-report-box {
    margin-top: 14px;
}

.profile-tabs {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 8px;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
    margin-top: 24px;
    padding-bottom: 8px;
}

.profile-container-nav {
    position: sticky;
    top: 76px;
    z-index: 15;
    align-items: center;
    margin-bottom: 10px;
    padding: 8px;
    border: 1px solid transparent;
    border-radius: 12px;
}

.profile-tabs a,
.profile-tabs button {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 9px 13px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font: inherit;
    font-size: 0.93rem;
    line-height: 1.2;
    cursor: pointer;
}

.profile-tabs button {
    appearance: none;
}

.profile-tabs a:hover,
.profile-tabs button:hover,
.profile-tabs a:focus-visible,
.profile-tabs button:focus-visible,
.profile-tabs a.is-active,
.profile-tabs button.is-active {
    border-color: var(--accent);
    color: var(--text);
}

.profile-tabs a.is-active,
.profile-tabs button.is-active {
    background: color-mix(in srgb, var(--accent) 16%, var(--surface));
}

.profile-container [data-profile-panel] {
    min-width: 0;
    max-width: 100%;
    scroll-margin-top: 140px;
}

.profile-container-panel-stack {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    min-width: 0;
    max-width: 100%;
}

.profile-container-panel-stack > *,
.profile-container-panel-stack > .detail-grid,
.profile-container-panel-stack .detail-panel {
    min-width: 0;
    max-width: 100%;
}

.profile-container-panel-stack .table-wrap {
    width: 100%;
    max-width: 100%;
}

.profile-container-panel-stack > .detail-grid {
    margin-top: 0;
}

.profile-container [data-profile-panel][hidden] {
    display: none !important;
}

@media (min-width: 720px) {
    .admin-page .profile-container-nav {
        flex-wrap: wrap;
        overflow: visible;
    }
}

.anchor-alias {
    display: block;
    height: 0;
    overflow: hidden;
    scroll-margin-top: 140px;
}

.profile-container.is-profile-container-ready [data-profile-panel].is-active {
    animation: profile-panel-enter 160ms ease-out;
}

@keyframes profile-panel-enter {
    from {
        opacity: 0.72;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.profile-section {
    padding: 18px;
    margin-top: 14px;
}

.profile-service-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin: 0;
}

.profile-service-signals {
    margin: 0 0 12px;
}

.profile-service-readiness {
    display: grid;
    gap: 10px;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-wash) 42%, var(--surface));
}

.profile-service-readiness-head {
    display: flex;
    gap: 12px;
    align-items: start;
    justify-content: space-between;
}

.profile-service-readiness-head div {
    display: grid;
    gap: 2px;
}

.profile-service-readiness-head strong:last-child {
    color: var(--accent);
    font-size: 1.35rem;
}

.profile-service-readiness-head span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.profile-service-readiness-meter {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--surface);
}

.profile-service-readiness-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--accent);
}

.profile-service-readiness-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.profile-service-readiness-list span {
    display: inline-grid;
    gap: 1px;
    min-width: 116px;
    padding: 6px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.profile-service-readiness-list strong {
    font-size: 0.8rem;
}

.profile-service-readiness-list small {
    color: var(--muted);
    font-size: 0.72rem;
}

.profile-service-readiness-list .is-done {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
}

.profile-service-readiness-list .is-done strong {
    color: var(--success-text);
}

.profile-service-readiness-list .is-missing strong {
    color: var(--muted);
}

.profile-accreditation-panel,
.profile-accreditation-public {
    display: grid;
    gap: 12px;
}

.profile-accreditation-panel .compact-header {
    align-items: start;
}

.profile-accreditation-panel .compact-header > strong,
.profile-accreditation-public-head > strong {
    color: var(--accent);
    font-size: 1.35rem;
}

.profile-accreditation-readiness,
.profile-accreditation-public {
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-wash) 38%, var(--surface));
}

.profile-accreditation-readiness {
    display: grid;
    gap: 8px;
}

.profile-accreditation-readiness > div,
.profile-accreditation-public-head {
    display: flex;
    gap: 12px;
    align-items: start;
    justify-content: space-between;
}

.profile-accreditation-readiness span,
.profile-accreditation-public-head p {
    color: var(--muted);
}

.profile-accreditation-meter {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--surface);
}

.profile-accreditation-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--accent);
}

.profile-accreditation-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
    gap: 8px;
}

.profile-accreditation-list span {
    display: grid;
    gap: 4px;
    padding: 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.profile-accreditation-list .is-done {
    border-color: color-mix(in srgb, var(--success-text) 34%, var(--border));
}

.profile-accreditation-list .is-done strong {
    color: var(--success-text);
}

.profile-accreditation-list .is-missing strong {
    color: var(--muted);
}

.profile-accreditation-list small {
    color: var(--muted);
    line-height: 1.4;
}

.profile-accreditation-actions {
    margin-top: 0;
}

.profile-service-decision-grid {
    display: grid;
    gap: 10px;
    margin: 0 0 12px;
}

.profile-service-decision-card {
    display: grid;
    gap: 6px;
    padding: 12px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--muted);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-service-decision-card.is-strong {
    border-left-color: var(--accent);
}

.profile-service-decision-card span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.profile-service-decision-card strong {
    color: var(--text);
    font-size: 0.95rem;
}

.profile-service-decision-card p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

@media (min-width: 720px) {
    .profile-service-decision-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.profile-service-list div {
    display: grid;
    gap: 6px;
    align-content: start;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-service-list dt {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
}

.profile-service-list dd {
    margin: 0;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.profile-public-rider-list {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.profile-public-rider-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid var(--border);
}

.profile-public-rider-row:first-child {
    border-top: 0;
}

.profile-public-rider-row > div:first-child {
    display: grid;
    gap: 4px;
    min-width: min(100%, 280px);
}

.profile-public-rider-row strong {
    color: var(--text);
}

.profile-public-rider-row span,
.profile-public-rider-row p {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.profile-public-rider-facts,
.profile-public-rider-parts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.profile-public-rider-facts span,
.profile-public-rider-parts span {
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--soft-bg);
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 700;
}

.profile-confirmed-list {
    display: grid;
    gap: 10px;
}

.profile-trust-source {
    display: grid;
    gap: 12px;
    padding: 16px 0;
    border-top: 1px solid var(--border);
}

.profile-trust-source-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: start;
}

.profile-trust-source-head > div {
    display: grid;
    gap: 3px;
}

.profile-trust-source-head > div > strong {
    font-size: 1.02rem;
}

.profile-trust-source-head span,
.profile-trust-source-summary span {
    color: var(--muted);
}

.profile-trust-source-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
}

.profile-trust-source-summary > strong {
    font-size: 1.1rem;
}

.profile-trust-review-list {
    display: grid;
    border-top: 1px solid var(--border);
}

.profile-trust-review-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    padding: 13px 0;
    border-bottom: 1px solid var(--border);
}

.profile-trust-review-row > div:first-child {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.profile-trust-review-row p,
.profile-trust-review-row blockquote {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

.profile-trust-review-row blockquote {
    padding-left: 11px;
    border-left: 3px solid var(--accent);
}

.profile-review-archive {
    max-width: 980px;
}

.profile-review-archive > .profile-tabs {
    margin-bottom: 16px;
}

.profile-booking-review-summary {
    display: grid;
    grid-template-columns: minmax(190px, 0.7fr) minmax(0, 1.3fr);
    gap: 18px;
    align-items: center;
    margin-bottom: 16px;
    padding: 4px 0 16px;
    border-bottom: 1px solid var(--border);
}

.profile-booking-review-score {
    display: grid;
    gap: 5px;
    justify-items: start;
}

.profile-booking-review-score strong {
    font-size: 1.35rem;
}

.profile-booking-review-score span {
    color: var(--muted);
}

.profile-booking-review-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.profile-booking-review-facts div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.profile-booking-review-facts dt {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.profile-booking-review-facts dd {
    margin: 0;
    font-weight: 900;
}

.profile-booking-review-list {
    display: grid;
    margin-top: 16px;
    border-top: 1px solid var(--border);
}

.profile-booking-review-row {
    padding: 13px 0;
    border-bottom: 1px solid var(--border);
}

.profile-booking-review-row > div:first-child {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.profile-booking-review-row-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.profile-booking-review-row p,
.profile-booking-review-row blockquote {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

.profile-booking-review-row blockquote {
    padding-left: 11px;
    border-left: 3px solid var(--accent);
}

.profile-booking-review-context {
    display: grid;
    gap: 4px;
    flex: 0 0 min(220px, 30%);
    justify-items: end;
    text-align: right;
}

.profile-booking-review-context small {
    color: var(--muted);
}

.compact-report-control {
    width: min(100%, 280px);
    color: var(--muted);
    font-size: 0.82rem;
}

.compact-report-control summary {
    cursor: pointer;
    font-weight: 700;
}

.compact-report-control form {
    display: grid;
    gap: 8px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    text-align: left;
}

.compact-report-control label {
    display: grid;
    gap: 4px;
}

.compact-report-control select,
.compact-report-control textarea,
.compact-report-control button {
    width: 100%;
}

.profile-post-event-trust {
    display: grid;
    gap: 12px;
    margin-bottom: 14px;
    padding: 13px;
    border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-wash) 38%, var(--surface));
}

.profile-post-event-trust > div:first-child {
    display: grid;
    gap: 5px;
}

.profile-post-event-trust > div:first-child p {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

.profile-post-event-trust-grid {
    display: grid;
    gap: 9px;
}

.profile-post-event-trust-card {
    display: grid;
    gap: 5px;
    padding: 10px 11px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--muted);
    border-radius: 8px;
    background: var(--surface);
}

.profile-post-event-trust-card.is-strong {
    border-left-color: var(--success-text);
}

.profile-post-event-trust-card span {
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.profile-post-event-trust-card strong {
    color: var(--text);
    font-size: 0.95rem;
}

.profile-post-event-trust-card p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

@media (min-width: 720px) {
    .profile-post-event-trust-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.profile-confirmed-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-confirmed-card h3 {
    margin: 0 0 5px;
    font-size: 1.02rem;
}

.profile-confirmed-card-body {
    display: grid;
    gap: 9px;
}

.profile-confirmed-card p {
    margin: 0;
}

.profile-confirmed-card small {
    color: var(--muted);
}

.profile-confirmed-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.profile-confirmed-facts span {
    display: inline-grid;
    gap: 2px;
    min-width: 132px;
    padding: 7px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    font-size: 0.86rem;
}

.profile-confirmed-facts strong {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.profile-confirmed-proof-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.profile-confirmed-proof-list span {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--success-bg);
    color: var(--success-text);
    font-size: 0.74rem;
    font-weight: 800;
}

.profile-confirmed-summary {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.profile-confirmed-note {
    display: grid;
    gap: 4px;
    padding: 10px 11px;
    border-left: 3px solid var(--accent);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    line-height: 1.45;
}

.profile-confirmed-note strong {
    color: var(--text);
    font-size: 0.82rem;
}

.profile-confirmed-action {
    justify-self: start;
}

@media (max-width: 640px) {
    .booking-review-heading,
    .booking-review-row,
    .profile-booking-review-row,
    .profile-trust-review-row {
        display: grid;
    }

    .profile-trust-source-head {
        align-items: start;
        flex-direction: column;
    }

    .booking-review-score,
    .profile-booking-review-context {
        justify-items: start;
        text-align: left;
    }

    .profile-booking-review-context {
        width: 100%;
    }

    .booking-review-questions,
    .profile-booking-review-summary,
    .profile-booking-review-facts {
        grid-template-columns: 1fr;
    }

    .profile-confirmed-card {
        grid-template-columns: 1fr;
    }

    .profile-confirmed-card .event-date {
        justify-self: start;
    }

    .profile-confirmed-facts span {
        min-width: 0;
        width: 100%;
    }
}

.public-profile-block {
    position: relative;
    overflow: hidden;
}

.public-profile-block::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--accent);
    opacity: 0.72;
}

.profile-block-copy {
    display: grid;
    gap: 9px;
}

.profile-block-copy p {
    margin-bottom: 0;
}

.profile-block-link-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.profile-block-link-card {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
}

.profile-block-link-card:hover {
    border-color: var(--accent);
    color: var(--text);
}

.profile-block-link-card span,
.profile-block-link-card small {
    color: var(--muted);
}

.profile-block-link-card strong {
    color: var(--accent);
}

.profile-media-mini-list,
.profile-media-admin-list,
.public-profile-gallery,
.public-profile-audio-list {
    display: grid;
    gap: 12px;
}

.profile-media-mini-card,
.profile-media-admin-card,
.public-profile-photo,
.public-profile-audio {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    overflow: hidden;
}

.profile-media-mini-card {
    display: grid;
    gap: 6px;
    padding: 10px;
}

.profile-media-mini-card img,
.profile-media-admin-preview img,
.public-profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-media-mini-card img,
.profile-media-mini-card > span {
    aspect-ratio: 16 / 10;
    border-radius: 7px;
    background: var(--surface-strong);
}

.profile-media-mini-card > span,
.profile-media-admin-preview > span {
    display: grid;
    place-items: center;
    color: var(--accent);
    font-weight: 800;
}

.profile-media-mini-card small,
.profile-media-admin-card small,
.public-profile-photo span {
    color: var(--muted);
}

.admin-profile-live-panel {
    margin-top: 18px;
}

.admin-profile-live-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}

.admin-profile-live-head {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.admin-profile-live-head h3 {
    margin: 0;
    font-size: 1rem;
}

.admin-profile-live-list {
    display: grid;
    gap: 10px;
}

.admin-profile-live-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.admin-profile-live-card h4 {
    margin: 8px 0 5px;
    font-size: 0.98rem;
}

.admin-profile-live-card p {
    margin: 0 0 6px;
    color: var(--muted);
    line-height: 1.45;
}

.admin-profile-live-card small {
    color: var(--muted);
}

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

.profile-media-guidance {
    display: grid;
    gap: 7px;
    margin: 12px 0 16px;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-wash) 36%, var(--surface));
}

.profile-media-guidance p {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

.profile-media-guidance ul {
    display: grid;
    gap: 6px;
    margin: 2px 0 0;
    padding-left: 18px;
    color: var(--muted);
}

.profile-media-guidance li::marker {
    color: var(--accent);
}

.profile-media-admin-card {
    display: grid;
    gap: 12px;
    padding: 12px;
}

.profile-media-admin-preview {
    min-height: 150px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--surface-strong);
}

.profile-media-admin-card audio,
.public-profile-audio audio {
    width: 100%;
    margin-top: 10px;
}

.profile-media-admin-card form {
    margin: 0;
}

.profile-media-edit-box {
    grid-column: 1 / -1;
}

.profile-media-edit-box summary {
    width: fit-content;
    color: var(--accent);
    font-weight: 800;
    cursor: pointer;
}

.profile-media-edit-box form {
    margin-top: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.profile-media-admin-card > form {
    grid-column: 1 / -1;
    justify-self: start;
}

.public-profile-gallery {
    margin-top: 12px;
}

.profile-work-sample-grid {
    display: grid;
    gap: 10px;
    margin: 0 0 14px;
}

.profile-work-sample-card {
    display: grid;
    gap: 6px;
    padding: 12px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--muted);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-work-sample-card.is-strong {
    border-left-color: var(--accent);
}

.profile-work-sample-card span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.profile-work-sample-card strong {
    color: var(--text);
    font-size: 0.95rem;
}

.profile-work-sample-card p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

@media (min-width: 720px) {
    .profile-work-sample-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.public-profile-photo {
    margin: 0;
}

.public-profile-photo img {
    display: block;
    aspect-ratio: 16 / 10;
}

.public-profile-photo figcaption {
    display: grid;
    gap: 4px;
    padding: 12px;
}

.public-profile-audio-list {
    margin-top: 14px;
}

.public-profile-audio {
    padding: 14px;
}

.profile-video-mini-list,
.profile-video-admin-list,
.public-profile-video-list {
    display: grid;
    gap: 12px;
}

.profile-video-mini-list,
.public-profile-video-list {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.profile-video-mini-card,
.profile-video-admin-card,
.public-profile-video-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.profile-video-mini-card,
.public-profile-video-card {
    display: grid;
    gap: 8px;
    padding: 10px;
}

.profile-video-admin-card {
    display: grid;
    gap: 14px;
    align-items: start;
    padding: 12px;
}

.profile-video-guidance-list {
    display: grid;
    gap: 8px;
    margin: 12px 0 0;
    padding-left: 20px;
    color: var(--muted);
}

.profile-video-guidance-list li::marker {
    color: var(--accent);
}

.profile-video-edit-box {
    grid-column: 1 / -1;
}

.profile-video-order-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.profile-video-order-actions form {
    margin: 0;
}

.profile-video-edit-box summary {
    width: fit-content;
    color: var(--accent);
    font-weight: 800;
    cursor: pointer;
}

.profile-video-edit-box form {
    margin-top: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.profile-video-admin-card > form {
    grid-column: 1 / -1;
    justify-self: start;
}

.profile-video-thumb {
    display: grid;
    place-items: center;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--accent);
    font-weight: 800;
}

.profile-video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-video-thumb > span {
    padding: 10px;
    text-align: center;
}

.profile-video-mini-card small,
.profile-video-admin-card small,
.public-profile-video-copy small,
.public-profile-video-copy em {
    color: var(--muted);
}

.public-profile-video-card:hover {
    border-color: var(--accent);
    transform: translateY(-1px);
}

.public-profile-video-copy {
    display: grid;
    gap: 3px;
}

.public-profile-video-copy strong {
    color: var(--text);
}

.public-profile-video-copy em {
    font-style: normal;
    font-size: 0.86rem;
}

.link-list {
    display: grid;
    gap: 12px;
}

.link-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.link-card h3 {
    margin-bottom: 4px;
}

.link-card p {
    margin-bottom: 0;
}

.link-card form {
    grid-column: 1 / -1;
}

.link-edit-box {
    grid-column: 1 / -1;
}

.link-edit-box summary {
    width: fit-content;
    color: var(--accent);
    font-weight: 800;
    cursor: pointer;
}

.link-edit-box form {
    display: grid;
    gap: 8px;
    margin-top: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.link-card-stats {
    min-width: 78px;
    text-align: right;
}

.link-card-stats strong {
    display: block;
    color: var(--accent);
    font-size: 1.22rem;
}

.link-card-stats span {
    color: var(--muted);
    font-size: 0.82rem;
}

.public-link-list {
    display: grid;
    gap: 10px;
}

.public-link-card {
    display: grid;
    gap: 4px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.public-link-card:hover {
    border-color: var(--accent);
    transform: translateY(-1px);
}

.public-link-card span,
.public-link-card small {
    color: var(--muted);
}

.public-link-card strong {
    color: var(--text);
}

.public-live-channel-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
}

.public-live-channel-card {
    display: grid;
    gap: 12px;
    align-content: start;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.public-live-channel-heading {
    display: grid;
    gap: 3px;
}

.public-live-channel-heading span,
.public-live-channel-heading small,
.public-live-channel-card p {
    color: var(--muted);
}

.public-live-channel-heading h3 {
    margin: 0;
    font-size: 1rem;
}

.public-live-channel-card iframe {
    width: 100%;
    height: 152px;
    border: 0;
    border-radius: 8px;
    background: var(--surface-strong);
}

.public-live-channel-card.public-live-channel-spotify iframe {
    height: 600px;
}

.public-live-channel-card.public-live-channel-soundcloud iframe {
    height: 450px;
}

.profile-selector {
    display: grid;
    gap: 12px;
    margin-bottom: 18px;
}

.analytics-grid {
    display: grid;
    gap: 12px;
    margin-bottom: 18px;
}

.analytics-card {
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.analytics-card span {
    display: block;
    color: var(--muted);
    margin-bottom: 8px;
}

.analytics-card strong {
    color: var(--accent);
    font-size: 1.45rem;
}

.analytics-action-panel {
    margin-bottom: 18px;
}

.analytics-action-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.analytics-action-metrics article {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.analytics-action-metrics span,
.analytics-action-metrics small {
    display: block;
    color: var(--muted);
    font-size: 0.82rem;
}

.analytics-action-metrics span {
    margin-bottom: 7px;
}

.analytics-action-metrics strong {
    display: block;
    color: var(--accent);
    font-size: 1.28rem;
    line-height: 1.2;
}

.analytics-action-metrics small {
    margin-top: 6px;
}

.analytics-action-insight {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 13px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--muted);
    border-radius: 8px;
    background: var(--surface);
}

.analytics-action-insight.tone-warning {
    border-left-color: #f59e0b;
}

.analytics-action-insight.tone-success {
    border-left-color: #22c55e;
}

.analytics-action-insight h3 {
    margin: 0 0 6px;
    font-size: 1rem;
}

.analytics-action-insight p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.analytics-booking-panel {
    margin-bottom: 18px;
}

.analytics-booking-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.analytics-booking-metrics article {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.analytics-booking-metrics span {
    display: block;
    margin-bottom: 7px;
    color: var(--muted);
    font-size: 0.82rem;
}

.analytics-booking-metrics strong {
    color: var(--accent);
    font-size: 1.35rem;
}

.analytics-booking-insight,
.analytics-booking-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.analytics-booking-insight {
    margin-bottom: 14px;
    border-left: 4px solid var(--muted);
}

.analytics-booking-insight.tone-warning {
    border-left-color: #f59e0b;
}

.analytics-booking-insight.tone-success {
    border-left-color: #22c55e;
}

.analytics-booking-insight h3,
.analytics-booking-card h3 {
    margin: 0 0 6px;
    font-size: 1rem;
}

.analytics-booking-insight p,
.analytics-booking-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.analytics-booking-list {
    display: grid;
    gap: 10px;
}

.analytics-booking-card small {
    flex: 0 0 auto;
    color: var(--muted);
}

@media (max-width: 720px) {
    .analytics-action-insight,
    .analytics-booking-insight,
    .analytics-booking-card {
        flex-direction: column;
    }
}

.analytics-recommendations {
    margin-bottom: 18px;
}

.analytics-recommendation-list {
    display: grid;
    gap: 12px;
}

.analytics-recommendation-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--accent);
    border-radius: 8px;
    background: var(--surface);
}

.analytics-recommendation-card h3 {
    margin: 0 0 6px;
    font-size: 1rem;
}

.analytics-recommendation-card p {
    margin: 0;
    color: var(--muted);
}

.analytics-recommendation-card .ghost-link {
    flex: 0 0 auto;
}

.analytics-recommendation-card.tone-warning {
    border-left-color: #f59e0b;
}

.analytics-recommendation-card.tone-success {
    border-left-color: #22c55e;
}

.analytics-recommendation-card.tone-neutral {
    border-left-color: var(--muted);
}

.analytics-days {
    display: grid;
    grid-template-columns: repeat(14, minmax(18px, 1fr));
    gap: 8px;
    align-items: end;
    min-height: 170px;
}

.analytics-day {
    display: grid;
    gap: 6px;
    align-items: end;
    text-align: center;
}

.analytics-bars {
    display: flex;
    justify-content: center;
    align-items: end;
    gap: 3px;
    height: 130px;
    padding: 6px 3px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.bar {
    width: 8px;
    min-height: 6px;
    border-radius: 999px 999px 3px 3px;
}

.bar.views,
.legend-dot.views {
    background: var(--accent);
}

.bar.clicks,
.legend-dot.clicks {
    background: #f4c15d;
}

.chart-legend {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 14px;
    color: var(--muted);
}

.legend-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 5px;
    border-radius: 50%;
}

.small-empty {
    padding: 14px;
}

@media (min-width: 720px) {
    #app-content {
        padding: 34px 24px 48px;
    }

    .hero {
        min-height: 460px;
    }

    .home-hero {
        grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr);
        align-items: center;
        min-height: 380px;
    }

    .home-showcase-viewport {
        aspect-ratio: 16 / 9;
    }

    .home-showcase-section-hero .home-showcase-viewport {
        height: clamp(480px, calc(100svh - 220px), 620px);
        aspect-ratio: auto;
    }

    .home-showcase-slide.position-left .home-showcase-copy,
    .home-showcase-slide.position-right .home-showcase-copy {
        align-self: center;
    }

    .home-showcase-copy {
        padding: 34px;
    }

    .home-profile-grid,
    .home-event-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .article-editor-form {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
        align-items: start;
    }

    .article-seo-fields,
    .article-review-fields,
    .article-history-fields,
    .article-editor-form .form-actions {
        grid-column: 1 / -1;
    }

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

    .home-cta {
        grid-template-columns: minmax(0, 1fr) auto;
    }

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

    .activity-hero {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
        align-items: center;
    }

    .activity-stat-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .scene-feed-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .public-user-hero {
        grid-template-columns: 90px minmax(0, 1fr);
    }

    .public-user-hero .activity-level-card {
        grid-column: 2;
    }

    .xp-panel {
        grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.8fr) minmax(220px, 0.8fr);
        align-items: start;
    }

    .media-upload-grid {
        grid-template-columns: 180px minmax(0, 1fr);
    }

    .status-summary {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .filter-bar {
        grid-template-columns: 160px 180px minmax(220px, 1fr) auto auto;
    }

    .scene-filter {
        grid-template-columns: minmax(220px, 1fr) 160px 170px 150px 160px auto auto;
    }

    .detail-grid {
        grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
    }

    .admin-event-detail-page .detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .entity-mini-card {
        grid-template-columns: 1fr auto auto;
        align-items: center;
    }

    .booking-card {
        grid-template-columns: 1fr auto;
        align-items: start;
    }

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

    .marketplace-manage-card {
        display: grid;
        grid-template-columns: 1fr minmax(220px, 280px);
        gap: 16px;
        align-items: start;
    }

    .marketplace-filter {
        grid-template-columns: minmax(200px, 1fr) 160px 180px auto auto;
    }

    .rating-summary-card,
    .rating-content-grid {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
        align-items: start;
    }

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

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

    .event-hero {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
    }

    .event-hero-side {
        justify-self: end;
        width: 100%;
    }

    .event-live-panel {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
        align-items: center;
    }

    .lineup-editor-row {
        grid-template-columns: 160px minmax(110px, 0.45fr) minmax(150px, 0.65fr) minmax(220px, 1fr) minmax(220px, 1fr);
        align-items: end;
    }

    .lineup-editor-row-no-stage {
        grid-template-columns: 170px minmax(110px, 0.45fr) minmax(220px, 1fr) minmax(220px, 1fr);
    }

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

    .event-cast-editor-row {
        grid-template-columns: minmax(130px, 0.7fr) minmax(160px, 0.9fr) minmax(220px, 1.2fr) minmax(200px, 1fr) minmax(200px, 1fr);
        align-items: end;
    }

    .event-cast-public-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .event-partner-editor-row {
        grid-template-columns: minmax(240px, 1.2fr) minmax(180px, 0.8fr) minmax(240px, 1.3fr);
        align-items: end;
    }

    .event-sponsor-logo-row {
        grid-template-columns: minmax(140px, 0.6fr) minmax(0, 1fr);
        align-items: end;
    }

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

    .event-response-panel,
    .event-mini-card,
    .notification-card,
    .message-thread-card {
        grid-template-columns: 1fr auto;
    }

    .event-response-panel-hero {
        grid-template-columns: 1fr;
    }

    .event-mini-card.with-poster {
        grid-template-columns: 70px minmax(0, 1fr) auto;
    }

    .event-mini-card.with-poster .status-pill,
    .event-mini-card.with-poster .inline-manage-link {
        justify-self: end;
    }

    .profile-block-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-media-mini-list,
    .profile-video-mini-list,
    .profile-marketplace-list,
    .public-profile-gallery,
    .public-profile-video-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-media-admin-card {
        grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
        align-items: start;
    }

    .profile-video-admin-card {
        grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) auto;
        align-items: start;
    }

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

    .badge-admin-card {
        grid-template-columns: 1fr auto;
        align-items: center;
    }

    .profile-selector {
        grid-template-columns: minmax(260px, 420px) auto;
        align-items: end;
    }

    .public-link-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .public-blocks {
        grid-template-columns: 1fr;
    }

    .module-header {
        grid-template-columns: 1fr auto;
    }

    .event-directory-header-heading {
        grid-column: 1;
        grid-row: 1;
    }

    .event-directory-header > .table-actions {
        grid-column: 2;
        grid-row: 1;
    }

    .event-directory-header-context {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .search-row {
        grid-template-columns: 1fr auto;
        align-items: end;
    }

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

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

    .mobile-nav,
    .mobile-nav.mobile-nav-primary {
        display: none;
    }
}

@media (min-width: 980px) {
    .public-user-hero {
        grid-template-columns: 90px minmax(0, 1fr) minmax(240px, 300px);
    }

    .public-user-hero .activity-level-card {
        grid-column: auto;
    }
}

@media (max-width: 719px) {
    .topbar {
        min-height: 58px;
        padding-block: 10px;
    }

    .brand-logo {
        height: 32px;
        max-width: 150px;
    }

    .logo a,
    .brand-logo-picture {
        width: 150px;
        max-width: 150px;
    }

    .topbar-actions {
        display: none;
    }

    .mobile-topbar-actions {
        display: flex;
        margin-left: auto;
    }

    .account-identity-hero,
    .dashboard-hero,
    .dashboard-account-summary,
    .reward-overview-strip,
    .reward-history-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-attention-row {
        grid-template-columns: 10px minmax(0, 1fr);
        align-items: start;
    }

    .dashboard-attention-action {
        grid-column: 2;
        justify-self: start;
        white-space: normal;
    }

    .account-identity-main {
        align-items: flex-start;
    }

    .user-initial-avatar.user-account-avatar {
        width: 82px;
        height: 82px;
    }

    .reward-overview-strip > div {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .reward-overview-strip > div:last-child {
        border-bottom: 0;
    }

    .reward-goal-row {
        grid-template-columns: 1fr;
    }

    .reward-spend-row {
        grid-template-columns: 1fr;
    }

    .reward-spend-action {
        justify-content: flex-start;
    }

    .badge-milestone-row {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
    }

    .badge-milestone-row > .ghost-link {
        grid-column: 2;
        justify-self: start;
    }

    .reward-goal-side {
        justify-items: start;
        text-align: left;
    }

    .reward-goal-progress {
        max-width: none;
    }

    .bhcoin-profile-balance {
        width: fit-content;
    }

    .marketplace-deal-row {
        grid-template-columns: 1fr;
    }

    .marketplace-deal-controls {
        justify-items: stretch;
    }

    .analytics-recommendation-card {
        display: grid;
    }
}

@media (min-width: 1024px) {
    .admin-showcase-manager {
        grid-template-columns: minmax(0, 1.3fr) minmax(360px, 0.7fr);
        align-items: start;
    }

    .admin-showcase-editor {
        padding: 0 0 0 22px;
        border-top: 0;
        border-left: 1px solid var(--border);
    }

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

    .home-feature-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

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

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

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

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

    .scene-feed-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Denser shared layout and wrapping controls. */
body {
    font-size: 15px;
}

h1 {
    font-size: var(--type-page-title);
    line-height: 1.14;
}

h2 {
    font-size: var(--type-section-title);
}

.module-page {
    max-width: none !important;
}

.event-import-page {
    display: grid;
    gap: 16px;
}

.event-import-page > * {
    min-width: 0;
}

.event-import-upload {
    width: min(100%, 720px);
    margin: 0;
}

.event-import-format-note,
.event-import-source-line,
.event-import-selection-note {
    border-left: 3px solid var(--accent);
    padding: 9px 12px;
    background: color-mix(in srgb, var(--surface) 78%, transparent);
}

.event-import-organizer-suggestions {
    display: grid;
    gap: 6px;
}

.event-import-organizer-suggestion-label,
.event-import-organizer-suggestion-action,
.event-import-organizer-suggestion small {
    color: var(--muted);
    font-size: 0.78rem;
}

.event-import-organizer-suggestion {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 8px;
    align-items: center;
    width: 100%;
    white-space: normal;
    text-align: left;
}

.event-import-organizer-suggestion-action {
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.event-import-organizer-suggestion strong {
    grid-column: 1 / -1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.event-import-organizer-suggestion small {
    white-space: nowrap;
}

.event-import-format-note,
.event-import-source-line {
    display: grid;
    gap: 3px;
}

.event-import-format-note span,
.event-import-source-line span,
.event-import-result-row span {
    color: var(--muted);
    font-size: 0.9rem;
}

.event-import-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    align-items: baseline;
}

.event-import-summary span {
    display: inline-flex;
    gap: 5px;
    align-items: baseline;
    color: var(--muted);
}

.event-import-summary strong {
    color: var(--text);
    font-size: 1.08rem;
}

.event-import-summary .is-warning strong,
.event-import-table tr.is-possible_duplicate .status-pill {
    color: var(--warning-text);
}

.event-import-summary .is-invalid strong,
.event-import-table tr.is-invalid .status-pill {
    color: var(--danger-text);
}

.event-import-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    margin: 0;
}

.event-import-table td {
    vertical-align: top;
}

.event-import-table td > strong,
.event-import-table td > span,
.event-import-table td > small,
.event-import-table td > a {
    display: block;
}

.event-import-table td > span,
.event-import-table td > small {
    margin-top: 3px;
}

.event-import-table td > small {
    max-width: 280px;
    color: var(--muted);
    line-height: 1.35;
}

.event-import-poster-choice {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    min-height: 44px;
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
    cursor: pointer;
}

.event-import-poster-choice input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
}

.event-import-poster-choice span,
.event-import-poster-choice strong,
.event-import-poster-choice small {
    display: block;
}

.event-import-poster-choice small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.event-import-poster-choice:has(input:focus-visible) {
    border-color: var(--accent);
}

.event-import-poster-choice:has(input:disabled) {
    cursor: not-allowed;
    opacity: 0.62;
}

.event-import-check {
    width: 42px;
    text-align: center;
}

.event-import-check input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
}

.event-import-actions {
    margin-top: 12px;
}

.event-import-discard {
    margin-top: -58px;
    margin-left: 230px;
    width: max-content;
}

.button-danger-subtle {
    border: 1px solid color-mix(in srgb, var(--danger-text) 48%, var(--border));
    background: color-mix(in srgb, var(--danger-bg) 55%, transparent);
    color: var(--danger-text);
}

.button-danger-subtle:hover,
.button-danger-subtle:focus-visible {
    border-color: var(--danger-text);
    background: var(--danger-bg);
    color: var(--danger-text);
}

.event-import-result-list {
    border-top: 1px solid var(--border);
}

.event-import-result-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
}

.event-import-result-row > div {
    display: grid;
    gap: 3px;
}

.event-import-admin-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    align-items: baseline;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
    color: var(--muted);
}

.event-import-admin-summary strong {
    color: var(--text);
}

@media (max-width: 720px) {
    .event-import-table {
        width: 100%;
        min-width: 0;
    }

    .event-import-table thead {
        display: none;
    }

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

    .event-import-table tr {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        padding: 10px 8px;
        border-bottom: 1px solid var(--border);
    }

    .event-import-table td {
        grid-column: 2;
        padding: 5px 6px;
        border: 0;
    }

    .event-import-table td:not(.event-import-check)::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 2px;
        color: var(--muted);
        font-size: 0.7rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .event-import-table .event-import-check {
        grid-column: 1;
        grid-row: 1 / span 4;
        padding-top: 8px;
    }

    .event-import-discard {
        margin: 8px 0 0;
    }

    .event-import-result-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

.detail-grid,
.discover-grid,
.lost-item-grid {
    align-items: start;
}

.dashboard-grid,
.home-feature-grid,
.home-profile-grid,
.marketplace-grid,
.supplier-directory-grid {
    align-items: stretch;
}

.dashboard-card,
.home-feature-card,
.marketplace-card {
    padding: 15px;
}

.filter-bar,
.scene-filter,
.marketplace-filter,
.lost-found-filter {
    width: 100%;
    max-width: 100%;
}

.filter-bar > *,
.scene-filter > *,
.marketplace-filter > *,
.lost-found-filter > * {
    min-width: 0;
}

.header-actions,
.form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.discover-grid,
.lost-item-grid {
    display: grid;
    gap: 10px;
}

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

.discover-live-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(108px, 132px));
    justify-content: center;
    gap: 7px;
    width: min(100%, 560px);
    margin: 0 auto 16px;
}

.discover-trends {
    display: grid;
    gap: 10px 18px;
    margin: 22px 0 18px;
    padding: 14px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.discover-trends-heading .eyebrow,
.discover-trends-heading h2,
.discover-trends > p {
    margin: 0;
}

.discover-trends-heading h2 {
    font-size: 1.05rem;
}

.discover-trend-links {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.discover-trend-links a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text);
    font-size: 0.84rem;
    font-weight: 800;
}

.discover-trend-links a:hover,
.discover-trend-links a:focus-visible {
    border-color: var(--accent);
    color: var(--accent);
}

.discover-trends > p {
    color: var(--muted);
    font-size: 0.78rem;
}

.discover-filter-panel {
    margin: -4px 0 14px;
}

.discover-filter-panel summary {
    width: max-content;
    max-width: 100%;
    min-height: 38px;
    display: flex;
    gap: 7px;
    align-items: center;
    margin-left: auto;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    cursor: pointer;
    list-style: none;
}

.discover-filter-panel summary::-webkit-details-marker {
    display: none;
}

.discover-filter-panel summary:hover,
.discover-filter-panel[open] summary {
    border-color: var(--accent);
    color: var(--text);
}

.discover-filter-panel summary svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.discover-filter-current {
    max-width: 220px;
    overflow: hidden;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--accent-wash);
    color: var(--text);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.discover-filter-panel[open] summary {
    margin-bottom: 8px;
}

.discover-location-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.discover-location-filter label {
    width: min(100%, 320px);
    display: grid;
    gap: 6px;
}

.discover-location-filter label:nth-child(2) {
    width: min(100%, 210px);
}

.production-index-filter label:nth-child(2),
.production-index-filter label:nth-child(3),
.production-index-filter label:nth-child(4),
.production-index-filter label:nth-child(5) {
    width: min(100%, 220px);
}

.discover-location-filter label span {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.discover-location-filter button,
.discover-location-filter .ghost-link {
    min-height: 42px;
}

.event-amenity-filter {
    flex: 1 1 100%;
    min-width: 0;
    margin: 2px 0 0;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.event-amenity-filter legend {
    padding: 0 4px;
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.event-amenity-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
    gap: 8px;
}

.event-amenity-filter .event-amenity-filter-option {
    width: auto;
    min-width: 0;
    min-height: 40px;
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 7px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
    cursor: pointer;
    font-weight: 700;
}

.event-amenity-filter .event-amenity-filter-option:hover,
.event-amenity-filter .event-amenity-filter-option.is-checked,
.event-amenity-filter .event-amenity-filter-option:has(input:checked) {
    border-color: var(--accent);
    background: var(--accent-wash);
}

.event-amenity-filter .event-amenity-filter-option input {
    width: auto;
    min-height: 0;
    flex: 0 0 auto;
}

.event-amenity-filter .event-amenity-filter-option .visual-asset-icon {
    color: var(--accent);
}

.event-amenity-filter .event-amenity-filter-option > span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--text);
    font-size: 0.82rem;
    line-height: 1.25;
}

.discover-filter-status,
.event-filter-status {
    margin: 0 0 12px;
    color: var(--muted);
}

.discover-filter-clear {
    margin-left: 8px;
    font-size: 0.82rem;
    text-decoration: underline;
}

.map-attribution {
    margin: -5px 0 8px;
    color: var(--muted);
    font-size: 0.75rem;
}

.map-attribution a {
    color: var(--muted);
    text-decoration: underline;
}

.discover-filter-status strong,
.event-filter-status strong {
    color: var(--text);
}

.event-filter-status a {
    color: var(--muted);
    text-decoration: underline;
}

.discover-location-empty {
    margin: 18px 0 0;
}

.discover-brand {
    width: min(100%, 900px);
    min-height: 96px;
    display: grid;
    gap: 10px;
    place-items: center;
    margin: 0 auto 28px;
    text-align: center;
}

.discover-brand-logo {
    width: auto;
    max-width: min(500px, 92vw);
    max-height: 134px;
    object-fit: contain;
}

.discover-brand-text {
    color: var(--text);
    font-size: 2rem;
    line-height: 1.1;
}

.discover-brand-tagline {
    max-width: 680px;
    margin: 0;
    color: var(--muted);
    font-size: 1.02rem;
    line-height: 1.45;
    text-align: center;
}

.discover-quick-search {
    position: relative;
    z-index: 30;
    width: min(100%, 900px);
    display: grid;
    gap: 8px;
    margin: 4px auto 14px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.discover-quick-search:focus-within {
    z-index: 80;
}

.discover-quick-search .eyebrow {
    margin-bottom: 4px;
}

.discover-quick-search h2 {
    margin: 0;
    font-size: 1.12rem;
}

.discover-search-form {
    position: relative;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(140px, 180px) minmax(120px, 145px) auto;
    gap: 7px;
    align-items: end;
}

.discover-search-form label {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.discover-search-form label span {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.discover-search-form input,
.discover-search-form select {
    min-height: 42px;
}

.discover-search-form button {
    min-height: 42px;
}

.discover-search-device-location {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 14px;
    min-width: 0;
    padding-top: 2px;
}

.discover-search-device-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 7px;
}

.discover-search-device-location [hidden] {
    display: none !important;
}

.discover-search-form .discover-device-location-button,
.discover-search-form .discover-device-location-clear {
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    background: var(--soft-bg);
    color: var(--text);
}

.discover-search-form .discover-device-location-clear {
    background: transparent;
    color: var(--muted);
}

.discover-search-form .discover-device-location-button:hover,
.discover-search-form .discover-device-location-button:focus-visible,
.discover-search-form .discover-device-location-clear:hover,
.discover-search-form .discover-device-location-clear:focus-visible {
    border-color: var(--accent);
    background: var(--accent-wash);
    color: var(--text);
}

.discover-device-location-status {
    min-width: 0;
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.35;
    text-align: right;
}

@media (min-width: 720px) and (max-width: 900px) {
    .discover-search-form {
        grid-template-columns: minmax(0, 1fr) minmax(120px, 145px) auto;
    }

    .discover-search-main-field {
        grid-column: 1 / -1;
    }
}

.discover-quick-search .form-help {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.35;
}

.discover-search-suggestions {
    position: absolute;
    z-index: 100;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    display: grid;
    gap: 6px;
    max-height: min(420px, 70vh);
    overflow: auto;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.discover-search-suggestions[hidden] {
    display: none;
}

.discover-search-results {
    display: grid;
    gap: 8px;
    margin-top: 4px;
}

.discover-search-result {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--text);
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.discover-search-result:hover,
.discover-search-result:focus-visible {
    border-color: var(--accent);
    background: var(--accent-wash);
    color: var(--text);
    transform: translateY(-1px);
}

.discover-search-thumb {
    width: 56px;
    aspect-ratio: 1;
    display: grid;
    overflow: hidden;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--accent);
    font-size: 0.8rem;
    font-weight: 900;
}

.discover-search-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.discover-search-hashtag-thumb {
    color: var(--accent);
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1;
}

.discover-search-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.discover-search-kind {
    overflow: hidden;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.discover-search-copy strong {
    overflow: hidden;
    font-size: 0.95rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.discover-search-copy small,
.discover-search-status {
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.discover-search-empty {
    margin: 2px 0 0;
}

/* Discover search intent and grouped typeahead */
.discover-search-types {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.discover-search-types-label {
    flex: 0 0 auto;
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.discover-search-type-options {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 5px;
    min-width: 0;
    width: 100%;
}

.discover-search-form .discover-search-type-button {
    grid-column: auto;
    width: auto;
    min-width: 0;
    min-height: 44px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: transparent;
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 750;
}

.discover-search-form .discover-search-type-button:hover,
.discover-search-form .discover-search-type-button:focus-visible,
.discover-search-form .discover-search-type-button.is-active {
    border-color: var(--accent);
    background: var(--accent-wash);
    color: var(--text);
}

.discover-search-group + .discover-search-group {
    margin-top: 9px;
    padding-top: 9px;
    border-top: 1px solid var(--border);
}

.discover-search-form .discover-search-suggestions {
    background: var(--surface);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.discover-quick-search .discover-search-form {
    z-index: 2;
}

html[data-visual-style="backstage"] .discover-quick-search > .discover-search-form {
    z-index: 2;
}

.discover-search-group-title {
    display: block;
    margin: 0 4px 5px;
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 850;
}

.discover-search-group-items {
    display: grid;
    gap: 5px;
}

.discover-search-result.is-keyboard-active {
    border-color: var(--accent);
    background: var(--accent-wash);
    color: var(--text);
}

@media (max-width: 620px) {
    .discover-search-types {
        align-items: flex-start;
        flex-direction: row;
        gap: 7px;
    }

    .discover-search-type-options {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 0;
    }

    .discover-search-form .discover-search-type-button {
        grid-column: auto;
        width: auto;
        padding-inline: 3px;
        font-size: 0.78rem;
    }

    .discover-search-types-label {
        padding-top: 14px;
    }
}

@media (max-width: 359px) {
    html[data-visual-style="backstage"] body .discover-quick-search {
        aspect-ratio: auto;
    }

    .discover-search-types-label {
        position: absolute;
        overflow: hidden;
        width: 1px;
        height: 1px;
        padding: 0;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }
}

.discover-quick-search .discover-filter-status {
    margin: 0;
    padding: 8px 10px;
    border-radius: 8px;
    background: var(--soft-bg);
}

.discover-quick-search .map-attribution {
    margin: -4px 0 0;
}

.discover-live-summary a {
    display: grid;
    gap: 2px;
    align-content: center;
    min-width: 0;
    min-height: 56px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
    color: var(--muted);
}

.discover-live-summary a:hover {
    border-color: var(--accent);
    color: var(--text);
}

.discover-live-summary strong {
    color: var(--accent);
    font-size: 1.12rem;
}

.discover-live-summary span {
    overflow-wrap: anywhere;
    font-size: 0.76rem;
}

.discover-card {
    position: relative;
    display: block;
    min-width: 0;
    aspect-ratio: 4 / 3;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #151515;
    color: #fff;
    isolation: isolate;
    transition: border-color 180ms ease, transform 180ms ease;
}

.discover-card:hover,
.discover-card:focus-visible {
    border-color: var(--accent);
    color: #fff;
    transform: translateY(-2px);
}

.discover-card > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 420ms ease, filter 220ms ease;
}

.discover-card:hover > img,
.discover-card:focus-visible > img {
    filter: saturate(0.82) brightness(0.72);
    transform: scale(1.045);
}

.discover-card-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(4, 6, 8, 0.94) 0%, rgba(4, 6, 8, 0.5) 48%, rgba(4, 6, 8, 0.08) 100%);
    transition: background 180ms ease;
}

.discover-card:hover .discover-card-shade,
.discover-card:focus-visible .discover-card-shade {
    background: linear-gradient(to top, rgba(4, 6, 8, 0.97) 0%, rgba(4, 6, 8, 0.77) 70%, rgba(4, 6, 8, 0.26) 100%);
}

.discover-card-copy {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    display: grid;
    gap: 4px;
    padding: 12px;
    color: #fff;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.72);
}

.discover-card-copy > strong {
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.15;
}

.discover-card-description {
    display: -webkit-box;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.7rem;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.discover-card-action {
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
}

.discover-content {
    min-width: 0;
    display: grid;
    gap: 34px;
    margin-top: 38px;
}

.discover-content > * {
    min-width: 0;
    max-width: 100%;
}

.discover-content .module-header {
    margin-bottom: 0;
}

.discover-profile-grid,
.discover-event-grid,
.discover-video-grid,
.discover-update-grid,
.discover-marketplace-grid,
.discover-lost-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.discover-article-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.discover-profile-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 240px));
    justify-content: start;
}

.discover-profile-grid .home-profile-card {
    gap: 10px;
    padding: 10px;
}

.discover-profile-grid .home-profile-avatar {
    width: 46px;
    height: 46px;
}

.discover-profile-grid .home-profile-card h3 {
    font-size: 1rem;
    line-height: 1.2;
}

.discover-profile-grid .home-profile-card p {
    font-size: 0.84rem;
}

.discover-profile-grid .home-profile-card .eyebrow {
    font-size: 0.68rem;
}

.discover-video-grid {
    display: grid;
    gap: 12px;
}

.discover-update-grid {
    display: grid;
    gap: 12px;
}

.discover-video-card {
    display: grid;
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.discover-video-card h3 {
    font-size: 1rem;
    line-height: 1.24;
}

.discover-video-card p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.88rem;
}

.discover-update-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 11px;
    padding: 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--soft-bg);
}

.discover-update-avatar {
    width: 48px;
    height: 48px;
    overflow: hidden;
    border-radius: 50%;
    background: var(--surface);
}

.discover-update-avatar img,
.discover-update-avatar svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.discover-update-card h3 {
    margin-bottom: 4px;
    font-size: 1rem;
    line-height: 1.24;
}

.discover-update-card p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.88rem;
}

.discover-update-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 8px;
    color: var(--muted);
    font-size: 0.78rem;
}

.discover-update-meta a {
    color: var(--accent);
    font-weight: 800;
}

@media (max-width: 560px) {
    .discover-profile-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 719px) {
    .discover-article-list {
        grid-template-columns: 1fr;
    }
}

.lost-item-card {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    min-height: 150px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.lost-item-card-image {
    position: relative;
    display: grid;
    min-height: 100%;
    place-items: center;
    overflow: hidden;
    background: var(--surface-strong);
    color: var(--accent);
    font-size: 1.12rem;
    font-weight: 800;
}

.lost-item-card-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lost-item-card-copy {
    min-width: 0;
    padding: 14px;
}

/* One clear, touch-friendly primary detail target per public content card. */
.event-card h2 a,
.article-card-copy h2 a,
.marketplace-card h2 a,
.lost-item-card h2 a,
.scene-profile-card h3 a,
.home-profile-card h3 a,
.supplier-directory-head h2 a,
.profile-production-card h2 a,
.profile-production-card h3 a,
.event-mini-card strong a,
.faq-question-card h4 a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.lost-item-card h2,
.lost-item-card p:last-child {
    margin-bottom: 6px;
}

.serial-mask {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    letter-spacing: 0;
}

.form-card.lost-found-form {
    width: 100%;
    max-width: none;
    display: grid;
    gap: 14px;
}

.form-two-column {
    display: grid;
    gap: 12px;
}

.lost-item-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 18px;
}

.lost-item-gallery img {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    object-fit: cover;
    background: var(--surface-strong);
}

.lost-item-gallery > .visual-placeholder {
    grid-column: 1 / -1;
    min-height: 220px;
}

.lost-item-facts dl {
    display: grid;
    grid-template-columns: minmax(90px, auto) minmax(0, 1fr);
    gap: 7px 12px;
    margin: 0;
}

.lost-item-facts dt {
    color: var(--muted);
}

.lost-item-facts dd {
    margin: 0;
    color: var(--text);
    font-weight: 700;
}

.private-case-panel {
    border-color: var(--accent);
}

.lead-form {
    width: 100%;
    max-width: 760px;
}

.login-callout,
.success-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.success-panel {
    border-color: var(--accent);
    background: var(--success-bg);
}

.login-callout p,
.success-panel p,
.success-panel h2 {
    margin-bottom: 0;
}

.case-leads,
.moderation-case-list,
.lead-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.lead-card,
.moderation-case-card {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.lead-card > div:first-child {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
}

.lead-card span {
    color: var(--muted);
    font-size: 0.84rem;
}

.moderation-case-card,
.moderation-case-card form {
    display: grid;
    gap: 12px;
}

.admin-work-queue {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    gap: 8px;
    margin: 18px 0 8px;
}

.admin-work-queue a {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.admin-work-queue span {
    color: var(--muted);
    font-size: 0.86rem;
}

.admin-work-queue strong {
    color: var(--accent);
    font-size: 1.25rem;
}

.moderation-case-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.moderation-case-summary img {
    width: 76px;
    height: 76px;
    border-radius: 8px;
    object-fit: cover;
}

.moderation-case-summary .visual-placeholder {
    width: 76px;
    height: 76px;
    min-height: 0;
    padding: 6px;
}

.moderation-case-summary .visual-placeholder strong {
    font-size: 0.68rem;
}

.status-found {
    background: var(--success-bg);
    color: var(--success-text);
}

/* Liquid glass layer for shared cards and public panels. */
.home-live-panel article,
.home-feature-card,
.home-profile-card,
.home-cta,
.article-card,
.reviewer-directory-card,
.people-list-item,
.people-rank-list li,
.article-review-panel,
.reviewer-application-status-panel,
.xp-panel,
.activity-level-card,
.profile-container-nav,
.reviewer-progress-panel,
.reviewer-milestone-card,
.scene-feed-panel,
.scene-feed-card,
.dashboard-card,
.dashboard-world-card,
.profile-section,
.auth-card,
.form-card,
.media-upload-card,
.image-crop-card,
.choice-card,
.profile-type-card,
.layout-section-card,
.empty-state,
.summary-pill,
.filter-panel summary,
.filter-panel-content,
.scene-filter-panel summary,
.scene-filter-content,
.scene-type-strip a,
.search-result-card,
.scene-profile-card,
.detail-panel,
.event-visitor-summary,
.event-card,
.event-workroom-program-editor-panel,
.event-workroom-program-day,
.event-workroom-unscheduled,
.event-timeline-stage,
.event-timeline-slot,
.upcoming-event-poster,
.event-card-poster .event-date,
.upcoming-event-poster .event-date,
.marketplace-card,
.marketplace-manage-card,
.rating-summary-card,
.rating-form-card,
.rating-review-disclosure summary,
.review-card,
.marketplace-contact-details,
.marketplace-report-box,
.marketplace-interaction-card,
.booking-overview-pill,
.booking-card,
.booking-focus-metrics div,
.booking-focus-waiting a,
.booking-focus-calm,
.booking-message-helper,
.booking-request-intro,
.profile-request-panel,
.profile-claim-panel,
.notification-card,
.message-recipient-suggestions,
.message-recipient-result,
.message-thread-card,
.conversation-bubble,
.entity-mini-card,
.public-link-card,
.public-live-channel-card,
.analytics-card,
.link-card,
.support-insight-card,
.discover-quick-search,
.discover-search-suggestions,
.discover-search-result,
.discover-live-summary a,
.discover-card,
.admin-work-queue a,
.lost-item-card,
.success-panel,
.lead-card,
.moderation-case-card,
.profile-production-card,
.production-public-block-card,
.production-upcoming-card,
.production-conflict-card,
.production-date-note-item,
.production-date-cast-snapshot-list > div,
.production-substitution-public-list > div {
    border-color: var(--glass-border);
    background:
        linear-gradient(145deg, var(--glass-highlight), transparent 38%),
        linear-gradient(315deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 58%),
        var(--glass-bg);
    box-shadow: var(--glass-shadow);
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.18);
    backdrop-filter: blur(var(--glass-blur)) saturate(1.18);
}

/* Glass polish for operational screens that already use card-like surfaces. */
.account-settings-card .settings-section,
.admin-settings-section,
.social-provider-overview span,
.social-login-provider-section .social-provider-row,
.social-provider-icon-wrap,
.seo-status-summary article,
.seo-status-detail-list div,
.branding-logo-card,
.visual-asset-admin-row,
.setting-row,
.table-wrap,
.team-member-card,
.email-template-preview,
.email-template-placeholders,
.email-template-preview pre,
.admin-faq-form,
.admin-team-card,
.badge-admin-card,
.role-admin-card,
.feature-health-card,
.retention-summary,
.retention-policy-card,
.deletion-preview-summary > div,
.deletion-profile-plan > div,
.report-claim-form,
.moderation-owner-note,
.report-message,
.report-target-note,
.support-label-admin-card,
.support-shortcut,
.support-queue-badge,
.support-sla-badge,
.event-edit-page .form-fieldset,
.event-visitor-check-score,
.event-visitor-check-item,
.event-edit-poster-card,
.event-repeatable-actions .ghost-button,
.event-cast-editor-row,
.event-partner-editor-row,
.event-sponsor-logo-row,
.lineup-editor-row,
.event-profile-suggestions,
.event-profile-suggestion,
.city-suggest-panel,
.city-suggest-option,
.admin-event-poster-panel,
.event-sponsor-logo-card,
.analytics-action-metrics article,
.analytics-action-insight,
.analytics-booking-metrics article,
.analytics-booking-insight,
.analytics-booking-card,
.profile-world-columns > div,
.profile-content-pill,
.profile-next-step-list a,
.profile-next-step-list article,
.profile-cooperation-followup-card,
.admin-profile-live-card,
.profile-block-card,
.block-help-card,
.profile-service-readiness,
.profile-service-list div,
.profile-accreditation-readiness,
.profile-accreditation-public,
.profile-service-decision-card,
.profile-post-event-trust,
.profile-post-event-trust-card,
.profile-confirmed-card,
.profile-confirmed-facts span,
.profile-confirmed-note,
.profile-block-link-card,
.profile-media-mini-card,
.profile-media-admin-card,
.public-profile-photo,
.public-profile-audio,
.profile-media-guidance,
.profile-work-sample-card,
.profile-video-mini-card,
.profile-video-admin-card,
.public-profile-video-card,
.production-admin-card,
.production-line-card,
.production-block-card,
.theatre-scene-card,
.production-admin-guide-card {
    border-color: var(--glass-border);
    background:
        linear-gradient(145deg, var(--glass-highlight), transparent 38%),
        linear-gradient(315deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 58%),
        var(--glass-bg);
    box-shadow: var(--glass-shadow);
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.18);
    backdrop-filter: blur(var(--glass-blur)) saturate(1.18);
}

.scene-mini-card,
.people-list-signals span,
.rating-score,
.rating-breakdown div,
.reviewer-profile-signals,
.event-visitor-program-strip,
.event-visitor-program-item,
.event-visitor-summary-card,
.marketplace-detail-hero-image,
.marketplace-detail-thumbs img,
.buyer-review-form,
.deal-message-preview,
.document-list a,
.profile-calendar-card,
.production-admin-summary span,
.production-panel-stats span,
.theatre-scene-card-summary > span,
.production-block-status-row span,
.production-schedule-summary span,
.production-date-chips span,
.production-date-chips a,
.production-history-snapshots div,
.performance-date-note,
.event-card-tags span,
.booking-request-benefits span,
.reviewer-focus-tag {
    border-color: var(--glass-border);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--glass-highlight) 76%, transparent), transparent 42%),
        linear-gradient(315deg, color-mix(in srgb, var(--accent) 5%, transparent), transparent 60%),
        var(--glass-bg-soft);
    -webkit-backdrop-filter: blur(12px) saturate(1.12);
    backdrop-filter: blur(12px) saturate(1.12);
}

.notification-card.is-unread,
.message-thread-card.is-unread {
    border-color: color-mix(in srgb, var(--accent) 50%, var(--glass-border));
    background:
        linear-gradient(135deg, rgba(73, 211, 193, 0.12), transparent 44%),
        linear-gradient(145deg, var(--glass-highlight), transparent 42%),
        var(--glass-bg);
}

.conversation-list li.is-mine .conversation-bubble {
    border-color: color-mix(in srgb, var(--accent) 44%, var(--glass-border));
    background:
        linear-gradient(135deg, rgba(73, 211, 193, 0.18), transparent 52%),
        var(--glass-bg-soft);
}

.conversation-list li.is-internal .conversation-bubble,
.production-upcoming-card.is-cancelled {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--danger-bg) 46%, transparent), transparent 54%),
        var(--glass-bg-strong);
}

a.dashboard-card:hover,
.summary-pill.active,
.summary-pill:hover,
.filter-panel summary:hover,
.filter-panel[open] summary,
.scene-filter-panel summary:hover,
.scene-filter-panel[open] summary,
.scene-type-strip a:hover,
.scene-type-strip a.active,
.scene-mini-card:hover,
.search-result-card:hover,
.people-list-item:hover,
.discover-live-summary a:hover,
.discover-card:hover,
.discover-search-result:hover,
.discover-search-result:focus-visible,
.public-link-card:hover,
.lead-card:hover,
.marketplace-card:hover,
.marketplace-manage-card:hover,
.event-card:hover,
.booking-card:hover {
    border-color: color-mix(in srgb, var(--accent) 58%, var(--glass-border));
}

.discover-search-result:hover,
.discover-search-result:focus-visible {
    background:
        linear-gradient(135deg, rgba(73, 211, 193, 0.16), transparent 48%),
        var(--glass-bg-strong);
}

.event-card-tags .status-pill.status-limited,
.event-card-tags .status-pill.status-not_announced,
.production-date-chips span.status-limited,
.production-date-chips a.status-limited {
    border-color: currentColor;
    background: var(--warning-bg);
    color: var(--warning-text);
}

.event-card-tags .status-pill.status-sold_out,
.event-card-tags .status-pill.status-cancelled,
.production-date-chips span.status-sold_out,
.production-date-chips span.status-cancelled,
.production-date-chips a.status-sold_out,
.production-date-chips a.status-cancelled {
    border-color: currentColor;
    background: var(--danger-bg);
    color: var(--danger-text);
}

.event-card-tags .status-pill.status-change,
.production-date-chips span.status-change,
.production-date-chips a.status-change {
    border-color: currentColor;
    background: var(--accent-wash);
    color: var(--accent);
}

.production-date-chips span.status-hidden,
.production-date-chips a.status-hidden {
    border-color: currentColor;
    background: var(--glass-bg-strong);
    color: var(--muted);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .home-live-panel article,
    .home-feature-card,
    .home-profile-card,
    .home-cta,
    .article-card,
    .reviewer-directory-card,
    .people-list-item,
    .people-rank-list li,
    .article-review-panel,
    .reviewer-application-status-panel,
    .xp-panel,
    .activity-level-card,
    .reviewer-progress-panel,
    .reviewer-milestone-card,
    .scene-feed-panel,
    .scene-feed-card,
    .dashboard-card,
    .dashboard-world-card,
    .profile-section,
    .auth-card,
    .form-card,
    .media-upload-card,
    .image-crop-card,
    .choice-card,
    .profile-type-card,
    .layout-section-card,
    .empty-state,
    .summary-pill,
    .filter-panel summary,
    .filter-panel-content,
    .scene-filter-panel summary,
    .scene-filter-content,
    .scene-type-strip a,
    .search-result-card,
    .scene-profile-card,
    .detail-panel,
    .event-visitor-summary,
    .event-card,
    .upcoming-event-poster,
    .marketplace-card,
    .marketplace-manage-card,
    .rating-summary-card,
    .rating-form-card,
    .rating-review-disclosure summary,
    .review-card,
    .marketplace-contact-details,
    .marketplace-report-box,
    .marketplace-interaction-card,
    .booking-overview-pill,
    .booking-card,
    .booking-focus-metrics div,
    .booking-focus-waiting a,
    .booking-focus-calm,
    .booking-message-helper,
    .booking-request-intro,
    .profile-request-panel,
    .profile-claim-panel,
    .notification-card,
    .message-recipient-suggestions,
    .message-recipient-result,
    .message-thread-card,
    .conversation-bubble,
    .entity-mini-card,
    .public-link-card,
    .analytics-card,
    .link-card,
    .support-insight-card,
    .discover-quick-search,
    .discover-search-suggestions,
    .discover-search-result,
    .discover-live-summary a,
    .discover-card,
    .admin-work-queue a,
    .lost-item-card,
    .success-panel,
    .lead-card,
    .moderation-case-card,
    .profile-production-card,
    .production-public-block-card,
    .production-upcoming-card,
    .production-conflict-card,
    .production-date-note-item,
    .production-date-cast-snapshot-list > div,
    .production-substitution-public-list > div {
        background: var(--surface);
    }
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .account-settings-card .settings-section,
    .admin-settings-section,
    .seo-status-summary article,
    .seo-status-detail-list div,
    .branding-logo-card,
    .visual-asset-admin-row,
    .setting-row,
    .table-wrap,
    .team-member-card,
    .email-template-preview,
    .email-template-placeholders,
    .email-template-preview pre,
    .admin-faq-form,
    .admin-team-card,
    .badge-admin-card,
    .role-admin-card,
    .feature-health-card,
    .retention-summary,
    .retention-policy-card,
    .deletion-preview-summary > div,
    .deletion-profile-plan > div,
    .report-claim-form,
    .moderation-owner-note,
    .report-message,
    .report-target-note,
    .support-label-admin-card,
    .support-shortcut,
    .support-queue-badge,
    .support-sla-badge,
    .event-edit-page .form-fieldset,
    .event-visitor-check-score,
    .event-visitor-check-item,
    .event-edit-poster-card,
    .event-repeatable-actions .ghost-button,
    .event-cast-editor-row,
    .event-partner-editor-row,
    .event-sponsor-logo-row,
    .lineup-editor-row,
    .event-profile-suggestions,
    .event-profile-suggestion,
    .city-suggest-panel,
    .city-suggest-option,
    .admin-event-poster-panel,
    .event-sponsor-logo-card,
    .analytics-action-metrics article,
    .analytics-action-insight,
    .analytics-booking-metrics article,
    .analytics-booking-insight,
    .analytics-booking-card,
    .profile-world-columns > div,
    .profile-content-pill,
    .profile-next-step-list a,
    .profile-next-step-list article,
    .profile-cooperation-followup-card,
    .admin-profile-live-card,
    .profile-block-card,
    .block-help-card,
    .profile-service-readiness,
    .profile-service-list div,
    .profile-accreditation-readiness,
    .profile-accreditation-public,
    .profile-service-decision-card,
    .profile-post-event-trust,
    .profile-post-event-trust-card,
    .profile-confirmed-card,
    .profile-confirmed-facts span,
    .profile-confirmed-note,
    .profile-block-link-card,
    .profile-media-mini-card,
    .profile-media-admin-card,
    .public-profile-photo,
    .public-profile-audio,
    .profile-media-guidance,
    .profile-work-sample-card,
    .profile-video-mini-card,
    .profile-video-admin-card,
    .public-profile-video-card,
    .production-admin-card,
    .production-line-card,
    .production-block-card,
    .theatre-scene-card,
    .production-admin-guide-card {
        background: var(--surface);
    }
}

@media (min-width: 720px) {
    .privacy-visibility-summary dl > div {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

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

    .filter-bar,
    .scene-filter,
    .marketplace-filter,
    .lost-found-filter {
        grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    }

    .form-two-column,
    .lost-item-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .discover-trends {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
    }

    .discover-trends > p {
        grid-column: 2;
    }

    .lost-item-gallery {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .moderation-case-card {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr);
        align-items: end;
    }

    .moderation-case-card form {
        grid-template-columns: 150px minmax(180px, 1fr) auto;
        align-items: end;
    }
}

@media (min-width: 1024px) {
    .home-feature-grid {
        grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    }

    .discover-card-copy > strong {
        font-size: 1.05rem;
    }
}

@media (min-width: 720px) and (hover: hover) and (pointer: fine) {
    .discover-card-description,
    .discover-card-action {
        max-height: 0;
        opacity: 0;
        transform: translateY(6px);
        transition: max-height 220ms ease, opacity 180ms ease, transform 220ms ease;
    }

    .discover-card:hover .discover-card-description,
    .discover-card:focus-visible .discover-card-description,
    .discover-card:hover .discover-card-action,
    .discover-card:focus-visible .discover-card-action {
        max-height: 4.5em;
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 479px) {
    .faq-question-card {
        grid-template-columns: 1fr;
    }

    .faq-question-card > .ghost-link {
        justify-self: start;
    }

    .discover-live-summary a {
        padding: 9px 8px;
    }

    .discover-live-summary span {
        font-size: 0.72rem;
    }

    .lost-item-card {
        grid-template-columns: 105px minmax(0, 1fr);
    }

    .lost-item-card > div {
        padding: 12px;
    }
}

.site-footer {
    width: min(100%, 1120px);
    display: grid;
    grid-template-columns: minmax(150px, 0.72fr) minmax(0, 1.8fr) auto;
    gap: 12px 24px;
    align-items: start;
    margin: 0 auto;
    padding: 14px 16px 104px;
    color: var(--muted);
    font-size: 0.84rem;
}

.site-footer-brand,
.site-footer-links,
.site-footer-social {
    min-width: 0;
}

.site-footer-brand {
    display: grid;
    gap: 5px;
}

.site-footer-brand > strong {
    color: var(--text);
    font-size: 0.94rem;
}

.site-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 18px;
    align-items: center;
}

.site-footer-social {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.site-footer-link {
    display: inline-flex;
    min-height: 44px;
    padding: 10px 0;
    border: 0;
    align-items: center;
    background: transparent;
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-footer-link:hover {
    background: transparent;
    color: var(--accent);
}

.site-footer-social-link {
    display: inline-flex;
    width: 44px;
    height: 44px;
    border: 0;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.site-footer-social-link img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.site-footer-social-link:hover,
.site-footer-social-link:focus-visible {
    background: transparent;
    color: var(--accent);
}

@media (min-width: 720px) {
    .site-footer {
        padding: 14px 24px 28px;
    }
}

@media (max-width: 860px) {
    .site-footer {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .site-footer-links {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

@media (max-width: 520px) {
    .site-footer {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .site-footer-links,
    .site-footer-social {
        grid-column: 1;
        grid-row: auto;
    }

    .site-footer-social {
        justify-content: flex-start;
    }
}

@media (max-width: 719px) {
    .site-footer {
        padding-bottom: calc(84px + env(safe-area-inset-bottom));
    }
}

.retention-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    align-items: center;
    justify-content: space-between;
    margin: 18px 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--accent);
    border-radius: 8px;
    background: var(--surface);
}

.retention-summary > div {
    display: flex;
    gap: 12px;
    align-items: center;
}

.retention-summary strong,
.retention-count strong {
    color: var(--accent);
    font-size: 1.45rem;
}

.retention-summary p {
    margin-bottom: 0;
}

.retention-policy-grid {
    display: grid;
    gap: 12px;
}

.retention-policy-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
}

.retention-policy-card h2,
.retention-policy-card p:last-child {
    margin-bottom: 0;
}

.retention-count {
    min-width: 125px;
    text-align: right;
}

.retention-count strong,
.retention-count span {
    display: block;
}

.retention-count span {
    color: var(--muted);
    font-size: 0.78rem;
}

.retention-protected-panel,
.retention-run-panel {
    margin-top: 18px;
}

.retention-rule-list,
.deletion-preview-groups {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--border);
}

.retention-rule-list article,
.deletion-preview-groups article {
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
}

.retention-rule-list p,
.deletion-preview-groups p {
    margin: 4px 0 0;
}

.retention-run-panel {
    display: grid;
    gap: 18px;
}

button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.deletion-rehearsal {
    display: grid;
    gap: 14px;
    margin: 16px 0;
    padding: 16px;
    border: 1px solid var(--accent);
    border-radius: 8px;
    background: var(--accent-wash);
}

.deletion-rehearsal-header,
.deletion-preview-groups article > div,
.deletion-profile-plan > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: center;
    justify-content: space-between;
}

.deletion-rehearsal-header h3,
.deletion-rehearsal-header p {
    margin-bottom: 0;
}

.deletion-preview-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.deletion-preview-summary > div {
    display: grid;
    gap: 2px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

.deletion-preview-summary span,
.deletion-preview-groups span {
    color: var(--muted);
    font-size: 0.8rem;
}

.deletion-preview-summary strong {
    color: var(--accent);
    font-size: 1.35rem;
}

.deletion-profile-plan {
    display: grid;
    gap: 8px;
}

.deletion-profile-plan h3 {
    margin-bottom: 0;
}

.deletion-profile-plan > div {
    padding: 9px 0;
    border-top: 1px solid var(--border);
}

@media (min-width: 720px) {
    .retention-policy-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .retention-policy-card {
        grid-template-columns: 1fr;
    }

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

    .retention-run-panel {
        grid-template-columns: minmax(0, 0.8fr) minmax(320px, 1.2fr);
        align-items: start;
    }
}

@media (max-width: 520px) {
    .retention-policy-card {
        grid-template-columns: 1fr;
    }

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

    .deletion-preview-summary {
        grid-template-columns: 1fr;
    }
}

/* Admin work areas and shared moderation queues */
.admin-dashboard-page,
.admin-dashboard-group,
.moderation-case-actions {
    min-width: 0;
    max-width: 100%;
    display: grid;
    gap: 16px;
}

.admin-dashboard-group + .admin-dashboard-group {
    padding-top: 22px;
    border-top: 1px solid var(--border);
}

.admin-dashboard-group-header {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    align-items: end;
    justify-content: space-between;
}

.admin-dashboard-group-header h2,
.admin-dashboard-group-header p {
    margin-bottom: 0;
}

.admin-dashboard-group-header p {
    max-width: 680px;
    color: var(--muted);
}

.admin-dashboard-group > form {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.admin-tool-grid {
    margin-top: 0;
}

.admin-card-role {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.moderation-assignment-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 8px;
    margin: 18px 0 10px;
}

.moderation-owner-filter {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.report-claim-form,
.moderation-owner-note {
    display: grid;
    gap: 8px;
    min-width: 190px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.report-claim-form small,
.moderation-owner-note p {
    margin: 0;
    color: var(--muted);
    font-size: 0.8rem;
}

.moderation-case-actions .case-claim-form,
.moderation-case-actions .case-status-form,
.moderation-case-actions .case-release-form {
    margin: 0;
}

.moderation-case-actions .case-claim-form {
    grid-template-columns: 1fr;
}

.moderation-case-actions .case-release-form {
    grid-template-columns: minmax(0, 1fr);
}

.moderation-case-actions .case-release-form button {
    justify-self: start;
}

@media (min-width: 720px) {
    .moderation-case-actions .case-status-form {
        grid-template-columns: 150px minmax(220px, 1fr) auto;
    }

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

    .support-insight-columns-wide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 719px) {
    .admin-dashboard-group-header {
        align-items: start;
    }

    .profile-calendar-card {
        grid-template-columns: 1fr;
    }

    .profile-calendar-card .event-date {
        width: fit-content;
    }

    .moderation-assignment-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .support-label-admin-card {
        grid-template-columns: 1fr;
    }
}

/* Visual QA: public profiles, events and marketplace */
.profile-tabs {
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.profile-tabs::-webkit-scrollbar {
    display: none;
}

.profile-tabs a {
    scroll-snap-align: start;
}

.profile-overview p:last-child {
    margin-bottom: 0;
}

.event-response-copy {
    display: grid;
    gap: 14px;
}

.event-response-copy h2,
.event-response-copy .eyebrow {
    margin-bottom: 0;
}

.event-response-panel .event-live-stats {
    max-width: 390px;
}

.marketplace-flow-closed {
    margin-bottom: 0;
    padding: 12px;
    border-left: 3px solid var(--accent);
    border-radius: 0 8px 8px 0;
    background: var(--accent-wash);
    color: var(--muted);
}

@media (min-width: 720px) {
    .marketplace-detail-grid {
        grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
        align-items: start;
    }
}

@media (min-width: 1100px) {
    .scene-filter {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 10px;
    }
}

/* Second typography pass: keep operational screens compact and reserve hero scale for true hero sections. */
.hero h1,
.home-hero h1 {
    font-size: var(--type-hero-title);
    line-height: 1.08;
}

.module-header h1,
.admin-page h1,
.form-card h1,
.auth-card h1,
.activity-hero h1 {
    font-size: var(--type-page-title);
    line-height: 1.14;
}

.article-detail-header h1,
.event-hero h1,
.entity-header h1,
.public-user-hero h1 {
    font-size: var(--type-detail-title);
    line-height: 1.12;
}

.module-header h2,
.detail-panel h2,
.profile-section h2,
.admin-dashboard-group-header h2,
.section-heading h2,
.event-response-copy h2,
.event-live-panel h2,
.event-village-panel h2,
.event-partners-panel h2,
.article-review-panel h2,
.settings-section h2,
.profile-completeness-head h2,
.booking-request-intro h2,
.profile-request-panel h2,
.profile-claim-panel h2,
.empty-state h2,
.success-panel h2,
.retention-policy-card h2 {
    font-size: var(--type-section-title);
    line-height: 1.22;
}

.dashboard-card h3,
.home-feature-card h3,
.marketplace-card h2,
.marketplace-manage-card h2,
.booking-card h2,
.notification-card h2,
.message-thread-card h2,
.event-card h2,
.discover-card h2,
.lost-item-card h2,
.reviewer-directory-card-head h2,
.article-card-copy h2 {
    font-size: var(--type-card-title);
    line-height: 1.24;
}

/* Responsive polish: keep dense operational screens calm on tablets and phones. */
@media (min-width: 720px) and (max-width: 1023px) {
    .filter-bar,
    .scene-filter,
    .marketplace-filter,
    .lost-found-filter,
    .admin-user-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filter-bar button,
    .scene-filter button,
    .marketplace-filter button,
    .lost-found-filter button,
    .admin-user-filter button {
        justify-self: start;
    }

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

    .lineup-editor-row,
    .lineup-editor-row-no-stage,
    .event-cast-editor-row,
    .event-partner-editor-row,
    .event-sponsor-logo-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 719px) {
    html {
        scroll-padding-top: 74px;
    }

    #app-content {
        padding: 18px 12px 90px;
    }

    .hero {
        min-height: auto;
        padding: 26px 0;
    }

    .hero p {
        font-size: 0.98rem;
    }

    .event-sponsor-logo-row {
        grid-template-columns: 1fr;
    }

    .event-sponsor-logo-card {
        flex-basis: 100%;
        max-width: none;
    }

    .home-page,
    .discover-content {
        gap: 22px;
    }

    .module-header {
        gap: 10px;
        margin-bottom: 16px;
    }

    .compact-header {
        margin-bottom: 12px;
    }

    .dashboard-card,
    .profile-section,
    .detail-panel,
    .empty-state,
    .event-review-card,
    .support-insight-card,
    .analytics-card,
    .role-admin-card,
    .badge-admin-card {
        padding: 14px;
    }

    .auth-card,
    .form-card {
        margin: 14px auto;
        padding: 16px;
    }

    input,
    select,
    textarea {
        min-height: 38px;
    }

    .filter-bar,
    .scene-filter,
    .marketplace-filter,
    .lost-found-filter,
    .admin-user-filter,
    .support-insight-filter {
        grid-template-columns: 1fr;
        max-width: none;
    }

    .filter-panel summary,
    .discover-filter-panel summary {
        width: 100%;
        margin-left: 0;
        justify-content: space-between;
    }

    .filter-panel-current,
    .discover-filter-current {
        max-width: min(100%, 58vw);
    }

    .filter-panel-content {
        padding: 10px;
    }

    .discover-quick-search {
        gap: 7px;
        padding: 12px;
    }

    .discover-brand {
        min-height: 104px;
        gap: 8px;
        margin-bottom: 22px;
    }

    .discover-brand-logo {
        max-width: min(406px, 100%);
        max-height: 101px;
    }

    .discover-brand-text {
        font-size: 1.6rem;
    }

    .discover-brand-tagline {
        max-width: 34rem;
        font-size: 0.94rem;
        line-height: 1.4;
    }

    .discover-quick-search .eyebrow {
        margin-bottom: 2px;
    }

    .discover-quick-search h2 {
        font-size: 1.04rem;
        line-height: 1.26;
    }

    .discover-search-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .discover-search-form label {
        gap: 5px;
    }

    .discover-search-form input,
    .discover-search-form select,
    .discover-search-form button {
        min-height: 40px;
    }

    .discover-search-main-field,
    .discover-search-form button,
    .discover-search-suggestions {
        grid-column: 1 / -1;
    }

    .discover-search-form button {
        width: 100%;
    }

    .discover-search-device-location {
        align-items: stretch;
        flex-direction: column;
        gap: 6px;
    }

    .discover-search-device-actions > button {
        flex: 1 1 170px;
        width: auto;
    }

    .discover-device-location-status {
        text-align: left;
    }

    .discover-quick-search .form-help {
        font-size: 0.78rem;
    }

    .header-actions,
    .form-actions,
    .event-supply-call-response-actions,
    .table-actions {
        gap: 7px;
    }

    .form-actions > button,
    .form-actions > .button-link,
    .form-actions > .ghost-link {
        flex: 1 1 150px;
    }

    .status-summary,
    .event-live-stats,
    .event-response-panel .event-live-stats,
    .activity-stat-grid,
    .analytics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: none;
    }

    .event-response-panel-hero .event-live-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .summary-pill,
    .event-live-stats article {
        padding: 10px;
    }

    .table-wrap {
        -webkit-overflow-scrolling: touch;
    }

    .data-table {
        min-width: 640px;
    }

    .data-table th,
    .data-table td {
        padding: 10px;
    }

    .mobile-topbar-actions .nav-menu-list {
        right: 0;
        min-width: min(260px, calc(100vw - 24px));
        max-width: calc(100vw - 24px);
        max-height: calc(100vh - 86px);
        max-height: calc(100svh - 86px);
        overflow: auto;
    }

    .notification-menu-mobile .notification-preview-list {
        position: fixed;
        top: 64px;
        right: 12px;
        left: 12px;
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .profile-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        margin-inline: -12px;
        padding-inline: 12px;
        scrollbar-width: thin;
    }

    .admin-page .profile-container-nav {
        display: grid;
        grid-auto-flow: column;
        grid-template-rows: repeat(2, minmax(34px, auto));
        grid-auto-columns: max-content;
        align-items: stretch;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .profile-container-nav {
        top: 64px;
        width: calc(100% + 24px);
        max-width: none;
        border-radius: 0;
        border-inline: 0;
    }

    .profile-event-card {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 10px;
    }

    .profile-event-poster {
        width: 72px;
    }

    .profile-production-card.with-poster,
    .production-admin-card.with-poster {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .production-card-poster {
        width: 72px;
    }

    .production-upcoming-list {
        grid-template-columns: 1fr;
    }

    .lineup-editor-row,
    .lineup-editor-row-no-stage,
    .event-cast-editor-row,
    .event-partner-editor-row,
    .retention-policy-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 479px) {
    .status-summary,
    .event-live-stats,
    .event-response-panel .event-live-stats,
    .activity-stat-grid,
    .analytics-grid,
    .moderation-assignment-summary {
        grid-template-columns: 1fr;
    }

    .event-response-panel-hero .event-live-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .form-actions > button,
    .form-actions > .button-link,
    .form-actions > .ghost-link,
    .header-actions > .button-link,
    .header-actions > .ghost-link {
        width: 100%;
        flex-basis: 100%;
    }

    .filter-panel-current,
    .discover-filter-current {
        max-width: 52vw;
    }

    .lost-item-card {
        grid-template-columns: 1fr;
    }

    .lost-item-card-image {
        min-height: 150px;
    }
}

@media (max-width: 359px) {
    .discover-search-form {
        grid-template-columns: 1fr;
    }

    .discover-search-location-field,
    .discover-search-radius-field {
        grid-column: 1 / -1;
    }
}

@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
    .alert {
        border-color: var(--alert-border);
        background: var(--alert-bg);
    }

    .alert-mark {
        background: var(--surface-strong);
    }

    .alert-dismiss {
        border-color: var(--alert-border);
        background: var(--surface);
    }

    .visual-placeholder {
        border-color: var(--border);
        background: var(--soft-bg);
    }

    .profile-avatar-placeholder {
        background: var(--surface-strong);
    }

    .profile-avatar-placeholder::before,
    .profile-avatar-placeholder::after {
        background: var(--accent);
    }

    .account-deletion-section,
    .status-sold_out,
    .status-cancelled,
    .production-upcoming-card.is-cancelled {
        border-color: var(--danger-text);
    }

    .event-card-poster .event-date,
    .upcoming-event-poster .event-date {
        border-color: var(--border);
        background: var(--surface);
    }

    .event-thumb:focus-visible,
    .upcoming-event-poster:focus-visible,
    .production-poster-thumb:focus-visible {
        outline-color: rgba(73, 211, 193, 0.45);
    }

    .upcoming-event-strip::-webkit-scrollbar-thumb {
        background: var(--accent);
    }

    .upcoming-event-signals .status-pill,
    .performance-date-note,
    .production-conflict-slot {
        border-color: var(--border);
        background: var(--surface);
    }

    .upcoming-event-signals .status-pill.status-change,
    .performance-date-note {
        background: var(--accent-wash);
    }

    .upcoming-event-signals .status-pill.status-limited,
    .production-admin-guide-card.is-warning,
    .production-conflict-panel,
    .production-conflict-pair {
        border-color: var(--warning-text);
    }

    .production-admin-guide-card.is-warning,
    .production-conflict-slot {
        background: var(--warning-bg);
    }

    .production-admin-guide-card.is-ready {
        border-color: var(--success-text);
    }

    .production-admin-guide-card.is-attention,
    .production-admin-guide-card.is-todo,
    .production-date-override-item {
        border-color: var(--accent);
    }

    .production-date-override-item {
        background: var(--accent-wash);
    }
}
.profile-claim-challenge {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 0.75rem 0;
}

.profile-claim-challenge summary {
    cursor: pointer;
    font-weight: 700;
}

.profile-claim-challenge p,
.profile-claim-challenge small {
    display: block;
    margin: 0.65rem 0 0;
}

.admin-claim-evidence-summary,
.admin-claim-evidence-viewer,
.admin-claim-decision {
    border-top: 1px solid var(--border);
    padding: 1.25rem 0;
}

.admin-claim-evidence-summary > p {
    max-width: 78ch;
}

.admin-claim-evidence-canvas {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.18);
    display: grid;
    max-height: 72vh;
    min-height: 18rem;
    overflow: auto;
    place-items: center;
}

.admin-claim-evidence-canvas img {
    display: block;
    height: auto;
    max-width: 100%;
}

.admin-claim-decision-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-claim-decision-grid form {
    border-top: 2px solid var(--border);
    padding-top: 1rem;
}

@media (max-width: 760px) {
    .admin-claim-decision-grid {
        grid-template-columns: 1fr;
    }

    .admin-claim-evidence-canvas {
        min-height: 12rem;
    }
}
/* Security recovery keeps public reporting calm and the staff workflow compact. */
.security-recovery-layout,
.security-recovery-action-grid,
.security-recovery-admin-grid {
    display: grid;
    gap: 1.25rem;
    align-items: start;
}

.security-recovery-layout {
    grid-template-columns: minmax(0, 1.45fr) minmax(17rem, .75fr);
}

.security-recovery-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.security-recovery-admin-grid {
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 23rem);
}

.security-recovery-admin-grid > main,
.security-recovery-admin-actions {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.security-recovery-aside {
    padding: .25rem 0 0;
}

.security-recovery-aside h2,
.security-recovery-thread h2,
.security-recovery-admin-actions h2,
.security-recovery-action-grid h2 {
    font-size: 1.05rem;
}

.plain-step-list,
.security-recovery-timeline,
.security-recovery-message-list {
    display: grid;
    gap: .8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.plain-step-list {
    counter-reset: recovery-step;
}

.plain-step-list li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .15rem .75rem;
    align-items: start;
    counter-increment: recovery-step;
}

.plain-step-list li::before {
    content: counter(recovery-step);
    display: grid;
    place-items: center;
    width: 2rem;
    aspect-ratio: 1;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: color-mix(in srgb, var(--surface) 70%, transparent);
    font-weight: 700;
}

.plain-step-list li span {
    grid-column: 2;
    color: var(--muted);
}

.security-recovery-form fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.security-recovery-form legend {
    margin-bottom: .55rem;
    font-weight: 700;
}

.security-recovery-type {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

.security-recovery-type label {
    display: flex;
    min-height: 44px;
    min-width: 0;
    padding: .5rem .65rem;
    border: 1px solid var(--border);
    border-radius: 6px;
    align-items: center;
    gap: .5rem;
    background: var(--surface);
    cursor: pointer;
}

.security-recovery-type label span {
    width: 100%;
    text-align: center;
}

.security-recovery-type label:has(input:checked) {
    border-color: var(--accent);
    background: var(--accent-wash);
}

.security-recovery-type label:has(input:focus-visible) {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.security-recovery-summary {
    margin-bottom: 1rem;
}

.security-recovery-message {
    padding: .85rem 1rem;
    border-left: 3px solid var(--border);
    background: color-mix(in srgb, var(--surface) 72%, transparent);
}

.security-recovery-message.is-staff {
    border-left-color: var(--accent);
}

.security-recovery-message header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: baseline;
}

.security-recovery-message time,
.security-recovery-timeline time {
    color: var(--muted);
    font-size: .82rem;
    white-space: nowrap;
}

.security-recovery-message p {
    margin: .45rem 0 0;
}

.security-recovery-timeline li {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: 1rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--border);
}

.security-recovery-timeline li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.security-recovery-table td > span,
.security-recovery-table td > small,
.security-recovery-table td strong + span {
    display: block;
    margin-top: .2rem;
    color: var(--muted);
    font-size: .85rem;
}

.security-recovery-approval {
    border-color: color-mix(in srgb, var(--warning-text, #72551a) 65%, var(--border));
}

.security-recovery-restore {
    max-width: 38rem;
}

@media (max-width: 900px) {
    .security-recovery-layout,
    .security-recovery-action-grid,
    .security-recovery-admin-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 560px) {
    .security-recovery-type,
    .security-recovery-timeline li {
        grid-template-columns: minmax(0, 1fr);
    }

    .security-recovery-message header {
        align-items: flex-start;
        flex-direction: column;
        gap: .2rem;
    }
}

/* Compact mobile navigation for long documents and dashboard utilities. */
.privacy-policy-show-all {
    display: none;
}

@media (min-width: 720px) and (max-width: 1023px) {
    .privacy-policy-layout {
        gap: 16px;
    }

    .privacy-policy-toc {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 12px;
        align-items: center;
        padding: 10px 12px;
    }

    .privacy-policy-toc nav {
        display: flex;
        gap: 7px;
        min-width: 0;
        overflow-x: auto;
        padding-bottom: 2px;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .privacy-policy-toc a {
        min-height: 44px;
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        padding: 9px 11px;
        border: 1px solid var(--border);
        border-radius: 6px;
        background: var(--soft-bg);
        scroll-snap-align: start;
    }
}

@media (max-width: 719px) {
    .dashboard-tools-panel .dashboard-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 6px;
    }

    .dashboard-tools-panel .dashboard-card {
        min-height: 0;
        display: grid;
        gap: 6px;
        align-content: start;
        padding: 11px;
    }

    .dashboard-tools-panel .dashboard-card h3 {
        margin: 0;
        font-size: 0.92rem;
        line-height: 1.25;
    }

    .dashboard-tools-panel .dashboard-card p {
        margin: 0;
        color: var(--muted);
        font-size: 0.78rem;
        line-height: 1.35;
    }

    .privacy-policy-layout {
        gap: 16px;
    }

    .privacy-policy-toc {
        position: sticky;
        top: 68px;
        z-index: 8;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        padding: 10px;
        background: color-mix(in srgb, var(--surface) 94%, transparent);
    }

    .privacy-policy-toc h2 {
        align-self: center;
    }

    .privacy-policy-toc nav {
        grid-column: 1 / -1;
        display: flex;
        gap: 7px;
        overflow-x: auto;
        padding-bottom: 2px;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .privacy-policy-toc a {
        min-height: 44px;
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        padding: 9px 11px;
        border: 1px solid var(--border);
        border-radius: 6px;
        background: var(--soft-bg);
        scroll-snap-align: start;
    }

    .privacy-policy-toc a.is-active {
        border-color: var(--accent);
        background: var(--accent-wash);
        color: var(--text);
    }

    .privacy-policy-page.is-profile-container-ready .privacy-policy-show-all {
        min-height: 44px;
        width: auto;
        display: inline-flex;
        grid-column: 2;
        grid-row: 1;
        align-items: center;
        justify-content: center;
        justify-self: end;
        padding: 8px 11px;
        white-space: nowrap;
    }

    .privacy-policy-show-all.is-active {
        border-color: var(--accent);
        color: var(--accent);
    }

    .privacy-document-section {
        padding-bottom: 18px;
        margin-bottom: 18px;
        scroll-margin-top: 178px;
    }
}
