/*
 * Cards, buttons, badges, tabs, alerts, and reusable UI components.
 */

.ops-card,
.admin-card {
    min-width: 0;
    max-width: 100%;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 12px;
    background: var(--admin-color-surface, rgba(255, 255, 255, .84));
    box-shadow: 0 10px 28px rgba(24, 48, 40, .06);
}

/* Historical marker editor: compact sections and searchable multi-relationships. */
.historical-marker-form {
    gap: 12px;
}

.historical-marker-editor-page .admin-editor-page .admin-card-header {
    min-height: 0;
    padding: 13px 15px 0;
    border-bottom: 0;
}

.historical-marker-editor-page .admin-editor-page .admin-card-body {
    padding: 12px 15px 15px;
}

.historical-marker-form .admin-form-grid {
    gap: 10px;
}

.historical-marker-form .admin-card-description {
    margin: 3px 0 0;
    font-size: .78rem;
}

.admin-form-grid.historical-marker-details-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.historical-marker-field--name,
.historical-marker-field--location,
.historical-marker-field--coordinate {
    grid-column: span 3;
}

.historical-marker-field--slug {
    grid-column: span 2;
}

.historical-marker-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 12px;
}

.historical-marker-content-supporting {
    display: grid;
    gap: 10px;
}

.historical-marker-inscription,
.historical-marker-inscription textarea {
    height: 100%;
}

.historical-marker-content-grid textarea[name="inscription"] {
    min-height: 314px;
}

.historical-marker-content-grid textarea[name="marker_for"],
.historical-marker-content-grid textarea[name="credits"] {
    min-height: 84px;
}

.historical-marker-content-grid textarea[name="topics"] {
    min-height: 68px;
}

.historical-marker-source-card .admin-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.place-record-relationship-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.multi-relationship-picker {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 11px;
    border: 1px solid rgba(211, 217, 209, .78);
    border-radius: 10px;
    background: rgba(250, 251, 249, .82);
}

.multi-relationship-picker__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.multi-relationship-picker__heading p {
    margin: 3px 0 0;
}

.multi-relationship-picker__count {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(9, 82, 59, .1);
    color: var(--deep-pine);
    font-size: .72rem;
    font-weight: 900;
}

.multi-relationship-picker__selected {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.multi-relationship-picker__selected.is-empty {
    display: none;
}

.multi-relationship-chip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    max-width: 100%;
    padding: 6px 6px 6px 9px;
    border: 1px solid rgba(9, 82, 59, .18);
    border-radius: 8px;
    background: rgba(232, 244, 237, .86);
}

.multi-relationship-chip > span {
    display: grid;
    min-width: 0;
}

.multi-relationship-chip strong,
.multi-relationship-chip small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.multi-relationship-chip strong {
    color: var(--text);
    font-size: .78rem;
}

.multi-relationship-chip small {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 700;
}

.multi-relationship-chip button {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    color: var(--deep-pine);
    font: inherit;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.multi-relationship-chip button:hover,
.multi-relationship-chip button:focus-visible {
    background: #fff;
    box-shadow: 0 0 0 2px rgba(9, 82, 59, .16);
}

.multi-relationship-picker__search {
    position: relative;
    z-index: 20;
}

.multi-relationship-picker__search:focus-within {
    z-index: 60;
}

.multi-relationship-picker__search .admin-input {
    min-height: 38px;
}

.multi-relationship-picker__empty {
    padding: 10px 12px;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 750;
}

@media (max-width: 1100px) {
    .admin-form-grid.historical-marker-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .historical-marker-field--name,
    .historical-marker-field--location {
        grid-column: 1 / -1;
    }

    .historical-marker-field--coordinate,
    .historical-marker-field--slug {
        grid-column: auto;
    }
}

@media (max-width: 760px) {
    .place-record-relationship-grid,
    .admin-form-grid.historical-marker-details-grid,
    .historical-marker-content-grid,
    .historical-marker-source-card .admin-form-grid {
        grid-template-columns: 1fr;
    }

    .historical-marker-field--name,
    .historical-marker-field--location,
    .historical-marker-field--coordinate,
    .historical-marker-field--slug {
        grid-column: auto;
    }

    .historical-marker-content-grid textarea[name="inscription"] {
        min-height: 220px;
    }
}
.ops-card__header,
.admin-card-header {
    min-height: 54px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px 0;
}

.ops-card__header > div,
.admin-card-header > div {
    min-width: 0;
}

.ops-card__header h1,
.ops-card__header h2,
.ops-card__header h3,
.admin-card-header h1,
.admin-card-header h2,
.admin-card-header h3 {
    margin: 0;
    color: var(--admin-color-text, var(--deep-pine));
    font-size: var(--admin-font-size-xl, 1.125rem) !important;
    font-weight: var(--admin-weight-bold, 700);
    line-height: var(--admin-line-tight, 1.2);
}

.ops-card__header p,
.admin-card-header p {
    margin: 4px 0 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: var(--admin-line-relaxed, 1.6);
}

.ops-card__body,
.admin-card-body {
    padding: 8px 18px 18px;
}

.public-detail-page {
    background: var(--warm-bg);
    color: var(--text);
}

.public-detail-shell {
    width: min(980px, calc(100% - 32px));
    margin: 32px auto;
}

.public-parks-shell {
    display: grid;
    gap: 16px;
}

.public-parks-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.public-parks-nav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .78);
    color: var(--muted);
    font-size: .84rem;
    font-weight: 800;
}

.public-parks-nav a svg {
    width: 17px;
    height: 17px;
}

.public-parks-nav a:hover,
.public-parks-nav a.is-active {
    border-color: rgba(24, 48, 40, .2);
    background: var(--deep-pine);
    color: #fff;
}

.public-parks-list {
    display: grid;
    gap: 10px;
}

.public-park-row {
    display: grid;
    grid-template-columns: minmax(180px, .42fr) minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(250, 249, 246, .68);
}

.public-park-row:hover {
    border-color: rgba(24, 48, 40, .24);
    background: #fff;
}

.public-park-row strong,
.public-park-row small,
.public-park-row em {
    display: block;
}

.public-park-row strong {
    color: var(--deep-pine);
    font-size: .94rem;
    line-height: 1.3;
}

.public-park-row small,
.public-park-row em {
    color: var(--muted);
    font-size: .8rem;
    line-height: 1.45;
}

.public-park-row em {
    font-style: normal;
}

.public-invasive-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.public-invasive-summary div {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(250, 249, 246, .72);
}

.public-invasive-summary span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 8px;
    border-radius: 8px;
    background: rgba(226, 239, 230, .86);
    color: var(--deep-pine);
}

.public-invasive-summary strong,
.public-invasive-summary small {
    display: block;
}

.public-invasive-summary strong {
    color: var(--deep-pine);
    font-size: 1.18rem;
    line-height: 1.15;
}

.public-invasive-summary small {
    margin-top: 3px;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 750;
    line-height: 1.35;
}

.public-invasive-source {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: .82rem;
}

.public-invasive-source strong {
    color: var(--deep-pine);
}

.public-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

.public-invasive-table {
    width: 100%;
    min-width: 760px;
}

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

.public-invasive-table td strong,
.public-invasive-table td small {
    display: block;
}

.park-invasive-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.park-invasive-summary-grid article {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: rgba(250, 249, 246, .72);
}

.park-invasive-summary-grid span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 8px;
    border-radius: 8px;
    background: rgba(226, 239, 230, .86);
    color: var(--deep-pine);
}

.park-invasive-summary-grid strong,
.park-invasive-summary-grid small,
.park-invasive-table td strong,
.park-invasive-table td small {
    display: block;
}

.park-invasive-summary-grid strong {
    color: var(--deep-pine);
    font-size: 1.18rem;
    line-height: 1.15;
}

.park-invasive-summary-grid small {
    margin-top: 3px;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 750;
    line-height: 1.35;
}

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

.park-invasive-query-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: rgba(250, 249, 246, .72);
}

.park-invasive-query-bar label {
    display: grid;
    gap: 5px;
    color: var(--admin-color-muted, var(--muted));
    font-size: .76rem;
    font-weight: 800;
}

.park-invasive-query-bar .admin-select {
    min-width: 130px;
}

.park-invasive-query-bar p {
    flex: 1 1 260px;
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: .82rem;
    line-height: 1.4;
}

@media (max-width: 760px) {
    .public-park-row {
        grid-template-columns: 1fr;
    }

    .public-invasive-summary,
    .park-invasive-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .public-detail-shell {
        width: min(100% - 22px, 980px);
        margin: 22px auto;
    }

    .public-invasive-summary,
    .park-invasive-summary-grid {
        grid-template-columns: 1fr;
    }
}

.admin-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -8px 0 18px;
}

.admin-subnav a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .82rem);
    font-weight: var(--admin-weight-bold, 700);
    text-decoration: none;
}

.admin-subnav a.is-active,
.admin-subnav a:hover {
    border-color: rgba(24, 48, 40, .18);
    background: var(--admin-color-primary, var(--deep-pine));
    color: #fff;
}

.workspace-card,
.context-card {
    min-width: 0;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 12px;
    background: var(--admin-color-surface, rgba(255, 255, 255, .84));
    box-shadow: 0 10px 28px rgba(24, 48, 40, .055);
}

.workspace-card__header {
    min-height: 54px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px 0;
}

.workspace-card__header h2,
.context-card h2 {
    margin: 0;
    color: var(--admin-color-text, var(--deep-pine));
    font-size: var(--admin-font-size-xl, 1.125rem);
    font-weight: var(--admin-weight-bold, 700);
    line-height: var(--admin-line-tight, 1.2);
}

.workspace-card__header p,
.context-card p {
    margin: 4px 0 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: var(--admin-line-relaxed, 1.6);
}

.workspace-card__body {
    padding: 8px 18px 18px;
}

.contact-entry-list {
    display: grid;
    gap: 8px;
}

.contact-entry {
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) auto;
    gap: 8px;
    align-items: end;
    width: 100%;
    min-width: 0;
}

.contact-entry > label,
.contact-entry > label input {
    min-width: 0;
}

.contact-entry__remove {
    min-height: 34px;
    width: 96px;
    justify-self: start;
    padding: 0 10px;
    border-radius: 8px;
    font-size: .78rem;
}

.contact-add-button {
    justify-self: start;
    min-height: 34px;
    width: auto;
    margin: 2px 0 10px;
    padding: 0 12px;
    border-radius: 8px;
    font-size: .8rem;
}

.contact-group {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    background: rgba(250, 249, 246, .62);
}

.contact-group h3,
.organization-logo-panel h3 {
    margin: 0;
    color: var(--admin-color-text, var(--deep-pine));
    font-size: .9rem;
    font-weight: var(--admin-weight-heavy, 850);
}

.organization-logo-panel {
    display: grid;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--admin-color-border, var(--border));
}

.organization-logo-panel p {
    margin: 4px 0 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: 1.35;
}

.organization-logo-editor {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.organization-logo-preview {
    display: grid;
    place-items: center;
    inline-size: 132px;
    block-size: 132px;
    overflow: hidden;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    background: rgba(250, 249, 246, .74);
    color: var(--admin-color-text, var(--deep-pine));
    font-size: 1.35rem;
    font-weight: var(--admin-weight-heavy, 850);
}

.organization-logo-preview img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
}

.organization-logo-details {
    display: grid;
    gap: 7px;
}

.organization-logo-dropzone {
    display: grid;
    place-items: center;
    gap: 5px;
    min-height: 0;
    padding: 12px;
    border: 1px dashed rgba(24, 48, 40, .32);
    border-radius: 10px;
    background: rgba(250, 249, 246, .72);
    color: var(--admin-color-text, var(--deep-pine));
    text-align: center;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.organization-logo-dropzone:hover,
.organization-logo-dropzone:focus-visible,
.organization-logo-dropzone.is-dragging {
    border-color: var(--admin-color-primary, var(--deep-pine));
    background: #fff;
    box-shadow: 0 0 0 3px rgba(12, 95, 75, .12);
    outline: none;
}

.organization-logo-dropzone input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
    pointer-events: none;
}

.organization-logo-dropzone label {
    display: grid;
    justify-items: center;
    gap: 3px;
    padding: 0;
    color: var(--admin-color-text, var(--deep-pine));
    cursor: pointer;
}

.organization-logo-dropzone strong {
    font-size: .9rem;
    font-weight: var(--admin-weight-bold, 700);
}

.organization-logo-dropzone label span,
.organization-logo-recommendation,
.organization-logo-meta p {
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: 1.35;
}

.organization-logo-dropzone .button {
    min-height: 38px;
    padding-inline: 14px;
    border-radius: 9px;
    font-size: .82rem;
}

.organization-logo-error {
    display: none;
    margin: 0;
    color: #dc2626;
    font-size: .8rem;
    font-weight: var(--admin-weight-bold, 700);
}

.organization-logo-error.is-active {
    display: block;
}

.organization-logo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.button--danger-outline {
    border-color: rgba(220, 38, 38, .35);
    background: #fff;
    color: #dc2626;
}

.organization-location-summary {
    grid-template-columns: 1fr;
}

.organization-location-summary dd {
    word-break: break-word;
}

.settings-search {
    min-height: 40px;
    width: min(320px, 100%);
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: #fff;
    color: var(--admin-color-text, var(--text));
    padding: 0 12px;
    font: inherit;
}

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

.settings-card-body {
    display: grid;
    gap: 0;
    padding-top: 4px;
}

.setting-row {
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(240px, 1fr);
    gap: 16px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(211, 217, 209, .72);
}

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

.setting-row label,
.settings-toolbar label {
    display: grid;
    gap: 6px;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .8rem);
    font-weight: var(--admin-weight-bold, 800);
}

.setting-row > div:first-child label {
    color: var(--admin-color-text, var(--deep-pine));
    font-family: var(--font-ui);
    font-size: .92rem;
    font-weight: var(--admin-weight-heavy, 850);
}

.setting-row p {
    margin: .22rem 0 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .8rem);
    line-height: 1.45;
}

.setting-control {
    display: grid;
    justify-items: start;
    gap: 6px;
    min-width: 0;
}

.setting-control input:not([type="checkbox"]):not([type="radio"]),
.setting-control select,
.settings-toolbar input,
.settings-toolbar select,
.settings-dialog .admin-form input,
.settings-dialog .admin-form select {
    width: 100%;
    min-height: 40px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: #fff;
    color: var(--admin-color-text, var(--text));
    padding: 0 10px;
    font: inherit;
}

.setting-control input[type="color"] {
    width: 72px;
    max-width: 92px;
    padding: 4px;
}

.setting-control small {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .74rem);
    font-weight: var(--admin-weight-bold, 750);
}

.settings-toggle {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.settings-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.settings-toggle span {
    position: relative;
    width: 46px;
    height: 26px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 999px;
    background: #e8ece8;
    transition: background .16s ease, border-color .16s ease;
}

.settings-toggle span::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(24, 48, 40, .18);
    transition: transform .16s ease;
}

.settings-toggle input:checked + span {
    border-color: var(--admin-color-primary, var(--deep-pine));
    background: var(--admin-color-primary, var(--deep-pine));
}

.settings-toggle input:checked + span::after {
    transform: translateX(20px);
}

.settings-toolbar {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(220px, 1fr) auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 12px;
}

.settings-log-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

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

.settings-taxonomy-table tr[draggable="true"] {
    cursor: grab;
}

.settings-taxonomy-table tr.is-dragging {
    opacity: .58;
}

.settings-help-rail {
    position: sticky;
    top: 86px;
    align-self: start;
}

.maintenance-grid,
.connection-test-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
    padding-top: 12px;
}

.maintenance-action-card,
.connection-test-card {
    min-width: 0;
    min-height: 154px;
    display: grid;
    grid-template-rows: auto minmax(42px, 1fr) auto;
    gap: 10px;
    align-content: start;
    padding: 14px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    background: rgba(250, 249, 246, .68);
}

.maintenance-action-card strong,
.connection-test-card strong {
    color: var(--admin-color-primary, var(--deep-pine));
    font-family: var(--font-ui);
    font-size: var(--admin-font-size-md, .92rem);
    font-weight: var(--admin-weight-heavy, 850);
    line-height: var(--admin-line-tight, 1.2);
}

.maintenance-action-card p,
.connection-test-card p {
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .8rem);
    line-height: 1.45;
}

.maintenance-action-card .button,
.connection-test-card .button {
    justify-self: start;
    align-self: end;
}

.organization-types-layout {
    display: grid;
    gap: 18px;
}

.organization-type-form {
    display: grid;
    grid-template-columns: minmax(240px, 420px) auto;
    gap: 12px;
    align-items: end;
    padding: 14px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    background: rgba(250, 249, 246, .68);
}

.settings-map-preview {
    display: grid;
    grid-template-columns: minmax(260px, .95fr) minmax(280px, 1.05fr);
    gap: 18px;
    align-items: stretch;
}

.settings-map-preview__canvas {
    position: relative;
    min-height: 220px;
    overflow: hidden;
    border: 1px solid rgba(211, 217, 209, .78);
    border-radius: 10px;
    background:
        linear-gradient(90deg, rgba(24, 48, 40, .05) 1px, transparent 1px),
        linear-gradient(rgba(24, 48, 40, .05) 1px, transparent 1px),
        #f8faf5;
    background-size: 46px 46px;
}

.settings-map-preview__water,
.settings-map-preview__land,
.settings-map-preview__road,
.settings-map-preview__pin {
    position: absolute;
}

.settings-map-preview__water {
    inset: -36px -20px auto auto;
    width: 48%;
    height: 72%;
    border-radius: 0 0 0 90px;
    background: rgba(99, 150, 165, .22);
}

.settings-map-preview__land {
    inset: 34px auto auto 28px;
    width: 56%;
    height: 58%;
    border-radius: 999px 90px 110px 80px;
    background: rgba(47, 124, 69, .1);
    transform: rotate(-12deg);
}

.settings-map-preview__road {
    left: 18px;
    right: 28px;
    height: 2px;
    border-radius: 999px;
    background: rgba(142, 129, 104, .38);
    transform-origin: left center;
}

.settings-map-preview__road--one {
    top: 44%;
    transform: rotate(-16deg);
}

.settings-map-preview__road--two {
    top: 62%;
    transform: rotate(12deg);
}

.settings-map-preview__pin {
    width: 16px;
    height: 16px;
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(24, 48, 40, .2);
}

.settings-map-preview__pin--park {
    left: 30%;
    top: 36%;
}

.settings-map-preview__pin--playground {
    left: 52%;
    top: 54%;
}

.settings-map-preview__pin--import {
    left: 66%;
    top: 32%;
}

.settings-map-preview__pin--duplicate {
    left: 42%;
    top: 68%;
}

.settings-map-preview__summary {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 14px;
}

.settings-map-preview__stats {
    margin: 0;
}

.settings-map-preview__badges,
.settings-map-preview__swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.settings-map-preview__swatches span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid rgba(211, 217, 209, .72);
    border-radius: 999px;
    background: rgba(250, 249, 246, .7);
    color: var(--deep-pine);
    font-size: .76rem;
    font-weight: 800;
}

.settings-map-preview__swatches i {
    width: 12px;
    height: 12px;
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 0 0 1px rgba(24, 48, 40, .16);
}

.park-card-edit-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.park-card-header-actions.admin-card-header {
    align-items: center;
}

.admin-card-title-row {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.admin-card-title-row .admin-card-title,
.admin-card-title-row .admin-sidebar-card-title {
    min-width: 0;
}

.admin-card-title-row .edit-icon-action {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    margin-block: -3px;
}

.admin-card-stack {
    min-width: 0;
    display: grid;
    gap: 18px;
    align-content: start;
}

.park-editor-page-flow {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
}

.park-editor-container {
    min-width: 0;
}

.park-editor-container-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
    gap: 18px;
}

.park-editor-container-grid--overview,
.park-editor-container-grid--content {
    align-items: stretch;
}

.park-editor-card-stack {
    min-width: 0;
    display: grid;
    gap: 18px;
    align-content: start;
}

.park-editor-card-stack > .park-editor-card {
    grid-column: auto;
}

[data-park-inline-display] {
    white-space: pre-line;
}

.park-admin-note-card .admin-card-body p,
.park-description-card .admin-card-body p {
    margin: 0;
    color: var(--admin-color-text, var(--text));
    line-height: var(--admin-line-relaxed, 1.6);
}

.park-admin-note-card .admin-card-body p.muted-copy,
.park-description-card .admin-card-body p.muted-copy {
    color: var(--admin-color-muted, var(--muted));
}

