/* Page compositions. Structure stays with each Django template; tokens are shared. */
.ui-home .main-container { padding-top: 0; }
.home-hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(2rem,5vw,5rem); align-items: center; padding: 4.5rem 0 3.5rem; }
.home-intro h1 { font-size: clamp(3rem,5.4vw,5rem); line-height: 1.08; margin-bottom: 1.75rem; }
.home-intro h1 em { color: var(--primary); font-weight: 400; }
.home-description { font-size: 1.125rem; line-height: 1.8; color: var(--muted); max-width: 31rem; margin-bottom: 2rem; }
.home-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem; }.home-secondary { font-size: .9rem; font-weight: 700; }
.home-reassurance { display: flex; gap: .6rem; align-items: center; font-size: .8rem; color: var(--muted); margin-top: 2rem; }
.home-paths { padding: 2.5rem; background: var(--surface-brand); border-radius: 2px 2px 72px 2px; border-top: 3px solid var(--primary); }
.home-paths h2 { font-size: clamp(2rem,3vw,2.75rem); margin-bottom: 1.75rem; }.home-paths h2 em { color: var(--primary); }
.home-path { display: flex; align-items: baseline; gap: 1rem; padding: 1.25rem 0; border-top: 1px solid #36758830; text-decoration: none; color: var(--ink); }
.home-path > span:nth-child(2) { flex: 1; }.home-path strong { display: block; font-size: .95rem; }.home-path small { display: block; margin-top: .3rem; color: var(--muted); font-size: .85rem; }
.home-path .path-number { font-size: .7rem; font-weight: 700; color: var(--primary); font-variant-numeric: tabular-nums; }.home-path:hover strong { text-decoration: underline; text-underline-offset: .25em; }
.home-professional-link { display: flex; gap: .75rem; flex-wrap: wrap; padding: 1.5rem 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); font-size: .9rem; }.home-professional-link span { color: var(--muted); }.home-professional-link a { font-weight: 700; }
.ui-home .home-values .card { background: transparent !important; border: 0 !important; box-shadow: none !important; text-align: left; padding: 1rem 1.5rem !important; border-left: 1px solid var(--hairline) !important; border-radius: 0 !important; }
.ui-home .home-values .card > .rounded-circle { margin-left: 0 !important; width: 44px; height: 44px; background: transparent !important; box-shadow: none !important; }
.ui-home .home-values h2,.ui-home .main-container > .py-5 h2 { font-family: var(--font-editorial); font-weight: 400 !important; font-size: 2.5rem; }
.ui-home .org-cta-dark { background: var(--minder-teal-dark); }
.ui-home .main-container > .card:last-child { background: var(--surface-brand) !important; }
.ui-home .main-container > .card:last-child > .position-absolute { display: none; }
.ui-auth .main-container { max-width: 1100px; padding-block: 2.75rem; }
.ui-auth .main-container > .row { padding-block: 0 !important; }
.ui-auth .main-container > .row > [class*='col-'] { min-width: min(100%,460px); }
.ui-auth .card { border-top: 3px solid var(--primary) !important; box-shadow: var(--shadow-md) !important; border-radius: var(--radius-md) !important; }
.ui-auth .card h1,.ui-auth .card h2 { font-family: var(--font-editorial); font-size: 2.2rem; font-weight: 400 !important; }
.ui-auth .card .text-center > .rounded-circle { background: transparent !important; width: 44px; height: 44px; }
.ui-auth .card .text-center { text-align: left !important; }
.ui-auth .card .form-control { min-height: 48px; }.ui-auth .card .input-group-text { background: white !important; }
.ui-auth .footer { padding-block: 2rem !important; }.ui-auth .footer .row { display: none; }.ui-auth .footer .border-top { border: 0 !important; padding-top: 0 !important; }
.ui-auth .bg-blobs { display: none; }
.ui-auth .role-selection-container { max-width: 1000px; padding: 0; margin: auto; }
.ui-auth .hero-section { text-align: left; margin-bottom: 2rem; padding: 0; }
.ui-auth .hero-title { font-family: var(--font-editorial); font-weight: 400; font-size: 3rem; background: none; -webkit-text-fill-color: var(--ink); }
.ui-auth .hero-subtitle { margin: 0; max-width: 42rem; color: var(--muted); }
.ui-auth .role-cards-container { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 2rem 0; }
.ui-auth .role-card { display: flex; flex-direction: column; text-align: left; padding: 2rem; background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-md); box-shadow: none; transform: none; cursor: default; }
.ui-auth .role-card:hover { transform: none; box-shadow: none; border-color: var(--hairline); }
.ui-auth .role-icon { margin: 0 0 1.5rem; background: var(--surface-brand); color: var(--primary); width: 48px; height: 48px; border-radius: var(--radius-sm); font-size: 1.5rem; }
.ui-auth .role-title { font-size: 1.5rem; }.ui-auth .role-features { padding: 0; list-style: none; margin: 1rem 0 2rem; }.ui-auth .role-features li { padding: .4rem 0; font-size: .9rem; }.ui-auth .role-btn { margin-top: auto; }
.ui-auth .login-section { background: transparent; border-top: 1px solid var(--hairline); padding: 2rem 0 0; border-radius: 0; }
.ui-onboarding .main-container { max-width: 800px; }.ui-onboarding .progress-bar { background: var(--primary) !important; }.ui-onboarding .card-body { padding: 2.5rem !important; }.ui-onboarding .workspace-nav { display: none; }
.ui-onboarding .footer .row { display: none; }
.discovery-heading { display: flex; align-items: end; gap: 2rem; justify-content: space-between; }.discovery-heading > div { flex: 1; }.discovery-heading p { max-width: 40rem; }
.page-marketplace-therapist-list .main-container > .row { --bs-gutter-x: 2rem; }
.filter-toggle { background: transparent; border: 0; padding: 0; color: var(--ink); text-align: left; min-height: 44px; }
.page-marketplace-therapist-list #filtersCollapse .form-label { font-size: .85rem; }
.page-marketplace-therapist-list .col-lg-9 > .d-flex.mb-4 .btn { display: none; }
.therapist-result .therapist-result-body { padding: 1.75rem; display: grid; grid-template-columns: 145px minmax(0,1fr); gap: 1.75rem; }
.therapist-result-overview { flex-direction: column; justify-content: start !important; gap: 1.25rem; }
.therapist-result .avatar-xxl { width: 100px; height: 100px; }
.therapist-result .therapist-price-rating { text-align: left !important; }.therapist-result .therapist-price-rating .rating-stars { justify-content: flex-start !important; }
.therapist-result .therapist-price-rating .h3 { font-size: 1.3rem; }.therapist-result-details h4 { font-size: 1.45rem; }
.therapist-result .card-body > .border-top { grid-column: 1/-1; }
.ui-therapist .main-container { max-width: 1240px; }.ui-therapist h1 { font-family: var(--font-editorial); font-weight: 400 !important; }
.ui-therapist .card { box-shadow: none !important; }.ui-therapist .sticky-top .card { border-top: 3px solid var(--primary) !important; }
.ui-matching .main-container { max-width: 960px; }.ui-matching h1 { font-family: var(--font-editorial); }.ui-matching .card { border-top: 3px solid var(--primary) !important; }
.ui-community .main-container { max-width: 1180px; }.community-heading { margin-bottom: 0; }.ui-community .post-card { border: 0 !important; border-bottom: 1px solid var(--hairline) !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; margin-bottom: 0 !important; }
.ui-community .post-card .card-body { padding: 1.75rem .75rem !important; }.ui-community .post-card h4 { font-size: 1.35rem; }.ui-community .post-card .card-body > .mb-4 { margin-bottom: 1rem !important; }.ui-community .post-card .card-body > .border-top { border-top: 0 !important; padding-top: .5rem !important; }
.ui-community .community-sidebar .card { box-shadow: none !important; }.ui-community .community-sidebar .card-header { font-size: .8rem; letter-spacing: .04em; }.ui-community .community-sidebar .list-group-item { font-size: .9rem; min-height: 44px; box-shadow: none !important; }
.ui-community .community-sidebar .card:not(:first-child) { background: transparent !important; border: 0 !important; }.ui-community .community-sidebar .card > [class*='bg-primary'] { background: transparent !important; border-bottom: 1px solid var(--hairline) !important; }
.ui-community .community-sidebar + .col-lg-9 > .mb-5 { margin-bottom: 1.5rem !important; }.ui-community .community-sidebar + .col-lg-9 > .d-flex { margin-bottom: 1.5rem !important; }
.ui-community .forum-content { font-size: 1.05rem; line-height: 1.8; max-width: 74ch; }
.ui-community .comment { padding-block: 1rem; border-bottom: 1px solid var(--hairline); }
.ui-journal .main-container > .container { padding-top: 0 !important; }.ui-journal h1 { font-family: var(--font-editorial); font-weight: 400 !important; }
.ui-journal .card.hover-lift { border: 0 !important; background: transparent !important; box-shadow: none !important; }.ui-journal .card.hover-lift .card-body { padding-inline: 0 !important; }.ui-journal .card-img-top { border-radius: var(--radius-sm); }
.page-blog-post-detail .blog-content { max-width: 68ch; margin-inline: auto; }.page-blog-post-detail .card-body { padding: 2rem; }
.ui-reading .main-container { max-width: 980px; }.ui-reading h1 { font-family: var(--font-editorial); font-weight: 400 !important; }.ui-reading .card { box-shadow: none !important; }.ui-reading .card-body { max-width: 76ch; margin-inline: auto; }.ui-reading .lead { font-size: 1.1rem; }.ui-reading p { line-height: 1.8; }
.ui-workspace .main-container { max-width: 1440px; }.ui-workspace .dashboard-container { grid-template-columns: 250px minmax(0,1fr); gap: 2rem; }
.ui-workspace .dashboard-sidebar { top: 100px; }.ui-workspace .dashboard-sidebar > .collapse > .card { padding: 1.25rem !important; box-shadow: none !important; background: transparent !important; border: 0 !important; border-right: 1px solid var(--hairline) !important; border-radius: 0 !important; }
.ui-workspace .dashboard-sidebar .list-group-item { background: transparent; font-size: .875rem; }.ui-workspace .dashboard-sidebar .nav-section-label { margin-top: .75rem; }
.ui-workspace .dashboard-sidebar .list-group-item:hover { background: var(--surface-brand); }
.ui-workspace .dashboard-content > .page-heading { padding-bottom: 1.5rem; margin-bottom: 1.5rem; }.ui-workspace .dashboard-content h1 { font-size: 2rem; }
.ui-workspace .stat-card { min-height: 110px; background: transparent !important; border-radius: 0 !important; border: 0 !important; border-left: 2px solid var(--hairline) !important; box-shadow: none !important; }
.ui-workspace .stat-card:hover { transform: none; box-shadow: none !important; }.ui-workspace .stat-card .card-body { padding: 1rem 1.25rem !important; }
.page-core-client-dashboard .main-container > .row > .col-lg-4 .card { box-shadow: none !important; }.page-core-client-dashboard .main-container > .row > .col-lg-8 > .d-flex:first-child { padding-bottom: 1.5rem; border-bottom: 1px solid var(--hairline); margin-bottom: 2rem !important; }
.ui-practice .main-container,.ui-clinical .main-container,.ui-credentials .main-container,.ui-supervision .main-container,.ui-funnel .main-container { max-width: 1240px; }
.ui-practice .table thead,.ui-clinical .table thead { position: sticky; top: 0; }
.ui-practice .main-container > .container,.ui-clinical .main-container > .container,.ui-supervision .main-container > .container { padding-top: .5rem !important; }
.ui-practice .card,.ui-clinical .card,.ui-credentials .card,.ui-supervision .card { box-shadow: none !important; }
.ui-practice .form-control,.ui-clinical .form-control { line-height: 1.6; }
.ui-funnel .stage-card { box-shadow: none; border-color: var(--hairline); }.ui-funnel .stage-card:hover { transform: none; }
.ui-organization .main-container { max-width: 1440px; }.ui-organization .org-shell { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 2rem; align-items: start; }
.ui-organization .org-side { position: sticky; top: 100px; }.ui-organization .org-side .org-card { padding: 1rem; background: transparent; border: 0; box-shadow: none; }
.ui-organization .org-side .nav-link { font-size: .875rem; gap: .65rem; padding: .7rem .8rem; }.ui-organization .org-side .nav-section { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; margin: 1.5rem .8rem .5rem; color: var(--muted); font-weight: 700; }
.ui-organization .org-header { background: var(--minder-teal-dark); border-radius: var(--radius-md); padding: 2rem; }.ui-organization .org-header h1 { font-size: 2rem; }.ui-organization .org-card { border-color: var(--hairline); border-radius: var(--radius-md); box-shadow: none; }
.ui-organization .org-kpi { background: transparent; border: 0; border-left: 2px solid var(--hairline); border-radius: 0; box-shadow: none; }.ui-organization .org-kpi .kpi-label { text-transform: none; font-size: .875rem; letter-spacing: 0; }.ui-organization .org-kpi .kpi-value { font-weight: 650; }
.ui-organization .org-quick-actions .qa-btn { border-radius: var(--radius-sm); min-height: 44px; box-shadow: none; }.ui-organization .nav-count { margin-left: auto; padding: .1rem .5rem; border-radius: var(--radius-pill); background: var(--surface-brand); font-size: .7rem; }
.ui-organization-public h1 { font-family: var(--font-editorial); font-weight: 400 !important; }.ui-organization-public :is(.org-hero,.about-hero,.pgm-hero,.refer-hero) { background: var(--minder-teal-dark); box-shadow: none; border-radius: var(--radius-md); }
.ui-session .workspace-nav,.page-marketplace-messages-detail .workspace-nav { display: none; }
.ui-session .footer,.page-marketplace-messages-detail .footer { display: none; }
.ui-session .main-container { flex: 1; }.ui-session .card { box-shadow: none !important; }
.ui-error .main-container { display: grid; place-items: center; min-height: 60vh; }.ui-error .card { max-width: 640px; }
/* Inbox and conversation are intentionally distinct from the card-based workspaces. */
.ui-messaging .conv-container { max-width: 980px; }.ui-messaging .conv-container .col-lg-8 { width: 100%; }
.ui-messaging .conv-item { margin: 0; border: 0 !important; border-bottom: 1px solid var(--hairline) !important; border-radius: 0 !important; padding: 1.5rem !important; box-shadow: none !important; background: var(--surface); }
.ui-messaging .conv-item:hover { transform: none; box-shadow: none !important; background: var(--paper) !important; }.ui-messaging .conv-item.unread { border-left: 3px solid var(--primary) !important; background: var(--surface-brand); }
.ui-messaging .conv-avatar { width: 48px; height: 48px; }.ui-messaging .conv-item .flex-grow-1 > .d-flex { gap: .5rem !important; }.ui-messaging .conv-item .conv-last-msg { font-size: .9rem; margin-top: .25rem; }
.page-marketplace-messages-detail .main-container { padding: 1.5rem 2rem !important; max-width: 1120px; }
.ui-messaging .chat-container-wrapper .col-lg-8 { width: 100%; }.ui-messaging .chat-card { height: calc(100dvh - 130px); max-height: 1000px; border: 1px solid var(--hairline) !important; border-radius: var(--radius-md) !important; box-shadow: none !important; }
.ui-messaging .chat-header { padding: 1rem 1.5rem !important; border-color: var(--hairline); flex-wrap: nowrap; border-radius: 0; }
.ui-messaging .chat-header h1 { font-family: var(--font-heading); font-size: 1.1rem; }
.ui-messaging #message-container { padding: 1.5rem; background: var(--paper); scroll-behavior: auto; }
.ui-messaging .msg-bubble { max-width: min(78%,600px); padding: .75rem 1rem; font-size: 1rem; line-height: 1.6; border-radius: var(--radius-md); box-shadow: none; }
.ui-messaging .msg-sent { background: var(--primary); color: white; }.ui-messaging .msg-received { background: var(--surface); color: var(--ink); border: 1px solid var(--hairline); }
.ui-messaging .msg-sent .msg-time { color: white; opacity: .9; }.ui-messaging .msg-received .msg-time { color: var(--muted); }
.ui-messaging .chat-date-divider span { background: var(--paper); font-size: .75rem; font-weight: 600; text-transform: none; color: var(--muted); letter-spacing: 0; box-shadow: none; }
.ui-messaging .chat-date-divider::before { background: var(--hairline); }
.ui-messaging .chat-footer { padding: 1rem 1.5rem !important; }.ui-messaging .chat-input-wrapper { border-radius: var(--radius-md); background: var(--paper); border-color: var(--hairline-dark); padding: .35rem .5rem .35rem 1rem; }
.ui-messaging #message-input { min-height: 44px; font-size: 1rem; }.ui-messaging #message-input::placeholder { color: var(--muted); }.ui-messaging .btn-send { border-radius: var(--radius-sm) !important; }.ui-messaging .btn-send:hover { transform: none; }
.composer-status { font-size: .8rem; margin: .5rem 0 0; color: var(--danger); }.composer-status:empty { display: none; }
.inbox-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }.inbox-heading p { margin: .5rem 0 0; color: var(--muted); }.inbox-search { max-width: 360px; margin-bottom: 1.5rem; }
@media (max-width:991.98px) {
  .home-hero { gap: 2rem; padding-top: 3rem; }.home-paths { padding: 1.75rem; }.home-intro h1 { font-size: 3.5rem; }
  .discovery-heading { align-items: start; flex-direction: column; gap: 1.25rem; }
  .ui-workspace .dashboard-container,.ui-organization .org-shell { display: flex; flex-direction: column; gap: 1rem; }
  .ui-workspace .dashboard-sidebar,.ui-organization .org-side { width: 100%; position: static; }.ui-workspace .dashboard-content,.ui-organization .org-shell > section { width: 100%; min-width: 0; }
  .ui-workspace .dashboard-sidebar > .collapse > .card { border: 1px solid var(--hairline) !important; border-radius: var(--radius-md) !important; background: var(--surface) !important; }
  .ui-workspace .dashboard-sidebar > .collapse > .card nav { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1rem; }
  .ui-organization #organization-tools { border-bottom: 1px solid var(--hairline); margin-bottom: 1rem; }.ui-organization .org-side nav { display: grid; grid-template-columns: 1fr 1fr; }.ui-organization .org-side .nav-section { grid-column: 1/-1; }
  .ui-messaging .chat-card { height: calc(100dvh - 116px) !important; }
}
@media (max-width:767.98px) {
  .home-hero { grid-template-columns: 1fr; padding: 2.5rem 0 2rem; gap: 2.5rem; }.home-intro h1 { font-size: clamp(2.8rem,10vw,4rem); }.home-paths { border-radius: 2px 2px 48px 2px; }.home-paths h2 br { display: none; }
  .ui-home .home-values .card { border-left: 0 !important; border-top: 1px solid var(--hairline) !important; padding: 1.5rem 0 !important; }.ui-home .home-values .row { --bs-gutter-y: 0; }
  .ui-auth .role-cards-container { grid-template-columns: 1fr; }.ui-auth .role-card { padding: 1.5rem; }.ui-auth .main-container { padding-top: 1.5rem; }
  .ui-onboarding .card-body { padding: 1.5rem !important; }.ui-onboarding .container { padding-top: 1rem !important; }
  .ui-community .community-sidebar { margin-bottom: 0; }.ui-community .community-sidebar .sticky-top { margin-bottom: 1rem !important; }.ui-community .post-card .card-body { padding: 1.5rem 0 !important; }
  .ui-community .community-sidebar + .col-lg-9 { margin-top: .5rem; }.ui-community .main-container > .container > .row { --bs-gutter-y: .5rem; }
  .ui-journal .main-container > .container > .row:first-child { text-align: left; }.ui-journal .main-container > .container > .row:first-child > .text-center { text-align: left !important; }
  .ui-messaging.chat-active { position: static; height: auto; overflow: visible; }
  .page-marketplace-messages-detail .main-container { padding: 0 !important; }
  .ui-messaging .chat-card { height: calc(var(--visual-height,100dvh) - var(--nav-height,68px)) !important; max-height: none; border: 0 !important; border-radius: 0 !important; }
  .ui-messaging .chat-header { padding: .85rem 1rem !important; }.ui-messaging #message-container { padding: 1rem .5rem !important; }.ui-messaging .msg-bubble { max-width: 88%; }
  .ui-messaging .chat-footer { padding: .75rem 1rem max(.75rem,env(safe-area-inset-bottom)) !important; }.ui-messaging .conv-item { padding: 1rem !important; }.ui-messaging .conv-avatar { width: 42px !important; height: 42px !important; margin-right: .75rem !important; }
  .ui-messaging .conv-item .conv-title { font-size: .95rem; }.ui-messaging .conv-item .js-local-time { font-size: .7rem; margin-left: 0 !important; }
}
@media (max-width:575.98px) {
  .home-actions { align-items: start; gap: 1rem; }.home-actions .btn { width: 100%; }.home-description { font-size: 1.05rem; }
  .home-path { gap: .75rem; }.home-path small { font-size: .8rem; }
  .therapist-result .therapist-result-body { display: block; padding: 1.25rem; }.therapist-result-overview { flex-direction: row; justify-content: space-between !important; margin-bottom: 1.25rem; }.therapist-result .avatar-xxl { width: 72px; height: 72px; }.therapist-result .therapist-price-rating { text-align: right !important; }.therapist-result .therapist-price-rating .rating-stars { justify-content: end !important; }
  .ui-workspace .dashboard-sidebar > .collapse > .card nav,.ui-organization .org-side nav { display: block; }
  .ui-organization .org-header { padding: 1.5rem; }.ui-organization .org-card { padding: 1.25rem; }
  .ui-practice .main-container > .container,.ui-credentials .main-container > .container { padding-inline: 0 !important; }
  .inbox-heading { align-items: start; flex-direction: column; gap: .5rem; }
}
.discovery-specialties { border-top: 1px solid var(--hairline); padding: 1rem 1.5rem; font-size: .85rem; }
.discovery-specialties summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 44px; cursor: pointer; padding-block: .65rem; color: var(--ink); list-style: none; }
.discovery-specialties summary::-webkit-details-marker { display: none; }
.discovery-specialties summary::after { content: ''; flex: none; width: .55rem; height: .55rem; margin-right: .2rem; border-right: 2px solid var(--primary); border-bottom: 2px solid var(--primary); transform: rotate(45deg); transition: transform var(--transition-fast); }
.discovery-specialties[open] summary::after { transform: rotate(225deg); }
.discovery-specialties[open] summary { margin-bottom: .5rem; }
.discovery-specialties .list-group-item { display: flex; align-items: center; min-height: 42px; line-height: 1.4; }
.ui-auth .role-card:hover .role-icon { transform: none; background: var(--surface-brand); color: var(--primary); }
.ui-auth .role-card::before { height: 3px; }
@media (max-width:575.98px) {
  .therapist-result-actions { flex-direction: column; align-items: stretch; }
  .therapist-result-actions > .btn { flex: none !important; width: 100%; min-height: 44px; }
  .ui-organization .org-checklist .check-item { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: .5rem .75rem; }
  .ui-organization .org-checklist .check-item > .btn { grid-column: 2; justify-self: start; }
}
.mobile-booking-bar { position: fixed; inset: auto 0 0; z-index: 1020; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: var(--surface); padding: .8rem 1rem max(.8rem,env(safe-area-inset-bottom)); border-top: 1px solid var(--hairline); box-shadow: 0 -4px 20px #263b4008; }
.mobile-booking-bar strong,.mobile-booking-bar .small { display: block; }.mobile-booking-bar strong { color: var(--minder-teal-dark); font-size: 1.15rem; }
.cal-day { min-height: 44px; font: inherit; font-weight: 650; color: var(--ink); }.cal-day:disabled { cursor: default; }.cal-day.has-slots { background: var(--surface-brand); color: var(--minder-teal-dark); }.cal-day.selected { box-shadow: none; transform: none; }
@media (max-width:991.98px) { .ui-therapist { padding-bottom: calc(86px + env(safe-area-inset-bottom)); } .ui-therapist .cookie-consent-banner { bottom: 100px; } }
.ui-organization-public .org-section-card { border-radius: var(--radius-md); box-shadow: none; border-color: var(--hairline); }
.ui-organization-public .org-public-nav { border-radius: var(--radius-sm); box-shadow: none; border-color: var(--hairline); }
.ui-organization-public .org-public-nav-link { border-radius: var(--radius-sm); }
.ui-organization-public .practitioner-card:hover { transform: none; box-shadow: none; border-color: var(--primary); }
/* Small-screen and assistive-technology findings from the complete route review. */
.ui-community .max-w-200,.ui-community .badge > .text-wrap { color: var(--muted) !important; }
.ui-session .timer-label { opacity: 1; color: var(--muted); }
.cal-grid { grid-template-columns: repeat(7,minmax(0,1fr)); }
.cal-day { min-width: 0; padding: 0; }
.cal-day.other-month { color: var(--muted); opacity: 1; }
.cal-dow { color: var(--muted); }
.page-funnel-builder .form-switch .form-check-input { min-height: 24px; }
.ws-shell { min-width: 0; }.ws-shell > * { min-width: 0; }
textarea.ws-editor { width: 100%; min-height: 180px; padding: .75rem; border: 1px solid var(--hairline-dark); border-radius: var(--radius-sm); }
@media (max-width: 575.98px) {
  .cal-grid { gap: 4px; }.cal-day { min-height: 32px; aspect-ratio: auto; }
  .onb-step-bar { flex-wrap: wrap; justify-content: flex-start; }
  .page-funnel-incoming-reflections .main-container > .container > .d-flex { flex-wrap: wrap; }
}
.ui-messaging .conv-last-msg .opacity-75 { opacity: 1 !important; }
.page-marketplace-clinical-submit-assessment .bg-primary h1 { color: white; }
.page-core-translation-hub #debugLog .text-muted { color: #bccace !important; }
.care-paths { border-top: 1px solid var(--hairline); }
.care-paths a { display: flex; align-items: center; gap: 1rem; padding: 1.25rem .25rem; border-bottom: 1px solid var(--hairline); color: var(--ink); text-decoration: none; }
.care-paths a > span { flex: 1; }.care-paths strong,.care-paths small { display: block; }.care-paths small { color: var(--muted); margin-top: .2rem; }
.care-paths a > i { color: var(--primary); }.care-paths a:hover strong { text-decoration: underline; text-underline-offset: .25em; }
.page-funnel-builder .stage-row > .d-flex { flex-wrap: wrap; }
.page-funnel-builder .stage-row > .d-flex > .d-flex { flex-wrap: wrap; min-width: 0; }
.page-funnel-builder .stage-row .btn-xs { flex-shrink: 0; }
@media (max-width: 575.98px) {
  .upcoming-bookings table,.upcoming-bookings tbody,.upcoming-bookings tr,.upcoming-bookings td { display: block; width: 100%; min-width: 0; }
  .upcoming-bookings thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .upcoming-bookings tr { padding: 1rem; border-bottom: 1px solid var(--hairline); }
  .upcoming-bookings td { padding: .4rem 0 !important; border: 0; }
  .upcoming-bookings td > .justify-content-end { justify-content: flex-start !important; }
}
/* Long localized headings must not impose a minimum width on flex/grid parents. */
.home-hero > *,.inbox-heading > * { min-width: 0; max-width: 100%; }
.home-intro h1,.inbox-heading h1 { overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
  :lang(hy) .home-intro h1 { font-size: clamp(2.25rem,9vw,3.5rem); }
  :lang(hy) .inbox-heading h1 { font-size: clamp(1.6rem,7vw,2rem); }
}

/* Translation administration: deliberate controls, readable results, real feedback. */
.translation-heading { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.translation-heading > div { min-width: 0; }
.translation-heading > .btn { flex-shrink: 0; }
.translation-layout { display: grid; grid-template-columns: minmax(260px,320px) minmax(0,1fr); gap: 2rem; margin-bottom: 2rem; align-items: start; }
.translation-controls { padding: 1.5rem; border: 1px solid var(--hairline); background: var(--surface); border-radius: var(--radius-md); }
.translation-tools { border-top: 1px solid var(--hairline); margin-top: 1.5rem; padding-top: 1rem; }
.translation-tools summary { cursor: pointer; font-weight: 700; padding-block: .35rem; }
.translation-results { min-width: 0; border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); padding: 1.5rem; }
.translation-status { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.translation-feedback { min-height: 3.3em; font-size: .95rem; }
.translation-log { max-height: 180px; overflow: auto; border: 1px solid var(--hairline); background: var(--paper); padding: 1rem; margin-bottom: 1.5rem; font-size: .875rem; }
.translation-log:has(#debugLog:empty) { display: none; }
.translation-log p { margin-bottom: .4rem; }
.translation-table { max-height: 500px; }
.translation-table table { table-layout: fixed; }
.translation-table th:first-child { width: 120px; }
.translation-table td { overflow-wrap: anywhere; white-space: pre-wrap; vertical-align: top; }
.translation-hub progress { height: .65rem; accent-color: var(--primary); }
.translation-hub .card-header h5 { font-size: 1.1rem; }
@media (max-width:991.98px) { .translation-layout { grid-template-columns: 1fr; }.translation-heading { flex-wrap: wrap; align-items: start; } }
@media (max-width:575.98px) { .translation-controls,.translation-results { padding: 1rem; }.translation-table > .table { min-width: 420px; } }
