:root {
    --client-primary: #7a2fc0;
    --client-primary-dark: #6421a8;
    --client-primary-light: #c145e7;
    --client-accent-soft: #f5ecfd;
    --client-text: #161421;
    --client-muted: #706b7d;
    --client-border: #e8e5ed;
    --client-surface: #fff;
    --client-page: #f8f7fa;
    --client-danger: #ea3566;
    --client-success: #248a57;
    --client-warning: #9b6700;
    --client-shadow: 0 8px 28px rgba(35, 20, 50, .08);
    --client-radius: 18px;
}

* { box-sizing: border-box; }

html { min-height: 100%; background: var(--client-page); }

body.bz-client-area-body {
    min-width: 320px;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    background:
        radial-gradient(circle at 15% -5%, rgba(193, 69, 231, .08), transparent 26rem),
        var(--client-page);
    color: var(--client-text);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
.no-show { display: none !important; }

.bz-client-shell { min-height: 100vh; min-height: 100dvh; }

.bz-client-language-bar {
    position: relative;
    z-index: 30;
    display: flex;
    justify-content: flex-end;
    width: min(100%, 720px);
    margin: 0 auto -14px;
    padding: max(12px, env(safe-area-inset-top)) 18px 0;
}

.bz-client-profile-language {
    margin: 0 0 14px;
    padding: 0;
    width: 100%;
}

.bz-client-language { position: relative; }
.bz-client-language-current,
.bz-client-language-option {
    border: 1px solid var(--client-border);
    background: var(--client-surface);
    color: var(--client-text);
    cursor: pointer;
}
.bz-client-language-current {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 7px 11px;
    border-radius: 999px;
    box-shadow: 0 4px 16px rgba(35, 20, 50, .06);
    font-size: 16px;
    font-weight: 700;
}
.bz-client-language-flag { width: 18px; height: 12px; border-radius: 2px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); }
.bz-client-language-flag.flag-pt { background: linear-gradient(90deg, #006600 0 40%, #ff0000 40%); }
.bz-client-language-flag.flag-us { background: repeating-linear-gradient(180deg, #b22234 0 1px, #fff 1px 2px); }
.bz-client-language-flag.flag-fr { background: linear-gradient(90deg, #0055a4 0 33%, #fff 33% 66%, #ef4135 66%); }
.bz-client-language-flag.flag-de { background: linear-gradient(180deg, #000 0 33%, #dd0000 33% 66%, #ffce00 66%); }
.bz-client-language-flag.flag-es { background: linear-gradient(180deg, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75%); }
.bz-client-language-flag.flag-br { background: radial-gradient(circle at center, #002776 0 22%, #ffdf00 23% 45%, transparent 46%), #009c3b; }
.bz-client-language-flag.flag-th { background: linear-gradient(180deg, #a51931 0 16%, #f4f5f8 16% 32%, #2d2a4a 32% 68%, #f4f5f8 68% 84%, #a51931 84%); }
.bz-client-language-chevron { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.bz-client-language.open .bz-client-language-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.bz-client-language-menu {
    position: absolute;
    top: calc(100% + 7px);
    right: 0;
    display: none;
    width: max-content;
    min-width: 190px;
    padding: 6px;
    border: 1px solid var(--client-border);
    border-radius: 14px;
    background: var(--client-surface);
    box-shadow: var(--client-shadow);
}
.bz-client-language.open .bz-client-language-menu { display: grid; }
.bz-client-language-option { display: flex; align-items: center; gap: 9px; padding: 10px; border: 0; border-radius: 9px; text-align: left; }
.bz-client-language-option:hover,
.bz-client-language-option.active { background: var(--client-accent-soft); color: var(--client-primary-dark); }
.bz-client-language-current:focus-visible,
.bz-client-language-option:focus-visible { outline: 3px solid rgba(122, 47, 192, .22); outline-offset: 2px; }

.bz-client-main {
    width: min(100%, 720px);
    min-height: 100vh;
    margin: 0 auto;
    overflow-x: hidden;
    padding: max(24px, env(safe-area-inset-top)) 18px calc(112px + env(safe-area-inset-bottom));
}

.bz-client-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.bz-client-page-header h1,
.bz-client-greeting h1 {
    margin: 0;
    font-size: clamp(24px, 6vw, 32px);
    font-weight: 750;
    letter-spacing: -.035em;
}

.bz-client-page-header p,
.bz-client-greeting p { margin: 4px 0 0; color: var(--client-muted); }

.bz-client-back {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--client-border);
    border-radius: 50%;
    background: var(--client-surface);
}

.bz-client-section { margin-top: 26px; }

.bz-client-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.bz-client-section-heading h2,
.bz-client-section-title {
    min-width: 0;
    margin: 0;
    font-size: 15px;
    font-weight: 650;
    letter-spacing: -.01em;
}

.bz-client-section-link { color: var(--client-primary); font-size: 14px; font-weight: 650; }
.bz-client-clear-notifications { padding: 0; border: 0; background: transparent; cursor: pointer; font-family: inherit; }
.bz-client-clear-notifications:focus-visible { outline: 3px solid rgba(122, 47, 192, .28); outline-offset: 3px; border-radius: 4px; }
.bz-client-notifications { margin-top: 20px; }
.bz-client-notification-list { display: grid; gap: 10px; }
.bz-client-notification-swipe { position: relative; overflow: hidden; border-radius: 15px; touch-action: pan-y; }
.bz-client-notification-swipe-action { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; color: #fff; background: #c73557; font-size: 20px; }
.bz-client-notification-swipe-action::after { content: "\1F5D1"; }
.bz-client-notification {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 12px;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--client-border);
    border-radius: 15px;
    background: var(--client-surface);
    box-shadow: 0 5px 18px rgba(35, 20, 50, .05);
    transition: transform .18s ease, opacity .18s ease, margin .18s ease;
}
.bz-client-notification-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--client-accent-soft); font-size: 17px; }
.bz-client-notification-copy { display: grid; gap: 2px; min-width: 0; }
.bz-client-notification-copy strong { font-size: 14px; }
.bz-client-notification-copy span { color: var(--client-muted); font-size: 13px; line-height: 1.35; }
.bz-client-notification-copy small { color: var(--client-muted); font-size: 11px; margin-top: 2px; }
.bz-client-notification-chevron { width: 8px; height: 8px; border-top: 1.5px solid var(--client-muted); border-right: 1.5px solid var(--client-muted); transform: rotate(45deg); }
.bz-client-notification:focus-visible { outline: 3px solid rgba(122, 47, 192, .28); outline-offset: 2px; }

.bz-client-native-push-prompt {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid var(--client-border);
    border-radius: 15px;
    background: var(--client-surface);
    box-shadow: 0 5px 18px rgba(35, 20, 50, .05);
}
.bz-client-native-push-prompt[hidden] { display: none; }
.bz-client-native-push-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--client-accent-soft); font-size: 17px; }
.bz-client-native-push-copy { min-width: 0; }
.bz-client-native-push-copy strong { display: block; font-size: 14px; }
.bz-client-native-push-copy p { margin: 3px 0 0; color: var(--client-muted); font-size: 13px; line-height: 1.35; }
.bz-client-native-push-prompt .bz-button { grid-column: 2; justify-self: start; }

.bz-client-card {
    border: 1px solid var(--client-border);
    border-radius: var(--client-radius);
    background: var(--client-surface);
    box-shadow: var(--client-shadow);
}

.bz-client-primary,
.bz-client-secondary,
.bz-client-danger-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
}

.bz-client-primary {
    border-color: var(--bz-primary-action-border-color, transparent);
    background: var(--bz-primary-action-bg, linear-gradient(135deg, #7c3aed, #ec33b8));
    box-shadow: var(--bz-primary-action-shadow, 0 10px 24px rgba(var(--bz-accent-color-rgb, 124, 58, 237), .24));
    color: var(--bz-primary-action-color, #fff);
}

.bz-client-secondary { border: 1.5px solid var(--client-primary); background: #fff; color: var(--client-primary); }
.bz-client-danger-button { border: 1.5px solid var(--client-danger); background: #fff; color: var(--client-danger); }

.bz-client-primary:focus-visible,
.bz-client-secondary:focus-visible,
.bz-client-danger-button:focus-visible,
.bz-client-nav-item:focus-visible,
.bz-client-nav-book:focus-visible,
.bz-client-back:focus-visible { outline: 3px solid rgba(122, 47, 192, .28); outline-offset: 3px; }

.bz-client-next-card { overflow: hidden; }
.bz-client-next-card-main { display: grid; grid-template-columns: 112px minmax(0, 1fr); min-height: 132px; }
.bz-client-next-image { width: 112px; height: 100%; min-height: 132px; object-fit: cover; background: var(--client-accent-soft); }
.bz-client-next-content { display: grid; align-content: center; min-width: 0; padding: 13px 14px; }
.bz-client-next-date { overflow: hidden; color: #4e485c; font-size: 13px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-next-content h3 { margin: 4px 0 3px; overflow: hidden; font-size: 18px; line-height: 1.18; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-next-content p { margin: 2px 0; overflow: hidden; color: var(--client-muted); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-next-content .bz-client-primary { min-height: 42px; margin-top: 10px; }

.bz-client-status {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    margin-top: 10px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #f0ecff;
    color: #6332b2;
    font-size: 12px;
    font-weight: 700;
}
.bz-client-status.is-success { background: #e8f8ef; color: var(--client-success); }
.bz-client-status.is-danger { background: #fff0f4; color: #bf2852; }
.bz-client-status.is-warning { background: #fff7dc; color: var(--client-warning); }
.bz-client-status.is-neutral { background: #f0eff3; color: #5d5867; }

.bz-client-quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.bz-client-quick-link { display: grid; place-items: center; gap: 9px; min-height: 96px; padding: 14px 8px; text-align: center; }
.bz-client-quick-link span:last-child { font-size: 13px; font-weight: 650; }

.bz-client-salon-list { display: grid; gap: 12px; }
.bz-client-salon-card { overflow: hidden; }
.bz-client-salon-main-link { display: grid; grid-template-columns: 104px minmax(0, 1fr) 24px; align-items: center; min-height: 80px; }
.bz-client-salon-card-image { width: 104px; height: 80px; object-fit: cover; background: var(--client-accent-soft); }
.bz-client-salon-card-content { min-width: 0; padding: 10px 13px; }
.bz-client-salon-card h2, .bz-client-salon-card h3 { margin: 0 0 7px; overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-salon-card p { display: flex; align-items: flex-start; gap: 6px; margin: 0; color: var(--client-muted); font-size: 13px; }
.bz-client-salon-card-content { display: grid; gap: 5px; }
.bz-client-salon-name { overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-salon-address { display: flex; align-items: flex-start; gap: 5px; overflow: hidden; color: var(--client-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-chevron { width: 18px; height: 18px; margin-right: 10px; background: var(--client-primary); -webkit-mask: url('/Img/icons/New icons/navegacao/chevron-right.svg') center/contain no-repeat; mask: url('/Img/icons/New icons/navegacao/chevron-right.svg') center/contain no-repeat; }
.bz-client-image-placeholder { display: grid; place-items: center; background: linear-gradient(135deg, #f6effc, #eee4f8); color: var(--client-primary); }

.bz-client-tabs { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; border-radius: 999px; background: #efedf3; }
.bz-client-tab { min-height: 40px; border: 0; border-radius: 999px; background: transparent; color: #4f4a59; font-size: 14px; font-weight: 700; cursor: pointer; }
.bz-client-tab.is-active { background: linear-gradient(110deg, var(--client-primary-dark), var(--client-primary-light)); color: #fff; box-shadow: 0 4px 12px rgba(122, 47, 192, .18); }
.bz-client-tab-panel[hidden] { display: none; }

.bz-client-appointment-list { display: grid; gap: 10px; margin-top: 18px; }
.bz-client-appointment-card { display: grid; grid-template-columns: 104px minmax(0, 1fr) 22px; align-items: center; min-height: 104px; overflow: hidden; padding: 0; }
.bz-client-appointment-cover { position: relative; display: grid; place-items: center; align-self: stretch; width: 104px; min-height: 104px; overflow: hidden; background: var(--client-accent-soft); color: var(--client-primary); }
.bz-client-appointment-cover > img { width: 100%; height: 100%; min-height: 104px; object-fit: cover; }
.bz-client-appointment-cover > .bz-client-icon { width: 28px; height: 28px; }
.bz-client-appointment-content { min-width: 0; padding: 10px 11px 10px 13px; }
.bz-client-appointment-time { display: block; overflow: hidden; color: #4e485c; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-appointment-salon, .bz-client-appointment-services { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-appointment-services { margin-top: 3px; color: var(--client-text); font-size: 16px; line-height: 1.2; }
.bz-client-appointment-salon { margin-top: 3px; color: var(--client-muted); font-size: 12px; font-weight: 650; }
.bz-client-appointment-content .bz-client-status { margin-top: 6px; }

.bz-client-empty { display: grid; justify-items: center; padding: 38px 24px; text-align: center; }
.bz-client-empty-icon { display: grid; place-items: center; width: 68px; height: 68px; margin-bottom: 16px; border-radius: 50%; background: var(--client-accent-soft); }
.bz-client-empty h2 { margin: 0; font-size: 20px; }
.bz-client-empty p { max-width: 390px; margin: 8px 0 22px; color: var(--client-muted); font-size: 14px; }
.bz-client-empty .bz-client-primary { max-width: 320px; }
.bz-client-dashboard-greeting { margin-bottom: 8px; }
.bz-client-payment-grid { display: grid; gap: 10px; }
.bz-client-dashboard-card {
    position: relative;
    min-width: 0;
    min-height: 142px;
    overflow: hidden;
    padding: 18px 132px 18px 18px;
    border: 1px solid rgba(122, 47, 192, .16);
    border-radius: var(--client-radius);
    background: linear-gradient(135deg, rgba(122, 47, 192, .11), rgba(255, 255, 255, .96));
    box-shadow: var(--client-shadow);
}
.bz-client-dashboard-copy { position: relative; z-index: 1; display: grid; align-content: center; gap: 5px; min-width: 0; height: 100%; }
.bz-client-dashboard-label { color: var(--client-text); font-size: 13px; font-weight: 750; }
.bz-client-dashboard-copy > strong { color: var(--client-text); font-size: clamp(24px, 6vw, 30px); font-weight: 750; line-height: 1.08; letter-spacing: -.03em; }
.bz-client-dashboard-copy p { margin: 0; color: var(--client-muted); font-size: 12px; font-weight: 600; line-height: 1.35; }
.bz-client-dashboard-copy small { color: var(--client-muted); font-size: 11px; font-weight: 600; }
.bz-client-dashboard-action {
    width: max-content;
    max-width: 100%;
    margin-top: 6px;
}
.bz-client-dashboard-asset {
    position: absolute;
    right: -10px;
    bottom: -14px;
    width: 142px;
    height: 142px;
    object-fit: contain;
    pointer-events: none;
    filter: drop-shadow(0 14px 18px rgba(35, 20, 50, .14));
}
.bz-client-payment-card {
    border-color: rgba(245, 158, 11, .24);
    background: linear-gradient(135deg, rgba(255, 244, 204, .9), rgba(255, 255, 255, .96));
}
.bz-client-payment-card .bz-client-dashboard-copy > strong { color: #9b6700; }
.bz-client-last-visit-card {
    border-color: rgba(37, 99, 235, .16);
    background: linear-gradient(135deg, rgba(219, 234, 254, .8), rgba(255, 255, 255, .96));
}
.bz-client-last-visit-card .bz-client-dashboard-label { font-size: 12px; font-weight: 650; }
.bz-client-last-visit-card .bz-client-dashboard-copy > strong { font-size: 17px; font-weight: 650; letter-spacing: -.015em; }
.bz-client-last-visit-card .bz-client-dashboard-copy p { font-size: 11px; font-weight: 500; }
.bz-client-relationship-card { min-height: 154px; padding-right: 18px; }
.bz-client-relationship-has-cover { padding-right: 132px; }
.bz-client-relationship-empty {
    border-color: rgba(37, 99, 235, .14);
    background: linear-gradient(135deg, rgba(219, 234, 254, .72), rgba(255, 255, 255, .96));
}
.bz-client-relationship-cover-asset {
    right: -12px;
    bottom: -18px;
    width: 140px;
    height: 128px;
    border-radius: 28px 0 18px 0;
    object-fit: cover;
    opacity: .92;
    filter: drop-shadow(0 14px 20px rgba(35, 20, 50, .16));
}
.bz-client-space-history {
    --client-primary: var(--bz-accent-readable, var(--bz-accent-color, #7a2fc0));
    --client-primary-dark: var(--bz-primary-color, #6421a8);
    --client-primary-light: var(--bz-accent-color, #c145e7);
    --client-accent-soft: var(--bz-accent-soft, #f5ecfd);
    --client-themed-border: var(--bz-accent-border, rgba(122, 47, 192, .22));
    --client-themed-soft: var(--bz-accent-soft, rgba(122, 47, 192, .10));
    --client-themed-glow: rgba(var(--bz-primary-color-rgb, 122, 47, 192), .20);
}
.bz-client-space-history + .bz-client-space-history { padding-top: 8px; border-top: 1px solid var(--client-border); }
.bz-client-journey-heading h2 { display: flex; align-items: center; gap: 8px; min-width: 0; overflow: hidden; line-height: 1.2; }
.bz-client-journey-title-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-journey-space-name { font-size: calc(1em + 1px); font-weight: 750; }
.bz-client-journey-heading .bz-client-inline-icon { width: 18px; height: 18px; color: var(--client-primary); }
.bz-client-journey-card {
    position: relative;
    padding: 4px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.bz-client-journey-line {
    position: absolute;
    top: 35px;
    bottom: 35px;
    left: 9px;
    width: 2px;
    background: repeating-linear-gradient(to bottom, var(--client-themed-border), var(--client-themed-border) 8px, transparent 8px, transparent 16px);
}
.bz-client-journey-row {
    position: relative;
    display: grid;
    grid-template-columns: 20px 44px minmax(0, 1fr) minmax(64px, 112px);
    align-items: center;
    gap: 9px;
    min-height: 70px;
}
.bz-client-journey-row + .bz-client-journey-row .bz-client-journey-copy,
.bz-client-journey-row + .bz-client-journey-row .bz-client-journey-date,
.bz-client-journey-row + .bz-client-journey-row .bz-client-journey-count,
.bz-client-journey-row + .bz-client-journey-row .bz-client-journey-pill { border-top: 1px solid var(--client-border); }
.bz-client-journey-pin {
    position: relative;
    z-index: 1;
    width: 12px;
    height: 12px;
    margin-left: 4px;
    border: 2px solid var(--client-themed-border);
    border-radius: 50%;
    background: #fff;
}
.bz-client-journey-icon,
.bz-client-insight-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 24%, var(--client-themed-glow), var(--client-themed-soft));
    color: var(--client-primary);
}
.bz-client-journey-icon .bz-client-inline-icon,
.bz-client-insight-icon .bz-client-inline-icon { width: 21px; height: 21px; color: currentColor; }
.bz-client-heart-glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    color: var(--client-primary);
    font-size: 22px;
    line-height: 1;
}
.bz-client-heart-glyph::before { content: "\2665"; }
.bz-client-journey-copy,
.bz-client-journey-date,
.bz-client-journey-count,
.bz-client-journey-pill {
    min-width: 0;
    align-self: stretch;
    display: grid;
    align-content: center;
}
.bz-client-journey-copy strong,
.bz-client-journey-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-journey-copy strong { color: var(--client-text); font-size: 13px; font-weight: 500; line-height: 1.15; }
.bz-client-journey-copy small { margin-top: 3px; color: var(--client-muted); font-size: 11px; font-weight: 500; }
.bz-client-journey-date {
    justify-content: end;
    grid-auto-flow: column;
    align-items: center;
    gap: 5px;
    color: #595266;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}
.bz-client-journey-date .bz-client-inline-icon { width: 17px; height: 17px; color: #595266; }
.bz-client-journey-count { justify-items: center; color: var(--client-primary); }
.bz-client-journey-count strong { font-size: 27px; font-weight: 750; line-height: .95; }
.bz-client-journey-count small { margin-top: 4px; color: var(--client-muted); font-size: 13.5px; font-weight: 700; }
.bz-client-journey-pill {
    justify-self: end;
    justify-items: center;
    width: max-content;
    max-width: min(188px, 50vw);
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--client-primary);
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.25;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bz-client-insight-card {
    margin-top: 12px;
    padding: 14px 0 10px;
    border: 0;
    border-top: 1px solid var(--client-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.bz-client-insight-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.bz-client-insight-item {
    display: grid;
    justify-items: center;
    align-content: start;
    min-width: 0;
    min-height: 104px;
    padding: 0 6px;
    text-align: center;
}
.bz-client-insight-item + .bz-client-insight-item { border-left: 1px solid var(--client-border); }
.bz-client-insight-icon { width: 38px; height: 38px; margin-bottom: 10px; }
.bz-client-insight-icon .bz-client-inline-icon,
.bz-client-insight-icon .bz-client-heart-glyph { width: 20px; height: 20px; font-size: 21px; }
.bz-client-insight-item strong { color: var(--client-text); font-size: 23px; font-weight: 700; line-height: .95; }
.bz-client-insight-item small { margin-top: 6px; color: var(--client-muted); font-size: 11px; font-weight: 500; line-height: 1.22; }
.bz-client-insight-dots { display: flex; justify-content: center; gap: 8px; margin-top: 4px; }
.bz-client-insight-dots span { width: 8px; height: 8px; border-radius: 50%; background: #d9d7de; }
.bz-client-insight-dots .is-active { background: var(--client-primary-light); }

.bz-client-milestone-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
}
.bz-client-milestone-card {
    display: grid;
    align-content: center;
    min-width: 0;
    min-height: 108px;
    padding: 13px;
    overflow: hidden;
    border: 1px solid var(--client-border);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(35, 20, 50, .055);
}
.bz-client-milestone-card span,
.bz-client-milestone-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-milestone-card span { color: var(--client-text); font-size: 11px; font-weight: 750; }
.bz-client-milestone-card strong { margin: 3px 0; color: var(--client-text); font-size: 26px; font-weight: 750; line-height: 1; }
.bz-client-milestone-card small { color: var(--client-muted); font-size: 10px; font-weight: 650; text-transform: capitalize; }
.bz-client-milestone-accent { border-color: rgba(122, 47, 192, .16); background: linear-gradient(135deg, rgba(122, 47, 192, .09), #fff); }
.bz-client-milestone-info { border-color: rgba(37, 99, 235, .14); background: linear-gradient(135deg, rgba(219, 234, 254, .72), #fff); }
.bz-client-milestone-warning { border-color: rgba(245, 158, 11, .18); background: linear-gradient(135deg, rgba(254, 243, 199, .72), #fff); }
.bz-client-milestone-success { border-color: rgba(16, 185, 129, .16); background: linear-gradient(135deg, rgba(209, 250, 229, .72), #fff); }

.bz-client-services-card {
    margin-top: 10px;
    overflow: hidden;
    border: 1px solid var(--client-border);
    border-radius: var(--client-radius);
    background: #fff;
    box-shadow: var(--client-shadow);
}
.bz-client-services-heading {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px;
    align-items: center;
    min-height: 88px;
    padding: 14px 8px 14px 16px;
    background: linear-gradient(135deg, rgba(245, 158, 11, .12), rgba(255, 255, 255, .96));
}
.bz-client-services-heading span,
.bz-client-services-heading strong { display: block; }
.bz-client-services-heading span { color: var(--client-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.bz-client-services-heading strong { margin-top: 3px; font-size: 17px; line-height: 1.2; }
.bz-client-services-heading img { width: 82px; height: 82px; object-fit: contain; filter: drop-shadow(0 10px 14px rgba(35, 20, 50, .12)); }
.bz-client-services-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 20px 0 9px;
}
.bz-client-services-title h3 {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    overflow: hidden;
    margin: 0;
    color: var(--client-text);
    font-size: 16px;
    font-weight: 650;
    line-height: 1.15;
}
.bz-client-services-title h3 .bz-client-inline-icon { width: 17px; height: 17px; color: var(--client-primary); }
.bz-client-services-title .bz-client-services-toggle {
    width: auto;
    min-height: 32px;
    padding: 4px 0;
    border: 0;
    background: transparent;
    white-space: nowrap;
}
.bz-client-tried-services-card {
    margin-top: 0;
    border: 0;
    border-top: 1px solid var(--client-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.bz-client-service-history { padding: 0 12px; }
.bz-client-service-history-row {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    padding: 9px 0;
    border-top: 1px solid var(--client-border);
}
.bz-client-service-history-row:first-child { border-top: 0; }
.bz-client-service-history-row[hidden] { display: none; }
.bz-client-service-history-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: var(--client-accent-soft); color: var(--client-primary); }
.bz-client-service-history-icon .bz-client-inline-icon { width: 18px; height: 18px; }
.bz-client-service-history-media {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    overflow: hidden;
    border-radius: 50%;
    background: radial-gradient(circle at 32% 24%, var(--client-themed-glow), var(--client-themed-soft));
    color: var(--client-primary);
}
.bz-client-service-history-media .bz-client-inline-icon { width: 20px; height: 20px; color: currentColor; }
.bz-client-service-history-copy { min-width: 0; }
.bz-client-service-history-row strong,
.bz-client-service-history-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-service-history-row strong { color: var(--client-text); font-size: 14px; font-weight: 650; line-height: 1.1; }
.bz-client-service-history-row small { margin-top: 4px; color: var(--client-muted); font-size: 11px; font-weight: 500; }
.bz-client-service-history-heart {
    display: grid;
    place-items: center;
    justify-self: end;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(122, 47, 192, .09);
}
.bz-client-service-history-heart .bz-client-heart-glyph { width: 18px; height: 18px; font-size: 19px; }
.bz-client-service-history-book {
    justify-self: end;
    white-space: nowrap;
}
.bz-client-services-toggle {
    width: 100%;
    min-height: 43px;
    padding: 9px 14px;
    border: 0;
    border-top: 1px solid var(--client-border);
    background: #fff;
    color: var(--client-primary);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}
.bz-client-dashboard-action:focus-visible,
.bz-client-services-toggle:focus-visible { outline: 3px solid rgba(122, 47, 192, .28); outline-offset: -3px; }

.bz-client-login-page {
    min-height: 100vh;
    min-height: 100dvh;
    width: 100%;
    padding: max(22px, calc(env(safe-area-inset-top) + 14px)) 18px max(18px, calc(env(safe-area-inset-bottom) + 14px));
    background:
        radial-gradient(circle at -12% -6%, rgba(193, 69, 231, .16), transparent 15rem),
        radial-gradient(circle at 96% 108%, rgba(122, 47, 192, .07), transparent 18rem),
        linear-gradient(180deg, #fff 0%, #fbf8fd 48%, #f7f4fb 100%);
}

.bz-client-auth-header,
.bz-client-auth-card,
.bz-client-phone-access-panel,
.bz-client-auth-divider,
.bz-client-auth-register-card,
.bz-client-login-card {
    width: min(100%, 430px);
    margin: 0 auto;
}

.bz-client-auth-header,
.bz-client-login-card {
    text-align: center;
}

.bz-client-auth-card,
.bz-client-auth-register-card {
    border: 1px solid rgba(232, 229, 237, .92);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 46px rgba(35, 20, 50, .12);
}

.bz-client-auth-card {
    padding: 22px;
}

.bz-client-login-card {
    min-height: calc(100vh - 74px);
    min-height: calc(100dvh - 74px);
    padding: 0;
}

.bz-client-login-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104px;
    min-height: 38px;
    margin: 0 auto;
}

.bz-client-login-brand img { width: 100%; height: auto; }

.bz-client-auth-header h1,
.bz-client-login-card h1 {
    margin: 16px 0 6px;
    color: var(--client-text);
    font-size: clamp(22px, 5.7vw, 28px);
    font-weight: 750;
    line-height: 1.16;
    letter-spacing: -.035em;
}

.bz-client-auth-header p,
.bz-client-login-card p {
    max-width: 300px;
    margin: 0 auto 16px;
    color: var(--client-muted);
    font-size: 14px;
    line-height: 1.45;
}

.bz-client-login-form { display: grid; gap: 16px; }
.bz-client-phone-access-page {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    align-content: start;
    gap: 26px;
}
.bz-client-phone-access-page .bz-client-auth-header {
    padding-top: clamp(18px, 7vh, 72px);
}
.bz-client-phone-access-page .bz-client-login-brand {
    width: 108px;
}
.bz-client-phone-access-panel {
    display: grid;
    gap: 12px;
}
.bz-client-phone-access-panel .bz-client-login-form,
.bz-client-phone-step {
    display: grid;
    gap: 18px;
}
.bz-client-phone-access-page .bz-client-auth-field > span:first-child:not(.bz-client-auth-input-wrap),
.online-booking-phone-access .bz-client-auth-field > span:first-child:not(.bz-client-auth-input-wrap) {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.bz-client-phone-access-page .bz-client-auth-input-wrap,
.online-booking-phone-access .bz-client-auth-input-wrap {
    min-height: 56px;
    border-radius: 12px;
    background: rgba(255,255,255,.86);
}
.bz-client-phone-input-wrap {
    display: block;
}
.bz-client-phone-access-page .intl-tel-input,
.online-booking-phone-access .intl-tel-input {
    display: block;
    width: 100%;
}
.bz-client-phone-access-page .intl-tel-input .bz-client-auth-input,
.online-booking-phone-access .intl-tel-input .bz-client-auth-input {
    padding-left: 52px;
}
.bz-client-phone-access-page .intl-tel-input.allow-dropdown .selected-flag,
.online-booking-phone-access .intl-tel-input.allow-dropdown .selected-flag {
    border-radius: 12px 0 0 12px;
}
.bz-client-phone-access-page .intl-tel-input.allow-dropdown .flag-container:hover .selected-flag,
.bz-client-phone-access-page .intl-tel-input.allow-dropdown input:focus + .flag-container .selected-flag,
.online-booking-phone-access .intl-tel-input.allow-dropdown .flag-container:hover .selected-flag,
.online-booking-phone-access .intl-tel-input.allow-dropdown input:focus + .flag-container .selected-flag {
    background: rgba(122, 47, 192, .06);
}
.bz-client-phone-access-page .bz-client-login-form .register-field,
.bz-client-phone-access-page .bz-client-login-form .bz-client-auth-input,
.online-booking-phone-access .bz-client-auth-input {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding: 12px 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--client-text);
    font-size: 16px;
    font-weight: 650;
    outline: none;
}
.bz-client-phone-access-page .intl-tel-input .bz-client-auth-input,
.online-booking-phone-access .intl-tel-input .bz-client-auth-input {
    padding-left: 52px;
}
.bz-client-phone-access-page .bz-client-primary,
.bz-client-phone-access-page .bz-client-secondary,
.online-booking-phone-access .bz-client-primary,
.online-booking-phone-access .bz-client-secondary {
    width: 100%;
    min-height: 52px;
    border-radius: 999px;
    font-size: 14px;
}
.bz-client-phone-access-page .bz-client-secondary,
.online-booking-phone-access .bz-client-secondary {
    background: rgba(255,255,255,.72);
}
.bz-client-phone-access-page .bz-client-login-errors,
.bz-client-phone-access-page .bz-client-login-success {
    margin-bottom: 0;
    text-align: center;
}
.bz-client-phone-code-options {
    display: grid;
    gap: 12px;
    padding-top: 0;
}
.bz-client-phone-code-options p {
    max-width: 330px;
    margin: 0 auto 2px;
    color: var(--client-muted);
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
}
.bz-client-phone-back,
.bz-client-link-button {
    justify-self: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--client-primary);
    font: inherit;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
}
.bz-client-phone-back {
    justify-self: start;
    color: var(--client-muted);
}
.bz-client-phone-back::before {
    content: "← ";
}
.bz-client-link-button:disabled {
    color: var(--client-muted);
    cursor: default;
}
.bz-client-sms-sent-to {
    color: var(--client-success, #029b52) !important;
    font-weight: 650;
}
.bz-client-phone-processing {
    min-height: 260px;
    padding: 36px 12px;
    text-align: center;
}
.bz-client-phone-processing-check {
    display: grid;
    width: 58px;
    height: 58px;
    margin: 0 auto 20px;
    place-items: center;
    border-radius: 50%;
    background: rgba(33, 190, 111, .12);
    color: #19a961;
    font-size: 28px;
    font-weight: 800;
}
.bz-client-phone-processing h2 {
    margin: 0 0 10px;
    color: var(--client-text);
    font-size: 22px;
    font-weight: 750;
}
.bz-client-phone-processing p {
    max-width: 340px;
    margin: 0 auto;
    color: var(--client-muted);
    font-size: 14px;
    line-height: 1.55;
}
.bz-client-phone-processing-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 26px;
}
.bz-client-phone-processing-dots i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--client-primary);
    animation: bz-client-phone-dot 1.15s ease-in-out infinite;
}
.bz-client-phone-processing-dots i:nth-child(2) { animation-delay: .16s; }
.bz-client-phone-processing-dots i:nth-child(3) { animation-delay: .32s; }
@keyframes bz-client-phone-dot {
    0%, 60%, 100% { opacity: .25; transform: translateY(0); }
    30% { opacity: 1; transform: translateY(-5px); }
}
.bz-client-phone-access-note {
    align-self: end;
    width: min(100%, 430px);
    margin: clamp(34px, 10vh, 96px) auto 0;
    color: #8a8395;
    font-size: 14px;
    line-height: 1.55;
    text-align: center;
}
.bz-client-login-form label,
.bz-client-auth-field { display: grid; gap: 8px; color: var(--client-text); font-size: 12px; font-weight: 750; }
.bz-client-auth-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 49px;
    border: 1px solid #ded9e8;
    border-radius: 9px;
    background: #fff;
    color: var(--client-primary);
    overflow: hidden;
    transition: border-color .16s ease, box-shadow .16s ease;
}
.bz-client-auth-input-wrap:focus-within {
    border-color: var(--client-primary);
    box-shadow: 0 0 0 3px rgba(122, 47, 192, .10);
}
.bz-client-auth-input-wrap > .bz-client-inline-icon {
    width: 18px;
    height: 18px;
    margin-left: 15px;
    color: var(--client-primary);
}
.bz-client-login-form .register-field,
.bz-client-login-form .bz-client-auth-input {
    width: 100%;
    min-width: 0;
    min-height: 47px;
    padding: 12px 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--client-text);
    font-size: 13px;
    outline: none;
}
.bz-client-login-form .register-field::placeholder { color: #928ca0; opacity: 1; }
.bz-client-login-form .register-field:focus { border-color: transparent; box-shadow: none; outline: none; }
.bz-client-auth-password-toggle {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 47px;
    border: 0;
    background: transparent;
    color: #6f687c;
    cursor: pointer;
}
.bz-client-auth-password-toggle .bz-client-inline-icon { width: 18px; height: 18px; }
.bz-client-login-form .bz-client-primary { margin-top: 2px; border-radius: 9px; font-size: 14px; }
.bz-client-phone-access-page .bz-client-login-form .bz-client-primary,
.bz-client-phone-access-page .bz-client-login-form .bz-client-secondary,
.online-booking-phone-access .bz-client-primary,
.online-booking-phone-access .bz-client-secondary {
    min-height: 52px;
    border-radius: 999px;
}
.bz-client-login-errors { margin-bottom: 12px; color: var(--client-danger); font-size: 13px; font-weight: 700; }
.bz-client-login-success { margin-bottom: 12px; color: #169b62; font-size: 13px; font-weight: 700; }
.bz-client-login-errors p { margin: 0 0 6px; color: inherit; }
.bz-client-login-link { display: block; margin-top: 15px; color: var(--client-primary); font-size: 13px; font-weight: 750; text-align: center; }
.bz-client-login-register { margin-top: 20px !important; margin-bottom: 0 !important; font-size: 12px !important; }
.bz-client-login-create { display: flex; width: auto; min-height: 39px; margin-top: 0; padding: 9px 14px; white-space: nowrap; }
.bz-client-auth-divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 18px;
    margin: 16px auto;
    color: var(--client-muted);
}
.bz-client-auth-divider span { height: 1px; background: #ded9e8; }
.bz-client-auth-divider small { font-size: 12px; font-weight: 700; }
.bz-client-auth-register-card {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    gap: 8px 14px;
    padding: 16px;
}
.bz-client-auth-register-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--client-accent-soft);
    color: var(--client-primary);
}
.bz-client-auth-register-icon .bz-client-inline-icon { width: 22px; height: 22px; }
.bz-client-auth-register-copy { display: grid; gap: 3px; min-width: 0; }
.bz-client-auth-register-copy strong { color: var(--client-text); font-size: 14px; font-weight: 750; }
.bz-client-auth-register-copy small { color: var(--client-muted); font-size: 12px; line-height: 1.35; }
.bz-client-auth-register-card .bz-client-login-create {
    grid-column: 2;
    justify-self: start;
    max-width: 100%;
}
.bz-client-auth-back {
    position: absolute;
    top: max(18px, env(safe-area-inset-top));
    left: 18px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: #5f5a68;
}
.bz-client-auth-back .bz-client-inline-icon { width: 23px; height: 23px; }
.bz-client-auth-message {
    display: none;
    margin-bottom: 14px;
    padding: 11px 12px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
}
.bz-client-auth-message.is-success {
    display: block;
    background: #eaf8ef;
    color: var(--client-success);
}
.bz-client-auth-message.is-error {
    display: block;
    background: #fff0f4;
    color: var(--client-danger);
}
.bz-client-auth-help {
    display: flex;
    justify-content: center;
    gap: 4px;
    width: min(100%, 430px);
    margin: 18px auto 0;
    color: var(--client-text);
    font-size: 12px;
    font-weight: 650;
    text-align: center;
}
.bz-client-auth-help a {
    color: var(--client-primary);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.bz-client-register-page {
    padding-top: max(38px, calc(env(safe-area-inset-top) + 28px));
}
.bz-client-register-page .bz-client-login-brand { width: 132px; }
.bz-client-register-page .bz-client-auth-header h1 { margin-top: 22px; }
.bz-client-register-page .bz-client-auth-header p { margin-bottom: 18px; }
.bz-client-register-page .bz-client-auth-card { padding: 20px; }
.bz-client-register-page .bz-client-login-form { gap: 14px; }
.bz-client-register-page .bz-client-consent {
    margin-top: 2px;
    color: var(--client-text);
    font-size: 12px;
    font-weight: 600 !important;
}
.bz-client-register-page .bz-client-consent a {
    color: var(--client-primary);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.bz-client-register-page .bz-client-login-link { margin-top: 14px; }
.bz-client-consent { grid-template-columns: 22px minmax(0, 1fr); align-items: start; font-weight: 500 !important; line-height: 1.4; }
.bz-client-consent input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--client-primary); }
.bz-client-loading { display: none; }
.bz-client-loading.is-visible { display: flex; }

.bz-client-detail-cover { position: relative; min-height: 246px; margin: calc(-1 * max(24px, env(safe-area-inset-top))) -18px 6px; padding: max(14px, env(safe-area-inset-top)) 18px 0; overflow: hidden; }
.bz-client-detail-cover-top { position: relative; z-index: 2; display: flex; justify-content: space-between; }
.bz-client-detail-cover-back { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.92); box-shadow: 0 8px 18px rgba(10, 8, 16, .16); }
.bz-client-detail-cover-media { position: absolute; inset: 0 0 72px; background: #191421; }
.bz-client-detail-cover-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 8, 16, .24), rgba(11, 8, 16, .12) 45%, rgba(248,247,250,.96)); }
.bz-client-detail-cover-media img,
.bz-client-detail-cover-media .bz-client-image-placeholder { width: 100%; height: 100%; object-fit: cover; }
.bz-client-detail-hero { position: relative; z-index: 2; margin: 126px 0 0 auto; padding: 15px; background: linear-gradient(135deg, var(--client-primary-dark), var(--client-primary-light)); color: #fff; }
.bz-client-detail-hero .bz-client-status { margin: 0 0 12px; background: rgba(255,255,255,.22); color: #fff; font-size: 10px; }
.bz-client-detail-date { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 12px; }
.bz-client-detail-date strong { display: block; overflow: hidden; font-size: 17px; line-height: 1.18; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-detail-date > div > span { display: block; overflow: hidden; margin-top: 5px; color: rgba(255,255,255,.92); font-size: 14px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.bz-client-detail-calendar-box { display: grid; place-items: center; align-self: center; width: 44px; height: 44px; margin: 0; border-radius: 12px; background: rgba(255,255,255,.18); }
.bz-client-detail-calendar-box .bz-client-inline-icon { width: 22px; height: 22px; color: #fff; }
.bz-client-detail-header { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; text-align: center; }
.bz-client-detail-header h1 { align-self: center; font-size: clamp(19px, 5vw, 24px); }
.bz-client-header-spacer { width: 44px; }
.bz-client-calendar-action { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; margin-top: 12px; }
.bz-client-calendar-action .bz-client-inline-icon { width: 18px; height: 18px; }
.bz-client-info-card { margin-top: 0; }
.bz-client-contact-card,
.bz-client-location-card,
.bz-client-info-card,
.bz-client-policy {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.bz-client-detail-section { padding: 18px 0; border-bottom: 1px solid var(--client-border); }
.bz-client-confirmation-card { display: grid; gap: 22px; padding: 6px 0 18px; }
.bz-client-situation-banner { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 12px; width: 100%; padding: 14px 16px; border-radius: 16px; background: #f3effb; color: var(--client-primary-dark); }
.bz-client-situation-banner.is-pending { background: #fff4d8; color: #6d4408; }
.bz-client-situation-banner.is-success { background: #e8f8ef; color: var(--client-success); }
.bz-client-situation-banner.is-danger { background: #fff0f4; color: #bf2852; }
.bz-client-situation-banner.is-warning { background: #fff4d8; color: #7b500b; }
.bz-client-situation-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: rgba(255,255,255,.48); }
.bz-client-situation-icon .bz-client-inline-icon { width: 24px; height: 24px; }
.bz-client-situation-banner strong, .bz-client-situation-banner small { display: block; }
.bz-client-situation-banner strong { font-size: 15px; line-height: 1.25; }
.bz-client-situation-banner small { margin-top: 4px; font-size: 13px; line-height: 1.35; }
.bz-client-situation-action { width: 100%; min-height: 42px; margin-top: 12px; border-radius: 12px; font-size: 13px; }
.bz-client-presence-choice h2 { margin: 0 0 14px; color: var(--client-text); font-size: 20px; }
.bz-client-presence-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bz-client-presence-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-width: 0; padding-inline: 12px; }
.bz-client-presence-actions .bz-client-inline-icon { width: 22px; height: 22px; }
.bz-client-detail-section-title { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; color: var(--client-text); font-size: 15px; font-weight: 800; }
.bz-client-detail-section-title .bz-client-inline-icon { width: 17px; height: 17px; color: var(--client-text); }
.bz-client-detail-table { display: grid; gap: 15px; padding-left: 27px; }
.bz-client-detail-table-row { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); gap: 16px; align-items: baseline; }
.bz-client-detail-table-row span { color: #3d3848; font-size: 13px; font-weight: 500; }
.bz-client-detail-table-row strong { color: #2f2a39; font-size: 13px; font-weight: 600; text-align: right; }
.bz-client-info-row { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: start; }
.bz-client-info-row-compact { grid-template-columns: 24px minmax(0, .58fr) minmax(0, 1fr); }
.bz-client-info-row-compact > .bz-client-inline-icon { grid-row: 1; }
.bz-client-info-row-compact > div { display: grid; grid-column: 2 / 4; grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); gap: 12px; align-items: baseline; }
.bz-client-info-row-compact h2 { align-self: baseline; }
.bz-client-info-row-compact p { margin-top: 0; text-align: right; }
.bz-client-info-row + .bz-client-info-row { padding-top: 14px; border-top: 1px solid var(--client-border); }
.bz-client-info-row:not(:last-child) { padding-bottom: 14px; }
.bz-client-info-row h2, .bz-client-info-row h3 { margin: 0; color: var(--client-muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; line-height: 1.2; text-transform: uppercase; }
.bz-client-info-row p { margin: 3px 0 0; color: var(--client-text); font-size: 16px; font-weight: 750; line-height: 1.3; white-space: pre-line; }
.bz-client-info-row-plain p { margin-top: 0; color: var(--client-muted); font-size: 13px; font-weight: 650; }
.bz-client-info-row-with-actions p { margin-bottom: 10px; }
.bz-client-detail-actions { display: grid; gap: 9px; margin-top: 18px; }
.bz-client-policy { margin-top: 0; color: var(--client-muted); font-size: 13px; }
.bz-client-policy p { margin: 0; padding-left: 27px; color: #4f4a59; font-size: 13px; line-height: 1.65; white-space: pre-line; }
.bz-client-mini-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.bz-client-mini-action { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 7px 11px; border: 1px solid rgba(122,47,192,.22); border-radius: 999px; background: var(--client-accent-soft); color: var(--client-primary); font-size: 12px; font-weight: 800; }
.bz-client-mini-action .bz-client-inline-icon { width: 15px; height: 15px; }
.bz-client-whatsapp { border-color: #1fa855; color: #168d47; }
.bz-client-contact-card { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-top: 4px; padding: 16px 0; border-bottom: 1px solid var(--client-border); }
.bz-client-contact-card > .bz-client-inline-icon,
.bz-client-location-heading > .bz-client-inline-icon { color: var(--client-text); }
.bz-client-contact-card h2,
.bz-client-location-card h2 { margin: 0; color: var(--client-muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.bz-client-contact-card p,
.bz-client-location-card p { margin: 3px 0 0; color: var(--client-text); font-size: 13px; font-weight: 650; line-height: 1.35; }
.bz-client-contact-actions { display: inline-flex; gap: 8px; }
.bz-client-round-action { display: grid; place-items: center; width: 39px; height: 39px; border: 0; border-radius: 50%; background: linear-gradient(135deg, var(--client-primary-dark), var(--client-primary-light)); color: #fff; box-shadow: 0 8px 18px rgba(122, 47, 192, .18); }
.bz-client-round-action.bz-client-whatsapp { background: #20cf69; color: #fff; box-shadow: 0 8px 18px rgba(32, 207, 105, .20); }
.bz-client-round-action .bz-client-inline-icon { width: 18px; height: 18px; color: currentColor; }
.bz-client-location-card { display: grid; gap: 12px; margin-top: 0; padding: 16px 0; border-bottom: 1px solid var(--client-border); }
.bz-client-location-heading { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: start; }
.bz-client-location-map { position: relative; height: 142px; overflow: hidden; border-radius: 13px; background: #edf3f3; }
.bz-client-location-map iframe { width: 100%; height: 100%; border: 0; filter: saturate(.85) contrast(.98); }
.bz-client-map-action { position: absolute; right: 12px; bottom: 10px; display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.96); color: var(--client-primary); font-size: 11px; font-weight: 800; box-shadow: 0 8px 20px rgba(35, 20, 50, .12); }
.bz-client-map-action .bz-client-inline-icon { width: 14px; height: 14px; }
.bz-client-hidden-form { display: none; }

.bz-client-reschedule-context { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 14px; align-items: center; margin-bottom: 16px; padding: 12px; }
.bz-client-reschedule-context img { width: 82px; height: 82px; border-radius: 16px; object-fit: cover; }
.bz-client-reschedule-context span,
.bz-client-reschedule-summary-card span,
.bz-client-reschedule-notes p { color: var(--client-muted); font-size: 12px; font-weight: 700; }
.bz-client-reschedule-context strong { display: block; margin-top: 4px; color: var(--client-text); font-size: 16px; line-height: 1.25; }
.bz-client-reschedule-context p { margin: 4px 0 0; color: #4f4a59; font-size: 13px; }
.bz-client-reschedule-picker { display: grid; gap: 16px; padding: 18px; }
.bz-client-reschedule-picker h2 { margin: 0; color: var(--client-text); font-size: 18px; }
.bz-client-reschedule-hours { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 12px 0 16px; }
.bz-client-hour-option { min-height: 42px; border: 1px solid rgba(122,47,192,.22); border-radius: 999px; background: #fff; color: var(--client-primary); font-size: 13px; font-weight: 800; }
.bz-client-hour-option.is-selected { border-color: transparent; background: linear-gradient(135deg, var(--client-primary-dark), var(--client-primary-light)); color: #fff; box-shadow: 0 10px 20px rgba(122, 47, 192, .18); }
.bz-client-reschedule-summary-card { padding: 18px; }
.bz-client-reschedule-summary-card h2 { margin: 12px 0 16px; color: var(--client-text); font-size: 20px; }
.bz-client-reschedule-summary-card p { margin: 14px 0 0; color: #4f4a59; font-size: 13px; }
.bz-client-reschedule-dates { display: grid; gap: 10px; }
.bz-client-reschedule-dates > div { display: grid; gap: 4px; padding: 12px; border-radius: 15px; background: #f8f5fb; }
.bz-client-reschedule-dates strong { color: var(--client-text); font-size: 16px; line-height: 1.25; }
.bz-client-reschedule-notes { display: grid; gap: 8px; margin-top: 14px; padding: 18px; }
.bz-client-reschedule-notes label { color: var(--client-text); font-size: 14px; font-weight: 800; }
.bz-client-reschedule-confirmed { display: grid; justify-items: center; gap: 9px; padding: 28px 18px; text-align: center; }
.bz-client-reschedule-confirmed h1 { margin: 6px 0 0; color: var(--client-text); font-size: 24px; }
.bz-client-reschedule-confirmed p { margin: 0; color: var(--client-muted); font-size: 13px; }
.bz-client-reschedule-confirmed strong { color: var(--client-primary); font-size: 19px; }
.bz-client-reschedule-confirmed > span:last-child { color: var(--client-text); font-size: 14px; font-weight: 700; }
.bz-client-success-mark { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: linear-gradient(135deg, var(--client-primary-dark), var(--client-primary-light)); color: #fff; font-size: 28px; font-weight: 900; }

.bz-client-form { padding: 18px; }
.bz-client-field { display: grid; gap: 7px; margin-bottom: 16px; }
.bz-client-field label { color: #494452; font-size: 13px; font-weight: 700; }
.bz-client-input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--client-border); border-radius: 11px; background: #fff; color: var(--client-text); outline: none; }
.bz-client-input:focus { border-color: var(--client-primary); box-shadow: 0 0 0 3px rgba(122, 47, 192, .12); }
.bz-client-profile-avatar { display: grid; place-items: center; width: 82px; height: 82px; margin: 0 auto 22px; overflow: hidden; border-radius: 50%; background: var(--client-accent-soft); }
.bz-client-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.bz-client-profile-links { display: grid; gap: 10px; margin-top: 14px; }
.bz-client-profile-link { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 0 16px; }
.bz-client-profile-logout { justify-content: flex-start; gap: 10px; color: var(--client-danger); font-weight: 700; }
.bz-client-danger-zone { margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--client-border); }
.bz-client-danger-zone summary { color: var(--client-muted); font-size: 13px; cursor: pointer; }
.bz-client-danger-zone p { color: var(--client-muted); font-size: 13px; }
.bz-client-danger-content { margin-top: 12px; padding: 18px; }
.bz-client-danger-content h2 { margin: 0; font-size: 17px; }
.bz-client-warning-message { padding: 11px 12px; border-radius: 10px; background: #fff7dc; color: var(--client-warning) !important; }
.bz-client-form-intro { margin: 0 0 18px; color: var(--client-muted); font-size: 14px; }
.bz-client-form-message { min-height: 20px; margin: 10px 0 0; font-size: 13px; text-align: center; }
.bz-client-form-message.is-success { color: var(--client-success); }
.bz-client-form-message.is-error { color: var(--client-danger); }
.bz-client-delete-confirmation { display: grid; gap: 14px; justify-items: center; text-align: center; }
.bz-client-delete-confirmation p { max-width: 460px; margin: 0; }
.bz-client-delete-code { width: 100%; margin: 4px 0 0; text-align: left; }
.bz-client-danger-button:disabled, .bz-client-primary:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.bz-client-danger-icon { color: var(--client-danger); background: #fff0f4; }
.bz-client-confirm-dialog h2 { margin: 0; font-size: 21px; }
.bz-client-confirm-dialog p { margin: 8px 0 20px; color: var(--client-muted); }
.bz-client-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.bz-client-help-dialog h2, .bz-client-message-dialog h2 { margin: 0; font-size: 21px; }
.bz-client-help-dialog > p { margin: 8px 0 20px; color: var(--client-muted); }
.bz-client-help-options { overflow: hidden; border: 1px solid var(--client-border); border-radius: 14px; }
.bz-client-help-option { display: grid; grid-template-columns: 42px minmax(0, 1fr) 18px; align-items: center; gap: 12px; width: 100%; padding: 15px; border: 0; border-bottom: 1px solid var(--client-border); background: #fff; color: var(--client-text); text-align: left; }
.bz-client-help-option:last-child { border-bottom: 0; }
.bz-client-help-option strong, .bz-client-help-option small { display: block; }
.bz-client-help-option strong { font-size: 15px; }
.bz-client-help-option small { margin-top: 4px; color: var(--client-muted); font-size: 13px; }
.bz-client-help-option.is-danger .bz-client-help-icon, .bz-client-help-option.is-danger strong { color: var(--client-danger); }
.bz-client-help-icon { display: grid; place-items: center; width: 42px; height: 42px; color: var(--client-primary); }
.bz-client-help-icon .bz-client-inline-icon { width: 28px; height: 28px; }
.bz-client-dialog-back-action { display: block; margin: 22px auto 0; padding: 8px 20px; border: 0; background: transparent; color: var(--client-primary); font-weight: 800; }
.bz-client-message-dialog label { display: block; margin: 16px 0 7px; color: var(--client-text); font-size: 13px; font-weight: 750; }
.bz-client-message-dialog textarea { width: 100%; min-height: 132px; margin-bottom: 16px; padding: 13px; resize: vertical; border: 1px solid var(--client-border); border-radius: 13px; background: #fff; color: var(--client-text); font: inherit; }
.bz-client-message-dialog textarea:focus { outline: 2px solid rgba(122,47,192,.2); border-color: var(--client-primary); }

.bz-client-inline-icon { display: inline-block; width: 20px; height: 20px; flex: 0 0 auto; background: currentColor; -webkit-mask: var(--client-inline-icon) center/contain no-repeat; mask: var(--client-inline-icon) center/contain no-repeat; }
.bz-client-inline-back { --client-inline-icon: url('/Img/icons/New icons/navegacao/arrow-left.svg'); }
.bz-client-inline-location { --client-inline-icon: url('/Img/icons/New icons/clientes-extra/map-pin.svg'); }
.bz-client-inline-service { --client-inline-icon: url('/Img/icons/New icons/agenda-acoes/scissors.svg'); color: var(--client-primary); }
.bz-client-inline-user { --client-inline-icon: url('/Img/icons/New icons/clientes/user.svg'); color: var(--client-primary); }
.bz-client-inline-users { --client-inline-icon: url('/Img/icons/New icons/clientes/users.svg'); color: var(--client-primary); }
.bz-client-inline-user-plus { --client-inline-icon: url('/Img/icons/New icons/clientes/user-plus.svg'); color: currentColor; }
.bz-client-inline-calendar { --client-inline-icon: url('/Img/icons/New icons/agenda/calendar.svg'); color: currentColor; }
.bz-client-inline-calendar-cancel { --client-inline-icon: url('/Img/icons/New icons/agenda-acoes/calendar-x.svg'); }
.bz-client-inline-check { --client-inline-icon: url('/Img/icons/New icons/estados/check-circle.svg'); }
.bz-client-inline-message { --client-inline-icon: url('/Img/icons/New icons/principal/message-circle.svg'); }
.bz-client-inline-chevron { --client-inline-icon: url('/Img/icons/New icons/navegacao/chevron-right.svg'); }
.bz-client-inline-spaces { --client-inline-icon: url('/Img/icons/New icons/negocio/store.svg'); color: var(--client-primary); }
.bz-client-inline-phone { --client-inline-icon: url('/Img/icons/New icons/principal/phone.svg'); color: var(--client-primary); }
.bz-client-inline-whatsapp { --client-inline-icon: url('/Img/icons/New icons/clientes-extra/whatsapp.svg'); color: currentColor; }
.bz-client-inline-email { --client-inline-icon: url('/Img/icons/New icons/clientes-extra/mail.svg'); color: currentColor; }
.bz-client-inline-mail { --client-inline-icon: url('/Img/icons/New icons/clientes-extra/mail.svg'); color: currentColor; }
.bz-client-inline-lock { --client-inline-icon: url('/Img/icons/New icons/permissoes/lock.svg'); color: currentColor; }
.bz-client-inline-eye { --client-inline-icon: url('/Img/icons/New icons/permissoes/eye.svg'); color: currentColor; }
.bz-client-inline-shield { --client-inline-icon: url('/Img/icons/New icons/permissoes/shield.svg'); color: currentColor; }
.bz-client-inline-clock { --client-inline-icon: url('/Img/icons/New icons/agenda/clock.svg'); color: var(--client-primary); }
.bz-client-inline-wallet { --client-inline-icon: url('/Img/icons/New icons/pagamentos/wallet.svg'); color: var(--client-primary); }
.bz-client-inline-info { --client-inline-icon: url('/Img/icons/New icons/confirmacao-card/info.svg'); color: var(--client-primary); }
.bz-client-inline-trash { --client-inline-icon: url('/Img/icons/New icons/ficha-acoes/trash-2.svg'); }
.bz-client-inline-logout { --client-inline-icon: url('/Img/icons/New icons/sidebar/log-out.svg'); }
.bz-client-inline-sparkles { --client-inline-icon: url('/Img/icons/New icons/upsell/sparkles.svg'); color: var(--client-primary); }
.bz-client-inline-star { --client-inline-icon: url('/Img/icons/New icons/upsell/star.svg'); color: var(--client-primary); }
.bz-client-inline-party { --client-inline-icon: url('/Img/icons/New icons/clientes/user-check.svg'); color: var(--client-primary); }

.bz-client-dialog-layer { display: none; position: fixed; inset: 0; z-index: 100; align-items: end; justify-content: center; }
.bz-client-dialog-layer.is-open { display: flex; }
.bz-client-dialog-backdrop { position: absolute; inset: 0; background: rgba(16, 12, 22, .54); }
.bz-client-dialog { position: relative; z-index: 1; width: min(100%, 560px); max-height: min(88vh, 760px); overflow: auto; padding: 20px; border-radius: 22px 22px 0 0; background: #fff; box-shadow: 0 -18px 48px rgba(0,0,0,.18); }
.bz-client-loading { display: none; position: fixed; inset: 0; z-index: 120; place-content: center; justify-items: center; gap: 12px; background: rgba(255,255,255,.84); color: var(--client-muted); }
.bz-client-loading.is-visible { display: grid; }
.bz-client-spinner { width: 34px; height: 34px; border: 3px solid #e5d8f2; border-top-color: var(--client-primary); border-radius: 50%; animation: client-spin .75s linear infinite; }
@keyframes client-spin { to { transform: rotate(360deg); } }

/* The reschedule dialog posts only the new date and time. */
.bz-client-reschedule > h2 { margin: 0; font-size: 21px; }
.bz-client-reschedule > p { margin: 6px 0 18px; color: var(--client-muted); font-size: 14px; }
.bz-client-reschedule-form { display: grid; gap: 16px; }
.bz-client-reschedule-summary { display: grid; gap: 2px; margin-bottom: 16px; padding: 13px 14px; border-radius: 12px; background: var(--client-accent-soft); }
.bz-client-reschedule-summary strong { font-size: 14px; }
.bz-client-reschedule-summary span { color: var(--client-muted); font-size: 12px; }
.bz-client-reschedule-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(126px, .55fr); gap: 10px; }
.bz-client-reschedule-fields .bz-client-field { margin-bottom: 0; }
.bz-client-reschedule-help { margin: -5px 0 0; color: var(--client-muted); font-size: 12px; }

@media (max-width: 420px) {
    .bz-client-main { padding-right: 14px; padding-left: 14px; }
    .bz-client-login-page { padding-right: 14px; padding-left: 14px; }
    .bz-client-login-card { min-height: calc(100dvh - 66px); }
    .bz-client-login-brand { width: 92px; min-height: 34px; }
    .bz-client-auth-header h1,
    .bz-client-login-card h1 { margin-top: 14px; font-size: 24px; }
    .bz-client-auth-header p,
    .bz-client-login-card p { margin-bottom: 14px; font-size: 13px; line-height: 1.35; }
    .bz-client-auth-card { padding: 18px; }
    .bz-client-login-form { gap: 12px; }
    .bz-client-auth-input-wrap { min-height: 46px; }
    .bz-client-login-form .register-field,
    .bz-client-login-form .bz-client-auth-input { min-height: 44px; }
    .bz-client-login-link { margin-top: 12px; }
    .bz-client-auth-divider { margin: 13px auto; }
    .bz-client-auth-register-card { padding: 14px; }
    .bz-client-next-card-main { grid-template-columns: 104px minmax(0, 1fr); min-height: 122px; }
    .bz-client-next-image { width: 104px; min-height: 122px; }
    .bz-client-appointment-card { grid-template-columns: 96px minmax(0, 1fr) 20px; min-height: 96px; }
    .bz-client-appointment-cover { width: 96px; min-height: 96px; }
    .bz-client-appointment-cover > img { min-height: 96px; }
    .bz-client-salon-main-link { grid-template-columns: 100px minmax(0, 1fr) 22px; min-height: 80px; }
    .bz-client-salon-card-image { width: 100px; height: 80px; }
    .bz-client-dashboard-card { min-height: 136px; padding-right: 112px; }
    .bz-client-dashboard-asset { right: -18px; width: 126px; height: 126px; }
    .bz-client-relationship-card { padding-right: 16px; }
    .bz-client-relationship-has-cover { padding-right: 112px; }
    .bz-client-relationship-cover-asset { right: -16px; bottom: -16px; width: 120px; height: 112px; border-radius: 24px 0 18px 0; }
    .bz-client-dashboard-copy > strong { font-size: 24px; }
    .bz-client-last-visit-card .bz-client-dashboard-copy > strong { font-size: 15px; font-weight: 650; }
    .bz-client-last-visit-card .bz-client-dashboard-label { font-size: 11px; }
    .bz-client-milestone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bz-client-journey-heading h2 { gap: 6px; font-size: 13px; font-weight: 650; }
    .bz-client-journey-heading .bz-client-inline-icon { width: 15px; height: 15px; }
    .bz-client-journey-card { padding: 4px 0 0; border-radius: 0; box-shadow: none; }
    .bz-client-journey-line { top: 31px; bottom: 31px; left: 6px; }
    .bz-client-journey-row { grid-template-columns: 14px 34px minmax(0, 1fr) minmax(58px, 76px); gap: 6px; min-height: 62px; }
    .bz-client-journey-pin { width: 10px; height: 10px; margin-left: 2px; border-width: 2px; }
    .bz-client-journey-icon { width: 34px; height: 34px; }
    .bz-client-journey-icon .bz-client-inline-icon { width: 17px; height: 17px; }
    .bz-client-journey-icon .bz-client-heart-glyph { width: 17px; height: 17px; font-size: 18px; }
    .bz-client-journey-copy strong { font-size: 12px; font-weight: 500; }
    .bz-client-journey-copy small { font-size: 10px; font-weight: 500; }
    .bz-client-journey-date { gap: 4px; font-size: 14.5px; font-weight: 700; }
    .bz-client-journey-date .bz-client-inline-icon { width: 15px; height: 15px; }
    .bz-client-journey-count strong { font-size: 23px; font-weight: 750; }
    .bz-client-journey-count small { font-size: 12.5px; font-weight: 700; }
    .bz-client-journey-pill { width: max-content; max-width: min(156px, 48vw); min-height: 0; padding: 0; border-radius: 0; background: transparent; font-size: 14px; font-weight: 700; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; justify-items: center; }
    .bz-client-insight-card { padding: 12px 0 9px; border-radius: 0; box-shadow: none; }
    .bz-client-insight-item { min-height: 88px; padding: 0 4px; }
    .bz-client-insight-icon { width: 32px; height: 32px; margin-bottom: 8px; }
    .bz-client-insight-icon .bz-client-inline-icon,
    .bz-client-insight-icon .bz-client-heart-glyph { width: 17px; height: 17px; font-size: 18px; }
    .bz-client-insight-item strong { font-size: 21px; font-weight: 700; }
    .bz-client-insight-item small { font-size: 9.5px; font-weight: 500; }
    .bz-client-services-title { margin-top: 18px; }
    .bz-client-services-title h3 { gap: 6px; font-size: 14px; font-weight: 650; }
    .bz-client-services-title h3 .bz-client-inline-icon { width: 15px; height: 15px; }
    .bz-client-service-history { padding: 0 10px; }
    .bz-client-service-history-row { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 9px; min-height: 58px; }
    .bz-client-service-history-media { width: 36px; height: 36px; }
    .bz-client-service-history-media .bz-client-inline-icon { width: 18px; height: 18px; }
    .bz-client-service-history-row strong { font-size: 13px; font-weight: 650; }
    .bz-client-service-history-row small { font-size: 10px; }
    .bz-client-service-history-heart { width: 32px; height: 32px; }
}

@media (min-width: 721px) {
    body.bz-client-area-body { padding: 28px 0; }
    body.bz-client-auth-body { padding: 0; }
    .bz-client-auth-body .bz-client-login-page { display: grid; place-items: center; padding: 64px 28px; }
    .bz-client-auth-body .bz-client-login-card { min-height: 0; }
    .bz-client-shell { width: 720px; min-height: calc(100vh - 56px); margin: auto; overflow: hidden; border: 1px solid var(--client-border); border-radius: 28px; background: var(--client-page); box-shadow: 0 24px 70px rgba(31, 18, 43, .12); }
    .bz-client-main { min-height: calc(100vh - 56px); }
    .bz-client-dialog { margin-bottom: 24px; border-radius: 22px; }
}

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

.bz-client-bottom-nav.bz-client-bottom-nav-without-book {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
