@font-face {
    font-family: "Sarabun";
    src: url("../font/Sarabun-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

.reference-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.reference-tabs {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0;
}

.reference-tabs a {
    background: var(--surface, #fff);
    border: 1px solid var(--border, #d8dee6);
    border-radius: 8px;
    color: var(--text, #1f2937);
    font-weight: 700;
    padding: 10px 14px;
    text-decoration: none;
}

.reference-tabs a.active,
.reference-tabs a:hover {
    background: var(--primary, #2563eb);
    border-color: var(--primary, #2563eb);
    color: #fff;
}

.reference-filter-panel {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(180px, 1.3fr) repeat(5, minmax(130px, 1fr)) auto auto;
    margin-bottom: 18px;
}

.reference-filter-panel label,
.reference-form-card label {
    display: grid;
    gap: 6px;
}

.reference-admin-grid {
    align-items: start;
    grid-template-columns: minmax(280px, 0.38fr) minmax(0, 1fr);
}

.reference-form-card .reference-location-grid {
    grid-template-columns: minmax(0, 1fr);
}

.reference-form-card .reference-location-grid label,
.reference-form-card .reference-location-grid select {
    min-width: 0;
    width: 100%;
}

.reference-candidate-grid {
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.reference-row-list {
    display: grid;
    gap: 12px;
}

.reference-row {
    align-items: center;
    border: 1px solid var(--border, #d8dee6);
    border-radius: 8px;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 14px;
}

.reference-row h3 {
    font-size: 1rem;
    margin: 8px 0 4px;
}

.reference-row p {
    margin: 0 0 6px;
}

.reference-record-card {
    background: linear-gradient(135deg, #fff 0%, #fbfefc 100%);
    border-color: #cfe2d6;
    border-left: 5px solid #2fa45f;
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(16, 73, 44, 0.08);
    min-height: 150px;
    overflow: hidden;
    padding: 18px 16px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.reference-record-card:hover {
    border-color: #9fcbb0;
    box-shadow: 0 12px 28px rgba(16, 73, 44, 0.13);
    transform: translateY(-1px);
}

.reference-record-card.is-inactive {
    border-left-color: #d89a2b;
}

.reference-row-main {
    min-width: 0;
}

.reference-record-card h3 {
    color: #123c2a;
    font-size: 1.08rem;
    line-height: 1.35;
    margin: 12px 0 4px;
    overflow-wrap: anywhere;
}

.reference-record-card p {
    color: var(--muted, #64748b);
    line-height: 1.5;
}

.reference-row-meta {
    align-items: center;
    color: #147441;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.84rem;
    font-weight: 800;
    gap: 8px;
    margin-top: 14px;
}

.reference-row-meta-separator {
    background: #b8d9c4;
    border-radius: 999px;
    height: 16px;
    width: 2px;
}

.reference-record-card .reference-row-actions {
    align-self: stretch;
    align-content: center;
    border-left: 1px solid #deebe3;
    min-width: 118px;
    padding-left: 18px;
}

.reference-record-card .reference-row-actions .btn,
.reference-record-card .reference-row-actions button {
    min-height: 42px;
    min-width: 52px;
}

.candidate-row {
    align-items: stretch;
    grid-template-columns: 1fr;
}

.candidate-review-form {
    align-items: end;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(150px, 0.8fr) minmax(120px, 0.5fr) minmax(180px, 1fr) auto;
}

.reference-merge-panel {
    border-bottom: 1px solid var(--border, #d8dee6);
    display: grid;
    gap: 14px;
    margin-bottom: 16px;
    padding-bottom: 16px;
}

.reference-merge-panel h3 {
    font-size: 1.05rem;
    margin: 4px 0;
}

.reference-merge-panel p {
    margin: 0;
}

.reference-merge-form,
.reference-merge-confirm form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(180px, 1fr) minmax(140px, 0.6fr) auto;
}

.reference-merge-form label,
.reference-merge-confirm label {
    display: grid;
    gap: 6px;
}

.reference-merge-preview {
    background: #f8fbf9;
    border: 1px solid rgba(22, 163, 74, 0.18);
    border-radius: 8px;
    display: grid;
    gap: 14px;
    padding: 14px;
}

.reference-merge-target,
.reference-merge-confirm {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
}

.reference-merge-target strong,
.reference-merge-confirm strong {
    color: #0b5d2a;
    display: block;
    font-size: 1.1rem;
}

.reference-merge-source-list {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
}

.reference-merge-source-list li {
    align-items: center;
    border-top: 1px solid rgba(15, 81, 50, 0.12);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
    padding-top: 8px;
}

.compact-alert {
    margin: 0;
}

.property-settings-grid {
    align-items: start;
    grid-template-columns: minmax(280px, 0.34fr) minmax(0, 1fr);
    margin-bottom: 22px;
}

.property-settings-list {
    display: grid;
    gap: 12px;
}

.property-settings-row {
    border: 1px solid var(--border, #d8dee6);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.property-settings-row h3 {
    font-size: 1rem;
    margin: 8px 0 4px;
}

.property-settings-row p {
    margin: 0 0 6px;
}

.property-settings-edit-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(160px, 1fr) minmax(150px, 0.8fr) minmax(110px, 0.55fr) minmax(80px, 0.35fr) auto auto;
}

.property-settings-edit-form.operation {
    grid-template-columns: minmax(160px, 1fr) minmax(150px, 0.8fr) minmax(80px, 0.35fr) auto auto;
}

.property-settings-edit-form label,
.property-settings-form-card label {
    display: grid;
    gap: 6px;
}

.property-settings-edit-form .inline-check {
    align-items: center;
    align-self: center;
    display: flex;
    gap: 8px;
}

.land-map-hero {
    align-items: flex-end;
    background: #fff;
    border: 1px solid #dbe9e2;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(20, 71, 45, 0.07);
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin: 20px auto 16px;
    max-width: 1240px;
    padding: 18px 20px;
    width: calc(100% - 48px);
}

.land-map-status {
    background: #f7fbf9;
    border: 1px solid #dbe9e2;
    border-radius: 8px;
    display: grid;
    gap: 3px;
    min-width: 180px;
    padding: 12px 14px;
    text-align: right;
}

.land-map-status span,
.land-map-summary span,
.land-map-list small {
    color: #5a7167;
}

.land-map-status strong {
    color: #0f7f3f;
    font-size: 18px;
}

.land-map-alert {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 0 auto 16px;
    max-width: 1240px;
    width: calc(100% - 48px);
}

.land-map-shell {
    background: #fff;
    border: 1px solid #dbe9e2;
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(20, 71, 45, 0.08);
    display: grid;
    gap: 16px;
    margin: 0 auto 28px;
    max-width: 1240px;
    padding: 16px;
    width: calc(100% - 48px);
}

.land-map-filter {
    background: #fbfdfb;
    border: 1px solid #e0eee7;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(6, minmax(120px, 1fr)) auto;
    padding: 14px;
}

.land-map-filter label {
    display: grid;
    gap: 6px;
}

.land-map-filter label span {
    color: #36584a;
    font-size: 12px;
    font-weight: 700;
}

.land-map-filter-actions {
    align-items: end;
    display: flex;
    gap: 8px;
}

.land-map-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.land-map-summary span {
    background: #f7fbf9;
    border: 1px solid #dbe9e2;
    border-radius: 999px;
    padding: 7px 11px;
}

.land-map-summary strong {
    color: #0b6b35;
}

.land-map-workspace {
    border: 1px solid #dbe9e2;
    border-radius: 8px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    min-height: 560px;
    overflow: hidden;
}

.land-map-canvas {
    background: #edf4f0;
    min-height: 560px;
}

.land-map-placeholder {
    align-content: center;
    color: #416457;
    display: grid;
    gap: 8px;
    height: 100%;
    justify-items: center;
    padding: 24px;
    text-align: center;
}

.land-map-side {
    background: #ffffff;
    border-left: 1px solid #dbe9e2;
    display: grid;
    gap: 14px;
    grid-template-rows: auto auto 1fr;
    padding: 16px;
}

.land-map-legend,
.land-map-list {
    display: grid;
    gap: 8px;
}

.land-map-legend span,
.land-map-list a {
    align-items: center;
    display: flex;
    gap: 8px;
}

.land-map-legend i,
.land-map-list i {
    border: 2px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
    flex: 0 0 12px;
    height: 12px;
    width: 12px;
}

.land-map-list {
    max-height: 430px;
    overflow: auto;
    padding-right: 4px;
}

.land-map-list a {
    border: 1px solid #e4eee9;
    border-radius: 8px;
    color: #0f2d23;
    padding: 10px;
    text-decoration: none;
}

.land-map-list a:hover {
    border-color: #9bd6b6;
    box-shadow: 0 8px 20px rgba(15, 127, 63, 0.08);
}

.land-map-list span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.land-map-list strong,
.land-map-list small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.land-map-info {
    color: #17382c;
    display: grid;
    gap: 4px;
    min-width: 220px;
}

.land-map-info strong {
    font-size: 15px;
}

.land-map-info a {
    color: #0b7a3a;
    font-weight: 700;
    margin-top: 6px;
}

.compact-pagination {
    margin-top: 14px;
}

.reference-pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 18px;
}

.reference-pagination .compact-pagination {
    margin-top: 0;
}

.reference-page-summary {
    color: var(--muted, #64748b);
    font-size: 0.9rem;
    font-weight: 600;
}

@media (max-width: 640px) {
    .reference-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .reference-pagination .pagination.compact {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 4px;
    }
}

@media (max-width: 1100px) {
    .document-upload-grid {
        grid-template-columns: 1fr;
        width: calc(100% - 32px);
    }

    .document-upload-panel {
        position: static;
    }

    .document-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .document-filter-actions {
        grid-column: 1 / -1;
    }

    .reference-filter-panel,
    .reference-admin-grid,
    .reference-candidate-grid,
    .candidate-review-form,
    .reference-merge-form,
    .reference-merge-confirm form,
    .property-settings-grid,
    .property-settings-edit-form,
    .property-settings-edit-form.operation,
    .land-map-filter,
    .land-map-workspace {
        grid-template-columns: 1fr;
    }

    .land-map-side {
        border-left: 0;
        border-top: 1px solid #dbe9e2;
    }

    .land-map-hero,
    .land-map-alert,
    .land-map-shell {
        width: calc(100% - 32px);
    }

    .reference-row {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .reference-record-card {
        min-height: 0;
    }

    .reference-record-card .reference-row-actions {
        border-left: 0;
        border-top: 1px solid #deebe3;
        justify-content: flex-start;
        min-width: 0;
        padding-left: 0;
        padding-top: 14px;
    }
}

.request-board-hero,
.request-board-panel,
.request-board-list,
.request-detail-card,
.request-contact-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(16, 64, 43, 0.07);
}

.request-board-hero {
    align-items: flex-end;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin: 36px auto 18px;
    max-width: 1120px;
    padding: 28px;
}

.request-board-hero h1,
.request-detail-card h1 {
    color: var(--ink);
    font-size: 34px;
    line-height: 1.18;
    margin: 6px 0 10px;
}

.request-board-hero p,
.request-detail-card p {
    color: var(--muted);
}

.request-board-panel,
.request-board-list {
    margin: 0 auto 18px;
    max-width: 1120px;
    padding: 18px;
}

.request-board-filter {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.request-board-filter label {
    display: grid;
    gap: 6px;
}

.request-board-filter span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.request-board-filter input,
.request-board-filter select {
    border: 1px solid var(--line);
    border-radius: 8px;
    min-height: 44px;
    padding: 10px 12px;
    width: 100%;
}

.request-board-filter-actions {
    align-items: end;
    display: flex;
    gap: 8px;
}

.request-board-list-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
}

.request-board-list-head h2 {
    margin: 0;
}

.request-board-list-head span,
.request-board-empty {
    color: var(--muted);
}

.request-board-card {
    align-items: stretch;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) 220px;
    margin-top: 12px;
    padding: 18px;
}

.request-board-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.request-board-card-meta span {
    background: #eef9f2;
    border: 1px solid #caead6;
    border-radius: 999px;
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 800;
    padding: 5px 10px;
}

.request-board-card h3 {
    font-size: 22px;
    margin: 0 0 8px;
}

.request-board-card h3 a {
    color: var(--ink);
    text-decoration: none;
}

.request-board-card p {
    color: var(--muted);
    margin: 0 0 12px;
}

.request-board-card-foot {
    color: var(--muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    gap: 12px;
}

.request-board-card-stats {
    align-items: center;
    display: inline-flex;
    gap: 10px;
}

.request-board-card-stats span {
    align-items: center;
    color: #315d45;
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 4px;
}

.request-board-card-stats svg {
    fill: none;
    height: 16px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 16px;
}

.request-board-card-side {
    align-content: space-between;
    border-left: 1px solid var(--line);
    display: grid;
    gap: 12px;
    padding-left: 16px;
}

.request-board-card-side strong {
    color: var(--green-dark);
    font-size: 18px;
}

.request-board-detail-btn {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
}

.request-board-detail-btn:hover,
.request-board-detail-btn:focus {
    background: var(--green-dark);
    border-color: var(--green-dark);
    color: #fff;
}

.pagination.compact {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 18px;
}

.pagination.compact a {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 38px;
    min-width: 38px;
    text-decoration: none;
}

.pagination.compact a.active {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
}

.request-detail-shell {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) 320px;
    margin: 36px auto;
    max-width: 1120px;
}

.back-link {
    align-items: center;
    border: 1px solid #d7e7db;
    border-radius: 8px;
    color: var(--green-dark);
    display: inline-flex;
    font-weight: 800;
    gap: 4px;
    justify-content: center;
    padding: 8px 12px;
    text-decoration: none;
    white-space: nowrap;
}

.back-link:hover {
    background: #eef9f2;
}

.request-detail-card,
.request-contact-card {
    padding: 24px;
}

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

.request-detail-card-head .request-board-card-meta {
    margin-bottom: 10px;
}

.request-detail-owner {
    font-weight: 700;
}

.request-detail-stats {
    align-items: center;
    color: #315d45;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: -4px 0 16px;
}

.request-detail-stats span {
    align-items: center;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 5px;
}

.request-detail-stats svg {
    fill: none;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 17px;
}

.request-detail-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 18px 0;
}

.request-detail-grid div {
    background: #f8fbf8;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 4px;
    padding: 12px;
}

.request-detail-grid span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.request-detail-section {
    border-top: 1px solid var(--line);
    margin-top: 18px;
    padding-top: 18px;
}

.request-contact-card {
    position: sticky;
    top: 86px;
}

.request-contact-card h2 {
    font-size: 20px;
    margin-top: 0;
}

.contact-lead-form {
    display: grid;
    gap: 12px;
}

.contact-lead-form label {
    display: grid;
    gap: 6px;
}

.contact-lead-form input,
.contact-lead-form select {
    border: 1px solid var(--line);
    border-radius: 8px;
    min-height: 42px;
    padding: 10px 12px;
}

.contact-lead-member-note {
    background: #f5faf7;
    border: 1px solid #d6eadc;
    border-radius: 8px;
    color: var(--green-dark);
    display: grid;
    gap: 4px;
    padding: 12px;
}

.contact-lead-member-note strong {
    color: var(--green-dark);
    font-size: 15px;
}

.contact-lead-member-note span {
    color: var(--muted);
    line-height: 1.45;
}

.modal-backdrop[hidden] {
    display: none;
}

.modal-backdrop {
    align-items: center;
    background: rgba(8, 31, 28, 0.46);
    display: flex;
    inset: 0;
    justify-content: center;
    overflow-y: auto;
    padding: 24px;
    position: fixed;
    z-index: 1200;
}

.modal-card {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 10px;
    box-shadow: 0 28px 90px rgba(9, 38, 35, 0.28);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding: 22px;
    position: relative;
    width: min(460px, 100%);
}

.modal-close {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--muted);
    cursor: pointer;
    display: inline-flex;
    font-size: 18px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 12px;
    top: 12px;
    width: 34px;
}

.modal-card h2 {
    color: var(--ink);
    font-size: 22px;
    margin: 0 42px 8px 0;
}

.modal-card p {
    color: var(--muted);
    line-height: 1.55;
    margin: 0 0 16px;
}

.modal-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.modal-card.contact-lead-modal {
    max-width: 460px;
}

@media (max-width: 900px) {
    .notification-grid {
        max-width: none;
    }

    .message-box-hero {
        align-items: flex-start;
        margin: 14px 12px 12px;
    }

    .message-box-page,
    .message-detail-page {
        max-width: none;
        padding-inline: 12px;
    }

    .message-box-page,
    .message-detail-grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    .message-filter-panel {
        position: static;
    }

    .request-board-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .request-detail-shell {
        grid-template-columns: 1fr;
    }

    .request-contact-card {
        position: static;
    }
}

@media (max-width: 640px) {
    .notification-card {
        padding: 14px;
    }

    .notification-card-head,
    .notification-card-foot,
    .notification-actions {
        align-items: flex-start;
        display: grid;
        justify-content: stretch;
    }

    .notification-badges {
        justify-content: flex-start;
    }

    .notification-actions .btn,
    .notification-actions form,
    .notification-actions button {
        width: 100%;
    }

    .message-box-hero {
        display: grid;
        padding: 16px;
    }

    .message-box-hero h1 {
        font-size: 24px;
    }

    .message-thread-head,
    .message-thread-card .notification-card-foot {
        align-items: flex-start;
        display: grid;
        justify-content: stretch;
    }

    .message-thread-card .notification-badges {
        justify-content: flex-start;
    }

    .message-thread-card .btn {
        width: 100%;
    }

    .request-board-hero {
        align-items: stretch;
        flex-direction: column;
        margin-top: 18px;
        padding: 20px;
    }

    .request-board-hero h1,
    .request-detail-card h1 {
        font-size: 27px;
    }

    .request-board-filter,
    .request-board-card,
    .request-detail-grid {
        grid-template-columns: 1fr;
    }

    .request-detail-card-head {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .request-detail-card-head .back-link {
        width: fit-content;
    }

    .request-board-card-side {
        border-left: 0;
        border-top: 1px solid var(--line);
        padding-left: 0;
        padding-top: 14px;
    }

    .request-board-filter-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@font-face {
    font-family: "Sarabun";
    src: url("../font/Sarabun-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --bg: #ffffff;
    --surface: #f7faf8;
    --surface-strong: #eef7ef;
    --text: #173126;
    --muted: #63756b;
    --line: #e4ece6;
    --border: var(--line);
    --green: #2f9e59;
    --green-dark: #1f7b42;
    --yellow: #fff2bd;
    --yellow-text: #765b08;
    --shadow: 0 12px 30px rgba(31, 78, 49, .08);
    --radius: 8px;
    --app-font-size: 15px;
    --app-line-height: 1.55;
    --topbar-height: 68px;
    --sidebar-width: 236px;
    --sidebar-collapsed-width: 72px;
    --control-height: 42px;
    --topbar-control-size: 48px;
    --mobile-topbar-height: 72px;
    --mobile-action-size: 46px;
    --font-sans: "Sarabun", sans-serif, Tahoma, "Leelawadee UI", "Segoe UI", Arial;
    --font-mono: Consolas, "Courier New", monospace;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-sans);
    font-size: var(--app-font-size);
    line-height: var(--app-line-height);
    overflow-x: hidden;
}

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

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

textarea {
    width: 100%;
    max-width: 100%;
    min-height: 112px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 12px 14px;
    background: #fff;
    color: var(--text);
    line-height: 1.55;
    resize: vertical;
}

:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select) {
    width: 100%;
    max-width: 100%;
    min-height: var(--control-height);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--text);
    padding: 0 14px;
    box-shadow: none;
}

:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea):focus {
    border-color: rgba(47, 158, 89, .55);
    box-shadow: 0 0 0 3px rgba(47, 158, 89, .12);
    outline: none;
}

select {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--muted) 50%),
        linear-gradient(135deg, var(--muted) 50%, transparent 50%);
    background-position:
        calc(100% - 17px) 50%,
        calc(100% - 12px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-right: 34px;
}

code,
kbd,
pre {
    font-family: var(--font-mono);
}

.app-shell {
    display: grid;
    grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
    grid-template-rows: var(--topbar-height) minmax(0, 1fr);
    min-height: 100vh;
    transition: grid-template-columns .2s ease;
}

.admin-body {
    background: #f5f8f6;
    overflow-x: hidden;
}

.admin-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 76px minmax(0, 1fr) auto;
    overflow-x: hidden;
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr) max-content;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 10px 26px rgba(23, 49, 38, .05);
    padding: 0 24px;
    backdrop-filter: blur(12px);
}

.admin-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    width: 190px;
    color: var(--green-dark);
    font-weight: 900;
}

.admin-brand img {
    width: auto;
    height: 48px;
    max-width: 100%;
    display: block;
}

.admin-brand span {
    border-left: 1px solid var(--line);
    color: var(--text);
    font-size: 15px;
    padding-left: 10px;
}

.admin-primary-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-width: 0;
}

.admin-topbar,
.admin-main,
.admin-primary-nav,
.admin-nav-group,
.admin-filter-panel,
.admin-table-wrap,
.dashboard-card,
.admin-message-row,
.addon-catalog-row,
.support-ticket-row {
    min-width: 0;
}

.admin-nav-group {
    position: relative;
}

.admin-nav-group::after {
    display: none;
}

.admin-nav-group > button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 42px;
    border: 1px solid transparent;
    border-radius: var(--radius);
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    font-size: 14px;
    font-weight: 900;
    padding: 0 5px;
}

.admin-nav-group > button svg,
.admin-icon-link svg,
.admin-menu-button svg,
.admin-mobile-panel-head button svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.admin-nav-group.active > button,
.admin-nav-group > button:hover,
.admin-nav-group:hover > button,
.admin-nav-group.open > button {
    border-color: #ccead3;
    background: var(--surface-strong);
    color: var(--green-dark);
}

.admin-menu-panel {
    position: absolute;
    top: calc(100% + 4px);
    left: 50%;
    z-index: 40;
    width: 240px;
    max-width: calc(100vw - 24px);
    transform: translate(-50%, 8px);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 20px 48px rgba(23, 49, 38, .14);
    display: block;
    max-height: calc(100vh - 92px);
    opacity: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px;
    pointer-events: none;
    transition: opacity .16s ease, transform .16s ease;
}

.admin-nav-group.open .admin-menu-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.admin-menu-panel-wide {
    width: min(680px, calc(100vw - 24px));
}

.admin-menu-panel-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
}

.admin-menu-section {
    min-width: 0;
    border: 1px solid #e7efe9;
    border-radius: var(--radius);
    background: #fbfdfb;
    padding: 8px;
}

.admin-menu-section-title {
    display: block;
    color: var(--green-dark);
    border: 1px solid #c7e8d0;
    border-left: 4px solid var(--green);
    border-radius: 8px;
    background: #e8f6ec;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
    margin-bottom: 5px;
    padding: 8px 10px;
    text-transform: uppercase;
}

.admin-menu-section-links {
    display: grid;
    gap: 3px;
}

.admin-nav-group.open > button svg {
    transform: rotate(180deg);
}

.admin-nav-group > button svg {
    transition: transform .16s ease;
}

.admin-menu-panel a,
.admin-mobile-group a {
    border-radius: var(--radius);
    color: var(--muted);
    display: block;
    font-weight: 800;
    padding: 10px 12px;
    overflow-wrap: anywhere;
}

.admin-menu-panel a:hover,
.admin-menu-panel a.active,
.admin-mobile-group a:hover,
.admin-mobile-group a.active {
    background: var(--surface-strong);
    color: var(--green-dark);
}

.admin-mobile-section + .admin-mobile-section {
    border-top: 1px solid var(--line);
    margin-top: 8px;
    padding-top: 8px;
}

.admin-mobile-section > strong {
    display: block;
    color: var(--green-dark);
    border-left: 4px solid var(--green);
    border-radius: 8px;
    background: #e8f6ec;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
    margin: 4px 8px;
    padding: 8px 10px;
    text-transform: uppercase;
}

.admin-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: max-content;
}

.admin-logout-form {
    display: inline-grid;
    margin: 0;
}

.admin-icon-link,
.admin-menu-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--green-dark);
    display: inline-grid;
    place-items: center;
    font-weight: 900;
    cursor: pointer;
    text-decoration: none;
}

.admin-language-toggle {
    width: 58px;
    min-width: 58px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--green-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.admin-language-toggle svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.admin-notify-link {
    position: relative;
}

.admin-language-toggle:hover,
.admin-language-toggle:focus-visible,
.admin-icon-link.active,
.admin-icon-link:hover,
.admin-icon-link:focus-visible {
    border-color: rgba(47, 158, 89, 0.38);
    background: #f2fbf5;
}

.admin-notify-badge {
    align-items: center;
    background: #e11d1d;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 900;
    height: 20px;
    justify-content: center;
    min-width: 20px;
    padding: 0 5px;
    position: absolute;
    right: -7px;
    top: -7px;
}

.admin-logout-button {
    cursor: pointer;
}

.admin-logout-button:hover {
    border-color: #ffd3d3;
    background: #fff5f5;
    color: #a33a3a;
}

.admin-menu-button {
    display: none;
    cursor: pointer;
}

.admin-profile {
    min-height: 44px;
    width: 44px;
    min-width: 44px;
    max-width: 44px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    column-gap: 9px;
    align-items: center;
    color: var(--text);
    padding: 4px;
    text-decoration: none;
    transition: border-color .16s ease, background .16s ease;
}

.admin-profile:hover,
.admin-profile:focus-visible,
.admin-profile.active {
    border-color: rgba(47, 158, 89, 0.38);
    background: #f2fbf5;
}

.admin-profile span {
    grid-row: auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 900;
    overflow: hidden;
}

.admin-profile span img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.admin-profile strong,
.admin-profile small {
    display: none;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-profile strong {
    font-size: 14px;
}

.admin-profile small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.2;
}

.admin-profile-editor {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(320px, 1.2fr);
    gap: 18px;
    align-items: start;
    padding: 18px;
    border-radius: 8px;
    box-shadow: 0 16px 40px rgba(12, 64, 40, .08);
}

.admin-profile-preview {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    min-width: 0;
}

.admin-profile-preview h2 {
    margin: 3px 0 5px;
    font-size: 24px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.admin-profile-preview p,
.admin-avatar-form p {
    margin: 0;
    color: var(--muted);
}

.admin-profile-avatar-large {
    width: 96px;
    height: 96px;
    border: 1px solid #ccead3;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    display: grid;
    place-items: center;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(12, 64, 40, .1);
}

.admin-profile-avatar-large span {
    font-size: 42px;
    font-weight: 900;
}

.admin-profile-avatar-large img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.default-person-avatar {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--green-dark);
}

.default-person-avatar svg {
    width: 68%;
    height: 68%;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.avatar .default-person-avatar svg {
    width: 72%;
    height: 72%;
}

.admin-avatar-form {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface-strong);
}

.admin-avatar-form .btn-primary {
    justify-content: center;
    width: 100%;
}

.admin-profile-form-stack,
.account-personal-form {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.account-personal-form h2,
.account-personal-form p {
    margin: 0;
}

.account-age-summary {
    display: grid;
    align-content: center;
    gap: 5px;
    min-height: 47px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #f8fbf9;
}

.account-age-summary span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.account-age-summary strong {
    color: var(--green-dark);
}

.profile-avatar-inline {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 12px;
    margin-top: 18px;
    padding-top: 18px;
}

.profile-avatar-inline .admin-profile-avatar-large {
    width: 96px;
    height: 96px;
}

.admin-main {
    width: min(1280px, 100%);
    justify-self: center;
    padding: 16px 24px 24px;
}

.admin-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 34px;
    margin: -4px 0 14px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
}

.admin-breadcrumb a,
.admin-breadcrumb span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
}

.admin-breadcrumb a {
    color: var(--green-dark);
}

.admin-breadcrumb a::after {
    content: "/";
    color: var(--muted);
    margin-left: 8px;
}

.admin-breadcrumb span[aria-current="page"] {
    color: var(--text);
}

.member-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 10px 28px rgba(8, 59, 43, 0.06);
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
}

.member-breadcrumb a,
.member-breadcrumb span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
}

.member-breadcrumb a {
    color: var(--green-dark);
    text-decoration: none;
}

.member-breadcrumb a::after {
    content: "/";
    color: var(--muted);
    margin-left: 8px;
}

.member-breadcrumb span[aria-current="page"] {
    color: var(--text);
}

.admin-footer {
    width: min(1280px, 100%);
    justify-self: center;
    border-top: 1px solid var(--line);
    color: var(--muted);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 24px 24px;
}

.admin-mobile-backdrop,
.admin-mobile-panel {
    display: none;
}

.admin-body .workspace-header,
.admin-body .workspace-grid {
    padding-left: 0;
    padding-right: 0;
}

.admin-body .workspace-grid {
    padding-bottom: 24px;
}

.admin-page-hero {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
    margin-bottom: 16px;
}

.admin-overview-grid {
    display: grid;
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr) minmax(240px, 300px);
    gap: 16px;
    align-items: start;
}

.admin-foundation-main {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.admin-foundation-card {
    padding: 16px;
}

.admin-foundation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.admin-dashboard-hero {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
    padding: 22px;
}

.admin-dashboard-hero-copy {
    min-width: 0;
    max-width: 860px;
}

.admin-dashboard-hero h1 {
    margin: 0;
    font-size: 32px;
    line-height: 1.2;
}

.admin-dashboard-hero p {
    color: var(--muted);
    margin: 8px 0 0;
}

.admin-dashboard-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.admin-dashboard-summary {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}

.admin-dashboard-summary.is-metrics-only {
    grid-template-columns: minmax(0, 1fr);
}

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

.admin-dashboard-metrics article {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 16px;
}

.admin-dashboard-metrics span,
.admin-dashboard-metrics small {
    color: var(--muted);
    font-size: 14px;
}

.admin-dashboard-metrics strong {
    color: var(--green-dark);
    font-size: 28px;
    line-height: 1;
}

.admin-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 16px;
    align-items: start;
}

.admin-dashboard-module {
    min-width: 0;
}

.admin-dashboard-module:first-child {
    grid-row: span 2;
}

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

.admin-shortcut-grid a {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    color: var(--text);
    display: grid;
    gap: 4px;
    min-height: 86px;
    padding: 14px;
}

.admin-shortcut-grid a:hover {
    border-color: #ccead3;
    background: var(--surface-strong);
}

.admin-shortcut-grid strong {
    color: var(--green-dark);
    font-size: 16px;
}

.admin-shortcut-grid span {
    color: var(--muted);
    font-size: 14px;
}

.admin-metric-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.admin-metric-board div {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    display: grid;
    gap: 4px;
    min-height: 82px;
    padding: 12px;
}

.admin-metric-board span {
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
}

.admin-metric-board strong {
    color: var(--green-dark);
    font-size: 24px;
    line-height: 1;
}

.admin-distribution-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.admin-distribution-list div {
    display: grid;
    grid-template-columns: minmax(110px, 1fr) minmax(90px, 1.2fr) auto;
    gap: 10px;
    align-items: center;
}

.admin-distribution-list span,
.admin-distribution-list strong,
.admin-distribution-list small {
    display: block;
    min-width: 0;
}

.admin-distribution-list strong {
    color: var(--text);
    font-size: 15px;
}

.admin-distribution-list small {
    color: var(--muted);
    font-size: 12px;
}

.admin-distribution-list em {
    position: relative;
    height: 10px;
    border-radius: 999px;
    background: #e8efe9;
    overflow: hidden;
}

.admin-distribution-list em::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--metric-width, 0%);
    border-radius: inherit;
    background: linear-gradient(90deg, var(--green), var(--green-dark));
}

.admin-distribution-list .is-featured em::after {
    background: linear-gradient(90deg, #f6b400, var(--green));
}

.admin-distribution-list b {
    color: var(--green-dark);
    font-size: 15px;
    text-align: right;
}

.admin-activity-stream strong {
    word-break: break-word;
}

.settings-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.admin-header-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.settings-card-header h2 {
    font-size: 22px;
    margin: 4px 0 0;
}

.status-pill {
    border: 1px solid #ccead3;
    border-radius: 999px;
    background: var(--surface-strong);
    color: var(--green-dark);
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}

.status-pill.is-muted {
    border-color: #dbe4df;
    background: #f5f7f5;
    color: var(--muted);
}

.status-pill.warning {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #9a3412;
}

.admin-table-wrap {
    max-width: 100%;
    min-width: 0;
    width: 100%;
    overflow-x: auto;
}

.admin-filter-panel {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 14px;
    padding: 14px;
}

.admin-filter-panel label {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.admin-filter-panel label span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
}

.admin-filter-panel input,
.admin-filter-panel select {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--text);
    font: inherit;
    padding: 0 12px;
}

.admin-filter-actions {
    display: flex;
    align-items: end;
    gap: 8px;
}

.admin-list-meta {
    color: var(--muted);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    margin: 4px 0 12px;
    font-size: 14px;
    font-weight: 800;
}

.admin-activity-card {
    min-width: 0;
    overflow: hidden;
}

.admin-activity-shell {
    display: grid;
    gap: 14px;
}

.admin-activity-filter-panel {
    grid-template-columns: repeat(5, minmax(140px, 1fr));
}

.admin-activity-filter-actions {
    align-items: end;
    grid-column: span 2;
}

.admin-activity-list {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.admin-activity-row {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    display: grid;
    gap: 10px;
    padding: 14px;
    min-width: 0;
}

.admin-activity-row.empty {
    color: var(--muted);
}

.admin-activity-row-main {
    align-items: start;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(130px, .8fr) minmax(210px, 1.35fr) minmax(180px, 1fr) minmax(110px, .6fr);
    min-width: 0;
}

.admin-activity-time,
.admin-activity-action,
.admin-activity-actor,
.admin-activity-target {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.admin-activity-time strong,
.admin-activity-actor strong,
.admin-activity-target strong {
    color: var(--text);
    font-weight: 900;
}

.admin-activity-time span,
.admin-activity-actor span,
.admin-activity-actor small,
.admin-activity-target span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.admin-activity-action {
    align-items: start;
}

.admin-activity-action code {
    color: var(--green-dark);
    font-family: "Sarabun", sans-serif;
    font-size: 14px;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.admin-activity-row-details {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(100px, .55fr) minmax(260px, 1.8fr);
    padding-top: 10px;
    min-width: 0;
}

.admin-activity-row-details div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.admin-activity-row-details span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-activity-row-details strong {
    color: var(--text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.admin-member-card {
    min-width: 0;
    overflow: hidden;
}

.admin-member-header-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.admin-staff-row-actions {
    display: flex;
    gap: 8px;
    min-width: max-content;
}

.admin-staff-edit-layout {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr);
    margin: 0 24px 36px;
}

.admin-staff-edit-summary {
    display: grid;
    gap: 10px;
}

.admin-staff-edit-summary h2,
.admin-staff-edit-summary p {
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-staff-edit-summary dl {
    display: grid;
    gap: 10px;
    margin: 8px 0 0;
}

.admin-staff-edit-summary dl > div {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 3px;
    padding-top: 10px;
}

.admin-staff-edit-summary dt {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 700;
}

.admin-staff-edit-summary dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-staff-edit-form {
    display: grid;
    gap: 18px;
}

.admin-staff-edit-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-staff-edit-grid label {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.admin-staff-edit-grid label > span {
    font-weight: 800;
}

.admin-staff-edit-grid input,
.admin-staff-edit-grid select,
.admin-staff-edit-grid textarea {
    width: 100%;
}

.admin-staff-edit-grid small {
    color: var(--muted);
    line-height: 1.45;
}

.admin-staff-edit-reason {
    grid-column: 1 / -1;
}

.admin-staff-edit-notice {
    background: #fff9e8;
    border: 1px solid #ead79c;
    border-radius: 8px;
    color: #705712;
    line-height: 1.55;
    padding: 12px 14px;
}

.admin-staff-edit-actions {
    gap: 10px;
}

@media (max-width: 900px) {
    .admin-staff-edit-layout {
        grid-template-columns: 1fr;
        margin-inline: 12px;
    }
}

@media (max-width: 640px) {
    .admin-staff-row-actions,
    .admin-staff-edit-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .admin-staff-edit-grid {
        grid-template-columns: 1fr;
    }

    .admin-staff-edit-reason {
        grid-column: auto;
    }
}

.admin-member-create-form {
    display: grid;
    gap: 16px;
}

[data-account-scope][hidden] {
    display: none !important;
}

.admin-manual-account-type {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    border: 0;
}

.admin-manual-account-type legend {
    grid-column: 1 / -1;
    margin-bottom: 2px;
    color: var(--text);
    font-weight: 900;
}

.admin-manual-account-type label {
    position: relative;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 12px;
    align-items: flex-start;
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    cursor: pointer;
}

.admin-manual-account-type label:has(input:checked) {
    border-color: rgba(32, 154, 84, 0.55);
    background: rgba(32, 154, 84, 0.07);
    box-shadow: 0 0 0 2px rgba(32, 154, 84, 0.08);
}

.admin-manual-account-type input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--primary);
}

.admin-manual-account-type span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.admin-manual-account-type small {
    color: var(--muted);
    line-height: 1.45;
}

.admin-manual-admin-warning {
    margin: 0;
}

.admin-member-create-section {
    display: grid;
    gap: 18px;
}

.admin-member-create-section > header {
    display: grid;
    gap: 5px;
}

.admin-member-create-section > header h2,
.admin-member-create-section > header p {
    margin: 0;
}

.admin-member-create-section > header p,
.admin-member-create-section label small {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.admin-member-create-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.admin-member-create-grid label,
.admin-member-create-reason {
    align-content: start;
    display: grid;
    gap: 7px;
    min-width: 0;
}

.admin-member-create-grid label > span,
.admin-member-create-reason > span {
    color: var(--text);
    font-weight: 900;
}

.admin-member-create-grid input,
.admin-member-create-grid select,
.admin-member-create-reason textarea {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    color: var(--text);
    font: inherit;
    min-width: 0;
    padding: 11px 12px;
    width: 100%;
}

.admin-member-create-grid input,
.admin-member-create-grid select {
    min-height: 46px;
}

.admin-member-create-wide {
    grid-column: 1 / -1;
}

.admin-member-create-consent {
    align-items: flex-start;
    background: #fbfdfb;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 20px minmax(0, 1fr);
    padding: 14px;
}

.admin-member-create-consent.required {
    background: rgba(32, 154, 84, 0.06);
    border-color: rgba(32, 154, 84, 0.3);
}

.admin-member-create-consent input {
    height: 18px;
    margin: 2px 0 0;
    width: 18px;
}

.admin-member-create-consent span {
    display: grid;
    gap: 3px;
}

.admin-member-create-actions {
    align-items: center;
    border-top: 1px solid var(--line);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    padding-top: 16px;
}

.admin-member-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 16px;
    margin-bottom: 16px;
}

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

.admin-definition-grid div,
.admin-metric-grid.compact > div {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 12px;
}

.admin-definition-grid span,
.admin-metric-grid.compact span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
}

.admin-definition-grid strong,
.admin-metric-grid.compact strong {
    color: var(--text);
    font-size: 17px;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.admin-definition-grid small,
.admin-metric-grid.compact small {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.admin-operation-panel {
    align-self: start;
    display: grid;
    gap: 16px;
}

.admin-operation-panel form {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 10px;
    padding-top: 14px;
}

.admin-operation-panel form:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.admin-operation-panel label {
    display: grid;
    gap: 6px;
}

.admin-operation-panel label span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
}

.admin-operation-panel select,
.admin-operation-panel textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--text);
    font: inherit;
    padding: 10px 12px;
}

.admin-operation-panel textarea {
    min-height: 94px;
    resize: vertical;
}

.admin-reset-link-card {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}

.admin-reset-link-card code {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--green-dark);
    display: block;
    overflow-x: auto;
    padding: 12px;
    white-space: nowrap;
}

.admin-metric-grid.compact {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.admin-member-linked-lists {
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding-top: 16px;
}

.admin-member-linked-lists h3 {
    color: var(--text);
    font-size: 18px;
    margin: 0 0 10px;
}

.admin-member-linked-lists p {
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 9px 0;
}

.admin-member-linked-lists p:last-child {
    border-bottom: 0;
}

.admin-member-linked-lists strong {
    color: var(--text);
    font-weight: 900;
}

.admin-member-linked-lists small {
    color: var(--muted);
    font-size: 13px;
}

.admin-property-filter-panel {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.admin-property-map-shell {
    display: grid;
    gap: 16px;
}

.admin-property-map-filter {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.admin-property-map {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) 280px;
    min-width: 0;
}

.admin-property-map-canvas {
    min-height: 620px;
    overflow: hidden;
    position: relative;
    width: 100%;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #eef7f0;
}

.admin-property-map-canvas.is-placeholder,
.admin-property-map-placeholder {
    align-items: center;
    display: grid;
    justify-items: center;
    text-align: center;
}

.admin-property-map-placeholder {
    inset: 0;
    gap: 8px;
    padding: 24px;
    position: absolute;
}

.admin-property-map-placeholder strong {
    color: var(--text);
    font-size: 20px;
}

.admin-property-map-placeholder span {
    color: var(--muted);
    font-weight: 700;
}

.admin-property-map-side {
    align-self: stretch;
    background: #fbfdfb;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 6px;
    grid-template-rows: auto auto minmax(0, 1fr);
    min-width: 0;
    padding: 14px;
}

.admin-property-map-side > strong {
    font-size: 16px;
}

.admin-property-map-side > span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.admin-property-map-list {
    display: grid;
    gap: 8px;
    max-height: 540px;
    overflow: auto;
    padding-right: 2px;
}

.admin-property-map-list a {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--text);
    display: grid;
    gap: 4px;
    padding: 10px;
    text-decoration: none;
}

.admin-property-map-list a:hover,
.admin-property-map-list a:focus-visible {
    border-color: rgba(47, 158, 89, 0.42);
    box-shadow: 0 10px 22px rgba(15, 77, 43, 0.08);
}

.admin-property-map-list span {
    font-weight: 900;
}

.admin-property-map-list small,
.admin-property-map-list p {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    margin: 0;
}

.admin-map-info {
    display: grid;
    gap: 10px;
    grid-template-columns: 116px minmax(0, 1fr);
    max-width: 360px;
    min-width: 300px;
}

.admin-map-info-image {
    aspect-ratio: 4 / 3;
    background: #eef7f0;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    overflow: hidden;
    place-items: center;
}

.admin-map-info-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.admin-map-info-empty {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

.admin-map-info-body {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.admin-map-info-body strong {
    color: var(--text);
    font-size: 15px;
    line-height: 1.25;
}

.admin-map-info-body span,
.admin-map-info-body small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.admin-map-info-zoning {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.admin-map-info-zoning i {
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 999px;
    display: inline-block;
    height: 10px;
    width: 10px;
}

.admin-map-info-body div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.admin-map-info-body a {
    color: #007d3a;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.admin-property-list {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.admin-property-row {
    align-items: stretch;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 14px;
    grid-template-columns: 132px minmax(0, 1fr) auto;
    padding: 12px;
}

.admin-property-thumb {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: #f5faf7;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--muted);
    display: flex;
    justify-content: center;
    min-width: 0;
    overflow: hidden;
    text-decoration: none;
}

.admin-property-thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.admin-property-main {
    min-width: 0;
}

.admin-property-titleline {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.admin-property-titleline strong {
    color: var(--text);
    display: block;
    font-size: 1rem;
    line-height: 1.35;
}

.admin-property-titleline small {
    color: var(--muted);
    display: block;
    margin-top: 4px;
}

.admin-property-meta-grid {
    color: var(--muted);
    display: grid;
    font-size: 0.88rem;
    gap: 6px 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 12px;
}

.admin-property-meta-grid span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-property-actions {
    align-content: center;
    display: grid;
    gap: 8px;
    min-width: 108px;
}

.admin-property-media-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    margin-bottom: 18px;
}

.admin-property-media-grid a {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--muted);
    overflow: hidden;
    text-decoration: none;
}

.admin-property-media-grid img {
    aspect-ratio: 4 / 3;
    display: block;
    object-fit: cover;
    width: 100%;
}

.admin-property-media-grid span {
    display: block;
    font-size: 0.82rem;
    padding: 8px;
}

.admin-message-list {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.admin-message-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 14px;
}

.admin-message-row h2 {
    color: var(--text);
    font-size: 1.05rem;
    margin: 6px 0;
}

.admin-message-row p {
    color: var(--muted);
    margin: 0;
}

.admin-message-row-head,
.admin-message-actions {
    align-items: center;
    display: flex;
    gap: 8px;
}

.admin-message-row-head {
    justify-content: space-between;
}

.admin-message-meta {
    color: var(--muted);
    display: grid;
    font-size: 0.86rem;
    gap: 6px 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 12px;
}

.admin-message-meta span {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 920px) {
    .message-detail-grid {
        grid-template-columns: 1fr;
    }

    .message-thread-head {
        flex-direction: column;
    }

    .admin-property-row {
        grid-template-columns: 112px minmax(0, 1fr);
    }

    .admin-message-row {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .admin-message-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-property-actions {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-property-map {
        grid-template-columns: 1fr;
    }

    .admin-property-map-canvas {
        min-height: 520px;
    }

    .admin-property-map-list {
        max-height: 260px;
    }

    .admin-property-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .admin-property-row {
        grid-template-columns: 1fr;
    }

    .admin-property-thumb {
        max-width: none;
        width: 100%;
    }

    .admin-property-map-canvas {
        min-height: 420px;
    }

    .admin-map-info {
        grid-template-columns: 88px minmax(0, 1fr);
        min-width: 250px;
    }

    .admin-property-titleline {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-property-meta-grid {
        grid-template-columns: 1fr;
    }

    .admin-message-row-head,
    .admin-message-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-message-meta {
        grid-template-columns: 1fr;
    }
}

.operation-preview-list {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    display: grid;
    gap: 0;
    max-height: 260px;
    overflow: auto;
}

.operation-preview-list p {
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 10px 12px;
}

.operation-preview-list p:last-child {
    border-bottom: 0;
}

.operation-preview-list strong {
    color: var(--text);
    font-weight: 900;
}

.operation-preview-list span {
    color: var(--muted);
    font-size: 13px;
}

.admin-table {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse;
    font-size: 15px;
}

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

.admin-table th {
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

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

.admin-table td small {
    color: var(--muted);
    font-size: 13px;
    margin-top: 2px;
}

.admin-table code {
    color: var(--green-dark);
    font-family: "Sarabun", sans-serif;
    font-size: 14px;
    font-weight: 900;
}

.admin-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 14px;
}

.admin-pagination a {
    min-width: 40px;
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--text);
    display: inline-grid;
    place-items: center;
    font-weight: 900;
    padding: 0 12px;
}

.admin-pagination a.active {
    border-color: #ccead3;
    background: var(--surface-strong);
    color: var(--green-dark);
}

.admin-pagination a.disabled {
    color: var(--muted);
    opacity: .55;
    pointer-events: none;
}

.admin-message-page-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 14px 0;
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
}

@media (max-width: 640px) {
    .admin-manual-account-type {
        grid-template-columns: 1fr;
    }

    .admin-message-page-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

.admin-role-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 18px;
    align-items: start;
}

.admin-role-list-card,
.admin-role-detail-card,
.admin-role-side-card {
    min-width: 0;
}

.admin-role-table {
    min-width: 720px;
}

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

.admin-role-form label,
.admin-role-form-grid label {
    display: grid;
    gap: 6px;
}

.admin-role-form label span,
.admin-role-form-grid label span,
.admin-role-readonly span {
    color: var(--muted);
    font-size: 14px;
    font-weight: 900;
}

.admin-role-form input[type="text"],
.admin-role-form textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--text);
    font: inherit;
    min-height: 46px;
    padding: 10px 12px;
}

.admin-role-form textarea {
    min-height: 104px;
    resize: vertical;
}

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

.admin-role-toggle {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    display: flex !important;
    gap: 10px !important;
    min-height: 46px;
    padding: 10px 12px;
}

.admin-role-toggle input,
.admin-permission-check input {
    width: 18px;
    height: 18px;
    accent-color: var(--green);
}

.admin-permission-grid {
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 4px;
    padding-top: 14px;
}

.admin-permission-check {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    display: flex !important;
    gap: 8px !important;
    min-height: 42px;
    padding: 8px 10px;
    position: relative;
    word-break: break-word;
}

.admin-permission-check > span:first-of-type,
.admin-permission-grid.is-readonly .admin-permission-check {
    color: var(--text);
    font-size: 14px;
    font-weight: 800;
}

.admin-permission-check > span:first-of-type {
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-permission-panels {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 12px;
    margin-top: 4px;
    padding-top: 14px;
}

.admin-permission-panel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: 0 10px 28px rgba(32, 86, 58, .05);
    overflow: visible;
}

.admin-permission-panel summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    list-style: none;
    padding: 14px 16px;
}

.admin-permission-panel summary::-webkit-details-marker {
    display: none;
}

.admin-permission-panel summary::after {
    border: solid var(--muted);
    border-width: 0 2px 2px 0;
    content: "";
    height: 8px;
    transform: rotate(45deg);
    transition: transform .18s ease;
    width: 8px;
}

.admin-permission-panel[open] summary::after {
    transform: rotate(-135deg);
}

.admin-permission-panel summary strong,
.admin-permission-row strong {
    color: var(--text);
    display: block;
    font-size: 15px;
    line-height: 1.35;
}

.admin-permission-panel summary small,
.admin-permission-row small {
    color: var(--muted);
    display: block;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
    margin-top: 2px;
}

.admin-permission-panel summary em {
    align-items: center;
    background: var(--surface-strong);
    border: 1px solid #ccead3;
    border-radius: 999px;
    color: var(--green-dark);
    display: inline-flex;
    font-style: normal;
    font-weight: 900;
    justify-content: center;
    min-width: 34px;
    padding: 3px 10px;
}

.admin-permission-list {
    border-top: 1px solid var(--line);
    display: grid;
    padding-left: 18px;
    position: relative;
}

.admin-permission-list::before {
    background: #d8eadc;
    content: "";
    inset: 10px auto 10px 18px;
    position: absolute;
    width: 2px;
}

.admin-permission-row {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--line);
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 58px;
    padding: 10px 14px 10px 18px;
    position: relative;
}

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

.admin-permission-row:hover {
    background: #fbfdfb;
}

.admin-permission-copy {
    min-width: 0;
    position: relative;
}

.admin-permission-row strong {
    overflow-wrap: anywhere;
}

.admin-permission-switch-input {
    height: 1px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 1px;
}

.admin-permission-switch {
    background: #d7dcd8;
    border: 1px solid #c6cdc8;
    border-radius: 999px;
    box-shadow: inset 0 1px 2px rgba(23, 49, 38, .12);
    display: inline-grid;
    height: 26px;
    justify-self: end;
    position: relative;
    transition: background .18s ease, border-color .18s ease;
    width: 48px;
}

.admin-permission-switch::before {
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(23, 49, 38, .18);
    content: "";
    height: 20px;
    left: 2px;
    position: absolute;
    top: 2px;
    transition: transform .18s ease;
    width: 20px;
}

.admin-permission-switch-input:checked + .admin-permission-switch {
    background: var(--green);
    border-color: var(--green-dark);
}

.admin-permission-switch-input:checked + .admin-permission-switch::before {
    transform: translateX(22px);
}

.admin-permission-switch-input:focus-visible + .admin-permission-switch {
    outline: 3px solid rgba(47, 158, 89, .22);
    outline-offset: 2px;
}

.admin-permission-switch-input:disabled + .admin-permission-switch {
    cursor: not-allowed;
    opacity: .68;
}

.admin-permission-copy::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 0;
    bottom: calc(100% + 10px);
    width: min(420px, 76vw);
    border: 1px solid #ccead3;
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 14px 34px rgba(23, 49, 38, .18);
    color: var(--text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    opacity: 0;
    padding: 10px 12px;
    pointer-events: none;
    text-align: left;
    transform: translateY(4px);
    transition: opacity .16s ease, transform .16s ease;
    visibility: hidden;
    white-space: normal;
    z-index: 40;
}

.admin-permission-copy::before {
    content: "";
    position: absolute;
    left: 14px;
    bottom: calc(100% + 4px);
    width: 10px;
    height: 10px;
    border-right: 1px solid #ccead3;
    border-bottom: 1px solid #ccead3;
    background: #fff;
    opacity: 0;
    pointer-events: none;
    transform: rotate(45deg) translateY(4px);
    transition: opacity .16s ease, transform .16s ease;
    visibility: hidden;
    z-index: 41;
}

.admin-permission-copy:hover::after,
.admin-permission-copy:focus::after,
.admin-permission-copy:focus-visible::after,
.admin-permission-copy:hover::before,
.admin-permission-copy:focus::before,
.admin-permission-copy:focus-visible::before {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.admin-permission-copy:hover::before,
.admin-permission-copy:focus::before,
.admin-permission-copy:focus-visible::before {
    transform: rotate(45deg) translateY(0);
}

.admin-permission-help {
    width: 22px;
    min-width: 22px;
    height: 22px;
    border: 1px solid #ccead3;
    border-radius: 50%;
    background: var(--surface-strong);
    color: var(--green-dark) !important;
    cursor: help;
    display: inline-grid;
    place-items: center;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1;
    margin-left: auto;
    position: relative;
    text-align: center;
    word-break: normal;
    z-index: 3;
}

.admin-permission-help::after {
    content: attr(data-tooltip);
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    width: min(320px, 72vw);
    border: 1px solid #ccead3;
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 14px 34px rgba(23, 49, 38, .18);
    color: var(--text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    opacity: 0;
    padding: 10px 12px;
    pointer-events: none;
    text-align: left;
    transform: translateY(4px);
    transition: opacity .16s ease, transform .16s ease;
    visibility: hidden;
    white-space: normal;
    z-index: 40;
}

.admin-permission-help::before {
    content: "";
    position: absolute;
    right: 7px;
    bottom: calc(100% + 4px);
    width: 10px;
    height: 10px;
    border-right: 1px solid #ccead3;
    border-bottom: 1px solid #ccead3;
    background: #fff;
    opacity: 0;
    pointer-events: none;
    transform: rotate(45deg) translateY(4px);
    transition: opacity .16s ease, transform .16s ease;
    visibility: hidden;
    z-index: 41;
}

.admin-permission-help:hover::after,
.admin-permission-help.is-open::after,
.admin-permission-help:focus::after,
.admin-permission-help:focus-visible::after,
.admin-permission-help:hover::before,
.admin-permission-help.is-open::before,
.admin-permission-help:focus::before,
.admin-permission-help:focus-visible::before {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.admin-permission-help:hover::before,
.admin-permission-help.is-open::before,
.admin-permission-help:focus::before,
.admin-permission-help:focus-visible::before {
    transform: rotate(45deg) translateY(0);
}

.admin-role-readonly {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.admin-role-readonly div {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    display: grid;
    gap: 4px;
    padding: 12px;
}

.admin-role-readonly strong {
    color: var(--text);
    font-size: 16px;
}

.app-shell.sidebar-collapsed {
    grid-template-columns: var(--sidebar-collapsed-width) minmax(0, 1fr);
}

.sidebar {
    grid-column: 1;
    grid-row: 2;
    border-right: 1px solid var(--line);
    padding: 12px 12px 20px;
    background: #fbfdfb;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.brand,
.profile-btn,
.topbar-actions,
.workspace-header,
.property-row,
.detail-actions,
.stats,
.warning-banner {
    display: flex;
    align-items: center;
}

.topbar-brand-area {
    width: var(--sidebar-width);
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-right: 1px solid var(--line);
    padding: 0 14px;
    flex: 0 0 var(--sidebar-width);
}

.brand {
    gap: 10px;
    font-weight: 800;
    font-size: 20px;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.brand-logo {
    width: auto;
    height: 50px;
    max-width: 196px;
    display: block;
    object-fit: contain;
}

.brand-text {
    color: var(--green-dark);
    font-weight: 900;
    letter-spacing: 0;
}

.brand-text strong {
    color: #f2a900;
    font-weight: 900;
}

.brand-mark,
.avatar {
    width: 34px;
    height: 34px;
    border-radius: var(--radius);
    display: grid;
    place-items: center;
    background: var(--green);
    color: #fff;
    font-weight: 800;
}

.collapse-btn {
    width: 32px;
    height: 32px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--green-dark);
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 22px;
    line-height: 1;
    flex: 0 0 auto;
}

.sidebar-controls {
    display: flex;
    justify-content: flex-end;
    min-height: 36px;
}

.collapse-btn span {
    transform: translateY(-1px);
}

.app-shell.sidebar-collapsed .collapse-btn span {
    transform: translateY(-1px) rotate(180deg);
}

.app-shell.sidebar-collapsed .sidebar {
    padding-inline: 8px;
}

.app-shell.sidebar-collapsed .sidebar-controls {
    justify-content: center;
}

.side-nav {
    display: grid;
    gap: 4px;
}

.side-nav a,
.nav-group summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 8px 10px;
    border-radius: var(--radius);
    color: var(--muted);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    list-style: none;
}

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

.nav-group summary::after {
    content: "⌄";
    margin-left: auto;
    color: var(--muted);
    font-size: 13px;
    transition: transform .16s ease;
}

.nav-group[open] summary::after {
    transform: rotate(180deg);
}

.side-nav a.active,
.side-nav a:hover,
.nav-group summary.active,
.nav-group summary:hover {
    background: var(--surface-strong);
    color: var(--green-dark);
}

.side-nav a > span:first-child,
.nav-group summary > span:first-child {
    width: 22px;
    text-align: center;
    flex: 0 0 22px;
}

.side-nav .side-icon,
.nav-group summary .side-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    display: grid;
    place-items: center;
    color: currentColor;
}

.side-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.collapse-btn span {
    width: 16px;
    height: 16px;
    font-size: 0;
    position: relative;
    transform: none;
}

.collapse-btn span::before {
    content: "";
    position: absolute;
    inset: 3px 5px 3px 2px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}

.app-shell.sidebar-collapsed .collapse-btn span {
    transform: rotate(180deg);
}

.nav-group summary::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    margin-left: auto;
    opacity: .8;
    transform: rotate(45deg);
}

.nav-group[open] summary::after {
    transform: rotate(225deg);
}

.side-nav a.active .side-icon,
.side-nav a:hover .side-icon,
.nav-group summary.active .side-icon,
.nav-group summary:hover .side-icon {
    color: var(--green-dark);
}

.sub-nav {
    display: grid;
    gap: 2px;
    padding: 4px 0 6px 42px;
}

.sub-nav a {
    min-height: 32px;
    padding: 6px 10px;
    border-radius: var(--radius);
    color: var(--muted);
    font-size: 13px;
    font-weight: 600;
}

.sub-nav a:hover {
    color: var(--green-dark);
    background: #f4faf5;
}

.app-shell.sidebar-collapsed .side-nav a,
.app-shell.sidebar-collapsed .nav-group summary {
    justify-content: center;
    padding-inline: 8px;
    font-size: 0;
}

.app-shell.sidebar-collapsed .nav-label,
.app-shell.sidebar-collapsed .nav-group summary::after,
.app-shell.sidebar-collapsed .sub-nav {
    display: none;
}

.app-shell.sidebar-collapsed .side-icon {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
}

.main-shell {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
}

.footer-bar {
    border-top: 1px solid var(--line);
    margin: 12px 24px 0;
    padding: 16px 0 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.footer-bar nav {
    display: flex;
    align-items: center;
    gap: 14px;
}

.footer-bar a {
    color: var(--green-dark);
}

.topbar {
    grid-column: 1 / -1;
    grid-row: 1;
    height: var(--topbar-height);
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: var(--sidebar-width) minmax(260px, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 0 24px 0 0;
    background: rgba(255, 255, 255, .92);
    position: sticky;
    top: 0;
    z-index: 5;
}

.member-topnav-shell {
    grid-template-columns: minmax(0, 1fr);
}

.member-topnav-shell .topbar {
    grid-template-columns: 190px minmax(0, 1fr) auto auto;
    gap: 12px;
    padding: 0 18px 0 0;
    z-index: 20;
}

.member-topnav-shell .topbar-brand-area {
    width: 190px;
    flex-basis: 190px;
    padding: 0 14px;
    border-right: 0;
}

.member-topnav-shell .sidebar {
    display: none;
}

.member-topnav-shell .main-shell {
    grid-column: 1;
}

.member-primary-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 0;
    height: 100%;
}

.member-nav-group {
    position: relative;
}

.member-nav-link,
.member-nav-group > button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 48px;
    border: 1px solid transparent;
    border-radius: var(--radius);
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .04em;
    padding: 0 10px;
    white-space: nowrap;
    text-decoration: none;
}

.member-nav-group > button svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.member-nav-link:hover,
.member-nav-link:focus-visible,
.member-nav-link.active,
.member-nav-group.active > button,
.member-nav-group > button:hover,
.member-nav-group:hover > button,
.member-nav-group:focus-within > button {
    background: var(--green-soft);
    border-color: #b9e3c8;
    color: var(--green-dark);
    outline: none;
}

.member-menu-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: max-content;
    min-width: 210px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 18px 40px rgba(23, 49, 38, .12);
    padding: 8px;
    display: none;
    z-index: 35;
}

.member-menu-panel::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -9px;
    height: 9px;
}

.member-nav-group:hover .member-menu-panel,
.member-nav-group:focus-within .member-menu-panel {
    display: grid;
    gap: 2px;
}

.member-menu-panel a {
    border-radius: var(--radius);
    color: var(--text);
    display: block;
    font-weight: 800;
    min-width: 190px;
    padding: 9px 10px;
    text-decoration: none;
    white-space: nowrap;
}

.member-menu-panel a:hover,
.member-menu-panel a:focus-visible,
.member-menu-panel a.active {
    background: var(--green-soft);
    color: var(--green-dark);
    outline: none;
}

.member-topnav-shell .global-search {
    max-width: 360px;
    margin-left: 0;
}

.global-search {
    width: var(--topbar-control-size);
    max-width: 360px;
    margin-left: 0;
    justify-self: start;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    transition: width .22s ease;
}

.global-search.is-open,
.global-search:focus-within {
    width: min(360px, 32vw);
}

.global-search label {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 0;
    width: 0;
    min-width: 0;
    overflow: hidden;
    opacity: 0;
    transition: width .22s ease, opacity .16s ease;
}

.global-search.is-open label,
.global-search:focus-within label {
    width: calc(100% - var(--topbar-control-size) - 8px);
    opacity: 1;
    margin-left: 8px;
}

.member-search-toggle {
    width: var(--topbar-control-size);
    min-width: var(--topbar-control-size);
    min-height: var(--topbar-control-size);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--green-dark);
    cursor: pointer;
    display: grid;
    place-items: center;
    padding: 0;
}

.member-search-toggle svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.global-search span,
.field span,
.public-url span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.global-search span {
    flex: 0 0 auto;
    min-width: 36px;
    line-height: 1;
}

input[type="search"] {
    width: 100%;
    height: var(--control-height);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 0 12px;
    background: #fff;
    color: var(--text);
}

.topbar-actions {
    gap: 8px;
    justify-content: flex-end;
    min-width: max-content;
    flex: 0 0 auto;
}

.language-toggle {
    width: 54px;
    min-width: 54px;
    min-height: 38px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--green-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.topbar .language-toggle {
    width: 54px;
    min-width: 54px;
    min-height: var(--topbar-control-size);
}

.language-toggle svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.language-toggle:hover,
.language-toggle:focus-visible {
    background: var(--green);
    color: #fff;
    outline: none;
}

.auth-home-link {
    margin: 0;
    position: absolute;
    right: 28px;
    top: 14px;
    z-index: 2;
    width: 54px;
    min-width: 54px;
    min-height: 38px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--green-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.auth-home-link svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.auth-home-link:hover,
.auth-home-link:focus-visible {
    background: var(--green);
    color: #fff;
    outline: none;
}

.btn,
.icon-btn,
.profile-btn,
.property-actions button,
.detail-actions button,
.filter-tabs button {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--text);
    min-height: 38px;
    padding: 8px 12px;
    cursor: pointer;
    font-weight: 700;
    text-decoration: none;
}

.btn-primary {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
}

.icon-btn {
    width: 38px;
    padding: 0;
    color: var(--green);
}

.topbar .notify-btn {
    width: var(--topbar-control-size);
    min-width: var(--topbar-control-size);
    min-height: var(--topbar-control-size);
    padding: 0;
    display: grid;
    place-items: center;
}

.topbar .profile-btn {
    width: var(--topbar-control-size);
    min-width: var(--topbar-control-size);
    min-height: var(--topbar-control-size);
    justify-content: center;
    padding: 0;
}

.member-logout-form {
    display: inline-flex;
    margin: 0;
}

.topbar .member-logout-btn {
    width: var(--topbar-control-size);
    min-width: var(--topbar-control-size);
    min-height: var(--topbar-control-size);
    padding: 0;
    display: grid;
    place-items: center;
}

.member-logout-btn svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.notify-btn,
.menu-btn {
    position: relative;
}

.menu-btn {
    display: none;
}

.mobile-menu-backdrop {
    display: none;
}

body.menu-lock {
    overflow: hidden;
}

.icon-btn small {
    display: none;
}

.notify-icon,
.menu-icon {
    position: relative;
    display: grid;
    place-items: center;
}

.menu-icon-close {
    display: none;
}

.notify-icon svg,
.menu-icon svg,
.nav-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.notify-badge {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #f04f4f;
    box-shadow: 0 0 0 2px #fff;
    position: absolute;
    top: 1px;
    right: 0;
}

.menu-btn {
    display: none;
}

.profile-btn {
    gap: 8px;
}

.profile-btn:hover,
.profile-btn:focus-visible {
    border-color: var(--green-soft);
    box-shadow: 0 0 0 3px rgba(47, 158, 89, 0.12);
    outline: none;
}

.profile-btn span:not(.avatar) {
    display: none;
}

.avatar {
    width: 30px;
    height: 30px;
    font-size: 13px;
    overflow: hidden;
}

.avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.warning-banner {
    justify-content: space-between;
    gap: 14px;
    margin: 20px 24px 0;
    padding: 12px 14px;
    border-radius: var(--radius);
    background: var(--yellow);
    color: var(--yellow-text);
}

.warning-banner.soft {
    background: var(--yellow);
    color: var(--yellow-text);
}

.warning-banner.warning {
    background: #fff0d8;
    color: #8a4b08;
}

.warning-banner.danger {
    background: #fff0f0;
    color: #9a2f2f;
}

.warning-banner div {
    display: grid;
    gap: 2px;
}

.warning-banner span {
    font-size: 13px;
}

.warning-banner a {
    font-weight: 800;
    color: var(--green-dark);
}

.warning-banner.danger a {
    color: #8f2a2a;
}

.workspace-header {
    justify-content: space-between;
    gap: 16px;
    margin-top: 10px;
    padding: 16px 24px 22px;
}

.workspace-header h1 {
    margin: 0;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
}

.workspace-header p {
    margin: 6px 0 0;
    color: var(--muted);
}

.workspace-grid {
    display: grid;
    grid-template-columns: 250px minmax(360px, 1fr) 320px;
    gap: 16px;
    padding: 0 24px 32px;
}

.filter-panel,
.detail-panel,
.property-row {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
}

.filter-panel,
.detail-panel {
    padding: 14px;
    align-self: start;
}

.field {
    display: grid;
    gap: 6px;
}

.filter-tabs {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.filter-tabs button {
    text-align: left;
    min-height: 36px;
}

.filter-tabs button.active {
    background: var(--surface-strong);
    border-color: #cae8d0;
    color: var(--green-dark);
}

.quick-summary {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}

.quick-summary div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid var(--line);
}

.quick-summary strong {
    color: var(--green-dark);
}

.quick-summary span {
    color: var(--muted);
    font-size: 13px;
}

.property-list {
    display: grid;
    gap: 10px;
    align-content: start;
}

.property-admin-grid {
    grid-template-columns: 250px minmax(430px, 1fr) 320px;
}

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

.property-filter-form label {
    display: grid;
    gap: 6px;
    font-weight: 800;
}

.property-filter-form input,
.property-filter-form select,
.property-edit-form input,
.property-edit-form select,
.property-edit-form textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 12px;
    background: #fff;
    color: var(--text);
}

.property-view-tabs a {
    justify-content: space-between;
    text-align: left;
}

.property-view-tabs a.active {
    background: var(--surface-strong);
    border-color: #cae8d0;
    color: var(--green-dark);
}

.group-create-form {
    display: grid;
    gap: 8px;
    border-top: 1px solid var(--line);
    margin-top: 14px;
    padding-top: 14px;
}

.group-create-form label {
    display: grid;
    gap: 6px;
    font-weight: 800;
}

.group-create-form input,
.bulk-action-bar select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 9px 10px;
    background: #fff;
    color: var(--text);
}

.bulk-action-bar {
    display: grid;
    grid-template-columns: auto minmax(150px, 1fr) minmax(150px, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    position: sticky;
    top: 76px;
    z-index: 2;
}

.bulk-action-bar strong {
    color: var(--green-dark);
    white-space: nowrap;
}

.property-row {
    gap: 12px;
    padding: 12px;
    min-height: 104px;
}

.property-row:not(.dashboard-row) {
    align-items: start;
    display: grid;
    grid-template-columns: 32px 126px minmax(0, 1fr) minmax(150px, 190px);
    gap: 16px;
    padding: 16px;
}

.property-row .bulk-check {
    align-self: start;
    width: 28px;
    height: 28px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    display: grid;
    place-items: center;
    background: var(--surface);
}

.bulk-check input {
    width: 18px;
    height: 18px;
    accent-color: var(--green);
}

.property-row.selected {
    border-color: #abdcb7;
    background: #fbfffb;
}

.thumb,
.detail-image {
    border-radius: var(--radius);
    background:
        linear-gradient(135deg, rgba(47, 158, 89, .15), rgba(255, 212, 89, .25)),
        linear-gradient(45deg, #d7e2da, #f8fbf8);
}

.thumb {
    width: 86px;
    height: 76px;
    flex: 0 0 auto;
    overflow: hidden;
}

.property-row:not(.dashboard-row) .thumb {
    width: 126px;
    height: 96px;
}

.property-cover-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.property-main {
    min-width: 0;
    flex: 1;
}

.property-row:not(.dashboard-row) .property-main {
    display: grid;
    gap: 8px;
}

.property-badges,
.property-meta-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.property-main h2,
.detail-panel h2 {
    margin: 0;
    font-size: 17px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.property-main p,
.detail-panel p {
    margin: 4px 0;
    color: var(--muted);
}

.property-main strong {
    color: var(--green-dark);
}

.property-main small {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-weight: 700;
}

.property-meta-line {
    margin-top: 4px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.property-meta-line strong {
    font-size: 15px;
}

.property-meta-line span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--surface);
}

.property-actions {
    display: grid;
    justify-items: end;
    gap: 8px;
    min-width: 0;
}

.property-actions div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.property-row:not(.dashboard-row) .property-actions {
    align-self: stretch;
}

.property-row:not(.dashboard-row) .property-actions > .btn {
    justify-content: center;
    width: 100%;
}

.property-row:not(.dashboard-row) .property-actions div {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
}

.property-row:not(.dashboard-row) .property-actions form,
.property-row:not(.dashboard-row) .property-actions button {
    width: 100%;
}

.property-actions button {
    min-height: 30px;
    padding: 5px 8px;
    font-size: 13px;
}

.status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    border-radius: 999px;
    padding: 3px 9px;
    font-size: 14px;
    font-weight: 800;
}

.status.published {
    background: var(--surface-strong);
    color: var(--green-dark);
}

.status.private {
    background: #eef1f0;
    color: #5f6e66;
}

.status.sold {
    background: #fff0e2;
    color: #9a4d14;
}

.switch input {
    display: none;
}

.switch span {
    display: block;
    width: 42px;
    height: 24px;
    border-radius: 999px;
    background: #d6dfd9;
    position: relative;
}

.switch span::after {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    top: 3px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .16);
}

.switch input:checked + span {
    background: var(--green);
}

.switch input:checked + span::after {
    transform: translateX(18px);
}

.detail-image {
    height: 150px;
    margin-bottom: 12px;
}

.detail-panel .status {
    margin-bottom: 8px;
}

.public-url {
    display: grid;
    gap: 4px;
    margin: 14px 0;
    padding: 10px;
    border-radius: var(--radius);
    background: var(--surface);
}

.public-url strong {
    font-size: 13px;
    color: var(--green-dark);
    word-break: break-all;
}

.public-url.compact {
    margin: 8px 0 0;
    padding: 8px 10px;
}

.public-url.compact span {
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
}

.detail-actions {
    flex-wrap: wrap;
    gap: 8px;
}

.detail-actions button:last-child {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
}

.stats {
    justify-content: space-between;
    gap: 8px;
    margin-top: 16px;
}

.stats div {
    flex: 1;
    padding: 10px;
    border-radius: var(--radius);
    background: var(--surface);
}

.stats dt {
    color: var(--muted);
    font-size: 14px;
}

.stats dd {
    margin: 2px 0 0;
    font-weight: 800;
}

.empty-state {
    max-width: 560px;
    margin: 90px auto;
    padding: 28px;
    text-align: center;
}

.empty-state h1 {
    margin: 0 0 8px;
}

.empty-state p {
    color: var(--muted);
}

.bottom-nav {
    display: none;
}

.auth-body {
    min-height: 100vh;
    background: linear-gradient(180deg, #f7faf8 0%, #ffffff 55%);
}

.auth-page {
    min-height: 100vh;
    display: grid;
    align-items: start;
    justify-items: center;
    padding: clamp(20px, 5vh, 56px) 24px;
}

.auth-card {
    position: relative;
    width: min(420px, 100%);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
    padding: clamp(22px, 3vw, 28px);
}

.auth-card-register {
    width: min(560px, 100%);
}

.auth-brand {
    display: inline-flex;
    align-items: center;
    max-width: calc(100% - 72px);
    margin-bottom: 24px;
    font-size: 22px;
    font-weight: 900;
    color: var(--green-dark);
}

.auth-logo {
    width: 220px;
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.auth-brand strong {
    color: #f2a900;
}

.auth-heading h1 {
    margin: 0;
    font-size: 26px;
}

.auth-heading p {
    margin: 6px 0 18px;
    color: var(--muted);
}

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

.auth-form label {
    display: grid;
    gap: 6px;
    color: var(--text);
    font-weight: 700;
}

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

.auth-field-label-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.auth-field-label-row label {
    display: inline;
}

.auth-field-help {
    width: 18px;
    min-width: 18px;
    height: 18px;
    border: 1px solid #b8dfc2;
    border-radius: 50%;
    padding: 0;
    background: #f3faf5;
    color: var(--green-dark);
    cursor: help;
    display: inline-grid;
    place-items: center;
    font: 800 11px/1 Arial, sans-serif;
    position: relative;
    z-index: 4;
}

.auth-field-help::after {
    content: attr(data-tooltip);
    position: absolute;
    left: -42px;
    top: calc(100% + 9px);
    width: min(320px, calc(100vw - 48px));
    border: 1px solid #ccead3;
    border-radius: 10px;
    padding: 9px 11px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(23, 49, 38, .18);
    color: var(--text);
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    display: none;
    pointer-events: none;
    text-align: left;
    white-space: normal;
    z-index: 50;
}

.auth-field-help::before {
    content: "";
    position: absolute;
    left: 4px;
    top: calc(100% + 4px);
    width: 9px;
    height: 9px;
    border-left: 1px solid #ccead3;
    border-top: 1px solid #ccead3;
    background: #fff;
    display: none;
    pointer-events: none;
    transform: rotate(45deg);
    z-index: 51;
}

.auth-field-help:hover::after,
.auth-field-help:focus::after,
.auth-field-help:focus-visible::after,
.auth-field-help.is-open::after,
.auth-field-help:hover::before,
.auth-field-help:focus::before,
.auth-field-help:focus-visible::before,
.auth-field-help.is-open::before {
    display: block;
}

.auth-field-help:focus-visible {
    outline: 3px solid rgba(47, 158, 89, .22);
    outline-offset: 2px;
}

.auth-form input {
    width: 100%;
    height: 46px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 0 12px;
}

.auth-form input[type="email"],
.submission-inline-auth input[type="email"] {
    padding-top: 1px;
    padding-bottom: 3px;
    font-family: Arial, "Noto Sans", sans-serif;
    font-variant-ligatures: none;
    line-height: 1.5;
}

.auth-field-hint {
    color: var(--muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}

.auth-form .btn {
    justify-content: center;
}

.auth-form .auth-remember-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 12px;
    background: #f8fbf9;
    font-weight: 700;
}

.auth-form .auth-remember-row input {
    width: 18px;
    height: 18px;
    padding: 0;
    margin-top: 2px;
}

.auth-form .auth-remember-row small {
    display: block;
    margin-top: 2px;
    color: var(--muted);
    font-weight: 600;
    line-height: 1.45;
}

.auth-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 16px 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

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

.oauth-btn {
    min-height: 46px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 800;
    background: #fff;
    color: var(--text);
    padding: 10px 14px;
    line-height: 1.35;
    text-align: center;
}

.oauth-btn span {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    background: #4285f4;
    font-weight: 900;
}

.auth-social-options { display:grid; gap:10px; }
.auth-card-register .auth-social-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
.line-oauth-btn { background:#06c755; border-color:#06c755; color:#fff; }
.line-oauth-btn:hover { background:#05b64d; color:#fff; }
.line-oauth-btn span { background:#fff; color:#06c755; border-radius:6px; }
.oauth-btn:focus-visible,.social-account-form button:focus-visible { outline:3px solid rgba(6,199,85,.35); outline-offset:3px; }
.oauth-btn[aria-disabled="true"] { pointer-events:none; opacity:.65; }
.auth-social-note { margin:10px 0 0; color:var(--muted); font-size:13px; font-weight:650; line-height:1.55; text-align:center; }
.social-account-form { width:100%; display:grid; gap:10px; }
.social-account-form input { width:100%; }
@media(max-width:640px){.auth-page{padding:18px 14px 28px}.auth-card{padding:22px 18px}.auth-brand{margin-bottom:20px}.oauth-btn{min-height:48px;padding:10px 12px}.social-account-form .btn{width:100%}.account-settings-actions{align-items:stretch}}
@media(max-width:520px){.auth-card-register .auth-social-options{grid-template-columns:1fr}.auth-heading h1{font-size:24px}.auth-links{align-items:flex-start;flex-direction:column}.auth-home-link{right:18px}}

.auth-links {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
    color: var(--green-dark);
    font-weight: 700;
}

.alert {
    border-radius: var(--radius);
    padding: 10px 12px;
    margin-bottom: 14px;
    font-weight: 700;
}

.alert ul {
    margin: 0;
    padding-left: 18px;
}

.alert li + li {
    margin-top: 4px;
}

.alert.error,
.alert.danger {
    background: #fff0f0;
    color: #a93636;
    border: 1px solid #ffd4d4;
}

.alert.success {
    background: var(--surface-strong);
    color: var(--green-dark);
    border: 1px solid #ccead3;
}

.dashboard-placeholder {
    align-items: start;
}

.dashboard-hero {
    align-items: flex-start;
}

.eyebrow {
    display: inline-flex;
    color: var(--green-dark);
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 4px;
}

.dashboard-card h2 {
    margin: 2px 0 4px;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
}

.dashboard-card p {
    margin: 0 0 14px;
    color: var(--muted);
    word-break: break-word;
}

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

.dashboard-list div,
.timeline-list div {
    display: grid;
    gap: 2px;
    padding: 10px 0;
    border-top: 1px solid var(--line);
}

.dashboard-list span,
.timeline-list span {
    color: var(--muted);
    font-size: 13px;
}

.dashboard-list strong,
.timeline-list strong {
    color: var(--green-dark);
    font-size: 14px;
    word-break: break-word;
}

.package-status-widget {
    margin: 12px 0 14px;
}

.package-renew-btn {
    width: 100%;
    justify-content: center;
}

.member-package-tabs {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 24px 14px;
    padding: 5px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow-soft);
}

.member-package-tabs a {
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 6px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}

.member-package-tabs a:hover,
.member-package-tabs a.active {
    background: var(--surface-strong);
    color: var(--green-dark);
}

.member-package-grid {
    grid-template-columns: 280px minmax(0, 1fr);
}

.member-package-summary {
    position: sticky;
    top: 88px;
}

.member-capability-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
}

.member-capability-list span {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 5px 10px;
    background: #fff;
    color: var(--muted);
    font-size: 14px;
    font-weight: 900;
}

.member-capability-list span.enabled {
    border-color: #cde7d5;
    background: var(--surface-strong);
    color: var(--green-dark);
}

.member-capability-list span.disabled {
    background: #f6f7f8;
    color: #8a95a4;
    text-decoration: line-through;
}

.member-bank-panel {
    display: grid;
    gap: 8px;
    margin-top: 18px;
    border-top: 1px solid var(--line);
    padding-top: 16px;
}

.member-bank-panel h3 {
    margin: 0;
    color: var(--text);
    font-size: 17px;
}

.member-bank-panel p {
    margin: 0;
}

.member-bank-panel div {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 9px 10px;
    background: #fff;
}

.member-bank-panel strong,
.member-bank-panel span {
    display: block;
}

.member-bank-panel span {
    color: var(--muted);
    font-size: 14px;
}

.member-package-main {
    display: grid;
    gap: 14px;
}

.member-open-orders {
    padding: 16px;
}

.member-open-orders h2 {
    margin: 0 0 10px;
}

.member-order-list {
    display: grid;
    gap: 8px;
}

.member-order-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 12px;
    background: var(--surface);
}

.member-order-list strong,
.member-order-list span {
    display: block;
}

.member-order-list span {
    color: var(--muted);
    font-size: 14px;
}

.member-order-list .member-order-expiry {
    color: #b42318;
    font-weight: 800;
}

.member-order-list.compact article {
    align-items: flex-start;
}

.member-payment-action {
    flex: 1 1 100%;
    width: 100%;
}

.member-payment-action > form:not(.member-slip-form) {
    display: flex;
    justify-content: flex-end;
}

.member-slip-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    border-top: 1px solid var(--line);
    margin-top: 2px;
    padding-top: 12px;
}

.member-slip-form label {
    display: grid;
    gap: 5px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 900;
}

.member-slip-form label.wide {
    grid-column: 1 / -1;
}

.member-slip-form input {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 8px 10px;
    background: #fff;
    color: var(--text);
}

.member-slip-form button {
    align-self: end;
    min-height: 42px;
}

.member-qr-panel {
    width: 100%;
    border: 1px solid rgba(47, 158, 89, .2);
    border-radius: var(--radius);
    background: #f7fff9;
    padding: 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 132px;
    gap: 12px;
    align-items: center;
}

.member-qr-panel div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.member-qr-panel strong {
    color: var(--green-dark);
}

.member-qr-panel span,
.member-qr-panel code {
    overflow-wrap: anywhere;
}

.member-qr-panel img {
    width: 132px;
    height: 132px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    padding: 6px;
}

.member-qr-panel code {
    grid-column: 1 / -1;
    display: block;
    border-radius: var(--radius);
    background: #fff;
    padding: 8px;
    color: var(--muted);
    font-size: 13px;
}

.member-package-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.member-package-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #dbe9e2;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
    box-shadow: 0 18px 44px rgba(20, 71, 45, 0.08);
    display: grid;
    gap: 14px;
    padding: 18px;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.member-package-card:hover {
    border-color: #b9e3c8;
    box-shadow: 0 22px 52px rgba(20, 71, 45, 0.12);
    transform: translateY(-1px);
}

.member-package-card.current {
    border-color: rgba(47, 158, 89, 0.42);
    background: linear-gradient(180deg, #ffffff 0%, #f5fcf7 100%);
    box-shadow: 0 22px 54px rgba(47, 158, 89, 0.13);
}

.member-package-card-head {
    border-bottom: 1px solid rgba(220, 235, 225, 0.9);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
}

.member-package-card-head h2 {
    margin: 8px 0 4px;
    color: var(--text);
    font-size: 26px;
    line-height: 1.2;
}

.member-package-card-head p {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}

.member-order-badge {
    flex: 0 0 auto;
    border: 1px solid #ffe0a4;
    border-radius: 999px;
    padding: 5px 9px;
    background: #fff8e8;
    color: #8a6500;
    font-size: 13px;
    font-weight: 900;
}

.member-package-limit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.member-package-limit-grid div {
    border: 1px solid #dfeee6;
    border-radius: var(--radius);
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    padding: 11px 12px;
}

.member-package-limit-grid span,
.member-package-limit-grid strong {
    display: block;
}

.member-package-limit-grid span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.member-package-limit-grid strong {
    color: var(--green-dark);
    font-size: 17px;
}

.member-package-feature-list {
    border-top: 1px solid rgba(220, 235, 225, 0.8);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 12px;
    margin: 0;
    padding: 12px 0 0;
    list-style: none;
}

.member-package-feature-list li {
    position: relative;
    padding-left: 18px;
    color: #314154;
    font-size: 14px;
    font-weight: 800;
}

.member-package-feature-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .62em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--green);
}

.member-renew-options {
    display: grid;
    gap: 10px;
}

.member-renew-options form {
    background: #fff;
    border: 1px solid #dcebe3;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(20, 71, 45, 0.05);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 12px;
}

.member-renew-options strong,
.member-renew-options span {
    display: block;
}

.member-renew-options strong {
    color: var(--green-dark);
    font-size: 18px;
}

.member-renew-options span {
    color: var(--muted);
    font-size: 14px;
}

.member-renew-options .btn {
    min-width: 132px;
}

.member-renew-options .btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.package-terms-check {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    border-top: 1px solid var(--line);
    padding-top: 8px;
    color: #536457;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

.package-terms-check input {
    width: 16px;
    height: 16px;
    margin-top: 2px;
    accent-color: var(--green);
}

.member-renew-options .package-terms-check span {
    color: #536457;
    font-size: 13px;
}

.member-addon-panel {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.member-addon-panel-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 14px;
}

.member-addon-panel-head h2 {
    margin: 6px 0 5px;
    font-size: 24px;
}

.member-addon-panel-head p {
    margin: 0;
}

.member-addon-entitlement {
    min-width: 130px;
    border: 1px solid #cde7d5;
    border-radius: var(--radius);
    padding: 10px 12px;
    background: #f8fcf9;
    text-align: right;
}

.member-addon-entitlement span,
.member-addon-entitlement strong {
    display: block;
}

.member-addon-entitlement span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.member-addon-entitlement strong {
    color: var(--green-dark);
    font-size: 24px;
}

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

.member-addon-card {
    display: grid;
    gap: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 13px;
    background: #fff;
}

.member-addon-card.active {
    border-color: #cde7d5;
    background: linear-gradient(180deg, #fff, #f8fcf9);
}

.member-addon-card h3 {
    margin: 8px 0 5px;
    font-size: 19px;
}

.member-addon-card p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}

.member-addon-state {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 8px 10px;
    background: var(--surface);
}

.member-addon-state span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.member-addon-state strong {
    color: var(--green-dark);
    font-size: 18px;
}

.member-addon-order-form {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px;
    background: var(--surface);
}

.member-addon-order-form label {
    display: grid;
    gap: 4px;
}

.member-addon-order-form label span,
.member-addon-order-form div span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.member-addon-order-form input[type="number"] {
    width: 82px;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 8px 10px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.member-addon-order-form strong {
    display: block;
    color: var(--green-dark);
    font-size: 18px;
}

.member-addon-order-form .btn {
    min-width: 110px;
}

.dashboard-widget-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-widget {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 236px;
    border: 1px solid #d8e7de;
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 12px 30px rgba(23, 49, 38, .08);
    padding: 18px;
    position: relative;
}

.dashboard-widget::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: var(--radius) 0 0 var(--radius);
    background: var(--green);
    opacity: .9;
}

.dashboard-widget h2 {
    margin: 4px 0 0;
    font-size: 20px;
}

.dashboard-widget p {
    margin: 0;
}

.dashboard-widget .btn {
    justify-self: start;
    margin-top: auto;
}

.focus-list-grid {
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
}

.focus-form,
.focus-item-edit {
    display: grid;
    gap: 12px;
}

.focus-form label,
.focus-item-edit label {
    display: grid;
    gap: 5px;
    color: var(--text);
    font-weight: 800;
}

.focus-form input,
.focus-form select,
.focus-form textarea,
.focus-item-edit input,
.focus-item-edit select,
.focus-item-edit textarea {
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 9px 11px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.focus-form textarea,
.focus-item-edit textarea {
    min-height: 92px;
    resize: vertical;
}

.focus-list-main {
    display: grid;
    gap: 12px;
}

.focus-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.focus-tabs a {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 8px 13px;
    background: #fff;
    color: var(--text);
    font-weight: 900;
}

.focus-tabs a.active {
    border-color: #bee3c8;
    background: #eefaf2;
    color: var(--green-dark);
}

.focus-item-card {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.focus-item-head,
.focus-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

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

.focus-actions {
    justify-content: flex-end;
}

.focus-actions form {
    margin: 0;
}

.calendar-grid {
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
}

.calendar-form,
.calendar-event-edit {
    display: grid;
    gap: 12px;
}

.calendar-form label,
.calendar-event-edit label {
    display: grid;
    gap: 5px;
    color: var(--text);
    font-weight: 800;
}

.calendar-form input,
.calendar-form select,
.calendar-form textarea,
.calendar-event-edit input,
.calendar-event-edit select,
.calendar-event-edit textarea {
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 9px 11px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.calendar-form textarea,
.calendar-event-edit textarea {
    min-height: 92px;
    resize: vertical;
}

.calendar-main,
.calendar-event-list {
    display: grid;
    gap: 12px;
}

.calendar-month-actions,
.calendar-event-head {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.calendar-month-card,
.calendar-event-card {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.calendar-month-head h2 {
    margin: 4px 0 0;
    font-size: 24px;
}

.calendar-weekdays,
.calendar-month-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

.calendar-weekdays span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
    text-align: center;
}

.calendar-day {
    min-height: 108px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 8px;
    background: #fff;
    display: grid;
    align-content: start;
    gap: 5px;
}

.calendar-day.muted {
    background: var(--surface);
}

.calendar-day strong {
    color: var(--green-dark);
    font-size: 16px;
}

.calendar-day span,
.calendar-day em {
    overflow: hidden;
    border-radius: 6px;
    padding: 4px 6px;
    background: #eefaf2;
    color: #244133;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

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

.calendar-delete-form {
    display: flex;
    justify-content: flex-end;
}

.lease-grid {
    grid-template-columns: minmax(280px, 350px) minmax(0, 1fr);
}

.lease-form,
.lease-reminder-edit,
.lease-list,
.lease-card {
    display: grid;
    gap: 12px;
}

.lease-form label,
.lease-reminder-edit label {
    display: grid;
    gap: 5px;
    color: var(--text);
    font-weight: 800;
}

.lease-form input,
.lease-form select,
.lease-form textarea,
.lease-reminder-edit input,
.lease-reminder-edit select,
.lease-reminder-edit textarea {
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 9px 11px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.lease-form textarea,
.lease-reminder-edit textarea {
    min-height: 92px;
    resize: vertical;
}

.lease-card {
    border-left: 4px solid rgba(31, 142, 74, 0.28);
    padding: 16px;
}

.lease-card-head,
.lease-actions,
.lease-meta,
.lease-dates {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.lease-card-head {
    justify-content: space-between;
}

.lease-card-head h2 {
    margin: 4px 0 0;
    font-size: 22px;
}

.lease-inline-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.lease-inline-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lease-dates span,
.lease-meta span {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 5px 10px;
    background: #fff;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.lease-actions form {
    margin: 0;
}

.lease-actions.secondary {
    justify-content: flex-end;
}

.property-request-grid {
    grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
}

.property-request-detail-grid {
    grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
}

.property-request-form,
.property-request-board,
.property-request-row,
.match-card-body {
    display: grid;
    gap: 12px;
}

.property-request-form label {
    display: grid;
    gap: 5px;
    color: var(--text);
    font-weight: 800;
}

.property-request-form input,
.property-request-form select,
.property-request-form textarea,
.property-request-search input {
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 9px 11px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.property-request-form textarea {
    min-height: 96px;
    resize: vertical;
}

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

.matching-state,
.matching-panel {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 12px 14px;
    background: #fff;
}

.matching-state {
    display: grid;
    gap: 4px;
    min-width: 260px;
}

.matching-state.ready,
.matching-panel.ready {
    border-color: rgba(31, 142, 74, 0.28);
    background: #f3fbf6;
}

.matching-state.locked,
.matching-panel.locked {
    border-color: #ffe1a5;
    background: #fff9eb;
}

.matching-panel.failed {
    border-color: #efb7b7;
    background: #fff4f4;
}

.matching-run-meta,
.matching-run-error {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.matching-run-error {
    color: #a32929;
}

.candidate-workspace-summary {
    display: grid;
    grid-template-columns: repeat(7, minmax(82px, 1fr));
    gap: 8px;
}

.candidate-summary-card {
    display: grid;
    gap: 2px;
    min-height: 68px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--muted);
    text-decoration: none;
}

.candidate-summary-card strong {
    color: var(--green-dark);
    font-size: 22px;
}

.candidate-summary-card span {
    font-size: 12px;
    font-weight: 800;
}

.candidate-summary-card.active {
    border-color: rgba(31, 142, 74, 0.4);
    background: #eff9f2;
}

.candidate-workspace-filter {
    display: grid;
    grid-template-columns: minmax(140px, .7fr) minmax(140px, .7fr) minmax(200px, 1.4fr) auto auto;
    align-items: end;
    gap: 10px;
    padding: 12px;
}

.candidate-workspace-filter label {
    display: grid;
    gap: 4px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.candidate-workspace-filter input,
.candidate-workspace-filter select {
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 8px 10px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.matching-state strong {
    color: var(--text);
    font-size: 15px;
}

.matching-state span,
.matching-panel p {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.property-request-toolbar,
.property-request-search,
.property-request-foot,
.property-request-actions,
.match-card-head {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.property-request-toolbar,
.match-card-head {
    justify-content: space-between;
}

.property-request-search {
    margin-left: auto;
}

.property-request-row {
    padding: 14px;
}

.property-request-row-main {
    display: grid;
    grid-template-columns: auto minmax(220px, 1fr) minmax(220px, 1fr) auto;
    align-items: center;
    gap: 14px;
    color: inherit;
    text-decoration: none;
}

.property-request-row h2,
.match-card h2,
.matching-panel h2 {
    margin: 2px 0 0;
    color: var(--text);
    font-size: 21px;
}

.property-request-row p {
    margin: 3px 0 0;
    color: var(--muted);
    font-weight: 700;
}

.property-request-tags,
.match-reasons {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.property-request-tags span,
.match-reasons span {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 5px 9px;
    background: #fff;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.match-reasons span {
    border-color: rgba(31, 142, 74, 0.22);
    background: #f3fbf6;
    color: var(--green-dark);
}

.property-request-meta {
    display: grid;
    min-width: 86px;
    justify-items: end;
}

.property-request-meta strong {
    color: var(--green-dark);
    font-size: 24px;
    line-height: 1;
}

.property-request-meta span,
.property-request-foot span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.matching-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.match-card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
}

.match-card-image {
    display: grid;
    min-height: 132px;
    place-items: center;
    border-radius: var(--radius);
    background: #dcdcdc;
    color: var(--muted);
    font-weight: 900;
}

.match-card-image img {
    width: 100%;
    height: 100%;
    min-height: 132px;
    border-radius: inherit;
    object-fit: cover;
}

@media (max-width: 980px) {
    .candidate-workspace-summary {
        grid-template-columns: repeat(4, minmax(82px, 1fr));
    }

    .candidate-workspace-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .candidate-filter-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .candidate-workspace-summary {
        display: flex;
        overflow-x: auto;
        padding-bottom: 3px;
    }

    .candidate-summary-card {
        min-width: 96px;
    }

    .candidate-workspace-filter {
        grid-template-columns: 1fr;
    }

    .candidate-filter-search {
        grid-column: auto;
    }

    .matching-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .matching-panel form .btn {
        width: 100%;
    }
}

.property-request-actions form {
    margin: 0;
}

.member-property-requests-head {
    align-items: center;
    margin: 18px auto 14px;
    max-width: 1180px;
    padding: 18px 24px;
}

.member-property-requests-page {
    align-items: start;
    gap: 18px;
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
    margin: 0 auto 34px;
    max-width: 1180px;
    padding: 0 18px 34px;
}

.member-property-requests-page .filter-panel {
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(16, 64, 43, 0.08);
    position: sticky;
    top: 92px;
}

.member-property-requests-page .property-request-form {
    gap: 11px;
    padding-top: 6px;
}

.member-property-requests-page .property-request-form label {
    color: var(--text);
    font-size: 13px;
}

.member-property-requests-page .property-request-form input,
.member-property-requests-page .property-request-form select,
.member-property-requests-page .property-request-form textarea,
.member-property-requests-page .property-request-search input {
    border-radius: 8px;
    width: 100%;
}

.member-property-requests-page .property-request-form .btn {
    justify-content: center;
    min-height: 44px;
    width: 100%;
}

.member-property-requests-page .property-request-board {
    align-content: start;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(16, 64, 43, 0.06);
    display: grid;
    gap: 14px;
    min-width: 0;
    padding: 16px;
}

.member-property-requests-page .property-request-toolbar {
    align-items: center;
    border-bottom: 1px solid var(--line);
    gap: 12px;
    padding-bottom: 14px;
}

.member-property-requests-page .property-request-search {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(180px, 260px) auto;
    margin-left: 0;
}

.member-property-requests-page .property-request-row {
    border-radius: 10px;
    box-shadow: none;
    gap: 0;
    overflow: hidden;
    padding: 0;
}

.member-property-requests-page .property-request-row-main {
    align-items: start;
    gap: 10px 14px;
    grid-template-areas:
        "status summary meta"
        ". tags meta";
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 16px;
}

.member-property-requests-page .property-request-row-main > .status {
    grid-area: status;
}

.member-property-requests-page .property-request-row-main > div:not(.property-request-tags):not(.property-request-meta) {
    grid-area: summary;
    min-width: 0;
}

.member-property-requests-page .property-request-tags {
    grid-area: tags;
}

.member-property-requests-page .property-request-meta {
    align-self: center;
    grid-area: meta;
    min-width: 88px;
}

.member-property-requests-page .property-request-row h2 {
    font-size: 20px;
    line-height: 1.25;
}

.member-property-requests-page .property-request-foot {
    background: #f8fbf9;
    border-top: 1px solid var(--line);
    gap: 10px 18px;
    padding: 10px 16px;
}

@media (max-width: 1100px) {
    .member-property-requests-head,
    .member-property-requests-page {
        max-width: 820px;
    }

    .member-property-requests-page {
        grid-template-columns: 1fr;
    }

    .member-property-requests-page .filter-panel {
        position: static;
    }
}

@media (max-width: 640px) {
    .member-property-requests-head {
        align-items: stretch;
        margin-top: 10px;
        padding: 16px;
    }

    .member-property-requests-page {
        padding: 0 12px 28px;
    }

    .member-property-requests-page .property-request-toolbar,
    .member-property-requests-page .property-request-search {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }

    .member-property-requests-page .property-request-row-main {
        grid-template-areas:
            "status"
            "summary"
            "tags"
            "meta";
        grid-template-columns: 1fr;
    }

    .member-property-requests-page .property-request-meta {
        justify-items: start;
    }
}

.import-grid {
    width: min(100%, 1280px);
    margin: 0 auto;
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
    align-items: start;
    gap: 18px;
}

.import-upload-form,
.import-rules,
.import-main,
.import-row-samples {
    display: grid;
    gap: 12px;
}

.import-upload-panel {
    padding: 18px;
}

.import-upload-panel h2 {
    margin-bottom: 2px;
}

.import-upload-panel > p {
    line-height: 1.55;
}

.import-upload-form label {
    display: grid;
    gap: 7px;
    color: var(--muted);
    font-size: 15px;
    font-weight: 800;
}

.import-upload-form input {
    min-height: 50px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 11px 12px;
    background: #fff;
    color: var(--text);
    width: 100%;
}

.import-upload-form input[type="file"]::file-selector-button {
    border: 1px solid #bfe6cb;
    border-radius: 6px;
    background: #f3fbf6;
    color: var(--green-dark);
    cursor: pointer;
    font-weight: 800;
    margin-right: 12px;
    min-height: 34px;
    padding: 6px 12px;
}

.import-upload-form input[type="file"]::file-selector-button:hover {
    background: #e8f7ed;
}

.import-rules {
    margin-top: 12px;
    border: 1px solid #dbece2;
    border-radius: var(--radius);
    padding: 12px;
    background: #f7fbf8;
    color: var(--muted);
    font-size: 14px;
}

.import-rules strong {
    color: var(--green-dark);
}

.import-empty-state {
    align-content: center;
    min-height: 300px;
    max-width: none;
    margin: 0;
    border-style: dashed;
    background: linear-gradient(180deg, rgba(247, 251, 248, .82), #fff);
}

.import-summary-card,
.import-card-heading,
.import-batch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.import-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(110px, 1fr));
    gap: 10px;
}

.import-stat-grid div {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px;
    background: var(--surface);
}

.import-stat-grid strong {
    display: block;
    color: var(--green-dark);
    font-size: 18px;
}

.import-stat-grid span,
.import-card-heading span,
.import-row-sample span {
    color: var(--muted);
    font-size: 14px;
}

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

.import-header-list span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 7px 10px;
    background: #fff;
    color: var(--muted);
}

.import-header-list strong {
    color: var(--green-dark);
}

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

.import-preview-action,
.import-confirm-action,
.import-result-note {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.import-confirm-action {
    align-items: flex-start;
}

.import-candidate-confirm {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cfe8d7;
    border-radius: var(--radius);
    background: #f5fbf7;
    color: var(--text);
    font-weight: 700;
    line-height: 1.5;
}

.import-candidate-confirm input {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: var(--green);
}

.import-result-note {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 12px;
    background: var(--surface-strong);
}

.import-result-note strong {
    color: var(--green-dark);
}

.import-detail-actions {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.import-detail-actions form {
    margin: 0;
}

.btn.danger {
    border-color: #f1c7c7;
    color: #9f2f2f;
    background: #fff5f5;
}

.btn.small {
    min-height: 34px;
    padding: 7px 12px;
    font-size: 13px;
}

.import-result-meta,
.import-event-list {
    display: grid;
    gap: 10px;
}

.import-result-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.import-result-meta span {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 12px;
    background: var(--surface);
    color: var(--muted);
    font-weight: 700;
}

.import-result-table {
    display: grid;
    gap: 8px;
}

.import-result-row {
    display: grid;
    grid-template-columns: 64px 140px minmax(0, 1fr) minmax(170px, auto);
    gap: 10px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 12px;
    background: #fff;
}

.import-result-row.heading {
    background: var(--surface-strong);
    color: var(--muted);
    font-weight: 800;
}

.import-result-row > div {
    display: grid;
    gap: 4px;
}

.import-result-row span,
.import-event-item span,
.import-event-item small {
    color: var(--muted);
}

.import-event-item {
    display: grid;
    gap: 4px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 12px;
    background: #fff;
}

.import-event-item strong {
    color: var(--green-dark);
}

.import-event-item small {
    overflow-wrap: anywhere;
}

.import-mapping-table {
    display: grid;
    gap: 8px;
}

.import-mapping-row {
    display: grid;
    grid-template-columns: 70px minmax(120px, 1fr) minmax(140px, 1.2fr) minmax(190px, .9fr);
    gap: 10px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px;
    background: #fff;
}

.import-mapping-row.heading {
    border: 0;
    padding: 0 10px;
    background: transparent;
    color: var(--muted);
    font-weight: 700;
    font-size: 13px;
}

.import-mapping-row strong {
    color: var(--green-dark);
}

.import-mapping-row span {
    overflow-wrap: anywhere;
}

.import-mapping-row select {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 9px 11px;
    background: #fff;
    color: var(--text);
}

.import-mapping-row select:focus {
    border-color: #abdcb7;
    box-shadow: 0 0 0 3px rgba(47, 158, 89, .1);
    outline: none;
}

.import-row-sample {
    display: grid;
    gap: 4px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 12px;
    background: #fff;
}

.import-row-sample span {
    overflow-wrap: anywhere;
}

.import-stat-grid.preview {
    grid-template-columns: repeat(5, minmax(105px, 1fr));
}

.import-preview-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.import-preview-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    align-items: start;
    border: 1px solid var(--line);
    border-left: 4px solid #d8e5de;
    border-radius: var(--radius);
    padding: 12px;
    background: #fff;
}

.import-preview-row.valid {
    border-left-color: var(--green);
    background: #fbfffb;
}

.import-preview-row.invalid {
    border-left-color: #cf4c4c;
}

.import-preview-row.duplicate,
.import-preview-row.needs_attention,
.import-preview-row.quota_blocked {
    border-left-color: #d89b2b;
    background: #fffdf7;
}

.import-preview-row > div {
    display: grid;
    gap: 4px;
}

.import-preview-row span,
.import-preview-row p,
.import-preview-row li {
    color: var(--muted);
}

.import-preview-row ul {
    grid-column: 1 / -1;
    margin: 0;
    padding-left: 18px;
}

.import-duplicate-note {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    border: 1px solid #f0dca8;
    border-radius: var(--radius);
    padding: 8px 10px;
    background: #fffaf0;
}

.import-duplicate-note strong {
    color: #8a5a05;
}

.import-duplicate-note span {
    color: var(--muted);
}

.import-candidate-note {
    grid-column: 1 / -1;
    display: grid;
    gap: 4px;
    border: 1px solid #cfe8d7;
    border-radius: var(--radius);
    padding: 8px 10px;
    background: #f6fbf7;
}

.import-candidate-note strong {
    color: var(--green);
}

.import-candidate-note span {
    color: var(--muted);
}

.import-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    border-radius: 999px;
    padding: 4px 10px;
    background: var(--surface-strong);
    color: var(--green-dark) !important;
    font-weight: 700;
    font-size: 13px;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .import-grid,
    .import-summary-card,
    .import-card-heading,
    .import-batch-row {
        display: grid;
        grid-template-columns: 1fr;
    }

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

    .import-stat-grid.preview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .import-result-meta,
    .import-result-row,
    .import-result-row.heading {
        grid-template-columns: 1fr;
    }

    .import-mapping-row,
    .import-mapping-row.heading {
        grid-template-columns: 1fr;
    }

    .import-mapping-row.heading {
        display: none;
    }
}

@media (max-width: 520px) {
    .import-stat-grid {
        grid-template-columns: 1fr;
    }

    .import-preview-row {
        grid-template-columns: 1fr;
    }
}

.reference-suggest-field {
    position: relative;
}

.profile-form-grid > label:not(:has(input, select, textarea, button)) {
    display: none;
}

.reference-suggest-list {
    position: absolute;
    z-index: 20;
    top: calc(100% - 28px);
    right: 0;
    left: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
}

.reference-suggest-list:empty,
.reference-suggest-list[hidden] {
    display: none;
}

.reference-suggest-list button {
    display: block;
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--line);
    padding: 9px 11px;
    background: #fff;
    color: var(--text);
    font: inherit;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

.reference-suggest-list button:hover {
    background: #f3fbf6;
    color: var(--green-dark);
}

.reference-candidate-btn {
    width: fit-content;
}

.reference-suggest-field small.ok {
    color: var(--green-dark);
}

.reference-suggest-field small.error {
    color: #b42318;
}

.notification-grid {
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    max-width: 1180px;
    margin: 0 auto;
    width: 100%;
}

.notification-filter-panel,
.notification-list,
.notification-card {
    display: grid;
    gap: 12px;
}

.notification-stat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 12px;
    background: #fff;
}

.notification-stat span {
    color: var(--muted);
    font-weight: 900;
}

.notification-stat strong {
    color: var(--green-dark);
    font-size: 26px;
    line-height: 1;
}

.notification-filter-form {
    display: grid;
    gap: 12px;
}

.notification-filter-form label {
    display: grid;
    gap: 5px;
    color: var(--text);
    font-weight: 800;
}

.notification-filter-form select {
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 9px 11px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.notification-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-left: 4px solid #dbe9e2;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
    box-shadow: 0 14px 34px rgba(20, 71, 45, 0.07);
    padding: 18px;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.notification-card.unread {
    border-left-color: var(--green);
    border-color: rgba(47, 158, 89, 0.28);
    background: linear-gradient(180deg, #ffffff 0%, #f7fcf9 100%);
    box-shadow: 0 18px 42px rgba(47, 158, 89, 0.11);
}

.notification-card:hover {
    border-color: #b9e3c8;
    box-shadow: 0 20px 46px rgba(20, 71, 45, 0.11);
    transform: translateY(-1px);
}

.notification-card-head,
.notification-card-foot,
.notification-badges,
.notification-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.notification-card-head,
.notification-card-foot {
    justify-content: space-between;
}

.notification-card-head {
    border-bottom: 1px solid rgba(220, 235, 225, 0.8);
    padding-bottom: 12px;
}

.notification-card-head > div:first-child {
    min-width: 0;
}

.notification-card-head h2 {
    margin: 4px 0 0;
    font-size: 20px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.notification-card p {
    background: #fff;
    border: 1px solid rgba(222, 235, 227, 0.9);
    border-radius: 8px;
    color: var(--muted);
    line-height: 1.65;
    margin: 0;
    padding: 12px 14px;
}

.notification-card-foot {
    border-top: 1px solid rgba(220, 235, 225, 0.8);
    padding-top: 12px;
}

.notification-card-foot small {
    color: #496a59;
    font-weight: 700;
}

.notification-badges .status,
.notification-badges .member-order-badge {
    min-height: 30px;
    padding: 5px 12px;
}

.notification-list {
    align-content: start;
}

.notification-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 104px;
    padding: 14px 16px;
    transition: opacity .22s ease, max-height .22s ease, padding .22s ease, margin .22s ease, border-width .22s ease, background-color .22s ease;
}

.notification-row-main {
    display: grid;
    min-width: 0;
    gap: 7px;
}

.notification-row .notification-card-head {
    align-items: flex-start;
    padding: 0;
    border: 0;
}

.notification-row .notification-card-head h2 {
    margin-top: 2px;
    font-size: 18px;
}

.notification-row p {
    display: -webkit-box;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: transparent;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.notification-row-meta {
    color: #5f7468;
    font-weight: 700;
}

.notification-row > .notification-actions {
    justify-content: flex-end;
    max-width: 190px;
}

.notification-row > .notification-actions .btn {
    min-height: 38px;
    padding: 8px 12px;
    white-space: nowrap;
}

.notification-row-removing {
    max-height: 0;
    min-height: 0;
    margin: -6px 0;
    padding-top: 0;
    padding-bottom: 0;
    border-top-width: 0;
    border-bottom-width: 0;
    opacity: 0;
    pointer-events: none;
}

.notification-row-updated {
    background: #eefaf2;
}

@media (max-width: 760px) {
    .notification-row {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .notification-row .notification-card-head {
        display: grid;
    }

    .notification-row > .notification-actions {
        justify-content: flex-start;
        max-width: none;
    }
}

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

.notification-actions form {
    margin: 0;
}

.message-box-grid {
    align-items: start;
}

.message-box-hero {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
    display: flex;
    margin: 20px 24px 16px;
    padding: 18px 20px;
}

.message-box-hero h1 {
    font-size: 30px;
}

.message-box-hero p {
    display: block;
    max-width: 760px;
}

.message-box-page {
    grid-template-columns: 250px minmax(0, 1fr);
    max-width: 1180px;
}

.message-box-page,
.message-detail-page {
    margin: 0 auto;
    width: 100%;
}

.message-filter-panel,
.message-thread-card,
.message-context-card,
.message-thread-panel {
    border-radius: 8px;
}

.message-filter-panel {
    position: sticky;
    top: calc(var(--topbar-height) + 16px);
}

.message-thread-list {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.message-thread-card {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.message-thread-card.unread {
    border-color: rgba(47, 158, 89, 0.34);
    box-shadow: 0 18px 42px rgba(47, 158, 89, 0.1);
}

.message-thread-head {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    min-width: 0;
}

.message-thread-head > div:first-child {
    min-width: 0;
}

.message-thread-head h2 {
    font-size: 1.08rem;
    margin: 4px 0;
    overflow-wrap: anywhere;
}

.message-thread-head small {
    color: var(--muted);
    display: block;
    overflow-wrap: anywhere;
}

.message-thread-card > p {
    margin-bottom: 0;
    max-width: 760px;
}

.message-thread-card .notification-card-foot {
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.message-thread-card .btn {
    min-width: 86px;
}

.message-thread-card .notification-badges {
    flex: 0 0 auto;
    justify-content: flex-end;
}

.message-detail-grid {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
}

.message-detail-page {
    max-width: 1180px;
    padding: 0 24px 32px;
}

.message-participant-list {
    display: grid;
    gap: 8px;
    margin: 14px 0;
}

.message-participant-list p {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 3px;
    margin: 0;
    padding: 10px;
}

.message-participant-list small {
    color: var(--muted);
}

.message-box-messages {
    margin-top: 0;
}

@media (max-width: 900px) {
    .message-box-hero {
        align-items: flex-start;
        margin: 14px 12px 12px;
    }

    .message-box-page,
    .message-detail-page {
        max-width: none;
        padding-inline: 12px;
    }

    .message-box-page,
    .message-detail-grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    .message-filter-panel {
        position: static;
    }
}

@media (max-width: 640px) {
    .document-upload-grid {
        width: calc(100% - 24px);
    }

    .document-upload-panel,
    .document-filter-card,
    .document-inventory-main > .dashboard-card:last-child,
    .document-row {
        padding: 14px;
    }

    .document-filter-form {
        grid-template-columns: 1fr;
    }

    .document-filter-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .member-package-card {
        padding: 14px;
    }

    .member-package-card-head,
    .member-renew-options form {
        display: grid;
        grid-template-columns: 1fr;
    }

    .member-package-card-head h2 {
        font-size: 23px;
    }

    .member-renew-options .btn {
        min-width: 0;
        width: 100%;
    }

    .land-map-hero,
    .land-map-alert,
    .land-map-shell {
        width: calc(100% - 24px);
    }

    .land-map-hero,
    .land-map-alert {
        align-items: stretch;
        flex-direction: column;
    }

    .land-map-shell {
        padding: 12px;
    }

    .land-map-filter {
        padding: 12px;
    }

    .land-map-workspace,
    .land-map-canvas {
        min-height: 420px;
    }

    .land-map-side {
        padding: 14px;
    }

    .message-box-hero {
        display: grid;
        padding: 16px;
    }

    .message-box-hero h1 {
        font-size: 24px;
    }

    .message-thread-head,
    .message-thread-card .notification-card-foot {
        align-items: flex-start;
        display: grid;
        justify-content: stretch;
    }

    .message-thread-card .notification-badges {
        justify-content: flex-start;
    }

    .message-thread-card .btn {
        width: 100%;
    }
}

.team-grid {
    grid-template-columns: minmax(270px, 340px) minmax(0, 1fr);
}

.team-sidebar,
.team-main,
.team-form,
.team-panel,
.team-table-list {
    display: grid;
    gap: 12px;
}

.team-form label {
    display: grid;
    gap: 5px;
    color: var(--text);
    font-weight: 800;
}

.team-form input,
.team-form select,
.team-form textarea,
.team-table-row select {
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 9px 11px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.team-form textarea {
    min-height: 92px;
    resize: vertical;
}

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

.team-list a {
    display: grid;
    gap: 3px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 11px 12px;
    background: #fff;
    color: var(--text);
}

.team-list a.active {
    border-color: #bee3c8;
    background: #eefaf2;
}

.team-list span,
.team-table-row span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.team-heading-card,
.team-table-row,
.team-inline-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.team-heading-card h2,
.team-panel h2 {
    margin: 4px 0 0;
    font-size: 22px;
}

.team-heading-card p,
.team-panel p {
    margin: 0;
}

.team-heading-stats,
.team-check-grid {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.team-heading-stats span,
.team-check-grid label {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 7px 11px;
    background: #fff;
    color: var(--muted);
    font-weight: 900;
}

.team-share-settings {
    background: #fbfdfb;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 8px;
    padding: 12px;
}

.team-share-settings > strong {
    color: var(--text);
    font-size: 15px;
}

.team-share-settings label {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    padding: 10px 12px;
}

.team-share-settings span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.team-share-settings b {
    color: var(--text);
    font-size: 14px;
}

.team-share-settings small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.team-share-settings input[type="checkbox"] {
    accent-color: #2f9e59;
    height: 20px;
    min-height: 20px;
    width: 20px;
}

.team-share-settings.compact {
    gap: 6px;
}

.team-share-settings label.is-disabled,
.team-property-share-form label:has(input:disabled) {
    background: #f5f7f5;
    color: #7c8a82;
}

.team-share-settings label.is-disabled input,
.team-property-share-form input:disabled {
    cursor: not-allowed;
}

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

.team-inline-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.team-table-row {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 12px;
    background: #fff;
}

.team-table-row > div {
    display: grid;
    gap: 3px;
}

.team-table-row form {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.team-grant-row {
    align-items: stretch;
}

.team-grant-summary {
    min-width: min(100%, 300px);
}

.team-grant-controls {
    align-items: flex-start;
    display: grid;
    gap: 8px;
    min-width: min(100%, 520px);
}

.team-property-share-form {
    background: #fbfdfb;
    border: 1px solid var(--line);
    border-radius: 8px;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 100%;
    padding: 8px;
}

.team-property-share-form label {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    display: inline-flex;
    gap: 6px;
    min-height: 34px;
    padding: 6px 9px;
    white-space: nowrap;
}

.team-property-share-form label:has(select) {
    border-radius: 8px;
    padding: 4px 6px;
}

.team-property-share-form input[type="checkbox"] {
    accent-color: #2f9e59;
}

.team-property-share-form select {
    min-height: 34px;
    padding: 5px 8px;
}

.team-bulk-share-form {
    border: 1px solid var(--line);
    border-radius: 8px;
    margin-bottom: 12px;
    padding: 12px;
}

.team-defaults-sidebar {
    border-top: 1px solid var(--line);
    margin-top: 14px;
    padding-top: 14px;
}

.team-defaults-sidebar > strong {
    color: var(--text);
}

.impersonation-banner {
    align-items: center;
    background: #fff7ed;
    border-bottom: 1px solid #fed7aa;
    color: #7c2d12;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    min-height: 38px;
    padding: 4px 14px;
    position: relative;
    z-index: 40;
}

.impersonation-banner div {
    align-items: baseline;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.impersonation-banner strong {
    color: #9a3412;
    flex: 0 0 auto;
    font-size: 12px;
}

.impersonation-banner span {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    min-width: 0;
}

.impersonation-banner form {
    flex: 0 0 auto;
    margin: 0;
}

.impersonation-banner .btn {
    font-size: 12px;
    min-height: 30px;
    padding: 4px 11px;
}

@media (max-width: 640px) {
    .impersonation-banner {
        align-items: stretch;
        gap: 5px;
        padding: 5px 8px;
    }

    .impersonation-banner div {
        display: grid;
        gap: 0;
    }

    .impersonation-banner strong,
    .impersonation-banner span {
        font-size: 11px;
    }

    .impersonation-banner .btn {
        height: 100%;
        max-width: 132px;
        white-space: normal;
    }
}

.impersonation-stack {
    align-items: start;
}

.impersonation-search {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.impersonation-search label,
.impersonation-start-form label {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.impersonation-target-row {
    align-items: stretch;
}

.impersonation-start-form {
    align-items: end;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(220px, 1fr) auto;
    min-width: min(100%, 420px);
}

.impersonation-approval-panel,
.impersonation-request-panel {
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: 10px;
    margin-bottom: 16px;
    padding-bottom: 16px;
}

.impersonation-approval-panel h2 {
    font-size: 18px;
    margin: 0;
}

.impersonation-decision-actions {
    display: grid;
    gap: 8px;
    min-width: min(100%, 430px);
}

.impersonation-decision-actions form {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(160px, 1fr) auto;
}

.compact-row {
    align-items: center;
    min-height: 54px;
}

.impersonation-policy-list {
    gap: 0;
}

.billing-setting-row.general-setting-row.impersonation-policy-row {
    align-items: center;
    grid-template-columns: minmax(260px, 1fr) minmax(480px, 540px);
    min-width: 0;
}

.impersonation-policy-row > span {
    min-width: 0;
}

.impersonation-policy-controls {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(140px, 1fr));
    justify-self: stretch;
    max-width: 540px;
    min-width: 0;
    width: 100%;
}

.impersonation-policy-controls label {
    align-items: center;
    background: #fbfdfb;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    min-height: 82px;
    min-width: 0;
    padding: 10px 8px;
    text-align: center;
}

.impersonation-policy-controls label > span:first-child {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.35;
    min-width: 0;
    overflow-wrap: normal;
    white-space: nowrap;
}

@media (max-width: 980px) {
    .billing-setting-row.general-setting-row.impersonation-policy-row {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .impersonation-policy-controls {
        justify-self: stretch;
        max-width: none;
    }
}

@media (max-width: 640px) {
    .impersonation-policy-controls {
        grid-template-columns: 1fr;
    }

    .impersonation-policy-controls label {
        flex-direction: row;
        justify-content: space-between;
        min-height: 48px;
        padding: 8px 10px;
        text-align: left;
    }
}

.dashboard-module-settings-list {
    display: grid;
    gap: 12px;
}

.dashboard-module-policy-row {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
    gap: 14px;
    min-width: 0;
    padding: 14px;
}

.dashboard-module-role {
    min-width: 0;
}

.dashboard-module-role strong,
.dashboard-module-role span {
    display: block;
    overflow-wrap: anywhere;
}

.dashboard-module-role strong {
    font-size: 16px;
}

.dashboard-module-role span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.dashboard-module-switch-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
}

.dashboard-module-switch {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 78px;
    min-width: 0;
    padding: 12px;
}

.dashboard-module-switch:hover {
    border-color: #ccead3;
    background: #f6fcf8;
}

.dashboard-module-switch strong,
.dashboard-module-switch small {
    display: block;
    overflow-wrap: anywhere;
}

.dashboard-module-switch small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.team-scope-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.team-scope-switch a {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 8px 12px;
    background: #fff;
    color: var(--text);
    font-weight: 900;
    text-align: center;
}

.team-scope-switch a.active {
    border-color: #bee3c8;
    background: #eefaf2;
    color: var(--green-dark);
}

.team-scope-filter label:nth-of-type(3),
.team-property-row .bulk-check,
.team-property-row .property-actions a[href*="/edit"],
.team-property-row .property-actions form {
    display: none;
}

.empty-state {
    padding: 18px;
}

.property-edit-form {
    padding: 18px;
    display: grid;
    gap: 16px;
}

.property-edit-form label {
    display: grid;
    gap: 6px;
    font-weight: 800;
}

.property-edit-form label > span {
    color: var(--text);
}

.property-edit-form textarea {
    resize: vertical;
}

.form-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.property-wizard-shell {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 16px;
    padding: 0 24px 32px;
}

.wizard-rail {
    align-self: start;
    padding: 14px;
    display: grid;
    gap: 10px;
    position: sticky;
    top: 84px;
}

.wizard-step {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    width: 100%;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.wizard-panel[hidden],.property-document-card[hidden]{display:none!important}.property-edit-step-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.property-edit-step-actions [data-edit-step-progress]{color:var(--muted);font-weight:800}.property-document-card[data-edit-step-external]{grid-column:2}.property-edit-readonly{margin-bottom:16px}

.wizard-step.active {
    border-color: #b9e2c2;
    background: var(--surface-strong);
}

.wizard-step.done {
    border-color: #d8eadf;
    background: #fbfffc;
}

.wizard-step.locked {
    color: var(--muted);
    background: var(--surface);
}

.wizard-step-number {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--line);
    color: var(--green-dark);
    font-weight: 900;
}

.wizard-step.active .wizard-step-number {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
}

.wizard-step.done .wizard-step-number {
    background: #fff;
    border-color: #b9e2c2;
}

.wizard-step strong,
.wizard-step small {
    display: block;
    min-width: 0;
}

.wizard-step small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
}

.wizard-panel {
    display: grid;
    gap: 16px;
    border-top: 1px solid var(--line);
    padding-top: 16px;
}

.wizard-panel:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.wizard-panel.disabled {
    padding: 14px;
    border: 1px dashed #d5dfd9;
    border-radius: var(--radius);
    background: var(--surface);
    color: var(--muted);
}

.wizard-panel-header h2,
.form-section h3 {
    margin: 0;
}

.wizard-panel-header p {
    margin: 4px 0 0;
    color: var(--muted);
}

.form-section {
    display: grid;
    gap: 12px;
}

.upload-placeholder,
.control-placeholder {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    padding: 14px;
}

.upload-placeholder {
    display: grid;
    gap: 3px;
}

.upload-placeholder strong {
    color: var(--green-dark);
}

.image-upload-panel {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    padding: 14px;
    display: grid;
    gap: 12px;
}

.image-dropzone {
    min-height: 132px;
    border: 1px dashed #b9dcc4;
    border-radius: var(--radius);
    background: var(--surface);
    display: grid;
    place-items: center;
    align-content: center;
    gap: 5px;
    padding: 16px;
    text-align: center;
    cursor: pointer;
}

.image-dropzone input {
    display: none;
}

.image-dropzone-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 30px;
    line-height: 1;
    font-weight: 700;
}

.image-dropzone strong {
    color: var(--green-dark);
}

.image-dropzone small,
.image-upload-status,
.image-empty-state,
.image-card-meta,
.image-card textarea,
.checkbox-line {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.image-upload-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.checkbox-line {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.checkbox-line input {
    width: 18px;
    height: 18px;
    accent-color: var(--green);
}

.image-upload-status.error {
    color: #9b2d2d;
}

.image-upload-status.success {
    color: var(--green-dark);
}

.image-upload-queue {
    display: grid;
    gap: 10px;
}

.image-upload-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(120px, 220px) auto;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid #dbe7df;
    border-radius: 12px;
    background: #fff;
}

.image-upload-item.is-success {
    border-color: #b9dfc7;
    background: #f7fcf8;
}

.image-upload-item.is-error {
    border-color: #efc4c4;
    background: #fff8f8;
}

.image-upload-item.is-cancelled {
    opacity: .72;
}

.image-upload-item-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.image-upload-item-copy strong,
.image-upload-item-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.image-upload-item-copy small {
    color: var(--muted);
}

.image-upload-progress {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e7efe9;
}

.image-upload-progress span {
    display: block;
    width: var(--upload-progress, 0%);
    height: 100%;
    border-radius: inherit;
    background: var(--green);
    transition: width .18s ease;
}

.image-upload-item.is-error .image-upload-progress span,
.image-upload-item.is-cancelled .image-upload-progress span {
    background: #b74a4a;
}

.image-upload-item-actions {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

.property-image-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 12px;
}

.image-empty-state {
    grid-column: 1 / -1;
    min-height: 92px;
    border: 1px dashed #d5dfd9;
    border-radius: var(--radius);
    background: var(--surface);
    display: grid;
    place-items: center;
    text-align: center;
    padding: 14px;
}

.image-card {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    overflow: hidden;
    display: grid;
    gap: 10px;
    padding-bottom: 12px;
}

.image-card-cover {
    border-color: #addfba;
    box-shadow: 0 0 0 2px rgba(47, 158, 89, .12);
}

.image-card-preview {
    aspect-ratio: 4 / 3;
    background:
        linear-gradient(135deg, rgba(47, 158, 89, .13), rgba(255, 188, 0, .2)),
        #eef5f0;
    overflow: hidden;
}

.image-card-preview img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.image-card-body {
    display: grid;
    gap: 8px;
    padding: 0 10px;
}

.image-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.image-cover-badge {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 3px 8px;
    background: var(--surface-strong);
    color: var(--green-dark);
    font-size: 14px;
    font-weight: 900;
}

.image-card-meta {
    overflow-wrap: anywhere;
}

.image-card textarea {
    min-height: 54px;
    resize: vertical;
}

.image-card-actions,
.image-card-move {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.image-card-actions .btn,
.image-card-move .btn {
    min-height: 34px;
    padding: 6px 9px;
    font-size: 13px;
}

.control-placeholder {
    display: grid;
    gap: 8px;
}

.control-placeholder div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-top: 8px;
    border-top: 1px solid var(--line);
}

.control-placeholder div:first-child {
    border-top: 0;
    padding-top: 0;
}

.control-placeholder strong {
    color: var(--text);
    text-align: right;
}

.btn.danger {
    color: #9b2d2d;
    border-color: #edc9c9;
    background: #fff7f7;
}

.btn.danger.confirm {
    color: #fff;
    border-color: #9b2d2d;
    background: #9b2d2d;
}

.dashboard-main {
    gap: 12px;
}

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

.metric-grid article {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
    padding: 14px;
    display: grid;
    gap: 4px;
}

.metric-grid span,
.metric-grid small {
    color: var(--muted);
    font-size: 14px;
}

.metric-grid strong {
    color: var(--green-dark);
    font-size: 28px;
    line-height: 1;
}

.account-settings-shell {
    display: grid;
    grid-template-columns: minmax(260px, 1.15fr) minmax(260px, 1fr);
    gap: 16px;
    padding: 0 24px 32px;
}

.account-settings-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 20px;
    min-width: 0;
}

.account-settings-card-wide {
    grid-row: span 2;
}

.account-settings-card h2 {
    margin: 6px 0 8px;
    color: var(--text);
}

.account-settings-card p {
    margin: 0 0 16px;
    color: var(--muted);
}

.account-settings-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.profile-summary-shell .dashboard-list {
    gap: 10px;
}

.profile-summary-shell .dashboard-list div {
    gap: 5px;
    padding: 14px 0;
}

.profile-summary-shell .dashboard-list span {
    font-size: 14px;
    line-height: 1.35;
}

.profile-summary-shell .dashboard-list strong {
    font-size: 17px;
    line-height: 1.45;
}

.profile-summary-shell .dashboard-list strong a {
    color: var(--green-dark);
    font-weight: 900;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.dashboard-row {
    align-items: flex-start;
}

.local-dev-link a {
    color: var(--green-dark);
    font-weight: 800;
    word-break: break-all;
}

.settings-form {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
    padding: 16px;
    display: grid;
    gap: 14px;
}

.team-sharing-settings-page {
    display: grid;
    gap: 16px;
    padding: 0 24px;
}

.team-sharing-settings-form {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
}

.property-team-sharing-page {
    display: grid;
    gap: 16px;
    padding: 0 24px;
}

.property-team-sharing-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.property-team-sharing-summary > div {
    display: grid;
    gap: 5px;
    border-right: 1px solid var(--line);
    padding-right: 12px;
}

.property-team-sharing-summary > div:last-child {
    border-right: 0;
}

.property-team-sharing-summary span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.property-team-sharing-summary strong {
    color: var(--green-dark);
    font-size: 22px;
}

.property-team-sharing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.property-team-sharing-card {
    display: grid;
    gap: 14px;
    align-content: start;
}

.property-team-sharing-card > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.property-team-sharing-card h2 {
    font-size: 21px;
    margin: 3px 0 0;
}

@media (max-width: 960px) {
    .property-team-sharing-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .team-sharing-settings-page {
        padding: 0 16px;
    }

    .property-team-sharing-page {
        padding: 0 16px;
    }

    .property-team-sharing-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .property-team-sharing-summary > div:nth-child(2) {
        border-right: 0;
    }
}

@media (max-width: 420px) {
    .property-team-sharing-summary {
        grid-template-columns: 1fr;
    }

    .property-team-sharing-summary > div {
        border-right: 0;
        border-bottom: 1px solid var(--line);
        padding: 0 0 10px;
    }

    .property-team-sharing-summary > div:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }
}

.settings-form label {
    display: grid;
    gap: 6px;
    font-weight: 800;
}

.settings-toggle-grid {
    display: grid;
    gap: 10px;
}

.settings-toggle-grid .toggle-field {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: fit-content;
    min-height: 30px;
    cursor: pointer;
}

.settings-toggle-grid .toggle-field input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 0;
    accent-color: var(--green);
}

.settings-toggle-grid .toggle-field span {
    line-height: 1.4;
}

.settings-form input[type="text"],
.settings-form input[type="password"],
.settings-form input[type="email"],
.settings-form input[type="number"],
.settings-form select {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 0 12px;
    background: #fff;
}

.compact-form {
    margin-top: 14px;
    box-shadow: none;
}

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

.switch-row small {
    display: block;
    color: var(--muted);
    font-weight: 600;
    margin-top: 2px;
}

.switch-row input {
    width: 22px;
    height: 22px;
}

.settings-divider {
    height: 1px;
    background: var(--line);
    margin: 4px 0;
}

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

.settings-inline-grid small {
    color: var(--muted);
    font-weight: 600;
    line-height: 1.45;
}

@media (max-width: 720px) {
    .settings-inline-grid {
        grid-template-columns: 1fr;
    }
}

.admin-card-actions {
    margin-top: 12px;
}

.package-admin-grid,
.package-edit-grid {
    grid-template-columns: 250px minmax(420px, 1fr) 320px;
}

.package-table {
    display: grid;
    gap: 10px;
}

.payment-admin-grid {
    grid-template-columns: 280px minmax(0, 1fr);
}

.payment-detail-grid {
    grid-template-columns: 320px minmax(0, 1fr);
}

.billing-settings-hero,
.billing-settings-grid,
.billing-settings-stack {
    width: min(100%, 1160px);
    margin-left: auto;
    margin-right: auto;
}

.billing-settings-stack {
    display: grid;
    gap: 18px;
}

.billing-settings-grid {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 20px;
}

.billing-settings-summary,
.billing-settings-side,
.billing-settings-card,
.billing-settings-permissions {
    padding: 18px;
}

.billing-settings-summary {
    align-items: center;
    display: grid;
    gap: 18px 28px;
    grid-column: 1 / -1;
    grid-template-columns: minmax(240px, .75fr) minmax(420px, 1.35fr) minmax(260px, .9fr);
}

.billing-settings-summary .eyebrow {
    grid-column: 1;
    grid-row: 1;
}

.billing-settings-summary h2,
.billing-settings-side h2 {
    margin-bottom: 10px;
}

.billing-settings-summary h2 {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
}

.billing-settings-summary .admin-metric-board.compact {
    grid-column: 3;
    grid-row: 1 / span 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.billing-settings-summary p {
    align-self: center;
    grid-column: 2;
    grid-row: 1 / span 2;
    line-height: 1.65;
    margin: 0;
}

.general-settings-summary .admin-metric-board.compact {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    min-width: 0;
}

.general-settings-summary .admin-metric-board strong,
.general-settings-summary .admin-metric-board span {
    overflow-wrap: anywhere;
}

.billing-settings-card {
    display: grid;
    gap: 16px;
}

.billing-settings-card fieldset {
    border: 0;
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
}

.billing-settings-card fieldset:disabled {
    opacity: .72;
}

.billing-settings-card.settings-card {
    border: 0;
    box-shadow: none;
    padding: 0;
}

.billing-settings-panel {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 10px 28px rgba(32, 86, 58, .06);
    overflow: hidden;
}

.billing-settings-panel summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    list-style: none;
    padding: 18px 20px;
}

.billing-settings-permissions summary {
    grid-template-columns: minmax(0, 1fr) auto auto;
}

.billing-settings-panel summary::-webkit-details-marker {
    display: none;
}

.billing-settings-panel summary::after {
    border: solid var(--muted);
    border-width: 0 2px 2px 0;
    content: "";
    height: 8px;
    transform: rotate(45deg);
    transition: transform .18s ease;
    width: 8px;
}

.billing-settings-panel[open] summary::after {
    transform: rotate(-135deg);
}

.billing-settings-panel summary small,
.billing-settings-fields small {
    color: var(--muted);
    display: block;
    font-weight: 600;
    margin-top: 2px;
    line-height: 1.45;
}

.billing-settings-fields {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 18px 20px 20px;
}

.billing-settings-fields.two-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.billing-settings-fields label {
    background: #fbfdfb;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    display: grid;
    gap: 6px;
    font-weight: 900;
    padding: 12px;
}

.billing-settings-fields label > span {
    line-height: 1.35;
}

.billing-settings-fields input[type="text"],
.billing-settings-fields input[type="number"],
.billing-settings-fields select {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    min-height: 42px;
    padding: 0 12px;
    width: 100%;
}

.billing-setting-row input[type="email"],
.billing-setting-row input[type="url"],
.billing-setting-row textarea {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 0 12px;
}

.billing-setting-row input[type="email"],
.billing-setting-row input[type="url"] {
    min-height: 42px;
}

.billing-settings-fields .switch-row {
    align-items: center;
    min-height: 112px;
    padding: 12px;
}

.billing-setting-list {
    border-top: 1px solid var(--line);
    display: grid;
    padding-left: 18px;
    position: relative;
}

.billing-setting-list::before {
    background: #d8eadc;
    content: "";
    inset: 10px auto 10px 18px;
    position: absolute;
    width: 2px;
}

.billing-setting-row {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 240px);
    min-height: 78px;
    padding: 14px 20px 14px 18px;
    position: relative;
}

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

.billing-setting-row:hover {
    background: #fbfdfb;
}

.billing-setting-row strong {
    display: block;
    line-height: 1.35;
}

.billing-setting-row small {
    color: var(--muted);
    display: block;
    font-weight: 600;
    line-height: 1.45;
    margin-top: 3px;
}

.billing-setting-row input[type="text"],
.billing-setting-row input[type="number"],
.billing-setting-row input[type="email"],
.billing-setting-row input[type="url"],
.billing-setting-row select,
.billing-setting-row textarea {
    justify-self: end;
    width: min(100%, 240px);
}

.billing-setting-row textarea {
    min-height: 88px;
    padding: 10px 12px;
    resize: vertical;
}

.billing-setting-row input[type="checkbox"] {
    height: 22px;
    justify-self: end;
    width: 22px;
}

.settings-switch-control {
    display: inline-grid;
    justify-self: end;
}

.mail-template-row {
    align-items: start;
    grid-template-columns: minmax(0, .85fr) minmax(280px, 1.15fr);
}

.mail-template-fields {
    display: grid;
    gap: 10px;
    justify-self: stretch;
    min-width: 0;
}

.mail-template-fields input[type="text"],
.mail-template-fields textarea {
    width: 100%;
}

.mail-test-card.settings-card {
    display: grid;
    gap: 18px;
    padding: 22px;
    scroll-margin-top: calc(var(--topbar-height) + 18px);
}

.mail-test-actions {
    gap: 10px;
}

.mail-test-heading {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.mail-test-heading h2 {
    margin: 4px 0 6px;
}

.mail-test-heading p,
.mail-test-result p {
    margin: 0;
}

.mail-test-configuration {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mail-test-configuration > div {
    background: #f7fbf8;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px;
}

.mail-test-configuration span,
.mail-test-result dt {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 700;
}

.mail-test-configuration strong,
.mail-test-result dd,
.mail-test-diagnostic {
    overflow-wrap: anywhere;
}

.mail-test-notice,
.mail-test-warning {
    background: #fff9e8;
    border: 1px solid #ead79c;
    border-radius: 8px;
    color: #705712;
    margin: 0;
    padding: 11px 13px;
}

.mail-test-result {
    border: 1px solid;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.mail-test-result.success {
    background: #effaf3;
    border-color: #b9dfc5;
}

.mail-test-result.error {
    background: #fff3f2;
    border-color: #e7c2be;
}

.mail-test-result dl {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.mail-test-result dl > div {
    display: grid;
    gap: 3px;
}

.mail-test-result dd {
    margin: 0;
}

.mail-test-diagnostic {
    background: rgba(255, 255, 255, .7);
    border-radius: 6px;
    padding: 9px 10px;
}

.mail-test-recipient {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) minmax(240px, .7fr);
}

.mail-test-recipient small {
    color: var(--muted);
    display: block;
    margin-top: 3px;
}

.mail-test-recipient input {
    width: 100%;
}

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

@media (max-width: 640px) {
    .mail-test-card.settings-card {
        padding: 16px;
    }

    .mail-test-heading,
    .mail-test-recipient {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .mail-test-heading {
        display: grid;
    }

    .mail-test-heading .status {
        justify-self: start;
    }

    .mail-test-configuration,
    .mail-test-result dl {
        grid-template-columns: 1fr;
    }

    .mail-test-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

.billing-settings-actions {
    display: flex;
    justify-content: flex-end;
}

/* LINE Provider overview/edit: contain long endpoints and keep actions aligned. */
.line-provider-page {
    width: min(1160px, calc(100% - 32px));
    min-width: 0;
    margin: 0 auto 40px;
    display: grid;
    gap: 18px;
}

.line-provider-heading {
    min-width: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 0 4px;
}

.line-provider-heading > div:first-child {
    min-width: 0;
    max-width: 760px;
}

.line-provider-heading .eyebrow,
.line-provider-heading h1,
.line-provider-heading p {
    margin-top: 0;
}

.line-provider-heading h1 {
    margin-bottom: 8px;
}

.line-provider-heading p:last-child {
    margin-bottom: 0;
    color: var(--muted);
    line-height: 1.55;
}

.line-provider-header-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.line-provider-header-actions .status-badge {
    white-space: nowrap;
}

.line-provider-page .billing-settings-card,
.line-provider-page .billing-settings-card.settings-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 18px;
    background: #fff;
    box-shadow: var(--shadow-soft);
}

.line-provider-page .billing-setting-list,
.line-provider-page .billing-setting-row,
.line-provider-page .billing-setting-row > * {
    min-width: 0;
}

.line-provider-page .billing-setting-row input[type="text"],
.line-provider-page .billing-setting-row input[type="password"],
.line-provider-page .billing-setting-row select {
    justify-self: end;
    width: min(100%, 320px);
}

.line-provider-url-row {
    grid-template-columns: minmax(180px, .55fr) minmax(280px, 1fr);
}

.line-provider-url-row code {
    display: block;
    justify-self: stretch;
    max-width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 9px 11px;
    background: #f7faf8;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.45;
}

.line-provider-page .billing-settings-panel,
.line-provider-page .billing-settings-panel summary,
.line-provider-page .billing-settings-panel summary > span,
.line-provider-page details,
.line-provider-page pre,
.line-provider-page code {
    min-width: 0;
    max-width: 100%;
}

.line-provider-page .billing-settings-panel summary strong,
.line-provider-page .billing-settings-panel summary small,
.line-provider-page .billing-setting-row strong,
.line-provider-page .billing-setting-row small {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.line-provider-page pre {
    width: 100%;
    margin: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.55;
}

.line-provider-page .table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.line-provider-page .table-wrap table {
    width: 100%;
    min-width: 760px;
}

.line-provider-page .table-wrap th,
.line-provider-page .table-wrap td {
    max-width: 260px;
    overflow-wrap: anywhere;
    word-break: break-word;
    vertical-align: top;
}

.line-provider-page .table-wrap form {
    min-width: 190px;
}

.line-provider-page .empty-state {
    overflow-wrap: anywhere;
}

.line-provider-edit-card > h2,
.line-provider-edit-card > p {
    margin-top: 0;
}

.line-provider-edit-card > p {
    color: var(--muted);
    line-height: 1.55;
}

.line-provider-edit-actions {
    align-items: center;
    gap: 10px;
    padding-top: 2px;
}

.line-provider-message-test-card {
    border-color: #a7dfc2;
    background: linear-gradient(145deg, #ffffff 0%, #f2fbf6 100%);
}

.line-provider-message-test-copy {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.line-provider-message-test-copy h2,
.line-provider-message-test-copy p {
    margin-top: 0;
}

.line-provider-message-test-copy p:not(.eyebrow) {
    color: var(--muted);
    line-height: 1.55;
    margin-bottom: 0;
}

.line-provider-message-test-actions {
    justify-content: flex-end;
}

@media (max-width: 760px) {
    .line-provider-page {
        width: min(100% - 20px, 1160px);
        gap: 14px;
    }

    .line-provider-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
        padding-top: 18px;
    }

    .line-provider-header-actions {
        justify-content: flex-start;
    }

    .line-provider-page .billing-settings-card,
    .line-provider-page .billing-settings-card.settings-card {
        padding: 14px;
    }

    .line-provider-url-row {
        grid-template-columns: 1fr;
    }

    .line-provider-page .billing-settings-panel summary {
        padding: 14px;
    }

    .line-provider-page .billing-setting-row {
        padding: 12px 14px;
    }

    .line-provider-page .billing-setting-row input[type="text"],
    .line-provider-page .billing-setting-row input[type="password"],
    .line-provider-page .billing-setting-row select {
        justify-self: stretch;
        width: 100%;
        max-width: none;
    }

    .line-provider-edit-actions {
        justify-content: stretch;
    }

    .line-provider-edit-actions .btn {
        flex: 1 1 0;
        justify-content: center;
    }

    .line-provider-message-test-copy {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .line-provider-message-test-copy .status-badge {
        align-self: flex-start;
    }

    .line-provider-message-test-actions,
    .line-provider-message-test-actions .btn {
        justify-content: center;
        width: 100%;
    }
}

.billing-provider-list,
.billing-permission-table {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.billing-provider-list article,
.billing-permission-table article {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    display: grid;
    gap: 4px;
    padding: 12px;
}

.billing-provider-list article {
    gap: 8px;
    min-height: 112px;
    padding: 14px;
}

.billing-provider-list article strong {
    font-size: 16px;
}

.billing-provider-list span,
.billing-permission-table span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.billing-provider-list small {
    color: var(--muted);
    font-weight: 700;
    line-height: 1.45;
}

.billing-provider-list.compact {
    border-top: 1px solid var(--line);
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    padding: 16px 20px 20px;
}

.billing-provider-list.compact article {
    min-height: auto;
}

.billing-settings-permissions {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    grid-column: 1 / -1;
    box-shadow: var(--shadow);
}

.billing-permission-table article {
    align-items: center;
    grid-template-columns: minmax(150px, 1fr) repeat(4, minmax(130px, 1fr));
}

.billing-settings-permissions .billing-permission-table {
    border-top: 1px solid var(--line);
    margin-top: 0;
    padding: 16px 20px 20px;
}

@media (max-width: 980px) {
    .billing-settings-grid,
    .billing-settings-summary,
    .billing-settings-fields,
    .billing-settings-fields.two-col,
    .billing-setting-row,
    .billing-provider-list.compact,
    .billing-permission-table article {
        grid-template-columns: 1fr;
    }

    .billing-settings-summary {
        align-items: stretch;
    }

    .billing-settings-summary .eyebrow,
    .billing-settings-summary h2,
    .billing-settings-summary p,
    .billing-settings-summary .admin-metric-board.compact {
        grid-column: auto;
        grid-row: auto;
    }

    .billing-setting-row input[type="text"],
    .billing-setting-row input[type="number"],
    .billing-setting-row input[type="email"],
    .billing-setting-row input[type="url"],
    .billing-setting-row select,
    .billing-setting-row textarea,
    .billing-setting-row input[type="checkbox"] {
        justify-self: start;
    }

    .settings-switch-control {
        justify-self: start;
    }

    .billing-setting-list {
        padding-left: 12px;
    }

    .billing-setting-list::before {
        left: 12px;
    }

    .billing-settings-permissions summary {
        grid-template-columns: minmax(0, 1fr) auto;
    }

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

@media (max-width: 1180px) {
    .general-settings-summary {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .general-settings-summary .eyebrow,
    .general-settings-summary h2,
    .general-settings-summary p,
    .general-settings-summary .admin-metric-board.compact {
        grid-column: auto;
        grid-row: auto;
    }
}

@media (max-width: 560px) {
    .general-settings-summary .admin-metric-board.compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.payment-filter-form,
.payment-action-form {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.payment-filter-form label,
.payment-action-form label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-weight: 900;
}

.payment-filter-form input,
.payment-filter-form select,
.payment-action-form textarea {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    padding: 8px 10px;
    color: var(--text);
}

.payment-action-form textarea {
    min-height: 84px;
    resize: vertical;
}

.manual-adjust-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.package-member-search-help {
    margin: 14px 0 0;
    color: var(--muted);
    line-height: 1.6;
}

.package-member-results {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.package-member-result {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
}

.package-member-result.is-selected {
    border-color: var(--green);
    background: var(--surface-strong);
}

.package-member-result > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.package-member-result span,
.package-member-result small {
    overflow-wrap: anywhere;
    color: var(--muted);
}

.package-member-result .btn {
    width: 100%;
}

.package-member-context {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    border-color: var(--green);
    background: var(--surface-strong);
}

.package-member-context > div {
    min-width: 0;
}

.package-member-context h2,
.package-member-context p {
    overflow-wrap: anywhere;
}

.package-member-context-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 12px 0;
}

.package-member-context-meta span {
    padding: 5px 9px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 800;
}

.package-member-empty {
    text-align: center;
    padding-block: 42px;
}

.manual-adjust-form label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-weight: 900;
}

.manual-adjust-form label.wide {
    grid-column: 1 / -1;
}

.manual-adjust-form [data-addon-operation-scope][hidden] {
    display: none !important;
}

.manual-adjust-form [data-addon-operation-help],
.manual-adjust-form [data-addon-cancel-window] {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.5;
}

.manual-adjust-form input,
.manual-adjust-form select,
.manual-adjust-form textarea {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    padding: 8px 10px;
    color: var(--text);
}

.datetime-picker-control {
    position: relative;
    width: 100%;
}

.datetime-picker-control input[data-datetime-picker],
.datetime-picker-control input[data-date-picker] {
    padding-right: 48px;
}

.datetime-picker-button {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 42px;
    height: calc(100% - 2px);
    min-height: 40px;
    border: 0;
    border-left: 1px solid var(--line);
    border-radius: 0 var(--radius) var(--radius) 0;
    background: #fff;
    color: var(--green-dark);
    cursor: pointer;
    display: grid;
    place-items: center;
}

.datetime-picker-button:hover,
.datetime-picker-control.is-open .datetime-picker-button {
    background: var(--surface-strong);
}

.datetime-picker-button svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.datetime-picker-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: min(320px, calc(100vw - 32px));
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 18px 42px rgba(23, 49, 38, .16);
    display: none;
    gap: 10px;
    padding: 12px;
    z-index: 30;
}

.datetime-picker-control.is-open .datetime-picker-panel {
    display: grid;
}

.datetime-picker-panel label {
    color: var(--muted);
    display: grid;
    font-weight: 900;
    gap: 6px;
}

.datetime-picker-date {
    border: 0;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, .8fr) minmax(0, .9fr) minmax(0, 1.25fr);
    margin: 0;
    min-width: 0;
    padding: 0;
}

.datetime-picker-date legend {
    color: var(--muted);
    font-weight: 900;
    margin-bottom: 6px;
    padding: 0;
}

.datetime-picker-panel input,
.datetime-picker-panel select {
    min-height: 40px;
}

.datetime-picker-date input,
.datetime-picker-date select {
    min-width: 0;
    width: 100%;
}

.datetime-picker-time {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.datetime-picker-panel.is-date-only .datetime-picker-time {
    display: none;
}

.datetime-picker-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.datetime-picker-actions .btn {
    min-height: 38px;
    padding: 8px 14px;
}

.addon-catalog-hero,
.addon-catalog-grid {
    width: min(100%, 1120px);
    margin-left: auto;
    margin-right: auto;
}

.addon-catalog-grid {
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.addon-catalog-grid .admin-dashboard-module:first-child {
    grid-row: auto;
}

.addon-catalog-summary {
    padding: 18px;
}

.addon-catalog-summary .admin-metric-board {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.addon-catalog-list,
.addon-catalog-form {
    display: grid;
    gap: 16px;
}

.addon-catalog-overview {
    display: grid;
    gap: 12px;
}

.addon-catalog-row {
    align-items: start;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(260px, 1fr) minmax(360px, .95fr) auto;
    padding: 18px;
}

.addon-catalog-row:hover {
    border-color: #cfe8d6;
}

.addon-catalog-row h2 {
    margin: 2px 0 4px;
}

.addon-catalog-row p {
    margin: 0;
}

.addon-catalog-row-meta {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.addon-catalog-row-meta div {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    display: grid;
    gap: 4px;
    min-height: 68px;
    padding: 10px;
}

.addon-catalog-row-meta span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.addon-catalog-row-meta strong {
    color: var(--green-dark);
    font-size: 16px;
}

.addon-catalog-row-actions {
    align-items: end;
    display: grid;
    gap: 12px;
    justify-items: end;
}

.addon-catalog-row-actions .property-badges {
    justify-content: flex-end;
}

.addon-catalog-card {
    scroll-margin-top: 96px;
    padding: 18px;
}

.addon-catalog-card .settings-card-header {
    align-items: flex-start;
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-bottom: 14px;
}

.addon-catalog-card .property-badges {
    justify-content: flex-end;
}

.addon-catalog-fields {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(140px, 1fr)) minmax(120px, .75fr);
}

.addon-catalog-fields label:first-child {
    grid-column: span 2;
}

.addon-catalog-form > label,
.addon-catalog-form .package-editor-section,
.addon-catalog-form .package-toggle-list {
    max-width: 860px;
}

.addon-catalog-form .package-toggle-list {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.addon-catalog-form .switch-row {
    align-content: space-between;
    min-height: 96px;
}

.addon-eligibility-grid,
.addon-grants-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

@media (max-width: 760px) {
    .addon-catalog-hero,
    .addon-catalog-grid {
        width: 100%;
    }

    .addon-catalog-card .settings-card-header,
    .addon-catalog-row,
    .addon-catalog-row-meta,
    .addon-catalog-fields,
    .addon-catalog-form .package-toggle-list,
    .addon-eligibility-grid,
    .addon-grants-grid {
        grid-template-columns: 1fr;
    }

    .addon-catalog-fields label:first-child {
        grid-column: auto;
    }

    .addon-catalog-row-actions {
        justify-items: stretch;
    }

    .addon-catalog-row-actions .property-badges {
        justify-content: flex-start;
    }
}

.manual-adjust-form textarea {
    min-height: 96px;
    resize: vertical;
}

.manual-adjust-form .btn {
    justify-self: start;
}

.payment-table,
.payment-detail-main {
    display: grid;
    gap: 12px;
}

.payment-row {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
    padding: 14px;
    display: grid;
    grid-template-columns: 130px minmax(0, 1.1fr) minmax(260px, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.payment-row.empty {
    grid-template-columns: 1fr;
}

.payment-row h2 {
    margin: 0 0 4px;
    font-size: 20px;
}

.payment-row p {
    margin: 0;
    color: var(--muted);
    overflow-wrap: anywhere;
}

.payment-row-actions {
    display: grid;
    gap: 8px;
    justify-items: end;
}

.payment-section {
    padding: 16px;
    display: grid;
    gap: 12px;
}

.payment-section h2 {
    margin: 0;
    font-size: 22px;
}

.payment-record-list {
    display: grid;
    gap: 10px;
}

.payment-record-list article {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    padding: 12px;
    display: grid;
    gap: 8px;
}

.payment-record-list article > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.payment-record-list strong {
    color: var(--text);
}

.payment-record-list span {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.payment-record-list pre {
    max-height: 240px;
    overflow: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    padding: 10px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.package-row {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    padding: 14px;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 230px auto;
    gap: 14px;
    align-items: center;
}

.package-status-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: flex-start;
}

.package-sales-warning {
    display: grid;
    gap: 4px;
}

.package-row h2 {
    margin: 0 0 3px;
    font-size: 17px;
    line-height: 1.25;
}

.package-row p {
    margin: 0;
    color: var(--muted);
}

.package-meta {
    display: flex;
    gap: 10px;
    color: var(--muted);
    font-size: 13px;
}

.package-meta strong {
    color: var(--green-dark);
}

.settings-form textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 12px;
    resize: vertical;
}

.package-editor-section {
    border-top: 1px solid var(--line);
    padding-top: 14px;
    display: grid;
    gap: 10px;
}

.package-editor-section h2 {
    margin: 0;
    font-size: 17px;
}

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

.package-feature-group {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    padding: 10px 12px 0;
}

.package-feature-group h3 {
    color: var(--green-dark);
    font-size: 14px;
    margin: 0 0 6px;
}

.package-toggle-list .switch-row {
    border-bottom: 1px solid var(--line);
    min-height: 54px;
    padding: 8px 0;
}

.package-toggle-list .switch-row:last-child {
    border-bottom: 0;
}

.package-feature-copy small {
    display: grid;
    gap: 2px;
}

.package-feature-copy code {
    color: #536457;
    font-size: 12px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.package-addon-hint {
    display: inline-flex;
    width: fit-content;
    margin-top: 4px;
    padding: 4px 8px;
    border: 1px solid #cfe9d8;
    border-radius: 999px;
    background: #f4fbf6;
    color: var(--green);
    font-size: 12px;
    font-weight: 800;
}

.package-field-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: max-content;
    max-width: 100%;
}

.package-field-help {
    margin-left: 0;
    width: 20px;
    min-width: 20px;
    height: 20px;
    font-size: 12px !important;
}

.package-field-help::before,
.package-field-help::after {
    content: none;
    display: none;
}

.package-feature-mode {
    width: min(190px, 100%);
    min-height: 38px;
    justify-self: end;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--text);
    font-weight: 800;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.package-price-option-list {
    display: grid;
    gap: 12px;
}

.package-price-option-row {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfdfb;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 12px;
}

.package-price-active {
    grid-column: 1 / -1;
}

.package-price-option-row label small {
    color: var(--muted);
    font-weight: 600;
}

.package-calculated-price {
    align-content: center;
    background: #edf9f1;
    border: 1px solid #c9e8d2;
    border-radius: var(--radius);
    display: grid;
    gap: 3px;
    padding: 10px 12px;
}

.package-calculated-price span,
.package-calculated-price small {
    color: var(--muted);
    font-size: 12px;
}

.package-calculated-price strong {
    color: var(--green-dark);
    font-size: 18px;
}

.package-calculated-price.is-invalid {
    background: #fff4ef;
    border-color: #efc8ba;
}

.package-calculated-price.is-invalid strong {
    color: #a34829;
}

.special-discount-badge {
    align-items: center;
    background: #eaf8ef;
    border: 1px solid #bfe6cb;
    border-radius: 999px;
    color: var(--green-dark);
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: 6px;
    padding: 4px 10px;
    width: max-content;
}

.package-original-price {
    color: var(--muted);
    display: block;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 2px;
}

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

.package-limit-grid small {
    color: var(--muted);
    font-weight: 600;
}

.package-limit-grid label {
    align-content: start;
}

.package-limit-card {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 14px;
    border: 1px solid #dfeae2;
    border-radius: 14px;
    background: #fbfdfb;
}

.package-limit-grid .package-limit-card .package-field-label {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    max-width: none;
}

.package-field-name {
    min-width: 0;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.package-limit-grid .package-limit-card input {
    width: 100%;
}

.package-limit-card.has-explanation {
    grid-template-rows: auto auto 1fr;
}

.package-limit-card.team-base-seat-card {
    grid-column: 1 / -1;
    grid-template-columns: minmax(220px, .8fr) minmax(240px, 1fr);
    grid-template-rows: auto auto;
    column-gap: 18px;
    align-items: start;
    background: linear-gradient(135deg, #f7fcf8, #fff);
}

.package-limit-card.team-base-seat-card .package-field-label {
    grid-column: 1;
}

.package-limit-card.team-base-seat-card input {
    grid-column: 1;
}

.package-limit-card.team-base-seat-card .package-limit-explanation {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    margin: 0;
    padding: 10px 12px;
    border-left: 3px solid #9ed8af;
    border-radius: 0 10px 10px 0;
    background: #f0f8f2;
}

.package-limit-grid label.managed-by-addon input {
    background: #f6faf7;
    color: #536457;
}

.package-limit-explanation {
    display: block;
    max-width: 34rem;
    line-height: 1.45;
}

.addon-managed-note {
    width: max-content;
    max-width: 100%;
    border: 1px solid #ccead3;
    border-radius: 999px;
    background: var(--surface-strong);
    color: var(--green-dark) !important;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    font-size: 12px;
    font-weight: 900 !important;
}

@media (max-width: 760px) {
    .package-limit-card.team-base-seat-card {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }

    .package-limit-card.team-base-seat-card .package-field-label,
    .package-limit-card.team-base-seat-card input,
    .package-limit-card.team-base-seat-card .package-limit-explanation {
        grid-column: 1;
        grid-row: auto;
    }
}

.profile-edit-grid {
    grid-template-columns: 280px minmax(420px, 1fr) 300px;
}

.profile-form-grid {
    display: grid;
    gap: 12px;
}

.profile-form-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

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

.form-hint {
    color: var(--muted);
    font-size: 13px;
    font-weight: 600;
}

.form-hint.warning {
    color: #8a4b08;
}

.social-link-list {
    display: grid;
    gap: 10px;
}

.social-link-row {
    display: grid;
    grid-template-columns: 130px 150px minmax(180px, 1fr) 58px;
    gap: 10px;
    align-items: end;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px;
    background: var(--surface);
}

.social-active {
    justify-items: center;
}

.social-active input {
    width: 22px;
    height: 22px;
}

.public-body {
    min-height: 100vh;
    background: #f8fbf9;
}

.public-topbar,
.public-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.public-topbar {
    min-height: 76px;
    width: 100%;
    padding: 0 max(16px, calc((100% - 1320px) / 2));
    background: #fff;
}

.public-topbar nav,
.public-footer nav {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
}

.public-topbar .brand-logo {
    height: 52px;
    max-width: 220px;
}

.public-main {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto 36px;
}

.market-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
    gap: 18px;
    align-items: end;
    padding: 26px 0 18px;
}

.market-hero-copy {
    display: grid;
    gap: 8px;
}

.eyebrow {
    color: var(--green-dark);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.market-hero h1 {
    margin: 0;
    max-width: 760px;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.12;
}

.market-hero p {
    margin: 0;
    max-width: 720px;
    color: var(--muted);
    font-size: 17px;
}

.market-search,
.market-filter,
.market-card,
.market-empty {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
}

.market-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
    padding: 12px;
}

.market-search label,
.market-filter label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 900;
}

.market-search input,
.market-filter input,
.market-filter select {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 8px 10px;
    background: #fff;
    color: var(--text);
}

.market-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

.market-tabs a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 7px 14px;
    background: #fff;
    color: var(--muted);
    font-weight: 900;
}

.market-tabs a.active {
    border-color: #cde7d5;
    background: var(--surface-strong);
    color: var(--green-dark);
}

.market-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.market-filter {
    position: sticky;
    top: 12px;
    padding: 14px;
}

.market-filter form {
    display: grid;
    gap: 12px;
}

.market-price-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.market-results {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.market-results-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
}

.market-results-head h2 {
    margin: 0;
    font-size: 28px;
}

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

.market-card {
    overflow: hidden;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
}

.market-card-media {
    display: block;
    aspect-ratio: 16 / 10;
    background:
        linear-gradient(135deg, rgba(47, 158, 89, .16), rgba(255, 188, 0, .2)),
        linear-gradient(45deg, #dce9df, #fff8da);
    overflow: hidden;
}

.market-card-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.market-card-body {
    display: grid;
    gap: 8px;
    padding: 12px;
}

.market-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.market-card-tags span {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    border: 1px solid #d9eadf;
    border-radius: 999px;
    padding: 3px 8px;
    background: var(--surface-strong);
    color: var(--green-dark);
    font-size: 14px;
    font-weight: 900;
}

.market-card h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.25;
}

.market-card h3 a,
.market-location,
.market-facts {
    overflow-wrap: anywhere;
}

.market-location,
.market-facts {
    margin: 0;
    color: var(--muted);
}

.market-facts {
    font-size: 13px;
}

.market-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 4px;
}

.market-card-foot strong {
    color: var(--green-dark);
    font-size: 18px;
}

.market-empty {
    padding: 28px;
}

.market-empty h2,
.market-empty p {
    margin: 0;
}

.market-empty p {
    color: var(--muted);
    margin-top: 6px;
}

.market-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}

.market-pagination a,
.market-pagination span {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 7px 12px;
    background: #fff;
    font-weight: 900;
}

.market-pagination span {
    color: var(--muted);
}

.market-pagination a.active {
    border-color: var(--green);
    background: var(--surface-strong);
    color: var(--green-dark);
}

.market-pagination a.disabled {
    opacity: .42;
    pointer-events: none;
}

.market-portal {
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    padding: 16px 0 28px;
}

.market-sidebar {
    position: sticky;
    top: 12px;
    border-right: 1px solid #edf0f3;
    padding: 4px 18px 20px 0;
}

.market-filter-backdrop,
.market-sidebar-top,
.market-filter-toggle {
    display: none;
}

.market-sidebar h2,
.market-sidebar h3 {
    margin: 0;
    color: #132235;
    font-size: 17px;
    line-height: 1.25;
}

.market-sidebar h2 {
    font-size: 19px;
}

.market-sidebar h3 {
    font-size: 18px;
}

.market-sidebar h2::after,
.market-sidebar h3::after {
    content: "";
    display: block;
    width: 18px;
    height: 2px;
    margin-top: 12px;
    background: var(--green);
}

.market-sidebar form {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.market-sidebar .market-compact-filter {
    gap: 8px;
    margin-top: 14px;
}

.market-compact-filter .market-keyword-hidden,
.market-compact-filter label:has(input[name="q"]) {
    display: none;
}

.market-sidebar label {
    display: grid;
    gap: 5px;
    color: #768193;
    font-size: 15px;
    font-weight: 800;
}

.market-sidebar input,
.market-sidebar select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #e8ebef;
    border-radius: 3px;
    padding: 10px 12px;
    background: #fff;
    color: #27364a;
    font-size: 14px;
    line-height: 1.45;
    outline: none;
}

.market-compact-filter input,
.market-compact-filter select {
    min-height: 38px;
    border-radius: 4px;
    padding: 8px 11px;
    color: #596679;
    font-size: 14px;
    font-weight: 700;
}

.market-suggest-field .reference-suggest-list {
    top: calc(100% + 2px);
    border-radius: 6px;
}

.market-suggest-field small {
    min-height: 0;
    color: #7a8697;
    font-size: 12px;
    font-weight: 800;
}

.market-add-reference {
    width: fit-content;
    border: 1px solid #cfe9d7;
    border-radius: 999px;
    padding: 4px 9px;
    background: #f3fbf6;
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 900;
}

.market-sidebar input:focus,
.market-sidebar select:focus {
    border-color: #abdcb7;
    box-shadow: 0 0 0 3px rgba(47, 158, 89, .1);
}

.market-sidebar .market-price-grid {
    grid-template-columns: 1fr;
    gap: 8px;
}

.market-sidebar .market-price-compact {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.market-search-btn {
    width: max-content;
    min-width: 92px;
    min-height: 36px;
    border: 0;
    border-radius: 999px;
    padding: 8px 18px;
    background: linear-gradient(135deg, var(--green), var(--green-dark));
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 18px rgba(47, 158, 89, .18);
}

.market-clear {
    color: #7a8697;
    font-size: 14px;
    font-weight: 800;
}

.market-sidebar-section {
    display: grid;
    gap: 9px;
    margin-top: 24px;
    color: #7c8796;
    font-size: 15px;
}

.market-sidebar-section a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    color: #596679;
    font-weight: 800;
}

.market-sidebar-section a::before {
    content: ">";
    color: var(--green);
    font-size: 14px;
}

.market-sidebar-section p {
    margin: 0;
}

.market-content {
    min-width: 0;
}

.market-listing-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid #edf0f3;
    padding-bottom: 18px;
}

.market-listing-head h1 {
    margin: 0;
    color: #102033;
    font-size: 28px;
    line-height: 1.15;
}

.market-listing-head p {
    margin: 4px 0 0;
    color: #8b96a6;
    font-size: 16px;
}

.market-listing-head p strong {
    color: var(--green-dark);
}

.market-tools {
    display: flex;
    align-items: center;
    gap: 10px;
}

.market-tools select,
.market-tools button {
    min-height: 44px;
    border: 1px solid #e8ebef;
    border-radius: 3px;
    background: #fff;
    color: #647083;
    font-size: 16px;
    line-height: 1.35;
}

.market-tools select {
    min-width: 142px;
    padding: 9px 12px;
}

.market-tools button {
    width: 44px;
    display: grid;
    place-items: center;
    cursor: pointer;
}

.market-tools .market-filter-toggle {
    display: none;
}

.market-tools button.active {
    border-color: var(--green);
    color: var(--green-dark);
}

.market-filter-toggle {
    width: auto;
    min-width: 164px;
    grid-template-columns: minmax(0, 1fr) 22px;
    gap: 8px;
    padding: 9px 12px;
    text-align: left;
}

.market-filter-toggle i {
    width: 18px;
    height: 14px;
    position: relative;
    display: inline-block;
}

.market-filter-toggle i::before,
.market-filter-toggle i::after,
.market-filter-toggle i {
    background:
        linear-gradient(currentColor, currentColor) 0 1px / 18px 2px no-repeat,
        linear-gradient(currentColor, currentColor) 4px 6px / 14px 2px no-repeat,
        linear-gradient(currentColor, currentColor) 8px 11px / 10px 2px no-repeat;
}

.market-content .market-tabs {
    margin: 14px 0 16px;
}

.market-content .market-tabs a {
    min-height: 32px;
    border-color: #edf0f3;
    border-radius: 999px;
    color: #6d7889;
    font-size: 16px;
    padding: 6px 12px;
}

.market-content .market-tabs a.active {
    border-color: #cde7d5;
    background: var(--surface-strong);
    color: var(--green-dark);
}

.market-list {
    display: grid;
    gap: 12px;
}

.market-list .market-card {
    display: grid;
    grid-template-columns: minmax(260px, 35%) minmax(0, 1fr);
    grid-template-rows: none;
    min-height: 0;
    height: auto;
    border: 1px solid #edf0f3;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(16, 32, 51, .06);
    overflow: hidden;
}

.market-list .market-card-media {
    position: relative;
    aspect-ratio: 16 / 10;
    min-height: 0;
    height: auto;
    max-height: none;
    overflow: hidden;
    background: #dedede;
}

.market-list .market-card-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.market-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #1d2d40;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 300;
    letter-spacing: 0;
}

.market-sale-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    min-height: 24px;
    border-radius: 4px;
    padding: 4px 10px;
    background: var(--green);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.market-list .market-card-body {
    display: grid;
    align-content: stretch;
    gap: 2px;
    padding: 10px 16px;
    overflow: hidden;
}

.market-country {
    margin: 0;
    color: #99a3b1;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.market-list .market-card h2 {
    margin: 0;
    color: #263447;
    font-size: 18px;
    line-height: 1.15;
}

.market-price {
    color: var(--green-dark);
    font-size: 16px;
    font-weight: 900;
}

.market-description {
    margin: 0;
    color: #667286;
    font-size: 14px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.market-list .market-facts {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin: 3px 0 1px;
    color: #1f2f43;
    font-size: 13px;
}

.market-fact {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    color: #314358;
    line-height: 1;
    white-space: nowrap;
}

.market-fact svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    fill: none;
    stroke: var(--green-dark);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.market-fact strong {
    color: #1f2f43;
    font-size: 13px;
    font-weight: 900;
}

.market-fact-land {
    line-height: 1.25;
    white-space: normal;
}

.market-fact small {
    margin-left: -2px;
    color: #718096;
    font-size: 11px;
    font-weight: 700;
}

.market-list .market-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 2px;
    color: #7d8899;
    font-size: 13px;
}

.market-detail-btn {
    min-width: 84px;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #cfd5de;
    border-radius: 999px;
    padding: 6px 16px;
    color: #1d2d40;
    font-size: 14px;
    font-weight: 900;
}

.market-empty {
    border: 1px solid #edf0f3;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(16, 32, 51, .06);
}

.public-body {
    background: #f7f8fa;
}

.public-topbar {
    border-bottom: 1px solid #edf0f3;
}

.public-primary-nav,
.public-action-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.public-primary-nav {
    justify-content: center;
    flex: 1 1 auto;
    min-width: 0;
}

.public-primary-nav a {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    color: #4f5a67;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1.25;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
}

.public-nav-group {
    position: relative;
}

.public-nav-group::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 39;
    width: max(100%, 190px);
    height: 10px;
}

.public-nav-group > button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 0;
    background: transparent;
    color: #4f5a67;
    cursor: pointer;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .04em;
    padding: 8px 10px;
    white-space: nowrap;
    word-break: keep-all;
}

.public-nav-group > button svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.public-nav-group.active > button,
.public-nav-group > button:hover,
.public-nav-group:focus-within > button {
    color: var(--green-dark);
    outline: none;
}

.public-menu-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 40;
    display: none;
    min-width: 190px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(23, 49, 38, .12);
}

.public-nav-group:hover .public-menu-panel,
.public-nav-group:focus-within .public-menu-panel {
    display: grid;
    gap: 2px;
}

.public-menu-panel a {
    justify-content: flex-start;
    min-height: 38px;
    min-width: 170px;
    border-radius: 6px;
    padding: 8px 10px;
    letter-spacing: 0;
}

.public-menu-panel a:hover,
.public-menu-panel a.active {
    background: var(--surface-strong);
    color: var(--green-dark);
}

.public-primary-nav a:hover,
.public-primary-nav a.active,
.public-primary-nav a:focus-visible {
    color: var(--green-dark);
    outline: none;
}

.public-action-nav {
    flex: 0 0 auto;
}

.public-action-nav a,
.public-action-nav button {
    width: auto;
    min-width: 46px;
    height: 42px;
    border: 1px solid #dfe7e2;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    place-items: center;
    padding: 0 12px;
    background: #fff;
    color: var(--green-dark);
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

.public-action-nav svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.public-action-nav .public-language-toggle {
    min-width: 58px;
    padding-inline: 10px;
    white-space: nowrap;
}

.public-action-nav .public-language-toggle span {
    display: inline-block;
    min-width: 20px;
    text-align: left;
}

.public-action-nav a:hover,
.public-action-nav a:focus-visible,
.public-action-nav button:hover,
.public-action-nav button:focus-visible {
    background: var(--surface-strong);
    border-color: #cde7d5;
    color: var(--green-dark);
    outline: none;
}

.public-action-nav .public-menu-toggle {
    display: none;
}

.public-menu-toggle span,
.public-menu-toggle span::before,
.public-menu-toggle span::after {
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    display: block;
    content: "";
}

.public-menu-toggle span {
    position: relative;
}

.public-menu-toggle span::before,
.public-menu-toggle span::after {
    position: absolute;
    left: 0;
}

.public-menu-toggle span::before {
    top: -7px;
}

.public-menu-toggle span::after {
    top: 7px;
}

.public-menu-backdrop,
.public-topbar .public-mobile-menu {
    display: none;
}

.public-topbar .public-mobile-menu {
    position: fixed;
    z-index: 1240;
    inset: 0 0 0 auto;
    width: min(288px, calc(100vw - 64px));
    height: 100dvh;
    overflow-y: auto;
    transform: translateX(104%);
    transition: transform .22s ease;
    border-left: 1px solid #edf0f3;
    background: #fff;
    box-shadow: -18px 0 42px rgba(16, 32, 51, .16);
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    font-weight: 400;
}

.public-mobile-menu-head {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    border-bottom: 1px solid #edf0f3;
    padding: 12px 22px 12px 16px;
}

.public-mobile-menu-head .brand-logo {
    height: 42px;
    max-width: 118px;
}

.public-mobile-menu-head button {
    min-width: max-content;
    margin-left: 12px;
    border: 0;
    background: transparent;
    color: var(--green-dark);
    font-weight: 900;
    cursor: pointer;
}

.public-mobile-menu > a {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 18px;
    color: #4f5a67;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .04em;
}

.public-topbar nav.public-mobile-menu > a:not(.btn) {
    display: flex;
}

.public-mobile-menu > a.active,
.public-mobile-menu > a:hover {
    color: var(--green-dark);
}

.public-mobile-menu > a.sub {
    min-height: 34px;
    justify-content: flex-start;
    padding-left: 28px;
    color: #6b7582;
    font-weight: 700;
    letter-spacing: 0;
}

.public-mobile-menu > a > strong {
    display: none;
}

.public-mobile-menu > a[href$="/contact"] > strong,
.public-mobile-menu > a.mobile-submenu-open > strong {
    display: inline-flex;
}

.public-mobile-menu > a[href$="/contact"] {
    cursor: pointer;
}

.public-mobile-menu > a.sub {
    display: none;
    margin-left: 12px;
    padding-left: 24px;
}

.public-topbar nav.public-mobile-menu > a.sub:not(.btn) {
    display: none;
}

.public-topbar nav.public-mobile-menu > a.mobile-submenu-open ~ a.sub:not(.btn) {
    display: flex;
}

.public-menu-backdrop {
    position: fixed;
    z-index: 1230;
    inset: 0;
    pointer-events: none;
    background: rgba(16, 32, 51, .25);
    opacity: 0;
    transition: opacity .2s ease;
}

body.public-menu-open {
    overflow: hidden;
}

body.public-menu-open .public-mobile-menu {
    transform: translateX(0);
}

body.public-menu-open .public-menu-backdrop {
    pointer-events: auto;
    opacity: 1;
}

.package-public-page {
    display: grid;
    gap: 20px;
    padding: 28px 0 36px;
}

.package-public-head {
    display: grid;
    gap: 8px;
    max-width: 760px;
}

.package-public-head h1 {
    margin: 0;
    color: #132235;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.12;
}

.package-public-head p {
    margin: 0;
    color: #657287;
    font-size: 17px;
}

.package-public-slider {
    display: grid;
    gap: 12px;
}

.package-public-slider-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.package-public-slider-controls button {
    width: 42px;
    height: 42px;
    border: 1px solid #dfe7e2;
    border-radius: 8px;
    display: inline-grid;
    place-items: center;
    background: #fff;
    color: var(--green-dark);
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(31, 78, 49, .06);
}

.package-public-slider-controls button:hover,
.package-public-slider-controls button:focus-visible {
    border-color: #cde7d5;
    background: var(--surface-strong);
    outline: none;
}

.package-public-slider-controls button:disabled {
    cursor: default;
    opacity: .45;
    box-shadow: none;
}

.package-public-slider-controls svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.package-public-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 28px) / 3);
    gap: 14px;
    align-items: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 12px;
    scroll-padding-left: 0;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.package-public-grid::-webkit-scrollbar {
    display: none;
}

.package-public-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    border: 1px solid #e4ece6;
    border-radius: 8px;
    padding: 18px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(31, 78, 49, .07);
    scroll-snap-align: start;
}

.package-public-card.featured {
    border-color: #bfe4ca;
    box-shadow: 0 16px 34px rgba(31, 123, 66, .12);
}

.package-public-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.package-public-card-head p {
    margin: 0 0 4px;
    color: #7b8796;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.package-public-card-head h2 {
    margin: 0;
    color: #132235;
    font-size: 24px;
    line-height: 1.2;
}

.package-public-card-head > span {
    flex: 0 0 auto;
    border: 1px solid #cde7d5;
    border-radius: 999px;
    padding: 4px 9px;
    background: #eef7ef;
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 900;
}

.package-public-description {
    margin: 0;
    min-height: 78px;
    color: #617086;
    font-size: 15px;
    line-height: 1.55;
}

.package-public-price-list {
    display: grid;
    gap: 8px;
}

.package-public-price {
    border: 1px solid #e8ebef;
    border-radius: 8px;
    padding: 10px 12px;
    background: #fbfcfb;
}

.package-public-price strong {
    display: block;
    color: var(--green-dark);
    font-size: 22px;
    line-height: 1.2;
}

.package-public-price span {
    display: block;
    margin-top: 2px;
    color: #738095;
    font-size: 14px;
}

.package-public-price small {
    display: block;
    margin-top: 4px;
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 800;
}

.package-public-price.pending strong {
    color: #926b00;
}

.package-public-limits {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.package-public-limits div {
    border: 1px solid #edf0f3;
    border-radius: 8px;
    padding: 9px 10px;
    background: #f8fbf9;
}

.package-public-limits span,
.package-public-limits strong {
    display: block;
}

.package-public-limits span {
    color: #718095;
    font-size: 13px;
    font-weight: 800;
}

.package-public-limits strong {
    color: #132235;
    font-size: 18px;
    line-height: 1.25;
}

.package-public-features {
    align-content: start;
    border-top: 1px solid #edf0f3;
    margin-top: 2px;
    padding-top: 12px;
}

.package-public-features > summary {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #132235;
    cursor: pointer;
    font-size: 18px;
    font-weight: 900;
    list-style: none;
}

.package-public-features > summary::-webkit-details-marker {
    display: none;
}

.package-public-features > summary strong {
    border: 1px solid #cde7d5;
    border-radius: 999px;
    padding: 3px 8px;
    background: #eef7ef;
    color: var(--green-dark);
    font-size: 12px;
    white-space: nowrap;
}

.package-public-feature-body {
    display: grid;
    gap: 8px;
    padding-top: 8px;
    align-content: start;
}

.package-public-features h3 {
    margin: 0;
    color: #132235;
    font-size: 18px;
}

.package-public-features p,
.package-public-features ul {
    margin: 0;
}

.package-public-features p {
    color: #738095;
}

.package-public-features ul {
    display: grid;
    gap: 7px;
    padding: 0;
    list-style: none;
}

.package-public-features li {
    position: relative;
    padding-left: 20px;
    color: #314154;
    font-size: 15px;
    font-weight: 800;
}

.package-public-features li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .62em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--green);
    box-shadow: 0 0 0 3px rgba(47, 158, 89, .12);
}

.package-public-feature-details {
    border: 1px solid #e4ece6;
    border-radius: 8px;
    background: #fbfdfb;
    overflow: hidden;
}

.package-public-feature-details summary {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    color: var(--green-dark);
    cursor: pointer;
    font-size: 14px;
    font-weight: 900;
    list-style: none;
}

.package-public-feature-details summary::-webkit-details-marker {
    display: none;
}

.package-public-feature-details summary strong {
    border: 1px solid #cde7d5;
    border-radius: 999px;
    padding: 3px 8px;
    background: #eef7ef;
    color: var(--green-dark);
    font-size: 12px;
    white-space: nowrap;
}

.package-public-feature-details[open] summary strong {
    background: var(--green);
    color: #fff;
}

.package-public-feature-limit-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    border-top: 1px solid #e4ece6;
    padding: 10px;
}

.package-public-feature-limit-list article {
    display: grid;
    align-content: start;
    gap: 6px;
    min-height: 74px;
    border: 1px solid #edf0f3;
    border-radius: 8px;
    padding: 9px 10px;
    background: #f8fbf9;
}

.package-public-feature-limit-list article:first-child {
    border-top: 1px solid #edf0f3;
}

.package-public-feature-limit-list article div {
    display: grid;
    gap: 2px;
}

.package-public-feature-limit-list strong {
    color: #718095;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
}

.package-public-feature-limit-list span {
    color: #132235;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
}

.package-public-feature-limit-list p {
    color: #68768a;
    display: -webkit-box;
    font-size: 11px;
    line-height: 1.35;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.package-public-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: auto;
}

.package-public-actions .btn {
    width: 100%;
    justify-content: center;
    min-height: 42px;
}

.package-public-empty {
    max-width: 720px;
}

.package-public-addons {
    display: grid;
    gap: 18px;
    margin-top: 34px;
}

.package-public-addons-head {
    max-width: 760px;
}

.package-public-addons-head h2 {
    font-size: clamp(26px, 4vw, 42px);
    margin: 4px 0 8px;
}

.package-public-addons-head p {
    color: #5b7169;
    margin: 0;
}

.package-public-addon-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.package-public-addon-card {
    background: #ffffff;
    border: 1px solid #dfe9e4;
    border-radius: 8px;
    box-shadow: 0 14px 36px rgba(18, 55, 43, 0.08);
    display: grid;
    gap: 18px;
    padding: 20px;
}

.package-public-addon-card.featured {
    border-color: #9bd6b6;
}

.package-public-addon-card span,
.package-public-addon-card p,
.package-public-addon-price small {
    color: #60786f;
}

.package-public-addon-card span {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.package-public-addon-card h3 {
    font-size: 22px;
    margin: 6px 0 8px;
}

.package-public-addon-card p {
    margin: 0;
}

.package-public-addon-price {
    align-items: end;
    border-top: 1px solid #e7efeb;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
}

.package-public-addon-price strong {
    display: block;
    color: #0b7a3a;
    font-size: 22px;
}

.package-public-addon-price small {
    text-align: right;
}

@media (max-width: 900px) {
    .package-public-grid {
        grid-auto-columns: calc((100% - 14px) / 2);
    }

    .market-portal {
        grid-template-columns: 1fr;
        gap: 16px;
        padding-top: 10px;
    }

    .market-sidebar {
        position: fixed;
        z-index: 1200;
        inset: 0 auto 0 0;
        width: min(292px, calc(100vw - 72px));
        height: 100dvh;
        overflow-y: auto;
        transform: translateX(-104%);
        transition: transform .22s ease;
        border-right: 1px solid #edf0f3;
        border-bottom: 0;
        padding: 18px 28px 28px;
        background: #fff;
        box-shadow: 18px 0 42px rgba(16, 32, 51, .16);
    }

    .market-sidebar-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        border-bottom: 1px solid #edf0f3;
        margin: 0 0 18px;
        padding-bottom: 16px;
    }

    .market-sidebar-top button {
        border: 0;
        background: transparent;
        color: var(--green-dark);
        font-weight: 900;
        cursor: pointer;
    }

    .market-filter-backdrop {
        position: fixed;
        z-index: 1190;
        inset: 0;
        display: block;
        pointer-events: none;
        background: rgba(16, 32, 51, .22);
        opacity: 0;
        transition: opacity .2s ease;
    }

    body.market-filter-open {
        overflow: hidden;
    }

    body.market-filter-open .market-sidebar {
        transform: translateX(0);
    }

    body.market-filter-open .market-filter-backdrop {
        pointer-events: auto;
        opacity: 1;
    }

    .market-sidebar form {
        grid-template-columns: 1fr;
    }

    .market-listing-head h1 {
        font-size: 26px;
    }

    .market-tools {
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    .market-tools select {
        min-width: 0;
    }

    .market-tools .market-filter-toggle {
        display: inline-grid;
        align-items: center;
    }

    .package-public-addon-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .package-public-page {
        padding-top: 18px;
    }

    .package-public-head h1 {
        font-size: 28px;
    }

    .package-public-grid {
        grid-auto-columns: 100%;
    }

    .package-public-card {
        padding: 16px;
    }

    .package-public-description {
        min-height: 0;
    }

    .package-public-actions {
        grid-template-columns: 1fr;
    }

    .member-package-card-head,
    .member-order-list article {
        align-items: stretch;
        flex-direction: column;
    }

    .member-package-limit-grid,
    .member-package-feature-list,
    .member-addon-grid {
        grid-template-columns: 1fr;
    }

    .member-addon-panel-head,
    .member-addon-order-form,
    .member-addon-state,
    .dashboard-widget-grid,
    .focus-list-grid,
    .focus-inline-grid,
    .calendar-grid,
    .calendar-inline-grid,
    .lease-grid,
    .lease-inline-grid,
    .property-request-grid,
    .property-request-detail-grid,
    .property-request-inline,
    .property-request-row-main,
    .match-card,
    .notification-grid,
    .team-grid,
    .team-panels,
    .team-inline-grid {
        grid-template-columns: 1fr;
    }

    .calendar-weekdays,
    .calendar-month-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .member-addon-entitlement {
        text-align: left;
    }

    .market-listing-head {
        align-items: stretch;
        flex-direction: column;
        padding-bottom: 12px;
    }

    .market-listing-head h1 {
        font-size: 24px;
    }

    .market-tools {
        display: grid;
        grid-template-columns: minmax(0, 1fr) max-content;
        align-items: stretch;
        gap: 10px;
    }

    .market-tools select {
        width: 100%;
        min-width: 0;
    }

    .market-tools .market-filter-toggle {
        width: auto;
        min-width: max-content;
        white-space: nowrap;
    }

    .market-tools > button:not(.market-filter-toggle) {
        display: none;
    }

    .market-list .market-card {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0;
    }

    .market-list .market-card-media {
        min-height: 180px;
        aspect-ratio: 16 / 10;
        height: auto;
        max-height: none;
    }

    .market-list .market-card-body {
        padding: 16px;
    }

    .market-list .market-card h2 {
        font-size: 20px;
    }

    .market-list .market-card-foot {
        align-items: stretch;
        flex-direction: column;
    }

    .market-detail-btn {
        width: 100%;
    }
}

@media (max-width: 360px) {
    .market-tools {
        grid-template-columns: 1fr;
    }

    .market-tools .market-filter-toggle {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }
}

.pwa-admin-hero .status-badge {
    align-self: center;
    border-radius: 999px;
    padding: 9px 14px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
}

.pwa-admin-hero .status-active {
    border: 1px solid #9bd6b6;
    background: #eaf7ef;
    color: #08783a;
}

.pwa-admin-hero .status-inactive {
    border: 1px solid #d8dee5;
    background: #f3f5f7;
    color: #5f6b7a;
}

.pwa-admin-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 18px;
    align-items: start;
}

.pwa-admin-main {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.pwa-master-switch {
    border: 1px solid #dce9e1;
    border-radius: 10px;
    background: #f8fcf9;
    padding: 16px;
}

.pwa-policy-note {
    border-left: 4px solid #f2ad00;
    border-radius: 6px;
    background: #fff9e8;
    padding: 13px 15px;
}

.pwa-policy-note p {
    margin: 5px 0 0;
}

.pwa-safety-card hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 18px 0;
}

.pwa-readiness-card {
    min-width: 0;
}

.pwa-readiness-card .dashboard-list div {
    align-items: flex-start;
    gap: 12px;
}

.pwa-readiness-card code {
    max-width: 100%;
    overflow-wrap: anywhere;
    text-align: right;
    white-space: normal;
}

@media (max-width: 900px) {
    .pwa-admin-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pwa-admin-hero .status-badge {
        align-self: flex-start;
    }

    .pwa-readiness-card .dashboard-list div {
        align-items: stretch;
        flex-direction: column;
    }

    .pwa-readiness-card code {
        text-align: left;
    }
}

.property-area-editor {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
    gap: 14px;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #f8fcf9;
    padding: 16px;
}

.property-area-editor > header {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.property-area-editor > header small,
.property-area-group small {
    color: var(--muted);
}

.property-area-group {
    min-width: 0;
    border: 1px solid #dce9e1;
    border-radius: 10px;
    background: #fff;
    padding: 14px;
}

.property-area-group[hidden] {
    display: none;
}

.property-land-inputs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.property-land-total {
    display: block;
    min-height: 22px;
    margin-top: 8px;
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 760px) {
    .property-area-editor {
        grid-template-columns: 1fr;
    }

    .property-area-editor > header {
        grid-column: auto;
    }
}

@media (max-width: 440px) {
    .property-land-inputs {
        grid-template-columns: 1fr;
    }
}

.public-profile-hero {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
}

.public-property-hero {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr);
    gap: 18px;
    align-items: stretch;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
    padding: 18px;
}

.public-property-image {
    min-height: 260px;
    border-radius: var(--radius);
    background:
        linear-gradient(135deg, rgba(47, 158, 89, .16), rgba(255, 188, 0, .22)),
        linear-gradient(45deg, #dce9df, #fff8da);
}

.public-property-heading {
    display: grid;
    align-content: center;
    gap: 8px;
}

.public-property-heading h1 {
    margin: 0;
    font-size: clamp(28px, 4vw, 46px);
    line-height: 1.12;
}

.public-property-heading p {
    margin: 0;
    color: var(--muted);
    font-weight: 800;
}

.public-property-heading > strong {
    color: var(--green-dark);
    font-size: 24px;
}

.public-profile-cover {
    min-height: 210px;
    background:
        linear-gradient(135deg, rgba(47, 158, 89, .2), rgba(255, 188, 0, .28)),
        linear-gradient(45deg, #dce9df, #fff8da);
    position: relative;
}

.public-profile-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .38), rgba(255, 255, 255, 0)),
        repeating-linear-gradient(135deg, rgba(31, 123, 66, .08) 0 1px, transparent 1px 16px);
}

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

.public-profile-card {
    display: flex;
    align-items: flex-end;
    gap: 18px;
    padding: 0 24px 24px;
    margin-top: -44px;
}

.public-avatar {
    width: 104px;
    height: 104px;
    border: 5px solid #fff;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--green);
    color: #fff;
    font-size: 40px;
    font-weight: 900;
    box-shadow: var(--shadow);
    overflow: hidden;
    flex: 0 0 auto;
}

.public-profile-heading h1 {
    margin: 0;
    font-size: 34px;
    line-height: 1.15;
}

.public-profile-heading p {
    margin: 5px 0;
    color: var(--muted);
    max-width: 680px;
}

.public-location {
    color: var(--green-dark);
    font-weight: 800;
}

.public-profile-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.public-profile-badges span {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    border: 1px solid #d9eadf;
    border-radius: 999px;
    padding: 4px 10px;
    background: var(--surface-strong);
    color: var(--green-dark);
    font-size: 14px;
    font-weight: 800;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.public-profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 16px;
    margin-top: 16px;
}

.public-panel {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
    padding: 18px;
}

.public-panel h2 {
    margin: 0 0 10px;
    font-size: 20px;
}

.public-panel p {
    margin: 0;
    color: var(--muted);
    overflow-wrap: anywhere;
}

.public-info-list {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
}

.public-info-list div {
    border-top: 1px solid var(--line);
    padding-top: 10px;
}

.public-info-list dt {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.public-info-list dd {
    margin: 3px 0 0;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.public-contact-actions {
    display: grid;
    gap: 8px;
}

.public-agent-link {
    display: inline-flex;
    max-width: 100%;
    color: var(--muted);
    font-weight: 900;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.public-agent-link:hover {
    color: var(--green-dark);
    text-decoration: underline;
}

.public-contact-button {
    min-height: 58px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    background: #fff;
}

.public-contact-button.primary {
    border-color: var(--green);
    background: var(--green);
    color: #fff;
}

.contact-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--surface-strong);
    color: var(--green-dark);
    font-weight: 900;
}

.public-contact-button.primary .contact-icon {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

.public-contact-button strong,
.public-contact-button small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.public-contact-button small {
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
}

.public-contact-button.primary small {
    color: rgba(255, 255, 255, .86);
}

.public-contact-hero {
    width: min(1120px, calc(100% - 48px));
    margin: 36px auto 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding: 28px;
    background: #fff;
    box-shadow: var(--shadow-soft);
}

.public-contact-hero h1 {
    margin: 6px 0;
    color: var(--text);
    font-size: 36px;
    line-height: 1.15;
}

.public-contact-hero p {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
    font-weight: 700;
}

.public-contact-grid {
    width: min(1120px, calc(100% - 48px));
    margin: 0 auto 42px;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 18px;
}

.public-contact-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 24px;
    background: #fff;
    box-shadow: var(--shadow-soft);
}

.public-contact-card h2 {
    margin: 0;
    color: var(--text);
    font-size: 24px;
}

.public-contact-card p {
    margin: 0;
    color: var(--muted);
    font-weight: 700;
}

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

.public-contact-list div {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 4px;
    padding: 12px 0 0;
}

.public-contact-list span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.public-contact-list strong,
.public-contact-list a {
    color: var(--green-dark);
    font-weight: 900;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.public-contact-grid .public-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.public-social-list {
    display: grid;
    gap: 8px;
    border-top: 1px solid var(--line);
    margin-top: 14px;
    padding-top: 14px;
}

.public-social-list a {
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    color: var(--green-dark);
    font-weight: 800;
    background: #fff;
}

.public-social-list a span {
    width: 34px;
    height: 30px;
    border-radius: var(--radius);
    display: grid;
    place-items: center;
    background: var(--surface-strong);
    font-size: 13px;
}

.public-social-list a strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.public-muted {
    color: var(--muted);
    font-weight: 700;
}

.public-landing-section {
    margin-top: 16px;
}

.public-footer {
    border-top: 1px solid var(--line);
    padding: 18px 0 28px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 760px) {
    .public-contact-hero {
        width: min(1120px, calc(100% - 28px));
        margin-top: 20px;
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
    }

    .public-contact-hero h1 {
        font-size: 28px;
    }

    .public-contact-grid {
        width: min(1120px, calc(100% - 28px));
        grid-template-columns: 1fr;
    }

    .public-contact-grid .public-contact-actions,
    .public-contact-grid .public-contact-actions .btn {
        width: 100%;
    }
}

@media (max-width: 900px) {
    body {
        padding-bottom: 72px;
    }

    .app-shell {
        display: block;
        overflow-x: clip;
    }

    .member-primary-nav {
        display: none;
    }

    .sidebar {
        position: fixed;
        inset: var(--mobile-topbar-height) auto 72px 0;
        width: min(320px, 84vw);
        display: flex;
        padding: 6px 8px 16px;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        transform: translateX(-105%);
        transition: transform .2s ease;
        z-index: 8;
        box-shadow: 18px 0 40px rgba(23, 49, 38, .16);
    }

    .member-topnav-shell .sidebar {
        display: flex;
    }

    .sidebar-controls {
        display: none;
    }

    .topbar {
        display: flex;
        height: var(--mobile-topbar-height);
        padding: 0 16px;
        gap: 12px;
    }

    .topbar-brand-area {
        width: auto;
        flex: 0 0 auto;
        border-right: 0;
        padding: 0;
        margin-right: auto;
    }

    .collapse-btn {
        display: none;
    }

    .global-search {
        display: none;
    }

    .brand {
        display: flex;
    }

    .brand-logo {
        width: auto;
        height: 50px;
        max-width: min(196px, 34vw);
    }

    .topbar-actions {
        gap: 6px;
        margin-left: auto;
        flex: 0 0 auto;
    }

    .topbar-actions .language-toggle {
        width: 48px;
        min-width: 48px;
        min-height: 48px;
        border: 0;
        background: transparent;
        font-size: 12px;
    }

    .menu-btn {
        display: grid;
    }

    .mobile-menu-backdrop {
        position: fixed;
        inset: var(--mobile-topbar-height) 0 72px;
        background: rgba(23, 49, 38, .24);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
        z-index: 7;
        display: block;
    }

    .app-shell.mobile-menu-open .sidebar {
        transform: translateX(0);
    }

    .app-shell.mobile-menu-open .mobile-menu-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .app-shell.mobile-menu-open .menu-icon-open {
        display: none;
    }

    .app-shell.mobile-menu-open .menu-icon-close {
        display: grid;
    }

    .app-shell.sidebar-collapsed .sidebar {
        padding: 6px 8px 16px;
    }

    .app-shell.sidebar-collapsed .sidebar-controls {
        display: none;
    }

    .app-shell.sidebar-collapsed .side-nav a,
    .app-shell.sidebar-collapsed .nav-group summary {
        justify-content: flex-start;
        padding: 8px 10px;
        font-size: inherit;
    }

    .app-shell.sidebar-collapsed .nav-label,
    .app-shell.sidebar-collapsed .nav-group summary::after {
        display: inline;
    }

    .app-shell.sidebar-collapsed .sub-nav {
        display: grid;
    }

    .app-shell.sidebar-collapsed .side-nav a > span:first-child,
    .app-shell.sidebar-collapsed .nav-group summary > span:first-child {
        font-size: inherit;
    }

    .icon-btn,
    .profile-btn {
        width: 42px;
        min-width: 42px;
        min-height: 48px;
        border: 0;
        background: transparent;
        padding: 0;
        display: grid;
        place-items: center;
        gap: 1px;
        color: var(--muted);
        font-size: 18px;
    }

    .topbar .notify-btn,
    .topbar .profile-btn {
        width: 42px;
        min-width: 42px;
    }

    .notify-icon svg {
        width: 28px;
        height: 28px;
    }

    .menu-icon svg {
        width: 31px;
        height: 31px;
        stroke-width: 2.2;
    }

    .notify-badge {
        width: 8px;
        height: 8px;
        top: 2px;
        right: 1px;
    }

    .menu-btn {
        display: grid;
    }

    .profile-btn span:not(.avatar) {
        display: none;
    }

    .avatar {
        width: 34px;
        height: 34px;
        border-radius: 50%;
        font-size: 14px;
    }

    .warning-banner {
        margin: 12px 12px 0;
        align-items: flex-start;
    }

    .workspace-header {
        padding: 18px 12px 12px;
    }

    .workspace-header h1 {
        font-size: 21px;
        line-height: 1.25;
    }

    .dashboard-card h2 {
        font-size: 17px;
        line-height: 1.25;
    }

    .workspace-header p {
        display: none;
    }

    .workspace-grid {
        display: block;
        padding: 0 12px 24px;
    }

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

    .package-meta {
        flex-wrap: wrap;
    }

    .package-limit-grid {
        grid-template-columns: 1fr;
    }

    .package-price-option-row {
        grid-template-columns: 1fr;
    }

    .profile-edit-grid,
    .profile-form-grid.two,
    .profile-form-grid.three,
    .profile-toggle-grid,
    .social-link-row {
        grid-template-columns: 1fr;
    }

    .social-active {
        justify-items: start;
    }

    .footer-bar {
        margin: 6px 12px 0;
        padding: 14px 0 18px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        font-size: 14px;
    }

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

    .account-settings-shell {
        grid-template-columns: 1fr;
        padding: 0 12px 24px;
    }

    .account-settings-card-wide {
        grid-row: auto;
    }

    .member-package-grid,
    .member-package-options,
    .member-addon-grid,
    .payment-admin-grid,
    .billing-settings-grid,
    .billing-settings-fields,
    .billing-settings-fields.two-col,
    .billing-permission-table article,
    .payment-detail-grid {
        grid-template-columns: 1fr;
    }

    .billing-settings-hero,
    .billing-settings-grid {
        width: 100%;
    }

    .member-package-summary {
        position: static;
    }

    .dashboard-placeholder .filter-panel,
    .dashboard-placeholder .detail-panel {
        display: block;
        border: 1px solid var(--line);
        background: #fff;
        padding: 14px;
        box-shadow: none;
        margin-bottom: 0;
    }

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

    .member-package-limit-grid,
    .member-package-feature-list {
        grid-template-columns: 1fr 1fr;
    }

    .member-renew-options form {
        grid-template-columns: 1fr;
    }

    .member-addon-panel-head,
    .member-addon-order-form,
    .member-addon-state,
    .dashboard-widget-grid,
    .focus-list-grid,
    .focus-inline-grid,
    .calendar-grid,
    .calendar-inline-grid,
    .lease-grid,
    .lease-inline-grid,
    .property-request-grid,
    .property-request-detail-grid,
    .property-request-inline,
    .property-request-row-main,
    .match-card,
    .notification-grid,
    .team-grid,
    .team-panels,
    .team-inline-grid {
        grid-template-columns: 1fr;
    }

    .calendar-weekdays {
        display: none;
    }

    .calendar-month-grid {
        grid-template-columns: 1fr;
    }

    .calendar-day {
        min-height: 84px;
    }

    .member-addon-order-form .btn {
        width: 100%;
    }

    .member-slip-form {
        grid-template-columns: 1fr;
    }

    .member-qr-panel {
        grid-template-columns: 1fr;
    }

    .member-renew-options .btn {
        width: 100%;
    }

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

    .manual-adjust-form {
        grid-template-columns: 1fr;
    }

    .package-member-context {
        display: grid;
    }

    .package-member-context .btn {
        width: 100%;
    }

    .payment-row-actions {
        justify-items: stretch;
    }

    .payment-record-list article > div {
        display: grid;
    }

    .filter-panel {
        box-shadow: none;
        padding: 0;
        border: 0;
        background: transparent;
        margin-bottom: 12px;
    }

    .filter-tabs {
        display: flex;
        overflow-x: auto;
        gap: 8px;
        padding-bottom: 2px;
    }

    .filter-tabs button {
        white-space: nowrap;
        text-align: center;
    }

    .property-view-tabs a {
        flex: 0 0 auto;
        min-width: 116px;
        justify-content: center;
        gap: 8px;
        white-space: nowrap;
    }

    .quick-summary {
        display: none;
    }

    .property-row {
        display: grid;
        grid-template-columns: 34px 78px minmax(0, 1fr);
        min-height: 112px;
        align-items: flex-start;
        box-shadow: none;
        position: relative;
    }

    .dashboard-row {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .dashboard-row .property-main {
        grid-column: 1 / -1;
    }

    .bulk-action-bar {
        grid-template-columns: 1fr;
        position: static;
        box-shadow: none;
    }

    .thumb {
        width: 78px;
        height: 78px;
    }

    .property-row:not(.dashboard-row) .property-main {
        grid-column: 1 / -1;
    }

    .property-row:not(.dashboard-row) .thumb {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        grid-column: 1 / -1;
    }

    .property-row:not(.dashboard-row) .bulk-check {
        position: absolute;
        z-index: 1;
        margin: 8px;
        background: #fff;
    }

    .property-actions {
        justify-items: start;
        grid-column: 1 / -1;
        margin-left: 0;
        gap: 6px;
    }

    .property-main h2 {
        font-size: 15px;
        line-height: 1.35;
    }

    .property-main p,
    .property-main strong {
        font-size: 14px;
    }

    .property-meta-line {
        font-size: 14px;
    }

    .public-url.compact {
        padding: 7px 8px;
    }

    .property-actions div {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4px;
    }

    .property-actions button {
        min-width: 34px;
        min-height: 28px;
        padding: 4px 7px;
    }

    .detail-panel {
        display: none;
    }

    .property-edit-form {
        padding: 14px;
    }

    .property-wizard-shell {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 0 12px 24px;
    }

    .property-document-card[data-edit-step-external]{grid-column:1}.property-edit-step-actions{position:sticky;bottom:0;z-index:3;padding:10px;background:rgba(255,255,255,.96);border-top:1px solid var(--line)}

    .wizard-rail {
        position: static;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        overflow-x: visible;
        padding: 10px;
        box-shadow: none;
    }

    .wizard-step {
        grid-template-columns: 28px minmax(0, 1fr);
        min-width: 0;
        padding: 8px;
        gap: 6px;
    }

    .wizard-step-number {
        width: 28px;
        height: 28px;
    }

    .wizard-step strong {
        font-size: 14px;
        line-height: 1.25;
    }

    .wizard-step small {
        display: none;
    }

    .wizard-panel.disabled {
        padding: 12px;
    }

    .image-upload-actions,
    .image-card-actions,
    .image-card-move {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .image-upload-item {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .image-upload-item-actions {
        justify-content: stretch;
    }

    .image-upload-item-actions .btn {
        flex: 1;
        justify-content: center;
    }

    .image-upload-actions .btn,
    .image-card-actions .btn,
    .image-card-move .btn {
        width: 100%;
        justify-content: center;
    }

    .property-image-grid {
        grid-template-columns: 1fr;
    }

    .control-placeholder div {
        display: grid;
        gap: 2px;
    }

    .control-placeholder strong {
        text-align: left;
    }

    .bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 20;
        height: 72px;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        border-top: 1px solid var(--line);
        background: #fff;
    }

    .bottom-nav a {
        display: grid;
        place-items: center;
        gap: 3px;
        padding: 7px 2px 8px;
        color: var(--muted);
        font-size: 14px;
        font-weight: 800;
        line-height: 1.1;
        text-align: center;
        word-break: keep-all;
    }

    .bottom-nav .nav-icon {
        width: 30px;
        height: 30px;
        display: grid;
        place-items: center;
    }

    .bottom-nav svg {
        width: 26px;
        height: 26px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2.2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .bottom-nav a.active {
        color: var(--green-dark);
    }

    .bottom-nav a.add .nav-icon {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        background: var(--green);
        color: #fff;
    }

    .bottom-nav a.add svg {
        width: 25px;
        height: 25px;
        stroke-width: 2.8;
    }

    .public-topbar {
        min-height: 68px;
    }

    .public-topbar .brand-logo {
        height: 46px;
        max-width: 180px;
    }

    .market-hero,
    .market-layout {
        grid-template-columns: 1fr;
    }

    .market-hero {
        padding-top: 14px;
    }

    .market-hero h1 {
        font-size: 28px;
    }

    .market-hero p {
        font-size: 15px;
    }

    .market-search {
        grid-template-columns: 1fr;
    }

    .market-filter {
        position: static;
    }

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

    .market-results-head,
    .market-card-foot {
        align-items: stretch;
        flex-direction: column;
    }

    .market-results-head .btn,
    .market-card-foot .btn {
        width: 100%;
        justify-content: center;
    }

    .market-price-grid {
        grid-template-columns: 1fr;
    }

    .market-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 2px;
    }

    .market-tabs a {
        flex: 0 0 auto;
    }

    .public-topbar nav a:not(.btn) {
        display: none;
    }

    .public-profile-card {
        align-items: flex-start;
        padding: 0 16px 18px;
        gap: 12px;
    }

    .public-property-hero {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .public-property-image {
        min-height: 180px;
    }

    .public-property-heading h1 {
        font-size: 26px;
    }

    .public-avatar {
        width: 72px;
        height: 72px;
        border-width: 4px;
        font-size: 28px;
    }

    .public-profile-heading h1 {
        font-size: 24px;
        overflow-wrap: anywhere;
    }

    .public-profile-heading p,
    .public-location {
        font-size: 13px;
        overflow-wrap: anywhere;
    }

    .public-profile-badges {
        gap: 6px;
    }

    .public-profile-cover {
        min-height: 150px;
    }

    .public-profile-grid {
        grid-template-columns: 1fr;
    }

    .public-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

.sales-page-admin-grid {
    grid-template-columns: minmax(0, 1fr) 320px;
}

.sales-page-settings-grid {
    grid-template-columns: minmax(0, 1fr) 320px;
    align-items: start;
}

.header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.sale-page-settings-summary {
    position: sticky;
    top: 92px;
}

.sale-page-wizard-shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.sale-page-wizard-rail {
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.sale-page-wizard-rail .wizard-step {
    text-decoration: none;
    border-radius: 8px;
}

.sale-page-wizard-rail .wizard-step:hover,
.sale-page-wizard-rail .wizard-step:focus-visible {
    border-color: #aad9b8;
    background: #f4fbf6;
}

.sale-page-wizard-panels {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.sale-page-wizard-panel {
    scroll-margin-top: 96px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.sale-page-wizard-panel:first-of-type {
    padding-top: 16px;
}

.sale-page-wizard-panel[hidden],
.sale-page-wizard-rail .wizard-step[hidden],
[data-sales-page-final-actions][hidden] {
    display: none !important;
}

.sales-page-step-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.sales-page-step-progress {
    color: var(--muted);
    font-weight: 800;
}

.sales-page-step-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.sales-page-image-upload-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.sales-page-image-upload-card {
    display: grid;
    gap: 14px;
    min-width: 0;
    padding: 14px;
    border: 1px solid #d9e7de;
    border-radius: 14px;
    background: #f9fcfa;
}

.sales-page-image-preview {
    display: grid;
    place-items: center;
    width: 100%;
    overflow: hidden;
    border: 1px dashed #b9d2c2;
    border-radius: 12px;
    background: linear-gradient(135deg, #edf7f0, #fff);
    color: #4b745c;
    font-weight: 900;
}

.sales-page-image-upload-card.cover .sales-page-image-preview {
    aspect-ratio: 8 / 3;
}

.sales-page-image-upload-card.logo .sales-page-image-preview {
    width: min(180px, 100%);
    aspect-ratio: 1;
    justify-self: center;
}

.sales-page-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sales-page-image-upload-card.logo .sales-page-image-preview img {
    object-fit: contain;
}

.sales-page-image-upload-copy {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.sales-page-image-upload-copy > strong {
    color: #173727;
    font-size: 16px;
}

.sales-page-image-upload-copy > small {
    color: #60766a;
    line-height: 1.45;
}

.sales-page-image-upload-copy > input[type="file"] {
    width: 100%;
    padding: 9px;
    border: 1px solid #cfded4;
    border-radius: 10px;
    background: #fff;
    color: #355644;
}

.sales-page-image-upload-copy > input[type="file"]::file-selector-button {
    margin-right: 10px;
    padding: 8px 12px;
    border: 0;
    border-radius: 8px;
    background: #e7f6ec;
    color: #08733a;
    font-weight: 900;
    cursor: pointer;
}

.sales-page-image-upload-copy label {
    display: grid;
    gap: 6px;
    margin-top: 3px;
}

.sales-page-image-upload-copy label > span {
    color: #50695a;
    font-size: 12px;
    font-weight: 800;
}

.sales-page-row {
    grid-template-columns: 56px minmax(0, 1fr) auto;
}

.member-sales-pages-page {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.sales-pages-hero {
    position: relative;
    overflow: hidden;
    border-color: #d8eadf;
    background: linear-gradient(135deg, #fff 0%, #f8fcf9 62%, #edf8f0 100%);
}

.sales-pages-hero::after {
    content: "";
    position: absolute;
    right: -54px;
    bottom: -86px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(29, 160, 78, .07);
    pointer-events: none;
}

.sales-pages-hero > * {
    position: relative;
    z-index: 1;
}

.sales-pages-hero-side {
    display: grid;
    gap: 12px;
    justify-items: end;
}

.sales-pages-summary {
    display: flex;
    overflow: hidden;
    border: 1px solid #d3e5d9;
    border-radius: 12px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 24px rgba(22, 70, 39, .06);
}

.sales-pages-summary span {
    display: grid;
    min-width: 92px;
    padding: 10px 14px;
    color: #5d7165;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.sales-pages-summary span + span {
    border-left: 1px solid #e1ece5;
}

.sales-pages-summary strong {
    color: #08783c;
    font-size: 21px;
    line-height: 1.05;
}

.sales-pages-hero-side > .btn {
    gap: 7px;
    min-width: 158px;
    justify-content: center;
}

.sales-pages-hero-side > .btn span {
    font-size: 20px;
    line-height: .8;
}

.sales-pages-alert {
    margin: 0;
}

.sales-pages-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 18px;
    align-items: start;
    min-width: 0;
}

.sales-pages-list {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.sales-page-card {
    position: relative;
    display: grid;
    gap: 0;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    border-radius: 16px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.sales-page-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #9cb0a3;
}

.sales-page-card.sales-page-status-published::before { background: #20a353; }
.sales-page-card.sales-page-status-draft::before { background: #e5a51c; }
.sales-page-card.sales-page-status-disabled::before { background: #96a39a; }

.sales-page-card:hover {
    transform: translateY(-2px);
    border-color: #b9d9c3;
    box-shadow: 0 16px 36px rgba(18, 63, 34, .09);
}

.sales-page-card-header {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 20px 20px 16px 22px;
}

.sales-page-card-icon,
.sales-page-empty-icon,
.sales-pages-guide-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ddf5e4, #f5fbf7);
    color: #08783c;
}

.sales-page-card-icon svg,
.sales-page-empty-icon svg,
.sales-pages-guide-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.sales-page-card-title {
    min-width: 0;
}

.sales-page-card-title .property-badges {
    margin-bottom: 8px;
}

.sales-page-card-title h2 {
    margin: 0;
    color: #153524;
    font-size: clamp(19px, 2vw, 23px);
    overflow-wrap: anywhere;
}

.sales-page-card-title p {
    margin: 5px 0 0;
    color: #64786c;
    line-height: 1.5;
}

.sales-page-edit {
    min-width: 88px;
    justify-content: center;
}

.sales-page-public-url {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 12px;
    align-items: center;
    margin: 0 20px 16px 76px;
    padding: 12px 12px 12px 14px;
    border: 1px solid #deebe2;
    border-radius: 12px;
    background: #f7faf8;
}

.sales-page-public-url > span {
    grid-column: 1;
    color: #6b7d71;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sales-page-public-url strong {
    grid-column: 1;
    color: #08783c;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.sales-page-public-url .btn {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-width: 82px;
    justify-content: center;
}

.sales-page-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid #e4ede7;
    border-bottom: 1px solid #e4ede7;
    background: #fcfdfc;
}

.sales-page-metrics > span {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 15px 18px;
}

.sales-page-metrics > span + span {
    border-left: 1px solid #e4ede7;
}

.sales-page-metrics small {
    color: #718177;
    font-size: 12px;
    font-weight: 800;
}

.sales-page-metrics strong {
    color: #173727;
    font-size: 17px;
    overflow-wrap: anywhere;
}

.sales-page-actions {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px 14px 22px;
}

.sales-page-actions > span {
    color: #6c7d72;
    font-size: 12px;
    font-weight: 900;
}

.sales-page-actions > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.sales-page-actions form {
    display: inline-flex;
    margin: 0;
}

.sales-page-actions .btn {
    min-height: 38px;
}

.sales-pages-guide {
    position: sticky;
    top: 92px;
    overflow: hidden;
    padding: 22px;
    border-radius: 16px;
}

.sales-pages-guide-icon {
    margin-bottom: 15px;
}

.sales-pages-guide h2 {
    margin: 5px 0 8px;
}

.sales-pages-guide > p {
    margin: 0 0 18px;
    color: #63776a;
    line-height: 1.6;
}

.sales-pages-default-url {
    display: grid;
    gap: 5px;
    margin-top: 16px;
    padding: 13px;
    border-radius: 11px;
    background: #f2f8f4;
}

.sales-pages-default-url span {
    color: #677a6e;
    font-size: 12px;
    font-weight: 800;
}

.sales-pages-default-url strong {
    color: #08783c;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.sales-pages-empty {
    min-height: 330px;
    align-content: center;
    justify-items: center;
    text-align: center;
}

.sales-pages-empty p {
    max-width: 560px;
}

.sales-page-empty-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 6px;
}

.sales-page-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #e8f7ed;
    color: var(--green-dark);
    font-weight: 900;
}

.sales-page-form {
    display: grid;
    gap: 16px;
}

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

.form-grid .wide {
    grid-column: 1 / -1;
}

.checkbox-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-content: start;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.checkbox-stack label,
.property-picker-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: var(--text);
    font-weight: 800;
}

.sales-page-contact-grid {
    align-items: stretch;
}

.sales-page-contact-mode {
    align-content: start;
    padding: 16px;
    border: 1px solid #dce9e0;
    border-radius: 14px;
    background: #f8fbf9;
}

.sales-page-contact-mode small {
    color: #687b70;
    font-weight: 600;
    line-height: 1.45;
}

.sales-page-contact-toggles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    min-width: 0;
    margin: 0;
    padding: 12px;
    border: 1px solid #dce9e0;
    border-radius: 14px;
    background: #f8fbf9;
}

.sales-page-contact-toggles legend {
    width: auto;
    margin: 0 0 2px;
    padding: 0 5px;
    color: #315d43;
    font-size: 13px;
    font-weight: 900;
}

.sales-page-contact-toggles label {
    position: relative;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-height: 48px;
    padding: 10px 11px;
    border: 1px solid #d9e7de;
    border-radius: 11px;
    background: #fff;
    color: #274e38;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.sales-page-contact-toggles label:hover {
    border-color: #a9d3b6;
    background: #f6fcf8;
}

.sales-page-contact-toggles input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.sales-page-contact-check {
    position: relative;
    display: block;
    width: 21px;
    height: 21px;
    border: 2px solid #a9bcb0;
    border-radius: 6px;
    background: #fff;
}

.sales-page-contact-toggles input:checked + .sales-page-contact-check {
    border-color: #14934a;
    background: #14934a;
}

.sales-page-contact-toggles input:checked + .sales-page-contact-check::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 6px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.sales-page-contact-toggles input:focus-visible + .sales-page-contact-check {
    outline: 3px solid rgba(20, 147, 74, .18);
    outline-offset: 2px;
}

.property-picker {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.property-picker-item {
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.property-picker-item span {
    display: grid;
    gap: 4px;
}

.property-picker-item small {
    color: var(--muted);
}

.preview-banner {
    position: sticky;
    top: 0;
    z-index: 30;
    padding: 10px 16px;
    background: #17251b;
    color: #fff;
    text-align: center;
    font-weight: 900;
}

.sales-public-hero {
    position: relative;
    min-height: 360px;
    display: grid;
    align-items: end;
    overflow: hidden;
    border-radius: 0 0 18px 18px;
    background: linear-gradient(135deg, #f1f6ef, #ffffff);
}

.sales-public-cover {
    position: absolute;
    inset: 0;
    background: #e9f2e7;
}

.sales-public-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sales-public-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(12,24,16,.72));
}

.sales-public-profile {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 18px;
    align-items: end;
    padding: 32px;
    color: #fff;
}

.sales-public-profile h1 {
    margin: 4px 0 8px;
    max-width: 820px;
    font-size: 42px;
    line-height: 1.05;
}

.sales-public-profile p {
    max-width: 680px;
    margin: 0 0 8px;
    color: rgba(255,255,255,.88);
}

.share-collection-hero {
    background: linear-gradient(135deg, #eef6ec, #ffffff);
}

.share-collection-hero .sales-public-profile {
    color: #10241a;
}

.share-collection-hero .sales-public-profile p,
.share-collection-hero .sales-public-profile .public-muted {
    color: #557163;
}

.sales-public-grid {
    margin-top: 20px;
}

.sales-property-section {
    margin-top: 20px;
}

.sales-property-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.sales-property-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
    max-width: 100%;
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.sales-property-thumb {
    display: block;
    aspect-ratio: 16 / 10;
    background: #edf3ed;
}

.sales-property-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sales-property-card > span:last-child {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 12px;
}

.sales-property-card small {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.sales-property-card b {
    color: var(--green-dark);
    overflow-wrap: anywhere;
}

.property-detail-hero {
    margin-top: 18px;
}

.property-detail-cover {
    height: 380px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background:
        linear-gradient(135deg, rgba(47, 158, 89, .08), rgba(255, 188, 0, .12)),
        #dedede;
    color: #102033;
    font-size: 54px;
    font-weight: 400;
}

.property-detail-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.property-detail-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 16px 28px;
    border: 1px solid var(--line);
    background: #fff;
}

.property-detail-summary h1 {
    margin: 0;
    color: #102033;
    font-size: 25px;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.property-detail-summary p {
    margin: 4px 0 0;
    color: var(--muted);
    font-weight: 800;
}

.property-detail-summary > strong {
    color: var(--green-dark);
    font-size: 28px;
    line-height: 1.2;
}

.property-gallery-panel {
    min-width: 0;
    overflow: hidden;
    background: #fff;
}

.property-title-block {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.property-price-block {
    display: grid;
    justify-items: end;
    gap: 10px;
    min-width: 220px;
    text-align: right;
}

.property-price-block > strong {
    color: var(--green-dark);
    font-size: 24px;
    line-height: 1.2;
}

.property-hero-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    color: #1f2e3f;
    font-size: 14px;
    font-weight: 900;
}

.property-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
}

.property-quick-actions .btn {
    min-height: 32px;
    padding: 6px 13px;
}

.property-thumb-strip {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 8px;
    padding: 8px 0 0;
}

.property-thumb-strip a,
.property-thumb-strip span {
    min-height: 72px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 2px solid transparent;
    background: #ededed;
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
}

.property-thumb-strip a.active {
    border-color: var(--green);
}

.property-thumb-strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.property-detail-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.property-detail-tabs a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 10px 18px;
    border-bottom: 2px solid transparent;
    color: #5e6b7b;
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.property-detail-tabs a.active,
.property-detail-tabs a:hover {
    border-bottom-color: var(--green);
    color: var(--green-dark);
}

.property-detail-info-panel {
    min-width: 0;
    background: #fff;
    box-shadow: 0 12px 28px rgba(16, 32, 51, .05);
}

.property-detail-section {
    display: grid;
    gap: 18px;
    padding: 22px 28px 28px;
    border-bottom: 1px solid #edf0f3;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .18s ease, transform .18s ease;
}

.property-detail-section[hidden] {
    display: none;
}

.property-detail-section.is-entering {
    animation: propertyTabPanelIn .2s ease both;
}

.property-detail-section.is-leaving {
    opacity: 0;
    transform: translateY(4px);
}

@keyframes propertyTabPanelIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.property-detail-section:last-child {
    border-bottom: 0;
}

.property-detail-section h2,
.property-detail-section h3 {
    margin: 0;
    color: #102033;
    line-height: 1.2;
}

.property-detail-section h2 {
    font-size: 22px;
}

.property-detail-section h3 {
    font-size: 18px;
}

.property-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.property-section-heading a {
    color: var(--green-dark);
    font-size: 14px;
    font-weight: 900;
}

.property-attachments {
    display: grid;
    gap: 10px;
}

.property-attachments span {
    color: #263548;
    font-size: 15px;
    font-weight: 700;
}

.property-attachments span::before {
    content: "D";
    width: 22px;
    height: 22px;
    display: inline-grid;
    place-items: center;
    margin-right: 8px;
    border: 1px solid var(--green);
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 900;
}

.property-brief-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    color: #687489;
    font-size: 15px;
    line-height: 1.65;
}

.property-brief-columns p {
    margin: 0;
}

.property-feature-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 34px;
}

.property-feature-list span {
    color: #263548;
    font-size: 15px;
    font-weight: 700;
}

.property-feature-list span::before {
    content: "";
    width: 8px;
    height: 8px;
    display: inline-block;
    margin-right: 10px;
    border-radius: 999px;
    background: var(--green);
    box-shadow: 0 0 0 3px rgba(47, 158, 89, .12);
    vertical-align: middle;
}

.property-media-placeholder {
    height: 398px;
    display: grid;
    place-items: center;
    position: relative;
    overflow: hidden;
    background: #dedede;
    color: #111827;
    padding: 24px;
    text-align: center;
    font-size: 20px;
    font-weight: 800;
}

.property-media-placeholder span {
    max-width: 520px;
    padding: 12px 16px;
    border-radius: 8px;
    background: rgba(255,255,255,.72);
    color: #46566a;
}

.property-video-placeholder i {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 999px;
    background: var(--green);
    transform: translate(-50%, -50%);
}

.property-video-placeholder i::before {
    content: "";
    width: 0;
    height: 0;
    margin-left: 4px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid #fff;
}

.property-map-placeholder {
    min-height: 315px;
    display: grid;
    align-content: start;
    gap: 4px;
    padding: 18px;
    background:
        linear-gradient(110deg, rgba(47, 158, 89, .16), transparent 35%),
        linear-gradient(35deg, rgba(255, 188, 0, .14), transparent 42%),
        repeating-linear-gradient(25deg, rgba(255,255,255,.4) 0 3px, transparent 3px 48px),
        #c8dde0;
    color: #102033;
}

.property-map-placeholder strong,
.property-map-placeholder span {
    width: fit-content;
    max-width: min(320px, 100%);
    padding: 6px 9px;
    background: rgba(255,255,255,.9);
}

.property-map-placeholder strong {
    font-size: 15px;
}

.property-map-placeholder span {
    color: #637083;
    font-size: 13px;
    font-weight: 800;
}

.property-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 18px;
    align-items: start;
    margin-top: 18px;
}

.property-detail-main {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.property-contact-card {
    position: sticky;
    top: 16px;
    display: grid;
    gap: 16px;
}

.property-fact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 24px;
    margin: 0;
}

.property-fact-grid div {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 10px;
    padding: 0;
    background: #fff;
}

.property-fact-grid dt {
    color: #263548;
    font-size: 14px;
    font-weight: 900;
}

.property-fact-grid dd {
    margin: 0;
    color: #637083;
    font-size: 14px;
    font-weight: 700;
}

.contact-reveal-locked {
    display: grid;
    gap: 12px;
}

.public-contact-button.locked {
    cursor: default;
    color: var(--text);
    background: #f7faf7;
}

.contact-reveal-form {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.contact-reveal-form label {
    display: grid;
    gap: 6px;
}

.contact-reveal-form label span {
    color: var(--muted);
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.contact-reveal-form input {
    width: 100%;
    min-height: 40px;
    padding: 9px 10px;
    border: 1px solid #d9e1dc;
    border-radius: 3px;
    font: inherit;
    font-size: 14px;
}

.contact-reveal-form .public-muted {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
}

.contact-reveal-form .public-muted.success {
    color: var(--green-dark);
    font-weight: 800;
}

.contact-reveal-form .public-muted.error {
    color: #b42318;
    font-weight: 800;
}

.contact-reveal-modal[hidden] {
    display: none;
}

.contact-reveal-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 18px;
}

.contact-reveal-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 31, 28, .44);
}

.contact-reveal-modal-panel {
    position: relative;
    z-index: 1;
    width: min(440px, 100%);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(9, 38, 35, .28);
    padding: 22px;
}

.contact-reveal-modal-panel h2 {
    margin: 0 30px 8px 0;
    color: var(--text);
    font-size: 22px;
    letter-spacing: 0;
}

.contact-reveal-modal-panel p {
    margin: 0 0 16px;
    color: var(--muted);
    line-height: 1.55;
}

.contact-reveal-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #fff;
    color: var(--muted);
    font-weight: 900;
    cursor: pointer;
}

.contact-reveal-modal-form {
    display: grid;
    gap: 12px;
}

.contact-reveal-remembered {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid #cde8d5;
    border-radius: 6px;
    padding: 10px 12px;
    background: #f3fbf5;
    color: var(--green-dark);
    font-size: 13px;
    line-height: 1.45;
}

.contact-reveal-remembered[hidden] {
    display: none;
}

.contact-reveal-remembered button {
    flex: 0 0 auto;
    border: 0;
    padding: 4px 0;
    background: transparent;
    color: var(--green-dark);
    font: inherit;
    font-weight: 900;
    text-decoration: underline;
    cursor: pointer;
}

.contact-reveal-modal-form label {
    display: grid;
    gap: 6px;
}

.contact-reveal-modal-form label span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
}

.contact-reveal-modal-form input {
    width: 100%;
    min-height: 42px;
    border: 1px solid #d9e1dc;
    border-radius: 4px;
    padding: 9px 10px;
    font: inherit;
}

.contact-reveal-modal-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

@media (max-width: 480px) {
    .contact-reveal-remembered {
        align-items: flex-start;
        flex-direction: column;
    }
}

.property-request-form {
    display: grid;
    gap: 9px;
    padding-top: 4px;
}

.property-request-form h3 {
    margin: 0 0 2px;
    color: #132235;
    font-size: 16px;
}

.property-request-form input,
.property-request-form textarea {
    width: 100%;
    min-height: 40px;
    border: 1px solid #e4e8ed;
    border-radius: 3px;
    padding: 9px 10px;
    background: #fff;
    color: #27364a;
    font: inherit;
    font-size: 14px;
}

.property-request-form textarea {
    min-height: 88px;
    resize: vertical;
}

.property-request-preview input,
.property-request-preview textarea {
    background: #f5f8f6;
    color: #778397;
    cursor: not-allowed;
}

.property-request-preview .btn:disabled {
    opacity: .7;
    cursor: not-allowed;
}

.share-panel {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.share-panel-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.share-panel-heading h2 {
    margin: 2px 0 0;
}

.share-panel-heading > strong {
    padding: 7px 10px;
    border-radius: 999px;
    background: #eff8f1;
    color: var(--green-dark);
    font-size: 13px;
    white-space: nowrap;
}

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

.share-actions .btn {
    min-height: 38px;
}

.share-qr {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fbfdfb;
}

.share-qr img {
    width: 110px;
    height: 110px;
    display: block;
    border-radius: 6px;
    background: #fff;
}

.share-qr small {
    color: var(--muted);
    font-weight: 800;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .sales-page-admin-grid,
    .sales-page-settings-grid {
        grid-template-columns: 1fr;
    }

    .sale-page-settings-summary {
        position: static;
    }

    .sale-page-wizard-shell {
        grid-template-columns: 1fr;
    }

    .sale-page-wizard-rail {
        position: static;
        grid-template-columns: repeat(4, minmax(96px, 1fr));
        overflow-x: auto;
    }

    .sales-page-row {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .sales-page-row .property-actions {
        grid-column: 1 / -1;
    }

    .sales-pages-layout {
        grid-template-columns: 1fr;
    }

    .sales-pages-guide {
        position: static;
    }

    .form-grid.two,
    .checkbox-stack {
        grid-template-columns: 1fr;
    }

    .sales-page-contact-toggles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sales-page-image-upload-grid {
        grid-template-columns: 1fr;
    }

    .sales-public-hero {
        min-height: 300px;
        border-radius: 0 0 12px 12px;
    }

    .sales-public-profile {
        align-items: flex-start;
        padding: 20px;
    }

    .sales-public-profile h1 {
        font-size: 28px;
        overflow-wrap: anywhere;
    }

    .property-detail-layout {
        grid-template-columns: 1fr;
    }

    .property-detail-hero {
        min-height: 0;
        gap: 12px;
    }

    .property-detail-cover {
        height: 280px;
    }

    .property-detail-summary {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px;
    }

    .property-detail-summary h1 {
        font-size: 28px;
    }

    .property-price-block {
        justify-items: start;
        min-width: 0;
        text-align: left;
    }

    .property-price-block > strong {
        font-size: 22px;
    }

    .property-contact-card {
        position: static;
    }

    .property-fact-grid {
        grid-template-columns: 1fr;
    }

    .property-thumb-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .property-detail-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    .property-detail-tabs a {
        flex: 0 0 auto;
    }

    .property-detail-section {
        padding: 18px;
    }

    .property-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .property-fact-grid,
    .property-brief-columns,
    .property-feature-list {
        grid-template-columns: 1fr;
    }

    .property-fact-grid div {
        grid-template-columns: 124px minmax(0, 1fr);
    }

    .property-media-placeholder {
        height: 230px;
        font-size: 42px;
    }

    .property-map-placeholder {
        min-height: 230px;
    }

    .share-panel-heading,
    .share-qr {
        grid-template-columns: 1fr;
        display: grid;
    }

    .share-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .share-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 520px) {
    .sales-page-contact-toggles {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .sales-pages-hero-side {
        width: 100%;
        justify-items: stretch;
    }

    .sales-pages-summary {
        width: 100%;
    }

    .sales-pages-summary span {
        min-width: 0;
        flex: 1;
        padding-inline: 8px;
    }

    .sales-pages-hero-side > .btn {
        width: 100%;
    }

    .sales-page-card:hover {
        transform: none;
    }

    .sales-page-card-header {
        grid-template-columns: 46px minmax(0, 1fr);
        padding: 17px;
    }

    .sales-page-card-icon {
        width: 42px;
        height: 42px;
        border-radius: 12px;
    }

    .sales-page-edit {
        grid-column: 1 / -1;
        width: 100%;
    }

    .sales-page-public-url {
        grid-template-columns: minmax(0, 1fr);
        margin: 0 17px 15px;
    }

    .sales-page-public-url .btn {
        grid-column: 1;
        grid-row: auto;
        width: 100%;
    }

    .sales-page-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sales-page-metrics > span:nth-child(3) {
        border-left: 0;
    }

    .sales-page-metrics > span:nth-child(n+3) {
        border-top: 1px solid #e4ede7;
    }

    .sales-page-actions {
        align-items: stretch;
        flex-direction: column;
        padding: 15px 17px 17px;
    }

    .sales-page-actions > div {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sales-page-actions form,
    .sales-page-actions .btn,
    .sales-page-actions button {
        width: 100%;
        justify-content: center;
    }
}

.document-filter-card {
    border: 1px solid #dbe9e2;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
    box-shadow: 0 16px 38px rgba(20, 71, 45, 0.07);
    margin-bottom: 18px;
    padding: 18px;
}

.document-upload-grid {
    grid-template-columns: 320px minmax(0, 1fr);
    max-width: 1240px;
    margin: 0 auto;
    width: calc(100% - 48px);
}

.document-upload-panel {
    border: 1px solid #dbe9e2;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
    box-shadow: 0 16px 38px rgba(20, 71, 45, 0.07);
    padding: 18px;
    position: sticky;
    top: 88px;
}

.document-upload-panel h2,
.document-filter-card h2 {
    margin-top: 2px;
}

.document-upload-panel > p {
    color: var(--muted);
    line-height: 1.55;
    margin: 0 0 8px;
}

.document-upload-panel .import-upload-form {
    background: #fff;
    border: 1px solid #e0eee7;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    margin-top: 14px;
    padding: 14px;
}

.document-upload-panel .import-upload-form label {
    display: grid;
    gap: 6px;
}

.document-upload-panel .import-upload-form label span {
    color: #36584a;
    font-size: 13px;
    font-weight: 800;
}

.document-upload-panel .import-rules {
    background: #f7fbf9;
    border: 1px solid #dbe9e2;
    border-radius: 8px;
    display: grid;
    gap: 5px;
    margin-top: 14px;
    padding: 12px;
}

.document-upload-panel .import-rules span {
    color: var(--muted);
    line-height: 1.5;
}

.document-filter-form,
.document-edit-form {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
    align-items: end;
}

.document-filter-form label,
.document-edit-form label {
    display: grid;
    gap: 6px;
}

.document-filter-form span,
.document-edit-form span {
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
}

.document-filter-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.document-inventory-main > .dashboard-card:last-child {
    border: 1px solid #dbe9e2;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(20, 71, 45, 0.07);
    padding: 18px;
}

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

.document-row {
    border: 1px solid #dbe9e2;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
    box-shadow: 0 12px 28px rgba(20, 71, 45, 0.06);
    display: grid;
    gap: 14px;
    padding: 16px;
}

.document-row-main {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(320px, 1.4fr);
    gap: 16px;
}

.document-row h3 {
    margin: 4px 0 4px;
    color: var(--text);
    font-size: 20px;
}

.document-row p,
.muted-text {
    color: var(--muted);
    display: block;
    font-size: 14px;
    margin: 0;
}

.document-meta-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.document-meta-grid span {
    background: #fff;
    border: 1px solid #e0eee7;
    border-radius: 8px;
    color: var(--muted);
    font-size: 14px;
    padding: 9px 10px;
}

.document-meta-grid strong {
    color: var(--text);
    display: block;
    font-size: 13px;
}

.document-actions {
    border-top: 1px solid rgba(220, 235, 225, 0.9);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 12px;
}

.document-actions form {
    margin: 0;
}

.document-edit-form {
    grid-template-columns: minmax(180px, 1fr) minmax(160px, 260px) auto;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.btn.danger {
    border-color: #f0b5b5;
    color: #b42318;
    background: #fff7f7;
}

.property-document-card {
    grid-column: 2;
    display: grid;
    gap: 18px;
}

.document-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 14px;
}

.document-section-header h2 {
    margin: 4px 0;
    color: var(--text);
    font-size: 24px;
}

.document-section-header p {
    margin: 0;
    color: var(--muted);
    font-size: 15px;
}

.document-quota-pill {
    border: 1px solid rgba(32, 154, 84, 0.25);
    border-radius: 999px;
    background: rgba(32, 154, 84, 0.08);
    color: var(--green-dark);
    font-size: 14px;
    font-weight: 800;
    padding: 8px 12px;
    white-space: nowrap;
}

.property-document-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.document-upload-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
    display: grid;
    gap: 12px;
    padding: 16px;
}

.document-upload-card strong {
    color: var(--text);
    font-size: 17px;
}

.document-upload-card small,
.property-document-row small {
    color: var(--muted);
    display: block;
    font-size: 13px;
}

.document-upload-card label {
    display: grid;
    gap: 6px;
}

.document-upload-card span {
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
}

.property-document-list {
    display: grid;
    gap: 10px;
}

.property-document-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
    padding: 14px;
}

.document-file-icon {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: rgba(32, 154, 84, 0.1);
    color: var(--green-dark);
    display: grid;
    place-items: center;
    font-size: 13px;
    font-weight: 800;
}

.property-document-row strong {
    color: var(--text);
    display: block;
    font-size: 17px;
}

.property-document-row span {
    color: var(--muted);
    display: block;
    font-size: 14px;
}

.property-document-row-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.property-document-row-actions form {
    margin: 0;
}

.document-empty-state {
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: #fff;
    color: var(--muted);
    padding: 16px;
}

.support-ticket-grid,
.support-ticket-detail-grid {
    align-items: start;
}

.support-ticket-grid {
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.support-ticket-detail-grid {
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
}

.support-ticket-board,
.support-ticket-thread {
    display: grid;
    gap: 14px;
}

.support-ticket-form,
.support-ticket-filter,
.support-ticket-close-form,
.support-ticket-reply-form {
    display: grid;
    gap: 12px;
}

.support-ticket-form {
    align-items: start;
}

.support-ticket-form label,
.support-ticket-filter label,
.support-ticket-close-form label,
.support-ticket-reply-form label {
    display: grid;
    gap: 6px;
}

.support-ticket-form span,
.support-ticket-close-form span,
.support-ticket-reply-form span {
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
}

.support-ticket-form input,
.support-ticket-form select,
.support-ticket-form textarea,
.support-ticket-filter input,
.support-ticket-filter select {
    min-width: 0;
}

.faq-public-page {
    width: min(980px, calc(100% - 32px));
    margin: 0 auto;
    padding: 34px 0 54px;
}

.faq-public-head {
    margin-bottom: 22px;
}

.faq-public-head h1 {
    margin: 4px 0 8px;
    font-size: clamp(30px, 4vw, 44px);
}

.faq-public-head p,
.faq-public-support p {
    color: var(--muted);
    margin: 0;
}

.faq-public-list {
    display: grid;
    gap: 18px;
}

.faq-public-group {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 18px;
}

.faq-public-group h2 {
    margin: 0 0 12px;
    font-size: 21px;
}

.faq-accordion {
    display: grid;
    gap: 10px;
}

.faq-item {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    overflow: hidden;
}

.faq-item summary {
    cursor: pointer;
    padding: 13px 16px;
    font-weight: 800;
    color: var(--text);
}

.faq-item summary::marker {
    color: var(--green);
}

.faq-item div {
    border-top: 1px solid var(--line);
    padding: 14px 16px 16px;
    color: var(--muted);
    line-height: 1.7;
}

.faq-public-support {
    margin-top: 20px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface-strong);
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.faq-public-support h2 {
    margin: 4px 0 6px;
}

.faq-admin-grid {
    grid-template-columns: minmax(320px, 390px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.faq-admin-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.faq-admin-metrics span {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.faq-admin-metrics strong {
    color: var(--green-dark);
    font-size: 18px;
    line-height: 1;
}

.faq-admin-form-card {
    align-self: start;
    position: sticky;
    top: 88px;
    padding: 18px;
    border-radius: 8px;
    box-shadow: 0 16px 40px rgba(12, 64, 40, .08);
}

.faq-admin-form-card h2 {
    margin-bottom: 14px;
}

.faq-admin-form-card .btn-primary {
    width: 100%;
    margin-top: 8px;
    margin-bottom: 4px;
}

.form-inline-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: end;
}

.checkbox-row {
    min-height: 46px;
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 0 12px;
    background: #fff;
}

.checkbox-row input {
    width: 18px;
    height: 18px;
}

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

.faq-admin-list-panel {
    padding: 18px;
    border-radius: 8px;
    box-shadow: 0 16px 40px rgba(12, 64, 40, .08);
}

.faq-admin-list-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
}

.faq-admin-list-head h2 {
    margin: 3px 0 0;
    font-size: 20px;
    line-height: 1.25;
}

.faq-admin-list-head > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    white-space: nowrap;
    padding: 5px 12px;
    border: 1px solid #ccead3;
    border-radius: 999px;
    background: var(--surface-strong);
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 900;
}

.faq-admin-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 18px;
    align-items: start;
    padding: 18px;
    border-radius: 8px;
    border: 1px solid var(--line);
    border-left: 4px solid #d7eadc;
    background: #fff;
    box-shadow: 0 10px 24px rgba(12, 64, 40, .05);
}

.faq-admin-row-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-width: 0;
}

.faq-admin-row-main .ticket-status {
    align-self: start;
    justify-self: start;
}

.faq-admin-row-main h2 {
    margin: 4px 0 8px;
    font-size: 21px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.faq-admin-row-main p,
.faq-admin-meta {
    margin: 0;
    color: var(--muted);
}

.faq-admin-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
    grid-column: 1;
}

.faq-admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-content: flex-end;
    align-self: center;
}

.faq-admin-actions form {
    margin: 0;
}

.about-public-page {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
    padding: 28px 0 56px;
}

.about-hero {
    min-height: 340px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(135deg, #f7faf8 0%, #eef7ef 100%);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    gap: 24px;
    align-items: center;
    padding: clamp(22px, 5vw, 48px);
    box-shadow: var(--shadow);
}

.about-hero h1 {
    margin: 6px 0 12px;
    font-size: clamp(32px, 5vw, 54px);
    line-height: 1.12;
}

.about-hero p {
    color: var(--muted);
    font-size: 18px;
    max-width: 640px;
}

.about-hero img {
    width: 100%;
    max-height: 310px;
    object-fit: contain;
}

.about-stepper {
    display: grid;
    grid-template-columns: repeat(var(--step-count, 7), minmax(120px, 1fr));
    gap: 0;
    margin: 28px 0;
    position: relative;
}

.about-stepper::before {
    content: "";
    position: absolute;
    left: 7%;
    right: 7%;
    top: 25px;
    height: 3px;
    background: #d7eadb;
}

.about-stepper a {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: 8px;
    color: var(--muted);
    text-align: center;
    font-weight: 800;
}

.about-stepper span {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 3px solid #d7eadb;
    background: #fff;
    color: var(--green-dark);
    display: grid;
    place-items: center;
    font-size: 20px;
    box-shadow: 0 8px 18px rgba(31, 78, 49, .08);
}

.about-stepper a.active span,
.about-stepper a:hover span {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
}

.about-stepper strong {
    font-size: 13px;
    line-height: 1.25;
    max-width: 120px;
}

.about-step-list {
    display: grid;
    gap: 22px;
}

.about-step-card {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    display: grid;
    grid-template-columns: minmax(250px, .9fr) minmax(0, 1.1fr);
    gap: 24px;
    align-items: center;
    padding: clamp(18px, 4vw, 34px);
    box-shadow: var(--shadow);
}

.about-step-card.reverse {
    grid-template-columns: minmax(0, 1.1fr) minmax(250px, .9fr);
}

.about-step-card.reverse .about-step-visual {
    order: 2;
}

.about-step-visual {
    border-radius: 16px;
    background: var(--surface);
    padding: 14px;
}

.about-step-visual img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 10.5;
    object-fit: contain;
}

.about-step-copy {
    display: grid;
    gap: 12px;
}

.about-step-number {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 20px;
    font-weight: 900;
}

.about-step-copy h2 {
    margin: 0;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.2;
}

.about-step-problem,
.about-step-solution {
    border-radius: var(--radius);
    padding: 14px;
}

.about-step-problem {
    background: #fff8e6;
}

.about-step-solution {
    background: var(--surface-strong);
}

.about-step-problem strong,
.about-step-solution strong {
    display: block;
    color: var(--green-dark);
    margin-bottom: 4px;
}

.about-step-problem p,
.about-step-solution p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.about-cta {
    margin-top: 24px;
    border-radius: 18px;
    background: var(--green-dark);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: clamp(20px, 4vw, 34px);
}

.about-cta .eyebrow,
.about-cta p {
    color: rgba(255, 255, 255, .8);
}

.about-cta h2 {
    margin: 4px 0 8px;
    font-size: 28px;
}

.about-cta > div:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.about-admin-row {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 18px;
    border: 1px solid var(--line);
    border-left: 4px solid #d7eadc;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(12, 64, 40, .05);
}

.about-admin-thumb {
    border-radius: var(--radius);
    background: var(--surface);
    overflow: hidden;
}

.about-admin-thumb img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 10.5;
    object-fit: contain;
}

.about-admin-row-copy {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.about-admin-row-kicker {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.about-admin-row h2 {
    margin: 0;
    font-size: 21px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.about-admin-row p {
    margin: 0;
    color: var(--muted);
}

@media (max-width: 900px) {
    .about-hero,
    .about-step-card,
    .about-step-card.reverse,
    .about-admin-row {
        grid-template-columns: 1fr;
    }

    .about-step-card.reverse .about-step-visual {
        order: 0;
    }

    .about-stepper {
        overflow-x: auto;
        padding-bottom: 8px;
    }

    .about-stepper a {
        min-width: 128px;
    }

    .about-cta {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 900px) {
    .admin-profile-editor {
        grid-template-columns: 1fr;
    }

    .faq-public-support,
    .faq-admin-row-main,
    .form-inline-grid {
        grid-template-columns: 1fr;
    }

    .faq-public-support {
        align-items: stretch;
        flex-direction: column;
    }

    .faq-admin-grid {
        grid-template-columns: 1fr;
    }

    .faq-admin-form-card {
        position: static;
    }

    .faq-admin-row {
        grid-template-columns: 1fr;
    }

    .faq-admin-meta,
    .faq-admin-actions {
        grid-column: 1;
    }

    .faq-admin-actions {
        grid-row: auto;
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .faq-admin-metrics span,
    .faq-admin-actions .btn,
    .faq-admin-actions form,
    .faq-admin-actions button {
        width: 100%;
    }

    .faq-admin-row-main {
        gap: 10px;
    }
}

.support-ticket-toolbar {
    display: grid;
    gap: 12px;
    align-content: start;
}

.support-ticket-filter {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
    align-items: stretch;
}

.support-ticket-filter input[type="search"] {
    grid-column: 1 / -1;
}

.support-ticket-filter .btn {
    grid-column: 1 / -1;
    justify-content: center;
    width: 100%;
}

.support-ticket-list {
    display: grid;
    gap: 12px;
}

.support-ticket-row {
    display: grid;
    gap: 12px;
}

.support-ticket-row-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

.support-ticket-row h2 {
    color: var(--text);
    font-size: 20px;
    margin: 4px 0;
}

.support-ticket-row p,
.support-ticket-foot,
.support-ticket-meta span {
    color: var(--muted);
    font-size: 14px;
    margin: 0;
}

.support-ticket-foot {
    border-top: 1px solid var(--border);
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding-top: 10px;
}

.support-ticket-meta {
    border: 1px solid var(--border);
    border-radius: 8px;
    display: grid;
    min-width: 86px;
    padding: 8px 10px;
    place-items: center;
}

.support-ticket-meta strong {
    color: var(--green-dark);
    font-size: 22px;
}

.ticket-status {
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(32, 154, 84, 0.1);
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 800;
    min-width: 98px;
    padding: 8px 12px;
    text-transform: uppercase;
}

.ticket-status.pending,
.ticket-status.on-process {
    background: #fff8e6;
    color: #9a6700;
}

.ticket-status.resolved {
    background: #eef8ff;
    color: #075985;
}

.ticket-status.closed,
.ticket-status.canceled {
    background: #f3f4f6;
    color: #475569;
}

.support-ticket-summary {
    display: grid;
    gap: 18px;
}

.support-ticket-close-form {
    border-top: 1px solid var(--border);
    padding-top: 14px;
}

.support-ticket-close-form textarea,
.support-ticket-reply-form textarea {
    min-height: 128px;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(23, 49, 38, .03);
}

.support-ticket-close-form textarea {
    min-height: 116px;
}

.support-ticket-messages,
.support-ticket-events {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.support-ticket-message {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
    display: grid;
    gap: 8px;
    padding: 14px;
}

.support-ticket-message.member {
    border-left: 4px solid var(--green);
}

.support-ticket-message.support {
    border-left: 4px solid #64748b;
}

.support-ticket-message.internal {
    border-left: 4px solid #9a6700;
    background: #fffaf0;
}

.support-ticket-message div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.support-ticket-message strong {
    color: var(--text);
}

.support-ticket-message span,
.support-ticket-events span,
.support-ticket-events small {
    color: var(--muted);
    font-size: 13px;
}

.support-ticket-message p {
    color: var(--text);
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
}

.support-ticket-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
}

.support-ticket-attachments a {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
    color: var(--text);
    display: grid;
    gap: 2px;
    min-width: 180px;
    padding: 10px 12px;
    text-decoration: none;
}

.support-ticket-attachments a span {
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 800;
}

.support-ticket-attachments a strong {
    color: var(--text);
    font-size: 14px;
}

.support-ticket-attachments a small {
    color: var(--muted);
    font-size: 12px;
}

.support-ticket-reply-form {
    border-top: 1px solid var(--border);
    margin-top: 16px;
    padding-top: 16px;
}

.support-ticket-events div {
    border-left: 3px solid rgba(32, 154, 84, 0.22);
    display: grid;
    gap: 4px;
    padding-left: 12px;
}

.support-ticket-events strong {
    color: var(--text);
    font-size: 15px;
}

/* Switch to the drawer before translated desktop labels are forced to wrap. */
@media (max-width: 1240px) {
    .admin-member-detail-grid {
        grid-template-columns: 1fr;
    }

    .support-ticket-grid {
        grid-template-columns: 1fr;
    }

    .support-ticket-detail-grid {
        grid-template-columns: 1fr;
    }

    .property-document-card {
        grid-column: 1;
    }

    .property-document-actions,
    .property-document-row {
        grid-template-columns: 1fr;
    }

    .property-document-row-actions {
        justify-content: flex-start;
    }

    .support-ticket-filter,
    .support-ticket-row-main {
        grid-template-columns: 1fr;
    }

    .document-filter-form,
    .document-row-main,
    .document-edit-form {
        grid-template-columns: 1fr;
    }

    .document-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .admin-member-create-grid {
        grid-template-columns: 1fr;
    }

    .admin-member-create-wide {
        grid-column: auto;
    }

    .admin-member-header-actions,
    .admin-member-create-actions {
        align-items: stretch;
        width: 100%;
    }

    .admin-member-header-actions .btn,
    .admin-member-create-actions .btn,
    .admin-member-create-actions button {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 640px) {
    .admin-permission-list {
        padding-left: 12px;
    }

    .admin-permission-list::before {
        left: 12px;
    }

    .admin-permission-panel summary {
        align-items: start;
        grid-template-columns: minmax(0, 1fr) auto auto;
        padding: 13px 12px;
    }

    .admin-permission-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px !important;
        padding: 10px 12px;
    }

    .document-meta-grid {
        grid-template-columns: 1fr;
    }

    .document-actions,
    .document-filter-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .document-actions .btn,
    .document-filter-actions .btn,
    .document-edit-form .btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 1100px) {
    .public-topbar {
        width: 100%;
        padding-inline: 16px;
    }

    .public-topbar .public-primary-nav {
        display: none;
    }

    .public-action-nav .public-menu-toggle {
        display: grid;
    }

    .public-topbar nav.public-action-nav a:not(.btn) {
        display: grid;
    }

    .public-topbar nav.public-action-nav a.public-language-toggle:not(.btn) {
        display: inline-flex;
        flex: 0 0 auto;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        white-space: nowrap;
    }

    .public-topbar .public-mobile-menu,
    .public-menu-backdrop {
        display: block;
    }
}

@media (max-width: 640px) {
    .public-topbar {
        min-height: 68px;
        gap: 10px;
    }

    .public-topbar .brand-logo {
        height: 44px;
        max-width: 158px;
    }

    .public-action-nav {
        gap: 2px;
    }

    .public-action-nav a,
    .public-action-nav button {
        width: auto;
        min-width: 42px;
        height: 38px;
        padding-inline: 9px;
    }

    .public-action-nav .public-language-toggle {
        width: 64px;
        min-width: 64px;
        gap: 5px;
        padding-inline: 8px;
        flex-wrap: nowrap;
    }

    .public-action-nav .public-language-toggle span {
        display: inline-block;
        font-size: 12px;
        line-height: 1;
        min-width: auto;
        white-space: nowrap;
    }

    .public-action-nav svg {
        width: 19px;
        height: 19px;
    }
}

@media (max-width: 1180px) {
    .property-admin-grid {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .property-admin-grid > .detail-panel {
        display: none;
    }

    .property-row:not(.dashboard-row) {
        grid-template-columns: 32px 112px minmax(0, 1fr);
    }

    .property-row:not(.dashboard-row) .property-actions {
        grid-column: 3;
        justify-items: start;
    }

    .property-row:not(.dashboard-row) .property-actions > .btn,
    .property-row:not(.dashboard-row) .property-actions div,
    .property-row:not(.dashboard-row) .property-actions form,
    .property-row:not(.dashboard-row) .property-actions button {
        width: auto;
    }

    .property-row:not(.dashboard-row) .property-actions div {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .member-topnav-shell .topbar {
        grid-template-columns: 176px minmax(0, 1fr) auto;
        padding-right: 12px;
    }

    .member-topnav-shell .topbar-brand-area {
        width: 176px;
        flex-basis: 176px;
    }

    .member-topnav-shell .global-search {
        display: none;
    }

    .member-nav-link,
    .member-nav-group > button {
        padding: 0 8px;
        font-size: 15px;
    }

    .admin-shell {
        grid-template-rows: 72px minmax(0, 1fr) auto;
    }

    .admin-topbar {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 10px;
        padding: 0 14px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .admin-brand {
        min-width: 0;
    }

    .admin-brand img {
        height: 44px;
    }

    .admin-brand span,
    .admin-primary-nav,
    .admin-profile strong,
    .admin-profile small {
        display: none;
    }

    .admin-actions {
        justify-self: end;
    }

    .admin-menu-button {
        display: inline-grid;
    }

    .admin-profile {
        width: 44px;
        min-width: 44px;
        max-width: 44px;
        grid-template-columns: 1fr;
        padding: 4px;
    }

    .admin-profile span {
        grid-row: auto;
        width: 34px;
        height: 34px;
    }

    .admin-main {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 16px 14px 82px;
    }

    .admin-overview-grid {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-hero,
    .admin-dashboard-summary,
    .admin-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-hero {
        display: grid;
        padding: 18px;
    }

    .admin-dashboard-hero-actions {
        justify-content: flex-start;
    }

    .admin-dashboard-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-metric-board {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-role-grid,
    .admin-role-form-grid,
    .admin-role-readonly {
        grid-template-columns: 1fr;
    }

    .admin-permission-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-module-policy-row {
        grid-template-columns: 1fr;
    }

    .dashboard-module-switch-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-permission-panel summary {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

    .admin-dashboard-module:first-child {
        grid-row: auto;
    }

    .admin-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-table {
        min-width: 760px;
    }

    .admin-page-hero {
        margin-bottom: 14px;
    }

    .admin-footer {
        align-items: flex-start;
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 14px 14px 88px;
    }

    .admin-mobile-backdrop {
        position: fixed;
        inset: 72px 0 0;
        background: rgba(23, 49, 38, .28);
        opacity: 0;
        pointer-events: none;
        transition: opacity .18s ease;
        z-index: 35;
        display: block;
    }

    .admin-mobile-panel {
        position: fixed;
        inset: 72px 0 0 auto;
        width: min(340px, 86vw);
        background: #fff;
        border-left: 1px solid var(--line);
        box-shadow: -18px 0 42px rgba(23, 49, 38, .16);
        display: none;
        overflow-y: auto;
        padding: 14px;
        transform: translateX(100%);
        transition: transform .18s ease;
        z-index: 36;
    }

    .admin-shell.admin-mobile-open .admin-mobile-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .admin-shell.admin-mobile-open .admin-mobile-panel {
        display: block;
        transform: translateX(0);
    }

    .admin-mobile-panel-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        border-bottom: 1px solid var(--line);
        margin-bottom: 10px;
        padding-bottom: 12px;
    }

    .admin-mobile-panel-head span {
        color: var(--text);
        font-size: 18px;
        font-weight: 900;
    }

    .admin-mobile-panel-head button {
        width: 40px;
        height: 40px;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: #fff;
        color: var(--green-dark);
        display: grid;
        place-items: center;
    }

    .admin-mobile-group {
        border-bottom: 1px solid var(--line);
        padding: 5px 0;
    }

    .admin-mobile-group summary {
        cursor: pointer;
        color: var(--text);
        font-weight: 900;
        list-style: none;
        padding: 12px 4px;
    }

    .admin-mobile-group summary::-webkit-details-marker {
        display: none;
    }

    .admin-mobile-group summary::after {
        content: "+";
        float: right;
        color: var(--green-dark);
    }

    .admin-mobile-group[open] summary::after {
        content: "-";
    }

    .admin-mobile-group a {
        margin: 2px 0;
    }

    .topbar-actions .language-toggle,
    .topbar .notify-btn,
    .topbar .profile-btn,
    .topbar .member-logout-btn,
    .topbar .menu-btn {
        width: var(--mobile-action-size);
        min-width: var(--mobile-action-size);
        min-height: var(--mobile-action-size);
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: #fff;
        color: var(--green-dark);
        padding: 0;
    }

    .topbar-actions {
        gap: 8px;
    }

    .topbar-actions .language-toggle span {
        display: none;
    }

    .notify-icon svg {
        width: 24px;
        height: 24px;
    }

    .menu-icon svg {
        width: 28px;
        height: 28px;
    }

    .app-shell.sidebar-collapsed .side-nav a > span:first-child,
    .app-shell.sidebar-collapsed .nav-group summary > span:first-child {
        font-size: 0;
    }

    .app-shell.sidebar-collapsed .nav-group summary::after {
        display: block;
    }

    .admin-activity-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-activity-row-main,
    .admin-activity-row-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .member-topnav-shell .topbar {
        display: flex;
        padding: 0 16px;
        gap: 12px;
    }

    .member-topnav-shell .topbar-brand-area {
        width: auto;
        flex-basis: auto;
        padding: 0;
    }
}

@media (max-width: 640px) {
    .admin-dashboard-hero h1 {
        font-size: 25px;
    }

    .admin-dashboard-hero-actions,
    .admin-dashboard-hero-actions form {
        width: 100%;
    }

    .admin-dashboard-hero-actions .btn,
    .admin-dashboard-hero-actions button {
        justify-content: center;
        width: 100%;
    }

    .admin-dashboard-metrics,
    .admin-shortcut-grid,
    .admin-metric-board {
        grid-template-columns: 1fr;
    }

    .admin-distribution-list div {
        grid-template-columns: 1fr auto;
    }

    .admin-distribution-list em {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .admin-filter-panel {
        grid-template-columns: 1fr;
    }

    .admin-activity-row-main,
    .admin-activity-row-details,
    .admin-activity-filter-panel {
        grid-template-columns: 1fr;
    }

    .admin-activity-filter-actions {
        grid-column: auto;
    }

    .admin-member-detail-grid,
    .admin-definition-grid,
    .admin-metric-grid.compact,
    .admin-member-linked-lists {
        grid-template-columns: 1fr;
    }

    .admin-permission-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-module-switch-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-module-policy-row,
    .dashboard-module-switch {
        padding: 12px;
    }

    .admin-filter-actions {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .admin-pagination {
        justify-content: flex-start;
    }
}
.team-manager-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.team-manager-header h1 {
    font-size: 30px;
    margin: 4px 0 6px;
}

.team-manager-header p {
    color: var(--muted);
    margin: 0;
    max-width: 760px;
}

.team-manager-actions {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 10px;
}

.team-manager-actions label {
    display: grid;
    gap: 5px;
}

.team-manager-actions label span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.team-manager-actions select {
    min-height: 42px;
    min-width: 180px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    padding: 0 12px;
}

.team-manager-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.team-manager-metrics article {
    display: grid;
    gap: 6px;
    min-height: 120px;
    align-content: center;
}

.team-manager-metrics span,
.team-manager-metrics small {
    color: var(--muted);
}

.team-manager-metrics span {
    font-size: 14px;
    font-weight: 800;
}

.team-manager-metrics strong {
    color: var(--green-dark);
    font-size: 30px;
    line-height: 1;
}

.team-manager-metrics small {
    font-size: 12px;
}

.team-manager-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .8fr);
    gap: 16px;
    align-items: start;
}

.team-manager-column {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.team-manager-section {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    min-width: 0;
    overflow: hidden;
}

.team-manager-section > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding: 16px 18px;
}

.team-manager-section > header h2 {
    font-size: 20px;
    margin: 3px 0 0;
}

.team-manager-section > header > a,
.team-manager-section > header > span {
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 800;
}

.team-manager-list {
    display: grid;
}

.team-manager-list > div {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    min-height: 66px;
    border-bottom: 1px solid var(--line);
    padding: 10px 18px;
}

.team-manager-list.compact > div {
    grid-template-columns: minmax(0, 1fr);
}

.team-manager-list > div:last-child {
    border-bottom: 0;
}

.team-manager-list strong,
.team-manager-list small {
    display: block;
    min-width: 0;
}

.team-manager-list strong {
    overflow-wrap: anywhere;
}

.team-manager-list small {
    color: var(--muted);
    font-size: 12px;
    margin-top: 3px;
}

.team-manager-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #ccead3;
    border-radius: 50%;
    background: var(--surface-strong);
    color: var(--green-dark);
    font-weight: 900;
}

.team-manager-empty {
    color: var(--muted);
    margin: 0;
    padding: 24px 18px;
    text-align: center;
}

.team-manager-timeline {
    display: grid;
    padding: 8px 18px 14px;
}

.team-manager-timeline > div {
    position: relative;
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    gap: 10px;
    min-height: 55px;
    padding-top: 12px;
}

.team-manager-timeline i {
    position: relative;
    z-index: 1;
    width: 9px;
    height: 9px;
    margin-top: 5px;
    border-radius: 50%;
    background: var(--green);
}

.team-manager-timeline > div:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 25px;
    bottom: -7px;
    left: 4px;
    width: 1px;
    background: var(--line);
}

.team-manager-timeline strong,
.team-manager-timeline small {
    display: block;
}

.team-manager-timeline small {
    color: var(--muted);
    font-size: 12px;
    margin-top: 3px;
}

@media (max-width: 1100px) {
    .team-manager-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .team-manager-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .team-manager-header {
        display: grid;
    }

    .team-manager-header h1 {
        font-size: 25px;
    }

    .team-manager-actions,
    .team-manager-actions form,
    .team-manager-actions label,
    .team-manager-actions select,
    .team-manager-actions .btn {
        width: 100%;
    }

    .team-manager-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .team-manager-metrics article {
        min-height: 108px;
    }

    .team-manager-list > div {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .team-manager-list > div > .status {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 420px) {
    .team-manager-metrics {
        grid-template-columns: 1fr;
    }
}
/* Phase 21.7 Team Property Workspace */
.team-property-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.team-property-detail-layout>main{display:grid;gap:16px}.team-property-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.team-property-gallery img{display:block;width:100%;height:260px;object-fit:cover;border-radius:14px}.team-property-gallery img:first-child{grid-column:1/-1;height:420px}.team-property-content{display:grid;gap:14px}.team-property-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.team-property-data-grid div,.team-property-permissions>div{padding:10px;border:1px solid var(--border-color,#e5e7eb);border-radius:12px}.team-property-data-grid dt{font-size:.75rem;color:var(--muted,#64748b);text-transform:capitalize}.team-property-data-grid dd{margin:4px 0 0;font-weight:700}.team-property-permissions{display:grid;gap:10px;position:sticky;top:88px}.team-property-permissions>div{display:flex;justify-content:space-between;gap:12px}.privacy-placeholder,.privacy-note{color:var(--muted,#64748b)}
@media(max-width:900px){.team-property-detail-layout{grid-template-columns:1fr}.team-property-permissions{position:static}.team-property-gallery img:first-child{height:320px}.team-property-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.team-property-gallery{grid-template-columns:1fr}.team-property-gallery img,.team-property-gallery img:first-child{grid-column:auto;height:220px}.team-property-data-grid{grid-template-columns:1fr}}
/* Phase 21.8 Team Sale Page */
.team-sale-manager-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.team-sale-property-picker{display:grid;gap:10px}.team-sale-property-picker label{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border-color,#e5e7eb);border-radius:14px}.team-sale-property-picker span{display:grid}.team-sale-status{position:sticky;top:88px}.public-team-sale{max-width:1180px;margin:0 auto;padding:48px 20px}.public-team-sale-hero{text-align:center;max-width:760px;margin:0 auto 36px}.public-team-sale-hero h1{font-size:clamp(2rem,5vw,4rem);margin:.25em 0}.public-team-property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.public-team-property-grid article{overflow:hidden;border:1px solid #e5e7eb;border-radius:20px;background:#fff}.public-team-property-grid a{color:inherit;text-decoration:none}.public-team-property-grid img{width:100%;height:230px;object-fit:cover}.public-team-property-grid article div{padding:18px}.public-team-property-detail{max-width:900px}.public-team-property-detail article>img{width:100%;max-height:520px;object-fit:cover;border-radius:24px}.public-team-property-detail aside{margin-top:24px;padding:16px;background:#f8fafc;border-radius:14px}.public-team-back{display:inline-block;margin-bottom:20px}
@media(max-width:900px){.team-sale-manager-layout{grid-template-columns:1fr}.team-sale-status{position:static}.public-team-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.public-team-property-grid{grid-template-columns:1fr}.public-team-sale{padding:28px 14px}}
.analytics-filter{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr)) auto;gap:12px;align-items:end}.analytics-filter label{display:grid;gap:6px}.analytics-filter-actions{display:flex;gap:8px;flex-wrap:wrap}.analytics-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-change{display:block;margin-top:5px}.analytics-change.up{color:#047857}.analytics-change.down{color:#b91c1c}.analytics-change.flat{color:var(--muted-color,#64748b)}.analytics-bars{display:grid;gap:8px}.analytics-bars>div{display:grid;grid-template-columns:90px minmax(0,1fr) 44px;gap:10px;align-items:center}.analytics-bars i{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#14b8a6);width:var(--bar-width)}.analytics-table-wrap{overflow-x:auto}.analytics-table{width:100%;border-collapse:collapse;min-width:680px}.analytics-table th,.analytics-table td{padding:12px;border-bottom:1px solid var(--border-color,#e5e7eb);text-align:left}.analytics-privacy-note{color:var(--muted-color,#64748b);font-size:.9rem}@media(max-width:768px){.analytics-filter{grid-template-columns:1fr 1fr}.analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.analytics-filter,.analytics-summary{grid-template-columns:1fr}.analytics-filter-actions .btn{flex:1}.analytics-bars>div{grid-template-columns:76px minmax(0,1fr) 36px}}

.member-analytics-page{
    display:grid;
    gap:16px;
    min-width:0;
    padding:14px 24px 32px;
    box-sizing:border-box;
}
.member-analytics-page>.workspace-header{margin-top:0;padding-inline:0}
.member-analytics-page>.dashboard-card,.member-analytics-page>.metric-grid{margin:0}
@media(max-width:700px){.member-analytics-page{gap:14px;padding:12px 14px 26px}}
@media(max-width:460px){.member-analytics-page{padding-inline:12px}}

/* Revenue analytics: human-readable dates and consistent section rhythm. */
[data-revenue-analytics] {
    display: grid;
    gap: 18px;
    min-width: 0;
}

[data-revenue-analytics] > .workspace-header,
[data-revenue-analytics] > .dashboard-card,
[data-revenue-analytics] > .analytics-summary,
[data-revenue-analytics] > .analytics-privacy-note {
    margin-bottom: 0;
    margin-top: 0;
}

.revenue-analytics-hero {
    align-items: flex-end;
}

.revenue-window {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
}

.revenue-window span {
    white-space: nowrap;
}

.revenue-analytics-actions,
.revenue-analytics-filter .analytics-filter-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.revenue-filter-card {
    padding: 18px;
}

.revenue-analytics-filter {
    column-gap: 14px;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr) auto;
    row-gap: 12px;
}

.revenue-analytics-filter label,
.revenue-analytics-filter input,
.revenue-analytics-filter select {
    min-width: 0;
    width: 100%;
}

[data-revenue-analytics] > .analytics-summary {
    gap: 12px;
}

@media (max-width: 900px) {
    .revenue-analytics-hero {
        align-items: flex-start;
        display: grid;
    }

    .revenue-analytics-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .revenue-analytics-filter .analytics-filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    [data-revenue-analytics] {
        gap: 14px;
    }

    .revenue-filter-card {
        padding: 14px;
    }

    .revenue-analytics-filter {
        grid-template-columns: 1fr;
    }

    .revenue-analytics-filter .analytics-filter-actions {
        align-items: stretch;
        display: grid;
        grid-column: auto;
        grid-template-columns: 1fr;
    }

    .revenue-analytics-actions .btn,
    .revenue-analytics-filter .btn {
        justify-content: center;
        width: 100%;
    }
}
.analytics-entitlements{display:grid;grid-template-columns:1fr 1fr;gap:20px}.analytics-entitlements p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-color,#e5e7eb);padding:8px 0}@media(max-width:600px){.analytics-entitlements{grid-template-columns:1fr}}

/* Phase 29.10 API product responsive acceptance */
.api-reference-endpoint,.api-example,.api-support-lookup,#version-lifecycle{min-width:0}
.api-reference-endpoint h2 code,.api-reference-endpoint details code,#version-lifecycle code,.dashboard-list code,.api-support-lookup input[name="request_id"]{overflow-wrap:anywhere;word-break:break-word}

.app-error-page{--app-error-danger:#b42318}.app-error-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.app-error-filter-grid label{display:grid;gap:7px;font-weight:700;color:#244f3b}.app-error-filter-grid input{width:100%}.app-error-filter-actions{display:flex;gap:10px;grid-column:1/-1}.app-error-list{display:grid;gap:12px}.app-error-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px;border:1px solid #dce8df;border-radius:14px;background:#fff}.app-error-row-main{display:flex;align-items:flex-start;gap:12px}.app-error-row-main p,.app-error-row>p{margin:5px 0 0;color:#5a6e61;overflow-wrap:anywhere}.app-error-row-meta{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.app-error-row-meta div,.app-error-detail-grid>div{display:grid;gap:4px;min-width:0}.app-error-row-meta dt,.app-error-detail-grid span{font-size:.78rem;color:#6b7d72}.app-error-row-meta dd{margin:0;overflow-wrap:anywhere}.status-pill.is-error{background:#fff0ed;color:var(--app-error-danger);border-color:#f3c4bd}.app-error-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.app-error-detail-grid strong,.app-error-detail-grid code{overflow-wrap:anywhere}.app-error-code{max-height:540px;margin:0;padding:16px;border:1px solid #dbe5de;border-radius:12px;background:#11271d;color:#e7f5ec;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:.82rem;line-height:1.55}
@media(max-width:900px){.app-error-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-error-row-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.app-error-filter-grid,.app-error-detail-grid,.app-error-row-meta{grid-template-columns:1fr}.app-error-row{grid-template-columns:1fr}.app-error-row>.btn{justify-self:start}.app-error-filter-actions{flex-direction:column}.app-error-filter-actions .btn{width:100%}}
.api-example pre{max-width:100%;margin:10px 0 0;padding:14px;overflow-x:auto;white-space:pre;border:1px solid var(--line);border-radius:10px;background:#f7faf8;-webkit-overflow-scrolling:touch}
.api-example details,.api-reference-endpoint details{max-width:100%}
.api-example summary,.api-reference-endpoint summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:800}
.api-example summary:focus-visible,.api-reference-endpoint summary:focus-visible{outline:3px solid rgba(47,158,89,.28);outline-offset:3px}
.api-support-lookup form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.api-support-lookup label{display:grid;gap:6px;min-width:0}.api-support-lookup input{width:100%}
@media (max-width: 640px){.api-support-lookup form{grid-template-columns:1fr}.api-support-lookup .btn{width:100%;justify-content:center}.api-reference-endpoint h2{font-size:18px}.api-example pre{padding:12px;font-size:12px}}

/* Legal pages CMS */
.legal-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.legal-admin-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.legal-admin-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.legal-editor-card form,.legal-editor-card label{display:grid;gap:8px}.legal-editor-card form{gap:18px}.legal-editor-card textarea{width:100%;min-height:260px;resize:vertical;font-family:inherit;line-height:1.7}.legal-public-page{width:min(900px,calc(100% - 32px));margin:42px auto;padding:clamp(24px,5vw,56px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.legal-public-page header{padding-bottom:22px;border-bottom:1px solid var(--line)}.legal-public-page h1{margin:.25em 0}.legal-public-page header p{color:var(--muted)}.legal-public-content{padding-top:26px;line-height:1.9;overflow-wrap:anywhere;white-space:normal}@media(max-width:720px){.legal-admin-grid{grid-template-columns:1fr}.legal-admin-card{grid-template-columns:1fr}.legal-admin-card .status-badge{justify-self:start}.legal-public-page{margin:20px auto;width:min(100% - 24px,900px);padding:22px 18px}.legal-editor-card textarea{min-height:220px}}
.legal-editor-alert{position:sticky;top:88px;z-index:4}.legal-publish-guidance{display:grid;gap:5px;padding:14px 16px;border:1px solid #b8dbc5;border-radius:12px;background:#f1faf4;color:#315f43}.legal-publish-guidance span{line-height:1.55}.legal-detail-hero{align-items:flex-start}.legal-detail-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.legal-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.legal-detail-summary>div{display:grid;align-content:start;gap:8px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fbf9}.legal-detail-summary span{color:var(--muted)}.legal-detail-summary strong{overflow-wrap:anywhere}.legal-detail-content{display:grid;gap:18px}.legal-detail-content header{padding-bottom:14px;border-bottom:1px solid var(--line)}.legal-detail-content h2{margin:6px 0 0}.legal-detail-copy{max-width:960px;line-height:1.9;overflow-wrap:anywhere;white-space:pre-wrap}.legal-detail-secondary summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.legal-detail-secondary summary>span:first-child{display:grid;gap:6px}.legal-detail-secondary[open] summary{padding-bottom:16px;border-bottom:1px solid var(--line)}.legal-detail-secondary[open] .legal-detail-copy{padding-top:18px}@media(max-width:900px){.legal-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.legal-detail-actions{display:grid;width:100%;grid-template-columns:1fr}.legal-detail-actions .btn{justify-content:center;width:100%}.legal-detail-summary{grid-template-columns:1fr}.legal-editor-alert{position:static}.legal-detail-copy{font-size:15px;line-height:1.8}}
.auth-consent{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px!important;align-items:start;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7faf8}.auth-consent input{width:auto!important;margin-top:3px}.auth-consent a{text-decoration:underline;font-weight:800}
/* Phase 38 guest-first submission wizard */
.submission-wizard-hero,.submission-panel{max-width:1120px;margin:28px auto 0;padding:28px;border:1px solid #dfe8e3;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(16,58,39,.06)}
.submission-wizard-flash{width:calc(100% - 24px);max-width:1120px;margin:0 auto 14px}
.submission-wizard-hero{display:flex;justify-content:space-between;align-items:center}.submission-wizard-hero h1{margin:8px 0 10px}.submission-wizard-hero p{margin:0;color:#5f6f68}
.submission-wizard-layout{max-width:1120px;margin:18px auto 48px}.submission-stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.submission-stepper .submission-step{display:flex;gap:9px;align-items:center;min-width:0;padding:12px;border:1px solid #dfe8e3;border-radius:12px;background:#fff;color:#607069;text-decoration:none}.submission-stepper .submission-step>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#edf3f0;font-weight:800}.submission-stepper .submission-step strong{font-size:12px;line-height:1.3}.submission-stepper .submission-step.active{border-color:#189c54;box-shadow:0 0 0 2px rgba(24,156,84,.12)}.submission-stepper .submission-step.active>span,.submission-stepper .submission-step.done>span{background:#189c54;color:#fff}.submission-stepper .submission-step.locked{cursor:not-allowed;opacity:.58;background:#f5f7f6}.submission-form footer>form{margin:0}
.submission-form header{margin-bottom:24px}.submission-form header>span{color:#16854a;font-weight:800}.submission-form header h2{margin:7px 0}.submission-form header p{margin:0;color:#63726b}.submission-form h3{margin:26px 0 12px}.submission-form>label{display:grid;gap:7px;margin-top:16px}.submission-grid{display:grid;gap:16px;margin-top:16px}.submission-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.submission-grid label,.submission-choice-grid label,.submission-offers label{display:grid;gap:7px;min-width:0}.submission-form input,.submission-form select,.submission-form textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #ccd8d2;border-radius:9px;background:#fff;font:inherit}.submission-form footer{display:flex;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid #e5ece8}
.submission-upload{display:flex;gap:12px;align-items:center;padding:18px;border:1px dashed #9dbdaf;border-radius:12px;background:#f8fbf9}.submission-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.submission-image-grid article{overflow:hidden;border:1px solid #dce7e1;border-radius:12px;background:#fff}.submission-image-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.submission-image-grid form{padding:8px}
.submission-image-workspace header small{display:block;margin-top:9px;color:#52665b}.submission-batch-upload{display:grid;align-items:stretch}.submission-drop-zone{display:grid;place-items:center;gap:6px;min-height:180px;padding:24px;border:2px dashed #83b99a;border-radius:14px;background:#f7fcf9;text-align:center;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.submission-drop-zone.is-dragover{border-color:#16854a;background:#eaf8ef;transform:translateY(-2px)}.submission-drop-zone input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0;pointer-events:none}.submission-drop-zone strong{font-size:1.08rem;color:#194e32}.submission-drop-zone small{color:#617168}.submission-drop-zone em{font-style:normal;font-weight:800;color:#16854a}.submission-drop-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#def4e6;color:#16854a;font-size:28px}.submission-selected-images{padding-top:4px}.submission-selected-images h3{margin:8px 0 10px}.submission-selected-images>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.submission-selected-card{position:relative;overflow:hidden;border:1px solid #d8e5dd;border-radius:11px;background:#fff}.submission-selected-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.submission-selected-card span{display:block;overflow:hidden;padding:7px 9px;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.submission-selected-card button,.submission-image-delete button{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:rgba(22,35,27,.88);color:#fff;font-size:20px;line-height:1;cursor:pointer}.submission-batch-upload>[data-upload-selected]{justify-self:end}.submission-image-card{position:relative;cursor:grab;transition:border-color .18s,box-shadow .18s,opacity .18s,transform .18s}.submission-image-card:active{cursor:grabbing}.submission-image-card.is-dragging{opacity:.5;transform:scale(.98)}.submission-image-card.is-cover{border-color:#1a9d55;box-shadow:0 0 0 2px rgba(26,157,85,.16)}.submission-image-order,.submission-image-drag{position:absolute;top:8px;z-index:2;border-radius:999px;background:rgba(17,58,37,.9);color:#fff;font-size:.75rem;font-weight:800}.submission-image-order{left:8px;padding:5px 9px}.submission-image-drag{right:46px;padding:5px 8px;font-size:16px}.submission-image-delete{position:absolute;inset:0 0 auto auto;padding:0!important}.submission-image-delete button{top:8px;right:8px}.submission-image-mobile-order{display:flex;justify-content:center;gap:8px;padding:8px}.submission-image-mobile-order button{width:38px;height:30px;border:1px solid #cbdad1;border-radius:8px;background:#fff;color:#245d3c;cursor:pointer}.submission-image-status{min-height:1.4em;margin:12px 0 0;color:#16854a;font-weight:800}.submission-image-status.is-error{color:#b42318}
.submission-choice-grid,.submission-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.submission-choice-grid>label,.submission-offers>label{padding:16px;border:1px solid #d7e3dd;border-radius:12px;background:#fbfdfc}.submission-choice-grid input[type=checkbox],.submission-choice-grid input[type=radio],.submission-offers input[type=radio]{width:auto}.submission-choice-grid small,.submission-offers small{color:#66766f}.submission-offers{margin-top:22px}.submission-auth-gate,.final-confirm-note,.confirmed-account{padding:20px;border:1px solid #d6e5dd;border-radius:14px;background:#f7fbf9}.submission-auth-gate>div,.submission-success-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.confirmed-account{display:grid;gap:5px;margin-bottom:18px}.confirmed-account strong{font-size:20px}.final-confirm-note{margin-top:20px}.submission-success{text-align:center}.submission-success-actions{justify-content:center}
@media (max-width:900px){.submission-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}.submission-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.submission-selected-images>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.submission-wizard-hero,.submission-panel{margin-top:14px;padding:18px;border-radius:14px}.submission-wizard-layout{padding:0 12px}.submission-stepper{display:flex;overflow-x:auto;padding-bottom:4px}.submission-stepper .submission-step{flex:0 0 176px}.submission-grid.two,.submission-grid.three,.submission-choice-grid,.submission-offers{grid-template-columns:1fr}.submission-image-grid,.submission-selected-images>div{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-upload,.submission-form footer{align-items:stretch;flex-direction:column}.submission-form footer>form,.submission-batch-upload>[data-upload-selected],.submission-form footer .btn{width:100%;text-align:center}.submission-drop-zone{min-height:150px;padding:18px 12px}.submission-image-drag{display:none}}

/* Phase 39 Blog and knowledge sharing */
.blog-hero{max-width:1180px;margin:36px auto 24px;padding:34px;border:1px solid #dfe8e2;border-radius:22px;background:linear-gradient(135deg,#f4fbf6,#fff9e8);display:flex;align-items:center;justify-content:space-between;gap:24px}.blog-hero h1{margin:6px 0 8px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08}.blog-hero p{max-width:720px;margin:0;color:#53665a}.blog-card-grid{max-width:1180px;margin:0 auto 50px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.blog-card,.blog-empty{border:1px solid #dfe8e2;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 32px rgba(20,58,35,.06)}.blog-card-cover{display:block;aspect-ratio:16/9;background:#edf3ef}.blog-card-cover img{width:100%;height:100%;object-fit:cover}.blog-card>div{padding:20px}.blog-card h2{font-size:1.3rem;line-height:1.35;margin:10px 0}.blog-card h2 a{color:#153d29;text-decoration:none}.blog-card p{color:#647269;min-height:3.4em}.blog-card footer{display:flex;justify-content:space-between;gap:12px;color:#7a887f;font-size:.88rem}.blog-scope{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf7ee;color:#237044;font-size:.78rem;font-weight:800}.blog-empty{max-width:1180px;margin:0 auto 50px;padding:48px;text-align:center}.blog-article{max-width:920px;margin:36px auto 60px;background:#fff;border:1px solid #dfe8e2;border-radius:24px;padding:clamp(22px,5vw,56px);box-shadow:0 18px 48px rgba(20,58,35,.07)}.blog-article h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1.1}.blog-article>header>div{display:flex;gap:16px;color:#718078}.blog-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.blog-gallery img{width:100%;height:220px;object-fit:cover;border-radius:14px}.blog-gallery.count-1{grid-template-columns:1fr}.blog-gallery.count-1 img{height:auto;max-height:520px}.blog-rich-content{font-size:1.08rem;line-height:1.85;color:#26372e}.blog-rich-content blockquote{border-left:4px solid #f3b51b;padding:14px 20px;background:#fff9e6}.blog-sale-selection{margin-top:34px;padding-top:24px;border-top:1px solid #e1e9e4}.blog-manage-list{display:grid;gap:12px}.blog-manage-list>article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border:1px solid #dfe8e2;border-radius:15px;background:#fff}.blog-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf1ef;font-size:.76rem;font-weight:800}.status-badge.published{background:#e4f7ea;color:#18713a}.status-badge.draft{background:#fff4cf;color:#7b5c00}.blog-editor-form{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.blog-editor-main,.blog-editor-sidebar{background:#fff;border:1px solid #dfe8e2;border-radius:18px;padding:22px;display:grid;gap:18px}.blog-editor-sidebar{position:sticky;top:90px}.blog-editor-form label>span,.blog-editor-field>span{display:block;font-weight:800;margin-bottom:7px}.blog-editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:9px;border:1px solid #ccd9d0;border-bottom:0;border-radius:12px 12px 0 0;background:#f5f8f6}.blog-editor-toolbar button{border:1px solid #ced9d2;background:#fff;border-radius:7px;padding:7px 10px}.blog-editor-canvas{min-height:360px;padding:18px;border:1px solid #ccd9d0;border-radius:0 0 12px 12px;line-height:1.75;outline:none}.blog-edit-images{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.blog-edit-images img{width:100%;height:130px;object-fit:cover;border-radius:10px}.blog-agreement{padding:15px;border-radius:12px;background:#f7f9f7;border:1px solid #dfe8e2}.blog-agreement>div{max-height:170px;overflow:auto;white-space:pre-line}.blog-publish-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.blog-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.blog-settings-grid h2,.blog-settings-grid button{grid-column:1/-1}.blog-agreement-admin,.blog-agreement-list,.blog-policy-list{display:grid;gap:10px}.blog-agreement-list>article,.blog-policy-list>form{border:1px solid #dfe8e2;border-radius:14px;padding:15px;background:#fff}.blog-agreement-list>article{display:flex;justify-content:space-between;gap:20px}.blog-policy-list>form{display:grid;grid-template-columns:1.4fr repeat(5,1fr) 1.4fr auto;gap:10px;align-items:end}.blog-policy-list header{display:grid}.sale-page-content-menu{display:flex;gap:8px;justify-content:center;margin:18px auto}.sale-page-content-menu a{padding:9px 16px;border-radius:999px;background:#fff;border:1px solid #d8e3dc;color:#20663e;text-decoration:none;font-weight:800}.sale-page-blog-section{max-width:1180px;margin:24px auto;padding:24px;border-radius:18px;background:#fff}.sale-page-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sale-page-blog-grid>a{display:block;padding:18px;border:1px solid #dfe8e2;border-radius:14px;text-decoration:none;color:#21382a;background:#fbfdfb}.sale-page-blog-grid h3{margin:7px 0}.sale-page-blog-grid span{font-size:.75rem;color:#24824b;font-weight:800}
@media(max-width:980px){.blog-card-grid,.sale-page-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-editor-form{grid-template-columns:1fr}.blog-editor-sidebar{position:static}.blog-policy-list>form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.blog-hero{margin:18px 12px;align-items:flex-start;flex-direction:column;padding:24px}.blog-card-grid{grid-template-columns:1fr;margin:0 12px 36px}.blog-article{margin:18px 10px 40px;padding:22px}.blog-gallery,.blog-edit-images,.sale-page-blog-grid,.blog-settings-grid{grid-template-columns:1fr}.blog-gallery img{height:auto}.blog-manage-list>article,.blog-agreement-list>article{align-items:flex-start;flex-direction:column}.blog-editor-main,.blog-editor-sidebar{padding:15px}.blog-policy-list>form,.blog-publish-actions{grid-template-columns:1fr}}

/* Phase 39.2: ordered Blog guide for new members */
.member-guide-shell{max-width:980px;margin:0 auto;display:grid;gap:18px}.member-guide-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.member-guide-header h1{margin:.3rem 0}.member-guide-header p{margin:0;color:#66756d}.member-guide-progress{height:8px;border-radius:999px;background:#e7efe9;overflow:hidden}.member-guide-progress span{display:block;height:100%;background:linear-gradient(90deg,#159447,#f5b400);border-radius:inherit}.member-guide-content{background:#fff;border:1px solid #dfe9e3;border-radius:16px;padding:clamp(20px,4vw,42px);min-height:220px}.member-guide-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.member-guide-actions>div:last-child{display:flex;justify-content:flex-end}.member-guide-actions form{margin:0}.new-member-guide-list{display:grid;gap:8px;margin:18px 0}.new-member-guide-list>header,.new-member-guide-row{display:grid;grid-template-columns:70px 110px minmax(240px,1fr) 120px;gap:12px;align-items:center}.new-member-guide-list>header{font-size:.8rem;font-weight:700;color:#66756d;padding:0 12px}.new-member-guide-row{border:1px solid #dfe9e3;border-radius:12px;padding:12px;background:#fff}.new-member-guide-row input[type=number]{min-width:0;width:100%}.new-member-guide-row span{min-width:0}.new-member-guide-row strong,.new-member-guide-row small{display:block;overflow-wrap:anywhere}
@media(max-width:760px){.member-guide-header{align-items:flex-start}.member-guide-actions{grid-template-columns:1fr 1fr}.member-guide-actions>span{display:none}.new-member-guide-list>header{display:none}.new-member-guide-row{grid-template-columns:44px 90px minmax(0,1fr)}.new-member-guide-row>.blog-scope{grid-column:2/-1;justify-self:start}.member-guide-content{padding:20px}}
@media(max-width:420px){.member-guide-header{flex-direction:column}.member-guide-header form{align-self:flex-end;margin-top:-52px}.member-guide-actions{display:flex;justify-content:space-between;flex-wrap:wrap}.new-member-guide-row{grid-template-columns:36px minmax(0,1fr)}.new-member-guide-row input[type=number]{grid-column:2}.new-member-guide-row>span{grid-column:2}.new-member-guide-row>.blog-scope{grid-column:2}}
.payment-wizard-hero{align-items:center}.payment-wizard-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 18px}.payment-wizard-steps div{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:12px 8px;border:1px solid #dce5e0;border-radius:14px;background:#fff;color:#68736d}.payment-wizard-steps span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#eef3f0;font-weight:800}.payment-wizard-steps strong{font-size:.88rem;white-space:nowrap}.payment-wizard-steps .current{border-color:#159447;background:#f1fbf5;color:#075b2b}.payment-wizard-steps .current span,.payment-wizard-steps .done span{background:#159447;color:#fff}.payment-wizard-card{display:grid;gap:22px;padding:24px;border:1px solid #dce5e0;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(17,56,36,.06)}.payment-wizard-card section{display:grid;gap:12px}.payment-wizard-card h2{margin:0}.payment-wizard-card p{margin:0;color:#607069}.payment-current-row,.payment-option-card{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #dce5e0;border-radius:14px;background:#fbfdfc}.payment-current-row span,.payment-option-card span{display:grid;gap:4px;min-width:0;flex:1}.payment-current-row small,.payment-option-card small{color:#68736d}.payment-current-row em,.payment-option-card em{font-style:normal;font-weight:750;color:#075b2b;text-align:right}.payment-option-card{cursor:pointer}.payment-option-card:has(input:checked){border-color:#159447;background:#f1fbf5;box-shadow:0 0 0 2px rgba(21,148,71,.09)}.payment-option-card.disabled{opacity:.6;cursor:not-allowed}.payment-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-month-panel{display:grid!important;grid-template-columns:minmax(0,1fr) 180px;gap:14px!important;align-items:end;padding:18px;border-radius:16px;background:#f5f8f6}.payment-month-panel label{display:grid;gap:7px}.payment-month-panel select{width:100%}.payment-month-quick{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}.payment-month-quick label{display:flex;grid-auto-flow:column;align-items:center;gap:5px;padding:8px 12px;border:1px solid #d5dfda;border-radius:999px;background:#fff;cursor:pointer}.payment-wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:4px}.payment-summary-list,.payment-result-list{display:grid;gap:9px}.payment-summary-list>div,.payment-result-list>article{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid #e0e7e3;border-radius:12px}.payment-summary-list span,.payment-result-list span{display:grid;gap:3px}.payment-summary-list small,.payment-result-list small{color:#68736d}.payment-summary-list em,.payment-result-list em{font-style:normal;font-weight:800}.payment-summary-total{display:flex;align-items:center;justify-content:space-between;padding:18px;border-radius:14px;background:#0a6531;color:#fff}.payment-summary-total strong{font-size:1.45rem}.payment-terms{display:flex;align-items:flex-start;gap:9px;padding:14px;border:1px solid #dce5e0;border-radius:12px}.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payment-process-summary,.payment-delivery-status{display:flex;flex-wrap:wrap;gap:12px}.payment-process-summary span,.payment-delivery-status span{padding:11px 14px;border-radius:12px;background:#f2f6f4}.payment-bank-info{padding:16px;border-left:4px solid #159447;border-radius:10px;background:#f1fbf5}.payment-result-list article.ok{border-color:#b8dfc8;background:#f3fbf6}.payment-result-list article.problem{border-color:#efc4c4;background:#fff6f6}.payment-result-slip{margin-top:-4px;margin-bottom:14px;padding:16px;border:1px dashed #b9c9c0;border-radius:12px;background:#fbfdfc}.payment-empty{grid-column:1/-1}.payment-delivery-status strong{color:#075b2b}
@media(max-width:760px){.payment-wizard-steps{grid-template-columns:repeat(5,42px);justify-content:space-between;overflow-x:auto}.payment-wizard-steps div{padding:8px 6px}.payment-wizard-steps strong{display:none}.payment-option-grid,.payment-method-grid{grid-template-columns:1fr}.payment-month-panel{grid-template-columns:1fr!important}.payment-current-row,.payment-option-card{align-items:flex-start}.payment-current-row em,.payment-option-card em{max-width:34%;overflow-wrap:anywhere}.payment-wizard-actions>*{flex:1;text-align:center}.payment-summary-list>div,.payment-result-list>article{align-items:flex-start}.payment-result-slip{grid-template-columns:1fr}}
@media(max-width:420px){.payment-wizard-card{padding:16px}.payment-wizard-steps{gap:4px}.payment-process-summary span,.payment-delivery-status span{width:100%}.payment-wizard-actions{display:grid;grid-template-columns:1fr}.payment-wizard-actions span:empty{display:none}.payment-current-row,.payment-option-card{flex-wrap:wrap}.payment-current-row em,.payment-option-card em{max-width:none;width:100%;padding-left:28px;text-align:left}}

/* Phase 41: hosted payment providers */
.payment-method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.payment-beam-checkout{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #a9ddbf;border-radius:16px;background:linear-gradient(135deg,#eefaf3,#fffaf0)}
.payment-beam-checkout p{margin:4px 0 0}.payment-beam-checkout .btn{flex:0 0 auto}
.payment-provider-page{display:grid;gap:20px}.payment-provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.payment-provider-card{display:flex;flex-direction:column;gap:14px;min-width:0;padding:22px}.payment-provider-card.featured{border-color:#9ed9b7;background:linear-gradient(145deg,#f4fcf7,#fff)}
.payment-provider-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-provider-card h2,.payment-provider-card p{margin:0}.payment-provider-card p{color:#627169;flex:1}
.payment-provider-card dl{display:grid;gap:8px;margin:0}.payment-provider-card dl div{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid #e3eae6}.payment-provider-card dt{color:#68756f}.payment-provider-card dd{margin:0;font-weight:750}
.provider-kicker{font-size:.76rem;font-weight:850;letter-spacing:.08em;color:#087b3a}.beam-readiness{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:22px;padding:22px}.beam-readiness h2,.beam-readiness p{margin:4px 0 0}.beam-readiness ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.beam-readiness li{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;background:#f4f6f5}.beam-readiness li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:900}.beam-readiness li.ok span{background:#dff5e8;color:#08783a}.beam-readiness li.missing span{background:#fff1d8;color:#9a6100}
.beam-provider-form{display:grid;gap:20px;padding:24px}.beam-provider-form fieldset{display:grid;gap:16px;margin:0;padding:20px;border:1px solid #dce5e0;border-radius:16px}.beam-provider-form legend{display:flex;align-items:center;gap:9px;padding:0 8px;font-size:1.05rem;font-weight:800}.beam-provider-form legend span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#148e46;color:#fff}.provider-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.provider-form-grid label{display:grid;align-content:start;gap:7px}.provider-form-grid label.wide{grid-column:1/-1}.provider-form-grid input,.provider-form-grid select{width:100%}.provider-form-grid small{color:#68756f}.provider-toggle{grid-template-columns:auto 1fr!important;align-items:start!important;padding:14px;border:1px solid #dce5e0;border-radius:12px;background:#f9fbfa}.provider-toggle input{width:auto;margin-top:4px}.provider-toggle span{display:grid;gap:3px}.provider-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.provider-method-grid label{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #dce5e0;border-radius:12px;background:#fbfdfc}
@media(max-width:900px){.payment-method-grid,.payment-provider-grid{grid-template-columns:1fr}.beam-readiness{grid-template-columns:1fr}.provider-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.payment-beam-checkout{align-items:stretch;flex-direction:column}.provider-form-grid,.provider-method-grid,.beam-readiness ul{grid-template-columns:1fr}.provider-form-grid label.wide{grid-column:auto}.beam-provider-form{padding:16px}.beam-provider-form fieldset{padding:15px}}

/* Payment wizard step rail: keep it inside the page gutter and allow deliberate overflow. */
.payment-wizard-steps {
    width: auto;
    max-width: calc(100% - 48px);
    margin: 0 24px 18px;
    padding-bottom: 5px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: #9fcbb0 #eef4f0;
}

.payment-wizard-steps::-webkit-scrollbar {
    height: 7px;
}

.payment-wizard-steps::-webkit-scrollbar-track {
    border-radius: 999px;
    background: #eef4f0;
}

.payment-wizard-steps::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #9fcbb0;
}

@media (max-width: 760px) {
    .payment-wizard-steps {
        display: flex;
        max-width: calc(100% - 32px);
        margin-inline: 16px;
        justify-content: flex-start;
        gap: 8px;
        padding-bottom: 8px;
        scroll-snap-type: inline proximity;
    }

    .payment-wizard-steps div {
        flex: 0 0 148px;
        min-width: 148px;
        padding: 9px 8px;
        scroll-snap-align: start;
    }

    .payment-wizard-steps strong {
        display: block;
        font-size: .82rem;
        white-space: nowrap;
    }
}

@media (max-width: 420px) {
    .payment-wizard-steps {
        max-width: calc(100% - 24px);
        margin-inline: 12px;
    }
}

.payment-main-package-card small {
    color: #14663b;
    font-weight: 750;
}

/* Six-step payment wizard and immutable prepaid-period summary. */
.payment-wizard-steps{grid-template-columns:repeat(6,minmax(0,1fr))}

.payment-terms-link{color:#075b2b;font-weight:850;text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:#159447}
.payment-terms-link:hover{color:#0b7a3a;text-decoration-thickness:3px}
.payment-terms-link:visited{color:#075b2b}
.payment-terms-link:focus-visible{border-radius:4px;outline:3px solid rgba(21,148,71,.28);outline-offset:3px}
.payment-commitment-panel{padding:18px;border:1px solid #efd48f;border-radius:16px;background:#fffbef}
.payment-commitment-list{display:grid;gap:8px}
.payment-commitment-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid #eadfbe;border-radius:12px;background:rgba(255,255,255,.82)}
.payment-commitment-list span{display:grid;gap:3px}.payment-commitment-list small{color:#68736d}.payment-commitment-list em{font-style:normal;font-weight:800;color:#8a6200;white-space:nowrap}
@media(max-width:620px){.payment-commitment-list>div{display:grid}.payment-commitment-list em{white-space:normal}}

.payment-addon-feedback {
    min-height: 42px;
    padding: 10px 13px;
    border: 1px solid #d8e7de;
    border-radius: 11px;
    background: #f5faf7;
    color: #315f47;
    font-size: .92rem;
    font-weight: 700;
}

.payment-addon-card[hidden],
.payment-empty[hidden] {
    display: none;
}

/* Post-Phase 39.4: Notification and Message Box separation */
.notify-badge{display:grid;place-items:center;width:auto;min-width:18px;height:18px;padding:0 4px;top:-7px;right:-8px;color:#fff;font-size:10px;font-weight:850;line-height:1;border-radius:999px}.notify-badge[hidden]{display:none}
body.notification-modal-lock{overflow:hidden}.notification-modal{position:fixed;inset:0;z-index:1400;display:grid;place-items:start end;padding:74px 22px 22px}.notification-modal[hidden]{display:none}.notification-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(16,35,25,.36);cursor:default}.notification-modal-panel{position:relative;width:min(460px,calc(100vw - 44px));max-height:min(680px,calc(100vh - 96px));overflow:hidden;border:1px solid #d9e4de;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(9,38,22,.24)}.notification-modal-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:19px 20px;border-bottom:1px solid #e3ebe6}.notification-modal-panel h2{margin:3px 0 0}.notification-modal-header-actions{display:flex;align-items:center;gap:9px}.notification-modal-header-actions>a{color:#0b7138;font-size:.88rem;font-weight:800;text-decoration:none;white-space:nowrap}.notification-modal-header-actions>button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #d8e3dd;border-radius:50%;background:#fff;font-size:23px;cursor:pointer}.notification-modal-list{max-height:520px;overflow:auto}.notification-modal-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:13px 18px;border-bottom:1px solid #edf1ef;background:#fff}.notification-modal-item:hover{background:#f7fbf8}.notification-modal-item form{margin:0}.notification-modal-item label{display:grid;place-items:center;width:28px;height:34px;cursor:pointer}.notification-modal-item input[type=checkbox]{width:17px;height:17px;accent-color:#16894a}.notification-modal-item .notification-modal-open button{display:grid;width:100%;gap:3px;padding:0;border:0;background:transparent;color:#21352a;text-align:left;cursor:pointer}.notification-modal-item .notification-modal-open strong{line-height:1.35}.notification-modal-item .notification-modal-open span{overflow:hidden;color:#5f7067;font-size:.87rem;white-space:nowrap;text-overflow:ellipsis}.notification-modal-item .notification-modal-open small{color:#87928c}.notification-modal-empty{margin:0;padding:34px 20px;color:#64736b;text-align:center}.communication-tabs{display:flex;gap:8px;margin:-7px 0 18px;padding:6px;border:1px solid #dce6e0;border-radius:13px;background:#fff}.communication-tabs a{padding:9px 15px;border-radius:9px;color:#52645a;font-weight:800;text-decoration:none}.communication-tabs a.active{background:#0b7138;color:#fff}.notification-page-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#617169}.notification-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px 16px;border:1px solid #dfe7e2;border-radius:13px;background:#fff}.notification-pagination-pages{display:flex;gap:5px;flex-wrap:wrap}.notification-pagination a,.notification-pagination span.page{display:grid;place-items:center;min-width:36px;height:36px;padding:0 9px;border:1px solid #d8e2dc;border-radius:9px;color:#315441;text-decoration:none}.notification-pagination span.page{border-color:#16894a;background:#16894a;color:#fff;font-weight:800}
@media(max-width:640px){.notification-modal{place-items:end stretch;padding:0}.notification-modal-panel{width:100%;max-height:82vh;border-radius:20px 20px 0 0}.notification-modal-panel>header{padding:16px}.notification-modal-header-actions>a{font-size:.8rem}.notification-modal-item{padding:12px 14px}.communication-tabs{overflow-x:auto}.notification-pagination,.notification-page-summary{align-items:flex-start;flex-direction:column}.notification-pagination{padding:12px}.notification-pagination-pages{width:100%}}

/* Keep the popup header fixed while the notification list owns viewport scrolling. */
.notification-modal-panel {
    display: flex;
    flex-direction: column;
    height: min(680px, calc(100vh - 96px));
    height: min(680px, calc(100dvh - 96px));
}

.notification-modal-panel > header {
    flex: 0 0 auto;
}

.notification-modal-list {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 640px) {
    .notification-modal-panel {
        height: 82vh;
        height: 82dvh;
    }
}

/* Post-submission guide prompt for newly registered members. */
body.new-member-guide-prompt-open{overflow:hidden}.new-member-guide-prompt{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:24px}.new-member-guide-prompt[hidden]{display:none}.new-member-guide-prompt-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(8,29,18,.58);cursor:pointer}.new-member-guide-prompt-panel{position:relative;width:min(560px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding:clamp(24px,5vw,38px);border:1px solid #d8e5de;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(4,30,16,.3)}.new-member-guide-prompt-panel .eyebrow{color:#158044;font-size:.82rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.new-member-guide-prompt-panel h2{margin:8px 42px 10px 0;font-size:clamp(1.45rem,4vw,2rem);line-height:1.25}.new-member-guide-prompt-panel p{margin:0;color:#5a6d62;line-height:1.75}.new-member-guide-prompt-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #d8e4dd;border-radius:50%;background:#fff;color:#33483c;font-size:26px;line-height:1;cursor:pointer}.new-member-guide-prompt-close:focus-visible,.new-member-guide-prompt-backdrop:focus-visible{outline:3px solid rgba(29,154,82,.35);outline-offset:2px}.new-member-guide-prompt-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.new-member-guide-prompt-actions form{margin:0}.new-member-guide-prompt-actions .btn{min-height:44px;justify-content:center}
@media(max-width:640px){.new-member-guide-prompt{place-items:end stretch;padding:0}.new-member-guide-prompt-panel{width:100%;max-height:86vh;padding:28px 18px 20px;border-radius:22px 22px 0 0}.new-member-guide-prompt-actions{display:grid;grid-template-columns:1fr}.new-member-guide-prompt-actions form,.new-member-guide-prompt-actions .btn{width:100%}.new-member-guide-prompt-actions form:first-child{order:1}.new-member-guide-prompt-actions form:last-child{order:2}}

/* Member Property Catalog refresh */
.member-properties-page{
    --property-soft:#f3faf5;
    --property-soft-strong:#e6f6eb;
    --property-ink:#123b26;
    --property-muted:#63736a;
}
.member-properties-page .properties-hero{
    margin:18px 24px 20px;
    padding:26px 28px;
    overflow:hidden;
    border:1px solid #d7e8dc;
    border-radius:24px;
    background:
        radial-gradient(circle at 94% 12%,rgba(246,187,31,.22),transparent 27%),
        linear-gradient(135deg,#f1fbf4 0%,#ffffff 62%,#fff9e8 100%);
    box-shadow:0 16px 38px rgba(18,64,37,.08);
}
.member-properties-page .properties-hero h1{
    color:var(--property-ink);
    font-size:clamp(28px,3vw,38px);
    letter-spacing:-.02em;
}
.member-properties-page .properties-hero p{
    max-width:640px;
    line-height:1.65;
}
.properties-hero-side{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:16px;
}
.properties-hero-stats{
    display:flex;
    align-items:stretch;
    gap:8px;
}
.properties-hero-stats>span{
    display:grid;
    min-width:86px;
    gap:2px;
    padding:9px 12px;
    border:1px solid rgba(178,214,188,.8);
    border-radius:14px;
    background:rgba(255,255,255,.78);
    color:var(--property-muted);
    font-size:12px;
    text-align:center;
    backdrop-filter:blur(6px);
}
.properties-hero-stats strong{
    color:#08733a;
    font-size:21px;
    line-height:1;
}
.properties-add-button{
    min-height:46px;
    padding-inline:18px;
    gap:7px;
    border-radius:14px;
    box-shadow:0 9px 20px rgba(14,126,62,.18);
    white-space:nowrap;
}
.properties-add-button span{font-size:20px;line-height:1}
.member-properties-page .property-groups-workspace{
    scroll-margin-top:88px;
    width:calc(100% - 48px);
    max-width:1540px;
    margin:0 auto 20px;
    padding:24px;
    overflow:hidden;
    border:1px solid #d9e8de;
    border-radius:22px;
    background:
        radial-gradient(circle at 100% 0,rgba(246,187,31,.13),transparent 30%),
        linear-gradient(145deg,#fff 0%,#fbfefc 65%,#f4fbf6 100%);
    box-shadow:0 14px 34px rgba(18,64,37,.07);
}
.property-groups-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}
.property-groups-heading{display:flex;align-items:flex-start;gap:15px;min-width:0}
.property-groups-heading h2{
    margin:4px 0 5px;
    color:var(--property-ink);
    font-size:clamp(22px,2.3vw,30px);
    line-height:1.25;
}
.property-groups-heading p{max-width:760px;margin:0;color:var(--property-muted);line-height:1.65}
.property-groups-icon{
    display:grid;
    flex:0 0 48px;
    place-items:center;
    width:48px;
    height:48px;
    border:1px solid #cfe7d7;
    border-radius:15px;
    background:linear-gradient(145deg,#eaf8ee,#fff);
    color:#168247;
    box-shadow:0 8px 18px rgba(20,115,59,.1);
}
.property-groups-icon svg,.property-group-card-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.property-groups-total{
    display:grid;
    flex:0 0 auto;
    min-width:82px;
    gap:2px;
    padding:9px 14px;
    border:1px solid #d3e7d9;
    border-radius:14px;
    background:rgba(255,255,255,.86);
    color:#64776c;
    font-size:12px;
    text-align:center;
}
.property-groups-total strong{color:#08733a;font-size:22px;line-height:1}
.member-properties-page .property-group-create-card{
    display:grid;
    grid-template-columns:minmax(190px,.85fr) minmax(260px,1.35fr) auto;
    align-items:end;
    gap:12px;
    margin:0 0 20px;
    padding:16px;
    border:1px solid #dfeae3;
    border-radius:16px;
    background:rgba(245,250,247,.9);
}
.member-properties-page .property-group-create-card label{display:grid;gap:7px}
.member-properties-page .property-group-create-card .btn{min-height:44px;gap:6px;border-radius:12px;padding-inline:18px;white-space:nowrap}
.property-group-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.property-group-card{
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-width:0;
    padding:16px;
    overflow:hidden;
    border:1px solid #dce8e0;
    border-radius:16px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    box-shadow:0 8px 20px rgba(24,63,39,.055);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.property-group-card:hover{
    transform:translateY(-2px);
    border-color:#a9d4b6;
    box-shadow:0 14px 28px rgba(24,80,43,.1);
}
.property-group-card.active{
    border-color:#75c08c;
    background:linear-gradient(145deg,#f0fbf3,#fff);
    box-shadow:inset 4px 0 #159447,0 12px 28px rgba(21,116,59,.1);
}
.property-group-card-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:13px;
    background:#edf8f1;
    color:#168247;
}
.property-group-card-copy{display:grid;min-width:0;gap:3px}
.property-group-card-copy strong{overflow:hidden;color:#183d29;font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.property-group-card-copy small{overflow:hidden;color:#6d7c73;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.property-group-card-count{
    display:grid;
    min-width:50px;
    gap:1px;
    padding:6px 8px;
    border-radius:10px;
    background:#f4f8f5;
    color:#77847c;
    font-size:10px;
    text-align:center;
}
.property-group-card-count strong{color:#127540;font-size:18px;line-height:1}
.property-group-card-action{
    grid-column:2/-1;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    padding-top:8px;
    border-top:1px solid #edf1ee;
    color:#187944;
    font-size:12px;
    font-weight:800;
}
.property-groups-empty{
    display:grid;
    justify-items:center;
    gap:5px;
    padding:24px;
    border:1px dashed #cbded1;
    border-radius:16px;
    background:#fafdfb;
    color:#6e7d74;
    text-align:center;
}
.property-groups-empty strong{color:#254c36;font-size:16px}
.member-properties-page .property-admin-grid{
    grid-template-columns:270px minmax(0,1fr);
    gap:20px;
    max-width:1540px;
    margin:0 auto;
}
.member-properties-page .property-admin-grid>.detail-panel{display:none}
.member-properties-page .filter-panel{
    position:sticky;
    top:86px;
    padding:18px;
    border-color:#d9e7de;
    border-radius:20px;
    background:linear-gradient(180deg,#fff,#fbfdfb);
    box-shadow:0 12px 30px rgba(21,59,36,.07);
}
.member-properties-page .team-scope-switch{
    padding:4px;
    border:1px solid #dfe9e3;
    border-radius:16px;
    background:#f5f8f6;
}
.member-properties-page .team-scope-switch a{
    border:0;
    border-radius:12px;
    padding:10px 8px;
}
.member-properties-page .team-scope-switch a.active{
    background:#fff;
    box-shadow:0 5px 14px rgba(20,65,38,.09);
}
.member-properties-page .property-filter-form{gap:12px}
.member-properties-page .property-filter-form label>span,
.member-properties-page .group-create-form label>span{
    color:#284c38;
    font-size:13px;
}
.member-properties-page .property-filter-form input,
.member-properties-page .property-filter-form select,
.member-properties-page .group-create-form input{
    min-height:44px;
    border-color:#d7e3dc;
    border-radius:12px;
    background:#fff;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.member-properties-page .property-filter-form input:focus,
.member-properties-page .property-filter-form select:focus,
.member-properties-page .group-create-form input:focus{
    border-color:#56ad74;
    outline:0;
    box-shadow:0 0 0 3px rgba(34,151,76,.11);
}
.member-properties-page .property-filter-form>.btn{min-height:43px;border-radius:12px}
.member-properties-page .property-view-tabs{gap:7px;margin-top:16px}
.member-properties-page .property-view-tabs a{
    min-height:42px;
    padding:8px 11px;
    border-radius:12px;
    background:#fff;
}
.member-properties-page .property-view-tabs a.active{
    border-color:#a9dbb8;
    background:linear-gradient(135deg,#effaf2,#e5f7ea);
    box-shadow:inset 3px 0 #159447;
}
.member-properties-page .quick-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:14px;
}
.member-properties-page .quick-summary div{
    display:grid;
    justify-items:center;
    gap:2px;
    padding:9px 5px;
    border:0;
    border-radius:11px;
    background:#f5f9f6;
}
.member-properties-page .quick-summary strong{order:-1;font-size:18px}
.member-properties-page .quick-summary span{font-size:11px;text-align:center}
.member-properties-page .group-create-form{margin-top:16px;padding-top:16px}
.member-properties-page .property-list{gap:14px}
.member-properties-page .bulk-action-bar{
    top:82px;
    padding:12px 14px;
    border-color:#d3e5d9;
    border-radius:16px;
    background:rgba(246,252,248,.96);
    box-shadow:0 10px 24px rgba(21,70,39,.08);
    backdrop-filter:blur(10px);
}
.member-properties-page .property-catalog-card{
    position:relative;
    grid-template-columns:156px minmax(0,1fr);
    gap:20px;
    padding:20px;
    border-color:#dbe7e0;
    border-radius:20px;
    background:linear-gradient(180deg,#fff,#fdfefd);
    box-shadow:0 12px 30px rgba(22,61,38,.07);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.member-properties-page .property-catalog-card:hover{
    transform:translateY(-2px);
    border-color:#b9d9c3;
    box-shadow:0 18px 40px rgba(22,61,38,.11);
}
.member-properties-page .property-catalog-card>.bulk-check{
    position:absolute;
    z-index:1;
    top:28px;
    left:28px;
    width:32px;
    height:32px;
    border-color:rgba(184,203,191,.95);
    background:rgba(255,255,255,.94);
    box-shadow:0 5px 14px rgba(15,45,27,.13);
}
.member-properties-page .property-catalog-card>.property-cover-thumb{
    width:156px;
    height:120px;
    border:1px solid #e0e9e3;
    border-radius:16px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
}
.member-properties-page .property-catalog-card>.property-main{
    gap:10px;
}
.member-properties-page .property-catalog-card .property-main h2{
    margin-top:1px;
    color:var(--property-ink);
    font-size:21px;
    line-height:1.28;
}
.member-properties-page .property-badges .status{
    min-height:25px;
    padding:3px 9px;
    font-size:12px;
}
.member-properties-page .property-meta-line{margin:0}
.member-properties-page .property-meta-line strong{font-size:17px}
.member-properties-page .public-url.compact{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:10px;
    margin:2px 0 0;
    padding:10px 12px;
    border:1px solid #e2ebe5;
    border-radius:12px;
    background:#f7faf8;
}
.member-properties-page .public-url.compact strong{
    overflow:hidden;
    color:#08733a;
    font-size:13px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.property-identifiers{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.property-identifiers span{
    padding:5px 8px;
    border:1px solid #e3ebe6;
    border-radius:8px;
    background:#fff;
    color:#758079;
    font-size:11px;
}
.property-identifiers strong{margin-left:3px;color:#3b5145}
.property-stat-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(82px,1fr)) minmax(170px,1.8fr);
    gap:7px;
}
.property-stat-strip>span{
    display:grid;
    gap:2px;
    padding:8px 10px;
    border-radius:10px;
    background:var(--property-soft);
    color:#6b7b71;
    font-size:11px;
}
.property-stat-strip strong{
    color:#155f35;
    font-size:14px;
    overflow-wrap:anywhere;
}
.property-lifecycle{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px 14px;
    padding:9px 11px;
    border-left:3px solid #e9b72d;
    border-radius:4px 10px 10px 4px;
    background:#fffaf0;
    color:#796a40;
    font-size:12px;
}
.property-lifecycle strong{color:#5a4b22}
.property-lifecycle .property-warning{color:#a33a2c}
.member-properties-page .property-catalog-card>.property-actions{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin-top:3px;
    padding-top:15px;
    border-top:1px solid #e7eee9;
}
.member-properties-page .property-catalog-card>.property-actions>.btn{
    width:auto;
    min-height:38px;
    border-radius:11px;
    padding-inline:15px;
}
.member-properties-page .property-action-primary{box-shadow:0 6px 14px rgba(14,126,62,.14)}
.member-properties-page .property-action-team{border-color:#b9dcc4;background:#f1faf4;color:#146d38}
.member-properties-page .property-catalog-card:not(.dashboard-row)>.property-actions>.property-action-menu{
    display:flex;
    flex:1;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
    width:auto;
}
.member-properties-page .property-catalog-card:not(.dashboard-row)>.property-actions>.property-action-menu form{width:auto}
.member-properties-page .property-catalog-card:not(.dashboard-row)>.property-actions>.property-action-menu .btn,
.member-properties-page .property-catalog-card:not(.dashboard-row)>.property-actions>.property-action-menu button{
    width:auto;
    min-height:36px;
    padding:6px 11px;
    border-radius:10px;
    background:#fff;
    font-size:12px;
}
.member-properties-page .property-catalog-card:not(.dashboard-row)>.property-actions>.property-action-menu .btn:hover,
.member-properties-page .property-catalog-card:not(.dashboard-row)>.property-actions>.property-action-menu button:hover{background:#f1f8f3;border-color:#abd2b7}

@media(max-width:1050px){
    .member-properties-page .properties-hero{align-items:flex-start;flex-direction:column}
    .properties-hero-side{width:100%;justify-content:space-between}
    .member-properties-page .property-admin-grid{grid-template-columns:240px minmax(0,1fr)}
    .property-stat-strip{grid-template-columns:repeat(3,minmax(76px,1fr))}
    .property-stat-strip .property-stat-wide{grid-column:1/-1}
    .property-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
    .member-properties-page .properties-hero{margin:12px 14px 16px;padding:22px}
    .member-properties-page .property-groups-workspace{scroll-margin-top:76px;width:calc(100% - 28px);margin-bottom:16px;padding:20px}
    .member-properties-page .property-group-create-card{grid-template-columns:1fr 1fr}
    .member-properties-page .property-group-create-card .btn{grid-column:1/-1;justify-content:center}
    .member-properties-page .property-admin-grid{grid-template-columns:1fr;padding:0 14px 28px}
    .member-properties-page .filter-panel{position:static;padding:16px;border:1px solid #d9e7de;background:#fff;box-shadow:0 10px 24px rgba(21,59,36,.06)}
    .member-properties-page .property-filter-form{grid-template-columns:minmax(0,1fr) minmax(160px,.7fr) auto;align-items:end}
    .member-properties-page .property-filter-form>input[type=hidden]{display:none}
    .member-properties-page .property-view-tabs{display:flex;overflow-x:auto}
    .member-properties-page .property-view-tabs a{flex:0 0 auto;min-width:120px}
    .member-properties-page .quick-summary{display:grid}
    .member-properties-page .group-create-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}
    .member-properties-page .group-create-form label{min-width:0}
    .member-properties-page .bulk-action-bar{position:static}
}
@media(max-width:640px){
    .member-properties-page .properties-hero{border-radius:18px}
    .property-groups-header{align-items:stretch;flex-direction:column;gap:14px}
    .property-groups-total{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0}
    .property-group-grid{grid-template-columns:1fr}
    .properties-hero-side{align-items:stretch;flex-direction:column}
    .properties-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
    .properties-hero-stats>span{min-width:0;padding-inline:7px}
    .properties-add-button{justify-content:center;width:100%}
    .member-properties-page .property-filter-form{grid-template-columns:1fr}
    .member-properties-page .group-create-form{grid-template-columns:1fr}
    .member-properties-page .property-catalog-card{
        grid-template-columns:1fr;
        gap:14px;
        padding:14px;
        border-radius:17px;
    }
    .member-properties-page .property-catalog-card:hover{transform:none}
    .member-properties-page .property-catalog-card>.bulk-check{top:22px;left:22px;margin:0}
    .member-properties-page .property-catalog-card>.property-cover-thumb{
        grid-column:1;
        width:100%;
        height:auto;
        aspect-ratio:16/9;
        border-radius:14px;
    }
    .member-properties-page .property-catalog-card>.property-main{grid-column:1}
    .member-properties-page .property-catalog-card .property-main h2{font-size:19px}
    .property-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
    .property-stat-strip .property-stat-wide{grid-column:1/-1}
    .member-properties-page .property-catalog-card>.property-actions{align-items:stretch;flex-direction:column}
    .member-properties-page .property-catalog-card>.property-actions>.btn{justify-content:center;width:100%}
    .member-properties-page .property-catalog-card:not(.dashboard-row)>.property-actions>.property-action-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
    .member-properties-page .property-catalog-card:not(.dashboard-row)>.property-actions>.property-action-menu form,
    .member-properties-page .property-catalog-card:not(.dashboard-row)>.property-actions>.property-action-menu .btn,
    .member-properties-page .property-catalog-card:not(.dashboard-row)>.property-actions>.property-action-menu button{width:100%}
    .member-properties-page .public-url.compact{grid-template-columns:1fr}
}
@media(max-width:400px){
    .member-properties-page .properties-hero{margin-inline:10px;padding:18px}
    .member-properties-page .property-groups-workspace{width:calc(100% - 20px);padding:16px;border-radius:18px}
    .property-groups-heading{gap:11px}
    .property-groups-icon{flex-basis:42px;width:42px;height:42px;border-radius:13px}
    .property-group-card{grid-template-columns:auto minmax(0,1fr);padding:14px}
    .property-group-card-count{grid-column:1;grid-row:2}
    .property-group-card-action{grid-column:2}
    .member-properties-page .property-admin-grid{padding-inline:10px}
    .property-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
    .property-stat-strip .property-stat-wide{grid-column:1/-1}
}

/* Member matching-usage workspace */
.matching-usage-page{
    width:min(1240px,calc(100% - 48px));
    margin:22px auto 34px;
}
.matching-usage-page .matching-usage-hero{
    margin:0 0 14px;
    padding:26px 28px;
    border:1px solid #dce9e1;
    border-radius:22px;
    background:
        radial-gradient(circle at 92% 8%,rgba(35,164,88,.13),transparent 34%),
        linear-gradient(135deg,#fff 0%,#f6fbf7 100%);
    box-shadow:0 14px 34px rgba(22,61,38,.07);
}
.matching-usage-page .matching-usage-hero h1{
    color:#102c1d;
    font-size:clamp(27px,3vw,38px);
    letter-spacing:-.02em;
}
.matching-usage-page .matching-usage-hero p{
    display:block;
    margin-top:8px;
    color:#5f7568;
}
.matching-usage-page .matching-usage-hero>.btn{
    min-height:42px;
    padding-inline:17px;
    border-color:#cfe0d5;
    background:#fff;
}
.matching-usage-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:14px;
}
.matching-usage-stat{
    position:relative;
    display:flex;
    min-width:0;
    min-height:112px;
    padding:18px 20px;
    overflow:hidden;
    flex-direction:column;
    justify-content:space-between;
    border:1px solid #dfe9e3;
    border-radius:18px;
    background:#fff;
    box-shadow:0 9px 24px rgba(22,61,38,.05);
}
.matching-usage-stat::after{
    position:absolute;
    right:-20px;
    bottom:-30px;
    width:82px;
    height:82px;
    border-radius:50%;
    background:rgba(36,163,87,.08);
    content:"";
}
.matching-usage-stat span{
    color:#60766a;
    font-size:13px;
    font-weight:800;
}
.matching-usage-stat strong{
    position:relative;
    z-index:1;
    color:#08753a;
    font-size:32px;
    line-height:1;
}
.matching-usage-stat.reserved strong{color:#9a6716}
.matching-usage-stat.remaining strong{color:#176da0}
.matching-usage-stat.quota strong{color:#513c99}
.matching-usage-stat.reserved::after{background:rgba(222,161,52,.09)}
.matching-usage-stat.remaining::after{background:rgba(39,137,190,.09)}
.matching-usage-stat.quota::after{background:rgba(104,75,180,.09)}
.matching-usage-page .matching-usage-history{
    margin:0;
    padding:22px;
    border-color:#dce8e0;
    border-radius:20px;
    box-shadow:0 12px 30px rgba(22,61,38,.055);
}
.matching-usage-history-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding-bottom:18px;
    border-bottom:1px solid #e5ede8;
}
.matching-usage-history-head h2{
    margin:0;
    color:#173727;
    font-size:21px;
}
.matching-usage-history-head .focus-tabs{justify-content:flex-end}
.matching-usage-history-head .focus-tabs a{
    min-height:38px;
    padding:8px 15px;
    border-radius:11px;
}
.matching-usage-list{margin-top:14px}
.matching-usage-empty{
    display:flex;
    align-items:center;
    gap:14px;
    min-height:106px;
    padding:18px;
    border:1px dashed #cddfd3;
    border-radius:16px;
    background:#f8fcf9;
}
.matching-usage-empty>span{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:14px;
    background:#e5f6eb;
    color:#168348;
    font-size:20px;
    font-weight:900;
}
.matching-usage-empty div{display:grid;gap:4px}
.matching-usage-empty strong{color:#214632}
.matching-usage-empty small{color:#708178;line-height:1.5}
.matching-usage-row .admin-activity-row-main{
    grid-template-columns:minmax(180px,1.4fr) minmax(130px,.8fr) minmax(160px,1fr) auto;
}

@media(max-width:900px){
    .matching-usage-page{width:calc(100% - 28px);margin-top:14px}
    .matching-usage-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .matching-usage-history-head{align-items:flex-start;flex-direction:column}
    .matching-usage-history-head .focus-tabs{justify-content:flex-start}
}
@media(max-width:640px){
    .matching-usage-page{width:calc(100% - 20px);margin:10px auto 24px}
    .matching-usage-page .matching-usage-hero{gap:18px;padding:20px;border-radius:18px;flex-direction:column}
    .matching-usage-page .matching-usage-hero p{display:block;font-size:13px;line-height:1.55}
    .matching-usage-page .matching-usage-hero>.btn{justify-content:center;width:100%}
    .matching-usage-summary{gap:9px}
    .matching-usage-stat{min-height:98px;padding:15px;border-radius:15px}
    .matching-usage-stat strong{font-size:27px}
    .matching-usage-page .matching-usage-history{padding:16px;border-radius:17px}
    .matching-usage-history-head .focus-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
    .matching-usage-history-head .focus-tabs a{display:flex;align-items:center;justify-content:center;padding-inline:8px;text-align:center}
    .matching-usage-empty{align-items:flex-start;padding:15px}
    .matching-usage-row .admin-activity-row-main{grid-template-columns:1fr}
}
@media(max-width:390px){
    .matching-usage-summary{grid-template-columns:1fr}
    .matching-usage-stat{min-height:88px}
}

/* Member Blog management workspace refresh */
.blog-manage-page{
    --blog-ink:#123b27;
    --blog-muted:#64756b;
    --blog-soft:#f3f9f5;
    width:100%;
    max-width:1540px;
    margin:0 auto;
    padding:18px 24px 36px;
}
.blog-manage-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:30px 32px;
    border:1px solid #d8e8dd;
    border-radius:24px;
    background:radial-gradient(circle at 88% 20%,rgba(255,198,35,.2),transparent 24%),linear-gradient(135deg,#eef9f1,#fffdf6);
    box-shadow:0 16px 38px rgba(20,63,38,.08);
}
.blog-manage-hero-copy{min-width:0}
.blog-manage-hero .eyebrow,.blog-manage-section-heading .eyebrow,.blog-access-message .eyebrow{color:#168047;font-size:12px;font-weight:850;letter-spacing:.08em}
.blog-manage-hero h1{margin:7px 0 8px;color:var(--blog-ink);font-size:clamp(30px,3.2vw,46px);line-height:1.15}
.blog-manage-hero p{max-width:720px;margin:0;color:var(--blog-muted);font-size:15px;line-height:1.65}
.blog-manage-hero-side{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.blog-manage-summary{display:flex;gap:8px}
.blog-manage-summary>span{display:grid;min-width:78px;gap:3px;padding:10px 12px;border:1px solid rgba(184,214,192,.9);border-radius:14px;background:rgba(255,255,255,.82);color:#6b786f;font-size:11px;text-align:center}
.blog-manage-summary strong{color:#08753b;font-size:21px;line-height:1}
.blog-manage-primary,.blog-manage-browse{min-height:46px;justify-content:center;padding-inline:18px;border-radius:14px;white-space:nowrap}
.blog-manage-alert{margin:14px 0 0}
.blog-access-panel{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.5fr);gap:18px;margin-top:18px}
.blog-access-message,.blog-addon-overview{border:1px solid #dce9e1;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(22,61,38,.06)}
.blog-access-message{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:14px;padding:24px}
.blog-access-icon,.blog-manage-card-icon,.blog-empty-icon{display:grid;place-items:center;color:#168247;background:#eaf7ee}
.blog-access-icon{width:52px;height:52px;border-radius:16px}
.blog-access-icon svg,.blog-manage-card-icon svg,.blog-empty-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.blog-access-message h2{margin:5px 0 8px;color:var(--blog-ink);font-size:22px;line-height:1.3}
.blog-access-message p{margin:0;color:var(--blog-muted);font-size:14px;line-height:1.65}
.blog-access-cta{grid-column:1/-1;justify-content:center;min-height:44px;margin-top:7px;border-radius:12px}
.blog-addon-overview{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.25fr);gap:24px;padding:24px;background:linear-gradient(145deg,#fff,#f8fcf9)}
.blog-addon-heading{align-self:center}
.blog-addon-price{display:inline-flex;align-items:baseline;gap:5px;padding:7px 11px;border-radius:999px;background:#fff3c7;color:#765a06;font-size:12px;font-weight:750}
.blog-addon-price strong{font-size:17px}
.blog-addon-heading h2{margin:14px 0 8px;color:var(--blog-ink);font-size:23px;line-height:1.3}
.blog-addon-heading p{margin:0;color:var(--blog-muted);font-size:13px;line-height:1.6}
.blog-addon-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.blog-addon-features article{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #e1ebe4;border-radius:13px;background:#fff}
.blog-addon-features article>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:#eaf7ee;color:#188048;font-size:11px;font-weight:900}
.blog-addon-features article>div{display:grid;gap:3px;min-width:0}
.blog-addon-features strong{color:#214f34;font-size:13px}
.blog-addon-features small{color:#718077;font-size:11px;line-height:1.45}
.blog-manage-content{margin-top:22px}
.blog-manage-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px;padding:0 3px}
.blog-manage-section-heading h2{margin:3px 0 0;color:var(--blog-ink);font-size:24px}
.blog-manage-section-heading>a{color:#147b42;font-size:13px;font-weight:800;text-decoration:none}
.blog-manage-list{display:grid;gap:12px}
.blog-manage-list>.blog-manage-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:18px 20px;border:1px solid #dce8e0;border-radius:17px;background:#fff;box-shadow:0 10px 25px rgba(22,61,38,.055)}
.blog-manage-card-icon{width:46px;height:46px;border-radius:14px}
.blog-manage-card-copy{display:grid;min-width:0;gap:6px}
.blog-manage-card-badges{display:flex;flex-wrap:wrap;gap:6px}
.blog-manage-card h2{overflow-wrap:anywhere;margin:0;color:var(--blog-ink);font-size:19px;line-height:1.35}
.blog-manage-card small{color:#748178;font-size:12px}
.blog-manage-card .blog-row-actions{justify-content:flex-end}
.blog-manage-card .blog-row-actions form{margin:0}
.blog-manage-card .btn{min-height:38px;border-radius:10px}
.blog-manage-empty{min-height:310px;justify-content:center;border:1px dashed #cfe0d4;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fcf9)}
.blog-empty-icon{width:58px;height:58px;margin-bottom:5px;border-radius:18px}

@media(max-width:1080px){
    .blog-manage-hero{align-items:flex-start;flex-direction:column}
    .blog-manage-hero-side{width:100%;justify-content:space-between}
    .blog-access-panel{grid-template-columns:1fr}
}
@media(max-width:760px){
    .blog-manage-page{padding:14px 14px 30px}
    .blog-manage-hero{padding:23px;border-radius:19px}
    .blog-manage-hero-side{align-items:stretch;flex-direction:column}
    .blog-manage-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
    .blog-manage-summary>span{min-width:0}
    .blog-addon-overview{grid-template-columns:1fr}
    .blog-manage-list>.blog-manage-card{grid-template-columns:auto minmax(0,1fr)}
    .blog-manage-card .blog-row-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
    .blog-manage-card .blog-row-actions .btn{justify-content:center;width:100%}
}
@media(max-width:520px){
    .blog-manage-page{padding-inline:10px}
    .blog-manage-hero{padding:20px}
    .blog-manage-hero h1{font-size:29px}
    .blog-access-message{grid-template-columns:1fr;padding:20px}
    .blog-access-cta{grid-column:auto}
    .blog-addon-overview{padding:20px}
    .blog-addon-features{grid-template-columns:1fr}
    .blog-manage-list>.blog-manage-card{grid-template-columns:1fr;padding:17px}
    .blog-manage-card-icon{display:none}
    .blog-manage-card .blog-row-actions{grid-column:auto;grid-template-columns:1fr}
    .blog-manage-section-heading{align-items:flex-start;flex-direction:column}
}

/* Manual Member Guide empty state */
.member-guide-empty-shell{
    display:grid;
    grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
    align-items:center;
    gap:clamp(28px,5vw,72px);
    width:calc(100% - 48px);
    max-width:1120px;
    min-height:440px;
    margin:24px auto 38px;
    padding:clamp(28px,5vw,60px);
    overflow:hidden;
    border:1px solid #d9e8de;
    border-radius:26px;
    background:radial-gradient(circle at 12% 18%,rgba(35,164,87,.12),transparent 28%),radial-gradient(circle at 90% 82%,rgba(246,187,24,.16),transparent 26%),#fff;
    box-shadow:0 18px 45px rgba(18,63,36,.08);
}
.member-guide-empty-visual{position:relative;display:grid;place-items:center;min-height:270px;border:1px solid #dcebe1;border-radius:24px;background:linear-gradient(145deg,#eff9f2,#fffdf6)}
.member-guide-empty-icon{display:grid;place-items:center;width:102px;height:102px;border-radius:30px;background:#fff;color:#168247;box-shadow:0 18px 38px rgba(19,108,55,.13)}
.member-guide-empty-icon svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.member-guide-empty-step{position:absolute;display:grid;place-items:center;width:42px;height:42px;border:1px solid #d8e7dd;border-radius:13px;background:#fff;color:#168247;font-size:11px;font-weight:900;box-shadow:0 9px 22px rgba(20,70,39,.08)}
.member-guide-empty-step:nth-of-type(2){top:24px;right:28px}
.member-guide-empty-step:nth-of-type(3){right:46px;bottom:24px}
.member-guide-empty-step:nth-of-type(4){left:30px;bottom:40px}
.member-guide-empty-copy .eyebrow{color:#168047;font-size:12px;font-weight:850;letter-spacing:.08em}
.member-guide-empty-copy h1{margin:9px 0 12px;color:#123b27;font-size:clamp(29px,4vw,44px);line-height:1.2}
.member-guide-empty-copy p{max-width:620px;margin:0;color:#607268;font-size:15px;line-height:1.8}
.member-guide-empty-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.member-guide-empty-actions .btn{min-width:138px;min-height:44px;justify-content:center;border-radius:12px}

@media(max-width:760px){
    .member-guide-empty-shell{grid-template-columns:1fr;width:calc(100% - 28px);min-height:0;margin:14px auto 30px;padding:24px}
    .member-guide-empty-visual{min-height:210px}
    .member-guide-empty-icon{width:86px;height:86px;border-radius:25px}
    .member-guide-empty-icon svg{width:40px;height:40px}
}
@media(max-width:420px){
    .member-guide-empty-shell{width:calc(100% - 20px);padding:20px;border-radius:20px}
    .member-guide-empty-visual{min-height:180px}
    .member-guide-empty-actions{display:grid;grid-template-columns:1fr}
    .member-guide-empty-actions .btn{width:100%}
}

/* Package cart and checkout entry */
.member-package-hero-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.member-package-cart{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #d5e5da;border-radius:13px;background:#fff;color:#176f3d;font-size:13px;font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(18,85,43,.07)}
.member-package-cart svg,.payment-cart-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.member-package-cart strong{display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;line-height:1}
.member-package-cart.cart-bump{animation:package-cart-bump .42s ease}
[data-cart-add-button].cart-added{animation:package-button-confirm .42s ease;background:#08763b;color:#fff}
.payment-cart-heading{display:flex;align-items:center;gap:15px;padding:16px 18px;border:1px solid #dbe9df;border-radius:16px;background:linear-gradient(135deg,#eff9f2,#fffdf5)}
.payment-cart-heading h2{margin:3px 0 4px;color:#143d28}
.payment-cart-heading p{margin:0;color:#65766c}
.payment-cart-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:16px;background:#fff;color:#168247;box-shadow:0 10px 24px rgba(20,92,47,.1)}
@keyframes package-cart-bump{0%,100%{transform:scale(1)}45%{transform:scale(1.12) rotate(-3deg)}}
@keyframes package-button-confirm{0%{transform:scale(1)}45%{transform:scale(.94)}100%{transform:scale(1)}}
@media(max-width:640px){.member-package-hero-actions{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.member-package-cart{grid-column:1/-1;justify-content:center}.payment-cart-heading{align-items:flex-start}.payment-cart-icon{flex-basis:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.member-package-cart.cart-bump,[data-cart-add-button].cart-added{animation:none}}

/* Member Share Collections refresh */
.member-share-collections-page{
    --share-soft:#f2faf5;
    --share-ink:#123b26;
    --share-muted:#63756a;
}
.member-share-collections-page .share-collections-hero{
    margin:18px 24px 16px;
    padding:26px 28px;
    overflow:hidden;
    border:1px solid #d8e8dd;
    border-radius:24px;
    background:
        radial-gradient(circle at 94% 10%,rgba(246,187,31,.2),transparent 28%),
        linear-gradient(135deg,#effaf3 0%,#fff 62%,#fff9e8 100%);
    box-shadow:0 16px 38px rgba(18,64,37,.08);
}
.member-share-collections-page .share-collections-hero h1{color:var(--share-ink);font-size:clamp(28px,3vw,38px);letter-spacing:-.02em}
.member-share-collections-page .share-collections-hero p{max-width:650px;line-height:1.65}
.share-collections-hero-side{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.share-collections-summary{display:flex;gap:8px}
.share-collections-summary>span{
    display:grid;
    min-width:82px;
    gap:2px;
    padding:9px 11px;
    border:1px solid rgba(181,215,191,.85);
    border-radius:14px;
    background:rgba(255,255,255,.82);
    color:var(--share-muted);
    font-size:11px;
    text-align:center;
}
.share-collections-summary strong{color:#08733a;font-size:21px;line-height:1}
.share-collections-hero-side>.btn{min-height:46px;gap:6px;padding-inline:18px;border-radius:14px;white-space:nowrap;box-shadow:0 9px 20px rgba(14,126,62,.16)}
.share-collections-alert{margin:0 24px 14px}
.share-collections-entitlement{
    display:grid;
    grid-template-columns:minmax(230px,1.4fr) repeat(3,minmax(120px,.65fr));
    align-items:center;
    gap:0;
    width:calc(100% - 48px);
    max-width:1540px;
    margin:0 auto 18px;
    padding:0;
    overflow:hidden;
    border-color:#dce9e1;
    border-radius:18px;
    background:linear-gradient(90deg,#f3faf5,#fff);
    box-shadow:0 10px 26px rgba(20,62,36,.06);
}
.share-collections-entitlement>div{display:grid;gap:3px;min-height:74px;padding:15px 20px;border-left:1px solid #e5ece7}
.share-collections-entitlement>div:first-child{border-left:0}
.share-collections-entitlement small{color:#718077;font-size:12px}
.share-collections-entitlement strong{overflow-wrap:anywhere;color:#176c3b;font-size:15px}
.share-entitlement-lead{grid-template-columns:auto minmax(0,1fr);align-items:center}
.share-entitlement-lead>span:last-child{display:grid;gap:3px}
.share-entitlement-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:13px;
    background:#e8f7ed;
    color:#168247;
}
.share-entitlement-icon svg,.share-collection-card-icon svg,.share-empty-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.share-collections-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:20px;
    max-width:1540px;
    margin:0 auto;
    padding:0 24px 32px;
}
.share-collections-list{display:grid;gap:15px;align-content:start;min-width:0}
.share-collection-card{
    display:grid;
    gap:16px;
    padding:20px;
    border-color:#dbe7e0;
    border-radius:20px;
    background:linear-gradient(180deg,#fff,#fdfefd);
    box-shadow:0 12px 30px rgba(22,61,38,.07);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.share-collection-card:hover{transform:translateY(-2px);border-color:#b8d8c2;box-shadow:0 17px 38px rgba(22,61,38,.1)}
.share-collection-card.share-status-disabled,.share-collection-card.share-status-expired{background:linear-gradient(180deg,#fff,#fafbfa)}
.share-collection-card-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px}
.share-collection-card-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border:1px solid #d4e7db;
    border-radius:15px;
    background:#ecf8f0;
    color:#168247;
}
.share-collection-title{display:grid;min-width:0;gap:5px}
.share-collection-title h2{margin:0;color:var(--share-ink);font-size:21px;line-height:1.3}
.share-collection-title p{margin:0;color:var(--share-muted);font-size:13px}
.share-collection-title p span{font-weight:750;color:#345743}
.share-collection-edit{min-width:92px;min-height:40px;justify-content:center;border-radius:11px}
.share-collection-url{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:11px 12px;
    border:1px solid #e0eae4;
    border-radius:13px;
    background:#f6faf7;
}
.share-collection-url>span{color:#64766b;font-size:12px;font-weight:750}
.share-collection-url>strong{overflow:hidden;color:#08733a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.share-collection-url>.btn{min-height:34px;padding:5px 12px;border-radius:9px;font-size:12px}
.share-collection-metrics{display:grid;grid-template-columns:repeat(2,minmax(80px,.55fr)) repeat(2,minmax(150px,1.3fr));gap:8px}
.share-collection-metrics>span{display:grid;gap:3px;padding:10px 11px;border-radius:11px;background:var(--share-soft)}
.share-collection-metrics small{color:#708076;font-size:11px}
.share-collection-metrics strong{overflow-wrap:anywhere;color:#155f35;font-size:14px}
.share-collection-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:15px;border-top:1px solid #e7eee9}
.share-collection-actions>span{color:#526b5c;font-size:12px;font-weight:800}
.share-collection-actions>div{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.share-collection-actions form{margin:0}
.share-collection-actions .btn{min-height:36px;padding:6px 12px;border-radius:10px;font-size:12px}
.share-collection-actions .share-collection-disable{border-color:#ebd0cc;color:#a13f32}
.share-collections-security{position:sticky;top:86px;align-self:start;padding:20px;border-color:#dce8e0;border-radius:20px;background:linear-gradient(180deg,#fff,#f9fcfa);box-shadow:0 12px 30px rgba(22,61,38,.06)}
.share-collections-security h2{margin:5px 0 9px;color:var(--share-ink);font-size:20px}
.share-collections-security>p{line-height:1.65}
.share-collections-security .dashboard-list div{padding:11px 0}
.share-collections-empty{min-height:320px;justify-content:center;border-radius:20px}
.share-empty-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:4px;border-radius:18px;background:#edf8f1;color:#168247}

@media(max-width:1050px){
    .member-share-collections-page .share-collections-hero{align-items:flex-start;flex-direction:column}
    .share-collections-hero-side{width:100%;justify-content:space-between}
    .share-collections-layout{grid-template-columns:minmax(0,1fr) 260px}
    .share-collection-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
    .member-share-collections-page .share-collections-hero{margin:12px 14px 14px;padding:22px}
    .share-collections-alert{margin-inline:14px}
    .share-collections-entitlement{grid-template-columns:repeat(3,minmax(0,1fr));width:calc(100% - 28px);margin:0 auto 16px}
    .share-collections-entitlement>.share-entitlement-lead{grid-column:1/-1;border-bottom:1px solid #e5ece7}
    .share-collections-entitlement>div:nth-child(2){border-left:0}
    .share-collections-layout{grid-template-columns:1fr;padding:0 14px 28px}
    .share-collections-security{position:static}
}
@media(max-width:640px){
    .member-share-collections-page .share-collections-hero{border-radius:18px}
    .share-collections-hero-side{align-items:stretch;flex-direction:column}
    .share-collections-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
    .share-collections-summary>span{min-width:0;padding-inline:6px}
    .share-collections-hero-side>.btn{justify-content:center;width:100%}
    .share-collections-entitlement{grid-template-columns:1fr}
    .share-collections-entitlement>.share-entitlement-lead{grid-column:auto}
    .share-collections-entitlement>div{min-height:58px;border-left:0;border-top:1px solid #e5ece7}
    .share-collections-entitlement>div:first-child{border-top:0}
    .share-collection-card{padding:15px;border-radius:17px}
    .share-collection-card:hover{transform:none}
    .share-collection-card-header{grid-template-columns:auto minmax(0,1fr)}
    .share-collection-edit{grid-column:1/-1;width:100%}
    .share-collection-url{grid-template-columns:1fr}
    .share-collection-url>strong{white-space:normal;overflow-wrap:anywhere}
    .share-collection-url>.btn{justify-content:center;width:100%}
    .share-collection-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .share-collection-actions{align-items:stretch;flex-direction:column}
    .share-collection-actions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
    .share-collection-actions form,.share-collection-actions .btn{width:100%}
}
@media(max-width:400px){
    .member-share-collections-page .share-collections-hero{margin-inline:10px;padding:18px}
    .share-collections-alert{margin-inline:10px}
    .share-collections-entitlement{width:calc(100% - 20px)}
    .share-collections-layout{padding-inline:10px}
    .share-collection-card-header{grid-template-columns:1fr}
    .share-collection-card-icon{width:42px;height:42px}
    .share-collection-metrics{grid-template-columns:1fr}
    .share-collection-actions>div{grid-template-columns:1fr}
}

/* Request and Matching analytics workspace */
.matching-analytics-page{display:grid;gap:16px;min-width:0}
.matching-analytics-hero{border-color:#d8eadf;background:linear-gradient(135deg,#fff 0%,#f7fcf8 68%,#eef8f1 100%)}
.matching-analytics-hero h1{margin-bottom:7px}
.matching-analytics-hero p{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:0}
.matching-analytics-hero p strong{color:#315d43;font-size:14px}
.matching-timezone{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:#e8f6ec;color:#167342;font-size:12px;font-weight:900}
.matching-analytics-hero-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.matching-filter-card{padding:16px;border-radius:14px}
.matching-analytics-filter{grid-template-columns:minmax(180px,.8fr) repeat(2,minmax(190px,1fr)) auto;gap:12px}
.matching-analytics-filter label{gap:7px;min-width:0}
.matching-analytics-filter label>span{color:#315d43;font-size:13px;font-weight:900}
.matching-analytics-filter input,.matching-analytics-filter select{width:100%;min-height:44px;border-color:#d5e3da;border-radius:10px;background:#fff}
.matching-analytics-filter input::placeholder{color:#89998f}
.matching-analytics-filter .analytics-filter-actions{display:grid;grid-template-columns:repeat(2,max-content);gap:8px;align-items:end}
.matching-analytics-filter .btn{min-height:44px;justify-content:center}
.matching-analytics-summary{gap:12px}
.matching-analytics-summary article{min-height:142px;padding:18px;border:1px solid #dfeae3;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(23,75,41,.045)}
.matching-analytics-summary article>span{color:#5e7466;font-weight:800}
.matching-analytics-summary article>strong{color:#08783c;font-size:29px}
.matching-analytics-empty,.matching-analytics-trend,.matching-breakdown-card{border-radius:14px}
.matching-analytics-trend h2,.matching-breakdown-card h2{margin-top:0}
@media(max-width:1050px){
    .matching-analytics-filter{grid-template-columns:repeat(3,minmax(0,1fr))}
    .matching-analytics-filter .analytics-filter-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,180px))}
}
@media(max-width:700px){
    .matching-analytics-hero-actions{width:100%}
    .matching-analytics-hero-actions .btn{flex:1;justify-content:center}
    .matching-analytics-filter{grid-template-columns:1fr}
    .matching-analytics-filter .analytics-filter-actions{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:460px){.matching-analytics-filter .analytics-filter-actions{grid-template-columns:1fr}}
.property-catalog-card{position:relative;overflow:hidden}.property-catalog-card>*:not(.property-quota-overlay){position:relative;z-index:2}.property-quota-overlay{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:rgba(8,72,45,var(--quota-overlay-opacity,.2));pointer-events:none}.property-quota-overlay span{font-size:3rem;filter:drop-shadow(0 3px 8px rgba(0,0,0,.25))}.property-quota-locked{border-color:#c98c2b}.payment-upgrade-now{display:grid;gap:.85rem;margin-top:1rem;padding:1rem;border:1px solid #b9dfc8;border-radius:16px;background:linear-gradient(135deg,#f4fbf6 0%,#fffdf4 100%)}.payment-upgrade-heading{display:flex;align-items:center;gap:.75rem}.payment-upgrade-heading h3{margin:.15rem 0 0}.payment-upgrade-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#159447;color:#fff;font-size:1.5rem;font-weight:800}.payment-upgrade-state{display:grid;gap:.75rem}.payment-upgrade-state>p{margin:0}.payment-upgrade-neutral,.payment-upgrade-highest{grid-template-columns:minmax(0,1fr);gap:.25rem;padding:.9rem 1rem;border-radius:12px;background:rgba(255,255,255,.82);color:#52635a}.payment-upgrade-neutral strong,.payment-upgrade-highest strong{color:#103c27}.payment-upgrade-highest{border-left:4px solid #e2ac22}.payment-upgrade-state[hidden]{display:none}
.payment-provider-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.payment-provider-summary-grid .dashboard-card{display:grid;gap:8px}.settings-summary-value{font-size:1.35rem;color:#087c3e}.settings-card-heading,.bank-account-admin-main,.bank-account-admin-row{display:flex;align-items:center}.settings-card-heading{justify-content:space-between;gap:16px;margin-bottom:18px}.bank-account-admin-list{display:grid;gap:12px}.bank-account-admin-row{justify-content:space-between;gap:18px;padding:16px;border:1px solid #dce8e0;border-radius:14px;background:#fff}.bank-account-admin-main{gap:12px;min-width:0}.bank-account-admin-main>div,.bank-account-admin-meta{display:grid;gap:4px}.bank-account-admin-main span,.bank-account-admin-main small,.bank-account-admin-meta{color:#627267}.bank-account-admin-meta{font-size:.88rem}.bank-account-admin-row .billing-settings-actions{flex-wrap:wrap}.settings-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.settings-detail-grid>div{display:grid;grid-template-columns:minmax(120px,.45fr) 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #e3ebe5}.settings-detail-grid dt{color:#64756a}.settings-detail-grid dd{margin:0;font-weight:700;overflow-wrap:anywhere}.settings-note{margin-top:18px;padding:16px;border-radius:12px;background:#f3f8f4}.settings-note p{margin:6px 0 0}.bank-account-detail-card>.billing-settings-actions{margin-top:20px}
@media(max-width:760px){.payment-provider-summary-grid,.settings-detail-grid{grid-template-columns:1fr}.bank-account-admin-row{align-items:stretch;flex-direction:column}.bank-account-admin-row .billing-settings-actions{justify-content:flex-start}}

/* Payment Wizard: optional next-cycle renewal controls */
.payment-future-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.payment-future-heading>[data-payment-future-clear]{align-self:center;white-space:nowrap}
.payment-month-panel select option[value="0"]{font-weight:700}
@media(max-width:760px){
    .payment-future-heading{grid-template-columns:auto minmax(0,1fr)}
    .payment-future-heading>[data-payment-future-clear]{grid-column:1/-1;width:100%}
}

/* Admin payment detail: readable accounting review workspace */
.admin-payment-detail-page{display:grid;gap:18px;width:min(100%,1280px);margin:0 auto;padding-bottom:28px;min-width:0}
.payment-detail-hero{align-items:center;border-color:#d8e8dd;background:linear-gradient(135deg,#fff 0%,#f5fbf7 70%,#fff9eb 100%)}
.payment-detail-hero>div{min-width:0}
.payment-detail-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.payment-detail-title-line h1{margin:0;overflow-wrap:anywhere}
.payment-detail-hero>div>p{max-width:760px;margin:8px 0 0;color:#53685b;line-height:1.6}
.payment-member-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px;color:#53685b}
.payment-member-line strong{color:#103c27}.payment-member-line span{overflow-wrap:anywhere}
.payment-member-line strong+span:before{content:"•";margin-right:9px;color:#9aac9f}
.payment-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 11px;border-radius:999px;background:#edf2ef;color:#4f6256;font-size:.8rem;font-weight:900;line-height:1.2;white-space:nowrap}
.payment-status-badge.warning{background:#fff3d6;color:#8a5b00}.payment-status-badge.info{background:#e7f2ff;color:#145d8f}.payment-status-badge.success{background:#e5f7eb;color:#08783c}.payment-status-badge.danger{background:#ffebeb;color:#a72c2c}
.payment-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.payment-detail-summary article{display:grid;align-content:start;gap:6px;min-height:120px;padding:17px;border:1px solid #dce8e0;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(19,73,42,.05);min-width:0}
.payment-detail-summary article>span{color:#5d7465;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.payment-detail-summary article>strong{color:#123d28;font-size:1.1rem;overflow-wrap:anywhere}.payment-detail-summary article:first-child>strong{color:#08783c;font-size:1.35rem}.payment-detail-summary article>small{color:#6c7d72;line-height:1.4}
.payment-detail-layout{display:grid;grid-template-columns:minmax(280px,330px) minmax(0,1fr);align-items:start;gap:18px;min-width:0}
.payment-detail-sidebar,.payment-detail-content{display:grid;gap:16px;min-width:0}.payment-detail-sidebar{position:sticky;top:92px}
.payment-overview-card,.payment-review-card,.payment-detail-section{padding:19px;border-radius:16px}
.payment-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.payment-section-heading h2{margin:3px 0 0;font-size:1.2rem}.payment-section-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:11px;background:#eaf6ee;color:#08783c;font-weight:900}
.payment-fact-list{display:grid;margin:0}.payment-fact-list>div{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);gap:10px;padding:12px 0;border-bottom:1px solid #e4ebe6}.payment-fact-list>div:last-child{border-bottom:0}.payment-fact-list dt{color:#62766a;font-size:.86rem}.payment-fact-list dd{margin:0;color:#153e2a;font-weight:800;text-align:right;overflow-wrap:anywhere}
.payment-review-card{display:grid;gap:12px;border-color:#ecdca8;background:linear-gradient(145deg,#fff 0%,#fffaf0 100%)}.payment-review-card h2{margin:0}.payment-review-card>p{margin:0;color:#5e7165;line-height:1.6}.payment-review-notice{display:grid;gap:4px;padding:12px;border-radius:11px}.payment-review-notice.warning{background:#fff1cf;color:#76510b}.payment-review-notice span{font-size:.86rem;line-height:1.45}.payment-action-form{display:grid;gap:8px;margin:0}.payment-action-form .btn{width:100%;justify-content:center}.payment-reject-form{padding-top:12px;border-top:1px solid #eadfbe}.payment-reject-form label{display:grid;gap:6px;color:#4e6657;font-weight:800}.payment-reject-form textarea{width:100%;min-height:86px;padding:10px 12px;border:1px solid #d8e2dc;border-radius:10px;resize:vertical;background:#fff}
.payment-detail-section{display:grid;gap:12px}.payment-detail-section>.payment-section-heading{margin:0}.payment-empty-state{display:flex;align-items:center;gap:14px;min-height:120px;padding:20px;border:1px dashed #cbdad0;border-radius:13px;background:#f8fbf9;color:#607369}.payment-empty-state.compact{min-height:92px}.payment-empty-state>span{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:13px;background:#e8f4ec;color:#16834a;font-size:1.45rem}.payment-empty-state strong{display:block;color:#214a33}.payment-empty-state p{margin:5px 0 0;line-height:1.5}
.payment-record-list.enhanced{display:grid;gap:12px}.payment-record-card{display:grid;gap:13px;padding:16px;border:1px solid #dfe8e2;border-radius:13px;background:#fbfdfc;min-width:0}.payment-record-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.payment-record-card>header>div{display:grid;gap:3px;min-width:0}.payment-record-card>header strong,.payment-record-card>header span{overflow-wrap:anywhere}.payment-record-card>header>div>span{color:#697b70;font-size:.85rem}
.payment-record-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.payment-record-facts>div{display:grid;gap:3px;padding:10px;border-radius:10px;background:#f0f6f2;min-width:0}.payment-record-facts dt{color:#66796d;font-size:.76rem}.payment-record-facts dd{margin:0;color:#123d28;font-size:.9rem;font-weight:800;overflow-wrap:anywhere}.payment-record-note{margin:0;padding:11px 12px;border-left:3px solid #e2ad2e;border-radius:8px;background:#fff8e8;color:#5b533e;line-height:1.55}.payment-record-note.review{border-color:#16834a;background:#eef9f2;color:#315d43}
.payment-technical-details{border-top:1px solid #e0e8e3;padding-top:10px}.payment-technical-details summary{cursor:pointer;color:#276441;font-weight:800}.payment-technical-details pre{max-height:320px;margin:10px 0 0;padding:13px;border-radius:10px;background:#16241c;color:#d8eee0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.78rem}
.payment-audit-timeline{display:grid}.payment-audit-timeline article{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:0 0 18px}.payment-audit-timeline article:not(:last-child):before{content:"";position:absolute;left:6px;top:15px;bottom:0;width:2px;background:#d7e6dc}.payment-audit-dot{position:relative;z-index:1;width:14px;height:14px;margin-top:3px;border:3px solid #d5efdf;border-radius:50%;background:#159447}.payment-audit-timeline article>div{display:grid;gap:3px}.payment-audit-timeline p{margin:0;color:#5c7063}.payment-audit-timeline time{color:#78897e;font-size:.8rem}
@media(max-width:1050px){.payment-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-detail-layout{grid-template-columns:1fr}.payment-detail-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.admin-payment-detail-page{gap:13px}.payment-detail-hero{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.payment-detail-hero>.btn{width:100%;max-width:none;justify-content:center}.payment-detail-summary,.payment-detail-sidebar{grid-template-columns:1fr}.payment-detail-summary article{min-height:0}.payment-record-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-record-card>header{align-items:flex-start;flex-direction:column}.payment-member-line{display:grid;gap:4px}.payment-member-line strong+span:before{content:none}.payment-fact-list>div{grid-template-columns:1fr}.payment-fact-list dd{text-align:left}}
@media(max-width:430px){.payment-record-facts{grid-template-columns:1fr}.payment-overview-card,.payment-review-card,.payment-detail-section{padding:15px}.payment-detail-title-line h1{font-size:1.55rem}}

/* Admin bank account detail: clear, compact provider workspace */
.bank-account-detail-page{display:grid;gap:18px;width:min(100%,1240px);margin:0 auto;padding-bottom:28px;min-width:0}
.bank-account-detail-hero{align-items:center;border-color:#d6e7dc;background:linear-gradient(135deg,#fff 0%,#f3fbf6 68%,#fff8e8 100%);box-shadow:0 12px 34px rgba(17,84,44,.06)}
.bank-account-hero-copy{display:grid;gap:10px;min-width:0}.bank-account-title-line{display:flex;align-items:center;gap:13px;flex-wrap:wrap;min-width:0}.bank-account-title-line>div{min-width:0}.bank-account-title-line h1{margin:0;color:#133f2a;overflow-wrap:anywhere}.bank-account-title-line p{margin:3px 0 0;color:#587064}.bank-account-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:15px;background:linear-gradient(145deg,#149b55,#08743d);color:#fff;font-size:1.35rem;font-weight:900;box-shadow:0 8px 18px rgba(12,120,61,.2)}.bank-account-status-copy{max-width:760px;margin:0;color:#5a6f63;line-height:1.55}.bank-account-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.bank-account-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.bank-account-summary-grid article{display:grid;align-content:start;gap:6px;min-height:116px;padding:17px;border:1px solid #dce9e1;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(19,73,42,.05);min-width:0}.bank-account-summary-grid article>span{color:#63776b;font-size:.78rem;font-weight:900;letter-spacing:.03em}.bank-account-summary-grid article>strong{color:#153f2b;font-size:1.08rem;overflow-wrap:anywhere}.bank-account-summary-grid article:first-child>strong{color:#087b3e;font-size:1.3rem}.bank-account-summary-grid article>small{color:#748278;line-height:1.4}
.bank-account-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:18px;min-width:0}.bank-account-information-card,.bank-account-control-card{padding:21px;border-radius:16px;min-width:0}.bank-account-information-card>.settings-card-heading{align-items:flex-start}.bank-account-information-card>.settings-card-heading h2,.bank-account-control-card h2{margin:4px 0 0}.bank-account-information-card>.settings-card-heading p{margin:7px 0 0;color:#65776c;line-height:1.5}
.bank-account-preview{display:grid;gap:19px;min-height:210px;margin:2px 0 18px;padding:24px;border:1px solid rgba(255,255,255,.38);border-radius:18px;background:linear-gradient(135deg,#075b35 0%,#0b8b4a 60%,#19a45a 100%);color:#fff;box-shadow:0 15px 30px rgba(7,91,53,.18);overflow:hidden;position:relative}.bank-account-preview:after{content:"";position:absolute;right:-45px;bottom:-85px;width:220px;height:220px;border:40px solid rgba(255,255,255,.08);border-radius:50%}.bank-account-preview-top,.bank-account-preview>div{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}.bank-account-preview-mark{font-weight:900;letter-spacing:.04em}.bank-account-preview>strong{font-size:1.65rem;letter-spacing:.06em;overflow-wrap:anywhere;position:relative;z-index:1}.bank-account-preview>div span{font-size:.78rem;color:rgba(255,255,255,.74)}.bank-account-preview>div b{text-align:right}.bank-account-preview>small{color:rgba(255,255,255,.82);position:relative;z-index:1}
.bank-account-fact-grid{border-top:1px solid #e0eae3}.bank-account-fact-grid>div{grid-template-columns:minmax(105px,.42fr) minmax(0,1fr)}.bank-account-instructions{border:1px solid #d9e8de;background:#f5faf7}.bank-account-empty-note{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:15px;border:1px dashed #cbdcd1;border-radius:13px;background:#f8fbf9;color:#63766a}.bank-account-empty-note>span{color:#10834a;font-size:1.2rem}.bank-account-empty-note p{margin:0;line-height:1.55}.bank-account-empty-note strong{color:#234b34}
.bank-account-control-card{display:grid;gap:14px;position:sticky;top:92px}.bank-account-current-state{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #dce8e0;border-radius:13px;background:#f8fbf9}.bank-account-current-state.active{border-color:#bee2ca;background:#effaf3}.bank-account-current-state.inactive{border-color:#ead9c5;background:#fff9f1}.bank-account-state-dot{width:11px;height:11px;flex:0 0 11px;margin-top:5px;border-radius:50%;background:#a87533;box-shadow:0 0 0 5px rgba(168,117,51,.11)}.bank-account-current-state.active .bank-account-state-dot{background:#169451;box-shadow:0 0 0 5px rgba(22,148,81,.11)}.bank-account-current-state strong{color:#1a482f}.bank-account-current-state p{margin:4px 0 0;color:#627468;line-height:1.45}.bank-account-status-form,.bank-account-status-form .btn{width:100%}.bank-account-control-help{margin:0;color:#6e7d73;font-size:.88rem;line-height:1.55}.bank-account-danger-zone{display:grid;gap:9px;margin-top:5px;padding-top:18px;border-top:1px solid #eadbd8}.bank-account-danger-zone .eyebrow{color:#b33c35}.bank-account-danger-zone h3{margin:0;color:#6f2824}.bank-account-danger-zone p{margin:0;color:#7c6866;line-height:1.5}.bank-account-danger-zone .btn{width:100%;margin-top:3px}
@media(max-width:1050px){.bank-account-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-account-detail-layout{grid-template-columns:1fr}.bank-account-control-card{position:static}}
@media(max-width:700px){.bank-account-detail-page{gap:13px}.bank-account-detail-hero{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.bank-account-detail-hero .bank-account-status-copy,.bank-account-title-line p{display:block}.bank-account-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.bank-account-hero-actions .btn{width:100%;justify-content:center}.bank-account-summary-grid{grid-template-columns:1fr}.bank-account-summary-grid article{min-height:0}.bank-account-information-card,.bank-account-control-card{padding:16px}.bank-account-preview{min-height:190px;padding:20px}.bank-account-preview>strong{font-size:1.35rem}.bank-account-fact-grid{grid-template-columns:1fr}.bank-account-title-line .status-badge{margin-left:61px}}
@media(max-width:430px){.bank-account-hero-actions{grid-template-columns:1fr}.bank-account-title-line .status-badge{margin-left:0}.bank-account-preview>div{align-items:flex-start;flex-direction:column}.bank-account-preview>div b{text-align:left}}
.submission-image-card.is-deleting{pointer-events:none}.submission-image-card.is-removing{opacity:0;transform:scale(.88);filter:blur(2px);transition:opacity .19s ease,transform .19s ease,filter .19s ease}.submission-image-delete button:disabled{opacity:.55;cursor:wait}@media (prefers-reduced-motion:reduce){.submission-image-card.is-removing{transition:none}}
.applicant-entitlement-form{--applicant-accent:#16854a}.applicant-type-grid{margin-top:18px}.applicant-type-card{position:relative;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:start;padding:20px 20px 20px 56px!important;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}.applicant-type-card:hover{transform:translateY(-1px);border-color:#9bcbb0}.applicant-type-card input{position:absolute!important;width:1px!important;height:1px!important;opacity:0}.applicant-type-card:has(input:checked){border-color:var(--applicant-accent);background:#f2fbf5;box-shadow:0 0 0 2px rgba(22,133,74,.13)}.applicant-radio-mark{position:absolute;top:21px;left:20px;width:22px;height:22px;border:2px solid #9aaba1;border-radius:50%;background:#fff}.applicant-type-card input:checked+.applicant-radio-mark{border-color:var(--applicant-accent);box-shadow:inset 0 0 0 5px #fff;background:var(--applicant-accent)}.applicant-type-card input:focus-visible+.applicant-radio-mark{outline:3px solid rgba(22,133,74,.22);outline-offset:3px}.applicant-type-card strong{grid-column:2}.applicant-type-card small{grid-column:2;line-height:1.45}.applicant-entitlement-placeholder,.applicant-entitlement-panel{margin-top:18px;border-radius:15px}.applicant-entitlement-placeholder{display:flex;align-items:center;justify-content:center;gap:8px;min-height:96px;padding:20px;border:1px dashed #b9c9c0;background:#fafcfb;color:#64756b;text-align:center}.applicant-entitlement-placeholder span{font-size:.9rem}.applicant-entitlement-panel{padding:20px;border:1px solid #b9dfc7;background:linear-gradient(145deg,#f2fbf5,#fff);animation:applicant-entitlement-in .24s ease both}.applicant-entitlement-heading{display:flex;align-items:flex-start;gap:14px}.applicant-entitlement-heading>div{min-width:0}.applicant-entitlement-heading strong{display:block;color:#174d31;font-size:1.17rem}.applicant-entitlement-heading p{margin:5px 0 0;color:#597066;line-height:1.5}.applicant-entitlement-badge{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#147b45;color:#fff;font-size:.76rem;font-weight:800}.applicant-entitlement-badge.owner{background:#315f94}.applicant-entitlement-panel details{margin-top:16px;padding-top:14px;border-top:1px solid #d9e9df}.applicant-entitlement-panel summary{color:#19613a;font-weight:800;cursor:pointer}.applicant-entitlement-panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:12px 0 0;padding-left:20px;color:#52675b}.owner-package-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.owner-package-choice{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:16px;border:1px solid #cbd8d1;border-radius:13px;background:#fff;cursor:pointer}.owner-package-choice input{position:absolute;width:1px;height:1px;opacity:0}.owner-package-choice:has(input:checked){border-color:#315f94;background:#f3f7fc;box-shadow:0 0 0 2px rgba(49,95,148,.12)}.owner-package-choice.featured{border-color:#d7c78b;background:#fffdf4}.owner-package-choice.featured:has(input:checked){border-color:#a68417;background:#fff9df;box-shadow:0 0 0 2px rgba(166,132,23,.14)}.owner-package-radio{width:20px;height:20px;margin-top:1px;border:2px solid #99aaa1;border-radius:50%;background:#fff}.owner-package-choice input:checked+.owner-package-radio{border-color:#315f94;box-shadow:inset 0 0 0 4px #fff;background:#315f94}.owner-package-choice.featured input:checked+.owner-package-radio{border-color:#a68417;background:#a68417}.owner-package-choice input:focus-visible+.owner-package-radio{outline:3px solid rgba(49,95,148,.2);outline-offset:3px}.owner-package-choice span:last-child{min-width:0}.owner-package-choice strong,.owner-package-choice small,.owner-package-choice em{display:block}.owner-package-choice strong{color:#183f69}.owner-package-choice small{margin-top:4px;color:#566b60;line-height:1.45}.owner-package-choice em{margin-top:8px;color:#6c776f;font-size:.78rem;font-style:normal;line-height:1.45}.owner-package-choice-help{margin:10px 0 0;color:#8a5d00;font-size:.86rem;font-weight:700}.owner-package-choice-help[hidden]{display:none}.applicant-package-link{display:inline-flex;align-items:center;gap:5px;margin-top:14px;color:#126f3c;font-weight:800;text-decoration:none}.applicant-package-link:hover{text-decoration:underline}.applicant-existing-package-note{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:#f5f8f6;color:#617168;font-size:.88rem}.applicant-entitlement-form [data-applicant-continue]:disabled{opacity:.48;cursor:not-allowed}.applicant-entitlement-panel[hidden],.applicant-entitlement-placeholder[hidden]{display:none!important}@keyframes applicant-entitlement-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.applicant-type-grid,.owner-package-choice-grid{grid-template-columns:1fr}.applicant-entitlement-placeholder{align-items:flex-start;flex-direction:column;text-align:left}.applicant-entitlement-heading{flex-direction:column}.applicant-entitlement-panel ul{grid-template-columns:1fr}.applicant-package-link{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.applicant-entitlement-panel{animation:none}.applicant-type-card{transition:none}}
.submission-stepper{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.submission-auth-workspace{gap:18px}.submission-auth-status{margin:0;padding:12px 14px;border-radius:10px;background:#eef8f1;color:#17663a;font-weight:800}.submission-auth-status.is-error{background:#fff1f0;color:#b42318}.submission-auth-method-card{display:grid;gap:12px;padding:20px;border:1px solid #dce8e1;border-radius:14px;background:#fbfdfc}.submission-inline-auth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.submission-inline-auth h3,.submission-inline-auth .auth-consent,.submission-inline-auth button{grid-column:1/-1}.submission-inline-auth label{display:grid;gap:7px}.submission-auth-social-action{display:flex;width:100%;justify-content:center}.submission-verification-wait{padding:22px;border:1px solid #c7e1d1;border-radius:14px;background:#f5fbf7}.submission-verification-wait h3{margin-top:0}.submission-verification-wait [data-local-verification-link]{display:inline-flex;margin-left:12px;color:#126f3c;font-weight:800}.submission-verification-wait [hidden]{display:none!important}.contact-confirm-form button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.submission-auth-method-card{padding:16px}.submission-inline-auth{grid-template-columns:1fr}.submission-inline-auth h3,.submission-inline-auth .auth-consent,.submission-inline-auth button{grid-column:auto}.submission-verification-wait [data-local-verification-link]{display:flex;margin:12px 0 0}}
[data-grouped-number]{font-variant-numeric:tabular-nums}

/* Property quota disposal: clear entry point and sensitive-data workspace */
.quota-disposal-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:4px 20px 20px;padding:16px;border:1px solid #ead9aa;border-radius:14px;background:linear-gradient(135deg,#fffdf6 0%,#fff 62%,#f5fbf7 100%)}
.quota-disposal-entry-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#fff0c8;color:#8a5b00;font-size:1.25rem;box-shadow:inset 0 0 0 1px rgba(163,111,8,.08)}
.quota-disposal-entry-copy{display:grid;gap:3px;min-width:0}.quota-disposal-entry-copy strong{color:#153f2b}.quota-disposal-entry-copy small{color:#63766a;line-height:1.45}
.quota-disposal-entry-button{justify-content:center;gap:8px;border-color:#b9d9c4;background:#f1faf4;color:#126b3b;white-space:nowrap}.quota-disposal-entry-button:hover{border-color:#149050;background:#e9f7ee}
.admin-disposal-page{display:grid;gap:18px;width:min(100%,1280px);margin:0 auto;padding-bottom:30px;min-width:0}
.disposal-hero{align-items:center;border-color:#d9e8de;background:linear-gradient(135deg,#fff 0%,#f5fbf7 66%,#fff8e8 100%);box-shadow:0 12px 34px rgba(17,84,44,.06)}
.disposal-hero-copy{display:grid;gap:10px;min-width:0}.disposal-title-line{display:flex;align-items:center;gap:14px}.disposal-title-line>div{min-width:0}.disposal-title-line h1{margin:2px 0 0;color:#113d28}.disposal-title-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:15px;background:linear-gradient(145deg,#159b55,#08763e);color:#fff;font-size:1.35rem;box-shadow:0 9px 20px rgba(11,123,66,.2)}
.disposal-hero-copy>p{max-width:830px;margin:0;color:#586e61;line-height:1.6}.disposal-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.disposal-sensitive-badge{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border-radius:999px;background:#fff3d8;color:#855800;font-size:.8rem;font-weight:900}.disposal-sensitive-badge span{color:#d18a00;font-size:.65rem}
.disposal-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.disposal-summary-grid article{display:grid;align-content:start;gap:5px;min-height:112px;padding:17px;border:1px solid #dce9e1;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(19,73,42,.05);min-width:0}.disposal-summary-grid article>span{color:#63776b;font-size:.78rem;font-weight:900;letter-spacing:.03em}.disposal-summary-grid article>strong{color:#0b7c40;font-size:1.32rem;overflow-wrap:anywhere}.disposal-summary-grid article>small{color:#748278;line-height:1.4}
.disposal-filter-card,.disposal-list-card,.disposal-confirm-card{padding:20px;border-radius:17px;min-width:0}.disposal-section-heading,.disposal-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.disposal-section-heading h2,.disposal-list-heading h2{margin:3px 0 0;color:#163f2b}.disposal-section-heading p,.disposal-list-heading p{margin:5px 0 0;color:#65786c;line-height:1.45}.disposal-section-heading>.btn{flex:0 0 auto}
.disposal-filter-form{display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(150px,.65fr) repeat(2,minmax(175px,.8fr)) minmax(145px,.55fr);gap:12px;align-items:end}.disposal-filter-form label,.disposal-action-fields label,.disposal-confirm-form label{display:grid;gap:7px;min-width:0;color:#315d43;font-size:.86rem;font-weight:900}.disposal-filter-form label>small,.disposal-action-fields label>small{color:#7a8b80;font-size:.76rem;font-weight:600}.disposal-filter-form input,.disposal-filter-form select,.disposal-action-fields textarea,.disposal-action-fields select,.disposal-confirm-form input{width:100%;min-height:45px;border-color:#d6e3da;border-radius:11px;background:#fff}.disposal-filter-form input::placeholder,.disposal-action-fields textarea::placeholder{color:#929f97}.disposal-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.disposal-filter-actions .btn{min-width:110px;justify-content:center}
.disposal-list-heading{align-items:center}.disposal-list-heading .status-pill{flex:0 0 auto}.disposal-table-wrap{border:1px solid #e0e9e3;border-radius:13px}.disposal-table{min-width:820px;margin:0}.disposal-table th{background:#f4f9f6;color:#315d43;font-size:.78rem;letter-spacing:.02em}.disposal-table td,.disposal-table th{padding:14px 13px;vertical-align:middle}.disposal-table tbody tr:hover{background:#fbfefc}.disposal-check-cell{width:48px;text-align:center}.disposal-check-cell input{width:18px;height:18px;accent-color:#159451}.disposal-property-cell,.disposal-owner-cell{display:grid;gap:3px}.disposal-property-cell strong,.disposal-owner-cell strong{color:#153f2b}.disposal-property-cell span,.disposal-owner-cell span,.disposal-owner-cell small{color:#687a6f;font-size:.83rem;overflow-wrap:anywhere}.disposal-table time{color:#50675a;white-space:nowrap;font-variant-numeric:tabular-nums}.disposal-due-date{display:inline-flex;padding:5px 8px;border-radius:8px;background:#fff2d9;color:#835800!important;font-weight:800}
.disposal-empty-state{display:flex;align-items:center;justify-content:center;gap:15px;min-height:180px;padding:28px;border:1px dashed #cbdcd1;border-radius:14px;background:#f8fbf9;text-align:left}.disposal-empty-state>span{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:14px;background:#e3f5e9;color:#118149;font-size:1.35rem;font-weight:900}.disposal-empty-state h2{margin:0;color:#214a33}.disposal-empty-state p{margin:5px 0 0;color:#63766a}
.disposal-action-panel{display:grid;gap:15px;margin-top:18px;padding:18px;border:1px solid #dce8e0;border-radius:14px;background:#f8fbf9}.disposal-action-fields{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:14px}.disposal-action-fields textarea{min-height:92px;padding:11px 13px;resize:vertical}.disposal-action-fields b{color:#b43831}.disposal-preview-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:14px;border-top:1px solid #e0e9e3}.disposal-preview-actions .btn{justify-content:center}.disposal-preview-actions .btn:disabled{opacity:.48;cursor:not-allowed}
.disposal-confirm-card{display:grid;gap:16px;border-color:#b9dfc7;background:linear-gradient(145deg,#f5fcf7,#fff)}.disposal-confirm-card.is-danger{border-color:#e7c2bd;background:linear-gradient(145deg,#fff6f5,#fff)}.disposal-confirm-heading{display:flex;align-items:flex-start;gap:14px}.disposal-confirm-heading h2{margin:3px 0 0}.disposal-confirm-heading p{margin:6px 0 0;color:#64766b}.disposal-confirm-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:#def3e5;color:#087a3e;font-size:1.25rem;font-weight:900}.is-danger .disposal-confirm-icon{background:#ffe4e1;color:#b13932}.disposal-confirm-warning{display:grid;gap:4px;padding:13px 15px;border-radius:11px;background:#fff4d9;color:#73520f}.disposal-confirm-warning span{font-size:.86rem;line-height:1.45}.disposal-confirm-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;align-items:end}.disposal-confirm-form .btn{min-height:45px;justify-content:center}.disposal-pagination{justify-content:center}
@media(max-width:1050px){.disposal-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.disposal-filter-search{grid-column:1/-1}.disposal-action-fields{grid-template-columns:1fr}.disposal-confirm-form{grid-template-columns:repeat(2,minmax(0,1fr))}.disposal-confirm-form .btn{grid-column:1/-1}.quota-disposal-entry{grid-template-columns:auto minmax(0,1fr)}.quota-disposal-entry-button{grid-column:1/-1;width:100%}}
@media(max-width:700px){.quota-disposal-entry{margin:4px 14px 16px;padding:14px}.admin-disposal-page{gap:13px}.disposal-hero{display:grid;grid-template-columns:1fr;align-items:start}.disposal-hero-actions{display:grid;grid-template-columns:1fr;width:100%}.disposal-hero-actions .btn,.disposal-sensitive-badge{width:100%;justify-content:center}.disposal-summary-grid,.disposal-filter-form,.disposal-confirm-form{grid-template-columns:1fr}.disposal-filter-search{grid-column:auto}.disposal-filter-actions{display:grid;grid-template-columns:1fr 1fr}.disposal-filter-actions .btn{width:100%}.disposal-section-heading,.disposal-list-heading{align-items:stretch;flex-direction:column}.disposal-section-heading>.btn,.disposal-list-heading .status-pill{align-self:flex-start}.disposal-filter-card,.disposal-list-card,.disposal-confirm-card{padding:16px}.disposal-preview-actions{display:grid;grid-template-columns:1fr}.disposal-preview-actions .btn{width:100%}.disposal-confirm-form .btn{grid-column:auto}.disposal-title-line{align-items:flex-start}.disposal-title-icon{width:44px;height:44px;flex-basis:44px}.disposal-empty-state{align-items:flex-start;min-height:0;text-align:left}.disposal-action-panel{padding:14px}}
@media(max-width:430px){.quota-disposal-entry{grid-template-columns:1fr}.quota-disposal-entry-icon{width:40px;height:40px}.disposal-filter-actions{grid-template-columns:1fr}.disposal-title-line{display:grid;grid-template-columns:auto minmax(0,1fr)}.disposal-title-line h1{font-size:1.65rem}.disposal-confirm-heading{display:grid;grid-template-columns:auto minmax(0,1fr)}}

/* Admin language settings: separated, readable locale scopes */
.admin-language-page{display:grid;gap:18px;width:min(100%,1260px);margin:0 auto;padding-bottom:30px;min-width:0}
.language-settings-hero{align-items:center;border-color:#d8e8de;background:linear-gradient(135deg,#fff 0%,#f4fbf7 68%,#f2f7ff 100%);box-shadow:0 12px 34px rgba(17,84,44,.06)}.language-hero-copy{display:grid;gap:10px;min-width:0}.language-title-line{display:flex;align-items:center;gap:14px}.language-title-line>div{min-width:0}.language-title-line h1{margin:2px 0 0;color:#123e29}.language-title-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:15px;background:linear-gradient(145deg,#148f50,#08703d);color:#fff;font-size:1.3rem;font-weight:900;box-shadow:0 9px 20px rgba(11,123,66,.2)}.language-hero-copy>p{max-width:820px;margin:0;color:#586e61;line-height:1.6}
.language-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.language-summary-grid article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;min-height:112px;padding:17px;border:1px solid #dce9e1;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(19,73,42,.05);min-width:0}.language-summary-grid article>div{display:grid;gap:4px;min-width:0}.language-summary-grid article>div>span{color:#667a6d;font-size:.78rem;font-weight:900;letter-spacing:.03em}.language-summary-grid article strong{color:#153f2b;font-size:1rem;overflow-wrap:anywhere}.language-summary-grid article small{color:#75847b}.language-summary-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;font-size:1.15rem;font-weight:900}.language-summary-icon.guest{background:#e8f6ed;color:#118149}.language-summary-icon.member{background:#eaf1fb;color:#315f94}.language-summary-icon.isolated{background:#fff2d7;color:#956100}
.language-settings-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:18px;min-width:0}.language-settings-form{display:grid;gap:18px;padding:21px;border-radius:17px;min-width:0}.language-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.language-form-heading h2{margin:3px 0 0;color:#163f2b}.language-form-heading p{margin:6px 0 0;color:#65786c}.language-scope-list{display:grid;gap:14px}.language-scope-card{display:grid;gap:0;border:1px solid #dce8e0;border-radius:15px;background:#fbfdfc;overflow:hidden}.language-scope-card.guest-scope{border-top:3px solid #169451}.language-scope-card.member-scope{border-top:3px solid #5279ad}.language-scope-heading{display:flex;align-items:flex-start;gap:13px;padding:18px}.language-scope-heading>div{min-width:0}.language-scope-heading h3{margin:3px 0 0;color:#153f2b;font-size:1.1rem}.language-scope-heading p{margin:5px 0 0;color:#64776b;line-height:1.45}.language-scope-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#e7f5ec;color:#108149;font-size:1.18rem;font-weight:900}.member-scope .language-scope-icon{background:#eaf1fa;color:#315f94}
.language-scope-control,.language-default-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 18px;border-top:1px solid #e1e9e4}.language-scope-control>div,.language-default-field>span{display:grid;gap:3px;min-width:0}.language-scope-control strong,.language-default-field strong{color:#264d35}.language-scope-control small,.language-default-field small{color:#6d7d73;font-weight:600;line-height:1.4}.language-default-field select{width:230px;min-height:44px;border-color:#d4e1d8;border-radius:11px;background:#fff;font-weight:800;color:#1f4b32}
.language-toggle{position:relative;display:grid;grid-template-columns:auto auto;grid-template-areas:"track state";align-items:center;gap:9px;min-width:142px;cursor:pointer}.language-toggle input{position:absolute;width:1px;height:1px;opacity:0}.language-toggle-track{grid-area:track;display:block;width:48px;height:27px;padding:3px;border-radius:999px;background:#b8c5bd;transition:background .18s ease}.language-toggle-track>span{display:block;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(22,51,33,.22);transition:transform .18s ease}.language-toggle input:checked~.language-toggle-track{background:#159451}.language-toggle input:checked~.language-toggle-track>span{transform:translateX(21px)}.language-toggle-on,.language-toggle-off{grid-area:state;color:#687a6f;font-size:.82rem;font-weight:900;white-space:nowrap}.language-toggle-on{display:none;color:#117a43}.language-toggle input:checked~.language-toggle-on{display:block}.language-toggle input:checked~.language-toggle-off{display:none}.language-toggle:has(input:focus-visible){outline:3px solid rgba(21,148,81,.2);outline-offset:5px;border-radius:8px}
.language-save-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid #cee4d6;border-radius:14px;background:linear-gradient(135deg,#f1faf4,#fff)}.language-save-bar>div{display:grid;gap:3px}.language-save-bar strong{color:#17482f}.language-save-bar span{color:#64776b;font-size:.84rem}.language-save-bar .btn{flex:0 0 auto;justify-content:center;min-height:44px}
.language-settings-sidebar{display:grid;gap:14px;position:sticky;top:92px;min-width:0}.language-runtime-card,.language-help-card{padding:19px;border-radius:16px}.language-runtime-card h2{margin:4px 0 0;color:#163f2b}.language-runtime-card>p{margin:8px 0 0;color:#62766a;line-height:1.55}.language-scope-flow{display:grid;gap:8px;margin-top:17px}.language-scope-flow>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;align-items:center;padding:12px;border:1px solid #dfe9e2;border-radius:12px;background:#f8fbf9;min-width:0}.language-scope-flow>div code{grid-column:2;overflow-wrap:anywhere;color:#42644f;font-size:.75rem}.language-flow-dot{width:10px;height:10px;border-radius:50%;background:#169451;box-shadow:0 0 0 4px rgba(22,148,81,.11)}.language-flow-dot.member{background:#5279ad;box-shadow:0 0 0 4px rgba(82,121,173,.11)}.language-flow-divider{justify-self:center;padding:3px 9px;border-radius:999px;background:#fff2d7;color:#87600e;font-size:.72rem;font-weight:900}.language-help-card{display:flex;align-items:flex-start;gap:12px;border-color:#d9e5ec;background:#f7fbfd}.language-help-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#e5f0f7;color:#315f7a;font-weight:900}.language-help-card>div{min-width:0}.language-help-card strong{color:#22465b}.language-help-card p{margin:5px 0 0;color:#60727b;line-height:1.55}.language-help-card code{overflow-wrap:anywhere}
@media(max-width:1000px){.language-settings-layout{grid-template-columns:1fr}.language-settings-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.admin-language-page{gap:13px}.language-settings-hero{display:grid;grid-template-columns:1fr;align-items:start}.language-settings-hero>.btn{width:100%;justify-content:center}.language-summary-grid,.language-settings-sidebar{grid-template-columns:1fr}.language-summary-grid article{min-height:0}.language-settings-form{padding:16px}.language-form-heading{align-items:stretch;flex-direction:column}.language-form-heading .status-pill{align-self:flex-start}.language-scope-control,.language-default-field{grid-template-columns:1fr;align-items:start}.language-default-field select{width:100%}.language-save-bar{align-items:stretch;flex-direction:column}.language-save-bar .btn{width:100%}.language-title-icon{width:44px;height:44px;flex-basis:44px}.language-scope-heading{padding:15px}.language-scope-control,.language-default-field{padding:14px 15px}}
@media(max-width:430px){.language-title-line{align-items:flex-start}.language-title-line h1{font-size:1.65rem}.language-scope-heading{display:grid;grid-template-columns:auto minmax(0,1fr)}.language-toggle{min-width:0}.language-runtime-card,.language-help-card{padding:16px}}
@media(prefers-reduced-motion:reduce){.language-toggle-track,.language-toggle-track>span{transition:none}}

/* Admin system health and controlled deployment */
.admin-system-page{display:grid;gap:20px;max-width:1240px;margin:0 auto;padding:22px 24px 34px}.system-page-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.system-page-hero>div{max-width:820px}.system-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.system-summary-card{display:grid;align-content:start;gap:7px;min-height:138px;border-top:4px solid #d7e4da}.system-summary-card.is-ready{border-top-color:#1c9b57}.system-summary-card.needs-attention{border-top-color:#d08a18}.system-summary-card>span{color:#64756a;font-size:.88rem}.system-summary-card>strong{font-size:1.35rem;color:#123b2a;overflow-wrap:anywhere}.system-summary-card>small{color:#68786e}.system-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.system-section-heading h2{margin:3px 0 0}.system-check-list{display:grid;gap:10px}.system-check-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;border:1px solid #dfe9e2;border-radius:13px;background:#fbfdfb}.system-check-row.needs-attention{border-color:#efd7ac;background:#fffaf2}.system-check-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e5f6ec;color:#087c3e;font-weight:800}.system-check-row.needs-attention .system-check-icon{background:#fff0d5;color:#9b630d}.system-check-row>div{display:grid;gap:3px}.system-check-row small{color:#68786e}.status-pill.muted{background:#eef3ef;color:#5f7065}.system-safety-note,.deployment-lock-note{display:flex;align-items:flex-start;gap:13px;background:#f1f8f3}.system-note-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#dff3e7;color:#087c3e;font-weight:800}.system-safety-note p,.deployment-lock-note p{margin:5px 0 0;color:#607067}.deployment-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:16px}.deployment-release-list{display:grid;gap:10px}.deployment-release-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #dfe9e2;border-radius:12px}.deployment-release-list code{font-weight:800;color:#144630}.system-empty-state{padding:20px;border:1px dashed #cbdcd0;border-radius:13px;background:#f8fbf9}.system-empty-state p{margin-bottom:0}.deployment-readiness-list{display:grid;gap:0;margin-top:10px}.deployment-readiness-list>div{display:grid;gap:5px;padding:13px 0;border-bottom:1px solid #e3ebe5}.deployment-readiness-list>div:last-child{border-bottom:0}.deployment-readiness-list span{color:#65766b;font-size:.88rem}.deployment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}.deployment-steps li{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid #dfe9e2;border-radius:13px;background:#fbfdfb}.deployment-steps li>span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#159653;color:#fff;font-weight:800}.deployment-steps li>div{display:grid;gap:5px}.deployment-steps p{margin:0;color:#64756a;font-size:.88rem;line-height:1.55}
@media(max-width:980px){.system-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deployment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.admin-system-page{padding:16px 12px 28px}.system-page-hero{display:grid}.system-page-hero .btn{width:100%;text-align:center}.system-summary-grid,.deployment-layout,.deployment-steps{grid-template-columns:1fr}.system-summary-card{min-height:0}.system-section-heading{align-items:flex-start}.system-check-row{grid-template-columns:38px minmax(0,1fr)}.system-check-row>.status-pill{grid-column:2;justify-self:start}.deployment-release-list>div{align-items:flex-start;flex-direction:column}}

/* Storage capacity planning */
.storage-capacity-hero,.welcome-admin-hero{align-items:center;min-width:0}.storage-capacity-hero>div,.welcome-admin-hero>div{min-width:0}.storage-capacity-hero p,.welcome-admin-hero p{max-width:820px;margin-bottom:0;color:#61756a;line-height:1.55}.storage-capacity-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:18px 0}.storage-capacity-summary article{display:grid;align-content:start;gap:7px;min-width:0;min-height:126px;border-top:4px solid #169451}.storage-capacity-summary span{color:#65786c;font-size:.82rem;font-weight:800}.storage-capacity-summary strong{color:#153f2b;font-size:1.35rem;overflow-wrap:anywhere}.storage-capacity-summary small{color:#6b7c71;line-height:1.45;overflow-wrap:anywhere}
.storage-trend-card,.storage-member-breakdown{display:grid;gap:17px;min-width:0}.storage-trend-card>header,.storage-member-breakdown>header,.storage-capacity-section>header,.storage-provider-capacity-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.storage-trend-card h2,.storage-member-breakdown h2,.storage-capacity-section h2,.storage-provider-capacity-card h3{margin:3px 0 0;color:#153f2b}.storage-trend-card header p,.storage-capacity-section header p,.storage-member-breakdown header p{margin:6px 0 0;color:#64776b}.storage-trend-legend{display:flex;flex-wrap:wrap;gap:12px}.storage-trend-legend span{display:inline-flex;align-items:center;gap:7px;color:#53685b;font-size:.82rem;font-weight:800}.storage-trend-legend span:before{content:"";width:22px;height:4px;border-radius:999px;background:#169451}.storage-trend-legend .provider-used:before{background:#4674ac}.storage-trend-legend .member-used:before{background:#d48a19}.storage-trend-chart{display:block;width:100%;height:260px;border:1px solid #e0e9e3;border-radius:13px;background:linear-gradient(#fff,#f7fbf8);overflow:visible}.storage-trend-chart path{fill:none;stroke:#dce7df;stroke-width:.45}.storage-trend-chart polyline{fill:none;stroke:#169451;stroke-width:1.8;vector-effect:non-scaling-stroke}.storage-trend-chart polyline.provider-used{stroke:#4674ac}.storage-trend-chart polyline.member-used{stroke:#d48a19}.storage-trend-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #e0e9e3;border-radius:12px}.storage-trend-table-wrap table{width:100%;min-width:620px;margin:0}.storage-trend-table-wrap th{background:#f4f9f6;color:#315d43}.storage-trend-table-wrap td,.storage-trend-table-wrap th{padding:12px;text-align:left;white-space:nowrap}
.storage-capacity-section{display:grid;gap:15px;margin:20px 0;min-width:0}.storage-provider-capacity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.storage-provider-capacity-card{display:grid;gap:16px;min-width:0}.storage-provider-capacity-card header>div{min-width:0}.storage-provider-capacity-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid #e0e9e3;border-radius:12px;overflow:hidden}.storage-provider-capacity-card dl>div{display:grid;gap:4px;padding:12px;border-bottom:1px solid #e0e9e3;min-width:0}.storage-provider-capacity-card dl>div:nth-last-child(-n+2){border-bottom:0}.storage-provider-capacity-card dt{color:#687a6f;font-size:.78rem;font-weight:800}.storage-provider-capacity-card dd{margin:0;color:#173f2b;font-weight:800;overflow-wrap:anywhere}.storage-capacity-progress{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;color:#315d43;font-weight:800}.storage-capacity-progress progress{width:100%;height:12px;accent-color:#169451}.storage-capacity-warning{margin:0;padding:10px 12px;border-radius:10px;background:#fff4da;color:#805b10;font-size:.84rem}.storage-member-breakdown{margin-top:20px}

.storage-trend-chart circle{fill:#169451;vector-effect:non-scaling-stroke}.storage-trend-chart circle.provider-used{fill:#4674ac}.storage-trend-chart circle.member-used{fill:#d48a19}.storage-trend-waiting{margin:0;padding:10px 12px;border-radius:10px;background:#f3f8f5;color:#607368;font-size:.84rem}

/* Welcome notification administration and member modal */
.welcome-admin-status{display:grid;gap:3px;min-width:170px;padding:13px 16px;border:1px solid #cee4d6;border-radius:14px;background:#f4fbf7}.welcome-admin-status span,.welcome-admin-status small{color:#65786c;font-size:.8rem}.welcome-admin-status strong{color:#117a43;font-size:1.05rem}.welcome-admin-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);align-items:start;gap:17px;min-width:0}.welcome-admin-form{display:grid;gap:18px;min-width:0}.welcome-admin-form label{display:grid;gap:7px;min-width:0;color:#315d43;font-weight:800}.welcome-admin-form input,.welcome-admin-form textarea{width:100%;border-color:#d5e2d9;border-radius:11px}.welcome-admin-form textarea{resize:vertical;line-height:1.55}.welcome-active-switch{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-radius:12px;background:#f3faf5}.welcome-active-switch label{display:flex;align-items:center;gap:9px}.welcome-active-switch input{width:20px;height:20px;accent-color:#169451}.welcome-active-switch small,.welcome-admin-form small,.welcome-admin-form .form-hint{color:#687a6f;line-height:1.45}.welcome-language-grid,.welcome-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.welcome-admin-form footer{display:flex;justify-content:flex-end}.welcome-admin-preview{display:grid;gap:14px;position:sticky;top:90px;min-width:0}.welcome-preview-window{display:grid;justify-items:center;gap:11px;padding:25px 18px;border:1px solid #dbe8df;border-radius:16px;background:linear-gradient(145deg,#f2fbf5,#fff);text-align:center;min-width:0}.welcome-preview-window h2,.welcome-preview-window p{max-width:100%;margin:0;overflow-wrap:anywhere}.welcome-preview-window p{color:#61756a;line-height:1.6}.welcome-preview-mark,.welcome-notification-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:linear-gradient(145deg,#159451,#08723e);color:#fff;font-size:1.5rem;font-weight:900;box-shadow:0 10px 24px rgba(12,120,64,.22)}.welcome-admin-preview form,.welcome-admin-preview form .btn{width:100%}.welcome-admin-preview form .btn{justify-content:center}
body.welcome-notification-open{overflow:hidden}.welcome-notification-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px}.welcome-notification-backdrop{position:absolute;inset:0;background:rgba(8,25,16,.66);backdrop-filter:blur(3px)}.welcome-notification-panel{position:relative;z-index:1;display:grid;justify-items:center;gap:11px;width:min(100%,560px);max-height:calc(100vh - 36px);overflow-y:auto;padding:31px;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(3,20,11,.35);text-align:center}.welcome-notification-panel h2{max-width:100%;margin:3px 0 0;color:#153f2b;font-size:1.6rem;overflow-wrap:anywhere}.welcome-notification-panel>p{max-width:100%;margin:0;color:#596f61;line-height:1.7;overflow-wrap:anywhere}.welcome-notification-panel form{width:100%}.welcome-notification-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:9px}.welcome-notification-actions .btn{min-width:145px;justify-content:center}
@media(max-width:1100px){.storage-capacity-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.storage-provider-capacity-grid,.welcome-admin-layout{grid-template-columns:1fr}.welcome-admin-preview{position:static}.storage-capacity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.storage-capacity-hero,.welcome-admin-hero,.storage-trend-card>header,.storage-member-breakdown>header,.storage-capacity-section>header{display:grid;grid-template-columns:1fr}.storage-capacity-hero form,.storage-capacity-hero .btn{width:100%}.storage-capacity-summary,.welcome-language-grid,.welcome-schedule-grid{grid-template-columns:1fr}.storage-capacity-summary article{min-height:0}.storage-provider-capacity-card dl{grid-template-columns:1fr}.storage-provider-capacity-card dl>div:nth-last-child(2){border-bottom:1px solid #e0e9e3}.welcome-active-switch{align-items:flex-start;flex-direction:column}.welcome-admin-status{width:100%}.welcome-admin-form{padding:16px}.welcome-admin-form footer .btn{width:100%;justify-content:center}.welcome-notification-modal{padding:10px}.welcome-notification-panel{max-height:calc(100vh - 20px);padding:23px 16px;border-radius:18px}.welcome-notification-actions{display:grid;grid-template-columns:1fr}.welcome-notification-actions .btn{width:100%;min-width:0}.storage-trend-chart{height:200px}}
@media(prefers-reduced-motion:reduce){.welcome-notification-backdrop{backdrop-filter:none}}

/* Blog YouTube attachment */
.blog-video-embed,.blog-youtube-preview{margin:28px 0}.blog-video-embed>div,.blog-youtube-preview>div{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#0b1510;box-shadow:0 14px 34px rgba(10,34,20,.14)}.blog-video-embed iframe,.blog-youtube-preview iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.blog-youtube-preview{padding:14px;border:1px solid #dfe8e2;border-radius:15px;background:#f7fbf8}.blog-youtube-preview>div{border-radius:11px}.blog-youtube-preview p{margin:10px 2px 0;color:#647269;font-size:.88rem}.blog-youtube-field small{display:block;margin-top:7px;color:#647269}

/* Property YouTube attachment */
.property-youtube-field{display:grid;gap:8px;margin-top:20px;padding:18px;border:1px solid #dce8e1;border-radius:15px;background:#f8fbf9}.property-youtube-field>label{display:grid;gap:8px}.property-youtube-field>label>span{font-weight:750;color:#143c2b}.property-youtube-preview{margin-top:8px;padding:12px;border:1px solid #dce8e1;border-radius:14px;background:#fff}.property-youtube-preview>div,.property-video-embed{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:13px;background:#0b1510;box-shadow:0 12px 30px rgba(10,34,20,.13)}.property-youtube-preview iframe,.property-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.property-video-embed{max-width:960px;margin:18px auto 0}@media(max-width:640px){.property-youtube-field{padding:14px}.property-youtube-preview{padding:8px}.property-youtube-preview>div,.property-video-embed{border-radius:10px}}

/* Phase 43.1: invoice foundation */
.invoice-hero{align-items:center}.invoice-count{padding:9px 14px;border:1px solid #bfe5ca;border-radius:999px;background:#effaf2;color:#087a36;font-weight:800;white-space:nowrap}.invoice-filter{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(130px,.55fr) auto;gap:14px;align-items:end;margin-top:18px}.invoice-filter-member{grid-template-columns:minmax(220px,360px) auto;justify-content:start}.invoice-filter label{display:grid;gap:7px;font-weight:700}.invoice-filter input,.invoice-filter select{width:100%;min-height:46px}.invoice-filter-actions{display:flex;gap:8px;align-items:center}.invoice-list{margin-top:18px;padding:0;overflow:hidden}.invoice-list-row{display:grid;grid-template-columns:minmax(230px,1.35fr) minmax(430px,2fr) auto;gap:18px;align-items:center;padding:20px;border-bottom:1px solid var(--border)}.invoice-list-row:last-child{border-bottom:0}.invoice-list-primary h2{font-size:1.05rem;margin:8px 0 4px}.invoice-list-primary p{margin:0;color:var(--muted)}.invoice-list-row dl,.invoice-detail-list{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:12px;margin:0}.invoice-list-row dl div,.invoice-detail-list div{display:grid;gap:4px}.invoice-list-row dt,.invoice-detail-list dt{font-size:.78rem;color:var(--muted)}.invoice-list-row dd,.invoice-detail-list dd{margin:0;font-weight:800}.invoice-empty{padding:44px 20px;text-align:center;color:var(--muted)}.invoice-pagination{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:18px}.invoice-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.invoice-summary-card{grid-column:1/-1}.invoice-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.invoice-summary-heading>strong{font-size:1.45rem}.invoice-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.invoice-line:last-child{border-bottom:0}.invoice-line div{display:grid;gap:4px}.invoice-line small,.invoice-history span,.invoice-history small{color:var(--muted)}.invoice-history{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--border)}.invoice-pay-action{margin-top:20px}.invoice-status-paid{background:#e5f7eb;color:#087a36}.invoice-status-issued,.invoice-status-partially_paid{background:#fff5d9;color:#8a5a00}.invoice-status-overdue{background:#ffebeb;color:#b42318}.invoice-status-void,.invoice-status-written_off{background:#edf0f2;color:#59636b}
.member-invoice-hero{margin-bottom:18px}.member-invoice-overview{padding:24px}.member-invoice-overview-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);gap:20px;align-items:stretch}.member-invoice-overview-heading>div:first-child{display:grid;justify-items:start;align-content:start;gap:8px}.member-invoice-overview-heading p{margin:4px 0 0;color:var(--muted)}.member-invoice-overview-heading>div:first-child>strong{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.05;color:#123e29}.member-invoice-outstanding{display:grid;align-content:center;gap:5px;padding:18px 20px;border:1px solid #d8e7dd;border-radius:16px;background:#f7fbf8}.member-invoice-outstanding.is-payable{border-color:#f0cf8d;background:#fff9e9}.member-invoice-outstanding span{color:#596d62;font-weight:800}.member-invoice-outstanding strong{font-size:1.55rem;color:#123e29}.member-invoice-outstanding.is-payable strong{color:#9a5b00}.member-invoice-outstanding small{color:var(--muted)}.member-invoice-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 0}.member-invoice-facts div{display:grid;gap:5px;min-width:0;padding-top:14px;border-top:1px solid #dce8e0}.member-invoice-facts dt{color:var(--muted);font-size:.8rem}.member-invoice-facts dd{margin:0;font-weight:800;overflow-wrap:anywhere}.member-invoice-primary-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:14px 16px;border-radius:13px;background:#eef8f1}.member-invoice-primary-action p{margin:0;color:#315d43}.member-invoice-primary-action .btn{flex:0 0 auto}.member-invoice-bank-transfer{display:grid;gap:18px;margin-top:18px;padding:24px;border-color:#bfe5ca;background:linear-gradient(145deg,#fbfefc,#f1faf4)}.member-invoice-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.member-invoice-section-heading h2{margin:3px 0 0;font-size:1.15rem}.member-invoice-section-heading>span{color:var(--muted);font-size:.82rem;font-weight:800}.member-invoice-bank-badge{padding:8px 11px;border:1px solid #bfe5ca;border-radius:999px;background:#fff;color:#087a36!important;white-space:nowrap}.member-invoice-transfer-reference{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.member-invoice-transfer-reference>div{display:grid;gap:5px;padding:15px 16px;border:1px solid #d5e8db;border-radius:13px;background:#fff}.member-invoice-transfer-reference span{color:var(--muted);font-size:.8rem}.member-invoice-transfer-reference strong{font-size:1.12rem;overflow-wrap:anywhere}.member-invoice-transfer-note{padding:14px 16px;border-left:4px solid #159451;border-radius:0 12px 12px 0;background:#fff}.member-invoice-transfer-note p{margin:6px 0 0;color:#40584a}.member-invoice-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.member-invoice-bank-account{display:grid;gap:14px;min-width:0;padding:18px;border:1px solid #d5e8db;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(16,69,39,.06)}.member-invoice-bank-account header{display:grid;gap:3px}.member-invoice-bank-account header span{color:#159451;font-size:.76rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.member-invoice-bank-account header strong{font-size:1.08rem}.member-invoice-bank-account dl{display:grid;gap:10px;margin:0}.member-invoice-bank-account dl div{display:grid;grid-template-columns:minmax(90px,.45fr) minmax(0,1fr);gap:10px}.member-invoice-bank-account dt{color:var(--muted);font-size:.8rem}.member-invoice-bank-account dd{margin:0;font-weight:800;overflow-wrap:anywhere}.member-invoice-bank-account code{font-family:inherit;font-size:1.05rem;color:#087a36}.member-invoice-bank-account p{margin:0;padding-top:12px;border-top:1px solid #e2ece6;color:#40584a;font-size:.86rem}.member-invoice-bank-footnote{margin:0;color:#596d62;font-size:.84rem}.member-invoice-bank-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;border-top:1px solid #d5e8db}.member-invoice-bank-actions span{color:#315d43}.member-invoice-bank-actions .btn{flex:0 0 auto}.member-invoice-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.member-invoice-section{padding:22px}.member-invoice-section .member-invoice-section-heading{padding-bottom:10px;border-bottom:1px solid #e0e9e3}.member-invoice-line{min-height:68px}.invoice-empty.compact{padding:24px 4px}
.billing-state-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:16px 18px;border:1px solid #e8c96b;border-radius:14px;background:#fff8dc;color:#533d00}.billing-state-banner>div{display:grid;gap:4px}.billing-state-banner span{color:#6e5b25}.billing-state-restricted{border-color:#efaca8;background:#fff0ef;color:#8e1b14}.billing-state-payment_review_hold{border-color:#9fcbe8;background:#eff8ff;color:#15557b}
@media(max-width:800px){.billing-state-banner{align-items:stretch;flex-direction:column}.billing-state-banner .btn{width:100%}.invoice-hero{align-items:flex-start}.invoice-filter,.invoice-filter-member{grid-template-columns:1fr}.invoice-filter-actions .btn{flex:1}.invoice-list-row{grid-template-columns:1fr;padding:18px}.invoice-list-row dl{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.invoice-list-row>.btn{width:100%}.invoice-detail-grid{grid-template-columns:1fr}.invoice-summary-card{grid-column:auto}.invoice-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-summary-heading{align-items:flex-start;flex-direction:column}.invoice-line{align-items:flex-start}}
@media(max-width:800px){.member-invoice-overview-heading,.member-invoice-content-grid,.member-invoice-bank-grid{grid-template-columns:1fr}.member-invoice-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.member-invoice-primary-action,.member-invoice-bank-actions{align-items:stretch;flex-direction:column}.member-invoice-primary-action .btn,.member-invoice-bank-actions .btn{width:100%}}
@media(max-width:520px){.member-invoice-overview,.member-invoice-bank-transfer,.member-invoice-section{padding:18px}.member-invoice-facts,.member-invoice-transfer-reference{grid-template-columns:1fr}.member-invoice-section-heading{align-items:flex-start;flex-direction:column}.member-invoice-bank-badge{white-space:normal}.member-invoice-bank-account dl div{grid-template-columns:1fr;gap:3px}.member-invoice-line{align-items:flex-start;flex-direction:column}.member-invoice-line>strong,.member-invoice-line>.status{align-self:flex-start}}

/* Phase 43.3: auditable Trial Grants and calendar-billing cutover */
.trial-list{margin-top:18px;padding:0;overflow:hidden}.trial-row{display:grid;grid-template-columns:minmax(250px,1.35fr) minmax(420px,2fr) auto;gap:18px;align-items:center;padding:20px;border-bottom:1px solid var(--border)}.trial-row:last-child{border-bottom:0}.trial-row h2{font-size:1.05rem;margin:8px 0 4px}.trial-row p{margin:0;color:var(--muted)}.trial-row dl{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:12px;margin:0}.trial-row dl div{display:grid;gap:4px}.trial-row dt,.cutover-item small{font-size:.78rem;color:var(--muted)}.trial-row dd{margin:0;font-weight:800}.phase43-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.phase43-grid .dashboard-card{margin:0}.phase43-grid form,.cutover-confirm form{display:grid;gap:14px}.phase43-grid label,.cutover-confirm label{display:grid;gap:7px;font-weight:700}.billing-safety-banner{display:flex;justify-content:space-between;gap:14px;padding:14px 18px;margin:18px 0;border-radius:12px}.billing-safety-banner.disabled{background:#fff7e6;border:1px solid #f0cf8a;color:#7b5200}.billing-safety-banner.enabled{background:#eaf8ee;border:1px solid #a9dcb8;color:#096d33}.phase43-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.phase43-summary div{display:grid;gap:5px;padding:14px;border:1px solid var(--border);border-radius:12px}.phase43-summary span{color:var(--muted)}.phase43-summary strong{font-size:1.35rem}.cutover-item{display:grid;grid-template-columns:minmax(220px,1.4fr) auto minmax(180px,1fr) minmax(160px,1fr);gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--border)}.cutover-item>div{display:grid;gap:4px}.cutover-confirm{margin-top:18px}
@media(max-width:800px){.trial-row,.cutover-item{grid-template-columns:1fr}.trial-row dl{grid-template-columns:1fr 1fr;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.trial-row>.btn{width:100%}.phase43-grid{grid-template-columns:1fr}.phase43-summary{grid-template-columns:1fr}.billing-safety-banner{flex-direction:column}.cutover-item{align-items:stretch}}

/* Phase 43.4: Refund Exceptions and revenue recognition */
.invoice-hero-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.phase434-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.phase434-form label{display:grid;align-content:start;gap:7px;min-width:0;color:#315d43;font-weight:800}.phase434-form textarea{min-height:110px;resize:vertical}.phase434-form label:nth-last-of-type(-n+3),.phase434-form>.btn{grid-column:1/-1}.phase434-form>.btn{justify-self:start}.phase434-accounting-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.phase434-accounting-grid article{display:grid;align-content:start;gap:7px;min-height:112px;padding:16px;border:1px solid #dce8e0;border-top:4px solid #159451;border-radius:13px;background:#f9fcfa;min-width:0}.phase434-accounting-grid article>span{color:#62766a;font-size:.82rem;font-weight:800}.phase434-accounting-grid article>strong{color:#123e29;font-size:1.08rem;overflow-wrap:anywhere}.phase434-run{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.phase434-run input{min-width:240px;flex:1}.phase434-run button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:900px){.phase434-accounting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.invoice-hero-actions,.phase434-form,.phase434-accounting-grid{display:grid;grid-template-columns:1fr;width:100%}.invoice-hero-actions .btn,.phase434-form>.btn,.phase434-run,.phase434-run .btn,.phase434-run input{width:100%;min-width:0}.phase434-form label:nth-last-of-type(-n+3),.phase434-form>.btn{grid-column:auto}.phase434-run{display:grid}.phase434-accounting-grid article{min-height:0}}

/* Phase 43.5: expenses, period close, and management accounting */
.phase435-split,.phase435-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0;min-width:0}.phase435-split>.dashboard-card,.phase435-report-grid>.dashboard-card{margin:0;min-width:0}.phase435-form form,.phase435-adjustment-form{display:grid;gap:13px}.phase435-form label,.phase435-adjustment-form label{display:grid;gap:7px;color:#315d43;font-weight:800}.phase435-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.phase435-section-title h2{margin:4px 0 0}.phase435-record-list,.phase435-expense-list{display:grid;gap:12px}.phase435-record-list article,.phase435-expense-list article{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(330px,1.6fr) auto;align-items:center;gap:16px;padding:16px;border:1px solid #dde8e1;border-left:5px solid #159451;border-radius:13px;background:#fbfdfc;min-width:0}.phase435-record-list h3,.phase435-expense-list h2{margin:8px 0 3px}.phase435-record-list p,.phase435-expense-list p{margin:0;color:#64766b}.phase435-record-list dl,.phase435-expense-list dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.phase435-record-list dt,.phase435-expense-list dt{color:#6a7b70;font-size:.76rem}.phase435-record-list dd,.phase435-expense-list dd{margin:3px 0 0;color:#173f2b;font-weight:800;overflow-wrap:anywhere}.phase435-status-reviewing{background:#fff4d8;color:#805800}.phase435-status-closed{background:#e8f5ed;color:#087a3a}.phase435-status-adjustment_open{background:#eaf2ff;color:#285f9c}.phase435-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.phase435-action-grid form{display:grid;align-content:start;gap:10px;padding:15px;border:1px solid #dce8e0;border-radius:12px;background:#f8fbf9;min-width:0}.phase435-action-grid p{margin:0;color:#63766a;line-height:1.5}.phase435-snapshot{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.phase435-adjustment-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.phase435-wide{grid-column:1/-1}.phase435-report-grid .dashboard-card>p{color:#62756a;line-height:1.55}.phase435-report-currency{margin-top:14px;padding:15px;border:1px solid #dce8e0;border-radius:13px;background:#f9fcfa}.phase435-report-currency h3{margin:0 0 9px}.phase435-report-currency dl{display:grid;gap:0;margin:0}.phase435-report-currency dl>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #e2ebe5}.phase435-report-currency dl>div:last-child{border-bottom:0}.phase435-report-currency dd{margin:0;font-weight:800}.phase435-report-currency .total{color:#087a3a;font-size:1.05rem;font-weight:800}.data-table td small{display:block;color:var(--muted)}
@media(max-width:900px){.phase435-record-list article,.phase435-expense-list article{grid-template-columns:1fr}.phase435-record-list dl,.phase435-expense-list dl{padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.phase435-record-list article>.btn,.phase435-expense-list article>.btn{width:100%}}
@media(max-width:700px){.phase435-split,.phase435-report-grid,.phase435-action-grid,.phase435-adjustment-form{grid-template-columns:1fr}.phase435-wide{grid-column:auto}.phase435-section-title{align-items:flex-start;flex-direction:column}.phase435-record-list dl,.phase435-expense-list dl{grid-template-columns:1fr 1fr}.phase435-action-grid form .btn,.phase435-adjustment-form .btn{width:100%}.phase435-report-grid{margin:13px 0}.phase435-record-list article,.phase435-expense-list article{padding:14px}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{min-width:720px}}
@media(max-width:430px){.phase435-record-list dl,.phase435-expense-list dl{grid-template-columns:1fr}.phase435-section-title>.status{white-space:normal}}

/* Phase 43.6: Enterprise Accounting */
.phase436-layout{display:grid;grid-template-columns:minmax(310px,.75fr) minmax(0,1.5fr);align-items:start;gap:18px;margin:18px 0;min-width:0}.phase436-layout>.dashboard-card{margin:0;min-width:0}.phase436-create form,.phase436-transaction-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}.phase436-create label,.phase436-transaction-form label{display:grid;gap:7px;color:#315d43;font-weight:800;min-width:0}.phase436-wide{grid-column:1/-1}.phase436-entity-list,.phase436-transaction-list{display:grid;gap:13px}.phase436-entity-list>article,.phase436-transaction-list>article{display:grid;gap:13px;padding:16px;border:1px solid #dce8e0;border-left:5px solid #159451;border-radius:14px;background:#fbfdfc;min-width:0}.phase436-entity-list header,.phase436-transaction-list header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.phase436-entity-list h3,.phase436-transaction-list h3{margin:7px 0 3px}.phase436-entity-list p,.phase436-transaction-list p,.phase436-transaction-list small{margin:0;color:#62756a;overflow-wrap:anywhere}.phase436-entity-list dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0}.phase436-entity-list dl>div{padding:10px;border-radius:10px;background:#eff6f1}.phase436-entity-list dt{color:#66796d;font-size:.76rem}.phase436-entity-list dd{margin:3px 0 0;color:#153f2b;font-weight:800}.phase436-entity-list details{border-top:1px solid #dfe9e2;padding-top:11px}.phase436-entity-list summary{cursor:pointer;color:#197745;font-weight:800}.phase436-inline-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.phase436-inline-forms form{display:grid;gap:9px;padding:13px;border-radius:11px;background:#f2f8f4}.phase436-actions{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.75fr) auto auto;gap:9px;padding-top:12px;border-top:1px solid #dfe9e2}.phase436-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:15px}.phase436-report-grid>article{padding:16px;border:1px solid #dce8e0;border-top:4px solid #159451;border-radius:13px;background:#f9fcfa;min-width:0}.phase436-report-grid h3{margin:0 0 11px;overflow-wrap:anywhere}.phase436-report-grid dl{display:grid;gap:0;margin:8px 0}.phase436-report-grid dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e1eae4}.phase436-report-grid dl>div:last-child{border-bottom:0}.phase436-report-grid dd{margin:0;color:#153f2b;font-weight:800}.phase436-report-grid dt{color:#607368}
@media(max-width:1050px){.phase436-layout{grid-template-columns:1fr}.phase436-create form{grid-template-columns:repeat(2,minmax(0,1fr))}.phase436-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.phase436-actions .btn{width:100%}}
@media(max-width:700px){.phase436-create form,.phase436-transaction-form,.phase436-inline-forms,.phase436-report-grid,.phase436-actions{grid-template-columns:1fr}.phase436-wide{grid-column:auto}.phase436-entity-list header,.phase436-transaction-list header{flex-direction:column}.phase436-entity-list dl{grid-template-columns:1fr 1fr}.phase436-create .btn,.phase436-transaction-form .btn{width:100%}.phase436-layout{margin:13px 0}}
@media(max-width:430px){.phase436-entity-list dl{grid-template-columns:1fr}.phase436-entity-list>article,.phase436-transaction-list>article{padding:14px}}
.phase436-control-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:16px;margin-top:14px}.phase436-control-grid>form,.phase436-period-create{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;align-items:end;padding:14px;border-radius:12px;background:#f2f8f4}.phase436-control-grid label,.phase436-period-create label{display:grid;gap:6px;color:#315d43;font-weight:800;min-width:0}.phase436-compact-list,.phase436-period-list{display:grid;gap:9px}.phase436-compact-list article{display:grid;gap:3px;padding:11px 13px;border:1px solid #dce8e0;border-radius:11px;background:#fbfdfc}.phase436-compact-list span,.phase436-compact-list small,.phase436-period-list small{color:#62756a;overflow-wrap:anywhere}.phase436-period-create{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.phase436-period-list article{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.5fr);gap:12px;align-items:center;padding:12px;border:1px solid #dce8e0;border-left:4px solid #159451;border-radius:11px;background:#fbfdfc}.phase436-period-list article>div{display:grid;gap:5px}.phase436-period-list form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(130px,.8fr) minmax(130px,.6fr) auto;gap:8px}
@media(max-width:900px){.phase436-control-grid,.phase436-period-list article{grid-template-columns:1fr}.phase436-period-create{grid-template-columns:repeat(2,minmax(0,1fr))}.phase436-period-list form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.phase436-control-grid>form,.phase436-period-create,.phase436-period-list form{grid-template-columns:1fr}.phase436-control-grid .btn,.phase436-period-create .btn,.phase436-period-list .btn{width:100%}}
.phase437-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:20px;margin-bottom:20px}.phase437-export-card form{display:grid;gap:14px}.phase437-export-card label{display:grid;gap:7px;font-weight:700}.phase437-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.phase437-boundary{border-left:4px solid #e5a900}.phase437-boundary ul{margin:14px 0 0;padding-left:22px}.phase437-run-list{display:grid;gap:12px}.phase437-run-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);align-items:center;gap:18px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.phase437-run-list h3{margin:8px 0 4px;overflow-wrap:anywhere}.phase437-run-list p{margin:0;color:var(--muted)}.phase437-run-list dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.phase437-run-list dl div{min-width:0}.phase437-run-list dt{font-size:12px;color:var(--muted)}.phase437-run-list dd{margin:4px 0 0;font-weight:700;overflow-wrap:anywhere}.phase437-checksum{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:760px){.phase437-grid{grid-template-columns:1fr}.phase437-date-grid{grid-template-columns:1fr}.phase437-run-list article{grid-template-columns:1fr}.phase437-run-list dl{grid-template-columns:1fr 1fr}}

/* Super Admin settings catalog */
.settings-search-hero{margin-bottom:18px}.settings-search-form{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}.settings-search-form>label{display:block;margin-bottom:8px;font-weight:800}.settings-search-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.settings-search-controls input{min-width:0}.settings-search-results{margin-top:24px}.settings-search-result-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.settings-search-result-header h2{margin:4px 0 0}.settings-search-category{margin-top:24px}.settings-search-category>h2{margin:0 0 12px;font-size:1.15rem}.settings-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-search-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}.settings-search-card>div{min-width:0}.settings-search-card h3{margin:8px 0;font-size:1.08rem;overflow-wrap:anywhere}.settings-search-card p{margin:0;color:var(--muted);overflow-wrap:anywhere}.settings-search-card>.btn{flex:0 0 auto;align-self:center}.settings-search-category-label{display:inline-flex;padding:4px 9px;border-radius:999px;background:#edf8f1;color:var(--green-dark);font-size:.78rem;font-weight:800}.settings-search-empty{text-align:center;padding:36px 20px}.settings-search-empty h2{margin-top:0}
@media(max-width:760px){.settings-search-controls{grid-template-columns:1fr}.settings-search-controls .btn{width:100%}.settings-search-grid{grid-template-columns:1fr}.settings-search-card{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:14px}.settings-search-card>*,.settings-search-card>.btn{width:100%}}

/* Property coordinates and public-map consent */
.property-geolocation-editor{grid-column:1/-1;display:grid;gap:14px;margin-top:18px;padding:16px;border:1px solid #d7e6dc;border-radius:12px;background:#f8fcf9;min-width:0}.property-geolocation-editor header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0}.property-geolocation-editor header div,.property-geolocation-editor header span{display:grid;gap:4px}.property-geolocation-editor small{color:#607369;font-weight:400;line-height:1.45}.property-geolocation-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.property-geolocation-inputs label{display:grid;gap:7px}.property-map-consent{display:flex!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dce8e0;border-radius:10px;background:#fff}.property-map-consent>input{width:auto!important;min-width:18px!important;margin-top:3px}.property-map-consent>span{display:grid;gap:3px}.property-geolocation-editor output{min-height:20px;color:#287048;font-size:.88rem}.property-geolocation-editor output.error{color:#b42318}.property-public-map-canvas{min-height:390px;border-radius:14px;overflow:hidden;background:#edf4ef}.property-public-map-canvas .property-map-placeholder{min-height:390px}
@media(max-width:640px){.property-geolocation-editor header{align-items:stretch;flex-direction:column}.property-geolocation-editor header .btn{width:100%}.property-geolocation-inputs{grid-template-columns:1fr}.property-public-map-canvas,.property-public-map-canvas .property-map-placeholder{min-height:300px}}

/* New-member guide administration */
.new-member-guide-hero{align-items:center;padding:26px 28px;border:1px solid #dce9e1;border-radius:22px;background:linear-gradient(125deg,#f4fbf6 0%,#fff 58%,#fff8df 100%);box-shadow:0 14px 36px rgba(24,73,44,.06)}.new-member-guide-hero-copy{display:grid;gap:10px}.new-member-guide-title-line{display:flex;align-items:center;gap:16px}.new-member-guide-title-line h1{margin:0;font-size:clamp(1.75rem,3.4vw,2.55rem);line-height:1.16}.new-member-guide-title-line p{max-width:760px;margin:7px 0 0;color:#5d7064;line-height:1.65}.new-member-guide-hero-icon{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,#13924d,#f1b500);color:#fff;font-size:1rem;font-weight:900;box-shadow:0 10px 24px rgba(22,142,73,.2)}
.new-member-guide-admin{display:grid;gap:18px}.new-member-guide-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.new-member-guide-summary-card{display:grid;gap:6px;min-height:128px;padding:18px 20px;border:1px solid #dfe9e2;border-top:4px solid #b8c9bd;border-radius:16px;background:#fff;box-shadow:0 9px 28px rgba(17,65,37,.045)}.new-member-guide-summary-card.is-active{border-top-color:#199654}.new-member-guide-summary-card.is-paused{border-top-color:#d0982d}.new-member-guide-summary-card>span{color:#64766b;font-size:.86rem;font-weight:700}.new-member-guide-summary-card>strong{color:#143e2b;font-size:1.34rem}.new-member-guide-summary-card>small{color:#6c7c72;line-height:1.5}
.new-member-guide-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,330px);align-items:start;gap:18px}.new-member-guide-form{display:grid;gap:16px;min-width:0}.new-member-guide-form .settings-card,.new-member-guide-help-card{padding:22px;border-radius:18px}.new-member-guide-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.new-member-guide-section-heading>div{display:flex;align-items:flex-start;gap:13px}.new-member-guide-section-heading h2{margin:1px 0 4px;font-size:1.15rem}.new-member-guide-section-heading p{margin:0;color:#68796f;line-height:1.5}.new-member-guide-step{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#169451;color:#fff;font-weight:900}.new-member-guide-section-heading .status-pill{white-space:nowrap}
.new-member-guide-master-switch{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:17px;border:1px solid #d9e7de;border-radius:14px;background:#f8fbf9;cursor:pointer}.new-member-guide-master-switch>input{position:absolute;opacity:0;pointer-events:none}.new-member-guide-switch-ui{position:relative;width:50px;height:28px;border-radius:999px;background:#bac8bf;transition:.2s ease}.new-member-guide-switch-ui::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.18);transition:.2s ease}.new-member-guide-master-switch>input:checked+.new-member-guide-switch-ui{background:#159653}.new-member-guide-master-switch>input:checked+.new-member-guide-switch-ui::after{transform:translateX(22px)}.new-member-guide-master-switch>input:focus-visible+.new-member-guide-switch-ui{outline:3px solid rgba(21,150,83,.25);outline-offset:3px}.new-member-guide-master-switch strong,.new-member-guide-master-switch small{display:block}.new-member-guide-master-switch small{margin-top:4px;color:#64766b;line-height:1.55}
.new-member-guide-list{display:grid;gap:9px;margin:0}.new-member-guide-list>header,.new-member-guide-row{display:grid;grid-template-columns:72px 105px minmax(220px,1fr) 110px;gap:12px;align-items:center}.new-member-guide-list>header{padding:0 13px;color:#6b7c72;font-size:.78rem;font-weight:800}.new-member-guide-row{padding:13px;border:1px solid #dfe9e3;border-radius:13px;background:#fff;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.new-member-guide-row.is-selected{border-color:#a9d9ba;background:#f8fcf9;box-shadow:0 6px 18px rgba(20,123,65,.06)}.new-member-guide-select{display:flex;align-items:center;gap:8px;cursor:pointer}.new-member-guide-select>input{position:absolute;opacity:0;pointer-events:none}.new-member-guide-select>span{display:grid;place-items:center;width:24px;height:24px;border:2px solid #b8c9bd;border-radius:7px;background:#fff}.new-member-guide-select>span::after{content:"✓";color:#fff;font-weight:900;opacity:0;transform:scale(.65);transition:.15s ease}.new-member-guide-select>input:checked+span{border-color:#169653;background:#169653}.new-member-guide-select>input:checked+span::after{opacity:1;transform:scale(1)}.new-member-guide-select>input:focus-visible+span{outline:3px solid rgba(21,150,83,.22);outline-offset:2px}.new-member-guide-select small{display:none}.new-member-guide-order>span{display:none}.new-member-guide-order input{width:100%;min-width:0;text-align:center}.new-member-guide-post{min-width:0}.new-member-guide-post strong,.new-member-guide-post small{display:block;overflow-wrap:anywhere}.new-member-guide-post small{margin-top:4px;color:#718077}.new-member-guide-row>.blog-scope{justify-self:start;white-space:nowrap}
.new-member-guide-empty{display:flex;align-items:flex-start;gap:18px;min-height:210px;padding:30px;border:1px dashed #bfd3c5;border-radius:16px;background:linear-gradient(135deg,#f7fbf8,#fffdf3)}.new-member-guide-empty>span{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:15px;background:#e3f5e9;color:#128048;font-size:1.15rem;font-weight:900}.new-member-guide-empty h3{margin:2px 0 7px;font-size:1.2rem}.new-member-guide-empty p{max-width:620px;margin:0 0 16px;color:#64766b;line-height:1.7}.new-member-guide-savebar{position:sticky;bottom:14px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid #cfdfd5;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 14px 36px rgba(16,55,32,.13);backdrop-filter:blur(12px)}.new-member-guide-savebar>div{display:grid;gap:3px}.new-member-guide-savebar span{color:#68796f;font-size:.86rem}.new-member-guide-savebar .btn{min-width:164px}
.new-member-guide-help-card{position:sticky;top:92px}.new-member-guide-help-card h2{margin:6px 0 18px;font-size:1.2rem}.new-member-guide-flow{display:grid;gap:0;margin:0;padding:0;list-style:none}.new-member-guide-flow li{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:0 0 22px}.new-member-guide-flow li:not(:last-child)::after{content:"";position:absolute;left:16px;top:34px;bottom:0;width:2px;background:#dce9e1}.new-member-guide-flow li>span{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e3f5e9;color:#118149;font-weight:900}.new-member-guide-flow strong,.new-member-guide-flow small{display:block}.new-member-guide-flow small{margin-top:4px;color:#6b7b71;line-height:1.5}.new-member-guide-help-note{padding:15px;border-radius:13px;background:#fff8e4;border:1px solid #f0dda0}.new-member-guide-help-note p{margin:5px 0 0;color:#6f6547;line-height:1.55}
@media(max-width:980px){.new-member-guide-layout{grid-template-columns:1fr}.new-member-guide-help-card{position:static}.new-member-guide-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.new-member-guide-flow li{grid-template-columns:34px minmax(0,1fr);padding:0}.new-member-guide-flow li::after{display:none}}
@media(max-width:760px){.new-member-guide-hero{align-items:flex-start;padding:20px}.new-member-guide-summary{grid-template-columns:1fr}.new-member-guide-summary-card{min-height:0}.new-member-guide-list>header{display:none}.new-member-guide-row{grid-template-columns:44px 86px minmax(0,1fr)}.new-member-guide-row>.blog-scope{grid-column:2/-1}.new-member-guide-select small,.new-member-guide-order>span{display:block;color:#68796f;font-size:.76rem}.new-member-guide-select{align-items:center}.new-member-guide-order{display:grid;gap:4px}.new-member-guide-savebar{position:static;align-items:stretch;flex-direction:column}.new-member-guide-savebar .btn{width:100%}.new-member-guide-flow{grid-template-columns:1fr}.new-member-guide-flow li{padding-bottom:16px}.new-member-guide-flow li:not(:last-child)::after{display:block}.new-member-guide-empty{min-height:0;padding:22px}}
@media(max-width:520px){.new-member-guide-hero{display:grid}.new-member-guide-hero>.btn{width:100%;justify-content:center}.new-member-guide-title-line{align-items:flex-start}.new-member-guide-hero-icon{width:48px;height:48px;flex-basis:48px;border-radius:14px}.new-member-guide-title-line h1{font-size:1.55rem}.new-member-guide-form .settings-card,.new-member-guide-help-card{padding:17px}.new-member-guide-section-heading{display:grid}.new-member-guide-section-heading .status-pill{justify-self:start}.new-member-guide-row{grid-template-columns:38px minmax(0,1fr)}.new-member-guide-order,.new-member-guide-post,.new-member-guide-row>.blog-scope{grid-column:2}.new-member-guide-empty{display:grid}.new-member-guide-empty>span{width:46px;height:46px;flex-basis:46px}}

/* New-member guide layout refinements */
.new-member-guide-hero{display:flex;justify-content:space-between;gap:24px}
.new-member-guide-form .settings-card,.new-member-guide-help-card{border:1px solid #dfe9e2;background:#fff;box-shadow:0 9px 28px rgba(16,65,36,.055)}
.new-member-guide-row:has(.new-member-guide-select input:checked){border-color:#a9d9ba;background:#f8fcf9;box-shadow:0 6px 18px rgba(20,123,65,.06)}
@media(max-width:520px){.new-member-guide-hero{display:grid}}
