:root {
    --agency-ink: #172321;
    --agency-muted: #5b6966;
    --agency-line: #d5ddda;
    --agency-paper: #ffffff;
    --agency-canvas: #f2f5f4;
    --agency-green: #176b62;
    --agency-green-dark: #0e514a;
    --agency-focus: #0b6fc2;
    --agency-error: #9d2727;
}

body.surface--agency {
    background: var(--agency-canvas);
    color: var(--agency-ink);
}

.agency-heading-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.agency-service-catalog {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.agency-service-catalog article,
.agency-service-documents {
    background: var(--agency-paper);
    border: 1px solid var(--agency-line);
    padding: clamp(18px, 3vw, 28px);
}

.agency-service-catalog h2,
.agency-service-documents h2 {
    font-size: 22px;
    margin: 4px 0 10px;
}

.agency-service-catalog article > p:not(.eyebrow) {
    color: var(--agency-muted);
    min-height: 48px;
}

.agency-service-catalog footer {
    align-items: center;
    border-top: 1px solid var(--agency-line);
    display: flex;
    justify-content: space-between;
    margin-top: 18px;
    padding-top: 14px;
}

.agency-service-documents {
    margin: 22px 0;
}

@media (max-width: 720px) {
    .agency-heading-actions,
    .agency-heading-actions .agency-button { width: 100%; }
}

.agency-media-main {
    max-width: 1240px;
}

.property-wizard-nav {
    background: #ffffff;
    border: 1px solid var(--agency-line);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 22px;
}

.property-wizard-js [data-property-wizard]:not(.is-wizard-ready)::before {
    background: #ffffff;
    border: 1px solid var(--agency-line);
    content: '';
    display: block;
    height: 60px;
    margin-bottom: 22px;
}

.property-wizard-js [data-property-wizard]:not(.is-wizard-ready) fieldset { display: none; }
.property-wizard-js [data-property-wizard]:not(.is-wizard-ready) fieldset:nth-of-type(1),
.property-wizard-js [data-property-wizard]:not(.is-wizard-ready) fieldset:nth-of-type(3) { display: block; }
.property-wizard-js [data-property-wizard]:not(.is-wizard-ready) .agency-form-actions [type="submit"] { display: none; }

.property-wizard-step {
    align-items: center;
    background: #ffffff;
    border: 0;
    border-bottom: 3px solid transparent;
    color: var(--agency-muted);
    cursor: pointer;
    display: flex;
    gap: 8px;
    min-height: 58px;
    padding: 9px 12px 6px;
    text-align: left;
}

.property-wizard-step + .property-wizard-step { border-left: 1px solid var(--agency-line); }
.property-wizard-step span { align-items: center; border: 1px solid #8c9995; border-radius: 4px; display: inline-flex; flex: 0 0 26px; height: 26px; justify-content: center; }
.property-wizard-step strong { font-size: 13px; overflow-wrap: anywhere; }
.property-wizard-step.is-active { border-bottom-color: var(--agency-green); color: var(--agency-green-dark); }
.property-wizard-step.is-active span { background: var(--agency-green); border-color: var(--agency-green); color: #ffffff; }
.property-wizard-control { background: #ffffff; border: 1px solid #9eaaa6; border-radius: 4px; color: var(--agency-ink); cursor: pointer; font: inherit; font-weight: 700; min-height: 44px; padding: 10px 16px; }
.property-wizard-control--next { background: var(--agency-green); border-color: var(--agency-green); color: #ffffff; }
.is-wizard-ready [hidden] { display: none !important; }

@media (max-width: 720px) {
    .property-wizard-nav { grid-template-columns: 1fr; }
    .property-wizard-step { display: none; }
    .property-wizard-step.is-active { display: flex; }
    .property-wizard-step + .property-wizard-step { border-left: 0; }
    .property-wizard-control { width: 100%; }
}

.agency-media-summary {
    background: #ffffff;
    border: 1px solid var(--agency-line);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 24px 0;
}

.agency-media-summary a {
    align-items: center;
    color: var(--agency-ink);
    display: flex;
    gap: 10px;
    min-height: 62px;
    padding: 12px 16px;
    text-decoration: none;
}

.agency-media-summary a + a {
    border-left: 1px solid var(--agency-line);
}

.agency-media-summary strong {
    color: var(--agency-green-dark);
    font-size: 22px;
}

.agency-media-section {
    background: #ffffff;
    border-top: 3px solid var(--agency-green);
    margin: 24px 0;
    padding: clamp(18px, 3vw, 30px);
}

.agency-media-heading h2 {
    font-size: 24px;
    margin: 0 0 5px;
}

.agency-media-heading p {
    color: var(--agency-muted);
    margin: 0;
    max-width: 760px;
}

.agency-media-upload {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 20px 0 24px;
}
.agency-document-upload-fields,
.agency-document-metadata {
    display: grid;
    gap: 10px;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.agency-document-upload-fields label,
.agency-document-metadata label {
    color: var(--agency-muted);
    font-size: 12px;
    font-weight: 700;
}

.agency-document-upload-fields input,
.agency-document-upload-fields select,
.agency-document-metadata input,
.agency-document-metadata select {
    border: 1px solid var(--agency-line);
    border-radius: 4px;
    min-height: 42px;
    padding: 8px 10px;
    width: 100%;
}

.agency-document-metadata {
    border-top: 1px solid var(--agency-line);
    margin-top: 8px;
    padding-top: 10px;
}

.agency-media-drop {
    background: #f5f8f7;
    border: 1px dashed #80928e;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    min-height: 86px;
    padding: 18px;
}

.agency-media-drop:hover,
.agency-media-drop:focus-within,
.agency-media-drop.is-dragging {
    background: #eaf4f1;
    border-color: var(--agency-green);
}

.agency-media-drop span {
    color: var(--agency-muted);
    font-size: 13px;
    margin-top: 3px;
}

.agency-media-drop input {
    margin-top: 10px;
}

.agency-media-selection {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    grid-column: 1 / -1;
}

.agency-media-selected {
    align-items: center;
    background: #f2f5f4;
    border: 1px solid var(--agency-line);
    display: flex;
    gap: 8px;
    max-width: 230px;
    padding: 6px;
}

.agency-media-selected img,
.agency-media-selected strong {
    height: 42px;
    object-fit: cover;
    width: 54px;
}

.agency-media-selected strong {
    align-items: center;
    background: #dde6e3;
    display: flex;
    font-size: 12px;
    justify-content: center;
}

.agency-media-selected span,
.agency-media-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agency-media-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

.agency-media-card {
    border: 1px solid var(--agency-line);
    min-width: 0;
}

.agency-media-preview,
.agency-media-file {
    background: #e7edeb;
    display: block;
    height: 160px;
}

.agency-media-preview img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.agency-media-file {
    align-items: center;
    color: var(--agency-ink);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none;
}

.agency-media-file strong {
    font-size: 26px;
}

.agency-media-card-body {
    padding: 11px;
}

.agency-media-name {
    font-size: 13px;
    margin: 0 0 8px;
}

.agency-media-primary {
    background: #e1f0eb;
    color: var(--agency-green-dark);
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px;
    padding: 4px 7px;
}

.agency-media-derived {
    background: #fff3dc;
    color: #704600;
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px;
    padding: 4px 7px;
}

.agency-media-formats {
    display: flex;
    gap: 12px;
    margin: 0 0 9px;
}

.agency-media-formats a {
    color: var(--agency-green-dark);
    font-size: 12px;
    font-weight: 700;
}

.agency-media-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.agency-media-actions form {
    margin: 0;
}

.agency-icon-action {
    align-items: center;
    background: #ffffff;
    border: 1px solid #9eaaa6;
    border-radius: 4px;
    color: var(--agency-ink);
    cursor: pointer;
    display: inline-flex;
    font-size: 18px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.agency-icon-action--danger {
    border-color: #d2a3a3;
    color: var(--agency-error);
}

.agency-icon-action:disabled {
    cursor: default;
    opacity: .35;
}

.agency-media-links {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
}

.agency-media-links form {
    border: 1px solid var(--agency-line);
    padding: 16px;
}

.agency-media-empty {
    background: #f5f8f7;
    color: var(--agency-muted);
    margin: 0;
    padding: 18px;
}

@media (max-width: 720px) {
    .agency-media-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .agency-media-summary a:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--agency-line);
    }

    .agency-media-summary a:nth-child(4) {
        border-top: 1px solid var(--agency-line);
    }

    .agency-media-upload,
    .agency-media-links {
        grid-template-columns: 1fr;
    }

    .agency-document-upload-fields,
    .agency-document-metadata {
        grid-template-columns: 1fr;
    }

    .agency-media-upload .agency-button {
        width: 100%;
    }
}

.agency-auth-header,
.agency-dashboard-header {
    align-items: center;
    background: #123b38;
    border-bottom: 4px solid var(--agency-green);
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    min-height: 68px;
    padding: 12px clamp(18px, 5vw, 64px);
}

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

.agency-brand strong {
    font-size: 20px;
}

.agency-brand span {
    align-self: center;
    color: #d6e3e1;
    font-size: 13px;
    font-weight: 600;
}

.agency-auth-main {
    display: grid;
    min-height: calc(100vh - 122px);
    padding: 28px 16px;
    place-items: center;
}

.agency-auth-panel {
    background: var(--agency-paper);
    border: 1px solid var(--agency-line);
    max-width: 480px;
    padding: clamp(26px, 5vw, 44px);
    width: 100%;
}

.agency-auth-panel h1 {
    font-size: clamp(28px, 5vw, 40px);
    margin-bottom: 24px;
}

.agency-auth-panel--wide {
    max-width: 760px;
}

.agency-impersonation {
    align-items: center;
    background: #fff1cc;
    border-bottom: 2px solid #d97706;
    color: #5f3700;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: 10px clamp(16px, 3vw, 40px);
}

.agency-impersonation div {
    display: grid;
    gap: 2px;
}

.agency-impersonation form {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 720px) {
    .agency-impersonation {
        align-items: stretch;
        flex-direction: column;
        gap: 8px;
    }
}

.agency-auth-help {
    font-size: 14px;
    margin: 18px 0 0;
    text-align: center;
}

.agency-auth-help a {
    color: var(--agency-green-dark);
    font-weight: 700;
}

.agency-lead,
.agency-muted {
    color: var(--agency-muted);
}

.agency-field {
    margin-top: 18px;
}

.agency-field label,
.agency-switcher label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 6px;
}

.agency-field input,
.agency-switcher select {
    background: #ffffff;
    border: 1px solid #9eaaa6;
    border-radius: 4px;
    color: var(--agency-ink);
    font: inherit;
    min-height: 46px;
    padding: 10px 12px;
    width: 100%;
}

.agency-field-help {
    color: var(--agency-muted);
    font-size: 13px;
    margin: 6px 0 0;
}

.agency-button,
.agency-icon-button {
    background: #ffffff;
    border: 1px solid #9eaaa6;
    border-radius: 4px;
    color: var(--agency-ink);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 700;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    text-decoration: none;
}

.agency-button--primary {
    background: var(--agency-green);
    border-color: var(--agency-green);
    color: #ffffff;
    margin-top: 24px;
    width: 100%;
}

.agency-button--inline {
    margin-top: 0;
    width: auto;
}

.agency-button--danger {
    background: #9d2727;
    border-color: #9d2727;
    color: #ffffff;
}

.agency-button--primary:hover,
.agency-button--primary:focus {
    background: var(--agency-green-dark);
    color: #ffffff;
}

.agency-button:disabled,
.agency-icon-button:disabled {
    cursor: wait;
    opacity: .7;
}

.agency-alert {
    border-left: 4px solid;
    margin: 18px 0;
    padding: 13px 15px;
}

.agency-alert ul {
    margin: 7px 0 0;
    padding-left: 20px;
}

.agency-alert--error {
    background: #fff0f0;
    border-color: var(--agency-error);
    color: #721b1b;
}

.agency-alert--success {
    background: #eaf6f1;
    border-color: var(--agency-green);
    color: #154e47;
}

.agency-alert--warning {
    background: #fff7df;
    border-color: #b97908;
    color: #624000;
}

.agency-terms-list {
    border-bottom: 1px solid var(--agency-line);
    border-top: 1px solid var(--agency-line);
    margin: 24px 0;
    max-height: 48vh;
    overflow: auto;
    padding: 4px 18px 18px 0;
}

.agency-terms-list article + article {
    border-top: 1px solid var(--agency-line);
    margin-top: 24px;
    padding-top: 24px;
}

.agency-terms-list h2 {
    font-size: 22px;
    margin: 20px 0 0;
}

.agency-terms-body {
    line-height: 1.65;
    margin-top: 18px;
}

.agency-consent {
    align-items: flex-start;
    display: flex;
    font-weight: 700;
    gap: 10px;
}

.agency-consent input {
    flex: 0 0 auto;
    height: 20px;
    margin-top: 2px;
    width: 20px;
}

.agency-account {
    align-items: center;
    background: #123b38;
    display: flex;
    gap: 12px;
}

.agency-account-link {
    background: #123b38;
    color: #ffffff;
    font-weight: 600;
    min-height: 44px;
    padding: 12px 4px;
    text-decoration: none;
}

.agency-account-link:hover,
.agency-account-link:focus,
.agency-account-link[aria-current="page"] { text-decoration: underline; }

.agency-workspace-nav {
    display: flex;
    gap: 4px;
    margin: 0 auto 0 24px;
}

.agency-workspace-nav a {
    border-bottom: 2px solid transparent;
    color: #d6e3e1;
    font-weight: 700;
    min-height: 44px;
    padding: 12px 14px 9px;
    text-decoration: none;
}

.agency-workspace-nav a:hover,
.agency-workspace-nav a:focus,
.agency-workspace-nav a[aria-current="page"] {
    border-bottom-color: #ffffff;
    color: #ffffff;
}

.agency-account form {
    margin: 0;
}

.agency-icon-button {
    align-items: center;
    background: transparent;
    border-color: #a8c1bd;
    color: #ffffff;
    font-size: 22px;
    padding: 6px;
    width: 44px;
}

@media (max-width: 1450px) {
    .agency-dashboard-header {
        flex-wrap: wrap;
    }

    .agency-workspace-nav {
        background: #123b38;
        flex: 1 0 100%;
        margin: 6px 0 -12px;
        order: 3;
        overflow-x: auto;
        width: 100%;
    }

    .agency-workspace-nav a {
        flex: 1 0 auto;
        text-align: center;
    }
}

.agency-dashboard-main {
    margin: 0 auto;
    max-width: 1180px;
    min-height: calc(100vh - 122px);
    padding: clamp(28px, 5vw, 60px) clamp(16px, 4vw, 48px);
}

.agency-switcher {
    align-items: end;
    border-bottom: 1px solid var(--agency-line);
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(240px, 420px) auto;
    margin-bottom: 32px;
    padding-bottom: 24px;
}

.agency-switcher label {
    grid-column: 1 / -1;
    margin: 0;
}

.agency-dashboard-title {
    margin-bottom: 34px;
}

.agency-dashboard-title h1 {
    font-size: clamp(32px, 5vw, 52px);
}

.agency-dashboard-title p:last-child {
    color: var(--agency-muted);
    margin: 10px 0 0;
}

.agency-dashboard-stats {
    border-bottom: 1px solid var(--agency-line);
    border-top: 1px solid var(--agency-line);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 220px));
    margin-bottom: 38px;
}

.agency-list-heading {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 28px;
}

.agency-list-heading h1 {
    font-size: clamp(30px, 5vw, 46px);
    margin: 0;
}

.agency-list-heading p:last-child {
    color: var(--agency-muted);
    margin: 8px 0 0;
}

.agency-contact-filter {
    align-items: end;
    border-bottom: 1px solid var(--agency-line);
    border-top: 1px solid var(--agency-line);
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(140px, 1fr)) auto;
    padding: 18px 0;
}

.agency-contact-filter .agency-field {
    margin: 0;
}

.agency-contact-filter input,
.agency-contact-filter select {
    background: #ffffff;
    border: 1px solid #9eaaa6;
    border-radius: 4px;
    color: var(--agency-ink);
    font: inherit;
    min-height: 44px;
    padding: 9px 11px;
    width: 100%;
}

.agency-filter-actions {
    display: flex;
    gap: 8px;
}

.agency-button--compact {
    align-items: center;
    min-height: 42px;
    padding: 8px 13px;
}

.agency-list-count {
    color: var(--agency-muted);
    margin: 18px 0 10px;
}

.agency-contact-list {
    border-top: 1px solid var(--agency-line);
}

.agency-property-list {
    border-top: 1px solid var(--agency-line);
}

.agency-property-row {
    align-items: center;
    border-bottom: 1px solid var(--agency-line);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(240px, 1.6fr) minmax(120px, .6fr) minmax(170px, .8fr) auto;
    padding: 18px 0;
}

.agency-property-row h2 {
    font-size: 18px;
    margin: 2px 0 4px;
}

.agency-property-row h2 a {
    color: var(--agency-ink);
}

.agency-property-row p,
.agency-property-value span {
    color: var(--agency-muted);
    font-size: 13px;
    margin: 0;
}

.agency-property-reference {
    font-size: 11px !important;
    font-weight: 700;
    text-transform: uppercase;
}

.agency-property-value strong,
.agency-property-value span {
    display: block;
}

.agency-property-status {
    background: #e6ebed;
    border-radius: 4px;
    color: #344550;
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 8px;
}

.agency-property-status--active {
    background: #dcefe5;
    color: #175d3b;
}

.agency-property-status--suspended,
.agency-property-status--incomplete {
    background: #f3e7d7;
    color: #805012;
}

.agency-property-tokens {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.agency-property-tokens span {
    background: #e4eeeb;
    border-radius: 4px;
    color: #174f49;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 7px;
}

.agency-contact-row {
    align-items: center;
    border-bottom: 1px solid var(--agency-line);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(200px, 1.5fr) minmax(180px, 1fr) minmax(200px, 1fr) auto;
    padding: 18px 0;
}

.agency-contact-row h2 {
    font-size: 18px;
    margin: 0 0 4px;
}

.agency-contact-row h2 a {
    color: var(--agency-ink);
}

.agency-contact-row p,
.agency-contact-channels span {
    color: var(--agency-muted);
    font-size: 13px;
    margin: 0;
}

.agency-contact-roles {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.agency-contact-roles span {
    background: #e4eeeb;
    border-radius: 4px;
    color: #174f49;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 7px;
}

.agency-contact-channels span {
    display: block;
    overflow-wrap: anywhere;
}

.agency-empty-state {
    color: var(--agency-muted);
    margin: 0;
    padding: 34px 0;
}

.agency-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 24px;
}

.agency-pagination a {
    border: 1px solid var(--agency-line);
    border-radius: 4px;
    color: var(--agency-ink);
    min-width: 40px;
    padding: 9px;
    text-align: center;
    text-decoration: none;
}

.agency-pagination a[aria-current="page"] {
    background: var(--agency-green);
    color: #ffffff;
}

.agency-back-link {
    color: var(--agency-green-dark);
    font-weight: 700;
}

.agency-contact-detail-grid {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.agency-contact-detail-grid section {
    background: #ffffff;
    border: 1px solid var(--agency-line);
    margin: 0 -1px -1px 0;
    padding: 24px;
}

.agency-contact-detail-grid h2 {
    font-size: 20px;
    margin: 0 0 18px;
}

.agency-contact-detail-grid dl,
.agency-contact-detail-grid address,
.agency-contact-detail-grid p {
    margin: 0;
}

.agency-contact-detail-grid dl div {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(110px, .7fr) minmax(140px, 1fr);
    padding: 6px 0;
}

.agency-contact-detail-grid dt {
    color: var(--agency-muted);
}

.agency-contact-detail-grid dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.agency-contact-detail-grid address {
    font-style: normal;
    line-height: 1.65;
}

.agency-contact-notes {
    grid-column: 1 / -1;
}

.agency-contact-danger {
    border-top: 1px solid #d6a6a6;
    margin-top: 34px;
    padding-top: 24px;
}

.agency-contact-danger h2 {
    font-size: 20px;
    margin: 0 0 8px;
}

.agency-contact-danger p {
    color: var(--agency-muted);
}

.agency-contact-form {
    background: #ffffff;
    border: 1px solid var(--agency-line);
    padding: clamp(18px, 4vw, 34px);
}

.agency-contact-form fieldset {
    border: 0;
    border-bottom: 1px solid var(--agency-line);
    margin: 0 0 28px;
    padding: 0 0 28px;
}

.agency-contact-form legend {
    border: 0;
    color: var(--agency-ink);
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 4px;
    padding: 0;
}

.agency-form-grid {
    display: grid;
    gap: 0 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.agency-form-wide {
    grid-column: span 2;
}

.agency-contact-form input,
.agency-contact-form select,
.agency-contact-form textarea {
    background: #ffffff;
    border: 1px solid #9eaaa6;
    border-radius: 4px;
    color: var(--agency-ink);
    font: inherit;
    min-height: 44px;
    padding: 9px 11px;
    width: 100%;
}

.agency-contact-form textarea {
    min-height: 120px;
    resize: vertical;
}

.agency-role-grid {
    display: grid;
    gap: 10px 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
}

.agency-role-grid label,
.agency-form-check {
    align-items: flex-start;
    display: flex;
    font-weight: 700;
    gap: 8px;
}

.agency-form-check {
    margin-top: 8px;
    min-height: 44px;
}

.agency-role-grid input,
.agency-form-check input {
    flex: 0 0 auto;
    height: 24px;
    margin: 1px 0 0;
    min-height: 0;
    padding: 0;
    width: 24px;
}

.agency-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.municipality-picker {
    position: relative;
}

.municipality-results {
    background: #ffffff;
    border: 1px solid #7e8d88;
    box-shadow: 0 6px 14px rgba(23, 35, 33, .12);
    left: 0;
    max-height: 260px;
    overflow-y: auto;
    position: absolute;
    right: 0;
    top: 76px;
    z-index: 20;
}

.municipality-results button {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid var(--agency-line);
    color: var(--agency-ink);
    cursor: pointer;
    display: block;
    font: inherit;
    min-height: 44px;
    padding: 10px 12px;
    text-align: left;
    width: 100%;
}

.municipality-results button:hover,
.municipality-results button:focus {
    background: #eaf3f0;
}

.agency-dashboard-stats div {
    padding: 22px 28px 22px 0;
}

.agency-dashboard-stats strong,
.agency-dashboard-stats span {
    display: block;
}

.agency-dashboard-stats strong {
    font-size: 32px;
}

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

.agency-dashboard-section h2 {
    font-size: 24px;
}

@media (max-width: 600px) {
    .agency-auth-header,
    .agency-dashboard-header {
        min-height: 60px;
        padding: 10px 14px;
    }

    .agency-brand {
        display: grid;
        gap: 0;
    }

    .agency-account-link {
        display: none;
    }

    .agency-workspace-nav {
        gap: 0;
        margin-left: auto;
    }

    .agency-workspace-nav a {
        font-size: 13px;
        padding-left: 8px;
        padding-right: 8px;
    }

    .agency-switcher {
        grid-template-columns: 1fr;
    }

    .agency-dashboard-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .agency-contact-filter,
    .agency-contact-row,
    .agency-property-row,
    .agency-contact-detail-grid,
    .agency-form-grid,
    .agency-role-grid {
        grid-template-columns: 1fr;
    }

    .agency-form-wide {
        grid-column: auto;
    }

    .agency-contact-row {
        align-items: start;
    }

    .agency-contact-row > .agency-button {
        justify-self: start;
    }

    .agency-contact-notes {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        transition: none !important;
    }
}

.agency-property-completeness {
    align-items: start;
    background: #f3f7f5;
    border-left: 4px solid var(--agency-primary);
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(150px, .35fr) 1fr;
    margin: 22px 0;
    padding: 20px;
}

.agency-property-completeness h2 {
    font-size: 32px;
    margin: 4px 0;
}

.agency-property-completeness ul {
    display: grid;
    gap: 6px 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.agency-property-completeness .is-complete { color: #17643c; }
.agency-property-completeness .is-missing { color: #93401f; font-weight: 700; }

@media (max-width: 700px) {
    .agency-property-completeness,
    .agency-property-completeness ul { grid-template-columns: 1fr; }
}

.agency-auth-panel--wide {
    max-width: 920px;
}

.agency-registration .agency-auth-main {
    padding-block: 36px;
}

.agency-registration fieldset {
    border: 1px solid var(--agency-border);
    border-radius: 4px;
    margin: 0 0 20px;
    padding: 18px;
}

.agency-registration legend {
    color: var(--agency-dark);
    font-size: 15px;
    font-weight: 800;
    padding: 0 7px;
}

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

.agency-form-grid--address {
    grid-template-columns: .65fr .8fr 1.5fr .55fr .55fr;
}

.agency-consent {
    align-items: flex-start;
    display: flex;
    gap: 10px;
    line-height: 1.45;
}

.agency-consent input {
    flex: 0 0 auto;
    height: 20px;
    margin-top: 1px;
    width: 20px;
}

.agency-honeypot {
    height: 1px;
    left: -10000px;
    overflow: hidden;
    position: absolute;
    top: auto;
    width: 1px;
}

@media (max-width: 760px) {
    .agency-registration .agency-auth-main { padding-block: 18px; }
    .agency-form-grid,
    .agency-form-grid--address { grid-template-columns: 1fr; }
    .agency-registration fieldset { padding: 14px; }
}

.agency-resource-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.agency-resource-grid article,
.agency-resource-detail {
    background: #ffffff;
    border: 1px solid var(--agency-line);
    padding: 20px;
}

.agency-resource-grid article {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 220px;
}

.agency-resource-grid h2 {
    font-size: 21px;
    margin: 4px 0 10px;
}

.agency-resource-grid h2 a {
    color: var(--agency-ink);
}

.agency-resource-grid article > div > p:last-child {
    color: var(--agency-muted);
    line-height: 1.55;
}

.agency-resource-grid footer {
    align-items: center;
    border-top: 1px solid var(--agency-line);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 18px;
    padding-top: 14px;
}

.agency-resource-grid footer span {
    color: var(--agency-muted);
    font-size: 13px;
    max-width: 65%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agency-resource-detail {
    border-top: 3px solid var(--agency-green);
    max-width: 820px;
}

.agency-resource-detail h2 {
    font-size: 23px;
    margin-top: 0;
}

.agency-resource-detail dl {
    display: grid;
    gap: 0;
    margin: 24px 0 0;
}

.agency-resource-detail dl div {
    border-top: 1px solid var(--agency-line);
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(120px, .7fr) 1.3fr;
    padding: 11px 0;
}

.agency-resource-detail dt {
    color: var(--agency-muted);
}

.agency-resource-detail dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.agency-sign-toolbar {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.agency-property-sign {
    background: #ffffff;
    border: 2px solid #123b38;
    display: grid;
    grid-template-rows: auto 1fr auto;
    margin: 0 auto;
    min-height: 297mm;
    width: min(100%, 210mm);
}

.agency-property-sign > header {
    background: #123b38;
    color: #ffffff;
    padding: 18mm 16mm 14mm;
    text-align: center;
}

.agency-property-sign > header p {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 12mm;
    text-transform: uppercase;
}

.agency-property-sign > header strong {
    display: block;
    font-size: 64px;
    line-height: 1;
}

.agency-property-sign > div {
    align-content: center;
    display: grid;
    padding: 18mm 16mm;
    text-align: center;
}

.agency-property-sign h1 {
    font-size: 38px;
    line-height: 1.15;
    margin: 4mm 0;
    overflow-wrap: anywhere;
}

.agency-sign-type,
.agency-sign-place {
    color: var(--agency-muted);
    font-size: 22px;
    margin: 0;
}

.agency-property-sign ul {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    list-style: none;
    margin: 10mm 0 0;
    padding: 0;
}

.agency-property-sign li {
    border: 1px solid var(--agency-line);
    font-size: 20px;
    padding: 8px 14px;
}

.agency-sign-price {
    color: var(--agency-green-dark);
    font-size: 34px;
    font-weight: 800;
    margin: 10mm 0 0;
}

.agency-property-sign > footer {
    border-top: 2px solid #123b38;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10mm 16mm;
    text-align: center;
}

.agency-property-sign > footer strong {
    font-size: 24px;
}

.agency-property-sign > footer span {
    font-size: 18px;
}

.agency-property-sign > footer small {
    color: var(--agency-muted);
    margin-top: 5px;
}

@media (max-width: 700px) {
    .agency-resource-grid { grid-template-columns: 1fr; }
    .agency-resource-detail dl div { grid-template-columns: 1fr; gap: 4px; }
    .agency-sign-toolbar { flex-direction: column; gap: 8px; }
    .agency-sign-toolbar .agency-button { width: 100%; }
    .agency-property-sign { min-height: 0; }
    .agency-property-sign > header strong { font-size: 42px; }
    .agency-property-sign h1 { font-size: 30px; }
}

@media print {
    @page { margin: 0; size: A4 portrait; }
    body.surface--agency { background: #ffffff; }
    .agency-dashboard-header,
    .agency-sign-toolbar,
    body > .footer { display: none !important; }
    .agency-sign-page .agency-dashboard-main { margin: 0; max-width: none; min-height: 0; padding: 0; }
    .agency-property-sign { border: 0; height: 297mm; width: 210mm; }
}

.agency-tool-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 0 34px;
}

.agency-tool-grid a {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--agency-line);
    color: var(--agency-ink);
    display: grid;
    gap: 4px 12px;
    grid-template-columns: 1fr auto;
    min-height: 112px;
    padding: 18px;
    text-decoration: none;
}

.agency-tool-grid a:hover,
.agency-tool-grid a:focus {
    border-color: var(--agency-green);
    box-shadow: inset 3px 0 0 var(--agency-green);
}

.agency-tool-grid strong { font-size: 18px; }
.agency-tool-grid span:not([aria-hidden]) { color: var(--agency-muted); grid-column: 1; }
.agency-tool-grid span[aria-hidden] { font-size: 22px; grid-column: 2; grid-row: 1 / span 2; }

.agency-calculator-nav {
    border-bottom: 1px solid var(--agency-line);
    display: flex;
    gap: 2px;
    margin: -8px 0 24px;
    overflow-x: auto;
}

.agency-calculator-nav a {
    border-bottom: 3px solid transparent;
    color: var(--agency-muted);
    flex: 0 0 auto;
    font-weight: 700;
    min-height: 44px;
    padding: 10px 12px;
    text-decoration: none;
}

.agency-calculator-nav a:hover,
.agency-calculator-nav a:focus,
.agency-calculator-nav a[aria-current="page"] {
    border-bottom-color: var(--agency-green);
    color: var(--agency-ink);
}

.agency-calculator-form { margin-bottom: 24px; }
.agency-calculator-result { background: #ffffff; border-left: 4px solid var(--agency-green); margin: 24px 0; padding: 20px; }
.agency-calculator-result h2 { font-size: 22px; margin: 0 0 14px; }
.agency-calculator-result dl { display: grid; gap: 0; margin: 0; }
.agency-calculator-result dl div { align-items: baseline; border-top: 1px solid var(--agency-line); display: flex; gap: 18px; justify-content: space-between; padding: 10px 0; }
.agency-calculator-result dt { color: var(--agency-muted); }
.agency-calculator-result dd { margin: 0; text-align: right; }
.agency-calculator-notice { background: #fff6dd; border-left: 4px solid #d97706; color: #57360a; margin: 30px 0 0; padding: 14px 16px; }

@media (max-width: 820px) {
    .agency-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    .agency-tool-grid { grid-template-columns: 1fr; }
    .agency-tool-grid a { min-height: 88px; }
    .agency-calculator-result dl div { align-items: flex-start; flex-direction: column; gap: 3px; }
    .agency-calculator-result dd { text-align: left; }
}

.agency-valuation-values {
    border-bottom: 1px solid var(--agency-line);
    border-top: 1px solid var(--agency-line);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 22px 0;
}

.agency-valuation-values > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 18px;
}

.agency-valuation-values > div + div { border-left: 1px solid var(--agency-line); }
.agency-valuation-values span,
.agency-valuation-values small { color: var(--agency-muted); }
.agency-valuation-values strong { font-size: 24px; }
.agency-valuation-history { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.agency-valuation-history li { border-bottom: 1px solid var(--agency-line); display: grid; gap: 14px; grid-template-columns: 150px 1fr; padding: 8px 0; }
.agency-valuation-history time { color: var(--agency-muted); }

.agency-valuation-report {
    background: #ffffff;
    border: 1px solid var(--agency-line);
    margin: 0 auto;
    min-height: 297mm;
    padding: 18mm;
    width: min(100%, 210mm);
}

.agency-valuation-report > header { border-bottom: 3px solid var(--agency-green); padding-bottom: 10mm; }
.agency-valuation-report > header p { color: var(--agency-green-dark); font-weight: 700; margin: 0 0 4mm; }
.agency-valuation-report > header h1 { font-size: 36px; margin: 0 0 4mm; }
.agency-valuation-report > header span { color: var(--agency-muted); }
.agency-valuation-report section { border-bottom: 1px solid var(--agency-line); padding: 9mm 0; }
.agency-valuation-report h2 { font-size: 22px; margin: 0 0 5mm; }
.agency-valuation-report dl { display: grid; gap: 5px; }
.agency-valuation-report dl div { display: grid; grid-template-columns: 130px 1fr; }
.agency-valuation-report dd { margin: 0; }
.agency-report-values { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.agency-report-values p { border: 1px solid var(--agency-line); margin: 0; padding: 10px; }
.agency-report-values strong { display: block; font-size: 19px; margin-top: 4px; }
.agency-valuation-report > footer { padding-top: 10mm; }
.agency-valuation-report > footer p { color: var(--agency-muted); font-size: 13px; }

@media (max-width: 700px) {
    .agency-valuation-values,
    .agency-report-values { grid-template-columns: 1fr; }
    .agency-valuation-values > div + div { border-left: 0; border-top: 1px solid var(--agency-line); }
    .agency-valuation-history li,
    .agency-valuation-report dl div { grid-template-columns: 1fr; }
    .agency-valuation-report { min-height: 0; padding: 20px; }
}

@media print {
    .agency-valuation-report-page .agency-dashboard-main { margin: 0; max-width: none; min-height: 0; padding: 0; }
    .agency-valuation-report { border: 0; min-height: 297mm; width: 210mm; }
}

.agency-mls-photo {
    background: #eef1ef;
    border: 1px solid var(--agency-border);
    border-radius: 4px;
    margin: 20px 0;
    max-width: 960px;
    overflow: hidden;
}

.agency-mls-photo img {
    aspect-ratio: 3 / 2;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.agency-detail-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 22px 0;
}

.agency-detail-grid > section,
.agency-detail-section {
    border-top: 2px solid var(--agency-accent);
    padding: 16px 0;
}

.agency-detail-grid h2,
.agency-detail-section h2 { font-size: 21px; margin: 0 0 14px; }

.agency-data-grid { display: grid; gap: 10px; margin: 0; }
.agency-data-grid div { border-bottom: 1px solid var(--agency-border); display: grid; gap: 14px; grid-template-columns: minmax(100px, .7fr) 1.3fr; padding: 0 0 9px; }
.agency-data-grid dt { color: var(--agency-muted); font-size: 13px; }
.agency-data-grid dd { margin: 0; overflow-wrap: anywhere; }

.agency-tag-list { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; margin: 0; padding: 0; }
.agency-tag-list li { background: #edf5f1; border: 1px solid #b9cec5; border-radius: 4px; padding: 6px 9px; }

.agency-choice-grid { display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 14px; }
.agency-check { align-items: flex-start; border: 1px solid var(--agency-border); border-radius: 4px; display: flex; gap: 8px; padding: 10px; }
.agency-check input { flex: 0 0 auto; height: 20px; margin-top: 1px; min-height: 20px; padding: 0; width: 20px; }

.agency-filter .agency-field input,
.agency-filter .agency-field select,
.agency-form .agency-field input,
.agency-form .agency-field select,
.agency-form .agency-field textarea {
    background: #fff;
    border: 1px solid #9eaaa6;
    border-radius: 4px;
    color: var(--agency-ink);
    font: inherit;
    min-height: 44px;
    padding: 9px 11px;
    width: 100%;
}

.agency-form .agency-field textarea { min-height: 120px; resize: vertical; }

.agency-profile-tagline {
    color: var(--agency-green-dark);
    font-size: 18px;
    font-weight: 700;
}

.agency-profile-description {
    color: var(--agency-muted);
    line-height: 1.65;
}

.agency-hours-list {
    display: grid;
    gap: 0 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.agency-hours-list div {
    border-bottom: 1px solid var(--agency-border);
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
}

.agency-hours-list dd { margin: 0; }

.agency-hours-editor {
    border-top: 1px solid var(--agency-border);
    margin-top: 16px;
}

.agency-hours-row {
    align-items: end;
    border-bottom: 1px solid var(--agency-border);
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(100px, .8fr) minmax(90px, .7fr) repeat(4, minmax(100px, 1fr));
    padding: 12px 0;
}

.agency-hours-row label span {
    color: var(--agency-muted);
    display: block;
    font-size: 12px;
    margin-bottom: 4px;
}

.agency-hours-row input[type="time"] {
    background: #fff;
    border: 1px solid #9eaaa6;
    border-radius: 4px;
    min-height: 40px;
    padding: 7px;
    width: 100%;
}

.agency-hours-closed {
    align-items: center;
    display: flex;
    gap: 7px;
    min-height: 40px;
}

.agency-hours-closed input { height: 22px; margin: 0; width: 22px; }

.agency-membership-list { list-style: none; margin: 0; padding: 0; }
.agency-membership-list li { border-bottom: 1px solid var(--agency-border); display: flex; justify-content: space-between; padding: 11px 0; }
.agency-membership-list span { color: var(--agency-muted); }

@media (max-width: 700px) {
    .agency-detail-grid,
    .agency-choice-grid,
    .agency-hours-list { grid-template-columns: 1fr; }
    .agency-hours-row { align-items: center; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .agency-hours-row > strong { grid-column: 1 / -1; }
}

.agency-request-feature-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.agency-request-feature-grid > div {
    border: 1px solid var(--agency-border);
    border-radius: 4px;
    display: grid;
    gap: 7px;
    padding: 12px;
}

.agency-request-feature-grid label {
    align-items: center;
    display: flex;
    font-size: 14px;
    gap: 7px;
}

.agency-request-match-list {
    display: grid;
    gap: 14px;
}

.agency-request-match {
    border: 1px solid var(--agency-border);
    border-radius: 4px;
    padding: 18px;
}

.agency-request-match > header {
    align-items: start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.agency-request-match h2 { font-size: 21px; margin: 3px 0; }
.agency-request-match dl { display: flex; flex-wrap: wrap; gap: 14px 28px; }
.agency-request-match dl div { min-width: 120px; }
.agency-request-match dt { color: var(--agency-muted); font-size: 13px; }
.agency-request-match dd { margin: 3px 0 0; }
.agency-request-match details { border-top: 1px solid var(--agency-border); margin-top: 14px; padding-top: 12px; }
.agency-request-match summary { cursor: pointer; font-weight: 700; }
.agency-match-score { background: #fff3e6; border: 1px solid #e27716; border-radius: 4px; color: #8b3f00; font-size: 20px; padding: 8px 10px; }

@media (max-width: 700px) {
    .agency-request-feature-grid { grid-template-columns: 1fr; }
    .agency-request-match > header { align-items: flex-start; }
}

.agency-agenda-filter {
    grid-template-columns: minmax(220px, 1.6fr) repeat(4, minmax(140px, 1fr)) auto;
}

.agency-agenda-week {
    border: 1px solid var(--agency-border);
    border-radius: 4px;
    margin: 24px 0 30px;
    padding: 18px;
}

.agency-agenda-week > header {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 16px;
}

.agency-agenda-week h2 { font-size: 24px; margin: 2px 0 0; }
.agency-agenda-week nav { align-items: center; display: flex; gap: 6px; }

.agency-agenda-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.agency-agenda-day {
    background: #f6f8f7;
    border: 1px solid var(--agency-border);
    border-radius: 4px;
    min-height: 160px;
    padding: 8px;
}

.agency-agenda-day--today { border-color: var(--agency-accent); box-shadow: inset 0 3px var(--agency-accent); }
.agency-agenda-day > header { align-items: baseline; display: flex; justify-content: space-between; margin-bottom: 8px; }
.agency-agenda-day > header span { color: var(--agency-muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.agency-agenda-day > header strong { font-size: 18px; }
.agency-agenda-day > p { color: var(--agency-muted); font-size: 12px; }

.agency-agenda-card {
    background: #fff;
    border-left: 3px solid #a66015;
    color: var(--agency-text);
    display: grid;
    font-size: 12px;
    gap: 2px;
    margin-bottom: 6px;
    padding: 7px;
    text-decoration: none;
}

.agency-agenda-card:hover,
.agency-agenda-card:focus { background: #edf5f1; color: #15482f; }
.agency-agenda-card--confirmed,
.agency-agenda-card--completed { border-left-color: #287a4b; }
.agency-agenda-card--cancelled,
.agency-agenda-card--no_show { border-left-color: #87939b; opacity: .72; }
.agency-agenda-card time { font-weight: 800; }
.agency-agenda-card strong,
.agency-agenda-card span { overflow-wrap: anywhere; }
.agency-agenda-list { margin-top: 26px; }
.agency-appointment-row > div { display: grid; gap: 3px; }

.agency-appointment-history { border-top: 1px solid var(--agency-border); margin: 28px 0; padding-top: 20px; }
.agency-appointment-history ol { list-style: none; margin: 0; padding: 0; }
.agency-appointment-history li { border-bottom: 1px solid var(--agency-border); display: grid; gap: 18px; grid-template-columns: 145px 1fr; padding: 12px 0; }
.agency-appointment-history time { color: var(--agency-muted); }
.agency-appointment-history li div { display: grid; gap: 2px; }

@media (max-width: 1100px) {
    .agency-agenda-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .agency-agenda-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .agency-agenda-filter,
    .agency-agenda-grid { grid-template-columns: 1fr; }
    .agency-agenda-week { padding: 12px; }
    .agency-agenda-week > header { align-items: flex-start; flex-direction: column; }
    .agency-agenda-day { min-height: 0; }
    .agency-appointment-history li { gap: 4px; grid-template-columns: 1fr; }

    .agency-dashboard-header {
        flex-wrap: wrap;
    }

    .agency-workspace-nav {
        background: #123b38;
        flex: 1 0 100%;
        margin: 6px 0 -10px;
        order: 3;
        overflow-x: auto;
        width: 100%;
    }

    .agency-workspace-nav a {
        flex: 1 0 auto;
        min-height: 38px;
        padding: 8px 7px 7px;
        text-align: center;
    }
}
/* Shop */
.agency-shop-catalog article{overflow:hidden}.agency-shop-cover{display:block;width:calc(100% + 40px);height:180px;margin:-20px -20px 18px;object-fit:cover}.agency-shop-price{font-size:1.5rem;color:#173f35;white-space:nowrap}.agency-shop-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.agency-shop-gallery img{width:100%;height:220px;object-fit:cover;border-radius:4px}.agency-shop-gallery img:first-child{grid-column:span 2;grid-row:span 2;height:452px}.agency-shop-quantity{display:flex;align-items:center;gap:8px}.agency-shop-quantity input{width:76px}.agency-text-danger{color:#a22323}.agency-history{list-style:none;padding:0;margin:0}.agency-history li{position:relative;padding:0 0 22px 24px;border-left:2px solid #dce5e2}.agency-history li:last-child{border-left-color:transparent}.agency-history li:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:2px;background:#176a54}.agency-history li span{display:block;color:#5f6f69;font-size:.875rem;margin-top:3px}.agency-history li p{margin:7px 0 0}.agency-alert[role="note"]{padding:12px 14px;background:#eef4f2;border-left:3px solid #176a54;margin-bottom:16px}
@media(max-width:760px){.agency-shop-gallery{grid-template-columns:1fr 1fr}.agency-shop-gallery img,.agency-shop-gallery img:first-child{height:180px;grid-column:auto;grid-row:auto}.agency-shop-quantity{min-width:170px}.agency-shop-price{font-size:1.25rem}}