.park-description-card .admin-card-body {
    min-width: 0;
}

.park-description-card .admin-card-body[data-park-inline-read] {
    min-height: clamp(260px, 32vh, 420px);
    display: grid;
    align-content: start;
}

.place-basic-info-grid:not(.place-basic-info-grid--edit) {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, .85fr);
    grid-template-areas:
        "name status"
        "address address"
        "type organizations"
        "area maintainers";
    gap: 18px 26px;
    align-items: start;
}

.place-basic-info-grid--edit {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(180px, .75fr);
    grid-template-areas:
        "name slug status"
        "address address address"
        "type organizations organizations"
        "area maintainers maintainers";
    gap: 16px 26px;
    align-items: start;
}

.place-basic-info-field,
.place-basic-info-readonly,
.place-basic-info-address {
    min-width: 0;
}

.place-basic-info-field--name {
    grid-area: name;
}

.place-basic-info-field--slug {
    grid-area: slug;
}

.place-basic-info-field--status {
    grid-area: status;
}

.place-basic-info-field--type {
    grid-area: type;
}

.place-basic-info-field--wide {
    grid-area: address;
}

.place-basic-info-field--area {
    grid-area: area;
}

.place-basic-info-field--organizations {
    grid-area: organizations;
}

.place-basic-info-field--maintainers {
    grid-area: maintainers;
}

.park-organization-picker {
    position: relative;
    display: grid;
    gap: 7px;
}

.park-organization-picker__field {
    align-items: flex-start;
}

.park-organization-picker__results {
    position: static;
}

.park-organization-chip__primary {
    --admin-pill-bg: var(--admin-pill-nature-bg, #D8F0D2);
    --admin-pill-text: var(--admin-pill-nature-text, #1E4F2A);
    --admin-pill-border: var(--admin-pill-nature-border, #7FBE74);
    min-height: 18px;
    display: inline-flex;
    align-items: center;
    padding: 0 6px;
    border: 1px solid var(--admin-pill-border);
    border-radius: var(--admin-radius-sm, 6px);
    background: var(--admin-pill-bg);
    color: var(--admin-pill-text);
    font-size: 10px;
    font-weight: var(--admin-weight-bold, 700);
    line-height: 1;
}

.park-organization-picker__empty {
    cursor: default;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
}

.place-basic-info-field p,
.place-basic-info-readonly strong {
    display: block;
    margin: 0;
    color: var(--admin-color-text, var(--text));
    font-size: .94rem;
    font-weight: var(--admin-weight-bold, 700);
    line-height: 1.35;
}

.place-basic-info-readonly strong {
    font-weight: var(--admin-weight-medium, 600);
}

.place-basic-info-address {
    margin: 0;
    padding: 0;
    border: 0;
}

.place-basic-info-address > legend {
    padding: 0;
}

.place-basic-info-address-grid {
    gap: 10px;
}

.place-basic-info-address-grid .admin-field-label {
    white-space: nowrap;
}

.park-dot-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.park-dot-status i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--admin-color-success, #2f7c45);
    box-shadow: 0 0 0 4px rgba(47, 124, 69, .12);
}

.park-rich-content {
    max-width: 84ch;
    display: grid;
    gap: 10px;
    color: var(--admin-color-text, var(--text));
    line-height: var(--admin-line-relaxed, 1.6);
    overflow-wrap: anywhere;
}

.park-rich-content.muted-copy {
    color: var(--admin-color-muted, var(--muted));
}

.park-rich-content :where(p, ul, ol, blockquote, h2, h3, h4) {
    margin: 0;
}

.park-rich-content :where(ul, ol) {
    padding-left: 1.25rem;
}

.park-rich-content :where(h2, h3, h4) {
    color: var(--admin-color-text, var(--text));
    font-weight: var(--admin-weight-bold, 700);
    line-height: var(--admin-line-tight, 1.2);
}

.park-rich-content h2 {
    font-size: 1.08rem;
}

.park-rich-content h3 {
    font-size: .98rem;
}

.park-rich-content h4 {
    font-size: .9rem;
}

.park-rich-content blockquote {
    padding-left: 12px;
    border-left: 3px solid rgba(47, 124, 69, .25);
    color: var(--admin-color-muted, var(--muted));
}

.park-rich-content a {
    color: var(--admin-color-primary, var(--deep-pine));
    font-weight: var(--admin-weight-bold, 700);
    text-decoration: underline;
}

.park-rich-content hr {
    width: 100%;
    margin: 4px 0;
    border: 0;
    border-top: 1px solid var(--admin-color-border, var(--border));
}

.admin-card-grid > .park-support-stack {
    grid-column: 10 / -1;
}

.admin-card-grid > .park-record-context,
.admin-card-grid > .park-location-gis-card,
.admin-card-grid > .park-entrances-card {
    grid-column: 1 / -1;
}

.admin-card-grid > .park-record-context,
.admin-card-grid > .park-location-gis-card {
    order: 20;
}

.admin-card-grid > .park-entrances-card {
    order: 21;
}

.admin-card-grid > .park-admin-note-card.admin-span-3 .admin-card-header {
    align-items: flex-start;
    flex-direction: column;
}

.admin-card-grid > .park-summary-taxonomy-card.admin-span-3 .admin-card-header {
    align-items: flex-start;
    flex-direction: column;
}

.admin-card-grid > .park-admin-note-card.admin-span-3 .park-card-edit-actions,
.admin-card-grid > .park-summary-taxonomy-card.admin-span-3 .park-card-edit-actions {
    justify-content: flex-start;
}

.park-support-stack .admin-card-header {
    align-items: flex-start;
    flex-direction: column;
}

.park-support-stack .park-card-edit-actions {
    justify-content: flex-start;
}

.park-compact-list {
    display: grid;
    gap: 14px;
    margin: 0;
}

.park-compact-list > div {
    min-width: 0;
}

.park-environmental-card .park-card-edit-actions .button {
    min-height: 30px;
    padding-inline: 10px;
    border-color: var(--admin-color-border, var(--border));
    background: transparent;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
}

.park-environmental-card .park-card-edit-actions .button:hover,
.park-environmental-card .park-card-edit-actions .button:focus-visible {
    border-color: rgba(47, 124, 69, .22);
    background: rgba(250, 249, 246, .74);
    color: var(--admin-color-primary, var(--deep-pine));
}

.park-environmental-card .park-status-pill {
    min-height: 22px;
    padding-inline: 8px;
    border: 1px solid rgba(47, 124, 69, .18);
    border-radius: 999px;
    background: transparent;
    font-size: .66rem;
}

.park-environmental-card .park-status-pill.is-positive {
    background: rgba(226, 239, 230, .42);
    color: var(--admin-color-primary, var(--deep-pine));
}

.park-environmental-card .park-status-pill.is-warning {
    border-color: rgba(154, 106, 25, .18);
    background: rgba(250, 236, 210, .42);
    color: var(--admin-color-warning, #9a6a19);
}

.park-environmental-card .park-status-pill.is-muted {
    border-color: var(--admin-color-border, var(--border));
    background: transparent;
    color: var(--admin-color-muted, var(--muted));
}

.park-environmental-body {
    display: grid;
    gap: 0;
}

.park-environmental-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 2px 0 14px;
    border-bottom: 1px solid rgba(211, 217, 209, .58);
}

.park-environmental-metrics > section {
    min-width: 0;
    padding: 0 12px;
    border-left: 1px solid rgba(211, 217, 209, .58);
}

.park-environmental-metrics > section:first-child {
    padding-left: 0;
    border-left: 0;
}

.park-environmental-metrics .admin-field-value {
    min-width: 0;
    margin: 3px 0 0;
    overflow: hidden;
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.park-environmental-summary {
    display: grid;
    gap: 6px;
    padding: 13px 0 14px;
    border-bottom: 1px solid rgba(211, 217, 209, .58);
}

.park-environmental-summary p,
.park-environmental-summary small {
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: 1.5;
}

.park-environmental-summary strong {
    color: var(--admin-color-text, var(--text));
    font-weight: var(--admin-weight-bold, 700);
}

.park-environmental-species-list {
    display: grid;
}

.park-environmental-species-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 11px 0 0;
    color: var(--admin-color-text, var(--text));
    font-size: .84rem;
}

.park-environmental-species-list strong {
    min-width: 0;
    overflow: hidden;
    color: var(--admin-color-text, var(--text));
    text-overflow: ellipsis;
    white-space: nowrap;
}

.park-environmental-species-list span {
    flex: 0 0 auto;
    color: var(--admin-color-muted, var(--muted));
    font-size: .78rem;
    font-weight: var(--admin-weight-bold, 700);
}

.park-compact-list .admin-field-value {
    font-size: var(--admin-font-size-sm, .78rem);
}

.park-summary-token-rows {
    display: grid;
    gap: 0;
}

.park-summary-token-row {
    display: grid;
    gap: 8px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(211, 217, 209, .52);
}

.park-summary-token-row:first-child {
    padding-top: 0;
}

.park-summary-token-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.park-summary-token-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    margin: 0;
}

.park-summary-token-heading small {
    --admin-pill-bg: var(--admin-pill-neutral-bg, #EFE5D4);
    --admin-pill-text: var(--admin-pill-neutral-text, #514130);
    --admin-pill-border: var(--admin-pill-neutral-border, #D3BFA0);
    min-width: 22px;
    height: 20px;
    display: inline-grid;
    place-items: center;
    padding: 0 6px;
    border: 1px solid var(--admin-pill-border);
    border-radius: var(--admin-radius-sm, 6px);
    background: var(--admin-pill-bg);
    color: var(--admin-pill-text);
    font-size: .66rem;
    font-weight: var(--admin-weight-bold, 700);
}

.park-chip-row {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.park-summary-chip {
    --admin-pill-bg: var(--admin-pill-facility-bg, #E4EFED);
    --admin-pill-text: var(--admin-pill-facility-text, #294F50);
    --admin-pill-border: var(--admin-pill-facility-border, #9AB8B4);
    --admin-pill-dot: var(--admin-pill-facility-dot, #3E6B6F);
    min-width: 0;
    max-width: 100%;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    overflow: hidden;
    border: 1px solid var(--admin-pill-border);
    border-radius: var(--admin-radius-md, 8px);
    background: var(--admin-pill-bg);
    color: var(--admin-pill-text);
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-bold, 700);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.park-summary-chip::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 999px;
    background: var(--admin-pill-dot);
}

.park-summary-chip--more {
    --admin-pill-bg: var(--admin-pill-neutral-bg, #EFE5D4);
    --admin-pill-text: var(--admin-pill-neutral-text, #514130);
    --admin-pill-border: var(--admin-pill-neutral-border, #D3BFA0);
    --admin-pill-dot: var(--admin-pill-neutral-dot, #9A8468);
    min-width: 34px;
    justify-content: center;
}

.park-empty-inline {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .74rem);
    font-weight: var(--admin-weight-regular, 460);
    line-height: var(--admin-line-relaxed, 1.45);
}

.park-summary-taxonomy-card .park-taxonomy-typeahead {
    gap: 10px;
    padding: 13px 0 15px;
    border: 0;
    border-bottom: 1px solid rgba(211, 217, 209, .58);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.park-summary-taxonomy-card .park-taxonomy-typeahead:first-child {
    padding-top: 0;
}

.park-summary-taxonomy-card .park-taxonomy-typeahead:last-of-type {
    border-bottom: 0;
    padding-bottom: 0;
}

.park-summary-taxonomy-card .park-taxonomy-typeahead__heading {
    display: grid;
    gap: 3px;
    margin: 0;
}

.park-summary-taxonomy-card .park-taxonomy-typeahead__heading .admin-field-label,
.park-summary-taxonomy-card .park-taxonomy-typeahead__heading .admin-field-help {
    margin: 0;
}

.admin-chip-field {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid rgba(211, 217, 209, .86);
    border-radius: var(--admin-radius-md, 8px);
    background: rgba(255, 255, 255, .94);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88);
    cursor: text;
}

.admin-chip-field:focus-within {
    border-color: rgba(31, 95, 52, .34);
    box-shadow: 0 0 0 3px rgba(31, 95, 52, .08);
}

.admin-chip-field .admin-input[type="search"],
.admin-chip-field__input {
    flex: 1 1 120px;
    width: auto;
    min-width: 110px;
    min-height: 28px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: var(--admin-line-normal, 1.45);
    outline: 0;
}

.admin-field-suggestions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 5px;
}

.admin-field-suggestions > .admin-field-label {
    grid-column: 1;
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: .66rem;
    font-weight: var(--admin-weight-bold, 700);
}

.park-photo-card-body {
    display: grid;
    gap: 22px;
}

.park-photo-summary--compact {
    min-width: min(360px, 100%);
    padding-top: 0;
    border-top: 0;
}

.park-media-upload-panel {
    display: grid;
    gap: 12px;
}

.park-media-upload-panel h3,
.park-media-gallery-header h3,
.park-media-settings-panel__header h3 {
    margin: 0;
    color: var(--admin-color-heading, var(--deep-pine));
    font-size: 1rem;
    font-weight: var(--admin-weight-heavy, 850);
    line-height: 1.2;
}

.park-media-upload {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(211, 217, 209, .58);
}

.park-photo-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(211, 217, 209, .58);
}

.park-photo-summary > div {
    min-width: 0;
}

.park-photo-summary .admin-field-value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.park-photo-summary .muted-copy {
    color: var(--admin-color-muted, var(--muted));
}

.park-media-upload .admin-field {
    margin: 0;
}

.park-media-upload.has-files {
    grid-template-columns: minmax(0, 1fr);
}

.park-media-upload .media-upload-control,
.park-media-upload .media-upload-control__surface {
    min-height: 124px;
    height: 124px;
}

.park-media-upload.has-files .media-upload-control,
.park-media-upload.has-files .media-upload-control__surface {
    min-height: 180px;
    height: 180px;
}

.park-media-upload .media-upload-control__surface {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 12px;
    padding: 18px 20px;
    border-style: dashed;
    border-color: rgba(174, 181, 171, .9);
    background: rgba(255, 255, 255, .72);
    text-align: center;
}

.park-media-upload.is-dragging .media-upload-control__surface,
.park-media-upload .media-upload-control__input:is(:hover, :focus-visible) + .media-upload-control__surface {
    border-color: rgba(49, 97, 75, .52);
    background: rgba(49, 97, 75, .07);
}

.park-media-upload .media-upload-control__icon {
    width: 44px;
    height: 44px;
    background: transparent;
    color: var(--admin-color-primary, var(--deep-pine));
}

.park-media-upload .media-upload-control__icon svg {
    width: 34px;
    height: 34px;
}

.park-media-upload .media-upload-control__copy {
    justify-items: center;
    gap: 6px;
}

.park-media-upload .media-upload-control__copy strong {
    font-size: .92rem;
}

.park-media-upload .media-upload-control__copy span {
    font-size: .84rem;
}

.park-media-upload-queue {
    width: 100%;
    min-width: 0;
    min-height: 180px;
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(211, 217, 209, .82);
    border-radius: 8px;
    background: rgba(255, 255, 255, .82);
}

@media (min-width: 1180px) {
    .park-photos-card.admin-span-12 .park-media-upload.has-files {
        grid-template-columns: minmax(260px, .92fr) minmax(300px, 1fr);
    }
}

.park-media-upload-queue[hidden] {
    display: none;
}

.park-media-upload-queue__header,
.park-media-gallery-header,
.park-media-gallery-controls,
.park-media-settings-panel__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.park-media-upload-queue__header,
.park-media-gallery-header {
    justify-content: space-between;
}

.park-media-upload-queue__header strong {
    color: var(--admin-color-heading, var(--deep-pine));
    font-size: .88rem;
    font-weight: var(--admin-weight-heavy, 850);
}

.park-media-upload-queue__list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.park-media-upload-queue__item {
    --upload-progress: 0%;
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    overflow: hidden;
    padding: 8px;
    border: 1px solid rgba(211, 217, 209, .72);
    border-radius: 8px;
    background: #fff;
}

.park-media-upload-queue__item::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 0;
    width: var(--upload-progress);
    background: rgba(49, 97, 75, .14);
    transition: width .18s ease;
}

.park-media-upload-queue__item > * {
    position: relative;
    z-index: 1;
}

.park-media-upload-queue__item.is-processing::before {
    background: rgba(44, 96, 162, .13);
}

.park-media-upload-queue__item.is-complete::before {
    background: rgba(49, 125, 75, .18);
}

.park-media-upload-queue__item.is-processing.is-complete::before {
    background: rgba(44, 96, 162, .13);
}

.park-media-upload-queue__item.is-upload-error {
    border-color: rgba(176, 50, 50, .36);
}

.park-media-upload-queue__item.is-upload-error::before {
    width: 100%;
    background: rgba(176, 50, 50, .1);
}

.park-media-upload-queue__item img,
.park-media-upload-queue__thumb {
    width: 48px;
    height: 48px;
    border-radius: 7px;
    object-fit: cover;
    background: rgba(226, 239, 230, .88);
}

.park-media-upload-queue__meta {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.park-media-upload-queue__meta strong,
.park-media-gallery-card__body strong {
    min-width: 0;
    overflow: hidden;
    color: var(--admin-color-text, var(--text));
    font-size: .86rem;
    font-weight: var(--admin-weight-heavy, 820);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.park-media-upload-queue__meta span,
.park-media-gallery-card__body span {
    min-width: 0;
    overflow: hidden;
    color: var(--admin-color-muted, var(--muted));
    font-size: .76rem;
    font-weight: var(--admin-weight-bold, 700);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.park-media-upload-queue__status {
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: .76rem;
    font-weight: var(--admin-weight-heavy, 850);
    white-space: nowrap;
}

.park-media-upload-queue__item.is-processing .park-media-upload-queue__status {
    color: #2b5c98;
}

.park-media-upload-queue__item.is-upload-error .park-media-upload-queue__status {
    color: #9a2f2f;
}

.park-media-upload.is-uploading .media-upload-control__surface {
    border-color: rgba(49, 97, 75, .46);
    background: rgba(49, 97, 75, .06);
}

.park-media-upload.is-uploading .media-upload-control__input {
    cursor: progress;
}

.park-media-upload-queue__submit {
    justify-self: end;
    min-height: 38px;
    padding-inline: 16px;
    white-space: nowrap;
}

.park-media-gallery-section {
    display: grid;
    gap: 16px;
}

.park-media-gallery-controls {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.park-media-gallery-controls .admin-select {
    width: auto;
    min-width: 150px;
    min-height: 38px;
    border-radius: 8px;
    font-size: .82rem;
    font-weight: var(--admin-weight-bold, 700);
}

.park-media-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.park-media-gallery-card {
    min-width: 0;
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(211, 217, 209, .82);
    border-radius: 8px;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 10px 24px rgba(24, 48, 40, .08);
}

.park-media-gallery-grid.is-reorderable .park-media-gallery-card {
    cursor: grab;
}

.park-media-gallery-card.is-dragging {
    opacity: .48;
    outline: 3px solid rgba(49, 97, 75, .18);
    outline-offset: 3px;
    cursor: grabbing;
}

.park-media-gallery-card[hidden] {
    display: none;
}

.park-media-gallery-card__image {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 2.65;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-bottom: 1px solid rgba(211, 217, 209, .82);
    border-radius: 0;
    background: rgba(239, 243, 240, .96);
    color: var(--admin-color-muted, var(--muted));
    cursor: pointer;
}

.park-media-gallery-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .18), transparent 38%, rgba(0, 0, 0, .16));
    pointer-events: none;
}

.park-media-gallery-card__image:hover,
.park-media-gallery-card__image:focus-visible {
    outline: 3px solid rgba(49, 97, 75, .16);
    outline-offset: -3px;
}

.park-media-gallery-card__image img,
.park-media-settings-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.park-media-editor-placeholder svg {
    width: 30px;
    height: 30px;
}

.park-media-gallery-badge {
    position: absolute;
    z-index: 1;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 9px;
    border: 1px solid var(--admin-pill-border, rgba(211, 217, 209, .86));
    border-radius: 7px;
    background: var(--admin-pill-bg, rgba(255, 255, 255, .9));
    color: var(--admin-pill-text, var(--admin-color-text, var(--text)));
    font-size: .68rem;
    font-weight: var(--admin-weight-heavy, 850);
}

.park-media-gallery-badge::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--admin-pill-dot, currentColor);
}

.park-media-gallery-badge--primary {
    top: 10px;
    left: 10px;
    --admin-pill-bg: rgba(226, 239, 230, .94);
    --admin-pill-text: var(--admin-color-primary, var(--deep-pine));
    --admin-pill-border: rgba(127, 190, 116, .48);
    --admin-pill-dot: #2F7A3E;
    background: var(--admin-pill-bg);
}

.park-media-gallery-badge--status {
    top: 10px;
    left: 10px;
}

.park-media-gallery-badge--primary + .park-media-gallery-badge--status {
    top: 42px;
}

.park-media-gallery-badge--hidden {
    right: 10px;
    bottom: 10px;
    background: rgba(255, 255, 255, .88);
}

.park-media-gallery-card__more {
    position: absolute;
    right: 10px;
    bottom: 8px;
    z-index: 1;
    color: #fff;
    font-size: 1rem;
    font-weight: var(--admin-weight-heavy, 900);
    letter-spacing: 0;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .45);
}

.park-media-gallery-card__body {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 8px;
    padding: 12px 14px 14px;
}

.park-media-gallery-card__body span {
    grid-column: 1;
}

.park-media-gallery-card__settings {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(211, 217, 209, .7);
    border-radius: 8px;
    background: rgba(255, 255, 255, .88);
    color: var(--admin-color-muted, var(--muted));
    font-size: 1rem;
    font-weight: var(--admin-weight-heavy, 900);
    line-height: 1;
    cursor: pointer;
}

.park-media-gallery-card__settings:hover,
.park-media-gallery-card__settings:focus-visible {
    border-color: rgba(49, 97, 75, .28);
    color: var(--admin-color-primary, var(--deep-pine));
    outline: none;
}

[data-media-order-submit]:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.park-media-gallery-empty {
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: .86rem;
    font-weight: var(--admin-weight-bold, 700);
}

.park-media-editor-fields {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
    align-content: start;
}

.park-media-editor-fields .media-moderation-meta,
.park-media-editor-options,
.park-media-editor-actions {
    grid-column: 1 / -1;
}

.park-media-editor-options,
.park-media-editor-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end;
}

.park-media-editor-actions {
    justify-content: flex-start;
}

.media-inline-option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    color: var(--admin-color-text, var(--text));
    font-size: .82rem;
    font-weight: var(--admin-weight-bold, 700);
}

.media-inline-option input {
    width: 16px;
    height: 16px;
    accent-color: var(--admin-color-primary, var(--deep-pine));
}

.park-media-settings-modal {
    position: fixed;
    inset: 0;
    z-index: 2200;
    display: grid;
    place-items: center;
    padding: clamp(16px, 3vw, 34px);
}

.park-media-settings-modal[hidden] {
    display: none;
}

.park-media-settings-modal__backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    background: rgba(7, 20, 14, .48);
    cursor: pointer;
}

.park-media-settings-panel {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    max-height: min(760px, calc(100vh - 40px));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(211, 217, 209, .86);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(7, 20, 14, .24);
}

.park-media-settings-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(211, 217, 209, .7);
}

.park-media-settings-panel__body {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(240px, .75fr) minmax(0, 1fr);
    gap: 16px;
    overflow: auto;
    padding: 18px;
}

.park-media-settings-preview {
    position: relative;
    min-height: 280px;
    aspect-ratio: 4 / 3;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(211, 217, 209, .82);
    border-radius: 8px;
    background: rgba(239, 243, 240, .96);
}

.park-media-settings-preview .park-media-gallery-badge--primary {
    top: 12px;
    left: 12px;
}

.park-media-settings-panel__actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    padding: 14px 18px;
    border-top: 1px solid rgba(211, 217, 209, .7);
    background: rgba(250, 249, 246, .72);
}

body.has-modal-open {
    overflow: hidden;
}

.park-card-footnote {
    margin: 14px 18px 18px;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-medium, 500);
}

