/* Mobile-first finishing layer for the public website and every portal role. */
html{overflow-x:hidden}body{max-width:100%;overflow-x:hidden}img,svg,video{max-width:100%;height:auto}.site-menu-toggle,.portal-menu-toggle{display:none}
.password-help{margin:-7px 0 15px!important;color:#526f77;font-size:13px;line-height:1.45}
@media(max-width:900px){
 body>header{position:relative;z-index:60}
 .portal-nav{position:sticky;top:0;z-index:50;border-bottom:1px solid #d9e5e2;box-shadow:0 5px 18px #173d460d}
 .portal-menu-toggle{display:flex;width:100%;min-height:46px;align-items:center;justify-content:space-between;background:#edf5f3!important;color:#194d57!important;border:1px solid #cfe0dc!important;padding:10px 14px!important;font-weight:700}
 .portal-nav>nav,.portal-nav>a,.portal-nav>.nav-label{display:none!important}
 .portal-nav.menu-open>nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0!important;max-height:min(60vh,520px);overflow-y:auto;padding:2px}
 .portal-nav.menu-open>nav button{width:100%;min-height:44px;text-align:left}
 .portal-nav.menu-open>a{display:block!important;padding:10px 4px}
 .portal-workspace{min-width:0}
 .timeline-scroll,.calendar-scroll,.compact-table-scroll{max-width:calc(100vw - 32px);overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
 .timeline.days-3{grid-template-columns:52px repeat(3,minmax(215px,1fr));min-width:697px}
 .timeline.days-7{grid-template-columns:52px repeat(7,minmax(175px,1fr));min-width:1277px}
}
@media(max-width:760px){
 body>.demo{padding:6px 12px;line-height:1.35}
 body>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 18px;background:#fff}
 body>header>a:first-of-type{min-width:0;display:block}
 body>header .logo{width:min(205px,60vw)}
 .site-menu-toggle{display:inline-flex;min-width:48px;min-height:48px;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #cbded9;border-radius:50%;background:#edf5f3;color:#174e59;font-size:21px}
 body>header>nav{display:none;grid-column:1/-1;width:100%;padding:8px 0 4px;border-top:1px solid #e2ebe8}
 body>header.menu-open>nav{display:grid;grid-template-columns:1fr;gap:5px}
 body>header>nav a{display:flex;align-items:center;min-height:46px;width:100%;padding:9px 12px;border-radius:12px;font-size:15px}
 body>header>nav a.button{justify-content:center;margin-top:3px}
 .hero{width:auto;min-height:0;margin:8px 12px 0!important;border-radius:25px!important}
 .hero-copy{padding:30px 22px!important}.hero-copy h1{font-size:clamp(34px,10vw,44px)}.hero-copy .lead{font-size:16px}
 .hero-media{min-height:270px}.hero-media>img{border-radius:45px 0 0 0!important}.caption{left:14px;right:14px;bottom:14px;max-width:none}
 .wrap{padding:34px 18px}.actions{display:grid;grid-template-columns:1fr;gap:10px}.actions .button{width:100%}
 .introline{padding-inline:18px}.grid,.gallery,.formgrid,.booking,.cols,.split,.profile{grid-template-columns:minmax(0,1fr)!important}
 .card,.public-card,.booksum,.profile-aside{padding:18px!important}.gallery img{height:240px}.photo{height:260px}
 .month-head{gap:8px}.month-head h3{font-size:18px!important;text-align:center}.month-head button{min-width:44px;min-height:44px;padding:7px 12px!important}
 .month-grid{gap:3px!important}.month-day{min-width:0;min-height:52px!important;font-size:14px;padding:7px 1px!important}.weekday{font-size:11px}
 .times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.times button{min-height:46px;padding:10px 8px;width:100%}
 .booking-page .book-layout{grid-template-columns:minmax(0,1fr)!important}.booking-page aside.public-card{position:static!important}
 .profile-intro{display:grid!important;grid-template-columns:95px minmax(0,1fr);gap:15px!important}.profile-story{padding-inline:0!important}
 .team-hex-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}.team-hex-card{min-width:0}.team-hex-card h2,.team-hex-card h3{overflow-wrap:anywhere}
 footer{gap:18px!important}footer>*{max-width:100%}.policy-links{display:grid;gap:8px;width:100%}.policy-links button{text-align:left;padding-left:0}
 .cookie-notice{left:10px!important;right:10px!important;bottom:10px!important;max-height:min(72dvh,520px);overflow-y:auto;padding:14px!important}.cookie-notice button{min-height:44px}
 .public-waiting .weekday-picks{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px!important}.public-waiting .weekday-picks label{margin:0!important;min-height:42px}
 .receipt-link input{font-size:12px!important}
}
@media(max-width:650px){
 body>header:not(:has(.logo)){grid-template-columns:minmax(0,1fr) auto;padding:9px 12px}
 body>header:not(:has(.logo)) img{width:145px}body>header:not(:has(.logo)) a{font-size:12px}body>header:not(:has(.logo)) span{grid-column:1/-1;font-size:11px}
 body>.notice{padding-inline:14px}
 .portal-workspace{padding:12px!important}.portal-heading{display:flex!important;align-items:center;gap:10px}.portal-heading>div:first-child{min-width:0;flex:1}.portal-heading h1{font-size:22px!important;overflow-wrap:anywhere}.portal-heading #logout{min-height:42px;padding:8px 12px}
 .portal-nav.menu-open>nav{grid-template-columns:1fr}
 .dashboard-shortcuts,.dashboard-metrics,.metrics{grid-template-columns:1fr!important}.welcome-panel{padding:20px!important}.welcome-panel h2{font-size:22px!important}
 .layout,.service-grid,.waiting-list,.dossier-grid,.panel-form,.questionnaire-send form,.question-row,.time-pair,.central-record-form .time-pair,.central-add-form .time-pair{grid-template-columns:minmax(0,1fr)!important}
 .list-filters,.toolbar,.account-filters{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.list-filters>*,.toolbar>*,.account-filters>*{min-width:0!important;width:100%!important}
 .compact-table:not(.room-week){display:block;min-width:0!important;width:100%}.compact-table:not(.room-week) thead{display:none}.compact-table:not(.room-week) tbody{display:block}.compact-table:not(.room-week) tr:not(.list-group){display:block;position:relative;padding:11px 48px 11px 12px;border-bottom:1px solid #e2eaeb}.compact-table:not(.room-week) tr:not(.list-group) td{display:block;width:100%!important;min-width:0!important;max-width:none!important;padding:3px 0;border:0;text-align:left}.compact-table:not(.room-week) tr:not(.list-group) .actions-cell{position:absolute;right:8px;top:8px;width:38px!important;padding:0}.compact-table:not(.room-week) .list-group{display:block}.compact-table:not(.room-week) .list-group th{display:block;padding:8px 12px}
 .list-pagination{align-items:flex-start;flex-direction:column}.list-pagination>div{width:100%}.list-pagination button{flex:1}
 .directory-drawer,.dossier-dialog,.room-dialog{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;margin:0!important;padding:12px!important}
 .drawer-heading{top:-12px}.drawer-heading h2{font-size:18px!important}.drawer-save,.action-row{display:grid!important;grid-template-columns:1fr!important}.drawer-save button,.action-row button{width:100%}
 .therapist-center-head{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px}.therapist-center-head>button{grid-column:1/-1;width:100%}.therapist-panel,.therapist-subitem,.therapist-service-hours{padding-inline:10px!important}.therapist-panel>summary,.therapist-subitem>summary{gap:8px}.therapist-panel>summary>span:last-child{white-space:normal;text-align:right}
 .message-row>summary{align-items:flex-start!important}.message-row>summary .message-meta{max-width:72px!important}.message-reading{padding:12px!important}
 .calendar-direct{display:grid!important;grid-template-columns:1fr!important}.calendar-direct>*{width:100%!important}.care-tabs{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:4px}.care-tabs button{white-space:nowrap;min-height:42px}
 .timeline.days-1{grid-template-columns:48px minmax(280px,1fr);min-width:328px}.timeline-clock .timeline-grid>span{padding-inline:3px}.timeline-event{font-size:12px;padding:4px}.calendar-legend{gap:7px 12px}
 .hours-week{min-width:1120px}.room-week{min-width:1230px}.calendar-table th,.calendar-table td{min-width:135px}.calendar-table th:first-child{min-width:55px}
 .dossier-grid{gap:9px}.dossier-tile{grid-template-columns:40px minmax(0,1fr);padding:12px}.dossier-tabs{scroll-snap-type:x proximity}.dossier-tabs button{scroll-snap-align:start;min-height:42px}
 .rich-toolbar{overflow-x:auto;flex-wrap:nowrap!important}.rich-toolbar button{flex:0 0 auto;min-width:42px;min-height:42px}.rich-editor{min-height:190px!important}
 input,select,textarea{max-width:100%}input,select{font-size:16px!important}button,.button{min-height:44px}.password-control [data-toggle-password],.password-control [data-toggle-public-password]{min-height:38px}
}
@media(max-width:390px){
 .team-hex-grid{grid-template-columns:1fr!important}.times{grid-template-columns:1fr}.profile-intro{grid-template-columns:78px minmax(0,1fr)}.profile-portrait,.profile-portrait img,.profile-portrait .initials{width:78px!important;height:96px!important;min-height:96px!important}.profile-intro h1{font-size:24px!important}
 .public-waiting .weekday-picks{grid-template-columns:1fr}.month-day small{font-size:9px}.month-day{font-size:13px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
