html.mx-overlay-scroll-lock,html.mx-overlay-scroll-lock body{overflow:hidden;overscroll-behavior:none}
:root {
    color-scheme: light;
    --color-ink: #172039;
    --color-muted: #68728b;
    --color-accent: #9a5d66;
    --color-accent-strong: #824b54;
    --color-accent-soft: #f8eeee;
    --color-surface: #ffffff;
    --color-canvas: #fbf8f7;
    --color-line: #eadcda;
    --color-success: #36795d;
    --shadow-soft: 0 18px 48px rgba(55, 37, 42, 0.08);
    --radius-large: 18px;
    --radius-medium: 10px;
    --content-width: 1440px;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Client transfers */
.page-hero-actions,
.client-import-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.page-hero-actions {
    justify-content: flex-end;
}

.client-import-panel,
.client-import-preview {
    display: grid;
    gap: 20px;
}

.client-import-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px 14px;
}

.client-import-form > small {
    grid-column: 1;
    color: var(--color-muted);
}

.file-picker {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.file-picker > span {
    color: var(--color-ink);
    font-weight: 700;
}

.file-picker input[type="file"] {
    width: 100%;
    min-height: 48px;
    padding: 8px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-medium);
    background: #fff;
    color: var(--color-muted);
    font: inherit;
}

.file-picker input[type="file"]::file-selector-button {
    min-height: 32px;
    margin-right: 12px;
    padding: 6px 12px;
    border: 0;
    border-radius: 7px;
    background: var(--color-accent-soft);
    color: var(--color-accent-strong);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.client-import-guidance {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.client-import-guidance .content-panel {
    padding: 20px;
}

.client-import-guidance h2 {
    font-size: 18px;
}

.client-import-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.client-import-stats article {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-medium);
    background: var(--color-accent-soft);
}

.client-import-stats span,
.client-import-table small,
.client-import-limit-note {
    color: var(--color-muted);
    font-size: 13px;
}

.client-import-stats strong {
    font-size: 24px;
}

.client-import-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-large);
}

.client-import-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.client-import-table th,
.client-import-table td {
    padding: 13px 14px;
    border-bottom: 1px solid var(--color-line);
    text-align: left;
    vertical-align: top;
}

.client-import-table th {
    color: var(--color-muted);
    font-size: 12px;
    text-transform: uppercase;
}

.client-import-table td:last-child {
    display: grid;
    gap: 5px;
}

@media (max-width: 760px) {
    .page-hero-actions,
    .client-import-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .page-hero-actions .button,
    .client-import-heading .button,
    .client-import-heading form,
    .client-import-heading form .button {
        width: 100%;
    }

    .client-import-form,
    .client-import-guidance,
    .client-import-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .client-import-form > small {
        grid-column: auto;
    }
}

/* Account settings */
.settings-tabs {
    display: inline-flex;
    max-width: 100%;
    margin: 0 0 18px;
    padding: 4px;
    overflow-x: auto;
    border: 1px solid var(--color-line);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.76);
    scrollbar-width: none;
}

.settings-tabs::-webkit-scrollbar {
    display: none;
}

.settings-tabs a {
    min-height: 40px;
    padding: 9px 16px;
    border-radius: 10px;
    color: var(--color-muted);
    font-weight: 700;
    white-space: nowrap;
}

.settings-tabs a.is-active {
    background: var(--color-accent);
    color: #fff;
    box-shadow: 0 8px 20px rgba(151, 86, 97, 0.18);
}

.account-settings-panel {
    max-width: 1080px;
}

.account-notification-toggle {
    align-self: end;
    min-height: 48px;
    padding: 0 2px;
}

.account-security-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(360px, 1.2fr);
    gap: 20px;
    align-items: start;
}

.account-password-form,
.account-session-panel {
    display: grid;
    gap: 16px;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--color-line);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
}

.account-password-form h3,
.account-session-panel h3 {
    margin: 0;
}

.account-session-panel p {
    margin: 5px 0 0;
    color: var(--color-muted);
}

.account-session-list {
    display: grid;
    gap: 10px;
}

.account-session {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--color-line);
    border-radius: 12px;
    background: #fff;
}

.account-session.is-current {
    border-color: rgba(151, 86, 97, 0.32);
    background: rgba(151, 86, 97, 0.05);
}

.account-session > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.account-session strong,
.account-session small {
    overflow-wrap: anywhere;
}

.account-session form {
    justify-self: start;
}

@media (max-width: 800px) {
    .account-security-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .settings-tabs {
        display: flex;
        width: 100%;
    }

    .settings-tabs a {
        flex: 1 0 auto;
        text-align: center;
    }

    .account-password-form,
    .account-session-panel {
        padding: 16px;
    }
}

/* Platform administration */
.platform-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.platform-metric-card {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 18px;
}

.platform-metric-card span {
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 700;
}

.platform-metric-card strong {
    font-size: clamp(23px, 2.5vw, 32px);
}

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

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

.platform-compact-list > a,
.platform-compact-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 12px 0;
    border-top: 1px solid var(--color-line);
    color: inherit;
    text-decoration: none;
}

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

.platform-compact-list small {
    margin-top: 3px;
    color: var(--color-muted);
}

.platform-filter-bar {
    grid-template-columns: minmax(220px, 1.4fr) minmax(150px, .7fr) minmax(160px, .8fr) auto auto;
}

.platform-salons-table .data-table-row,
.platform-users-table .data-table-row {
    grid-template-columns: minmax(180px, 1.2fr) minmax(120px, .75fr) minmax(160px, 1fr) minmax(110px, .7fr) minmax(115px, .75fr) minmax(150px, auto);
}

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

.platform-admin-actions form,
.platform-inline-action {
    display: flex;
    align-items: end;
    gap: 10px;
    min-width: 0;
}

.platform-admin-actions label {
    display: grid;
    flex: 1;
    gap: 7px;
}

.platform-inline-action select {
    min-width: 105px;
    min-height: 42px;
    padding: 8px 32px 8px 11px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    color: var(--color-ink);
    background: var(--color-surface);
    font: inherit;
}

.platform-users-table .status-pill,
.platform-salons-table .status-pill {
    justify-self: start;
}

.platform-module-statuses {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.audit-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.audit-row {
    padding: 16px;
    border: 1px solid var(--color-line);
    border-radius: 9px;
    background: var(--color-surface);
}

.audit-row > div,
.audit-row dl,
.audit-payload {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.audit-row > div {
    grid-template-columns: minmax(0, 1fr) max-content;
}

.audit-row dl div,
.audit-payload div {
    min-width: 0;
}

.audit-row dt,
.audit-row dd {
    margin: 0;
}

.audit-row dt {
    color: var(--color-muted);
    font-size: 11px;
    font-weight: 750;
}

.audit-row details {
    margin-top: 12px;
}

.audit-row summary {
    cursor: pointer;
    color: var(--color-accent-strong);
    font-weight: 700;
}

.audit-payload {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 10px;
}

.audit-payload pre {
    max-height: 180px;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 11px;
}

.pagination-window {
    flex-wrap: wrap;
}

.pagination-gap {
    display: inline-grid;
    place-items: center;
    min-width: 28px;
    color: var(--color-muted);
}

@media (max-width: 1050px) {
    .platform-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 800px) {
    .platform-module-grid,
    .platform-overview-grid,
    .platform-detail-grid,
    .platform-admin-actions,
    .platform-filter-bar {
        grid-template-columns: minmax(0, 1fr);
    }

    .platform-filter-bar .button,
    .platform-admin-actions .button {
        width: 100%;
    }

    .platform-admin-actions form,
    .platform-inline-action {
        align-items: stretch;
        flex-direction: column;
    }

    .platform-salons-table .data-table-header,
    .platform-users-table .data-table-header {
        display: none;
    }

    .platform-salons-table .data-table-row,
    .platform-users-table .data-table-row,
    .audit-row dl,
    .audit-payload {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 480px) {
    .platform-metric-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Help Center */
.help-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:18px 0 26px;padding:12px;border:1px solid var(--color-line);border-radius:var(--radius-large);background:var(--color-surface)}
.help-search label,.help-search input{width:100%;min-width:0}.help-search input{min-height:44px;padding:10px 13px;border:1px solid var(--color-line);border-radius:8px;color:var(--color-ink);background:var(--color-surface);font:inherit}.help-category-grid,.tutorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.help-category-card,.tutorial-card,.help-support,.tutorial-main,.tutorial-sidebar{border:1px solid var(--color-line);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow-soft)}
.help-category-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:18px}.help-category-card small,.help-category-card .text-link{grid-column:1/-1}
.help-category-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-medium);background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:700}
.content-section{margin:28px 0}.tutorial-card{min-width:0;overflow:hidden}.tutorial-thumbnail{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--color-accent-soft)}
.tutorial-thumbnail img{width:100%;height:100%;object-fit:cover}.tutorial-thumbnail-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--color-accent);font-size:36px;font-weight:700}
.tutorial-play{position:absolute;inset:50% auto auto 50%;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--color-surface);color:var(--color-accent-strong);box-shadow:var(--shadow-soft);transform:translate(-50%,-50%)}
.tutorial-card-body{display:grid;gap:10px;padding:16px}.tutorial-meta,.tutorial-badges,.breadcrumbs,.help-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tutorial-meta{color:var(--color-muted);font-size:13px}
.breadcrumbs{margin-bottom:14px;color:var(--color-muted);font-size:14px}.help-filters{margin-bottom:24px}.filter-chip{min-height:40px;padding:9px 14px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-surface)}
.filter-chip.is-active{border-color:var(--color-accent);background:var(--color-accent);color:white}.help-support{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px;padding:22px}.help-support-actions{display:flex;gap:10px}
.tutorial-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);align-items:start;gap:20px}.tutorial-main,.tutorial-sidebar{padding:22px}.tutorial-player{display:grid;place-items:center;width:100%;aspect-ratio:16/9;margin:18px 0;overflow:hidden;border-radius:var(--radius-medium);background:#12131a}
.tutorial-player iframe,.tutorial-player video{width:100%;height:100%;border:0}.video-unavailable{display:grid;gap:6px;padding:24px;color:white;text-align:center}.tutorial-copy{padding:18px 0;border-top:1px solid var(--color-line)}
.chapter-list,.tutorial-sidebar{display:grid;gap:10px}.chapter-list button{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;width:100%;padding:12px;border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-accent-soft);color:inherit;text-align:left;cursor:pointer}
.tutorial-neighbors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tutorial-neighbors a{display:grid;gap:4px;white-space:normal}.related-tutorial{display:grid;gap:4px;padding:12px;border:1px solid var(--color-line);border-radius:var(--radius-medium)}
@media(max-width:1050px){.help-category-grid,.tutorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.help-search,.help-category-grid,.tutorial-grid,.tutorial-layout,.tutorial-neighbors{grid-template-columns:1fr}.help-search .button,.help-support .button{width:100%}.help-support,.help-support-actions{align-items:stretch;flex-direction:column}.tutorial-main,.tutorial-sidebar{padding:16px}}
.hero-actions,.row-actions,.option-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.admin-list{display:grid;gap:12px;margin-top:18px}.admin-list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--color-line);border-radius:var(--radius-large);background:var(--color-surface)}
.admin-list-row h2{margin:6px 0}.admin-list-row form{margin:0}.admin-form{display:grid;gap:16px}.admin-form .settings-panel{margin:0}.option-row{margin-top:14px}.option-row label{display:inline-flex;align-items:center;gap:7px}.field-error{color:#a83d35}.filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,.5fr) minmax(180px,.7fr) auto;align-items:end;gap:10px;margin:18px 0;padding:14px;border:1px solid var(--color-line);border-radius:var(--radius-large);background:var(--color-surface)}.filter-bar label{display:grid;gap:6px}
@media(max-width:800px){.filter-bar{grid-template-columns:1fr 1fr}.filter-bar label:first-of-type{grid-column:1/-1}.admin-list-row{align-items:stretch;flex-direction:column}.row-actions{width:100%}.row-actions .button,.row-actions form{flex:1}.row-actions form .button{width:100%}}
@media(max-width:520px){.filter-bar{grid-template-columns:1fr}.filter-bar label:first-of-type{grid-column:auto}.filter-bar .button{width:100%}}

/* Support and system status */
.support-summary-grid,.system-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.support-summary-card{display:grid;gap:6px;padding:18px}.support-summary-card strong{font-size:28px}.support-filter-bar{grid-template-columns:minmax(220px,1fr) minmax(170px,.45fr) auto auto}.support-ticket-list{display:grid;gap:12px}.support-ticket-row{display:grid;gap:12px;padding:18px;border:1px solid var(--color-line);border-radius:var(--radius-large);background:var(--color-surface)}.support-ticket-main,.support-ticket-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.support-ticket-main>div{min-width:0}.support-ticket-main h3{margin:5px 0;overflow-wrap:anywhere}.support-ticket-meta{justify-content:flex-start;flex-wrap:wrap;color:var(--color-muted);font-size:13px}.support-ticket-meta span+span::before{content:"";display:inline-block;width:3px;height:3px;margin:0 9px 3px 0;border-radius:50%;background:currentColor}.support-impact-options{min-width:0;margin:0;padding:0;border:0}.support-impact-options>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.support-impact-options .selection-card{min-width:0}.support-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);align-items:start;gap:18px}.support-conversation-panel,.support-detail-panel{min-width:0;padding:20px}.support-message-list{display:grid;gap:12px}.support-message{display:grid;gap:9px;max-width:min(82%,760px);padding:15px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-surface)}.support-message.is-support{justify-self:start;background:var(--color-accent-soft)}.support-message.is-salon{justify-self:end}.support-message.is-internal{border-style:dashed;background:#fff8e9}.support-message-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.support-message-heading>div{display:grid;gap:2px}.support-message-heading small,.support-message-heading time{color:var(--color-muted);font-size:12px}.support-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.support-attachment-list{display:flex;flex-wrap:wrap;gap:8px}.support-attachment-list a{padding:7px 10px;border:1px solid var(--color-line);border-radius:8px;background:#fff;font-size:13px}.support-ticket-attachments{margin-top:12px}.support-reply-form,.support-status-form{display:grid;gap:12px;margin-top:18px}.support-detail-list{display:grid;gap:0;margin:0}.support-detail-list>div{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--color-line)}.support-detail-list dt{color:var(--color-muted);font-size:12px;font-weight:700;text-transform:uppercase}.support-detail-list dd{margin:0;overflow-wrap:anywhere}.system-status-overview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:24px;padding:22px}.system-status-overview h2,.system-status-card h3{margin:0 0 6px}.system-status-overview p,.system-status-card p{margin:0;color:var(--color-muted)}.system-status-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e9f6ee;color:var(--color-success);font-size:22px;font-weight:800}.system-status-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding:18px}.system-status-card .status-pill{flex:0 0 auto}
@media(max-width:1000px){.support-summary-grid,.system-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-detail-layout{grid-template-columns:minmax(0,1fr) minmax(240px,290px)}}
@media(max-width:800px){.support-filter-bar{grid-template-columns:1fr 1fr}.support-filter-bar label:first-of-type{grid-column:1/-1}.support-detail-layout{grid-template-columns:1fr}.support-detail-panel{order:-1}}
@media(max-width:600px){.support-summary-grid,.system-status-grid,.support-impact-options>div,.support-filter-bar{grid-template-columns:1fr}.support-filter-bar label:first-of-type{grid-column:auto}.support-filter-bar .button{width:100%}.support-ticket-main,.system-status-overview,.system-status-card{align-items:flex-start}.support-ticket-main{flex-direction:column}.support-message{max-width:94%}.support-message-heading{flex-direction:column;gap:4px}.support-conversation-panel,.support-detail-panel{padding:16px}.system-status-overview{grid-template-columns:auto minmax(0,1fr)}.system-status-overview>.status-pill{grid-column:2}.system-status-card{flex-direction:column}}

/* Operational reports */
.report-tabs{margin-bottom:14px}.report-filter-bar{grid-template-columns:minmax(150px,.7fr) minmax(180px,1fr) minmax(145px,.65fr) minmax(145px,.65fr) auto}.report-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.report-metric-card{display:grid;gap:7px;min-width:0;padding:18px}.report-metric-card>span{color:var(--color-muted);font-size:13px;font-weight:700}.report-metric-card strong{font-size:clamp(22px,2.3vw,31px);overflow-wrap:anywhere}.comparison{font-size:12px}.comparison.is-up{color:var(--color-success)}.comparison.is-down{color:#a54c45}.comparison.is-flat{color:var(--color-muted)}.report-trend-panel{padding:20px}.report-trend-list{display:grid;gap:11px;margin-top:18px}.report-trend-row{display:grid;grid-template-columns:52px minmax(100px,1fr) minmax(120px,auto) minmax(90px,auto);align-items:center;gap:12px}.report-trend-row time,.report-trend-row small{color:var(--color-muted);font-size:12px}.report-trend-bar{height:9px;overflow:hidden;border-radius:999px;background:var(--color-accent-soft)}.report-trend-bar span{display:block;width:var(--report-value);height:100%;border-radius:inherit;background:var(--color-accent)}.operational-report-table .data-table-row{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(100px,.65fr) minmax(130px,.75fr) minmax(130px,.8fr)}
.report-metric-grid--overview{grid-template-columns:repeat(4,minmax(0,1fr))}.report-filter-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.report-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.report-top-panel{padding:20px}.report-top-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:13px 0;border-bottom:1px solid var(--color-line);text-decoration:none}.report-top-row:last-child{border-bottom:0}.report-top-row small{grid-column:1/-1;color:var(--color-muted)}.report-top-row:hover strong{color:var(--color-accent)}
@media(max-width:1100px){.report-metric-grid--overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.report-top-grid{grid-template-columns:1fr}.report-tabs{overflow-x:auto;white-space:nowrap}.report-filter-actions{display:grid;grid-template-columns:1fr}.report-filter-actions .button{width:100%}}
@media(max-width:430px){.report-metric-grid--overview{grid-template-columns:1fr}}
@media(max-width:1000px){.report-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-bar .button{align-self:end}.report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-trend-row{grid-template-columns:48px minmax(100px,1fr) minmax(110px,auto)}.report-trend-row small{grid-column:2/-1}}
@media(max-width:800px){.report-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-bar label:first-of-type{grid-column:auto}.operational-report-table .data-table-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.report-filter-bar,.report-metric-grid{grid-template-columns:1fr}.report-filter-bar .button{width:100%}.report-trend-panel{padding:16px}.report-trend-row{grid-template-columns:44px minmax(0,1fr);gap:8px}.report-trend-row strong,.report-trend-row small{grid-column:2}.operational-report-table .data-table-row{grid-template-columns:1fr}.operational-report-table .data-table-row>*{min-width:0}}

* {
    box-sizing: border-box;
}

[hidden] {
    display: none !important;
}

html {
    min-width: 320px;
    background: var(--color-canvas);
}

body {
    min-height: 100vh;
    margin: 0;
    color: var(--color-ink);
    background:
        linear-gradient(180deg, rgba(248, 238, 238, 0.72), rgba(251, 248, 247, 0) 340px),
        var(--color-canvas);
}

a {
    color: inherit;
}

.app-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(calc(100% - 40px), var(--content-width));
    min-height: 72px;
    margin: 0 auto;
}

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

.brand-logo {
    display: block;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    object-fit: contain;
}

.brand-mark {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 1px solid var(--color-line);
    border-radius: 9px;
    color: var(--color-accent-strong);
    background: var(--color-surface);
    box-shadow: 0 8px 24px rgba(55, 37, 42, 0.06);
    font-weight: 800;
}

.brand-name {
    font-size: 14px;
    font-weight: 750;
    letter-spacing: 0.22em;
}

.header-actions {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--color-line);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.8);
}

.app-header-tools,
.identity-chip {
    display: inline-flex;
    align-items: center;
}

.app-header-tools {
    min-width: 0;
    gap: 10px;
}

.identity-chip {
    min-width: 0;
    gap: 9px;
    padding: 5px 9px 5px 5px;
    border: 1px solid var(--color-line);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.82);
}

.identity-avatar {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 7px;
    color: var(--color-accent-strong);
    background: var(--color-accent-soft);
    font-size: 13px;
    font-weight: 800;
}

.identity-chip > span:last-child {
    display: grid;
    min-width: 0;
}

.identity-chip strong,
.identity-chip small {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.identity-chip strong {
    font-size: 12px;
}

.identity-chip small {
    color: var(--color-muted);
    font-size: 11px;
}

.icon-text-button {
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    color: var(--color-accent-strong);
    background: var(--color-surface);
    font: inherit;
    font-size: 12px;
    font-weight: 750;
    cursor: pointer;
}

.locale-link {
    display: inline-grid;
    place-items: center;
    min-width: 42px;
    min-height: 36px;
    border-radius: 6px;
    color: var(--color-muted);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.locale-link.is-active {
    color: var(--color-accent-strong);
    background: var(--color-accent-soft);
}

.app-main {
    min-width: 0;
    margin: 24px 0 64px;
}

.notice {
    margin: 0 0 16px;
    padding: 13px 16px;
    border: 1px solid var(--color-line);
    border-radius: 9px;
    background: var(--color-surface);
    color: var(--color-ink);
    font-size: 14px;
}

.notice-success {
    border-color: rgba(45, 126, 91, 0.28);
    background: rgba(45, 126, 91, 0.08);
    color: #246b4d;
}

.notice-error {
    border-color: rgba(172, 77, 77, 0.28);
    background: rgba(172, 77, 77, 0.08);
    color: #8f3f3f;
}

.page-hero-compact {
    min-height: auto;
}

.form-panel {
    max-width: 980px;
}

.form-section + .form-section {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--color-line);
}

.form-section-heading {
    margin-bottom: 16px;
}

.form-section-heading h2 {
    margin: 0;
    font-size: 20px;
}

.form-section-heading p,
.form-hint {
    margin: 6px 0 0;
    color: var(--color-muted);
    font-size: 13px;
    line-height: 1.55;
}

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

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

.form-grid-price {
    grid-template-columns: minmax(0, 1fr) minmax(92px, 0.34fr);
    gap: 10px;
}

.form-field {
    display: grid;
    min-width: 0;
    gap: 7px;
    color: var(--color-ink);
    font-size: 13px;
    font-weight: 700;
}

.form-field-wide {
    grid-column: 1 / -1;
}

.choice-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 52px;
    padding: 13px 15px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
}

.choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    min-width: 0;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
}

.choice-grid legend {
    grid-column: 1 / -1;
    margin-bottom: 2px;
    color: var(--ink-700);
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 640px) {
    .choice-grid {
        grid-template-columns: 1fr;
    }
}

.choice-row input {
    width: 20px;
    height: 20px;
    margin-top: 1px;
    accent-color: var(--accent);
}

.choice-row span,
.choice-row small {
    display: block;
}

.form-field b {
    color: var(--color-accent);
}

.form-field em {
    color: var(--color-muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
}

.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    outline: none;
    color: var(--color-ink);
    background: var(--color-surface);
    font: inherit;
    font-weight: 500;
}

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

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(154, 93, 102, 0.1);
}

.form-field [aria-invalid="true"] {
    border-color: #b85d5d;
}

.form-field small {
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.45;
}

.form-field .field-error {
    color: #9a4141;
}

.readonly-value {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
    padding: 13px 15px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    background: var(--color-accent-soft);
    font-size: 13px;
}

.form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.table-link {
    text-decoration-color: rgba(130, 75, 84, 0.35);
    text-underline-offset: 3px;
}

.table-link:hover {
    color: var(--color-accent-strong);
}

/* ===== DARK SIDEBAR ===== */
.app-layout {
    display: grid;
    grid-template-columns: 224px minmax(0, 1fr);
    gap: 0;
    min-height: 100vh;
}

.app-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 224px;
    background: linear-gradient(180deg, #171314 0%, #111 100%);
    border-right: 1px solid rgba(255, 255, 255, 0.04);
    display: flex;
    flex-direction: column;
    z-index: 100;
    overflow-y: auto;
}

/* Hide scrollbar but keep functionality */
.app-sidebar::-webkit-scrollbar {
    width: 0;
}
.app-sidebar {
    scrollbar-width: none;
}

/* Sidebar header / logo */
.sidebar-header {
    padding: 14px 18px 12px;
}

.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    text-decoration: none;
    color: #fff;
}

.sidebar-brand-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.9);
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}

.sidebar-brand-name {
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.25em;
    color: #eadfe1;
}

/* Sidebar navigation */
.app-sidebar nav {
    display: flex;
    flex-direction: column;
    padding: 6px 14px 18px;
    gap: 0;
    flex: 1;
}

/* Nav link base */
.app-nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 32px;
    padding: 7px 10px;
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    transition: all 150ms ease;
    position: relative;
    overflow: hidden;
}

.app-nav-link:hover {
    color: rgba(255, 255, 255, 0.85);
    background: rgba(255, 255, 255, 0.07);
}

.app-nav-link:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.2);
    outline-offset: 2px;
}

/* Active state - maroon/purple background like screenshot */
.app-nav-link.is-active {
    color: #fff;
    background: #6d5052;
    box-shadow: none;
}

/* Nav icon styling */
.app-nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.82);
    transition: color 150ms ease;
}

.app-nav-link:hover .app-nav-icon {
    color: rgba(255, 255, 255, 0.75);
}

.app-nav-link.is-active .app-nav-icon {
    color: rgba(255, 255, 255, 0.95);
}

.app-nav-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Plus icon for expandable */
.sidebar-plus {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    margin-left: auto;
    font-size: 15px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.7);
    transition: color 150ms ease;
}

.app-nav-link:hover .sidebar-plus {
    color: rgba(255, 255, 255, 0.6);
}

.sidebar-section,
.sidebar-group,
.sidebar-group-items {
    display: flex;
    flex-direction: column;
}

.sidebar-group > summary {
    list-style: none;
    cursor: pointer;
}

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

.sidebar-group[open] > summary .sidebar-plus {
    transform: rotate(45deg);
}

.sidebar-group-items .app-nav-link {
    padding-left: 34px;
}

.sidebar-section--marketing,
.sidebar-section--reports,
.sidebar-section--settings,
.sidebar-section--communication .app-nav-link[data-icon='support'] {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 7px;
    padding-top: 11px;
}

.sidebar-section--marketing > summary,
.sidebar-section--reports > summary,
.sidebar-section--settings > summary {
    min-height: 36px;
}

/* Section dividers */
.nav-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.06);
    margin: 8px 14px;
}

/* Main content area */
.app-main {
    grid-column: 2;
    min-width: 0;
    padding: 28px 32px;
    background: #faf8f7;
    min-height: 100vh;
}

/* Hide old brand from header since we have it in sidebar */
.app-header {
    display: none;
}

.mobile-navigation {
    display: none;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    .app-layout {
        grid-template-columns: 1fr;
    }

    .app-sidebar {
        transform: translateX(-100%);
        transition: transform 200ms ease;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.3);
    }

    .app-sidebar.open {
        transform: translateX(0);
    }

    .app-main {
        grid-column: 1;
        padding: 20px;
    }

    .app-header {
        display: flex;
    }

    .mobile-navigation {
        display: block;
    }
}

@media (max-width: 640px) {
    .app-main {
        padding: 16px;
    }
}

.hero,
.status-section,
.page-hero,
.content-panel {
    border: 1px solid var(--color-line);
    border-radius: var(--radius-large);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow-soft);
}

.page-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 30px 32px;
}

.page-hero h1 {
    font-size: clamp(32px, 5vw, 46px);
}

.page-hero p:last-child {
    max-width: 720px;
    margin: 10px 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.content-panel {
    margin-top: 18px;
    padding: 24px;
}

.panel-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
}

.panel-toolbar h2 {
    margin: 0;
    font-size: 24px;
}

.panel-toolbar p {
    margin: 6px 0 0;
    color: var(--color-muted);
    font-size: 13px;
}

.filter-bar {
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-bar input,
.filter-bar select {
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    outline: none;
    color: var(--color-ink);
    background: var(--color-surface);
    font: inherit;
    font-size: 13px;
}

.filter-bar input {
    width: min(260px, 32vw);
}

.filter-bar input:focus,
.filter-bar select:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(154, 93, 102, 0.1);
}

.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;
}

.data-table {
    margin-top: 20px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    overflow: hidden;
}

.data-table-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.25fr) minmax(190px, 1.3fr) minmax(130px, 0.9fr) minmax(70px, 0.45fr) minmax(90px, 0.6fr);
    align-items: center;
    min-width: 0;
    border-top: 1px solid #f0e7e5;
}

.data-table-row:first-child {
    border-top: 0;
}

.data-table-row > * {
    min-width: 0;
    padding: 14px 16px;
    overflow-wrap: anywhere;
}

.data-table-row strong,
.data-table-row span,
.data-table-row small {
    display: block;
}

.data-table-row strong {
    font-size: 14px;
}

.data-table-row small {
    margin-top: 4px;
    color: var(--color-muted);
    font-size: 12px;
}

.data-table-header {
    color: var(--color-muted);
    background: #fdf9f8;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.table-status {
    color: var(--color-success);
    font-size: 12px;
    font-weight: 750;
}

.empty-state {
    margin-top: 20px;
    padding: 42px 24px;
    border: 1px dashed var(--color-line);
    border-radius: 10px;
    text-align: center;
}

.empty-state h3 {
    margin: 0;
}

.empty-state p {
    margin: 8px 0 0;
    color: var(--color-muted);
}

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

.pagination a,
.pagination span,
.pagination strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    text-decoration: none;
    font-size: 12px;
}

.pagination span {
    color: #a7a0a2;
}

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

.resource-card {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--color-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 32px rgba(55, 37, 42, 0.05);
}

.resource-card-heading,
.team-identity {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.resource-card h2 {
    margin: 0;
    font-size: 18px;
}

.resource-card p {
    margin: 6px 0 0;
    color: var(--color-muted);
    font-size: 13px;
    line-height: 1.5;
}

.resource-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 18px 0 0;
}

.resource-metrics > div {
    padding: 12px;
    border-radius: 8px;
    background: var(--color-accent-soft);
}

.resource-metrics dt {
    color: var(--color-muted);
    font-size: 11px;
    font-weight: 700;
}

.resource-metrics dd {
    margin: 5px 0 0;
    font-size: 17px;
    font-weight: 800;
}

.resource-contact {
    padding-top: 14px;
    border-top: 1px solid #f0e7e5;
}

.team-identity {
    justify-content: flex-start;
}

.team-avatar {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 9px;
    color: var(--color-accent-strong);
    background: var(--color-accent-soft);
    font-weight: 800;
}

.team-role {
    color: var(--color-accent-strong) !important;
    font-weight: 750;
}

.schedule-toolbar,
.date-navigation,
.appointment-row {
    display: flex;
    align-items: center;
}

.schedule-toolbar {
    justify-content: space-between;
    gap: 20px;
}

.date-navigation {
    gap: 10px;
}

.date-navigation > div {
    display: grid;
    min-width: 110px;
    text-align: center;
}

.date-navigation small {
    color: var(--color-muted);
    font-size: 10px;
    font-weight: 700;
}

.date-navigation strong {
    margin-top: 3px;
}

.square-button {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    text-decoration: none;
    background: var(--color-surface);
    box-shadow: 0 5px 14px rgba(55, 37, 42, 0.04);
}

.appointment-list {
    margin-top: 20px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    overflow: hidden;
}

.appointment-row {
    display: grid;
    grid-template-columns: 74px minmax(180px, 1.3fr) minmax(160px, 1fr) minmax(100px, auto);
    gap: 14px;
    min-width: 0;
    padding: 15px 17px;
    border-top: 1px solid #f0e7e5;
}

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

.appointment-row > * {
    min-width: 0;
}

.appointment-row time {
    color: var(--color-accent-strong);
    font-size: 16px;
    font-weight: 800;
}

.appointment-row strong,
.appointment-row small {
    display: block;
}

.appointment-row small {
    margin-top: 4px;
    color: var(--color-muted);
    font-size: 12px;
}

.calendar-shell {
    overflow: hidden;
}

.calendar-view-switcher {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: min(100%, 520px);
    margin: 0 auto 18px;
    padding: 4px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: #fbf8f7;
}

.calendar-view-option {
    display: grid;
    min-width: 0;
    min-height: 42px;
    place-items: center;
    padding: 8px 10px;
    border-radius: 7px;
    color: var(--color-muted);
    font-size: 13px;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.calendar-view-option.is-active {
    color: #fff;
    background: var(--color-accent-strong);
    box-shadow: 0 5px 14px rgba(133, 73, 83, 0.18);
}

.calendar-weekday-row,
.calendar-month-grid,
.calendar-week-grid {
    display: grid;
    min-width: 0;
}

.calendar-weekday-row,
.calendar-month-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.calendar-weekday-row {
    margin-top: 22px;
    color: var(--color-muted);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
}

.calendar-month-grid {
    margin-top: 8px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    overflow: hidden;
}

.calendar-day-cell {
    min-width: 0;
    min-height: 112px;
    padding: 8px;
    border-right: 1px solid var(--color-line);
    border-bottom: 1px solid var(--color-line);
    background: var(--color-surface);
}

.calendar-day-cell:nth-child(7n) { border-right: 0; }
.calendar-day-cell:nth-last-child(-n + 7) { border-bottom: 0; }
.calendar-day-cell.is-outside { background: #fbf9f8; opacity: 0.55; }
.calendar-day-cell.is-today { box-shadow: inset 0 0 0 2px rgba(154, 90, 100, 0.32); }

.calendar-day-number {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    color: var(--color-text);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.calendar-day-cell.is-today .calendar-day-number {
    color: #fff;
    background: var(--color-accent-strong);
}

.calendar-day-events,
.calendar-week-events {
    display: grid;
    gap: 5px;
    min-width: 0;
    margin-top: 5px;
}

.calendar-event {
    display: flex;
    min-width: 0;
    gap: 4px;
    padding: 5px 6px;
    border-left: 3px solid var(--color-accent);
    border-radius: 5px;
    color: var(--color-text);
    background: var(--color-accent-soft);
    font-size: 10px;
    text-decoration: none;
}

.calendar-event time { flex: 0 0 auto; font-weight: 800; }
.calendar-event span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event--completed { border-left-color: #4f8a71; background: #eef8f3; }
.calendar-event--cancelled,
.calendar-event--no_show { border-left-color: #b36d62; background: #fff1ef; opacity: 0.72; }

.calendar-week-grid {
    grid-template-columns: repeat(7, minmax(120px, 1fr));
    gap: 8px;
    margin-top: 22px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.calendar-week-day {
    min-width: 0;
    min-height: 230px;
    padding: 10px;
    border: 1px solid var(--color-line);
    border-radius: 9px;
    background: var(--color-surface);
}

.calendar-week-day.is-today { border-color: rgba(154, 90, 100, 0.5); background: #fffafa; }
.calendar-week-heading { display: flex; align-items: center; justify-content: space-between; color: var(--color-text); text-decoration: none; }
.calendar-week-heading span { color: var(--color-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.calendar-week-heading strong { font-size: 18px; }

.calendar-event-card {
    display: grid;
    min-width: 0;
    gap: 3px;
    padding: 9px;
    border: 1px solid rgba(154, 90, 100, 0.16);
    border-radius: 7px;
    color: var(--color-text);
    background: var(--color-accent-soft);
    text-decoration: none;
}

.calendar-event-card time { color: var(--color-accent-strong); font-size: 11px; font-weight: 800; }
.calendar-event-card strong,
.calendar-event-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event-card strong { font-size: 12px; }
.calendar-event-card small { color: var(--color-muted); font-size: 10px; }

.appointment-list--grouped { border: 0; border-radius: 0; overflow: visible; }
.appointment-day-heading { margin: 18px 0 8px; padding: 0 2px; color: var(--color-accent-strong); font-size: 14px; }
.appointment-list--grouped .appointment-row { border: 1px solid var(--color-line); border-radius: 8px; margin-bottom: 7px; }

@media (max-width: 767px) {
    .calendar-shell { padding: 16px; }
    .calendar-view-switcher { margin-bottom: 13px; }
    .calendar-view-option { min-height: 44px; padding-inline: 4px; font-size: 12px; }
    .calendar-shell .schedule-toolbar { align-items: stretch; gap: 12px; }
    .calendar-shell .date-navigation { justify-content: flex-start; }
    .calendar-shell .date-navigation > div { flex: 1; min-width: 0; }
    .calendar-weekday-row { margin-top: 16px; font-size: 9px; }
    .calendar-day-cell { min-height: 76px; padding: 4px; }
    .calendar-day-number { width: 24px; height: 24px; font-size: 11px; }
    .calendar-event { justify-content: center; padding: 4px 2px; border-left-width: 2px; }
    .calendar-event span { display: none; }
    .calendar-event time { font-size: 8px; }
    .calendar-week-grid { grid-template-columns: 1fr; overflow: visible; }
    .calendar-week-day { min-height: 0; }
}

@media (max-width: 360px) {
    .calendar-shell { padding-inline: 12px; }
    .calendar-view-option { font-size: 11px; }
    .calendar-day-cell { min-height: 66px; padding-inline: 2px; }
}

.consent-panel {
    margin-bottom: 20px;
}

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

.consent-card {
    display: grid;
    min-width: 0;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--color-line);
    border-radius: 9px;
    background: var(--color-surface);
    cursor: pointer;
}

.consent-card.is-granted {
    border-color: rgba(154, 90, 100, 0.42);
    background: #fff9f8;
}

.consent-card-header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.consent-card > small,
.consent-history-list small {
    color: var(--color-muted);
}

.toggle-input {
    appearance: none;
    position: relative;
    display: inline-block;
    width: 46px;
    height: 26px;
    flex: 0 0 46px;
    margin: 0;
    border: 1px solid #d8cecc;
    border-radius: 999px;
    background: #e8e2e0;
    cursor: pointer;
    transition: background 0.16s ease, border-color 0.16s ease;
}

.toggle-input::after {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    margin: 2px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(41, 30, 33, 0.18);
    transition: transform 0.16s ease;
}

.toggle-input:checked { border-color: var(--color-accent-strong); background: var(--color-accent-strong); }
.toggle-input:checked::after { transform: translateX(20px); }
.toggle-input:focus-visible { outline: 3px solid rgba(154, 90, 100, 0.2); outline-offset: 2px; }

.consent-status {
    width: fit-content;
    padding: 4px 8px;
    border-radius: 999px;
    color: var(--color-muted);
    background: #f1edeb;
    font-size: 11px;
    font-weight: 800;
}

.consent-card.is-granted .consent-status { color: #317056; background: #e9f7ef; }
.consent-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 16px; }
.consent-history { min-width: min(100%, 320px); }
.consent-history summary { color: var(--color-accent-strong); font-size: 13px; font-weight: 750; cursor: pointer; }
.consent-history-list { display: grid; max-height: 260px; gap: 6px; margin-top: 10px; overflow-y: auto; }
.consent-history-list > div { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; padding: 9px 10px; border: 1px solid var(--color-line); border-radius: 7px; }
.consent-history-list small { grid-column: 1 / -1; }
.consent-operational-note { margin-top: 18px; padding: 14px 16px; border-left: 3px solid var(--color-accent); border-radius: 7px; background: #faf7f6; }
.consent-operational-note p { margin: 5px 0 0; color: var(--color-muted); font-size: 13px; }

@media (max-width: 767px) {
    .consent-grid { grid-template-columns: 1fr; }
    .consent-card { padding: 14px; }
    .consent-actions { align-items: stretch; flex-direction: column; }
    .consent-actions .button { width: 100%; }
}

.hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    min-height: 250px;
    padding: clamp(28px, 5vw, 58px);
}

.eyebrow {
    margin: 0 0 12px;
    color: var(--color-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

h1,
h2,
p {
    overflow-wrap: anywhere;
}

h1 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(38px, 6vw, 62px);
    line-height: 1.02;
    letter-spacing: 0;
}

.hero-copy {
    max-width: 690px;
    margin: 18px 0 0;
    color: var(--color-muted);
    font-size: clamp(16px, 2vw, 19px);
    line-height: 1.65;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 8px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 750;
    white-space: nowrap;
}

.button-primary {
    color: #ffffff;
    background: var(--color-accent);
}

.button-secondary {
    color: var(--color-accent-strong);
    border-color: var(--color-line);
    background: var(--color-surface);
}

.status-section {
    margin-top: 22px;
    padding: clamp(24px, 4vw, 38px);
}

.section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.section-heading h2 {
    margin: 0;
    font-size: 26px;
}

.section-heading p {
    max-width: 720px;
    margin: 8px 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(54, 121, 93, 0.24);
    border-radius: 999px;
    color: var(--color-success);
    background: rgba(54, 121, 93, 0.08);
    font-size: 12px;
    font-weight: 800;
}

.status-pill span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-top: 28px;
}

.metric-card {
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-medium);
    background: var(--color-surface);
}

.metric-card span,
.next-stage span {
    display: block;
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 700;
}

.metric-card strong {
    display: block;
    margin-top: 9px;
    font-size: 24px;
    font-weight: 750;
}

.next-stage {
    display: grid;
    grid-template-columns: minmax(120px, 0.3fr) minmax(0, 1fr);
    gap: 20px;
    margin-top: 14px;
    padding: 18px 20px;
    border-radius: var(--radius-medium);
    background: var(--color-accent-soft);
}

.quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 16px;
}

.quick-links a {
    min-height: 42px;
    padding: 11px 14px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    color: var(--color-accent-strong);
    text-decoration: none;
    background: var(--color-surface);
    font-size: 12px;
    font-weight: 750;
}

.parallel-note {
    margin: 18px 0 0;
    color: var(--color-muted);
    font-size: 14px;
}

.welcome-line {
    margin: 14px 0 0;
    color: var(--color-accent-strong);
    font-size: 14px;
    font-weight: 750;
}

.auth-main {
    display: grid;
    place-items: center;
    width: min(calc(100% - 40px), 520px);
    min-height: calc(100vh - 112px);
    margin: 0 auto 40px;
}

.auth-card {
    width: 100%;
    padding: clamp(26px, 6vw, 44px);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-large);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow-soft);
}

.auth-heading h1 {
    font-size: clamp(32px, 7vw, 42px);
}

.auth-heading > p:last-child {
    margin: 13px 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.auth-form {
    display: grid;
    gap: 18px;
    margin-top: 28px;
}

.auth-detail-list {
    display: grid;
    gap: 0;
    margin: 24px 0 0;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    overflow: hidden;
    background: #fffdfc;
}

.auth-detail-list > div {
    display: grid;
    grid-template-columns: minmax(90px, 0.7fr) minmax(0, 1.3fr);
    gap: 14px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--color-line);
}

.auth-detail-list > div:last-child { border-bottom: 0; }
.auth-detail-list dt { color: var(--color-muted); font-size: 12px; font-weight: 700; }
.auth-detail-list dd { min-width: 0; margin: 0; color: var(--color-ink); overflow-wrap: anywhere; }
.field-help { margin: -8px 0 0; color: var(--color-muted); font-size: 12px; line-height: 1.45; }

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

.field > span {
    color: var(--color-ink);
    font-size: 13px;
    font-weight: 750;
}

.field input {
    width: 100%;
    min-height: 52px;
    padding: 0 15px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    outline: none;
    color: var(--color-ink);
    background: #fffdfc;
    font: inherit;
}

.field input:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(154, 93, 102, 0.12);
}

.auth-form .button {
    width: 100%;
    margin-top: 4px;
    cursor: pointer;
}

.form-alert {
    margin-top: 22px;
    padding: 13px 14px;
    border: 1px solid rgba(154, 93, 102, 0.3);
    border-radius: 8px;
    color: var(--color-accent-strong);
    background: var(--color-accent-soft);
    font-size: 13px;
    line-height: 1.45;
}

.auth-alternative {
    margin: 20px 0 0;
    color: var(--color-muted);
    text-align: center;
    font-size: 14px;
}

.auth-alternative a {
    color: var(--color-accent-strong);
    font-weight: 750;
}

/* Onboarding */
.onboarding-page {
    min-width: 320px;
    background: var(--color-canvas);
}

.onboarding-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(calc(100% - 40px), 1320px);
    min-height: 76px;
    margin: 0 auto;
}

.onboarding-exit-trigger {
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.onboarding-main {
    width: min(calc(100% - 40px), 1320px);
    margin: 18px auto 48px;
}

.onboarding-shell {
    display: grid;
    gap: 24px;
}

.onboarding-intro h1 {
    max-width: 840px;
    margin: 8px 0 0;
    font-size: clamp(34px, 5vw, 52px);
}

.onboarding-intro > p:last-child,
.onboarding-step-heading p {
    max-width: 820px;
    margin: 12px 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.onboarding-progress {
    display: grid;
    gap: 10px;
}

.onboarding-progress strong {
    color: var(--color-accent-strong);
    font-size: 13px;
}

.onboarding-progress-track {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
}

.onboarding-progress-track span {
    height: 8px;
    border-radius: 999px;
    background: #e8e0de;
}

.onboarding-progress-track span.is-complete {
    background: #c58e91;
}

.onboarding-form {
    display: grid;
    gap: 22px;
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-large);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow-soft);
}

.onboarding-step-heading h2 {
    margin: 0;
    font-size: clamp(27px, 4vw, 38px);
}

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

.onboarding-team-grid,
.onboarding-location-mode-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.onboarding-location-mode-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.onboarding-choice-card,
.onboarding-service-choice {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 126px;
    gap: 8px;
    padding: 18px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-medium);
    background: var(--color-surface);
    cursor: pointer;
    transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.onboarding-choice-card:hover,
.onboarding-service-choice:hover,
.onboarding-choice-card:focus-within,
.onboarding-service-choice:focus-within {
    border-color: rgba(154, 93, 102, 0.56);
    box-shadow: 0 8px 24px rgba(55, 37, 42, 0.07);
}

.onboarding-choice-card.is-selected,
.onboarding-service-choice.is-selected {
    border-color: #bd7e87;
    background: #fff8f7;
    box-shadow: 0 0 0 2px rgba(154, 93, 102, 0.09);
}

.onboarding-choice-card input,
.onboarding-service-choice input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.onboarding-choice-card strong,
.onboarding-choice-card small,
.onboarding-service-choice span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.onboarding-choice-card strong {
    padding-right: 30px;
    font-size: 17px;
}

.onboarding-choice-card small {
    color: var(--color-muted);
    line-height: 1.45;
}

.choice-check {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border: 1px solid var(--color-line);
    border-radius: 50%;
    color: transparent;
    background: var(--color-surface);
    font-size: 13px;
}

.is-selected > .choice-check {
    border-color: var(--color-accent);
    color: white;
    background: var(--color-accent);
}

.onboarding-radio-card {
    align-content: center;
}

.onboarding-service-choice {
    display: flex;
    align-items: center;
    min-height: 50px;
    padding: 13px 15px 13px 43px;
}

.onboarding-service-choice::before {
    position: absolute;
    left: 15px;
    width: 17px;
    height: 17px;
    border: 1px solid #cfc1bf;
    border-radius: 4px;
    content: "";
}

.onboarding-service-choice.is-selected::before {
    border-color: var(--color-accent);
    background: var(--color-accent);
    box-shadow: inset 0 0 0 4px #fff8f7;
}

.onboarding-service-groups {
    display: grid;
    gap: 22px;
}

.onboarding-service-groups h3 {
    margin: 0 0 10px;
    font-size: 16px;
}

.onboarding-selection-toolbar,
.onboarding-step-actions,
.confirm-dialog-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.onboarding-selection-toolbar > div,
.onboarding-step-actions > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.text-button {
    min-height: 40px;
    padding: 6px 4px;
    border: 0;
    color: var(--color-accent-strong);
    background: transparent;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.onboarding-inline-hint,
.onboarding-map-fallback,
.onboarding-review-callout,
.onboarding-empty-state {
    padding: 14px 16px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-medium);
    color: var(--color-muted);
    background: #fffaf8;
    line-height: 1.5;
}

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

.onboarding-location-form .field-span-2 {
    grid-column: 1 / -1;
}

.onboarding-page .field input,
.onboarding-page .field select {
    width: 100%;
    min-height: 52px;
    padding: 0 15px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    outline: none;
    color: var(--color-ink);
    background-color: #fffdfc;
    font: inherit;
}

.onboarding-page .field select {
    appearance: none;
    padding-right: 44px;
    background-image: linear-gradient(45deg, transparent 50%, #9a5d66 50%), linear-gradient(135deg, #9a5d66 50%, transparent 50%);
    background-position: calc(100% - 20px) 23px, calc(100% - 15px) 23px;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
}

.onboarding-page .field input:focus,
.onboarding-page .field select:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(154, 93, 102, 0.12);
}

.field > span small {
    color: var(--color-muted);
    font-weight: 500;
}

.required-marker {
    color: var(--color-accent);
}

.onboarding-map-fallback a {
    color: var(--color-accent-strong);
    font-weight: 750;
}

.onboarding-review-callout {
    display: grid;
    gap: 5px;
}

.onboarding-step-actions {
    position: sticky;
    bottom: 0;
    z-index: 5;
    margin: 4px -12px -12px;
    padding: 14px 12px 12px;
    border-top: 1px solid var(--color-line);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(8px);
}

.onboarding-step-actions .button {
    min-height: 46px;
}

.confirm-dialog {
    width: min(calc(100% - 28px), 480px);
    padding: 0;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-large);
    color: var(--color-ink);
    background: var(--color-surface);
    box-shadow: 0 28px 80px rgba(35, 25, 29, 0.24);
}

.confirm-dialog::backdrop {
    background: rgba(23, 32, 57, 0.36);
}

.confirm-dialog-content {
    display: grid;
    gap: 14px;
    padding: 26px;
}

.confirm-dialog-content h2,
.confirm-dialog-content p {
    margin: 0;
}

.confirm-dialog-content p {
    color: var(--color-muted);
    line-height: 1.5;
}

@media (max-width: 900px) {
    .onboarding-card-grid,
    .onboarding-service-grid,
    .onboarding-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .onboarding-header,
    .onboarding-main {
        width: min(calc(100% - 24px), 1320px);
    }

    .onboarding-header {
        min-height: 66px;
    }

    .onboarding-main {
        margin-top: 8px;
    }

    .onboarding-shell {
        gap: 16px;
    }

    .onboarding-intro h1 {
        font-size: 32px;
    }

    .onboarding-intro > p:last-child {
        margin-top: 8px;
        font-size: 14px;
    }

    .onboarding-form {
        gap: 17px;
        padding: 18px 15px 20px;
        border-radius: 14px;
    }

    .onboarding-step-heading h2 {
        font-size: 26px;
    }

    .onboarding-card-grid,
    .onboarding-service-grid,
    .onboarding-team-grid,
    .onboarding-location-mode-grid,
    .onboarding-location-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .onboarding-location-form .field-span-2 {
        grid-column: auto;
    }

    .onboarding-choice-card {
        min-height: 96px;
        padding: 15px;
    }

    .onboarding-selection-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .onboarding-step-actions {
        margin-right: -5px;
        margin-left: -5px;
        padding-right: 5px;
        padding-left: 5px;
    }

    .onboarding-step-actions > div,
    .onboarding-step-actions .button-primary {
        flex: 1;
    }

    .onboarding-step-actions .button-primary {
        min-width: 128px;
    }
}

.error-brand-logo {
    display: block;
    width: 72px;
    height: 72px;
    margin: 0 0 8px;
    object-fit: contain;
}

.error-state {
    display: grid;
    justify-items: start;
    max-width: 620px;
    margin: 12vh auto 0;
    padding: 42px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-large);
    background: var(--color-surface);
    box-shadow: var(--shadow-soft);
}

.error-state h1 {
    margin-top: 24px;
    font-size: 36px;
}

.error-state p,
.error-state small {
    color: var(--color-muted);
}

.error-state .button {
    margin-top: 24px;
}

@media (max-width: 800px) {
    .app-layout {
        grid-template-columns: minmax(0, 1fr);
        width: min(calc(100% - 24px), var(--content-width));
    }

    .app-sidebar {
        display: none;
    }

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

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

    .mobile-navigation {
        display: block;
        width: min(calc(100% - 24px), var(--content-width));
        margin: 4px auto 0;
        border: 1px solid var(--color-line);
        border-radius: 9px;
        background: rgba(255, 255, 255, 0.9);
    }

    .mobile-navigation summary {
        min-height: 46px;
        padding: 13px 15px;
        color: var(--color-accent-strong);
        cursor: pointer;
        font-size: 13px;
        font-weight: 750;
    }

    .mobile-navigation nav {
        padding: 0 8px 8px;
    }

    .hero {
        align-items: flex-start;
        flex-direction: column;
        min-height: 0;
    }

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

    .identity-chip > span:last-child {
        display: none;
    }

    .identity-chip {
        padding-right: 5px;
    }

    .page-hero,
    .panel-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .page-hero .button {
        align-self: flex-start;
    }

    .filter-bar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(130px, 0.45fr) auto;
    }

    .filter-bar input {
        width: 100%;
    }

    .data-table {
        border: 0;
        border-radius: 0;
        overflow: visible;
    }

    .data-table-header {
        display: none;
    }

    .data-table-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 10px;
        padding: 16px;
        border: 1px solid var(--color-line);
        border-radius: 10px;
    }

    .data-table-row > * {
        padding: 0;
    }

    .data-table-row [data-label]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 5px;
        color: var(--color-muted);
        font-size: 10px;
        font-weight: 800;
        text-transform: uppercase;
    }

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

    .schedule-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .appointment-row {
        grid-template-columns: 60px minmax(0, 1fr);
    }

    .appointment-row > :nth-child(3),
    .appointment-row > :nth-child(4) {
        grid-column: 2;
    }
}

@media (max-width: 520px) {
    .app-header {
        width: min(calc(100% - 24px), var(--content-width));
    }

    .app-main {
        margin-top: 12px;
    }

    .brand-name {
        display: none;
    }

    .app-header-tools {
        gap: 6px;
    }

    .icon-text-button {
        width: 44px;
        padding: 0;
        overflow: hidden;
        color: transparent;
        font-size: 0;
    }

    .icon-text-button::before {
        content: "\2192";
        color: var(--color-accent-strong);
        font-size: 18px;
    }

    .auth-main {
        width: min(calc(100% - 24px), 520px);
        min-height: calc(100vh - 90px);
    }

    .hero,
    .status-section,
    .page-hero,
    .content-panel {
        border-radius: 14px;
    }

    .hero {
        padding: 25px 22px;
    }

    .page-hero,
    .content-panel {
        padding: 21px 18px;
    }

    .page-hero .button,
    .filter-bar .button {
        width: 100%;
    }

    .filter-bar {
        grid-template-columns: minmax(0, 1fr);
    }

    .data-table-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .pagination strong {
        display: none;
    }

    .hero .button {
        width: 100%;
        white-space: normal;
        text-align: center;
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

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

    .next-stage {
        grid-template-columns: 1fr;
        gap: 7px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Reactivation module */
.segment-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.segment-card {
    display: grid;
    min-width: 0;
    gap: 7px;
    padding: 17px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: var(--color-surface);
    text-decoration: none;
}

.segment-card strong {
    font-size: 14px;
}

.segment-card span {
    color: var(--color-muted);
    font-size: 12px;
    line-height: 1.45;
}

.segment-card.is-active {
    border-color: rgba(154, 93, 102, 0.48);
    background: var(--color-accent-soft);
    box-shadow: inset 3px 0 0 var(--color-accent);
}

.reactivation-search {
    margin-top: 14px;
}

.reactivation-search label {
    min-width: 0;
    flex: 1;
}

.reactivation-search input {
    width: 100%;
}

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

.reactivation-summary > div {
    display: grid;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: #fdf9f8;
}

.reactivation-summary span {
    color: var(--color-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.reactivation-summary strong {
    font-size: 24px;
}

.selection-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) max-content max-content;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
    padding: 13px 15px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: var(--color-surface);
}

.selection-toolbar label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    min-height: 44px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.selection-toolbar > span {
    color: var(--color-muted);
    font-size: 12px;
}

.reactivation-table .data-table-row {
    grid-template-columns: 54px minmax(170px, 1.3fr) minmax(145px, 0.8fr) minmax(130px, 0.7fr) minmax(150px, 0.75fr);
}

.reactivation-table .data-table-row > :first-child {
    display: grid;
    place-items: center;
}

.table-sort-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    text-decoration: none;
}

.table-sort-link > span {
    display: inline;
}

.mobile-sort-controls {
    display: none;
}

.eligibility-pill {
    width: fit-content;
    max-width: 100%;
    padding: 7px 10px;
    border: 1px solid rgba(172, 77, 77, 0.2);
    border-radius: 999px;
    color: #8f3f3f;
    background: rgba(172, 77, 77, 0.07);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.25;
}

.eligibility-pill.is-eligible {
    border-color: rgba(54, 121, 93, 0.24);
    color: var(--color-success);
    background: rgba(54, 121, 93, 0.08);
}

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

    .selection-toolbar {
        grid-template-columns: minmax(0, 1fr) max-content;
    }

    .selection-toolbar .button {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

@media (max-width: 800px) {
    .mobile-sort-controls {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 14px;
    }

    .mobile-sort-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 42px;
        padding: 0 10px;
        border: 1px solid var(--color-line);
        border-radius: 8px;
        background: var(--color-surface);
        text-decoration: none;
        font-size: 12px;
        font-weight: 750;
    }

    .reactivation-table .data-table-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reactivation-table .data-table-row > :first-child {
        display: block;
    }
}

@media (max-width: 520px) {
    .segment-grid,
    .reactivation-summary,
    .selection-toolbar,
    .reactivation-table .data-table-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .selection-toolbar .button {
        width: 100%;
    }
}

/* Campaigns module */
.campaign-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.campaign-summary > div {
    display: grid;
    gap: 8px;
    padding: 15px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: #fdf9f8;
}

.campaign-summary span {
    color: var(--color-muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.campaign-summary strong {
    font-size: 22px;
}

.campaign-filters {
    margin-top: 15px;
}

.campaign-filters > label:first-of-type {
    min-width: 0;
    flex: 1;
}

.campaign-filters > label:first-of-type input {
    width: 100%;
}

.campaign-table .data-table-row {
    grid-template-columns: minmax(190px, 1.2fr) 76px 104px 88px minmax(135px, 0.75fr) minmax(110px, 0.65fr) minmax(220px, auto);
}

.campaign-row-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.campaign-row-actions form {
    margin: 0;
}

.channel-badge,
.campaign-status {
    width: fit-content;
    max-width: 100%;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
}

.channel-badge {
    border: 1px solid rgba(154, 93, 102, 0.22);
    color: var(--color-accent-strong);
    background: var(--color-accent-soft);
}

.channel-email {
    border-color: rgba(62, 100, 152, 0.22);
    color: #3e6498;
    background: rgba(62, 100, 152, 0.08);
}

.campaign-status {
    border: 1px solid var(--color-line);
    color: var(--color-muted);
    background: var(--color-surface);
}

.campaign-status.status-sent {
    border-color: rgba(54, 121, 93, 0.24);
    color: var(--color-success);
    background: rgba(54, 121, 93, 0.08);
}

.campaign-status.status-failed {
    border-color: rgba(172, 77, 77, 0.24);
    color: #8f3f3f;
    background: rgba(172, 77, 77, 0.08);
}

/* Campaign reports module */
.campaign-report-filters {
    justify-content: flex-end;
}

.campaign-report-filters label {
    display: grid;
    gap: 6px;
    color: var(--color-muted);
    font-size: 11px;
    font-weight: 750;
}

.campaign-report-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 20px;
}

.campaign-report-metrics > div {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: #fdf9f8;
}

.campaign-report-metrics dt {
    color: var(--color-muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.campaign-report-metrics dd {
    margin: 8px 0 0;
    font-size: 21px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.campaign-report-table .data-table-row {
    grid-template-columns: minmax(180px, 1.2fr) 80px 105px minmax(140px, 0.9fr) minmax(140px, 0.9fr) minmax(140px, 0.85fr) 120px;
}

.campaign-report-table .button,
.button-compact {
    width: fit-content;
    min-height: 38px;
    padding: 0 12px;
}

.campaign-report-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.campaign-report-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
    gap: 18px;
}

.campaign-report-detail-grid .content-panel {
    min-width: 0;
}

.campaign-report-content h2,
.campaign-report-detail-grid h2 {
    margin: 0 0 12px;
    font-size: 20px;
}

.campaign-report-content p,
.muted-copy {
    color: var(--color-muted);
    line-height: 1.65;
}

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

.campaign-event-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 12px;
    padding: 12px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
}

.campaign-event-list span,
.campaign-event-list time {
    color: var(--color-muted);
    font-size: 12px;
}

.campaign-event-list time {
    grid-column: 1 / -1;
}

.campaign-recipient-report-table .data-table-row {
    grid-template-columns: minmax(170px, 1.1fr) minmax(170px, 1fr) 130px 140px 70px;
}

@media (max-width: 1100px) {
    .campaign-report-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .campaign-report-table .data-table-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .campaign-report-detail-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .campaign-recipient-report-table .data-table-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .campaign-report-filters,
    .campaign-report-table .data-table-row,
    .campaign-recipient-report-table .data-table-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .campaign-report-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .campaign-report-table .data-table-header,
    .campaign-recipient-report-table .data-table-header {
        display: none;
    }

    .campaign-report-filters .button,
    .campaign-report-table .button {
        width: 100%;
    }
}

.billing-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.billing-summary article {
    display: grid;
    gap: 8px;
    margin: 0;
}

.billing-summary span,
.billing-summary small {
    color: var(--color-muted);
}

.billing-summary strong {
    font-size: clamp(22px, 2.4vw, 32px);
}

.billing-current-plan {
    border-color: #d9b8bd;
    background: var(--color-accent-soft);
}

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

.billing-plan {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-medium);
    background: var(--color-surface);
}

.billing-plan.is-current {
    border-color: var(--color-accent);
    background: var(--color-accent-soft);
}

.billing-plan header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.billing-plan h3,
.billing-plan ul {
    margin: 0;
}

.billing-checkout-form {
    display: grid;
    gap: 10px;
    margin-top: auto;
    padding-top: 14px;
}

.billing-checkout-form label {
    display: grid;
    gap: 6px;
}

.billing-checkout-form label span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.billing-checkout-form select,
.billing-checkout-form .button {
    min-height: 44px;
    width: 100%;
}

.billing-provider-note {
    margin: 14px 0 0;
}

.billing-plan ul {
    display: grid;
    gap: 7px;
    padding-left: 18px;
    color: var(--color-muted);
}

.billing-table .data-table-row {
    grid-template-columns: minmax(140px, 1.1fr) minmax(110px, .8fr) minmax(120px, .8fr) minmax(110px, .7fr) minmax(100px, .7fr);
}

@media (max-width: 980px) {
    .billing-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

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

    .billing-table .data-table-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .billing-table .data-table-header {
        display: none;
    }
}

.platform-module-grid,
.integration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.platform-module-card,
.integration-card {
    border: 1px solid var(--color-line);
    border-radius: var(--radius-large);
    background: var(--color-surface);
    box-shadow: var(--shadow-soft);
}

.platform-module-card {
    display: grid;
    gap: 10px;
    padding: 24px;
    text-decoration: none;
}

.platform-module-card h2,
.platform-module-card p,
.integration-card h2,
.integration-card p {
    margin: 0;
}

.integration-card {
    overflow: hidden;
}

.integration-card.is-enabled {
    border-color: #d9b8bd;
}

.integration-card > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
}

.integration-card > header > div {
    display: flex;
    min-width: 0;
    gap: 12px;
}

.integration-symbol {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 9px;
    color: var(--color-accent-strong);
    background: var(--color-accent-soft);
    font-weight: 800;
}

.integration-card p {
    margin-top: 5px;
    color: var(--color-muted);
}

.integration-mode-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--color-line);
}

.integration-mode-actions a {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 16px 20px;
    text-decoration: none;
}

.integration-mode-actions a + a {
    border-left: 1px solid var(--color-line);
}

.integration-mode-actions small {
    color: var(--color-muted);
}

.integration-mode-tabs {
    display: inline-flex;
    gap: 4px;
    margin-bottom: 16px;
    padding: 4px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: var(--color-surface);
}

.integration-mode-tabs a {
    min-width: 110px;
    padding: 10px 18px;
    border-radius: 7px;
    text-align: center;
    text-decoration: none;
}

.integration-mode-tabs a.is-active {
    color: #fff;
    background: var(--color-accent);
}

.integration-form-panel > form,
.integration-fields {
    display: grid;
    gap: 14px;
}

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

.integration-fields label {
    display: grid;
    min-width: 0;
    gap: 7px;
}

.integration-fields .toggle-field {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-medium);
}

.integration-fields .toggle-field input {
    width: 22px;
    height: 22px;
}

.integration-secret-fields {
    display: grid;
    gap: 10px;
    margin: 4px 0 0;
    padding: 18px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-medium);
    background: var(--color-canvas);
}

.integration-secret-fields p {
    margin: 0;
    color: var(--color-muted);
}

.integration-enable-field {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border: 1px solid #d9b8bd;
    border-radius: var(--radius-medium);
    background: var(--color-accent-soft);
}

.integration-enable-field input {
    width: 24px;
    height: 24px;
}

.integration-enable-field span {
    display: grid;
    gap: 2px;
}

.integration-enable-field small {
    color: var(--color-muted);
}

.integration-test-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--color-line);
}

.integration-test-panel h3,
.integration-test-panel p {
    margin: 0;
}

.integration-readiness {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.settings-panel {
    padding: 24px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-large);
    background: var(--color-surface);
    box-shadow: var(--shadow-soft);
}

.google-calendar-connect-card,
.danger-zone,
.section-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.integration-account-summary {
    display: grid;
    gap: 4px;
    min-width: 0;
    text-align: right;
}

.integration-account-summary strong,
.integration-account-summary small {
    overflow-wrap: anywhere;
}

.integration-settings-form {
    margin-top: 22px;
}

.danger-zone {
    margin-top: 18px;
    background: var(--color-accent-soft);
}

.button.is-disabled {
    opacity: .5;
    pointer-events: none;
}

@media (max-width: 720px) {
    .integration-readiness,
    .google-calendar-connect-card,
    .danger-zone,
    .section-heading-row {
        align-items: stretch;
        flex-direction: column;
    }

    .integration-account-summary {
        text-align: left;
    }

    .google-calendar-connect-card .button,
    .danger-zone .button {
        width: 100%;
    }
}

.integration-test-panel p {
    margin-top: 4px;
    color: var(--color-muted);
}

@media (max-width: 760px) {
    .platform-module-grid,
    .integration-grid,
    .integration-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .integration-card > header,
    .integration-test-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .integration-test-panel .button {
        width: 100%;
    }

    .integration-mode-tabs {
        display: flex;
        width: 100%;
    }

    .integration-mode-tabs a {
        min-width: 0;
        flex: 1;
    }
}

.automation-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.automation-summary article {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.automation-summary span,
.automation-summary strong {
    display: block;
}

.automation-summary span {
    min-height: 34px;
    color: var(--muted);
    font-size: 12px;
}

.automation-summary strong {
    margin-top: 6px;
    font-size: 28px;
}

.automation-list-toolbar {
    align-items: end;
}

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

.automation-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 16px;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
}

.automation-card.is-active {
    border-color: rgba(166, 93, 105, .5);
    background: rgba(166, 93, 105, .045);
}

.automation-card > header,
.automation-card > footer,
.automation-card > header > div,
.automation-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}

.automation-card > header {
    justify-content: space-between;
}

.automation-card > header > strong,
.automation-type {
    color: var(--muted);
    font-size: 12px;
}

.automation-card-copy h3 {
    margin: 0 0 6px;
    font-size: 19px;
}

.automation-card-copy p {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}

.automation-meta {
    flex-wrap: wrap;
}

.automation-meta span {
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--muted);
    font-size: 11px;
}

.automation-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.automation-card dl > div {
    padding: 10px;
    border-radius: 6px;
    background: var(--surface-soft);
}

.automation-card dt {
    color: var(--muted);
    font-size: 11px;
}

.automation-card dd {
    margin: 4px 0 0;
    font-size: 12px;
}

.automation-card > footer {
    margin-top: auto;
    flex-wrap: wrap;
}

.automation-card > footer form {
    margin: 0;
}

.button-text {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.automation-channel-field {
    min-width: 0;
    margin: 0 0 20px;
    padding: 0;
    border: 0;
}

.automation-channel-field legend {
    margin-bottom: 10px;
    font-weight: 700;
}

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

.automation-channel-grid label {
    display: flex;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: var(--surface);
}

.automation-channel-grid input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    accent-color: var(--accent);
}

.data-table--automation-logs .data-table-row {
    grid-template-columns: 150px minmax(130px, .8fr) 110px 120px minmax(220px, 1.4fr);
}

@media (max-width: 1000px) {
    .automation-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .automation-channel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .automation-summary,
    .automation-grid,
    .automation-channel-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .automation-summary {
        gap: 8px;
    }

    .automation-summary article {
        display: flex;
        min-height: 64px;
        align-items: center;
        justify-content: space-between;
        padding: 12px 15px;
    }

    .automation-summary span {
        min-height: 0;
    }

    .automation-summary strong {
        margin: 0;
        font-size: 22px;
    }

    .automation-card {
        padding: 16px;
    }

    .automation-card dl {
        grid-template-columns: minmax(0, 1fr);
    }

    .automation-card > footer .button,
    .automation-card > footer form {
        width: 100%;
    }

    .data-table--automation-logs .data-table-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.toggle-control {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

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

.toggle-control > span {
    position: relative;
    width: 42px;
    height: 24px;
    flex: 0 0 42px;
    border: 1px solid var(--color-line);
    border-radius: 999px;
    background: #eee8e7;
    transition: background 140ms ease, border-color 140ms ease;
}

.toggle-control > span::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(38, 31, 34, 0.2);
    transition: transform 140ms ease;
}

.toggle-control input:checked + span {
    border-color: var(--color-accent);
    background: var(--color-accent);
}

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

.toggle-control input:focus-visible + span {
    outline: 3px solid rgba(154, 93, 102, 0.18);
    outline-offset: 2px;
}

.toggle-control small {
    color: var(--color-muted);
    font-size: 11px;
}

@media (max-width: 1000px) {
    .campaign-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .campaign-filters {
        display: grid;
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(150px, 0.35fr));
    }

    .campaign-filters .button {
        width: fit-content;
    }
}

@media (max-width: 800px) {
    .campaign-table .data-table-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .campaign-summary,
    .campaign-filters,
    .campaign-table .data-table-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .campaign-filters .button {
        width: 100%;
    }
}

/* Campaign builder */
.campaign-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 18px 0;
}

.campaign-steps a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    min-height: 46px;
    padding: 8px 10px;
    border: 1px solid var(--color-line);
    border-radius: 9px;
    color: var(--color-muted);
    background: var(--color-surface);
    text-decoration: none;
    font-size: 11px;
    font-weight: 750;
    text-align: center;
}

.campaign-steps span {
    display: inline-grid;
    place-items: center;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    border-radius: 50%;
    color: var(--color-accent-strong);
    background: var(--color-accent-soft);
}

.campaign-builder {
    display: grid;
    gap: 16px;
}

.campaign-builder-section {
    position: relative;
    overflow: hidden;
    margin-top: 0;
    border: 1px solid rgba(154, 93, 102, 0.16);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(253, 249, 248, 0.92));
    box-shadow: 0 10px 28px rgba(55, 37, 42, 0.045);
}

.campaign-builder-section::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    border-radius: 16px 0 0 16px;
    background: linear-gradient(180deg, var(--color-accent), rgba(154, 93, 102, 0.22));
    content: "";
}

.campaign-builder-section .form-section-heading {
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(154, 93, 102, 0.11);
}

.campaign-builder-section .form-section-heading h2 {
    color: var(--color-text);
}

.campaign-channel-grid,
.campaign-mode-grid,
.campaign-send-grid {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.campaign-channel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.campaign-mode-grid,
.campaign-send-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.campaign-choice-card,
.campaign-send-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    min-height: 96px;
    padding: 17px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    color: var(--color-ink);
    background: #fffdfc;
    cursor: pointer;
    text-decoration: none;
}

.campaign-choice-card input,
.campaign-send-card input,
.campaign-segment-grid .segment-card > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.campaign-choice-card:focus-visible,
.campaign-choice-card:focus-within,
.campaign-send-card:focus-within,
.campaign-segment-grid .segment-card:focus-within {
    outline: 3px solid rgba(154, 93, 102, 0.16);
    outline-offset: 2px;
}

.campaign-choice-card.is-active,
.campaign-send-card.is-active {
    border-color: rgba(154, 93, 102, 0.54);
    background: var(--color-accent-soft);
    box-shadow: inset 3px 0 0 var(--color-accent);
}

.campaign-choice-card.is-disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

.campaign-choice-indicator {
    display: inline-grid;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 1px solid var(--color-line);
    border-radius: 50%;
    background: var(--color-surface);
}

.campaign-choice-card.is-active .campaign-choice-indicator {
    border: 5px solid var(--color-accent);
}

.campaign-choice-card > span,
.campaign-send-card > span {
    min-width: 0;
}

.campaign-choice-card strong,
.campaign-choice-card small,
.campaign-send-card strong,
.campaign-send-card small {
    display: block;
}

.campaign-choice-card strong,
.campaign-send-card strong {
    font-size: 14px;
}

.campaign-choice-card small,
.campaign-send-card small {
    margin-top: 7px;
    color: var(--color-muted);
    font-size: 12px;
    line-height: 1.45;
}

.campaign-audience-panel {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #f0e7e5;
}

.campaign-audience-toolbar {
    display: grid;
    grid-template-columns: minmax(180px, 0.65fr) minmax(220px, 1fr) max-content;
    align-items: center;
    gap: 10px;
}

.campaign-audience-toolbar > div {
    display: grid;
    gap: 4px;
}

.campaign-audience-toolbar span {
    color: var(--color-muted);
    font-size: 11px;
}

.campaign-recipient-search input {
    width: 100%;
    min-height: 44px;
    padding: 10px 13px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    color: var(--color-ink);
    background: var(--color-surface);
    font: inherit;
}

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

.campaign-recipient-card {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) max-content;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 70px;
    padding: 13px 14px;
    border: 1px solid var(--color-line);
    border-radius: 9px;
    background: #fffdfc;
    cursor: pointer;
}

.campaign-recipient-card > span {
    min-width: 0;
}

.campaign-recipient-card strong,
.campaign-recipient-card small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.campaign-recipient-card small {
    margin-top: 4px;
    color: var(--color-muted);
    font-size: 11px;
}

.campaign-recipient-card:has(input:checked) {
    border-color: rgba(154, 93, 102, 0.42);
    background: var(--color-accent-soft);
}

.campaign-excluded {
    margin-top: 12px;
    border: 1px solid var(--color-line);
    border-radius: 9px;
    background: #fffaf8;
}

.campaign-excluded summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 46px;
    padding: 10px 14px;
    cursor: pointer;
    font-size: 12px;
}

.campaign-excluded summary strong {
    color: var(--color-accent-strong);
}

.campaign-reason-list {
    display: grid;
    gap: 1px;
    padding: 0 14px 13px;
}

.campaign-reason-list > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
    border-top: 1px solid #f0e7e5;
    font-size: 12px;
}

.campaign-audience-summary,
.campaign-empty-audience {
    padding: 18px;
    border-radius: 9px;
    background: var(--color-accent-soft);
}

.campaign-audience-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.campaign-audience-summary span,
.campaign-empty-audience {
    color: var(--color-muted);
    font-size: 12px;
}

.campaign-segment-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.campaign-segment-grid .segment-card {
    cursor: pointer;
}

.campaign-segment-recipients {
    margin-top: 14px;
}

.campaign-message-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.85fr) minmax(280px, 0.9fr);
    grid-template-areas:
        "editor preview"
        "variables preview";
    align-items: start;
    gap: 14px 18px;
    margin-top: 18px;
}

.campaign-message-editor {
    grid-area: editor;
    min-width: 0;
}

.campaign-preview {
    position: sticky;
    top: 16px;
    grid-area: preview;
    min-width: 0;
}

.campaign-variables {
    grid-area: variables;
    min-width: 0;
}

.campaign-content-field textarea {
    min-height: 180px;
    resize: vertical;
}

.campaign-email-fields {
    margin-bottom: 14px;
}

.campaign-message-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.campaign-message-metrics span {
    padding: 6px 9px;
    border-radius: 999px;
    color: var(--color-muted);
    background: var(--color-accent-soft);
    font-size: 10px;
    font-weight: 750;
}

.campaign-preview-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    padding: 17px;
    border: 1px solid var(--color-line);
    border-radius: 10px;
    background: #fffdfc;
    box-shadow: 0 14px 34px rgba(55, 37, 42, 0.06);
}

.campaign-preview-heading {
    display: grid;
    gap: 10px;
}

.campaign-preview-heading > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.campaign-preview-heading span,
.campaign-preview-heading strong {
    font-size: 12px;
}

.campaign-preview-heading span {
    color: var(--color-accent-strong);
    font-weight: 800;
}

.campaign-preview-empty {
    max-width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    color: var(--color-ink);
    background: var(--color-surface);
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.campaign-preview-heading select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    text-overflow: ellipsis;
    min-height: 42px;
    padding: 8px 32px 8px 11px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    color: var(--color-ink);
    background: var(--color-surface);
    font: inherit;
}

.sms-preview-surface,
.email-preview-surface {
    margin-top: 14px;
    padding: 16px;
    border-radius: 10px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 13px;
    line-height: 1.55;
}

.sms-preview-surface {
    min-height: 118px;
    background: #f4eeec;
}

.email-preview-surface {
    min-height: 210px;
    border: 1px solid #f0e7e5;
    background: #ffffff;
}

.email-preview-surface strong,
.email-preview-surface small,
.email-preview-surface div {
    display: block;
}

.email-preview-surface small {
    margin: 6px 0 16px;
    color: var(--color-muted);
}

.campaign-variables > strong {
    display: block;
    margin-bottom: 9px;
    font-size: 12px;
}

.campaign-variables > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.variable-chip {
    min-height: 38px;
    padding: 0 11px;
    border: 1px solid var(--color-line);
    border-radius: 999px;
    color: var(--color-accent-strong);
    background: var(--color-surface);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
}

.campaign-send-card {
    min-height: 84px;
}

.campaign-schedule-field {
    max-width: 420px;
    margin-top: 14px;
}

.campaign-form-actions {
    margin-top: 18px;
}

.notice-info {
    border-color: rgba(62, 100, 152, 0.22);
    color: #3e6498;
    background: rgba(62, 100, 152, 0.07);
}

@media (max-width: 1000px) {
    .campaign-audience-toolbar {
        grid-template-columns: minmax(0, 1fr) max-content;
    }

    .campaign-audience-toolbar > div {
        grid-column: 1 / -1;
    }

    .campaign-segment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .campaign-message-grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "editor"
            "preview"
            "variables";
    }

    .campaign-preview {
        position: static;
    }

    .campaign-mode-grid,
    .campaign-send-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 600px) {
    .campaign-steps {
        gap: 5px;
    }

    .campaign-steps a {
        flex-direction: column;
        gap: 4px;
        min-height: 58px;
        padding: 6px 3px;
        font-size: 9px;
        line-height: 1.1;
    }

    .campaign-steps span {
        width: 22px;
        height: 22px;
        flex-basis: 22px;
    }

    .campaign-channel-grid,
    .campaign-recipient-grid,
    .campaign-segment-grid,
    .campaign-audience-toolbar {
        grid-template-columns: minmax(0, 1fr);
    }

    .campaign-audience-toolbar .button,
    .campaign-form-actions .button {
        width: 100%;
    }

    .campaign-recipient-card {
        grid-template-columns: 20px minmax(0, 1fr);
    }

    .campaign-recipient-card .eligibility-pill {
        grid-column: 2;
    }

    .campaign-audience-summary {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* Screenshot-matched sidebar hierarchy */
.app-sidebar nav { align-items: flex-start; }
.app-sidebar .app-nav-link { width: 153px; }
.sidebar-group[open] > summary .sidebar-plus { font-size: 0; transform: none; }
.sidebar-group[open] > summary .sidebar-plus::before { content: "−"; font-size: 14px; }
.sidebar-group-items { position: relative; }
.sidebar-group-items::before { content: ""; position: absolute; top: 0; bottom: 15px; left: 20px; border-left: 1px solid rgba(255, 255, 255, 0.25); }
.sidebar-group-items .app-nav-link { width: 153px; min-height: 30px; padding: 6px 8px 6px 44px; border-radius: 0; font-size: 11px; font-weight: 600; }
.sidebar-group-items .app-nav-link::before { content: ""; position: absolute; left: 20px; top: 0; width: 12px; height: 50%; border-bottom: 1px solid rgba(255, 255, 255, 0.25); }
.sidebar-group-items .app-nav-icon { display: none; }
.sidebar-group > summary.is-active { background: transparent; }
/* Refined sidebar typography and premium icon treatment */
.app-sidebar .app-nav-link { font-size: 13px; font-weight: 500; line-height: 1.25; }
.app-sidebar .sidebar-group-items .app-nav-link { font-size: 12px; font-weight: 600; }
.app-sidebar .app-nav-icon { width: 17px; height: 17px; padding: 2px; border-radius: 5px; color: rgba(255, 255, 255, 0.9); background: rgba(255, 255, 255, 0.045); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035); }
.app-sidebar .app-nav-icon svg { overflow: visible; stroke-width: 1.65; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.28)); }
.app-sidebar .app-nav-link:hover .app-nav-icon { color: #fff; background: rgba(255, 255, 255, 0.085); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.07); }
.app-sidebar .app-nav-link.is-active { font-weight: 600; }
.app-sidebar .app-nav-link.is-active .app-nav-icon { color: #fff; background: rgba(255, 255, 255, 0.12); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08); }
.app-sidebar .sidebar-group-items .app-nav-icon { display: none; }
/* Screenshot-style plain monochrome sidebar icons */
.app-sidebar .app-nav-icon { width: 16px; height: 16px; padding: 0; border-radius: 0; color: rgba(255, 255, 255, 0.82); background: transparent; box-shadow: none; }
.app-sidebar .app-nav-icon svg { stroke-width: 1.7; filter: none; }
.app-sidebar .app-nav-link:hover .app-nav-icon, .app-sidebar .app-nav-link.is-active .app-nav-icon { color: #fff; background: transparent; box-shadow: none; }
/* Functional top workspace header */
.app-header { position: fixed; top: 0; left: 224px; right: 0; z-index: 90; height: 62px; display: flex; align-items: center; gap: 14px; padding: 9px 20px; border-bottom: 1px solid #eadfe2; background: rgba(255, 255, 255, 0.97); backdrop-filter: blur(14px); }
.header-sidebar-toggle { width: 30px; height: 34px; display: grid; place-content: center; gap: 3px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.header-sidebar-toggle span { display: block; width: 16px; height: 2px; border-radius: 9px; background: #13233d; }
.header-search { position: relative; display: flex; align-items: center; flex: 1; min-width: 180px; height: 36px; }
.header-search svg { position: absolute; left: 12px; width: 16px; height: 16px; fill: none; stroke: #59677d; stroke-width: 1.8; pointer-events: none; }
.header-search input[type="search"] { width: 100%; height: 36px; padding: 0 14px 0 36px; border: 1px solid #ead6da; border-radius: 10px; outline: none; color: #17233a; background: #fff; font-size: 12px; }
.header-search input[type="search"]:focus { border-color: #a7656c; box-shadow: 0 0 0 3px rgba(167, 101, 108, 0.1); }
.app-header-tools { display: flex; align-items: center; gap: 9px; }
.header-menu { position: relative; }
.header-menu > summary { list-style: none; cursor: pointer; }
.header-menu > summary::-webkit-details-marker { display: none; }
.location-switcher > summary, .sms-wallet, .profile-menu > summary { height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid #e8d7da; border-radius: 10px; color: #101d35; background: #fff; text-decoration: none; font-size: 12px; font-weight: 700; white-space: nowrap; }
.header-menu[open] > summary { border-color: #312126; box-shadow: 0 0 0 1px #312126; }
.header-location-icon { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: #fff; background: #9b6268; font-size: 8px; }
.header-chevron { margin-left: 2px; font-size: 15px; line-height: 1; }
.sms-wallet span { font-size: 14px; }
.sms-wallet strong { text-decoration: underline; text-underline-offset: 2px; }
.header-language { height: 36px; display: flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid #ead6da; border-radius: 10px; background: #fff; }
.header-language a { min-width: 30px; height: 28px; display: grid; place-items: center; border-radius: 7px; color: #3f526d; text-decoration: none; font-size: 11px; font-weight: 700; }
.header-language a.is-active { color: #a35460; background: #f8e9eb; box-shadow: inset 0 0 0 1px #efcbd0; }
.profile-menu > summary { padding-left: 6px; }
.header-avatar { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #88545e, #182a4a); font-weight: 800; }
.header-profile-copy { display: flex; flex-direction: column; min-width: 100px; }
.header-profile-copy strong { max-width: 150px; overflow: hidden; text-overflow: ellipsis; font-size: 11px; }
.header-profile-copy small { color: #53627a; font-size: 9px; font-weight: 600; }
.header-menu-panel { position: absolute; top: calc(100% + 9px); right: 0; z-index: 120; min-width: 214px; padding: 9px; border: 1px solid #ead7db; border-radius: 12px; background: #fff; box-shadow: 0 18px 42px rgba(35, 23, 28, 0.16); }
.location-menu-panel { right: 0; }
.location-menu-item { display: flex; align-items: center; gap: 9px; padding: 9px; border-radius: 9px; color: #17233a; text-decoration: none; }
.location-menu-item:hover, .location-menu-item.is-active { background: #f7eaea; }
.location-menu-item > span:last-child { display: flex; flex-direction: column; }
.location-menu-item strong { font-size: 12px; }
.location-menu-item small { color: #65728a; font-size: 9px; }
.location-manage-link { display: flex; gap: 9px; margin-top: 7px; padding: 11px 9px 4px; border-top: 1px solid #eee4e6; color: #17233a; text-decoration: none; font-size: 11px; font-weight: 700; }
.profile-menu-panel { min-width: 210px; }
.profile-menu-panel a, .profile-menu-panel button { width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px; border: 0; border-radius: 8px; color: #17233a; background: transparent; text-decoration: none; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.profile-menu-panel a:hover, .profile-menu-panel button:hover { background: #f8eeee; }
.profile-menu-panel button { color: #b22d43; }
.app-main { padding-top: 90px; }
body.sidebar-collapsed .app-layout { grid-template-columns: 72px minmax(0, 1fr); }
body.sidebar-collapsed .app-sidebar { width: 72px; }
body.sidebar-collapsed .app-header { left: 72px; }
body.sidebar-collapsed .sidebar-brand-name { display: none; }
body.sidebar-collapsed .sidebar-header { padding-left: 20px; }
body.sidebar-collapsed .app-sidebar nav { align-items: center; padding-inline: 8px; }
body.sidebar-collapsed .app-sidebar .app-nav-link { width: 44px; justify-content: center; gap: 0; padding-inline: 0; font-size: 0; }
body.sidebar-collapsed .app-sidebar .app-nav-link > span:not(.app-nav-icon) { display: none; }
body.sidebar-collapsed .sidebar-group-items { display: none; }
body.sidebar-collapsed .sidebar-plus { display: none; }
@media (max-width: 1180px) { .header-profile-copy { display: none; } .location-switcher > summary > span:nth-child(2) { max-width: 100px; overflow: hidden; text-overflow: ellipsis; } }
@media (max-width: 820px) { .app-header { left: 0; padding-inline: 10px; } .location-switcher, .sms-wallet { display: none; } .app-main { padding-top: 82px; } }

/* Dashboard grid alignment and unified responsive sidebar behavior */
.app-layout { width: 100%; max-width: none; margin: 0; transition: grid-template-columns 220ms ease; }
.app-sidebar { transition: width 220ms ease, transform 220ms ease; }
.app-header { width: auto; max-width: none; margin: 0; padding-inline: 32px; transition: left 220ms ease; }
.app-main--dashboard { width: 100%; max-width: none; margin: 0; padding: 90px 32px 64px; box-sizing: border-box; overflow-x: clip; }
.app-main--dashboard > .hero, .app-main--dashboard > .status-section { width: 100%; max-width: none; box-sizing: border-box; }
.header-sidebar-toggle:focus-visible { outline: 3px solid rgba(154, 93, 102, 0.24); outline-offset: 2px; border-radius: 6px; }
@media(max-width:1024px){body.sidebar-drawer-open .header-sidebar-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}body.sidebar-drawer-open .header-sidebar-toggle span:nth-child(2){opacity:0}body.sidebar-drawer-open .header-sidebar-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.header-sidebar-toggle span{transition:transform .18s ease,opacity .18s ease}}
.sidebar-drawer-overlay { display: none; }
@media (max-width: 1024px) {
    .app-layout, body.sidebar-collapsed .app-layout { width: 100%; grid-template-columns: minmax(0, 1fr); }
    .app-sidebar, body.sidebar-collapsed .app-sidebar { display: flex; width: 224px; transform: translateX(-100%); z-index: 110; }
    body.sidebar-drawer-open { overflow: hidden; }
    body.sidebar-drawer-open .app-sidebar { transform: translateX(0); }
    body.sidebar-collapsed .sidebar-brand-name { display: inline; }
    body.sidebar-collapsed .sidebar-header { padding: 14px 18px 12px; }
    body.sidebar-collapsed .app-sidebar nav { align-items: flex-start; padding: 6px 14px 18px; }
    body.sidebar-collapsed .app-sidebar .app-nav-link { width: 153px; justify-content: flex-start; gap: 10px; padding: 7px 10px; font-size: 13px; }
    body.sidebar-collapsed .app-sidebar .app-nav-link > span:not(.app-nav-icon) { display: flex; }
    body.sidebar-collapsed .sidebar-group-items { display: flex; }
    body.sidebar-collapsed .sidebar-plus { display: flex; }
    .app-header, body.sidebar-collapsed .app-header { left: 0; padding-inline: 20px; }
    .app-main, .app-main--dashboard { grid-column: 1; }
    .app-main--dashboard { padding: 82px 20px 48px; }
    .mobile-navigation { display: none; }
    .sidebar-drawer-overlay { position: fixed; inset: 0; z-index: 105; border: 0; background: rgba(17, 13, 15, 0.42); cursor: pointer; }
    body.sidebar-drawer-open .sidebar-drawer-overlay { display: block; }
}
@media (max-width: 640px) {
    .app-header { padding-inline: 12px; }
    .app-main--dashboard { padding: 78px 14px 36px; }
    .app-main--dashboard > .hero { align-items: stretch; gap: 20px; min-height: 0; padding: 24px 20px; }
    .app-main--dashboard > .hero .button { align-self: flex-start; max-width: 100%; white-space: normal; }
    .app-main--dashboard > .status-section { padding: 22px 20px; }
}
@media (max-width: 420px) {
    .app-main--dashboard { padding-inline: 10px; }
    .app-main--dashboard > .hero .button { width: 100%; }
}

/* Modern appointments workspace */
.appointments-hero { width: 100%; max-width: none; min-height: 0; padding: 24px 28px; box-sizing: border-box; }
.appointments-hero h1 { font-size: clamp(30px, 3.2vw, 42px); }
.appointments-hero p:last-child { margin-top: 7px; }
.appointment-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-top: 14px; }
.appointment-kpis article { display: grid; gap: 5px; min-width: 0; padding: 15px 17px; border: 1px solid var(--color-line); border-radius: 12px; background: rgba(255,255,255,.92); box-shadow: 0 8px 24px rgba(55,37,42,.045); }
.appointment-kpis span { color: var(--color-muted); font-size: 11px; font-weight: 750; }
.appointment-kpis strong { font-size: 23px; line-height: 1.1; }
.appointment-filter-bar { display: grid; grid-template-columns: repeat(4, minmax(125px, .55fr)) minmax(190px, 1fr) auto; align-items: end; gap: 9px; margin-top: 14px; padding: 13px; border: 1px solid var(--color-line); border-radius: 12px; background: rgba(255,255,255,.88); }
.appointment-filter-bar label { display: grid; min-width: 0; gap: 5px; }
.appointment-filter-bar label > span { color: var(--color-muted); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.appointment-filter-bar select, .appointment-filter-bar input { width: 100%; min-width: 0; height: 38px; padding: 0 10px; border: 1px solid var(--color-line); border-radius: 8px; outline: none; color: var(--color-ink); background: #fff; font: inherit; font-size: 11px; }
.appointment-filter-bar select:focus, .appointment-filter-bar input:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px rgba(154,93,102,.1); }
.appointment-filter-bar .button { min-height: 38px; padding-inline: 13px; font-size: 11px; }
.appointment-calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; align-items: start; gap: 14px; margin-top: 14px; min-width: 0; }
.appointment-calendar-layout > .content-panel { min-width: 0; margin-top: 0; }
.appointment-calendar-layout .calendar-shell { padding: 16px; overflow: hidden; }
.calendar-toolbar { display: grid; grid-template-columns: minmax(280px, 520px) auto; align-items: center; justify-content: space-between; gap: 14px; }
.calendar-toolbar .calendar-view-switcher { width: 100%; margin: 0; }
.calendar-period-navigation { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.calendar-today-button { display: grid; min-height: 40px; place-items: center; padding: 0 13px; border: 1px solid var(--color-line); border-radius: 8px; color: var(--color-accent-strong); background: #fff; text-decoration: none; font-size: 11px; font-weight: 800; }
.calendar-period-title { margin: 15px 0 4px; text-align: center; font-size: 19px; }
.calendar-day-actions { display: flex; align-items: center; justify-content: space-between; }
.calendar-slot-add { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 6px; color: var(--color-accent-strong); text-decoration: none; font-size: 15px; opacity: 0; }
.calendar-day-cell:hover .calendar-slot-add, .calendar-slot-add:focus-visible { opacity: 1; background: var(--color-accent-soft); }
.calendar-day-cell { min-height: 128px; }
.calendar-event { align-items: flex-start; padding: 6px; }
.calendar-event > span { display: grid; min-width: 0; }
.calendar-event strong, .calendar-event small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event strong { font-size: 10px; }
.calendar-event small { color: var(--color-muted); font-size: 8px; }
.calendar-time-grid { display: grid; grid-template-columns: 52px repeat(var(--calendar-days), minmax(118px, 1fr)); min-width: 870px; margin-top: 14px; border: 1px solid var(--color-line); border-radius: 10px; overflow: hidden; }
.calendar-time-grid.is-day-view { grid-template-columns: 58px minmax(0, 1fr); min-width: 0; }
.calendar-time-corner, .calendar-time-day-heading { min-height: 48px; border-bottom: 1px solid var(--color-line); background: #fbf8f7; }
.calendar-time-corner { border-right: 1px solid var(--color-line); }
.calendar-time-day-heading { display: flex; align-items: center; justify-content: center; gap: 6px; border-right: 1px solid var(--color-line); color: var(--color-ink); text-decoration: none; }
.calendar-time-day-heading span { color: var(--color-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.calendar-time-day-heading strong { font-size: 14px; }
.calendar-time-day-heading.is-today { color: var(--color-accent-strong); background: var(--color-accent-soft); }
.calendar-time-label { min-height: 58px; padding: 7px 6px; border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); color: var(--color-muted); background: #fbfaf9; font-size: 9px; font-weight: 750; text-align: right; }
.calendar-time-slot { position: relative; min-height: 58px; padding: 3px; border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); background: #fff; }
.calendar-free-slot { position: absolute; inset: 0; }
.calendar-free-slot:hover { background: rgba(154,93,102,.035); }
.calendar-time-event { position: relative; z-index: 1; display: grid; gap: 1px; min-width: 0; padding: 5px 7px; border-left: 3px solid var(--color-accent); border-radius: 6px; color: var(--color-ink); background: var(--color-accent-soft); text-decoration: none; }
.calendar-time-event time, .calendar-time-event strong, .calendar-time-event small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-time-event time { font-size: 9px; font-weight: 800; }
.calendar-time-event strong { font-size: 10px; }
.calendar-time-event small { color: var(--color-muted); font-size: 8px; }
.calendar-time-event.calendar-event--completed { border-left-color: #4f8a71; background: #eef8f3; }
.calendar-time-event.calendar-event--cancelled, .calendar-time-event.calendar-event--no_show { border-left-color: #b36d62; background: #fff1ef; opacity: .75; }
.calendar-inline-empty { margin: 8px 0 0; color: var(--color-muted); font-size: 11px; text-align: center; }
.calendar-list-empty { display: grid; place-items: center; gap: 6px; min-height: 150px; border: 1px dashed var(--color-line); border-radius: 10px; color: var(--color-muted); text-align: center; }
.calendar-list-empty strong { color: var(--color-ink); }
.appointment-list .appointment-row { color: inherit; text-decoration: none; }
.appointment-specialists-panel { padding: 14px; }
.appointment-specialists-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; list-style: none; cursor: pointer; }
.appointment-specialists-panel > summary::-webkit-details-marker { display: none; }
.appointment-specialists-panel > summary > span:first-child { display: grid; gap: 3px; }
.appointment-specialists-panel > summary strong { font-size: 14px; }
.appointment-specialists-panel > summary small { color: var(--color-muted); font-size: 9px; font-weight: 500; }
.appointment-specialists-panel:not([open]) > summary > span:last-child { transform: rotate(180deg); }
.specialist-list { display: grid; gap: 7px; margin-top: 12px; max-height: 690px; overflow-y: auto; scrollbar-width: thin; }
.specialist-filter-reset { padding: 8px 10px; border-radius: 8px; color: var(--color-muted); text-decoration: none; font-size: 10px; font-weight: 750; }
.specialist-filter-reset.is-active, .specialist-filter-reset:hover { color: var(--color-accent-strong); background: var(--color-accent-soft); }
.specialist-card { display: grid; grid-template-columns: 4px minmax(0, 1fr) auto; gap: 9px; min-width: 0; padding: 10px; border: 1px solid var(--color-line); border-radius: 10px; color: var(--color-ink); background: #fff; text-decoration: none; }
.specialist-card:hover, .specialist-card.is-active { border-color: color-mix(in srgb, var(--specialist-color), white 45%); background: color-mix(in srgb, var(--specialist-color), white 94%); }
.specialist-color { width: 4px; border-radius: 9px; background: var(--specialist-color); }
.specialist-card > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
.specialist-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.specialist-card small { color: var(--color-muted); font-size: 8px; }
.specialist-card em { width: fit-content; margin-top: 3px; padding: 3px 6px; border-radius: 99px; color: var(--color-accent-strong); background: var(--color-accent-soft); font-size: 8px; font-style: normal; font-weight: 750; }
.specialist-card b { display: grid; align-content: start; justify-items: end; font-size: 13px; }
.specialist-card b small { max-width: 52px; text-align: right; }
@media (max-width: 1200px) { .appointment-filter-bar { grid-template-columns: repeat(4, minmax(120px, 1fr)); } .appointment-filter-search { grid-column: span 3; } .appointment-calendar-layout { grid-template-columns: minmax(0, 1fr); } .appointment-specialists-panel { order: -1; } .specialist-list { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); max-height: 280px; } }
@media (max-width: 800px) { .appointments-hero { align-items: stretch; padding: 20px; } .appointments-hero .button { align-self: flex-start; } .appointment-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); } .appointment-filter-search { grid-column: 1 / -1; } .calendar-toolbar { grid-template-columns: 1fr; } .calendar-toolbar .calendar-view-switcher { max-width: none; } .calendar-period-navigation { justify-content: center; } .calendar-shell { overflow-x: auto !important; } .calendar-month-grid, .calendar-weekday-row { min-width: 620px; } }
@media (max-width: 560px) { .appointments-hero .button { width: 100%; } .appointment-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .appointment-filter-bar { grid-template-columns: 1fr; } .appointment-filter-search { grid-column: auto; } .appointment-filter-bar .button { width: 100%; } .calendar-view-option { min-height: 38px; font-size: 10px; } .calendar-time-grid.is-day-view { min-width: 0; } .specialist-list { grid-template-columns: 1fr; } }
/* Appointments interaction layer */
.calendar-free-slot{border:0;background:transparent;cursor:pointer;width:100%;z-index:0}.calendar-time-block{border-left-color:#746b72!important;background:repeating-linear-gradient(135deg,#f4f1f2,#f4f1f2 7px,#ebe5e7 7px,#ebe5e7 14px)!important}.slot-action-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(430px,calc(100vw - 32px));margin:0;padding:24px;border:1px solid var(--color-line);border-radius:18px;color:var(--color-ink);background:#fff;box-shadow:0 24px 80px rgba(31,22,25,.25)}.slot-action-dialog::backdrop{background:rgba(31,24,27,.42);backdrop-filter:blur(3px)}.slot-action-dialog h2{margin:0 38px 6px 0;font-size:20px}.slot-action-dialog>p{margin:0 0 18px;color:var(--color-muted);font-size:12px}.slot-dialog-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:1px solid var(--color-line);border-radius:9px;background:#fff;color:var(--color-muted);cursor:pointer}.slot-action-options{display:grid;gap:9px}.slot-action-options a,.slot-action-options button{display:grid;gap:3px;padding:14px;border:1px solid var(--color-line);border-radius:11px;color:var(--color-ink);text-decoration:none}.slot-action-options a:hover,.slot-action-options a:focus-visible,.slot-action-options button:hover,.slot-action-options button:focus-visible{border-color:var(--color-accent);background:var(--color-accent-soft)}.slot-action-options small{color:var(--color-muted)}.appointment-block-notice{margin-bottom:18px;padding:12px 14px;border:1px solid var(--color-line);border-radius:10px;color:var(--color-muted);background:#fbf8f7;font-size:12px}.appointment-block-delete{display:flex;justify-content:flex-end;margin-top:12px}.appointment-client-phone{color:var(--color-muted);font-size:11px}.appointment-specialists-panel{position:sticky;top:82px}.appointment-specialists-panel:not([open]){padding:10px}.appointment-specialists-panel:not([open])+.calendar-shell{width:100%}@media(max-width:800px){.appointment-specialists-panel{position:static}.slot-action-dialog{padding:20px}.appointment-filter-bar{max-height:260px;overflow:auto}}
/* Appointment creation modal */
html.appointment-modal-open,html.appointment-modal-open body{overflow:hidden}.appointment-create-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(680px,calc(100vw - 32px));max-height:min(88vh,820px);margin:0;padding:0;border:1px solid var(--color-line);border-radius:18px;color:var(--color-ink);background:#fff;box-shadow:0 28px 90px rgba(31,22,25,.28);overflow:hidden}.appointment-create-dialog::backdrop{background:rgba(30,23,26,.46);backdrop-filter:blur(4px)}.appointment-create-dialog>form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(88vh,820px)}.appointment-dialog-header,.appointment-dialog-footer{position:sticky;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#fff}.appointment-dialog-header{top:0;border-bottom:1px solid var(--color-line)}.appointment-dialog-header h2{margin:0;font-size:22px}.appointment-dialog-header p{margin:4px 0 0;color:var(--color-muted);font-size:11px}.appointment-dialog-header>button{width:34px;height:34px;border:1px solid var(--color-line);border-radius:9px;background:#fff;color:var(--color-muted);font-size:20px;cursor:pointer}.appointment-dialog-body{overflow-y:auto;padding:18px 22px}.appointment-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.appointment-modal-notes{grid-column:1/-1}.appointment-dialog-footer{bottom:0;justify-content:flex-end;border-top:1px solid var(--color-line)}.appointment-client-picker{position:relative;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.appointment-client-picker>.field-error{grid-column:1/-1}.appointment-client-results{position:absolute;z-index:5;top:calc(100% + 4px);left:0;right:0;max-height:220px;padding:6px;border:1px solid var(--color-line);border-radius:10px;background:#fff;box-shadow:0 14px 36px rgba(31,22,25,.14);overflow:auto}.appointment-client-results button,.appointment-client-results a{display:grid;width:100%;gap:2px;padding:9px;border:0;border-radius:7px;color:var(--color-ink);background:#fff;text-align:left;text-decoration:none;cursor:pointer}.appointment-client-results button:hover,.appointment-client-results button:focus-visible,.appointment-client-results a:hover{background:var(--color-accent-soft)}.appointment-client-results small{color:var(--color-muted)}.appointment-save-toast{position:fixed;z-index:80;right:24px;bottom:24px;padding:12px 16px;border:1px solid #b9d8c7;border-radius:10px;color:#285c42;background:#eef8f3;box-shadow:0 12px 30px rgba(31,22,25,.14);font-size:12px;font-weight:750}.calendar-slot-add{border:0;cursor:pointer}@media(max-width:640px){.appointment-create-dialog{inset:8px;transform:none;width:auto;max-height:none;border-radius:14px}.appointment-create-dialog>form{height:calc(100dvh - 16px);max-height:none}.appointment-modal-grid{grid-template-columns:1fr}.appointment-client-picker{grid-template-columns:1fr}.appointment-modal-notes{grid-column:auto}.appointment-dialog-header,.appointment-dialog-footer{padding:14px 16px}.appointment-dialog-body{padding:14px 16px}.appointment-dialog-footer .button{flex:1}.appointment-save-toast{right:12px;bottom:12px;left:12px;text-align:center}}
.appointment-client-results [data-new-client-toggle]{display:block;width:100%;padding:9px;border:0;border-radius:7px;color:var(--color-accent-strong);background:#fff;text-align:left;font-weight:750;cursor:pointer}.appointment-new-client{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid var(--color-line);border-radius:10px;background:#fbf8f7}.appointment-new-client[hidden]{display:none}@media(max-width:640px){.appointment-new-client{grid-template-columns:1fr}}
.appointment-new-client{position:static;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:14px;padding:14px;border:1px solid var(--color-line);border-radius:12px;background:#fbf8f7}.appointment-new-client .field-error,.appointment-existing-client-toggle{grid-column:1/-1}.appointment-existing-client-toggle{justify-self:start;padding:4px 0;border:0;color:var(--color-accent-strong);background:transparent;font:750 11px/1.4 inherit;cursor:pointer}
.appointment-new-client{position:static;z-index:auto;inset:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto;padding:14px;border:1px solid var(--color-line);border-radius:12px;background:#fbf8f7;box-shadow:none}.appointment-new-client[hidden]{display:none}.appointment-new-client>header,.appointment-new-client>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--color-line);background:#fff}.appointment-new-client>header h3{margin:0;font-size:20px}.appointment-new-client>header p{margin:4px 0 0;color:var(--color-muted);font-size:11px}.appointment-new-client>header>button{width:34px;height:34px;border:1px solid var(--color-line);border-radius:9px;background:#fff;color:var(--color-muted);font-size:20px;cursor:pointer}.appointment-new-client-body{display:grid;align-content:start;grid-template-columns:1fr 1fr;gap:14px;padding:22px;overflow:auto}.appointment-new-client-body>.field-error{grid-column:1/-1}.appointment-new-client>footer{justify-content:flex-end;border-top:1px solid var(--color-line);border-bottom:0}.appointment-selected-phone{display:block;margin-top:6px;color:var(--color-muted);font-size:11px}.appointment-client-results .appointment-add-client-option{position:sticky;bottom:0;min-height:44px;border-top:1px solid var(--color-line);color:var(--color-accent-strong);background:#fffdfc;font-weight:800}@media(max-width:640px){.appointment-new-client-body{grid-template-columns:1fr;padding:16px}.appointment-new-client>header,.appointment-new-client>footer{padding:14px 16px}}
.appointment-selected-phone{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-top:7px;padding:9px 12px;border:1px solid var(--color-line);border-radius:9px;background:#fbf8f7}.appointment-selected-phone[hidden]{display:none}.appointment-selected-phone>span{color:var(--color-muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.appointment-selected-phone>output{min-width:0;color:var(--color-ink);font-size:12px;font-weight:750;text-align:right}
.calendar-day-cell[data-calendar-day]{cursor:pointer}.calendar-day-cell[data-calendar-day]:hover{background:color-mix(in srgb,var(--color-accent-soft),#fff 58%)}.calendar-day-cell[data-calendar-day]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}
.slot-action-options button{width:100%;background:#fff;text-align:left;font:inherit;cursor:pointer}
.appointment-edit-delete{margin-right:auto;border:1px solid #dfb9b5;color:#9b3f38;background:#fff}.appointment-edit-delete:hover,.appointment-edit-delete:focus-visible{border-color:#c97e76;background:#fff4f2}.appointment-dialog-footer [data-appointment-reminder]:disabled{opacity:.58;cursor:not-allowed}@media(max-width:640px){.appointment-dialog-footer{flex-wrap:wrap}.appointment-dialog-footer [data-appointment-delete],.appointment-dialog-footer [data-appointment-reminder]{flex-basis:calc(50% - 6px)}}
.appointment-client-results{max-height:190px;padding:0;overflow-y:auto;overflow-x:hidden}.appointment-client-results-head{position:sticky;z-index:2;top:0;display:grid;gap:2px;padding:10px 12px;border-bottom:1px solid var(--color-line);background:#fffdfc}.appointment-client-results-head strong{font-size:12px}.appointment-client-results-head small{color:var(--color-muted);font-size:10px}.appointment-client-results button,.appointment-client-results a{min-height:48px;padding:10px 12px;border-bottom:1px solid #f1e9eb;border-radius:0}.appointment-client-results button strong{font-size:13px;line-height:1.3}.appointment-client-results button small{margin-top:2px;font-size:11px;line-height:1.35}.appointment-client-results button:focus-visible{position:relative;z-index:1;outline:2px solid var(--color-accent);outline-offset:-2px}
/* Appointments density and readability refinement */
.appointment-filter-bar{grid-template-columns:repeat(3,minmax(135px,.6fr)) minmax(210px,1fr) auto auto}.appointment-more-filters{position:relative;align-self:end}.appointment-more-filters>summary{display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border:1px solid var(--color-line);border-radius:8px;color:var(--color-accent-strong);background:#fff;font-size:11px;font-weight:750;list-style:none;cursor:pointer}.appointment-more-filters>summary::-webkit-details-marker{display:none}.appointment-more-filters[open]>summary{border-color:#c9adb1;background:var(--color-accent-soft)}.appointment-more-filters>div{position:absolute;z-index:30;top:calc(100% + 7px);right:0;width:240px;padding:12px;border:1px solid var(--color-line);border-radius:10px;background:#fff;box-shadow:0 16px 38px rgba(35,23,28,.15)}
.appointment-calendar-layout{grid-template-columns:minmax(0,1fr) 310px;gap:16px}.calendar-toolbar{grid-template-columns:auto auto}.calendar-toolbar .calendar-view-switcher{width:fit-content;max-width:370px}.calendar-view-option{min-height:36px;padding-inline:14px;font-size:11px}.calendar-period-navigation{gap:4px}.calendar-period-title{margin:7px 0 7px;font-size:19px}.calendar-period-navigation .square-button{width:36px;height:36px}.calendar-today-button{min-height:36px;padding-inline:11px}
.appointment-specialists-panel{padding:16px}.specialist-list{gap:9px;max-height:720px;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(154,93,102,.2) transparent}.specialist-list::-webkit-scrollbar{width:5px}.specialist-list::-webkit-scrollbar-track{background:transparent}.specialist-list::-webkit-scrollbar-thumb{border-radius:10px;background:rgba(154,93,102,.2)}.specialist-list:hover::-webkit-scrollbar-thumb{background:rgba(154,93,102,.35)}.specialist-card{gap:10px;padding:12px}.specialist-card strong{font-size:12px}.specialist-card small{font-size:9px}
.calendar-day-cell{border-color:#e4dadd;background:#fff}.calendar-day-cell.is-outside{background:#f8f5f5}.calendar-weekday-row{color:#62575b}.calendar-event{gap:6px;padding:7px 8px;border-left-width:3px;box-shadow:0 1px 2px rgba(45,30,35,.06)}.calendar-event time{font-size:10px;font-weight:850}.calendar-event strong{font-size:11px;line-height:1.3}.calendar-event small{font-size:9px;line-height:1.3}.calendar-time-slot{border-color:#e2d7da}.calendar-time-event{padding:7px 8px;box-shadow:0 1px 3px rgba(45,30,35,.07)}.calendar-time-event time{font-size:10px}.calendar-time-event strong{font-size:11px;line-height:1.3}.calendar-time-event small{font-size:9px;line-height:1.3}
@media(max-width:1200px){.appointment-filter-bar{grid-template-columns:repeat(3,minmax(120px,1fr)) auto}.appointment-filter-search{grid-column:span 2}.appointment-calendar-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:800px){.appointment-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-more-filters>div{right:auto;left:0}.calendar-toolbar .calendar-view-switcher{max-width:370px}}@media(max-width:560px){.appointment-filter-bar{grid-template-columns:1fr}.appointment-more-filters>div{position:static;width:auto;margin-top:7px}.calendar-toolbar .calendar-view-switcher{width:100%;max-width:none}.calendar-view-option{padding-inline:6px}}
.appointment-filter-bar{grid-template-columns:minmax(150px,.65fr) minmax(150px,.65fr) minmax(320px,1.7fr) auto auto}.appointment-filter-search input{font-size:12px}.appointment-more-filters>div{display:grid;gap:10px;width:260px}@media(max-width:1200px){.appointment-filter-bar{grid-template-columns:repeat(2,minmax(140px,.7fr)) minmax(280px,1.5fr) auto}.appointment-filter-search{grid-column:auto}}@media(max-width:800px){.appointment-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-filter-search{grid-column:1/-1}}@media(max-width:560px){.appointment-filter-bar{grid-template-columns:1fr}.appointment-filter-search{grid-column:auto}}
/* Clients workspace */
.clients-hero{width:100%;max-width:none;padding:24px 28px}.clients-more-actions{position:relative}.clients-more-actions>summary{list-style:none;cursor:pointer}.clients-more-actions>summary::-webkit-details-marker{display:none}.clients-more-actions>div{position:absolute;z-index:20;top:calc(100% + 7px);right:0;min-width:170px;padding:7px;border:1px solid var(--color-line);border-radius:10px;background:#fff;box-shadow:0 16px 36px rgba(35,23,28,.14)}.clients-more-actions>div a{display:block;padding:9px 10px;border-radius:7px;color:var(--color-ink);text-decoration:none;font-size:12px}.clients-more-actions>div a:hover{background:var(--color-accent-soft)}.clients-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-top:14px}.clients-kpis article{display:grid;gap:5px;padding:15px 17px;border:1px solid var(--color-line);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(55,37,42,.045)}.clients-kpis span{color:var(--color-muted);font-size:11px;font-weight:750}.clients-kpis strong{font-size:23px}.clients-workspace{margin-top:14px;padding:0;overflow:visible}.clients-list-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px 20px 14px}.clients-list-head h2{margin:0;font-size:20px}.clients-list-head p{margin:4px 0 0;color:var(--color-muted);font-size:11px}.clients-toolbar{display:flex;align-items:end;gap:8px}.clients-search input{width:min(390px,40vw);min-height:40px;padding:0 12px;border:1px solid var(--color-line);border-radius:9px;font:inherit}.client-segments{display:flex;gap:5px;padding:0 20px 14px;border-bottom:1px solid var(--color-line);overflow-x:auto}.client-segments a{padding:8px 12px;border-radius:8px;color:var(--color-muted);text-decoration:none;font-size:11px;font-weight:750;white-space:nowrap}.client-segments a:hover,.client-segments a.is-active{color:var(--color-accent-strong);background:var(--color-accent-soft)}.clients-table-wrap{overflow-x:auto}.clients-table{min-width:1040px}.clients-table-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 120px 150px 70px 125px minmax(150px,1fr) 42px;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid #eee5e7;font-size:12px}.clients-table-header{min-height:40px;padding-block:9px;color:var(--color-muted);background:#fbf9f8;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.client-identity{display:flex;align-items:center;gap:10px;min-width:0}.client-avatar{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border-radius:50%;color:var(--color-accent-strong);background:var(--color-accent-soft);font-weight:850}.client-identity>span:last-child{display:grid;min-width:0;gap:2px}.client-identity a{color:var(--color-ink);text-decoration:none}.client-identity small{overflow:hidden;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap}.client-tags{display:flex;flex-wrap:wrap;gap:5px}.client-tags span{padding:4px 7px;border-radius:99px;color:#62575b;background:#f3eff0;font-size:9px;font-weight:750}.client-tags .is-accent{color:var(--color-accent-strong);background:var(--color-accent-soft)}.client-row-actions{position:relative}.client-row-actions>summary{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;list-style:none;cursor:pointer}.client-row-actions>summary:hover{background:var(--color-accent-soft)}.client-row-actions>div{position:absolute;z-index:10;top:34px;right:0;min-width:120px;padding:6px;border:1px solid var(--color-line);border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(35,23,28,.14)}.client-row-actions a{display:block;padding:8px;color:var(--color-ink);text-decoration:none}.clients-workspace .pagination{padding:15px 20px}@media(max-width:900px){.clients-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-list-head{align-items:stretch;flex-direction:column}.clients-toolbar,.clients-search,.clients-search input{width:100%}}@media(max-width:560px){.clients-hero{padding:20px}.clients-hero .page-hero-actions{width:100%}.clients-hero .page-hero-actions>.button,.clients-more-actions{flex:1}.clients-more-actions>summary{justify-content:center}.clients-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-toolbar{display:grid;grid-template-columns:1fr auto}}
.clients-kpis .client-kpi{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;min-height:112px;padding:15px 16px;border:1px solid var(--color-line);border-radius:12px;color:var(--color-ink);background:linear-gradient(145deg,#fff,#fffaf8);box-shadow:0 7px 20px rgba(55,37,42,.04);text-decoration:none}.clients-kpis a.client-kpi:hover,.clients-kpis a.client-kpi:focus-visible{outline:0;border-color:#cdaeb3;box-shadow:0 9px 24px rgba(91,53,62,.08)}.client-kpi-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:var(--color-accent-strong);background:var(--color-accent-soft)}.client-kpi-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.client-kpi-copy{display:grid;gap:3px;min-width:0}.client-kpi-copy>span{color:var(--color-muted);font-size:10px;font-weight:800;letter-spacing:.02em}.client-kpi-copy strong{font-size:25px;line-height:1.1}.client-kpi-copy small{color:var(--color-muted);font-size:9px;line-height:1.35}@media(max-width:900px){.clients-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.clients-kpis{grid-template-columns:1fr}.clients-kpis .client-kpi{min-height:100px}}
.client-segments a{display:flex;align-items:center;gap:7px;min-height:38px;padding:7px 11px;border:1px solid var(--color-line);border-radius:999px;background:#fff}.client-segments a b{display:grid;min-width:22px;height:20px;place-items:center;padding:0 5px;border-radius:999px;color:var(--color-muted);background:#f2edef;font-size:9px}.client-segments a.is-active{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.client-segments a.is-active b{color:#fff;background:rgba(255,255,255,.2)}.client-segments a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.clients-table-wrap,.clients-workspace>.empty-state{position:relative}.is-segment-loading{pointer-events:none}.is-segment-loading::after{content:"";position:absolute;z-index:5;inset:0;background:rgba(255,253,252,.68);border-radius:10px}.is-segment-loading::before{content:"";position:absolute;z-index:6;top:28px;left:50%;width:22px;height:22px;margin-left:-11px;border:2px solid #dfcdd0;border-top-color:var(--color-accent);border-radius:50%;animation:client-segment-spin .7s linear infinite}@keyframes client-segment-spin{to{transform:rotate(360deg)}}.clients-segment-error{margin:10px 20px;padding:9px 11px;border:1px solid #e3b8b3;border-radius:8px;color:#8b3f39;background:#fff5f3;font-size:11px}@media(max-width:560px){.client-segments{flex-wrap:nowrap;scrollbar-width:none}.client-segments::-webkit-scrollbar{display:none}.client-segments a{min-height:42px}}

/* Clients list toolbar */
.clients-toolbar-premium{display:grid;grid-template-columns:minmax(300px,1fr) auto minmax(220px,280px) auto;gap:12px;align-items:end;margin:18px 0 12px}.clients-search{position:relative;display:flex;align-items:center}.clients-search>svg{position:absolute;left:14px;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;color:#887b7d}.clients-search input{width:100%;height:46px;padding:0 42px;border:1px solid #ded4d1;border-radius:14px;background:#fffaf7;font:inherit}.clients-search input:focus{outline:3px solid rgba(111,31,52,.13);border-color:#7b263e}.clients-search button{position:absolute;right:9px;width:30px;height:30px;border:0;border-radius:50%;background:#eee5e2;color:#6b565b;font-size:20px}.clients-filter-trigger{height:46px;gap:8px}.clients-filter-trigger.is-active{border-color:#7b263e;color:#7b263e;background:#fbf1f2}.clients-filter-trigger b{min-width:21px;height:21px;padding:0 6px;display:inline-grid;place-items:center;border-radius:999px;background:#7b263e;color:#fff;font-size:12px}.clients-sort{display:grid;gap:5px}.clients-sort>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#786a6c}.clients-sort select{width:100%;height:46px}.clients-reset-link{height:46px;border:0;background:none;color:#7b263e;font-weight:700;white-space:nowrap}.clients-filter-chips{display:flex;gap:8px;overflow-x:auto;padding:0 0 12px}.clients-filter-chips button{flex:none;border:1px solid #dfd2cf;border-radius:999px;background:#fffaf7;padding:7px 10px;color:#55474a}.clients-filter-chips span{margin-left:6px}.clients-filter-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid #ddcfcb;border-radius:22px;background:#fffaf7;color:#30272a;box-shadow:0 24px 80px rgba(45,22,29,.24)}.clients-filter-dialog::backdrop{background:rgba(35,23,27,.3);backdrop-filter:blur(3px)}.clients-filter-shell{display:flex;max-height:calc(100vh - 34px);flex-direction:column}.clients-filter-shell header,.clients-filter-shell footer{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:#fffaf7}.clients-filter-shell header{border-bottom:1px solid #eadfdb}.clients-filter-shell header p{margin:0;color:#8b7479;font-size:12px}.clients-filter-shell header h3{margin:3px 0 0}.clients-filter-shell header button{width:36px;height:36px;border:0;border-radius:50%;background:#eee5e2;font-size:22px}.clients-filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 22px;overflow:auto}.clients-filter-fields label{display:grid;gap:7px}.clients-filter-fields label>span{font-size:13px;font-weight:700}.clients-filter-fields select{width:100%}.clients-filter-shell footer{position:sticky;bottom:0;gap:10px;border-top:1px solid #eadfdb}.clients-filter-shell footer .button:last-child{margin-left:auto}@media(max-width:900px){.clients-toolbar-premium{grid-template-columns:1fr auto}.clients-search{grid-column:1/-1}.clients-sort{min-width:0}}@media(max-width:600px){.clients-toolbar-premium{grid-template-columns:1fr 1fr}.clients-search,.clients-sort{grid-column:1/-1}.clients-filter-trigger{width:100%}.clients-reset-link{justify-self:end}.clients-filter-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:22px 22px 0 0}.clients-filter-fields{grid-template-columns:1fr}.clients-filter-shell{max-height:88vh}}

/* Clients table rows */
.clients-table{min-width:1080px}.clients-table-client-row{min-height:78px;transition:background .16s ease,box-shadow .16s ease;cursor:pointer}.clients-table-client-row:hover{background:#fffaf8}.clients-table-client-row:focus-visible{position:relative;z-index:1;outline:2px solid var(--color-accent);outline-offset:-2px}.client-identity>span:last-child{gap:1px}.client-identity>span:last-child>a,.client-identity>span:last-child>small{max-width:100%;overflow:hidden;color:var(--color-muted);font-size:10px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.client-identity>span:last-child>a:hover{color:var(--color-accent-strong);text-decoration:underline}.client-date-cell{display:grid;gap:3px}.client-date-cell strong{font-size:12px}.client-date-cell small{max-width:150px;overflow:hidden;color:var(--color-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.client-number-cell,.client-money-cell{font-variant-numeric:tabular-nums}.client-tags .is-success{color:#35664b;background:#eaf5ee}.client-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.client-schedule-button{min-height:34px;padding:0 10px;font-size:10px}.client-schedule-button:disabled{opacity:.52;cursor:not-allowed}.client-row-actions>div{z-index:40;min-width:155px}.client-row-actions>summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(min-width:901px) and (max-width:1180px){.clients-table-row{grid-template-columns:minmax(210px,1.5fr) 110px 70px 115px minmax(120px,1fr) 150px}.clients-table-header>span:nth-child(3),.client-next-cell{display:none}.clients-table{min-width:850px}}@media(max-width:700px){.clients-table-wrap{overflow:visible;padding:10px}.clients-table{display:grid;min-width:0;gap:10px}.clients-table-header{display:none}.clients-table-client-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:0;padding:15px;border:1px solid var(--color-line);border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(52,35,40,.04)}.client-identity{grid-column:1/-1;padding-bottom:9px;border-bottom:1px solid #eee5e7}.clients-table-client-row>[role=cell]{min-width:0}.clients-table-client-row>[role=cell]:not(.client-identity):not(.client-actions)::before{display:block;margin-bottom:4px;color:var(--color-muted);content:attr(data-label);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.client-actions{grid-column:1/-1;justify-content:space-between;padding-top:4px}.client-schedule-button{min-height:38px}.client-row-actions>div{position:fixed;z-index:1200;right:16px;bottom:16px;top:auto}.client-tags{align-content:start}}

/* Client bulk selection */
.clients-table-row{grid-template-columns:38px minmax(220px,1.5fr) 120px 150px 70px 125px minmax(140px,1fr) minmax(150px,auto)}.client-checkbox-cell{display:grid;place-items:center}.mx-checkbox{display:grid;width:36px;height:36px;place-items:center;cursor:pointer}.mx-checkbox input{position:absolute;width:1px;height:1px;opacity:0}.mx-checkbox span{display:grid;width:19px;height:19px;place-items:center;border:1.5px solid #bcaeb1;border-radius:6px;background:#fff;transition:.14s}.mx-checkbox input:checked+span,.mx-checkbox input:indeterminate+span{border-color:var(--color-accent);background:var(--color-accent)}.mx-checkbox input:checked+span::after{width:8px;height:4px;border:solid #fff;border-width:0 0 2px 2px;content:"";transform:rotate(-45deg) translate(1px,-1px)}.mx-checkbox input:indeterminate+span::after{width:9px;height:2px;border-radius:2px;background:#fff;content:""}.mx-checkbox input:focus-visible+span{outline:3px solid rgba(111,31,52,.18);outline-offset:2px}.clients-bulk-bar{position:sticky;z-index:12;top:8px;display:flex;align-items:center;gap:12px;margin:0 20px 12px;padding:10px 12px;border:1px solid #d9c4c8;border-radius:12px;background:#fff8f7;box-shadow:0 8px 24px rgba(59,31,38,.09)}.clients-bulk-bar[hidden],.clients-selection-banner[hidden]{display:none}.clients-bulk-bar strong{color:var(--color-accent-strong)}.clients-bulk-bar span{color:var(--color-muted);font-size:11px}.clients-bulk-bar .button{margin-left:auto}.clients-selection-banner{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 20px 10px;padding:9px 12px;border-radius:9px;background:#f6eeee;color:#625056;font-size:11px}.clients-selection-banner button{border:0;background:none;color:var(--color-accent-strong);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}@media(max-width:700px){.clients-table-client-row{grid-template-columns:38px 1fr 1fr}.client-checkbox-cell{grid-row:1;grid-column:1}.client-identity{grid-column:2/-1}.client-actions{grid-column:1/-1}.clients-bulk-bar{position:sticky;bottom:10px;top:auto;z-index:30;flex-wrap:wrap;margin:8px 10px}.clients-bulk-bar .button{margin-left:auto}.clients-selection-banner{align-items:flex-start;flex-direction:column;margin-inline:10px}.clients-table-row{grid-template-columns:38px 1fr 1fr}}

/* Clients premium pagination */
.clients-pagination{display:flex;align-items:center;gap:18px;min-height:64px;padding:12px 20px;border-top:1px solid var(--color-line);background:#fff}.clients-pagination>p{margin:0;color:var(--color-muted);font-size:11px}.clients-pagination>p strong{color:var(--color-ink);font-variant-numeric:tabular-nums}.clients-page-size{display:flex;align-items:center;gap:8px;margin-left:auto;color:var(--color-muted);font-size:11px}.clients-page-size select{min-width:76px}.clients-page-links{display:flex;align-items:center;gap:4px}.clients-page-links>a,.clients-page-links>span{display:grid;min-width:34px;height:34px;place-items:center;border:1px solid transparent;border-radius:9px;color:var(--color-ink);text-decoration:none;font-size:11px;font-weight:750}.clients-page-links>a:hover{border-color:var(--color-line);background:#f8f3f2}.clients-page-links>a.is-active{color:#fff;border-color:var(--color-accent);background:var(--color-accent)}.clients-page-links>a.is-disabled{color:#bdb3b5;pointer-events:none}.clients-page-links>a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.clients-segment-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.clients-segment-error button{border:0;background:none;color:var(--color-accent-strong);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.clients-table-wrap.is-segment-loading{overflow:hidden}.clients-table-wrap.is-segment-loading .clients-table-header{position:relative;z-index:7}.clients-table-wrap.is-segment-loading::after{top:40px;background:rgba(255,253,252,.62)}.clients-table-wrap.is-segment-loading::before{top:72px}@media(max-width:760px){.clients-pagination{align-items:flex-start;flex-wrap:wrap;gap:10px}.clients-pagination>p{width:100%}.clients-page-size{margin-left:0}.clients-page-links{margin-left:auto}.clients-page-links>a:not(.clients-page-arrow):not(.is-active),.clients-page-links>span{display:none}}@media(max-width:420px){.clients-pagination{padding-inline:12px}.clients-page-size>span{display:none}}

/* Create client modal */
html.client-create-open,html.client-create-open body{overflow:hidden}.client-create-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid #ddcfcb;border-radius:22px;background:#fffaf7;color:var(--color-ink);box-shadow:0 28px 90px rgba(38,20,26,.28)}.client-create-dialog::backdrop{background:rgba(33,22,26,.36);backdrop-filter:blur(4px)}.client-create-dialog>form{display:flex;max-height:calc(100vh - 34px);flex-direction:column}.client-create-dialog header,.client-create-dialog footer{position:sticky;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:#fffaf7}.client-create-dialog header{top:0;border-bottom:1px solid #eadfdb}.client-create-dialog header h2{margin:0;font-size:21px}.client-create-dialog header p{margin:4px 0 0;color:var(--color-muted);font-size:11px}.client-create-dialog header>button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:50%;background:#efe6e3;color:#5f4d52;font-size:22px;cursor:pointer}.client-create-body{padding:20px 22px;overflow-y:auto}.client-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.client-create-wide{grid-column:1/-1}.client-contact-rule{margin:-7px 0 0;color:var(--color-muted);font-size:10px}.client-notes-count{justify-self:end;color:var(--color-muted)}.client-create-dialog footer{bottom:0;justify-content:flex-end;gap:10px;border-top:1px solid #eadfdb}.client-create-toast{position:fixed;z-index:1500;right:24px;bottom:24px;padding:12px 16px;border:1px solid #bcd7c5;border-radius:12px;color:#315d42;background:#f0faf3;box-shadow:0 14px 38px rgba(28,54,36,.16);font-size:12px}.client-create-toast[hidden]{display:none}@media(max-width:640px){.client-create-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;border-radius:0}.client-create-dialog>form{height:100%;max-height:none}.client-create-grid{grid-template-columns:1fr}.client-create-wide{grid-column:auto}.client-create-dialog header,.client-create-dialog footer{padding:15px 16px}.client-create-body{padding:18px 16px}.client-create-dialog footer .button{flex:1}.client-create-toast{right:12px;bottom:12px;left:12px}}
.client-consent-section{min-width:0;margin:2px 0 0;padding:16px;border:1px solid #e2d5d2;border-radius:14px;background:#fff}.client-consent-section legend{padding:0 6px;color:var(--color-ink);font-size:13px;font-weight:800}.client-consent-section>p{margin:0 0 12px;color:var(--color-muted);font-size:10px}.client-consent-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.client-consent-option{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:9px;min-height:58px;padding:9px 10px;border:1px solid #eadfdd;border-radius:11px;background:#fffaf8;cursor:pointer}.client-consent-option>input{position:absolute;width:1px;height:1px;opacity:0}.client-consent-switch{position:relative;width:36px;height:21px;border-radius:999px;background:#d8cdca;transition:.16s}.client-consent-switch::after{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(30,20,23,.18);content:"";transition:.16s}.client-consent-option>input:checked+.client-consent-switch{background:var(--color-accent)}.client-consent-option>input:checked+.client-consent-switch::after{transform:translateX(15px)}.client-consent-option>input:focus-visible+.client-consent-switch{outline:3px solid rgba(111,31,52,.18);outline-offset:2px}.client-consent-option>span:last-child{display:grid;gap:2px}.client-consent-option strong{font-size:11px}.client-consent-option small{color:var(--color-muted);font-size:9px;line-height:1.3}@media(max-width:640px){.client-consent-grid{grid-template-columns:1fr}}

/* Client import — duplicate review */
.client-duplicates-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.client-duplicates-heading h3{margin:0;font-size:17px}.client-duplicates-heading p{margin:4px 0 0;color:var(--color-muted);font-size:10px}.client-duplicates-heading input{width:min(310px,38vw);height:39px;border:1px solid #d9cdca;border-radius:10px;background:#fff}.client-duplicate-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}.client-duplicate-cards button{display:grid;min-width:0;gap:3px;padding:10px;border:1px solid #e2d7d4;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.client-duplicate-cards button.is-active{border-color:var(--color-accent);background:var(--color-accent-soft)}.client-duplicate-cards span{overflow:hidden;color:var(--color-muted);font-size:9px;text-overflow:ellipsis}.client-duplicate-cards strong{font-size:18px}.client-duplicate-filters{display:flex;gap:5px;margin-bottom:10px;overflow-x:auto;scrollbar-width:none}.client-duplicate-filters button,.client-duplicate-bulk button,.duplicate-strategies button{min-height:34px;padding:7px 10px;border:1px solid #dfd4d1;border-radius:999px;background:#fff;color:var(--color-ink);font:inherit;font-size:9px;font-weight:750;cursor:pointer}.client-duplicate-filters button.is-active,.duplicate-strategies button.is-active{color:#fff;border-color:var(--color-accent);background:var(--color-accent)}.client-duplicate-bulk{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:12px;padding:9px 11px;border-radius:11px;background:#f3edeb}.client-duplicate-bulk span{margin-right:auto;color:var(--color-muted);font-size:9px}.client-duplicate-error,.duplicate-consent-warning{margin-bottom:10px;padding:10px 12px;border:1px solid #dfb9b4;border-radius:10px;color:#783b38;background:#fff5f3;font-size:10px}.client-duplicate-list{display:grid;gap:12px}.client-duplicate-case{overflow:hidden;border:1px solid #e2d6d3;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(44,25,31,.035)}.client-duplicate-case.is-unresolved{border-left:3px solid #ad7649}.client-duplicate-case>header{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #eee5e2;background:#fbf7f5}.client-duplicate-case>header span{color:var(--color-muted);font-size:9px}.client-duplicate-case>header strong{font-size:11px}.client-duplicate-case>header b{margin-left:auto;padding:5px 8px;border-radius:999px;color:var(--color-accent-strong);background:var(--color-accent-soft);font-size:8px}.duplicate-comparison{display:grid;grid-template-columns:1fr 1fr}.duplicate-comparison section{min-width:0;padding:14px}.duplicate-comparison section+section{border-left:1px solid #eee5e2;background:#fdfaf8}.duplicate-comparison h4{margin:0 0 10px;font-size:11px}.duplicate-comparison dl{display:grid;grid-template-columns:minmax(90px,.38fr) minmax(0,1fr);gap:6px 9px;margin:0}.duplicate-comparison dt{color:var(--color-muted);font-size:8px;font-weight:750;text-transform:uppercase}.duplicate-comparison dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:10px}.duplicate-comparison dd.is-same::after{margin-left:5px;color:#4e755c;content:"identic";font-size:8px}.duplicate-comparison dd.is-different::after{margin-left:5px;color:#936041;content:"diferit";font-size:8px}.duplicate-comparison dd.is-missing::after{margin-left:5px;color:#897c80;content:"lipsește";font-size:8px}.duplicate-consent-warning{margin:0 14px 10px}.duplicate-strategies{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 14px}.duplicate-strategies button:disabled{opacity:.45;cursor:not-allowed}.duplicate-strategies button:focus-visible,.client-duplicate-filters button:focus-visible,.client-duplicate-cards button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.client-merge-dialog{width:min(780px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid #ddcfcb;border-radius:20px;background:#fffaf7;color:var(--color-ink);box-shadow:0 30px 100px rgba(38,20,26,.3)}.client-merge-dialog::backdrop{background:rgba(33,22,26,.4);backdrop-filter:blur(4px)}.client-merge-dialog>form{display:flex;max-height:calc(100vh - 34px);flex-direction:column}.client-merge-dialog header,.client-merge-dialog footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fffaf7}.client-merge-dialog header{border-bottom:1px solid #e8dcda}.client-merge-dialog header h3{margin:0}.client-merge-dialog header p{margin:3px 0 0;color:var(--color-muted);font-size:10px}.client-merge-dialog header>button{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;background:#eee5e2;font-size:20px}.client-merge-dialog footer{justify-content:flex-end;gap:9px;border-top:1px solid #e8dcda}.client-merge-fields{display:grid;gap:9px;padding:16px 20px;overflow-y:auto;overscroll-behavior:contain}.client-merge-fields fieldset{display:grid;grid-template-columns:1fr 1fr minmax(190px,.8fr);gap:10px;margin:0;padding:12px;border:1px solid #e4d9d6;border-radius:12px;background:#fff}.client-merge-fields fieldset.has-conflict{border-color:#d8ad8e;background:#fff9f2}.client-merge-fields legend{padding:0 5px;font-size:10px;font-weight:800}.client-merge-fields fieldset>div,.client-merge-fields label{display:grid;min-width:0;gap:4px}.client-merge-fields small,.client-merge-fields label span{color:var(--color-muted);font-size:8px;font-weight:750;text-transform:uppercase}.client-merge-fields strong{overflow-wrap:anywhere;font-size:10px}.client-merge-fields select{width:100%}.client-merge-fields p{grid-column:1/-1;margin:0;color:#87533e;font-size:9px}
@media(max-width:760px){.client-duplicates-heading{align-items:stretch;flex-direction:column}.client-duplicates-heading input{width:100%}.client-duplicate-cards{grid-template-columns:repeat(3,1fr)}.duplicate-comparison{grid-template-columns:1fr}.duplicate-comparison section+section{border-top:1px solid #eee5e2;border-left:0}.client-merge-fields fieldset{grid-template-columns:1fr 1fr}.client-merge-fields label{grid-column:1/-1}}@media(max-width:520px){.client-duplicate-cards{grid-template-columns:repeat(2,1fr)}.client-duplicate-bulk{align-items:stretch;flex-direction:column}.client-duplicate-bulk span{margin:0}.duplicate-strategies{display:grid;grid-template-columns:1fr 1fr}.duplicate-strategies button{border-radius:10px}.client-merge-dialog{width:100%;height:100%;max-height:none;margin:0;border:0;border-radius:0}.client-merge-dialog>form{height:100%;max-height:none}.client-merge-fields{padding:12px}.client-merge-fields fieldset{grid-template-columns:1fr}.client-merge-fields label{grid-column:auto}.client-merge-dialog footer .button{flex:1}}

/* Client import — premium file step */
.client-import-dialog footer{position:sticky;z-index:4;bottom:0}.client-import-dialog footer [data-import-continue]:disabled{border-color:#ded6d4;color:#a99fa1;background:#eee9e7;box-shadow:none;cursor:not-allowed;opacity:1}.client-import-steps li{font-size:11px}.client-import-steps li strong{font-size:11px}.client-upload-zone{position:relative;gap:7px;padding:25px 24px;border-width:1.5px;background:linear-gradient(180deg,#fff 0%,#fdf9f7 100%)}.client-upload-zone:hover{border-color:#ad858d;background:#fff8f7}.client-upload-zone.is-busy{pointer-events:none;opacity:.72}.client-upload-zone.is-success{border-style:solid;border-color:#a9c7b2;background:#f7fcf8}.client-upload-symbol{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:var(--color-accent-strong);background:var(--color-accent-soft)}.client-upload-symbol svg{width:25px;height:25px}.client-upload-zone>strong{font-size:15px}.client-upload-zone>p{margin:0;color:var(--color-muted);font-size:12px}.client-upload-zone>small{margin-top:3px;font-size:11px}.client-upload-loading{position:absolute;right:14px;bottom:12px;color:var(--color-accent-strong);font-size:10px;font-weight:800}.client-upload-file{grid-template-columns:48px minmax(0,1fr) auto auto;padding:14px 16px;border-color:#b9d0bf;background:#f8fcf9}.client-upload-icon{width:46px;height:46px}.client-upload-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}.client-upload-file>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-upload-file>div small{font-size:11px}.client-upload-file em{font-size:11px}.client-upload-file>button{min-height:36px;padding:7px 9px;border-radius:9px}.client-upload-file>button:hover,.client-upload-file>button:focus-visible{background:var(--color-accent-soft)}.client-upload-error{font-size:12px}.client-import-tools{display:grid;align-items:stretch;gap:12px;margin-top:16px;padding:16px;border:1px solid #e4d8d5;border-radius:15px;background:#fff}.client-template-heading h3{margin:0;font-size:14px}.client-template-heading p{max-width:720px;margin:4px 0 0;color:#716268;font-size:11px;line-height:1.5}.client-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.client-template-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-height:88px;padding:13px;border:1px solid #ded1ce;border-radius:13px;color:var(--color-ink);background:#fdfaf9;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.client-template-card:hover{border-color:#b98e97;box-shadow:0 8px 22px rgba(65,35,43,.08);transform:translateY(-1px)}.client-template-card:focus-visible{outline:3px solid rgba(111,31,52,.18);outline-offset:2px}.client-template-card.is-loading{pointer-events:none;opacity:.65}.client-template-card.is-recommended{border-color:#d5b7bd;background:#fff8f8}.client-template-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;color:var(--color-accent-strong);background:var(--color-accent-soft)}.client-template-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.client-template-card>span:last-child{display:grid;min-width:0;gap:3px}.client-template-card strong{font-size:12px}.client-template-card small{color:#685a60;font-size:10px;line-height:1.35}.client-template-card em{overflow:hidden;color:#94878b;font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.client-template-status{margin:0;color:#4b7058;font-size:10px}.client-template-status.is-error{color:#8b3f39}.client-import-tips{margin-top:12px;padding:13px 15px;border:1px solid #e5dad7;background:#f7f2f0}.client-import-tips strong{font-size:12px}.client-import-tips ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 24px;margin-top:9px;color:#67595e;font-size:11px;line-height:1.4}.client-import-tips li::marker{color:var(--color-accent)}
@media(max-width:700px){.client-template-grid{grid-template-columns:1fr}.client-import-tips ul{grid-template-columns:1fr}.client-upload-zone{padding:22px 14px}.client-upload-file{grid-template-columns:44px minmax(0,1fr)}.client-upload-file>button{justify-self:start}.client-import-tools{padding:14px}}@media(max-width:420px){.client-upload-zone>p{font-size:11px}.client-template-card{min-height:96px}.client-import-steps li{font-size:10px}}

/* Client import — file step */
html.client-import-open,html.client-import-open body{overflow:hidden}.client-import-dialog{width:min(900px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid #ddcfcb;border-radius:22px;background:#fffaf7;color:var(--color-ink);box-shadow:0 30px 100px rgba(38,20,26,.3)}.client-import-dialog::backdrop,.client-import-confirm::backdrop{background:rgba(33,22,26,.36);backdrop-filter:blur(4px)}.client-import-dialog>form{display:flex;max-height:calc(100vh - 34px);flex-direction:column}.client-import-dialog header,.client-import-dialog footer{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:#fffaf7}.client-import-dialog header{border-bottom:1px solid #e8dcda}.client-import-dialog header h2{margin:0;font-size:22px}.client-import-dialog header p{margin:4px 0 0;color:var(--color-muted);font-size:11px}.client-import-dialog header button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:50%;background:#eee5e2;font-size:22px}.client-import-body{padding:20px 24px;overflow-y:auto}.client-import-steps{display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 22px;padding:0;list-style:none}.client-import-steps li{position:relative;display:grid;justify-items:center;gap:5px;color:#ad9fa2;font-size:10px}.client-import-steps li:not(:last-child)::after{position:absolute;top:14px;left:calc(50% + 18px);right:calc(-50% + 18px);height:1px;background:#dfd4d1;content:""}.client-import-steps span{display:grid;z-index:1;width:29px;height:29px;place-items:center;border:1px solid #d9cdca;border-radius:50%;background:#fffaf7;font-weight:800}.client-import-steps .is-active{color:var(--color-accent-strong)}.client-import-steps .is-active span{color:#fff;border-color:var(--color-accent);background:var(--color-accent)}.client-upload-zone{display:grid;justify-items:center;gap:8px;padding:34px;border:1.5px dashed #cdbbbe;border-radius:18px;background:#fff;cursor:pointer;transition:.16s}.client-upload-zone:focus-visible,.client-upload-zone.is-dragging{outline:3px solid rgba(111,31,52,.12);border-color:var(--color-accent);background:#fdf4f4}.client-upload-zone.is-invalid{border-color:#b8564d;background:#fff6f4}.client-upload-zone svg{width:38px;height:38px;fill:none;stroke:var(--color-accent);stroke-width:1.5}.client-upload-zone>span,.client-upload-zone>small{color:var(--color-muted);font-size:10px}.client-upload-file{display:grid;grid-template-columns:46px 1fr auto auto;align-items:center;gap:12px;padding:16px;border:1px solid #ddcfcc;border-radius:15px;background:#fff}.client-upload-file[hidden]{display:none}.client-upload-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:11px;color:var(--color-accent-strong);background:var(--color-accent-soft);font-size:9px;font-weight:900}.client-upload-file>div{display:grid;gap:2px}.client-upload-file small{color:var(--color-muted);font-size:10px}.client-upload-file em{color:#39704f;font-size:10px;font-style:normal}.client-upload-file>button{border:0;background:none;color:var(--color-accent-strong);font:inherit;font-size:10px;font-weight:800}.client-upload-error{margin-top:10px;padding:10px 12px;border:1px solid #e3b9b4;border-radius:10px;color:#8b3f39;background:#fff5f3;font-size:11px}.client-import-tools{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:14px}.client-import-tools>span{color:var(--color-muted);font-size:10px;font-weight:750}.client-import-tools>div{display:flex;gap:6px}.client-import-tools .button{min-width:66px;justify-content:center}.client-import-tips{margin-top:15px;padding:14px 16px;border-radius:13px;background:#f4efed}.client-import-tips strong{font-size:11px}.client-import-tips ul{display:grid;grid-template-columns:1fr 1fr;gap:5px 22px;margin:8px 0 0;padding-left:18px;color:var(--color-muted);font-size:10px}.client-import-dialog footer{justify-content:flex-end;gap:10px;border-top:1px solid #e8dcda}.client-import-confirm{width:min(430px,calc(100vw - 32px));padding:0;border:1px solid #ddcfcb;border-radius:18px;background:#fffaf7;box-shadow:0 24px 70px rgba(38,20,26,.28)}.client-import-confirm>div{padding:22px}.client-import-confirm h3{margin:0}.client-import-confirm p{color:var(--color-muted);font-size:11px}.client-import-confirm footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}@media(max-width:640px){.client-import-dialog{width:100%;height:100%;max-height:none;margin:0;border:0;border-radius:0}.client-import-dialog>form{height:100%;max-height:none}.client-import-dialog header,.client-import-dialog footer{padding:15px 16px}.client-import-body{padding:17px 16px}.client-import-steps li strong{display:none}.client-upload-zone{padding:25px 15px}.client-upload-file{grid-template-columns:42px 1fr}.client-upload-file>button{justify-self:start}.client-import-tips ul{grid-template-columns:1fr}.client-import-dialog footer .button{flex:1}}

/* Client import — mapping step */
.client-import-steps li.is-complete span{color:#fff;border-color:#6b8e76;background:#6b8e76}.client-import-steps li.is-complete span::after{content:"✓"}.client-import-steps li.is-complete span{font-size:0}.client-import-steps li.is-complete span::after{font-size:12px}.client-mapping-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.client-mapping-heading h3{margin:0;font-size:17px}.client-mapping-heading p{margin:4px 0 0;color:var(--color-muted);font-size:10px}.client-mapping-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.client-mapping-summary span,.client-mapping-summary strong{padding:6px 8px;border-radius:999px;background:#f1ebea;font-size:9px}.client-mapping-summary strong{color:var(--color-accent-strong);background:var(--color-accent-soft)}.client-mapping-errors{margin-bottom:12px;padding:10px 12px;border:1px solid #e1bab5;border-radius:10px;color:#8b3f39;background:#fff5f3;font-size:10px}.client-mapping-errors p{margin:2px 0}.client-mapping-grid{display:grid;gap:10px}.client-mapping-card{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) minmax(240px,1.15fr);align-items:start;gap:14px;padding:14px;border:1px solid #e4d9d6;border-radius:14px;background:#fff}.mapping-source,.mapping-examples,.mapping-target{display:grid;min-width:0;gap:5px}.mapping-source>small,.mapping-examples>small,.mapping-target>span,.mapping-setting>span{color:var(--color-muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.mapping-source strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-source em{justify-self:start;padding:3px 6px;border-radius:999px;color:#6a5a5e;background:#f2eded;font-size:8px;font-style:normal}.mapping-examples span{overflow:hidden;color:#605257;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.mapping-target select{width:100%}.mapping-setting{display:grid;gap:4px;margin-top:5px}.mapping-setting select{width:100%}.mapping-phone-note{color:var(--color-muted);font-size:9px;line-height:1.35}@media(max-width:760px){.client-mapping-heading{align-items:stretch;flex-direction:column}.client-mapping-summary{justify-content:flex-start}.client-mapping-card{grid-template-columns:1fr 1fr}.mapping-target{grid-column:1/-1}}@media(max-width:520px){.client-mapping-card{grid-template-columns:1fr}.mapping-target{grid-column:auto}}

/* Client import — validation step */
.client-validation-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.client-validation-heading h3{margin:0;font-size:17px}.client-validation-heading p{margin:4px 0 0;color:var(--color-muted);font-size:10px}.client-validation-search input{width:min(300px,38vw);height:39px;border:1px solid #d9cdca;border-radius:10px;background:#fff}.client-validation-progress{display:grid;gap:7px;margin-bottom:13px;padding:11px;border-radius:11px;background:#f4eeee;font-size:10px}.client-validation-progress>span{height:6px;overflow:hidden;border-radius:99px;background:#dfd4d2}.client-validation-progress i{display:block;width:0;height:100%;border-radius:99px;background:var(--color-accent);transition:width .25s}.client-validation-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.client-validation-cards button{display:grid;gap:3px;padding:10px;border:1px solid #e2d7d4;border-radius:11px;background:#fff;text-align:left}.client-validation-cards button.is-active{border-color:var(--color-accent);background:var(--color-accent-soft)}.client-validation-cards span{color:var(--color-muted);font-size:9px}.client-validation-cards strong{font-size:18px}.client-validation-filters{display:flex;gap:5px;margin-bottom:10px;overflow-x:auto}.client-validation-filters button{flex:none;padding:7px 10px;border:1px solid #dfd4d1;border-radius:999px;background:#fff;font-size:9px}.client-validation-filters button.is-active{color:#fff;border-color:var(--color-accent);background:var(--color-accent)}.client-validation-bulk{display:flex;align-items:center;gap:8px;margin-bottom:9px;padding:8px 10px;border-radius:10px;background:#f6efee;font-size:10px}.client-validation-bulk button{border:0;background:none;color:var(--color-accent-strong);font:inherit;font-weight:800}.client-validation-error{margin-bottom:10px;padding:10px;border:1px solid #dfb9b4;border-radius:10px;color:#873c36;background:#fff5f3;font-size:10px}.client-validation-table{min-width:800px}.client-validation-step{overflow-x:auto}.validation-row{display:grid;grid-template-columns:34px 42px minmax(130px,1fr) 110px minmax(140px,1fr) 80px minmax(180px,1.3fr) 65px;align-items:center;gap:8px;min-height:54px;padding:8px 10px;border-bottom:1px solid #eee5e3;background:#fff;font-size:10px}.validation-head{position:sticky;z-index:2;top:0;min-height:36px;color:var(--color-muted);background:#f8f4f3;font-size:8px;font-weight:800;text-transform:uppercase}.validation-row.is-invalid{box-shadow:inset 3px 0 #b85b52}.validation-row.is-warning{box-shadow:inset 3px 0 #b68a45}.validation-row.is-valid{box-shadow:inset 3px 0 #58856a}.validation-row.is-excluded{opacity:.62;background:#f3f0ef}.validation-row>b{font-size:9px}.validation-issues p{margin:2px 0;color:#765f64;font-size:9px}.validation-row>button{border:0;background:none;color:var(--color-accent-strong);font-size:9px;font-weight:800}@media(max-width:760px){.client-validation-heading{align-items:stretch;flex-direction:column}.client-validation-search input{width:100%}.client-validation-cards{grid-template-columns:repeat(2,1fr)}.client-validation-step{overflow-x:visible}.client-validation-table{display:grid;min-width:0;gap:8px}.validation-head{display:none}.validation-row{grid-template-columns:34px 1fr auto;gap:7px;border:1px solid #e4d9d6;border-radius:12px}.validation-row>span,.validation-row>.validation-issues{grid-column:2/-1}.validation-row>button{grid-column:3}.validation-row>b{grid-column:3;grid-row:1}}
.client-profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 28px;margin-bottom:16px;background:var(--surface,#fff);border:1px solid var(--border,#e7ddd9);border-radius:20px}.client-profile-header h1{margin:4px 0 6px;font-size:clamp(1.55rem,2.5vw,2.15rem)}.client-profile-header p{margin:0;max-width:780px}.client-profile-header-actions{display:flex;gap:10px;flex-shrink:0}.client-profile-form{display:contents}.client-profile-form fieldset{display:contents;border:0;padding:0}.client-profile-section{display:block;margin:0 0 16px;padding:22px 24px;background:var(--surface,#fff);border:1px solid var(--border,#e7ddd9);border-radius:18px;box-shadow:0 8px 28px rgba(54,35,31,.04)}.client-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.client-section-heading h2{margin:2px 0 0;font-size:1.15rem}.client-section-heading>p{max-width:560px;margin:0;color:var(--muted,#6f6461)}.client-optional{padding:0}.client-optional summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:20px 24px;list-style:none}.client-optional summary::-webkit-details-marker{display:none}.client-optional summary strong,.client-optional summary small{display:block}.client-optional summary small{margin-top:4px;color:var(--muted,#6f6461)}.client-optional-body{padding:0 24px 24px}.client-readonly-field{padding:12px 14px;border:1px solid var(--border,#e7ddd9);border-radius:12px;background:#fbf8f7}.client-readonly-field span,.client-readonly-field strong,.client-readonly-field small{display:block}.client-readonly-field strong{margin:7px 0}.client-profile-actions{position:sticky;bottom:0;z-index:20;display:flex;justify-content:flex-end;gap:10px;margin:0 0 16px;padding:14px 20px;background:rgba(255,252,250,.96);border:1px solid var(--border,#e7ddd9);border-radius:16px;backdrop-filter:blur(12px)}.client-consent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.client-consent-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px;min-height:128px;padding:16px;border:1px solid var(--border,#e7ddd9);border-radius:15px;background:#fff}.client-consent-card.is-granted{border-color:#bb8b91;background:#fffafa}.client-consent-card strong,.client-consent-card small{display:block}.client-consent-card small{margin-top:5px;color:var(--muted,#6f6461)}.client-consent-card em{align-self:end;font-style:normal;font-weight:700;color:#7f6b67}.mx-switch input{position:absolute;opacity:0}.mx-switch i{display:block;width:44px;height:24px;padding:3px;border-radius:99px;background:#d8dfe6;transition:.16s}.mx-switch i:after{content:"";display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:.16s}.mx-switch input:checked+i{background:#8f4f59}.mx-switch input:checked+i:after{transform:translateX(20px)}.mx-switch input:focus-visible+i{outline:3px solid rgba(143,79,89,.25);outline-offset:3px}.client-consent-save{margin-top:14px}.client-gdpr-history,.client-visit-list{display:grid;gap:8px}.client-gdpr-history article,.client-visit-list a{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:center;padding:13px 14px;border:1px solid var(--border,#e7ddd9);border-radius:12px;background:#fff}.client-gdpr-history small,.client-visit-list small{display:block;margin-top:3px;color:var(--muted,#6f6461)}.client-visit-list a{color:inherit;text-decoration:none;transition:.16s}.client-visit-list a:hover,.client-visit-list a:focus-visible{border-color:#a85f69;background:#fffafa;outline:none;box-shadow:0 0 0 3px rgba(143,79,89,.13)}.client-empty{padding:18px;text-align:center;border:1px dashed var(--border,#e7ddd9);border-radius:12px;background:#fcfaf9}.client-leave-dialog{border:0;background:transparent}.client-leave-dialog::backdrop{background:#271c1cb3}.client-leave-dialog>div{width:min(440px,calc(100vw - 32px));padding:24px;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0004}.client-leave-dialog footer{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:1000px){.client-consent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-profile-header{flex-direction:column}.client-profile-header-actions{width:100%}}
@media(max-width:640px){.client-profile-header,.client-profile-section{padding:18px}.client-profile-header-actions,.client-profile-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.client-consent-grid{grid-template-columns:1fr}.client-gdpr-history article,.client-visit-list a{grid-template-columns:1fr}.client-profile-actions{border-radius:14px 14px 0 0}.client-section-heading{display:block}.client-section-heading>p{margin-top:8px}}
/* Client import wizard finishing pass */
.client-import-dialog{margin:16px auto;max-height:calc(100vh - 32px);overflow:hidden}
.client-import-dialog>form{height:min(860px,calc(100vh - 34px));max-height:calc(100vh - 34px);overflow:hidden}
.client-import-dialog header{position:relative;z-index:7;flex:none}
.client-import-body{min-height:0;overflow-x:hidden;overscroll-behavior:contain}
.client-import-steps{position:sticky;z-index:6;top:-20px;margin:-20px -24px 20px;padding:17px 24px 14px;border-bottom:1px solid #eadfdd;background:rgba(255,250,247,.97);backdrop-filter:blur(10px)}
.client-import-dialog footer{position:relative;z-index:7;flex:none}
.client-validation-eligibility{margin:0 0 12px;padding:11px 13px;border:1px solid #d8c8c4;border-radius:11px;color:#5f4e53;background:#fbf6f4;font-size:12px;font-weight:700}
.client-validation-step{max-width:100%;overflow-x:hidden}
.client-validation-table{min-width:0}
.validation-row{grid-template-columns:34px 42px minmax(115px,1fr) 105px minmax(125px,1fr) 75px minmax(155px,1.2fr) 60px}
.client-template-status{position:fixed;z-index:1300;right:24px;bottom:24px;max-width:340px;padding:12px 16px;border:1px solid #bdd0c2;border-radius:12px;background:#f7fcf8;box-shadow:0 16px 42px rgba(36,25,29,.18);font-size:12px}
.client-template-status.is-error{border-color:#e0b9b4;background:#fff5f3}
.duplicate-file-note{margin:10px 0;padding:9px 11px;border-radius:9px;background:#f5efed;color:#695a5f;font-size:11px}
.duplicate-comparison dd.is-same::after{margin-left:6px;color:#4b765a;content:"Identic";font-size:9px;font-weight:800}
.duplicate-comparison dd.is-different{background:#fff7ed}
.duplicate-comparison dd.is-missing{color:#aaa0a2;font-style:italic}
.client-import-final-step{display:grid;gap:18px}
.client-import-final-step[hidden]{display:none}
.client-import-final-heading h3,.client-import-result h3{margin:0;font-size:19px}
.client-import-final-heading p{margin:5px 0 0;color:var(--color-muted);font-size:12px}
.client-import-summary,.client-import-result [data-import-result-cards]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.client-import-summary article,.client-import-result [data-import-result-cards] article{display:grid;gap:5px;padding:15px;border:1px solid #e2d6d3;border-radius:13px;background:#fff}
.client-import-summary span,.client-import-result article span{color:var(--color-muted);font-size:10px}
.client-import-summary strong,.client-import-result article strong{font-size:23px}
.client-import-run{display:grid;gap:8px;padding:16px;border-radius:13px;background:#f6efed}
.client-import-run>span{height:8px;overflow:hidden;border-radius:99px;background:#ded2cf}
.client-import-run i{display:block;width:0;height:100%;border-radius:99px;background:var(--color-accent);transition:width .18s}
.client-import-run p{margin:0;color:var(--color-muted);font-size:10px}
.client-import-result{display:grid;gap:16px}
.client-import-result-actions{display:flex;flex-wrap:wrap;gap:9px}
@media(max-width:760px){.client-import-dialog{width:calc(100% - 32px);height:calc(100% - 32px);max-height:calc(100vh - 32px);margin:16px;border:1px solid #ddcfcb;border-radius:18px}.client-import-dialog>form{height:100%;max-height:100%}.client-import-steps{top:-17px;margin:-17px -16px 16px;padding:14px 16px 12px}.client-import-summary,.client-import-result [data-import-result-cards]{grid-template-columns:1fr 1fr}.validation-row{grid-template-columns:34px 1fr auto}.client-import-result-actions{display:grid}.client-import-result-actions>*{width:100%;justify-content:center}}
/* Clients page — accessible high-contrast typography */
.clients-hero h1,
.clients-hero p,
.clients-list-head h2,
.clients-list-head p,
.clients-kpis .client-kpi,
.client-kpi-copy>span,
.client-kpi-copy strong,
.client-kpi-copy small,
.clients-toolbar-premium,
.clients-search input,
.clients-search input::placeholder,
.clients-sort>span,
.clients-filter-trigger,
.clients-reset-link,
.clients-filter-chips button,
.client-segments a,
.client-segments a b,
.clients-table,
.clients-table-header,
.clients-table-client-row,
.clients-table-client-row>[role="cell"],
.client-identity>span:last-child>a,
.client-identity>span:last-child>small,
.client-date-cell strong,
.client-date-cell small,
.client-number-cell,
.client-money-cell,
.client-tags span,
.client-row-actions a,
.clients-pagination,
.clients-pagination>p,
.clients-page-size{color:#211b1d}
.client-kpi-copy>span,
.clients-table-header,
.clients-sort>span,
.client-segments a,
.clients-table-client-row>[role="cell"]:not(.client-actions),
.client-date-cell strong{font-weight:750}
.client-kpi-copy small,
.client-identity>span:last-child>small,
.client-date-cell small,
.clients-list-head p,
.clients-pagination>p,
.clients-page-size{color:#41383b}
.clients-search>svg{color:#332a2d}
.clients-search input::placeholder{color:#5b5053;opacity:1}
.clients-table-header{background:#f6f1ef}
.clients-table-client-row{color:#211b1d;background:#fff}
.clients-table-client-row:hover{background:#fff7f4}
.clients-filter-dialog,
.clients-filter-shell header p,
.clients-filter-fields label>span{color:#211b1d}
@media(max-width:700px){
 .clients-table-client-row>[role=cell]:not(.client-identity):not(.client-actions)::before{color:#332a2d}
}
/* Dashboard overview — compact period summary */
.dashboard-overview{display:grid;gap:12px;width:100%;margin:0 0 18px}
.dashboard-overview-main{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(560px,1.4fr);align-items:center;gap:28px;min-height:154px;padding:22px 26px;border:1px solid #e3d7d3;border-radius:19px;background:linear-gradient(120deg,#fff7f5 0,#fffdfc 48%,#fff 100%);box-shadow:0 12px 34px rgba(54,34,40,.06)}
.dashboard-overview-copy .eyebrow{margin:0 0 4px;color:#8a3f51;font-size:11px;font-weight:850;letter-spacing:.09em}
.dashboard-overview-copy h1{margin:0;color:#171d33;font-size:clamp(27px,3vw,39px);line-height:1.08}
.dashboard-period-values{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.dashboard-period-values>span{padding:7px 10px;border:1px solid #e5d8d5;border-radius:999px;color:#4b3e42;background:#fff;font-size:11px}
.dashboard-period-values strong{color:#171d33;font-size:12px}
.dashboard-period-panel{display:grid;justify-items:end;gap:11px;min-width:0}
.dashboard-period-switcher{display:flex;max-width:100%;padding:4px;border:1px solid #dfcfcc;border-radius:13px;background:#fff;overflow-x:auto;scrollbar-width:none}
.dashboard-period-switcher::-webkit-scrollbar{display:none}
.dashboard-period-switcher button{flex:0 0 auto;min-height:36px;padding:0 13px;border:0;border-radius:9px;color:#3d3437;background:transparent;font:inherit;font-size:11px;font-weight:780;white-space:nowrap;cursor:pointer}
.dashboard-period-switcher button:hover{color:#772b41;background:#fbf0f1}
.dashboard-period-switcher button.is-active{color:#fff;background:#812f47;box-shadow:0 4px 12px rgba(105,35,55,.2)}
.dashboard-period-switcher button:focus-visible{outline:3px solid rgba(126,42,65,.22);outline-offset:2px}
.dashboard-comparison{display:flex;align-items:center;gap:7px;min-height:31px;padding:6px 10px;border:1px solid #e2d7d4;border-radius:999px;color:#51464a;background:#fff;font-size:10px;font-weight:750}
.dashboard-comparison svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dashboard-comparison.is-up{color:#2f6f4a;border-color:#c8dfd0;background:#f3faf5}
.dashboard-comparison.is-down{color:#873f4d;border-color:#e4c9ce;background:#fff5f6}
.dashboard-comparison.is-neutral{color:#51464a}
.dashboard-quick-actions{display:flex;align-items:center;gap:9px}
.dashboard-quick-actions .button{min-height:40px;padding:0 14px;font-size:11px}
.dashboard-quick-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-summary-error{display:flex;align-items:center;gap:8px;color:#7d3946;font-size:11px}
.dashboard-summary-error button{border:0;background:none;color:#70263c;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
.dashboard-overview.is-loading .dashboard-period-values strong{display:inline-block;min-width:70px;color:transparent;border-radius:6px;background:linear-gradient(90deg,#eee4e2 25%,#faf5f3 50%,#eee4e2 75%);background-size:200% 100%;animation:dashboard-shimmer 1s linear infinite}
@keyframes dashboard-shimmer{to{background-position:-200% 0}}
@media(max-width:1050px){.dashboard-overview-main{grid-template-columns:1fr;gap:18px}.dashboard-period-panel{justify-items:start}.dashboard-period-switcher{width:100%}.dashboard-overview-main{min-height:0}}
@media(max-width:620px){.dashboard-overview-main{padding:19px 17px;border-radius:16px}.dashboard-overview-copy h1{font-size:28px}.dashboard-period-values{display:grid;grid-template-columns:1fr 1fr}.dashboard-period-values>span{border-radius:11px;line-height:1.35}.dashboard-period-panel{margin-inline:-2px}.dashboard-period-switcher{width:calc(100vw - 64px)}.dashboard-quick-actions{display:grid;grid-template-columns:1fr 1fr}.dashboard-quick-actions .button{justify-content:center}.dashboard-quick-actions>*:last-child:nth-child(odd){grid-column:1/-1}}
/* Dashboard stage 2 — agenda and realized revenue */
.dashboard-primary-widgets{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:14px;margin:0 0 18px}
.dashboard-widget{display:flex;min-width:0;min-height:360px;flex-direction:column;padding:18px 20px;border:1px solid #e2d8d5;border-radius:17px;background:#fff;box-shadow:0 9px 28px rgba(50,32,38,.045)}
.dashboard-widget-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}
.dashboard-widget-header .eyebrow{margin:0 0 3px;color:#8b4052;font-size:9px;font-weight:850;letter-spacing:.07em}
.dashboard-widget-header h2{margin:0;color:#171d33;font-size:19px}
.dashboard-widget-header p:not(.eyebrow){margin:4px 0 0;color:#51474a;font-size:11px}
.dashboard-widget-header>a,.dashboard-agenda-more{color:#85364b;font-size:11px;font-weight:800;text-decoration:none}
.dashboard-widget-header>a:hover,.dashboard-agenda-more:hover{text-decoration:underline}
.dashboard-widget-header>a:focus-visible,.dashboard-agenda-more:focus-visible,.dashboard-agenda-client a:focus-visible,.dashboard-agenda-row:focus-visible{outline:3px solid rgba(126,42,65,.2);outline-offset:3px}
.dashboard-agenda-list{display:grid;align-content:start;gap:7px;min-height:264px}
.dashboard-agenda-row{display:grid;grid-template-columns:54px minmax(125px,1.4fr) minmax(90px,.8fr) auto;align-items:center;gap:10px;min-height:49px;padding:7px 9px;border:1px solid #e9e0de;border-radius:11px;color:#211b1d;background:#fff;cursor:pointer;transition:.15s}
.dashboard-agenda-row:hover{border-color:#d7bdc3;background:#fff9f8}
.dashboard-agenda-row time{display:grid;min-height:34px;place-items:center;border-radius:8px;background:#f8f3f1;color:#172038;font-size:11px;font-weight:850}
.dashboard-agenda-client{display:grid;gap:2px;min-width:0}
.dashboard-agenda-client a,.dashboard-agenda-client strong{overflow:hidden;color:#171d33;font-size:11px;font-weight:820;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.dashboard-agenda-client a:hover{color:#7a2b42;text-decoration:underline}
.dashboard-agenda-client small,.dashboard-agenda-specialist{overflow:hidden;color:#51474a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-status{padding:5px 7px;border:1px solid #ded4d2;border-radius:999px;color:#4e4548;background:#f7f3f2;font-size:8px;font-weight:820;white-space:nowrap}
.dashboard-status--completed{color:#286644;border-color:#c7e2d1;background:#eaf7ef}
.dashboard-status--confirmed{color:#315d82;border-color:#cadceb;background:#eef6fb}
.dashboard-status--pending{color:#80602b;border-color:#eadbbf;background:#fff8e9}
.dashboard-status--cancelled,.dashboard-status--canceled{color:#88434b;border-color:#e8cbd0;background:#fff3f4}
.dashboard-status--no_show{color:#65545a;border-color:#d9cdd0;background:#f3eff0}
.dashboard-agenda-more{justify-self:center;padding:7px}
.dashboard-widget-empty{display:grid;align-content:center;justify-items:center;min-height:240px;text-align:center}
.dashboard-widget-empty strong{color:#171d33}.dashboard-widget-empty p{max-width:330px;margin:7px 0 14px;color:#51474a;font-size:11px}
.dashboard-revenue-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:5px}
.dashboard-revenue-summary span{padding:7px 9px;border-radius:9px;color:#51474a;background:#f8f4f2;font-size:9px}
.dashboard-revenue-summary strong{color:#171d33;font-size:10px}
.dashboard-chart{min-height:245px;margin-top:auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.dashboard-chart svg{display:block;min-width:100%}
.dashboard-chart line{stroke:#eadfdd;stroke-width:1}
.dashboard-chart rect{fill:#ad6475;transition:fill .15s,opacity .15s}
.dashboard-chart g:hover rect,.dashboard-chart g:focus rect{fill:#7d3046}
.dashboard-chart g:focus{outline:none}
.dashboard-chart text{fill:#61565a;font-size:8px;text-anchor:middle}
.dashboard-chart .dashboard-chart-value{fill:#473b3f;font-size:7px;font-weight:800}
.dashboard-widget-error{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto;padding:10px;border-radius:9px;color:#7d3946;background:#fff4f5;font-size:10px}
.dashboard-widget-error button{border:0;background:none;color:#70263c;font:inherit;font-weight:850;text-decoration:underline;cursor:pointer}
.dashboard-widget.is-loading .dashboard-agenda-row{color:transparent;background:linear-gradient(90deg,#f2eae8,#fcf8f7,#f2eae8);background-size:200% 100%;animation:dashboard-shimmer 1s linear infinite}
@media(max-width:1050px){.dashboard-primary-widgets{grid-template-columns:1fr}.dashboard-widget{min-height:350px}}
@media(max-width:620px){.dashboard-widget{min-height:0;padding:16px 14px;border-radius:15px}.dashboard-agenda-row{grid-template-columns:48px minmax(0,1fr) auto}.dashboard-agenda-specialist{grid-column:2}.dashboard-status{grid-row:1;grid-column:3}.dashboard-chart{margin-inline:-4px}.dashboard-widget-header{gap:10px}}
.dashboard-chart-empty{display:grid;min-height:245px;place-items:center;padding:24px;border:1px dashed #e4d8d5;border-radius:13px;color:#61565a;background:#fcfaf9;text-align:center;font-size:12px;font-weight:700}
.dashboard-chart-empty[hidden],.dashboard-chart[hidden]{display:none}
/* Dashboard stage 3 — recent activity and upcoming appointments */
.dashboard-secondary-widgets{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:14px;margin:0 0 18px}
.dashboard-secondary-widgets .dashboard-widget{min-height:360px}
.dashboard-activity-list,.dashboard-upcoming-list{display:grid;align-content:start;gap:7px;min-height:264px}
.dashboard-activity-row,.dashboard-upcoming-row{min-width:0;border-bottom:1px solid #eee5e2;color:#211b1d;background:#fff;text-decoration:none;transition:background-color .15s,color .15s}
.dashboard-activity-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:51px;padding:7px 6px}
.dashboard-activity-row:last-child,.dashboard-upcoming-row:last-child{border-bottom:0}
.dashboard-activity-row.is-clickable,.dashboard-upcoming-row{cursor:pointer}
.dashboard-activity-row.is-clickable:hover,.dashboard-activity-row.is-clickable:focus-visible,.dashboard-upcoming-row:hover,.dashboard-upcoming-row:focus-visible{border-radius:10px;outline:none;background:#fff8f7;box-shadow:0 0 0 3px rgba(126,42,65,.12)}
.dashboard-event-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:#7e3549;background:#f8edef}
.dashboard-event-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-event-icon--appointment_completed,.dashboard-event-icon--consent_granted{color:#31704b;background:#edf8f1}
.dashboard-event-icon--appointment_cancelled,.dashboard-event-icon--appointment_no_show,.dashboard-event-icon--consent_revoked{color:#8a414b;background:#fff1f2}
.dashboard-event-icon--client_created,.dashboard-event-icon--client_updated{color:#386681;background:#eff7fb}
.dashboard-event-copy,.dashboard-upcoming-copy{display:grid;min-width:0;gap:3px}
.dashboard-event-copy strong,.dashboard-upcoming-copy>a,.dashboard-upcoming-copy>strong{overflow:hidden;color:#171d33;font-size:11px;font-weight:820;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.dashboard-event-copy small,.dashboard-upcoming-copy small{overflow:hidden;color:#51474a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-activity-row>time{color:#665a5d;font-size:9px;white-space:nowrap}
.dashboard-upcoming-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:51px;padding:7px 6px}
.dashboard-upcoming-row>time{display:grid;gap:2px;text-align:center}
.dashboard-upcoming-row>time strong{color:#171d33;font-size:10px}.dashboard-upcoming-row>time span{color:#7d3549;font-size:10px;font-weight:850}
.dashboard-upcoming-copy>a:hover{color:#7a2b42;text-decoration:underline}.dashboard-upcoming-copy>a:focus-visible{outline:3px solid rgba(126,42,65,.2);outline-offset:2px}
.dashboard-upcoming-meta{display:grid;justify-items:end;gap:4px}.dashboard-upcoming-meta>strong{color:#171d33;font-size:9px;white-space:nowrap}
.dashboard-secondary-skeleton{height:50px;border-radius:10px;background:linear-gradient(90deg,#f1e9e7 25%,#fcf8f7 50%,#f1e9e7 75%);background-size:200% 100%;animation:dashboard-shimmer 1s linear infinite}
.dashboard-secondary-widgets .dashboard-widget-empty{min-height:240px}
@media(max-width:1050px){.dashboard-secondary-widgets{grid-template-columns:1fr}.dashboard-secondary-widgets .dashboard-widget{min-height:350px}}
@media(max-width:620px){.dashboard-secondary-widgets .dashboard-widget{min-height:0}.dashboard-activity-row{grid-template-columns:38px minmax(0,1fr)}.dashboard-activity-row>time{grid-column:2}.dashboard-upcoming-row{grid-template-columns:54px minmax(0,1fr)}.dashboard-upcoming-meta{grid-column:2;grid-row:2;justify-items:start;grid-template-columns:auto auto;align-items:center}.dashboard-activity-list,.dashboard-upcoming-list{min-height:0}}
/* Dashboard final audit refinements */
.dashboard-widget-header .eyebrow{font-size:10px}.dashboard-widget-header p:not(.eyebrow){font-size:12px;line-height:1.45}
.dashboard-widget-header>a,.dashboard-agenda-more{display:inline-flex;align-items:center;min-height:40px;font-size:12px}
.dashboard-status{font-size:9px}.dashboard-agenda-client small,.dashboard-agenda-specialist,.dashboard-event-copy small,.dashboard-upcoming-copy small{font-size:10px}
.dashboard-chart{width:100%;min-width:0;overflow:hidden}.dashboard-chart svg{width:100%;min-width:0;max-width:100%}
.dashboard-revenue-widget{position:relative}.dashboard-revenue-widget.is-loading::after{position:absolute;right:20px;bottom:20px;left:20px;height:245px;border-radius:13px;background:linear-gradient(90deg,#f1e9e7 25%,#fcf8f7 50%,#f1e9e7 75%);background-size:200% 100%;content:"";animation:dashboard-shimmer 1s linear infinite}.dashboard-revenue-widget.is-loading .dashboard-chart,.dashboard-revenue-widget.is-loading .dashboard-chart-empty{visibility:hidden}
.dashboard-agenda-row:not([data-edit-appointment]),.dashboard-upcoming-row:not([data-edit-appointment]){cursor:default}.dashboard-agenda-row:not([data-edit-appointment]):hover,.dashboard-upcoming-row:not([data-edit-appointment]):hover{border-color:#e9e0de;background:#fff;box-shadow:none}
.dashboard-widget-error[hidden]{display:none}.dashboard-widget-empty .button{min-height:44px}
@media(max-width:620px){.dashboard-widget-header>a{min-width:44px;justify-content:center}.dashboard-revenue-widget.is-loading::after{right:14px;bottom:16px;left:14px;height:210px}.dashboard-chart,.dashboard-chart-empty{min-height:210px}.dashboard-chart svg{height:210px}.dashboard-period-switcher button{min-height:44px}.dashboard-quick-actions .button{min-height:44px}}

/* Dashboard stage 4 rankings */
.dashboard-ranking-widgets{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:14px;margin:0 0 18px}
.dashboard-ranking-widgets .dashboard-widget{min-height:360px}
.dashboard-ranking-list{display:grid;align-content:start;min-height:240px;margin:0;padding:0;list-style:none}
.dashboard-ranking-row{display:grid;grid-template-columns:25px 38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:9px 3px;border-bottom:1px solid #eee5e2;color:#171d33}
.dashboard-ranking-row:last-child{border-bottom:0}.dashboard-ranking-position{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#f4ecea;color:#743247;font-size:11px;font-weight:850}
.dashboard-ranking-avatar,.dashboard-ranking-service-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#f7eff0;color:#7e2f48;font-size:12px;font-weight:850}
.dashboard-ranking-service-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dashboard-ranking-copy{display:grid;min-width:0;gap:2px}.dashboard-ranking-copy strong{overflow:hidden;color:#171d33;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-ranking-copy small,.dashboard-ranking-copy em{color:#62575a;font-size:11px;font-style:normal;line-height:1.35}.dashboard-ranking-copy em{color:#884157}
.dashboard-ranking-value{padding-left:8px;color:#171d33;font-size:13px;white-space:nowrap;text-align:right}
.dashboard-ranking-list .dashboard-widget-empty{min-height:240px;list-style:none}.dashboard-ranking-skeleton{height:56px;border:0;border-radius:9px;background:linear-gradient(90deg,#f2eae8,#fcf8f7,#f2eae8);background-size:200% 100%;animation:dashboard-shimmer 1s linear infinite}
.dashboard-ranking-widget.is-loading .dashboard-ranking-list{pointer-events:none}
@media(max-width:1050px){.dashboard-ranking-widgets{grid-template-columns:1fr}.dashboard-ranking-widgets .dashboard-widget{min-height:350px}}
@media(max-width:620px){.dashboard-ranking-widgets .dashboard-widget{min-height:0}.dashboard-ranking-list{min-height:0}.dashboard-ranking-row{grid-template-columns:25px 38px minmax(0,1fr);padding-block:11px}.dashboard-ranking-value{grid-column:3;padding:0;text-align:left}.dashboard-ranking-list .dashboard-widget-empty{min-height:220px}}

/* Team page stage 1 */
.team-page{display:grid;gap:16px;min-width:0}.team-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid #e4d8d6;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fdf8f6 100%);box-shadow:0 10px 30px rgba(54,32,39,.045)}.team-page-header .eyebrow{margin:0 0 5px;color:#85364b;font-size:10px;font-weight:850;letter-spacing:.09em}.team-page-header h1{margin:0;color:#171d33;font-size:27px}.team-page-header p:not(.eyebrow){max-width:660px;margin:6px 0 0;color:#51474a;font-size:14px}.team-header-actions{display:flex;flex:0 0 auto;gap:9px}.team-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.team-kpis article{display:flex;min-height:78px;flex-direction:column;justify-content:center;padding:13px 16px;border:1px solid #e7dcda;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(50,32,38,.035)}.team-kpis span{color:#5c5053;font-size:12px;font-weight:700}.team-kpis strong{margin-top:4px;color:#171d33;font-size:24px}.team-controls{padding:15px;border:1px solid #e5d9d7;border-radius:16px;background:#fff}.team-controls form{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(6,minmax(130px,1fr)) auto;align-items:end;gap:10px}.team-controls label{display:grid;min-width:0;gap:5px;color:#342c30;font-size:11px;font-weight:750}.team-search{position:relative}.team-search svg{position:absolute;bottom:13px;left:13px;width:18px;height:18px;fill:none;stroke:#7b6870;stroke-width:1.8}.team-search input{width:100%;min-height:44px;padding:9px 12px 9px 40px;border:1px solid #d9cdca;border-radius:11px;background:#fff;color:#171d33;font:inherit;font-size:13px}.team-controls select{width:100%;min-height:44px}.team-reset{display:inline-flex;min-height:44px;align-items:center;color:#7e2f48;font-size:12px;font-weight:800;white-space:nowrap}.team-results-heading p{margin:0;color:#5c5053;font-size:12px}.team-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.team-member-card{display:flex;min-width:0;min-height:235px;flex-direction:column;padding:17px;border:1px solid #e4d8d6;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(50,32,38,.04)}.team-member-card>header{display:grid;grid-template-columns:46px minmax(0,1fr) 42px;align-items:start;gap:11px}.team-member-avatar{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:#f3e7e8;color:#7b2f46;font-size:14px;font-weight:850}.team-member-identity{display:grid;min-width:0;gap:2px}.team-member-identity h2{margin:0;font-size:16px}.team-member-identity h2 a,.team-member-identity h2 span{color:#171d33;font-weight:750;text-decoration:none}.team-member-identity h2 a:hover{color:#812f49;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.team-member-identity a:not(h2 a){overflow:hidden;color:#5b5053;font-size:12px;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.team-member-identity a:hover{color:#812f49}.team-member-menu-button{display:grid;width:42px;height:42px;place-content:center;gap:3px;border:0;border-radius:10px;background:transparent;cursor:pointer}.team-member-menu-button:hover{background:#f7efed}.team-member-menu-button span{width:4px;height:4px;border-radius:50%;background:#594c50}.team-member-role{display:flex;flex-wrap:wrap;gap:7px 16px;margin:15px 0 12px;padding:10px 12px;border-radius:10px;background:#faf6f4;color:#4e4347;font-size:12px}.team-member-role b{color:#24283a}.team-member-meta{display:grid;gap:8px;margin-top:auto}.team-member-meta>div{display:flex;align-items:center;gap:8px;color:#4e4347;font-size:12px}.team-member-meta span{color:#716468}.team-member-meta button{min-width:30px;height:28px;border:1px solid #dfcfcc;border-radius:9px;background:#fff;color:#7e2f48;font-weight:800;cursor:pointer}.team-member-card>footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #eee5e2}.team-status,.team-access{display:inline-flex;min-height:27px;align-items:center;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800}.team-status--active,.team-access--active{background:#edf7f1;color:#226744}.team-status--inactive{background:#f1eeee;color:#655c5e}.team-access--none{background:#f3f0ef;color:#665b5e}.team-access--invitation_sent{background:#f8f1e2;color:#795917}.team-access--invitation_expired,.team-access--disabled{background:#f8ecee;color:#7d3544}.team-action-popover,.team-location-popover{position:fixed;z-index:1250;min-width:190px;max-width:min(300px,calc(100vw - 32px));padding:7px;border:1px solid #dfd1cf;border-radius:12px;background:#fff;box-shadow:0 16px 42px rgba(43,28,33,.16)}.team-action-popover a{display:flex;min-height:40px;align-items:center;padding:8px 10px;border-radius:8px;color:#2d2830;font-size:13px;font-weight:750;text-decoration:none}.team-action-popover a:hover,.team-action-popover a:focus{background:#f7efed;color:#7e2f48}.team-location-popover ul{display:grid;gap:5px;margin:0;padding:5px;list-style:none}.team-location-popover li{padding:5px 7px;color:#332d30;font-size:12px}.team-empty{grid-column:1/-1;display:grid;min-height:280px;place-content:center;justify-items:center;padding:30px;border:1px dashed #dbcac7;border-radius:16px;background:#fff;text-align:center}.team-empty h2{margin:0;color:#171d33}.team-empty p{max-width:470px;margin:8px 0 16px;color:#62575a}.team-info-dialog{max-width:500px;padding:0;border:0;border-radius:17px;background:#fff;box-shadow:0 24px 70px rgba(34,22,28,.25)}.team-info-dialog::backdrop{background:rgba(26,20,24,.48)}.team-info-dialog>div{padding:22px}.team-info-dialog h2{margin:0;color:#171d33;font-size:20px}.team-info-dialog p{color:#5d5255;line-height:1.55}.team-info-dialog footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.team-page.is-loading .team-member-card{min-height:235px;color:transparent;background:linear-gradient(90deg,#f2eae8,#fcf8f7,#f2eae8);background-size:200% 100%;animation:dashboard-shimmer 1s linear infinite;pointer-events:none}
.team-member-identity a:focus-visible,.team-member-menu-button:focus-visible,.team-member-meta button:focus-visible,.team-reset:focus-visible{outline:3px solid rgba(126,42,65,.2);outline-offset:2px}
@media(min-width:1500px){.team-member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-controls form{grid-template-columns:minmax(260px,1.6fr) repeat(6,minmax(125px,1fr)) auto}}
@media(max-width:1180px){.team-controls form{grid-template-columns:repeat(3,minmax(0,1fr))}.team-search{grid-column:span 2}.team-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.team-page-header{align-items:stretch;flex-direction:column;padding:19px}.team-header-actions{display:grid;grid-template-columns:1fr 1fr}.team-header-actions .button{justify-content:center}.team-kpis{grid-template-columns:1fr 1fr}.team-controls form{grid-template-columns:1fr 1fr}.team-search{grid-column:1/-1}.team-member-grid{grid-template-columns:1fr}}
@media(max-width:480px){.team-page{gap:12px}.team-page-header h1{font-size:24px}.team-header-actions{grid-template-columns:1fr}.team-kpis{gap:8px}.team-kpis article{min-height:70px;padding:11px}.team-kpis strong{font-size:21px}.team-controls form{grid-template-columns:1fr}.team-member-card{min-height:0;padding:15px}.team-member-card>header{grid-template-columns:42px minmax(0,1fr) 42px}.team-member-avatar{width:42px;height:42px}.team-info-dialog{width:calc(100vw - 28px)}.team-info-dialog footer{flex-direction:column-reverse}.team-info-dialog .button{justify-content:center}}

/* Team stage 2: application role and professional specialization */
.team-application-role{display:inline-flex;min-height:28px;align-items:center;padding:4px 10px;border:1px solid #dbc7cc;border-radius:999px;background:#f7edef;color:#782f46;font-size:11px;font-weight:850}.team-application-role--owner{border-color:#dccda7;background:#faf4e5;color:#72551b}.team-professional-specialization{display:inline-flex;min-width:0;align-items:center;gap:4px;color:#51474a;line-height:1.4}.team-professional-specialization b{color:#272a3c}.team-role-warning{display:block;padding:8px 10px;border-radius:9px;background:#faf3e6;color:#71551d;font-size:11px;line-height:1.4}.form-field [data-team-specialization-custom]:not([hidden]){margin-top:8px}.form-field>small:not(.field-error){color:#6b5f62;line-height:1.4}
@media(max-width:620px){.team-member-role{align-items:flex-start;flex-direction:column}.team-professional-specialization{white-space:normal}}

/* Team stage 3: operational member modal */
.team-member-dialog{width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid rgba(122,31,55,.18);border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(31,38,54,.22);color:#182238;overflow:hidden}
.team-member-dialog::backdrop,.team-discard-dialog::backdrop{background:rgba(18,24,38,.46);backdrop-filter:blur(2px)}
.team-member-dialog>form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 32px)}
.team-member-dialog>form>header,.team-member-dialog>form>footer{position:sticky;z-index:2;background:#fff;padding:20px 24px}.team-member-dialog>form>header{top:0;display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid #eadfe2}.team-member-dialog>form>header h2{margin:3px 0 5px;color:#182238;font-size:1.45rem}.team-member-dialog>form>header p:last-child{margin:0;color:#445064}.team-member-dialog>form>footer{bottom:0;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #eadfe2}
.team-member-dialog-body{overflow:auto;overscroll-behavior:contain;padding:22px 24px}.team-member-dialog-body>section+section{border-top:1px solid #eee5e7;margin-top:22px;padding-top:22px}.team-member-dialog-body h3{margin:0 0 14px;color:#202b42;font-size:1rem}.modal-close{flex:0 0 auto;width:40px;height:40px;border:0;border-radius:50%;background:#f7f1f2;color:#632236;font-size:1.6rem;line-height:1;cursor:pointer}.modal-close:hover,.modal-close:focus-visible{background:#eee1e4;outline:3px solid rgba(122,31,55,.18)}
.team-no-access{display:flex;flex-direction:column;gap:3px;margin-top:18px;padding:14px 16px;border:1px solid #e4d7da;border-radius:12px;background:#fbf7f8}.team-no-access strong{color:#632236}.team-no-access span,.team-services-unavailable{color:#5a6475;font-size:.9rem}.team-services-unavailable{margin:12px 0 0}.team-color-palette{display:flex;flex-wrap:wrap;gap:10px;padding-top:6px}.team-color-palette input{position:absolute;opacity:0;pointer-events:none}.team-color-palette span{display:block;width:34px;height:34px;border-radius:50%;background:var(--swatch);border:3px solid #fff;box-shadow:0 0 0 1px #d6c8cc;cursor:pointer}.team-color-palette input:checked+span,.team-color-palette input:focus-visible+span{box-shadow:0 0 0 3px #fff,0 0 0 5px #7a1f37}.team-member-dialog .field-error:empty{display:none}.team-created-toast{position:fixed;right:24px;bottom:24px;z-index:1200;display:flex;flex-direction:column;gap:3px;max-width:360px;padding:15px 18px;border:1px solid #c9dfd5;border-radius:12px;background:#f3faf6;color:#214f3d;box-shadow:0 14px 35px rgba(31,38,54,.18)}
.team-discard-dialog{width:min(440px,calc(100vw - 32px));border:0;border-radius:18px;padding:0;box-shadow:0 22px 60px rgba(31,38,54,.25)}.team-discard-dialog>div{padding:24px}.team-discard-dialog h2{margin:0 0 8px}.team-discard-dialog p{margin:0;color:#566174}.team-discard-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.button-danger{background:#7a1f37;color:#fff;border-color:#7a1f37}
@media(max-width:640px){.team-member-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}.team-member-dialog>form{height:100dvh;max-height:100dvh}.team-member-dialog>form>header,.team-member-dialog>form>footer,.team-member-dialog-body{padding-left:16px;padding-right:16px}.team-member-dialog>form>footer .button{flex:1}.team-created-toast{left:16px;right:16px;bottom:16px}.team-color-palette span{width:40px;height:40px}}

/* Team stage 4: invitations */
.team-invite-dialog{width:min(740px,calc(100vw - 32px))}.team-invitation-actions button{display:block;width:100%;border:0;background:transparent;padding:10px 13px;text-align:left;color:#263248;font:inherit;cursor:pointer}.team-invitation-actions button:hover,.team-invitation-actions button:focus-visible{background:#f7f1f2;color:#7a1f37;outline:0}.team-invitation-actions button.is-danger{color:#8d283d}.team-invite-dialog .choice-grid{margin-top:18px}.team-invite-dialog .team-no-access{margin-bottom:2px}
@media(max-width:640px){.team-invite-dialog{width:100vw;max-width:none}}
.team-deactivation-dialog{width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:24px;color:var(--navy,#17233b);box-shadow:0 28px 80px rgba(23,35,59,.24)}
.team-deactivation-dialog::backdrop{background:rgba(17,27,46,.58);backdrop-filter:blur(5px)}
.team-deactivation-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 32px)}
.team-deactivation-shell>header,.team-deactivation-shell>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;background:#fff}
.team-deactivation-shell>header{border-bottom:1px solid #eadfe2}.team-deactivation-shell>footer{border-top:1px solid #eadfe2;position:sticky;bottom:0;z-index:2}
.team-deactivation-body{padding:22px 26px;overflow:auto;background:#fcfafb}
.team-impact-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.team-impact-summary article{padding:14px;border:1px solid #eadfe2;border-radius:16px;background:#fff}.team-impact-summary span{display:block;font-size:.78rem;color:#6f7582}.team-impact-summary strong{display:block;margin-top:5px}
.team-impact-list{display:grid;gap:12px}.team-impact-card{display:grid;grid-template-columns:auto minmax(190px,1.3fr) minmax(180px,1fr) minmax(190px,1fr) auto;align-items:end;gap:14px;padding:16px;border:1px solid #eadfe2;border-radius:18px;background:#fff}.team-impact-card.is-cancelled{border-color:#b77883;background:#fff8f8}.team-impact-card>div span,.team-impact-card>div small{display:block;margin-top:4px}.team-impact-card label>span{display:block;margin-bottom:6px;font-size:.78rem;font-weight:700}.team-impact-card select,.team-impact-card input{width:100%}
.team-resolution-progress{margin:0 0 16px;padding:12px 15px;border-radius:12px;background:#f1e7ea;color:#702d3d;font-weight:700}.team-action-popover button{width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;color:inherit;font:inherit;cursor:pointer}.team-action-popover button:hover,.team-action-popover button:focus-visible{background:#f7eff1}
@media(max-width:800px){.team-impact-summary{grid-template-columns:repeat(2,1fr)}.team-impact-card{grid-template-columns:auto 1fr}.team-impact-card>label:not(.team-impact-check),.team-impact-card>button{grid-column:2}}
@media(max-width:560px){.team-deactivation-dialog{width:100vw;height:100dvh;max-height:none;border-radius:0}.team-deactivation-shell{height:100dvh;max-height:none}.team-deactivation-shell>header,.team-deactivation-shell>footer{padding:16px}.team-deactivation-shell>footer{display:grid;grid-template-columns:1fr}.team-deactivation-shell>footer .button{width:100%}.team-deactivation-body{padding:16px}.team-impact-summary{grid-template-columns:1fr}.team-impact-card{grid-template-columns:1fr}.team-impact-card>*{grid-column:1!important}}

/* Compact team directory */
.team-list-shell{display:block;min-width:0;overflow:visible;border:1px solid #e4d8d6;border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(50,32,38,.045)}
.team-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.team-table th{height:42px;padding:0 12px;border-bottom:1px solid #e6dbd8;background:#fbf7f5;color:#6a5c61;font-size:10px;font-weight:850;letter-spacing:.045em;text-align:left;text-transform:uppercase}
.team-table th:first-child{width:25%;padding-left:18px;border-radius:15px 0 0}.team-table th:nth-child(2){width:11%}.team-table th:nth-child(3){width:14%}.team-table th:nth-child(4){width:12%}.team-table th:nth-child(5){width:11%}.team-table th:nth-child(6){width:14%}.team-table th:last-child{width:13%;border-radius:0 15px 0 0;text-align:right}
.team-table .team-member-card{display:table-row;min-height:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none;transition:background-color .16s ease,opacity .16s ease}
.team-table .team-member-card:hover{background:#fdf9f7}.team-table .team-member-card.is-inactive{opacity:.76}
.team-table td{height:70px;padding:9px 12px;border-bottom:1px solid #eee6e3;color:#312b30;font-size:12px;vertical-align:middle}
.team-table tbody tr:last-child td{border-bottom:0}.team-table td:first-child{padding-left:18px}.team-table td:last-child{padding-right:14px}
.team-member-main{display:flex;min-width:0;align-items:center;gap:11px}.team-member-avatar{position:relative;display:grid;flex:0 0 44px;width:44px;height:44px;overflow:hidden;place-items:center;border-radius:13px;background:#f3e7e8;color:#7b2f46;font-size:13px;font-weight:850}
.team-member-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#f3e7e8}.team-member-avatar img.is-invalid{display:none}
.team-member-identity{display:grid;min-width:0;gap:3px}.team-member-identity h2{min-width:0;margin:0;font-size:14px;line-height:1.2}.team-member-identity h2 a,.team-member-identity h2 span{display:block;overflow:hidden;color:#171d33;font-weight:800;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
.team-member-identity h2 a:hover{color:#812f49;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.team-member-identity h2 a:focus-visible{border-radius:3px;outline:2px solid #9a4760;outline-offset:3px}
.team-member-contact{display:flex;min-width:0;gap:6px;color:#64585c}.team-member-contact a{min-width:0;overflow:hidden;color:inherit;font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.team-member-contact a:first-child{max-width:190px}.team-member-contact a+a::before{content:"·";margin-right:6px;color:#ac9da0}
.team-application-role{display:inline-flex;min-height:25px;align-items:center;padding:3px 8px;border-radius:999px;background:#f3e9ec;color:#773149;font-size:10px;font-weight:850;white-space:nowrap}.team-application-role--owner{background:#eee9f7;color:#59447b}
.team-specialization-cell{overflow:hidden;color:#554a4e;text-overflow:ellipsis;white-space:nowrap}
.team-location-cell{display:flex;min-width:0;align-items:center;gap:6px}.team-location-cell>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-location-cell button{display:grid;flex:0 0 auto;min-width:27px;height:25px;place-items:center;padding:0 6px;border:1px solid #ddcfcc;border-radius:999px;background:#fff;color:#7e2f48;font-size:10px;font-weight:850;cursor:pointer}.team-location-cell button:hover,.team-location-cell button:focus-visible{border-color:#a65d70;outline:0;background:#f8eeee}
.team-status,.team-access{min-height:24px;padding:3px 8px;font-size:10px;line-height:1.1;white-space:nowrap}
.team-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.team-edit-button{min-height:34px;padding:6px 10px;font-size:11px}.team-member-menu-button{width:36px;height:36px;flex:0 0 36px}.team-protected-mark{display:block;color:#a39599;text-align:right}
.team-action-popover button,.team-action-popover a{display:flex;width:100%;min-height:40px;align-items:center;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#2d2830;font:inherit;font-size:13px;font-weight:750;text-align:left;text-decoration:none;cursor:pointer}.team-action-popover button:hover,.team-action-popover button:focus-visible,.team-action-popover a:hover,.team-action-popover a:focus-visible{outline:0;background:#f7efed;color:#7e2f48}
.team-empty-row td{height:auto!important;padding:0!important}.team-empty{min-height:250px;border:0;border-radius:0}
.team-page.is-loading .team-list-shell{position:relative;pointer-events:none}.team-page.is-loading .team-table tbody{opacity:.24}.team-page.is-loading .team-list-shell::after{position:absolute;inset:43px 0 0;content:"";border-radius:0 0 16px 16px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 12px,#f4ece9 12px,#f4ece9 57px,transparent 57px,transparent 70px),linear-gradient(90deg,transparent,#fff8,transparent);background-size:100% 70px,200% 100%;animation:dashboard-shimmer 1.1s linear infinite}

@media(max-width:1180px) and (min-width:768px){
 .team-table th,.team-table td{padding-right:8px;padding-left:8px}.team-table th:first-child,.team-table td:first-child{padding-left:12px}.team-table th:first-child{width:27%}.team-table th:nth-child(2){width:10%}.team-table th:nth-child(3){width:14%}.team-table th:nth-child(4){width:11%}.team-table th:nth-child(5){width:12%}.team-table th:nth-child(6){width:16%}.team-table th:last-child{width:10%}.team-member-contact a+a{display:none}.team-edit-button{display:none}
}
@media(max-width:767px){
 .team-list-shell{border:0;background:transparent;box-shadow:none}.team-table,.team-table tbody{display:block}.team-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.team-table .team-member-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;margin-bottom:10px;padding:13px 14px;border:1px solid #e4d8d6;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(50,32,38,.035)}.team-table .team-member-card:hover{background:#fff}
 .team-table td{display:flex;width:auto;height:auto;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:0;border:0;font-size:12px;text-align:right}.team-table td::before{content:attr(data-label);color:#786b70;font-size:10px;font-weight:800;text-align:left}.team-table td:first-child{grid-column:1/-1;padding:0 0 10px;border-bottom:1px solid #eee6e3}.team-table td:first-child::before{display:none}.team-table td:nth-child(2),.team-table td:nth-child(3){grid-column:span 1}.team-table td:nth-child(4),.team-table td:nth-child(5),.team-table td:nth-child(6){grid-column:1/-1}.team-table td:nth-child(7){position:absolute;top:12px;right:12px;padding:0}.team-table td:nth-child(7)::before{display:none}.team-table .team-member-card{position:relative}.team-member-main{padding-right:38px}.team-member-identity h2{font-size:14px}.team-member-contact{display:grid;gap:1px;text-align:left}.team-member-contact a+a::before{display:none}.team-specialization-cell{white-space:normal}.team-location-cell{justify-content:flex-end}.team-row-actions{justify-content:flex-end}.team-edit-button{display:none}.team-member-menu-button{width:38px;height:38px}.team-status,.team-access{font-size:10px}
 .team-empty-row,.team-empty-row td{display:block!important}.team-empty-row td::before{display:none}.team-empty{min-height:230px;border:1px dashed #dbcac7;border-radius:14px}.team-page.is-loading .team-list-shell::after{inset:0;background:repeating-linear-gradient(to bottom,#f4ece9 0,#f4ece9 150px,transparent 150px,transparent 162px)}
}
@media(max-width:480px){
 .team-table .team-member-card{grid-template-columns:1fr;padding:12px}.team-table td:nth-child(2),.team-table td:nth-child(3){grid-column:1/-1}.team-member-avatar{flex-basis:42px;width:42px;height:42px}.team-member-contact a{max-width:220px!important}
}

.team-kpis .team-kpi-link{display:flex;min-height:78px;flex-direction:column;justify-content:center;padding:13px 16px;border:1px solid #e7dcda;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(50,32,38,.035);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease}
.team-kpis .team-kpi-link:hover,.team-kpis .team-kpi-link:focus-visible,.team-kpis .team-kpi-link.is-active{border-color:#b97889;outline:0;box-shadow:0 8px 24px rgba(91,39,54,.1)}
.team-controls form{grid-template-columns:minmax(240px,1.6fr) repeat(4,minmax(130px,1fr)) auto}
.team-table th:first-child{width:35%}.team-table th:nth-child(2){width:14%}.team-table th:nth-child(3){width:21%}.team-table th:nth-child(4){width:15%}.team-table th:nth-child(5){width:15%}
@media(max-width:1180px) and (min-width:768px){.team-table th:first-child{width:38%}.team-table th:nth-child(2){width:14%}.team-table th:nth-child(3){width:22%}.team-table th:nth-child(4){width:16%}.team-table th:nth-child(5){width:10%}}
@media(max-width:767px){.team-table td:nth-child(4){grid-column:1/-1}.team-table td:nth-child(5){position:absolute;top:12px;right:12px;padding:0}.team-table td:nth-child(5)::before{display:none}}
@media(max-width:1180px){.team-controls form{grid-template-columns:repeat(3,minmax(0,1fr))}.team-search{grid-column:span 2}}
@media(max-width:760px){.team-controls form{grid-template-columns:1fr 1fr}.team-search{grid-column:1/-1}}
@media(max-width:480px){.team-controls form{grid-template-columns:1fr}.team-kpis .team-kpi-link{min-height:70px;padding:11px}}
.team-access--invitation_delivery_failed{background:#f8ecee;color:#7d3544}

/* Services catalogue — stage 1 */
.services-page{display:grid;gap:14px;min-width:0}.services-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 23px;border:1px solid #e4d8d6;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fdf8f6 100%);box-shadow:0 10px 30px rgba(54,32,39,.045)}.services-header .eyebrow{margin:0 0 5px;color:#85364b;font-size:10px;font-weight:850;letter-spacing:.09em}.services-header h1{margin:0;color:#171d33;font-size:27px}.services-header p:not(.eyebrow){max-width:680px;margin:5px 0 0;color:#51474a;font-size:14px}.services-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.services-kpis article{display:flex;min-height:72px;flex-direction:column;justify-content:center;padding:11px 15px;border:1px solid #e7dcda;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(50,32,38,.035)}.services-kpis span{color:#5c5053;font-size:12px;font-weight:700}.services-kpis strong{margin-top:2px;color:#171d33;font-size:23px;font-variant-numeric:tabular-nums}.services-controls{padding:13px;border:1px solid #e5d9d7;border-radius:16px;background:#fff}.services-controls form{display:grid;grid-template-columns:minmax(210px,1.45fr) repeat(5,minmax(120px,1fr)) auto;align-items:end;gap:9px}.services-controls label{display:grid;min-width:0;gap:4px;color:#342c30;font-size:11px;font-weight:750}.services-controls select{width:100%;min-height:42px}.services-search{position:relative}.services-search svg{position:absolute;bottom:12px;left:13px;width:18px;height:18px;fill:none;stroke:#7b6870;stroke-width:1.8}.services-search input{width:100%;min-height:42px;padding:8px 12px 8px 40px;border:1px solid #d9cdca;border-radius:11px;background:#fff;color:#171d33;font:inherit;font-size:13px}.services-search input:focus{border-color:#9c5267;outline:3px solid rgba(133,54,75,.11)}.services-reset{display:inline-flex;min-height:42px;align-items:center;color:#7e2f48;font-size:12px;font-weight:800;white-space:nowrap}.services-results-heading p{margin:0;color:#5c5053;font-size:12px}.services-list-shell{position:relative;min-width:0;border:1px solid #e4d8d6;border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(50,32,38,.035)}.services-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.services-table th{height:39px;padding:8px 10px;border-bottom:1px solid #e9dfdc;background:#fbf8f7;color:#63575b;text-align:left;font-size:10px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.services-table th:first-child{padding-left:16px;border-radius:16px 0 0}.services-table th:last-child{border-radius:0 16px 0 0}.services-table th:nth-child(1){width:22%}.services-table th:nth-child(2){width:11%}.services-table th:nth-child(3){width:8%}.services-table th:nth-child(4){width:9%}.services-table th:nth-child(5){width:13%}.services-table th:nth-child(6){width:17%}.services-table th:nth-child(7){width:8%}.services-table th:nth-child(8){width:12%}.service-row td{height:57px;padding:7px 10px;border-bottom:1px solid #eee6e3;color:#322b30;font-size:12px;vertical-align:middle}.service-row:last-child td{border-bottom:0}.service-row td:first-child{padding-left:16px}.service-row:hover td{background:#fdfaf9}.service-row.is-inactive{opacity:.76}.service-main{display:grid;min-width:0;gap:2px}.service-main>a,.service-main>strong{overflow:hidden;color:#171d33;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.service-main>a:hover{color:#812f49;text-decoration:underline;text-underline-offset:3px}.service-main small{display:block;overflow:hidden;color:#706467;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.service-category{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-value,.service-price{white-space:nowrap;font-variant-numeric:tabular-nums}.service-price{color:#20243a;font-size:12px}.service-muted,.service-unassigned{color:#75696c;font-style:normal}.service-unassigned{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f3f0ef;font-size:11px;font-weight:750}.service-overflow-list{position:relative;display:flex;min-width:0;align-items:center;gap:5px;outline:none}.service-overflow-list>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-overflow-list>b,.service-specialists>b{display:grid;min-width:26px;height:24px;place-items:center;padding:0 5px;border:1px solid #dfd2d0;border-radius:8px;background:#fff;color:#793248;font-size:10px}.service-list-popover{position:absolute;z-index:80;top:calc(100% + 8px);left:0;display:none;min-width:190px;max-width:280px;padding:9px;border:1px solid #dfd1cf;border-radius:11px;background:#fff;box-shadow:0 14px 35px rgba(43,28,33,.16)}.service-list-popover strong,.service-list-popover span{display:block;padding:4px 6px}.service-list-popover strong{color:#75676b;font-size:10px;text-transform:uppercase}.service-overflow-list:hover .service-list-popover,.service-overflow-list:focus .service-list-popover,.service-overflow-list:focus-within .service-list-popover{display:block}.service-specialists{display:flex;min-width:0;align-items:center;gap:5px}.service-specialists>span{display:flex;min-width:0;align-items:center;gap:5px}.service-specialists i{display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;border-radius:8px;background:#f2e6e8;color:#7b2f46;font-size:9px;font-style:normal;font-weight:850}.service-specialists em{overflow:hidden;max-width:86px;color:#41373b;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.service-specialists>span:nth-child(2) em{display:none}.service-status{display:inline-flex;min-height:25px;align-items:center;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:850}.service-status--active{background:#edf7f1;color:#226744}.service-status--inactive{background:#f1eeee;color:#655c5e}.service-actions{white-space:nowrap}.service-actions>.service-edit{min-height:32px;padding:5px 9px;font-size:11px}.service-menu{position:relative;display:inline-block;margin-left:4px;vertical-align:middle}.service-menu summary{display:grid;width:32px;height:32px;place-content:center;gap:2px;border-radius:9px;cursor:pointer;list-style:none}.service-menu summary::-webkit-details-marker{display:none}.service-menu summary:hover{background:#f7efed}.service-menu summary span{width:3px;height:3px;border-radius:50%;background:#594c50}.service-menu>div{position:absolute;z-index:90;top:36px;right:0;min-width:145px;padding:6px;border:1px solid #dfd1cf;border-radius:11px;background:#fff;box-shadow:0 14px 35px rgba(43,28,33,.16)}.service-menu a{display:flex;min-height:36px;align-items:center;padding:7px 9px;border-radius:8px;color:#2d2830;font-size:12px;font-weight:750;text-decoration:none}.service-menu a:hover{background:#f7efed;color:#7e2f48}.services-empty-row td{padding:0}.services-empty{display:grid;min-height:260px;place-content:center;justify-items:center;padding:28px;text-align:center}.services-empty h2{margin:0;color:#171d33;font-size:20px}.services-empty p{max-width:450px;margin:7px 0 16px;color:#62575a}.services-skeleton{display:none}.services-page.is-loading .services-table tbody{opacity:.18}.services-page.is-loading .services-list-shell{overflow:hidden;pointer-events:none}.services-page.is-loading .services-skeleton{position:absolute;inset:39px 0 0;display:grid;align-content:start;background:#fff}.services-page.is-loading .services-skeleton span{height:57px;border-bottom:1px solid #eee6e3;background:linear-gradient(90deg,#f4ece9 15%,#fff 38%,#f4ece9 62%);background-size:220% 100%;animation:dashboard-shimmer 1.05s linear infinite}
@media(max-width:1180px){.services-controls form{grid-template-columns:repeat(3,minmax(0,1fr))}.services-search{grid-column:span 2}.services-table th:nth-child(2),.service-row td:nth-child(2){display:none}.services-table th:nth-child(1){width:24%}.services-table th:nth-child(3){width:9%}.services-table th:nth-child(4){width:10%}.services-table th:nth-child(5){width:15%}.services-table th:nth-child(6){width:20%}.services-table th:nth-child(7){width:9%}.services-table th:nth-child(8){width:13%}}
@media(max-width:767px){.services-page{gap:12px}.services-header{align-items:stretch;flex-direction:column;padding:18px}.services-header .button{align-self:stretch;justify-content:center}.services-kpis{grid-template-columns:1fr 1fr;gap:8px}.services-kpis article{min-height:67px;padding:10px 12px}.services-kpis strong{font-size:21px}.services-controls form{grid-template-columns:1fr 1fr}.services-search{grid-column:1/-1}.services-reset{grid-column:1/-1;justify-content:center}.services-list-shell{border:0;background:transparent;box-shadow:none}.services-table,.services-table tbody{display:block}.services-table thead{display:none}.service-row{display:grid;margin-bottom:10px;padding:14px;border:1px solid #e4d8d6;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(50,32,38,.04);grid-template-columns:1fr 1fr;gap:10px 14px}.service-row td,.service-row td:first-child{display:flex!important;min-width:0;height:auto;padding:0;border:0;flex-direction:column;align-items:flex-start;gap:3px}.service-row td::before{content:attr(data-label);color:#76696c;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.service-row td:first-child{grid-column:1/-1}.service-row td:first-child::before{display:none}.service-row td:nth-child(2){display:flex!important}.service-row td:nth-child(5),.service-row td:nth-child(6){grid-column:1/-1}.service-row td:last-child{grid-column:1/-1;flex-direction:row;align-items:center;padding-top:9px;border-top:1px solid #eee5e2}.service-row td:last-child::before{margin-right:auto}.service-row:hover td{background:transparent}.service-main{width:100%}.service-main>a,.service-main>strong{font-size:15px}.service-specialists>span:nth-child(2) em{display:block}.service-actions>.service-edit{min-height:36px}.service-menu>div{right:0;bottom:38px;top:auto}.services-empty-row,.services-empty-row td{display:block}.services-empty-row td::before{display:none}.services-empty{min-height:230px;border:1px dashed #dbcac7;border-radius:15px;background:#fff}.services-page.is-loading .services-skeleton{inset:0;gap:10px;background:transparent}.services-page.is-loading .services-skeleton span{height:190px;border:1px solid #e8ddda;border-radius:15px}.services-page.is-loading .services-skeleton span:nth-child(n+5){display:none}}
@media(max-width:480px){.services-header h1{font-size:24px}.services-controls form{grid-template-columns:1fr}.services-kpis span{font-size:11px}.service-row{padding:13px}.service-specialists em{max-width:105px}}

.integration-email-test-panel{display:grid;grid-template-columns:minmax(230px,1fr) minmax(360px,1.35fr);align-items:end;gap:18px;margin-top:14px;padding:18px;border:1px solid #e3d6d4;border-radius:14px;background:#fdf9f7}.integration-email-test-panel h3{margin:0 0 5px;color:#171d33;font-size:17px}.integration-email-test-panel p{margin:0;color:#62575a;font-size:13px;line-height:1.5}.integration-email-test-panel form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px}.integration-email-test-panel .form-field{display:grid;gap:5px}.integration-email-test-panel .form-field span{color:#342c30;font-size:12px;font-weight:750}.integration-email-test-panel input{width:100%;min-height:43px;padding:9px 12px;border:1px solid #d9cdca;border-radius:10px;background:#fff;color:#171d33;font:inherit}.integration-email-test-panel input:focus{border-color:#9c5267;outline:3px solid rgba(133,54,75,.11)}.integration-email-test-panel .button{min-height:43px;white-space:nowrap}.integration-email-test-panel .integration-email-test-note{grid-column:1/-1;padding:9px 11px;border-radius:9px;background:#f7ecee;color:#79364a;font-weight:700}.integration-email-test-panel input:disabled,.integration-email-test-panel button:disabled{cursor:not-allowed;opacity:.58}@media(max-width:760px){.integration-email-test-panel{grid-template-columns:1fr;padding:15px}.integration-email-test-panel form{grid-template-columns:1fr}.integration-email-test-panel .button{justify-content:center}}

/* Service availability */
.service-availability-page{display:grid;gap:18px}.service-availability-hero{align-items:center}.service-availability-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:18px;align-items:start}.service-availability-summary,.service-availability-card{background:#fff;border:1px solid rgba(26,42,58,.12);border-radius:18px;box-shadow:0 8px 24px rgba(26,42,58,.05)}.service-availability-summary{padding:22px;position:sticky;top:18px}.service-availability-summary h2{margin:6px 0 8px;color:#172b3d}.service-availability-summary>p:not(.eyebrow){color:#68737d;line-height:1.5}.service-availability-summary dl{margin:20px 0 0;display:grid;gap:0}.service-availability-summary dl div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #eee8e5}.service-availability-summary dt{color:#747b82}.service-availability-summary dd{margin:0;color:#172b3d;font-weight:700;text-align:right}.service-availability-form{display:grid;gap:16px;min-width:0}.service-availability-card{padding:20px}.service-availability-card header h2{margin:0 0 4px;color:#172b3d}.service-availability-card header p{margin:0;color:#6c747c}.service-location-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.service-location-cards label{cursor:pointer}.service-location-cards input{position:absolute;opacity:0;pointer-events:none}.service-location-cards span{display:grid;grid-template-columns:18px 1fr;gap:2px 10px;padding:14px;border:1px solid #ded7d3;border-radius:14px;background:#fff}.service-location-cards i{grid-row:1/3;width:17px;height:17px;border:2px solid #b6aaa6;border-radius:50%;margin-top:2px}.service-location-cards small{color:#747b82}.service-location-cards input:checked+span{border-color:#8d3f50;background:#fbf5f5;box-shadow:0 0 0 2px rgba(141,63,80,.1)}.service-location-cards input:checked+span i{border:5px solid #8d3f50}.service-location-cards input:focus-visible+span{outline:3px solid rgba(141,63,80,.25);outline-offset:2px}.service-specialists-header{display:flex;justify-content:space-between;gap:15px;align-items:start}.service-specialists-header button{border:0;background:none;color:#8d3f50;font:inherit;font-weight:700;padding:4px;cursor:pointer}.service-specialists-header button:hover{text-decoration:underline}.service-specialist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.service-specialist-grid label{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #ded7d3;border-radius:14px;cursor:pointer}.service-specialist-grid label:has(input:checked){border-color:#8d3f50;background:#fbf5f5}.service-specialist-grid input{accent-color:#8d3f50;width:17px;height:17px}.service-specialist-grid strong,.service-specialist-grid small{display:block}.service-specialist-grid small{color:#747b82;margin-top:2px}.service-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f0e5e6;color:#813b4b;font-weight:800;font-size:12px}.service-selection-warning,.service-active-rule,.service-no-specialists{margin-top:14px;padding:11px 13px;border-radius:12px;background:#fff6e6;color:#805918}.service-active-rule{background:#fff0f1;color:#8b3345}.service-availability-footer{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:end;gap:16px;padding:14px 18px;background:rgba(255,251,247,.95);backdrop-filter:blur(10px);border:1px solid #ded7d3;border-radius:16px;box-shadow:0 -8px 24px rgba(26,42,58,.07)}.service-availability-footer>label{min-width:190px}.service-availability-footer>label span{display:block;font-weight:700;margin-bottom:5px}.service-availability-footer>div{display:flex;gap:9px}.service-availability-error ul{margin:8px 0 12px}.service-availability-link{color:inherit;text-decoration:none;border-radius:6px}.service-availability-link:hover{color:#8d3f50;text-decoration:underline;text-underline-offset:3px}.service-availability-link:focus-visible{outline:3px solid rgba(141,63,80,.25);outline-offset:3px}
@media(max-width:900px){.service-availability-layout{grid-template-columns:1fr}.service-availability-summary{position:static}.service-availability-summary dl{grid-template-columns:repeat(3,1fr);gap:10px}.service-availability-summary dl div{display:block}.service-availability-summary dd{text-align:left;margin-top:4px}}
@media(max-width:700px){.service-location-cards,.service-specialist-grid{grid-template-columns:1fr}.service-specialists-header,.service-availability-footer{align-items:stretch;flex-direction:column}.service-availability-footer>label{min-width:0}.service-availability-footer>div{display:grid;grid-template-columns:1fr 1fr}.service-availability-footer .button{justify-content:center}.service-availability-summary dl{grid-template-columns:1fr 1fr}.service-availability-card{padding:16px}}

/* Grouped services catalogue */
.services-controls--compact form{position:relative;display:grid;grid-template-columns:minmax(360px,1fr) auto minmax(190px,240px);align-items:end;gap:10px}.services-controls--compact .services-search input{min-height:46px;font-size:14px}.services-filter-drawer{position:relative}.services-filter-drawer>summary{display:flex;min-height:46px;align-items:center;gap:8px;padding:0 15px;border:1px solid #d9cdca;border-radius:11px;background:#fff;color:#342c30;font-size:12px;font-weight:800;cursor:pointer;list-style:none}.services-filter-drawer>summary::-webkit-details-marker{display:none}.services-filter-drawer>summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.services-filter-drawer>summary b{display:grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:#8a3b50;color:#fff;font-size:10px}.services-filter-drawer[open]>summary{border-color:#9c5267;box-shadow:0 0 0 3px rgba(133,54,75,.1)}.services-filter-panel{position:absolute;z-index:110;top:calc(100% + 8px);right:0;display:grid;width:min(680px,calc(100vw - 40px));grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid #dfd1cf;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(43,28,33,.17)}.services-filter-panel label{display:grid;gap:5px}.services-filter-panel .services-reset{align-self:end}.services-sort{display:grid;gap:4px}.services-results-heading{display:flex;align-items:center;justify-content:space-between}.services-results-heading a{color:#803248;font-size:12px;font-weight:800}.services-groups{position:relative;display:grid;gap:14px}.service-category-group{min-width:0}.service-category-header{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:18px;padding:11px 16px;border:1px solid #e2cfca;border-left:3px solid #a85b6c;border-radius:15px 15px 0 0;background:#faf2ed}.service-category-header h2{margin:0;color:#18243a;font-size:16px}.service-category-header span{display:block;margin-top:2px;color:#75666a;font-size:11px}.service-category-header>b{display:inline-flex;padding:5px 9px;border:1px solid #e0cbc8;border-radius:999px;background:#fff8f5;color:#793248;font-size:10px}.service-category-group .services-list-shell{border-top:0;border-radius:0 0 15px 15px}.services-table--grouped th:nth-child(1){width:28%}.services-table--grouped th:nth-child(2){width:9%}.services-table--grouped th:nth-child(3){width:9%}.services-table--grouped th:nth-child(4){width:19%}.services-table--grouped th:nth-child(5){width:9%}.services-table--grouped th:nth-child(6){width:10%}.services-table--grouped th:nth-child(7){width:16%}.services-table--grouped .service-row td{height:53px;padding-top:6px;padding-bottom:6px}.service-type{display:inline-flex;padding:3px 7px;border-radius:7px;background:#f4f0ee;color:#51464a;font-size:10px;font-weight:750}.service-booking-warning{color:#9a5a24!important;font-size:10px!important}.services-page--grouped.is-loading .services-groups>*:not(.services-skeleton){opacity:.2}.services-page--grouped.is-loading .services-skeleton{position:absolute;inset:0;display:grid;align-content:start;border-radius:15px;background:#fff;pointer-events:none}.services-page--grouped.is-loading .services-skeleton span{height:53px;border-bottom:1px solid #eee6e3;background:linear-gradient(90deg,#f4ece9 15%,#fff 38%,#f4ece9 62%);background-size:220% 100%;animation:dashboard-shimmer 1.05s linear infinite}
@media(max-width:1050px){.services-controls--compact form{grid-template-columns:minmax(260px,1fr) auto minmax(170px,210px)}.services-table--grouped th:nth-child(2),.services-table--grouped td:nth-child(2){display:none}.services-table--grouped th:nth-child(1){width:27%}}
@media(max-width:767px){.services-controls--compact form{grid-template-columns:1fr auto}.services-controls--compact .services-search{grid-column:1/-1}.services-controls--compact .services-sort{grid-column:1/2}.services-filter-drawer{grid-column:2/3;grid-row:2}.services-filter-drawer>summary{justify-content:center;padding:0 12px}.services-filter-panel{position:fixed;z-index:300;inset:auto 10px 10px;width:auto;max-height:76vh;grid-template-columns:1fr;overflow:auto;padding:18px;border-radius:18px;box-shadow:0 0 0 100vmax rgba(25,21,25,.36),0 18px 45px rgba(43,28,33,.22)}.service-category-header{min-height:55px;padding:10px 13px}.service-category-header h2{font-size:15px}.service-category-group .services-list-shell{background:transparent}.services-table--grouped,.services-table--grouped tbody{display:block}.services-table--grouped thead{display:none}.services-table--grouped .service-row{display:grid;margin:0;padding:13px;border:0;border-bottom:1px solid #eadfdb;border-radius:0;box-shadow:none;grid-template-columns:1fr 1fr;gap:9px 12px}.services-table--grouped .service-row:last-child{border-bottom:0}.services-table--grouped .service-row td{display:flex!important}.services-table--grouped .service-row td:first-child{grid-column:1/-1}.services-table--grouped .service-row td:nth-child(4),.services-table--grouped .service-row td:last-child{grid-column:1/-1}.services-table--grouped .service-row td:last-child{padding-top:8px}.service-booking-warning{white-space:normal!important}.services-page--grouped.is-loading .services-skeleton span{height:180px}.services-page--grouped.is-loading .services-skeleton span:nth-child(n+5){display:none}}
@media(max-width:460px){.services-controls--compact form{grid-template-columns:1fr}.services-controls--compact .services-sort,.services-filter-drawer{grid-column:1;grid-row:auto}.services-filter-drawer>summary{width:100%}.service-category-header{align-items:flex-start}.service-category-header>b{white-space:nowrap}}

/* Stable service filters */
.services-controls--compact{padding:15px 16px;border:1px solid #e5d9d7;border-radius:16px;background:#fff;overflow:visible}.services-controls--compact form{display:block}.services-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}.services-filter-heading h2{margin:0;color:#18243a;font-size:15px}.services-filter-heading .services-reset{min-height:auto;font-size:12px}.services-filter-grid{display:grid;grid-template-columns:minmax(320px,2.2fr) repeat(4,minmax(135px,1fr));align-items:end;gap:12px}.services-filter-grid>label{display:grid;min-width:0;gap:6px;color:#342c30;font-size:11px;font-weight:750}.services-filter-grid select{display:block;width:100%;height:46px;min-height:0;padding:9px 34px 9px 12px;border:1px solid #d9cdca;border-radius:10px;background:#fff;color:#18243a;font:inherit}.services-filter-grid .mx-control,.services-filter-grid .mx-control-trigger{width:100%}.services-filter-grid .mx-control-trigger{min-height:46px;padding:10px 12px;border-color:#d9cdca;border-radius:10px;background:#fff}.services-search-control{position:relative;display:block}.services-search-control svg{position:absolute;z-index:1;top:14px;bottom:auto;left:13px;width:18px;height:18px;fill:none;stroke:#7b6870;stroke-width:1.8;pointer-events:none}.services-search-control input{display:block;width:100%;height:46px;min-height:0;padding:9px 12px 9px 40px;border:1px solid #d9cdca;border-radius:10px;background:#fff;color:#171d33;font:inherit;font-size:13px}.services-search-control input:hover,.services-filter-grid .mx-control-trigger:hover{border-color:#c9adb1}.services-search-control input:focus{border-color:#9c5267;outline:0;box-shadow:0 0 0 3px rgba(133,54,75,.11)}.services-results-heading{margin-top:-3px;padding:0 2px}.services-results-heading p{font-size:12px}
@media(max-width:900px){.services-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-filter-grid .services-search{grid-column:1/-1}}
@media(max-width:600px){.services-controls--compact{padding:14px}.services-filter-heading{margin-bottom:11px}.services-filter-grid{grid-template-columns:1fr;gap:8px}.services-filter-grid>label{gap:4px}.services-filter-grid .services-search{grid-column:auto}.services-filter-heading{align-items:flex-start}.services-filter-heading .services-reset{text-align:right}.services-filter-grid>label,.services-filter-grid .mx-control,.services-filter-grid .mx-control-trigger,.services-search-control,.services-search-control input{width:100%;max-width:100%}}

/* Full-width service create/edit form */
.service-form-hero,.service-form-panel{width:100%;max-width:none}.service-form-panel{padding:clamp(18px,2vw,30px)}
.service-form-panel form{width:100%}.service-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.span-all{grid-column:1/-1}
.service-commercial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-form-panel textarea{width:100%;resize:vertical}
.service-multi{position:relative}.service-multi-trigger{width:100%;min-height:46px;padding:10px 13px;border:1px solid var(--border-color,#d9d2cb);border-radius:10px;background:#fff;color:#14213d;display:flex;align-items:center;justify-content:space-between;text-align:left;font:inherit}.service-multi-trigger:focus-visible{outline:3px solid rgba(123,31,51,.18);border-color:#7b1f33}
.service-multi-menu{position:absolute;z-index:120;top:70px;left:0;width:min(100%,620px);max-height:340px;overflow:auto;padding:10px;background:#fff;border:1px solid #d8cdc7;border-radius:12px;box-shadow:0 16px 40px rgba(25,24,35,.16)}.service-multi-menu>input{width:100%;height:42px;margin-bottom:8px}.service-multi-menu [data-option]{display:flex;gap:10px;align-items:center;padding:9px;border-radius:8px;cursor:pointer}.service-multi-menu [data-option]:hover{background:#faf4ef}.service-multi-menu [data-option] input{width:18px;height:18px;accent-color:#7b1f33}.service-multi-menu [data-option] span{display:flex;flex-direction:column}.service-multi-menu [data-option] small{color:#687184}.service-multi-menu [data-option].is-ineligible{opacity:.55}.service-multi-actions{display:flex;gap:8px;padding:4px 0 8px}.service-multi-actions button,.service-chip{border:0;background:#f6ece8;color:#7b1f33;border-radius:999px;padding:6px 10px;font:inherit;cursor:pointer}.service-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.service-chip{font-size:.88rem}.service-incompatible{margin-top:8px}.service-form-actions{position:sticky;bottom:0;z-index:15;justify-content:flex-end;background:rgba(255,255,255,.96);border-top:1px solid #e5ddd8;margin:24px -30px -30px;padding:15px 30px;backdrop-filter:blur(8px)}
@media(max-width:1024px){.service-commercial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.service-form-grid,.service-commercial-grid{grid-template-columns:1fr}.span-all{grid-column:auto}.service-multi-menu{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:min(70vh,520px)}.service-form-actions{margin:20px -18px -18px;padding:12px 18px}.service-form-actions .button{flex:1}}

.calendar-event,.calendar-time-event{border-left:4px solid var(--appointment-color,var(--color-accent))}


/* Service editor — dedicated availability configurator */
.service-editor{display:grid;width:100%;max-width:none;gap:20px}.service-details-card{width:100%;max-width:none;padding:clamp(20px,2vw,30px)}
.service-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.service-editor-heading>div{display:flex;align-items:center;gap:12px}.service-editor-heading>div>span{display:grid;width:34px;height:34px;place-items:center;border:1px solid #dbc5ca;border-radius:10px;background:#f8eff1;color:#7d3047;font-size:11px;font-weight:850}.service-editor-heading h2{margin:0;color:#18243a;font-size:19px}.service-editor-heading p{max-width:580px;margin:0;color:#6c6265;font-size:13px}.service-editor-divider{height:1px;margin:24px 0;background:#eee5e2}
.service-configuration-section{padding:clamp(20px,2vw,28px);border:1px solid #e4d8d6;border-radius:18px;background:#faf5f1;box-shadow:0 10px 30px rgba(50,32,38,.035)}.service-config-layout{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);align-items:start;gap:18px}.service-editor-summary{position:sticky;top:18px;min-width:0;padding:21px;border:1px solid #e2d5d3;border-radius:16px;background:linear-gradient(155deg,#fff 0%,#fdf8f6 100%);box-shadow:0 8px 24px rgba(50,32,38,.045)}.service-summary-mark{display:grid;width:42px;height:42px;margin:14px 0 13px;place-items:center;border-radius:13px;background:#efe1e4;color:#762d43;font-weight:850}.service-editor-summary h3{margin:0;color:#18243a;font-size:19px;overflow-wrap:anywhere}.service-editor-summary>p:not(.eyebrow){margin:5px 0 18px;color:#74686b;font-size:13px}.service-editor-summary dl{margin:0}.service-editor-summary dl div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #eee5e2}.service-editor-summary dt{color:#756a6d;font-size:12px}.service-editor-summary dd{margin:0;color:#222a3c;font-size:13px;font-weight:800;text-align:right}.service-summary-status{display:inline-flex!important;width:auto;padding:4px 8px;border-radius:999px;background:#edf7f1;color:#266345!important}.service-summary-counts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.service-summary-counts span{display:grid;padding:10px;border-radius:11px;background:#f7efed;color:#685b5f;font-size:11px}.service-summary-counts b{color:#762d43;font-size:20px}.service-editor-summary>small{display:block;color:#72676a;font-size:11px;line-height:1.45}
.service-config-card{min-width:0;overflow:hidden;border:1px solid #e1d4d1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(50,32,38,.04)}.service-config-block{padding:22px}.service-config-block+.service-config-block{border-top:1px solid #eee4e1}.service-config-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.service-config-header h3{margin:0;color:#19253a;font-size:16px}.service-config-header p{margin:5px 0 0;color:#74696c;font-size:12px}.service-config-header>div:last-child{display:flex;flex:0 0 auto;gap:5px}.service-config-header button{min-height:32px;padding:5px 8px;border:0;border-radius:8px;background:transparent;color:#7d3047;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.service-config-header button:hover{background:#f7edef}.service-config-header button:focus-visible{outline:3px solid rgba(125,48,71,.18)}
.service-location-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.service-location-tile{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:10px;min-height:86px;padding:15px;border:1px solid #dfd4d1;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.service-location-tile:hover{border-color:#cbaeb5;transform:translateY(-1px)}.service-location-tile:has(input:checked){border-color:#90445a;background:#fcf5f6;box-shadow:0 0 0 2px rgba(144,68,90,.09)}.service-location-tile input,.service-specialist-card input{position:absolute;width:1px;height:1px;opacity:0}.service-custom-check{display:grid;width:20px;height:20px;place-items:center;border:1.5px solid #b9aaad;border-radius:6px;background:#fff}.service-location-tile input:checked~.service-custom-check,.service-specialist-card input:checked~.service-custom-check{border-color:#82364d;background:#82364d}.service-location-tile input:checked~.service-custom-check::after,.service-specialist-card input:checked~.service-custom-check::after{content:"";width:8px;height:4px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) translateY(-1px)}.service-location-tile:has(input:focus-visible),.service-specialist-card:has(input:focus-visible){outline:3px solid rgba(125,48,71,.2);outline-offset:2px}.service-location-copy{display:grid;min-width:0;gap:5px}.service-location-copy strong{color:#20293b;font-size:14px}.service-location-copy small{color:#74696c;font-size:11px;line-height:1.35}.service-location-tile em{padding:4px 7px;border-radius:999px;background:#edf6f0;color:#2d6849;font-size:10px;font-style:normal;font-weight:800}
.service-specialist-search{position:relative;display:block;width:min(420px,100%);margin-top:16px}.service-specialist-search svg{position:absolute;top:12px;left:12px;width:18px;height:18px;fill:none;stroke:#76696d;stroke-width:1.8}.service-specialist-search input{width:100%;height:42px;padding:9px 12px 9px 39px;border:1px solid #ddd1ce;border-radius:10px;background:#fff;font:inherit;font-size:12px}.service-specialist-search input:focus{border-color:#9c5267;outline:0;box-shadow:0 0 0 3px rgba(133,54,75,.1)}.service-specialist-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.service-specialist-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:11px;min-height:88px;padding:13px;border:1px solid #dfd4d1;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .16s,background .16s,opacity .16s}.service-specialist-card:hover:not(.is-ineligible){border-color:#cbaeb5}.service-specialist-card:has(input:checked){border-color:#90445a;background:#fcf5f6;box-shadow:0 0 0 2px rgba(144,68,90,.08)}.service-specialist-card .service-avatar{width:42px;height:42px;border-radius:13px}.service-specialist-copy{display:grid;min-width:0;gap:2px}.service-specialist-copy strong{overflow:hidden;color:#20293b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.service-specialist-copy small{color:#665b5e;font-size:11px}.service-specialist-copy em{overflow:hidden;color:#887b7e;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.service-eligibility-note{display:none;grid-column:1/-1;padding:7px 9px;border-radius:8px;background:#f4f0ef;color:#776b6e;font-size:10px}.service-specialist-card.is-ineligible{cursor:not-allowed;opacity:.58;background:#faf8f7}.service-specialist-card.is-ineligible .service-eligibility-note{display:block}.service-specialist-card.is-ineligible:has(input:checked){border-color:#ca8b63;background:#fff8ef;opacity:1}.service-no-eligible{margin:13px 0 0;padding:12px;border-radius:10px;background:#f7f2f0;color:#6f6266;font-size:12px}.service-config-error{display:block;margin-top:10px}.service-incompatible{margin:13px 0 0}
.service-editor-actions{position:sticky;z-index:20;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border:1px solid #ded2cf;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 -7px 24px rgba(43,28,33,.07);backdrop-filter:blur(10px)}.service-editor-actions>div:first-child{display:grid;gap:2px}.service-editor-actions strong{color:#263046;font-size:12px}.service-editor-actions span{color:#786c70;font-size:11px}.service-editor-actions>div:last-child{display:flex;gap:9px}
@media(max-width:1100px){.service-config-layout{grid-template-columns:1fr}.service-editor-summary{position:static;display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(250px,1.4fr);align-items:center;gap:14px}.service-editor-summary .eyebrow,.service-editor-summary>small{grid-column:1/-1}.service-summary-mark{margin:0}.service-editor-summary>p:not(.eyebrow){margin:3px 0 0}.service-editor-summary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-editor-summary dl div{display:grid;padding:9px;border:0;border-radius:9px;background:#faf6f4}.service-summary-counts{grid-column:1/-1;margin:0}}
@media(max-width:800px){.service-editor-heading{align-items:flex-start;flex-direction:column;gap:8px}.service-location-tile-grid,.service-specialist-card-grid{grid-template-columns:1fr}.service-editor-summary{grid-template-columns:auto 1fr}.service-editor-summary dl,.service-summary-counts{grid-column:1/-1}.service-commercial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-details-card,.service-configuration-section{padding:16px}.service-form-grid,.service-commercial-grid{grid-template-columns:1fr}.span-all{grid-column:auto}.service-config-block{padding:16px}.service-config-header{flex-direction:column;gap:10px}.service-config-header>div:last-child{width:100%;justify-content:flex-start;flex-wrap:wrap}.service-editor-summary dl{grid-template-columns:1fr 1fr}.service-editor-actions{align-items:stretch;flex-direction:column}.service-editor-actions>div:last-child{display:grid;grid-template-columns:1fr 1fr}.service-editor-actions .button{justify-content:center}.service-editor-actions>div:first-child{display:none}.service-location-tile{grid-template-columns:22px minmax(0,1fr)}.service-location-tile em{grid-column:2;justify-self:start}.service-specialist-copy strong,.service-specialist-copy em{white-space:normal}}


/* Service category picker with inline creation */
.service-category-field{position:relative}.service-category-field>select[data-native-control]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.service-category-trigger{display:flex;width:100%;min-height:46px;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d9cdca;border-radius:10px;background:#fff;color:#18243a;font:inherit;text-align:left;cursor:pointer}.service-category-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .16s}.service-category-trigger[aria-expanded="true"]{border-color:#9c5267;box-shadow:0 0 0 3px rgba(133,54,75,.1)}.service-category-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}.service-category-trigger:focus-visible{outline:3px solid rgba(133,54,75,.16);outline-offset:1px}.service-category-popover{position:absolute;z-index:180;top:calc(100% + 7px);left:0;display:grid;width:100%;min-width:min(360px,calc(100vw - 40px));max-height:min(410px,70vh);grid-template-rows:auto minmax(0,1fr) auto;padding:9px;border:1px solid #dfd1cf;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(43,28,33,.17)}.service-category-popover[hidden]{display:none}.service-category-popover>label input{width:100%;height:42px;padding:9px 11px;border:1px solid #e0d5d2;border-radius:9px;font:inherit;font-size:12px}.service-category-popover>label input:focus{border-color:#9c5267;outline:0;box-shadow:0 0 0 3px rgba(133,54,75,.09)}.service-category-options{display:grid;align-content:start;gap:3px;min-height:54px;margin:7px 0;overflow:auto}.service-category-options button{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:0;border-radius:8px;background:#fff;color:#282c3e;font:inherit;font-size:12px;text-align:left;cursor:pointer}.service-category-options button:hover,.service-category-options button:focus-visible{background:#f8f0ef;color:#7d3047;outline:0}.service-category-options button i{visibility:hidden;color:#7d3047;font-style:normal;font-weight:900}.service-category-options button[aria-selected="true"]{background:#f8edef;color:#742c43;font-weight:800}.service-category-options button[aria-selected="true"] i{visibility:visible}.service-category-options p{margin:0;padding:16px 10px;color:#75696d;font-size:12px;text-align:center}.service-category-add{padding-top:8px;border-top:1px solid #eadfdb}.service-category-add button{display:flex;width:100%;min-height:42px;align-items:center;gap:9px;padding:8px 10px;border:0;border-radius:9px;background:#fbf3f4;color:#792f46;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.service-category-add button:hover,.service-category-add button:focus-visible{background:#f2e3e7;outline:3px solid rgba(133,54,75,.12)}.service-category-add button span{display:grid;width:22px;height:22px;place-items:center;border-radius:7px;background:#81364c;color:#fff;font-size:17px;line-height:1}
.service-category-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:1px solid #ddced1;border-radius:18px;background:#fff;color:#18243a;box-shadow:0 24px 70px rgba(32,24,29,.25)}.service-category-dialog::backdrop{background:rgba(25,20,24,.46);backdrop-filter:blur(2px)}.service-category-dialog form{display:grid}.service-category-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:21px 22px;border-bottom:1px solid #eee3e1}.service-category-dialog h2{margin:4px 0 5px;font-size:20px}.service-category-dialog header p:last-child{margin:0;color:#71666a;font-size:12px}.service-category-dialog header>button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:50%;background:#f7eff1;color:#713047;font-size:22px;cursor:pointer}.service-category-dialog .form-field{padding:22px}.service-category-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid #eee3e1;background:#fdfaf9}.service-category-dialog [aria-busy="true"]{opacity:.65;cursor:wait}
@media(max-width:600px){.service-category-popover{position:fixed;z-index:500;inset:auto 10px 10px;width:auto;min-width:0;max-height:70vh;box-shadow:0 0 0 100vmax rgba(25,20,24,.4),0 18px 45px rgba(43,28,33,.2)}.service-category-dialog footer{display:grid;grid-template-columns:1fr 1fr}.service-category-dialog footer .button{justify-content:center}}


/* Full-width premium team member profile */
.team-profile-page{display:grid;width:100%;min-width:0;gap:18px}.team-profile-hero{width:100%;max-width:none}.team-profile-form{display:grid;width:100%;max-width:none;gap:16px;padding-bottom:8px}.team-profile-card{min-width:0;padding:22px 24px;border:1px solid #e3d8d5;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(50,32,38,.038)}.team-profile-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.team-profile-card>header h2{margin:0;color:#19243a;font-size:18px}.team-profile-card>header p{max-width:720px;margin:5px 0 0;color:#6d6266;font-size:12px;line-height:1.5}.team-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.team-profile-fields .form-field input,.team-profile-fields .form-field select{width:100%;min-height:46px}.team-derived-access{display:grid;min-height:78px;align-content:center;gap:4px;padding:12px 14px;border:1px solid #e2d6d4;border-radius:11px;background:#faf6f4}.team-derived-access strong{color:#722d44}.team-derived-access small{color:#6f6367;line-height:1.4}.team-location-choice{min-width:0;margin:18px 0 0;padding:0;border:0}.team-location-choice legend,.team-color-picker legend{margin-bottom:9px;color:#332d30;font-size:12px;font-weight:800}.team-location-choice>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.team-location-choice label{position:relative;display:flex;min-height:48px;align-items:center;gap:9px;padding:10px 12px;border:1px solid #ddd1ce;border-radius:11px;background:#fff;cursor:pointer}.team-location-choice label:has(input:checked){border-color:#93465b;background:#fcf5f6;box-shadow:0 0 0 2px rgba(147,70,91,.08)}.team-location-choice input,.team-service-toggle input,.team-color-picker input{position:absolute;width:1px;height:1px;opacity:0}.team-check{display:grid;width:19px;height:19px;place-items:center;border:1.5px solid #b5a5aa;border-radius:6px;background:#fff}.team-location-choice input:checked~.team-check{border-color:#81364c;background:#81364c}.team-location-choice input:checked~.team-check::after{content:"";width:8px;height:4px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) translateY(-1px)}.team-location-choice label:has(input:focus-visible),.team-color-picker label:has(input:focus-visible){outline:3px solid rgba(129,54,76,.18);outline-offset:2px}.team-service-toggle{position:relative;display:flex;min-height:78px;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e0d5d2;border-radius:11px;background:#faf7f6;cursor:pointer}.team-service-toggle>span:last-child{display:grid;gap:3px}.team-service-toggle small{color:#72676a}.team-switch{position:relative;flex:0 0 auto;width:42px;height:24px;border-radius:999px;background:#c9bec0;transition:.16s}.team-switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.16s}.team-service-toggle input:checked~.team-switch{background:#81364c}.team-service-toggle input:checked~.team-switch::after{transform:translateX(18px)}.team-color-picker{margin:19px 0 0;padding:0;border:0}.team-color-picker>p{margin:-4px 0 11px;color:#75696d;font-size:11px}.team-color-picker>div{display:flex;flex-wrap:wrap;gap:8px}.team-color-picker label{display:grid;min-width:72px;justify-items:center;gap:5px;padding:9px 8px;border:1px solid #e0d5d2;border-radius:11px;background:#fff;cursor:pointer}.team-color-picker label:has(input:checked){border-color:#8d4056;background:#fbf4f5;box-shadow:0 0 0 2px rgba(141,64,86,.08)}.team-color-picker label>span{display:block;width:30px;height:30px;border:3px solid #fff;border-radius:10px;background:var(--swatch);box-shadow:0 0 0 1px rgba(30,25,28,.14)}.team-color-picker small{color:#665b5e;font-size:9px}.team-service-areas{margin-top:18px;padding:15px;border:1px solid #e5dcda;border-radius:12px;background:#fcfaf9}.team-service-areas>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.team-service-areas h3{margin:0;color:#273047;font-size:13px}.team-service-areas a{color:#7d3047;font-size:11px;font-weight:800}.team-service-areas>p{margin:10px 0 0;color:#776b6f;font-size:12px}.team-area-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.team-area-chips span{padding:6px 10px;border:1px solid #dccbd0;border-radius:999px;background:#f8eff1;color:#722d44;font-size:11px;font-weight:750}
.team-profile-availability>header>div:last-child{display:flex;align-items:center;gap:9px}.team-config-state{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850}.team-config-state.is-ready{background:#eaf6ef;color:#266646}.team-config-state.is-empty{background:#f3efee;color:#6e6265}.team-profile-empty{display:grid;min-height:110px;place-content:center;justify-items:center;padding:18px;border:1px dashed #ddceca;border-radius:12px;background:#fcfaf9;color:#71666a;text-align:center}.team-profile-empty strong{color:#273047}.team-profile-empty p{margin:5px 0 0}.team-week-summary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.team-week-summary article{display:grid;align-content:start;gap:5px;min-height:90px;padding:11px;border:1px solid #e4d9d6;border-radius:11px;background:#fcfaf9}.team-week-summary strong{color:#273047;font-size:11px}.team-week-summary span{color:#663147;font-size:11px;font-weight:750}.team-week-summary small{color:#7b6f72;font-size:9px}.team-availability-lists{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.team-availability-lists>div{min-height:78px;padding:13px;border:1px solid #e6dcda;border-radius:11px}.team-availability-lists h3{margin:0 0 7px;color:#30364a;font-size:12px}.team-availability-lists p{margin:4px 0;color:#75696c;font-size:11px}.team-availability-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.team-availability-actions .button{min-height:38px}.team-profile-periods{display:inline-flex;max-width:100%;gap:3px;padding:4px;border:1px solid #e0d5d2;border-radius:11px;background:#f8f4f2;overflow:auto}.team-profile-periods a{display:inline-flex;min-height:36px;align-items:center;padding:7px 12px;border-radius:8px;color:#655a5e;font-size:11px;font-weight:750;white-space:nowrap;text-decoration:none}.team-profile-periods a:hover{color:#7b3047}.team-profile-periods a.is-active{background:#fff;color:#752d44;box-shadow:0 3px 10px rgba(50,32,38,.08)}.team-profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:15px}.team-profile-metrics article{display:grid;min-height:94px;align-content:center;padding:14px;border:1px solid #e4dad7;border-radius:13px;background:linear-gradient(145deg,#fff,#fcf8f6)}.team-profile-metrics span{color:#71666a;font-size:11px;font-weight:750}.team-profile-metrics strong{margin-top:6px;color:#1e293e;font-size:24px}.team-profile-metrics small{color:#7f354a;font-weight:800}.team-profile-secondary-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.team-profile-secondary-grid>.team-profile-card{height:100%}.team-profile-activity ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.team-profile-activity li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #eee6e3;font-size:11px}.team-profile-activity time{color:#796d70}.team-photo-row{display:flex;align-items:center;gap:13px}.team-profile-avatar{display:grid;flex:0 0 auto;width:56px;height:56px;place-items:center;border-radius:16px;background:#efe2e5;color:#762d44;font-size:18px;font-weight:850}.team-photo-row>div:last-child,.team-security-row>div{display:grid;gap:4px}.team-photo-row small,.team-security-row small,.team-security-row span{color:#75696d;font-size:10px}.team-security-row{display:grid;gap:15px}.team-security-row>div+div{padding-top:12px;border-top:1px solid #eee5e2}.team-profile-sensitive{border-color:#e5c9cc;background:#fffafa}.team-sensitive-actions{display:flex;gap:9px}.button-danger-outline{border:1px solid #b84f58;background:#fff;color:#a13b46}.button-danger-outline:hover{background:#fff0f1}.team-profile-savebar{position:sticky;z-index:30;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 18px;border:1px solid #ddd1ce;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 -7px 24px rgba(43,28,33,.08);backdrop-filter:blur(10px)}.team-profile-savebar>div:first-child{display:grid;gap:2px}.team-profile-savebar>div:first-child span{color:#766a6e;font-size:10px}.team-profile-savebar>div:last-child{display:flex;gap:9px}.team-profile-savebar [aria-busy="true"]{opacity:.65;cursor:wait}.team-period-dialog .team-profile-fields{grid-template-columns:1fr 1fr}.team-period-dialog .span-all{grid-column:1/-1}
@media(max-width:1200px){.team-week-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.team-profile-secondary-grid{grid-template-columns:1fr 1fr}.team-profile-secondary-grid>:first-child{grid-column:1/-1}.team-location-choice>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.team-profile-fields,.team-availability-lists{grid-template-columns:1fr}.team-profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.team-week-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.team-profile-secondary-grid{grid-template-columns:1fr}.team-profile-secondary-grid>:first-child{grid-column:auto}.team-profile-card{padding:18px}.team-profile-hero{align-items:stretch;flex-direction:column}.team-profile-header-actions{display:grid;grid-template-columns:1fr 1fr}.team-profile-header-actions .button{justify-content:center}}
@media(max-width:520px){.team-profile-card{padding:15px}.team-profile-card>header{align-items:flex-start;flex-direction:column}.team-location-choice>div,.team-profile-metrics,.team-week-summary{grid-template-columns:1fr}.team-profile-periods{display:grid;width:100%;grid-template-columns:1fr 1fr}.team-profile-periods a{justify-content:center}.team-profile-savebar{align-items:stretch;flex-direction:column}.team-profile-savebar>div:first-child{display:none}.team-profile-savebar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.team-profile-savebar .button{justify-content:center}.team-sensitive-actions,.team-profile-header-actions{grid-template-columns:1fr;display:grid}.team-period-dialog .team-profile-fields{grid-template-columns:1fr}.team-period-dialog .span-all{grid-column:auto}}


/* Team member service taxonomy and concrete assignments */
.team-service-assignment{display:grid;gap:13px;margin-top:18px;padding:17px;border:1px solid #e5dcda;border-radius:14px;background:#fcfaf9}.team-assignment-heading,.team-services-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.team-assignment-heading h3,.team-services-heading h3{margin:0;color:#273047;font-size:14px}.team-assignment-heading p,.team-services-heading p{margin:4px 0 0;color:#71666a;font-size:11px;line-height:1.45}.team-assignment-heading a{color:#7d3047;font-size:11px;font-weight:800}.team-assignment-search{display:block;width:min(420px,100%)}.team-assignment-search input{width:100%;height:42px;padding:9px 12px;border:1px solid #ddd1ce;border-radius:10px;background:#fff;font:inherit;font-size:12px}.team-assignment-search input:focus{border-color:#91445a;outline:0;box-shadow:0 0 0 3px rgba(129,54,76,.1)}.team-category-options{display:flex;flex-wrap:wrap;gap:8px}.team-category-options label{position:relative;display:flex;min-height:38px;align-items:center;gap:8px;padding:8px 10px;border:1px solid #ddcfcc;border-radius:10px;background:#fff;cursor:pointer}.team-category-options label:has(input:checked){border-color:#8d4056;background:#f9eff1;color:#722d44}.team-category-options input,.team-offered-services input{position:absolute;width:1px;height:1px;opacity:0}.team-category-options label:has(input:focus-visible),.team-offered-services label:has(input:focus-visible){outline:3px solid rgba(129,54,76,.17);outline-offset:2px}.team-category-options strong{font-size:11px}.team-category-options em{padding:3px 6px;border-radius:999px;background:#f1ecea;color:#786c70;font-size:9px;font-style:normal}.team-category-options label[hidden],.team-offered-services label[hidden]{display:none}.team-services-heading{margin-top:5px;padding-top:16px;border-top:1px solid #e8dfdc}.team-offered-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.team-offered-services label{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-height:66px;padding:11px 12px;border:1px solid #dfd4d1;border-radius:12px;background:#fff;cursor:pointer}.team-offered-services label:has(input:checked){border-color:#90445a;background:#fcf5f6;box-shadow:0 0 0 2px rgba(144,68,90,.07)}.team-offered-services label>span:nth-of-type(2){display:grid;min-width:0;gap:3px}.team-offered-services strong{overflow:hidden;color:#263047;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.team-offered-services small{color:#766a6e;font-size:10px}.team-offered-services em{grid-column:1/-1;padding:6px 8px;border-radius:8px;background:#f4efed;color:#75686c;font-size:9px;font-style:normal}.team-offered-services label.is-incompatible{border-color:#cf9569;background:#fff8ef}.team-assignment-empty{margin:0;padding:15px;border:1px dashed #ddceca;border-radius:10px;color:#74696c;font-size:11px;text-align:center}
@media(max-width:800px){.team-offered-services{grid-template-columns:1fr}}@media(max-width:520px){.team-service-assignment{padding:13px}.team-assignment-heading{flex-direction:column}.team-category-options{display:grid}.team-category-options label{width:100%}}


/* Global Mexora flash toasts */
.location-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}.location-filters .button span{display:inline-grid;min-width:22px;height:22px;place-items:center;margin-left:6px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.18);font-size:12px}.location-filters .button-secondary span{background:#f2eceb}
.mexora-toast-region{position:fixed;z-index:240;top:78px;right:max(16px,env(safe-area-inset-right));display:grid;width:min(390px,calc(100vw - 32px));gap:10px;pointer-events:none}.mexora-toast-region[hidden]{display:none}.mexora-toast{--toast-accent:#58718f;--toast-soft:#f3f7fb;position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:10px;min-height:64px;padding:12px 10px 14px 12px;border:1px solid color-mix(in srgb,var(--toast-accent) 30%,#e5dcda);border-radius:14px;background:rgba(255,255,255,.98);color:#202a3e;box-shadow:0 16px 42px rgba(37,25,30,.16);opacity:0;overflow:hidden;pointer-events:auto;transform:translate3d(18px,-5px,0);transition:opacity .2s ease,transform .24s ease}.mexora-toast.is-visible{opacity:1;transform:translate3d(0,0,0)}.mexora-toast.is-leaving{opacity:0;transform:translate3d(12px,-4px,0)}.mexora-toast--success{--toast-accent:#2e7b58;--toast-soft:#edf8f2}.mexora-toast--info{--toast-accent:#496d91;--toast-soft:#edf4fa}.mexora-toast--warning{--toast-accent:#a26d24;--toast-soft:#fff7e9}.mexora-toast--error{--toast-accent:#a7464d;--toast-soft:#fff0f1}.mexora-toast-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--toast-soft);color:var(--toast-accent)}.mexora-toast-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mexora-toast p{margin:0;color:#273047;font-size:13px;font-weight:720;line-height:1.42}.mexora-toast>button{display:grid;width:32px;height:32px;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:#75696d;font:inherit;font-size:21px;line-height:1;cursor:pointer}.mexora-toast>button:hover{background:#f4efed;color:#57283a}.mexora-toast>button:focus-visible{outline:3px solid color-mix(in srgb,var(--toast-accent) 22%,transparent);outline-offset:1px}.mexora-toast-progress{position:absolute;right:0;bottom:0;left:0;height:3px;background:color-mix(in srgb,var(--toast-accent) 11%,transparent);overflow:hidden}.mexora-toast-progress i{display:block;width:100%;height:100%;background:var(--toast-accent);transform:scaleX(1);transform-origin:left center;will-change:transform}.mexora-toast.is-paused{box-shadow:0 18px 48px rgba(37,25,30,.2)}
@media(max-width:600px){.mexora-toast-region{top:70px;right:12px;width:calc(100vw - 24px)}.mexora-toast{grid-template-columns:32px minmax(0,1fr) 32px;padding-left:10px}.mexora-toast-icon{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.mexora-toast{transition:none;transform:none}.mexora-toast-progress i{transition:none!important}.mexora-toast.is-visible{transform:none}.mexora-toast.is-leaving{transform:none}}


/* Service form: real staff avatars and compact summary */
.service-specialist-card .service-avatar{position:relative;display:grid;flex:0 0 42px;width:42px;height:42px;overflow:hidden;place-items:center;border-radius:50%;background:#efe2e5;color:#762d44;font-size:12px;font-weight:850}.service-specialist-card .service-avatar img{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;background:#efe2e5;object-fit:cover}.service-specialist-card .service-avatar img[hidden]{display:none}.service-editor-summary>small{margin-top:15px;padding-top:13px;border-top:1px solid #eee5e2}.service-editor-summary{align-self:start;height:auto}.service-specialist-card-grid{margin-top:14px}
@media(max-width:600px){.service-specialist-card .service-avatar{flex-basis:38px;width:38px;height:38px}.service-specialist-card{grid-template-columns:38px minmax(0,1fr) 20px}}


/* Recommended return contextual help */
.service-return-field{position:relative}.service-field-label{position:relative;display:flex!important;align-items:center;gap:7px;width:max-content;max-width:100%}.service-field-label>label{color:inherit;font:inherit;cursor:pointer}.service-info-trigger{display:grid;flex:0 0 auto;width:19px;height:19px;place-items:center;padding:0;border:1px solid #c9b5bb;border-radius:50%;background:#fbf5f6;color:#7d3047;font:inherit;font-size:11px;font-weight:900;line-height:1;cursor:help}.service-info-trigger:hover,.service-info-trigger:focus-visible{border-color:#8a3b51;background:#f3e4e8;color:#6f263e;outline:0;box-shadow:0 0 0 3px rgba(126,47,72,.11)}.service-info-tooltip{position:absolute;z-index:190;right:0;bottom:calc(100% + 9px);display:block;width:min(360px,calc(100vw - 36px));padding:11px 12px;border:1px solid #decfd2;border-radius:11px;background:#fff;color:#382f33;font-size:11px;font-weight:550;line-height:1.5;box-shadow:0 14px 34px rgba(43,28,33,.16);opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .15s ease,transform .15s ease}.service-info-tooltip::after{content:"";position:absolute;right:7px;top:100%;width:8px;height:8px;border-right:1px solid #decfd2;border-bottom:1px solid #decfd2;background:#fff;transform:translateY(-4px) rotate(45deg)}.service-info-trigger:hover+.service-info-tooltip,.service-info-trigger:focus+.service-info-tooltip{opacity:1;transform:translateY(0)}
@media(max-width:600px){.service-info-tooltip{right:auto;left:0;width:min(330px,calc(100vw - 46px))}.service-info-tooltip::after{right:auto;left:calc(100% - 24px)}}@media(prefers-reduced-motion:reduce){.service-info-tooltip{transition:none}}


/* Services list: compact specialist name links */
.service-specialist-names{position:relative;display:flex;min-width:0;align-items:baseline;gap:0;color:#41373b;font-size:11px;line-height:1.45}.service-specialist-names>a,.service-specialists-popover>a{color:#713047;font-weight:750;text-decoration:none}.service-specialist-names>a{overflow:hidden;max-width:92px;text-overflow:ellipsis;white-space:nowrap}.service-specialist-names>a:hover,.service-specialists-popover>a:hover{color:#8e4056;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.service-specialist-names>a:focus-visible,.service-specialists-popover>a:focus-visible,.service-specialist-names>button:focus-visible{border-radius:5px;outline:3px solid rgba(126,47,72,.17);outline-offset:2px}.service-specialist-separator{white-space:pre}.service-specialist-names>button{flex:0 0 auto;margin-left:5px;padding:1px 5px;border:1px solid #dfd2d0;border-radius:7px;background:#fff;color:#793248;font:inherit;font-size:10px;font-weight:850;cursor:pointer}.service-specialist-names>button:hover,.service-specialist-names>button[aria-expanded=true]{border-color:#c9aeb5;background:#f8eff1}.service-specialists-popover{position:fixed;z-index:230;display:grid;gap:2px;padding:8px;border:1px solid #dfd1cf;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(43,28,33,.18)}.service-specialists-popover[hidden]{display:none}.service-specialists-popover>a,.service-specialists-popover>span{display:block;min-height:34px;padding:8px 9px;border-radius:7px;font-size:11px}.service-specialists-popover>span{color:#4e4347}.service-specialists-popover>a:hover{background:#f8eff1}.service-specialist-names .service-specialists-popover{max-width:none}
@media(max-width:767px){.service-specialist-names{flex-wrap:wrap;max-width:100%;row-gap:2px}.service-specialist-names>a{max-width:min(180px,42vw)}}@media(max-width:430px){.service-specialist-names>a{max-width:120px}}

/* Team profile tabs */
.team-profile-tabs{position:sticky;z-index:24;top:0;display:flex;width:100%;min-width:0;gap:4px;padding:5px;border:1px solid #dfd3d0;border-radius:14px;background:rgba(250,246,243,.96);box-shadow:0 7px 22px rgba(50,32,38,.045);overflow-x:auto;scrollbar-width:none;backdrop-filter:blur(10px)}
.team-profile-tabs::-webkit-scrollbar{display:none}.team-profile-tabs a{position:relative;display:inline-flex;min-width:max-content;min-height:43px;align-items:center;justify-content:center;padding:9px 20px;border-radius:10px;color:#675c60;font-size:12px;font-weight:800;text-decoration:none;transition:background-color .16s,color .16s,box-shadow .16s}
.team-profile-tabs a:hover{background:#f5ecee;color:#7c3047}.team-profile-tabs a:focus-visible{outline:3px solid rgba(129,54,76,.2);outline-offset:-2px}.team-profile-tabs a.is-active{background:#fff;color:#792f46;box-shadow:0 3px 11px rgba(49,29,35,.09)}.team-profile-tabs a.is-active::after{position:absolute;right:18px;bottom:3px;left:18px;height:2px;border-radius:9px;background:#85394f;content:""}
.team-tab-panel{display:grid;min-width:0;gap:16px}.team-tab-panel[hidden],.team-profile-savebar[hidden],.team-professional-empty[hidden],.team-profile-card [hidden]{display:none!important}
.team-professional-empty{display:grid;min-height:150px;place-content:center;justify-items:center;margin-top:18px;padding:22px;border:1px dashed #ddceca;border-radius:13px;background:#fcfaf9;color:#71666a;text-align:center}.team-professional-empty strong{color:#273047}.team-professional-empty p{max-width:540px;margin:6px 0 0;font-size:12px;line-height:1.5}
.team-services-heading h3{display:flex;align-items:center;gap:9px}.team-services-heading [data-selected-count]{padding:4px 8px;border-radius:999px;background:#f2e7ea;color:#793047;font-size:9px;font-weight:850}.team-offered-services{max-height:340px;padding:2px 5px 2px 2px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#c9b7bc transparent;scrollbar-width:thin}.team-offered-services label{min-height:54px;padding:9px 10px}.team-offered-services label.is-selected{order:0}.team-tab-discard-dialog{max-width:450px}
@media(max-width:800px){.team-profile-tabs{top:0}.team-profile-tabs a{flex:1 0 auto;padding-right:15px;padding-left:15px}.team-offered-services{max-height:390px}}
@media(max-width:520px){.team-profile-tabs{margin-right:-4px;margin-left:-4px;border-radius:12px}.team-profile-tabs a{min-height:40px;padding:8px 13px;font-size:11px}.team-profile-tabs a.is-active::after{right:12px;left:12px}.team-tab-panel{gap:12px}.team-offered-services{max-height:420px}}

/* Appointment dependency states */
.appointment-staff-empty{display:block;margin-top:6px;padding:8px 10px;border:1px solid #e7c9c3;border-radius:8px;background:#fff6f4;color:#8f3d36;font-size:11px;line-height:1.4}.appointment-staff-empty[hidden]{display:none}.appointment-discard-dialog .confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px}

/* Locations operational cards */
.locations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.location-card{display:grid;min-width:0;gap:16px;padding:20px;border:1px solid #e2d6d3;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(50,32,38,.045)}.location-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.location-card h2{margin:0;color:#19243a;font-size:18px}.location-card header p{margin:5px 0 0;color:#70656a;font-size:12px;line-height:1.45}.location-card-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.location-badge{display:inline-flex;min-height:27px;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.location-badge--main{border:1px solid #dcc6cc;background:#f7ecef;color:#783047}.location-badge--active{background:#eaf6ef;color:#286848}.location-badge--inactive{background:#f1edec;color:#71666a}.location-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.location-kpis>div{display:grid;min-height:68px;align-content:center;padding:10px 12px;border:1px solid #eadfdd;border-radius:11px;background:#fcf8f6}.location-kpis dt{color:#756a6e;font-size:10px;font-weight:750}.location-kpis dd{margin:4px 0 0;color:#1d293f;font-size:20px;font-weight:850}.location-schedule{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #e6dcda;border-radius:11px;background:#faf7f5}.location-schedule span{color:#71666a;font-size:11px}.location-schedule strong{color:#773047;font-size:12px}.location-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;font-style:normal}.location-contact a{display:grid;min-width:0;gap:3px;padding:10px 12px;border-radius:10px;background:#faf7f5;color:#273047;text-decoration:none}.location-contact a:hover strong{color:#7c3047;text-decoration:underline}.location-contact span{color:#786d70;font-size:9px;font-weight:750;text-transform:uppercase}.location-contact strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.location-contact p{grid-column:1/-1;margin:0;color:#776b6f;font-size:11px}.location-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.location-primary-actions{display:flex;gap:8px}.location-card .button{min-height:38px;padding:8px 12px;font-size:11px}.location-more{position:relative}.location-more summary{display:flex;width:38px;height:38px;align-items:center;justify-content:center;gap:3px;border:1px solid #ded2cf;border-radius:10px;background:#fff;cursor:pointer;list-style:none}.location-more summary::-webkit-details-marker{display:none}.location-more summary span{width:3px;height:3px;border-radius:50%;background:#6e6266}.location-more[open] summary{border-color:#8c4056;box-shadow:0 0 0 3px rgba(129,54,76,.1)}.location-more>div{position:absolute;z-index:50;right:0;bottom:44px;display:grid;min-width:190px;padding:6px;border:1px solid #ded2cf;border-radius:11px;background:#fff;box-shadow:0 14px 34px rgba(42,25,31,.14)}.location-more a{padding:9px 10px;border-radius:7px;color:#433a3e;font-size:11px;font-weight:750;text-decoration:none}.location-more a:hover{background:#f8eff1;color:#792f46}.locations-empty{display:grid;min-height:260px;place-content:center;justify-items:center;margin-top:18px;padding:30px;border:1px dashed #dccfcb;border-radius:16px;background:#fff;text-align:center}.locations-empty h2{margin:0;color:#202b40}.locations-empty p{margin:7px 0 16px;color:#756a6e}
.location-edit-dialog{width:min(760px,calc(100vw - 28px));max-height:min(820px,calc(100vh - 28px));padding:0;border:0;border-radius:18px;background:#fff;box-shadow:0 26px 80px rgba(35,20,26,.24);overflow:hidden}.location-edit-dialog::backdrop{background:rgba(29,22,27,.45);backdrop-filter:blur(3px)}.location-edit-dialog>form{display:grid;max-height:inherit;grid-template-rows:auto minmax(0,1fr) auto}.location-edit-dialog header,.location-edit-dialog footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px}.location-edit-dialog header{border-bottom:1px solid #e8dfdc}.location-edit-dialog header h2{margin:2px 0 0;color:#19243a;font-size:20px}.location-edit-dialog header p:not(.eyebrow){margin:5px 0 0;color:#74696d;font-size:12px}.location-edit-dialog footer{align-items:center;justify-content:flex-end;border-top:1px solid #e8dfdc;background:#fcfaf9}.location-dialog-body{padding:18px 20px;overflow:auto}.location-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.location-dialog-grid .span-all{grid-column:1/-1}.location-main-choice{position:relative;display:flex;min-height:72px;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e0d5d2;border-radius:11px;background:#faf7f6;cursor:pointer}.location-main-choice input{position:absolute;width:1px;height:1px;opacity:0}.location-main-choice>span:last-child{display:grid;gap:3px}.location-main-choice small{color:#756a6e;font-size:10px}.location-main-choice input:focus-visible~.team-switch{outline:3px solid rgba(129,54,76,.18);outline-offset:2px}.location-main-choice input:checked~.team-switch{background:#81364c}.location-main-choice input:checked~.team-switch::after{transform:translateX(18px)}
@media(max-width:1000px){.locations-grid{grid-template-columns:1fr}}@media(max-width:600px){.location-card{padding:15px}.location-card>header{flex-direction:column}.location-card-badges{justify-content:flex-start}.location-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.location-kpis>div{padding:8px}.location-kpis dd{font-size:17px}.location-contact{grid-template-columns:1fr}.location-card>footer{align-items:stretch}.location-primary-actions{display:grid;flex:1;grid-template-columns:1fr 1fr}.location-primary-actions .button{justify-content:center}.location-dialog-grid{grid-template-columns:1fr}.location-dialog-grid .span-all{grid-column:auto}.location-edit-dialog header,.location-edit-dialog footer,.location-dialog-body{padding:15px}}@media(max-width:390px){.location-kpis{grid-template-columns:1fr}.location-primary-actions{grid-template-columns:1fr}.location-card>footer{align-items:flex-end}}

.location-hero-actions{display:grid;justify-items:end;gap:7px}.location-hero-actions .location-plan-limit{text-align:right}.location-badge--archived{background:#eee9e7;color:#695e61}.location-more button{width:100%;padding:9px 10px;border:0;border-radius:7px;background:#fff;color:#433a3e;font:750 11px/1.35 inherit;text-align:left;cursor:pointer}.location-more button:hover,.location-more button:focus-visible{background:#f8eff1;color:#792f46}.location-more button.is-danger{color:#9b3f38}.location-more button:disabled{opacity:.48;cursor:not-allowed}.location-more hr{width:100%;margin:4px 0;border:0;border-top:1px solid #eadfdd}.location-lifecycle-dialog{width:min(480px,calc(100vw - 28px))}.location-lifecycle-dialog .field-error{margin:0}.location-lifecycle-dialog [data-lifecycle-name-field]{margin-top:3px}
@media(max-width:600px){.location-hero-actions{width:100%;justify-items:stretch}.location-hero-actions .button{justify-content:center}.location-hero-actions .location-plan-limit{text-align:left}}

/* Location editor tabs and schedule */
.page-hero .location-plan-limit{max-width:260px;color:#7a6268;font-size:13px;line-height:1.35}.location-plan-limit a{color:var(--color-accent-strong);text-decoration:underline}.location-dialog-tabs{position:relative;z-index:3;background:#fff;display:flex;gap:6px;padding:0 22px;border-bottom:1px solid #e8ddda}.location-dialog-tabs button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;padding:12px 16px;color:#716368;font:600 14px/1 inherit;cursor:pointer}.location-dialog-tabs button[aria-selected=true]{border-color:#81364c;color:#6f263f}.location-dialog-tabs button:focus-visible{outline:3px solid rgba(129,54,76,.18);outline-offset:-3px}.location-schedule-editor{display:grid;gap:16px}.location-schedule-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.location-schedule-editor>header h3{margin:0;color:#18233d}.location-schedule-editor>header p{margin:4px 0 0;color:#756a6e}.location-schedule-editor>header>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.location-week{display:grid;gap:8px}.location-day{display:grid;grid-template-columns:minmax(130px,1fr) 130px 16px 130px;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e7ddda;border-radius:11px;background:#fff}.location-day>label{display:flex;align-items:center;gap:9px;cursor:pointer}.location-day>label input{position:absolute;opacity:0;pointer-events:none}.location-day.is-closed{background:#faf8f7;color:#8c8385}.location-day.is-closed .mexora-select,.location-day.is-closed select{opacity:.55}.location-settings-note{padding:18px;border:1px solid #e5d9d6;border-radius:12px;background:#faf7f6}.location-settings-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.location-settings-note h3{margin:0 0 6px;color:#18233d}.location-settings-note p{margin:0;color:#756a6e}.location-main-confirm{position:absolute;inset:0;z-index:5;display:grid;place-content:center;padding:24px;background:rgba(25,18,20,.48);backdrop-filter:blur(3px)}.location-main-confirm[hidden]{display:none}.location-main-confirm>p,.location-main-confirm>div{width:min(440px,calc(100vw - 48px));margin:0;padding:20px;background:#fff}.location-main-confirm>p{border-radius:14px 14px 0 0;color:#33282c;font-weight:600;line-height:1.5}.location-main-confirm>div{display:flex;justify-content:flex-end;gap:10px;border-radius:0 0 14px 14px;padding-top:0}.location-edit-dialog{position:relative}.location-edit-dialog .location-dialog-body>section[hidden]{display:none}
.location-day>label input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:auto}.location-day>label .team-check{flex:0 0 19px}.location-day>label input:checked~.team-check{border-color:#81364c;background:#81364c}.location-day>label input:checked~.team-check::after{content:"";width:8px;height:4px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) translateY(-1px)}.location-day>label:has(input:focus-visible){outline:3px solid rgba(129,54,76,.18);outline-offset:3px;border-radius:7px}.location-day:has(input:checked){border-color:#d6bdc4;background:#fffafb}.location-required-note{margin:0 0 14px;color:#75686c;font-size:12px}.location-required-note+ .location-dialog-grid .form-field span b{color:#913a52}.location-dialog-tabs button{position:relative;min-height:46px;border-bottom:0;padding:12px 16px;font:700 14px/1.2 inherit}.location-dialog-tabs button::after{position:absolute;right:14px;bottom:0;left:14px;height:3px;border-radius:999px 999px 0 0;background:transparent;content:""}.location-dialog-tabs button[aria-selected=true]::after{background:#81364c}.location-dialog-tabs button:hover{color:#6f263f;background:#fcf7f8}.location-dialog-tabs button:focus-visible{outline:3px solid rgba(129,54,76,.18);outline-offset:-4px;border-radius:8px}
@media(max-width:700px){.location-edit-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}.location-dialog-tabs{overflow-x:auto;padding-inline:12px}.location-dialog-tabs button{flex:1;min-width:96px}.location-schedule-editor>header{display:grid}.location-day{grid-template-columns:1fr 105px 10px 105px}.location-schedule-editor>header>div:last-child{display:grid;grid-template-columns:1fr 1fr}.location-schedule-editor>header .button{white-space:normal}.location-main-confirm>div{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:430px){.location-day{grid-template-columns:1fr 1fr 10px 1fr;padding:9px 8px}.location-day>label{grid-column:1/-1}.location-dialog-body{overflow-y:auto}.location-primary-actions{grid-template-columns:1fr}.location-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shared operational reports design system */
.report-shell{--report-radius:18px;--report-border:var(--border-color,#e7e9ef);--report-shadow:0 12px 35px rgba(28,35,56,.06);display:grid;gap:20px}
.report-header{align-items:center;background:linear-gradient(135deg,var(--surface,#fff),var(--surface-soft,#f7f8fb));border:1px solid var(--report-border);border-radius:var(--report-radius);box-shadow:var(--report-shadow);display:flex;justify-content:space-between;padding:24px 28px}
.report-header h1{margin:3px 0 6px}.report-header p{margin:0}.report-range{background:var(--success-soft,#ecf8f1);border-radius:999px;color:var(--success,#247a4c);font-size:.82rem;font-weight:700;padding:8px 12px;white-space:nowrap}
.report-navigation-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px}.report-navigation-tabs a{border-radius:12px;color:var(--text-muted,#667085);font-weight:650;padding:10px 14px;text-decoration:none;white-space:nowrap}.report-navigation-tabs a:hover,.report-navigation-tabs a:focus-visible{background:var(--surface-soft,#f7f8fb);color:var(--text,#151923)}.report-navigation-tabs a.is-active{background:var(--primary-soft,#f1edff);color:var(--primary,#6f4cff)}
.report-filter-bar{align-items:end;background:var(--surface,#fff);border:1px solid var(--report-border);border-radius:var(--report-radius);box-shadow:var(--report-shadow);display:grid;gap:12px;grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) repeat(2,minmax(160px,.8fr)) auto;padding:16px}.report-filter-bar label{display:grid;gap:6px}.report-filter-bar label>span{color:var(--text-muted,#667085);font-size:.78rem;font-weight:700}.report-export-actions{display:flex;gap:8px}
.report-content{display:grid;gap:20px}.report-kpi-card,.report-compact-metric,.report-chart-card,.report-ranking-card{background:var(--surface,#fff);border:1px solid var(--report-border);border-radius:var(--report-radius);box-shadow:var(--report-shadow)}.report-kpi-card{display:grid;gap:8px;min-height:132px;padding:20px}.report-kpi-card>span,.report-compact-metric>span{color:var(--text-muted,#667085);font-size:.82rem;font-weight:650}.report-kpi-card>strong{font-size:clamp(1.45rem,2vw,2rem)}.report-compact-metric{display:grid;gap:5px;padding:14px 16px}.report-compact-metric strong{font-size:1.2rem}
.report-chart-card,.report-ranking-card{padding:20px}.report-chart-card>header,.report-ranking-card>header{align-items:flex-start;display:flex;justify-content:space-between}.report-chart-legend{display:flex;gap:14px;list-style:none;margin:0;padding:0}.report-chart-legend li:before{background:currentColor;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:6px;width:8px}.report-ranking-card ol{display:grid;list-style:none;margin:14px 0 0;padding:0}.report-ranking-card li{align-items:center;border-top:1px solid var(--report-border);display:grid;gap:12px;grid-template-columns:28px 1fr auto;padding:13px 0}.report-ranking-card li div{display:grid}.report-rank{align-items:center;background:var(--surface-soft,#f7f8fb);border-radius:50%;display:flex;height:26px;justify-content:center}
.report-table-wrap{overflow:auto}.report-table{border-collapse:collapse;min-width:680px;width:100%}.report-table th,.report-table td{border-bottom:1px solid var(--report-border);padding:13px 15px;text-align:left}.report-state{border:1px dashed var(--report-border);border-radius:var(--report-radius);padding:32px;text-align:center}.report-loading-state{display:grid;gap:10px}.report-loading-state i{animation:report-pulse 1.2s infinite;background:var(--surface-soft,#f1f3f7);border-radius:8px;height:18px}@keyframes report-pulse{50%{opacity:.45}}
@media(max-width:1100px){.report-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.report-export-actions{grid-column:1/-1}}@media(max-width:640px){.report-header{align-items:flex-start;flex-direction:column;gap:14px;padding:20px}.report-filter-bar{grid-template-columns:1fr}.report-export-actions{display:grid;grid-column:auto}.report-export-actions .button{justify-content:center}.report-kpi-card{min-height:auto}.report-table-wrap{overflow:visible}.report-table,.report-table tbody,.report-table tr,.report-table td,.report-table th{display:block;min-width:0}.report-table thead{display:none}.report-table tr{border:1px solid var(--report-border);border-radius:14px;margin-bottom:10px;padding:10px}.report-table td,.report-table th{border:0;padding:5px}}

/* Reports premium shared components — overview phase */
.report-navigation-tabs{background:rgba(255,255,255,.72);border:1px solid var(--report-border);border-radius:15px;box-shadow:0 8px 24px rgba(31,35,48,.045);gap:4px;padding:5px}.report-navigation-tabs a{align-items:center;display:flex;min-height:40px;padding:9px 15px;position:relative}.report-navigation-tabs a.is-active{background:var(--color-surface,#fff);box-shadow:0 4px 14px rgba(67,49,99,.10)}.report-navigation-tabs a.is-active:after{background:var(--color-accent,#7c5cff);border-radius:999px;bottom:4px;content:"";height:2px;left:30%;position:absolute;right:30%}
.report-filter-bar{border-color:rgba(112,105,125,.16);column-gap:14px;padding:18px}.report-filter-bar label>span{letter-spacing:.01em}.report-export-actions{align-items:center;justify-content:flex-end}.report-export-actions .button{min-height:42px;white-space:nowrap}.report-export-actions .button-primary{box-shadow:0 7px 18px rgba(110,78,160,.16)}
.report-primary-kpis{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.report-kpi-card{border-color:rgba(112,105,125,.14);box-shadow:0 12px 30px rgba(38,31,51,.055);gap:12px;isolation:isolate;justify-content:space-between;min-height:168px;overflow:hidden;padding:22px;position:relative;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.report-kpi-card:before{background:linear-gradient(90deg,var(--color-accent,#9a5d66),transparent);content:"";height:3px;left:0;opacity:.72;position:absolute;right:0;top:0}.report-kpi-card:hover{border-color:rgba(154,93,102,.28);box-shadow:0 16px 38px rgba(38,31,51,.085);transform:translateY(-2px)}.report-kpi-card>header{align-items:center;display:flex;justify-content:space-between}.report-kpi-card>header>span{color:var(--color-muted);font-size:12px;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.report-kpi-card>header i{align-items:center;background:var(--color-accent-soft);border-radius:11px;color:var(--color-accent);display:flex;font-size:17px;font-style:normal;height:34px;justify-content:center;width:34px}.report-kpi-card>strong{font-size:clamp(26px,2.3vw,36px);font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1.08}.report-kpi-card .comparison{align-items:center;display:flex;font-size:12px;font-weight:650;gap:7px;line-height:1.35}.report-kpi-card .comparison>span{align-items:center;border-radius:50%;display:inline-flex;height:20px;justify-content:center;width:20px}.report-kpi-card .comparison.is-up>span{background:rgba(49,143,92,.11)}.report-kpi-card .comparison.is-up>span:before{content:"↗"}.report-kpi-card .comparison.is-down>span{background:rgba(180,75,75,.10)}.report-kpi-card .comparison.is-down>span:before{content:"↘"}.report-kpi-card .comparison.is-flat>span{background:rgba(105,103,116,.09)}.report-kpi-card .comparison.is-flat>span:before{content:"–"}
.report-secondary-kpis{display:grid;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}.report-compact-metric{border-color:rgba(112,105,125,.13);box-shadow:0 8px 22px rgba(38,31,51,.04);min-height:105px;padding:16px}.report-compact-metric>span{line-height:1.25;min-height:31px}.report-compact-metric strong{font-size:clamp(18px,1.55vw,23px);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.report-compact-metric small{color:var(--color-muted);font-size:10.5px;line-height:1.25}.report-compact-metric.is-up{border-bottom:2px solid rgba(49,143,92,.38)}.report-compact-metric.is-down{border-bottom:2px solid rgba(180,75,75,.35)}
.report-chart-card{border-color:rgba(112,105,125,.14);box-shadow:0 14px 38px rgba(38,31,51,.06);padding:24px}.report-chart-card>header{align-items:flex-start;border-bottom:1px solid var(--report-border);display:flex;justify-content:space-between;margin-bottom:18px;padding-bottom:17px}.report-chart-card h2,.report-ranking-card h2{font-size:18px;margin:0 0 5px}.report-chart-card header p,.report-ranking-header p{color:var(--color-muted);font-size:12.5px;margin:0}.report-trend-legend{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end;margin:-48px 0 27px}.report-trend-legend span{align-items:center;color:var(--color-muted);display:flex;font-size:11px;font-weight:650;gap:6px}.report-trend-legend span:before{background:currentColor;border-radius:50%;content:"";height:8px;width:8px}.report-trend-legend .is-realized{color:var(--color-accent)}.report-trend-legend .is-estimated{color:#b9a3db}.report-trend-legend .is-appointments{color:var(--color-muted)}
.report-trend-list{gap:8px;margin-top:0}.report-trend-row{border-radius:10px;gap:14px;grid-template-columns:52px minmax(120px,1fr) minmax(155px,auto) 46px;min-height:39px;padding:4px 7px;transition:background .18s ease}.report-trend-row:hover{background:var(--color-accent-soft)}.report-trend-row time{font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.report-trend-bars{display:grid;gap:3px}.report-trend-bars>span{background:linear-gradient(90deg,var(--color-accent),#aa89d2);border-radius:999px;display:block;height:7px;max-width:100%;min-width:min(var(--report-value),3px);width:var(--report-value)}.report-trend-bars>span.is-estimated{background:#d8cbe9;height:4px}.report-trend-value{display:grid;text-align:right}.report-trend-value strong{font-size:12.5px;font-variant-numeric:tabular-nums}.report-trend-value small{color:var(--color-muted);font-size:10px}.report-trend-count{align-items:center;background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent);display:flex;font-size:11px;font-weight:750;justify-content:center;min-height:25px}
.report-top-grid{gap:18px;margin-top:0}.report-ranking-card{border-color:rgba(112,105,125,.14);box-shadow:0 14px 38px rgba(38,31,51,.06);padding:22px}.report-ranking-header{align-items:flex-start;border-bottom:1px solid var(--report-border);display:flex;justify-content:space-between;padding-bottom:16px}.report-ranking-header>a{align-items:center;color:var(--color-accent);display:flex;font-size:12px;font-weight:750;gap:6px;text-decoration:none}.report-ranking-header>a span{transition:transform .18s ease}.report-ranking-header>a:hover span{transform:translateX(3px)}.report-ranking-list{display:grid;list-style:none;margin:0;padding:0}.report-ranking-list li{align-items:center;border-top:0;border-bottom:1px solid var(--report-border);display:grid;gap:11px;grid-template-columns:24px 46px minmax(0,1fr) auto;min-height:74px;padding:12px 0;position:relative}.report-ranking-list li:last-child{border-bottom:0}.report-ranking-list li.is-featured{background:linear-gradient(90deg,rgba(154,93,102,.055),transparent);margin-inline:-10px;padding-inline:10px}.report-rank{background:transparent;color:var(--color-muted);font-size:11px;font-weight:800;height:24px;width:24px}.report-ranking-list li.is-featured .report-rank{background:#f2e9cb;color:#8d6c18}.report-ranking-media{align-items:center;background:var(--color-accent-soft);border:1px solid rgba(154,93,102,.10);border-radius:14px;color:var(--color-accent);display:flex;font-size:21px;height:46px;justify-content:center;overflow:hidden;position:relative;width:46px}.report-ranking-media--avatar{background:linear-gradient(145deg,#f6e9e7,#ead8d8);border-radius:50%;font-size:13px;font-weight:800;letter-spacing:.03em}.report-ranking-media img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.report-ranking-copy{display:grid;gap:2px;min-width:0}.report-ranking-copy>a,.report-ranking-copy>strong{color:var(--color-text);font-size:13.5px;font-weight:780;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.report-ranking-copy>a:hover{color:var(--color-accent)}.report-ranking-copy small{color:var(--color-muted);font-size:11px}.report-ranking-copy em{color:var(--color-muted);font-size:10.5px;font-style:normal}.report-ranking-value{align-items:flex-end;display:grid;gap:5px;text-align:right}.report-ranking-value b{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.report-ranking-value small{background:#f4edda;border-radius:999px;color:#8b6b1d;font-size:9px;font-weight:800;padding:4px 7px;text-transform:uppercase}.report-ranking-card .report-empty-state{margin-top:14px;padding:24px}
@media(max-width:1200px){.report-secondary-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.report-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.report-primary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-secondary-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.report-top-grid{grid-template-columns:1fr}.report-trend-legend{justify-content:flex-start;margin:0 0 15px}}@media(max-width:640px){.report-navigation-tabs{border-radius:13px}.report-navigation-tabs a{min-height:38px;padding:8px 12px}.report-primary-kpis{grid-template-columns:1fr}.report-secondary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-kpi-card{min-height:148px;padding:19px}.report-chart-card,.report-ranking-card{padding:17px}.report-trend-row{gap:8px;grid-template-columns:40px minmax(0,1fr) 42px;padding-inline:2px}.report-trend-value{grid-column:2;text-align:left}.report-trend-count{grid-column:3;grid-row:1/3}.report-ranking-list li{gap:8px;grid-template-columns:20px 42px minmax(0,1fr) auto}.report-ranking-media{height:42px;width:42px}.report-ranking-copy em{white-space:normal}.report-ranking-value b{font-size:11.5px}.report-ranking-value small{display:none}}@media(max-width:390px){.report-secondary-kpis{grid-template-columns:1fr}.report-ranking-list li{grid-template-columns:20px 40px minmax(0,1fr)}.report-ranking-value{grid-column:3;text-align:left}.report-ranking-copy>a,.report-ranking-copy>strong{white-space:normal}}

/* Shared report combination chart and secondary-details block */
.report-chart-card .report-chart-legend{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end}.report-chart-legend li{align-items:center;color:var(--color-muted);display:flex;font-size:11px;font-weight:700}.report-chart-legend li.is-realized{color:var(--color-accent)}.report-chart-legend li.is-appointments{color:#d07675}.report-chart-legend li.is-appointments:before{border-radius:999px;height:3px;width:14px}
.report-combo-chart{min-width:0}.report-chart-scroll{overflow-x:auto;overscroll-behavior-inline:contain;padding:12px 0 3px}.report-chart-canvas{display:grid;grid-template-columns:68px minmax(max(620px,calc(var(--chart-columns) * 42px)),1fr) 34px;height:310px;min-width:720px}.report-chart-axis{color:var(--color-muted);display:flex;flex-direction:column;font-size:10px;font-variant-numeric:tabular-nums;justify-content:space-between;padding:0 8px 38px 0;text-align:right}.report-chart-axis--appointments{padding-left:8px;padding-right:0;text-align:left}.report-chart-plot{height:100%;position:relative}.report-chart-grid{display:flex;flex-direction:column;height:250px;inset:0 0 auto;justify-content:space-between;pointer-events:none;position:absolute}.report-chart-grid i{border-top:1px dashed rgba(112,105,125,.16);display:block}.report-chart-columns{display:grid;gap:7px;grid-template-columns:repeat(var(--chart-columns),minmax(30px,1fr));height:100%;position:relative;z-index:2}.report-chart-column{align-items:center;display:grid;grid-template-rows:250px 34px;min-width:0;outline:none;position:relative}.report-chart-bar{align-items:flex-end;align-self:stretch;display:flex;justify-content:center;position:relative}.report-chart-bar>i{background:linear-gradient(180deg,#bd8589 0%,var(--color-accent) 100%);border-radius:8px 8px 3px 3px;box-shadow:0 6px 14px rgba(108,55,68,.15);display:block;height:var(--bar-height);max-width:30px;min-height:2px;transition:filter .18s ease,height .25s ease,transform .18s ease;width:66%}.report-chart-column:hover .report-chart-bar>i,.report-chart-column:focus-visible .report-chart-bar>i{filter:saturate(1.18);transform:scaleX(1.08)}.report-chart-column time{color:var(--color-muted);font-size:10px;font-variant-numeric:tabular-nums;overflow:hidden;padding-top:9px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.report-chart-bar>b{background:#292330;border-radius:9px;bottom:calc(var(--bar-height) + 8px);box-shadow:0 8px 24px rgba(30,24,38,.18);color:#fff;font-size:11px;font-weight:750;left:50%;opacity:0;padding:8px 10px;pointer-events:none;position:absolute;transform:translate(-50%,5px);transition:opacity .16s ease,transform .16s ease;white-space:nowrap;z-index:5}.report-chart-bar>b small{color:rgba(255,255,255,.7);display:block;font-size:9.5px;font-weight:500;margin-top:2px}.report-chart-column:hover .report-chart-bar>b,.report-chart-column:focus-visible .report-chart-bar>b{opacity:1;transform:translate(-50%,0)}.report-chart-line{height:250px;inset:0;overflow:visible;pointer-events:none;position:absolute;width:100%;z-index:3}.report-chart-line polyline{fill:none;stroke:#d07675;stroke-linecap:round;stroke-linejoin:round;stroke-width:4;vector-effect:non-scaling-stroke}.report-chart-line circle{fill:#fff;stroke:#d07675;stroke-width:3;vector-effect:non-scaling-stroke}
.report-details-block{background:rgba(255,255,255,.52);border:1px solid rgba(112,105,125,.12);border-radius:var(--report-radius);padding:18px}.report-details-block>header{align-items:end;display:flex;justify-content:space-between;margin-bottom:13px}.report-details-block>header .eyebrow{font-size:9px;margin:0 0 3px}.report-details-block>header h2{font-size:15px;margin:0}.report-details-block .report-secondary-kpis{grid-template-columns:repeat(7,minmax(0,1fr))}.report-details-block .report-compact-metric{background:rgba(255,255,255,.78);box-shadow:none;min-height:94px}
@media(max-width:1200px){.report-details-block .report-secondary-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.report-chart-card>header{gap:12px}.report-chart-card .report-chart-legend{justify-content:flex-start}.report-details-block .report-secondary-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.report-chart-card>header{display:grid}.report-chart-canvas{grid-template-columns:58px minmax(max(560px,calc(var(--chart-columns) * 38px)),1fr) 30px;min-width:648px}.report-details-block{padding:14px}.report-details-block .report-secondary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:390px){.report-details-block .report-secondary-kpis{grid-template-columns:1fr}}

/* Reports overview premium refinement — 2026-07-23 */
.report-chart-canvas{grid-template-columns:68px minmax(max(560px,calc(var(--chart-columns) * 40px)),1fr);height:282px;min-width:628px}
.report-chart-scroll{padding-top:4px}
.report-chart-card .report-chart-legend{gap:10px}
.report-chart-bar>i{max-width:32px;width:72%}
.report-details-block{padding:0;overflow:hidden}
.report-details-block>summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;list-style:none;min-height:62px;padding:14px 18px}
.report-details-block>summary::-webkit-details-marker{display:none}
.report-details-block>summary>span{display:grid;gap:3px}
.report-details-block>summary .eyebrow{color:var(--color-muted);font-size:9px;font-weight:800;letter-spacing:.08em;margin:0;text-transform:uppercase}
.report-details-block>summary strong{font-size:14px}
.report-details-block>summary>i{border-bottom:1.5px solid currentColor;border-right:1.5px solid currentColor;height:8px;margin-right:4px;transform:rotate(45deg);transition:transform .18s;width:8px}
.report-details-block[open]>summary>i{transform:rotate(225deg)}
.report-details-block>.report-secondary-kpis{border-top:1px solid var(--report-border);padding:14px}
.report-details-block .report-compact-metric{min-height:82px;padding:13px 14px}
.report-ranking-media--service{background:#f3eff1;border-color:#e7dce0;border-radius:12px;color:#744052;font-size:12px;font-weight:850;letter-spacing:.04em}
.report-top-grid{align-items:stretch}
.report-top-grid .report-ranking-card{height:100%}
.report-ranking-value b{color:var(--color-text);font-weight:850}
@media(max-width:640px){.report-chart-canvas{grid-template-columns:52px minmax(max(520px,calc(var(--chart-columns) * 36px)),1fr);min-width:572px}.report-details-block>.report-secondary-kpis{padding:10px}.report-ranking-list li{min-height:70px}}

/* Reports overview readability refinement — 2026-07-23 b */
.report-kpi-card>header{justify-content:flex-start}
.report-chart-canvas{grid-template-columns:68px minmax(max(620px,calc(var(--chart-columns) * 64px)),1fr);min-width:688px}
.report-chart-columns{grid-template-columns:repeat(var(--chart-columns),minmax(54px,1fr));gap:10px}
.report-chart-value-label{background:rgba(255,255,255,.92);border:1px solid rgba(112,105,125,.12);border-radius:6px;bottom:calc(var(--bar-height) + 6px);box-shadow:0 3px 10px rgba(38,31,51,.06);color:var(--color-text);font-size:9px;font-variant-numeric:tabular-nums;font-weight:800;left:50%;line-height:1;padding:4px 5px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:3}
.report-chart-column:hover .report-chart-value-label,.report-chart-column:focus-visible .report-chart-value-label{opacity:.22}
.report-ranking-media--service-emoji{background:#f5f2f1;border-color:#e8e1df;border-radius:12px;color:var(--color-muted);font-size:17px;filter:saturate(.58);opacity:.88}
.report-ranking-media--service-emoji>span{line-height:1;transform:scale(.9)}
@media(max-width:640px){.report-chart-canvas{grid-template-columns:52px minmax(max(560px,calc(var(--chart-columns) * 58px)),1fr);min-width:612px}.report-chart-columns{grid-template-columns:repeat(var(--chart-columns),minmax(50px,1fr));gap:8px}.report-chart-value-label{font-size:8.5px}}

/* Shared reactive report controls and area chart — 2026-07-23 */
.report-filter-bar{align-items:end;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,230px) auto;gap:12px;padding:14px 16px;position:relative}
.report-period-control{min-width:0}
.report-period-segments{background:#f4f1f2;border:1px solid rgba(112,105,125,.12);border-radius:12px;display:flex;gap:3px;min-height:42px;overflow-x:auto;padding:4px;scrollbar-width:thin}
.report-period-segments button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--color-muted);cursor:pointer;display:flex;flex:0 0 auto;gap:6px;justify-content:center;min-height:32px;padding:6px 11px;font:750 11px/1.15 inherit;white-space:nowrap}
.report-period-segments button:hover{background:rgba(255,255,255,.68);color:var(--color-text)}
.report-period-segments button.is-active{background:#fff;box-shadow:0 3px 10px rgba(43,32,48,.09);color:var(--color-accent)}
.report-period-segments button small{color:var(--color-muted);font-size:8.5px;font-weight:650}
.report-location-filter{min-width:0}.report-location-filter>.mx-control,.report-location-filter>.mx-control-trigger{width:100%}
.report-export-actions{align-items:end;display:flex;gap:7px;justify-content:flex-end}
.report-action-button{gap:7px;min-height:42px;padding-inline:11px;white-space:nowrap}.report-action-button svg{fill:none;height:16px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:16px}.report-action-button:hover{border-color:rgba(154,93,102,.32);box-shadow:0 5px 14px rgba(43,32,48,.07);transform:translateY(-1px)}.report-action-button[aria-disabled=true]{cursor:not-allowed;opacity:.45;pointer-events:none}.report-action-button.is-loading{color:transparent;pointer-events:none;position:relative}.report-action-button.is-loading:after{animation:report-action-spin .7s linear infinite;border:2px solid rgba(154,93,102,.24);border-radius:50%;border-top-color:var(--color-accent);content:"";height:15px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:15px}@keyframes report-action-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.report-update-error{background:#fff2f2;border:1px solid #efd0d0;border-radius:9px;color:#984747;font-size:11px;grid-column:1/-1;margin:0;padding:8px 10px}
.report-range-dialog{border:0;border-radius:18px;box-shadow:0 24px 70px rgba(29,22,34,.22);max-width:520px;padding:0;width:calc(100% - 32px)}.report-range-dialog::backdrop{background:rgba(27,20,29,.38);backdrop-filter:blur(3px)}.report-range-dialog-head{align-items:flex-start;border-bottom:1px solid var(--report-border);display:flex;justify-content:space-between;padding:20px 22px}.report-range-dialog-head h2{font-size:19px;margin:3px 0 0}.report-range-dialog-head p{margin:0}.report-range-dialog-head>button{background:transparent;border:0;border-radius:8px;color:var(--color-muted);cursor:pointer;font-size:24px;height:34px;width:34px}.report-range-dialog-head>button:hover{background:var(--color-accent-soft);color:var(--color-accent)}.report-range-fields{display:grid;gap:12px;grid-template-columns:1fr 1fr;padding:20px 22px}.report-range-fields label{display:grid;gap:7px}.report-range-fields label>span{color:var(--color-muted);font-size:11px;font-weight:750}.report-range-dialog footer{border-top:1px solid var(--report-border);display:flex;gap:8px;justify-content:flex-end;padding:14px 22px}.report-range-error{color:#a34848;font-size:11px;margin:-8px 22px 14px}
.report-shell.is-updating .report-content{opacity:.48;pointer-events:none}.report-shell.is-updating .report-content:after{animation:report-pulse 1.1s ease-in-out infinite;background:linear-gradient(90deg,transparent,rgba(154,93,102,.08),transparent);content:"";inset:0;pointer-events:none;position:absolute}.report-shell.is-updating .report-content{min-height:320px;position:relative;transition:opacity .16s}.report-shell.is-updating .report-filter-bar{cursor:progress}.report-shell.is-updating .report-filter-bar>*{pointer-events:none}
.report-area-chart{color:var(--color-accent);min-width:0;padding:2px 0 0 72px;position:relative}.report-area-chart svg{display:block;height:auto;max-height:300px;overflow:visible;width:100%}.report-area-grid line{stroke:rgba(112,105,125,.15);stroke-dasharray:4 6;stroke-width:1}.report-area-fill{fill:url(#reportRevenueArea)}.report-area-line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3;vector-effect:non-scaling-stroke}.report-area-point{outline:none}.report-area-point circle{fill:#fff;stroke:currentColor;stroke-width:3;vector-effect:non-scaling-stroke}.report-area-point:not(.has-value) circle{fill:#d8d2d5;stroke:#fff;stroke-width:2}.report-area-point:hover circle,.report-area-point:focus-visible circle{fill:var(--color-accent-soft);r:7}.report-area-value{fill:var(--color-text);font-size:10px;font-weight:850;paint-order:stroke;stroke:#fff;stroke-linejoin:round;stroke-width:4px}.report-area-date{fill:var(--color-muted);font-size:9px;font-weight:650}.report-area-axis{bottom:43px;color:var(--color-muted);display:flex;flex-direction:column;font-size:9px;font-variant-numeric:tabular-nums;justify-content:space-between;left:0;position:absolute;text-align:right;top:5px;width:64px}.report-chart-scale-note{align-items:center;color:var(--color-muted);display:flex;font-size:9.5px;gap:5px;margin:6px 0 0}.report-chart-scale-note span{color:var(--color-accent)}
@media(max-width:1050px){.report-filter-bar{grid-template-columns:minmax(0,1fr) minmax(180px,220px)}.report-export-actions{grid-column:1/-1;justify-content:flex-start}.report-period-segments{scroll-snap-type:x proximity}.report-period-segments button{scroll-snap-align:start}}
@media(max-width:640px){.report-filter-bar{grid-template-columns:1fr;padding:12px}.report-period-segments{margin-inline:0;width:100%}.report-location-filter{grid-column:1;width:100%}.report-export-actions{display:flex;grid-column:1;justify-content:flex-start}.report-action-button{flex:0 0 auto}.report-range-fields{grid-template-columns:1fr}.report-area-chart{padding-left:48px}.report-area-axis{width:43px}.report-area-value{font-size:9px}.report-chart-card{overflow:hidden}.report-chart-slot{min-width:0}.report-area-chart svg{min-width:0;touch-action:manipulation}}
.report-area-tooltip{background:#292330;border-radius:8px;box-shadow:0 8px 24px rgba(30,24,38,.18);color:#fff;font-size:10px;font-weight:750;padding:7px 9px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:8}.report-area-tooltip[hidden]{display:none}

/* Reports navigation palette alignment — 2026-07-23 */
.report-navigation-tabs{background:rgba(255,250,249,.78);border-color:var(--color-line)}
.report-navigation-tabs a{color:#5f6675}
.report-navigation-tabs a:hover,.report-navigation-tabs a:focus-visible{background:#fbf2f1;color:var(--color-accent-strong)}
.report-navigation-tabs a.is-active{background:var(--color-accent-soft);box-shadow:0 3px 11px rgba(87,48,58,.08);color:var(--color-accent-strong)}
.report-navigation-tabs a.is-active:after{background:var(--color-accent-strong)}
.report-period-segments{background:#f6f1f0;border-color:var(--color-line)}
.report-period-segments button{border:1px solid transparent;color:#596273}
.report-period-segments button:hover{background:#fbf2f1;color:var(--color-accent-strong)}
.report-period-segments button.is-active{background:#fffafa;border-color:#eadbd9;box-shadow:0 3px 9px rgba(87,48,58,.07);color:var(--color-accent-strong)}
.report-period-segments button:focus-visible{outline:3px solid rgba(154,93,102,.16);outline-offset:1px}

/* Operational reports — team view */
.report-filter-bar--team{grid-template-columns:minmax(420px,1fr) minmax(160px,190px) minmax(150px,180px) minmax(150px,170px) auto}
.report-team-filter{display:grid;gap:6px;min-width:0}.report-team-filter>span{color:var(--color-muted);font-size:10px;font-weight:800;letter-spacing:.035em}.report-team-filter>.mx-control,.report-team-filter>.mx-control-trigger{width:100%}
.report-avatar{align-items:center;background:linear-gradient(145deg,#f6e9e7,#ead8d8);border:1px solid #e5d3d2;border-radius:50%;color:var(--color-accent-strong);display:inline-flex;flex:0 0 auto;font-weight:850;justify-content:center;letter-spacing:.02em;overflow:hidden;position:relative}.report-avatar>span{line-height:1}.report-avatar img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.report-avatar--small{font-size:9px;height:34px;width:34px}.report-avatar--medium{font-size:11px;height:42px;width:42px}.report-avatar--large{font-size:13px;height:48px;width:48px}
.report-top-performer-card{align-content:start;gap:9px}.report-top-performer-card>header{margin-bottom:0}.report-top-performer-card>strong{font-size:19px;line-height:1.1}.report-top-performer-card.is-empty{color:var(--color-muted)}.report-performer-identity{align-items:center;display:flex;gap:10px;min-width:0}.report-performer-identity>span{display:grid;gap:2px;min-width:0}.report-performer-identity strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-performer-identity small{color:var(--color-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.report-team-contribution{display:grid;gap:8px;margin-top:4px}.report-team-contribution-row{align-items:center;border-radius:11px;display:grid;gap:14px;grid-template-columns:minmax(190px,230px) minmax(120px,1fr) minmax(115px,auto);outline:none;padding:8px 10px;transition:background .16s}.report-team-contribution-row:hover,.report-team-contribution-row:focus-visible{background:#fbf5f4}.report-team-chart-person,.report-table-person{align-items:center;display:flex;gap:10px;min-width:0}.report-team-chart-person>span,.report-table-person>span{display:grid;gap:2px;min-width:0}.report-team-chart-person strong,.report-table-person a{color:var(--color-text);font-size:12px;font-weight:800;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.report-team-chart-person small,.report-table-person small{color:var(--color-muted);font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-table-person a:hover{color:var(--color-accent-strong)}.report-team-bar{background:#f2e8e7;border-radius:999px;height:12px;overflow:hidden;position:relative}.report-team-bar>i{background:linear-gradient(90deg,#bd8589,var(--color-accent-strong));border-radius:inherit;box-shadow:0 2px 7px rgba(108,55,68,.15);display:block;height:100%;width:var(--team-bar);transition:filter .16s,width .24s}.report-team-contribution-row:hover .report-team-bar>i{filter:saturate(1.08)}.report-team-chart-value{display:grid;gap:1px;text-align:right}.report-team-chart-value strong{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.report-team-chart-value small{color:var(--color-muted);font-size:9px;font-variant-numeric:tabular-nums}
.report-team-table-card{background:#fff;border:1px solid var(--report-border);border-radius:var(--report-radius);box-shadow:var(--report-shadow);overflow:hidden}.report-team-table-header{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:19px 20px}.report-team-table-header h2{font-size:16px;margin:0}.report-team-table-header p{color:var(--color-muted);font-size:10.5px;margin:4px 0 0}.report-team-table-header label{flex:0 0 min(270px,34%)}.report-team-table-header input{background:#fbfaf9;border:1px solid var(--report-border);border-radius:10px;color:var(--color-text);font:inherit;min-height:39px;padding:8px 11px;width:100%}.report-team-table-header input:focus{border-color:#d1a8aa;box-shadow:0 0 0 3px rgba(154,93,102,.11);outline:0}
.report-team-table-card .report-table-wrap{border-top:1px solid var(--report-border);overflow-x:auto}.report-team-table-card .report-table{min-width:1040px}.report-team-table-card .report-table th,.report-team-table-card .report-table td{font-size:10.5px;padding:12px 13px;vertical-align:middle}.report-team-table-card .report-table thead th{background:#fbfaf9;color:var(--color-muted);font-size:9.5px;font-weight:800;letter-spacing:.025em;white-space:nowrap}.report-team-table-card .report-table tbody tr:hover{background:#fdf8f7}.report-team-table-card .report-table tbody tr[hidden]{display:none}.report-team-table-card .report-table th:first-child{min-width:190px}.report-team-table-card .report-table .is-numeric{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.report-team-table-card .report-table .is-emphasis{color:var(--color-accent-strong);font-weight:850}.report-table [data-report-table-sort]{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;font-weight:inherit;gap:5px;padding:0}.report-table [data-report-table-sort]:hover{color:var(--color-accent-strong)}.report-table [data-report-table-sort] span{font-size:9px;opacity:.55}.report-table-action{color:var(--color-accent-strong);font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}.report-table-action:hover{text-decoration:underline}.report-table-pagination{align-items:center;border-top:1px solid var(--report-border);display:flex;justify-content:space-between;padding:11px 16px}.report-table-pagination[hidden]{display:none}.report-table-pagination small{color:var(--color-muted);font-size:10px}.report-table-pagination>div{display:flex;gap:6px}.report-table-pagination button{background:#fff;border:1px solid var(--report-border);border-radius:8px;color:var(--color-text);cursor:pointer;height:31px;width:31px}.report-table-pagination button:hover:not(:disabled){background:#fbf2f1;border-color:#dec8c6;color:var(--color-accent-strong)}.report-table-pagination button:disabled{cursor:not-allowed;opacity:.35}
@media(max-width:1380px){.report-filter-bar--team{grid-template-columns:minmax(420px,1fr) repeat(3,minmax(150px,1fr))}.report-filter-bar--team .report-export-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:1050px){.report-filter-bar--team{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-bar--team .report-period-control{grid-column:1/-1}.report-team-contribution-row{grid-template-columns:minmax(170px,210px) minmax(100px,1fr) auto}}
@media(max-width:760px){.report-team-contribution-row{gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:9px 4px}.report-team-bar{grid-column:1/-1;height:10px}.report-team-chart-value{grid-column:2;grid-row:1}.report-team-table-header{align-items:stretch;display:grid}.report-team-table-header label{width:100%}.report-team-table-card .report-table-wrap{overflow:visible}.report-team-table-card .report-table,.report-team-table-card .report-table tbody,.report-team-table-card .report-table tr,.report-team-table-card .report-table th,.report-team-table-card .report-table td{display:block;min-width:0;width:100%}.report-team-table-card .report-table thead{display:none}.report-team-table-card .report-table tbody{background:#f8f5f4;display:grid;gap:10px;padding:10px}.report-team-table-card .report-table tr{background:#fff;border:1px solid var(--report-border);border-radius:13px;padding:10px}.report-team-table-card .report-table td,.report-team-table-card .report-table th{align-items:center;border:0;display:flex;font-size:10.5px;justify-content:space-between;padding:6px 4px;text-align:right}.report-team-table-card .report-table td:before{color:var(--color-muted);content:attr(data-label);font-size:9.5px;font-weight:750;margin-right:16px;text-align:left}.report-team-table-card .report-table th:first-child{border-bottom:1px solid var(--report-border);justify-content:flex-start;margin-bottom:5px;min-width:0;padding-bottom:10px}.report-team-table-card .report-table td.is-numeric{text-align:right}.report-team-table-card .report-table td:last-child{justify-content:flex-end;padding-top:10px}.report-team-table-card .report-table td:last-child:before{display:none}.report-table-person{width:100%}}
@media(max-width:640px){.report-filter-bar--team{grid-template-columns:1fr}.report-filter-bar--team .report-period-control,.report-filter-bar--team .report-export-actions{grid-column:1}.report-team-filter{width:100%}.report-team-table-card{border-radius:14px}.report-team-table-header{padding:16px}.report-top-performer-card>strong{font-size:17px}}
.report-team-contribution-row{position:relative}.report-team-tooltip{background:#34272b;border-radius:8px;bottom:calc(100% - 2px);box-shadow:0 9px 25px rgba(50,34,39,.18);color:#fff;font-size:9.5px;font-weight:700;opacity:0;padding:7px 9px;pointer-events:none;position:absolute;right:8px;transform:translateY(4px);transition:opacity .15s,transform .15s;white-space:nowrap;z-index:8}.report-team-contribution-row:hover .report-team-tooltip,.report-team-contribution-row:focus-visible .report-team-tooltip{opacity:1;transform:translateY(0)}
@media(max-width:640px){.report-team-tooltip{bottom:auto;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;top:40px}}

/* Employee performance table alignment refinement — 2026-07-23 */
@media(min-width:761px){
 .report-team-table-card .report-table{table-layout:fixed;width:100%}
 .report-team-table-card .report-table thead tr{height:48px}
 .report-team-table-card .report-table tbody tr{height:64px}
 .report-team-table-card .report-table th,.report-team-table-card .report-table td{box-sizing:border-box;line-height:1.35;padding:11px 12px;vertical-align:middle}
 .report-team-table-card .report-table thead th{border-bottom:1px solid var(--report-border);text-align:left;vertical-align:middle}
 .report-team-table-card .report-table tbody th,.report-team-table-card .report-table tbody td{border-bottom:1px solid var(--report-border);vertical-align:middle}
 .report-team-table-card .report-table tbody tr:last-child>th,.report-team-table-card .report-table tbody tr:last-child>td{border-bottom:0}
 .report-team-table-card .report-table th:nth-child(1),.report-team-table-card .report-table td:nth-child(1){text-align:left;width:20%}
 .report-team-table-card .report-table th:nth-child(2),.report-team-table-card .report-table td:nth-child(2){text-align:left;width:12%}
 .report-team-table-card .report-table th:nth-child(3),.report-team-table-card .report-table td:nth-child(3){text-align:right;width:8%}
 .report-team-table-card .report-table th:nth-child(4),.report-team-table-card .report-table td:nth-child(4){text-align:right;width:8%}
 .report-team-table-card .report-table th:nth-child(5),.report-team-table-card .report-table td:nth-child(5){text-align:right;width:12%}
 .report-team-table-card .report-table th:nth-child(6),.report-team-table-card .report-table td:nth-child(6){text-align:right;width:9%}
 .report-team-table-card .report-table th:nth-child(7),.report-team-table-card .report-table td:nth-child(7){text-align:right;width:11%}
 .report-team-table-card .report-table th:nth-child(8),.report-team-table-card .report-table td:nth-child(8){text-align:right;width:10%}
 .report-team-table-card .report-table th:nth-child(9),.report-team-table-card .report-table td:nth-child(9){text-align:right;width:10%}
 .report-team-table-card .report-table th:nth-child(n+3) [data-report-table-sort]{justify-content:flex-end;width:100%}
 .report-team-table-card .report-table th:nth-child(-n+2) [data-report-table-sort]{justify-content:flex-start;width:100%}
 .report-team-table-card .report-table td:nth-child(7),.report-team-table-card .report-table td:nth-child(8){font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;white-space:nowrap}
 .report-team-table-card .report-table-person{align-items:center;min-height:40px}
 .report-team-table-card .report-table-person>span{align-content:center;min-height:34px}
 .report-team-table-card .report-table-action{display:inline-flex;justify-content:flex-end;text-align:right}
}
@media(max-width:760px){
 .report-team-table-card .report-table{table-layout:auto}
 .report-team-table-card .report-table th,.report-team-table-card .report-table td{height:auto;min-height:32px}
 .report-team-table-card .report-table-person{align-items:center;min-height:38px}
}

/* Shared report services presentation — 2026-07-23 */
.report-filter-bar--services{grid-template-columns:minmax(350px,1fr) repeat(4,minmax(135px,170px)) auto}
.report-service-badge{align-items:center;background:#f5f1f0;border:1px solid #e8dedc;border-radius:10px;color:var(--color-accent-strong);display:inline-flex;flex:0 0 auto;font-family:Georgia,"Times New Roman",serif;font-size:16px;font-weight:700;height:34px;justify-content:center;line-height:1;width:34px}.report-service-badge--large{border-radius:12px;font-size:20px;height:48px;width:48px}
.report-top-service-card{align-content:start;gap:7px}.report-top-service-card>header{margin-bottom:0}.report-top-service-card>strong{font-size:19px;line-height:1.1}.report-top-service-card.is-empty{color:var(--color-muted)}.report-service-identity{align-items:center;display:flex;gap:10px;min-width:0}.report-service-identity>span{display:grid;gap:2px;min-width:0}.report-service-identity strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-service-identity small,.report-service-top-meta{color:var(--color-muted);font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.report-chart-heading{align-items:center;display:flex;gap:7px}.report-chart-heading h2{margin:0}.report-chart-help{align-items:center;background:#faf4f3;border:1px solid #e6d6d4;border-radius:50%;color:var(--color-accent-strong);cursor:help;display:inline-flex;flex:0 0 auto;font-size:9px;font-weight:850;height:18px;justify-content:center;outline:none;position:relative;width:18px}.report-chart-help:after{background:#34272b;border-radius:8px;box-shadow:0 9px 25px rgba(50,34,39,.18);color:#fff;content:attr(data-tooltip);font-size:9.5px;font-weight:650;left:50%;line-height:1.4;max-width:280px;opacity:0;padding:8px 10px;pointer-events:none;position:absolute;top:calc(100% + 8px);transform:translate(-50%,-4px);transition:opacity .15s,transform .15s;width:max-content;z-index:10}.report-chart-help:hover:after,.report-chart-help:focus-visible:after{opacity:1;transform:translate(-50%,0)}
.report-table-service .report-service-badge{height:34px;width:34px}.report-services-table-card .report-table{min-width:1180px}
@media(min-width:761px){
 .report-services-table-card .report-table th:nth-child(1),.report-services-table-card .report-table td:nth-child(1){text-align:left;width:18%}
 .report-services-table-card .report-table th:nth-child(2),.report-services-table-card .report-table td:nth-child(2){text-align:left;width:10%}
 .report-services-table-card .report-table th:nth-child(3),.report-services-table-card .report-table td:nth-child(3){text-align:right;width:7%}
 .report-services-table-card .report-table th:nth-child(4),.report-services-table-card .report-table td:nth-child(4){text-align:right;width:7%}
 .report-services-table-card .report-table th:nth-child(5),.report-services-table-card .report-table td:nth-child(5){text-align:right;width:10%}
 .report-services-table-card .report-table th:nth-child(6),.report-services-table-card .report-table td:nth-child(6){text-align:right;width:8%}
 .report-services-table-card .report-table th:nth-child(7),.report-services-table-card .report-table td:nth-child(7){text-align:right;width:11%}
 .report-services-table-card .report-table th:nth-child(8),.report-services-table-card .report-table td:nth-child(8){text-align:right;width:10%}
 .report-services-table-card .report-table th:nth-child(9),.report-services-table-card .report-table td:nth-child(9){text-align:right;width:9%}
 .report-services-table-card .report-table th:nth-child(10),.report-services-table-card .report-table td:nth-child(10){text-align:right;width:10%}
 .report-services-table-card .report-table th:nth-child(n+3) [data-report-table-sort]{justify-content:flex-end;width:100%}
 .report-services-table-card .report-table td:nth-child(7),.report-services-table-card .report-table td:nth-child(8){font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;white-space:nowrap}
}
@media(max-width:1480px){.report-filter-bar--services{grid-template-columns:minmax(380px,1fr) repeat(4,minmax(140px,1fr))}.report-filter-bar--services .report-export-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:1050px){.report-filter-bar--services{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-bar--services .report-period-control{grid-column:1/-1}.report-filter-bar--services .report-export-actions{grid-column:1/-1}}
@media(max-width:640px){.report-filter-bar--services{grid-template-columns:1fr}.report-filter-bar--services .report-period-control,.report-filter-bar--services .report-export-actions{grid-column:1}.report-chart-help:after{left:auto;max-width:min(260px,calc(100vw - 48px));right:-12px;transform:translateY(-4px)}.report-chart-help:hover:after,.report-chart-help:focus-visible:after{transform:translateY(0)}.report-top-service-card>strong{font-size:17px}}
@media(max-width:760px){.report-services-table-card .report-table{min-width:0;width:100%}}
@media(max-width:640px){.report-filter-bar--services .report-export-actions{display:flex;max-width:100%;width:100%}.report-filter-bar--services .report-export-actions .report-action-button{flex:1 1 0;min-width:0;width:auto}}

/* Shared report locations presentation — 2026-07-23 */
.report-filter-bar--locations{grid-template-columns:minmax(390px,1fr) minmax(160px,190px) minmax(145px,175px) auto}
.report-top-location-card{align-content:start;gap:7px}.report-top-location-card>header{align-items:center;display:flex;justify-content:space-between;margin-bottom:0}.report-top-location-card>header em{background:#f7ecee;border:1px solid #ead9dc;border-radius:999px;color:var(--color-accent-strong);font-size:9px;font-style:normal;font-weight:800;padding:4px 7px}.report-top-location-card>strong{font-size:19px;line-height:1.1}.report-top-location-card.is-empty{color:var(--color-muted)}.report-location-identity{display:grid;gap:2px;min-width:0}.report-location-identity strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-location-identity small,.report-location-top-meta{color:var(--color-muted);font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.report-location-contribution .report-team-chart-person{padding-left:2px}.report-location-contribution .report-team-chart-person>span{display:grid;gap:2px;min-width:0}.report-location-contribution .report-team-chart-person strong,.report-location-contribution .report-team-chart-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-location-contribution .report-team-chart-person small{color:var(--color-muted);font-size:9.5px}
.report-location-trend .report-area-fill{fill:url(#reportLocationRevenueArea)}
.report-location-table-identity{align-items:center;display:flex;min-height:40px}.report-location-table-identity>span{display:grid;gap:5px;min-width:0}.report-location-table-identity a{color:var(--color-ink);font-weight:780;text-decoration:none}.report-location-table-identity a:hover{color:var(--color-accent-strong)}.report-location-table-identity small{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.report-location-table-identity em,.report-location-table-identity i{border-radius:999px;font-size:8.5px;font-style:normal;font-weight:780;line-height:1;padding:4px 6px}.report-location-table-identity em{background:#f7ecee;color:#743044}.report-location-table-identity i{background:#edf6f1;color:#337158}.report-location-table-identity i.is-inactive{background:#f3efed;color:#756b69}.report-locations-table-card .report-table{min-width:1320px}
@media(min-width:761px){.report-locations-table-card .report-table th:nth-child(1),.report-locations-table-card .report-table td:nth-child(1){text-align:left;width:15%}.report-locations-table-card .report-table th:nth-child(2),.report-locations-table-card .report-table td:nth-child(2){text-align:left;width:12%}.report-locations-table-card .report-table th:nth-child(3),.report-locations-table-card .report-table td:nth-child(3){text-align:right;width:7%}.report-locations-table-card .report-table th:nth-child(4),.report-locations-table-card .report-table td:nth-child(4){text-align:right;width:7%}.report-locations-table-card .report-table th:nth-child(5),.report-locations-table-card .report-table td:nth-child(5){text-align:right;width:9%}.report-locations-table-card .report-table th:nth-child(6),.report-locations-table-card .report-table td:nth-child(6){text-align:right;width:8%}.report-locations-table-card .report-table th:nth-child(7),.report-locations-table-card .report-table td:nth-child(7){text-align:right;width:10%}.report-locations-table-card .report-table th:nth-child(8),.report-locations-table-card .report-table td:nth-child(8){text-align:right;width:9%}.report-locations-table-card .report-table th:nth-child(9),.report-locations-table-card .report-table td:nth-child(9){text-align:right;width:8%}.report-locations-table-card .report-table th:nth-child(10),.report-locations-table-card .report-table td:nth-child(10){text-align:right;width:8%}.report-locations-table-card .report-table th:nth-child(11),.report-locations-table-card .report-table td:nth-child(11){text-align:right;width:7%}.report-locations-table-card .report-table th:nth-child(n+3) [data-report-table-sort]{justify-content:flex-end;width:100%}.report-locations-table-card .report-table td:nth-child(7),.report-locations-table-card .report-table td:nth-child(8){font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;white-space:nowrap}}
@media(max-width:1260px){.report-filter-bar--locations{grid-template-columns:minmax(370px,1fr) repeat(2,minmax(150px,1fr))}.report-filter-bar--locations .report-export-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:900px){.report-filter-bar--locations{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-bar--locations .report-period-control,.report-filter-bar--locations .report-export-actions{grid-column:1/-1}}
@media(max-width:760px){.report-locations-table-card .report-table{min-width:0;width:100%}}
@media(max-width:640px){.report-filter-bar--locations{grid-template-columns:1fr}.report-filter-bar--locations .report-period-control,.report-filter-bar--locations .report-export-actions{grid-column:1}.report-filter-bar--locations .report-export-actions{display:flex;max-width:100%;width:100%}.report-filter-bar--locations .report-export-actions .report-action-button{flex:1 1 0;min-width:0;width:auto}.report-top-location-card>strong{font-size:17px}}

/* Shared report clients presentation — 2026-07-23 */
.report-filter-bar--clients{grid-template-columns:minmax(350px,1fr) repeat(3,minmax(145px,180px)) auto}
.report-client-chart .report-client-area{fill:url(#reportClientArea);color:#9a5d66}.report-client-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.report-client-line.is-new{stroke:#9a5d66}.report-client-line.is-returning{stroke:#c28f91;stroke-dasharray:7 5}.report-client-point{outline:none}.report-client-point circle{fill:#fff;stroke-width:3}.report-client-point.is-new circle{stroke:#873b51}.report-client-point.is-returning circle{stroke:#bd8589}.report-client-point:focus circle,.report-client-point:hover circle{r:6}.report-chart-legend li.is-new-clients{color:#873b51}.report-chart-legend li.is-returning-clients{color:#bd8589}.report-chart-legend li.is-returning-clients:before{border-radius:999px;height:3px;width:14px}
.report-client-segments{background:#fff;border:1px solid var(--report-border);border-radius:var(--report-radius);box-shadow:var(--report-shadow);padding:17px 20px}.report-client-segments>header h2{font-size:15px;margin:0}.report-client-segments>header p{color:var(--color-muted);font-size:10px;margin:4px 0 0}.report-client-segments>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.report-client-segment{align-items:center;background:#fbf8f7;border:1px solid #eadfdd;border-radius:999px;color:var(--color-text);display:inline-flex;gap:7px;min-height:34px;padding:6px 10px;text-decoration:none;transition:background .16s,border-color .16s,color .16s}.report-client-segment:hover{background:#f8eeee;border-color:#dec9cb;color:var(--color-accent-strong)}.report-client-segment.is-active{background:#f5e7e9;border-color:#dcbfc4;color:#762d44}.report-client-segment span{font-size:10px;font-weight:750}.report-client-segment strong{font-size:11px}.report-client-segment small{color:var(--color-muted);font-size:8.5px}
.report-table-client small{align-items:center;display:flex;gap:5px}.report-table-client small em{background:#fff1e7;border-radius:999px;color:#97592f;font-size:8px;font-style:normal;font-weight:750;padding:3px 5px}.report-client-segment-badge{background:#f4efee;border-radius:999px;color:#6e6265;display:inline-flex;font-size:8.5px;font-weight:780;padding:5px 7px;white-space:nowrap}.report-client-segment-badge.is-vip{background:#f6e8ec;color:#7a3049}.report-client-segment-badge.is-inactive,.report-client-segment-badge.is-no_recent_visit{background:#efedec;color:#6e6866}.report-client-segment-badge.is-at_risk{background:#fff1e7;color:#95592f}.report-clients-table-card .report-table{min-width:1500px}
@media(min-width:761px){.report-clients-table-card .report-table th:nth-child(1),.report-clients-table-card .report-table td:nth-child(1){text-align:left;width:15%}.report-clients-table-card .report-table th:nth-child(2),.report-clients-table-card .report-table td:nth-child(2){text-align:left;width:9%}.report-clients-table-card .report-table th:nth-child(3),.report-clients-table-card .report-table td:nth-child(3){text-align:left;width:12%}.report-clients-table-card .report-table th:nth-child(4),.report-clients-table-card .report-table td:nth-child(4),.report-clients-table-card .report-table th:nth-child(5),.report-clients-table-card .report-table td:nth-child(5){text-align:center;width:8%}.report-clients-table-card .report-table th:nth-child(6),.report-clients-table-card .report-table td:nth-child(6),.report-clients-table-card .report-table th:nth-child(7),.report-clients-table-card .report-table td:nth-child(7){text-align:right;width:7%}.report-clients-table-card .report-table th:nth-child(8),.report-clients-table-card .report-table td:nth-child(8){text-align:right;width:10%}.report-clients-table-card .report-table th:nth-child(9),.report-clients-table-card .report-table td:nth-child(9){text-align:right;width:9%}.report-clients-table-card .report-table th:nth-child(10),.report-clients-table-card .report-table td:nth-child(10){text-align:right;width:8%}.report-clients-table-card .report-table th:nth-child(11),.report-clients-table-card .report-table td:nth-child(11){text-align:right;width:7%}.report-clients-table-card .report-table th:nth-child(n+6) [data-report-table-sort]{justify-content:flex-end;width:100%}.report-clients-table-card .report-table th:nth-child(4) [data-report-table-sort],.report-clients-table-card .report-table th:nth-child(5) [data-report-table-sort]{justify-content:center}.report-clients-table-card .report-table td:nth-child(2),.report-clients-table-card .report-table td:nth-child(3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-clients-table-card .report-table td:nth-child(8),.report-clients-table-card .report-table td:nth-child(9){font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;white-space:nowrap}}
@media(max-width:1450px){.report-filter-bar--clients{grid-template-columns:minmax(380px,1fr) repeat(3,minmax(145px,1fr))}.report-filter-bar--clients .report-export-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:1050px){.report-filter-bar--clients{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-bar--clients .report-period-control,.report-filter-bar--clients .report-export-actions{grid-column:1/-1}}
@media(max-width:760px){.report-clients-table-card .report-table{min-width:0;width:100%}.report-table-client{max-width:100%}}
@media(max-width:640px){.report-filter-bar--clients{grid-template-columns:1fr}.report-filter-bar--clients .report-period-control,.report-filter-bar--clients .report-export-actions{grid-column:1}.report-filter-bar--clients .report-export-actions{display:flex;width:100%}.report-filter-bar--clients .report-export-actions .report-action-button{flex:1 1 0;min-width:0}.report-client-segments{padding:14px}.report-client-segments>div{flex-wrap:nowrap;margin-inline:-4px;overflow-x:auto;padding:0 4px 5px}.report-client-segment{flex:none}.report-clients-table-card .report-table td{overflow-wrap:anywhere}.report-clients-table-card .report-table td:nth-child(2),.report-clients-table-card .report-table td:nth-child(3){white-space:normal}}
@media(max-width:640px){.report-shell,.report-content,.report-filter-bar{min-width:0;max-width:100%;width:100%;box-sizing:border-box}.report-content>*{min-width:0;max-width:100%;box-sizing:border-box}.report-primary-kpis{grid-template-columns:minmax(0,1fr)}.report-filter-bar--clients{grid-template-columns:minmax(0,1fr)}.report-filter-bar--clients>*{min-width:0}.report-period-segments{max-width:100%}}
@media(max-width:520px){.app-header{min-width:0;box-sizing:border-box}.app-header .header-search{min-width:0}.app-header .header-language{display:none}}

/* Appointments responsive workspace — structural overrides */
.appointment-calendar-layout,.calendar-shell,.appointment-filter-bar,.appointment-kpis{min-width:0}
.appointment-filter-bar{align-items:end;overflow:visible}
.appointment-more-filters{position:static;min-width:0}
.appointment-more-filters>summary{min-height:44px;outline:0}
.appointment-more-filters>summary:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(154,93,102,.16)}
.appointment-more-filters>div{position:static;width:auto;margin-top:10px;box-shadow:none;grid-template-columns:repeat(2,minmax(0,1fr))}
.appointment-more-filters[open]{grid-column:1/-1}
.appointment-more-filters[open]>div{display:grid;gap:10px}
.appointment-calendar-layout .calendar-shell{overflow:visible}
.calendar-view-switcher{display:grid;grid-template-columns:repeat(4,minmax(max-content,1fr));min-width:0}
.calendar-view-option{min-width:0;min-height:44px;white-space:nowrap}
.calendar-period-title{overflow-wrap:anywhere}
.calendar-more-events{display:block;padding:4px 5px;border-radius:6px;color:var(--color-accent-strong);background:#f8edef;font-size:9px;font-weight:850;text-decoration:none}
.calendar-day-cell.is-selected{background:#fff8f9;box-shadow:inset 0 0 0 2px rgba(154,90,100,.22)}
.calendar-time-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:rgba(154,93,102,.35) transparent}
.calendar-time-scroll .calendar-time-grid{margin-top:14px}
.calendar-time-label,.calendar-time-corner{position:sticky;z-index:3;left:0}
.calendar-time-day-heading{position:sticky;z-index:2;top:0}
.appointment-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.appointment-day-heading small{color:var(--color-muted);font-size:10px;font-weight:700}
.calendar-list-empty .button{margin-top:8px}

@media(max-width:800px){
  .appointments-hero{gap:16px;padding:18px 20px}
  .appointments-hero h1{font-size:30px}
  .appointment-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .appointment-kpis article{min-height:84px;align-content:center;padding:13px}
  .appointment-kpis strong{min-width:0;font-size:clamp(18px,5vw,23px);overflow-wrap:anywhere}
  .appointment-filter-bar{display:grid;grid-template-columns:1fr!important;padding:12px;max-height:none!important;overflow:visible!important}
  .appointment-filter-search{grid-column:auto!important}
  .appointment-filter-bar select,.appointment-filter-bar input,.appointment-filter-bar .button{min-height:44px;height:44px;font-size:13px}
  .appointment-more-filters{grid-column:auto!important}
  .appointment-more-filters>div{grid-template-columns:1fr}
  .calendar-toolbar{grid-template-columns:1fr;gap:10px}
  .calendar-toolbar .calendar-view-switcher{width:100%;max-width:none}
  .calendar-period-navigation{justify-content:center}
  .calendar-period-navigation .square-button,.calendar-today-button{min-width:44px;min-height:44px}
  .calendar-period-title{margin:12px 0;text-align:center;font-size:18px}
  .appointment-calendar-layout .calendar-shell{padding:12px;overflow:visible!important}
  .calendar-month-grid,.calendar-weekday-row{width:100%;min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))}
  .calendar-weekday-row{margin-top:12px;font-size:9px}
  .calendar-day-cell{min-width:0;min-height:92px;padding:3px}
  .calendar-day-actions{gap:1px}
  .calendar-slot-add{display:none}
  .calendar-day-number{width:24px;height:24px;font-size:11px}
  .calendar-day-events{gap:3px}
  .calendar-event{display:grid;grid-template-columns:1fr;gap:1px;padding:3px;border-left-width:2px}
  .calendar-event time{font-size:8px;text-align:left}
  .calendar-event span{display:block;min-width:0}
  .calendar-event strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}
  .calendar-event small{display:none}
  .calendar-more-events{overflow:hidden;padding:3px;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
  .appointment-specialists-panel{position:static;order:-1;padding:12px}
  .specialist-list{display:flex;gap:8px;max-height:none;margin-top:10px;padding:2px 0 7px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}
  .specialist-filter-reset,.specialist-card{flex:0 0 min(235px,78vw);min-height:72px;scroll-snap-align:start}
  .specialist-filter-reset{display:grid;place-items:center}
  .calendar-time-scroll{margin-inline:0}
  .calendar-time-grid{grid-template-columns:44px repeat(var(--calendar-days),minmax(128px,1fr));min-width:940px}
  .calendar-time-grid.is-day-view{grid-template-columns:44px minmax(240px,1fr);min-width:0}
  .calendar-time-label{padding-inline:3px;font-size:8px}
  .calendar-time-event{min-height:44px;padding:5px}
  .calendar-time-event time{font-size:9px}.calendar-time-event strong{font-size:10px}.calendar-time-event small{font-size:8px;white-space:normal}
  .appointment-list--grouped .appointment-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:8px;min-height:88px;padding:12px}
  .appointment-list--grouped .appointment-row>div:nth-of-type(2){grid-column:2/-1}
  .appointment-list--grouped .appointment-row .table-status{grid-column:3;grid-row:1;align-self:start}
}
@media(max-width:520px){
  .app-header{gap:7px;padding-inline:8px}
  .header-sidebar-toggle{flex:0 0 38px;width:38px;min-height:44px}
  .app-header-tools{flex:0 0 auto;gap:5px}
  .profile-menu>summary{min-width:44px;height:44px;padding:5px}
  .profile-menu .header-chevron{display:none}
  .header-search{flex:0 1 44px;min-width:44px;height:44px;transition:flex-basis .2s ease}
  .header-search input[type=search]{height:44px;padding-right:8px;color:transparent;cursor:pointer}
  .header-search input[type=search]::placeholder{color:transparent}
  .header-search:focus-within{position:absolute;z-index:140;inset:8px 62px 8px 54px;display:flex;height:auto}
  .header-search:focus-within input[type=search]{height:46px;color:var(--color-ink);cursor:text;box-shadow:0 8px 24px rgba(35,23,28,.14)}
  .header-search:focus-within input[type=search]::placeholder{color:#756a6d}
  .appointment-kpis strong{font-size:18px}
  .calendar-view-switcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px}
  .calendar-view-option{min-height:44px;font-size:12px}
  .calendar-period-navigation{display:grid;grid-template-columns:44px minmax(92px,1fr) 44px;width:100%}
  .calendar-day-cell{min-height:84px;padding-inline:2px}
  .appointment-create-dialog{inset:6px}
  .appointment-create-dialog>form{height:calc(100dvh - 12px)}
  .appointment-dialog-footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}
}
@media(max-width:340px){
  .appointment-kpis{grid-template-columns:1fr}
  .appointments-hero{padding:16px}
  .calendar-shell{padding-inline:8px!important}
  .calendar-weekday-row{font-size:8px}
  .calendar-day-cell{min-height:80px}
  .appointment-list--grouped .appointment-row{grid-template-columns:44px minmax(0,1fr)}
  .appointment-list--grouped .appointment-row .table-status{grid-column:2;grid-row:auto;justify-self:start}
}
/* Notifications activity center — Mexora Next */
.notifications-page{--notification-border:#e8dcda;display:grid;min-width:0;gap:16px;color:var(--color-ink)}
.notifications-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:23px 25px;border:1px solid var(--notification-border);border-radius:18px;background:linear-gradient(135deg,#fff,#fff9f7);box-shadow:0 10px 30px rgba(55,33,40,.045)}
.notifications-hero .eyebrow,.notification-settings-dialog .eyebrow{margin:0 0 5px;color:var(--color-accent-strong);font-size:9px;font-weight:850;letter-spacing:.09em}.notifications-title-line{display:flex;align-items:center;gap:10px}.notifications-title-line h1{margin:0;font-size:27px}.notifications-title-line>span{padding:5px 8px;border:1px solid #e5cfd3;border-radius:999px;color:var(--color-accent-strong);background:#f9ecee;font-size:9.5px;font-weight:800}.notifications-hero>div:first-child>p:last-child{max-width:760px;margin:6px 0 0;color:#62565a;font-size:12px}.notifications-hero-actions{display:flex;flex:0 0 auto;gap:8px}.notifications-hero-actions form{display:flex}.notifications-hero-actions .button{min-height:41px;gap:7px;font-size:11px}.notifications-hero-actions button:disabled{cursor:not-allowed;opacity:.45}
.notification-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.notification-kpi{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;min-height:92px;padding:13px 15px;border:1px solid var(--notification-border);border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(50,32,38,.035);text-decoration:none;transition:.16s}.notification-kpi:hover,.notification-kpi.is-active{border-color:#d9bfc4;background:#fffafa;box-shadow:0 9px 24px rgba(76,42,52,.065);transform:translateY(-1px)}.notification-kpi-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:#774052;background:#f5e9eb;font-size:12px;font-weight:900}.notification-kpi-icon.is-urgent{color:#96483e;background:#fff0ed}.notification-kpi-icon.is-system{color:#5f5863;background:#f1edee}.notification-kpi>span:last-child{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;min-width:0}.notification-kpi small{color:#706368;font-size:9px;font-weight:800;text-transform:uppercase}.notification-kpi strong{grid-row:1/3;grid-column:2;font-size:25px;font-variant-numeric:tabular-nums}.notification-kpi em{overflow:hidden;color:#85787c;font-size:9.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.notifications-controls{position:relative;display:grid;gap:9px;padding:11px 13px;border:1px solid var(--notification-border);border-radius:15px;background:#fff}.notification-tabs{display:flex;gap:4px;overflow-x:auto;padding:3px;scrollbar-width:none}.notification-tabs::-webkit-scrollbar{display:none}.notification-tabs a{display:flex;flex:0 0 auto;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border-radius:9px;color:#665b60;text-decoration:none;font-size:10.5px;font-weight:780}.notification-tabs a:hover{background:#fbf1f0;color:var(--color-accent-strong)}.notification-tabs a.is-active{color:var(--color-accent-strong);background:#f7e9eb;box-shadow:inset 0 0 0 1px #ead2d6}.notification-tabs strong{display:grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:999px;background:#fff;font-size:8.5px}
.notification-filter-panel{position:absolute;z-index:35;top:10px;right:12px}.notification-filter-panel>summary{display:flex;min-height:36px;align-items:center;gap:7px;padding:7px 11px;border:1px solid #e0d3d1;border-radius:9px;background:#fff;color:#51464a;cursor:pointer;list-style:none;font-size:10.5px;font-weight:780}.notification-filter-panel>summary::-webkit-details-marker{display:none}.notification-filter-panel[open]>summary{border-color:#d3b6bc;color:var(--color-accent-strong);background:#fff9f8}.notification-filter-panel>form{position:absolute;top:44px;right:0;width:min(720px,calc(100vw - 48px));padding:16px;border:1px solid #ddcfcd;border-radius:15px;background:#fff;box-shadow:0 22px 60px rgba(40,25,30,.17)}.notification-filter-panel form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.notification-filter-panel header strong{font-size:14px}.notification-filter-panel header p{margin:3px 0 0;color:#7b6e72;font-size:9.5px}.notification-filter-panel header a{color:var(--color-accent-strong);font-size:9.5px;font-weight:800}.notification-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.notification-filter-grid label{display:grid;min-width:0;gap:5px}.notification-filter-grid label>span{color:#675b60;font-size:9px;font-weight:800}.notification-filter-grid .mx-control,.notification-filter-grid .mx-control-trigger{width:100%;min-width:0}.notification-filter-grid .mx-control-trigger{height:39px}
.notifications-workspace{display:grid;grid-template-columns:minmax(0,1fr) 232px;align-items:start;gap:14px}.notifications-feed,.notification-quick-actions{min-width:0;border:1px solid var(--notification-border);border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(50,32,38,.04)}.notifications-feed>header{padding:16px 18px;border-bottom:1px solid #eee4e2}.notifications-feed>header h2,.notification-quick-actions h2{margin:0;font-size:16px}.notifications-feed>header p,.notification-quick-actions header p{margin:4px 0 0;color:#7d7175;font-size:9.5px}.notification-group>header{display:flex;align-items:center;gap:7px;padding:12px 18px 8px;background:#fcfaf9}.notification-group>header h3{margin:0;color:#594d52;font-size:10px;font-weight:850;text-transform:uppercase}.notification-group>header span{display:grid;min-width:19px;height:19px;place-items:center;border-radius:999px;color:#734256;background:#f4e8ea;font-size:8px;font-weight:850}.notification-group+.notification-group{border-top:1px solid #eee5e3}
.notification-row{position:relative;display:grid;grid-template-columns:7px 36px minmax(220px,1fr) 105px 116px minmax(105px,auto) 34px;align-items:center;gap:11px;min-height:78px;padding:11px 13px;border-top:1px solid #f0e8e6;background:#fff;transition:background .15s}.notification-group>div>.notification-row:first-child{border-top:0}.notification-row:hover{background:#fffaf9}.notification-row.is-unread{background:#fdf7f6;box-shadow:inset 3px 0 var(--color-accent)}.notification-row.is-read{opacity:.78}.notification-unread-dot{width:6px;height:6px;border-radius:50%;background:transparent}.notification-row.is-unread .notification-unread-dot{background:var(--color-accent)}.notification-category-icon{display:grid;width:34px;height:34px;place-items:center;border:1px solid #eadbd9;border-radius:10px;color:#774052;background:#f8eeee}.notification-category-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.notification-category-icon.is-system{color:#655e68;background:#f1eff0}.notification-category-icon.is-support{color:#73545d;background:#f6eff1}.notification-category-icon.is-billing{color:#795845;background:#faf1e9}
.notification-copy{display:grid;min-width:0;gap:4px}.notification-copy>div{display:flex;align-items:baseline;gap:7px;min-width:0}.notification-copy strong{overflow:hidden;color:#2b2326;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.notification-row.is-unread .notification-copy strong{color:#201719;font-weight:850}.notification-copy>div span{flex:0 0 auto;color:#8a7c80;font-size:8.5px}.notification-copy p{display:-webkit-box;overflow:hidden;margin:0;color:#685c60;font-size:10px;line-height:1.38;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notification-row time{color:#776a6e;font-size:9px;font-variant-numeric:tabular-nums;text-align:right}.notification-priority{justify-self:end;padding:5px 7px;border-radius:999px;color:#6d6467;background:#f2efee;font-size:8px;font-weight:800;white-space:nowrap}.notification-priority.is-high{color:#983f39;background:#fff0ee}.notification-priority.is-medium{color:#926024;background:#fff5e7}.notification-priority.is-informational{color:#625c67;background:#f1eff1}.notification-context-action{justify-self:end;color:var(--color-accent-strong);font-size:9.5px;font-weight:850;text-decoration:none;white-space:nowrap}.notification-context-action:hover{text-decoration:underline}
.notification-menu{position:relative;justify-self:end}.notification-menu>summary{display:grid;width:32px;height:32px;place-items:center;border:1px solid transparent;border-radius:9px;color:#75686d;cursor:pointer;list-style:none}.notification-menu>summary::-webkit-details-marker{display:none}.notification-menu[open]>summary,.notification-menu>summary:hover{border-color:#dfcfcd;background:#fff}.notification-menu>div{position:absolute;z-index:25;top:36px;right:0;display:grid;width:210px;padding:6px;border:1px solid #dfd1cf;border-radius:11px;background:#fff;box-shadow:0 16px 38px rgba(43,27,33,.16)}.notification-menu a,.notification-menu button{display:block;width:100%;padding:9px;border:0;border-radius:7px;color:#4b4044;background:transparent;font:700 9.5px/1.3 inherit;text-align:left;text-decoration:none;cursor:pointer}.notification-menu a:hover,.notification-menu button:hover{background:#faf1f0;color:var(--color-accent-strong)}.notification-menu button.is-danger{color:#9c4039}
.notification-quick-actions{position:sticky;top:78px;padding:15px}.notification-quick-actions header{padding:2px 2px 11px}.notification-quick-actions nav{display:grid;gap:5px}.notification-quick-actions a,.notification-quick-actions nav button{display:grid;grid-template-columns:29px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:43px;padding:7px;border:0;border-radius:10px;color:#493e42;background:#fff;text-align:left;text-decoration:none;font:750 10px/1.25 inherit;cursor:pointer}.notification-quick-actions a:hover,.notification-quick-actions nav button:hover{color:var(--color-accent-strong);background:#fbf1f0}.notification-quick-actions nav span{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;color:#764053;background:#f5e9eb}.notification-quick-actions nav b{font-size:12px}
.notification-empty,.notification-error{display:grid;min-height:260px;place-content:center;justify-items:center;padding:28px;text-align:center}.notification-empty>span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;color:#6f3e50;background:#f6e9eb;font-size:18px}.notification-empty h3,.notification-error strong{margin:11px 0 0;font-size:15px}.notification-empty p,.notification-error p{max-width:390px;margin:5px 0 12px;color:#7c7074;font-size:10.5px}.notification-loading{display:none;padding:12px}.notifications-page.is-loading .notification-loading{display:grid;gap:8px}.notifications-page.is-loading [data-notification-content]{display:none}.notification-loading span{height:70px;border-radius:11px;background:linear-gradient(90deg,#f1e9e7 25%,#fbf7f6 50%,#f1e9e7 75%);background-size:200% 100%;animation:notification-shimmer 1.1s linear infinite}@keyframes notification-shimmer{to{background-position:-200% 0}}.notification-error[hidden]{display:none}
.notification-settings-dialog{width:min(690px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(36,22,28,.28)}.notification-settings-dialog::backdrop{background:rgba(31,23,27,.42);backdrop-filter:blur(3px)}.notification-settings-dialog .notification-preferences{display:grid;max-height:inherit;margin:0;grid-template-rows:auto minmax(0,1fr) auto}.notification-settings-dialog header,.notification-settings-dialog footer{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:17px 19px;border-bottom:1px solid #e9dfdd}.notification-settings-dialog h2{margin:0;font-size:19px}.notification-settings-dialog header p:last-child{margin:4px 0 0;color:#75696d;font-size:10px}.notification-settings-dialog header>button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:9px;background:#f3edeb;font-size:20px;cursor:pointer}.notification-preference-list{display:grid;gap:7px;padding:16px 19px;overflow-y:auto}.notification-preference-list fieldset{display:grid;grid-template-columns:minmax(0,1fr) 130px 130px;align-items:center;gap:10px;margin:0;padding:11px 12px;border:1px solid #e9dfdd;border-radius:10px}.notification-preference-list legend{display:contents;font-size:10.5px;font-weight:800}.notification-settings-dialog footer{align-items:center;justify-content:flex-end;border-top:1px solid #e9dfdd;border-bottom:0;background:#fcfaf9}.notification-settings-dialog footer .button{margin:0}
@media(max-width:1100px){.notifications-workspace{grid-template-columns:1fr}.notification-quick-actions{position:static;grid-row:1;padding:12px}.notification-quick-actions header{display:none}.notification-quick-actions nav{grid-template-columns:repeat(4,minmax(0,1fr))}.notification-row{grid-template-columns:7px 36px minmax(190px,1fr) 94px 110px minmax(100px,auto) 34px}.notification-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.notifications-hero{align-items:flex-start;flex-direction:column}.notifications-hero-actions{width:100%}.notification-filter-panel{position:relative;top:auto;right:auto}.notification-filter-panel>summary{width:max-content}.notification-filter-panel>form{right:auto;left:0;width:min(690px,calc(100vw - 52px))}.notification-row{grid-template-columns:7px 36px minmax(0,1fr) 34px;gap:9px}.notification-row time,.notification-priority,.notification-context-action{grid-row:2}.notification-row time{grid-column:3;text-align:left}.notification-priority{grid-column:3;justify-self:start;margin-left:105px}.notification-context-action{grid-column:3;justify-self:end}.notification-menu{grid-column:4;grid-row:1/3}.notification-copy>div{align-items:flex-start;flex-direction:column;gap:2px}.notification-copy>div span{white-space:normal}.notification-quick-actions nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.notifications-page{gap:12px}.notifications-hero{padding:19px 17px}.notifications-title-line{align-items:flex-start;flex-direction:column;gap:6px}.notifications-title-line h1{font-size:24px}.notifications-hero-actions{display:grid;grid-template-columns:1fr 1fr}.notifications-hero-actions .button{width:100%;justify-content:center;padding-inline:8px;white-space:normal}.notification-kpis{grid-template-columns:1fr}.notification-kpi{min-height:76px}.notification-filter-panel>form{position:fixed;inset:auto 10px 12px;width:auto;max-height:calc(100dvh - 95px);overflow-y:auto}.notification-filter-grid{grid-template-columns:1fr}.notification-quick-actions nav{grid-template-columns:1fr 1fr}.notification-row{grid-template-columns:7px 34px minmax(0,1fr) 32px;min-height:0;padding:12px 10px}.notification-category-icon{width:32px;height:32px}.notification-row time,.notification-priority,.notification-context-action{grid-row:auto}.notification-row time{grid-column:3;margin-top:3px}.notification-priority{grid-column:3;margin:0;justify-self:start}.notification-context-action{grid-column:3;justify-self:start;padding-top:2px}.notification-menu{grid-column:4;grid-row:1/5;align-self:start}.notification-copy p{-webkit-line-clamp:3}.notification-group>header{padding-inline:13px}.notification-settings-dialog{width:100%;height:100dvh;max-height:none;margin:0;border-radius:0}.notification-preference-list fieldset{grid-template-columns:1fr 1fr}.notification-preference-list legend{display:block;grid-column:1/-1}.notification-settings-dialog footer .button{flex:1}}
@media(max-width:430px){.notifications-hero-actions{grid-template-columns:1fr}.notification-quick-actions nav{grid-template-columns:1fr}.notification-tabs a{padding-inline:9px}.notification-kpi strong{font-size:23px}.notification-preference-list{padding-inline:13px}.notification-settings-dialog header,.notification-settings-dialog footer{padding-inline:14px}}
.sidebar-notification-badge{display:grid;min-width:18px;height:18px;place-items:center;margin-left:auto;padding:0 5px;border-radius:999px;color:#fff;background:#a65463;font-size:8px;font-weight:850;font-variant-numeric:tabular-nums}.sidebar-notification-badge[hidden]{display:none}
.integration-email-test-panel .integration-sms-test-form{grid-template-columns:minmax(180px,.75fr) minmax(250px,1.25fr) auto}
.integration-email-test-panel textarea{width:100%;min-height:43px;padding:9px 12px;border:1px solid #d9cdca;border-radius:10px;background:#fff;color:#171d33;font:inherit;line-height:1.35;resize:vertical}
.integration-email-test-panel textarea:focus{border-color:#9c5267;outline:3px solid rgba(133,54,75,.11)}.integration-email-test-panel textarea:disabled{cursor:not-allowed;opacity:.58}
@media(max-width:980px){.integration-email-test-panel .integration-sms-test-form{grid-template-columns:1fr 1fr}.integration-email-test-panel .integration-sms-test-form .button{grid-column:1/-1}}
@media(max-width:760px){.integration-email-test-panel .integration-sms-test-form{grid-template-columns:1fr}.integration-email-test-panel .integration-sms-test-form .button{grid-column:auto}}
.stripe-plan-management{display:grid;gap:16px;margin:22px 0 0;padding-top:20px;border-top:1px solid #eadfdd}.stripe-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stripe-plan-card{display:grid;gap:14px;padding:16px;border:1px solid #e2d6d4;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(58,35,43,.045)}.stripe-plan-card>header,.stripe-plan-card>footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stripe-plan-card h3{margin:3px 0 0;color:#272d3e;font-size:17px}.stripe-plan-card header>div>span{color:#8b7880;font-size:8px;font-weight:850;letter-spacing:.05em}.stripe-plan-card form{display:grid;gap:10px}.stripe-plan-card .integration-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.stripe-plan-card label{display:grid;gap:5px;color:#716368;font-size:9px;font-weight:800}.stripe-plan-card input{width:100%;min-height:39px;padding:8px 10px;border:1px solid #ded2d0;border-radius:9px;background:#fff}.stripe-plan-card footer>div{display:grid;min-width:0;gap:3px}.stripe-plan-card footer small{color:#85777c;font-size:8px}.stripe-plan-card footer strong{overflow:hidden;color:#55494d;font-size:9px;text-overflow:ellipsis}.stripe-promotion-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px;border:1px solid #e1d4d5;border-radius:14px;background:#fcf8f9}.stripe-promotion-card h3{margin:0;font-size:14px}.stripe-promotion-card p{margin:4px 0 0;color:#7a6b70;font-size:10px}.stripe-promotion-card .integration-enable-field{margin:0}.stripe-promotion-card .button{white-space:nowrap}@media(max-width:1100px){.stripe-plan-grid{grid-template-columns:1fr}.stripe-plan-card .integration-fields{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:760px){.stripe-plan-card .integration-fields{grid-template-columns:1fr 1fr}.stripe-promotion-card{grid-template-columns:1fr}.stripe-promotion-card .button{width:100%;justify-content:center}}@media(max-width:430px){.stripe-plan-card .integration-fields{grid-template-columns:1fr}.stripe-plan-card>footer{align-items:stretch;flex-direction:column}.stripe-plan-card>footer .button{width:100%;justify-content:center}}

/* Automation controlled test delivery */
/* Critical, module-scoped guard for server-rendered automation SVGs. */
.automations-page :is(.automation-runtime-icon,.automation-metric-icon,.automation-channel-icon,.automation-kind-icon){display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;overflow:hidden;max-width:40px;max-height:40px}
.automations-page :is(.automation-runtime-icon,.automation-metric-icon,.automation-channel-icon){width:36px;height:36px}
.automations-page .automation-kind-icon{width:38px;height:38px}
.automations-page :is(.automation-runtime-icon,.automation-metric-icon,.automation-channel-icon,.automation-kind-icon)>svg{display:block;flex:0 0 auto;width:21px;height:21px;max-width:21px;max-height:21px;fill:none;stroke:currentColor}
.automation-test-open{width:100%;margin-top:16px}
.automation-last-test{margin:12px 0 0;color:#286347;font-size:.82rem;line-height:1.45}
.automation-test-dialog{width:min(760px,calc(100vw - 32px));max-height:min(880px,calc(100vh - 32px));padding:0;border:0;border-radius:24px;background:#fff;color:#251f24;box-shadow:0 26px 80px rgba(48,29,42,.25);overflow:hidden}
.automation-test-dialog::backdrop{background:rgba(26,18,24,.52);backdrop-filter:blur(4px)}
.automation-test-shell{display:flex;max-height:inherit;flex-direction:column}
.automation-test-shell>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 28px 20px;border-bottom:1px solid #eadfe7;background:linear-gradient(180deg,#fffafd,#fff)}
.automation-test-shell>header span{display:block;margin-bottom:5px;color:#9c547c;font-size:.7rem;font-weight:800;letter-spacing:.14em}
.automation-test-shell>header h2{margin:0;font-size:1.45rem}.automation-test-shell>header p{margin:7px 0 0;color:#6f626a;line-height:1.5}
.automation-test-shell>header button{width:38px;height:38px;border:1px solid #eadfe7;border-radius:12px;background:#fff;color:#614f5b;font-size:1.45rem;cursor:pointer}
.automation-test-shell>form{padding:22px 28px 26px;overflow:auto}
.automation-test-shell fieldset{padding:0;border:0}.automation-test-shell legend,.automation-test-examples h3{margin:0 0 10px;font-size:.86rem;font-weight:800}
.automation-test-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.automation-test-channel{display:flex;min-height:66px;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dfd2da;border-radius:15px;background:#fff;cursor:pointer}
.automation-test-channel:has(input:checked){border-color:#a84d7d;box-shadow:0 0 0 3px rgba(168,77,125,.1)}.automation-test-channel.is-unavailable{opacity:.58;cursor:not-allowed}
.automation-test-channel input{accent-color:#9f4776}.automation-test-channel strong,.automation-test-channel small{display:block}.automation-test-channel small{margin-top:3px;color:#786b73;font-size:.72rem}
.automation-test-destination{margin-top:18px}.automation-test-destination label,.automation-test-examples label{display:grid;gap:7px;color:#4b3d46;font-size:.8rem;font-weight:700}
.automation-test-destination input,.automation-test-examples input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dacbd4;border-radius:12px;background:#fff;color:#292128;font:inherit}
.automation-test-destination input:focus,.automation-test-examples input:focus{outline:3px solid rgba(168,77,125,.14);border-color:#a84d7d}
.automation-test-destination small,.automation-test-examples>p{color:#756871;font-size:.76rem;line-height:1.45}
.automation-test-examples{margin-top:20px;padding:17px;border-radius:17px;background:#fbf7fa}.automation-test-examples h3{margin-bottom:3px}.automation-test-examples>p{margin:0 0 13px}
.automation-test-examples>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.automation-test-preview{margin-top:18px;padding:17px;border:1px solid #eadfe7;border-radius:17px;background:#fff}.automation-test-preview>span{color:#95647e;font-size:.69rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.automation-test-preview h3{margin:7px 0;font-size:.95rem}.automation-test-preview p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.automation-test-preview small{display:block;margin-top:10px;color:#766771}
.automation-test-feedback{margin-top:15px;padding:12px 14px;border-radius:12px;font-size:.84rem;font-weight:700}.automation-test-feedback.is-success{background:#edf8f2;color:#286347}.automation-test-feedback.is-error{background:#fff0f2;color:#9b3346}
.automation-test-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:17px;border-top:1px solid #eadfe7}
@media(max-width:640px){.automation-test-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0}.automation-test-shell{height:100%}.automation-test-shell>header{padding:20px}.automation-test-shell>form{padding:18px 20px 22px}.automation-test-channels,.automation-test-examples>div{grid-template-columns:1fr}.automation-test-actions{position:sticky;bottom:-22px;margin-inline:-20px;padding:14px 20px 22px;background:#fff}.automation-test-actions .button{flex:1}}
/* Clients mobile workspace refinement */
.clients-selection-mode-toggle{display:none}
@media(max-width:700px){
.clients-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.clients-selection-mode-toggle{display:inline-flex;min-height:44px}
.clients-table-wrap{padding:12px;overflow:visible}.clients-table{display:grid;min-width:0;gap:12px}.clients-table-header{display:none}
.clients-table-client-row{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--color-line);border-radius:16px;box-shadow:0 8px 24px rgba(55,37,42,.06);overflow:visible}
.clients-table-client-row .client-checkbox-cell{display:none}.clients-selection-mode .clients-table-client-row{padding-left:52px}.clients-selection-mode .clients-table-client-row .client-checkbox-cell{position:absolute;top:18px;left:16px;display:block}
.client-identity{grid-column:1/-1;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;padding-right:48px}.client-avatar{width:42px;height:42px}.client-identity>span:last-child{white-space:normal}.client-identity>span:last-child>a{display:block;overflow-wrap:anywhere;white-space:normal}.client-name-link{margin-bottom:3px;font-size:15px;font-weight:850}.client-identity>span:last-child>a:not(.client-name-link){font-size:11px;line-height:1.45}
.client-date-cell,.client-number-cell,.client-money-cell{display:grid!important;align-content:start;min-width:0;min-height:72px;gap:5px;padding:11px;border:1px solid #eee4e1;border-radius:11px;background:#fcf9f8;white-space:normal;overflow-wrap:anywhere}.clients-table-client-row>[role=cell]:not(.client-identity):not(.client-actions)::before{position:static;display:block;margin:0;color:var(--color-muted);font-size:9px;font-weight:800;text-transform:uppercase;content:attr(data-label)}
.client-tags{grid-column:1/-1;display:flex!important;flex-wrap:wrap;gap:7px;padding:0;border:0;background:transparent}.client-tags::before{flex-basis:100%}.client-tags span{max-width:100%;overflow-wrap:anywhere}
.client-actions{grid-column:1/-1;display:block;padding-top:2px}.client-schedule-button{display:flex;width:100%;min-height:46px;align-items:center;justify-content:center;text-decoration:none}.client-row-actions{position:absolute;top:14px;right:14px}.client-row-actions summary{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--color-line);border-radius:11px;background:#fff;list-style:none}.client-row-actions>div{margin:0;max-width:calc(100vw - 24px);border:1px solid var(--color-line);border-radius:12px;background:#fff;box-shadow:0 18px 46px rgba(42,25,31,.18)}.client-row-actions a{min-height:44px;padding:12px}
.clients-bulk-bar{position:sticky;z-index:20;bottom:10px;flex-wrap:wrap}.client-create-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);margin:12px;border-radius:18px}.client-create-dialog>form{max-height:calc(100dvh - 24px);grid-template-rows:auto minmax(0,1fr) auto}.client-create-grid{grid-template-columns:1fr}.client-create-wide{grid-column:auto}.client-create-body{padding:16px;overflow-y:auto}.client-create-dialog header,.client-create-dialog footer{padding:14px 16px}.client-create-dialog header button{min-width:44px;min-height:44px}.client-create-dialog footer{position:sticky;bottom:0;display:flex;gap:10px}.client-create-dialog footer .button{flex:1;min-height:46px}.client-consent-grid{grid-template-columns:1fr}.client-create-dialog textarea{max-width:100%;resize:vertical}
.client-import-dialog{width:calc(100% - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);margin:12px;border-radius:18px}.client-import-dialog>form{height:100%;max-height:100%}.client-import-dialog header,.client-import-dialog footer{padding:13px 14px}.client-import-dialog header button{min-width:44px;min-height:44px}.client-import-body{padding:15px 14px;overflow-y:auto}.client-import-steps{grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 16px;padding:0}.client-import-steps li{min-width:0;font-size:8px}.client-import-steps li:not(:last-child)::after{left:calc(50% + 14px);right:calc(-50% + 14px)}.client-import-steps span{width:27px;height:27px}.client-upload-zone{gap:7px;padding:22px 14px}.client-upload-zone .button{min-height:44px}.client-upload-file{grid-template-columns:42px minmax(0,1fr);gap:10px}.client-upload-file>button{min-height:40px}.client-import-tools{display:grid;justify-content:stretch}.client-template-grid{grid-template-columns:1fr}.client-template-card{grid-template-columns:42px minmax(0,1fr);min-width:0;padding:13px}.client-template-card span:last-child{min-width:0}.client-template-card strong,.client-template-card small,.client-template-card em{white-space:normal;overflow-wrap:anywhere}.client-import-tips{padding:13px}.client-import-tips ul{grid-template-columns:1fr;padding-left:19px;font-size:11px;line-height:1.55}.client-import-dialog footer{display:flex;gap:8px}.client-import-dialog footer .button{min-width:0;min-height:46px;flex:1;padding-inline:10px}
}
@media(max-width:340px){.clients-table-client-row{grid-template-columns:1fr}.client-identity,.client-tags,.client-actions{grid-column:1}.client-import-dialog footer,.client-create-dialog footer{flex-direction:column}.client-import-dialog footer .button,.client-create-dialog footer .button{width:100%;flex:none}.client-import-steps li strong{display:none}}

/* Clients list — compact mobile controls and anchored row menu */
@media(max-width:700px){
  .clients-list-head{display:block;padding:16px 16px 10px}
  .clients-list-head p,.clients-selection-mode-toggle{display:none!important}
  .clients-toolbar-premium{display:grid;width:auto!important;max-width:calc(100% - 24px);box-sizing:border-box;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;margin:8px 12px 12px}
  .clients-toolbar-premium .clients-search{grid-column:1;min-width:0;width:auto}
  .clients-toolbar-premium .clients-search input{min-width:0;width:100%;height:46px;padding-right:36px;font-size:12px;text-overflow:ellipsis}
  .clients-filter-trigger{grid-column:2;width:auto!important;min-width:92px;height:46px;min-height:46px;padding-inline:12px;outline:0}
  .clients-filter-trigger:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(111,31,52,.16)}
  .clients-filter-trigger b{min-width:20px;height:20px;font-size:10px}
  .clients-sort{grid-column:1/-1;width:100%}
  .clients-sort select{width:100%;min-height:44px}
  .clients-reset-link{grid-column:1/-1;justify-self:end;height:44px}
  .clients-filter-chips{padding:0 12px 12px}
  .client-segments{display:flex;flex-wrap:nowrap;gap:7px;padding:0 12px 13px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:none}
  .client-segments::-webkit-scrollbar{display:none}
  .client-segments a{flex:0 0 auto;min-height:44px;padding-inline:12px;white-space:nowrap}
  .clients-table-client-row .client-checkbox-cell,.clients-selection-mode .clients-table-client-row .client-checkbox-cell{display:none!important}
  .clients-selection-mode .clients-table-client-row{padding-left:16px}
  .client-identity{min-width:0;padding-right:50px}
  .client-identity>span:last-child{min-width:0;overflow-wrap:anywhere}
  .client-identity>span:last-child>a{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
  .client-tags{align-items:flex-start}
  .client-actions{min-width:0}
  .client-schedule-button{min-width:0;min-height:46px}
  .client-row-actions{position:absolute;top:14px;right:14px;height:42px}
  .client-row-actions>div{position:absolute!important;top:6px!important;right:0!important;bottom:auto!important;left:auto!important;display:block!important;width:190px!important;height:max-content!important;min-height:0!important;max-height:min(240px,calc(100dvh - 24px));padding:6px!important;overflow:auto}
  .client-row-actions a{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:10px 11px;border-radius:8px;white-space:nowrap}
  .client-row-actions a:hover,.client-row-actions a:focus-visible{outline:0;color:var(--color-accent-strong);background:var(--color-accent-soft)}
  .client-row-actions a>span{display:grid;width:20px;height:20px;place-items:center;color:var(--color-accent-strong);font-size:15px}
}
@media(max-width:360px){
  .clients-toolbar-premium{max-width:calc(100% - 20px);gap:7px;margin-inline:10px}
  .clients-filter-trigger{min-width:84px;padding-inline:9px;font-size:11px}
  .clients-toolbar-premium .clients-search input::placeholder{color:transparent}
  .clients-toolbar-premium .clients-search::after{position:absolute;left:42px;color:#5b5053;content:"Caută client…";font-size:11px;pointer-events:none}
  .clients-toolbar-premium .clients-search:focus-within::after,.clients-toolbar-premium .clients-search:has(input:not(:placeholder-shown))::after{display:none}
}

/* Appointments desktop toolbar proportions and collapsible specialists rail */
@media(min-width:801px){
  .appointment-filter-bar{grid-template-columns:clamp(220px,16vw,260px) clamp(220px,16vw,260px) minmax(180px,1fr) minmax(150px,170px) auto;gap:10px}
  .appointment-filter-search{grid-column:3!important}
  .appointment-filter-bar>button[type=submit]{display:none}
  .appointment-more-filters{position:relative;grid-column:4!important;align-self:end;min-width:0}
  .appointment-more-filters[open]{grid-column:4!important}
  .appointment-more-filters>summary{display:flex;width:100%;min-height:38px;align-items:center;justify-content:center;gap:7px;padding:0 11px;white-space:nowrap}
  .appointment-more-filters>summary>b{display:grid;min-width:20px;height:20px;place-items:center;padding-inline:5px;border-radius:999px;color:#fff;background:var(--color-accent);font-size:9px}
  .appointment-more-filters>div{position:absolute;z-index:60;top:calc(100% + 7px);right:0;display:grid;width:380px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:12px;border:1px solid var(--color-line);border-radius:12px;background:#fff;box-shadow:0 18px 42px rgba(35,23,28,.16)}
  .appointment-filters-reset{display:flex;min-height:38px;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:1px solid var(--color-line);border-radius:8px;color:var(--color-accent-strong);background:#fff;text-decoration:none;font-size:11px;font-weight:750;white-space:nowrap}
  .appointment-filters-reset:hover,.appointment-filters-reset:focus-visible{outline:0;border-color:#c9adb1;background:var(--color-accent-soft);box-shadow:0 0 0 3px rgba(154,93,102,.12)}
}
@media(min-width:1201px){
  .appointment-calendar-layout:has(>.appointment-specialists-panel:not([open])){grid-template-columns:minmax(0,1fr) 54px}
  .appointment-specialists-panel:not([open]){width:54px;padding:8px}
  .appointment-specialists-panel:not([open])>summary{min-height:44px;justify-content:center}
  .appointment-specialists-panel:not([open])>summary>span:first-child{display:none}
  .appointment-specialists-panel:not([open])>summary>span:last-child{font-size:18px}
}

.specialists-mobile-heading,.specialist-sheet-header,.appointments-scroll-top{display:none}
.appointment-specialists-panel .specialist-card em{display:none}
@media(max-width:800px){
  html.specialist-sheet-open,html.specialist-sheet-open body{overflow:hidden}
  .appointment-more-filters{width:max-content;max-width:100%;justify-self:end}
  .appointment-more-filters[open]{width:100%;justify-self:stretch}
  .appointment-more-filters>summary{width:max-content;min-width:126px;margin-left:auto;padding-inline:12px;border-radius:999px}
  .appointment-more-filters>summary [data-more-filter-text]{font-size:0}
  .appointment-more-filters>summary [data-more-filter-text]::after{content:"Filtre";font-size:12px}
  .appointment-more-filters>summary>b{display:grid;min-width:20px;height:20px;place-items:center;padding-inline:5px;border-radius:999px;color:#fff;background:var(--color-accent);font-size:9px}
  .appointment-more-filters>div{width:100%;margin-top:8px}
  .appointment-filters-reset{display:flex;width:max-content;min-height:42px;align-items:center;justify-content:center;gap:5px;justify-self:end;padding:0 11px;border:1px solid var(--color-line);border-radius:999px;color:var(--color-accent-strong);background:#fff;text-decoration:none;font-size:11px;font-weight:750}
  .calendar-toolbar{position:sticky;z-index:35;top:61px;gap:6px;margin:-12px -12px 10px;padding:10px 12px;border-bottom:1px solid var(--color-line);background:rgba(255,253,252,.97);backdrop-filter:blur(12px)}
  .calendar-toolbar .calendar-view-switcher{display:grid;grid-template-columns:.9fr 1.35fr .65fr .8fr;gap:3px;padding:3px;overflow:visible}
  .calendar-view-option{min-height:40px;padding-inline:4px;font-size:11px}
  .calendar-period-navigation{display:grid;grid-template-columns:40px minmax(0,1fr) 40px auto;gap:5px;width:100%}
  .calendar-period-navigation .square-button{width:40px;min-width:40px;min-height:40px;height:40px}
  .calendar-period-navigation .calendar-period-title{align-self:center;margin:0;padding:0 3px;font-size:14px;line-height:1.25;text-align:center}
  .calendar-period-navigation .calendar-today-button{min-width:0;min-height:40px;padding-inline:9px;border-radius:999px;font-size:10px}
  .appointment-specialists-panel{position:static;order:-1;width:auto;padding:0;border:0;background:transparent;box-shadow:none}
  .appointment-specialists-panel>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:58px;padding:9px 13px;border:1px solid var(--color-line);border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(55,37,42,.045)}
  .specialists-desktop-heading{display:none!important}
  .specialists-mobile-heading{display:grid;gap:2px;min-width:0}
  .specialists-mobile-heading small{color:var(--color-muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
  .specialists-mobile-heading strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
  .appointment-specialists-panel>summary>span:last-child{font-size:18px;transform:rotate(180deg)}
  .appointment-specialists-panel[open]>summary>span:last-child{transform:none}
  .appointment-specialists-panel[open]::before{position:fixed;z-index:180;inset:0;background:rgba(31,24,27,.38);content:"";backdrop-filter:blur(2px)}
  .appointment-specialists-panel .specialist-list{position:fixed;z-index:190;right:0;bottom:0;left:0;display:grid;max-height:min(76dvh,640px);margin:0;padding:14px 14px max(18px,env(safe-area-inset-bottom));border:1px solid var(--color-line);border-radius:20px 20px 0 0;background:#fffdfc;box-shadow:0 -18px 54px rgba(35,23,28,.22);overflow-y:auto;transform:translateY(105%);transition:transform .2s ease}
  .appointment-specialists-panel[open] .specialist-list{transform:translateY(0)}
  .specialist-sheet-header{position:sticky;z-index:2;top:-14px;display:flex;align-items:center;justify-content:space-between;margin:-14px -14px 4px;padding:15px 16px 12px;border-bottom:1px solid var(--color-line);background:#fffdfc}
  .specialist-sheet-header>div{display:grid;gap:2px}.specialist-sheet-header small{color:var(--color-muted);font-size:9px}.specialist-sheet-header strong{font-size:16px}
  .specialist-sheet-header button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--color-line);border-radius:12px;background:#fff;color:var(--color-muted);font-size:21px}
  .specialist-filter-reset,.specialist-card{width:100%;min-height:62px;flex:none}
  .appointment-specialists-panel .specialist-card em{display:block;width:max-content;margin-top:3px;padding:2px 6px;border-radius:999px;color:var(--color-accent-strong);background:var(--color-accent-soft);font-size:8px;font-style:normal}
  .appointment-day-heading{position:sticky;z-index:20;top:166px;margin-inline:-2px;padding:8px 10px;border:1px solid var(--color-line);border-radius:9px;background:rgba(255,253,252,.96);backdrop-filter:blur(10px)}
  .appointments-scroll-top{position:fixed;z-index:80;right:14px;bottom:max(14px,env(safe-area-inset-bottom));display:flex;min-height:42px;align-items:center;gap:5px;padding:0 12px;border:1px solid #d8c5c9;border-radius:999px;color:var(--color-accent-strong);background:rgba(255,253,252,.96);box-shadow:0 10px 28px rgba(35,23,28,.16);font:inherit;font-size:11px;font-weight:800;backdrop-filter:blur(10px)}
  .appointments-scroll-top[hidden]{display:none}
}
@media(max-width:360px){
  .calendar-period-navigation{grid-template-columns:38px minmax(0,1fr) 38px auto;gap:3px}
  .calendar-period-navigation .calendar-today-button{padding-inline:7px;font-size:9px}
  .calendar-period-navigation .calendar-period-title{font-size:12px}
}

/* Dashboard mobile — one compact overview surface */
@media(max-width:620px){
  .dashboard-overview{gap:12px;margin-bottom:14px;padding:16px;border:1px solid #e3d7d3;border-radius:17px;background:linear-gradient(145deg,#fff7f5 0,#fffdfc 58%,#fff 100%);box-shadow:0 10px 28px rgba(54,34,40,.055)}
  .dashboard-overview>.dashboard-overview-main{display:grid;gap:14px;min-height:0;padding:0!important;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important}
  .dashboard-overview-copy .eyebrow{margin-bottom:3px;font-size:9px}
  .dashboard-overview-copy h1{font-size:26px;line-height:1.12}
  .dashboard-period-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}
  .dashboard-period-values>span{display:grid;align-content:center;min-width:0;min-height:76px;padding:11px 12px;border:1px solid #e5d8d5;border-radius:13px;color:#625559;background:rgba(255,255,255,.9);font-size:10px;line-height:1.3;overflow-wrap:anywhere}
  .dashboard-period-values strong{display:block;margin-bottom:5px;color:#171d33;font-size:clamp(17px,5vw,21px);line-height:1.05;overflow-wrap:anywhere}
  .dashboard-period-panel{gap:5px;margin:0;justify-items:stretch}
  .dashboard-period-switcher{width:100%;max-width:100%;box-sizing:border-box;padding:3px;border-radius:12px;scroll-snap-type:x proximity}
  .dashboard-period-switcher button{min-height:40px;padding-inline:11px;scroll-snap-align:start;font-size:10px}
  .dashboard-comparison{min-height:0;justify-content:flex-start;padding:3px 4px;border:0;border-radius:0;background:transparent;font-size:9px;font-weight:650}
  .dashboard-comparison.is-neutral{color:#776b6f;background:transparent}
  .dashboard-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:1px;border-top:1px solid #eee3e0}
  .dashboard-quick-actions .button{width:100%;min-width:0;min-height:46px;justify-content:center;padding-inline:9px;border-radius:11px;font-size:10px;line-height:1.2;text-align:center;white-space:normal}
  .dashboard-quick-actions>*:last-child:nth-child(odd){grid-column:1/-1}
  .dashboard-quick-actions>a:last-child:nth-child(odd){width:max-content;max-width:100%;min-height:36px;justify-self:start;padding:4px 7px;border-color:transparent;color:var(--color-accent-strong);background:transparent;box-shadow:none}
  .dashboard-quick-actions>a:last-child:nth-child(odd):hover,.dashboard-quick-actions>a:last-child:nth-child(odd):focus-visible{border-color:#dbc8cb;background:var(--color-accent-soft)}
  .dashboard-primary-widgets{gap:12px;margin-bottom:14px}
  .dashboard-widget{padding:16px;min-height:0}
}
@media(max-width:350px){
  .dashboard-overview{padding:14px}
  .dashboard-period-values>span{min-height:72px;padding:10px}
  .dashboard-period-values strong{font-size:17px}
  .dashboard-period-switcher button{padding-inline:9px}
}


/* Reactivation cards final responsive layout */
.reactivation-client-list-wrap,.reactivation-client-list,.reactivation-client-row{box-sizing:border-box;max-width:100%}
.reactivation-client-list-wrap{width:100%;min-width:0;overflow:visible}
.reactivation-client-list{display:grid;width:100%;min-width:0;gap:10px}
.reactivation-client-list .reactivation-client-header,.reactivation-client-list .reactivation-client-row{width:100%;min-width:0;grid-template-columns:44px minmax(220px,1.35fr) minmax(130px,.7fr) minmax(82px,.42fr) minmax(125px,.62fr) minmax(190px,.9fr) 44px}
.reactivation-client-header{border:1px solid var(--color-line);border-radius:12px;background:#fbf9f8}
.reactivation-client-row{padding-block:16px;border:1px solid var(--color-line);border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(55,37,42,.045)}
.reactivation-client-row:hover{border-color:#dfced1;box-shadow:0 10px 28px rgba(55,37,42,.075)}
.reactivation-client-row>*{min-width:0}.reactivation-avatar-link{text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}.reactivation-avatar-link:hover,.reactivation-avatar-link:focus-visible{outline:0;transform:translateY(-1px);box-shadow:0 0 0 3px rgba(154,93,102,.16)}
.reactivation-row-actions>div[hidden]{display:none!important}.reactivation-actions{display:flex;align-items:center;justify-content:flex-end}.reactivation-actions .client-row-actions{margin:0}
.reactivation-client-row .client-identity small,.reactivation-client-row .reactivation-eligibility-cell small{white-space:normal;overflow-wrap:break-word;word-break:normal}
@media(max-width:800px){
.reactivation-client-list-wrap{width:100%;min-width:0;padding:12px;overflow:visible}
.reactivation-client-list{display:grid;width:100%;min-width:0;max-width:100%;gap:12px}
.reactivation-client-list .reactivation-client-header{display:none}
.reactivation-client-list .reactivation-client-row{position:relative;display:grid;width:100%;min-width:0;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px;padding:16px;border:1px solid var(--color-line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(55,37,42,.06);overflow:visible}
.reactivation-client-row .reactivation-selection-cell{position:absolute;z-index:2;top:15px;left:15px;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--color-line);border-radius:11px;background:#fff}
.reactivation-client-row .client-identity{grid-column:1/-1;display:grid;width:100%;min-width:0;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:10px;padding-right:54px;padding-left:54px}
.reactivation-client-row .client-identity>span:last-child{display:grid;min-width:0;gap:3px}
.reactivation-client-row .client-identity small,.reactivation-client-row .client-name-link{max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal}
.reactivation-client-row .client-date-cell,.reactivation-client-row .client-number-cell,.reactivation-client-row .client-money-cell,.reactivation-client-row .reactivation-eligibility-cell{position:static;display:grid!important;width:auto;min-width:0;min-height:82px;grid-column:auto;align-content:start;justify-items:start;gap:6px;padding:11px;border:1px solid #eee4e1;border-radius:11px;background:#fcf9f8;white-space:normal;overflow:visible;overflow-wrap:break-word;word-break:normal}
.reactivation-client-row .reactivation-eligibility-cell::before,.reactivation-client-row>[role=cell]:not(.client-identity):not(.reactivation-selection-cell):not(.reactivation-eligibility-cell)::before{position:static;display:block;margin:0;color:var(--color-muted);font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;content:attr(data-label)}
.reactivation-client-row .eligibility-pill{max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal}
.reactivation-client-row .reactivation-eligibility-cell>small{max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal}
.reactivation-client-row .reactivation-eligibility-cell{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);min-height:0;align-items:center;align-content:center;column-gap:10px;row-gap:3px;padding:11px 12px;border-color:rgba(154,93,102,.12);background:linear-gradient(135deg,#fffdfc,#faf6f5)}.reactivation-client-row .reactivation-eligibility-cell::before{grid-column:1/-1;margin-bottom:1px}.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill{position:relative;padding:6px 10px 6px 25px;border:0;background:rgba(172,77,77,.08);font-size:10px;letter-spacing:.01em}.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill::before{position:absolute;top:50%;left:10px;width:7px;height:7px;border-radius:50%;background:#ad5b59;box-shadow:0 0 0 3px rgba(173,91,89,.12);content:"";transform:translateY(-50%)}.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill.is-eligible{color:#2f6a4d;background:rgba(54,121,93,.09)}.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill.is-eligible::before{background:#3d8b66;box-shadow:0 0 0 3px rgba(61,139,102,.13)}.reactivation-client-row .reactivation-eligibility-cell>small{color:#74676b;font-size:11px;line-height:1.4}
.reactivation-client-row .reactivation-actions{position:absolute;z-index:3;top:15px;right:15px;display:block;width:40px;height:40px;padding:0;grid-column:auto}.reactivation-actions .client-row-actions{position:relative;top:auto;right:auto;height:40px}.reactivation-actions .client-row-actions>button{display:grid;width:40px;height:40px;place-items:center;border:1px solid transparent;border-radius:12px;color:#76686d;background:rgba(255,255,255,.78);box-shadow:none;cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.reactivation-actions .client-row-actions>button svg{width:21px;height:21px;fill:currentColor}.reactivation-actions .client-row-actions>button:hover,.reactivation-actions .client-row-actions>button[aria-expanded="true"]{color:var(--color-accent-strong);background:#fff;box-shadow:0 7px 20px rgba(55,37,42,.11);transform:translateY(-1px)}.reactivation-actions .client-row-actions>button:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(154,93,102,.18),0 7px 20px rgba(55,37,42,.1)}
}
@media(max-width:340px){
.reactivation-client-list-wrap{padding-inline:10px}
.reactivation-client-list .reactivation-client-row{grid-template-columns:minmax(0,1fr)!important}
.reactivation-client-row .client-identity,.reactivation-client-row .client-date-cell,.reactivation-client-row .client-number-cell,.reactivation-client-row .client-money-cell,.reactivation-client-row .reactivation-eligibility-cell{grid-column:1}
}


/* Reactivation eligibility and actions — desktop refinement, mobile restore */
.reactivation-mobile-ellipsis{display:none}
(min-width:801px){
.reactivation-client-row .reactivation-eligibility-cell{position:relative;display:grid;align-content:center;justify-items:start;gap:6px;min-height:58px;padding:10px 12px 10px 15px;border:1px solid rgba(154,93,102,.12);border-radius:12px;background:linear-gradient(135deg,#fffdfc,#faf6f5)}
.reactivation-client-row .reactivation-eligibility-cell::before{position:absolute;top:10px;bottom:10px;left:0;width:3px;border-radius:0 4px 4px 0;background:#ad5b59;content:""}
.reactivation-client-row.is-eligible .reactivation-eligibility-cell{border-color:rgba(54,121,93,.14);background:linear-gradient(135deg,#fdfffe,#f4faf7)}
.reactivation-client-row.is-eligible .reactivation-eligibility-cell::before{background:#3d8b66}
.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill{padding:5px 9px;border:0;font-size:9px;letter-spacing:.025em;text-transform:uppercase}
.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill::before{display:none}
.reactivation-client-row .reactivation-eligibility-cell>small{color:#74676b;font-size:10px;line-height:1.35}
}
@media(max-width:800px){
.reactivation-client-row .reactivation-eligibility-cell{position:static;display:grid!important;width:auto;min-width:0;min-height:82px;grid-column:auto;grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;justify-items:start;gap:6px;padding:11px;border:1px solid #eee4e1;border-radius:11px;background:#fcf9f8;overflow:visible}
.reactivation-client-row .reactivation-eligibility-cell::before{position:static;display:block;grid-column:auto;margin:0;color:var(--color-muted);background:none;box-shadow:none;font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;content:attr(data-label);transform:none}
.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill,.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill.is-eligible{position:static;max-width:100%;padding:7px 10px;border:1px solid rgba(172,77,77,.2);background:rgba(172,77,77,.07);font-size:11px;letter-spacing:normal;text-transform:none}
.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill.is-eligible{border-color:rgba(54,121,93,.24);background:rgba(54,121,93,.08)}
.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill::before{display:none}
.reactivation-client-row .reactivation-eligibility-cell>small{color:var(--color-muted);font-size:10px;line-height:1.4}
.reactivation-client-row .reactivation-actions{width:44px;height:44px}
.reactivation-actions .client-row-actions{height:44px}
.reactivation-actions .client-row-actions>button{width:44px;height:44px;border:1px solid var(--color-line);border-radius:11px;color:var(--color-muted);background:#fff;box-shadow:none;transform:none}
.reactivation-actions .client-row-actions>button:hover,.reactivation-actions .client-row-actions>button[aria-expanded="true"]{color:var(--color-accent-strong);background:var(--color-accent-soft);box-shadow:none;transform:none}
.reactivation-actions .client-row-actions>button svg{display:none}
.reactivation-mobile-ellipsis{display:inline;font-size:15px;font-weight:800;letter-spacing:1px;line-height:1}
}
@media(max-width:340px){.reactivation-client-row .reactivation-eligibility-cell{grid-column:1}}


/* Reactivation status and action trigger simplification */
.reactivation-client-row .reactivation-eligibility-cell{min-height:0}
.reactivation-client-row .reactivation-eligibility-cell>small{display:none}
.reactivation-menu-dots{display:block;color:inherit;font-size:16px;font-weight:850;letter-spacing:1.5px;line-height:1;transform:translateY(-2px)}
.reactivation-actions .client-row-actions>button svg,.reactivation-mobile-ellipsis{display:none!important}
(min-width:801px){
.reactivation-client-row .reactivation-eligibility-cell,.reactivation-client-row.is-eligible .reactivation-eligibility-cell{display:flex;min-height:0;align-items:center;justify-content:flex-start;padding:0;border:0;border-radius:0;background:transparent}
.reactivation-client-row .reactivation-eligibility-cell::before{display:none}
.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill{padding:7px 11px;border:1px solid rgba(177,67,67,.2);color:#9b3f3f;background:#fff1f1;font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:none}
.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill.is-eligible{border-color:rgba(46,128,82,.22);color:#287249;background:#edf8f1}
.reactivation-actions .client-row-actions>button{width:36px;height:36px;border:0;border-radius:50%;color:#74686c;background:transparent;box-shadow:none}
.reactivation-actions .client-row-actions>button:hover,.reactivation-actions .client-row-actions>button[aria-expanded="true"]{color:var(--color-accent-strong);background:var(--color-accent-soft);box-shadow:none;transform:none}
}
@media(max-width:800px){
.reactivation-client-row .reactivation-eligibility-cell{min-height:76px}
.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill,.reactivation-client-row .reactivation-eligibility-cell .eligibility-pill.is-eligible{padding:7px 10px}
.reactivation-actions .client-row-actions>button{border-radius:11px}
}


/* Reactivation actions: visually dots only */
.reactivation-actions .client-row-actions>button,.reactivation-actions .client-row-actions>button:hover,.reactivation-actions .client-row-actions>button[aria-expanded="true"]{border:0!important;border-radius:0!important;color:#74686c;background:transparent!important;box-shadow:none!important;transform:none!important}
.reactivation-actions .client-row-actions>button:hover,.reactivation-actions .client-row-actions>button[aria-expanded="true"]{color:var(--color-accent-strong)}
.reactivation-actions .client-row-actions>button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;box-shadow:none!important}


/* Clients list without bulk selection column */
@media(min-width:1181px){.clients-table:not(.reactivation-client-list) .clients-table-row{grid-template-columns:minmax(220px,1.5fr) 120px 150px 70px 125px minmax(140px,1fr) minmax(150px,auto)}}


/* Reactivation mobile card alignment and simple checkbox */
@media(max-width:800px){
.reactivation-client-list .reactivation-client-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.reactivation-client-row .client-identity{grid-column:1/-1}
.reactivation-client-row .client-date-cell{grid-column:1}
.reactivation-client-row .client-number-cell{grid-column:2}
.reactivation-client-row .client-money-cell{grid-column:1}
.reactivation-client-row .reactivation-eligibility-cell{grid-column:2}
.reactivation-client-row .reactivation-selection-cell{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:0;background:transparent;box-shadow:none}
.reactivation-client-row .reactivation-selection-cell .mx-checkbox{width:36px;height:36px}
.reactivation-client-row .reactivation-selection-cell .mx-checkbox span{width:19px;height:19px;border-radius:5px}
}
@media(max-width:340px){
.reactivation-client-list .reactivation-client-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.reactivation-client-row .client-identity{grid-column:1/-1}
.reactivation-client-row .client-date-cell,.reactivation-client-row .client-money-cell{grid-column:1}
.reactivation-client-row .client-number-cell,.reactivation-client-row .reactivation-eligibility-cell{grid-column:2}
}


/* Appointments filter actions alignment */
.appointment-filter-actions{display:contents}
@media(max-width:800px){
.appointment-filter-bar>.appointment-filter-actions{position:relative;display:grid;width:100%;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.appointment-filter-actions .appointment-more-filters{grid-column:1;width:max-content;max-width:100%;justify-self:end}
.appointment-filter-actions .appointment-more-filters>summary{margin:0}
.appointment-filter-actions .appointment-filters-reset{grid-column:2;justify-self:start;margin:0}
.appointment-filter-actions .appointment-more-filters[open]{width:max-content;justify-self:end}
.appointment-filter-actions .appointment-more-filters>div{position:absolute;z-index:70;top:calc(100% + 8px);right:0;left:auto;width:min(360px,calc(100vw - 56px));margin:0;padding:12px;border:1px solid var(--color-line);border-radius:12px;background:#fff;box-shadow:0 18px 42px rgba(35,23,28,.16)}
}

#appointments-calendar{scroll-margin-top:76px}


/* Appointments mobile filter actions: equal and centered */
@media(max-width:800px){
.appointment-filter-bar>.appointment-filter-actions{width:min(100%,320px);max-width:320px;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:center;gap:8px;margin-inline:auto}
.appointment-filter-actions .appointment-more-filters,.appointment-filter-actions .appointment-more-filters[open]{width:100%;max-width:none;justify-self:stretch}
.appointment-filter-actions .appointment-more-filters>summary,.appointment-filter-actions .appointment-filters-reset{display:flex;width:100%;min-width:0;min-height:44px;height:44px;align-items:center;justify-content:center;margin:0;padding-inline:10px;box-sizing:border-box}
.appointment-filter-actions .appointment-filters-reset{justify-self:stretch}
.appointment-filter-actions .appointment-more-filters>div{right:50%;width:min(360px,calc(100vw - 32px));transform:translateX(50%)}
}


/* Prevent mobile specialists sheet flash during initialization */
@media(max-width:800px){
.appointment-specialists-panel[open]::before{display:none}
.appointment-specialists-panel[open] .specialist-list{transform:translateY(105%)}
html.specialist-sheet-open .appointment-specialists-panel[open]::before{display:block}
html.specialist-sheet-open .appointment-specialists-panel[open] .specialist-list{transform:translateY(0)}
}


/* Campaign all-eligible audience transparency */
.campaign-all-eligible-list{display:grid;max-height:360px;gap:8px;margin-top:12px;padding:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.campaign-all-eligible-client{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--color-line);border-radius:12px;background:#fff}
.campaign-all-eligible-client .client-avatar{width:38px;height:38px}
.campaign-all-eligible-client>span:nth-child(2){display:grid;min-width:0;gap:2px}
.campaign-all-eligible-client strong,.campaign-all-eligible-client small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.campaign-all-eligible-client strong{font-size:12px}.campaign-all-eligible-client small{color:var(--color-muted);font-size:10px}
@media(max-width:560px){.campaign-all-eligible-list{max-height:320px}.campaign-all-eligible-client{grid-template-columns:36px minmax(0,1fr);padding:10px}.campaign-all-eligible-client .client-avatar{width:36px;height:36px}.campaign-all-eligible-client .eligibility-pill{grid-column:2;justify-self:start}}




/* Campaign list mobile refinement */
.campaign-filter-toggle,.campaign-action-menu{display:none}
.campaign-status.status-scheduled{border-color:rgba(166,116,55,.25);color:#8a5d28;background:rgba(190,139,74,.1)}
.campaign-status.status-draft{border-color:rgba(112,101,105,.2);color:#6f6266;background:#f4f1f2}
.campaign-status.status-processing{border-color:rgba(62,100,152,.22);color:#3e6498;background:rgba(62,100,152,.08)}
.campaign-status.status-cancelled,.campaign-status.status-archived{border-color:rgba(112,101,105,.18);color:#75696d;background:#f0edee}
@media(max-width:800px){.campaigns-hero{gap:14px;padding:18px}.campaigns-hero h1{font-size:27px}.campaigns-hero>div>p:last-child{margin-bottom:0}.campaigns-hero>.button{width:100%;min-height:44px;justify-content:center}.campaigns-controls{padding:14px}.campaigns-list-panel{padding:12px}.campaigns-list-panel>.panel-toolbar{margin-bottom:6px}.campaigns-list-panel>.panel-toolbar h2{font-size:18px}.campaign-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.campaign-summary>div{min-height:68px;padding:11px 12px}.campaign-summary>div:last-child:nth-child(odd){grid-column:1/-1}.campaign-summary strong{font-size:20px}.campaign-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}.campaign-filters>label:first-of-type{grid-column:1;min-width:0}.campaign-filters>label:first-of-type input{min-width:0;height:44px}.campaign-filter-toggle{display:flex;grid-column:2;min-width:104px;height:44px;align-items:center;justify-content:center;gap:6px;padding-inline:12px}.campaign-filter-toggle b{display:grid;min-width:19px;height:19px;place-items:center;border-radius:999px;color:#fff;background:var(--color-accent);font-size:9px}.campaign-filters:not(.is-expanded)>label:not(:first-of-type),.campaign-filters:not(.is-expanded)>button[type=submit],.campaign-filters:not(.is-expanded)>a{display:none}.campaign-filters.is-expanded>label:not(:first-of-type){grid-column:1/-1}.campaign-filters.is-expanded>label select{width:100%;min-height:44px}.campaign-filters.is-expanded>button[type=submit],.campaign-filters.is-expanded>a{width:100%;min-height:44px}.campaign-table{display:grid;width:100%;min-width:0;gap:10px}.campaign-table .data-table-row:not(.data-table-header){display:grid;width:100%;min-width:0;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:0;padding:12px;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(55,37,42,.045)}.campaign-table .data-table-row:not(.data-table-header)>*{min-width:0}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(1){display:grid;grid-column:1/-1;gap:4px;padding:0 0 8px;border-bottom:1px solid rgba(154,93,102,.1)}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(1)::before,.campaign-table .data-table-row:not(.data-table-header)>:nth-child(2)::before,.campaign-table .data-table-row:not(.data-table-header)>:nth-child(3)::before,.campaign-table .campaign-row-actions::before{display:none!important;content:none!important}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(1)>strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(1)>small{color:var(--color-muted);font-size:11px;font-weight:650;color:#74676b}.campaign-table .channel-badge,.campaign-table .campaign-status{align-self:center;margin:0;padding:6px 9px;white-space:nowrap}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(n+4):nth-child(-n+6){display:grid;align-content:start;gap:4px;min-height:58px;padding:8px 9px;border:1px solid #eee5e3;border-radius:10px;background:#fcf9f8;overflow-wrap:anywhere}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(n+4):nth-child(-n+6)::before{margin:0;font-size:9px}.campaign-row-actions{position:relative;display:flex;grid-column:1/-1;flex-wrap:nowrap;gap:7px;padding-top:8px!important;border-top:1px solid rgba(154,93,102,.09)}.campaign-row-actions>a,.campaign-row-actions>form:not(.campaign-archive-direct){min-width:0;flex:1}.campaign-row-actions .button,.campaign-row-actions form .button{width:100%;min-height:40px}.campaign-archive-direct{display:none}.campaign-action-menu{position:relative;display:block;flex:0 0 44px}.campaign-action-menu>summary{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(154,93,102,.12);border-radius:11px;color:var(--color-ink);background:#fbf8f7;list-style:none;cursor:pointer;font-size:15px;font-weight:850;letter-spacing:1px}.campaign-action-menu>summary::-webkit-details-marker{display:none}.campaign-action-menu>summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.campaign-action-menu>div{position:absolute;z-index:80;right:0;bottom:calc(100% + 6px);width:max-content;min-width:150px;padding:6px;border:1px solid var(--color-line);border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(35,23,28,.16)}.campaign-action-menu form,.campaign-action-menu button{width:100%;margin:0}.campaign-action-menu button{min-height:40px;padding:8px 10px;border:0;border-radius:7px;color:var(--color-ink);background:transparent;text-align:left;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.campaign-action-menu button:hover,.campaign-action-menu button:focus-visible{outline:0;color:var(--color-accent-strong);background:var(--color-accent-soft)}}
@media(min-width:360px) and (max-width:800px){.campaign-table .data-table-row:not(.data-table-header){grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(1),.campaign-row-actions{grid-column:1/-1}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(2){grid-column:1}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(3){grid-column:2}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(4){grid-column:1}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(5){grid-column:2}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(6){grid-column:3}}
@media(max-width:340px){.campaign-table .data-table-row:not(.data-table-header)>:nth-child(n+4):nth-child(-n+6){grid-column:1/-1}.campaign-filters{grid-template-columns:minmax(0,1fr) auto}.campaign-filter-toggle{min-width:92px;padding-inline:9px}.campaign-row-actions{flex-wrap:wrap}.campaign-action-menu{margin-left:auto}}






/* Move only campaign badges into the visual header on mobile */
@media(min-width:360px) and (max-width:800px){.campaign-table .data-table-row:not(.data-table-header){grid-template-columns:minmax(0,1fr) auto auto}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(1){grid-column:1;padding-bottom:8px;border-bottom:0}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(2){grid-column:2;align-self:center}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(3){grid-column:3;align-self:center}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(4){grid-column:1}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(5){grid-column:2}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(6){grid-column:3}.campaign-table .data-table-row:not(.data-table-header)>.campaign-row-actions{grid-column:1/-1}}
@media(max-width:359px){.campaign-table .data-table-row:not(.data-table-header)>:nth-child(1){grid-column:1/-1;padding-bottom:4px;border-bottom:0}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(2){grid-column:1}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(3){grid-column:2}.campaign-table .data-table-row:not(.data-table-header)>:nth-child(n+4):nth-child(-n+6){grid-column:1/-1}.campaign-table .data-table-row:not(.data-table-header)>.campaign-row-actions{grid-column:1/-1}}


@media(max-width:800px){.campaign-table .data-table-row:not(.data-table-header)>:nth-child(3){margin-left:-5px}}


/* Campaign reports mobile parity with campaign cards */
.campaign-report-filter-toggle{display:none}
@media(max-width:800px){.campaign-reports-hero{padding:18px}.campaign-reports-hero h1{font-size:27px}.campaign-reports-controls{padding:14px}.campaign-reports-list-panel{padding:12px}.campaign-reports-list-panel>.panel-toolbar{margin-bottom:6px}.campaign-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.campaign-report-metrics>div{min-height:68px;padding:11px 12px}.campaign-report-metrics>div:last-child:nth-child(odd){grid-column:1/-1}.campaign-report-metrics dd{margin-top:5px;font-size:19px}.campaign-report-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0}.campaign-report-filter-toggle{display:flex;min-width:110px;min-height:44px;align-items:center;justify-self:end;justify-content:center;gap:6px}.campaign-report-filter-toggle b{display:grid;min-width:19px;height:19px;place-items:center;border-radius:999px;color:#fff;background:var(--color-accent);font-size:9px}.campaign-report-filters:not(.is-expanded)>label,.campaign-report-filters:not(.is-expanded)>button[type=submit]{display:none}.campaign-report-filters.is-expanded>label{width:100%}.campaign-report-filters.is-expanded select,.campaign-report-filters.is-expanded>button[type=submit]{width:100%;min-height:44px}.campaign-report-table{display:grid;width:100%;min-width:0;gap:10px}.campaign-report-table .data-table-row:not(.data-table-header){display:grid;width:100%;min-width:0;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:0;padding:12px;border:1px solid var(--color-line);border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(55,37,42,.045)}.campaign-report-table .data-table-row:not(.data-table-header)>*{min-width:0}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(1){display:grid;grid-column:1/-1;gap:4px;padding:0 0 4px;border:0}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(1)::before,.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(2)::before,.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(3)::before,.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(7)::before{display:none!important;content:none!important}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(1)>strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(1)>small{color:#74676b;font-size:11px;font-weight:650}.campaign-report-table .channel-badge,.campaign-report-table .campaign-status{align-self:center;margin:0;padding:6px 9px;white-space:nowrap}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(n+4):nth-child(-n+6){display:grid;align-content:start;gap:4px;min-height:58px;padding:8px 9px;border:1px solid #eee5e3;border-radius:10px;background:#fcf9f8;overflow-wrap:anywhere}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(n+4):nth-child(-n+6)::before{display:block;margin:0;color:var(--color-muted);content:attr(data-label);font-size:9px;font-weight:800;text-transform:uppercase}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(7){display:flex;grid-column:1/-1;padding-top:8px;border-top:1px solid rgba(154,93,102,.09)}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(7) .button{width:100%;min-height:40px}}
@media(min-width:360px) and (max-width:800px){.campaign-report-table .data-table-row:not(.data-table-header){grid-template-columns:minmax(0,1fr) auto auto}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(1){grid-column:1}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(2){grid-column:2}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(3){grid-column:3}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(4){grid-column:1}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(5){grid-column:2}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(6){grid-column:3}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(7){grid-column:1/-1}}
@media(max-width:359px){.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(1){grid-column:1/-1}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(2){grid-column:1}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(3){grid-column:2}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(n+4):nth-child(-n+7){grid-column:1/-1}}


/* Campaign reports mobile density refinement */
@media(max-width:800px){.campaign-report-filter-toggle{border-color:rgba(154,93,102,.16);outline:0;color:var(--color-accent-strong);background:#fff;box-shadow:0 3px 10px rgba(55,37,42,.035)}.campaign-report-filter-toggle:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(154,93,102,.16)}.campaign-report-filters.is-expanded{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.campaign-report-filters.is-expanded>.campaign-report-filter-toggle{grid-column:1/-1}.campaign-report-filters.is-expanded>label{min-width:0}.campaign-report-filters.is-expanded>button[type=submit]{grid-column:1/-1}.campaign-report-metrics{gap:7px}.campaign-report-metrics>div{min-height:58px;padding:9px 11px}.campaign-report-metrics dt{font-size:9px;line-height:1.25}.campaign-report-metrics dd{margin-top:4px;font-size:18px;line-height:1.2}.campaign-report-table .data-table-row:not(.data-table-header){grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px;padding:11px}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(1){grid-column:1/-1;padding-bottom:2px}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(2){grid-column:1}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(3){grid-column:2}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(4){grid-column:1}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(5){grid-column:2}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(6){grid-column:1/-1}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(n+4):nth-child(-n+6){min-height:52px;padding:7px 8px}.campaign-report-metric-value{font-size:12px;line-height:1.35}.campaign-report-metric-value.is-untracked{color:#75696d;font-size:12px}.campaign-report-card-action{grid-column:1/-1!important;padding-top:6px!important}.campaign-report-card-action .button{min-height:44px}}
@media(min-width:360px) and (max-width:800px){.campaign-report-table .data-table-row:not(.data-table-header){grid-template-columns:repeat(4,minmax(0,1fr))}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(1){grid-column:1/3}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(2){grid-column:3}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(3){grid-column:4}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(4){grid-column:1/3}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(5){grid-column:3/5}.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(6),.campaign-report-table .data-table-row:not(.data-table-header)>:nth-child(7){grid-column:1/-1}}
@media(max-width:359px){.campaign-report-filters.is-expanded{grid-template-columns:minmax(0,1fr)}.campaign-report-filters.is-expanded>*{grid-column:1!important}}

/* Campaign reports: primary KPI strip above filters */
@media(max-width:800px){
  .campaign-reports-controls .campaign-report-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 12px}
  .campaign-reports-controls .campaign-report-metrics>div,.campaign-reports-controls .campaign-report-metrics>div:last-child:nth-child(odd){grid-column:auto;min-height:58px;padding:9px 8px}
  .campaign-reports-controls .campaign-report-metrics dt{font-size:8px;overflow-wrap:anywhere}
.campaign-reports-controls .campaign-report-metrics dd{font-size:18px}
}

.service-menu>div form{width:100%;margin:0}.service-menu>div button{display:block;width:100%;min-height:36px;padding:7px 9px;border:0;border-radius:8px;background:transparent;color:var(--color-ink);font:inherit;font-size:12px;font-weight:750;text-align:left;cursor:pointer}.service-menu>div button.is-danger{color:#9b3f38}.service-menu>div button:hover,.service-menu>div button:focus-visible{outline:0;background:#f7efed}

/* Services mobile compact catalogue */
.services-mobile-filter-toggle{display:none}
@media(max-width:767px){
.services-controls--compact{padding:10px 11px}.services-filter-heading{align-items:center;margin:0 0 8px}.services-filter-heading h2{display:none}.services-mobile-filter-toggle{display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:0 12px;border:1px solid rgba(154,93,102,.18);border-radius:999px;background:#fff;color:var(--color-accent-strong);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.services-mobile-filter-toggle b{display:grid;min-width:19px;height:19px;place-items:center;padding:0 5px;border-radius:999px;background:var(--color-accent);color:#fff;font-size:9px}.services-mobile-filter-toggle:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(154,93,102,.15)}.services-filter-heading .services-reset{margin-left:auto}.services-filter-grid{grid-template-columns:1fr!important;gap:8px}.services-filter-grid>.services-search{display:grid!important;grid-column:1!important}.services-filter-grid>label:not(.services-search){display:none}.services-controls form.is-mobile-expanded .services-filter-grid>label{display:grid}.services-controls form.is-mobile-expanded .services-filter-grid{padding-top:4px;border-top:1px solid rgba(154,93,102,.1)}
.service-category-group{display:grid;gap:7px}.service-category-header{min-height:44px;padding:8px 11px;border:0;border-left:3px solid var(--color-accent);border-radius:10px;background:#f5eceb}.service-category-header h2{color:var(--color-accent-strong);font-size:12px;letter-spacing:.035em;text-transform:uppercase}.service-category-header span{font-size:9px}.service-category-header>b{padding:4px 7px;font-size:9px}.service-category-group .services-list-shell{border-radius:0}.services-table--grouped tbody{display:grid;gap:8px}.services-table--grouped .service-row{position:relative;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:11px 12px;border:1px solid #e7ddda;border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(50,32,38,.035)}.services-table--grouped .service-row td:first-child{grid-column:1/-1;padding-right:108px}.services-table--grouped .service-row td:nth-child(2),.services-table--grouped .service-row td:nth-child(4){display:none!important}.services-table--grouped .service-row td:nth-child(3),.services-table--grouped .service-row td:nth-child(5),.services-table--grouped .service-row td:nth-child(6){grid-column:auto!important;min-height:39px;padding:6px!important;border:1px solid #eee5e2!important;border-radius:9px;background:#fcf9f8}.services-table--grouped .service-row td:nth-child(3)::before,.services-table--grouped .service-row td:nth-child(5)::before,.services-table--grouped .service-row td:nth-child(6)::before{font-size:8px}.service-main{gap:1px}.service-main>a,.service-main>strong{font-size:14px}.service-main small:not(.service-booking-warning){max-width:100%;font-size:10px}.service-booking-warning{margin-top:3px;font-size:9px!important}.services-table--grouped .service-row td:last-child{position:absolute;top:9px;right:9px;display:flex!important;width:auto;grid-column:auto;padding:0!important;border:0!important;gap:3px}.services-table--grouped .service-row td:last-child::before{display:none}.service-actions>.service-edit{min-height:32px;padding:5px 8px;border-color:transparent;background:#f8f2f1;font-size:10px}.service-menu{margin-left:0}.service-menu>div{top:36px;right:0;bottom:auto}.services-page--grouped.is-loading .services-skeleton span{height:122px}
}
@media(max-width:340px){.services-table--grouped .service-row{grid-template-columns:repeat(2,minmax(0,1fr))}.services-table--grouped .service-row td:nth-child(6){grid-column:1/-1!important}.services-table--grouped .service-row td:first-child{padding-right:96px}.service-actions>.service-edit{padding-inline:7px}}

/* Services mobile filter row and active chips */
.services-active-filter-chips{display:none}
@media(max-width:767px){.services-controls--compact .services-filter-heading{display:none}.services-controls--compact .services-filter-grid{display:grid;grid-template-columns:minmax(0,1fr) auto!important;align-items:end;gap:8px}.services-controls--compact .services-filter-grid>.services-search{display:grid!important;grid-column:1!important;min-width:0}.services-controls--compact .services-mobile-filter-toggle{display:inline-flex;grid-column:2;grid-row:1;width:auto;min-width:102px;height:46px;min-height:46px;align-items:center;justify-content:center;gap:6px;padding:0 11px;border:1px solid #d9cdca;border-radius:10px;background:#fff;color:var(--color-accent-strong);box-sizing:border-box}.services-mobile-filter-toggle>svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.services-mobile-filter-toggle:hover{border-color:#c9adb1;background:#fcf8f7}.services-mobile-filter-toggle:focus-visible{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(154,93,102,.15)}.services-controls--compact .services-filter-grid>label:not(.services-search){display:none;grid-column:1/-1}.services-controls--compact form.is-mobile-expanded .services-filter-grid>label:not(.services-search){display:grid}.services-controls--compact form.is-mobile-expanded .services-filter-grid>label:nth-of-type(2){margin-top:3px}.services-active-filter-chips{display:flex;max-width:100%;flex-wrap:wrap;gap:6px;margin-top:9px}.services-active-filter-chips a{display:inline-flex;min-height:30px;max-width:100%;align-items:center;gap:6px;padding:5px 8px 5px 10px;border:1px solid rgba(154,93,102,.17);border-radius:999px;background:#f8f1f1;color:var(--color-accent-strong);font-size:10px;font-weight:750;text-decoration:none}.services-active-filter-chips a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.services-active-filter-chips a b{font-size:15px;font-weight:500;line-height:1}.services-active-filter-chips a:hover,.services-active-filter-chips a:focus-visible{outline:0;border-color:rgba(154,93,102,.35);background:var(--color-accent-soft);box-shadow:0 0 0 2px rgba(154,93,102,.1)}}
@media(max-width:340px){.services-controls--compact .services-mobile-filter-toggle{min-width:94px;padding-inline:9px}.services-controls--compact .services-mobile-filter-toggle>svg{width:16px}}

/* Location status cards: stable three-column row */
.location-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.location-filters .button{width:100%;min-width:0;justify-content:center}
@media(max-width:430px){.location-filters{gap:7px}.location-filters .button{min-height:44px;padding-inline:7px;font-size:11px}.location-filters .button span{min-width:19px;padding-inline:5px}}

/* Location editor: complete scrollable viewport */
.location-edit-dialog>form{grid-template-rows:auto auto minmax(0,1fr) auto}.location-dialog-body{min-width:0;min-height:0;overscroll-behavior:contain;scrollbar-gutter:stable}.location-dialog-body>section{padding-bottom:4px}
@media(max-width:700px){.location-edit-dialog>form{width:100%;height:100%;max-height:100%;overflow:hidden}.location-dialog-body{min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(28px + env(safe-area-inset-bottom))}.location-edit-dialog>form>footer{position:relative;z-index:4;flex:0 0 auto;padding-bottom:calc(15px + env(safe-area-inset-bottom));background:#fcfaf9}.location-week{padding-bottom:4px}.location-week>.location-day:last-child,.location-dialog-grid>*:last-child{margin-bottom:2px}}
@media(max-width:640px){.report-chart-slot.has-mobile-pie>:not(.report-mobile-pie){display:none!important}.report-mobile-pie{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);align-items:center;gap:18px;padding:8px 2px}.report-mobile-pie-disc{width:100%;aspect-ratio:1;border:9px solid #fff;border-radius:50%;box-shadow:0 7px 22px rgba(62,39,46,.12)}.report-mobile-pie-legend{display:grid;gap:8px;max-height:230px;margin:0;padding:0;overflow:auto;list-style:none}.report-mobile-pie-legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;font-size:11px}.report-mobile-pie-legend li i{width:10px;height:10px;border-radius:50%;background:var(--pie-color)}.report-mobile-pie-legend li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-mobile-pie-legend li strong{font-size:11px}}@media(max-width:390px){.report-mobile-pie{grid-template-columns:1fr}.report-mobile-pie-disc{width:min(190px,72vw);margin:auto}.report-mobile-pie-legend{max-height:180px}}@media(min-width:641px){.report-mobile-pie{display:none}}
/* Mobile revenue trend — responsive rendering; desktop source remains unchanged */
.report-mobile-revenue-chart,.report-mobile-trend-summary{display:none}
@media(max-width:640px){
.report-chart-card:has(.report-revenue-trend){padding:16px 14px;overflow:hidden}
.report-chart-card:has(.report-revenue-trend)>header{margin-bottom:12px;padding-bottom:12px}
.report-chart-card:has(.report-revenue-trend) .report-chart-legend{display:none}
.report-revenue-trend{width:100%;max-width:100%;min-width:0;height:auto;padding:0;overflow:visible}
.report-revenue-trend>svg,.report-revenue-trend>.report-area-tooltip,.report-revenue-trend>.report-area-axis,.report-revenue-trend>.report-chart-scale-note{display:none}
.report-mobile-revenue-chart{display:block;position:relative;width:100%;max-width:100%;min-width:0;height:240px;overflow:visible}
.report-mobile-revenue-chart svg{display:block;width:100%;max-width:100%;min-width:0;height:240px;overflow:visible;touch-action:manipulation;outline:0}
.report-mobile-revenue-grid{stroke:rgba(112,105,125,.18);stroke-dasharray:4 5;stroke-width:1}
.report-mobile-revenue-area{fill:rgba(139,61,84,.08)}
.report-mobile-revenue-line{fill:none;stroke:#8b3d54;stroke-width:3.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.report-mobile-revenue-point{fill:#fff;stroke:#8b3d54;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}
.report-mobile-revenue-point.is-active{fill:#8b3d54;stroke:#fff;stroke-width:3.5;r:7}
.report-mobile-revenue-y,.report-mobile-revenue-x{fill:var(--color-muted);font-family:inherit;font-size:12px;font-weight:650;white-space:nowrap}
.report-mobile-revenue-tooltip{position:absolute;z-index:5;display:grid;gap:2px;min-width:124px;padding:8px 10px;border-radius:9px;color:#fff;background:#302529;box-shadow:0 7px 20px rgba(48,37,41,.24);transform:translateX(-50%);text-align:left;pointer-events:none}
.report-mobile-revenue-tooltip[hidden]{display:none}
.report-mobile-revenue-tooltip span{font-size:12px;line-height:1.2;color:rgba(255,255,255,.76)}
.report-mobile-revenue-tooltip strong{font-size:13px;line-height:1.25;white-space:nowrap}
.report-mobile-trend-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0 0;padding:0;border-top:1px solid var(--report-border);border-bottom:1px solid var(--report-border)}
.report-mobile-trend-summary>div{display:grid;align-content:start;gap:5px;min-width:0;padding:12px 8px;background:transparent}
.report-mobile-trend-summary>div:nth-child(2){border-left:1px solid var(--report-border)}
.report-mobile-trend-summary>div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--report-border)}
.report-mobile-trend-summary dt{color:var(--color-muted);font-size:12px;font-weight:650;line-height:1.3}
.report-mobile-trend-summary dd{display:grid;gap:2px;margin:0;min-width:0;color:var(--color-text);line-height:1.3;text-align:left}
.report-mobile-trend-summary dd span{font-size:13px;font-weight:650}
.report-mobile-trend-summary dd strong{font-size:16px;font-weight:850;overflow-wrap:anywhere}
}
@media(max-width:640px){.report-filter-bar .report-export-actions{display:flex;width:100%;max-width:100%;min-width:0}.report-filter-bar .report-export-actions .report-action-button{flex:1 1 0;width:auto;min-width:0;justify-content:center}}
@media(max-width:330px){.report-chart-card:has(.report-revenue-trend){padding-inline:12px}.report-mobile-trend-summary{grid-template-columns:1fr}.report-mobile-trend-summary>div:nth-child(2){border-left:0;border-top:1px solid var(--report-border)}.report-mobile-trend-summary>div:nth-child(3){grid-column:1}}

/* Operational reports: one responsive contract for every view — 2026-07-31 */
@media(max-width:768px){
.report-shell,.report-shell>.report-header,.report-shell>.report-navigation-tabs,.report-shell>.report-filter-bar,.report-shell>.report-content,.report-content>*,.report-primary-kpis,.report-primary-kpis>*,.report-chart-card,.report-chart-slot,.report-team-table-card,.report-client-segments{box-sizing:border-box;max-width:100%;min-width:0;width:100%}
.report-navigation-tabs{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding:5px 8px;scroll-padding-inline:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.report-navigation-tabs::-webkit-scrollbar,.report-period-segments::-webkit-scrollbar{display:none;height:0}
.report-navigation-tabs a{flex:0 0 auto;min-height:44px;padding:9px 13px;white-space:nowrap}
.report-navigation-tabs a:focus-visible{background:#fbf2f1;box-shadow:inset 0 0 0 3px rgba(154,93,102,.18);color:var(--color-accent-strong);outline:0}
.report-period-control,.report-period-segments{box-sizing:border-box;max-width:100%;min-width:0;width:100%}
.report-period-segments{display:flex;flex-wrap:nowrap;min-height:52px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding:4px;scroll-padding-inline:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.report-period-segments button{flex:0 0 auto;font-size:12px;min-height:42px;padding:8px 12px;white-space:nowrap}
.report-filter-bar,.report-filter-bar--team,.report-filter-bar--services,.report-filter-bar--locations,.report-filter-bar--clients{align-items:stretch;gap:10px;grid-template-columns:minmax(0,1fr);padding:12px;width:100%;max-width:100%;min-width:0}
.report-filter-bar>.report-period-control,.report-filter-bar>.report-location-filter,.report-filter-bar>.report-team-filter,.report-filter-bar>.report-export-actions,.report-filter-bar>.report-update-error{grid-column:1/-1;max-width:100%;min-width:0;width:100%}
.report-filter-bar label,.report-filter-bar select,.report-filter-bar input:not([type=hidden]),.report-filter-bar .mx-control,.report-filter-bar .mx-control-trigger{box-sizing:border-box;max-width:100%;min-width:0;width:100%}
.report-filter-bar label>span,.report-team-filter>span{font-size:12px;line-height:1.3}
.report-filter-bar select,.report-filter-bar input:not([type=hidden]),.report-filter-bar .mx-control-trigger{min-height:44px}
.report-export-actions{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-content:stretch}
.report-export-actions .report-action-button{box-sizing:border-box;display:flex;justify-content:center;min-height:44px;min-width:0;padding-inline:8px;white-space:normal;width:100%}
.report-primary-kpis{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.report-kpi-card{box-sizing:border-box;gap:10px;max-width:100%;min-height:148px;min-width:0;padding:16px;width:100%}
.report-kpi-card>header,.report-kpi-card>header>span,.report-kpi-card>strong,.report-kpi-card .comparison{max-width:100%;min-width:0}
.report-kpi-card>strong{font-size:clamp(22px,6vw,30px);overflow-wrap:anywhere}
.report-kpi-card .comparison{align-items:flex-start;flex-wrap:wrap;white-space:normal}
.report-kpi-card .comparison>span{flex:0 0 20px}
.report-performer-identity,.report-performer-identity>span,.report-service-identity,.report-service-identity>span,.report-location-identity{max-width:100%;min-width:0}
.report-performer-identity strong,.report-performer-identity small,.report-service-identity strong,.report-service-identity small,.report-location-identity strong,.report-location-identity small,.report-location-top-meta{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}
.report-chart-card,.report-ranking-card{padding:16px 14px}
.report-chart-card>header{gap:10px;min-width:0}
.report-chart-help:after{left:auto;max-width:min(260px,calc(100vw - 48px));right:-8px;transform:translateY(-4px)}
.report-chart-help:hover:after,.report-chart-help:focus-visible:after{transform:translateY(0)}
.report-chart-card>header>div,.report-chart-card h2,.report-chart-card header p,.report-chart-slot,.report-area-chart,.report-area-chart svg,.report-team-contribution{box-sizing:border-box;max-width:100%;min-width:0;width:100%}
.report-team-contribution-row{box-sizing:border-box;max-width:100%;min-width:0;width:100%}
.report-team-chart-person>span{min-width:0}
.report-team-chart-person strong,.report-team-chart-person small{overflow-wrap:anywhere}
.report-client-segments>div{max-width:100%;min-width:0;overscroll-behavior-inline:contain}
.report-table-wrap{max-width:100%;min-width:0;overscroll-behavior-inline:contain}
}
@media(max-width:400px){
.report-primary-kpis{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:330px){
.report-export-actions{grid-template-columns:minmax(0,1fr)}
}

/* Client report: mobile chart and segment grid */
@media(max-width:640px){
.report-chart-card:has(.report-client-chart)>header{gap:9px;margin-bottom:12px;padding-bottom:12px}
.report-chart-card:has(.report-client-chart) .report-chart-legend{gap:10px;justify-content:flex-start}
.report-chart-card:has(.report-client-chart) .report-chart-legend li{font-size:10px;white-space:nowrap}
.report-chart-slot.has-mobile-client-chart>.report-client-chart{display:none}
.report-mobile-client-chart{box-sizing:border-box;height:230px;max-width:100%;min-height:230px;position:relative;width:100%}
.report-mobile-client-chart svg{box-sizing:border-box;display:block;height:230px;max-width:100%;touch-action:manipulation;width:100%}
.report-mobile-client-chart svg:focus-visible{border-radius:9px;outline:2px solid rgba(135,59,81,.32);outline-offset:2px}
.report-mobile-client-grid{stroke:rgba(112,105,125,.17);stroke-dasharray:4 5;stroke-width:1}
.report-mobile-client-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.report-mobile-client-line.is-new{stroke:#873b51;stroke-width:3.25}
.report-mobile-client-line.is-returning{stroke:#bd8589;stroke-dasharray:7 5;stroke-width:3}
.report-mobile-client-point{fill:#fff;vector-effect:non-scaling-stroke}
.report-mobile-client-point.is-new{stroke:#873b51;stroke-width:2.5}
.report-mobile-client-point.is-returning{stroke:#bd8589;stroke-width:2.5}
.report-mobile-client-point.is-active{fill:#fff7f8;r:6;stroke-width:3}
.report-mobile-client-x,.report-mobile-client-y{fill:#6f6467;font:650 9.5px system-ui,sans-serif}
.report-mobile-client-tooltip{background:#302529;border-radius:10px;box-shadow:0 7px 20px rgba(48,37,41,.24);box-sizing:border-box;color:#fff;display:grid;gap:2px;max-width:calc(100% - 8px);min-width:156px;padding:8px 10px;pointer-events:none;position:absolute;text-align:left;transform:translateX(-50%);z-index:3}
.report-mobile-client-tooltip[hidden]{display:none}
.report-mobile-client-tooltip strong{font-size:10px;margin-bottom:1px}
.report-mobile-client-tooltip span{font-size:10px;font-weight:700;line-height:1.3;white-space:nowrap}
.report-mobile-client-tooltip span:first-of-type{color:#ffd9e2}
.report-mobile-client-tooltip span:last-of-type{color:#f0c4c7}
.report-client-segments{padding:14px}
.report-client-segments>div{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:13px 0 0;max-width:100%;overflow:visible;padding:0;width:100%}
.report-client-segment{align-content:center;align-items:center;border-radius:12px;box-sizing:border-box;display:grid;gap:5px 8px;grid-template-areas:"name name" "count share";grid-template-columns:minmax(0,1fr) auto;min-height:66px;min-width:0;padding:9px 10px;width:100%}
.report-client-segment span{font-size:11px;grid-area:name;line-height:1.25;min-width:0;overflow-wrap:anywhere;white-space:normal}
.report-client-segment strong{font-size:13px;grid-area:count;line-height:1.1}
.report-client-segment small{align-self:end;font-size:9.5px;grid-area:share;justify-self:end;line-height:1.1}
.report-client-segment.is-active{background:#762d44;border-color:#762d44;box-shadow:0 0 0 2px rgba(118,45,68,.16);color:#fff}
.report-client-segment.is-active small{color:rgba(255,255,255,.78)}
.report-client-segments.is-mobile-collapsed .report-client-segment.is-mobile-segment-extra{display:none}
.report-client-segments-toggle{align-items:center;background:transparent;border:0;color:var(--color-accent-strong);cursor:pointer;display:flex;font:inherit;font-size:10.5px;font-weight:800;justify-content:center;margin:10px auto 0;min-height:38px;padding:7px 12px;text-decoration:underline;text-underline-offset:3px}
.report-client-segments-toggle:focus-visible{border-radius:9px;outline:2px solid rgba(118,45,68,.3);outline-offset:1px}
}
@media(max-width:339px){
.report-client-segments>div{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:641px){
.report-mobile-client-chart,.report-client-segments-toggle{display:none!important}
}
.header-avatar{position:relative;overflow:hidden}.header-avatar>span{display:grid;width:100%;height:100%;place-items:center}.header-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Nested automation navigation */
.app-sidebar .sidebar-subcategory{position:relative;width:153px;min-height:31px;margin-top:-3px;padding:7px 8px 7px 44px;border-radius:0;font-size:12px;font-weight:600}
.app-sidebar .sidebar-subcategory::before{content:"";position:absolute;left:20px;top:-12px;width:12px;height:28px;border-left:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
.app-sidebar .sidebar-subcategory .app-nav-icon{display:none}
.app-sidebar .app-nav-link.is-parent-active{color:#fff;font-weight:600}
.mobile-navigation .sidebar-subcategory{padding-left:28px;font-size:12px}
body.sidebar-collapsed .app-sidebar .sidebar-subcategory{display:none}
@media(max-width:1024px){body.sidebar-collapsed .app-sidebar .sidebar-subcategory{display:flex}}

.trial-expired-banner {
 display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;margin:0 0 20px;padding:14px 16px;border:1px solid rgba(167,101,108,.3);border-radius:14px;background:#fff6f5;box-shadow:0 8px 22px rgba(66,42,44,.06)
}
.trial-expired-banner p{margin:0;color:#503c3e;font-size:14px;line-height:1.55}
.trial-expired-banner .button{flex:0 0 auto;min-height:42px;white-space:nowrap}
@media(max-width:768px){.trial-expired-banner{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:16px;padding:13px 14px}.trial-expired-banner .button{width:100%}}
.trial-usage-strip{align-items:center;background:#fff;border:1px solid var(--color-line);border-radius:12px;box-sizing:border-box;color:var(--color-text);display:flex;gap:12px;justify-content:space-between;margin:0 0 16px;padding:10px 14px;width:100%}.trial-usage-strip strong{font-size:13px}.trial-usage-strip span{color:var(--color-muted);font-size:12px;text-align:right}.trial-usage-strip.is-full{background:#fff7f5;border-color:rgba(167,101,108,.3)}@media(max-width:640px){.trial-usage-strip{align-items:flex-start;flex-direction:column;gap:5px;padding:10px 12px}.trial-usage-strip span{text-align:left}}

.subscription-read-only [data-read-only-disabled="1"]{cursor:not-allowed!important;opacity:.55!important;filter:saturate(.65)}
.subscription-read-only a[data-read-only-disabled="1"]{pointer-events:auto;text-decoration:none}
.subscription-over-limit-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:12px 16px;border:1px solid #e2b55e;border-radius:12px;background:#fffaf0;color:#5d461e}
.subscription-over-limit-banner span{font-size:13px}
.billing-trial-overview{margin-bottom:16px}
.billing-trial-overview>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.billing-trial-overview>header h2{margin:0 0 4px}.billing-trial-overview>header p{margin:0;color:#746a7d}
.billing-trial-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.billing-trial-dates>span{padding:11px 13px;border:1px solid #ece4f1;border-radius:10px;background:#fcfafd}
.billing-trial-dates small,.billing-trial-dates strong{display:block}.billing-trial-dates small{color:#786e80;font-size:12px;margin-bottom:3px}
.billing-trial-usage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.billing-trial-usage>div>span{display:flex;justify-content:space-between;gap:8px;font-size:13px}.billing-trial-usage b{font-variant-numeric:tabular-nums}
.billing-trial-usage i{display:block;height:5px;margin-top:6px;background:#eee8f2;border-radius:999px;overflow:hidden}.billing-trial-usage em{display:block;height:100%;background:#9f4ad1;border-radius:inherit}
.billing-trial-expired-copy{margin:16px 0 0;padding:11px 13px;border-radius:10px;background:#fff7e8;color:#684b1d}
@media(max-width:640px){.billing-trial-dates{grid-template-columns:1fr}.billing-trial-usage{grid-template-columns:1fr}.billing-trial-overview>header{flex-direction:column}}
.report-kpi-card .report-kpi-meta{color:var(--color-muted);font-size:12px;font-weight:650;line-height:1.35}
@media(min-width:1201px){.report-primary-kpis--with-occupancy{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:901px) and (max-width:1200px){.report-primary-kpis--with-occupancy{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Specialist client reactivation — focused report-style workspace */
.specialist-reactivation-shell{display:grid;gap:18px;margin:0;max-width:none;width:100%}
.specialist-reactivation-header{min-height:0;padding:24px 26px}.specialist-reactivation-header>div{max-width:760px}.specialist-reactivation-header h1{margin-bottom:7px}.specialist-reactivation-header p:last-child{max-width:680px}
.specialist-reactivation-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.specialist-reactivation-kpis .report-kpi-card{gap:8px;min-height:118px;padding:18px 20px}.specialist-reactivation-kpis .report-kpi-card>strong{font-size:30px}.specialist-reactivation-kpis .report-kpi-meta{font-size:10.5px}
.specialist-reactivation-shell>.report-navigation-tabs{width:100%}
.reactivation-compact-filters{align-items:end;background:#fff;border:1px solid rgba(112,105,125,.13);border-radius:16px;box-shadow:0 9px 26px rgba(38,31,51,.045);display:grid;gap:12px;grid-template-columns:minmax(240px,1fr) minmax(190px,240px) auto;padding:14px 16px}.reactivation-compact-filters label{display:grid;gap:6px;min-width:0}.reactivation-compact-filters label>span{color:var(--color-muted);font-size:10px;font-weight:800;letter-spacing:.025em}.reactivation-compact-filters input,.reactivation-compact-filters select{background:#fbfaf9;border:1px solid var(--color-line);border-radius:10px;color:var(--color-text);font:inherit;height:42px;min-width:0;padding:8px 11px;width:100%}.reactivation-compact-filters input:focus,.reactivation-compact-filters select:focus{border-color:#d1a8aa;box-shadow:0 0 0 3px rgba(154,93,102,.11);outline:0}.reactivation-compact-filter-actions{display:flex;gap:7px}.reactivation-compact-filter-actions .button{min-height:42px}
.specialist-reactivation-table-card,.specialist-reactivation-detail-card{background:#fff;border:1px solid rgba(112,105,125,.13);border-radius:17px;box-shadow:0 12px 32px rgba(38,31,51,.05);overflow:hidden}.specialist-reactivation-section-heading{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:18px 20px}.specialist-reactivation-section-heading h2{font-size:16px;margin:0}.specialist-reactivation-section-heading p{color:var(--color-muted);font-size:10.5px;line-height:1.45;margin:4px 0 0}.specialist-reactivation-section-heading>span{align-items:center;background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent-strong);display:flex;font-size:11px;font-weight:850;height:30px;justify-content:center;min-width:30px;padding:0 10px}
.specialist-reactivation-table-card>.report-table-wrap{border-top:1px solid rgba(112,105,125,.12);overflow-x:auto}.specialist-reactivation-table{min-width:810px}.specialist-reactivation-table th,.specialist-reactivation-table td{font-size:11px;padding:13px 16px;vertical-align:middle}.specialist-reactivation-table thead th{background:#fbfaf9;color:var(--color-muted);font-size:9.5px;font-weight:800;letter-spacing:.025em;white-space:nowrap}.specialist-reactivation-table tbody tr{transition:background .16s}.specialist-reactivation-table tbody tr:hover{background:#fdf8f7}.specialist-reactivation-table th:first-child{min-width:190px}.specialist-reactivation-table td:last-child{text-align:right}.reactivation-client-identity{display:grid;gap:3px}.reactivation-client-identity strong{color:var(--color-text);font-size:12px}.reactivation-client-identity small{color:var(--color-muted);font-size:9.5px;font-weight:600}.reactivation-inactive-days{color:var(--color-accent-strong);font-variant-numeric:tabular-nums}.reactivation-row-cta{font-size:10px;min-height:36px;padding:7px 11px;white-space:nowrap}.reactivation-row-cta:disabled{cursor:not-allowed;opacity:.58}
.specialist-reactivation-table-card .report-empty-state{margin:0;min-height:0;padding:34px 22px}.specialist-reactivation-table-card .report-empty-state h3{font-size:15px}.specialist-reactivation-table-card .report-empty-state p{font-size:11px;max-width:520px}
.specialist-reactivation-requests .report-table{min-width:900px}.reactivation-request-client{color:var(--color-text);display:grid;gap:3px;text-decoration:none}.reactivation-request-client strong{font-size:11px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reactivation-request-client small{color:var(--color-muted);font-size:9px}.reactivation-request-client:hover strong{color:var(--color-accent-strong)}
.reactivation-status{align-items:center;border-radius:999px;display:inline-flex;font-size:9.5px;font-weight:800;min-height:25px;padding:4px 9px;white-space:nowrap}.reactivation-status.is-pending{background:#f5f0e7;color:#795d2e}.reactivation-status.is-review{background:#eef2f8;color:#4b617e}.reactivation-status.is-approved,.reactivation-status.is-sent{background:#edf6f1;color:#316a50}.reactivation-status.is-converted{background:#eaf6ef;color:#276849}.reactivation-status.is-rejected{background:#fbefef;color:#984b4b}.reactivation-status.is-attention{background:#fff3e8;color:#8c5b2c}.reactivation-status.is-muted{background:#f1eff0;color:#71696c}.reactivation-result{display:grid;gap:2px}.reactivation-result strong{font-size:10px}.reactivation-result small{color:var(--color-muted);font-size:9px}.reactivation-result.is-success strong{color:#2f6a4d}
.reactivation-results-details{background:#fff;border:1px solid rgba(112,105,125,.13);border-radius:15px;box-shadow:0 8px 24px rgba(38,31,51,.035);overflow:hidden}.reactivation-results-details summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:15px 18px}.reactivation-results-details summary::-webkit-details-marker{display:none}.reactivation-results-details summary>span{display:grid;gap:3px}.reactivation-results-details summary strong{font-size:12px}.reactivation-results-details summary small{color:var(--color-muted);font-size:9.5px}.reactivation-results-details summary i{color:var(--color-muted);font-size:17px;font-style:normal;transition:transform .18s}.reactivation-results-details[open] summary i{transform:rotate(180deg)}.reactivation-results-details[open] summary{border-bottom:1px solid rgba(112,105,125,.11)}.reactivation-results-compact{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px}.reactivation-results-compact article{background:#fbfaf9;border-radius:10px;display:grid;gap:5px;padding:11px 12px}.reactivation-results-compact span{color:var(--color-muted);font-size:9px;font-weight:750}.reactivation-results-compact strong{font-size:16px;font-variant-numeric:tabular-nums}
.specialist-reactivation-detail-card{padding-bottom:18px}.specialist-reactivation-detail-card>.notice,.specialist-reactivation-detail-card>.reactivation-history,.specialist-reactivation-detail-card>form{margin-left:20px;margin-right:20px}
@media(max-width:800px){.specialist-reactivation-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.specialist-reactivation-kpis .report-kpi-card{padding:16px}.specialist-reactivation-kpis .report-kpi-card>strong{font-size:26px}.reactivation-compact-filters{grid-template-columns:minmax(0,1fr) minmax(180px,220px)}.reactivation-compact-filter-actions{grid-column:1/-1}.reactivation-results-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.specialist-reactivation-shell{gap:14px}.specialist-reactivation-header{padding:20px}.specialist-reactivation-kpis{grid-template-columns:1fr}.specialist-reactivation-kpis .report-kpi-card{min-height:98px;padding:15px 17px}.specialist-reactivation-kpis .report-kpi-card>strong{font-size:25px}.reactivation-compact-filters{grid-template-columns:1fr;padding:12px}.reactivation-compact-filter-actions{display:grid;grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.reactivation-compact-filter-actions .button{justify-content:center}.specialist-reactivation-section-heading{align-items:flex-start;padding:16px}.specialist-reactivation-table,.specialist-reactivation-requests .report-table{min-width:0}.specialist-reactivation-table-card>.report-table-wrap{overflow:visible;padding:10px 12px}.specialist-reactivation-table tr{border-color:rgba(112,105,125,.14);box-shadow:0 6px 18px rgba(38,31,51,.035);margin-bottom:9px}.specialist-reactivation-table th,.specialist-reactivation-table td{align-items:center;display:flex;justify-content:space-between;min-height:34px;padding:5px 3px;text-align:right}.specialist-reactivation-table th:before,.specialist-reactivation-table td:before{color:var(--color-muted);content:attr(data-label);font-size:9px;font-weight:800;margin-right:12px;text-align:left}.specialist-reactivation-table th:first-child{min-width:0}.specialist-reactivation-table th:first-child:before{display:none}.specialist-reactivation-table th:first-child{justify-content:flex-start}.specialist-reactivation-table td:last-child{padding-top:10px}.specialist-reactivation-table td:last-child:before{display:none}.reactivation-row-cta{justify-content:center;width:100%}.reactivation-request-client{max-width:65%;text-align:right}.reactivation-request-client strong{white-space:normal}.reactivation-results-compact{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.specialist-reactivation-detail-card>.notice,.specialist-reactivation-detail-card>.reactivation-history,.specialist-reactivation-detail-card>form{margin-left:14px;margin-right:14px}}
@media(max-width:390px){.reactivation-compact-filter-actions,.reactivation-results-compact{grid-template-columns:1fr}}
/* Keep the three specialist reactivation KPIs balanced after specialist-workspace.css loads. */
.specialist-reactivation-shell .specialist-reactivation-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:640px){.specialist-reactivation-shell .specialist-reactivation-kpis{grid-template-columns:1fr}}
.reactivation-message-editor textarea,.reactivation-resubmit-form textarea{line-height:1.55}.reactivation-resubmit-form{display:grid;gap:14px;margin-top:14px;padding:16px;border:1px solid var(--color-line);border-radius:14px;background:#fff}.reactivation-snapshot{margin:0 20px 14px}.reactivation-snapshot p{white-space:pre-wrap}
@media(max-width:640px){.reactivation-snapshot{margin-left:14px;margin-right:14px}.reactivation-resubmit-form{padding:14px}}
.specialist-reactivation-shell .sms-cost-breakdown{display:grid;gap:4px;margin-top:10px!important;padding-top:10px;border-top:1px solid var(--color-line);font-size:11px}.specialist-reactivation-shell .sms-cost-breakdown strong{color:var(--color-ink)}.specialist-reactivation-shell .sms-cost-breakdown small{color:var(--color-muted);line-height:1.45}
.client-existing-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;border-color:#d7c5be;background:#fff7f2;color:var(--color-ink)}.client-existing-notice[hidden]{display:none}.client-existing-actions{display:flex;flex:0 0 auto;gap:8px}.client-create-body>.client-existing-notice{margin:0 0 16px}.client-existing-notice .button{min-height:38px}@media(max-width:640px){.client-existing-notice{align-items:flex-start;flex-direction:column}.client-existing-actions,.client-existing-actions .button{width:100%}}
.client-row-actions form{margin:0}.client-row-actions button{display:flex;width:100%;min-height:44px;align-items:center;gap:9px;padding:10px 11px;border:0;border-radius:8px;color:var(--color-ink);background:transparent;font:inherit;text-align:left;white-space:nowrap;cursor:pointer}.client-row-actions button>span{display:grid;width:20px;height:20px;place-items:center;font-size:15px}.client-row-actions button:hover,.client-row-actions button:focus-visible{outline:0;color:var(--color-accent-strong);background:var(--color-accent-soft)}
.client-row-actions .client-delete-action{color:#9d3f3f}.client-row-actions .client-delete-action:hover,.client-row-actions .client-delete-action:focus-visible{color:#8f3232;background:#fff1f1}

/* Global interaction affordances.
 * Keep this policy in the shared stylesheet so auth, onboarding and the
 * authenticated application expose the same click and disabled cues. */
:where(
 a[href],
 button:not(:disabled),
 input[type="button"]:not(:disabled),
 input[type="submit"]:not(:disabled),
 input[type="reset"]:not(:disabled),
 input[type="checkbox"]:not(:disabled),
 input[type="radio"]:not(:disabled),
 input[type="file"]:not(:disabled),
 input[type="color"]:not(:disabled),
 input[type="range"]:not(:disabled),
 select:not(:disabled),
 summary,
 label:has(input[type="checkbox"]:not(:disabled)),
 label:has(input[type="radio"]:not(:disabled)),
 [role="button"]:not([aria-disabled="true"]),
 [role="link"]:not([aria-disabled="true"]),
 [role="tab"]:not([aria-disabled="true"]),
 [role="menuitem"]:not([aria-disabled="true"]),
 [data-href]:not([aria-disabled="true"]),
 [data-row-href]:not([aria-disabled="true"]),
 [data-edit-url]:not([aria-disabled="true"])
){cursor:pointer}
.button:not(:disabled):not([aria-disabled="true"]){cursor:pointer}
:where(
 button:disabled,
 input:disabled,
 select:disabled,
 textarea:disabled,
 [aria-disabled="true"],
 [data-read-only-disabled="1"],
 label:has(input[type="checkbox"]:disabled),
 label:has(input[type="radio"]:disabled)
){cursor:not-allowed!important}
:where(
 button:disabled,
 input:not([type="hidden"]):disabled,
 select:disabled,
 textarea:disabled,
 [role="button"][aria-disabled="true"],
 [role="link"][aria-disabled="true"],
 [role="tab"][aria-disabled="true"],
 [role="menuitem"][aria-disabled="true"],
 .button[aria-disabled="true"],
 label:has(input[type="checkbox"]:disabled),
 label:has(input[type="radio"]:disabled)
){opacity:.58}
:where(button[aria-busy="true"],.button[aria-busy="true"],[role="button"][aria-busy="true"]){cursor:wait!important}
:where(
 [role="button"],
 [role="link"],
 [role="tab"],
 [role="menuitem"],
 [data-href],
 [data-row-href],
 [data-edit-url]
):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