.park-contact-mode {
    display: grid;
    gap: 0;
}

.park-contact-method-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.park-contact-card.admin-span-6 .park-contact-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.park-contact-method {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 10px;
}

.park-contact-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0;
}

.park-contact-edit-column .park-contact-label {
    margin-bottom: 2px;
}

.park-contact-label small,
.park-contact-list strong span {
    min-width: 22px;
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    border-radius: 7px;
    background: rgba(226, 239, 230, .82);
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: .66rem;
    font-weight: var(--admin-weight-bold, 700);
}

.park-contact-label button {
    width: 26px;
    height: 26px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(211, 217, 209, .82);
    border-radius: 8px;
    background: rgba(255, 255, 255, .86);
    color: var(--admin-color-primary, var(--deep-pine));
    font: inherit;
    font-size: 1rem;
    font-weight: var(--admin-weight-heavy, 760);
    line-height: 1;
    cursor: pointer;
}

.park-contact-label button:hover {
    border-color: rgba(47, 124, 69, .3);
    background: rgba(238, 248, 240, .9);
}

.park-contact-list {
    display: grid;
    border: 1px solid rgba(211, 217, 209, .66);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, .56);
}

.park-contact-list > div {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(92px, .85fr) minmax(0, 1fr) 22px;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 7px 8px;
    border-bottom: 1px solid rgba(211, 217, 209, .58);
}

.park-contact-list > div:last-child {
    border-bottom: 0;
}

.park-contact-list strong,
.park-contact-list a,
.park-contact-list p {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .74rem;
}

.park-contact-list strong {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--admin-color-text, var(--text));
    font-weight: var(--admin-weight-bold, 650);
}

.park-contact-list a {
    color: var(--admin-color-primary, var(--deep-pine));
    font-weight: var(--admin-weight-medium, 520);
    text-decoration: none;
}

.park-contact-list button {
    border: 0;
    background: transparent;
    color: var(--admin-color-muted, var(--muted));
    font: inherit;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.park-contact-list i {
    width: 20px;
    height: 20px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(226, 239, 230, .86);
    color: var(--admin-color-primary, var(--deep-pine));
    font-style: normal;
    font-size: .68rem;
    font-weight: var(--admin-weight-heavy, 760);
}

.park-contact-list .park-empty-inline {
    padding: 10px;
    white-space: normal;
}

.park-contact-edit-grid {
    display: grid;
    gap: 14px;
}

.park-contact-edit-grid input {
    width: 100%;
    min-height: 36px;
    padding: 0 10px;
    border: 1px solid rgba(211, 217, 209, .82);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    color: var(--admin-color-text, var(--text));
    font: inherit;
    font-size: .78rem;
    font-weight: var(--admin-weight-medium, 500);
}

.park-contact-edit-columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.park-contact-card.admin-span-6 .park-contact-edit-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.park-contact-edit-column {
    min-width: 0;
    display: grid;
    gap: 8px;
    align-content: start;
}

.park-contact-edit-rows {
    display: grid;
    gap: 8px;
}

.park-contact-edit-row {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(72px, .62fr) minmax(0, 1fr) 30px;
    gap: 6px;
    align-items: center;
}

.park-contact-row-delete {
    width: 30px;
    height: 36px;
    display: grid;
    place-items: center;
    margin: 0;
}

.park-contact-row-delete input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.park-contact-row-delete span {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(211, 217, 209, .86);
    border-radius: 999px;
    background: rgba(226, 239, 230, .72);
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: .84rem;
    font-weight: var(--admin-weight-heavy, 760);
    line-height: 1;
    cursor: pointer;
}

.park-contact-row-delete input:checked + span {
    border-color: rgba(180, 35, 24, .32);
    background: rgba(255, 241, 240, .92);
    color: #b42318;
}

.park-contact-row-delete input:disabled + span {
    opacity: .42;
    cursor: default;
}

.park-contact-edit-row.has-draft .park-contact-row-delete span {
    opacity: 1;
    border-color: rgba(47, 124, 69, .36);
    background: rgba(226, 239, 230, .95);
    color: #1f7a46;
    box-shadow: 0 0 0 3px rgba(47, 124, 69, .08);
}

.park-contact-edit-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 4px;
}

.park-entrance-card-body,
.park-entrance-list,
.park-entrance-edit,
.park-entrance-edit-rows {
    display: grid;
}

.park-entrance-card-body,
.park-entrance-edit {
    gap: 16px;
}

.park-entrance-list,
.park-entrance-edit-rows {
    gap: 12px;
}

.park-entrance-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.park-entrance-card {
    min-width: 0;
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(211, 217, 209, .76);
    border-radius: 8px;
    background: rgba(255, 255, 255, .62);
}

.park-entrance-card__header {
    min-width: 0;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
}

.park-entrance-card__icon {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(226, 239, 230, .82);
    color: var(--admin-color-primary, var(--deep-pine));
}

.park-entrance-card__icon svg {
    width: 16px;
    height: 16px;
}

.park-entrance-card__header .admin-field-label,
.park-entrance-card__details .admin-field-label {
    margin-bottom: 2px;
}

.park-entrance-badge {
    --admin-pill-bg: var(--admin-pill-nature-bg, #D8F0D2);
    --admin-pill-text: var(--admin-pill-nature-text, #1E4F2A);
    --admin-pill-border: var(--admin-pill-nature-border, #7FBE74);
    --admin-pill-dot: var(--admin-pill-nature-dot, #2F7A3E);
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 7px;
    border: 1px solid var(--admin-pill-border);
    border-radius: var(--admin-radius-sm, 6px);
    background: var(--admin-pill-bg);
    color: var(--admin-pill-text);
    font-size: .66rem;
    font-weight: var(--admin-weight-bold, 700);
}

.park-entrance-badge::before {
    content: "";
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
    border-radius: 999px;
    background: var(--admin-pill-dot);
}

.park-entrance-card__details {
    display: grid;
    gap: 7px;
    padding-top: 8px;
    border-top: 1px solid rgba(211, 217, 209, .58);
}

.park-entrance-card__details > div,
.park-entrance-summary > div {
    min-width: 0;
}

.park-entrance-summary {
    display: grid;
    gap: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(211, 217, 209, .58);
}

.park-entrance-summary .admin-field-value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.park-entrance-summary .muted-copy,
.park-entrance-card__details .muted-copy {
    color: var(--admin-color-muted, var(--muted));
}

.park-entrance-edit-row {
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(211, 217, 209, .72);
    border-radius: 8px;
    background: rgba(255, 255, 255, .68);
}

.park-entrance-check {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
}

.park-entrance-edit-actions {
    display: flex;
    justify-content: flex-start;
}

.park-map-entrance-popup {
    display: grid;
    gap: 5px;
    min-width: 190px;
    padding: 12px 40px 12px 12px;
}

.park-map-entrance-popup strong {
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .84rem);
    line-height: 1.25;
}

.park-map-entrance-popup small {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    line-height: 1.35;
}

.park-map-entrance-popup .status-badge {
    justify-self: start;
}

.park-location-gis-card,
.park-location-gis-body {
    min-width: 0;
    display: grid;
    gap: 16px;
}

.park-gis-single-map {
    position: relative;
    min-height: clamp(300px, 30vw, 420px);
    overflow: hidden;
    border: 1px solid rgba(211, 217, 209, .76);
    border-radius: 8px;
    background: rgba(238, 243, 239, .7);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .56);
}

.park-gis-single-map .entity-map,
.park-gis-single-map .entity-map-empty {
    width: 100%;
    height: clamp(300px, 30vw, 420px);
    min-height: clamp(300px, 30vw, 420px);
    border: 0;
    border-radius: 0;
}

.park-gis-single-map--page,
.park-gis-single-map--page .entity-map,
.park-gis-single-map--page .entity-map-empty {
    min-height: 520px;
}

.park-gis-single-map--page .entity-map,
.park-gis-single-map--page .entity-map-empty {
    height: 520px;
}

.park-gis-single-map .entity-map-empty {
    display: grid;
    place-content: center;
}

.park-gis-control-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(211, 217, 209, .76);
    border-radius: 8px;
    background: rgba(250, 249, 246, .7);
}

.park-gis-control-row .button {
    min-height: 34px;
}

.park-gis-panel-stack {
    display: grid;
    gap: 12px;
}

.park-gis-side-panel {
    width: 100%;
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(211, 217, 209, .78);
    border-radius: 8px;
    background: #fff;
}

.park-gis-side-panel[hidden],
.park-gis-panel-view[hidden] {
    display: none;
}

.park-gis-side-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.park-gis-side-panel__header > div {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.park-gis-side-panel__header .admin-field-label {
    margin-bottom: 0;
}

.park-gis-side-panel__header .icon-button {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    border-radius: 10px;
    font-size: 1rem;
    line-height: 1;
}

.park-gis-mode-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(211, 217, 209, .74);
    border-radius: 10px;
    background: rgba(250, 249, 246, .82);
}

.park-gis-mode-switch button {
    min-height: 30px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--admin-color-muted, var(--muted));
    font: inherit;
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-medium, 600);
    cursor: pointer;
}

.park-gis-mode-switch button.is-active {
    background: #fff;
    color: var(--admin-color-primary, var(--deep-pine));
    box-shadow: 0 5px 12px rgba(24, 48, 40, .08);
}

.park-gis-panel-view,
.park-gis-panel-section,
.park-gis-import-panel .geojson-upload-card {
    display: grid;
    gap: 9px;
    padding-top: 10px;
    border-top: 1px solid rgba(211, 217, 209, .62);
}

.park-gis-side-panel .admin-form-grid--address {
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 9px;
}

.park-gis-side-panel .admin-form-grid--address > label {
    white-space: nowrap;
}

.park-gis-side-panel .admin-form-grid--address > label:nth-child(n + 3) {
    grid-column: auto;
}

.park-gis-side-panel input,
.park-gis-side-panel textarea {
    min-height: 40px;
    padding: 0 10px;
    border-radius: 9px;
    font-size: .9rem;
}

.park-gis-pin-grid {
    grid-template-columns: 1fr;
    gap: 9px;
}

.address-validation-card,
.park-gis-actions,
.advanced-raw-geojson {
    display: grid;
    gap: 8px;
}

.park-gis-actions {
    display: flex;
    flex-wrap: wrap;
}

.address-validation-card {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.address-validation-card .admin-field-value {
    white-space: normal;
}

.address-validation-card .admin-field-help.is-success,
.geojson-import-status.is-success {
    color: var(--admin-color-success, #2f7c45);
}

.address-validation-card .admin-field-help.is-error,
.geojson-import-status.is-error {
    color: var(--admin-color-danger, #a33b2f);
}

.park-gis-actions .button {
    width: auto;
    justify-content: center;
}

.geojson-upload-card {
    grid-template-columns: 1fr;
}

.geojson-upload-actions {
    display: grid;
    justify-items: start;
}

.geojson-file-control {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px dashed rgba(47, 124, 69, .32);
    border-radius: 8px;
    background: rgba(226, 239, 230, .72);
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
    cursor: pointer;
}

.geojson-file-control input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.geojson-import-status {
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: var(--admin-line-relaxed, 1.45);
}

.advanced-raw-geojson {
    padding-top: 10px;
    border-top: 1px solid rgba(211, 217, 209, .58);
}

.advanced-raw-geojson > summary {
    width: fit-content;
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
    cursor: pointer;
}

.advanced-raw-geojson textarea {
    max-height: 260px;
}

.advanced-geojson__actions {
    display: flex;
    justify-content: flex-start;
}

.park-location-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(211, 217, 209, .58);
}

.park-location-summary > div {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 5px;
}

.park-location-summary .admin-field-label {
    margin-bottom: 0;
}

.park-location-summary .admin-field-value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.park-location-summary .muted-copy {
    color: var(--admin-color-muted, var(--muted));
}

.park-status-pill {
    width: fit-content;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    padding: 0 9px;
    border-radius: 7px;
    background: rgba(226, 239, 230, .8);
    color: var(--admin-color-success, #2f7c45);
    font-size: .68rem;
    font-weight: var(--admin-weight-bold, 700);
    white-space: nowrap;
}

.park-status-pill.is-positive {
    background: rgba(226, 239, 230, .8);
    color: var(--admin-color-success, #2f7c45);
}

.park-status-pill.is-muted {
    background: rgba(238, 237, 232, .9);
    color: var(--admin-color-muted, var(--muted));
}

.park-status-pill.is-warning {
    background: rgba(250, 236, 210, .9);
    color: var(--admin-color-warning, #946318);
}

.article-editor-shell {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(211, 217, 209, .5);
    border-radius: 12px;
    background: #fff;
}

.article-editor-toolbar {
    position: relative;
    z-index: 5;
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
    margin-top: 0;
    padding: 5px 7px;
    border: 0;
    border-bottom: 1px solid rgba(211, 217, 209, .24);
    border-radius: 0;
    background: rgba(250, 249, 246, .45);
    box-shadow: none;
}

.article-editor-toolbar button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 0 7px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: var(--admin-color-text, var(--text));
    font: inherit;
    font-size: .74rem;
    font-weight: 820;
    cursor: pointer;
}

.article-editor-toolbar button:hover,
.article-format-menu > button:hover {
    background: rgba(243, 246, 242, .78);
}

.article-format-menu {
    position: relative;
}

.article-toolbar-separator {
    width: 1px;
    height: 16px;
    margin: 0 2px;
    background: rgba(211, 217, 209, .42);
}

.article-format-menu > button {
    position: relative;
    min-width: 108px;
    justify-content: space-between;
    padding-inline: 10px 26px;
    border-color: rgba(211, 217, 209, .48);
    background: #fff;
    text-align: left;
}

.article-format-menu > button::after {
    content: '\2304';
    position: absolute;
    right: 12px;
}

.article-format-menu__panel {
    position: absolute;
    z-index: 25;
    top: calc(100% + 6px);
    left: 0;
    min-width: 164px;
    padding: 6px;
    border: 1px solid rgba(211, 217, 209, .72);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 16px 30px rgba(24, 48, 40, .12);
}

.article-format-menu__panel button {
    width: 100%;
    min-height: 32px;
    justify-content: flex-start;
    background: transparent;
    text-align: left;
}

.park-description-editor-shell .admin-textarea,
.park-description-editor-textarea {
    min-height: clamp(280px, 34vh, 460px);
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.park-description-wysiwyg {
    min-height: clamp(280px, 34vh, 460px);
    padding: 14px;
    background: #fff;
    color: var(--admin-color-text, var(--text));
    line-height: var(--admin-line-relaxed, 1.6);
    overflow-wrap: anywhere;
    outline: 0;
}

.park-description-wysiwyg:empty::before {
    content: attr(data-placeholder);
    color: var(--admin-color-muted, var(--muted));
}

.park-description-wysiwyg :where(p, ul, ol, blockquote, h2, h3, h4) {
    margin: 0 0 10px;
}

.park-description-wysiwyg :where(ul, ol) {
    padding-left: 1.25rem;
}

.park-description-wysiwyg blockquote {
    padding-left: 12px;
    border-left: 3px solid rgba(47, 124, 69, .25);
    color: var(--admin-color-muted, var(--muted));
}

.wordpress-article-editor-form {
    display: grid;
    grid-template-columns: minmax(620px, 1fr) minmax(280px, 340px);
    gap: 20px;
    align-items: start;
}

.wordpress-article-editor-main,
.wordpress-article-editor-side {
    min-width: 0;
}

.wordpress-article-editor-main .admin-card-body,
.wordpress-article-editor-side .admin-card-body {
    padding: clamp(18px, 2vw, 26px);
}

.wordpress-article-content-editor {
    display: grid;
    gap: 0;
}

.wordpress-article-content-editor .admin-form-label {
    margin-bottom: 6px;
    color: var(--admin-color-muted, var(--muted));
    font-size: .78rem;
    font-weight: 820;
}

.wordpress-article-content-editor .article-editor-toolbar {
    border: 1px solid #dcdcde;
    border-bottom: 1px solid #dcdcde;
    border-radius: 8px 8px 0 0;
    background: #fff;
}

.wordpress-post-content-wysiwyg {
    min-height: 620px;
    max-width: none;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #dcdcde;
    border-top: 0;
    border-radius: 0 0 8px 8px;
    padding: clamp(42px, 5vw, 72px) clamp(24px, 5vw, 72px);
    background: #fff;
    color: #000;
    font-family: "Noto Serif", serif;
    font-size: 16px;
    line-height: 1.8;
    outline: 0;
    overflow-wrap: break-word;
    -webkit-font-smoothing: antialiased;
}

.wordpress-post-content-wysiwyg:empty::before {
    content: attr(data-placeholder);
    display: block;
    max-width: 900px;
    margin: 0 auto;
    color: var(--admin-color-muted, var(--muted));
}

.wordpress-post-content-wysiwyg > :where(p, ul, ol, blockquote, h1, h2, h3, h4, h5, h6, figure, pre, div, hr),
.wordpress-post-content-wysiwyg .wp-block {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.wordpress-post-content-wysiwyg :where(p, ul, ol, blockquote, figure, pre) {
    margin-top: 0;
    margin-bottom: 32px;
}

.wordpress-article-content-editor .wordpress-post-content-wysiwyg > p,
.wordpress-article-content-editor .wordpress-post-content-wysiwyg > ul,
.wordpress-article-content-editor .wordpress-post-content-wysiwyg > ol,
.wordpress-article-content-editor .wordpress-post-content-wysiwyg > blockquote,
.wordpress-article-content-editor .wordpress-post-content-wysiwyg > figure,
.wordpress-article-content-editor .wordpress-post-content-wysiwyg > pre {
    margin-top: 0 !important;
    margin-bottom: 32px !important;
}

.wordpress-post-content-wysiwyg > :where(p, ul, ol, blockquote, figure, pre):last-child {
    margin-bottom: 0;
}

.wordpress-article-content-editor .wordpress-post-content-wysiwyg > :last-child {
    margin-bottom: 0 !important;
}

.wordpress-post-content-wysiwyg p {
    font-size: inherit;
    line-height: inherit;
}

.wordpress-post-content-wysiwyg :where(ul, ol) {
    padding-left: 1.6rem;
}

.wordpress-post-content-wysiwyg :where(ul ul, ul ol, ol ul, ol ol) {
    margin-bottom: 0;
}

.wordpress-post-content-wysiwyg blockquote {
    padding: 0 0 0 1em;
    border-left: 4px solid #191e23;
    color: inherit;
    font-style: normal;
}

.wordpress-post-content-wysiwyg :where(h1, h2, h3, h4, h5, h6) {
    color: inherit;
    font-family: inherit;
    font-weight: 700;
}

.wordpress-post-content-wysiwyg h1 {
    margin-top: .67em;
    margin-bottom: .67em;
    font-size: 2.44em;
    line-height: 1.4;
}

.wordpress-post-content-wysiwyg h2 {
    margin-top: .83em;
    margin-bottom: .83em;
    font-size: 1.95em;
    line-height: 1.4;
}

.wordpress-post-content-wysiwyg h3 {
    margin-top: 1em;
    margin-bottom: 1em;
    font-size: 1.56em;
    line-height: 1.4;
}

.wordpress-post-content-wysiwyg h4 {
    margin-top: 1.33em;
    margin-bottom: 1.33em;
    font-size: 1.25em;
    line-height: 1.5;
}

.wordpress-post-content-wysiwyg h5 {
    margin-top: 1.67em;
    margin-bottom: 1.67em;
    font-size: 1em;
}

.wordpress-post-content-wysiwyg h6 {
    margin-top: 2.33em;
    margin-bottom: 2.33em;
    font-size: .8em;
}

.wordpress-post-content-wysiwyg :where(img, iframe, embed) {
    max-width: 100%;
}

.wordpress-article-editor-side {
    position: static;
}

.wordpress-article-editor-side.ops-card,
.wordpress-article-editor-side.admin-card {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.wordpress-article-editor-side > .admin-card-body {
    display: grid;
    gap: 14px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.wordpress-article-editor-side select[multiple] {
    min-height: 220px;
}

.wordpress-article-taxonomy-panel {
    margin: 0;
}

.wordpress-article-taxonomy-panel .newsroom-action-side-header h2 {
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: .88rem;
}

.wordpress-article-editor-side .newsroom-action-side-header {
    min-height: 40px;
    padding: 9px 10px;
}

.wordpress-article-editor-side .newsroom-action-side-header > span {
    height: 22px;
    padding: 0 7px;
    font-size: .72rem;
}

.wordpress-article-editor-side .newsroom-inspector-row > summary {
    min-height: 34px;
    padding: 7px 10px;
}

.wordpress-article-editor-side .newsroom-inspector-row > summary span {
    font-size: .78rem;
    font-weight: 650;
}

.wordpress-article-editor-side .newsroom-inspector-row > summary strong {
    font-size: .76rem;
    font-weight: 650;
}

.wordpress-article-editor-side .newsroom-inspector-row__editor {
    padding: 0 10px 10px;
}

.wordpress-article-editor-side .newsroom-inspector-row__editor label {
    gap: 4px;
    font-size: .76rem;
    font-weight: 720;
}

.wordpress-article-editor-side .newsroom-inspector-row__editor .admin-input,
.wordpress-article-editor-side .newsroom-inspector-row__editor .admin-select {
    min-height: 36px;
    padding: 0 9px;
    border-radius: 8px;
    font-size: .84rem;
    font-weight: 500;
}

.wordpress-article-taxonomy-body {
    padding: 12px;
    border-top: 1px solid rgba(211, 217, 209, .66);
}

.wordpress-article-sidebar-field {
    display: grid !important;
    gap: 7px !important;
    margin: 0 !important;
}

.wordpress-article-sidebar-field .admin-form-label {
    color: var(--admin-color-muted, var(--muted));
    font-size: .78rem;
    font-weight: 650;
}

.wordpress-article-sidebar-field textarea {
    min-height: 130px;
    font-size: .84rem;
    font-weight: 500;
    resize: vertical;
}

.wordpress-article-tag-picker,
.wordpress-article-relation-picker {
    position: relative;
}

.wordpress-article-category-filter {
    display: grid;
    gap: 12px;
}

.wordpress-article-category-list {
    display: grid;
    gap: 3px;
    max-height: 320px;
    padding: 3px 4px 3px 12px;
    overflow: auto;
    border: 0;
    background: transparent;
}

.wordpress-article-category-option {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 9px !important;
    min-height: 38px;
    margin: 0 !important;
    padding: 7px 9px;
    border: 0;
    border-radius: 6px;
    color: var(--admin-color-text, var(--text));
    font-size: .82rem;
    font-weight: 650;
    cursor: pointer;
    padding-left: calc(9px + (var(--category-depth, 0) * 22px));
    position: relative;
}

.wordpress-article-category-option:hover {
    background: rgba(244, 247, 242, .82);
}

.wordpress-article-category-option.is-hidden {
    display: none !important;
}

.wordpress-article-category-option input {
    width: 18px !important;
    min-width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--deep-pine);
}

.wordpress-article-category-option.is-child span {
    font-weight: 500;
}

.wordpress-article-category-option.is-child::before {
    content: "";
    position: absolute;
    left: calc(17px + ((var(--category-depth, 1) - 1) * 22px));
    top: -3px;
    bottom: -3px;
    border-left: 1px dotted rgba(30, 79, 42, .24);
}

.wordpress-article-category-option.is-child::after {
    content: "";
    position: absolute;
    left: calc(17px + ((var(--category-depth, 1) - 1) * 22px));
    top: 50%;
    width: 10px;
    border-top: 1px dotted rgba(30, 79, 42, .24);
}

.wordpress-article-category-option span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.wordpress-article-category-option:has(input:checked) {
    background: rgba(30, 79, 42, .08);
    color: #1E4F2A;
}

.wordpress-article-tag-input-icon {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.wordpress-article-tag-picker .admin-chip-field {
    gap: 7px;
    padding: 8px;
    border-color: rgba(30, 79, 42, .18);
    background: rgba(250, 249, 246, .54);
}

.wordpress-article-tag-picker .admin-chip-field__chips {
    gap: 7px;
}

.wordpress-article-tag-picker .admin-chip-field__chip {
    min-height: 30px;
    padding: 0 6px 0 10px;
    border-color: rgba(30, 79, 42, .24);
    background: rgba(30, 79, 42, .06);
    color: #1E4F2A;
    font-size: .76rem;
    font-weight: 600;
}

.wordpress-article-tag-picker .admin-chip-field__chip::before {
    display: none;
}

.wordpress-article-tag-input-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    color: var(--muted);
}

.wordpress-article-status-filters {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 18px;
    padding: 4px;
    border: 1px solid rgba(211, 217, 209, .72);
    border-radius: 10px;
    background: rgba(250, 249, 246, .72);
}

.wordpress-article-status-filters a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 8px;
    color: var(--admin-color-muted, var(--muted));
    font-size: .82rem;
    font-weight: 820;
    line-height: 1;
    text-decoration: none;
}

.wordpress-article-status-filters a:hover,
.wordpress-article-status-filters a:focus-visible {
    background: rgba(255, 255, 255, .68);
    color: var(--admin-color-primary, var(--deep-pine));
    text-decoration: none;
}

.wordpress-article-status-filters a.is-active {
    background: #fff;
    color: var(--admin-color-primary, var(--deep-pine));
    box-shadow: 0 4px 12px rgba(24, 48, 40, .08);
}

.wordpress-article-status-filters a span {
    color: var(--admin-color-muted, var(--muted));
    font-weight: 760;
}

.wordpress-article-status-filters__separator {
    display: none;
}

@media (max-width: 1100px) {
    .wordpress-article-editor-form {
        grid-template-columns: 1fr;
    }

    .wordpress-article-editor-side {
        position: static;
    }
}

.park-description-editor-shell .admin-textarea:focus,
.park-description-editor-textarea:focus {
    outline: 0;
    box-shadow: none;
}

.admin-card-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding: 14px 18px 18px;
}

.metric-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    padding: 18px;
}

.metric-card small {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-heavy, 850);
    line-height: var(--admin-line-tight, 1.2);
}

.metric-card strong {
    display: block;
    margin: 0;
    color: var(--admin-color-text, var(--text));
    font-size: 1.8rem;
    font-weight: var(--admin-weight-bold, 700);
    line-height: 1;
}

.metric-card span {
    color: var(--admin-color-success, #2f7c45);
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-heavy, 850);
    line-height: var(--admin-line-tight, 1.2);
}

.metric-card span.is-muted {
    color: var(--admin-color-muted, var(--muted));
}

.announcement-list,
.activity-list {
    display: grid;
    gap: 12px;
}

.report-list-card {
    align-self: start;
}

.report-list {
    display: grid;
    gap: 0;
}

.report-list--two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
}

.report-row {
    min-height: 38px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 9px 0;
    border-bottom: 1px solid rgba(229, 225, 216, .72);
}

.report-row:last-child,
.report-list--two-column .report-row:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.report-row span {
    min-width: 0;
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .84rem);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.report-row strong {
    flex: 0 0 auto;
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: .92rem;
    font-weight: var(--admin-weight-bold, 700);
}

.announcement-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(211, 217, 209, .74);
    border-radius: 8px;
    background: rgba(247, 251, 248, .88);
}

.announcement-item strong {
    display: block;
    color: var(--admin-color-primary, var(--deep-pine));
    font-weight: var(--admin-weight-heavy, 850);
    line-height: var(--admin-line-tight, 1.2);
}

.announcement-item p {
    margin: 4px 0 0;
    color: var(--admin-color-text, var(--text));
    line-height: var(--admin-line-relaxed, 1.6);
}

.announcement-item form {
    flex: 0 0 auto;
}

.dashboard-amenity-list {
    display: grid;
    gap: 8px;
}

.dashboard-amenity-row {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid rgba(211, 217, 209, .72);
    border-radius: 8px;
    background: rgba(255, 255, 255, .74);
    color: inherit;
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.dashboard-amenity-row:hover,
.dashboard-amenity-row:focus-visible {
    border-color: rgba(47, 124, 69, .26);
    background: rgba(238, 248, 240, .78);
    box-shadow: 0 1px 0 rgba(24, 48, 40, .04);
    outline: none;
}

.dashboard-amenity-row > span:first-child {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.dashboard-amenity-row strong {
    overflow: hidden;
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
    line-height: var(--admin-line-tight, 1.2);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-amenity-row small {
    overflow: hidden;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-medium, 600);
    line-height: var(--admin-line-tight, 1.2);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-amenity-row .status-badge {
    flex: 0 0 auto;
}

.dashboard-amenity-footer {
    justify-content: flex-start;
    padding-top: 0;
}

.activity-item {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 12px;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: var(--admin-line-relaxed, 1.6);
}

.activity-item span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--admin-color-primary-soft, #dcefe0);
    color: var(--admin-color-primary, var(--deep-pine));
}

.activity-item span svg {
    width: 15px;
    height: 15px;
}

.activity-item p {
    margin: 0;
}

.activity-item strong {
    display: block;
    margin-bottom: 2px;
    color: var(--admin-color-text, var(--text));
    font-weight: var(--admin-weight-bold, 700);
}

.ops-map {
    min-height: 300px;
    border: 1px solid rgba(211, 217, 209, .72);
    border-radius: 8px;
    background: url("https://tile.openstreetmap.org/10/304/384.png") center/cover;
}

.admin-card-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
}

.admin-span-3 {
    grid-column: span 3;
}

.admin-span-4 {
    grid-column: span 4;
}

.admin-span-5 {
    grid-column: span 5;
}

.admin-span-6 {
    grid-column: span 6;
}

.admin-span-7 {
    grid-column: span 7;
}

.admin-span-8 {
    grid-column: span 8;
}

.admin-span-9 {
    grid-column: span 9;
}

.admin-span-12 {
    grid-column: 1 / -1;
}

@media (max-width: 1440px) {
    .park-editor-container-grid--overview,
    .park-editor-container-grid--content {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .park-editor-container-grid--overview > .admin-span-4,
    .park-editor-container-grid--overview > .admin-span-8,
    .park-editor-container-grid--content > .admin-span-4,
    .park-editor-container-grid--content > .admin-span-8 {
        grid-column: 1 / -1;
    }
}

.status-badge,
.admin-badge,
.admin-chip {
    --admin-pill-bg: var(--admin-pill-neutral-bg, #EFE5D4);
    --admin-pill-text: var(--admin-pill-neutral-text, #514130);
    --admin-pill-border: var(--admin-pill-neutral-border, #D3BFA0);
    --admin-pill-dot: var(--admin-pill-neutral-dot, #9A8468);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 24px;
    max-width: 100%;
    padding: 0 .65rem;
    border: 1px solid var(--admin-pill-border);
    border-radius: var(--admin-radius-sm, 6px);
    background: var(--admin-pill-bg);
    color: var(--admin-pill-text);
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-heavy, 850);
    line-height: 1;
    white-space: nowrap;
}

.status-badge::before,
.admin-badge::before,
.admin-chip::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 999px;
    background: var(--admin-pill-dot);
}

.status-published,
.status-approved,
.status-active,
.status-current,
.status-imported,
.status-completed,
.status-featured {
    --admin-pill-bg: var(--admin-pill-nature-bg, #D8F0D2);
    --admin-pill-text: var(--admin-pill-nature-text, #1E4F2A);
    --admin-pill-border: var(--admin-pill-nature-border, #7FBE74);
    --admin-pill-dot: var(--admin-pill-nature-dot, #2F7A3E);
}

.status-draft,
.status-new,
.status-queued,
.status-skipped,
.status-no-change {
    --admin-pill-bg: var(--admin-pill-neutral-bg, #EFE5D4);
    --admin-pill-text: var(--admin-pill-neutral-text, #514130);
    --admin-pill-border: var(--admin-pill-neutral-border, #D3BFA0);
    --admin-pill-dot: var(--admin-pill-neutral-dot, #9A8468);
}

.status-pending,
.status-needs-review,
.status-pending-review,
.status-review,
.status-possible-duplicate,
.status-duplicate,
.status-unreviewed {
    --admin-pill-bg: var(--admin-pill-alert-bg, #FFE0D1);
    --admin-pill-text: var(--admin-pill-alert-text, #843814);
    --admin-pill-border: var(--admin-pill-alert-border, #E29A6D);
    --admin-pill-dot: var(--admin-pill-alert-dot, #C76028);
}

.status-archived,
.status-inactive,
.status-rejected,
.status-deleted,
.status-error,
.status-suspended {
    --admin-pill-bg: var(--admin-pill-closed-bg, #F6D1CC);
    --admin-pill-text: var(--admin-pill-closed-text, #84251D);
    --admin-pill-border: var(--admin-pill-closed-border, #D96A60);
    --admin-pill-dot: var(--admin-pill-closed-dot, #AD3B31);
}

.admin-editor-header .admin-editor-status-pill,
.admin-page-rail-heading > .status-badge,
.admin-section-rail-header .status-badge {
    width: fit-content;
    min-height: 22px;
    justify-self: start;
    padding-inline: 8px;
    border-radius: var(--admin-radius-sm, 6px);
    font-size: .66rem;
    font-weight: var(--admin-weight-bold, 700);
}

.button,
.admin-page .button,
.icon-button,
.admin-page .icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: rgba(255, 255, 255, .82);
    color: var(--admin-color-text, var(--deep-pine));
    font: inherit;
    font-size: .86rem;
    font-weight: var(--admin-weight-heavy, 850);
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.button:hover,
.button:focus-visible,
.admin-page .button:hover,
.admin-page .button:focus-visible,
.icon-button:hover,
.icon-button:focus-visible,
.admin-page .icon-button:hover,
.admin-page .icon-button:focus-visible {
    border-color: rgba(47, 124, 69, .3);
    background: rgba(238, 248, 240, .86);
    outline: none;
}

.button--pine,
.admin-page .button--pine {
    border-color: var(--admin-color-primary, var(--deep-pine));
    background: var(--admin-color-primary, var(--deep-pine));
    color: #fff;
}

.button--pine:hover,
.button--pine:focus-visible,
.admin-page .button--pine:hover,
.admin-page .button--pine:focus-visible {
    border-color: var(--admin-color-primary, var(--deep-pine));
    background: #234338;
    color: #fff;
}

.button--create {
    min-height: 42px;
    padding-inline: 16px;
}

.button--create::before {
    content: "+";
    font-size: 1.12rem;
    font-weight: var(--admin-weight-heavy, 850);
    line-height: 1;
}

.button--light,
.button--import,
.admin-page .button--light,
.admin-page .button--import {
    border-color: var(--admin-color-border, var(--border));
    background: rgba(255, 255, 255, .84);
    color: var(--admin-color-text, var(--text));
}

.button--light:hover,
.button--light:focus-visible,
.button--import:hover,
.button--import:focus-visible,
.admin-page .button--light:hover,
.admin-page .button--light:focus-visible,
.admin-page .button--import:hover,
.admin-page .button--import:focus-visible {
    border-color: rgba(24, 48, 40, .18);
    background: rgba(250, 249, 246, .88);
    color: var(--admin-color-primary, var(--deep-pine));
}

.button--danger,
.admin-page .button--danger {
    border-color: var(--admin-color-danger, #a33b2f);
    background: var(--admin-color-danger, #a33b2f);
    color: #fff;
}

.button--danger:hover,
.button--danger:focus-visible,
.admin-page .button--danger:hover,
.admin-page .button--danger:focus-visible {
    border-color: #842d24;
    background: #842d24;
    color: #fff;
}

.button--danger.is-confirming,
.admin-page .button--danger.is-confirming {
    border-color: #842d24;
    background: #842d24;
    box-shadow: 0 0 0 3px rgba(180, 35, 24, .18);
}

.button--compact {
    min-height: 34px;
    padding-inline: 11px;
    font-size: .78rem;
}

.icon-button {
    width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
}

.auth-error {
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid #e8c7b7;
    border-radius: 10px;
    background: #fff2ec;
    color: #8a3f1f;
    font-weight: var(--admin-weight-bold, 700);
}

.auth-success {
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid #bfdcc8;
    border-radius: 10px;
    background: #eef8f1;
    color: #246437;
    font-weight: var(--admin-weight-bold, 700);
}

.auth-link-button {
    appearance: none;
    background: none;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 0;
    text-decoration: underline;
}

.auth-page [hidden] {
    display: none !important;
}

.admin-toast {
    --toast-duration: 5000ms;
    position: fixed;
    z-index: 200;
    top: calc(var(--ops-topbar-height, 68px) + 20px);
    right: 24px;
    width: min(390px, calc(100vw - 32px));
    min-height: 88px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 30px;
    align-items: start;
    gap: 12px;
    padding: 18px 16px 20px;
    overflow: hidden;
    border: 1px solid rgba(28, 51, 41, .1);
    border-radius: 10px;
    background: #fff;
    color: var(--text);
    box-shadow: 0 14px 38px rgba(24, 48, 40, .16);
    opacity: 0;
    transform: translateX(calc(100% + 32px));
    transition: opacity .22s ease, transform .3s cubic-bezier(.22, 1, .36, 1);
}

.wordpress-featured-image-field {
    display: grid;
    gap: 9px;
}

.wordpress-featured-image-field > img {
    width: 100%;
    max-height: 220px;
    display: block;
    object-fit: cover;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--warm-bg);
}

.wordpress-featured-image-field label {
    display: grid;
    gap: 4px;
    font-size: .78rem !important;
    font-weight: 600 !important;
}

.wordpress-featured-image-field .admin-input {
    min-height: 34px;
    padding: 0 9px;
    border-radius: 8px;
    font-size: .82rem;
    font-weight: 400;
}

.wordpress-featured-image-field small {
    color: var(--muted);
    font-size: .76rem;
    line-height: 1.45;
}

.wordpress-featured-image-field .wordpress-featured-image-dropzone {
    display: grid;
    place-items: center;
    gap: 5px;
    min-height: 126px;
    padding: 18px 12px;
    border: 1px dashed #7b9d8b;
    border-radius: 9px;
    background: #f5f8f5;
    color: var(--text);
    text-align: center;
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease;
}

.wordpress-featured-image-dropzone:hover,
.wordpress-featured-image-dropzone:focus-within,
.wordpress-featured-image-dropzone.is-dragging {
    border-color: var(--deep-pine);
    background: #edf4ef;
}

.wordpress-featured-image-dropzone input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0 !important;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0 !important;
}

.wordpress-featured-image-dropzone svg {
    width: 28px;
    height: 28px;
    color: var(--deep-pine);
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.wordpress-featured-image-dropzone > span {
    font-size: .82rem;
    font-weight: 500;
}

.wordpress-featured-image-dropzone > span u {
    color: var(--pine);
    text-underline-offset: 2px;
}

.wordpress-featured-image-dropzone > strong {
    max-width: 100%;
    overflow: hidden;
    color: var(--deep-pine);
    font-size: .76rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-toast.is-visible {
    opacity: 1;
    transform: translateX(0);
}

.admin-toast.is-dismissing {
    opacity: 0;
    transform: translateX(calc(100% + 32px));
}

.admin-toast__icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--deep-pine);
    color: #fff;
}

.admin-toast__icon svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.admin-toast__copy {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding-top: 1px;
}

.admin-toast__copy strong {
    color: var(--heading-color);
    font-size: .92rem;
    line-height: 1.3;
}

.admin-toast__copy span {
    color: var(--muted);
    font-size: .8rem;
    line-height: 1.45;
}

.admin-toast__close {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    margin: -5px -5px 0 0;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
}

.admin-toast__close:hover,
.admin-toast__close:focus-visible {
    background: #f1f4f1;
    color: var(--text);
    outline: 0;
}

.admin-toast__close svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.admin-toast__timer {
    position: absolute;
    right: 16px;
    bottom: 0;
    left: 16px;
    height: 3px;
    border-radius: 999px;
    background: var(--pine, #2f684d);
    transform: scaleX(1);
    transform-origin: left;
}

.admin-toast.is-visible .admin-toast__timer {
    animation: admin-toast-timer var(--toast-duration) linear forwards;
}

@keyframes admin-toast-timer {
    to { transform: scaleX(0); }
}

@media (max-width: 600px) {
    .admin-toast {
        top: 80px;
        right: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-toast {
        transition: none;
    }

    .admin-toast.is-visible .admin-toast__timer {
        animation: none;
    }
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
}

.brand-logo {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 999px;
    object-fit: contain;
}

.auth-logo {
    display: block;
    width: min(260px, 100%);
    max-width: 260px;
    height: auto;
    object-fit: contain;
}

.brand__fallback {
    color: currentColor;
    font-weight: var(--admin-weight-heavy, 850);
    letter-spacing: 0;
}

.auth-visual .brand {
    color: var(--admin-color-primary, var(--deep-pine));
}

.auth-visual .auth-logo {
    max-width: 280px;
}

.auth-visual__copy {
    max-width: 470px;
    margin-top: min(11vh, 92px);
}

.auth-visual__copy h1 {
    margin: 0;
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: clamp(4.4rem, 7vw, 7rem);
    font-weight: var(--admin-weight-bold, 700);
    line-height: .95;
    letter-spacing: 0;
}

.auth-visual__copy p {
    margin: 18px 0 0;
    color: #121713;
    font-size: 1.18rem;
    line-height: 1.65;
}

.auth-features {
    display: grid;
    gap: 18px;
}

.auth-feature {
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 420px;
    color: #fff;
    font-weight: var(--admin-weight-heavy, 850);
}

.auth-feature span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 999px;
    background: rgba(24, 48, 40, .9);
}

.auth-feature svg {
    width: 18px;
    height: 18px;
}

.help-link {
    position: absolute;
    top: 38px;
    right: clamp(24px, 4vw, 64px);
    color: var(--admin-color-primary, var(--deep-pine));
    font-weight: var(--admin-weight-heavy, 850);
    text-decoration: none;
}

.login-card {
    width: min(560px, 100%);
    padding: clamp(28px, 4vw, 52px);
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 12px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 26px 80px rgba(24, 48, 40, .12);
}

.login-card__head {
    margin-bottom: 32px;
    text-align: center;
}

.login-card__head .auth-logo {
    margin: 0 auto 18px;
}

.login-card h1 {
    margin: 8px 0;
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: 2.6rem;
    font-weight: var(--admin-weight-bold, 700);
    line-height: 1;
    letter-spacing: 0;
}

.login-card p {
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    line-height: var(--admin-line-relaxed, 1.6);
}

.auth-submit-button {
    width: 100%;
}

.divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
}

.divider::before,
.divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: var(--admin-color-border, var(--border));
}

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

.login-card__foot {
    margin-top: 24px !important;
    text-align: center;
}

.login-card__foot a {
    color: var(--admin-color-primary, var(--deep-pine));
    font-weight: var(--admin-weight-heavy, 850);
    text-decoration: none;
}

.empty-state {
    display: grid;
    justify-items: center;
    gap: 10px;
    min-height: 190px;
    padding: 32px 20px;
    border: 1px dashed var(--admin-color-border, var(--border));
    border-radius: 12px;
    background: rgba(250, 249, 246, .68);
    color: var(--admin-color-muted, var(--muted));
    text-align: center;
}

.empty-state strong {
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: .98rem;
    font-weight: var(--admin-weight-heavy, 850);
}

.empty-state p {
    max-width: 440px;
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    line-height: var(--admin-line-relaxed, 1.6);
}

.import-success-panel {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(47, 124, 69, .18);
    border-radius: 10px;
    background: rgba(238, 248, 241, .92);
    color: var(--admin-color-success, #2f7c45);
}

.import-success-panel--compact {
    margin-bottom: 18px;
}

.import-success-panel__icon {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    border-radius: 999px;
    background: var(--admin-color-success, #2f7c45);
    color: #fff;
    font-weight: var(--admin-weight-heavy, 850);
}

.import-success-panel strong,
.import-success-panel small {
    display: block;
}

.import-success-panel small {
    margin-top: 2px;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
}

.edit-icon-action,
.parks-row-icon-action {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--admin-color-text, var(--deep-pine));
    font: inherit;
    line-height: 1;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
}

.edit-icon-action {
    list-style: none;
}

.edit-icon-action::-webkit-details-marker {
    display: none;
}

.edit-icon-action:hover,
.edit-icon-action:focus-visible,
.parks-row-icon-action:hover,
.parks-row-icon-action:focus-visible {
    background: rgba(218, 235, 224, .72);
    color: var(--admin-color-primary, var(--deep-pine));
    outline: none;
}

.edit-icon-action:focus-visible,
.parks-row-icon-action:focus-visible {
    box-shadow: 0 0 0 3px rgba(47, 124, 69, .18);
}

.edit-icon-action svg,
.parks-row-icon-action svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.amenity-drawer-backdrop {
    position: fixed;
    inset: var(--ops-topbar-height, 68px) 0 0 var(--nav-global-width, 248px);
    z-index: 28;
    background: rgba(12, 28, 20, .12);
}

.amenity-editor-drawer {
    --amenity-drawer-width: 480px;
    position: fixed;
    top: calc(var(--ops-topbar-height, 68px) + 18px);
    right: 24px;
    bottom: 24px;
    z-index: 30;
    display: flex;
    flex-direction: column;
    width: min(var(--amenity-drawer-width), calc(100vw - var(--nav-global-width, 248px) - 48px));
    min-width: 380px;
    overflow: hidden;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 12px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 28px 70px rgba(24, 48, 40, .22);
    opacity: 0;
    transform: translateX(calc(100% + 40px));
    transition: transform .2s ease, opacity .2s ease, width .08s ease;
}

.amenity-editor-drawer.is-open {
    opacity: 1;
    transform: translateX(0);
}

.amenity-editor-drawer.is-full {
    left: calc(var(--nav-global-width, 248px) + 24px);
    width: auto;
    max-width: none;
}

.amenity-drawer-resize {
    position: absolute;
    inset: 0 auto 0 -5px;
    width: 10px;
    border: 0;
    background: transparent;
    cursor: ew-resize;
}

.amenity-drawer-resize::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 4px;
    width: 3px;
    height: 44px;
    border-radius: 999px;
    background: rgba(24, 48, 40, .18);
    transform: translateY(-50%);
}

.amenity-drawer-header,
.amenity-drawer-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 22px;
    border-bottom: 1px solid rgba(229, 225, 216, .86);
}

.amenity-drawer-header {
    justify-content: space-between;
}

.amenity-drawer-title-block {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.amenity-drawer-title-block h2 {
    margin: 0;
    color: var(--admin-color-text, var(--deep-pine));
    font-size: 1.25rem !important;
}

.amenity-drawer-title-block p {
    margin: 3px 0 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-medium, 600);
    overflow-wrap: anywhere;
}

.amenity-drawer-actions {
    display: flex;
    gap: 8px;
}

.amenity-editor-tabs {
    display: flex;
    gap: 10px;
    padding: 0 12px;
    border-bottom: 1px solid rgba(229, 225, 216, .86);
    overflow-x: auto;
}

.amenity-editor-tabs button {
    min-height: 48px;
    padding: 0 8px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: rgba(24, 48, 40, .72);
    font-size: var(--admin-font-size-md, .88rem);
    font-weight: var(--admin-weight-heavy, 850);
    cursor: pointer;
}

.amenity-editor-tabs button.is-active {
    border-bottom-color: var(--admin-color-primary, var(--deep-pine));
    color: var(--admin-color-primary, var(--deep-pine));
}

.amenity-editor-form {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
}

.amenity-editor-tab-panel {
    min-height: 0;
    flex: 1;
    overflow-y: auto;
    padding: 22px;
}

.amenity-drawer-form-grid,
.amenity-usage-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.amenity-drawer-description {
    grid-column: 1 / -1;
}

.amenity-usage-grid article {
    display: grid;
    gap: 5px;
    padding: 14px;
    border: 1px solid rgba(229, 225, 216, .92);
    border-radius: 10px;
    background: rgba(250, 249, 246, .72);
}

.amenity-usage-grid strong {
    color: var(--admin-color-text, var(--text));
    font-size: 1.3rem;
}

.amenity-usage-grid span,
.amenity-usage-grid a {
    font-weight: var(--admin-weight-heavy, 850);
}

.amenity-usage-grid a {
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: var(--admin-font-size-sm, .78rem);
}

.amenity-drawer-footer {
    justify-content: flex-end;
    margin-top: auto;
    border-top: 1px solid rgba(229, 225, 216, .92);
    border-bottom: 0;
    background: rgba(250, 249, 246, .98);
}

.amenity-archive-button {
    margin-right: auto;
    border-color: rgba(163, 59, 47, .24);
    background: rgba(163, 59, 47, .07);
    color: var(--admin-color-danger, #a33b2f);
}

body.is-resizing-amenity-drawer {
    cursor: ew-resize;
    user-select: none;
}

.action-menu {
    position: relative;
    display: inline-block;
}

.action-menu[open] {
    z-index: 80;
}

.action-menu summary {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: var(--admin-color-surface, #fff);
    cursor: pointer;
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    list-style: none;
}

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

.action-menu summary::marker {
    content: "";
}

.action-menu[open] summary {
    border-color: rgba(24, 48, 40, .24);
    box-shadow: 0 0 0 3px rgba(12, 95, 75, .08);
}

.action-menu > div {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 90;
    min-width: 180px;
    display: grid;
    gap: 2px;
    padding: 8px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    background: var(--admin-color-surface, #fff);
    box-shadow: var(--soft-shadow);
}

.action-menu a,
.action-menu button {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 34px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--admin-color-text, var(--text));
    font: inherit;
    font-size: .8rem;
    font-weight: 560;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.action-menu a:hover,
.action-menu button:hover {
    background: rgba(220, 225, 221, .46);
}

.is-hidden {
    display: none !important;
}

.context-list {
    display: grid;
    gap: 13px;
    margin: 0;
}

.context-list dt {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-heavy, 850);
    text-transform: uppercase;
}

.context-list dd {
    margin: 3px 0 0;
    color: var(--admin-color-text, var(--text));
    font-weight: var(--admin-weight-bold, 700);
}

.quick-action-card {
    gap: 0;
}

.quick-action-card h2 {
    margin-bottom: 8px;
}

.quick-action-link {
    display: flex;
    align-items: center;
    min-height: 36px;
    width: 100%;
    padding: 0 2px;
    border: 0;
    border-top: 1px solid var(--admin-color-border, var(--border));
    background: transparent;
    color: var(--admin-color-text, var(--deep-pine));
    font: inherit;
    font-size: var(--admin-font-size-sm, .82rem);
    font-weight: var(--admin-weight-heavy, 850);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.quick-action-link:disabled {
    color: var(--admin-color-muted, var(--muted));
    cursor: not-allowed;
    opacity: .64;
}

.quick-action-link--danger {
    color: #dc2626;
}

.organization-context-rail {
    gap: 14px;
}

.organization-context-rail .context-card {
    overflow: hidden;
    border-radius: 10px;
    background: rgba(255, 255, 255, .86);
}

.organization-context-rail .admin-card-header {
    min-height: 0;
    padding: 16px 18px 10px;
    border-bottom: 1px solid rgba(229, 225, 216, .68);
}

.organization-context-rail .admin-card-header h2 {
    font-size: 1rem;
}

.organization-context-rail .admin-card-header p {
    font-size: .8rem;
    line-height: 1.45;
}

.organization-context-rail .admin-card-body {
    display: grid;
    gap: 12px;
    padding: 14px 18px 18px;
}

.organization-context-rail .context-list {
    gap: 12px;
}

.organization-context-rail .context-list > div {
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(229, 225, 216, .58);
}

.organization-context-rail .context-list > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.organization-context-rail .button,
.organization-context-rail .admin-form select {
    width: 100%;
}

.organization-context-rail .button {
    min-height: 40px;
    justify-content: center;
    white-space: normal;
}

.organization-context-rail .status-badge {
    width: 100%;
    justify-content: center;
}

.organization-context-rail .quick-action-card .admin-card-body {
    gap: 0;
    padding-top: 4px;
}

.organization-context-rail .quick-action-link {
    min-height: 40px;
    padding: 0;
}

.admin-sidebar-card {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.entity-map {
    position: relative;
    inline-size: 100%;
    block-size: clamp(360px, 48vh, 560px);
    min-height: 320px;
    overflow: hidden;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 12px;
    background: var(--fog);
}

.entity-map-empty {
    min-height: 280px;
}

.leaflet-container svg,
.leaflet-overlay-pane svg {
    width: initial;
    height: initial;
    max-width: none;
    max-height: none;
    display: block;
}

.leaflet-popup-pane {
    z-index: 625;
}

.leaflet-container .leaflet-popup {
    font-family: var(--font-ui, var(--font-sans));
}

.leaflet-popup-content-wrapper {
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: var(--admin-color-surface, #fff);
    color: var(--admin-color-text, var(--text));
    box-shadow: 0 18px 48px rgba(24, 48, 40, .18);
}

.leaflet-popup-content {
    width: auto !important;
    min-width: min(220px, calc(100vw - 72px));
    max-width: min(320px, calc(100vw - 72px));
    margin: 0;
    color: var(--admin-color-text, var(--text));
    font-family: var(--font-ui, var(--font-sans));
    line-height: 1.35;
}

.leaflet-popup-tip {
    border: 1px solid var(--admin-color-border, var(--border));
    border-top: 0;
    border-left: 0;
    background: var(--admin-color-surface, #fff);
    box-shadow: 4px 4px 14px rgba(24, 48, 40, .08);
}

.leaflet-container a.leaflet-popup-close-button {
    top: 8px;
    right: 8px;
    display: grid;
    place-items: center;
    inline-size: 26px;
    block-size: 26px;
    padding: 0;
    border-radius: 999px;
    background: rgba(250, 249, 246, .92);
    color: var(--admin-color-muted, var(--muted));
    font-family: var(--font-ui, var(--font-sans));
    font-size: 18px;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
}

.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus-visible {
    background: rgba(237, 246, 239, .96);
    color: var(--admin-color-primary, var(--deep-pine));
}

.admin-card-actions,
.workspace-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.playground-map-card .admin-card-body,
.workspace-card--map .admin-card-body {
    display: grid;
    gap: 14px;
}

.trail-editor-main {
    display: grid;
    gap: 18px;
}

.trail-verification-card .admin-card-body,
.trail-snapshot-card .admin-card-body,
.trail-community-card .admin-card-body {
    display: grid;
    gap: 12px;
}

.trail-record-actions {
    display: inline-flex;
    gap: 1px;
}

.trail-record-actions .button {
    min-height: 44px;
}

.trail-path-actions,
.trail-path-editor__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.trail-path-actions {
    justify-content: flex-end;
}

.trail-paths-card .admin-card-body {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 18px;
}

.trail-paths-card {
    position: relative;
    isolation: isolate;
}

.trail-paths-card .admin-card-header {
    position: relative;
    z-index: 3;
    overflow: visible;
}

.trail-path-actions--header .button {
    min-height: 38px;
    font-size: var(--admin-font-size-sm, .78rem);
    white-space: nowrap;
}

.trail-map-item-control {
    position: relative;
    display: inline-flex;
}

.trail-map-item-menu {
    position: absolute;
    z-index: 4;
    top: calc(100% + 8px);
    right: 0;
    min-width: 184px;
    display: grid;
    gap: 4px;
    padding: 6px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--admin-shadow-menu, 0 18px 34px rgba(24, 48, 40, .14));
}

.trail-map-item-menu[hidden] {
    display: none;
}

.trail-map-item-menu button {
    min-height: 34px;
    padding: 0 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--admin-color-text, var(--text));
    font: inherit;
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
    text-align: left;
    cursor: pointer;
}

.trail-map-item-menu button:hover {
    background: rgba(237, 246, 239, .95);
}

.trail-path-import {
    position: relative;
    cursor: pointer;
}

.trail-path-import.is-guided {
    border-color: rgba(47, 124, 69, .42);
    background: rgba(226, 239, 230, .92);
    color: var(--admin-color-primary, var(--deep-pine));
    box-shadow: 0 0 0 3px rgba(47, 124, 69, .12);
}

.trail-path-import input,
.trail-file-dropzone input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.trail-import-callout {
    display: grid;
    gap: 4px;
    margin-bottom: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(47, 124, 69, .22);
    border-radius: 8px;
    background: rgba(226, 239, 230, .72);
}

.trail-import-callout strong {
    color: var(--admin-color-primary, var(--deep-pine));
    font-family: var(--font-ui);
    font-size: var(--admin-font-size-md, .92rem);
    font-weight: var(--admin-weight-heavy, 850);
}

.trail-import-callout p {
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .8rem);
    line-height: 1.45;
}

.trail-map-shell {
    position: relative;
    z-index: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    height: 360px;
    min-height: 300px;
    max-height: 680px;
    overflow: hidden;
    resize: vertical;
    border: 1px solid rgba(62, 107, 111, .2);
    border-radius: 8px;
    background: #eef4ea;
}

.trail-path-map {
    width: 100%;
    height: 100%;
    min-height: 0;
    position: relative;
    overflow: hidden;
    background: #e8f1e6;
}

.trail-path-map .leaflet-pane,
.trail-path-map .leaflet-tile,
.trail-path-map .leaflet-marker-icon,
.trail-path-map .leaflet-marker-shadow,
.trail-path-map .leaflet-tile-container,
.trail-path-map .leaflet-pane > svg,
.trail-path-map .leaflet-pane > canvas,
.trail-path-map .leaflet-zoom-box,
.trail-path-map .leaflet-image-layer,
.trail-path-map .leaflet-layer {
    position: absolute;
    left: 0;
    top: 0;
}

.trail-map-status {
    padding: 8px 12px;
    border-top: 1px solid rgba(62, 107, 111, .18);
    background: rgba(250, 249, 246, .92);
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
}

.trail-point-actions {
    display: grid;
    gap: 8px;
    min-width: 180px;
    padding: 12px;
    box-sizing: border-box;
}

.trail-point-actions__group {
    display: grid;
    gap: 5px;
    padding: 7px;
    border: 1px solid rgba(62, 107, 111, .16);
    border-radius: 8px;
    background: rgba(250, 249, 246, .72);
}

.trail-point-actions__group > span {
    color: var(--admin-color-muted, var(--muted));
    font-size: 10px;
    font-weight: 750;
}

.trail-point-actions button {
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid rgba(211, 217, 209, .88);
    border-radius: 7px;
    background: #fff;
    color: var(--admin-color-text, var(--text));
    font: inherit;
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: 750;
    text-align: left;
    cursor: pointer;
}

.trail-point-actions button:hover {
    border-color: rgba(64, 127, 88, .38);
    background: rgba(237, 246, 239, .95);
}

.trail-point-actions button[data-point-delete],
.trail-point-actions button[data-item-delete] {
    border-color: rgba(180, 35, 24, .22);
    background: rgba(255, 241, 240, .92);
    color: #b42318;
}

.trail-map-item-marker {
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #183028;
    color: #fff;
    box-shadow: 0 5px 14px rgba(24, 48, 40, .22);
}

.trail-map-item-marker span {
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
}

.trail-map-item-marker__icon {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.trail-map-item-marker--entrance_exit {
    background: #0b7d46;
}

.trail-map-item-marker--bench {
    background: #3e6b6f;
}

.trail-map-item-marker--scenic_view {
    background: #8a5a14;
}

.trail-map-item-marker--parking_lot {
    background: #2f6f9f;
}

.trail-map-item-marker--gate {
    background: #7a5a20;
}

.trail-path-editor {
    display: grid;
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(62, 107, 111, .18);
    border-radius: 12px;
    background: rgba(250, 249, 246, .48);
}

.trail-path-editor.is-hidden {
    display: none;
}

.trail-path-list-panel {
    display: grid;
    gap: 14px;
    padding-top: 4px;
}

.trail-path-editor__header,
.trail-path-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.trail-path-list-header {
    min-height: 38px;
}

.trail-path-list,
.trail-inherited-amenity-list,
.trail-file-list,
.trail-linked-park-picker {
    display: grid;
    gap: 8px;
}

.trail-path-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(72px, auto)) auto auto;
    align-items: center;
    gap: 12px;
    min-height: 54px;
    padding: 9px 12px;
    border: 1px solid rgba(62, 107, 111, .16);
    border-radius: 8px;
    background: #fff;
}

.trail-path-row__summary {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.trail-path-row__name,
.trail-path-row__type {
    min-width: 0;
    overflow-wrap: anywhere;
}

.trail-path-row__name {
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-md, .95rem);
    font-weight: var(--admin-weight-heavy, 850);
    line-height: 1.2;
}

.trail-path-row__type,
.trail-path-row__meta {
    color: var(--admin-color-muted, #60706a);
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-strong, 750);
    line-height: 1.25;
}

.trail-file-dropzone {
    min-height: 168px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 12px;
    padding: 24px;
    border: 2px dashed rgba(62, 107, 111, .28);
    border-radius: 14px;
    background: rgba(255, 255, 255, .72);
    text-align: center;
    cursor: pointer;
}

.trail-file-list a,
.trail-inherited-amenity {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid rgba(62, 107, 111, .16);
    border-radius: 8px;
    background: #fff;
}

.trail-linked-park-list {
    display: grid;
    gap: 8px;
}

.trail-linked-park-row,
.trail-linked-park-empty {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid rgba(62, 107, 111, .16);
    border-radius: 8px;
    background: #fff;
}

.trail-linked-park-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.trail-linked-park-row.is-primary {
    border-color: rgba(31, 95, 52, .28);
    background: #edf6ef;
}

.trail-linked-park-row__summary {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.trail-linked-park-row__summary strong,
.trail-linked-park-row__summary small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.trail-linked-park-row__summary strong {
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-heavy, 850);
    line-height: 1.25;
}

.trail-linked-park-row__summary small {
    color: var(--admin-color-muted, #60706a);
    font-size: .72rem;
    font-weight: var(--admin-weight-strong, 750);
    line-height: 1.2;
}

.trail-linked-park-row__actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.trail-linked-park-primary {
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid rgba(62, 107, 111, .18);
    border-radius: 7px;
    background: #fff;
    color: var(--admin-color-muted, #60706a);
    font-size: .86rem;
}

.trail-linked-park-primary[aria-pressed="true"] {
    border-color: rgba(31, 95, 52, .28);
    background: var(--admin-color-primary, var(--deep-pine));
    color: #fff;
}

.trail-linked-park-empty {
    display: grid;
    gap: 10px;
    color: var(--admin-color-muted, #60706a);
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-strong, 750);
}

.trail-linked-park-add {
    display: grid;
    grid-template-columns: minmax(140px, .42fr) minmax(0, 1fr) auto;
    gap: 8px;
}

.trail-basics-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(210px, .75fr);
    gap: 16px 20px;
    align-items: start;
}

.trail-basics-primary,
.trail-basics-state-panel {
    display: grid;
    gap: 14px;
}

.trail-basics-state-panel {
    padding: 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: rgba(250, 249, 246, .58);
}

.trail-detail-groups {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

.trail-access-stack {
    display: grid;
    gap: 14px;
}

.trail-detail-group {
    align-content: start;
    padding: 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: rgba(250, 249, 246, .58);
}

.trail-detail-option-list {
    display: grid;
    gap: 8px;
}

.trail-detail-option-list--nested {
    margin: -2px 0 2px 20px;
    padding-left: 10px;
    border-left: 1px solid rgba(62, 107, 111, .18);
}

.trail-detail-option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
    line-height: 1.25;
}

.trail-detail-option input {
    margin: 0;
}

.trail-safety-card-body {
    gap: 16px;
}

.trail-safety-notes-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.taxonomy-picker-grid {
    display: grid;
    gap: 12px;
}

.taxonomy-checklist {
    min-width: 0;
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
}

.taxonomy-checklist label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Organization activities use the compact newsroom control treatment. */
.organization-activity-checklist {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
    gap: 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
}

.organization-activity-checklist legend {
    padding: 0 0 10px;
    color: var(--admin-color-text, var(--deep-pine));
    font-family: var(--font-ui);
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
}

.organization-activity-checklist .organization-activity-option {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    min-height: 40px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid var(--button-border, #dedfdb);
    border-radius: var(--button-radius, 6px);
    background: #fff;
    color: #20292d;
    font-family: var(--font-ui);
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    cursor: pointer;
}

.organization-activity-option input[type="checkbox"] {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: var(--button-primary, #183028);
}

.organization-activity-option span { min-width: 0; }
.organization-activity-option:hover { background: #f5f6f3; border-color: #b8c4bd; }
.organization-activity-option:has(input:checked) { background: #edf4ee; border-color: #8ba99a; color: #183028; }
.organization-activity-option:has(input:focus-visible) { outline: 2px solid #40715f; outline-offset: 2px; }
.organization-activity-option:has(input:disabled) { opacity: .5; cursor: not-allowed; }

.park-taxonomy-typeahead__heading {
    display: grid;
    gap: 4px;
    margin: 0;
}

.park-taxonomy-typeahead__heading .admin-field-label {
    margin: 0;
}

.admin-chip-field__chips {
    display: contents;
}

.admin-field-suggestions__list {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.admin-field-suggestions__list {
    grid-column: 1 / -1;
    flex-wrap: nowrap;
    max-height: 24px;
    overflow: hidden;
}

.admin-field-suggestions.is-expanded .admin-field-suggestions__list,
.admin-field-suggestions:not(.has-more-suggestions) .admin-field-suggestions__list {
    flex-wrap: wrap;
    max-height: none;
}

.admin-chip-field__chip,
.admin-field-suggestion {
    --admin-pill-bg: var(--admin-pill-facility-bg, #E4EFED);
    --admin-pill-text: var(--admin-pill-facility-text, #294F50);
    --admin-pill-border: var(--admin-pill-facility-border, #9AB8B4);
    --admin-pill-dot: var(--admin-pill-facility-dot, #3E6B6F);
    min-width: 0;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 0 9px;
    overflow: hidden;
    border: 1px solid var(--admin-pill-border);
    border-radius: var(--admin-radius-md, 8px);
    background: var(--admin-pill-bg);
    color: var(--admin-pill-text);
    font: inherit;
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-bold, 700);
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-chip-field__chip::before,
.admin-field-suggestion::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 999px;
    background: var(--admin-pill-dot);
}

.admin-field-suggestions .admin-field-suggestion {
    --admin-pill-bg: var(--admin-pill-neutral-bg, #EFE5D4);
    --admin-pill-text: var(--admin-pill-neutral-text, #514130);
    --admin-pill-border: var(--admin-pill-neutral-border, #D3BFA0);
    --admin-pill-dot: var(--admin-pill-neutral-dot, #9A8468);
    flex: 0 1 auto;
    min-height: 24px;
    padding: 0 7px;
    font-size: 10px;
    font-weight: var(--admin-weight-bold, 700);
    cursor: pointer;
}

.admin-field-suggestions .admin-field-suggestion:hover,
.admin-field-suggestions .admin-field-suggestion:focus-visible {
    --admin-pill-bg: var(--admin-pill-nature-bg, #D8F0D2);
    --admin-pill-text: var(--admin-pill-nature-text, #1E4F2A);
    --admin-pill-border: var(--admin-pill-nature-border, #7FBE74);
    --admin-pill-dot: var(--admin-pill-nature-dot, #2F7A3E);
}

.park-taxonomy-typeahead__suggestion--create {
    --admin-pill-bg: var(--admin-pill-nature-bg, #D8F0D2);
    --admin-pill-text: var(--admin-pill-nature-text, #1E4F2A);
    --admin-pill-border: var(--admin-pill-nature-border, #7FBE74);
    --admin-pill-dot: var(--admin-pill-nature-dot, #2F7A3E);
}

.admin-chip-field__chip {
    padding-right: 5px;
}

.admin-chip-field__chip span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-chip-field__chip button {
    width: 20px;
    height: 20px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border: 0;
    border-radius: var(--admin-radius-sm, 6px);
    background: transparent;
    color: var(--admin-pill-text);
    font: inherit;
    font-size: .86rem;
    font-weight: var(--admin-weight-bold, 700);
    line-height: 1;
    cursor: pointer;
}

.admin-chip-field__chip button:hover,
.admin-chip-field__chip button:focus-visible {
    background: rgba(255, 255, 255, .42);
    color: var(--admin-pill-text);
}

.admin-field-suggestions__more {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    min-height: 24px;
    padding: 0 2px;
    border: 0;
    background: transparent;
    color: var(--admin-color-primary, var(--deep-pine));
    font: inherit;
    font-size: .68rem;
    font-weight: var(--admin-weight-bold, 700);
    cursor: pointer;
}

.relationship-picker-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.playground-editor-main > .workspace-panel {
    display: contents;
}

.playground-editor-card.has-save-error {
    border-color: #d54a52;
    box-shadow: 0 0 0 2px rgba(213, 74, 82, .12);
}

.playground-editor-card.has-save-error > .admin-card-header::after {
    content: "Save failed here";
    flex: 0 0 auto;
    margin-inline-start: auto;
    padding: 4px 8px;
    border-radius: 999px;
    background: #d8323c;
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
}

.playground-save-error-link {
    display: inline-flex;
    margin-inline-start: 8px;
    color: inherit;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.playground-basic-info-card {
    order: 10;
}

.playground-publish-status-card {
    order: 20;
}

.playground-public-profile-card {
    order: 30;
}

.playground-relationships-card {
    order: 40;
}

.playground-features-card {
    order: 50;
}

.playground-import-source-card {
    grid-column: 9 / -1;
    order: 51;
}

.playground-map-card {
    order: 70;
}

.playground-gallery-card {
    order: 80;
}

.playground-record-info-card {
    grid-column: 9 / -1;
    order: 52;
}

.playground-reviews-card {
    grid-column: 9 / -1;
    order: 53;
}

.playground-record-info-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.playground-relationships-card .relationship-picker-grid,
.playground-record-info-card .playground-record-info-list,
.playground-import-source-card .playground-import-source-list {
    grid-template-columns: 1fr;
}

.playground-import-workspace {
    display: grid;
    gap: 18px;
}

.playground-submissions-workspace {
    display: grid;
    gap: 18px;
}

.playground-import-header {
    margin-bottom: 0;
}

.playground-submissions-header {
    margin-bottom: 0;
}

.import-review-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(330px, .95fr);
    gap: 18px;
    align-items: start;
}

.import-control-panel,
.import-source-card .admin-card-body,
.import-source-panel,
.import-feedback-list {
    display: grid;
    gap: 12px;
}

.import-workspace-card {
    border-radius: 8px;
}

.import-workspace-card .admin-card-body {
    padding: 14px;
}

.import-card-header {
    min-height: 48px;
    align-items: center;
    padding: 12px 14px 0;
}

.import-card-header h2 {
    font-size: 1rem !important;
}

.import-map-card .entity-map {
    min-height: 360px;
    block-size: clamp(360px, 42vh, 480px);
    border-radius: 8px;
}

.import-source-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: #fff;
}

.import-source-tabs button {
    min-height: 42px;
    padding: 0 10px;
    border: 0;
    border-right: 1px solid var(--admin-color-border, var(--border));
    border-radius: 0;
    background: transparent;
    color: var(--admin-color-primary, var(--deep-pine));
    font: inherit;
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-heavy, 850);
    cursor: pointer;
}

.import-source-tabs button:last-child {
    border-right: 0;
}

.import-source-tabs button.is-active {
    background: var(--admin-color-primary, var(--deep-pine));
    color: #fff;
}

.import-source-panel {
    margin-top: 14px;
}

.playground-import-page .import-source-panel .admin-field > .admin-field-label,
.playground-import-page .import-dialog .admin-field > .admin-field-label,
.playground-user-submissions-page .submission-moderation-form .admin-field > .admin-field-label {
    display: block;
    margin: 0 0 var(--admin-space-1, 4px);
    color: var(--admin-color-muted, var(--muted));
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.25;
}

.import-source-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.import-filter-toggles {
    padding-block: 2px;
}

.import-map-view-toggle {
    align-items: flex-start;
}

.import-map-view-toggle input {
    margin-top: 3px;
}

.import-map-view-toggle span {
    display: grid;
    gap: 2px;
}

.import-map-view-toggle small,
.import-source-help {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-medium, 600);
    line-height: var(--admin-line-tight, 1.2);
}

.import-advanced-filters {
    padding: 10px 0;
    border-top: 1px solid var(--admin-color-border, var(--border));
    border-bottom: 1px solid var(--admin-color-border, var(--border));
}

.import-advanced-filters summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-heavy, 850);
    list-style: none;
    cursor: pointer;
}

.import-advanced-filters summary::-webkit-details-marker {
    display: none;
}

.import-advanced-filters[open] summary span {
    transform: rotate(180deg);
}

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

.import-advanced-grid .checkbox {
    align-self: end;
    min-height: 40px;
}

.import-query-preview {
    grid-column: 1 / -1;
}

.import-query-preview .admin-textarea {
    min-height: 82px;
    font-size: var(--admin-font-size-xs, .72rem);
    resize: vertical;
}

.import-search-button {
    width: 100%;
}

.import-source-help {
    margin: -4px 0 0;
    text-align: center;
}

.import-success-panel {
    justify-content: space-between;
    flex-wrap: wrap;
}

.import-success-panel--compact {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
}

.import-success-panel--compact > div:not(.import-actions) {
    display: grid;
    gap: 1px;
}

.import-success-panel .import-actions {
    flex-direction: row;
    min-width: 0;
    gap: 8px;
}

.import-success-panel__dismiss {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    color: var(--admin-color-success, #2f7c45);
    text-decoration: none;
}

.import-alert-list {
    display: grid;
    gap: 8px;
}

.import-alert {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: #fff;
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
    line-height: var(--admin-line-relaxed, 1.45);
}

.import-alert--error {
    border-color: rgba(163, 59, 47, .18);
    background: rgba(253, 232, 228, .9);
    color: var(--admin-color-danger, #a33b2f);
}

.import-stats-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.import-stat-card {
    min-width: 0;
    min-height: 92px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(24, 48, 40, .04);
}

.import-stat-card__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 999px;
    background: var(--admin-color-primary-soft, #dcefe0);
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: 1.3rem;
    font-weight: 900;
}

.import-stat-card div {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.import-stat-card span:not(.import-stat-card__icon) {
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-heavy, 850);
}

.import-stat-card strong {
    color: var(--admin-color-text, var(--text));
    font-size: 1.65rem;
    line-height: 1;
}

.import-stat-card small {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
}

.import-stat-card.is-staged .import-stat-card__icon {
    background: #edf4ff;
    color: #145fba;
}

.import-stat-card.is-duplicate .import-stat-card__icon {
    background: #fff0df;
    color: #a55a1e;
}

.import-stat-card.is-error .import-stat-card__icon {
    background: #fff1ed;
    color: #9d3f21;
}

.import-debug-context {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.import-candidate-context {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.import-detail-actions {
    margin-top: 12px;
}

.import-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 220px;
}

.import-actions details {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
}

.import-actions summary {
    color: var(--admin-color-primary, var(--deep-pine));
    font-weight: var(--admin-weight-bold, 700);
    cursor: pointer;
}

.import-actions pre,
.import-dialog pre {
    max-height: 52vh;
    overflow: auto;
    padding: 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: rgba(250, 249, 246, .82);
    white-space: pre-wrap;
}

.import-feedback-list p {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: rgba(250, 249, 246, .62);
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
}

.import-feedback-list p.is-success {
    border-color: rgba(47, 124, 69, .18);
    background: rgba(238, 248, 241, .9);
    color: var(--admin-color-success, #2f7c45);
}

.import-feedback-list p.is-error {
    border-color: rgba(163, 59, 47, .18);
    background: rgba(253, 232, 228, .9);
    color: var(--admin-color-danger, #a33b2f);
}

.submission-review-card {
    overflow: hidden;
}

.submission-review-dialog {
    width: min(1480px, calc(100vw - 32px));
    max-width: none;
    max-height: calc(100dvh - 32px);
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 12px;
    background: var(--admin-color-surface, #fff);
    color: var(--admin-color-text, var(--text));
    box-shadow: 0 28px 90px rgba(24, 48, 40, .3);
}

.submission-review-dialog::backdrop {
    background: rgba(18, 34, 29, .52);
    backdrop-filter: blur(2px);
}

.submission-review-dialog .submission-review-card {
    max-height: calc(100dvh - 32px);
    margin: 0;
    overflow: auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.submission-review-dialog .submission-review-card__header {
    position: sticky;
    top: 0;
    z-index: 6;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 1px 0 var(--admin-color-border, var(--border));
    backdrop-filter: blur(10px);
}

.submission-review-card__controls {
    display: flex !important;
    grid-auto-flow: column;
    align-items: center;
    gap: 10px !important;
}

.submission-review-dialog__close {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 999px;
    background: #fff;
    color: var(--admin-color-text, var(--text));
    cursor: pointer;
    font-size: 1.35rem;
    line-height: 1;
}

.submission-review-dialog__close:hover,
.submission-review-dialog__close:focus-visible {
    border-color: var(--admin-color-primary, var(--deep-pine));
    color: var(--admin-color-primary, var(--deep-pine));
}

.submission-review-dialog .submission-decision-panel {
    position: sticky;
    top: 68px;
    align-self: start;
    min-height: calc(100dvh - 101px);
}

.submission-review-card > .admin-card-body {
    padding: 0;
}

.submission-review-card__header {
    padding-bottom: 12px;
}

.submission-review-card__header > div {
    display: grid;
    gap: 2px;
}

.submission-eyebrow {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-heavy, 850);
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.submission-review-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(290px, 340px);
    align-items: stretch;
}

.submission-review-main {
    min-width: 0;
    display: grid;
    gap: 22px;
    padding: 22px;
}

.submission-review-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.submission-review-title > div {
    min-width: 0;
    display: grid;
    gap: 5px;
}

.submission-review-title h3,
.submission-section-heading h3,
.submission-decision-panel h3 {
    margin: 0;
    color: var(--admin-color-text, var(--text));
    font-size: 1rem;
    line-height: 1.3;
}

.submission-review-title h3 {
    font-size: 1.28rem;
}

.submission-review-title p,
.submission-decision-panel p,
.submission-no-changes p,
.submission-resolution-note p {
    margin: 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: var(--admin-line-relaxed, 1.5);
}

.submission-review-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
}

.submission-review-summary > div {
    min-width: 0;
    display: grid;
    gap: 5px;
    padding: 13px 14px;
    border-right: 1px solid var(--admin-color-border, var(--border));
    background: rgba(250, 249, 246, .55);
}

.submission-review-summary > div:last-child {
    border-right: 0;
}

.submission-review-summary dt,
.submission-decision-summary dt {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-bold, 700);
}

.submission-review-summary dd,
.submission-decision-summary dd {
    min-width: 0;
    margin: 0;
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-heavy, 850);
    overflow-wrap: anywhere;
}

.submission-diff-panel,
.submission-photo-panel {
    min-width: 0;
    display: grid;
    gap: 12px;
}

.submission-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.submission-section-heading > div {
    display: grid;
    gap: 3px;
}

.submission-change-table {
    overflow: hidden;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
}

.submission-change-table__head,
.submission-change-table__row {
    display: grid;
    grid-template-columns: minmax(140px, .7fr) repeat(2, minmax(180px, 1fr));
}

.submission-change-table__head {
    background: #f5f7f4;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-heavy, 850);
    text-transform: uppercase;
}

.submission-change-table__row {
    border-top: 1px solid var(--admin-color-border, var(--border));
    background: #fff;
}

.submission-change-table__head span,
.submission-change-table__row > * {
    min-width: 0;
    padding: 11px 13px;
    border-right: 1px solid var(--admin-color-border, var(--border));
    overflow-wrap: anywhere;
}

.submission-change-table__head span:last-child,
.submission-change-table__row > *:last-child {
    border-right: 0;
}

.submission-change-table__row strong {
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
}

.submission-change-table__row span {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
}

.submission-change-table__row .submission-change-table__submitted {
    background: rgba(220, 239, 224, .34);
    color: var(--admin-color-primary, var(--deep-pine));
    font-weight: var(--admin-weight-bold, 700);
}

.submission-no-changes {
    display: grid;
    gap: 3px;
    padding: 14px 16px;
    border: 1px solid rgba(47, 124, 69, .18);
    border-radius: 8px;
    background: rgba(238, 248, 241, .75);
}

.submission-no-changes strong {
    color: var(--admin-color-success, #2f7c45);
    font-size: var(--admin-font-size-sm, .78rem);
}

.submission-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
}

.submission-photo-grid a {
    display: grid;
    gap: 6px;
    color: inherit;
    text-decoration: none;
}

.submission-photo-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: var(--admin-color-surface-muted, #eef2ed);
}

.submission-photo-grid small {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: 700;
}

.submission-raw-details {
    min-width: 0;
    padding: 11px 13px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: rgba(250, 249, 246, .72);
}

.submission-raw-details summary {
    color: var(--admin-color-primary, var(--deep-pine));
    cursor: pointer;
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: 800;
}

.submission-raw-details pre {
    max-height: 280px;
    overflow: auto;
    margin: 10px 0 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: .75rem;
}

.submission-decision-panel {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 22px;
    border-left: 1px solid var(--admin-color-border, var(--border));
    background: #f8faf7;
}

.submission-decision-panel > div:first-child {
    display: grid;
    gap: 5px;
}

.submission-decision-summary {
    display: grid;
    gap: 0;
    margin: 0;
    padding-block: 4px;
    border-top: 1px solid var(--admin-color-border, var(--border));
    border-bottom: 1px solid var(--admin-color-border, var(--border));
}

.submission-decision-summary > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
}

.submission-decision-summary dd {
    text-align: right;
}

.submission-moderation-form {
    display: grid;
    gap: 9px;
}

.submission-moderation-form .admin-textarea {
    min-height: 86px;
    resize: vertical;
}

.submission-moderation-form .admin-field-label {
    display: flex !important;
    justify-content: space-between;
    gap: 8px;
}

.submission-moderation-form .admin-field-label small {
    font-weight: var(--admin-weight-medium, 600);
}

.submission-moderation-form .button,
.submission-recheck-form .button,
.submission-decision-panel > form > .button {
    width: 100%;
}

.submission-recheck-form {
    margin-top: -8px;
}

.submission-reject-button {
    color: var(--admin-color-danger, #a33b2f) !important;
}

.submission-resolution-note {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: #fff;
}

.submission-diff-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.submission-diff-list li {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid rgba(211, 217, 209, .74);
    border-radius: 8px;
    background: rgba(250, 249, 246, .72);
}

.submission-diff-list strong {
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
}

.submission-diff-list span {
    min-width: 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.submission-diff-list span b {
    color: var(--admin-color-primary, var(--deep-pine));
    font-weight: var(--admin-weight-heavy, 850);
}

.submission-diff-list--compact {
    gap: 5px;
}

.submission-diff-list--compact li {
    padding: 7px 8px;
}

.submission-match-cell a,
.submission-match-cell span {
    color: var(--admin-color-primary, var(--deep-pine));
    font-weight: var(--admin-weight-bold, 700);
    text-decoration: none;
}

.submission-match-cell small {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    line-height: 1.35;
}

.submission-row-actions {
    flex-wrap: wrap;
    min-width: 210px;
}

.submission-row-actions form {
    margin: 0;
}

.submission-row-review-link {
    color: var(--admin-color-primary, var(--deep-pine));
    text-decoration: none;
}

.submission-row-review-link:hover,
.submission-row-review-link:focus-visible {
    text-decoration: underline;
}

.submission-table tr[data-submission-review-url] {
    cursor: pointer;
}

.submission-table tr[data-submission-review-url]:hover {
    background: rgba(220, 239, 224, .22);
}

.submission-table tr.is-selected-submission {
    background: rgba(220, 239, 224, .34);
    box-shadow: inset 3px 0 0 var(--admin-color-success, #2f7c45);
}

.submission-table th:first-child,
.submission-table td:first-child {
    width: auto;
}

.submission-table th:last-child,
.submission-table td:last-child {
    width: 230px;
}

.import-results-card {
    overflow: visible;
    border-radius: 8px;
}

.import-results-card .admin-card-body {
    padding-top: 0;
}

.import-queue-tabs {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 14px;
    overflow: hidden;
    border-bottom: 1px solid var(--admin-color-border, var(--border));
    background: #fff;
}

.import-queue-tabs__left {
    display: flex;
    min-width: 0;
    overflow-x: auto;
}

.import-queue-tabs a {
    position: relative;
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 22px;
    border-right: 1px solid rgba(229, 241, 232, .9);
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-heavy, 850);
    text-decoration: none;
    white-space: nowrap;
}

.import-queue-tabs > a {
    margin-left: auto;
    border-right: 0;
    border-left: 1px solid rgba(229, 241, 232, .9);
}

.import-queue-tabs a span {
    min-width: 26px;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--admin-color-primary-soft, #dcefe0);
    color: var(--admin-color-success, #2f7c45);
    font-size: var(--admin-font-size-xs, .72rem);
    text-align: center;
}

.import-queue-tabs a.is-active::after {
    content: "";
    position: absolute;
    right: 16px;
    bottom: 0;
    left: 16px;
    height: 2px;
    border-radius: 999px;
    background: var(--admin-color-success, #2f7c45);
}

.import-list-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(120px, 170px)) minmax(96px, auto);
    gap: 12px;
    align-items: end;
    margin: 0 -18px 0;
    padding: 16px 18px;
    border-bottom: 1px solid var(--admin-color-border, var(--border));
    background: #fff;
}

.import-list-filters label {
    min-width: 0;
}

.import-list-filters input,
.import-list-filters select {
    width: 100%;
    min-width: 0;
    min-height: 42px;
}

.import-filter-button {
    width: 100%;
    min-height: 42px;
}

.import-table-scroll {
    width: 100%;
    overflow-x: auto;
}

.import-candidate-table {
    min-width: 1160px;
}

.import-candidate-table th,
.import-candidate-table td {
    padding: 12px 14px;
}

.import-candidate-table thead th {
    border-top: 1px solid var(--admin-color-border, var(--border));
    background: #fbfcfb;
}

.import-candidate-table th:first-child,
.import-candidate-table td:first-child {
    width: 42px;
}

.import-candidate-table th:last-child,
.import-candidate-table td:last-child {
    width: 300px;
}

.import-candidate-table tr.is-previewing {
    background: rgba(220, 239, 224, .42);
    box-shadow: inset 3px 0 0 var(--admin-color-primary, var(--deep-pine));
}

.import-candidate-table tr.is-map-highlighted {
    animation: import-row-highlight 2.8s ease;
}

@keyframes import-row-highlight {
    0%,
    78% {
        background: rgba(220, 239, 224, .72);
        box-shadow: inset 4px 0 0 var(--admin-color-success, #2f7c45);
    }
    100% {
        background: transparent;
        box-shadow: none;
    }
}

.import-status.is-imported {
    background: var(--admin-color-primary-soft, #dcefe0);
    color: var(--admin-color-success, #2f7c45);
}

.import-status.is-queued {
    background: #ffedcc;
    color: #a95000;
}

.import-status.is-skipped {
    background: #eef0eb;
    color: var(--admin-color-muted, var(--muted));
}

.import-status.is-duplicate {
    background: #fff0df;
    color: #a55a1e;
}

.import-status.is-error {
    background: #fff1ed;
    color: #9d3f21;
}

.duplicate-score {
    font-weight: var(--admin-weight-heavy, 850);
}

.duplicate-warning {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 5px;
    border: 1px solid rgba(199, 123, 73, .55);
    border-radius: 999px;
    color: #a55a1e;
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: 900;
}

.import-row-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 280px;
}

.import-action-menu {
    position: relative;
}

.import-action-menu summary {
    list-style: none;
}

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

.import-action-menu[open] {
    z-index: 25;
}

.import-action-menu__panel {
    position: absolute;
    z-index: 30;
    top: calc(100% + 8px);
    left: 0;
    display: none;
    width: 260px;
    overflow: hidden;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--admin-shadow-menu, 0 18px 40px rgba(24, 48, 40, .16));
}

.import-action-menu[open] .import-action-menu__panel {
    display: grid;
}

.import-action-menu--more .import-action-menu__panel {
    right: 0;
    left: auto;
}

.import-action-menu__panel > a,
.import-action-menu__panel > button {
    width: 260px;
    display: grid;
    gap: 2px;
    justify-items: start;
    padding: 11px 14px;
    border: 0;
    border-bottom: 1px solid rgba(229, 241, 232, .9);
    background: #fff;
    color: var(--admin-color-primary, var(--deep-pine));
    font: inherit;
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.import-action-menu__panel > a:last-child,
.import-action-menu__panel > button:last-child {
    border-bottom: 0;
}

.import-action-menu__panel > a:hover,
.import-action-menu__panel > button:hover,
.merge-suggestion-list button:hover,
.merge-suggestion-list button.is-selected {
    background: rgba(237, 246, 239, .95);
}

.import-action-menu__panel > button span {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-medium, 600);
}

.import-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
}

.import-pagination > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.import-dialog {
    width: min(460px, calc(100vw - 32px));
    padding: 0;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    color: var(--admin-color-text, var(--text));
    box-shadow: 0 22px 70px rgba(24, 48, 40, .24);
}

.import-dialog::backdrop {
    background: rgba(24, 48, 40, .32);
}

.import-dialog > form,
.import-dialog > div {
    display: grid;
    gap: 14px;
    padding: 22px;
}

.import-dialog h3,
.import-dialog p {
    margin: 0;
}

.import-dialog h3 {
    color: var(--admin-color-text, var(--text));
    font-size: 1rem;
    font-weight: var(--admin-weight-bold, 700);
}

.import-dialog p {
    color: var(--admin-color-muted, var(--muted));
}

.import-dialog--wide {
    width: min(680px, calc(100vw - 32px));
}

.import-dialog__subject {
    padding: 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: rgba(250, 249, 246, .82);
    font-weight: var(--admin-weight-heavy, 850);
}

.import-dialog__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 4px;
}

.import-dialog.submission-approve-dialog {
    width: min(520px, calc(100vw - 32px));
}

.submission-approve-dialog__heading {
    display: flex;
    align-items: center;
    gap: 12px;
}

.submission-approve-dialog__heading > div {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.submission-approve-dialog__icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(47, 124, 69, .12);
    color: var(--admin-color-success, #2f7c45);
    font-size: 1.1rem;
    font-weight: var(--admin-weight-heavy, 850);
}

.submission-approve-dialog__subject {
    display: grid;
    gap: 5px;
    padding: 14px 16px;
    border: 1px solid rgba(47, 124, 69, .2);
    border-radius: 8px;
    background: rgba(238, 248, 241, .72);
}

.submission-approve-dialog__subject strong {
    color: var(--admin-color-text, var(--text));
    font-size: .95rem;
}

.submission-approve-dialog__subject span,
.submission-approve-dialog__notice {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: 1.5;
}

.submission-approve-dialog .import-dialog__actions .button {
    min-width: 132px;
}

.skip-reason-list,
.merge-suggestion-list {
    display: grid;
    gap: 8px;
}

.skip-reason-list label {
    display: flex !important;
    align-items: center;
    gap: 8px;
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
}

.merge-suggestion-list {
    max-height: 300px;
    overflow: auto;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
}

.merge-suggestion-list button {
    display: grid;
    gap: 2px;
    padding: 11px 12px;
    border: 0;
    border-bottom: 1px solid rgba(229, 241, 232, .9);
    background: #fff;
    color: var(--admin-color-primary, var(--deep-pine));
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.merge-suggestion-list button:last-child {
    border-bottom: 0;
}

.merge-suggestion-list span {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
}

.merge-create-note button {
    border: 0;
    background: transparent;
    color: var(--admin-color-primary, var(--deep-pine));
    font: inherit;
    font-weight: var(--admin-weight-heavy, 850);
    cursor: pointer;
}

.map-import-popup {
    display: grid;
    gap: 0;
    min-width: min(292px, calc(100vw - 72px));
    overflow: hidden;
    background: var(--admin-color-surface, #fff);
    color: var(--admin-color-primary, var(--deep-pine));
    font-family: var(--font-ui, var(--font-sans));
}

.map-import-popup__header {
    display: grid;
    gap: 6px;
    padding: 14px 42px 12px 16px;
    border-bottom: 1px solid var(--admin-color-border, var(--border));
}

.map-import-popup__header strong {
    color: var(--admin-color-text, var(--text));
    font-size: .98rem;
    line-height: 1.2;
}

.map-import-popup__header small {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
}

.map-import-popup__header .status-badge {
    justify-self: start;
}

.map-import-popup__actions {
    display: grid;
    gap: 8px;
    padding: 8px;
}

.map-import-popup__actions.is-two {
    grid-template-columns: 1fr 1.1fr;
}

.map-import-popup__actions > button:not(.btn),
.map-import-popup__actions > a:not(.btn) {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--admin-color-primary, var(--deep-pine));
    font: inherit;
    font-size: .86rem;
    font-weight: var(--admin-weight-bold, 700);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.map-import-popup__actions > button:not(.btn):hover,
.map-import-popup__actions > a:not(.btn):hover {
    background: rgba(237, 246, 239, .95);
}

.map-import-popup__panel {
    display: grid;
    gap: 10px;
    padding: 14px 16px 16px;
}

.map-import-popup__panel h3,
.map-import-popup__panel p,
.map-import-popup__result p,
.map-import-popup__notice {
    margin: 0;
}

.map-import-popup__panel h3 {
    color: var(--admin-color-text, var(--text));
    font-size: .95rem;
    line-height: 1.25;
}

.map-import-popup__panel p,
.map-import-popup__result p,
.map-import-popup__notice {
    color: var(--admin-color-muted, var(--muted));
    font-size: .8rem;
    line-height: 1.35;
}

.map-import-popup__panel label {
    display: grid;
    gap: 5px;
    color: var(--admin-color-text, var(--text));
    font-size: .8rem;
    font-weight: var(--admin-weight-heavy, 850);
}

.map-import-popup__panel input {
    min-height: 38px;
    width: 100%;
    padding: 0 10px;
    border: 1px solid rgba(9, 82, 59, .45);
    border-radius: 8px;
    color: var(--admin-color-text, var(--text));
    font: inherit;
}

.map-import-popup__result {
    display: grid;
    justify-items: center;
    gap: 8px;
    margin: 14px 16px 8px;
    padding: 18px 14px;
    border-radius: 8px;
    text-align: center;
}

.map-import-popup__result.is-imported {
    background: linear-gradient(135deg, #edf8f0, #dcefe0);
}

.map-import-popup__result.is-queued {
    background: linear-gradient(135deg, #fff8e8, #ffedcc);
}

.map-import-popup__notice {
    margin: 10px 12px 0;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(250, 249, 246, .82);
}

.playground-import-map-legend {
    display: grid;
    gap: 7px;
    min-width: 120px;
    padding: 10px 12px;
    border: 1px solid rgba(24, 48, 40, .16);
    border-radius: 8px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 30px rgba(24, 48, 40, .14);
    color: var(--admin-color-primary, var(--deep-pine));
    font-family: var(--font-ui);
}

.playground-import-map-legend__item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--admin-font-size-sm, .78rem);
    line-height: 1;
}

.playground-import-map-legend__item span {
    inline-size: 12px;
    block-size: 12px;
    border: 2px solid var(--legend-border);
    border-radius: 999px;
    background: var(--legend-color);
}

.playground-import-map-legend__item strong {
    font-weight: var(--admin-weight-heavy, 850);
}

.relationship-picker {
    min-width: 0;
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    background: rgba(250, 249, 246, .6);
}

.relationship-picker__header,
.relationship-selected {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.relationship-search {
    position: relative;
    display: grid;
    gap: 8px;
}

.relationship-dropdown {
    position: absolute;
    z-index: 30;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    display: grid;
    gap: 4px;
    padding: 6px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--admin-shadow-menu, 0 18px 34px rgba(24, 48, 40, .14));
}

.relationship-dropdown[hidden] {
    display: none;
}

.relationship-dropdown-item {
    width: 100%;
    min-height: 34px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--admin-color-text, var(--text));
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.relationship-dropdown-item:hover,
.relationship-dropdown-item.is-active {
    background: rgba(220, 225, 221, .46);
}

.relationship-dropdown-item strong,
.relationship-dropdown-item small {
    display: block;
}

.relationship-dropdown-item small {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
}

.playground-feature-form,
.playground-feature-section,
.playground-feature-section__header,
.playground-feature-toggle-field {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.playground-feature-section {
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(211, 217, 209, .72);
}

.playground-feature-section:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.playground-feature-section__header {
    gap: 4px;
}

.playground-feature-surface-grid {
    display: grid;
    grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr);
    gap: 14px;
    align-items: start;
}

.playground-feature-form .age-range-picker {
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}

.age-range-button input,
.amenity-toggle input {
    accent-color: var(--admin-color-primary, var(--deep-pine));
}

.amenity-toggle__icon {
    inline-size: 22px;
    block-size: 22px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(31, 95, 52, .1);
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: .68rem;
    font-weight: var(--admin-weight-heavy, 850);
}

.playground-pictogram {
    display: block;
    inline-size: 22px;
    block-size: 22px;
    flex: 0 0 auto;
    object-fit: contain;
}

.amenity-toggle__icon .playground-pictogram {
    inline-size: 19px;
    block-size: 19px;
}

.amenity-toggle input:checked + .amenity-toggle__icon .playground-pictogram,
.equipment-chip-row input:checked + span .playground-pictogram,
.equipment-selected-tag .playground-pictogram {
    filter: invert(1);
}

.equipment-tag-picker__selected {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.equipment-tag-picker__selected:empty {
    display: none;
}

.equipment-selected-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 7px 0 10px;
    border: 1px solid var(--admin-color-primary, var(--deep-pine));
    border-radius: 999px;
    background: var(--admin-color-primary, var(--deep-pine));
    color: #fff;
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-heavy, 850);
}

.equipment-selected-tag button {
    inline-size: 18px;
    block-size: 18px;
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .16);
    color: #fff;
    font: inherit;
    line-height: 1;
    cursor: pointer;
}

.equipment-selected-tag button:hover {
    background: rgba(255, 255, 255, .28);
}

.playground-pictogram--tag {
    inline-size: 16px;
    block-size: 16px;
}

.equipment-tag-picker__control {
    position: relative;
}

.equipment-tag-picker__suggestions {
    position: absolute;
    z-index: 30;
    inset-inline: 0;
    top: calc(100% + 6px);
    max-height: 240px;
    overflow: auto;
    padding: 6px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--admin-shadow-menu, 0 18px 34px rgba(24, 48, 40, .14));
}

.equipment-tag-picker__suggestions[hidden] {
    display: none;
}

.equipment-tag-picker__suggestion {
    inline-size: 100%;
    min-height: 34px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 9px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--admin-color-text, var(--text));
    font: inherit;
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-heavy, 850);
    text-align: left;
    cursor: pointer;
}

.equipment-tag-picker__suggestion span:last-child {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-strong, 750);
}

.equipment-tag-picker__suggestion span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.playground-pictogram--suggestion {
    inline-size: 18px;
    block-size: 18px;
}

.equipment-tag-picker__suggestion:hover,
.equipment-tag-picker__suggestion.is-active {
    background: rgba(220, 225, 221, .46);
    color: var(--admin-color-primary, var(--deep-pine));
}

.playground-feature-form .equipment-category-grid {
    grid-template-columns: 1fr;
    gap: 0;
    border: 1px solid rgba(62, 107, 111, .14);
    border-radius: 10px;
    background: rgba(250, 249, 246, .5);
}

.equipment-category-group {
    display: grid;
    gap: 8px;
    padding: 11px 12px 13px;
    border-bottom: 1px solid rgba(211, 217, 209, .72);
}

.equipment-category-group:last-child {
    border-bottom: 0;
}

.equipment-category-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 30px;
    color: var(--admin-color-primary, var(--deep-pine));
    list-style: none;
    cursor: pointer;
}

.equipment-category-heading::-webkit-details-marker {
    display: none;
}

.equipment-category-heading::before {
    content: '';
    flex: 0 0 auto;
    inline-size: 7px;
    block-size: 7px;
    border-inline-end: 2px solid var(--admin-color-muted, var(--muted));
    border-block-end: 2px solid var(--admin-color-muted, var(--muted));
    transform: rotate(-45deg);
    transition: transform .16s ease;
}

.equipment-category-group[open] .equipment-category-heading::before {
    transform: rotate(45deg) translate(-1px, -1px);
}

.equipment-category-heading > span:first-of-type {
    flex: 1 1 auto;
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-heavy, 850);
}

.equipment-category-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.playground-pictogram--category {
    inline-size: 21px;
    block-size: 21px;
}

.equipment-category-count {
    flex: 0 0 auto;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-heavy, 850);
    text-transform: uppercase;
}

.equipment-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding-left: 19px;
}

.equipment-chip-row label {
    position: relative;
    cursor: pointer;
}

.equipment-chip-row input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.equipment-chip-row span {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 999px;
    background: #fff;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
    font-weight: var(--admin-weight-heavy, 850);
    transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.equipment-chip-row span .playground-pictogram--chip {
    inline-size: 17px;
    block-size: 17px;
    margin-inline-end: 6px;
}

.public-amenity-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 16px 0;
}

.public-amenity-strip > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 4px 10px 4px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(238, 241, 238, .76);
    color: var(--deep-pine);
    font-size: .76rem;
    font-weight: 850;
}

.public-amenity-strip > span.is-unavailable {
    opacity: .58;
}

.playground-pictogram--amenity {
    inline-size: 23px;
    block-size: 23px;
}

.public-playground-context-value {
    display: flex;
    align-items: center;
    gap: 7px;
}

.playground-pictogram--context {
    inline-size: 24px;
    block-size: 24px;
}

.public-playground-equipment {
    margin-block: 24px;
}

.public-playground-equipment > h2 {
    margin-block-end: 12px;
}

.public-playground-equipment__groups {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.public-playground-equipment__group {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: rgba(250, 249, 246, .66);
}

.public-playground-equipment__group h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    color: var(--deep-pine);
    font-size: .9rem;
}

.playground-pictogram--group {
    inline-size: 25px;
    block-size: 25px;
}

.public-playground-equipment__items {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.public-playground-equipment__items > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 4px 9px 4px 6px;
    border: 1px solid rgba(31, 95, 52, .16);
    border-radius: 999px;
    background: #fff;
    color: var(--text);
    font-size: .75rem;
    font-weight: 800;
}

.playground-pictogram--equipment {
    inline-size: 20px;
    block-size: 20px;
}

.equipment-chip-row label:hover span {
    border-color: rgba(31, 95, 52, .34);
    color: var(--admin-color-primary, var(--deep-pine));
    box-shadow: 0 1px 0 rgba(24, 48, 40, .05);
}

.equipment-chip-row input:checked + span {
    border-color: var(--admin-color-primary, var(--deep-pine));
    background: var(--admin-color-primary, var(--deep-pine));
    color: #fff;
}

.equipment-chip-row input:focus-visible + span {
    outline: 2px solid rgba(62, 107, 111, .34);
    outline-offset: 2px;
}

.playground-basic-form__grid,
.playground-amenity-grid,
.age-range-picker,
.equipment-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
}

.playground-basic-form__full {
    grid-column: 1 / -1;
}

.segmented-pill-group,
.playground-gallery-item__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.age-range-button,
.amenity-toggle,
.equipment-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 8px 10px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 8px;
    background: #fff;
}

.playground-cover-manager,
.playground-gallery-item {
    display: grid;
    grid-template-columns: minmax(160px, 260px) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.playground-cover-preview {
    min-height: 150px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    background: rgba(250, 249, 246, .76);
}

.playground-cover-preview img,
.playground-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.playground-gallery-list,
.equipment-tag-picker {
    display: grid;
    gap: 10px;
}

.span-builder-header {
    margin-bottom: 18px;
}

.span-builder-shell {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.span-builder-palette {
    position: sticky;
    top: 18px;
}

.span-builder-chip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.span-builder-chip-grid span {
    min-height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(47, 124, 69, .18);
    border-radius: 8px;
    background: rgba(226, 239, 230, .78);
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: var(--admin-font-size-md, .88rem);
    font-weight: var(--admin-weight-heavy, 850);
}

.span-builder-key {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
}

.span-builder-key div {
    min-width: 0;
}

.span-builder-key dt {
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
}

.span-builder-key dd {
    margin: 2px 0 0;
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-xs, .72rem);
}

.span-builder-stage {
    min-width: 0;
    display: grid;
    gap: 12px;
}

.span-builder-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--admin-color-border, var(--border));
    border-radius: 10px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 24px rgba(24, 48, 40, .06);
}

.span-builder-ruler {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 6px;
}

.span-builder-ruler span {
    min-height: 24px;
    display: grid;
    place-items: center;
    border-radius: 6px;
    background: rgba(246, 248, 245, .98);
    color: var(--admin-color-muted, var(--muted));
    font-size: .68rem;
    font-weight: var(--admin-weight-bold, 700);
}

.span-builder-grid {
    padding: clamp(16px, 2vw, 24px);
    border: 1px solid rgba(211, 217, 209, .7);
    border-radius: 12px;
    background:
        linear-gradient(90deg, rgba(47, 124, 69, .08) 1px, transparent 1px) 0 0 / calc((100% - 198px) / 12 + 18px) 100%,
        rgba(250, 249, 246, .55);
}

.span-builder-card {
    min-height: 170px;
}

.span-builder-sample {
    min-height: 118px;
}

.span-builder-card .admin-card-body {
    display: grid;
    align-content: start;
    gap: 10px;
}

.span-builder-sample-body {
    min-height: 100%;
    place-content: center;
    text-align: center;
}

.span-builder-sample-body strong {
    color: var(--admin-color-primary, var(--deep-pine));
    font-size: 1rem;
    font-weight: var(--admin-weight-heavy, 850);
}

.span-builder-sample-body span {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
    font-weight: var(--admin-weight-bold, 700);
}

.span-builder-card-preview,
.span-builder-list,
.span-builder-editor-lines,
.span-builder-photo-row {
    display: grid;
    gap: 8px;
}

.span-builder-card-preview {
    grid-template-columns: minmax(0, .7fr) minmax(0, 1fr);
    align-items: center;
}

.span-builder-card-preview span,
.span-builder-list span,
.span-builder-muted {
    color: var(--admin-color-muted, var(--muted));
    font-size: var(--admin-font-size-sm, .78rem);
}

.span-builder-card-preview strong {
    min-width: 0;
    color: var(--admin-color-text, var(--text));
    font-size: var(--admin-font-size-sm, .78rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.span-builder-list span {
    min-height: 30px;
    display: flex;
    align-items: center;
    padding: 0 10px;
    border: 1px solid rgba(211, 217, 209, .62);
    border-radius: 8px;
    background: rgba(255, 255, 255, .72);
    color: var(--admin-color-text, var(--text));
    font-weight: var(--admin-weight-bold, 700);
}

.span-builder-list--columns {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.span-builder-editor-lines span {
    height: 14px;
    border-radius: 999px;
    background: rgba(211, 217, 209, .7);
}

.span-builder-editor-lines span:nth-child(2) {
    width: 88%;
}

.span-builder-editor-lines span:nth-child(3) {
    width: 68%;
}

.span-builder-photo-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.span-builder-photo-row span,
.span-builder-map-preview {
    min-height: 76px;
    border: 1px solid rgba(211, 217, 209, .72);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(226, 236, 230, .9), rgba(247, 246, 242, .95));
}

.span-builder-map-preview {
    min-height: 190px;
    background:
        linear-gradient(90deg, rgba(47, 124, 69, .12) 1px, transparent 1px) 0 0 / 36px 36px,
        linear-gradient(0deg, rgba(47, 124, 69, .12) 1px, transparent 1px) 0 0 / 36px 36px,
        rgba(226, 239, 230, .82);
}

@media (max-width: 1100px) {
    .admin-card-grid,
    .park-editor-container-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .relationship-picker-grid,
    .playground-cover-manager,
    .playground-gallery-item,
    .playground-record-info-list {
        grid-template-columns: 1fr;
    }

    .park-contact-method-grid,
    .park-contact-edit-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .trail-basics-layout {
        grid-template-columns: 1fr;
    }

    .trail-safety-notes-grid {
        grid-template-columns: 1fr;
    }

    .import-review-layout,
    .import-debug-context,
    .import-candidate-context {
        grid-template-columns: 1fr;
    }

    .submission-review-grid {
        grid-template-columns: 1fr;
    }

    .submission-decision-panel {
        border-top: 1px solid var(--admin-color-border, var(--border));
        border-left: 0;
    }

    .submission-review-dialog .submission-decision-panel {
        position: static;
        min-height: 0;
    }

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

    .admin-card-grid > .park-support-stack {
        grid-column: span 6;
    }

    .admin-span-3,
    .admin-span-4,
    .admin-span-5,
    .admin-span-6,
    .admin-span-7,
    .admin-span-8,
    .admin-span-9 {
        grid-column: span 6;
    }

    .span-builder-shell {
        grid-template-columns: 1fr;
    }

    .span-builder-palette {
        position: static;
    }

    .span-builder-grid.admin-card-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .span-builder-grid > .admin-span-3 {
        grid-column: span 3;
    }

    .span-builder-grid > .admin-span-4 {
        grid-column: span 4;
    }

    .span-builder-grid > .admin-span-5 {
        grid-column: span 5;
    }

    .span-builder-grid > .admin-span-6 {
        grid-column: span 6;
    }

    .span-builder-grid > .admin-span-7 {
        grid-column: span 7;
    }

    .span-builder-grid > .admin-span-8 {
        grid-column: span 8;
    }

    .span-builder-grid > .admin-span-9 {
        grid-column: span 9;
    }
}

@media (max-width: 760px) {
    .workspace-card,
    .context-card {
        border-radius: 14px;
    }

    .organization-logo-editor,
    .contact-entry {
        grid-template-columns: 1fr;
    }

    .organization-logo-preview {
        inline-size: 112px;
        block-size: 112px;
    }

    .contact-entry__remove,
    .contact-add-button {
        justify-self: start;
    }

    .workspace-card__header,
    .workspace-card__actions,
    .settings-toolbar {
        display: grid;
        justify-content: stretch;
    }

    .workspace-card__body,
    .settings-card-body {
        padding: 16px;
    }

    .setting-row,
    .settings-toolbar,
    .connection-test-grid,
    .maintenance-grid {
        grid-template-columns: 1fr;
    }

    .maintenance-grid,
    .connection-test-grid {
        gap: 10px;
        padding-top: 10px;
    }

    .maintenance-action-card,
    .connection-test-card {
        min-height: auto;
    }

    .organization-type-form {
        grid-template-columns: 1fr;
    }

    .settings-help-rail {
        position: static;
    }

    .settings-map-preview {
        grid-template-columns: 1fr;
    }

    .settings-map-preview__canvas {
        min-height: 180px;
    }

    .report-list--two-column {
        grid-template-columns: 1fr;
    }

    .report-list--two-column .report-row:nth-last-child(-n + 2) {
        border-bottom: 1px solid rgba(229, 225, 216, .72);
    }

    .report-list--two-column .report-row:last-child {
        border-bottom: 0;
    }

    .ops-card__header,
    .admin-card-header,
    .admin-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .auth-visual {
        padding: 24px;
    }

    .auth-visual__copy {
        margin-top: 42px;
    }

    .auth-visual__copy h1,
    .login-card h1 {
        font-size: 2.55rem;
    }

    .auth-visual__copy p {
        font-size: 1rem;
    }

    .auth-features {
        display: none;
    }

    .help-link {
        top: 24px;
        right: 18px;
    }

    .login-card {
        padding: 26px 20px;
        border-radius: 10px;
    }

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

    .announcement-item {
        display: grid;
    }

    .announcement-item form {
        justify-self: start;
    }

    .admin-card-grid,
    .park-editor-container-grid {
        grid-template-columns: 1fr;
    }

    .admin-span-3,
    .admin-span-4,
    .admin-span-5,
    .admin-span-6,
    .admin-span-7,
    .admin-span-8,
    .admin-span-9,
    .admin-span-12 {
        grid-column: 1 / -1;
    }

    .park-environmental-metrics {
        grid-template-columns: 1fr;
    }

    .park-environmental-metrics > section {
        padding: 10px 0;
        border-top: 1px solid rgba(211, 217, 209, .58);
        border-left: 0;
    }

    .park-environmental-metrics > section:first-child {
        padding-top: 0;
        border-top: 0;
    }

    .park-description-editor-shell .admin-textarea,
    .park-description-editor-textarea,
    .park-description-wysiwyg {
        min-height: 220px;
    }

    .playground-feature-surface-grid {
        grid-template-columns: 1fr;
    }

    .equipment-chip-row {
        padding-left: 0;
    }

    .span-builder-stage {
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .span-builder-topbar,
    .span-builder-grid.admin-card-grid {
        min-width: 720px;
    }

    .span-builder-grid.admin-card-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .span-builder-grid > .admin-span-3 {
        grid-column: span 3;
    }

    .span-builder-grid > .admin-span-4 {
        grid-column: span 4;
    }

    .span-builder-grid > .admin-span-5 {
        grid-column: span 5;
    }

    .span-builder-grid > .admin-span-6 {
        grid-column: span 6;
    }

    .span-builder-grid > .admin-span-7 {
        grid-column: span 7;
    }

    .span-builder-grid > .admin-span-8 {
        grid-column: span 8;
    }

    .span-builder-grid > .admin-span-9 {
        grid-column: span 9;
    }

    .span-builder-grid > .admin-span-12 {
        grid-column: 1 / -1;
    }

    .place-basic-info-grid {
        grid-template-columns: 1fr;
        grid-template-areas: none;
    }

    .place-basic-info-field--right,
    .place-basic-info-field--wide,
    .place-basic-info-field--area,
    .place-basic-info-field--name,
    .place-basic-info-field--slug,
    .place-basic-info-field--status,
    .place-basic-info-field--type,
    .place-basic-info-field--organizations,
    .place-basic-info-field--maintainers {
        grid-area: auto;
        grid-column: 1 / -1;
    }

    .admin-card-grid > .park-support-stack {
        grid-column: 1 / -1;
    }

    .park-contact-method-grid,
    .park-contact-edit-columns {
        grid-template-columns: 1fr;
    }

    .park-entrance-list {
        grid-template-columns: 1fr;
    }

    .import-map-card .entity-map {
        min-height: 420px;
    }

    .import-source-grid,
    .import-advanced-grid,
    .import-list-filters,
    .import-stats-grid {
        grid-template-columns: 1fr;
    }

    .submission-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .submission-stats-grid .import-stat-card {
        min-height: 80px;
        gap: 10px;
        padding: 12px;
    }

    .submission-stats-grid .import-stat-card__icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        font-size: 1rem;
    }

    .submission-review-main,
    .submission-decision-panel {
        padding: 16px;
    }

    .submission-review-title {
        align-items: stretch;
        flex-direction: column;
    }

    .submission-review-title .button {
        width: 100%;
    }

    .submission-review-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .submission-review-summary > div {
        border-bottom: 1px solid var(--admin-color-border, var(--border));
    }

    .submission-review-summary > div:nth-child(2) {
        border-right: 0;
    }

    .submission-review-summary > div:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .submission-change-table {
        overflow-x: auto;
    }

    .submission-change-table__head,
    .submission-change-table__row {
        min-width: 620px;
    }

    .import-list-filters {
        margin-inline: -18px;
    }

    .import-success-panel--compact {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .import-success-panel--compact .import-actions {
        grid-column: 1 / -1;
        flex-wrap: wrap;
    }

    .import-queue-tabs {
        overflow-x: auto;
    }

    .import-queue-tabs > a {
        margin-left: 0;
    }

    .import-row-actions {
        min-width: 240px;
    }

    .submission-row-actions {
        min-width: 240px;
    }

    .import-action-menu__panel {
        right: 0;
        left: auto;
    }

    .import-pagination,
    .import-dialog__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .import-dialog__actions .button {
        width: 100%;
    }

    .park-photo-summary {
        grid-template-columns: 1fr;
    }

    .park-media-upload.has-files,
    .park-media-editor-fields,
    .park-media-gallery-header,
    .park-media-settings-panel__body {
        grid-template-columns: 1fr;
    }

    .park-media-gallery-header {
        align-items: flex-start;
    }

    .park-media-gallery-controls {
        width: 100%;
        justify-content: stretch;
    }

    .park-media-gallery-controls .admin-select {
        flex: 1 1 170px;
        width: 100%;
    }

    .park-media-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .park-media-upload-queue__submit {
        justify-self: stretch;
    }

    .park-media-settings-preview {
        min-height: 220px;
    }

    .park-gis-single-map,
    .park-gis-single-map .entity-map,
    .park-gis-single-map .entity-map-empty {
        height: 360px;
        min-height: 360px;
    }

    .park-gis-control-row {
        align-items: stretch;
    }

    .park-gis-control-row .button {
        flex: 1 1 calc(50% - 8px);
    }

    .park-gis-side-panel {
        padding: 12px;
    }

    .park-gis-side-panel .admin-form-grid--address {
        grid-template-columns: 1fr;
    }

    .park-gis-side-panel .admin-form-grid--address > label:nth-child(n) {
        grid-column: 1 / -1;
    }

    .amenity-drawer-backdrop {
        inset: 0;
        z-index: 58;
    }

    .amenity-editor-drawer,
    .amenity-editor-drawer.is-full {
        inset: 0;
        width: 100vw;
        min-width: 0;
        max-width: none;
        border-radius: 0;
        z-index: 60;
    }

    .amenity-drawer-resize {
        display: none;
    }

    .amenity-drawer-form-grid,
    .amenity-usage-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .submission-review-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
    }

    .submission-review-dialog .submission-review-card {
        max-height: calc(100dvh - 16px);
    }

    .submission-change-table {
        overflow: hidden;
    }

    .submission-change-table__head {
        display: none;
    }

    .submission-change-table__row {
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .submission-change-table__row > strong {
        grid-column: 1 / -1;
        border-right: 0;
        border-bottom: 1px solid var(--admin-color-border, var(--border));
        background: #f5f7f4;
    }

    .submission-change-table__row > span {
        display: grid;
        gap: 4px;
    }

    .submission-change-table__row > span::before {
        color: var(--admin-color-muted, var(--muted));
        font-size: .62rem;
        font-weight: var(--admin-weight-heavy, 850);
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    .submission-change-table__row > span:nth-child(2)::before {
        content: "Current";
    }

    .submission-change-table__row > span:nth-child(3)::before {
        content: "Submitted";
    }

    .park-media-gallery-grid {
        grid-template-columns: 1fr;
    }

    .park-media-upload-queue__item {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .park-media-upload-queue__status {
        grid-column: 2;
    }

    .park-media-settings-panel__actions .button {
        width: 100%;
    }
}
